MediaWiki:Common.js
De Wicri Sarre
Révision datée du 24 juin 2017 à 18:03 par imported>Jacques Ducloy (1 révision importée)
Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
- Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac)
- Google Chrome : appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac)
- Internet Explorer : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5
- Opera : allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d’exploration → Images et fichiers en cache.
/**
* Boîtes déroulantes
*
* Pour [[Modèle:Méta palette de navigation]]
*/
var Palette_Enrouler = '[masquer]';
var Palette_Derouler = '[afficher]';
var Palette_max = 1;
function Palette_toggle( $table ) {
$table.find( 'tr:not(:first)' ).toggleClass( 'navboxHidden' );
}
function Palette( element ) {
if ( !element ) {
element = document;
}
var $tables = $( element ).find( 'table.collapsible' );
var groups = {};
$tables.each( function( _, table ) {
var group = table.getAttribute('data-autocollapse-group') || '__default__';
groups[group] = ( groups[group] || 0 ) + 1;
} );
$tables.each( function( _, table ) {
var $table = $( table );
var group = table.getAttribute('data-autocollapse-group') || '__default__';
var autoCollapse = groups[group] > Palette_max;
var collapsed = $table.hasClass( 'collapsed' ) || ( autoCollapse && $table.hasClass( 'autocollapse' ) );
$table.find( 'tr:first th:first' ).prepend(
$( '<span class="navboxToggle">\u00a0</span>' ).append(
$( '<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>' ).click( function() {
var $this = $( this );
if ( $this.text() === Palette_Enrouler ) {
$this.text( Palette_Derouler );
} else {
$this.text( Palette_Enrouler );
}
Palette_toggle( $table );
return false;
} )
)
);
if ( collapsed ) {
Palette_toggle( $table );
}
} );
}
$( function() {
Palette();
} );
/**
* Pour [[Modèle:Boîte déroulante]]
*/
var BoiteDeroulante_Enrouler = '[masquer]';
var BoiteDeroulante_Derouler = '[afficher]';
var BoiteDeroulante_max = 0;
var BoiteDeroulante_index = -1;
function BoiteDeroulante_toggle(indexBoiteDeroulante){
var a, m;
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);
if (!NavFrame || !NavToggle || !CaptionContainer) {
return;
}
var caption = [];
var CaptionSpans = CaptionContainer.getElementsByTagName('span');
caption[0] = CaptionSpans[0].innerHTML;
caption[1] = CaptionSpans[1].innerHTML;
var Contents = NavFrame.getElementsByTagName('div');
if ( NavToggle.innerHTML === caption[1] ) {
NavToggle.innerHTML = caption[0];
for ( a=0, m=Contents.length; a<m; a++ ) {
if ( $( Contents[a] ).hasClass( 'NavContent' ) ) {
Contents[a].style.display = 'none';
return;
}
}
} else {
NavToggle.innerHTML = caption[1];
for ( a=0, m=Contents.length; a<m; a++ ) {
if ( $(Contents[a]).hasClass("NavContent") ) {
Contents[a].style.display = 'block';
return;
}
}
}
}
function BoiteDeroulante(Element){
if (!Element) {
Element = document;
}
var i, l, Enrouler, Derouler, CaptionContainer, NavToggle, NavToggleText, NavFrame;
var NavFrameCount = -1;
var NavFrames = Element.getElementsByTagName("div");
for ( i=0, l=NavFrames.length; i<l; i++ ){
if ( $( NavFrames[i] ).hasClass( 'NavFrame' ) ){
NavFrame = NavFrames[i];
NavFrameCount++;
BoiteDeroulante_index++;
if (NavFrame.title && NavFrame.title.indexOf("/") !== -1) {
Enrouler = NavFrame.title.HTMLize().split("/")[1];
Derouler = NavFrame.title.HTMLize().split("/")[0];
} else {
Enrouler = BoiteDeroulante_Enrouler;
Derouler = BoiteDeroulante_Derouler;
}
NavFrame.title='';
CaptionContainer = document.createElement('span');
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;
CaptionContainer.style.display = "none";
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';
NavFrame.appendChild(CaptionContainer);
NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';
NavToggleText = document.createTextNode(Enrouler);
NavToggle.appendChild(NavToggleText);
NavFrame.insertBefore( NavToggle, NavFrame.firstChild );
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;
if (BoiteDeroulante_max <= NavFrameCount) {
BoiteDeroulante_toggle(BoiteDeroulante_index);
}
}
}
}
mw.hook( 'wikipage.content' ).add( function() {
BoiteDeroulante();
} );