تفاوت میان نسخه‌های «مدیاویکی:Tofawiki.js»

بهبود شیوهٔ تعریف دیالوگ
(تمیزکاری)
(بهبود شیوهٔ تعریف دیالوگ)
// Limiting oojs-ui windowing things to this place is intentional
// so that we can switch to something else easily later.
function createDialogshowDialog(dialogContent, onCloseActionactions) {
function TranslationDialogDialog(config) {
TranslationDialogDialog.super.call(this, config);
}
OO.inheritClass(TranslationDialogDialog, OO.ui.ProcessDialog);
TranslationDialogDialog.static.name = 'toFaWikiDialogDialog';
TranslationDialogDialog.static.title = 'ایجاد در ویکی‌پدیای فارسی';
TranslationDialogDialog.static.actions = [actions;
// TODO: This should be done by the caller
TranslationDialogDialog.prototype.initialize = function () {
TranslationDialog.static.actions = [
TranslationDialogDialog.super.prototype.initialize.apply(this, arguments);
{ action: 'cx', label: 'ایجاد به کمک ترجمهٔ محتوا' },
{
action: 'tofawiki',
label: namespaceNumber === 6 ? 'بارگذاری' : 'ایجاد به کمک ابزار توفاویکی'
},
{ label: 'بستن', flags: 'safe' }
];
if (namespaceNumber !== 0) {
// remove CX for namespaces other than the main one
TranslationDialog.static.actions.splice(0, 1);
}
TranslationDialog.prototype.initialize = function () {
TranslationDialog.super.prototype.initialize.apply(this, arguments);
this.content = new OO.ui.PanelLayout({ padded: true, expanded: false });
this.content.$element.append(dialogContent);
this.$body.append(this.content.$element);
};
TranslationDialogDialog.prototype.getActionProcess = function (action) {
var dialog = this;
if (action) {
return new OO.ui.Process(function () {
onCloseActionactions.filter(actionfunction (x); {
return x.action === action;
})[0].onClose();
dialog.close({ action: action });
})
} else {
return TranslationDialogDialog.super.prototype.getActionProcess.call(this, action);
}
};
var windowManager = new OO.ui.WindowManager();
windowManager.$element.addClass('tofawiki-dialog');
mw.util.addCSS('.tofawiki-dialog * { font-family: system-ui!important; }');
$(document.body).append(windowManager.$element);
var dialog = new TranslationDialogDialog();
windowManager.addWindows([dialog]);
windowManager.openWindow(dialog);
$(link).click(function (e) {
e.preventDefault();
 
mw.util.addCSS('.tofawiki-dialog * { font-family: system-ui!important; }');
mw.loader.load('//fa.wikipedia.org/w/index.php?title=MediaWiki:Gadget-Extra-Editbuttons-persiantools.js&action=raw&ctype=text/javascript');
mw.loader.load('//fa.wikipedia.org/w/index.php?title=MediaWiki:Gadget-Extra-Editbuttons-persianwikitools.js&action=raw&ctype=text/javascript');
});
}
 
var actions = [{
function onCloseAction(action) {
if (action ===: 'cxtofawiki') {,
label: namespaceNumber === 6 ? 'بارگذاری' : 'ایجاد به کمک ابزار توفاویکی',
window.open(new mw.Uri('//fa.wikipedia.org/w/index.php').extend({
titleonClose: 'Special:CX',function () {
page: mw.config.get('wgPageName'),
from: 'en',
to: 'fa',
targettitle: $('.tofawiki-name', dialogContent).val().replace(/_/g, '+').replace(/ي/g, 'ی').replace(/ك/g, 'ک'),
withJS: 'MediaWiki:EnableCX.js'
}));
} else if (action === 'tofawiki') {
var faName = $('.tofawiki-name', dialogContent).val().replace(/ي/g, 'ی').replace(/ك/g, 'ک');
var requestingPage = $('.tofawiki-select', dialogContent).val();
}
}
}, {
{ label: 'بستن', flags: 'safe' }
flags: 'safe'
},];
if (namespaceNumber !=== 0) {
// Prepent to actions list and enable CX for main namespace
actions.unshift({
action: 'tofawikicx',
{ action: 'cx', label: 'ایجاد به کمک ترجمهٔ محتوا' },
onClose: function () {
window.open(new mw.Uri('//fa.wikipedia.org/w/index.php').extend({
title: 'Special:CX',
page: mw.config.get('wgPageName'),
from: 'en',
to: 'fa',
targettitle: $('.tofawiki-name', dialogContent).val().replace(/_/g, '+').replace(/ي/g, 'ی').replace(/ك/g, 'ک'),
withJS: 'MediaWiki:EnableCX.js'
}));
}
] });
}
 
mw.loader.using(['oojs-ui']).then(function () {
createDialogshowDialog(dialogContent, onCloseActionactions);
});