MediaWiki:Common.js: Unterschied zwischen den Versionen
Erscheinungsbild
Gerard (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Gerard (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
/* Das folgende JavaScript wird für alle Benutzer geladen. */ | |||
/* Saubere Version ohne ModifySidebar-Hacks (MediaWiki 1.45 kompatibel) */ | |||
/* Beispiel: kleine JS-Helfer oder Funktionen können hier rein, | |||
aber KEINE Manipulation der Toolbox oder Sidebar mehr! */ | |||
/* Platzhalter – hier kannst du später eigene Funktionen ergänzen */ | |||
/* ============================================================ | /* ============================================================ | ||
Vector‑2022 – Collapse-Zustand merken | Vector‑2022 – Collapse-Zustand merken | ||
Version vom 29. Mai 2026, 17:12 Uhr
/* Das folgende JavaScript wird für alle Benutzer geladen. */
/* Saubere Version ohne ModifySidebar-Hacks (MediaWiki 1.45 kompatibel) */
/* Beispiel: kleine JS-Helfer oder Funktionen können hier rein,
aber KEINE Manipulation der Toolbox oder Sidebar mehr! */
/* Platzhalter – hier kannst du später eigene Funktionen ergänzen */
/* ============================================================
Vector‑2022 – Collapse-Zustand merken
============================================================ */
mw.hook('wikipage.content').add(function () {
// Nur Vector‑2022
if (mw.config.get('skin') !== 'vector-2022') return;
// Alle Menüs durchgehen
$('.vector-menu-heading').each(function () {
const heading = $(this);
const content = heading.next('.vector-menu-content');
// Jede Box hat eine ID (z. B. p-navigation, p-TS-Universum)
const menu = heading.closest('.vector-menu');
const id = menu.attr('id');
if (!id) return; // Sicherheit
// Zustand aus localStorage laden
const saved = localStorage.getItem('v22-collapse-' + id);
if (saved === 'collapsed') {
content.hide();
heading.addClass('collapsed');
}
// Klick-Handler setzen (sauber, ohne doppelte Events)
heading.off('click.v22').on('click.v22', function () {
heading.toggleClass('collapsed');
content.slideToggle(120);
// Zustand speichern
localStorage.setItem(
'v22-collapse-' + id,
heading.hasClass('collapsed') ? 'collapsed' : 'open'
);
});
});
});
/* ============================================================
Vector‑2022 – Leere Menüs automatisch ausblenden
============================================================ */
mw.hook('wikipage.content').add(function () {
if (mw.config.get('skin') !== 'vector-2022') return;
$('.vector-menu').each(function () {
const menu = $(this);
const heading = menu.find('.vector-menu-heading');
const content = menu.find('.vector-menu-content');
// Prüfen: Überschrift leer UND Inhalt leer?
const headingEmpty = $.trim(heading.text()) === "";
const contentEmpty = content.find('li').length === 0;
if (headingEmpty && contentEmpty) {
menu.hide(); // Nur dieses Menü ausblenden
}
});
});