Kontent qismiga oʻtish

MediaWiki:Gadget-Adiutor-CSD.js

Vikipediya, ochiq ensiklopediya

Eʼtibor bering: Oʻzgartirishlaringizni koʻrish uchun, yangi moslamalaringizning saqlashdan keyin, brauzer keshini tozalash kerak:
Mozilla / Firefox: Ctrl+Shift+R, IE: Ctrl+F5, Safari: Cmd+Shift+R, Konqueror: F5, Opera: Tools → Preferences orqali keshni tozalang.

/* 
 * Adiutor: A gadget to assist various user actions
 * Author: Vikipolimer
 * Licencing and attribution: [[:tr:VP:Adiutor#Lisanslama ve atıf]]
 * Module: Create speed deletion
/* <nowiki> */
$.when(mw.loader.using(["mediawiki.user", "oojs-ui-core", "oojs-ui-windows", ]), $.ready).then(function() {
	var mwConfig = mw.config.get(["wgAction", "wgPageName", "wgTitle", "wgUserGroups", "wgUserName", "wgCanonicalNamespace", "wgNamespaceNumber"]);
	var revDelCount = 0;
	var CopVioURL;
	var api = new mw.Api();
	api.get({
		action: 'query',
		list: 'logevents',
		leaction: 'delete/delete',
		letprop: 'delete',
		letitle: mwConfig.wgPageName
	}).done(function(data) {
		if(data.query.logevents) {
			revDelCount = data.query.logevents.length;
		} else {
			revDelCount = 0;
		}
		var csdSendMessageToCreator = localStorage.getItem("csdSendMessageToCreator") == "true";
		// Example: A process dialog that uses an action set with modes.
		// Subclass ProcessDialog.
		function ProcessDialog(config) {
			ProcessDialog.super.call(this, config);
		}
		OO.inheritClass(ProcessDialog, OO.ui.ProcessDialog);
		// Specify a name for .addWindows()
		ProcessDialog.static.name = 'myDialog';
		// Specify a title and an action set that uses modes ('edit' and 'help' mode, in this example).
		ProcessDialog.static.title = 'Tezda oʻchirishga nomzod sifatida koʻrsatish';
		ProcessDialog.static.actions = [{
			action: 'continue',
			modes: 'edit',
			label: 'Bajarish',
			flags: ['primary', 'progressive']
		}, {
			action: 'help',
			modes: 'edit',
			label: 'Yordam'
		}, {
			modes: 'edit',
			label: 'Tezda oʻchirish mezonlari',
			framed: false,
			rel: 'test'
		}, {
			modes: 'edit',
			label: 'Oʻchirish mezonlari',
			framed: false,
		}, {
			modes: 'edit',
			label: 'Yopish',
			flags: ['safe', 'close']
		}, {
			action: 'back',
			modes: 'help',
			label: 'Orqaga',
			flags: ['safe', 'back']
		}];
		// Customize the initialize() method to add content and set up event handlers. 
		// This example uses a stack layout with two panels: one displayed for 
		// edit mode and one for help mode.
		ProcessDialog.prototype.initialize = function() {
			ProcessDialog.super.prototype.initialize.apply(this, arguments);
			switch(mwConfig.wgNamespaceNumber) {
				case 0:
					NameSpaceDeletionReasons = new OO.ui.FieldsetLayout({
						label: 'Maqola'
					});
					NameSpaceDeletionReasons.addItems([
						new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'M1',
							data: '[[VP:M1|M1]]: Ensiklopedik boʻlmagan qisqa maqola',
							selected: false
						}), {
							label: 'M1: Ensiklopedik boʻlmagan qisqa maqola',
							align: 'inline',
							help: 'Masalan: „Anvarning qizil rangli mashinasi bor“.'
						}),
						new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'M2',
							data: '[[VP:M2|M2]]: Butkul oʻzbekcha boʻlmagan maqola',
							selected: false
						}), {
							label: 'M2: Butkul oʻzbekcha boʻlmagan maqola',
							align: 'inline',
							help: 'Butkul oʻzbekcha boʻlmagan maqolalar, agar ular yaqin orada tarjima qilinmasa.'
						}),
						new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'M3',
							data: '[[VP:M3|M3]]: Faqatgina ishoratlardan iborat maqola',
							selected: false
						}), {
							label: 'M3: Faqatgina ishoratlardan iborat maqola',
							align: 'inline',
							help: 'Bu matnsiz boʻlgan va faqat turkumlar, tashqi ishoratlardan iborat maqolalarga nisbatan qoʻllaniladi.'
						}),
						new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'M4',
							data: '[[VP:M4|M4]]: Boshqa Vikimedia loyihalaridan koʻchirib olib oʻtilgan maqola',
							selected: false
						}), {
							label: 'M4: Boshqa Vikimedia loyihalaridan koʻchirib olib oʻtilgan maqola',
							align: 'inline',
							help: 'Masalan, boshqa Vikimedia loyihalaridagi (Vikilugʻat, Vikimanba va hk.) sahifalar matnini koʻchirib qoʻyish.'
						}),
						new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'M6',
							data: '[[VP:M6|M6]]: Keng ommaga mashhur boʻlmagan kishilar, tashkilotlar, veb-saytlar, hodisalar haqidagi maqola',
							selected: false
						}), {
							label: 'M6: Keng ommaga mashhur boʻlmagan kishilar, tashkilotlar, veb-saytlar, hodisalar haqidagi maqola',
							align: 'inline',
							help: 'Masalan: „Eshmat Toshmatov — universitet 1-kurs talabasi, 1990-yilda tugʻilgan“ va hk. Agarda maqola muallifi unda taʼriflangan obyektni mashhur, deb iddao etsa, munozara sahifasida bu iddaoni izohlashi shart.'
						}),
						new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'M8',
							data: '[[VP:M8|M8]]: Avvaldan mavjud maqolaning nusxasi boʻlgan maqola',
							selected: false
						}), {
							label: 'M8: Yaqinda yaratilgan, ammo ilgaridan mavjud maqolaning nusxasi boʻlgan maqola',
							align: 'inline',
							help: ''
						}),

					]);
					break;
				case 6:
					NameSpaceDeletionReasons = new OO.ui.FieldsetLayout({
						label: 'Fayl'
					});
					NameSpaceDeletionReasons.addItems([
						new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'F1',
							data: '[[VP:TOʻM#F1|F1]]:  Litsenziyasi nomaʼlum fayl',
							selected: false
						}), {
							label: 'F1: Litsenziyasi nomaʼlum fayl',
							align: 'inline'
						}),
						new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'F2',
							data: '[[VP:TOʻM#F2|F2]]: Birorta sahifada foydalanilinmagan noerkin fayl',
							selected: false
						}), {
							label: 'F2: Birorta sahifada foydalanilinmagan noerkin fayl',
							align: 'inline'
						}),
						new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'F3',
							data: '[[VP:TOʻM#F3|F3]]: Foydalanish asosi keltirilinmagan noerkin fayl',
							selected: false
						}), {
							label: 'F3: Foydalanish asosi keltirilinmagan noerkin fayl',
							align: 'inline'
						}),
						new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'F4',
							data: '[[VP:TOʻM#F4|F4]]: [[Vikiombor]]da mavjud fayl',
							selected: false
						}), {
							label: 'F4: Vikiomborda mavjud fayl',
							align: 'inline'
						}),
					]);
					break;
				case 14:
					NameSpaceDeletionReasons = new OO.ui.FieldsetLayout({
						label: 'Turkum'
					});
					NameSpaceDeletionReasons.addItems([
						new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'T1',
							data: '[[VP:TOʻM#T1|T1]]: Boʻsh turkum',
							selected: false
						}), {
							label: 'T1: Boʻsh turkum',
							align: 'inline'
						}),
						new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'T2',
							data: '[[VP:TOʻM#T2|T2]]: Nomi imlo xatosi bilan yozilgan turkum',
							selected: false
						}), {
							label: 'T2: Nomi imlo xatosi bilan yozilgan turkum',
							align: 'inline'
						}),
					]);
					break;
				case 2:
				case 3:
					NameSpaceDeletionReasons = new OO.ui.FieldsetLayout({
						label: 'Foydalanuvchi sahifasi'
					});
					NameSpaceDeletionReasons.addItems([
						new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'FS1',
							data: '[[VP:TOʻM#FS1|FS1]]: Foydalanuvchi iltimosi bilan',
							selected: false
						}), {
							label: 'FS1: Foydalanuvchi iltimosi bilan',
							align: 'inline'
						}),						

                        new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'FS2',
							data: '[[VP:TOʻM#FS1|FS2]]: Mavjud boʻlmagan foydalanuvchi uchun yaratilgan sahifa',
							selected: false
						}), {
							label: 'FS2: Mavjud boʻlmagan foydalanuvchi uchun yaratilgan sahifa',
							align: 'inline'
						}),

						new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'FS3',
							data: '[[VP:TOʻM#FS1|FS3]]: Anonim foydalanuvchilar sahifasi va ularning munozara sahifalari',
							selected: false
						}), {
							label: 'FS3: Anonim foydalanuvchilar sahifasi va ularning munozara sahifalari',
							align: 'inline'
						}),
					]);
					break;
				case 10:
					NameSpaceDeletionReasons = new OO.ui.FieldsetLayout({
						label: 'Andozalar'
					});
					NameSpaceDeletionReasons.addItems([
						new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'Ş1',
							data: '[[VP:TOʻM#A1|A1]]: Buzuq yoki keraksiz andoza',
							selected: false
						}), {
							label: 'A1: Buzuq yoki keraksiz andoza',
							align: 'inline'
						}),
						new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'A2',
							data: '[[VP:TOʻM#A2|A2]]: Birorta sahifada ishlatilinmagan andoza',
							selected: false
						}), {
							label: 'A2: Birorta sahifada ishlatilinmagan andoza',
							align: 'inline'
						}),
					]);
					break;
				case 100:
					NameSpaceDeletionReasons = new OO.ui.FieldsetLayout({
						label: 'Portallar'
					});
					NameSpaceDeletionReasons.addItems([
						new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
							value: 'P1',
							data: '[[VP:TOʻM#P1|P1]]: TOʻMning [[VP:MTOʻM|maqolalar uchun moʻljallangan mezonlariga]] zid boʻlgan portal sahifasi',
							selected: false
						}), {
							label: 'P1: TOʻMning maqolalar uchun moʻljallangan mezonlariga zid boʻlgan portal sahifasi',
							align: 'inline'
						}),
					]);
					break;
				default:
					NameSpaceDeletionReasons = new OO.ui.FieldsetLayout({});
					NameSpaceDeletionReasons.addItems([
						new OO.ui.FieldLayout(new OO.ui.MessageWidget({
							type: 'warning',
							inline: true,
							label: new OO.ui.HtmlSnippet('<strong>Ushbu nomfazo uchun tegishli andozalar yoʻq.</strong><br><small>Iltimos, oʻng tomonda berilgan sabablardan birini tanlang.</small><br><hr><br>')
						})),
					]);
					break;
			}
			GeneralReasons = new OO.ui.FieldsetLayout({
				label: 'Umumiy mezonlar'
			});
			GeneralReasons.addItems([
				new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
					value: 'U1',
					data: '[[VP:U1|U1]]: Maʼnosiz',
					selected: false
				}), {
					label: 'U1: Maʼnosiz',
					align: 'inline',
					help: 'Maʼnosiz, yaʼni tayinli maʼlumot bermaydigan, tushunarsiz belgilar ketma-ketligi (masalan, „asdafbs bsnmgbasg s ADADFAF agbcxbxcb“ kabilar).'
				}),
				new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
					value: 'U2',
					data: '[[VP:U2|U2]]: Test sahifa',
					selected: false
				}), {
					label: 'U2: Test sahifa',
					align: 'inline',
					help: 'Vikipediyaning texnik imkoniyatlarini sinash uchun yaratilgan sahifa, buning uchun maxsus moʻljallangan sahifalar bundan mustasno.'
				}),
				new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
					value: 'U3',
					data: '[[VP:U3|U3]]: [[VP:Vandalizm|Vandalizm]]',
					selected: false
				}), {
					label: 'U3: Vandalizm',
					align: 'inline',
					help: 'Shu jumladan aniq yolgʻon, shuningdek vandalizm oqibatlarini bartaraf etish paytida yaratilgan vaqtinchalik yoʻnaltirishlar.'
				}),
				new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
					value: 'U4',
					data: '[[VP:U4|U4]]: Avval oʻchirilgan sahifani asossiz tiklangan nusxasi',
					selected: false
				}), {
					label: 'U4: Avval oʻchirilgan sahifani asossiz tiklangan nusxasi',
					align: 'inline',
					help: 'Ushbu mezon munozara asosida avval oʻchirilgan sahifaning asossiz tiklangan nusxalariga nisbatan qoʻllaniladi.'
				}),
				new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
					value: 'U5',
					data: '[[VP:U5|U5]]: Bloklangan foydalanuvchi tomonidan yaratilgan sahifa',
					selected: false
				}), {
					label: 'U5: Bloklangan foydalanuvchilar tomonidan yaratilgan sahifa',
					align: 'inline',
					help: 'Ushbu mezon bloklangan foydalanuvchilar tomonidan yaratilgan sahifalarga nisbatan qoʻllaniladi.'
				}),
				new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
					value: 'U6',
					data: '[[VP:U6|U6]]: Sahifa muallifi istagi bilan',
					selected: false
				}), {
					label: 'U6: Sahifa muallifi istagi bilan',
					align: 'inline',
					help: 'Ushbu mezon biror sahifani uni yaratgan foydalanuvchi (yaʼni, shu sahifa muallif) oʻchirilishini ilimos qilgan hollarga nisbatan qoʻllaniladi (bunda, sahifa shu muallif tomonidan yozilgan boʻlishi va oʻchirish sababi koʻrsatilishi lozim).'
				}),
				new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
					value: 'U7',
					data: '[[VP:U7|U7]]: Koʻchirish imkoniyatini yaratish uchun',
					selected: false
				}), {
					label: 'U7: Koʻchirish imkoniyatini yaratish uchun',
					align: 'inline',
					help: 'Sahifani koʻchirish yoki tahrirlar tarixini birlashtirish uchun. Ushbu amal eʼtiroz uygʻotmasligi yoki oldindan kelishuv asosida qilinishi lozim.'
				}),
				new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
					value: 'U8',
					data: '[[VP:U8|U8]]: Mavjud boʻlmagan yoki oʻchirilgan sahifaga bogʻliq sahifa',
					selected: false
				}), {
					label: 'U8: Mavjud boʻlmagan yoki oʻchirilgan sahifaga bogʻliq sahifa',
					align: 'inline',
					help: 'Misollar: Tegishli mavzu sahifasi boʻlmagan munozara sahifalari, asosiy sahifasi boʻlmagan ostsahifalar, mavjud boʻlmagan sahifalarga yoʻnaltirish qoldirilgan yoʻnaltiruvchi sahifalar'
				}),
				copyVioField = new OO.ui.FieldLayout(copyVioInput = new OO.ui.TextInputWidget({
					placeholder: 'Mualliflik huquqlari yaqqol buzilgan sahifa',
					value: '',
					data: 'COV',
					classes: ['adiutor-copvio-input'],
				}), {
					label: 'URL-manzil',
					align: 'inline',
					classes: ['adiutor-copvio-container'],
				}),
				new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
					value: 'U9',
					data: '[[VP:U9|U9]]: Kamsituvchi va shundan boshqa maqsadlarga xizmat qilmaydigan sahifa',
					selected: false
				}), {
					label: 'U9: Kamsituvchi va shundan boshqa maqsadlarga xizmat qilmaydigan sahifa',
					align: 'inline',
					help: 'Ushbu mezon boʻhton, tahdid, taʼqib yoki qoʻrqitish uchun moʻljallangan materiallarni oʻz ichiga olgan sahifalarga nisbatan qoʻllaniladi.'
				}),
				new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
					value: 'U10',
					data: '[[VP:U10|U10]]: Reklama',
					selected: false
				}), {
					label: 'U10: Reklama',
					align: 'inline',
					help: 'Bu faqat reklama uchun moʻljallangan sahifalarga taalluqli hisoblanadi. Agar mavzu diqqatga sazovor boʻlsa va kontentni neytral (betaraf) nuqtai nazardan yozilgan matn bilan almashtirish imkoni mavjud boʻlsa, bu sahifani saqlash oʻchirishdan koʻra afzaldir (albatta, qayta tahrirlansa).'
				}),
				new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
					value: 'U11',
					data: '[[VP:U11|U11]]: Mualliflik huquqlarining yaqqol buzilishi',
					selected: false
				}), {
					label: 'U11: Mualliflik huquqlarining yaqqol buzilishi',
					align: 'inline',
					help: 'Bu mualliflik huquqlari bilan himoyalangan materialni biror-bir veb-saytdan hech qanday oʻzgartirishsiz matn koʻchirib qoʻyilgan hollarda, erkin litsenziyasiz, saqlashga arzigulik kontent boʻlmagan matnli sahifalarga nisbatan qoʻllaniladi.'
				}),
			]);
			copyVioField.$element.hide();
			copyVioInput.$element.hide();
			isCopyVio = false;
			GeneralReasons.$element.on('click', function(item) {
				if(item.target.value === 'G9') {
					copyVioField.$element.show();
					copyVioInput.$element.show();
				}
			});
			//copyVioInput.on('change', function() {
			//    console.log(copyVioInput.value);
			//});
			DeletionOptions = new OO.ui.FieldsetLayout({
				label: 'Boshqa opsiyalar'
			});
			DeletionOptions.addItems([
				new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
					selected: false,
					value: 'recreationProrection'
				}), {
					label: 'Yaratishga qarshi himoya oʻrnatishga soʻrov qoldirilsin',
					help: 'Bunda sahifaga {{salt}} andozasi qoʻshiladi. Soʻngra, administrator sahifani koʻrib chiqib, lozim boʻlsa, sahifani yaratishga qarshi himoya oʻrnatadi. Shunda, tegishli huquqlarga ega boʻlmagan foydalanuvchilar shunday nomli sahifa yarata olishmaydi.',
					align: 'inline'
				}),
				new OO.ui.FieldLayout(new OO.ui.CheckboxInputWidget({
					selected: csdSendMessageToCreator,
					value: 'informCreator'
				}), {
					label: 'Sahifa yaratuvchisi ogohlantirilsin',
					help: 'Bunda sahifani yaratgan foydalanuvchi uning munozara sahifasiga tegishli andoza qoʻshilishi orqali bu haqda, yaʼni sahifasi tezda oʻchirishga nomzod sifatida koʻrsatilgani haqida ogohlantiriladi.',
					align: 'inline'
				})
			]);
			HeaderBar = new OO.ui.MessageWidget({
				type: 'notice',
				inline: true,
				label: new OO.ui.HtmlSnippet('<strong>Nega ushbu sahifani tezda oʻchirishga nomzod deb koʻrsatmoqchisiz?</strong><br><small>Iltimos, quyida keltirilgan sabablardan birini tanlang.</small>')
			});
			var left_panel = new OO.ui.PanelLayout({
				$content: [NameSpaceDeletionReasons.$element, DeletionOptions.$element],
				classes: ['one'],
				scrollable: false,
			});
			var right_panel = new OO.ui.PanelLayout({
				$content: GeneralReasons.$element,
				classes: ['two'],
				scrollable: false,
			});
			var stack = new OO.ui.StackLayout({
				items: [left_panel, right_panel],
				continuous: true,
				classes: ['adiutor-csd-modal-container']
			});
			this.panel1 = new OO.ui.PanelLayout({
				padded: true,
				expanded: false
			});
			if(revDelCount >= "1") {
				HeaderBarRevDel = new OO.ui.MessageWidget({
					type: 'warning',
					label: new OO.ui.HtmlSnippet('Bu sahifa shu kungacha ' + revDelCount + ' marta oʻchirilgan! (<a href="/w/index.php?title=Special:Log&page=' + mwConfig.wgPageName + '&type=delete">qaydlar</a>)')
				});
				this.panel1.$element.append(HeaderBar.$element, '<hr><br>', HeaderBarRevDel.$element, '<br>', stack.$element);
			} else {
				this.panel1.$element.append(HeaderBar.$element, '<hr><br>', stack.$element);
			}
			this.panel2 = new OO.ui.PanelLayout({
				padded: true,
				expanded: false
			});
			this.panel2.$element.append('<p><strong>Adiutor</strong> foydalanuvchilarga qulaylik tugʻdirish maqsadida ishlab chiqilgan gadjetdir.</p><h2>Litsenziya</h2><p> Creative Commons Attribution-ShareAlike 3.0 Unported License (CC BY-SA 3.0) https://creativecommons.org/licenses/by-sa/3.0/ va GNU Free Documentation License (GFDL) http://www.gnu.org/copyleft/fdl.html.</p>');
			this.stackLayout = new OO.ui.StackLayout({
				items: [this.panel1, this.panel2]
			});
			this.$body.append(this.stackLayout.$element);
		};
		// Set up the initial mode of the window ('edit', in this example.)  
		ProcessDialog.prototype.getSetupProcess = function(data) {
			return ProcessDialog.super.prototype.getSetupProcess.call(this, data).next(function() {
				this.actions.setMode('edit');
			}, this);
		};
		// Use the getActionProcess() method to set the modes and displayed item.
		ProcessDialog.prototype.getActionProcess = function(action) {
			if(action === 'help') {
				// Set the mode to help.
				this.actions.setMode('help');
				// Show the help panel.
				this.stackLayout.setItem(this.panel2);
			} else if(action === 'back') {
				// Set the mode to edit.
				this.actions.setMode('edit');
				// Show the edit panel.
				this.stackLayout.setItem(this.panel1);
			} else if(action === 'continue') {
				var dialog = this;
				return new OO.ui.Process(function() {
					var CSDReason;
					var CSDSummary;
					var CSDReasons = [];
					var CSDOptions = [];
					NameSpaceDeletionReasons.items.forEach(function(Reason) {
						if(Reason.fieldWidget.selected) {
							CSDReasons.push({
								value: Reason.fieldWidget.value,
								data: Reason.fieldWidget.data,
								selected: Reason.fieldWidget.selected
							});
						}
					});
					GeneralReasons.items.forEach(function(Reason) {
						if(Reason.fieldWidget.selected) {
							CSDReasons.push({
								value: Reason.fieldWidget.value,
								data: Reason.fieldWidget.data,
								selected: Reason.fieldWidget.selected
							});
						}
					});
					var SaltCSDSummary = '';
					if(copyVioInput.value != "") {
						CopVioURL = '|url=' + copyVioInput.value;
					} else {
						CopVioURL = "";
					}
					if(CSDReasons.length > 1) {
						var SaltCSDReason = '{{tezda oʻchirishga|';
						var i = 0;
						var keys = Object.keys(CSDReasons);
						for(i = 0; i < keys.length; i++) {
							if(i > 0) SaltCSDReason += (i < keys.length - 1) ? ', ' : ' va ';
							SaltCSDReason += '[[VP:TOʻM#' + CSDReasons[keys[i]].value + ']]';
						}
						for(i = 0; i < keys.length; i++) {
							if(i > 0) SaltCSDSummary += (i < keys.length - 1) ? ', ' : ' va ';
							SaltCSDSummary += '[[VP:TOʻM#' + CSDReasons[keys[i]].value + ']]';
						}
						CSDReason = SaltCSDReason + CopVioURL + '}}';
						CSDSummary = 'Sahifa TOʻMning ' + SaltCSDSummary + ' bandiga binoan tezda oʻchirishga nomzod sifatida koʻrsatildi.';
					} else {
						CSDReason = '{{tezda oʻchirishga|' + CSDReasons[0].data + CopVioURL + '}}';
						CSDSummary = 'Sahifa TOʻMning ' + CSDReasons[0].data + ' bandiga binoan tezda oʻchirishga nomzod sifatida koʻrsatildi.';
						SaltCSDSummary = CSDReasons[0].data;
					}
					// 
					DeletionOptions.items.forEach(function(Option) {
						if(Option.fieldWidget.selected) {
							CSDOptions.push({
								value: Option.fieldWidget.value,
								selected: Option.fieldWidget.selected
							});
						}
					});
					CSDOptions.forEach(function(Option) {
						if(Option.value === "recreationProrection") {
							CSDReason = CSDReason + "\n" + '{{Salt}}';
						}
						if(Option.value === "informCreator") {
							getCreator().then(function(data) {
								var Author = data.query.pages[mw.config.get('wgArticleId')].revisions[0].user;
								if(!mw.util.isIPAddress(Author)) {
									var message = '{{subst:db-notice|1=' + mwConfig.wgPageName.replace(/_/g, " ") + '|2=' + SaltCSDSummary + '}}';
									sendMessageToAuthor(Author, message);
								}
							});
						}
					});
					putCSDTemplate(CSDReason, CSDSummary);
					showProgress();
					dialog.close();
				});
			}
			return ProcessDialog.super.prototype.getActionProcess.call(this, action);
		};
		// Get dialog height.
		ProcessDialog.prototype.getBodyHeight = function() {
			return this.panel1.$element.outerHeight(true);
		};
		// Create and append the window manager.
		var windowManager = new OO.ui.WindowManager();
		$(document.body).append(windowManager.$element);
		// Create a new dialog window.
		var processDialog = new ProcessDialog({
			size: 'larger'
		});
		// Add windows to window manager using the addWindows() method.
		windowManager.addWindows([processDialog]);
		// Open the window.
		windowManager.openWindow(processDialog);

		function putCSDTemplate(CSDReason, CSDSummary) {
			api.postWithToken('csrf', {
				action: 'edit',
				title: mwConfig.wgPageName,
				prependtext: CSDReason + "\n",
				summary: CSDSummary,
				tags: 'Adiutor',
				format: 'json'
			}).done(function() {
				location.reload();
			});
		}

		function getCreator() {
			return api.get({
				action: 'query',
				prop: 'revisions',
				rvlimit: 1,
				rvprop: ['user'],
				rvdir: 'newer',
				titles: mwConfig.wgPageName
			});
		}

		function sendMessageToAuthor(Author, message) {
			api.postWithToken('csrf', {
				action: 'edit',
				title: 'Foydalanuvchi_munozarasi:' + Author,
				appendtext: '\n' + message,
				summary: '[[' + mwConfig.wgPageName.replace(/_/g, " ") + ']]' + ' sahifasi tezda oʻchirishga nomzod sifatida koʻrsatildi',
				tags: 'Adiutor',
				format: 'json'
			}).done(function() {});
		}

		function showProgress() {
			var processStartedDialog = new OO.ui.MessageDialog();
			var progressBar = new OO.ui.ProgressBarWidget();
			var windowManager = new OO.ui.WindowManager();
			$(document.body).append(windowManager.$element);
			windowManager.addWindows([processStartedDialog]);
			windowManager.openWindow(processStartedDialog, {
				title: 'Bajarilmoqda…',
				message: progressBar.$element
			});
		}
	});
});
/* </nowiki> */