/**
* Программа для облегчения выполнения рутинных операций Подводящими Итоги [[Википедия:Статус подводящего итоги]].
* Текущая версия создаёт дополнительную вкладку в панели редактора и позволяет быстро добавлять итоговые шаблоны в позицию, в которой находится курсор, а также заменять Шаблон:К удалению на Шаблон:Sdd.
* Для подключения:
* 1. Войдите в свой Special:MyPage/common.js (вставьте в строку поиска).
* 2. Добавьте новсую строку: importScript("Участник:Krassotkin/itogo.js");
* 3. Сохраните и очистите кеш браузера, как указано на странице [[Википедия:Кеш#Чистить/актуализировать кэш браузера]].
*
* Предложения, пожелания, сообщения об ошибках и т.п. направляйте на страницу обсуждения или википочту [[Участник:Krassotkin]].
*
* См. также:
* [[Википедия:Инструменты подведения итогов]]
*
* Версии (в обратном порядке; первая в списке - текущая): [[Участник:Krassotkin/itogo.20181207.js]], [[Участник:Krassotkin/itogo.2010082000.js]], [[Участник:Krassotkin/itogo.2010081900.js]].
*/
// Внесение изменений
function change(t, s) {
var sum = document.getElementById("wpSummary");
if(sum) {sum.value = sum.value+s;}
$('#wpTextbox1').textSelection('encapsulateSelection', {'peri':t});
}
// Функция замены Шаблон:К удалению на Шаблон:Sdd
function placeSdd() {
var txt = document.getElementById("wpTextbox1");
if (!txt) return;
var regexp = /\{\{К[_ ]удалению\|([0-9]{4}(-[0-9]{2}){2})\}\}/;
if (txt.value.search(regexp) < 0) return;
txt.value = txt.value.replace(regexp, '\{\{subst:sdd|$1\}\}');
addSum("Страница удалена по итогам обсуждения.");
var minorcb = document.getElementById("wpMinoredit");
if (minorcb && minorcb.checked) {minorcb.checked = false;}
var reviewcb = document.getElementById("wpReviewEdit");
if (reviewcb && !reviewcb.checked) {reviewcb.checked = true;}
}
/**
* Подключение функций к панели инструментов
*/
function itogo() {
// To add a toolbar section:
$("#wpTextbox1").wikiEditor(
"addToToolbar", {
"sections": {
"itogoPanel": {
"type": "toolbar",
"label": "Итоги"
}
}
}
);
$("#wpTextbox1").wikiEditor(
"addToToolbar", {
"section": "itogoPanel",
"groups": {
"templatesItogoPanel": {
"label": "Вариант итога:"
}
}
}
);
$("#wpTextbox1").wikiEditor(
"addToToolbar", {
"section": "itogoPanel",
"group": "templatesItogoPanel",
"tools": {
"itogoPanelSelectTemplate": {
label: "Выберите из списка",
type: "select",
list: {
"itogoPanel-selectTemplate-keep" : {
label: "Оставлено",
action: {
type: "callback",
execute: function() {
change("\n\n=== Итог ===\n"+"["+"[Файл:Pictogram voting keep-light-green.svg|15px|X|link=]] '''<u>Оставлено</u>.''' Причина. ~"+"~"+"~"+"~ \n\n"
+ "<small>''Итог подведён на правах [[Википедия:Статус подводящего итоги|подводящего итоги]].''</small>",
" Итог: Оставлено.");
}
}
},
"itogoPanel-selectTemplate-deleted" : {
label: "Удалено",
action: {
type: "callback",
execute: function() {
change("\n=== Итог ===\n"+"["+"[Файл:Pictogram voting delete.svg|15px|X|link=]] '''<u>Удалено</u>.''' Причина. ~"+"~"+"~"+"~ \n\n"
+"<small>''Итог подведён на правах [[Википедия:Статус подводящего итоги|подводящего итоги]].''</small>",
" Итог: Удалено.");
}
}
},
"itogoPanel-selectTemplate-free-keep" : {
label: "Предварительный итог: Оставить",
action: {
type: "callback",
execute: function() {change("\n=== Предварительный итог ===\nПричина. ~"+"~"+"~"+"~ \n", " Предварительный итог: Оставить.");}
}
},
"itogoPanel-selectTemplate-free-delete" : {
label: "Предварительный итог: Удалить",
action: {
type: "callback",
execute: function() {change("\n=== Предварительный итог ===\nПричина. ~"+"~"+"~"+"~ \n", " Предварительный итог: Удалить.");}
}
},
"itogoPanel-selectTemplate-auto-result" : {
label: "Автоитог",
action: {
type: "callback",
execute: function() {change("\n=== Автоитог ===\nПричина. ~"+"~"+"~"+"~ \n", " Автоитог: .");}
}
}
}
}
}
}
);
$('#wpTextbox1').wikiEditor(
"addToToolbar", {
"section": "itogoPanel",
"groups": {
"buttonsItogoPanel": {
"label": ""
}
}
}
);
$("#wpTextbox1").wikiEditor(
"addToToolbar", {
"section": "itogoPanel",
"group": "buttonsItogoPanel",
"tools": {
"sign": {
label: "Подпись подводящего итоги",
type: "button",
icon: "//upload.wikimedia.org/wikipedia/commons/7/7b/Tilde_button.PNG",
action: {type:"encapsulate", options: {pre: "[[ВП:СПИ|Подводящий итоги]] ~"+"~"+"~"+"~\n"}}
}
}
}
);
$("#wpTextbox1").wikiEditor(
"addToToolbar", {
"section": "itogoPanel",
"group": "buttonsItogoPanel",
"tools": {
"btnDbDisc": {
label: "Удаление по результатам обсуждения",
type: "button",
icon: "//upload.wikimedia.org/wikipedia/commons/a/a2/TrFlameButton.png",
action: {type:"callback", execute:placeSdd}
}
}
}
);
$("#wpTextbox1").wikiEditor(
"addToToolbar", {
"section": "itogoPanel",
"groups": {
"templatesDiscussionItogoPanel": {
"label": "Информация об итоге:"
}
}
}
);
$("#wpTextbox1").wikiEditor(
"addToToolbar", {
"section": "itogoPanel",
"group": "templatesDiscussionItogoPanel",
"tools": {
"itogoPanelSelectDiscussionTemplate": {
label: "Выберите из списка",
type: "select",
list: {
"itogoPanel-selectDiscussionTemplate-keep1" : {
label: "Оставлено|dd mmmmm yyyy",
action: {
type: "callback",
execute: function() {change("{"+"{Оставлено|}}\n", "Оставлено по результатам обсуждения.");}
}
},
"itogoPanel-selectDiscussionTemplate-keep2" : {
label: "Оставлено|dd mmmmm yyyy|dd mmmmm yyyy",
action: {
type: "callback",
execute: function() {change("{"+"{Оставлено||}}\n", "Оставлено по результатам обсуждения.");}
}
},
"itogoPanel-selectDiscussionTemplate-keep3" : {
label: "Изменено|dd mmmmm yyyy",
action: {
type: "callback",
execute: function() {change("{"+"{Изменено|}}\n", "Изменено");}
}
},
"itogoPanel-selectDiscussionTemplate-keep-remove" : {
label: "Снято с удаления|dd mmmmm yyyy",
action: {
type: "callback",
execute: function() {change("{"+"{Снято с удаления|}}\n", "Снято с удаления.");}
}
}
}
}
}
}
);
} // function itogo()
/* Check edit mode, required modules and load */
if($.inArray(mw.config.get("wgAction"), ["edit", "submit"]) !== -1) {
mw.loader.using("user.options", function() {
if(mw.user.options.get("usebetatoolbar") == 1) {
$.when(mw.loader.using("ext.wikiEditor"), $.ready).then(itogo);
}
});
}