MediaWiki:Common.js
Aus Phoenix-Larp Wiki
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
/* Das Burger-Menü-JavaScript, der Admin-Link zu den Spezialseiten und die 'Anmelden'-Beschriftung für abgemeldete Besucher wurden in den PhoenixSkin-Fork übernommen (resources/phoenix-custom.js) und hier entfernt, da PhoenixSkin seit 2026-09-08 der Standard-Skin des Wikis ist. */
/* Hinweis auf den Redaktionsleitfaden im Bearbeiten-Modus. Bewusst hier
in Common.js statt im Skin hinterlegt, damit Text/Ziel-Seite/Optik
direkt im Wiki gepflegt werden koennen, ohne den Skin anzufassen.
- Klassischer Wikitext-Editor: deutliche Hinweisbox mit Warnsymbol
UNTERHALB des Quelltext-Feldes (nicht ueber dem ganzen Formular).
- VisualEditor: das gleiche Warnsymbol als kleines Icon oben in der
Werkzeugleiste, direkt vor dem Hilfe-("?")-Knopf. */
( function () {
var WARNING_ICON = '⚠';
function insertClassicNotice( $editForm ) {
if ( document.getElementById( 'phoenix-editnotice-leitfaden' ) ) {
return;
}
var $anchor = $editForm.find( '#wpTextbox1' );
if ( !$anchor.length ) {
$anchor = $editForm.find( 'textarea' ).first();
}
if ( !$anchor.length ) {
return;
}
// Falls CodeMirror aktiv ist, haengt es seinen eigentlichen
// Editor-Container direkt hinter die (dann versteckte) Textarea -
// den Hinweis in dem Fall dahinter statt davor einfuegen.
var $cm = $anchor.next( '.cm-editor, .CodeMirror' );
var $insertAfter = $cm.length ? $cm : $anchor;
var href = mw.util.getUrl( 'Phoenix_Larp_Wiki:Wiki-Projekt/Redaktionsleitfaden' );
var $notice = $( '<div>', { id: 'phoenix-editnotice-leitfaden' } ).append(
$( '<span>', { 'class': 'phoenix-editnotice-icon', 'aria-hidden': 'true' } ).text( WARNING_ICON ),
$( '<span>', { 'class': 'phoenix-editnotice-text' } ).append(
document.createTextNode( 'Bitte beachte beim Bearbeiten den ' ),
$( '<a>', { href: href, text: 'Redaktionsleitfaden' } ),
document.createTextNode( '.' )
)
);
$insertAfter.after( $notice );
}
function insertVeIcon() {
if ( document.getElementById( 'phoenix-ve-editnotice-icon' ) ) {
return true;
}
var $help = $( '.oo-ui-toolbar-bar [aria-label="Hilfe"]' ).first();
if ( !$help.length ) {
return false;
}
var href = mw.util.getUrl( 'Phoenix_Larp_Wiki:Wiki-Projekt/Redaktionsleitfaden' );
var $icon = $( '<a>', {
id: 'phoenix-ve-editnotice-icon',
href: href,
target: '_blank',
rel: 'noopener',
title: 'Redaktionsleitfaden beachten',
'aria-label': 'Redaktionsleitfaden beachten',
text: WARNING_ICON
} );
$help.before( $icon );
return true;
}
// Klassischer Wikitext-Editor: Kernhook, der beim Anzeigen des
// Bearbeitungsformulars feuert (auch bei AJAX-Nachladen, z. B. beim
// Bearbeiten einzelner Abschnitte).
mw.hook( 'wikipage.editform' ).add( function ( $editForm ) {
insertClassicNotice( $editForm );
} );
// VisualEditor: die Werkzeugleiste wird nach dem Aktivierungs-Hook
// teils noch asynchron fertig aufgebaut, daher kurz nachpruefen
// (max. ca. 5 Sekunden).
mw.hook( 've.activationComplete' ).add( function () {
var tries = 0;
var iv = setInterval( function () {
tries++;
if ( insertVeIcon() || tries > 20 ) {
clearInterval( iv );
}
}, 250 );
} );
}() );