« MediaWiki:Gadget-MonobookToolbarSearchReplace.js » : différence entre les versions

De Nefald Wiki
Aller à la navigation Aller à la recherche
Hiob (discussion | contributions)
Page créée avec « if(typeof(MonobookToolbarSearchReplace)==="undefined"){ // Test anti double inclusion MonobookToolbarSearchReplace = new Object(); document.write('<style type="text/cs... »
 
Hiob (discussion | contributions)
m Uti a déplacé la page MonobookToolbarSearchReplace.js vers MediaWiki:Gadget-MonobookToolbarSearchReplace.js sans laisser de redirection
 
(Aucune différence)

Dernière version du 31 mars 2014 à 16:40

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