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);