Zum Inhalt springen

MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus BlueX
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
/* Das folgende JavaScript wird für alle Benutzer geladen. */
/* ============================================================
/** Namensräume für die Seitenvorschau **/
  Vector‑2022 – Collapse-Zustand merken
mw.config.set('wgContentNamespaces', [0, 100]);
  ============================================================ */


//
mw.hook('wikipage.content').add(function () {
// Icons für Bearbeiten / Quelltext bearbeiten (Vector‑2022)
//
mw.hook('wikipage.content').add(function($content) {


     $content.find('.mw-editsection a').each(function() {
     // Nur Vector‑2022
        var $a = $(this);
    if (mw.config.get('skin') !== 'vector-2022') return;
        var text = $a.text().trim();


        // Text ausblenden
    // Alle Menüs durchgehen
        $a.css({
    $('.vector-menu-heading').each(function () {
            'font-size': '0',
 
            'display': 'inline-block',
        const heading = $(this);
            'width': '22px',
        const content = heading.next('.vector-menu-content');
            'height': '22px',
 
             'background-size': 'contain',
        // Jede Box hat eine ID (z. B. p-navigation, p-TS-Universum)
             'background-repeat': 'no-repeat',
        const menu = heading.closest('.vector-menu');
            'background-position': 'center',
        const id = menu.attr('id');
            'vertical-align': 'middle',
 
             'margin-left': '4px'
        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');


         // Normales Bearbeiten
         // Prüfen: Überschrift leer UND Inhalt leer?
         if (text === 'Bearbeiten') {
         const headingEmpty = $.trim(heading.text()) === "";
            $a.css('background-image', 'url("/Wiki_BlueX/images/e/e6/EditIcon.png")');
        const contentEmpty = content.find('li').length === 0;
        }


        // Quelltext bearbeiten
         if (headingEmpty && contentEmpty) {
         if (text === 'Quelltext bearbeiten') {
             menu.hide(); // Nur dieses Menü ausblenden
             $a.css('background-image', 'url("/Wiki_BlueX/images/f/f6/QEditIcon.png")');
         }
         }
     });
     });
    // Klammern entfernen
    $content.find('.mw-editsection').css('font-size', '0');
});
});

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
        }
    });
});