Utilisateur:Daniel-pierre/monobook.js

De Mystpedia.

< Utilisateur:Daniel-pierre(Différences entre les versions)
 
Ligne 1 : Ligne 1 :
-
  /*
+
  /* <nowiki><</nowiki>nowiki> */
-
* OngletPurge
+
/* tooltips and access keys */
-
*
+
ta = new Object();
-
* Onglet permettant de réaliser une purge du cache
+
ta['pt-userpage'] = new Array('.','My user page');
-
*
+
ta['pt-anonuserpage'] = new Array('.','The user page for the ip you\'re editing as');
-
* Auteur : ??
+
ta['pt-mytalk'] = new Array('n','My talk page');
-
* Dernière révision : 7 juin 2007
+
ta['pt-anontalk'] = new Array('n','Discussion about edits from this ip address');
-
* [[Catégorie:MediaWiki:Fonction Monobook en JavaScript]]
+
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');
-
function OngletPurge() {
+
ta['pt-login'] = new Array('o','You are encouraged to log in, it is not mandatory however.');
-
        if (wgNamespaceNumber >= 0 && !document.getElementById('toolbar')) {
+
ta['pt-anonlogin'] = new Array('o','You are encouraged to log in, it is not mandatory however.');
-
                addPortletLink('p-cactions', wgScriptPath + '/index.php?title=' + wgPageName + '&action=purge', 'purger', 'ca-purge', 'purger le cache de la page', 'p');
+
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');
 +
 
 +
// ============================================================
 +
// BEGIN Enable multiple onload functions
 +
 
 +
// setup onload functions this way:
 +
// aOnloadFunctions[aOnloadFunctions.length] = function_name; // without brackets!
 +
 
 +
if (!window.aOnloadFunctions) {
 +
  var aOnloadFunctions = new Array();
}
}
-
+
 
-
addOnloadHook(OngletPurge);
+
window.onload = function() {
-
/* -- */
+
   if (window.aOnloadFunctions) {
-
+
     for (var _i=0; _i<aOnloadFunctions.length; _i++) {
-
function hasClass(node, className) {
+
      aOnloadFunctions[_i]();
-
   if (node.className == className) {
+
    }
-
     return true;
+
   }
   }
-
  var reg = new RegExp('(^| )'+ className +'($| )')
 
-
  if (reg.test(node.className)) {
 
-
    return true;
 
-
  }
 
-
  return false;
 
}
}
-
+
 
-
/* -- */
+
// END Enable multiple onload functions
-
+
// ============================================================
-
/* var autoCollapse = 2; */
+
 
-
var collapseCaption = '[ Enrouler ]';
+
// ============================================================
-
var expandCaption = '[ Dérouler ]';
+
// BEGIN Dynamic Navigation Bars
-
+
 
-
+
// set up the words in your language
-
/**
+
var NavigationBarHide = 'Enrouler';
-
* Pour [[Modèle:Boîte déroulante]]
+
var NavigationBarShow = 'Dérouler';
-
*/
+
 
 +
// 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;
var NavigationBarShowDefault = 0;
-
+
 
-
function toggleNavigationBar(indexNavigationBar) {
+
 
-
  var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
+
// shows and hides content and picture (if available) of navigation bars
-
  var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
+
// Parameters:
-
+
//    indexNavigationBar: the index of navigation bar to be toggled
-
  if (!NavFrame || !NavToggle) return;
+
function toggleNavigationBar(indexNavigationBar)
-
+
{
-
  // ajout par Dake - permet de créer un titre en lieu et place du "Dérouler" grâce
+
    var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
-
  // à l'attribut "title" du tag.
+
    var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
-
  var ShowText;
+
 
-
+
    if (!NavFrame || !NavToggle) {
-
  if (NavFrame.title == undefined || NavFrame.title.length == 0 ) {
+
        return false;
-
    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
+
    // if shown now
-
  } else if (NavToggle.firstChild.data == ShowText) {
+
    if (NavToggle.firstChild.data == NavigationBarHide) {
-
    for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {
+
        for (
-
      if (hasClass(NavChild, 'NavPic')) NavChild.style.display = 'block';
+
                var NavChild = NavFrame.firstChild;
-
      if (hasClass(NavChild, 'NavContent')) NavChild.style.display = 'block';
+
                NavChild != null;
-
      if (hasClass(NavChild, 'NavToggle')) NavChild.firstChild.data = collapseCaption;
+
                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
// adds show/hide-button to navigation bars
-
function createNavigationBarToggleButton() {
+
function createNavigationBarToggleButton()
-
  var indexNavigationBar = 0;
+
{
-
  var NavFrame;
+
    var indexNavigationBar = 0;
-
  // iterate over all < div >-elements
+
    // iterate over all <div>-elements
-
  for( var i=0; NavFrame = document.getElementsByTagName("div")[i]; i++ ) {
+
    for(
-
    // if found a navigation bar
+
            var i=0;  
-
    if (hasClass(NavFrame, "NavFrame")) {
+
            NavFrame = document.getElementsByTagName("div")[i];  
-
      indexNavigationBar++;
+
            i++
-
      var NavToggle = document.createElement("a");
+
        ) {
-
      NavToggle.className = 'NavToggle';
+
        // if found a navigation bar
-
      NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
+
        if (NavFrame.className == "NavFrame") {
-
      NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
+
 
-
+
            indexNavigationBar++;
-
      var NavToggleText = document.createTextNode(collapseCaption);
+
            var NavToggle = document.createElement("a");
-
      NavToggle.appendChild(NavToggleText);
+
            NavToggle.className = 'NavToggle';
-
+
            NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
-
      // add NavToggle-Button as first div-element  
+
            NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
-
      // in <div class="NavFrame">
+
 
-
      NavFrame.insertBefore( NavToggle, NavFrame.firstChild );
+
            var NavToggleText = document.createTextNode(NavigationBarHide);
-
      NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
+
            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 more Navigation Bars found than Default: hide all
+
    if (NavigationBarShowDefault < indexNavigationBar) {
-
  if (NavigationBarShowDefault < indexNavigationBar) {
+
        for(
-
    for( var i=1; i<=indexNavigationBar; i++ ) {
+
                var i=1;  
-
      toggleNavigationBar(i);
+
                i<=indexNavigationBar;  
 +
                i++
 +
        ) {
 +
            toggleNavigationBar(i);
 +
        }
     }
     }
-
  }
+
 
}
}
-
+
 
-
addOnloadHook(createNavigationBarToggleButton);
+
aOnloadFunctions[aOnloadFunctions.length] = createNavigationBarToggleButton;
 +
 
 +
// END Dynamic Navigation Bars
 +
// ============================================================
 +
/* <nowiki><</nowiki>/nowiki> */

Version actuelle en date du 26 septembre 2008 à 17:30

 /* <nowiki><</nowiki>nowiki> */
/* 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');

// ============================================================
// BEGIN Enable multiple onload functions

// setup onload functions this way:
// aOnloadFunctions[aOnloadFunctions.length] = function_name; // without brackets!

if (!window.aOnloadFunctions) {
  var aOnloadFunctions = new Array();
}

window.onload = function() {
  if (window.aOnloadFunctions) {
    for (var _i=0; _i<aOnloadFunctions.length; _i++) {
      aOnloadFunctions[_i]();
    }
  }
}

// END Enable multiple onload functions
// ============================================================

// ============================================================
// BEGIN Dynamic Navigation Bars

// set up the words in your language
var NavigationBarHide = 'Enrouler';
var NavigationBarShow = 'Dérouler';

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

// END Dynamic Navigation Bars
// ============================================================
 /* <nowiki><</nowiki>/nowiki> */