Участник:X-romix/check descr.js
Перейти к навигации
Перейти к поиску
//Скрипт проверяет наличие описания к правке.
//Автор: X-romix
if (mw.config.get('wgAction') == 'edit' || mw.config.get('wgAction') == 'submit')
$(function(){
var wpSave = document.getElementById('wpSave');
if (!wpSave) return;
$(wpSave).on('click', XRomix_CheckDescrHandler);
});
function XRomix_CheckDescrHandler(e){
var isCancel=false;
var w = document.getElementById('XRomix_editpage_CheckDescr');
if(w) return; //уже есть надпись с предупреждением
if (!XRomix_CheckDescr()){
var wpSummary = document.getElementById('wpSummary')
if (!wpSummary) return
var w = document.createElement('span')
w.id = 'XRomix_editpage_CheckDescr'
wpSummary.parentNode.insertBefore(w, wpSummary.nextSibling)
w.innerHTML = '<div style="padding:10px; margin:5px; background:#D0FF80; border:1px solid green;">'+
'Не указано описание правки. ' +
' (<a href="' + mw.config.get('wgArticlePath').replace(/\$1/, 'Википедия:Описание изменений') +
'" title="(ссылка откроется в новом окне)" target=_blank>подробнее ↗</a>)</div>';
isCancel=true;
}
if (isCancel){ //отменить нажатие кнопки
e = e || window.event //из-за различий в IE и стандартных браузерах
if (e.preventDefault) e.preventDefault(); else e.returnValue = false //остановить действие, снова по-разному
return false //на всякий случай
}
function XRomix_CheckDescr(){
var wpSummary = document.getElementById('wpSummary')
if(!wpSummary) return true; //если нет поля описания в наличии
var temp=wpSummary.value;
temp=temp.replace(/\/\*.*?\*\// , ""); //комментарии
temp=temp.replace(/[\s]*/ , ""); //пробелы
if (temp==""){
return false; //нету описания
}
return true;//есть описание
}
}//function