Մասնակից:ԱշոտՏՆՂ/tagIt.js

Վիքիպեդիայից՝ ազատ հանրագիտարանից

Ծանուցում. Հիշելուց հետո կատարված փոփոխությունները տեսնելու համար մաքրեք ձեր զննարկիչի հիշապահեստը. Mozilla / Firefox / Safari՝ Ctrl+Shift+R (Cmd+Shift+R Mac OS X-ում) Konqueror՝ F5 Opera՝ Tools→Preferences ընտրացանկից։ Internet Explorer՝ Ctrl+F5

$(function() {
    const templates = [
    	'Կատեգորիա կատեգորիաների համար',
    	'ՎՏՔ',
    	'Դար նավարկում',
    	'Տեղեկաքարտ Անձ',
    	'Տեղեկաքարտ Նկարիչ',
    	'Տեղեկաքարտ Գիտնական',
    	'Տեղեկաքարտ Դերասան',
    	'Թարմացնել'
    ];
    const api = new mw.Api();
    function addTag(text, reason, title) {
        return api.post({
            action: 'edit',
            title: (title ? title : mw.config.get('wgPageName')),
            prependtext: text,
            summary: reason,
            token: mw.user.tokens.get('csrfToken')
        });
    }

    function start() {
        var dropdown = $('<select>');
        $.each(templates, function (index, value) {
            dropdown.append($('<option>', {
                value: value,
                title: value,
                text: value
            }));
        });
        var $tagItDialogText = $("<div>");
        $tagItDialogText.append('<div>Ընտրեք պիտակը։</div>');
        $tagItDialogText.append(dropdown);
        $('<div>').append($tagItDialogText).dialog({
            width: 400,
            modal: false,
            title: "Պիտակել",
            draggable: true,
            dialogClass: "wikiEditor-toolbar-dialog",
            buttons: [{
                    text: "Ոչ",
                    click: function() {
                        $(this).dialog("close");
                    }
                },
                {
                    text: "Այո",
                    click: function() {
                        var that = this;
                        var selected = dropdown.find(":selected");
                        var value = selected.attr('value');
                        addTag('{{' + value + '}}\n', '+{{' + value + '}}').then(function() {
                            $(that).dialog("destroy");
                            $(that).remove();
                            location.reload();
                        });
                    }
                }
            ],
            close: function() {
                $(this).dialog("destroy");
                $(this).remove();
            }
        });
    }
	document.addEventListener('keydown', e => {
	  if (e.ctrlKey && e.shiftKey && e.code === 'Comma') {
	    e.preventDefault();
	    addTag('{{Կատեգորիա կատեգորիաների համար}}\n', '+{{Կատեգորիա կատեգորիաների համար}}').then(function() {
			location.reload();
		});
	  }
	});
    $(mw.util.addPortletLink('p-tb',
        '#tagIt',
        'Tag it',
        't-page-tagIt',
        'Էջում պիտակ ավելացնել')
    ).click(function() {
        start();
    });
});