# MediaWiki:Gadget-messages-dropdown.js

From faraghaib
Jump to navigation Jump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.

    // <pre>
    function LocalizedNumbers(str) {
        for (i = 0; i < 10; i++) {
            reg = new RegExp(mw.config.get('wgDigitTransformTable')[0].split("\t")[i], "gm");
            str = str.replace(reg, mw.config.get('wgDigitTransformTable')[1].split("\t")[i]);
        }
        return str;
    }

    if (mw.config.get('wgPageContentLanguage') != "en") {

        CurrentDate = new Date();

        CurrentLocalizedDate = LocalizedNumbers(CurrentDate.getDate().toString()) + " " + mw.config.get('wgMonthNames')[CurrentDate.getMonth() + 1] + " " + LocalizedNumbers((1900 + CurrentDate.getYear()).toString());

        var YadKardSelections = [];
        window.YadKardSelections = YadKardSelections;

        window.YadKardSelections[0] = ["انتخاب برچسب"];
        window.YadKardSelections[1] = ["یادکرد", '<ref>{{یادکرد|نویسنده = |کتاب = ', '| ناشر = |صفحه = |تاریخ = }}</ref>', 'عنوان را وارد کنید'];
        window.YadKardSelections[2] = ["یادکرد وب", '<ref>{{یادکرد وب|نویسنده = |نشانی = ', ' |عنوان = | ناشر = |تاریخ = |تاریخ بازدید = ' + CurrentLocalizedDate + '}}</ref>', ''];
        window.YadKardSelections[3] = ["یادکرد خبر", '<ref>{{یادکرد خبر|نام = |نام خانوادگی = |همکاران = |پیوند = ', ' |عنوان = |اثر = | ناشر = |صفحه = |تاریخ = |بازیابی = ' + CurrentLocalizedDate + '}}</ref>', ''];
        window.YadKardSelections[4] = ["یادکرد ویکی", '<ref>{{یادکرد ویکی|عنوان = |پیوند = ', ' |زبان = | بازیابی = ' + CurrentLocalizedDate + '}}</ref>', ''];
        window.YadKardSelections[5] = ["یادکرد کتاب", '<ref>{{یادکرد کتاب|نام خانوادگی = |نام = | پیوند نویسنده = ', '| عنوان = | ترجمه = | جلد = | سال = | ناشر = |مکان = | شابک = | صفحه = | پیوند = | بازیابی = ' + CurrentLocalizedDate + '}}</ref>', ''];
        window.YadKardSelections[6] = ["یادکرد ژورنال", '<ref>{{یادکرد ژورنال | نام خانوادگی = | نام = | نام خانوادگی۲ = | نام۲ = | عنوان = ', '| ژورنال = | مکان = | ناشر = | دوره = | شماره = | سال = | صفحه = | پیوند = | doi = | بازیابی = ' + CurrentLocalizedDate + '}}</ref>', ''];
        window.YadKardSelections[7] = ["یادکرد فرهنگ معین", '<ref>{{یادکرد-معین|عنوان = ', ' | بازیابی = ' + CurrentLocalizedDate + '}}</ref>', 'سرواژه'];
        window.YadKardSelections[8] = ["یادکرد لغتنامه دهخدا", '<ref>{{یادکرد-دهخدا|عنوان = ', ' | بازیابی = ' + CurrentLocalizedDate + '}}</ref>', 'سرواژه'];
        window.YadKardSelections[9] = ["پانویس کوتاه‌شده", '<ref>{{پک|نویسنده', '|سال|ک=کتاب|ص=صفحه}}</ref>', '|'];
    	window.YadKardSelections[10] = ["درخواست مدرک", '{{مدرک', '}}', '|'];

    	window.insertTags = function ( pre, post, peri ) {
    		var current = $( '#wpTextbox1' );
    		if ( current && current.length ) {
    			current.textSelection(
    				'encapsulateSelection', { pre: pre, peri: peri, post: post }
    			);
    		}
    	}

        var YadkardList = {}

        for (var iloop = 1; iloop < window.YadKardSelections.length; iloop++) {
            YadkardList[window.YadKardSelections[iloop][0]] = {
                label: window.YadKardSelections[iloop][0],
                action: {
                    type: 'encapsulate',
                    options: {
                        pre: window.YadKardSelections[iloop][1],
                        post: window.YadKardSelections[iloop][2]
                    }
                }
            };
        }

        var wikiEditorYadkard = {
            'add_sections_toolbar': {
                'call': 'addToToolbar',
                'data': {
                    'sections': {
                        'yadkard': {
                            'type': 'toolbar',
                            'label': 'برچسب‌های یادکرد'
                        }
                    }
                },
                'test': '*[rel=yadkard].section',
                'pre': 0,
                'post': 1
            },
            'add_groups': {
                'call': 'addToToolbar',
                'data': {
                    'section': 'yadkard',
                    'groups': {
                        'tags': {
                            'label': 'برچسب'
                        }
                    }
                },
                'test': '*[rel=yadkard].section *[rel=tags].group',
                'pre': 0,
                'post': 1
            },
            'add_tools': {
                'call': 'addToToolbar',
                'data': {
                    'section': 'yadkard',
                    'group': 'tags',
                    'tools': {
                        'Yadkards': {
                            label: window.YadKardSelections[0][0],
                            type: 'select',
                            list: YadkardList
                        }
                    }
                },
                'test': '*[rel=yadkard].section *[rel=tags].group *[rel=Yadkards].tool',
                'pre': 0,
                'post': 1
            }
        };

        optionsString = '';

        for (var iloop = 0; iloop < window.YadKardSelections.length; iloop++) {
            optionsString = optionsString + "<option>" + window.YadKardSelections[iloop][0] + "</option>"
        }

        labelCombo = "<select name=\"labelCombo\" onChange=\"if (window.YadKardSelections[this.selectedIndex].length > 2) { insertTags(window.YadKardSelections[this.selectedIndex][1], window.YadKardSelections[this.selectedIndex][2], window.YadKardSelections[this.selectedIndex][3]); this.selectedIndex=0;}\" style=\"float:left\">" + optionsString + "</select>";

        function InsertMessageDropdown() {
        	if (document.getElementById('wpTextbox1')) {
    	        if (typeof $ != 'undefined' && typeof $.fn.wikiEditor != 'undefined') {
    	            $('#wpTextbox1').on('wikiEditor-toolbar-doneInitialSections', function() {
    	                var $target = $('#wpTextbox1');
    	                for (test in wikiEditorYadkard) {
    	                    $target.wikiEditor(wikiEditorYadkard[test].call, wikiEditorYadkard[test].data);
    	                }
    	            });
    	        } else {
    	            toolbar = document.getElementById('wpTextbox1');
    	            if (toolbar != null) {
    	                var refDropDown = document.createElement("refDropDown");
    	                refDropDown.innerHTML = labelCombo;
    	                toolbar.parentNode.insertBefore(refDropDown, toolbar);
    	            }
    	        }
        	}
        }

        $(InsertMessageDropdown);

    }

    // </pre>

Retrieved from "https://en.faraghaib.ir/w/index.php?title=MediaWiki:Gadget-messages-dropdown.js&oldid=316"