Aller au contenu

« MediaWiki:Vector-2022.js » : différence entre les versions

De Encyclopédie : Brigades Internationales,volontaires français et immigrés en Espagne (1936-1939)
Roland (discussion | contributions)
Menu principal epingle par defaut, y compris pour les visiteurs anonymes
 
Roland (discussion | contributions)
Menu principal affiche lateralement pour tous les visiteurs
Ligne 1 : Ligne 1 :
/* Épingle le menu principal dans la colonne de gauche, y compris pour les
/* Affiche le menu principal dans la colonne de gauche pour TOUS les visiteurs.
* visiteurs non connectés.
  *
  *
  * Vector 2022 réserve cet épinglage aux comptes connectés : la fonctionnalité
  * Vector 2022 réserve cet affichage aux comptes connectés : la fonctionnalité
  * exige REQUIREMENT_LOGGED_IN dans FeatureManagerFactory, et les liens de
  * exige REQUIREMENT_LOGGED_IN dans FeatureManagerFactory, et le conteneur
  * navigation ne sont donc pas rendus dans le conteneur latéral. Aucune règle
  * latéral ne reçoit alors que son en-tête, sans les liens. Aucune règle CSS ne
  * CSS ne peut les y faire apparaître.
  * 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 actionne ici le bouton « déplacer vers la barre latérale » de l'habillage
  * On déplace donc nous-mêmes le menu dans le conteneur latéral. Ce choix est
  * lui-même, plutôt que de modifier son code : cette page wiki survit aux mises
  * délibéré plutôt qu'un correctif dans skins/Vector/ : une page wiki survit
  * à jour de MediaWiki, un correctif dans skins/Vector/ serait écrasé.
  * aux mises à jour de MediaWiki, alors que l'arbre w/ est remplacé en entier.
*
* 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 () {
$( function () {
Ligne 15 : Ligne 19 :


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


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


if ( button ) {
if ( !menu || !cible ) {
button.click();
return;
}
}
cible.appendChild( menu );
html.classList.remove( 'vector-feature-main-menu-pinned-disabled' );
html.classList.add( 'vector-feature-main-menu-pinned-enabled' );
} );
} );

Version du 30 juillet 2026 à 14:07

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