Aller au contenu

MediaWiki:Gadget-MonobookToolbarSortSelected.js

Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 18 décembre 2018 à 15:23 et modifiée en dernier par Od1n (discuter | contributions) (backport de 148434645). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
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.
// TODO : beaucoup de nettoyage à faire dans ce code,
// s'inspirer entre autres des modifs de mai 2018 sur [[MediaWiki:Gadget-MonobookToolbar.js]]

if(typeof(MonobookToolbarSortSelected)==="undefined"){ // Test anti double inclusion

MonobookToolbarSortSelected = new Object();

MonobookToolbarSortSelected.toolbarId = mw.user.options.get('usebetatoolbar') === 1 ? 'monobooktoolbar' : 'toolbar';

MonobookToolbarSortSelected.AddButton = function(){
     if(!document.editform) return;
     var Toolbar = document.getElementById(MonobookToolbarSortSelected.toolbarId);
     if(!Toolbar){
          var Textarea = document.getElementById("wpTextbox1");
          if(!Textarea) return;
          Toolbar = document.createElement('div');
          Toolbar.id = MonobookToolbarSortSelected.toolbarId;
          Textarea.parentNode.insertBefore(Toolbar, Textarea);
     }
     var buttonU = '<img src="/media/wikipedia/commons/6/6f/Button_arrow_up.PNG" heigth="23" width="23" alt="Tri croissant" />';

     var NewButtonU = document.createElement('a');
     NewButtonU.title = "Tri croissant";
     NewButtonU.href = "#";
     NewButtonU.onclick = function(){
          MonobookToolbarSortSelected.UpdateText(0);
          return false;
     };
     NewButtonU.className = "mw-toolbar-editbutton";
     NewButtonU.innerHTML = buttonU;
     Toolbar.appendChild(NewButtonU);

     var buttonD = '<img src="/media/wikipedia/commons/2/2b/Button_arrow_down.PNG" heigth="23" width="23" alt="Tri décroissant" />';

     var NewButtonD = document.createElement('a');
     NewButtonD.title = "Tri décroissant";
     NewButtonD.href = "#";
     NewButtonD.onclick = function(){
          MonobookToolbarSortSelected.UpdateText(1);
          return false;
     };
     NewButtonD.className = "mw-toolbar-editbutton";
     NewButtonD.innerHTML = buttonD;
     Toolbar.appendChild(NewButtonD);
};

MonobookToolbarSortSelected.UpdateText = function(type){
    var txtarea = document.getElementById("wpTextbox1");
    if (!txtarea){
        // some alternate form? take the first one we can find
        var areas = document.getElementsByTagName('textarea');
        txtarea = areas[0];
    }
    var selText;
        //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 = MonobookToolbarSortSelected.SortText(selText, type);
        txtarea.value = txtarea.value.substring(0, startPos)  + selText + txtarea.value.substring(endPos, txtarea.value.length);
        //set new selection
        txtarea.selectionStart = startPos;
        txtarea.selectionEnd = startPos + selText.length;
        //restore textarea scroll position
        txtarea.scrollTop = textScroll;
};

MonobookToolbarSortSelected.SortText = function(Text, type){
     var TextLines = Text.split("\n");
     TextLines.sort();
     if(type==1) TextLines.reverse();
     return TextLines.join("\n");
};

$(MonobookToolbarSortSelected.AddButton);

} // Fin test anti double inclusion