مدیاویکی:Gadget-close.js: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
آن نوار پیشرفت به دلیلی خطا میدهد که مشخص نیست. بعداً رویش کار میکنم |
روزآمدسازی بر اساس کاربر:WASP-Outis/close.js |
||
خط ۱: | خط ۱: | ||
/* |
|||
MediaWiki:Gadget-close.js |
|||
*/ |
|||
// <nowiki> |
// <nowiki> |
||
/*global jQuery, mediaWiki */ |
/*global jQuery, mediaWiki */ |
||
(function($, mw) { |
(function($, mw) { |
||
'use strict'; |
'use strict'; |
||
var Dropdown; |
|||
var windowManager; |
var windowManager; |
||
var archiveSection; |
var archiveSection; |
||
خط ۱۰: | خط ۱۴: | ||
install: function() { |
install: function() { |
||
var namespace = mw.config.get("wgNamespaceNumber"); |
var namespace = mw.config.get("wgNamespaceNumber"); |
||
if (namespace === 4 || namespace |
if (namespace === 4 || namespace % 2 === 1) { |
||
if ($('.mw-editsection').length == 0) { |
|||
return false; |
|||
} |
|||
if (mw.config.get("wgPageName") === "ویکیپدیا:نظرخواهی_برای_حذف" | |
|||
mw.config.get("wgPageName") === "ویکیپدیا:آیا_میدانستید_که...؟/پیشنویس" | |
|||
mw.config.get("wgPageName") === "ویکیپدیا:گزیدن_موضوعات_برگزیده") { |
|||
return false; // ابزار را باید در زیرصفحههای نبح استفاده کرد نه در خود نبح |
|||
} |
|||
// افزودن دکمه به بخش آغازین |
// افزودن دکمه به بخش آغازین |
||
if ( |
if ( |
||
!$('.mw-editsection')[0]['innerHTML'].toString().match("ویرایش بخش آغازین") && // mediawiki:gadget-edittop.js is not active |
|||
mw.config.get("wgPageName").substr(0, 28) !== 'ویکیپدیا:نظرخواهی_برای_حذف/' |
|||
) { // نشان ندادن دکمهها در بخش آغازین نبحها برای جلوگیری از ثبت نظر در جای اشتباه |
) { // نشان ندادن دکمهها در بخش آغازین نبحها برای جلوگیری از ثبت نظر در جای اشتباه |
||
var our_content = $("#content, #mw_content").first(); |
var our_content = $("#content, #mw_content").first(); |
||
خط ۴۵: | خط ۴۹: | ||
// افزودن دکمه به زیربخشها |
// افزودن دکمه به زیربخشها |
||
$('.mw-editsection').each(function() { |
$('.mw-editsection').each(function() { |
||
if ($(this).parent('#firstHeading').length > 0) return; |
|||
var section = ''; |
var section = ''; |
||
$(this).find('a').each(function() { |
$(this).find('a').each(function() { |
||
خط ۱۸۶: | خط ۱۹۰: | ||
}, |
}, |
||
createCommentWindow: function(section) { |
createCommentWindow: function(section) { |
||
Dropdown = new OO.ui.DropdownWidget({ |
|||
label: 'پیام', |
|||
menu: { |
|||
items: [ |
|||
new OO.ui.MenuOptionWidget({ |
|||
icon: 'share', |
|||
data: 'info', |
|||
label: 'پیام' |
|||
}), |
|||
new OO.ui.MenuOptionWidget({ |
|||
icon: 'info', |
|||
data: 'Opinion', |
|||
label: 'نظر' |
|||
}), |
|||
new OO.ui.MenuOptionWidget({ |
|||
icon: 'check', |
|||
data: 'done', |
|||
label: 'شد', |
|||
}), |
|||
new OO.ui.MenuOptionWidget({ |
|||
icon: 'close', |
|||
data: 'NOTdone', |
|||
label: 'نشد' |
|||
}), |
|||
new OO.ui.MenuOptionWidget({ |
|||
icon: 'add', |
|||
data: 'agree', |
|||
label: 'موافق' |
|||
}), |
|||
new OO.ui.MenuOptionWidget({ |
|||
icon: 'subtract', |
|||
data: 'contrary', |
|||
label: 'مخالف' |
|||
}), |
|||
new OO.ui.MenuOptionWidget({ |
|||
icon: 'ellipsis', |
|||
data: 'Neutralvote', |
|||
label: 'ممتنع' |
|||
}), |
|||
new OO.ui.MenuOptionWidget({ |
|||
icon: 'strikethrough', |
|||
data: 'remove', |
|||
label: 'حذف شود' |
|||
}), |
|||
new OO.ui.MenuOptionWidget({ |
|||
icon: 'underline', |
|||
data: 'keep', |
|||
label: 'بماند' |
|||
}), |
|||
new OO.ui.MenuOptionWidget({ |
|||
icon: 'referenceExisting', |
|||
data: 'merge', |
|||
label: 'ادغام شود' |
|||
}), |
|||
new OO.ui.MenuOptionWidget({ |
|||
icon: 'help', |
|||
data: 'Q', |
|||
label: 'پرسش' |
|||
}), |
|||
new OO.ui.MenuOptionWidget({ |
|||
icon: 'feedback', |
|||
data: 'A', |
|||
label: 'پاسخ' |
|||
}), |
|||
new OO.ui.MenuOptionWidget({ |
|||
icon: 'heart', |
|||
data: 'like', |
|||
label: 'لایک' |
|||
}), |
|||
new OO.ui.MenuOptionWidget({ |
|||
icon: 'upTriangle', |
|||
data: 'plus1', |
|||
label: '+1' |
|||
}), |
|||
new OO.ui.MenuOptionWidget({ |
|||
icon: 'star', |
|||
data: 'thankyou', |
|||
label: 'سپاسگزارم' |
|||
}) |
|||
] |
|||
} |
|||
}); |
|||
var query = archiveSectionOptions.getQuery(section); |
var query = archiveSectionOptions.getQuery(section); |
||
archiveSectionOptions.currentSectionId = query.section; |
archiveSectionOptions.currentSectionId = query.section; |
||
خط ۱۹۸: | خط ۲۸۵: | ||
var page = data.query.pages[Object.keys(data.query.pages)[0]]; |
var page = data.query.pages[Object.keys(data.query.pages)[0]]; |
||
var current = page.revisions[0]['*']; |
var current = page.revisions[0]['*']; |
||
current=current.replace(/\= \=/gi,'=='); |
current = current.replace(/\= \=/gi, '=='); |
||
current=current.replace(/\=([^\= \n\r]+) *\=/gi,'= $1 ='); |
current = current.replace(/\=([^\= \n\r]+) *\=/gi, '= $1 ='); |
||
current=current.replace(/\={4,}/gi,'=='); |
current = current.replace(/\={4,}/gi, '=='); |
||
if (('\n' + current).split('\n==').length>3){ |
if (('\n' + current).split('\n==').length > 3) { |
||
onlyTopSection=confirm('این بخش، زیربخشهایی هم دارد! برای ارسال متن آیا قسمت بالایی منظورتان است؟\nدکمهٔ Ok = پیام در بخش بالایی قرار گیرد.\nدکمهٔ Cancel = متن در انتها قرار گیرد.') |
onlyTopSection = confirm('این بخش، زیربخشهایی هم دارد! برای ارسال متن آیا قسمت بالایی منظورتان است؟\nدکمهٔ Ok = پیام در بخش بالایی قرار گیرد.\nدکمهٔ Cancel = متن در انتها قرار گیرد.') |
||
if (onlyTopSection){ |
if (onlyTopSection) { |
||
if (!current.match('^\= ')){ |
if (!current.match('^\= ')) { |
||
current=current.split('\n===')[0] |
current = current.split('\n===')[0] |
||
}else{ |
} else { |
||
current=current.split('\n==')[0] |
current = current.split('\n==')[0] |
||
} |
} |
||
} |
} |
||
} |
} |
||
function CommentInSection(config) { |
function CommentInSection(config) { |
||
CommentInSection.super.call(this, config); |
CommentInSection.super.call(this, config); |
||
خط ۲۲۲: | خط ۳۱۰: | ||
flags: 'primary' |
flags: 'primary' |
||
}, { |
}, { |
||
action: 'close', |
|||
label: 'لغو', |
label: 'لغو', |
||
flags: 'safe' |
flags: 'safe' |
||
خط ۲۳۳: | خط ۳۲۲: | ||
}); |
}); |
||
this.content = new OO.ui.FieldsetLayout(); |
this.content = new OO.ui.FieldsetLayout(); |
||
var PingUsers = current.match(/\[\[(?:بحث[_ ]کاربر|[Uu]ser[_ ][tT]alk|کاربر|[Uu]ser)\:([^\]\\\/]+)\|(?:[^\]]+)\]\]/gi) |
var PingUsers = current.match(/\[\[(?:بحث[_ ]کاربر|[Uu]ser[_ ][tT]alk|کاربر|[Uu]ser)\:([^\]\\\/]+)\|(?:[^\]]+)\]\]/gi) |
||
var uniqueNames = []; |
var uniqueNames = []; |
||
خط ۲۴۹: | خط ۳۳۹: | ||
}) |
}) |
||
} |
} |
||
archiveSectionOptions.MultiselectPingUser = new OO.ui.MenuTagMultiselectWidget({ |
archiveSectionOptions.MultiselectPingUser = new OO.ui.MenuTagMultiselectWidget({ |
||
inputPosition: 'outline', |
inputPosition: 'outline', |
||
خط ۲۵۹: | خط ۳۵۰: | ||
value: true, |
value: true, |
||
}); |
}); |
||
archiveSectionOptions.radioComment = new OO.ui.RadioOptionWidget({ |
|||
label: 'پیام', |
|||
}); |
|||
archiveSectionOptions.radioDone = new OO.ui.RadioOptionWidget({ |
|||
label: 'شد', |
|||
}); |
|||
archiveSectionOptions.radioReject = new OO.ui.RadioOptionWidget({ |
|||
label: 'نشد', |
|||
}); |
|||
archiveSectionOptions.radioSupport = new OO.ui.RadioOptionWidget({ |
|||
label: 'موافق', |
|||
}); |
|||
archiveSectionOptions.radioOppose = new OO.ui.RadioOptionWidget({ |
|||
label: 'مخالف', |
|||
}); |
|||
archiveSectionOptions.radioDelete = new OO.ui.RadioOptionWidget({ |
|||
label: 'حذف شود', |
|||
}); |
|||
archiveSectionOptions.radioKeep = new OO.ui.RadioOptionWidget({ |
|||
label: 'بماند', |
|||
}); |
|||
archiveSectionOptions.radioMerge = new OO.ui.RadioOptionWidget({ |
|||
label: 'ادغام شود', |
|||
}); |
|||
fieldset.push(new OO.ui.FieldLayout(archiveSectionOptions.MultiselectPingUser, { |
fieldset.push(new OO.ui.FieldLayout(archiveSectionOptions.MultiselectPingUser, { |
||
label: 'انتخاب کاربران شرکتکننده در بحث برای پاسخ (پینگ)', |
label: 'انتخاب کاربران شرکتکننده در بحث برای پاسخ (پینگ)', |
||
align: 'inline' |
align: 'inline' |
||
})); |
})); |
||
archiveSectionOptions. |
archiveSectionOptions.dropdownCommentType = new OO.ui.DropdownWidget({ |
||
items: [ |
items: [ |
||
archiveSectionOptions. |
archiveSectionOptions.itemComment, |
||
archiveSectionOptions.radioDone, |
|||
archiveSectionOptions.radioReject, |
|||
archiveSectionOptions.radioSupport, |
|||
archiveSectionOptions.radioOppose, |
|||
archiveSectionOptions.radioDelete, |
|||
archiveSectionOptions.radioKeep, |
|||
archiveSectionOptions.radioMerge |
|||
] |
] |
||
}); |
}); |
||
خط ۳۱۸: | خط ۳۷۹: | ||
} |
} |
||
archiveSectionOptions.radioCommentType.selectItem(archiveSectionOptions.radioComment); |
|||
archiveSectionOptions.textComment = new OO.ui.MultilineTextInputWidget({ |
archiveSectionOptions.textComment = new OO.ui.MultilineTextInputWidget({ |
||
placeholder: 'متن نظر را وارد کنید', |
placeholder: 'متن نظر را وارد کنید', |
||
rows: 6, |
rows: 6, |
||
}); |
}); |
||
//archiveSectionOptions.textComment.setRTL(true); |
//archiveSectionOptions.textComment.setRTL(true); |
||
fieldset.push(new OO.ui.FieldLayout(archiveSectionOptions.sameIndent, { |
fieldset.push(new OO.ui.FieldLayout(archiveSectionOptions.sameIndent, { |
||
خط ۳۲۹: | خط ۳۹۰: | ||
align: 'inline', |
align: 'inline', |
||
})); |
})); |
||
fieldset.push(new OO.ui.FieldLayout( |
fieldset.push(new OO.ui.FieldLayout(Dropdown, { |
||
label: 'برچسب قبل از نظر', |
label: 'برچسب قبل از نظر', |
||
align: 'top' |
align: 'top' |
||
خط ۳۳۸: | خط ۳۹۹: | ||
align: 'top' |
align: 'top' |
||
})); |
})); |
||
const bold_btn = new OO.ui.ButtonWidget({ |
|||
framed: false, |
|||
icon: 'bold', |
|||
label: 'bold', |
|||
invisibleLabel: true, |
|||
title: 'bold' |
|||
}); |
|||
const italic_btn = new OO.ui.ButtonWidget({ |
|||
framed: false, |
|||
icon: 'italic', |
|||
label: 'italic', |
|||
invisibleLabel: true, |
|||
title: 'italic' |
|||
}); |
|||
const wikilink_btn = new OO.ui.ButtonWidget({ |
|||
framed: false, |
|||
icon: 'wikiText', |
|||
label: 'wikilink', |
|||
invisibleLabel: true, |
|||
title: 'wikilink' |
|||
}); |
|||
fieldset.push(bold_btn); |
|||
fieldset.push(italic_btn); |
|||
fieldset.push(wikilink_btn); |
|||
bold_btn.on('click', function() { |
|||
var textElement = archiveSectionOptions.textComment.$input[0]; |
|||
insertAtCursor(textElement, "\'\'\'", "\'\'\'"); |
|||
}); |
|||
italic_btn.on('click', function() { |
|||
var textElement = archiveSectionOptions.textComment.$input[0]; |
|||
insertAtCursor(textElement, "\'\'", "\'\'"); |
|||
}); |
|||
wikilink_btn.on('click', function() { |
|||
var textElement = archiveSectionOptions.textComment.$input[0]; |
|||
insertAtCursor(textElement, "[[", "]]"); |
|||
}); |
|||
function insertAtCursor(myField, myValueBefore, myValueAfter) { |
|||
if (document.selection) { |
|||
myField.focus(); |
|||
document.selection.createRange().text = myValueBefore + document.selection.createRange().text + myValueAfter; |
|||
} else if (myField.selectionStart || myField.selectionStart == '0') { |
|||
var startPos = myField.selectionStart; |
|||
var endPos = myField.selectionEnd; |
|||
myField.value = myField.value.substring(0, startPos) + myValueBefore + myField.value.substring(startPos, endPos) + myValueAfter + myField.value.substring(endPos, myField.value.length); |
|||
} |
|||
} |
|||
this.content.addItems(fieldset); |
this.content.addItems(fieldset); |
||
this.panel.$element.append(this.content.$element); |
this.panel.$element.append(this.content.$element); |
||
خط ۳۴۶: | خط ۴۶۵: | ||
if (action === 'comment') { |
if (action === 'comment') { |
||
archiveSectionOptions.doEdit(archiveSectionOptions.currentSectionId, action); |
archiveSectionOptions.doEdit(archiveSectionOptions.currentSectionId, action); |
||
} else if (action === 'close') { |
|||
Dropdown.getMenu().selectItemByData('info'); |
|||
this.close(); |
|||
} |
} |
||
return CommentInSection.super.prototype.getActionProcess.call(this, action); |
return CommentInSection.super.prototype.getActionProcess.call(this, action); |
||
خط ۳۷۷: | خط ۴۹۹: | ||
colonNum = colonNum - 1 |
colonNum = colonNum - 1 |
||
} |
} |
||
}catch(err) {} |
} catch (err) {} |
||
var indentation = ''; |
var indentation = ''; |
||
for (var i = 0; i < colonNum + 1; i++) { |
for (var i = 0; i < colonNum + 1; i++) { |
||
خط ۴۰۲: | خط ۵۲۴: | ||
var section_title = (current.match(/^(=+)[^=]*?(\1)$/m) || [''])[0]; |
var section_title = (current.match(/^(=+)[^=]*?(\1)$/m) || [''])[0]; |
||
section_title = section_title.replace(/\=/g, ''); |
section_title = section_title.replace(/\=/g, ''); |
||
if (!section_title){ |
if (!section_title) { |
||
section_title='بخش آغازین' |
section_title = 'بخش آغازین' |
||
} |
} |
||
var editSummary = '/' + '*' + section_title + '*' + '/ '; |
var editSummary = '/' + '*' + section_title + '*' + '/ '; |
||
خط ۴۲۵: | خط ۵۴۷: | ||
} |
} |
||
var summaryText = ''; |
var summaryText = ''; |
||
var inputText=archiveSectionOptions.textSummary.getValue() |
var inputText = archiveSectionOptions.textSummary.getValue() |
||
if (inputText|| archiveSectionOptions.ActionDone.getValue()) { |
if (inputText || archiveSectionOptions.ActionDone.getValue()) { |
||
if (!inputText){ |
if (!inputText) { |
||
var inputText=''; |
var inputText = ''; |
||
} |
} |
||
if (archiveSectionOptions.ActionDone.getValue()){ |
if (archiveSectionOptions.ActionDone.getValue()) { |
||
if (archiveSectionOptions.switchSuccess.getValue()){ |
if (archiveSectionOptions.switchSuccess.getValue()) { |
||
inputText='{{شد}}'+inputText |
inputText = '{{شد}}' + inputText |
||
}else{ |
} else { |
||
inputText='{{نشد}}'+inputText |
inputText = '{{نشد}}' + inputText |
||
} |
} |
||
} |
} |
||
if (archiveSectionOptions.switchBold.getValue()) { |
if (archiveSectionOptions.switchBold.getValue()) { |
||
summaryText = "'''"+inputText+"'''"; |
summaryText = "'''" + inputText + "'''"; |
||
}else{ |
} else { |
||
summaryText = inputText; |
summaryText = inputText; |
||
} |
} |
||
خط ۴۹۱: | خط ۶۱۳: | ||
PingtxteditSummary = '' |
PingtxteditSummary = '' |
||
} |
} |
||
if (archiveSectionOptions.radioDone.isSelected()) { |
|||
var dropdowndata; |
|||
if (Dropdown.getMenu().findSelectedItem() == null) { |
|||
dropdowndata = 'info'; |
|||
newText = Pingtxt + ''; |
|||
editSummary += 'پیام' + PingtxteditSummary; |
|||
} else if (archiveSectionOptions.radioReject.isSelected()) { |
|||
newText = Pingtxt + '{{نشد}} '; |
|||
editSummary += 'انجام نشد' + PingtxteditSummary; |
|||
} else if (archiveSectionOptions.radioKeep.isSelected()) { |
|||
newText = prefix + Pingtxt + ' {{جا:بماند}} '; |
|||
editSummary += 'ثبت نظر بماند' + PingtxteditSummary; |
|||
} else if (archiveSectionOptions.radioDelete.isSelected()) { |
|||
newText = prefix + Pingtxt + ' {{جا:حذف}} '; |
|||
editSummary += 'ثبت نظر حذف شود' + PingtxteditSummary; |
|||
} else if (archiveSectionOptions.radioMerge.isSelected()) { |
|||
newText = prefix + Pingtxt + ' {{جا:ادغام شود}} '; |
|||
editSummary += 'ثبت نظر ادغام شود' + PingtxteditSummary; |
|||
} else if (archiveSectionOptions.radioSupport.isSelected()) { |
|||
newText = prefix + Pingtxt + ' {{موافق}} '; |
|||
editSummary += 'ثبت نظر موافق' + PingtxteditSummary; |
|||
} else { |
} else { |
||
dropdowndata = Dropdown.getMenu().findSelectedItem().getData().toString(); |
|||
editSummary += 'ثبت نظر مخالف' + PingtxteditSummary; |
|||
} |
} |
||
if (archiveSectionOptions.sameIndent.getValue() && (dropdowndata == 'Q' || dropdowndata == 'A' || dropdowndata == 'like' || dropdowndata == 'plus1' || dropdowndata == 'thankyou')) { |
|||
prefix = '\n'; |
|||
} |
|||
switch (dropdowndata) { |
|||
case 'info': |
|||
newText = Pingtxt + ''; |
|||
editSummary += 'ثبت پیام' + PingtxteditSummary; |
|||
break; |
|||
case 'Opinion': |
|||
newText = prefix + Pingtxt + '{{نظر}} '; |
|||
editSummary += 'ثبت نظر' + PingtxteditSummary; |
|||
break; |
|||
case 'done': |
|||
newText = Pingtxt + '{{شد}} '; |
|||
editSummary += 'انجام شد' + PingtxteditSummary; |
|||
break; |
|||
case 'NOTdone': |
|||
newText = Pingtxt + '{{نشد}} '; |
|||
editSummary += 'انجام نشد' + PingtxteditSummary; |
|||
break; |
|||
case 'agree': |
|||
newText = prefix + Pingtxt + '{{موافق}} '; |
|||
editSummary += 'ثبت نظر موافق' + PingtxteditSummary; |
|||
break; |
|||
case 'contrary': |
|||
newText = prefix + Pingtxt + '{{مخالف}} '; |
|||
editSummary += 'ثبت نظر مخالف' + PingtxteditSummary; |
|||
break; |
|||
case 'Neutralvote': |
|||
newText = prefix + Pingtxt + '{{ممتنع}} '; |
|||
editSummary += 'ثبت نظر ممتنع' + PingtxteditSummary; |
|||
break; |
|||
case 'keep': |
|||
newText = prefix + Pingtxt + '{{بماند}} '; |
|||
editSummary += 'ثبت نظر \'بماند\'' + PingtxteditSummary; |
|||
break; |
|||
case 'remove': |
|||
newText = prefix + Pingtxt + '{{حذف شود}} '; |
|||
editSummary += 'ثبت نظر \'حذف شود\'' + PingtxteditSummary; |
|||
break; |
|||
case 'merge': |
|||
newText = prefix + Pingtxt + '{{ادغام شود}} '; |
|||
editSummary += 'ثبت نظر \'ادغام شود\'' + PingtxteditSummary; |
|||
break; |
|||
case 'Q': |
|||
newText = Pingtxt + '{{پرسش}} '; |
|||
editSummary += 'ثبت پرسش' + PingtxteditSummary; |
|||
break; |
|||
case 'A': |
|||
newText = Pingtxt + '{{پاسخ}} '; |
|||
editSummary += 'ثبت پاسخ' + PingtxteditSummary; |
|||
break; |
|||
case 'like': |
|||
newText = Pingtxt + '{{لایک}} '; |
|||
editSummary += 'ثبت \'لایک\'' + PingtxteditSummary; |
|||
break; |
|||
case 'plus1': |
|||
newText = Pingtxt + '{{+1}} '; |
|||
editSummary += 'ثبت \'+1\'' + PingtxteditSummary; |
|||
break; |
|||
case 'thankyou': |
|||
newText = Pingtxt + '{{سپاس-گل}} '; |
|||
editSummary += 'ثبت سپاسگزاری' + PingtxteditSummary; |
|||
break; |
|||
default: |
|||
} |
|||
newText += archiveSectionOptions.textComment.getValue(); |
newText += archiveSectionOptions.textComment.getValue(); |
||
newText += ' ~~' + '~~'; |
newText += ' ~~' + '~~'; |
||
if (onlyTopSection){ |
if (onlyTopSection) { |
||
if (!current.match('^\= ')) { |
|||
var topCurrent = current.split('\n===')[0] |
|||
} else { |
|||
var topCurrent = current.split('\n==')[0] |
|||
} |
|||
} |
} |
||
if ( |
if (dropdowndata == 'contrary' || |
||
dropdowndata == 'keep' || |
|||
dropdowndata == 'remove' || |
|||
dropdowndata == 'merge' || |
|||
dropdowndata == 'agree' |
|||
if (onlyTopSection){ |
) { |
||
if (onlyTopSection) { |
|||
newText=current.replace(topCurrent,topCurrent+'\n'+newText) |
newText = current.replace(topCurrent, topCurrent + '\n' + newText) |
||
}else{ |
} else { |
||
newText = current + '\n' + newText; |
newText = current + '\n' + newText; |
||
} |
} |
||
} else { |
} else { |
||
if (onlyTopSection){ |
if (onlyTopSection) { |
||
var topCurrentWithIndent = archiveSectionOptions.setIndentation(topCurrent, newText); |
var topCurrentWithIndent = archiveSectionOptions.setIndentation(topCurrent, newText); |
||
newText=current.replace(topCurrent,topCurrentWithIndent) |
newText = current.replace(topCurrent, topCurrentWithIndent) |
||
}else{ |
} else { |
||
newText = archiveSectionOptions.setIndentation(current, newText); |
newText = archiveSectionOptions.setIndentation(current, newText); |
||
} |
} |
نسخهٔ ۲۶ مارس ۲۰۲۴، ساعت ۰۱:۴۰
/*
MediaWiki:Gadget-close.js
*/
// <nowiki>
/*global jQuery, mediaWiki */
(function($, mw) {
'use strict';
var Dropdown;
var windowManager;
var archiveSection;
var commentInSection;
var onlyTopSection;
var archiveSectionOptions = {
install: function() {
var namespace = mw.config.get("wgNamespaceNumber");
if (namespace === 4 || namespace % 2 === 1) {
if ($('.mw-editsection').length == 0) {
return false;
}
if (mw.config.get("wgPageName") === "ویکیپدیا:نظرخواهی_برای_حذف" |
mw.config.get("wgPageName") === "ویکیپدیا:آیا_میدانستید_که...؟/پیشنویس" |
mw.config.get("wgPageName") === "ویکیپدیا:گزیدن_موضوعات_برگزیده") {
return false; // ابزار را باید در زیرصفحههای نبح استفاده کرد نه در خود نبح
}
// افزودن دکمه به بخش آغازین
if (
!$('.mw-editsection')[0]['innerHTML'].toString().match("ویرایش بخش آغازین") && // mediawiki:gadget-edittop.js is not active
mw.config.get("wgPageName").substr(0, 28) !== 'ویکیپدیا:نظرخواهی_برای_حذف/'
) { // نشان ندادن دکمهها در بخش آغازین نبحها برای جلوگیری از ثبت نظر در جای اشتباه
var our_content = $("#content, #mw_content").first();
var span1 = our_content.find("span.mw-editsection:not(.plainlinks)").first();
if (!span1.length) {
return;
}
var span0 = span1.clone();
$("#mw_header h1, #content h1").first().append(span0);
span0.find("a").each(function(idx) {
var a = $(this);
a.attr("title", 'ویرایش بخش آغازین');
if (!/&(ve|)section=T/.test(a.attr("href"))) { // not transcluded
a.attr("href", a.attr("href").replace(/&(ve|)section=\d+/, "&$1section=0&summary=/*%20بخش%20آغازین%20*/%20"));
} else if (/&vesection=/.test(a.attr("href"))) { // transcluded, VE
a.attr("href", mw.util.getUrl(mw.config.get('wgPageName')) + "?veaction=edit&vesection=0&summary=/*%20بخش%20آغازین%20*/%20");
} else { // transcluded, not VE
a.attr("href", mw.util.getUrl(mw.config.get('wgPageName')) + "?action=edit§ion=0&summary=/*%20بخش%20آغازین%20*/%20");
}
});
}
// افزودن دکمه به زیربخشها
$('.mw-editsection').each(function() {
if ($(this).parent('#firstHeading').length > 0) return;
var section = '';
$(this).find('a').each(function() {
var m = $(this).attr('href').match(/section=(\d+)/);
if (m && m.length == 2 && section == '') {
section = $(this).attr('href');
}
});
var span = $('<span>', {
class: 'mw-archivesection'
}).insertAfter(this);
span.append($('<span>', {
class: 'mw-editsection-bracket',
text: '['
}));
span.append($('<a>', {
href: '#',
title: 'ثبت نظر (موافق/مخالف/شد/...)',
style: 'font-size: smaller;',
text: 'ثبت نظر',
}).click(function(e) {
e.preventDefault();
mw.loader.using(['oojs-ui-core', 'oojs-ui-widgets', 'oojs-ui-windows']).done(function() {
archiveSectionOptions.createCommentWindow(section);
});
}));
span.append($('<span>', {
class: '',
text: ' / '
}));
span.append($('<a>', {
href: '#',
title: 'جمعبندی این بخش',
style: 'font-size: smaller;',
text: 'جمعبندی',
}).click(function(e) {
e.preventDefault();
mw.loader.using(['oojs-ui-core', 'oojs-ui-widgets', 'oojs-ui-windows']).done(function() {
archiveSectionOptions.createArchiveWindow(section);
});
}));
span.append($('<span>', {
class: 'mw-editsection-bracket',
text: ']'
}));
// Late pre-loading
mw.loader.load(['oojs-ui-core', 'oojs-ui-widgets', 'oojs-ui-windows']);
});
}
},
createArchiveWindow: function(section) {
var query = archiveSectionOptions.getQuery(section);
archiveSectionOptions.currentSectionId = query.section;
function ArchiveSection(config) {
ArchiveSection.super.call(this, config);
}
OO.inheritClass(ArchiveSection, OO.ui.ProcessDialog);
ArchiveSection.static.name = 'archive';
ArchiveSection.static.title = 'جمعبندی بخش';
ArchiveSection.static.actions = [{
action: 'archive',
label: 'جمعبندی',
flags: 'primary'
}, {
label: 'لغو',
flags: 'safe'
}];
ArchiveSection.prototype.initialize = function() {
var fieldset = [];
ArchiveSection.super.prototype.initialize.apply(this, arguments);
this.panel = new OO.ui.PanelLayout({
padded: true,
expanded: false
});
this.content = new OO.ui.FieldsetLayout();
archiveSectionOptions.switchTop = new OO.ui.ToggleSwitchWidget({
label: 'جمعبندی بالای متن باشد',
value: false,
});
archiveSectionOptions.switchSuccess = new OO.ui.ToggleSwitchWidget({
label: 'بحث در رسیدن به اجماع موفق بود',
value: true,
});
archiveSectionOptions.ActionDone = new OO.ui.ToggleSwitchWidget({
label: 'افزودن {{شد}} یا {{نشد}} به پایین بحث، بر پایهٔ موفق بودن یا نبودن',
value: false,
});
archiveSectionOptions.switchBold = new OO.ui.ToggleSwitchWidget({
label: 'متن جمعبندی ضخیم نمایش داده شود',
value: false,
});
archiveSectionOptions.textSummary = new OO.ui.MultilineTextInputWidget({
placeholder: 'متن جمعبندی را وارد کنید',
rows: 6,
});
//archiveSectionOptions.textSummary.setRTL(true);
fieldset.push(new OO.ui.FieldLayout(archiveSectionOptions.switchTop, {
label: 'جمعبندی بالای متن باشد',
align: 'inline',
}));
fieldset.push(new OO.ui.FieldLayout(archiveSectionOptions.switchSuccess, {
label: 'بحث در رسیدن به اجماع موفق بود',
align: 'inline',
}));
fieldset.push(new OO.ui.FieldLayout(archiveSectionOptions.ActionDone, {
label: 'افزودن {{شد}} یا {{نشد}} به پایین بحث، بر پایهٔ موفق بودن یا نبودن',
align: 'inline',
}));
fieldset.push(new OO.ui.FieldLayout(archiveSectionOptions.switchBold, {
label: 'متن جمعبندی ضخیم نمایش داده شود',
align: 'inline',
}));
fieldset.push(new OO.ui.FieldLayout(archiveSectionOptions.textSummary, {
label: 'جمعبندی:',
align: 'top'
}));
this.content.addItems(fieldset);
this.panel.$element.append(this.content.$element);
this.$body.append(this.panel.$element);
};
ArchiveSection.prototype.getActionProcess = function(action) {
var dialog = this;
if (action === 'archive') {
archiveSectionOptions.doEdit(archiveSectionOptions.currentSectionId, action);
}
return ArchiveSection.super.prototype.getActionProcess.call(this, action);
};
if (!windowManager) {
windowManager = new OO.ui.WindowManager();
$('body').append(windowManager.$element);
}
if (!archiveSection) {
archiveSection = new ArchiveSection({
size: 'medium'
});
windowManager.addWindows([archiveSection]);
}
windowManager.openWindow(archiveSection);
},
createCommentWindow: function(section) {
Dropdown = new OO.ui.DropdownWidget({
label: 'پیام',
menu: {
items: [
new OO.ui.MenuOptionWidget({
icon: 'share',
data: 'info',
label: 'پیام'
}),
new OO.ui.MenuOptionWidget({
icon: 'info',
data: 'Opinion',
label: 'نظر'
}),
new OO.ui.MenuOptionWidget({
icon: 'check',
data: 'done',
label: 'شد',
}),
new OO.ui.MenuOptionWidget({
icon: 'close',
data: 'NOTdone',
label: 'نشد'
}),
new OO.ui.MenuOptionWidget({
icon: 'add',
data: 'agree',
label: 'موافق'
}),
new OO.ui.MenuOptionWidget({
icon: 'subtract',
data: 'contrary',
label: 'مخالف'
}),
new OO.ui.MenuOptionWidget({
icon: 'ellipsis',
data: 'Neutralvote',
label: 'ممتنع'
}),
new OO.ui.MenuOptionWidget({
icon: 'strikethrough',
data: 'remove',
label: 'حذف شود'
}),
new OO.ui.MenuOptionWidget({
icon: 'underline',
data: 'keep',
label: 'بماند'
}),
new OO.ui.MenuOptionWidget({
icon: 'referenceExisting',
data: 'merge',
label: 'ادغام شود'
}),
new OO.ui.MenuOptionWidget({
icon: 'help',
data: 'Q',
label: 'پرسش'
}),
new OO.ui.MenuOptionWidget({
icon: 'feedback',
data: 'A',
label: 'پاسخ'
}),
new OO.ui.MenuOptionWidget({
icon: 'heart',
data: 'like',
label: 'لایک'
}),
new OO.ui.MenuOptionWidget({
icon: 'upTriangle',
data: 'plus1',
label: '+1'
}),
new OO.ui.MenuOptionWidget({
icon: 'star',
data: 'thankyou',
label: 'سپاسگزارم'
})
]
}
});
var query = archiveSectionOptions.getQuery(section);
archiveSectionOptions.currentSectionId = query.section;
(new mw.Api()).get({
format: 'json',
action: 'query',
titles: mw.config.get("wgPageName"),
rvsection: query.section,
prop: 'revisions',
rvprop: 'content',
}).then(function(data) {
var page = data.query.pages[Object.keys(data.query.pages)[0]];
var current = page.revisions[0]['*'];
current = current.replace(/\= \=/gi, '==');
current = current.replace(/\=([^\= \n\r]+) *\=/gi, '= $1 =');
current = current.replace(/\={4,}/gi, '==');
if (('\n' + current).split('\n==').length > 3) {
onlyTopSection = confirm('این بخش، زیربخشهایی هم دارد! برای ارسال متن آیا قسمت بالایی منظورتان است؟\nدکمهٔ Ok = پیام در بخش بالایی قرار گیرد.\nدکمهٔ Cancel = متن در انتها قرار گیرد.')
if (onlyTopSection) {
if (!current.match('^\= ')) {
current = current.split('\n===')[0]
} else {
current = current.split('\n==')[0]
}
}
}
function CommentInSection(config) {
CommentInSection.super.call(this, config);
}
OO.inheritClass(CommentInSection, OO.ui.ProcessDialog);
CommentInSection.static.name = 'comment';
CommentInSection.static.title = 'ثبت نظر';
CommentInSection.static.actions = [{
action: 'comment',
label: 'ثبت نظر',
flags: 'primary'
}, {
action: 'close',
label: 'لغو',
flags: 'safe'
}];
CommentInSection.prototype.initialize = function() {
var fieldset = [];
CommentInSection.super.prototype.initialize.apply(this, arguments);
this.panel = new OO.ui.PanelLayout({
padded: true,
expanded: false
});
this.content = new OO.ui.FieldsetLayout();
var PingUsers = current.match(/\[\[(?:بحث[_ ]کاربر|[Uu]ser[_ ][tT]alk|کاربر|[Uu]ser)\:([^\]\\\/]+)\|(?:[^\]]+)\]\]/gi)
var uniqueNames = [];
$.each(PingUsers, function(i, el) {
var username = el.split('|')[0].split('/')[0].split('#')[0].split(':')[1];
if ($.inArray(username, uniqueNames) === -1 && username != mw.config.get('wgUserName')) {
uniqueNames.push(username);
}
});
var finallList = []
var i;
for (i = 0; i < uniqueNames.length; i++) {
finallList.push({
data: uniqueNames[i],
lable: 'کاربر:' + uniqueNames[i]
})
}
archiveSectionOptions.MultiselectPingUser = new OO.ui.MenuTagMultiselectWidget({
inputPosition: 'outline',
options: finallList,
placeholder: 'از اینجا نام کاربری که قصد پاسخ دارید، انتخاب کنید یا ابتدای نامش را بنویسید',
selected: []
});
archiveSectionOptions.sameIndent = new OO.ui.ToggleSwitchWidget({
label: 'پاسخ همدندانه',
value: true,
});
fieldset.push(new OO.ui.FieldLayout(archiveSectionOptions.MultiselectPingUser, {
label: 'انتخاب کاربران شرکتکننده در بحث برای پاسخ (پینگ)',
align: 'inline'
}));
archiveSectionOptions.dropdownCommentType = new OO.ui.DropdownWidget({
items: [
archiveSectionOptions.itemComment,
]
});
archiveSectionOptions.editButton = new OO.ui.ButtonWidget({
label: 'ابرابزار',
flags: [
'primary',
'progressive'
]
});
if (persianWikiTools) {
archiveSectionOptions.editButton.on('click', function() {
archiveSectionOptions.textComment.setValue(persianWikiTools.superTool(archiveSectionOptions.textComment.getValue()).trim())
});
} else {
archiveSectionOptions.editButton.setDisabled(true)
}
archiveSectionOptions.textComment = new OO.ui.MultilineTextInputWidget({
placeholder: 'متن نظر را وارد کنید',
rows: 6,
});
//archiveSectionOptions.textComment.setRTL(true);
fieldset.push(new OO.ui.FieldLayout(archiveSectionOptions.sameIndent, {
label: 'پاسخ به نفر قبلی (یک دندانه متن جلوتر برود)',
align: 'inline',
}));
fieldset.push(new OO.ui.FieldLayout(Dropdown, {
label: 'برچسب قبل از نظر',
align: 'top'
}));
fieldset.push(new OO.ui.FieldLayout(archiveSectionOptions.editButton));
fieldset.push(new OO.ui.FieldLayout(archiveSectionOptions.textComment, {
label: 'متن نظر:',
align: 'top'
}));
const bold_btn = new OO.ui.ButtonWidget({
framed: false,
icon: 'bold',
label: 'bold',
invisibleLabel: true,
title: 'bold'
});
const italic_btn = new OO.ui.ButtonWidget({
framed: false,
icon: 'italic',
label: 'italic',
invisibleLabel: true,
title: 'italic'
});
const wikilink_btn = new OO.ui.ButtonWidget({
framed: false,
icon: 'wikiText',
label: 'wikilink',
invisibleLabel: true,
title: 'wikilink'
});
fieldset.push(bold_btn);
fieldset.push(italic_btn);
fieldset.push(wikilink_btn);
bold_btn.on('click', function() {
var textElement = archiveSectionOptions.textComment.$input[0];
insertAtCursor(textElement, "\'\'\'", "\'\'\'");
});
italic_btn.on('click', function() {
var textElement = archiveSectionOptions.textComment.$input[0];
insertAtCursor(textElement, "\'\'", "\'\'");
});
wikilink_btn.on('click', function() {
var textElement = archiveSectionOptions.textComment.$input[0];
insertAtCursor(textElement, "[[", "]]");
});
function insertAtCursor(myField, myValueBefore, myValueAfter) {
if (document.selection) {
myField.focus();
document.selection.createRange().text = myValueBefore + document.selection.createRange().text + myValueAfter;
} else if (myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos) + myValueBefore + myField.value.substring(startPos, endPos) + myValueAfter + myField.value.substring(endPos, myField.value.length);
}
}
this.content.addItems(fieldset);
this.panel.$element.append(this.content.$element);
this.$body.append(this.panel.$element);
};
CommentInSection.prototype.getActionProcess = function(action) {
var dialog = this;
if (action === 'comment') {
archiveSectionOptions.doEdit(archiveSectionOptions.currentSectionId, action);
} else if (action === 'close') {
Dropdown.getMenu().selectItemByData('info');
this.close();
}
return CommentInSection.super.prototype.getActionProcess.call(this, action);
};
if (!windowManager) {
windowManager = new OO.ui.WindowManager();
$('body').append(windowManager.$element);
}
if (!commentInSection) {
commentInSection = new CommentInSection({
size: 'medium'
});
windowManager.addWindows([commentInSection]);
}
windowManager.openWindow(commentInSection);
});
},
getQuery: function(section) {
var query = new mw.Uri(section).query;
return query;
},
setIndentation: function(text, newText) {
text = text.replace(/\r/g, '')
var lines = text.split('\n');
var lastline = lines[lines.length - 1];
var colons = lastline.match('^([\#\*]?)(\:*)')
var colonNum = colons[2].length;
var colonType = colons[1];
try {
if (!archiveSectionOptions.sameIndent.getValue()) {
colonNum = colonNum - 1
}
} catch (err) {}
var indentation = '';
for (var i = 0; i < colonNum + 1; i++) {
indentation += ':';
}
text = text + '\n' + colonType + indentation + newText.trim().replace(/\n/ig, '\n' + colonType + indentation).trim();
return text
},
doEdit: function(sectionId, action) {
(new mw.Api()).get({
format: 'json',
action: 'query',
titles: mw.config.get("wgPageName"),
rvsection: sectionId,
prop: 'revisions',
rvprop: 'content',
}).then(function(data) {
var page = data.query.pages[Object.keys(data.query.pages)[0]];
var current = page.revisions[0]['*'];
var header = current.substr(0, current.indexOf('\n'));
var content = current.substr(current.indexOf('\n') + 1);
var newText = '';
var pingtxt = '';
var section_title = (current.match(/^(=+)[^=]*?(\1)$/m) || [''])[0];
section_title = section_title.replace(/\=/g, '');
if (!section_title) {
section_title = 'بخش آغازین'
}
var editSummary = '/' + '*' + section_title + '*' + '/ ';
if (action == 'archive') {
editSummary += 'جمعبندی: ';
editSummary += archiveSectionOptions.textSummary.getValue();
newText = header + '\n';
// Per Special:Diff/18468612
if (mw.config.get("wgPageName") == "ویکیپدیا:درخواست_انتقال" || mw.config.get("wgPageName") == "ویکیپدیا:درخواست_ادغام_تاریخچه") {
if (archiveSectionOptions.switchSuccess.getValue()) {
content = content.replace(/\{\{وضعیت\|?\}\}/, '{{وضعیت|شد}}');
} else {
content = content.replace(/\{\{وضعیت\|?\}\}/, '{{وضعیت|نشد}}');
}
}
newText += '{{بسته|برچسب زمان={{subst:' + 'CURRENTTIMESTAMP}}';
if (archiveSectionOptions.switchSuccess.getValue()) {
newText += '}}\n';
} else {
newText += '|ناموفق=بله}}\n';
}
var summaryText = '';
var inputText = archiveSectionOptions.textSummary.getValue()
if (inputText || archiveSectionOptions.ActionDone.getValue()) {
if (!inputText) {
var inputText = '';
}
if (archiveSectionOptions.ActionDone.getValue()) {
if (archiveSectionOptions.switchSuccess.getValue()) {
inputText = '{{شد}}' + inputText
} else {
inputText = '{{نشد}}' + inputText
}
}
if (archiveSectionOptions.switchBold.getValue()) {
summaryText = "'''" + inputText + "'''";
} else {
summaryText = inputText;
}
summaryText += ' ~~' + '~~\n';
}
if (!archiveSectionOptions.switchTop.getValue()) {
if (inputText) {
newText = archiveSectionOptions.setIndentation(newText + content, summaryText);
} else {
newText = newText + content;
}
if (newText.indexOf('{{بسته') > -1) newText += '\n{{پایان بسته}}';
} else {
if (inputText) {
newText += ':' + summaryText;
}
newText += content;
if (newText.indexOf('{{بسته') > -1) newText += '\n{{پایان بسته}}';
}
return (new mw.Api()).post({
format: 'json',
action: 'edit',
title: mw.config.get("wgPageName"),
section: sectionId,
summary: editSummary,
text: newText,
token: mw.user.tokens.get('csrfToken')
});
} else {
var currentTxt = current.replace('\r', '')
var prefix = '';
if (currentTxt.search('\n*') > 0) {
prefix = '* ';
} else if (currentTxt.search('\n#') > 0) {
prefix = '# ';
} else {
prefix = '* ';
}
if (archiveSectionOptions.MultiselectPingUser.getValue()) {
var userlist = archiveSectionOptions.MultiselectPingUser.getValue()
var Pingtxt = '{{پینگ|' + userlist.join('|') + '}}'
var userTalkPage = mw.config.get("wgTitle")
Pingtxt = Pingtxt.replace('|' + userTalkPage + '}}', '|}}').replace('|' + userTalkPage + '|', '|')
var PingtxteditSummary = ' + پاسخ به کاربر:' + Pingtxt.replace('{{پینگ|', '').replace('}}', '').trim().replace(/\|/g, '، ')
} else {
var Pingtxt = ''
}
if (Pingtxt == '{{پینگ|}}') {
Pingtxt = ''
PingtxteditSummary = ''
}
var dropdowndata;
if (Dropdown.getMenu().findSelectedItem() == null) {
dropdowndata = 'info';
} else {
dropdowndata = Dropdown.getMenu().findSelectedItem().getData().toString();
}
if (archiveSectionOptions.sameIndent.getValue() && (dropdowndata == 'Q' || dropdowndata == 'A' || dropdowndata == 'like' || dropdowndata == 'plus1' || dropdowndata == 'thankyou')) {
prefix = '\n';
}
switch (dropdowndata) {
case 'info':
newText = Pingtxt + '';
editSummary += 'ثبت پیام' + PingtxteditSummary;
break;
case 'Opinion':
newText = prefix + Pingtxt + '{{نظر}} ';
editSummary += 'ثبت نظر' + PingtxteditSummary;
break;
case 'done':
newText = Pingtxt + '{{شد}} ';
editSummary += 'انجام شد' + PingtxteditSummary;
break;
case 'NOTdone':
newText = Pingtxt + '{{نشد}} ';
editSummary += 'انجام نشد' + PingtxteditSummary;
break;
case 'agree':
newText = prefix + Pingtxt + '{{موافق}} ';
editSummary += 'ثبت نظر موافق' + PingtxteditSummary;
break;
case 'contrary':
newText = prefix + Pingtxt + '{{مخالف}} ';
editSummary += 'ثبت نظر مخالف' + PingtxteditSummary;
break;
case 'Neutralvote':
newText = prefix + Pingtxt + '{{ممتنع}} ';
editSummary += 'ثبت نظر ممتنع' + PingtxteditSummary;
break;
case 'keep':
newText = prefix + Pingtxt + '{{بماند}} ';
editSummary += 'ثبت نظر \'بماند\'' + PingtxteditSummary;
break;
case 'remove':
newText = prefix + Pingtxt + '{{حذف شود}} ';
editSummary += 'ثبت نظر \'حذف شود\'' + PingtxteditSummary;
break;
case 'merge':
newText = prefix + Pingtxt + '{{ادغام شود}} ';
editSummary += 'ثبت نظر \'ادغام شود\'' + PingtxteditSummary;
break;
case 'Q':
newText = Pingtxt + '{{پرسش}} ';
editSummary += 'ثبت پرسش' + PingtxteditSummary;
break;
case 'A':
newText = Pingtxt + '{{پاسخ}} ';
editSummary += 'ثبت پاسخ' + PingtxteditSummary;
break;
case 'like':
newText = Pingtxt + '{{لایک}} ';
editSummary += 'ثبت \'لایک\'' + PingtxteditSummary;
break;
case 'plus1':
newText = Pingtxt + '{{+1}} ';
editSummary += 'ثبت \'+1\'' + PingtxteditSummary;
break;
case 'thankyou':
newText = Pingtxt + '{{سپاس-گل}} ';
editSummary += 'ثبت سپاسگزاری' + PingtxteditSummary;
break;
default:
}
newText += archiveSectionOptions.textComment.getValue();
newText += ' ~~' + '~~';
if (onlyTopSection) {
if (!current.match('^\= ')) {
var topCurrent = current.split('\n===')[0]
} else {
var topCurrent = current.split('\n==')[0]
}
}
if (dropdowndata == 'contrary' ||
dropdowndata == 'keep' ||
dropdowndata == 'remove' ||
dropdowndata == 'merge' ||
dropdowndata == 'agree'
) {
if (onlyTopSection) {
newText = current.replace(topCurrent, topCurrent + '\n' + newText)
} else {
newText = current + '\n' + newText;
}
} else {
if (onlyTopSection) {
var topCurrentWithIndent = archiveSectionOptions.setIndentation(topCurrent, newText);
newText = current.replace(topCurrent, topCurrentWithIndent)
} else {
newText = archiveSectionOptions.setIndentation(current, newText);
}
}
return (new mw.Api()).post({
format: 'json',
action: 'edit',
title: mw.config.get("wgPageName"),
section: sectionId,
summary: editSummary,
text: newText,
token: mw.user.tokens.get('csrfToken')
});
}
}).then(function() {
if (action == 'archive') {
mw.notify('در حال ثبت جمعبندی شما ...');
} else {
mw.notify('در حال ثبت نظر شما ...');
}
if (sectionId == 0) {
sectionId = 1
}
location.hash = $('.mw-headline')[sectionId - 1].id;
location.reload(true);
}, function(error) {
mw.notify('ثبت نظر یا جمعبندی ناموفق بود: ' + error, {
type: 'error'
});
})
},
currentSectionId: -1,
};
if (mw.config.get('wgNamespaceNumber') >= 0) {
$(archiveSectionOptions.install);
}
})(jQuery, mediaWiki);
// </nowiki>