Qeyd: Dəyişiklikləri yayımladıqdan sonra etdiyiniz dəyişikliklərin görünməsi üçün brauzerinizin keşinin təmizlənməsi lazım ola bilər.

  • Firefox / Safari: Reload düyməsinə basılı tutarkən Shift düyməsinə basın, və ya Ctrl+F5 və ya Ctrl+R (Mac üçün ⌘-R )
  • Google Chrome: Ctrl-Shift-R (Mac üçün ⌘-Shift-R)
  • Edge: Ctrl düyməsini basılı tutarkən Refresh düyməsinə basın, və ya sadəcə Ctrl+F5.
// ADM – Addəyişmə müraciətləri üçün qadcet
// Müəllif: Vikipolimer @trwiki; Toghrul R @azwiki

/* <nowiki> */
$(function() {
    mw.loader.using(['mediawiki.api', 'mediawiki.widgets', 'mediawiki.util', 'oojs-ui-core', 'oojs-ui-windows']).then(function() {
        var api = new mw.Api();
        var requestPageTitle = 'Vikipediya:Addəyişmə_müraciətləri';
        var currentTitleInput, newTitleInput, reasonInput, reasonPreview;

	function MoveRequestDialog(config) {
		MoveRequestDialog.super.call(this, config);
	}
	OO.inheritClass(MoveRequestDialog, OO.ui.ProcessDialog);
	MoveRequestDialog.static.name = 'MoveRequestDialog';
	MoveRequestDialog.static.title = 'ADM – Addəyişmə müraciəti';
	MoveRequestDialog.static.actions = [{
		action: 'save',
		label: 'Təqdim et',
		flags: ['primary', 'progressive']
	}, {
		label: 'İmtina',
		flags: 'safe'
	}];
	MoveRequestDialog.prototype.initialize = function() {
		MoveRequestDialog.super.prototype.initialize.apply(this, arguments);
		var headerTitle = new OO.ui.MessageWidget({
			type: 'notice',
			inline: true,
			label: new OO.ui.HtmlSnippet('<small>Aşağıdakı formanı dolduraraq səhifənin adının dəyişdirilməsi üçün müraciət edə bilərsiniz.<br>Başlıqlarda daxili keçidlər yerləşdirməyə və şərhinizin sonuna imza əlavə etməyə ehtiyac yoxdur.</small>')
		});
		currentTitleInput = new OO.ui.TextInputWidget({
			'showMissing': false,
			'required': true,
			'placeholder': 'Səhifənin hazırkı adını daxil edin',
		});
		newTitleInput = new OO.ui.TextInputWidget({
			'showMissing': false,
			'required': true,
			'placeholder': 'Səhifənin yeni adını daxil edin',
		});
		reasonInput = new OO.ui.MultilineTextInputWidget({
			'placeholder': 'Adın dəyişdirilməsi üçün səbəbi qeyd edin',
			'required': true
		});
		reasonPreview = new OO.ui.LabelWidget();
		var fieldset = new OO.ui.FieldsetLayout();
		fieldset.addItems([
			new OO.ui.FieldLayout(currentTitleInput, { 'label': 'Səhifənin hazırkı adı:', align: 'top' }),
			new OO.ui.FieldLayout(newTitleInput, { 'label': 'Səhifənin yeni adı:', align: 'top' }),
			new OO.ui.FieldLayout(reasonInput, { 'label': 'Addəyişməyə səbəb:', align: 'top' }),
		]);
		this.content = new OO.ui.PanelLayout({
			padded: true,
			expanded: false
		});
		this.content.$element.append(headerTitle.$element, '<br><hr><br>', fieldset.$element);
		this.$body.append(this.content.$element);
	};
	MoveRequestDialog.prototype.getActionProcess = function(action) {
	    var dialog = this;
	    if(action) {
	        return new OO.ui.Process(function() {
	        	var currentPageTitle = currentTitleInput.getValue().replace(/\[\[|\]\]/g, '');
				var newPageTitle = newTitleInput.getValue().replace(/\[\[|\]\]/g, '');

				if (!currentTitleInput.getValue()) {
					mw.notify('Səhifənin hazırkı adı qeyd edilməlidir!', { type: 'error' });
					return;
				}
				if (!newTitleInput.getValue()) {
					mw.notify('Səhifənin yeni adı qeyd edilməlidir!', { type: 'error' });
					return;
				}
				if (!reasonInput.getValue()) {
					mw.notify('Səbəb göstərilməlidir!', { type: 'error' });
					return;
				}
				var currentTitle = currentTitleInput.getValue();
				var newTitle = newTitleInput.getValue();

				if (!currentTitle.includes('[[')) {
					currentTitle = '[[:' + currentTitle + ']]';
				}
				if (!newTitle.includes('[[')) {
					newTitle = '[[:' + newTitle + ']]';
				}

				var reason = reasonInput.getValue();
				    if (!reason.includes('~')) {
				        reason += ' ~~~~';
				    } else {
				        reason = reason.replace(/~{1,5}/g, '~~~~');
				    }
	            
					api.get({
						action: 'parse',
						prop: 'wikitext',
						page: currentPageTitle,
						format: 'json'
					}).then(function(data) {
						var content = data.parse.wikitext['*'];
						var updatedContent = '{{Addəyişmə təklifi|:' + newPageTitle + '|Vikipediya:Addəyişmə_müraciətləri#' + currentPageTitle + ' → ' + newPageTitle + '}}\n' + content;
						var reason = reasonInput.getValue();
						if (!reason.includes('~')) {
							reason += ' ~~~~';
						} else {
							reason = reason.replace(/~{1,5}/g, '~~~~');
						}
		
						api.postWithToken('csrf', {
							action: 'edit',
							title: currentPageTitle,
							text: updatedContent,
							summary: 'Səhifənin adının dəyişdirilməsi təklif edilir. Ətraflı: [[Vikipediya:Addəyişmə müraciətləri#' + currentPageTitle + ' → ' + newPageTitle + ']]'
						}).then(function() {
							api.postWithToken('csrf', {
							action: 'edit',
							title: requestPageTitle,
							appendtext: "\n" + '{{subst:Vikipediya:Addəyişmə müraciətləri/Yeni müraciət |1= ' + currentPageTitle + ' |2= ' + newPageTitle + '|3= ' + reason + ' }}' + "\n",
	                        summary: 'Yeni müraciət əlavə edildi: ' + currentTitle + ' → ' + newTitle
							}).then(function() {
								window.location.href = mw.util.getUrl(requestPageTitle);
							});
						});
					});
	
	            dialog.close({ action: action });
	            mw.notify('Müraciətiniz uğurla əlavə edildi! Zəhmət olmasa, gözləyin.', { type: 'success' });
	        });
	    }
	    return MoveRequestDialog.super.prototype.getActionProcess.call(this, action);
	};
	var windowManager = new OO.ui.WindowManager();
	$(document.body).append(windowManager.$element);
	var dialog = new MoveRequestDialog();
	windowManager.addWindows([dialog]);
	windowManager.openWindow(dialog);
    });
});
/* </nowiki> */