Utente:Baruneju/monobook.js
Nota: dopo aver pubblicato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.
- Firefox / Safari: tieni premuto il tasto delle maiuscole Shift e fai clic su Ricarica, oppure premi Ctrl-F5 o Ctrl-R (⌘-R su Mac)
- Google Chrome: premi Ctrl-Shift-R (⌘-Shift-R su un Mac)
- Internet Explorer / Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5
- Opera: premi Ctrl-F5.
//<pre>
// Elenco dei tool da caricare.
var toLoad="";
// Author: it:Utente:Baruneju
function refactorChrono()
{
WEUpdateTextarea();
regex = /^\s*((\*|\#)\s\(corr\)\s*\(prec\)\s*\d\d:\d\d,\s*\d\d?\s*[a-z][a-z][a-z]\s*\d\d\d\d\s*)(([^\(])*)\s*\(discussione( \| contributi)?( \| blocca)?/mg;
sostituzione="$1 [[Utente:$3|$3]] ([[Discussioni utente:$3|discussione]] <nowiki>|</nowiki> [[Speciale:Contributi/$3|contributi]]";
tagOpen = "{{cassetto|titolo=Cronologia|testo=";
tagClose = "}}";
var txtarea;
txtarea = $('wpTextbox1');
var selText, isSample = false;
if (document.selection && document.selection.createRange) { // IE/Opera
//save window scroll position
if (document.documentElement && document.documentElement.scrollTop)
var winScroll = document.documentElement.scrollTop
else if (document.body)
var winScroll = document.body.scrollTop;
//get current selection
txtarea.focus();
var range = document.selection.createRange();
selText = range.text;
// do substitution
range.text = range.text.replace(regex,sostituzione);
range.text = range.text.replace(/\{\{(.*)\}\}/g,"<nowiki>{{</nowiki>$1<nowiki>}}</nowiki>");
range.text = tagOpen + range.text + tagClose;
range.select();
//restore window scroll position
if (document.documentElement && document.documentElement.scrollTop)
document.documentElement.scrollTop = winScroll
else if (document.body)
document.body.scrollTop = winScroll;
} else if (txtarea.selectionStart || txtarea.selectionStart == '0') { // Mozilla
//save textarea scroll position
var textScroll = txtarea.scrollTop;
//get current selection
txtarea.focus();
var startPos = txtarea.selectionStart;
var endPos = txtarea.selectionEnd;
selText = txtarea.value.substring(startPos, endPos);
selText = selText.replace(regex,sostituzione);
selText = selText.replace(/\{\{(.*)\}\}/g,"<nowiki>{{</nowiki>$1<nowiki>}}</nowiki>");
txtarea.value = txtarea.value.substring(0, startPos)
+ tagOpen + selText + tagClose
+ txtarea.value.substring(endPos, txtarea.value.length);
//set new selection
if (isSample) {
txtarea.selectionStart = startPos + tagOpen.length;
txtarea.selectionEnd = startPos + tagOpen.length + selText.length;
} else {
txtarea.selectionStart = startPos + tagOpen.length + selText.length + tagClose.length;
txtarea.selectionEnd = txtarea.selectionStart;
}
//restore textarea scroll position
txtarea.scrollTop = textScroll;
}
WEUpdateFrame();
}
//Monobook Modulare
//Lancia il vero monobook
// Vedi [[Wikipedia:Monobook.js/MonobookCompleto.js]]
//
document.writeln('<script type="text/javascript" src="/w/index.php?title=Wikizionario:Monobook.js/MonobookCompleto.js&action=raw&ctype=text/javascript&dontcountme=s"></script>');
function personalButtons()
{
addToolbarButton('tb-xxx', 'javascript:refactorChrono()',
'http://upload.wikimedia.org/wikipedia/commons/3/3f/Button_attendre.png', 'Crono', 'Usage: Incollare la cronologia, selezionarla, premere il tasto');
}
addLoadEvent(personalButtons);
//</pre>