Benutzer:Schnark/js/wikieditor/Teil 4

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

In diesem Teil erfährst du, wie du ganz eigene Schaltflächen und Auswahllisten verwenden kannst.

Schaltflächen[Bearbeiten | Quelltext bearbeiten]

Um eine neue Schaltfläche einzufügen, verwendest du wikieditor.addMyButton('Ort', 'URL des Icons', 'Hinweis', 'vorne', 'mitte', 'hinten'); oder wikieditor.addMyButton('Ort', 'URL des Icons', 'Hinweis', 'vorne', 'mitte', 'hinten', opt); oder wikieditor.addMyButton('Ort', 'URL des Icons', 'Hinweis', 'vorne', 'mitte', 'hinten', opt, funktion);.

Zu den einzelnen Parametern:

'Ort'
Hier hast du die gleichen Möglichkeiten wie bisher auch, also beispielsweise '' für die Hauptleiste und 'advanced' für die erweiterte Leiste.
'URL des Icons'
Es muss sich um die protokoll-relative URL des Icons, nicht der Bildbeschreibungsseite handeln, wird also vermutlich mit 'https://upload.wikimedia.org/wikipedia/commons/thumb/...' anfangen. Bei SVGs wählst du eine Breite von 22 Pixeln, die URL endet dann auf '.../22px-___.svg.png'. Gut geeignet sind die Nuvola-Icons (commons:Category:Nuvola icons).
'Hinweis'
wird als Tooltip angezeigt. Aus technischen Gründen darf für zwei Buttons nicht der gleiche Tooltip verwendet werden.
'vorne', 'mitte', 'hinten'
Vor dem Cursor bzw. der aktuellen Markierung wird 'vorne' eingefügt, dahinter 'hinten'. Gibt es keinen markierten Text, wird 'mitte' dazwischen gesetzt und markiert.
opt
ist optional. Hier kannst du zusätzliche Optionen angeben, etwa {ownline: true}, wenn der eingefügte Text in jedem Fall in einer eigenen Zeile stehen soll, oder {splitlines: true}, wenn der Text vor und hinter jeder markierten Zeile eingefügt werden soll, statt nur einmal ganz am Anfang und ganz am Ende. Mehrere Optionen können auch kombiniert werden.
funktion
ist optional. Die Funktion wird zusätzlich beim Klick auf die Schaltfläche ausgeführt. Mit wikieditor.addComment('Ich war da.') kann zum Beispiel automatisch die Zusammenfassungszeile gefüllt werden.

Auswahllisten[Bearbeiten | Quelltext bearbeiten]

Um eine neue Auswahlliste einzufügen, verwendest du wikieditor.addMySelect('Ort', 'Name der Auswahlliste', Liste);. Liste hat die Form [Punkt_1, Punkt_2, ..., Punkt_n], die einzelnen Punkte ['Bezeichnung', 'vorne', 'mitte', 'hinten'] oder ['Bezeichnung', 'vorne', 'mitte', 'hinten', opt] oder ['Bezeichnung', 'vorne', 'mitte', 'hinten', opt, funktion].

Die Parameter entsprechen denen bei Schaltflächen.

Beispiele[Bearbeiten | Quelltext bearbeiten]

Beispiel 1[Bearbeiten | Quelltext bearbeiten]

mw.libs.wikieditor = { //<nowiki>
 config: function (wikieditor) {
  wikieditor.addMySelect('advanced', 'Bewertungen', [['Pro', '# {{pro}} ', '', wikieditor.sig],
                                                     ['Contra', '# {{contra}} ', '', wikieditor.sig],
                                                     ['Neutral', '# {{neutral}} ', '', wikieditor.sig]]);
 }
}; //</nowiki>

Dieses Beispiel fügt eine Liste mit Vorlagen für Pro, Contra und Neutral ein. Der einfachere Befehl für die gleiche vordefinierte Auswahlliste lautet: wikieditor.addSelect('advanced', 'PCN');

Beispiel 2[Bearbeiten | Quelltext bearbeiten]

mw.libs.wikieditor = { //<nowiki>
 config: function (wikieditor) {
  wikieditor.addMyButton('advanced', //Position
   'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Nuvola_gnome-fs-trash-full.svg/22px-Nuvola_gnome-fs-trash-full.svg.png', //Icon
   'SLA', //Tooltip
   '{{Löschen}} ', //Text vor dem Cursor
   'kein Artikel', //Beispieltext
   ' --~~~~', //Text hinter dem Cursor
   {ownline: true}, //zusätzliche Optionen
   wikieditor.addComment('SLA+') //Funktion
  );
 }
}; //</nowiki>

Dieses Beispiel fügt eine Schaltfläche für Schnelllöschanträge hinzu, steht der Cursor am Textanfang, so wird automatisch eine neue Zeile nach dem Antrag begonnen, die Zusammenfassungszeile wird auch ausgefüllt.


Dokumentation: EinleitungTeil 1Teil 2Teil 3Teil 4Teil 5

Skripte: wikieditor.jswikieditor.js/basic.jswikieditor.js/de.jsBenutzer:Schnark/js/wikieditor.js/global.jsListe von Beispielanwendungen

Alternativen: Beschreibung der Toolbar-API (englisch) • ähnliches, wesentlich kompakteres Skript von Benutzer:Krinkle (englisch) • alte Version des Skripts