Utilisateur:Dereckson/MonobookToolbarSearchReplace.js
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;
Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.if(typeof(MonobookToolbarSearchReplace)==="undefined"){ // Test anti double inclusion
MonobookToolbarSearchReplace = new Object();
document.write('<style type="text/css">'
+ '#MenuReplaceSpan{'
+ 'text-align:left;'
+ '}'
+ '</style>');
MonobookToolbarSearchReplace.AddButton = function(){
if(!document.editform) return;
var Toolbar = document.getElementById('toolbar');
if(!Toolbar) Toolbar = document.getElementById('MonobookToolbar');
if(!Toolbar){
Toolbar = document.createElement('div');
Toolbar.id = 'MonobookToolbar';
document.editform.insertBefore(Toolbar, document.editform.firstChild);
}
var button = '<img src="//upload.wikimedia.org/wikipedia/commons/5/59/Button_replace.png" heigth="23" width="23" alt="Remplacer" />';
var NewButton = document.createElement('a')
NewButton.title = "Remplacer";
NewButton.href = "#";
NewButton.onclick = function(){
MonobookToolbarSearchReplace.OpenMenu();
return false;
}
NewButton.className = "mw-toolbar-editbutton";
NewButton.innerHTML = button;
Toolbar.appendChild(NewButton);
}
MonobookToolbarSearchReplace.Cancel = function(){
var MenuDiv = document.getElementById('Menu_SearchAndReplace');
MenuDiv.parentNode.removeChild(MenuDiv);
}
MonobookToolbarSearchReplace.OpenMenu = function(){
var OldMenuDiv = document.getElementById('Menu_SearchAndReplace');
if(OldMenuDiv) return;
var Toolbar = document.getElementById('MonobookToolbar');
var MenuDiv = document.createElement('div');
MenuDiv.id = 'Menu_SearchAndReplace';
Toolbar.parentNode.insertBefore(MenuDiv, Toolbar.nextSibling);
var CurrentPortal = mw.config.get('wgTitle').split('/')[0];
var MenuSpan = document.createElement('span');
MenuSpan.id = 'MenuReplaceSpan';
MenuDiv.appendChild(MenuSpan);
MenuSpan.innerHTML = '<label for="MonobookToolbarSearchReplace_Replace1">Texte à remplacer</label>'
+ '<input id="MonobookToolbarSearchReplace_Replace1" type="text" value="" />'
+ ' • '
+ '<label for="MonobookToolbarSearchReplace_Replace2">Texte de remplacement</label>'
+ '<input id="MonobookToolbarSearchReplace_Replace2" type="text" value="" />'
+ ' • '
+ '<input type="button" value="Remplacer" onclick="MonobookToolbarSearchReplace.Replace();" onselect="MonobookToolbarSearchReplace.Replace();"/>'
+ ' '
+ '<input type="button" value="Annuler" onclick="MonobookToolbarSearchReplace.Cancel();" onselect="MonobookToolbarSearchReplace.Cancel();"/>'
}
MonobookToolbarSearchReplace.Replace = function(){
try{
var TextArea = document.getElementById('wpTextbox1');
var OldText = document.getElementById('MonobookToolbarSearchReplace_Replace1').value;
var NewText = document.getElementById('MonobookToolbarSearchReplace_Replace2').value;
var Text = TextArea.value;
}catch(e){ return; }
if((OldText=='')&&(NewText=='')) return;
if((OldText!='')&&(NewText!='')){
if(NewText.indexOf(OldText)!=-1){
alert("Le texte de remplacement contient le texte à remplacer.\nCela va générer une boucle et ne peut donc pas être effectué.\nVeuillez choisir d'autres paramètres.")
return;
}
}
var Scroll = TextArea.scrollTop;
while(Text.indexOf(OldText)!=-1){
Text = Text.split(OldText).join(NewText);
if(Text.indexOf(OldText)==-1) break;
}
document.getElementById('wpTextbox1').value = Text;
document.getElementById('MonobookToolbarSearchReplace_Replace1').value = NewText;
document.getElementById('MonobookToolbarSearchReplace_Replace2').value = OldText;
TextArea.scrollTop = Scroll;
}
$(MonobookToolbarSearchReplace.AddButton);
} // Fin test anti double inclusion