« MediaWiki:Monobook.js » : différence entre les versions
De BoyWiki
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 7 : | Ligne 7 : | ||
/* | /* 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 | /* seulement pour les pages Agora */ | ||
var bodyclass = document.body.className; | var bodyclass = document.body.className; | ||
if (bodyclass.match(/ | if (bodyclass.match(/page-BoyWiki_Agora/)) { | ||
var prevnbindent = -1; | |||
document.body.className = bodyclass + ' dialog'; | document.body.className = bodyclass + ' dialog'; | ||
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); |
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);