MediaWiki:Group-sysop.js
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
mw.loader.using('ext.gadget.site-lib').then(function() {
// 保護選項校正
if (mw.config.get('wgAction') === 'protect') {
$(function() {
var pform = document.getElementById('mw-Protect-Form'),
timeoptions;
if (typeof ProtectionForm === 'undefined') {
return;
}
timeoptions = pform['wpProtectExpirySelection-edit'].options;
if (timeoptions[0].value !== 'existing') {
timeoptions[timeoptions.length - 1].selected = true;
ProtectionForm.updateExpiryList(pform['wpProtectExpirySelection-edit']);
}
timeoptions = pform['wpProtectExpirySelection-move'].options;
if (timeoptions[0].value !== 'existing') {
timeoptions[timeoptions.length - 1].selected = true;
ProtectionForm.updateExpiryList(pform['wpProtectExpirySelection-move']);
}
});
}
// 擷取選單文字按鈕
$(function() {
var addGetMenuTextButton = function(id, $srcMenu, $targetText, tiptext, afterSelIdx) {
if ($srcMenu.length === 0 || $targetText.length === 0) {
return null;
}
var $btnAdd = $('<input type="button">', {
id: id,
name: id
}).attr('value', ((!tiptext) ? '(+)' : tiptext));
$btnAdd.get(0).srcMenu = $srcMenu.get(0);
$btnAdd.get(0).targetText = $targetText.get(0);
$btnAdd.get(0).afterSelIdx = (!afterSelIdx || isNaN(afterSelIdx)) ? 0 : afterSelIdx;
$btnAdd.on('click', function() {
this.targetText.value += this.srcMenu.options[this.srcMenu.selectedIndex].value;
this.srcMenu.selectedIndex = this.afterSelIdx;
}).insertAfter($srcMenu);
return $btnAdd;
};
if (mw.config.get('wgAction').match(/(?:un)?protect/i)) { // 保護理由
addGetMenuTextButton('wpProtectReasonSelectionAdd', $("form[id='mw-Protect-Form'] select#wpProtectReasonSelection"), $("form[id='mw-Protect-Form'] input[id='mwProtect-reason']"), '加到附加的理由', 0);
} else if ((String(mw.config.get('wgCanonicalSpecialPageName'))).match(/block(?:ip)?/i)) { // 封禁理由
mw.loader.using('mediawiki.special.block').then(function() {
var reasonInput = OO.ui.infuse($('#mw-input-wpReason')),
button = new OO.ui.ButtonInputWidget({
label: wgULS('加到附带原因', '加到附帶原因')
}).on('click', function() {
var reason = reasonInput.dropdowninput.getValue();
if (reason !== 'other') {
reasonInput.textinput.setValue(
reason + ':' +
reasonInput.textinput.getValue());
reasonInput.dropdowninput.setValue('other');
}
});
reasonInput.dropdowninput.$element.after(button.$element);
});
}
});
});