« MediaWiki:Monobook.js » : différence entre les versions

De BoyWiki
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 7 : Ligne 7 :




/* pour les pages 'dialogue' affecte une classe au dernier tag dl de chaque paragraphe indentation */
/* Decoration des discussions dans Agora */
/* affecte une classe au dernier tag dl de chaque paragraphe indentation */
/* utilise par css pour encadrement colorise des dialogues indentes */
/* utilise par css pour encadrement colorise des dialogues indentes */


function dialog_indent_attrib_class() {
function dialog_indent_attrib_class() {
   /* seulement pour les pages dialogue */
   /* seulement pour les pages Agora */
   var bodyclass = document.body.className;
   var bodyclass = document.body.className;
   if (bodyclass.match(/ns-[14] /)) {
   if (bodyclass.match(/page-BoyWiki_Agora/)) {
      var prevnbindent = -1;
       document.body.className = bodyclass + ' dialog';
       document.body.className = bodyclass + ' dialog';
      /*var tbltags = document.body.childNodes;*/
       var tbltags = document.getElementById('bodyContent').childNodes;
       var tbltags = document.getElementById('bodyContent').childNodes;
       /* pour chaque noeud du div cherche les tags dl */
       /* pour chaque noeud du div cherche les tags dl */
Ligne 23 : Ligne 24 :
             var node = tbltags[n].firstChild;
             var node = tbltags[n].firstChild;
             /* parcourt recursivement la file des enfants du dl initial */
             /* parcourt recursivement la file des enfants du dl initial */
            var nbindent = 0;
             while (node != null) {
             while (node != null) {
               /* note le dernier dl trouve */
               /* note le dernier dl trouve et le niveau indentation */
               if (node.nodeName == 'DL')
               if (node.nodeName == 'DL') {
                   lastdl = node;
                   lastdl = node;
                  nbindent += 1;
              }
               node = node.firstChild;
               node = node.firstChild;
             }
             }
             /* affecte une classe au dernier dl enfant */
             /* affecte une classe au dernier dl enfant si niveau indentation different */
             lastdl.className = 'last_dl_tag';
             if (nbindent != prevnbindent)
              lastdl.className = 'last_dl_tag';
            prevnbindent = nbindent;
         }
         }
        /* sans indentation */
        else if (tbltags[n].nodeName == 'P')
            prevnbindent = -1;
       }
       }
   }
   }
}
}


/*addOnloadHook(dialog_indent_attrib_class);*/
addOnloadHook(dialog_indent_attrib_class);

Version du 30 janvier 2009 à 17:03

/* Tout JavaScript ici sera chargé avec les pages accédées par les utilisateurs de l’habillage MonoBook uniquement. */

/* Note: cette page n'est pas indispensable au fonctionnement du site, */
/* en cas d'erreur bloquante elle peut être vidée dans l'urgence. */




/* Decoration des discussions dans Agora */
/* affecte une classe au dernier tag dl de chaque paragraphe indentation */
/* utilise par css pour encadrement colorise des dialogues indentes */

function dialog_indent_attrib_class() {
   /* seulement pour les pages Agora */
   var bodyclass = document.body.className;
   if (bodyclass.match(/page-BoyWiki_Agora/)) {
      var prevnbindent = -1;
      document.body.className = bodyclass + ' dialog';
      var tbltags = document.getElementById('bodyContent').childNodes;
      /* pour chaque noeud du div cherche les tags dl */
      for (var n=0; n<tbltags.length; n++) {
         if (tbltags[n].nodeName == 'DL') {
            var lastdl = tbltags[n];
            var node = tbltags[n].firstChild;
            /* parcourt recursivement la file des enfants du dl initial */
            var nbindent = 0;
            while (node != null) {
               /* note le dernier dl trouve et le niveau indentation */
               if (node.nodeName == 'DL') {
                  lastdl = node;
                  nbindent += 1;
               }
               node = node.firstChild;
            }
            /* affecte une classe au dernier dl enfant si niveau indentation different */
            if (nbindent != prevnbindent) 
               lastdl.className = 'last_dl_tag';
            prevnbindent = nbindent;
         }
         /* sans indentation */
         else if (tbltags[n].nodeName == 'P')
            prevnbindent = -1;
      }
   }
}

addOnloadHook(dialog_indent_attrib_class);