MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus TerranianStar
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 40: Zeile 40:
});
});


// TerranianStar – Portale in Vector 2022 (MW 1.45) einklappbar machen
// TerranianStar – Sidebar-Portale einklappbar machen (MW 1.45.3 + Vector-2022 + JSON Sidebar)
document.addEventListener('DOMContentLoaded', function () {
document.addEventListener('DOMContentLoaded', function () {


     const portals = document.querySelectorAll('nav.vector-menu-portal');
    // Alle Portale holen
     const portals = document.querySelectorAll('.vector-menu.mw-portlet');


     portals.forEach(portal => {
     portals.forEach(portal => {


         const heading = portal.querySelector('.vector-menu-heading');
         const heading = portal.querySelector('.vector-menu-heading');
        const label = portal.querySelector('.vector-menu-heading-label');
         const content = portal.querySelector('.vector-menu-content');
         const content = portal.querySelector('.vector-menu-content');


         if (!heading || !label || !content) return;
        // Sicherheit
         if (!heading || !content) return;


         // Navigation ignorieren
         // Navigation NICHT einklappbar machen
         if (label.textContent.trim() === 'Navigation') return;
         if (heading.textContent.trim() === 'Navigation') return;


         // Klickbar machen
         // Klickbar machen
Zeile 61: Zeile 62:
         // Ein/Ausklappen
         // Ein/Ausklappen
         heading.addEventListener('click', () => {
         heading.addEventListener('click', () => {
            const expanded = heading.getAttribute('aria-expanded') === 'true';
             content.classList.toggle('ts-collapsed');
            heading.setAttribute('aria-expanded', expanded ? 'false' : 'true');
             content.classList.toggle('ts-portal-collapsed');
         });
         });
     });
     });
});
});

Version vom 24. Mai 2026, 14:10 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */
/** Namensräume für die Seitenvorschau **/
mw.config.set('wgContentNamespaces', [0, 100]);

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

    $content.find('.mw-editsection a').each(function() {
        var $a = $(this);
        var text = $a.text().trim();

        // Text ausblenden
        $a.css({
            'font-size': '0',
            'display': 'inline-block',
            'width': '22px',
            'height': '22px',
            'background-size': 'contain',
            'background-repeat': 'no-repeat',
            'background-position': 'center',
            'vertical-align': 'middle',
            'margin-left': '4px'
        });

        // Normales Bearbeiten
        if (text === 'Bearbeiten') {
            $a.css('background-image', 'url("/Wiki_BlueX/images/e/e6/EditIcon.png")');
        }

        // Quelltext bearbeiten
        if (text === 'Quelltext bearbeiten') {
            $a.css('background-image', 'url("/Wiki_BlueX/images/f/f6/QEditIcon.png")');
        }
    });

    // Klammern entfernen
    $content.find('.mw-editsection').css('font-size', '0');
});

// TerranianStar – Sidebar-Portale einklappbar machen (MW 1.45.3 + Vector-2022 + JSON Sidebar)
document.addEventListener('DOMContentLoaded', function () {

    // Alle Portale holen
    const portals = document.querySelectorAll('.vector-menu.mw-portlet');

    portals.forEach(portal => {

        const heading = portal.querySelector('.vector-menu-heading');
        const content = portal.querySelector('.vector-menu-content');

        // Sicherheit
        if (!heading || !content) return;

        // Navigation NICHT einklappbar machen
        if (heading.textContent.trim() === 'Navigation') return;

        // Klickbar machen
        heading.style.cursor = 'pointer';

        // Ein/Ausklappen
        heading.addEventListener('click', () => {
            content.classList.toggle('ts-collapsed');
        });
    });
});