MediaWiki:Common.js
Erscheinungsbild
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
/* ============================================================
Sidebar einklappbar – Vector‑2011 + Vector‑2022
============================================================ */
$(document).ready(function() {
/* Vector‑2022 */
$('.mw-portlet .vector-menu-heading').each(function() {
const heading = $(this);
// Vector‑2022: Inhalt liegt in .vector-menu-content-list
const content = heading.closest('.mw-portlet').find('.vector-menu-content-list');
if (content.length) {
heading.css('cursor', 'pointer');
heading.on('click', function(e) {
e.preventDefault();
e.stopPropagation();
content.slideToggle(200);
heading.toggleClass('collapsed');
});
}
});
/* Vector‑2011 */
$('.mw-portlet h3').each(function() {
const heading = $(this);
const content = heading.next('.body');
if (content.length) {
heading.css('cursor', 'pointer');
heading.on('click', function() {
content.slideToggle(200);
heading.toggleClass('collapsed');
});
}
});
});
/* Sidebar-Zustände speichern und wiederherstellen (Vector-2022, MW 1.45.3) */
mw.loader.using('mediawiki.util').then(function () {
document.addEventListener('DOMContentLoaded', function () {
const sections = document.querySelectorAll('#vector-sidebar .vector-menu');
sections.forEach(section => {
const heading = section.querySelector('.vector-menu-heading');
if (!heading || !section.id) return;
const key = 'sidebar-state-' + section.id;
// Zustand wiederherstellen
const saved = localStorage.getItem(key);
if (saved === 'collapsed') {
section.classList.add('vector-menu-collapsed');
}
// Nach dem Klick speichern (nachdem Vector umgeschaltet hat)
heading.addEventListener('click', () => {
setTimeout(() => {
const isCollapsed = section.classList.contains('vector-menu-collapsed');
localStorage.setItem(key, isCollapsed ? 'collapsed' : 'expanded');
}, 0);
});
});
});
});
/* Beim Laden der Seite alle Sidebar-Blöcke zuklappen (Vector-2022) */
document.addEventListener('DOMContentLoaded', function () {
const sections = document.querySelectorAll('#vector-sidebar .vector-menu');
sections.forEach(section => {
section.classList.add('vector-menu-collapsed');
});
});