Zum Inhalt springen

MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus TerranianStar
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Markierung: Zurückgesetzt
Zeile 63: Zeile 63:
             content.toggle();
             content.toggle();
             var collapsed = content.is(':hidden');
             var collapsed = content.is(':hidden');
            localStorage.setItem(key, collapsed ? 'collapsed' : 'expanded');
        });
    });
});
mw.hook('wikipage.content').add(function () {
    $('.mw-portlet').each(function () {
        var id = $(this).attr('id');
        if (!id) return;
        var key = 'portlet-state-' + id;
        var state = localStorage.getItem(key);
        var portlet = $(this);
        var heading = portlet.find('.vector-menu-heading');
        var content = portlet.find('.vector-menu-content');
        // Zustand wiederherstellen
        if (state === 'collapsed') {
            content.hide();
            heading.addClass('collapsed');
        } else {
            content.show();
            heading.removeClass('collapsed');
        }
        // Klick-Handler
        heading.off('click.portlet').on('click.portlet', function () {
            content.toggle();
            var collapsed = content.is(':hidden');
            if (collapsed) {
                heading.addClass('collapsed');
            } else {
                heading.removeClass('collapsed');
            }
             localStorage.setItem(key, collapsed ? 'collapsed' : 'expanded');
             localStorage.setItem(key, collapsed ? 'collapsed' : 'expanded');
         });
         });
     });
     });
});
});

Version vom 26. Mai 2026, 12:29 Uhr

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

});

/* Zustände merken */
mw.hook('wikipage.content').add(function () {
    $('.mw-portlet').each(function () {
        var id = $(this).attr('id');
        if (!id) return;

        var key = 'portlet-state-' + id;
        var state = localStorage.getItem(key);

        // Zustand wiederherstellen
        if (state === 'collapsed') {
            $(this).addClass('vector-menu-collapsed');
            $(this).find('.vector-menu-content').hide();
        }

        // Klick-Handler
        $(this).find('.vector-menu-heading').off('click.portlet').on('click.portlet', function () {
            var portlet = $(this).closest('.mw-portlet');
            var content = portlet.find('.vector-menu-content');

            content.toggle();
            var collapsed = content.is(':hidden');
            localStorage.setItem(key, collapsed ? 'collapsed' : 'expanded');
        });
    });
});

mw.hook('wikipage.content').add(function () {
    $('.mw-portlet').each(function () {
        var id = $(this).attr('id');
        if (!id) return;

        var key = 'portlet-state-' + id;
        var state = localStorage.getItem(key);

        var portlet = $(this);
        var heading = portlet.find('.vector-menu-heading');
        var content = portlet.find('.vector-menu-content');

        // Zustand wiederherstellen
        if (state === 'collapsed') {
            content.hide();
            heading.addClass('collapsed');
        } else {
            content.show();
            heading.removeClass('collapsed');
        }

        // Klick-Handler
        heading.off('click.portlet').on('click.portlet', function () {
            content.toggle();
            var collapsed = content.is(':hidden');

            if (collapsed) {
                heading.addClass('collapsed');
            } else {
                heading.removeClass('collapsed');
            }

            localStorage.setItem(key, collapsed ? 'collapsed' : 'expanded');
        });
    });
});