User:Huawei251/common.js: Difference between revisions

From TestWiki
Content added Content deleted
No edit summary
No edit summary
Line 7: Line 7:


// TODO
// TODO
// 1. 样式调整
// 2. 允许循环往复
// 2. 允许循环往复
// 3. 检查无脚本模式和移动端效果
// 3. 检查无脚本模式和移动端效果
Line 14: Line 13:
* Skrypt dla Szablon:Galeria
* Skrypt dla Szablon:Galeria
*/
*/
mw.loader.using(['oojs-ui-core', 'ext.gadget.site-lib']).then(function () {
/*
function toggleImage (group, remindex, shwindex) {
$(function () {
jQuery("#ImageGroupsGr" + group + "Im" + remindex).hide();
var toggleImage = function (group, remindex, shwindex) {
jQuery("#ImageGroupsGr" + group + "Im" + shwindex).show();
$("#ImageGroupsGr" + group + "Im" + remindex).hide();
}
$("#ImageGroupsGr" + group + "Im" + shwindex).show();
function ImageGroup() {
};
jQuery('div.ImageGroup').each(function(i, group) {
$('div.ImageGroup').each(function(i, group) {
console.log('group ' + i);
console.log('group ' + i);
var unitnode = jQuery('div.ImageGroupUnits', group).get(0);
var unitnode = $('div.ImageGroupUnits', group).get(0);
if (unitnode == undefined) {
if (unitnode === undefined) {
console.log('A');
console.log('A');
return 1;
return 1;
}
}
var units = jQuery(unitnode).children().children('.center');
var units = $(unitnode).children().children('.center');
var count = units.get().length;
var count = units.get().length;
if (count <= 1) {
if (count <= 1) {
Line 35: Line 36:
units.each(function(j, currentimage) {
units.each(function(j, currentimage) {
console.log('unit ' + j);
console.log('unit ' + j);
jQuery(currentimage).attr('id', "ImageGroupsGr" + i + "Im" + j);
$(currentimage).attr('id', "ImageGroupsGr" + i + "Im" + j);
var leftlink = jQuery('<a href="#"/>');
if (j != 0) {
var leftlink = new OO.ui.ButtonWidget({
framed: false,
leftlink.text('').click(function() {
icon: 'previous',
toggleImage(i, j, j - 1); return false;
label: wgULS('上一个', '上一個'),
});
invisibleLabel: true,
title: wgULS('上一个', '上一個')
});
var rightlink = new OO.ui.ButtonWidget({
framed: false,
icon: 'next',
label: wgULS('下一个', '下一個'),
invisibleLabel: true,
title: wgULS('下一个', '下一個')
});
var label = new OO.ui.ButtonWidget( {
framed: false,
disabled: true,
label: (j + 1) + '/' + count
});
leftlink.on('click', function() {
toggleImage(i, j, j - 1);
});
rightlink.on('click', function() {
toggleImage(i, j, j + 1);
});
if (j === 0) {
leftlink.setDisabled(true);
} else if (j === count - 1) {
rightlink.setDisabled(true);
}
}
var rightlink = jQuery('<a href="#"/>');
if (j != count - 1) {
$('<div/>')
.addClass('selection-box')
rightlink.text('').click(function() {
.append(leftlink.$element)
toggleImage(i, j, j + 1); return false;
.append(label.$element)
});
.append(rightlink.$element)
}
.prependTo($(currentimage));
jQuery('<div/>').css({ 'font-size' : '110%', 'font-weight' : 'bold' })
if (j !== 0) {
.addClass('disabled-user-selection')
$(currentimage).hide().addClass('noprint');
.append(leftlink)
.append('<tt>(' + (j + 1) + '/' + count + ')</tt>')
.append(rightlink)
.prependTo(jQuery(currentimage));
if (j != 0) {
jQuery(currentimage).hide().addClass('noprint');
}
}
});
});
});
});
}
});

jQuery(ImageGroup);
});
*/





Revision as of 14:41, 15 April 2020

// <pre>

// https://zh.wikipedia.org/wiki/Topic:Vjutwz17iablx6jw
// 可以做两件事情:
// # 在没有js脚本的前提下调整模板,让它至少不会严重影响阅读。
// # 加入到小工具中,默认开启,像“可折叠表格”那样。IP用户提供的代码有点小bug,已经修改。

// TODO
// 2. 允许循环往复
// 3. 检查无脚本模式和移动端效果

/**
 * Skrypt dla Szablon:Galeria
 */
mw.loader.using(['oojs-ui-core', 'ext.gadget.site-lib']).then(function () {
 
$(function () {
	var toggleImage = function (group, remindex, shwindex) {
		$("#ImageGroupsGr" + group + "Im" + remindex).hide();
		$("#ImageGroupsGr" + group + "Im" + shwindex).show();
	};
	
	$('div.ImageGroup').each(function(i, group) {
		console.log('group ' + i);
		var unitnode = $('div.ImageGroupUnits', group).get(0);
		if (unitnode === undefined) {
			console.log('A');
			return 1;
		}
		var units = $(unitnode).children().children('.center');
		var count = units.get().length;
		if (count <= 1) {
			console.log('B');
			return 1;
		}
		units.each(function(j, currentimage) {
			console.log('unit ' + j);
			$(currentimage).attr('id', "ImageGroupsGr" + i + "Im" + j);
			
			var leftlink = new OO.ui.ButtonWidget({
				framed: false,
				icon: 'previous',
				label: wgULS('上一个', '上一個'),
				invisibleLabel: true,
				title: wgULS('上一个', '上一個')
			});
			var rightlink = new OO.ui.ButtonWidget({
				framed: false,
				icon: 'next',
				label: wgULS('下一个', '下一個'),
				invisibleLabel: true,
				title: wgULS('下一个', '下一個')
			});
			var label = new OO.ui.ButtonWidget( {
				framed: false,
				disabled: true,
				label: (j + 1) + '/' + count
			});
			
			leftlink.on('click', function() {
				toggleImage(i, j, j - 1);
			});
			rightlink.on('click', function() {
				toggleImage(i, j, j + 1);
			});
			
			if (j === 0) { 
				leftlink.setDisabled(true);
			} else if (j === count - 1) {
				rightlink.setDisabled(true);
			}
			
			$('<div/>')
				.addClass('selection-box')
				.append(leftlink.$element)
				.append(label.$element)
				.append(rightlink.$element)
				.prependTo($(currentimage));
			if (j !== 0) {
				$(currentimage).hide().addClass('noprint');
			}
		});
	});
});

});


// Wikiplus blocked by this site
//mw.loader.load('https://wikiplus-app.com/Main.js');

//mw.loader.using(['mediawiki.util', 'ext.gadget.site-lib'], function () {
    /* 當需要時載入對應的 scripts */
    /*
    var importScriptRL=function(page){
    	mw.loader.load(mw.config.get('wgScript')+'?title='+mw.util.wikiUrlencode(page)+'&action=raw&ctype=text/javascript&_='+Math.floor((new Date())/1000/60/60/24/7));
    };
    
    if (mw.config.get('wgAction') == "edit" || mw.config.get('wgAction') == "submit" || mw.config.get('wgCanonicalSpecialPageName') == 'Search') { // scripts specific to editing pages
      console.log('A');
      importScriptRL('User:Huawei251/edit.js');
    } else {
      mw.loader.using('ext.visualEditor.desktopArticleTarget.init', function () {
	      console.log('ext.visualEditor.desktopArticleTarget.init');
	      mw.libs.ve.addPlugin(function () {
			importScriptRL('User:Huawei251/edit.js');
	      });
      });
    }
    */

//});

// </pre>