MediaWiki:Gadget-common-action-edit.js: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
importScriptURI is deprecated
Исключено изменение «mwCustomEditButtons» для решения ВУ:Ф#Викификатор.
Строка 1: Строка 1:
mw.loader.load('//ru.wikipedia.org/w/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400')
mw.loader.load('//ru.wikipedia.org/w/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400')
mwCustomEditButtons['wikif'] = [function(){Wikify()}, 'commons/0/06/Wikify-toolbutton.png', 'Викификатор — автоматический обработчик текста']
// mwCustomEditButtons['wikif'] = [function(){Wikify()}, 'commons/0/06/Wikify-toolbutton.png', 'Викификатор — автоматический обработчик текста']





Версия от 16:15, 7 октября 2014

mw.loader.load('//ru.wikipedia.org/w/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400')
// mwCustomEditButtons['wikif'] = [function(){Wikify()}, 'commons/0/06/Wikify-toolbutton.png', 'Викификатор — автоматический обработчик текста']


if( mw.user.options.get('usebetatoolbar') ){
  $('#wpTextbox1').bind('wikiEditor-toolbar-buildSection-main', function(e, sec){
    sec.groups.insert.tools.file.action.options.post = '|thumb]]'
  })
  mw.loader.using('ext.wikiEditor.toolbar', function(){ createLocalTlb('#wikiEditor-ui-toolbar') })
  mw.util.addCSS('#local-toolbar {height:26px; border-right:1px solid #ddd; margin:3px; padding-right:6px} #local-toolbar img {padding:2px}')
}else if( document.getElementById('toolbar') ){
  createLocalTlb('#toolbar')
  importMW('ToolbarOld')
}else{ //no toolbar
  createLocalTlb('#editform')
  mw.util.addCSS('#local-toolbar img {border:1px outset gray; background:#ddd; margin:2px; height:22px}')
}


function createLocalTlb(where){
 $(where).prepend('<div id=local-toolbar style="float:left" />')
 for( var id in mwCustomEditButtons ){
   var b = mwCustomEditButtons[id]
   if( b.length ) createFuncBtn(id, b[0], b[1], b[2])
 }
}



function createFuncBtn(id, func, img, tip){
 $('<img id="'+id+'" src="'+wgImg(img)+'" style="cursor:pointer" '
     +'title="'+tip+'" alt="'+tip.substr(0,3)+'" />')
  .appendTo('#local-toolbar')
  .click(func)
}


function wgImg(img){
 return '//upload.wikimedia.org/wikipedia/' + img
}



//Summary buttons 
function SummaryButtons(){
 var sum = document.getElementById('wpSummary')
 if (!sum || (sum.form.wpSection && sum.form.wpSection.value == 'new')) return
 var sp = document.createElement('span'); sp.id = 'userSummaryButtonsA'
 sum.parentNode.insertBefore(sp, sum.nextSibling)
 sum.parentNode.insertBefore(document.createElement('br'), sum.nextSibling)
 addSumButton('викиф.','викификация')
 addSumButton('оформл.','оформление')
 addSumButton('стиль','стилевые правки')
 addSumButton('орфогр.','орфография')
 addSumButton('пункт.','пунктуация')
 addSumButton('интервики','интервики','Исправлены межъязыковые ссылки (интервики)')
 addSumButton('кат.','категория','Исправлена категоризация')
 addSumButton('шаб.','шаблон','Добавлен / изменён шаблон')
 addSumButton('к удал.','к удалению','Страница предложена к удалению')
 addSumButton('доп.','дополнение')
 addSumButton('иллюстрация','иллюстрация')
 addSumButton('обнов.','обновление данных')
 appendCSS('#userSummaryButtonsA a {white-space:nowrap;background: #C2F2FF;border:1px solid #9BD5F5;padding:0px 2px;\
margin:2px;cursor:pointer;font-size:80%;line-height:17px;color:#5B5B5B}\
#userSummaryButtonsA a:hover {background:#B1EBFF;border: 1px solid #64BDF0;color:black;text-decoration: none}')

}
function addSumButton(name, text, title) {
 var btn = document.createElement('a')
 btn.appendChild(document.createTextNode(name))
 btn.title = title || text
 btn.onclick = function(){insertSummary(text)}
 document.getElementById('userSummaryButtonsA').appendChild(btn)
}
function insertSummary(text) {
 var sum = document.getElementById('wpSummary')
 if (sum.value.indexOf(text) != -1) return 
 if (sum.value.match(/[^,; \/]$/)) sum.value += ','
 if (sum.value.match(/[^ ]$/)) sum.value += ' '
 sum.value += text
}
addOnloadHook(SummaryButtons)


//sig reminder
if (wgNamespaceNumber % 2 || wgNamespaceNumber==4)
addOnloadHook(function (){
 var cp = document.getElementById('editpage-copywarn')
 var wpSave = document.getElementById('wpSave')
 if (!cp || !wpSave) return
 if (wgNamespaceNumber == 4 && 
  (!wgTitle.match('^(Форум|Голосования/|Планы и заявки|Запросы к администраторам)') || wgTitle.match ('/Архив'))) return
 var ins = ' <a href=\'javascript:insertTags(" ~~\~~\","","")\'>~~\~~</a>'
 cp.innerHTML += '&nbsp;&nbsp;Не забудьте добавить к вашему сообщению подпись с помощью' + ins
 if (wgUserGroups && wgUserGroups.join().indexOf('autoconfirmed') != -1 && !window.sigWarning) return
 //unreg/new users only
 var warningDone = false
 wpSave.onclick = function(){
   try{   
    if (warningDone || document.editform.wpTextbox1.value.indexOf('~~\~~') >= 0 ) return true
    warningDone = true
    cp.innerHTML = 'Пожалуйста, <b>подпишитесь</b>, добавив  в конце своего сообщения' + ins
    + ' (<a href="' + wgArticlePath.replace(/\$1/, 'w:Википедия:Подписывайтесь')
    + '" title="(ссылка откроется в новом окне)" target=_blank>подробнее&nbsp;↗</a>)'//→ ↗
    cp.style.background = '#FFD080'
    cp.style.border = '1px solid orange'
    return false
   }catch(e) {return true}
 }
})

if (wgAction=='edit' && / rv:1\.[0-8].+Gecko/.test(navigator.userAgent))
mw.loader.load('//ru.wikipedia.org/w/index.php?title=MediaWiki:Firefox2.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400')