MediaWiki:Gadget-CatsaGauche.js
Apparence
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./**
* Catégories à Gauche
*
* Met les catégories dans un panneau de navigation
*
* Auteur : Jmfayard
* Dernière révision : 7 décembre 2014
* {{Catégorisation JS|CatsaGauche}}
*/
function CategoriesAGauche() {
var catlinks = document.getElementById("catlinks");
if (!catlinks) { return; }
var categories = catlinks.getElementsByTagName("a") ;
var h3_cats = document.createElement( "h3" );
h3_cats.textContent = "Catégories";
var div_cats = document.createElement( "div" );
var ul = document.createElement( "ul" );
var a_debut = 1 ; // évitons le lien Categories:
var hiddenli = false;
for (var i = a_debut ; i < categories.length ; i++ ) {
var a = categories[i].cloneNode(1);
if(a.id && a.id.includes("hotcat")) continue; // évitons les liens de hotcats
var li = document.createElement( "li" ) ;
if(hiddenli){
li.className = "hiddencat";
li.style.display = "none";
}
if(a.id === "mw-hidden-cats-link"){
hiddenli = li;
a.onclick = function(){ CategoriesAGauche_toggleHiddenCats(this); };
}
li.appendChild( a ) ;
ul.appendChild( li );
}
div_cats.appendChild( ul ) ;
var portlet = document.createElement( "div" ) ;
portlet.setAttribute( "id", "p-cat" ) ;
portlet.appendChild( h3_cats ) ;
portlet.appendChild( div_cats ) ;
var div_ptb = document.getElementById( "p-tb" );
if (!div_ptb) { return; }
portlet.setAttribute( "class", div_ptb.className );
div_cats.setAttribute( "class", div_ptb.getElementsByTagName('div')[0].className );
div_ptb.parentNode.insertBefore( portlet, div_ptb);
}
function CategoriesAGauche_toggleHiddenCats(e) {
var $pcats = $("#p-cat").find( 'li.hiddencat' );
var link = e.target;
var hidden = false;
$pcats.each(function (_, li) {
hidden = (li.style.display == "none");
if(hidden){
li.style.display = "";
}else{
li.style.display = "none";
}
});
if(hidden){
link.textContent = '[–]';
}else{
link.textContent = '[+]';
}
}
$( CategoriesAGauche ) ;