LLWiki正在建设中,欢迎加入我们

“MediaWiki:Mobile.js”的版本间差异

来自LLWiki
跳转到导航 跳转到搜索
(// 使用Wikiplus小工具快速编辑)
标签移动版网页编辑 移动版编辑
 
(未显示2个用户的71个中间版本)
第1行: 第1行:
/* 这里的任何JavaScript将为使用移动版网站的用户加载 */
//<nowiki>
//<nowiki>
// 由ResourceLoader直接调用,不可使用ES6语法
(function($, mw) {
/**
mw.hook('wikipage.content').add( function($content) {
* @Description: 手机版全局JS
/* 沙盒顶部 */
* @Author: 如无特殊说明,均为[[User:Bhsd]]
if(mw.config.get('wgPageName') == 'LLWiki:沙盒' && mw.config.get('wgAction') == 'view') {
*/
var sandboxTop = $('<div>');
"use strict";
sandboxTop.load('/zh?title=LLWiki:沙盒/顶部&variant=' + mw.config.get('wgUserVariant') + ' #mw-content-text', function() {
/* global wgULS */
$content.prepend(sandboxTop);
mw.hook( 'wikipage.content' ).add(function( $content ) {
});
// tabs-dropdown解析错误
}
$('.tabs-dropdown .tabs-content').append(function() { return $(this).next(); });
});


if (['Recentchanges', 'Watchlist'].includes( mw.config.get( 'wgCanonicalSpecialPageName' ) )) {
/* 引自zh.moegirl.org.cn/mediawiki:mobile.js */
// 修改filter
/* jquery.collapsible */
mw.hook( 'structuredChangeFilters.ui.initialized' ).add(function() {
if ($content.find('.mw-collapsible').length) {
console.log('Hook: structuredChangeFilters.ui.initialized,开始修改filter');
mw.loader.using('jquery.makeCollapsible').then(function() {
mw.loader.using( ['mediawiki.Uri', 'ext.gadget.site-lib'] ).then(function() {
$('.mw-collapsible').makeCollapsible();
var uri = new mw.Uri(),
});
invert = uri.query.invert || 0;
}
const node = $( '.mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces' ).first().clone()

.insertAfter( $( '.mw-rcfilters-ui-filterMenuSectionOptionWidget' ).first() )
/* jquery.tablesorter */
.attr('id', 'ooui-invert').removeClass( 'oo-ui-element-hidden' )
if ($content.find('table.sortable').length) {
mw.loader.using('jquery.tablesorter').then(function() {
.on('click', function() {
uri = new mw.Uri();
$('table.sortable').tablesorter();
invert = uri.query.invert || 0;
});
location.replace( uri.extend({ invert: 1 - invert }) );
}
});
});
node.find( 'span.oo-ui-labelElement-label' ).text( wgULS("排除选项", "排除所選") );

node.find( 'input' ).prop('checked', invert > 0)
$(function () {
.next().addClass( 'oo-ui-image-invert' );
// 页顶图标
});
const restrictionEdit = mw.config.get('wgRestrictionEdit') || [],
});
restrictionMove = mw.config.get('wgRestrictionMove') || [],
}
isSysop = mw.config.get('wgUserGroups').includes('sysop'),
isProtected = restrictionEdit.length + restrictionMove.length,
fullurl = '/zh?title=' + mw.config.get('wgPageName'),
isMovable = restrictionMove.length === 0 ||
mw.config.get('wgUserGroups').includes(restrictionMove[0]);
if(mw.config.get('wgAction') == 'view' && mw.config.get('wgIsArticle')) {
$( (isSysop ? '<li id="page-actions-protect" class="page-actions-menu__list-item"><a id="ca-protect" href="' + fullurl + '&action=protect" data-event-name="menu.protect" role="button" title="更改保护"><i class="fa fa-' + (isProtected? 'unlock' : 'lock') + '"></i></a></li><li id="page-actions-delete" class="page-actions-menu__list-item"><a id="ca-delete" href="' + fullurl + '&action=delete" data-event-name="menu.delete" role="button" title="删除"><i class="fa fa-cut"></i></a></li>' : '') +
(isMovable ? '<li id="page-actions-move" class="page-actions-menu__list-item"><a id="ca-move" href="/zh/special:移动页面/' + mw.config.get('wgPageName') + '" data-event-name="menu.move" role="button" title="移动"><i class="fa fa-truck"></i></a></li>' : '') ).insertAfter('#language-selector');
}

/* 特殊页面 */
$('.page-Special_用户列表 h1').html('LLWiki上的LLer');

if(mw.config.get('wgPageName') == 'Special:最近更改') {
var timerFilter = setInterval(function() {
if($( '.mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces' ).length) {
clearInterval(timerFilter);
const isReverted = /invert=1/.test(window.location.href);
var node = $( '.mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces:first' ).clone().insertAfter( '.mw-rcfilters-ui-filterMenuSectionOptionWidget:first' )
.attr('id','ooui-invert')
.removeClass('oo-ui-element-hidden')
.on('click',function() {
if(isReverted) { window.location.href = window.location.href + '&invert=0'; }
else { window.location.href = window.location.href + '&invert=1'; }
}),
inputbox = node.find( 'input' );
inputbox[0].checked = isReverted;
if(isReverted) { inputbox.next().addClass('oo-ui-icon-check'); }
else { inputbox.next().removeClass('oo-ui-icon-check'); }
node.find( 'span.oo-ui-labelElement-label' ).text( wgULS("排除选项", "排除選項") );
}
}, 100);
}

mw.loader.using(['mediawiki.api', 'ext.gadget.site-lib']).then(function() {
/* Mobile Navmenu by GFwiki */
var api = new mw.Api();
api.get( {
'action':'parse',
'page':'MediaWiki:MFSidebar' + wgULS("", "/zh-hant"),
'dataType':'json'
} ).then(function(data) {
const navlist = data.parse.text["*"];
var timer = setInterval(function() {
if($('.menu ul').length) {
console.log("Mobile menu exists");
clearInterval(timer);
$(navlist).insertAfter(".menu > ul:first");
}
}, 100);
});
});
});
})(jQuery, mediaWiki);
//</nowiki>
//</nowiki>
// [[category:作为模块的小工具]] [[category:不可关闭的小工具]] [[category:手机版小工具]]
// {{DEFAULTSORT:*}}

2023年3月17日 (五) 13:28的最新版本

//<nowiki>
// 由ResourceLoader直接调用,不可使用ES6语法
/**
 * @Description: 手机版全局JS
 * @Author: 如无特殊说明,均为[[User:Bhsd]]
 */
"use strict";
/* global wgULS */
mw.hook( 'wikipage.content' ).add(function( $content ) {
	// tabs-dropdown解析错误
	$('.tabs-dropdown .tabs-content').append(function() { return $(this).next(); });
});

if (['Recentchanges', 'Watchlist'].includes( mw.config.get( 'wgCanonicalSpecialPageName' ) )) {
	// 修改filter
	mw.hook( 'structuredChangeFilters.ui.initialized' ).add(function() {
		console.log('Hook: structuredChangeFilters.ui.initialized,开始修改filter');
		mw.loader.using( ['mediawiki.Uri', 'ext.gadget.site-lib'] ).then(function() {
			var uri = new mw.Uri(),
				invert = uri.query.invert || 0;
			const node = $( '.mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces' ).first().clone()
				.insertAfter( $( '.mw-rcfilters-ui-filterMenuSectionOptionWidget' ).first() )
				.attr('id', 'ooui-invert').removeClass( 'oo-ui-element-hidden' )
				.on('click', function() {
				uri = new mw.Uri();
				invert = uri.query.invert || 0;
				location.replace( uri.extend({ invert: 1 - invert }) );
			});
			node.find( 'span.oo-ui-labelElement-label' ).text( wgULS("排除选项", "排除所選") );
			node.find( 'input' ).prop('checked', invert > 0)
				.next().addClass( 'oo-ui-image-invert' );
		});
	});
}
//</nowiki>
// [[category:作为模块的小工具]] [[category:不可关闭的小工具]] [[category:手机版小工具]]
// {{DEFAULTSORT:*}}