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

لە ئینسایکڵۆپیدیای ئازادی ویکیپیدیاوە
تێبینی: دوای پاشەکەوتکردن، پێویستە کاشی وێبگەڕەکەت پاک بکەیتەوە تا گۆڕانکارییەکان ببینیت. بۆ گووگڵ کڕۆم، فایەرفۆکس، مایکرۆسۆفت ئێج و سافاری: پەنجە لەسەر دوگمەی ⇧ Shift ڕاگرە و کرتە لەسەر Reload بکە. بۆ وردەکاری و ڕێنمایییەکان لەسەر وێبگەڕەکانی تر، بڕوانە ئێرە.
// <nowiki> // DO NOT REMOVE THIS LINE EVER
/*jslint browser: true, white: true*/
/*global mediaWiki, jQuery*/
/*!
 * @author User:Ebraminio, User:Yamaha5
 */
(function ($, mw) {
	'use strict';
 
	function createPage(title, text, summary, callback) {
		return new mw.Api().post({
			action: 'edit',
			title: title,
			text: text,
			summary: summary,
			createonly: '',
			minor: '',
			token: mw.user.tokens.get('csrfToken')
		}).then(
			function (data) {
				if (data.error && data.error.info) {
					mw.notify(title + ' نەکرا: ' + data.error.info);
				} else {
					callback();
				}
				return data;
			},
			function (data) {
				mw.notify(title + ' نەکرا: ' + data);
				return data;
			}
		);
	}
 
	function startRedirect(redirect, dest) {
		return createPage(
			redirect,
			'#ڕەوانەکەر [[' + dest + ']]',
			'دروستکردنی ڕەوانەکەر بۆ [[' + dest + ']] (ئامرازی دروستکەری ڕەوانەکەر)',
			function () {
				mw.notify('دروستکردنی ' + redirect + ' بە سەرکەوتوویی جێبەجێ کرا.');
			}
		);
	}
 
	function init(e) {
		e.preventDefault();
		$('<div>' +
			'<div style="width: 40em">داخوازەکانی دروستکردنی ڕەوانەکەر لە دێڕی جیاجیادا بنووسە:</div>' +
			'<textarea style="width: 100%; background-color: white;" placeholder="ڕەوانەکەر١@پەڕەی مەبەست١" id="redirectmakerinput" rows="7"></textarea>' +
			'</div>'
			).dialog({
				modal: true,
				width: 700,
				open: function () {
					$("#redirectmakerinput").before($("<button>", {
						text: "لە@بۆ",
						style: "position: absolute; left: 1em;"
					}).click(function () {
						var value = $("#redirectmakerinput").val().trim();
						if (value !== '') { value = value + '\n'; }
						value = value + "لە@بۆ";
						$("#redirectmakerinput").val(value).focus();
					}))
				},
				buttons: [{
					id: 'redirectmaker-button-import',
					text: 'دروستکردنی ڕەوانەکەر',
					click: function () {
						var formInput = $('#redirectmakerinput').val();
						if (formInput === '') { mw.notify('تکایە فۆرمی داخواز بە جوانی پڕ بکەوە'); return; }
						$.when.apply(null, $.map(formInput.split('\n'), function (x) {
							var req = x.split('@');
							if (req.length !== 2) { return; }
							return startRedirect(req[0], req[1]);
						})).then(function () {
							mw.notify('دروستکردنی ڕەوانەکەر تەواو بوو. تکایە تاوتوێی بکەن.');
							window.location = '/wiki/Special:Contributions/' + mw.config.get('wgUserName');
						});
					}
				}],
				close: function () {
					$(this).remove();
				}
			});
	}
 
	$(function () {
		mw.util.addCSS('#t-redirectmaker { font-weight: normal; }');
		$(mw.util.addPortletLink('p-tb', '#', 'دروستکەری ڕەوانەکەر', 't-redirectmaker', 'دروستکردنی ڕەوانەکەر بە شێوەی خۆگەڕ')).click(init);
	});
}(jQuery, mediaWiki));