MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus TerranianStar
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
/* Das folgende JavaScript wird für alle Benutzer geladen. */
/* Das folgende JavaScript wird für alle Benutzer geladen. */
alert("Common.js läuft!");
 
     // Sidebar einklappbar
/* MediaWiki:Common.js */
 
/* Test-Alert – zeigt an, dass Common.js geladen wurde */
// alert("Common.js läuft!"); //
// Vector-2022: Hauptmenü ENT-PINNEN, damit Click-Events funktionieren
document.addEventListener('DOMContentLoaded', function () {
    document.querySelectorAll('.vector-pinnable-header-pinned')
        .forEach(el => el.classList.remove('vector-pinnable-header-pinned'));
 
     document.querySelectorAll('.vector-pinnable-element')
        .forEach(el => el.classList.remove('vector-pinnable-element'));
});
 
/* Alles einklappbar machen – Vector‑2022 Override */
document.addEventListener('DOMContentLoaded', function () {
document.addEventListener('DOMContentLoaded', function () {
     const portals = document.querySelectorAll('.vector-menu.mw-portlet');
 
    portals.forEach(portal => {
    // Vector‑2022: Portale einklappbar machen (Skin-Override)
         const heading = portal.querySelector('.vector-menu-heading');
     document.querySelectorAll('.vector-menu').forEach(menu => {
         const content = portal.querySelector('.vector-menu-content');
 
         const heading = menu.querySelector('.vector-menu-heading');
         const content = menu.querySelector('.vector-menu-content');
 
         if (!heading || !content) return;
         if (!heading || !content) return;
         if (heading.textContent.trim() === 'Navigation') return;
 
         // WICHTIG: Vector‑2022 entfernt ARIA-Attribute → sonst blockiert der Skin
        heading.removeAttribute('aria-expanded');
        heading.removeAttribute('aria-controls');
 
        // Cursor sichtbar machen
         heading.style.cursor = 'pointer';
         heading.style.cursor = 'pointer';
         heading.addEventListener('click', () => {
 
        // HARTE Variante: Skin-Events komplett blockieren
         heading.addEventListener('click', function (e) {
            e.preventDefault();
            e.stopImmediatePropagation(); // ← das ist der entscheidende Punkt
             content.classList.toggle('ts-collapsed');
             content.classList.toggle('ts-collapsed');
         });
         });
     });
     });
}); // ← WICHTIG: Block sauber schließen


//
});
// Icons für Bearbeiten / Quelltext bearbeiten (Vector‑2022)
 
// (Dieser Hook MUSS außerhalb von DOMContentLoaded bleiben!)
/* Icons für Bearbeiten / Quelltext bearbeiten (Vector‑2022)
//
  Dieser Hook MUSS außerhalb von DOMContentLoaded bleiben! */
mw.hook('wikipage.content').add(function($content) {
mw.hook('wikipage.content').add(function($content) {


Zeile 49: Zeile 73:
     $content.find('.mw-editsection').css('font-size', '0');
     $content.find('.mw-editsection').css('font-size', '0');
});
});
// Spezieller Fix für Vector-2022: Werkzeuge einklappbar machen
const toolsPortlet = document.querySelector('#p-tb');
if (toolsPortlet) {
    const heading = toolsPortlet.querySelector('.vector-menu-heading');
    const content = toolsPortlet.querySelector('.vector-menu-content');
    if (heading && content) {
        heading.style.cursor = 'pointer';
        heading.addEventListener('click', function (e) {
            e.stopPropagation(); // verhindert Vector-2022-Interferenz
            content.classList.toggle('ts-collapsed');
        });
    }
}

Aktuelle Version vom 24. Mai 2026, 16:57 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */

/* MediaWiki:Common.js */

/* Test-Alert – zeigt an, dass Common.js geladen wurde */
// alert("Common.js läuft!"); //
// Vector-2022: Hauptmenü ENT-PINNEN, damit Click-Events funktionieren
document.addEventListener('DOMContentLoaded', function () {
    document.querySelectorAll('.vector-pinnable-header-pinned')
        .forEach(el => el.classList.remove('vector-pinnable-header-pinned'));

    document.querySelectorAll('.vector-pinnable-element')
        .forEach(el => el.classList.remove('vector-pinnable-element'));
});

/* Alles einklappbar machen – Vector‑2022 Override */
document.addEventListener('DOMContentLoaded', function () {

    // Vector‑2022: Portale einklappbar machen (Skin-Override)
    document.querySelectorAll('.vector-menu').forEach(menu => {

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

        if (!heading || !content) return;

        // WICHTIG: Vector‑2022 entfernt ARIA-Attribute → sonst blockiert der Skin
        heading.removeAttribute('aria-expanded');
        heading.removeAttribute('aria-controls');

        // Cursor sichtbar machen
        heading.style.cursor = 'pointer';

        // HARTE Variante: Skin-Events komplett blockieren
        heading.addEventListener('click', function (e) {
            e.preventDefault();
            e.stopImmediatePropagation(); // ← das ist der entscheidende Punkt
            content.classList.toggle('ts-collapsed');
        });
    });

});

/* Icons für Bearbeiten / Quelltext bearbeiten (Vector‑2022)
   Dieser Hook MUSS außerhalb von DOMContentLoaded bleiben! */
mw.hook('wikipage.content').add(function($content) {

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

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

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

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

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