Utilisateur:Daniel-pierre/monobook.js

De Mystpedia.

(Différences entre les versions)
Ligne 1 : Ligne 1 :
-
  /*
+
  /**
 +
* Pour [[Modèle:Boîte déroulante]]
 +
*/
 +
var NavigationBarShowDefault = 0;
 +
 +
function toggleNavigationBar(indexNavigationBar) {
 +
  var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
 +
  var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
 +
 +
  if (!NavFrame || !NavToggle) return;
 +
 +
  // ajout par Dake - permet de créer un titre en lieu et place du "Dérouler" grâce
 +
  // à l'attribut "title" du tag.
 +
  var ShowText;
 +
 +
  if (NavFrame.title == undefined || NavFrame.title.length == 0 ) {
 +
    ShowText = expandCaption;
 +
  } else {
 +
    ShowText = NavFrame.title;
 +
  }
 +
 +
  // if shown now
 +
  if (NavToggle.firstChild.data == collapseCaption) {
 +
    for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {
 +
      if (hasClass(NavChild, 'NavPic')) NavChild.style.display = 'none';
 +
      if (hasClass(NavChild, 'NavContent')) NavChild.style.display = 'none';
 +
      if (hasClass(NavChild, 'NavToggle')) NavChild.firstChild.data = ShowText;
 +
    }
 +
 +
  // if hidden now
 +
  } else if (NavToggle.firstChild.data == ShowText) {
 +
    for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {
 +
      if (hasClass(NavChild, 'NavPic')) NavChild.style.display = 'block';
 +
      if (hasClass(NavChild, 'NavContent')) NavChild.style.display = 'block';
 +
      if (hasClass(NavChild, 'NavToggle')) NavChild.firstChild.data = collapseCaption;
 +
    }
 +
  }
 +
}
 +
 +
// adds show/hide-button to navigation bars
 +
function createNavigationBarToggleButton() {
 +
  var indexNavigationBar = 0;
 +
  var NavFrame;
 +
  // iterate over all < div >-elements
 +
  for( var i=0; NavFrame = document.getElementsByTagName("div")[i]; i++ ) {
 +
    // if found a navigation bar
 +
    if (hasClass(NavFrame, "NavFrame")) {
 +
      indexNavigationBar++;
 +
      var NavToggle = document.createElement("a");
 +
      NavToggle.className = 'NavToggle';
 +
      NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
 +
      NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
 +
 +
      var NavToggleText = document.createTextNode(collapseCaption);
 +
      NavToggle.appendChild(NavToggleText);
 +
 +
      // add NavToggle-Button as first div-element
 +
      // in <div class="NavFrame">
 +
      NavFrame.insertBefore( NavToggle, NavFrame.firstChild );
 +
      NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
 +
    }
 +
  }
 +
  // if more Navigation Bars found than Default: hide all
 +
  if (NavigationBarShowDefault < indexNavigationBar) {
 +
    for( var i=1; i<=indexNavigationBar; i++ ) {
 +
      toggleNavigationBar(i);
 +
    }
 +
  }
 +
}
 +
 +
addOnloadHook(createNavigationBarToggleButton);
 +
 
 +
/* ------------------------------------------- */
 +
 
 +
/*
  * OngletPurge
  * OngletPurge
  *
  *

Version du 10 décembre 2007 à 22:43

 /**
 * Pour [[Modèle:Boîte déroulante]] 
 */
var NavigationBarShowDefault = 0;
 
function toggleNavigationBar(indexNavigationBar) {
  var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
  var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
 
  if (!NavFrame || !NavToggle) return;
 
  // ajout par Dake - permet de créer un titre en lieu et place du "Dérouler" grâce
  // à l'attribut "title" du tag.
  var ShowText;
 
  if (NavFrame.title == undefined || NavFrame.title.length == 0 ) {
    ShowText = expandCaption;
  } else {
    ShowText = NavFrame.title;
  }
 
  // if shown now
  if (NavToggle.firstChild.data == collapseCaption) {
    for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {
      if (hasClass(NavChild, 'NavPic')) NavChild.style.display = 'none';
      if (hasClass(NavChild, 'NavContent')) NavChild.style.display = 'none';
      if (hasClass(NavChild, 'NavToggle')) NavChild.firstChild.data = ShowText;
    }
 
  // if hidden now
  } else if (NavToggle.firstChild.data == ShowText) {
    for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {
      if (hasClass(NavChild, 'NavPic')) NavChild.style.display = 'block';
      if (hasClass(NavChild, 'NavContent')) NavChild.style.display = 'block';
      if (hasClass(NavChild, 'NavToggle')) NavChild.firstChild.data = collapseCaption;
    }
  }
}
 
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton() {
  var indexNavigationBar = 0;
  var NavFrame;
  // iterate over all < div >-elements
  for( var i=0; NavFrame = document.getElementsByTagName("div")[i]; i++ ) {
    // if found a navigation bar
    if (hasClass(NavFrame, "NavFrame")) {
      indexNavigationBar++;
      var NavToggle = document.createElement("a");
      NavToggle.className = 'NavToggle';
      NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
      NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
 
      var NavToggleText = document.createTextNode(collapseCaption);
      NavToggle.appendChild(NavToggleText);
 
      // add NavToggle-Button as first div-element 
      // in <div class="NavFrame">
      NavFrame.insertBefore( NavToggle, NavFrame.firstChild );
      NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
    }
  }
  // if more Navigation Bars found than Default: hide all
  if (NavigationBarShowDefault < indexNavigationBar) {
    for( var i=1; i<=indexNavigationBar; i++ ) {
      toggleNavigationBar(i);
    }
  }
}
 
addOnloadHook(createNavigationBarToggleButton);

/* ------------------------------------------- */

/*
 * OngletPurge
 *
 * Onglet permettant de réaliser une purge du cache
 *
 * Auteur : ??
 * Dernière révision : 7 juin 2007
 * [[Catégorie:MediaWiki:Fonction Monobook en JavaScript]]
 */
 
function OngletPurge() {
        if (wgNamespaceNumber >= 0 && !document.getElementById('toolbar')) {
                addPortletLink('p-cactions', wgScriptPath + '/index.php?title=' + wgPageName + '&action=purge', 'purger', 'ca-purge', 'purger le cache de la page', 'p');
	}
}
 
addOnloadHook(OngletPurge);