Aller au contenu

MediaWiki:Vector-2022.js

De Encyclopédie : Brigades Internationales,volontaires français et immigrés en Espagne (1936-1939)
Version datée du 30 juillet 2026 à 14:14 par Roland (discussion | contributions) (Menu lateral : corriger aussi l'etat de l'en-tete epinglable)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)

Note : après avoir publié 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 appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
  • Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
  •  Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
/* Affiche le menu principal dans la colonne de gauche pour TOUS les visiteurs.
 *
 * Vector 2022 réserve cet affichage aux comptes connectés : la fonctionnalité
 * exige REQUIREMENT_LOGGED_IN dans FeatureManagerFactory, et le conteneur
 * latéral ne reçoit alors que son en-tête, sans les liens. Aucune règle CSS ne
 * peut donc l'obtenir, et le bouton « déplacer vers la barre latérale » de
 * l'habillage reste sans effet en anonyme (vérifié).
 *
 * On déplace donc nous-mêmes le menu dans le conteneur latéral. Ce choix est
 * délibéré plutôt qu'un correctif dans skins/Vector/ : une page wiki survit
 * aux mises à jour de MediaWiki, alors que l'arbre w/ est remplacé en entier.
 *
 * Les boutons épingler/masquer sont retirés ici plutôt qu'en CSS : la règle de
 * Vector a la même spécificité et l'emporte selon l'ordre de chargement des
 * feuilles, ce qui rend l'override fragile.
 *
 * Si une version future de Vector renomme ces classes, le script ne trouvera
 * plus ses éléments et le wiki reviendra simplement au menu déroulant : la
 * panne est silencieuse mais sans conséquence.
 */
$( function () {
	var html = document.documentElement;

	if ( !html.classList.contains( 'vector-feature-main-menu-pinned-disabled' ) ) {
		return; // déjà affiché : compte connecté ou préférence enregistrée
	}

	var menu = document.querySelector( '.vector-main-menu' );
	var cible = document.getElementById( 'vector-main-menu-pinned-container' );

	if ( !menu || !cible ) {
		return;
	}

	cible.appendChild( menu );
	html.classList.remove( 'vector-feature-main-menu-pinned-disabled' );
	html.classList.add( 'vector-feature-main-menu-pinned-enabled' );

	var entete = menu.querySelector( '.vector-main-menu-pinnable-header' );
	if ( entete ) {
		entete.classList.remove( 'vector-pinnable-header-unpinned' );
		entete.classList.add( 'vector-pinnable-header-pinned' );
		entete.querySelectorAll( '.vector-pinnable-header-toggle-button' )
			.forEach( function ( bouton ) {
				bouton.style.display = 'none';
			} );
	}
} );