MediaWiki:Common.js: Unterschied zwischen den Versionen
Erscheinungsbild
Gerard (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Gerard (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
/* | /* ============================================================ | ||
Vector‑2022 – Collapse-Zustand merken | |||
============================================================ */ | |||
mw.hook('wikipage.content').add(function () { | |||
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) { | |||
if ( | menu.hide(); // Nur dieses Menü ausblenden | ||
} | } | ||
}); | }); | ||
}); | }); | ||
Version vom 27. Mai 2026, 15:52 Uhr
/* ============================================================
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
}
});
});