مدیاویکی:Gadget-Extra-Editbuttons.js: تفاوت میان نسخهها
(صفحهای تازه حاوی «// <nowiki> // DON'T REMOVE THIS LINE EVER ←global jQuery, mediaWiki, persianWikiTools, persianTools: /** * UI code for Persian tools *...» ایجاد کرد) |
بدون خلاصۀ ویرایش |
||
(۳ نسخهٔ میانیِ ایجادشده توسط همین کاربر نشان داده نشد) | |||
خط ۴۲: | خط ۴۲: | ||
* Save a page | * Save a page | ||
*/ | */ | ||
function | |||
function goToEdit() { | |||
window.location="//"+mw.config.get('wgServerName')+"/w/index.php?title="+mw.config.get('wgPageName')+"&action=submit#continueAbar"; | |||
} | } | ||
if (window.location.hash=='#continueAbar'){ | |||
var text=$('#wpTextbox1').val() | |||
setTimeout(function() { | |||
var newText=persianWikiTools.superTool(text) | |||
$('#wpTextbox1').val(newText) | |||
$('#wpSummary').val('ویرایش به وسیله ابرابزار ') | |||
setTimeout(function() { | |||
document.getElementById('wpDiff').click(); | |||
}, 500); | |||
}, 2000); | |||
}; | |||
if (mw.config.get('wgAction') === 'view' && | if (mw.config.get('wgAction') === 'view' && | ||
mw.config.get('wgIsArticle') && | mw.config.get('wgIsArticle') && | ||
mw.config.get('wgUserEditCount')>100&& | |||
mw.config.get('wgPageName') !== 'صفحهٔ_اصلی') { | mw.config.get('wgPageName') !== 'صفحهٔ_اصلی') { | ||
$('#ca-abar-abzar').remove(); | $('#ca-abar-abzar').remove(); | ||
خط ۶۷: | خط ۷۱: | ||
interwikiFix = true; | interwikiFix = true; | ||
} | } | ||
$(mw.util.addPortletLink('p- | $(mw.util.addPortletLink('p-cactions', '#', interwikiFix ? 'ابرابزار+انتقال میانویکی' : 'ابرابزار', 'ca-abar-abzar', interwikiFix ? 'ابزار پیشرفتهٔ ویرایش متن + ابزار انتقال خودکار میانویکی سنتی به ویکیداده' : 'ابزار پیشرفتهٔ ویرایش متن')).click(function (e) { | ||
e.preventDefault(); | e.preventDefault(); | ||
mw.loader.using('oojs-ui').then(function () { | mw.loader.using('oojs-ui').then(function () { | ||
خط ۷۳: | خط ۷۷: | ||
if (!confirmed) return; | if (!confirmed) return; | ||
return loadPage(mw.config.get('wgPageName') | return loadPage(mw.config.get('wgPageName')).then(function (data) { | ||
// افزودن میانویکی سنتی به ویکیداده به صورت خودکار | // افزودن میانویکی سنتی به ویکیداده به صورت خودکار | ||
if (interwikiFix) { | if (interwikiFix) { | ||
$.get('// | $.get('//dexbot.toolforge.org/interwikidata.php', { page: mw.config.get('wgPageName') }) | ||
.then(function () {}, function () {}); | .then(function () {}, function () {}); | ||
} | } | ||
خط ۹۰: | خط ۸۷: | ||
botworks.trigMissedFileUpload(); | botworks.trigMissedFileUpload(); | ||
botworks.trigMissedRef(); | botworks.trigMissedRef(); | ||
}).then(function (text) { | |||
return goToEdit(); | |||
}) | |||
}) | |||
}); | }); | ||
}); | }); | ||
خط ۲۱۲: | خط ۱۹۵: | ||
} | } | ||
} | } | ||
} | |||
/* | |||
* اجازه میدهد که برخی کاربران از دسترسی به ابرابزار محروم شوند | |||
*/ | |||
function superToolAllowed() { | |||
return $.inArray( | |||
mw.config.get('wgUserId'), | |||
[ | |||
707839 // Viera iran | |||
] | |||
) == -1; | |||
} | } | ||
خط ۳۷۹: | خط ۳۷۴: | ||
// Buttons that add tags | // Buttons that add tags | ||
/* برچسب ویکی\u200cسازی */ | /* برچسب ویکی\u200cسازی *//* | ||
tools.wikify = buttonGenerator( | tools.wikify = buttonGenerator( | ||
function () { | function () { | ||
خط ۳۹۲: | خط ۳۸۷: | ||
); | ); | ||
/* بدون منبع */ | /* بدون منبع *//* | ||
tools.noSource = buttonGenerator( | tools.noSource = buttonGenerator( | ||
function () { | function () { | ||
خط ۴۰۵: | خط ۴۰۰: | ||
); | ); | ||
/* حذف سریع */ | /* حذف سریع *//* | ||
tools.speedyDel = buttonGenerator( | tools.speedyDel = buttonGenerator( | ||
function () { | function () { | ||
خط ۴۲۰: | خط ۴۱۵: | ||
); | ); | ||
/* حذف زماندار */ | /* حذف زماندار *//* | ||
tools.prod = buttonGenerator( | tools.prod = buttonGenerator( | ||
function () { | function () { | ||
خط ۴۳۵: | خط ۴۳۰: | ||
); | ); | ||
/* منبع تصویر نامعلوم */ | /* منبع تصویر نامعلوم *//* | ||
tools.picSource = buttonGenerator( | tools.picSource = buttonGenerator( | ||
function () { | function () { | ||
خط ۴۴۸: | خط ۴۴۳: | ||
); | ); | ||
/* حق تکثیر تصویر نامعلوم */ | /* حق تکثیر تصویر نامعلوم *//* | ||
tools.picCopy = buttonGenerator( | tools.picCopy = buttonGenerator( | ||
function () { | function () { | ||
خط ۴۶۱: | خط ۴۵۶: | ||
); | ); | ||
/* تمیزکاری */ | /* تمیزکاری *//* | ||
tools.cleanup = buttonGenerator( | tools.cleanup = buttonGenerator( | ||
function () { | function () { | ||
خط ۴۷۳: | خط ۴۶۸: | ||
'broom' | 'broom' | ||
); | ); | ||
*/ | |||
/* اخطار نگاره */ | /* اخطار نگاره *//* | ||
tools.imgWarn = buttonGenerator( | tools.imgWarn = buttonGenerator( | ||
function () { | function () { | ||
خط ۴۹۱: | خط ۴۸۶: | ||
'aviso' | 'aviso' | ||
); | ); | ||
*/ | |||
/* حق تکثیر مشکوک */ | /* حق تکثیر مشکوک *//* | ||
tools.sus = buttonGenerator( | tools.sus = buttonGenerator( | ||
function () { | function () { | ||
خط ۵۰۴: | خط ۴۹۹: | ||
'sus' | 'sus' | ||
); | ); | ||
*/ | |||
/* نقض حق تکثیر */ | /* نقض حق تکثیر *//* | ||
tools.copyR = buttonGenerator( | tools.copyR = buttonGenerator( | ||
function () { | function () { | ||
خط ۵۲۲: | خط ۵۱۷: | ||
'copyr' | 'copyr' | ||
); | ); | ||
*/ | |||
/* لحن نامناسب */ | /* لحن نامناسب */ | ||
tools.tone = buttonGenerator( | /*tools.tone = buttonGenerator( | ||
function () { | function () { | ||
$('#wpTextbox1').val('{' + '{لحن نامناسب}}\n' + $('#wpTextbox1').val()); | $('#wpTextbox1').val('{' + '{لحن نامناسب}}\n' + $('#wpTextbox1').val()); | ||
خط ۵۳۵: | خط ۵۳۰: | ||
'tone' | 'tone' | ||
); | ); | ||
*/ | |||
// Buttons that help with wiki writing | // Buttons that help with wiki writing | ||
/* تغییر جهت */ | /* تغییر جهت */ | ||
خط ۵۹۲: | خط ۵۸۷: | ||
); | ); | ||
/* ملزومات مقاله */ | /* ملزومات مقاله *//* | ||
tools.addEssentialThings = buttonGenerator( | tools.addEssentialThings = buttonGenerator( | ||
function () { | function () { | ||
خط ۶۰۴: | خط ۵۹۹: | ||
'add-note' | 'add-note' | ||
); | ); | ||
/* خوشامدید */ | /* خوشامدید *//* | ||
tools.welcome = buttonGenerator( | tools.welcome = buttonGenerator( | ||
function () { | function () { |
نسخهٔ کنونی تا ۲۶ اکتبر ۲۰۲۰، ساعت ۱۹:۲۴
// <nowiki> // DON'T REMOVE THIS LINE EVER
/*global jQuery, mediaWiki, persianWikiTools, persianTools*/
/**
* UI code for Persian tools
* Tests: [[مدیاویکی:Gadget-Extra-Editbuttons-tests.js]] [[وپ:تست]]
* See also:
* * [[مدیاویکی:Gadget-Extra-Editbuttons-persiantools.js]]
* * [[مدیاویکی:Gadget-Extra-Editbuttons-persianwikitools.js]]
* * [[مدیاویکی:Gadget-Extra-Editbuttons-dictionary.js]]
* * [[مدیاویکی:Gadget-Extra-Editbuttons-autoed.js]]
* * [[مدیاویکی:Gadget-Extra-Editbuttons-botworks.js]]
*/
(function ($, mw) {
'use strict';
// ابزار در حالت نمایش
/**
* Fetch a page
*/
function loadPage(title) {
return new mw.Api().get({
action: 'query',
prop: 'revisions',
titles: title,
rvprop: 'content',
format: 'json'
}).then(function (data) {
return data.query.pages[Object.keys(data.query.pages)[0]].revisions[0]['*'];
});
}
function insertTags ( pre, post, peri ) {
var current = $( '#wpTextbox1' );
if ( current && current.length ) {
current.textSelection(
'encapsulateSelection', { pre: pre, peri: peri, post: post }
);
}
}
/**
* Save a page
*/
function goToEdit() {
window.location="//"+mw.config.get('wgServerName')+"/w/index.php?title="+mw.config.get('wgPageName')+"&action=submit#continueAbar";
}
if (window.location.hash=='#continueAbar'){
var text=$('#wpTextbox1').val()
setTimeout(function() {
var newText=persianWikiTools.superTool(text)
$('#wpTextbox1').val(newText)
$('#wpSummary').val('ویرایش به وسیله ابرابزار ')
setTimeout(function() {
document.getElementById('wpDiff').click();
}, 500);
}, 2000);
};
if (mw.config.get('wgAction') === 'view' &&
mw.config.get('wgIsArticle') &&
mw.config.get('wgUserEditCount')>100&&
mw.config.get('wgPageName') !== 'صفحهٔ_اصلی') {
$('#ca-abar-abzar').remove();
if ($('#mw-imagepage-nofile, #noarticletext').length !== 0 ||
mw.config.get('wgNamespaceNumber') === 6 ||
mw.config.get('wgNamespaceNumber') === 8) {
return;
}
var interwikiFix = false;
if (!$('#t-wikibase').length && $('.interlanguage-link').length && $('.wbc-editpage').length) {
interwikiFix = true;
}
$(mw.util.addPortletLink('p-cactions', '#', interwikiFix ? 'ابرابزار+انتقال میانویکی' : 'ابرابزار', 'ca-abar-abzar', interwikiFix ? 'ابزار پیشرفتهٔ ویرایش متن + ابزار انتقال خودکار میانویکی سنتی به ویکیداده' : 'ابزار پیشرفتهٔ ویرایش متن')).click(function (e) {
e.preventDefault();
mw.loader.using('oojs-ui').then(function () {
OO.ui.confirm('اجرای ابرابزار بر این صفحه؟ مسئولیت ویرایش ابرابزار با شما خواهد بود').then(function (confirmed) {
if (!confirmed) return;
return loadPage(mw.config.get('wgPageName')).then(function (data) {
// افزودن میانویکی سنتی به ویکیداده به صورت خودکار
if (interwikiFix) {
$.get('//dexbot.toolforge.org/interwikidata.php', { page: mw.config.get('wgPageName') })
.then(function () {}, function () {});
}
// اجرای کدهای ربات
botworks.trigFillcat();
botworks.trigMissedFileUpload();
botworks.trigMissedRef();
}).then(function (text) {
return goToEdit();
})
});
});
});
}
// ابزار در حالت ویرایش
/**
* Adds edit summary
*/
function addEditSummary(summaryText, replaceSummary) {
if (mw.util.getParamValue("section")==='new'){
return;
}
if (summaryText === '') {
return;
}
var summary = $('input#wpSummary, #wpSummary > input'),
summaryPrefix = '',
pos;
if (summary.length === 0) {
return;
}
if (summary.val().indexOf('*/ ') > -1) {
pos = summary.val().indexOf('*/ ');
summaryPrefix = summary.val().substr(0, pos + 3);
}
if (replaceSummary) {
summary.val(summaryPrefix + summaryText);
} else {
if (summary.val() === summaryPrefix) {
summary.val(summary.val() + summaryText);
} else {
if (summary.val().indexOf(summaryText) === -1) { // do not repeat in edit summary
summary.val(summary.val() + '، ' + summaryText);
}
}
}
}
/**
* Makes a simple button from parameters
*/
function buttonGenerator(callback, summaryText, replaceSummary, image, title, alt, idSuffix) {
function clickCallback(e) {
e.preventDefault();
callback();
addEditSummary(summaryText, replaceSummary);
}
var img = $('<img>').on('error', function () {
img.replaceWith($('<span>', {
class: 'mw-ui-button mw-ui-small mw-ui-constructive',
text: alt,
style: 'padding: 0;'
}));
}).attr({
src: image,
title: title,
alt: alt
});
var button = $('<span>', {
id: 'persian-wiki-tools-' + idSuffix
}).click(clickCallback).append(img);
return button[0];
}
/**
* Applies the string functions defined below to the
* selected text in the edit box. If no text is selected, applies
* the function to the whole contents of edit box.
*/
function applyOnSelection(callback) {
var txtarea, range, startPos, endPos, selText;
if (document.getElementById('editform') || $('.ns-446').length) {
txtarea = document.getElementById('wpTextbox1');
} else if ($('[name=wpNewTitleMain]')[0]) {
txtarea = $('[name=wpNewTitleMain]')[0];
} else {
return;
}
if (document.selection && document.selection.createRange) { // IE/Opera
// get current selection
txtarea.focus();
range = document.selection.createRange();
selText = range.text;
if (selText) {
range.text = callback(selText);
range.select();
} else {
txtarea.value = callback(txtarea.value);
}
} else if (txtarea.selectionStart || txtarea.selectionStart === 0) { // Mozilla
// get current selection
txtarea.focus();
startPos = txtarea.selectionStart;
endPos = txtarea.selectionEnd;
selText = txtarea.value.substring(startPos, endPos);
// insert tags
if (selText) {
txtarea.value = txtarea.value.substring(0, startPos) + callback(selText) + txtarea.value.substring(endPos, txtarea.value.length);
txtarea.selectionStart = startPos + selText.length;
txtarea.selectionEnd = txtarea.selectionStart;
} else {
txtarea.value = callback(txtarea.value);
}
}
}
/*
* اجازه میدهد که برخی کاربران از دسترسی به ابرابزار محروم شوند
*/
function superToolAllowed() {
return $.inArray(
mw.config.get('wgUserId'),
[
707839 // Viera iran
]
) == -1;
}
var tools = {};
// Buttons that FIX wikitext
/* ی ک */
tools.ykArabic = buttonGenerator(
function () {
applyOnSelection(persianTools.toStandardPersianCharacters);
},
'اصلاح نویسه\u200cهای عربی',
false,
'//upload.wikimedia.org/wikipedia/commons/8/88/Button_YehKeh.png',
'اصلاح ی و ک',
'ی و ک',
'YehKeh'
);
/* فاصلهٔ مجازی */
tools.zwnj = buttonGenerator(
function () {
applyOnSelection(persianWikiTools.wikiApplyZwnj);
},
'اصلاح فاصلهٔ مجازی',
false,
'//upload.wikimedia.org/wikipedia/fa/d/d0/Button_ZWNJ.png',
'فاصلهٔ مجازی',
'فاصلهٔ مجازی',
'ZWNJ'
);
/* اصلاح نویسه\u200cها و حالت\u200cهای غیراستاندارد */
tools.applyOrthography = buttonGenerator(
function () {
applyOnSelection(persianWikiTools.wikiApplyOrthography);
},
'اصلاح نویسه',
false,
'//upload.wikimedia.org/wikipedia/fa/9/94/Button_non_standard.png',
'اصلاح نویسه\u200cها و حالت\u200cهای غیراستاندارد',
'اصلاح نویسه\u200cها و حالت\u200cهای غیراستاندارد',
'apply-orthography'
);
/* اصلاح ارقام */
tools.dig = buttonGenerator(
function () {
applyOnSelection(persianWikiTools.wikiTextDigitsToPersian);
},
'اصلاح ارقام',
false,
'//upload.wikimedia.org/wikipedia/fa/4/4a/Button_numbers.png',
'اصلاح ارقام',
'ارقام',
'numbers'
);
/* اصلاح ارقام مخصوص صفحه انتقال */
tools.digMove = buttonGenerator(
function () {
applyOnSelection(persianWikiTools.wikiConvertToPersianCharacters);
},
'اصلاح ارقام',
false,
'//upload.wikimedia.org/wikipedia/fa/4/4a/Button_numbers.png',
'اصلاح ارقام',
'ارقام',
'numbers'
);
//عدم تغییر در متن بحثها، سیاستها در فضاهای نام دیگر
if (mw.config.get('wgNamespaceNumber') === 0) {
/* برداشتن پیوند تاریخها */
tools.fixBadLinks = buttonGenerator(
function () {
applyOnSelection(persianWikiTools.fixBadLinks);
},
'[[وپ:پیوند سال|حذف پیوند تاریخها]]',
false,
'//upload.wikimedia.org/wikipedia/commons/1/11/Btn_toolbar_link_remove.png',
'حذف پیوند تاریخها',
'پیوند تاریخها',
'datelinks'
);
}
/* یونیکد نشانی وب */
tools.urlFix = buttonGenerator(
function () {
applyOnSelection(persianWikiTools.wikiUrlMinifier);
},
'اصلاح نشانی وب',
false,
'//upload.wikimedia.org/wikipedia/fa/b/ba/Button_decode_URI.png',
'یونی\u200cکدسازی نشانی\u200cها',
'یونی\u200cکدسازی',
'decode-URI'
);
/* اصلاح علامت @ */
tools.atSignFix = buttonGenerator(
function () {
applyOnSelection(function (text) {
return text.replace(/(\S+?)@(\S+?)/g, '$1{' + '{at}}$2');
});
},
'اصلاح @',
false,
'//upload.wikimedia.org/wikipedia/fa/7/7f/Button_at_sign.png',
'اصلاح علامت @',
'@',
'at-sign'
);
/* ابرابزار */
tools.superTool = buttonGenerator(
function () {
applyOnSelection(persianWikiTools.superTool);
},
'ابرابزار',
false,
'//upload.wikimedia.org/wikipedia/fa/f/fc/Button_super_tool.png',
'ابرابزار',
'ابرابزار',
'super-tool'
);
/* ابزار املا */
tools.dictation = buttonGenerator(
function () {
applyOnSelection(persianWikiTools.wikiDictation);
},
'اصلاح املا',
false,
'//upload.wikimedia.org/wikipedia/commons/a/a3/Button_Dictation-fa.png',
'املا',
'املا',
'dictation'
);
/* ابرابزار مخصوص صفحه انتقال */
tools.superToolMove = buttonGenerator(
function () {
applyOnSelection(persianWikiTools.superToolMove);
},
'ابرابزار',
false,
'//upload.wikimedia.org/wikipedia/fa/f/fc/Button_super_tool.png',
'ابرابزار',
'ابرابزار',
'super-tool'
);
/* اصلاحات قراردادن نقطه */
tools.punc = buttonGenerator(
function () {
applyOnSelection(persianWikiTools.wikiPunctuation);
},
'اصلاح سجاوندی',
false,
'//upload.wikimedia.org/wikipedia/fa/e/ed/Button_punctuation.png',
'نقطه\u200cگذاری',
'نقطه\u200cگذاری',
'punctuation'
);
// Buttons that add tags
/* برچسب ویکی\u200cسازی *//*
tools.wikify = buttonGenerator(
function () {
$('#wpTextbox1').val('{' + '{ویکی\u200cسازی}}\n' + $('#wpTextbox1').val());
},
'برچسب ویکی\u200cسازی',
false,
'//upload.wikimedia.org/wikipedia/fa/3/38/Button_wikify.png',
'برچسب ویکی\u200cسازی',
'ویکی\u200cسازی',
'wikify'
);
/* بدون منبع *//*
tools.noSource = buttonGenerator(
function () {
$('#wpTextbox1').val('{' + '{بدون منبع}}\n' + $('#wpTextbox1').val());
},
'برچسب منبع',
false,
'//upload.wikimedia.org/wikipedia/fa/8/8a/Button_no_source_fa.png',
'برچسب بدون منبع',
'بدون منبع',
'no-source'
);
/* حذف سریع *//*
tools.speedyDel = buttonGenerator(
function () {
var temp = $('#wpTextbox1').val();
$('#wpTextbox1').val('');
insertTags('{' + '{' + 'حذف سریع|', '}}\n' + temp, 'معیار');
},
'حذف سریع',
true,
'//upload.wikimedia.org/wikipedia/commons/1/13/Button_delete.png',
'برچسب حذف سریع',
'حذف سریع',
'delete-vote'
);
/* حذف زماندار *//*
tools.prod = buttonGenerator(
function () {
var temp = $('#wpTextbox1').val();
$('#wpTextbox1').val('');
insertTags('{' + '{' + 'جا:حذف زمان\u200cدار|', '}}\n' + temp, 'معیار');
},
'حذف زمان\u200cدار',
true,
'//upload.wikimedia.org/wikipedia/commons/3/3f/Button_attendre.png',
'برچسب حذف زمان\u200cدار',
'حذف زمان\u200cدار',
'attendre'
);
/* منبع تصویر نامعلوم *//*
tools.picSource = buttonGenerator(
function () {
$('#wpTextbox1').val('{' + '{' + 'جا:منبع تصویر نامعلوم' + '}}\n' + $('#wpTextbox1').val());
},
'برچسب منبع',
false,
'//upload.wikimedia.org/wikipedia/fa/5/59/Button_image_source.png',
'برچسب منبع تصویر نامعلوم',
'منبع تصویر نامعلوم',
'image-source'
);
/* حق تکثیر تصویر نامعلوم *//*
tools.picCopy = buttonGenerator(
function () {
$('#wpTextbox1').val('{' + '{' + 'جا:حق تکثیر تصویر نامعلوم}}\n' + $('#wpTextbox1').val());
},
'برچسب حق تکثیر',
false,
'//upload.wikimedia.org/wikipedia/fa/7/7e/Button_image_copyright.png',
'برچسب حق تکثیر تصویر نامعلوم',
'حق تکثیر تصویر نامعلوم',
'image-copyright'
);
/* تمیزکاری *//*
tools.cleanup = buttonGenerator(
function () {
$('#wpTextbox1').val('{' + '{تمیزکاری}}\n' + $('#wpTextbox1').val());
},
'برچسب تمیزکاری',
false,
'//upload.wikimedia.org/wikipedia/commons/2/2e/Button_broom.png',
'برچسب تمیزکاری',
'تمیزکاری',
'broom'
);
*/
/* اخطار نگاره *//*
tools.imgWarn = buttonGenerator(
function () {
$('#wpTextbox1').val('');
insertTags(
'{' + '{' + 'جا:اخطار نگاره|',
'}}',
'نگاره'
);
},
'برچسب نگاره',
false,
'//upload.wikimedia.org/wikipedia/commons/e/ec/Button_aviso.png',
'اخطار نگاره',
'اخطار نگاره',
'aviso'
);
*/
/* حق تکثیر مشکوک *//*
tools.sus = buttonGenerator(
function () {
$('#wpTextbox1').val('{' + '{حق تکثیر مشکوک}}\n' + $('#wpTextbox1').val());
},
'برچسب حق تکثیر',
false,
'//upload.wikimedia.org/wikipedia/fa/c/c7/Button_Sus.png',
'برچسب حق تکثیر مشکوک',
'حق تکثیر مشکوک',
'sus'
);
*/
/* نقض حق تکثیر *//*
tools.copyR = buttonGenerator(
function () {
$('#wpTextbox1').val('');
insertTags(
'{' + '{' + 'جا:نقض حق تکثیر|url=',
'}}',
'نشانی ایرنتنتی'
);
},
'برچسب حق تکثیر',
false,
'//upload.wikimedia.org/wikipedia/fa/6/6f/Button_CopyR.png',
'برچسب نقض حق تکثیر',
'نقض حق تکثیر',
'copyr'
);
*/
/* لحن نامناسب */
/*tools.tone = buttonGenerator(
function () {
$('#wpTextbox1').val('{' + '{لحن نامناسب}}\n' + $('#wpTextbox1').val());
},
'برچسب لحن',
false,
'//upload.wikimedia.org/wikipedia/fa/f/fc/Button_Tone.png',
'برچسب لحن نامناسب',
'لحن',
'tone'
);
*/
// Buttons that help with wiki writing
/* تغییر جهت */
tools.toggleDirection = buttonGenerator(
function () {
$('#wpTextbox1, [name=wpNewTitleMain], .ace_editor').css({
'text-align': 'start',
'direction': $('#wpTextbox1, [name=wpNewTitleMain]').css('direction') === 'rtl' ? 'ltr' : 'rtl'
});
},
'',
true,
'//upload.wikimedia.org/wikipedia/fa/d/d0/Button_toggle_dir.png',
'تغییر جهت جعبهٔ ویرایش',
'تغییرجهت',
'toggle-dir'
);
/* پیوند درونی */
tools.wikiLink = buttonGenerator(
function () {
insertTags('[[', ']]', 'مقاله');
},
'',
true,
'//upload.wikimedia.org/wikipedia/fa/d/d0/Button_in_wikify.png',
'پیوند',
'پیوند',
'wikify'
);
/* متن خطخورده */
tools.strikeTextButton = buttonGenerator(
function () {
insertTags('<s>', '</s>', 'متن خط خورده');
},
'',
true,
'//upload.wikimedia.org/wikipedia/commons/c/c9/Button_strike.png',
'متن خط\u200cخورده',
'متن خط\u200cخورده',
'strike'
);
/* توضیح */
tools.commentButton = buttonGenerator(
function () {
insertTags('<!--', '-->', 'توضیح');
},
'',
true,
'//upload.wikimedia.org/wikipedia/commons/3/34/Button_hide_comment.png',
'توضیح',
'توضیح',
'hide-comment'
);
/* ملزومات مقاله *//*
tools.addEssentialThings = buttonGenerator(
function () {
insertTags('== جستارهای وابسته ==\n\n== منابع ==\n{' + '{پانویس}}', '', '');
},
'',
true,
'//upload.wikimedia.org/wikipedia/commons/e/ef/Add_note.jpg',
'ملزومات مقاله',
'ملزومات مقاله',
'add-note'
);
/* خوشامدید *//*
tools.welcome = buttonGenerator(
function () {
insertTags(
'{' + '{' + 'جا:خوشامد|~~' + '~~}}',
'',
''
);
},
'خوشامدگویی',
true,
'//upload.wikimedia.org/wikipedia/commons/4/4a/Smilies_Alien_cool.png',
'خوشامدگویی',
'خوشامد',
'alien-cool'
);
/* چپچین */
tools.chapChin = buttonGenerator(
function () {
insertTags(
'{' + '{چپ\u200cچین}}\n',
'\n{' + '{پایان چپ\u200cچین}}',
'متن چپ\u200cچین\u200cشده'
);
},
'',
true,
'//upload.wikimedia.org/wikipedia/commons/e/ea/Button_align_left.png',
'چپ\u200cچین\u200cکردن متن',
'چپ\u200cچین',
'align-left'
);
/* اندیس بالا */
tools.upperText = buttonGenerator(
function () {
insertTags('<sup>', '</sup>', 'اندیس');
},
'',
true,
'//upload.wikimedia.org/wikipedia/commons/6/6a/Button_sup_letter.png',
'اندیس بالا',
'اندیس بالا',
'upper-letter'
);
/* اندیس پایین */
tools.lowerText = buttonGenerator(
function () {
insertTags('<sub>', '</sub>', 'اندیس');
},
'',
true,
'//upload.wikimedia.org/wikipedia/commons/a/aa/Button_sub_letter.png',
'اندیس پایین',
'اندیس پایین',
'lower-letter'
);
/* تغییرمسیر */
tools.redirectButton = buttonGenerator(
function () {
$('#wpTextbox1').val('');
insertTags(
'#تغییرمسیر [[',
']]',
'پیوند'
);
},
'',
true,
'//upload.wikimedia.org/wikipedia/commons/c/c8/Button_redirect.png',
'تغییرمسیر',
'تغییرمسیر',
'redirect'
);
/* سال میلادی */
tools.gregYear = buttonGenerator(
function () {
insertTags(
'[[',
' (میلادی)|]]',
'سال'
);
},
'',
true,
'//upload.wikimedia.org/wikipedia/fa/a/a7/Button_cal.png',
'سال میلادی',
'میلادی',
'cal'
);
/* مرتبسازی */
tools.sortText = buttonGenerator(
function () {
applyOnSelection(persianTools.persianSortText);
},
'',
true,
'//upload.wikimedia.org/wikipedia/fa/3/33/Button_sort.png',
'مرتب\u200cسازی بر اساس الفبا',
'مرتب\u200cسازی',
'sort'
);
/* شد! */
tools.shod = buttonGenerator(
function () {
$('#wpTextbox1').val($('#wpTextbox1').val().trimRight() + '\n:{' + '{شد}} ~~' + '~~');
},
'شد',
true,
'//upload.wikimedia.org/wikipedia/commons/5/5b/Button_check.png',
'شد',
'شد',
'check'
);
/* عدد انگلیسی */
tools.toEnNumRobust = buttonGenerator(
function () {
applyOnSelection(persianWikiTools.robustToEnglishDigits);
},
'عدد انگلیسی',
false,
'//upload.wikimedia.org/wikipedia/commons/f/f5/Button_enNum.png',
'عدد انگلیسی',
'عدد انگلیسی',
'ToEnNumberRobust'
);
/* حذف ویکیسازی */
tools.removeWiki = buttonGenerator(
function () {
applyOnSelection(persianWikiTools.removeWikiSigne);
},
'حذف ویکیسازی',
false,
'//upload.wikimedia.org/wikipedia/fa/8/88/Button_NoWiki.png',
'حذف ویکیسازی',
'حذف ویکیسازی',
'removeWiki'
);
$(function () {
// کد مناسب ویرایشگر جدید متنی
/*mw.hook('ve.activationComplete').add(function () {
var surface = ve.init.target.getSurface();
if (surface.getMode() === 'source') {
$('#firstHeading').append($('<img>', { src: '//upload.wikimedia.org/wikipedia/fa/f/fc/Button_super_tool.png' }).click(function () {
$('.ve-ce-contentBranchNode').get().forEach(function (x) {
x.innerText = persianWikiTools.superTool(x.innerText);
});
}));
}
});*/
var extraEditButtons = [],
extraMoveButtons = [],
space = ' ';
extraEditButtons = extraEditButtons.concat(tools.toggleDirection, space, tools.ykArabic, tools.zwnj, tools.applyOrthography,
tools.dig, tools.punc, tools.dictation, tools.superTool, space, tools.urlFix, tools.fixBadLinks, space, tools.welcome,
tools.addEssentialThings, tools.noSource, tools.sus, tools.tone, tools.wikify,
tools.shod, tools.cleanup, tools.speedyDel, tools.prod, space, tools.redirectButton,
tools.gregYear, tools.strikeTextButton, tools.chapChin, tools.commentButton, space, tools.sortText, space, tools.picCopy, tools.picSource, space, tools.toEnNumRobust);
// شرط برای کاربری که گشت خودکار دارد
// ابزار حذف الگوهای ناموجود
if ((mw.config.get('wgUserGroups').indexOf('autopatrolled') > -1 ||mw.config.get('wgUserGroups').indexOf('eliminator') > -1 ||mw.config.get('wgUserGroups').indexOf('sysop') > -1)) {
extraEditButtons = extraEditButtons.concat(tools.removeWiki);
};
extraEditButtons = extraEditButtons.concat(space).concat(window.userCustomEditButtons || []);
extraMoveButtons = extraMoveButtons.concat(tools.superToolMove, space, tools.toggleDirection, space,
tools.ykArabic, tools.zwnj, tools.applyOrthography, tools.digMove, tools.punc, space, tools.dictation);
$('#persian-wiki-tools').remove();
if ($('#wpTextbox1').length !== 0) {
$('<div>', {
id: 'persian-wiki-tools',
dir: 'rtl',
style: 'float:right;'
}).append(extraEditButtons).insertBefore('#wpTextbox1');
}
if ($('#movepage').length !== 0) {
$('<span>', {
id: 'persian-wiki-tools'
}).append(extraMoveButtons).insertAfter('#wpNewTitle');
}
});
}(jQuery, mediaWiki));