Difference between revisions of "MediaWiki:Monobook.js"
From IridiaWiki
Jump to navigationJump to search(3 intermediate revisions by the same user not shown) | |||
Line 49: | Line 49: | ||
ta['ca-nstab-help'] = new Array('c','View the help page'); |
ta['ca-nstab-help'] = new Array('c','View the help page'); |
||
ta['ca-nstab-category'] = new Array('c','View the category page'); |
ta['ca-nstab-category'] = new Array('c','View the category page'); |
||
+ | |||
+ | |||
+ | // RIPPED FROM FRENCH WIKIPEDIA |
||
+ | // URL : http://fr.wikipedia.org/wiki/MediaWiki:Monobook.js |
||
+ | |||
+ | |||
+ | //============================================================ |
||
+ | // |
||
+ | // Fonctions de gestion |
||
+ | // |
||
+ | //============================================================ |
||
+ | |||
+ | /** |
||
+ | * Installation d'une nouvelle fonction de cette façon: |
||
+ | * aOnloadFunctions[aOnloadFunctions.length] = nom_de_la_fonction; // (sans parenthèses) |
||
+ | */ |
||
+ | if (!window.aOnloadFunctions) { |
||
+ | var aOnloadFunctions = new Array(); |
||
+ | } |
||
+ | |||
+ | window.onload = function() |
||
+ | { |
||
+ | if (window.aOnloadFunctions) { |
||
+ | for (var _i=0; _i<aOnloadFunctions.length; _i++) { |
||
+ | aOnloadFunctions[_i](); |
||
+ | } |
||
+ | } |
||
+ | } |
||
+ | |||
+ | |||
+ | /** |
||
+ | * Ajouter une nouvelle fonction a excuter au chargement de la page. |
||
+ | */ |
||
+ | function addLoadEvent(func) |
||
+ | { |
||
+ | if (window.addEventListener) |
||
+ | window.addEventListener("load", func, false); |
||
+ | else if (window.attachEvent) |
||
+ | window.attachEvent("onload", func); |
||
+ | } |
||
+ | |||
+ | |||
+ | |||
+ | //============================================================ |
||
+ | // |
||
+ | // Boites deroulantes |
||
+ | // |
||
+ | //============================================================ |
||
+ | |||
+ | // set up the words in your language |
||
+ | var NavigationBarHide = 'Hide'; |
||
+ | var NavigationBarShow = 'Show'; |
||
+ | |||
+ | // set up max count of Navigation Bars on page, |
||
+ | // if there are more, all will be hidden |
||
+ | // NavigationBarShowDefault = 0; // all bars will be hidden |
||
+ | // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden |
||
+ | var NavigationBarShowDefault = 0; |
||
+ | |||
+ | |||
+ | // shows and hides content and picture (if available) of navigation bars |
||
+ | // Parameters: |
||
+ | // indexNavigationBar: the index of navigation bar to be toggled |
||
+ | function toggleNavigationBar(indexNavigationBar) |
||
+ | { |
||
+ | var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); |
||
+ | var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); |
||
+ | |||
+ | if (!NavFrame || !NavToggle) { |
||
+ | return false; |
||
+ | } |
||
+ | |||
+ | // if shown now |
||
+ | if (NavToggle.firstChild.data == NavigationBarHide) { |
||
+ | for ( |
||
+ | var NavChild = NavFrame.firstChild; |
||
+ | NavChild != null; |
||
+ | NavChild = NavChild.nextSibling |
||
+ | ) { |
||
+ | if (NavChild.className == 'NavPic') { |
||
+ | NavChild.style.display = 'none'; |
||
+ | } |
||
+ | if (NavChild.className == 'NavContent') { |
||
+ | NavChild.style.display = 'none'; |
||
+ | } |
||
+ | if (NavChild.className == 'NavToggle') { |
||
+ | NavChild.firstChild.data = NavigationBarShow; |
||
+ | } |
||
+ | } |
||
+ | |||
+ | // if hidden now |
||
+ | } else if (NavToggle.firstChild.data == NavigationBarShow) { |
||
+ | for ( |
||
+ | var NavChild = NavFrame.firstChild; |
||
+ | NavChild != null; |
||
+ | NavChild = NavChild.nextSibling |
||
+ | ) { |
||
+ | if (NavChild.className == 'NavPic') { |
||
+ | NavChild.style.display = 'block'; |
||
+ | } |
||
+ | if (NavChild.className == 'NavContent') { |
||
+ | NavChild.style.display = 'block'; |
||
+ | } |
||
+ | if (NavChild.className == 'NavToggle') { |
||
+ | NavChild.firstChild.data = NavigationBarHide; |
||
+ | } |
||
+ | } |
||
+ | } |
||
+ | } |
||
+ | |||
+ | // adds show/hide-button to navigation bars |
||
+ | function createNavigationBarToggleButton() |
||
+ | { |
||
+ | var indexNavigationBar = 0; |
||
+ | // iterate over all <div>-elements |
||
+ | for( |
||
+ | var i=0; |
||
+ | NavFrame = document.getElementsByTagName("div")[i]; |
||
+ | i++ |
||
+ | ) { |
||
+ | // if found a navigation bar |
||
+ | if (NavFrame.className == "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(NavigationBarHide); |
||
+ | 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); |
||
+ | } |
||
+ | } |
||
+ | |||
+ | } |
||
+ | |||
+ | aOnloadFunctions[aOnloadFunctions.length] = createNavigationBarToggleButton; |
Latest revision as of 21:35, 14 February 2006
/* tooltips and access keys */ ta = new Object(); ta['pt-userpage'] = new Array('.','My user page'); ta['pt-anonuserpage'] = new Array('.','The user page for the ip you\'re editing as'); ta['pt-mytalk'] = new Array('n','My talk page'); ta['pt-anontalk'] = new Array('n','Discussion about edits from this ip address'); ta['pt-preferences'] = new Array('','My preferences'); ta['pt-watchlist'] = new Array('l','The list of pages you\'re monitoring for changes.'); ta['pt-mycontris'] = new Array('y','List of my contributions'); ta['pt-login'] = new Array('o','You are encouraged to log in, it is not mandatory however.'); ta['pt-anonlogin'] = new Array('o','You are encouraged to log in, it is not mandatory however.'); ta['pt-logout'] = new Array('o','Log out'); ta['ca-talk'] = new Array('t','Discussion about the content page'); ta['ca-edit'] = new Array('e','You can edit this page. Please use the preview button before saving.'); ta['ca-addsection'] = new Array('+','Add a comment to this discussion.'); ta['ca-viewsource'] = new Array('e','This page is protected. You can view its source.'); ta['ca-history'] = new Array('h','Past versions of this page.'); ta['ca-protect'] = new Array('=','Protect this page'); ta['ca-delete'] = new Array('d','Delete this page'); ta['ca-undelete'] = new Array('d','Restore the edits done to this page before it was deleted'); ta['ca-move'] = new Array('m','Move this page'); ta['ca-watch'] = new Array('w','Add this page to your watchlist'); ta['ca-unwatch'] = new Array('w','Remove this page from your watchlist'); ta['search'] = new Array('f','Search this wiki'); ta['p-logo'] = new Array('','Main Page'); ta['n-mainpage'] = new Array('z','Visit the Main Page'); ta['n-portal'] = new Array('','About the project, what you can do, where to find things'); ta['n-currentevents'] = new Array('','Find background information on current events'); ta['n-recentchanges'] = new Array('r','The list of recent changes in the wiki.'); ta['n-randompage'] = new Array('x','Load a random page'); ta['n-help'] = new Array('','The place to find out.'); ta['n-sitesupport'] = new Array('','Support us'); ta['t-whatlinkshere'] = new Array('j','List of all wiki pages that link here'); ta['t-recentchangeslinked'] = new Array('k','Recent changes in pages linked from this page'); ta['feed-rss'] = new Array('','RSS feed for this page'); ta['feed-atom'] = new Array('','Atom feed for this page'); ta['t-contributions'] = new Array('','View the list of contributions of this user'); ta['t-emailuser'] = new Array('','Send a mail to this user'); ta['t-upload'] = new Array('u','Upload images or media files'); ta['t-specialpages'] = new Array('q','List of all special pages'); ta['ca-nstab-main'] = new Array('c','View the content page'); ta['ca-nstab-user'] = new Array('c','View the user page'); ta['ca-nstab-media'] = new Array('c','View the media page'); ta['ca-nstab-special'] = new Array('','This is a special page, you can\'t edit the page itself.'); ta['ca-nstab-wp'] = new Array('a','View the project page'); ta['ca-nstab-image'] = new Array('c','View the image page'); ta['ca-nstab-mediawiki'] = new Array('c','View the system message'); ta['ca-nstab-template'] = new Array('c','View the template'); ta['ca-nstab-help'] = new Array('c','View the help page'); ta['ca-nstab-category'] = new Array('c','View the category page'); // RIPPED FROM FRENCH WIKIPEDIA // URL : http://fr.wikipedia.org/wiki/MediaWiki:Monobook.js //============================================================ // // Fonctions de gestion // //============================================================ /** * Installation d'une nouvelle fonction de cette façon: * aOnloadFunctions[aOnloadFunctions.length] = nom_de_la_fonction; // (sans parenthèses) */ if (!window.aOnloadFunctions) { var aOnloadFunctions = new Array(); } window.onload = function() { if (window.aOnloadFunctions) { for (var _i=0; _i<aOnloadFunctions.length; _i++) { aOnloadFunctions[_i](); } } } /** * Ajouter une nouvelle fonction a excuter au chargement de la page. */ function addLoadEvent(func) { if (window.addEventListener) window.addEventListener("load", func, false); else if (window.attachEvent) window.attachEvent("onload", func); } //============================================================ // // Boites deroulantes // //============================================================ // set up the words in your language var NavigationBarHide = 'Hide'; var NavigationBarShow = 'Show'; // set up max count of Navigation Bars on page, // if there are more, all will be hidden // NavigationBarShowDefault = 0; // all bars will be hidden // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden var NavigationBarShowDefault = 0; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled function toggleNavigationBar(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == NavigationBarHide) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarShow; } } // if hidden now } else if (NavToggle.firstChild.data == NavigationBarShow) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarHide; } } } } // adds show/hide-button to navigation bars function createNavigationBarToggleButton() { var indexNavigationBar = 0; // iterate over all <div>-elements for( var i=0; NavFrame = document.getElementsByTagName("div")[i]; i++ ) { // if found a navigation bar if (NavFrame.className == "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(NavigationBarHide); 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); } } } aOnloadFunctions[aOnloadFunctions.length] = createNavigationBarToggleButton;