Helmstedt-Wiki:Technik/Skin/Gadgets/navileisteAutocollapse
Helmstedt-Wiki:Technik/Linkbox
navileisteAutocollapse
Das Gadget navileisteAutocollapse ermöglicht das optionale Einklappen einer bestimmten Anzahl von Navigationsleisten (Klappleisten mit der Klasse navileiste) pro Seite.
- JavaScript muss im Browser aktiviert sein (bei dir ist es momentan nicht aktiviert).
Um festzulegen, ab welcher Anzahl von Navigationsleisten pro Seite alle eingeklappt werden sollen, muss die Variable NavigationBarShowDefault gesetzt sein, siehe Hilfe:Navigationsleisten #Navigationsleisten dynamisch ein- und ausklappen. Standardmäßig ist dies 1, das heißt, wenn mehr als eine Navigationsleiste auf einer Seite vorhanden ist, dann werden alle eingeklappt.
In MediaWiki:Common.js befand sich bis August 2025 ein ähnliches Skript, das eine vergleichbare Funktionalität für die abgelöste NavFrame-Technik der Navigationsleisten bereitgestellt hat. Diese wird in einigen nachgeordneten Namensräumen bis zur vollständigen Migration mit dem Gadget NavFrameLegacy weiter angeboten.
Aktivierung
Der leichteste Weg wäre als angemeldetes Konto durch einfaches Ankreuzen. Helmstedt-Wiki:Technik/Skin/Gadgets/!Einstellung Es kann sein, dass man das anders handhaben möchte:
- Ohne Anmeldung über Greasemonkey.
- In einem anderen Wiki oder global.
- Nur unter bestimmten, programmatisch formulierten Bedingungen.
- Auf Mobilgeräten; die Standard-Aktivierung des Projekts wirkt nur bei Desktop.
Aus jeder Seite des Helmstedt-Wikis heraus funktioniert dann mittels JavaScript:
mw.loader.load( "ext.gadget.navileisteAutocollapse" );Aus anderen Wikis – insbesondere global – (und auch außerhalb der WMF) ist möglich:
mw.loader.load( "https://de.wikipedia.org/w/load.php?modules=ext.gadget.navileisteAutocollapse" );Profil
Lua-Fehler in Modul:MediaWikiGadgetDefinition, Zeile 462: attempt to index field 'data' (a nil value)
Funktionalität
Standardmäßig sind alle Navigationsleisten ausgeklappt. Das Gadget prüft, nachdem die einklappbaren Leisten initialisiert sind, ob die Anzahl auf einer Seite gefundener Navigationsleisten größer als der Zahlenwert NavigationBarShowDefault ist. Ist dies der Fall, wird für jede Navigationsleiste die Methode .collapse() aus jQuery.makeCollapsible aufgerufen.
Um „kreative“ Verwendungen zu unterbinden, ist der Filterselektor bewusst spezifisch auf .navileiste und .klappleiste gehalten.
JS
( function ( mw, $ ) {
'use strict';
async function init( $collapsibles ) {
let $nav = $collapsibles.filter( '.klappleiste.navileiste' );
if ( !$nav.length ) {
return;
}
await mw.loader.using( [ 'user', 'mediawiki.user', 'user.options' ] );
let showDefaultCount = mw.user.options.get(
'NavigationBarShowDefault',
typeof window.NavigationBarShowDefault !== 'undefined' ? window.NavigationBarShowDefault : 1
);
if ( showDefaultCount < $nav.length && mw.config.get( 'wgNamespaceNumber' ) !== 10 ) {
$nav.each( function () {
$( this ).data( 'mw-collapsible' ).collapse();
} );
}
}
mw.hook( 'wikipage.collapsibleContent' ).add( init );
}( window.mediaWiki, window.jQuery ) );Änderungswünsche
Bitte auf MediaWiki/Änderungen vorschlagen.