MediaWiki:Common.js: Unterschied zwischen den Versionen
Erscheinungsbild
Gerard (Diskussion | Beiträge) Die Seite wurde neu angelegt: „→Das folgende JavaScript wird für alle Benutzer geladen.: →* Namensräume für die Seitenvorschau *: mw.config.set('wgContentNamespaces', [0, 100]); // // Sidebar‑Manipulation (Werkzeugkasten erweitern) // function ModifySidebar(action, section, name, link) { try { var target = 'p-' + section; if (section === 'languages') target = 'p-lang'; if (section === 'toolbox') target = 'p-tb'; if (section === 'navigatio…“ |
Gerard (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
| (20 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
/* | /* ============================================================ | ||
/ | COMMON.JS – Master-Version für mehrere Wikis | ||
Neutral, modular, mit Pfaden für BlueX (/Wiki_BlueX/images/) | |||
============================================================ */ | |||
var s = document.createElement('script'); | |||
s.type = 'module'; | |||
s.src = 'https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js'; | |||
document.head.appendChild(s); | |||
/ | /* ============================================================ | ||
1) Edit-Icons für "Bearbeiten" & "Quelltext bearbeiten" | |||
============================================================ */ | |||
mw.hook('wikipage.content').add(function ($content) { | |||
$content.find('.mw-editsection a').each(function () { | |||
const $a = $(this); | |||
const text = $a.text().trim(); | |||
// Basis-Styling für Icon-Links | |||
$a.css({ | $a.css({ | ||
'font-size': '0', | 'font-size': '0', | ||
| Zeile 77: | Zeile 31: | ||
}); | }); | ||
// | // Icon-Zuweisung (BlueX-Pfade) | ||
if (text === 'Bearbeiten') { | if (text === 'Bearbeiten') { | ||
$a.css('background-image', 'url("/Wiki_BlueX/images/e/e6/EditIcon.png")'); | $a.css('background-image', 'url("/Wiki_BlueX/images/e/e6/EditIcon.png")'); | ||
} | } | ||
if (text === 'Quelltext bearbeiten') { | if (text === 'Quelltext bearbeiten') { | ||
$a.css('background-image', 'url("/Wiki_BlueX/images/f/f6/QEditIcon.png")'); | $a.css('background-image', 'url("/Wiki_BlueX/images/f/f6/QEditIcon.png")'); | ||
| Zeile 91: | Zeile 43: | ||
$content.find('.mw-editsection').css('font-size', '0'); | $content.find('.mw-editsection').css('font-size', '0'); | ||
}); | }); | ||
/* ============================================================ | |||
2) Sidebar-Werkzeuge → eingebaute Toolbox kopieren | |||
============================================================ */ | |||
mw.loader.using('jquery').then(function () { | |||
const sidebarTools = $('#p-toolbox .vector-menu-content-list'); | |||
const builtinTools = $('#p-tb-list'); | |||
if (sidebarTools.length && builtinTools.length) { | |||
builtinTools.empty(); | |||
sidebarTools.children().clone().appendTo(builtinTools); | |||
} | |||
}); | |||
/* ============================================================ | |||
3) Vector-2022 – Collapse-Zustand speichern | |||
============================================================ */ | |||
mw.hook('wikipage.content').add(function () { | |||
if (mw.config.get('skin') !== 'vector-2022') return; | |||
$('.vector-menu-heading').each(function () { | |||
const heading = $(this); | |||
const content = heading.next('.vector-menu-content'); | |||
const menu = heading.closest('.vector-menu'); | |||
const id = menu.attr('id'); | |||
if (!id) return; | |||
const saved = localStorage.getItem('v22-collapse-' + id); | |||
if (saved === 'collapsed') { | |||
content.hide(); | |||
heading.addClass('collapsed'); | |||
} | |||
heading.off('click.v22').on('click.v22', function () { | |||
heading.toggleClass('collapsed'); | |||
content.slideToggle(120); | |||
localStorage.setItem( | |||
'v22-collapse-' + id, | |||
heading.hasClass('collapsed') ? 'collapsed' : 'open' | |||
); | |||
}); | |||
}); | |||
}); | |||
/* ============================================================ | |||
Admin-Werkzeuge – zentral für alle Skins (Vector 2011 + 2022) | |||
============================================================ */ | |||
$(document).ready(function () { | |||
const adminGroups = ['sysop', 'bureaucrat', 'interface-admin']; | |||
const userGroups = mw.config.get('wgUserGroups'); | |||
// Nur Admins bekommen die Tools | |||
if (!userGroups.some(g => adminGroups.includes(g))) return; | |||
// Zielcontainer (Vector-2011 + Vector-2022 kompatibel) | |||
const $container = $('#p-tb .vector-menu-content-list'); | |||
if (!$container.length) return; | |||
// Überschrift | |||
$container.append('<li class="vector-menu-heading">Admin-Werkzeuge</li>'); | |||
// ============================================================ | |||
// Werkzeuge (keine Doppelungen) | |||
// ============================================================ | |||
function addTool(name, url) { | |||
$container.append( | |||
$('<li>').append( | |||
$('<a>') | |||
.attr('href', url) | |||
.text(name) | |||
) | |||
); | |||
} | |||
addTool('Spezialseiten', mw.util.getUrl('Spezial:Spezialseiten')); | |||
addTool('Textbausteine', '/Wiki_BlueX/index.php/Kategorie:Textbausteine'); | |||
addTool('Letzte Änderungen', '/Wiki_BlueX/index.php/Spezial:Letzte_Änderungen'); | |||
addTool('Alle Seiten', '/Wiki_BlueX/index.php/Spezial:Alle_Seiten'); | |||
addTool('Zufällige Seite', '/Wiki_BlueX/index.php/Spezial:Zufällige_Seite'); | |||
addTool('Löschkandidaten', '/Wiki_BlueX/index.php/Kategorie:Löschkandidaten'); | |||
}); | |||
// Popup Gadget auch für Gäste // | |||
mw.loader.load('ext.gadget.Navigation-popups'); | |||
Aktuelle Version vom 26. Juni 2026, 13:43 Uhr
/* ============================================================
COMMON.JS – Master-Version für mehrere Wikis
Neutral, modular, mit Pfaden für BlueX (/Wiki_BlueX/images/)
============================================================ */
var s = document.createElement('script');
s.type = 'module';
s.src = 'https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js';
document.head.appendChild(s);
/* ============================================================
1) Edit-Icons für "Bearbeiten" & "Quelltext bearbeiten"
============================================================ */
mw.hook('wikipage.content').add(function ($content) {
$content.find('.mw-editsection a').each(function () {
const $a = $(this);
const text = $a.text().trim();
// Basis-Styling für Icon-Links
$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'
});
// Icon-Zuweisung (BlueX-Pfade)
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")');
}
});
// Klammern entfernen
$content.find('.mw-editsection').css('font-size', '0');
});
/* ============================================================
2) Sidebar-Werkzeuge → eingebaute Toolbox kopieren
============================================================ */
mw.loader.using('jquery').then(function () {
const sidebarTools = $('#p-toolbox .vector-menu-content-list');
const builtinTools = $('#p-tb-list');
if (sidebarTools.length && builtinTools.length) {
builtinTools.empty();
sidebarTools.children().clone().appendTo(builtinTools);
}
});
/* ============================================================
3) Vector-2022 – Collapse-Zustand speichern
============================================================ */
mw.hook('wikipage.content').add(function () {
if (mw.config.get('skin') !== 'vector-2022') return;
$('.vector-menu-heading').each(function () {
const heading = $(this);
const content = heading.next('.vector-menu-content');
const menu = heading.closest('.vector-menu');
const id = menu.attr('id');
if (!id) return;
const saved = localStorage.getItem('v22-collapse-' + id);
if (saved === 'collapsed') {
content.hide();
heading.addClass('collapsed');
}
heading.off('click.v22').on('click.v22', function () {
heading.toggleClass('collapsed');
content.slideToggle(120);
localStorage.setItem(
'v22-collapse-' + id,
heading.hasClass('collapsed') ? 'collapsed' : 'open'
);
});
});
});
/* ============================================================
Admin-Werkzeuge – zentral für alle Skins (Vector 2011 + 2022)
============================================================ */
$(document).ready(function () {
const adminGroups = ['sysop', 'bureaucrat', 'interface-admin'];
const userGroups = mw.config.get('wgUserGroups');
// Nur Admins bekommen die Tools
if (!userGroups.some(g => adminGroups.includes(g))) return;
// Zielcontainer (Vector-2011 + Vector-2022 kompatibel)
const $container = $('#p-tb .vector-menu-content-list');
if (!$container.length) return;
// Überschrift
$container.append('<li class="vector-menu-heading">Admin-Werkzeuge</li>');
// ============================================================
// Werkzeuge (keine Doppelungen)
// ============================================================
function addTool(name, url) {
$container.append(
$('<li>').append(
$('<a>')
.attr('href', url)
.text(name)
)
);
}
addTool('Spezialseiten', mw.util.getUrl('Spezial:Spezialseiten'));
addTool('Textbausteine', '/Wiki_BlueX/index.php/Kategorie:Textbausteine');
addTool('Letzte Änderungen', '/Wiki_BlueX/index.php/Spezial:Letzte_Änderungen');
addTool('Alle Seiten', '/Wiki_BlueX/index.php/Spezial:Alle_Seiten');
addTool('Zufällige Seite', '/Wiki_BlueX/index.php/Spezial:Zufällige_Seite');
addTool('Löschkandidaten', '/Wiki_BlueX/index.php/Kategorie:Löschkandidaten');
});
// Popup Gadget auch für Gäste //
mw.loader.load('ext.gadget.Navigation-popups');