Benutzer:D/Edittools.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
D (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
D (Diskussion | Beiträge) aOnloadFunctions durch addOnloadHook ersetzt, window-namespace-verschmutzung reduziert |
||
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
//<pre><nowiki> | //<pre><nowiki> | ||
//Diese Seite wird von [[MediaWiki:Monobook.js]] aus geladen, sobald eine Seite bearbeitet wird | //Diese Seite wird von [[MediaWiki:Monobook.js]] aus geladen, sobald eine Seite bearbeitet wird | ||
/** bastelt die Edittools-Box */ | /** bastelt die Edittools-Box */ | ||
addOnloadHook(function() { | |||
//-------------------------------------------------------------------------------- | //-------------------------------------------------------------------------------- | ||
// konfiguration | // konfiguration | ||
| Zeile 225: | Zeile 226: | ||
function editTool() { | function editTool() { | ||
var sonderzeichenEditor = contentFrame( | var sonderzeichenEditor = contentFrame( | ||
"Sonderzeichen", | headerText("Sonderzeichen"), | ||
helpLink("/index.php/Hilfe:Edittools", "Hilfe (in neuem Fenster)"), | helpLink("/index.php/Hilfe:Edittools", "Hilfe (in neuem Fenster)"), | ||
sonderzeichenContent()); | sonderzeichenContent()); | ||
var kategorienEditor = contentFrame( | var kategorienEditor = contentFrame( | ||
"Klick-Kategorien", | headerText("Klick-Kategorien"), | ||
null, | null, | ||
categoriesContent()); | categoriesContent()); | ||
| Zeile 304: | Zeile 305: | ||
}; | }; | ||
} | } | ||
//-------------------------------------------------------------------------------- | |||
// hilfsfunktionen | |||
function switchLink(targetElement) { | function switchLink(targetElement) { | ||
| Zeile 318: | Zeile 322: | ||
update(); | update(); | ||
return a; | return a; | ||
} | |||
function headerText(text) { | |||
var h = document.createElement("h5"); // TODO h1 und CSS? | |||
h.textContent = text; | |||
return h; | |||
} | } | ||
| Zeile 329: | Zeile 339: | ||
function contentFrame(headerText, helpLink, contentElement) { | function contentFrame(headerText, helpLink, contentElement) { | ||
var switch = switchLink(contentElement); | var switch = switchLink(contentElement); | ||
var frame = document.createElement("div"); | var frame = document.createElement("div"); | ||
frame.appendChild( | if (headerText) frame.appendChild(headerText); | ||
if (helpLink) | if (helpLink) frame.appendChild(helpLink); | ||
frame.appendChild(switch); | frame.appendChild(switch); | ||
frame.appendChild(contentElement); | frame.appendChild(contentElement); | ||
return frame; | return frame; | ||
} | } | ||
| Zeile 355: | Zeile 359: | ||
var wpTextbox1 = editform.wpTextbox1; | var wpTextbox1 = editform.wpTextbox1; | ||
wpTextbox1.value = wpTextbox1.value.replace(/\s+$/, ""); | wpTextbox1.value = wpTextbox1.value.replace(/\s+$/, ""); | ||
} | }); | ||
//</pre></nowiki></pre> | //</pre></nowiki></pre> | ||
Aktuelle Version vom 26. November 2007, 22:09 Uhr
//<pre><nowiki>
//Diese Seite wird von [[MediaWiki:Monobook.js]] aus geladen, sobald eine Seite bearbeitet wird
/** bastelt die Edittools-Box */
addOnloadHook(function() {
//--------------------------------------------------------------------------------
// konfiguration
var sonderzeichen = [
[ 'Ä', 'ä', 'Ö', 'ö', 'Ü', 'ü' ],
[ 'ß', ['„','“'], '’', [ '‚','‘'], '–' ],
[ ['«','»'], '°', '′', '″' ],
[ '…', '€', '†', '§', '™', '•' ],
[ '·', '×', '÷', '±', '−', '‰' ],
[ '²', '³', '½', '¼', '¾', '‣' ],
[ '≈', '≠', '≙', '≤', '≥', '∑' ],
[ '→', '←', '↔', '⇝', '⇒', '⇔' ],
[ '☛', '†', '☠', '☢', '☣', '☭' ],
[ 'ſ', 'Œ', 'œ', 'Ç', 'ç' ],
[ 'İ', 'ı', 'Ğ', 'ğ', 'Ş', 'ş' ],
[ ['[[',']]'], '|', '&nbsp;' ],
[ ['{{','}}'], '~~~~' ],
];
var kategorieNamen = [
"Abkürzung",
"Ägypten",
"Aliens",
"Alkohol",
"Amphibien",
"Anatomie",
"Architektur",
"Artikel, die wo so aussehen, wie die Dinge, die sie beschreiben tun",
"Artikel und Kamele mit eigenem Skin",
"Astronomie",
"Ausgestorben",
"Auto",
"Bahn",
"Bären",
"Baum",
"Beruf",
"Bildung",
"Biographie",
"Biologie",
"Böses Kamel",
"Botanik",
"Brauchtum",
"Chamäleons",
"Chemie",
"China",
"Computer",
"Denkmal",
"Deutschland",
"Dienstleistung",
"Drogen",
"Eier",
"Elektrotechnik",
"Enten",
"Eulen",
"Fabelwesen",
"Fäkalien",
"Farben",
"Feminismus",
"Film",
"Fische",
"Fleisch",
"Fluss",
"Freizeit",
"Frisuren",
"Gastronomie",
"Gebäck",
"Gebirge",
"Geheim",
"Geistlicher",
"Genie & Wahnsinn",
"Geographie",
"Geologie",
"Geschichte",
"Gesellschaft",
"Getränk",
"Gewässer",
"Gilden",
"Götter",
"Grammatik",
"Häh?",
"Helden",
"Hunde",
"Hygiene",
"Indianisch",
"Industrie",
"Insekten",
"Inseln",
"Jahrestag",
"Japan",
"Kalender",
"Kamele",
"Kamelkunde",
"Kamelopedia",
"Kasusativ",
"Katzen",
"Kleidung",
"Komische Kamele",
"Komische Typen",
"Kommunikation",
"Kosmetik",
"Krabbeltiere",
"Krankheiten",
"Krieg",
"Kulinarik",
"Kulturgut",
"Kunst",
"Land & Leute",
"Landschaften",
"Landwirtschaft",
"Listen",
"Literatur",
"Löcher",
"Logik",
"Luft & Raumfahrt",
"Lyrik",
"Märchen",
"Maschinen",
"Maßeinheit",
"Mathematik",
"Medien",
"Medizin",
"Microsoft",
"Mikroben",
"Milch & Käse",
"Mischwesen",
"Möbel",
"Mode",
"Musik",
"Musikrichtungen",
"Mythologie",
"Nachrichten",
"Nah dran",
"Name",
"Natur",
"Nichtkamele",
"Oberflächliches",
"Obst & Gemüse",
"Optik & Lichttechnik",
"Organisationen",
"Ort",
"Pferde & Esel",
"Philosophie",
"Physik",
"Pilze",
"Planeten",
"Plem-Plem",
"Politik",
"Projekt",
"Psychologie",
"Pyramiden",
"Raubtier",
"Re(h)kursion",
"Recht",
"Religion",
"Religionen",
"Rezepte",
"Rindviecher",
"Sammelartikel",
"Saurier",
"Schach",
"Schafe",
"ScheibchenWelt",
"Schifffahrt",
"Schlangen",
"Schnecken",
"Schöner Wohnen",
"Schule",
"Schweine",
"Schweiz",
"Sexualität",
"Soziologie",
"Spezies",
"Spiel",
"Sport",
"Sprache",
"Sprachwissenschaft",
"Staat",
"Stadt",
"Stuchbabe",
"Süßigkeiten",
"Suppe",
"Technik",
"Theorie",
"Tiger",
"Tisch",
"Touristik",
"Umfrage",
"Unterwasser",
"Verkehr",
"Verkehrsmittel",
"Verpackung",
"Verschwörungstheorien",
"Verwechslungen",
"Vögel",
"Waffen",
"Wale",
"Weiß der Kuckuck",
"Werbung",
"Werkzeuge & Geräte",
"Wetter",
"Wikipedia",
"Wirtschaft",
"Wissenschaft",
"Wortsinn & Tiefsinn",
"WTF-8",
"Würmer",
"Wüste",
"Wurst",
"Zahl",
"Zauberei",
"Zeit",
"Zeitanzeigegeräte",
"Zeitgeschehen",
"Zusammenrottung"
];
//--------------------------------------------------------------------------------
// GUI
function editTool() {
var sonderzeichenEditor = contentFrame(
headerText("Sonderzeichen"),
helpLink("/index.php/Hilfe:Edittools", "Hilfe (in neuem Fenster)"),
sonderzeichenContent());
var kategorienEditor = contentFrame(
headerText("Klick-Kategorien"),
null,
categoriesContent());
var editor = document.createElement("div");
editor.id = 'cat_editor'; // TODO id und CSS benutzen
editor.style.background = "none";
editor.style.border = "none";
editor.style.height = "400px";
editor.style.width = "13%";
editor.style.fontSize = "8pt";
editor.style.padding = "3px";
editor.style.lineHeight = "1.3em";
editor.style.overflow = "auto";
editor.style.cssFloat = "right";
editor.appendChild(sonderzeichenEditor);
editor.appendChild(kategorienEditor);
return editor;
}
function categoriesContent() {
var content = document.createElement("ul");
for (var i=0; i<kategorieNamen.length; i++ ) {
var name = kategorieNamen[i];
var link = categoryAddLink(name);
var item = document.createElement("li");
item.appendChild(link);
content.appendChild(item);
}
return content;
}
function categoryAddLink(categoryName) {
var a = document.createElement("a");
a.textContent = categoryName;
a.onclick = function() {
document.editform.wpTextbox1.value += '\n[[Kategorie:' + categoryName + ']]';
};
}
function sonderzeichenContent() {
var table = document.createElement("table");
for (var i=0; i<sonderzeichen.length; i++) {
var line = sonderzeichen[i];
var tr = document.createElement("tr");
for (var j=0; j<line.length; j++) {
var cell = line[j];
var td = document.createElement("td");
bar knob = cell.constructor == Array
? klammerLink(cell[0], cell[1])
: zeichenLink(cell);
td.appendChild(knob);
tr.appendChild(td);
}
table.appendChild(tr);
}
return table;
}
function zeichenLink(text) {
var a = document.createElement("a");
a.textContent = text;
a.onclick = function() {
insertTags(text, "", "");
};
}
function klammerLink(open, close) {
var a = document.createElement("a");
a.textContent = open + close;
a.onclick = function() {
insertTags(open, close, "");
};
}
//--------------------------------------------------------------------------------
// hilfsfunktionen
function switchLink(targetElement) {
var visible = true;
var a = document.createElement("a");
a.onclick = function() {
visible = !visible;
update();
};
function update() {
a.textContent = visible ? "[verbergen]" : "[anzeigen"];
targetElement.style.display = visible ? null : "none";
}
update();
return a;
}
function headerText(text) {
var h = document.createElement("h5"); // TODO h1 und CSS?
h.textContent = text;
return h;
}
function helpLink(target, title) {
var a = document.createElement("a");
a.href = target;
a.title = title;
a.innerHTML = "<sup>?</sup>";
return a;
}
function contentFrame(headerText, helpLink, contentElement) {
var switch = switchLink(contentElement);
var frame = document.createElement("div");
if (headerText) frame.appendChild(headerText);
if (helpLink) frame.appendChild(helpLink);
frame.appendChild(switch);
frame.appendChild(contentElement);
return frame;
}
//--------------------------------------------------------------------------------
// init
var editform = document.getElementById('editform');
var wpScrolltop = document.getElementById('wpScrolltop');
wpScrolltop.parentNode.insertBefore(div, editTool());
// Leerzeilen am Ende des Artikeltextes entfernen
var wpTextbox1 = editform.wpTextbox1;
wpTextbox1.value = wpTextbox1.value.replace(/\s+$/, "");
});
//</pre></nowiki></pre>