مدیاویکی:Gadget-messages-dropdown.js: تفاوت میان نسخه‌ها

از ویکی پاسخ
(نام متغییر شبیه متغییر اصلی مدیاویکی بود)
 
جز (۱ نسخه واردشده)
 
(بدون تفاوت)

نسخهٔ کنونی تا ‏۲۸ سپتامبر ۲۰۲۴، ساعت ۱۴:۰۳

// <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>