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

Contenu supprimé Contenu ajouté
nocat
Aucun résumé des modifications
Ligne 439 :
*/
//</pre>
 
/**
* Pour [[Modèle:Boîte déroulante]]
*/
 
var BoiteDeroulante_Derouler = '[afficher]';
var BoiteDeroulante_Enrouler = '[masquer]';
 
function BoiteDeroulante_toggle(NavToggle){
var NavFrame = NavToggle.parentNode;
 
var caption = [];
caption[0] = NavFrame.dataset.boiteDeroulanteDerouler;
caption[1] = NavFrame.dataset.boiteDeroulanteEnrouler;
 
var $NavContent = $(NavFrame).find('.NavContent').first();
 
if ( NavToggle.textContent === caption[1] ) {
NavToggle.textContent = caption[0];
$NavContent.hide();
} else {
NavToggle.textContent = caption[1];
$NavContent.show();
}
}
 
function BoiteDeroulante( $content ) {
 
$content.find( '.NavFrame' ).each( function ( _, NavFrame ) {
var CustomTexts, Derouler, Enrouler, NavToggle;
 
if (NavFrame.title && NavFrame.title.indexOf("/") !== -1) {
CustomTexts = NavFrame.title.split("/");
Derouler = CustomTexts[0];
Enrouler = CustomTexts[1];
} else {
Derouler = BoiteDeroulante_Derouler;
Enrouler = BoiteDeroulante_Enrouler;
}
NavFrame.title = '';
NavFrame.dataset.boiteDeroulanteDerouler = Derouler;
NavFrame.dataset.boiteDeroulanteEnrouler = Enrouler;
 
NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.href = 'javascript:';
NavToggle.onclick = function (e) {
e.preventDefault();
BoiteDeroulante_toggle(e.target);
};
NavToggle.textContent = Enrouler;
 
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);
 
BoiteDeroulante_toggle(NavToggle);
} );
 
// permet de dérouler/enrouler les boîtes en cliquant n'importe où sur l'entête
$content.find( '.NavHead' )
.click( function ( e ) {
if ( $( e.target ).closest( 'a' ).length ) {
return;
}
var toggle = $( this ).siblings( 'a.NavToggle' )[0];
if ( toggle ) {
toggle.click(); // pas du jquery, mais du vanilla js
}
} )
.css( 'cursor', 'pointer' );
}
 
mw.hook( 'wikipage.content' ).add( BoiteDeroulante );
 
 
/**
* Fonctionnement du [[Modèle:Animation]]
* Le JavaScript principal se situe dans [[MediaWiki:Gadget-Diaporama.js]]
*/
mw.hook( 'wikipage.content' ).add( function ( $content ) {
if ( $content.find( '.diaporama' ).length ) {
mw.loader.using( 'ext.gadget.Diaporama', function () {
Diaporama_Init( $content );
} );
}
} );