Différences entre les versions de « MediaWiki:Common.js »

De Wikirouge
Aller à la navigation Aller à la recherche
Ligne 22 : Ligne 22 :
 
alert('dérouler');
 
alert('dérouler');
 
}
 
}
 +
}
  
 
/**
 
/**

Version du 16 avril 2021 à 15:21

/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */


$(document).ready(function() { 
	
/**
 * Pour le Programme
 */

$('.section-expandable').wrapInner("<div class='section-expandable-content'></div>");
$('.section-expandable').append("<div class='section-expandable-toggle'>↧</div>");

$('.section-expandable').click(function(ev){
	var sectionselected = $(ev.target).closest('.section-expandable');
	sectionselected.children('.section-expandable-toggle').remove();
    sectionselected.children('.section-expandable-content').contents().unwrap();
});

document.onkeydown = (keyDownEvent) => {
	isKeyPressed[keyDownEvent.key] = true;
	if (isKeyPressed['d'] && isKeyPressed['e']) {
		alert('dérouler');
	}
}

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





});