MediaWiki:Common.js: Unterschied zwischen den Versionen
Erscheinungsbild
Gerard (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Gerard (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 26: | Zeile 26: | ||
// Normales Bearbeiten | // Normales Bearbeiten | ||
if (text === 'Bearbeiten') { | if (text === 'Bearbeiten') { | ||
$a.css('background-image', 'url("/ | $a.css('background-image', 'url("/Wiki_TS/images/e/e6/EditIcon.png")'); | ||
} | } | ||
// Quelltext bearbeiten | // Quelltext bearbeiten | ||
if (text === 'Quelltext bearbeiten') { | if (text === 'Quelltext bearbeiten') { | ||
$a.css('background-image', 'url("/ | $a.css('background-image', 'url("/Wiki_TS/images/f/f6/QEditIcon.png")'); | ||
} | } | ||
}); | }); | ||
Version vom 30. Mai 2026, 08:07 Uhr
/* Das folgende JavaScript wird für alle Benutzer geladen. */
/* Saubere Version ohne ModifySidebar-Hacks (MediaWiki 1.45 kompatibel) */
/* Beispiel: kleine JS-Helfer oder Funktionen können hier rein,
aber KEINE Manipulation der Toolbox oder Sidebar mehr! */
// Icons für Bearbeiten und 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_TS/images/e/e6/EditIcon.png")');
}
// Quelltext bearbeiten
if (text === 'Quelltext bearbeiten') {
$a.css('background-image', 'url("/Wiki_TS/images/f/f6/QEditIcon.png")');
}
});
// Klammern entfernen
$content.find('.mw-editsection').css('font-size', '0');
});
/* Platzhalter – hier kannst du später eigene Funktionen ergänzen */
/* ============================================================
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
}
});
});