MediaWiki:Monobook.js

De Wiki Dofus
Révision datée du 7 septembre 2014 à 15:12 par GyD (discussion | contributions)
Aller à la navigationAller à la recherche

Note : après avoir enregistré 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 pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac).
  • Google Chrome : appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac).
  • Internet Explorer : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
  • Opera : allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité et sécurité → Effacer les données d’exploration → Images et fichiers en cache.
//============================================================
//
// Barre d'outil
//
//============================================================

//============================================================
// Générateur de tableaux
//============================================================

/**
 *
 * English: Generate an array using Mediawiki syntax
 *
 * @author: fr:user:dake
 * @version: 0.1
 */
 
function generateTableau(nbCol, nbRow, border, styleHeader, styleLine)
{
        var code = "\n";
        if (styleHeader==1) {
                code += '{{entête tableau charte}}\n';
        } else {
                code += '{| border="' + border + '"\n';
                code += '|+ Titre du tableau\n';
        }
        
        for (var i=0; i<nbCol; i++) code += '! en-tête ' + i + '\n';
        
        for (var j=0; j<nbRow; j++) {
                if ((j+1)%2==0 && styleLine==1) {
                        code += '|-{'+'{ligne grise}'+'}\n';
                } else {                
                        code += '|-----\n';
                }
                
                for (var i=0; i<nbCol; i++) code += '| élément\n';
        }
        
        code += '|}';
        insertTags('','', code);
}

/**
 *
 * English: Open a popup with parameters to generate an array. 
 * The number of rows/columns can be modified. Some additional
 * parameters are related to templates available on :fr
 *
 * @author: fr:user:dake
 * @version: 0.1
 */
 
function popupTableau()
{
  var popup = window.open('','name','height=400,width=500');
  
  javaCode =  '<script type="text\/javascript">function insertCode(){';
  javaCode += 'var row = parseInt(document.paramForm.inputRow.value); ';
  javaCode += 'var col = parseInt(document.paramForm.inputCol.value); ';
  javaCode += 'var bord = parseInt(document.paramForm.inputBorder.value); ';
  javaCode += 'var styleHeader = document.paramForm.inputHeader.checked; ';
  javaCode += 'var styleLine = document.paramForm.inputLine.checked; ';
  javaCode += 'window.opener.generateTableau(col,row,bord,styleHeader,styleLine); ';
  javaCode += '}<\/script>';
  
  popup.document.write('<html><head><title>Paramètres du tableau</title>');
  popup.document.write('<script type="text\/javascript" src="\/skins-1.5\/common\/wikibits.js"><!-- wikibits js --><\/script>');
  popup.document.write('<style type="text\/css" media="screen,projection">/*<![CDATA[*/ @import "\/skins-1.5\/monobook\/main.css?5"; /*]]>*/<\/style>');
  popup.document.write(javaCode); 
  popup.document.write('</head><body>');
  popup.document.write('<p>Veuillez entrer les paramètres du tableau : </p>');
  popup.document.write('<form name="paramForm">');
  popup.document.write('Nombre de lignes : <input type="text" name="inputRow" value="3" ><p>');
  popup.document.write('Nombre de colonnes : <input type="text" name="inputCol" value="3" ><p>');
  popup.document.write('Largeur de la bordure : <input type="text" name="inputBorder" value="1" ><p>');
  popup.document.write('En-tête en gris (style « charte graphique ») : <input type="checkbox" name="inputHeader" checked="1" ><p>');
  popup.document.write('Lignes grises alternées (style « charte graphique ») : <input type="checkbox" name="inputLine" checked="1" ><p>');
  popup.document.write('</form">');
  popup.document.write('<p><a href="javascript:insertCode()"> Insérer le code dans la fenêtre d\'édition</a></p>');
  popup.document.write('<p><a href="javascript:self.close()"> Fermer</a></p>');
  popup.document.write('</body></html>');
  popup.document.close();
}


//============================================================
// Insertion de nouveaux boutons dans la barre d'outil
//============================================================

//Remplit la variable mwCustomEditButtons (voir /skins-1.5/commons/wikibits.js) pour ajouter des boutons à la barre d'outils
function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText)
{
 mw.toolbar.addButton({"imageFile": imageFile,
  "speedTip": speedTip,
  "tagOpen": tagOpen,
  "tagClose": tagClose,
  "sampleText": sampleText
 });
}

addCustomButton('http://www.wiki-dofus.eu/_images/3/30/Btn_toolbar_rayer.png','Rayer',"<s>","</s>",'');
addCustomButton('http://www.wiki-dofus.eu/_images/8/88/Btn_toolbar_enum.png','Énumération',"\\n# élément 1\\n# élément 2\\n# élément 3","",'');
addCustomButton('http://www.wiki-dofus.eu/_images/1/11/Btn_toolbar_liste.png','Liste',"\\n* élément A\\n* élément B\\n* élément C","",'');
addCustomButton('http://www.wiki-dofus.eu/_images/9/9e/Btn_toolbar_gallery.png','Galerie d\'images',"\\n<gallery>\\nImage:M63.jpg|[[M63]]\\nImage:Mona Lisa.jpg|[[La Joconde]]\\nImage:Truite arc-en-ciel.jpg|Une [[truite]]\\n</gallery>","",'');
addCustomButton('http://www.wiki-dofus.eu/_images/3/37/Btn_toolbar_commentaire.png','Commentaire',"<!--","-->",'');
addCustomButton('http://www.wiki-dofus.eu/_images/c/c8/Button_redirect.png','Redirection',"#REDIRECT [[","]]",'nom de la destination');
addCustomButton('http://www.wiki-dofus.eu/_images/b/b4/Button_category03.png','Catégorie',"[[Catégorie:","]]",'nom de la catégorie');

//Ressemble à la fonction de /skins-1.5/commons/wikibits.js pour insérer un autre lien que insertTags
function marque_tab()
{
 var toolbar = document.getElementById('toolbar');
 if (!toolbar) return false;
 
 var textbox = document.getElementById('wpTextbox1');
 if (!textbox) return false;
 
 if (!document.selection && textbox.selectionStart == null)
 return false;
 
 var image = document.createElement("img");
 image.width = 23;
 image.height = 22;
 image.src = 'http://www.wiki-dofus.eu/_images/0/04/Button_array.png';
 image.border = 0;
 image.alt = 'Tableau';
 image.title = 'Tableau';
 image.style.cursor = "pointer";
 image.onclick = function() {
   popupTableau();
   return false;
 }
 toolbar.appendChild(image);
}

addOnloadHook(marque_tab);