Участник:Krassotkin/itogo.2010081900.js

Материал из Википедии — свободной энциклопедии
/**
 * Программа для облегчения выполнения рутинных операций Подводящими Итоги [[Википедия:Статус подводящего итоги]].
 * Текущая версия создаёт дополнительную вкладку в панели редактора и позволяет быстро добавлять итоговые шаблоны в позицию, в которой находится курсор, а также заменять Шаблон:К удалению на Шаблон:Sdd. 
 * Для подключения:
 * 1. Войдите в свой [[Special:MyPage/skin.js|пользовательский JS файл]].
 * 2. Добавьте строку: importScript("Участник:Krassotkin/itogo.js");
 * 3. Сохраните и [[Википедия:Кеш#Чистить/актуализировать кэш браузера|очистите кеш браузера]].
 * 
 * Предложения, пожелания, сообщения об ошибках и т.п. направляйте на страницу обсуждения или википочту [[Участник:Krassotkin]].
 *
 * Данная программа создана при участии следующих участников:
 * [[Участник:TenBaseT]] - кнопки и программы для старого редактора ([[Участник:TenBaseT/spi-button.js]]).
 * [[Участник:DerLetzteRegenbogen]] - кнопка и программа замены Шаблон:К удалению на Шаблон:Sdd ([[Участник:DerLetzteRegenbogen/db-discussion.js]]).
 * [[Участник:JenVan]] - кнопка подписи ([[commons:File:Tilde button.PNG]]).
 * а также других, принимавших участие в тестировании и обсуждении.
 * 
 * См. также:
 * [[Википедия:Инструменты подведения итогов]]
 */

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\}\}');
 var sum = document.getElementById('wpSummary');
 if (sum) sum.value = "Страница удалена по итогам обсуждения.";
 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 spibutton() {
 if (typeof mwCustomEditButtons !== 'undefined') {
  mwCustomEditButtons[mwCustomEditButtons.length] = {
   "imageFile": "http://upload.wikimedia.org/wikipedia/commons/6/66/Button-spi.png",
   "speedTip": "Подводящий итоги",
   "tagOpen": "--",
   "tagClose": "[[ВП:СПИ|Подводящий итоги]] ~~\~~",
   "sampleText": ""
  };       
 }
}
 
function keptbutton() {
 if (typeof mwCustomEditButtons !== 'undefined') {
  mwCustomEditButtons[mwCustomEditButtons.length] = {
   "imageFile": "http://upload.wikimedia.org/wikipedia/commons/9/9d/Button_fait.png",
   "speedTip": "Итог : оставлено",
   "tagOpen": "=== Итог ===\n[[Файл:Pictogram voting keep-light-green.svg|15px]]&nbsp;'''<u>Оставлено</u>'''&nbsp;\n",
   "tagClose": "\n~~\~~<br/><small>''Итог подведён на правах [[Википедия:Статус подводящего итоги|подводящего итоги]].''</small>",
   "sampleText": ""
  };       
 }
}
 
function deletedbutton() {
 if (typeof mwCustomEditButtons !== 'undefined') {
  mwCustomEditButtons[mwCustomEditButtons.length] = {
   "imageFile": "http://upload.wikimedia.org/wikipedia/commons/e/e4/Bouton_Vandale3.png",
   "speedTip": "Итог : удалено",
   "tagOpen": "=== Итог ===\n[[Файл:Pictogram voting delete.svg|15px|X|link=]]&nbsp;'''<u>Удалено</u>'''&nbsp;\n",
   "tagClose": "\n~~\~~<br/><small>''Итог подведён на правах [[Википедия:Статус подводящего итоги|подводящего итоги]].''</small>",
   "sampleText": ""
  };       
 }
}

function placeFlameButton() {
 if (!document.getElementById("toolbar")) return;
 if(typeof addFuncBtn == "undefined") {
  addFuncBtn = function(id, func, img, title){
   var i=document.createElement('img'); 
   i.className='mw-toolbar-custombutton'; i.id=id;
   i.onclick=func; i.src=wgImg(img); i.title=title; i.alt=title.substr(0,3);
   document.getElementById("toolbar").appendChild(i);
  };
 }
 addFuncBtn("btnPlaceFlame", placeSdd, "http://upload.wikimedia.org/wikipedia/commons/1/1c/Button_flamme.png", "Удаление по результатам обсуждения");
}

function itogo() {
 // Check that the toolbar is available
 if(typeof $ != "undefined" && typeof $.fn.wikiEditor!="undefined") {
  // Execute on load
  $(document).ready( 
   function() { 
    // To add a toolbar section:
    $("#wpTextbox1").wikiEditor( 
     "addToToolbar", {
      "sections": {
       "itogoPanel": {
        "type": "toolbar",
        "label": "Итоги"
       }
      }
     } 
    );
 
    // To add a group to an existing toolbar section:
    $("#wpTextbox1").wikiEditor( 
     "addToToolbar", {
      "section": "itogoPanel",
      "groups": {
       "templatesItogoPanel": {
        "label": "Вариант итога:"
       }
      }
     } 
    );

    // To add a select list to an existing toolbar group:
    $("#wpTextbox1").wikiEditor( 
     "addToToolbar", {
      "section": "itogoPanel",
      "group": "templatesItogoPanel",
      "tools": {
       "itogoPanelSelectTemplate": {
        label: "Выберите из списка",
        type: "select",
        list: {
         "itogoPanel-selectTemplate-deleted" :  {
          label: "Удалено",
          action: {type:"encapsulate", options: {pre: "\n\n=== Итог ===\n"+"["+"[Файл:Pictogram voting delete.svg|15px|X|link=]]&nbsp;'''<u>Удалено</u>''' Причина. ~"+"~"+"~"+"~ \n"+"<small>''Итог подведён на правах [[Википедия:Статус подводящего итоги|подводящего итоги]].''</small>"}}
         },
         "itogoPanel-selectTemplate-keep" : {
          label: "Оставлено",
          action: {type:"encapsulate", options: {pre: "\n\n=== Итог ===\n"+"["+"[Файл:Pictogram voting keep-light-green.svg|15px|X|link=]]&nbsp;'''<u>Оставлено</u>''' Причина. ~"+"~"+"~"+"~ \n"+"<small>''Итог подведён на правах [[Википедия:Статус подводящего итоги|подводящего итоги]].''</small>"}}
         },
         "itogoPanel-selectTemplate-free" :  {
          label: "Предварительный итог",
          action: {type:"encapsulate", options: {pre: "\n\n=== Предварительный итог ===\nПричина. ~"+"~"+"~"+"~ \n"}}
         },
         "itogoPanel-selectTemplate-auto" :  {
          label: "Автоитог",
          action: {type:"encapsulate", options: {pre: "\n\n=== Автоитог ===\nПричина. ~"+"~"+"~"+"~ \n"}}
         }     
        }
       }
      }
     }
    );
    
    // To add a group to an existing toolbar section:
    $('#wpTextbox1').wikiEditor( 
     "addToToolbar", {
      "section": "itogoPanel",
      "groups": {
       "buttonsItogoPanel": {
        "label": ""
       }
      }
     } 
    );
    
    // To add a button to an existing toolbar group:
    $("#wpTextbox1").wikiEditor( 
     "addToToolbar", {
      "section": "itogoPanel",
      "group": "buttonsItogoPanel",
      "tools": {
       "sign": {
        label: "Подпись подводящего итоги",
        type: "button",
        icon: "http://upload.wikimedia.org/wikipedia/commons/7/7b/Tilde_button.PNG",
        action: {type:"encapsulate", options: {pre: "[[ВП:СПИ|Подводящий итоги]] ~"+"~"+"~"+"~\n"}}
       }
      }
     }
    );   
    
    // To add a button to an existing toolbar group:
    $("#wpTextbox1").wikiEditor( 
     "addToToolbar", {
      "section": "itogoPanel",
      "group": "buttonsItogoPanel",
      "tools": {
       "btnDbDisc": {
        label: "Удаление по результатам обсуждения",
        type: "button",
        icon: "http://upload.wikimedia.org/wikipedia/commons/a/a2/TrFlameButton.png",
        action: {type:"callback", execute:function(){placeSdd();}}
       }
      }
     }
    );
 
    // To add a group to an existing toolbar section:
    $("#wpTextbox1").wikiEditor( 
     "addToToolbar", {
      "section": "itogoPanel",
      "groups": {
       "templatesDiscussionItogoPanel": {
        "label": "Информация об итоге:"
       }
      }
     } 
    );

    // To add a select list to an existing toolbar group:
    $("#wpTextbox1").wikiEditor( 
     "addToToolbar", {
      "section": "itogoPanel",
      "group": "templatesDiscussionItogoPanel",
      "tools": {
       "itogoPanelSelectDiscussionTemplate": {
        label: "Выберите из списка",
        type: "select",
        list: {
         "itogoPanel-selectDiscussionTemplate-keep1" :  {
          label: "Оставлено|dd mmmmm yyyy",
          action: {type:"encapsulate", options: {pre: "\n{"+"{Оставлено|}}\n"}}
         },
         "itogoPanel-selectDiscussionTemplate-keep2" : {
          label: "Оставлено|dd mmmmm yyyy|dd mmmmm yyyy",
          action: {type:"encapsulate", options: {pre: "\n{"+"{Оставлено||}}\n"}}
         },
         "itogoPanel-selectDiscussionTemplate-keep3" :  {
          label: "Изменено|dd mmmmm yyyy",
          action: {type:"encapsulate", options: {pre: "\n{"+"{Изменено|}}\n"}}
         }      
        }
       }
      }
     }
    );
        
   } // function()   
  ); // $(document).ready(  
 } // if(typeof $j
} // function itogo()
 
/*
 * Подключение функций
 * Если некоторые из этих функций (кнопок, возможнестей) Вам не нужны:
 * 1. Скопируйте код в своё личное пространство.
 * 2. Закомментируйте строчки ниже, вызывающие соответствующие функции поставив два слеша - // в начале строки
 * 3. Подключите Ваш отредактированный код вместо данного, как описано выше.
 */

// Новый редактор
$(itogo);
 
// Старый редактор

// Блок кнопок [[Участник:TenBaseT]]
$(spibutton); // Подпись
$(keptbutton); // Оставлено
$(deletedbutton); // Удалено

// Блок кнопок [[Участник:Участник:DerLetzteRegenbogen]]
$(placeFlameButton); // Замена Шаблон:К удалению на Шаблон:Sdd