MediaWiki:Common.js: Unterschied zwischen den Versionen
Erscheinungsbild
Gerard (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Gerard (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 4: | Zeile 4: | ||
/* Beispiel: kleine JS-Helfer oder Funktionen können hier rein, | /* Beispiel: kleine JS-Helfer oder Funktionen können hier rein, | ||
aber KEINE Manipulation der Toolbox oder Sidebar mehr! */ | 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("/mediawiki/images/e/e6/EditIcon.png")'); | |||
} | |||
// Quelltext bearbeiten | |||
if (text === 'Quelltext bearbeiten') { | |||
$a.css('background-image', 'url("/mediawiki/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 */ | /* Platzhalter – hier kannst du später eigene Funktionen ergänzen */ | ||
Version vom 30. Mai 2026, 08:05 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("/mediawiki/images/e/e6/EditIcon.png")');
}
// Quelltext bearbeiten
if (text === 'Quelltext bearbeiten') {
$a.css('background-image', 'url("/mediawiki/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
}
});
});