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;