مدیاویکی:Gadget-defaultsummaries.js

از ایران پدیا
پرش به ناوبری پرش به جستجو

نکته: پس از انتشار ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.

  • فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلید‌های Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-R)
  • گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-Shift-R)
  • اینترنت اکسپلورر/ Edge: کلید Ctrl را نگه‌دارید و روی دکمهٔ Refresh کلیک کنید، یا کلید‌های Ctrl-F5 را با هم فشار دهید
  • اپرا: Ctrl-F5 را بفشارید.
/* 
 * Imported as of 2011/11/24 from [[:en:MediaWiki:Gadget-defaultsummaries.js]]
 * http://en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-defaultsummaries.js&oldid=454943034
 * Implements default edit summary dropdown boxes
 */
 
(function ($) { // Wrap with anonymous function
    var $summaryBox  = $('input#wpSummary, #wpSummary > input');

    function editsummAddOptionToDropdown(dropdown, optionText) {
        var option = document.createElement("option");
        var optionTextNode = document.createTextNode(optionText);
        option.appendChild(optionTextNode);
        dropdown.appendChild(option);
    }
 
    function editsummAddCatToDropdown(dropdown, catText) {
        var option = document.createElement("option");
        option.disabled = true;
        option.selected = true;
        var optionTextNode = document.createTextNode(catText);
        option.appendChild(optionTextNode);
        dropdown.appendChild(option);
    }
 
    function editsummOnCannedSummarySelected() {
        // Save the original value of the edit summary field
        var editsummOriginalSummary = $summaryBox.val();
 
        var idx = this.selectedIndex;
        var canned = this.options[idx].text;
 
        var newSummary = editsummOriginalSummary;
 
        // Append old edit summary with space, if exists,
        // and last character != space
        if (newSummary.length !== 0 && newSummary.charAt(newSummary.length - 1) !== " ") {
            newSummary += " ";
        }
        newSummary += canned;
        $summaryBox.val( newSummary ).trigger( 'change' );
    }
 
    function insertSummaryOptions($insertBeforeThis, dropdownWidth) { 
        // For convenience, add a dropdown box with some canned edit
        // summaries to the form.
        var dropdown = document.createElement("select");
        dropdown.style.width = dropdownWidth;
        dropdown.style.margin = "0 4px 0 0";
        dropdown.onchange = editsummOnCannedSummarySelected;
 
        var minorDropdown = document.createElement("select");
        minorDropdown.style.width = dropdownWidth;
        minorDropdown.onchange = editsummOnCannedSummarySelected;
 
        editsummAddCatToDropdown(minorDropdown, "خلاصه ویرایش‌های جزئی رایج - برای استفاده کلیک کنید");
        editsummAddCatToDropdown(dropdown, "خلاصه ویرایش‌های رایج - برای استفاده کلیک کنید");
 
        editsummAddOptionToDropdown(minorDropdown, "اصلاح املایی/جمله‌بندی");
        editsummAddOptionToDropdown(minorDropdown, "رفع خطاهای ظاهری");
        editsummAddOptionToDropdown(minorDropdown, "[[راهنما:خنثی‌سازی|خنثی‌سازی]] [[وپ:خرابکاری|خرابکاری]] یا ویرایش آزمایشی");
        editsummAddOptionToDropdown(minorDropdown, "[[راهنما:خنثی‌سازی|خنثی‌سازی]] حذف محتوای بدون توضیح");
        editsummAddOptionToDropdown(minorDropdown, "ویرایش و تصحیح (جزئی)");
 
        if (mw.config.get('wgNamespaceNumber') === 0) {
            editsummAddOptionToDropdown(dropdown, "گسترش مقاله");
            editsummAddOptionToDropdown(dropdown, "فارسی‌سازی");
            editsummAddOptionToDropdown(dropdown, "ویکی‌سازی");
            editsummAddOptionToDropdown(dropdown, "بهبود/اضافه کردن منبع‌");
            editsummAddOptionToDropdown(dropdown, "حذف/اضافه کردن رده");
            editsummAddOptionToDropdown(dropdown, "حذف/اضافه کردن پیوند به بیرون");
            editsummAddOptionToDropdown(dropdown, "حذف محتوای بدون منبع");
            editsummAddOptionToDropdown(dropdown, "درخواست مدرک");
            editsummAddOptionToDropdown(dropdown, "حذف [[وپ:هرزنامه|هرزنامه]]");
            editsummAddOptionToDropdown(dropdown, "تمیزکاری");
            editsummAddOptionToDropdown(dropdown, "ویرایش و تصحیح");
        } else {
            editsummAddOptionToDropdown(dropdown, "پاسخ");
            editsummAddOptionToDropdown(dropdown, "توضیح");
            editsummAddOptionToDropdown(dropdown, "پیشنهاد");
            if ((mw.config.get('wgNamespaceNumber') % 2 !== 0) & (mw.config.get('wgNamespaceNumber') !== 3)) {
                editsummAddOptionToDropdown(dropdown, "برچسب [[وپ:ویکی‌پروژه]]");
                editsummAddOptionToDropdown(dropdown, "تعیین برچسب [[وپ:ویکی‌پروژه]]");
            }
        }
 
	$insertBeforeThis.before(dropdown);
        $insertBeforeThis.before(minorDropdown);
    }
    mw.hook( 've.saveDialog.stateChanged' ).add(function(){
        //.ve-init-mw-viewPageTarget-saveDialog-checkboxes
         if ( $( 'body' ).data( 'wppresent' ) ) { return; }
         $( 'body' ).data( 'wppresent', 'true' );
        var target = ve.init.target,
        	$insertBeforeThis = target.saveDialog.$saveOptions;
        $summaryBox = target.saveDialog.editSummaryInput.$input;
        if (!$insertBeforeThis.length) {
            return;
        }
        insertSummaryOptions($insertBeforeThis, "98%");
    });
    $(function() {
        var $insertBeforeThis = $('.editCheckboxes');
 
        // If we failed to find the editCheckboxes class
        if (!$insertBeforeThis.length) {
            return;
        }
        insertSummaryOptions($insertBeforeThis, "38%");
    });
}(jQuery));