MediaWiki:Common.js
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).
- Internet Explorer / Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
- Opera : appuyez sur Ctrl + F5.
/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */ /*******************************************************************************/ /* Javascript applicable à la catégorie des recettes (voir if... plus bas) /* Javascript pour modifier la navigation Outils */ /* */ /* http://www.mediawiki.org/w/index.php?title=Manual:Interface/Sidebar */ /********************************************************************************/ function ModifySidebar( action, section, name, link ) { try { switch ( section ) { case 'languages': var target = 'p-lang'; break; case 'toolbox': var target = 'p-tb'; break; case 'navigation': var target = 'p-navigation'; break; default: var target = 'p-' + section; break; } if ( action == 'add' ) { var node = document.getElementById( target ) .getElementsByTagName( 'div' )[0] .getElementsByTagName( 'ul' )[0]; var aNode = document.createElement( 'a' ); var liNode = document.createElement( 'li' ); aNode.appendChild( document.createTextNode( name ) ); aNode.setAttribute( 'href', link ); liNode.appendChild( aNode ); liNode.className = 'plainlinks'; node.appendChild( liNode ); } if ( action == 'remove' ) { var list = document.getElementById( target ) .getElementsByTagName( 'div' )[0] .getElementsByTagName( 'ul' )[0]; var listelements = list.getElementsByTagName( 'li' ); for ( var i = 0; i < listelements.length; i++ ) { if ( listelements[i].getElementsByTagName( 'a' )[0].innerHTML == name || listelements[i].getElementsByTagName( 'a' )[0].href == link ) { list.removeChild( listelements[i] ); } } } } catch( e ) { // let's just ignore what's happened return; } } function CustomizeModificationsOfSidebar() { ModifySidebar( 'remove', 'toolbox', 'Pages liées', '' ); ModifySidebar( 'remove', 'toolbox', 'Suivi des pages liées', '' ); ModifySidebar( 'remove', 'toolbox', 'Importer un fichier', 'Spécial:Téléverser' ); ModifySidebar( 'remove', 'toolbox', 'Pages spéciales', 'Spécial:Pages spéciales' ); ModifySidebar( 'remove', 'toolbox', 'Adresse de cette version', '' ); //ModifySidebar( 'remove', 'toolbox', 'Information sur la page', '' ); ModifySidebar( 'add', 'toolbox', 'Importer une image', 'Spécial:Téléverser' ); } if($.inArray('Recettes', wgCategories) !== -1){ addOnloadHook( CustomizeModificationsOfSidebar ); } /*******************************************************************************/ /* Javascript applicable à la catégorie des recettes */ /* */ /* Calcul des quantités d'ingrédients selon le nombre de parts */ /********************************************************************************/ // pour tester les éléments sélectionnés, utiliser .css({"color":"red","border":"2px solid red"}); if($.inArray('Recettes', wgCategories) !== -1){ // par défaut on affiche les quantités pour 4 personnes //------------------------------------------------------ nbpers = 4; $(".ingredients-nbpersonnes").text(nbpers); var calcul_quantites = function(qu,nba){ if(qu == '')return; qu2 = qu.replace(',','.'); resultat = (qu2 * nba).toFixed(2).replace('.00',''); if(resultat === 0)return; return resultat; } $("tr.ligne-ingredient").each(function(){ q_unitaire = $(this).find(".recette-q").text(); q_totale = calcul_quantites(q_unitaire,nbpers); $(this).find(".recette-qt").text(q_totale); }); $(".table-ingredients-bouton-moins").click(function(){ nbpers--; $(".ingredients-nbpersonnes").text(nbpers); $("tr.ligne-ingredient").each(function(){ q_unitaire = $(this).find(".recette-q").text(); q_totale = calcul_quantites(q_unitaire,nbpers); $(this).find(".recette-qt").text(q_totale); }); if(nbpers == 1)$(".table-ingredients-bouton-moins").hide(); }); $(".table-ingredients-bouton-plus").click(function(){ nbpers++; $(".ingredients-nbpersonnes").text(nbpers); $("tr.ligne-ingredient").each(function(){ q_unitaire = $(this).find(".recette-q").text(); q_totale = calcul_quantites(q_unitaire,nbpers); $(this).find(".recette-qt").text(q_totale); }); if(nbpers > 1)$(".table-ingredients-bouton-moins").show(); }); } /******************************************************************************/ /* préparation de la barre d'édition */ /* https://www.mediawiki.org/wiki/Extension:WikiEditor/Toolbar_customization */ /******************************************************************************/ /** * préparation de la barre d'édition * https://www.mediawiki.org/wiki/Extension:WikiEditor/Toolbar_customization */ var d_dsg = new Date(); var curr_date_dsg = d_dsg.getDate(); var curr_month_dsg = d_dsg.getMonth(); var curr_year_dsg = d_dsg.getFullYear(); var customizeToolbar = function() { /* Your code goes here */ /* Remove le bouton reference $( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', { 'section': 'main', 'group': 'insert', 'tool': 'reference' }); */ //if($.inArray('Recettes', wgCategories) !== -1){ $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'sections': { 'recettes': { 'type': 'booklet', 'deferLoad': true, 'label': 'Ingrédients', 'pages': { 'format': { 'layout': 'table', 'label' : 'Table des ingrédients', 'headings': [ { 'textMsg': 'wikieditor-toolbar-help-heading-description' }, { 'textMsg': 'wikieditor-toolbar-help-heading-syntax' }, { 'textMsg': 'wikieditor-toolbar-help-heading-result' } ], 'rows': [ { 'description': { 'html':'Taper une ligne par ingrédient<br>sans omettre les séparateurs<br>|... /... /...' }, 'syntax': { 'html': '{{Ingrédients<br>|nom ingrédient/quantité par personne/unité<br>}}' }, 'result': { 'html': 'Un tableau des ingrédients mis en page' } } ] } } } } } ); //} $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'sections': { 'autres': { 'type': 'toolbar', // Can also be 'booklet' 'label': 'Autres' // or 'labelMsg': 'section-emoticons-label' for a localized label } } } ); $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'autres', 'groups': { 'commandes_dsg': { } } } ); $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'autres', 'group': 'commandes_dsg', 'tools': { 'a1': { 'labelMsg': 'A1', 'type': 'button', 'icon': 'button_head_A1.png', 'action': { 'type': 'encapsulate', 'options': { pre: "\n== ", 'peri': 'xxx', post: " ==\n" } } }, 'a2': { 'labelMsg': 'A2', 'type': 'button', 'icon': 'button_head_A2.png', 'action': { 'type': 'encapsulate', 'options': { pre: "\n=== ", 'peri': 'xxx', post: " ===\n" } } }, 'galerie': { 'labelMsg': 'Galerie', 'type': 'button', 'icon': 'btn_toolbar_gallery.png', 'action': { 'type': 'encapsulate', 'options': { pre: "<gallery>\n", 'peri': 'image:exemple1.png|aaa\nimage:exemple2.png\n', post: "</gallery>\n" } } }, 'date': { 'labelMsg': 'Date', 'type': 'button', 'icon': 'button_date.png', 'action': { 'type': 'encapsulate', 'options': { 'peri': curr_date_dsg + "/" +curr_month_dsg + "/" +curr_year_dsg } } }, 'attention': { 'labelMsg': 'Attention', 'type': 'button', 'icon': 'button_aviso.png', 'action': { 'type': 'encapsulate', 'options': { pre: "{{Attention}}", 'peri': 'xxx' } } }, 'retour_ligne': { 'labelMsg': 'Retour ligne', 'type': 'button', 'icon': 'button_br.png', 'action': { 'type': 'encapsulate', 'options': { pre: "<br>\n" } } }, 'liens': { label: 'Liens vers', type: 'button', icon: 'button_liens.png', action: { type: 'encapsulate', options: { pre: "{{liens|", peri: "Page liée", post: "}}" } } }, 'categorie': { label: 'Catégorie', type: 'button', icon: 'button_categorie.png', action: { type: 'encapsulate', options: { pre: "[[Catégorie:", peri: "A remplir", post: "]]" } } },'box': { label: 'Box', type: 'button', icon: 'button_box.png', action: { type: 'encapsulate', options: { pre: "<blockquote style=\"background: white; border: 1px solid black; padding: 1em;\">\n", peri: "Texte", post: "\n</blockquote>\n" } } }, 'code': { label: 'Code', type: 'button', icon: 'button_code.png', action: { type: 'encapsulate', options: { pre: "<pre>\n", peri: "Code", post: "\n</pre>\n" } } } } } ); }; /* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar . . . */ if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) { mw.loader.using( 'user.options', function () { // This can be the string "0" if the user disabled the preference ([[bugzilla:52542#c3]]) if ( mw.user.options.get( 'usebetatoolbar' ) == 1 && mw.user.options.get( 'showtoolbar' ) == 1 ) { $.when( mw.loader.using( 'ext.wikiEditor.toolbar' ), $.ready ).then( customizeToolbar ); } } ); } // Add the customizations to LiquidThreads' edit toolbar, if available mw.hook( 'ext.lqt.textareaCreated' ).add( customizeToolbar );