ميدياويكي:Gadget-redirectMaker.js
This page is loaded as a part of the redirectMaker gadget, used by 823 users. |
ملاحظة: بعد الحفظ، قد يلزمك إفراغ الكاش لرؤية التغييرات.
/**
*إضافة بسيطة تُستخدم لإنشاء تحويلات بشكل كمي لصفحة ما
* عند تفعيل الإضافة اذهب إلى
* وب:منتح
* كي تستطيع إنشاء التحويلات
* التحديث والصيانة : [[:ar:User:Gerges]]
*/
mw.loader.using(['oojs-ui-core', 'oojs-ui-windows'], function() {
mw.util.addPortletLink(((mw.config.get('skin') == 'minerva') ? 'p-tb' : 'p-cactions'), mw.util.getUrl('Special:BlankPage/RedirectMaker/' + mw.config.get('wgPageName').replace(/_/g, ' ')), 'منشئ التحويلات', 'redirectMaker', 'الانتقال إلى منشئ التحويلات');
if (mw.config.get('wgCanonicalSpecialPageName') === 'Blankpage' && mw.config.get('wgTitle').split('/', 2)[1] === 'RedirectMaker') {
if (mw.config.get('wgTitle').split('/', 3)[2] != null) {
page_target = mw.config.get('wgTitle').split('/', 3)[2];
} else {
page_target = '';
}
function addTextInput(list) {
let inputRedirect = new OO.ui.TextInputWidget({ placeholder: 'اسم التحويلة' });
$('#mw-content-text').append(inputRedirect.$element);
list.push(inputRedirect);
}
$('#mw-content-text > p').remove();
$('#firstHeading').text('منشئ التحويلات');
var page_target;
var moveLogHeading = $("<div>").hide();
$("<h1>").wrapInner("<span class='mw-headline'>سجل التحويلات</span>").appendTo(moveLogHeading);
$('#mw-content-text').after('<br/>', moveLogHeading);
var ListinputRedirect = [];
var InputTarget = new OO.ui.TextInputWidget({
placeholder: 'الصفحة',
value: page_target
}),
BtnAdd = new OO.ui.ButtonWidget({
label: 'أضف',
icon: 'add',
flags: ['primary', 'progressive']
}),
BtnSave = new OO.ui.ButtonWidget({
label: 'حفظ',
flags: ['primary', 'progressive']
}),
BtnClear = new OO.ui.ButtonWidget({
label: 'إفراغ',
icon: 'trash',
flags: ['primary', 'destructive']
});
$('#mw-content-text').append(
BtnAdd.$element,
BtnSave.$element,
BtnClear.$element,
$('<p>').text('الصفحة الهدف:').css('font-weight', 'bold'),
InputTarget.$element,
'<br/>');
addTextInput(ListinputRedirect);
BtnAdd.on('click', function() {
addTextInput(ListinputRedirect);
});
BtnClear.on('click', function() {
ListinputRedirect.forEach(function(inputRedirect) {
inputRedirect.toggle(false);
});
ListinputRedirect = [];
addTextInput(ListinputRedirect);
});
BtnSave.on('click', function() {
if (InputTarget.getValue() != "") {
OO.ui.confirm("هل أنت متأكد من صحة البيانات المدخلة؟").done(function(confirmed) {
if (confirmed) {
moveLogHeading.show();
ListinputRedirect.forEach(function(inputRedirect) {
if (inputRedirect.getValue() != "") {
new mw.Api().create(inputRedirect.getValue(),
{
summary: 'إنشاء تحويلة ب[[وب:منشئ التحويلات|منشئ التحويلات]]'
},
'#تحويل [[' + InputTarget.getValue() + "]]"
)
.done(responeHanddler)
.fail(responeHanddler);
}
});
}
});
} else {
OO.ui.alert("لم يتم إدخال هدف التحويلة.",
{
size: "small",
actions: [{
action: "save",
label: "حسنا",
flags: ["primary", "progressive"]
}]
});
}
});
}
function responeHanddler(data, redirect) {
console.log(data);
var orderedList = $("<ul>").appendTo(moveLogHeading);
if (data.result == "Success") {
orderedList.append("<li></b>أنشئت التحويلة <b>" + data.title + "</b>.</li>");
} else {
console.error(data);
}
}
});