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

“MediaWiki:Gadget-custommenu.js”的版本间差异

来自LLWiki
跳转到导航 跳转到搜索
第1行: 第1行:
// 由ResourceLoader直接调用,不可使用ES6语法
(function($, mw) {
"use strict";
if( (mw.config.get('skin') == 'vector' && window.customMenuMode == 'mobile') ||
/*global mw, $, wgULS*/
(mw.config.get('skin') == 'minerva' && window.customMenuMode == 'desktop') ) {
const gadgets = mw.gadgets || {},
return;
setting = gadgets.custommenu || {},
}
skin = mw.config.get('skin');
$(function () {
$(function () {
var menu = $('<div class=body></div>');
if ((skin == 'vector' && setting.mode == 'mobile') || (skin == 'minerva' && setting.mode == 'desktop')) { return; }
menu.load('/zh?title=' + (window.customMenuSrc || 'user:' + mw.config.get('wgUserName') + '/Sidebar') + '&variant=' + mw.config.get('wgUserLanguage') + ' #mw-content-text ul', function() {
if(mw.config.get('skin') == 'vector') {
const script = mw.config.get('wgScript'),
username = mw.config.get( 'wgUserName' ),
$('<div id="p-diy" class="portal" role="navigation" aria-labelledby="p-diy-label">').append('<h3 id="p-diy-label">' + wgULS('自定义', '定製') + '</h3>').appendTo("#mw-panel");
lang = mw.config.get( 'wgUserLanguage' ),
$("#p-diy").append(menu);
src = setting.src || 'user:' + username + '/Sidebar',
}
else {
menu = $('<div>', {class: 'body'})
var navlist = menu.html();
.load(script + '?title=' + src + '&variant=' + lang + ' #mw-content-text ul', function() {
if (skin == 'vector') {
navlist = navlist.replace(/<a href(((?!>).)*)>(((?!<\/i>).)*?)<\/a>/g,'<a href$1><i class="fa fa-arrow-circle-right"></i><span>$3</span></a>');
$('<div>', {class: "portal", role: "navigation"}).append( $('<h3>', {text: wgULS('自定义', '定製')}) )
var timer = setInterval(function() {
if($('.menu > .hlist').length) {
.append(menu).appendTo( "#mw-panel" );
}
clearInterval(timer);
else {
$(navlist).insertBefore(".menu > .hlist");
}
const list = menu.find('a');
list.filter(function() { return !$(this).children().first().is('.fa, .fas, .far, .fab'); })
}, 100);
.prepend( '<i class="fa fa-arrow-circle-right"></i>' );
}
list.filter(function() { return $(this).children().length != 2; }).html(function() {
});
const self = $(this);
return self.children().first().add( $('<span>', {text: self.text()}) );
});
mw.hook( 'mobile.menu' ).add(function($content) {
console.log('Hook: mobile.menu,开始添加自定义菜单');
$content.find( ".hlist" ).before( menu.children() );
});
}
});
});
});
}) (jQuery, mediaWiki);
// [[category:编辑工具]] [[category:需要用户权限的小工具]] [[category:桌面版小工具]] [[category:手机版小工具]] [[category:作为模块的小工具]]
// {{DEFAULTSORT:custommenu.js}}

2020年12月4日 (五) 03:27的版本

// 由ResourceLoader直接调用,不可使用ES6语法
"use strict";
/*global mw, $, wgULS*/
const gadgets = mw.gadgets || {},
    setting = gadgets.custommenu || {},
    skin = mw.config.get('skin');
$(function () {
    if ((skin == 'vector' && setting.mode == 'mobile') || (skin == 'minerva' && setting.mode == 'desktop')) { return; }
    const script = mw.config.get('wgScript'),
        username = mw.config.get( 'wgUserName' ),
        lang = mw.config.get( 'wgUserLanguage' ),
        src = setting.src || 'user:' + username + '/Sidebar',
        menu = $('<div>', {class: 'body'})
        .load(script + '?title=' + src + '&variant=' + lang + ' #mw-content-text ul', function() {
        if (skin == 'vector') {
            $('<div>', {class: "portal", role: "navigation"}).append( $('<h3>', {text: wgULS('自定义', '定製')}) )
                .append(menu).appendTo( "#mw-panel" );
        }
        else {
            const list = menu.find('a');
            list.filter(function() { return !$(this).children().first().is('.fa, .fas, .far, .fab'); })
                .prepend( '<i class="fa fa-arrow-circle-right"></i>' );
            list.filter(function() { return $(this).children().length != 2; }).html(function() {
                const self = $(this);
                return self.children().first().add( $('<span>', {text: self.text()}) );
            });
            mw.hook( 'mobile.menu' ).add(function($content) {
                console.log('Hook: mobile.menu,开始添加自定义菜单');
                $content.find( ".hlist" ).before( menu.children() );
            });
        }
    });
});
// [[category:编辑工具]] [[category:需要用户权限的小工具]] [[category:桌面版小工具]] [[category:手机版小工具]] [[category:作为模块的小工具]]
// {{DEFAULTSORT:custommenu.js}}