MediaWiki:Gadget-MonobookToolbarSearchReplace.js

De Nefald Wiki
Version datée du 31 mars 2014 à 16:40 par Hiob (discussion | contributions) (Uti a déplacé la page MonobookToolbarSearchReplace.js vers MediaWiki:Gadget-MonobookToolbarSearchReplace.js sans laisser de redirection)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Note : après avoir publié vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
  • Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
  •  Edge : 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 = 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="" />'
                        + '&nbsp;•&nbsp;'
                        + '<label for="MonobookToolbarSearchReplace_Replace2">Texte de remplacement</label>'
                        + '<input id="MonobookToolbarSearchReplace_Replace2" type="text" value="" />'
                        + '&nbsp;•&nbsp;'
                        + '<input type="button" value="Remplacer" onclick="MonobookToolbarSearchReplace.Replace();" onselect="MonobookToolbarSearchReplace.Replace();"/>'
                        + '&nbsp;'
                        + '<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;
}
 
addOnloadHook(MonobookToolbarSearchReplace.AddButton);
 
} // Fin test anti double inclusion