MediaWiki:Gadget-Adiutor-RPP.js

Wikipedia, erkin enciklopediya

Dıqqat: Ózgerislerińiz kóriniwi ushın jańa sazlawlarıńızdı saqlaǵannan keyin brauzerdiń keshin tazalaw kerek:
Google Chrome: Ctrl+Shift+R, Mozilla Firefox: Ctrl+Shift+R, Intenet Explorer: Ctrl+F5, Safari: Cmd+Shift+R, Konqueror: F5, Opera: Tools → Preferences arqalı keshti tazalań.

/* 
 * Adiutor: A gadget to assist various user actions
 * Author: User:Vikipolimer
 * Licencing and attribution: [[:tr:VP:Adiutor#Lisanslama ve atıf]]
 * Module: Requests for page protection
/* <nowiki> */
$.when(mw.loader.using(["mediawiki.user", "oojs-ui-core", "oojs-ui-windows", ]), $.ready).then(function() {
    var mwConfig = mw.config.get(["wgAction", "wgPageName", "wgTitle", "wgUserGroups", "wgUserName", "wgCanonicalNamespace", "wgNamespaceNumber"]);
    var RPPText, RPPSummary, RPPData, RPPDuration;

    function PageProtectionDialog(config) {
        PageProtectionDialog.super.call(this, config);
    }
    OO.inheritClass(PageProtectionDialog, OO.ui.ProcessDialog);
    PageProtectionDialog.static.name = 'PageProtectionDialog';
    PageProtectionDialog.static.title = 'Adiutor — Qorǵaw';
    PageProtectionDialog.static.actions = [{
        action: 'save',
        label: 'Orınlaw',
        flags: ['primary', 'progressive']
    }, {
        label: 'Jabıw',
        flags: 'safe'
    }];
    PageProtectionDialog.prototype.initialize = function() {
        PageProtectionDialog.super.prototype.initialize.apply(this, arguments);
        var headerTitle = new OO.ui.MessageWidget({
            type: 'notice',
            inline: true,
            label: new OO.ui.HtmlSnippet('<strong>Betti qorǵaw sorawı</strong><br><small>Tómende betti qansha máwletke hám ne sebepten qorǵaw kerek ekenligin aytıp ótiń.</small>')
        });
        TypeOfAction = new OO.ui.FieldsetLayout({
            label: 'Opciyalar'
        });
        TypeOfAction.addItems([

            DurationOfProtection = new OO.ui.DropdownWidget({
                menu: {
                    items: [
                        new OO.ui.MenuOptionWidget({
                            data: 'Qısqa máwletke',
                            label: 'Waqtınsha'
                        }),
                        new OO.ui.MenuOptionWidget({
                            data: 'Máńgilikke',
                            label: 'Máńgi'
                        }),
                    ]
                },
                label: "Máwlet"
            }),
            TypeOfProtection = new OO.ui.DropdownWidget({
                menu: {
                    items: [
                        new OO.ui.MenuOptionWidget({
                            data: "tolıq qorǵaw",
                            label: 'Tolıq qorǵaw'
                        }),
                        new OO.ui.MenuOptionWidget({
                            data: "yarım qorǵaw",
                            label: 'Yarım qorǵaw'
                        }),
                    ]
                },
                label: "Qorǵaw túri"
            }),
            rationaleField = new OO.ui.FieldLayout(rationaleInput = new OO.ui.MultilineTextInputWidget({
                placeholder: 'Bul jerde betti ne ushın qorǵaw kerekliginiń sebebin bayan etiń.',
                indicator: 'required',
                value: '',
            }), {
                label: 'Sebebi',
                align: 'inline',
            }),
        ]);


        rationaleInput.on('change', function() {
            if (rationaleInput.value != "") {
                InputFilled = false;
            } else {
                InputFilled = true;
            }
        });

        TypeOfProtection.getMenu().on('choose', function(menuOption) {
            RPPData = menuOption.getData();
        });
        DurationOfProtection.getMenu().on('choose', function(duration) {
            RPPDuration = duration.getData();
        });
        this.content = new OO.ui.PanelLayout({
            padded: true,
            expanded: false
        });
        this.content.$element.append(headerTitle.$element, '<br><hr><br>', TypeOfAction.$element);
        this.$body.append(this.content.$element);
    };
    PageProtectionDialog.prototype.getActionProcess = function(action) {
        var dialog = this;
        if (action) {
            return new OO.ui.Process(function() {
                RPPText = '\n{{subst:BQS|bet_atı=' + mwConfig.wgPageName.replace(/_/g, " ") + '|túri= ' + RPPDuration + ' ' + RPPData + '|sebebi= ' + rationaleInput.value + '~~~~' + '}}';
                RPPSummary = '[[' + mwConfig.wgPageName.replace(/_/g, " ") + ']] betin qorǵaw ushın soraw qaldırıldı';
                console.log(RPPText);
                addProtectionRequests(RPPText);
                dialog.close({
                    action: action
                });
            });
        }
        return PageProtectionDialog.super.prototype.getActionProcess.call(this, action);
    };
    var windowManager = new OO.ui.WindowManager();
    $(document.body).append(windowManager.$element);
    var dialog = new PageProtectionDialog();
    windowManager.addWindows([dialog]);
    windowManager.openWindow(dialog);

    function addProtectionRequests(RPPText) {
        api.postWithToken('csrf', {
            action: 'edit',
            title: 'Wikipedia:Betti qorǵaw ushın sorawlar',
            section: 1,
            appendtext: RPPText + "\n",
            summary: RPPSummary,
            tags: 'Adiutor',
            format: 'json'
        }).done(function() {
            window.location = '/wiki/Wikipedia:Betti_qorǵaw_ushın_sorawlar';
        });
    }
});
/* </nowiki> */