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

از ویکی‌پدیا، دانشنامهٔ آزاد

نکته: برای دیدن تغییرات، ممکن است نیاز باشد که حافظهٔ نهانی مرورگر خود را پس از انتشار پاک‌سازی کنید. گوگل کروم، فایرفاکس، مایکروسافت اج و سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload در نوار ابزار مرورگر کلیک کنید. برای آگاهی از جزئیات و نحوهٔ پاک‌سازی حافظهٔ نهانی سایر مرورگرها، صفحهٔ ویکی‌پدیا:میانگیر مرورگرتان را خالی کنید را ببینید.

/*global jQuery, mediaWiki, insertTags*/
(function ($, mw) {
  'use strict';
  var namespaceNumber = mw.config.get('wgNamespaceNumber'),
    action = mw.config.get('wgAction'),
    title = mw.config.get('wgTitle');
  if (!((namespaceNumber % 2 || namespaceNumber === 4) && (action === 'edit' || action === 'submit'))) {
    return;
  }
  $(function () {
    var copywarn = $('#editpage-copywarn'), wpSave = $('#wpSave'), signLink;
    if (copywarn.length === 0 || wpSave.length === 0) {
      return;
    }
    // avoid warning on project pages blacklist
    if (mw.config.get('wgNamespaceNumber') === 4 && !mw.config.get('wgTitle').match('^(درخواست|درخواست\u200cهای|میز کمک|میز مرجع|نظرخواهی|قهوه\u200cخانه|تابلوی)')) {
      return;
    }
    if (mw.config.get('wgNamespaceNumber') === 4 && mw.config.get('wgTitle').match('^(درخواست اصلاح پیوند|درخواست انتقال رده)')) {
      return;
    }
    // Not to add sign request in WP:DAR and request for bots
    if (title.match('(انتقال رده|ایجاد رده|ایجاد مقاله)')){
    	return;
    }
    function insertTags ( pre, post, peri ) {
		var current = $( '#wpTextbox1' );
		if ( current && current.length ) {
			current.textSelection(
				'encapsulateSelection', { pre: pre, peri: peri, post: post }
			);
		}
	}
    window.warningDone = false;
    signLink = $('<a>', { href: '#', html: '~~' + '~~' }).click(function (e) {
      e.preventDefault();
      insertTags(' ~~' + '~~', '', '');
    });
    copywarn
      .html('لطفاً در صفحه\u200cهای بحث از امضا استفاده کنید ')
      .append(signLink)
      .css({
        padding: '2px',
        background: '#F7F7F7',
        border: '1px solid gray'
      });
    wpSave.click(function (e) {
      if (window.warningDone || $('#wpTextbox1').val().indexOf('~~' + '~~') !== -1) { return; }
      e.preventDefault();
      window.warningDone = true;
      copywarn
        .html('')
        .append(
          'لطفاً با افزودن ',
          signLink,
          ' در انتهای پیام خود امضا کنید (',
          $('<a href="/wiki/ویکی\u200cپدیا:امضا" title="(لینک در صفحهٔ جدید باز خواهد شد)" target=_blank>اطلاعات بیشتر↗</a>'), //→ ↗
          ')'
        )
        .click(function (e) {
        	e.preventDefault();
        	insertTags(' ~~' + '~~', '', '');
        })
        .css({
          background: '#FFD080',
          border: '1px solid orange'
        });
    });
  });
}(jQuery, mediaWiki));