Aller au contenu

« MediaWiki:Monobook.js » : différence entre les versions

2 469 octets ajoutés ,  30 janvier 2013
aucun résumé des modifications
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 15 : Ligne 15 :
   importScript('MediaWiki:Gadget-' + name + '.js');
   importScript('MediaWiki:Gadget-' + name + '.js');
}
}
/**
* Boîtes déroulantes
*
* Pour [[Modèle:Méta palette de navigation]]
*/
var Palette_Enrouler = '[masquer]';
var Palette_Derouler  = '[afficher]';
var Palette_max = 1;
var Palette_index = -1;
function Palette_toggle(indexPalette){
  var Button = document.getElementById( "collapseButton" + indexPalette);
  var Table = document.getElementById( "collapsibleTable" + indexPalette);
  if (!Table || !Button) return false;
  var Rows = Table.rows;
  var RowDisplay = "none";
  if (Button.firstChild.data == Palette_Derouler) {
    Button.firstChild.data = Palette_Enrouler;
    RowDisplay = Rows[0].style.display;
  } else {
    Button.firstChild.data = Palette_Derouler;
  }
  for (var i = 1; i < Rows.length; i++) {
    Rows[i].style.display = RowDisplay
  }
}
function Palette(Element){
  if(!Element) Element = document;
  var TableIndex = 0;
  var TableIndexes = new Array();
  var Tables = Element.getElementsByTagName( "table" );
  for ( var i = 0; i < Tables.length; i++ ) {
    if ( hasClass( Tables[i], "collapsible" ) ) {
      var Table = Tables[i];
      var Header = Table.getElementsByTagName( "tr" )[0].getElementsByTagName( "th" )[0];
      /* only add button and increment count if there is a header row to work with */
      if (Header) {
        TableIndex++
        Palette_index++;
        TableIndexes[Palette_index] = Table;
        Table.setAttribute( "id", "collapsibleTable" + Palette_index );
        var Button    = document.createElement( "span" );
        var ButtonLink = document.createElement( "a" );
        var ButtonText = document.createTextNode( Palette_Enrouler );
        Button.className = "navboxToggle";
        ButtonLink.setAttribute( "id", "collapseButton" + Palette_index );
        ButtonLink.setAttribute( "href", "javascript:;" );
        addHandler( ButtonLink,  "click", new Function( "evt", "Palette_toggle(" + Palette_index + " ); return killEvt( evt );") );
        ButtonLink.appendChild( ButtonText );
        Button.appendChild( document.createTextNode("\u00a0"));  //ajout d'un espace insécable pour décoller ce bouton du texte de la celulle
        Button.appendChild( ButtonLink );
        Header.insertBefore( Button, Header.childNodes[0] );
      }
    }
  }
  for(var index in TableIndexes){
    var Table = TableIndexes[index];
    if(hasClass(Table,"collapsed")||(TableIndex>Palette_max && hasClass(Table,"autocollapse")))
    Palette_toggle(index);
  }
}
addOnloadHook(Palette);


/**
/**