Hilfe:Edittools.js
//<source lang="javascript">
//Diese Seite wird von MediaWiki:Monobook.js aus geladen, sobald eine Seite bearbeitet wird
// anzeigen & verbergen (siehe bald Diskussionsseite)
function einaus (inhalt, einblenden, ausblenden) {
var thisLevel = document.getElementById(inhalt);
var otherLevel = document.getElementById(einblenden);
var linkLevel = document.getElementById(ausblenden);
if (thisLevel.style.display == 'none') {
thisLevel.style.display = 'block';
otherLevel.style.display = 'none';
linkLevel.style.display = 'inline';
} else {
thisLevel.style.display = 'none';
otherLevel.style.display = 'inline';
linkLevel.style.display = 'none';
}
}
/** fügt Klick-Kat (kat) am Ende des Textes im Editierfensters ein */ function add_cat(kat) {
document.editform.wpTextbox1.value += '\n';
}
//-----------Holt aus einer Vorlage den Text zwischen dem ersten "
{{" und "}}" raus
//-----------und patched das ins Eingabefeld
function Get_Page(Page){
jQuery.ajax({
url: wgScript,
context: document.body,
dataType: "text",
data: 'title='+Page+'&action=raw&templates=expand',
success: function(data){
var x = data.split("<pre>");
if (x[1]){
var y = x[1].replace(/\s*/,"").split("");
insertVorlage(, , y[0]); }else{
alert("kein verwertbares Objekt.
vorhanden?");
}
}
});
}
//------------------------------------------------------------------------------------
/** bastelt die Edittools-Box */
addOnloadHook(function() {
function sonderzeichenHTML() {
var html = 'Sonderzeichen:
';
html += '<a href="javascript:einaus(\'sonder\',\'sonderein\',\'sonderaus\')">[anzeigen]</a><a href="javascript:einaus(\'sonder\',\'sonderein\',\'sonderaus\')">[verbergen]</a>
';
return html;
}
//------------------------------------------------------------------
//Jeder Eintrag besteht aus max. 3 Parametern, die mit einem "°" getrennt werden:
// P1: wenn leer: Wird P2 als neue Überschrift eingefügt
// wenn nicht leer: P1 wird als klickbarer Titel dargestellt und auch in das Editfeld gepatched
// ausser P2 ist vorhanden
// P2: wenn vorhanden: Wird anstatt von P1 ins Editfeld gepatched ausser P2=Load
// wenn P2=Load : Wird die Seite/Vorlage in P3 geladen und der Inhalt zwischen
// dem ersten "Vorlage:" und "" ins Editfeld gepatched
var VorlagenNamen = [];
// Spezialvorlagen für die Bürokraten - nur im Bürokratenspiel ganz nach oben:
if (wgPageName.substring(0,23) == "Projekt:Bürokratenspiel")
VorlagenNamen = VorlagenNamen.concat([
"°Bürokratie",
"Ablehnung°Bürokratenspiel/Formulare/Ablehnung",
"Abstimmung°Bürokratenspiel/Formulare/Abstimmung",
"Anfechtung°Bürokratenspiel/Formulare/Anfechtung",
"Anfrage°Bürokratenspiel/Formulare/Anfrage",
"Anmerkung°Bürokratenspiel/Formulare/Anmerkung",
"Antrag°Bürokratenspiel/Formulare/Antrag",
"Anweisung°Bürokratenspiel/Formulare/Anweisung",
"Bearbeitung°Bürokratenspiel/Formulare/Bearbeitung",
"Beschluss°Bürokratenspiel/Formulare/Beschluss",
"Beschwerde°Bürokratenspiel/Formulare/Beschwerde",
"Feststellung°Bürokratenspiel/Formulare/Feststellung",
"Formfehler°Bürokratenspiel/Formulare/Formfehler",
"Genehmigung°Bürokratenspiel/Formulare/Genehmigung",
"Gutachten°Bürokratenspiel/Formulare/Gutachten",
"Interne Mitteilung°Bürokratenspiel/Formulare/Interne Mitteilung",
"Kenntnisnahme°Bürokratenspiel/Formulare/Kenntnisnahme",
"Maßnahme°Bürokratenspiel/Formulare/Maßnahme",
"Mecklenburg-Vorpommer°Bürokratenspiel/Formulare/Mecklenburg-Vorpommer",
"Mitteilung°Bürokratenspiel/Formulare/Mitteilung",
"Nicht zuständig°Bürokratenspiel/Formulare/Nicht zuständig",
"Rechenschaftsbericht°Bürokratenspiel/Formulare/Rechenschaftsbericht",
"Rechtshinweis°Bürokratenspiel/Formulare/Rechtshinweis",
"Rückzug°Bürokratenspiel/Formulare/Rückzug",
"Rüge°Bürokratenspiel/Formulare/Rüge",
"Stellungnahme°Bürokratenspiel/Formulare/Stellungnahme",
"Ungültig°Bürokratenspiel/Formulare/Ungültig",
"Verfügung°Bürokratenspiel/Formulare/Verfügung",
"Verwarnung°Bürokratenspiel/Formulare/Verwarnung"
]);
// Allgemeine Vorlagen
VorlagenNamen = VorlagenNamen.concat([
"°Hinweise",
"siehe°s",
"siehe auch°sa",
"besuche bitte°bb",
"siehe vielleicht°sv",
"Lies mal°lm",
"siehe besser°sb",
"Siehe dazu lieber°sl",
"negativ beeinflussen°nb",
"Dann geh doch°gd",
"siehe nicht°sn2",
"Siehe besser nicht°sn",
"auf gar keinen Fall°sk",
"siehe eben nicht°sn",
"Hier wartet man°hwm",
"nichts zu tun mit°nt",
"Vergleiche mit°vg",
"verwechseln mit°zv",
"Nicht zu verwechseln°nv",
"Tut nichts zur Sache°st",
"Siehe aber°Sab",
"Beachte jedoch°Bj",
"WWW°sw",
"siehe Kamelionary°sy",
"°Auszeichnungen",
"GaGAWahl",
"GanzGut (Artikel)°GanzGut",
"GanzGut2 (Abbildung)°GanzGut2",
"GanzGut3 (Animation)°GanzGut3",
"GanzGut4 (Anomalie)°GanzGut4",
"GanzGut5 (Audio)°GanzGut5",
"Hw",
"Exzellent",
"Wahl°Wahl | Start = ~~~~~ | Stimmen =
",
"Wahlende",
"Geschmiedet",
"°Qualitätssicherung",
"Trash",
"Begraben",
"Überarbeiten",
"Humorantrag",
"Relevanz",
"Kompatibel",
"Privatkram",
"Weltbild",
"Kuhdorf",
"Dorftrottel",
"Schlechtschreibung",
"Glossar",
"Urv",
"°Ab da wirds nett",
"Stub",
"Gleicht",
"Nicht versenken",
"Schizophren",
"Was",
"Text fehlt°Text",
"Mager",
"°Praktisches",
"Bügeln",
"Fortsetzung",
"Schon gewusst",
"GaGA Teaser°GaGATeaser
| Kopfzeile = Schlagzeile
| Bild = Bildname ohne "Bild:"
| Grösse = Bildbreite ohne "px"
| Bildausrichtung = right oder left
| Text = Teasertext
| Fußzeile = Weitere...
| Bildunterschrift =
",
"Dieser Artikel",
"Schmiede",
"Untot",
"Nix kapiche",
"BegriffsklärungWP",
"WPTitel",
"Kamelionary°Load°Vorlage:Kamelionary/preload",
"°Für Bilder",
"img°img
| Bildname (ohne Bild:)
| alt =
| name =
| title = Tooltip
| link =
| width =
| height =
",
"Drexxzeuch",
"NichtGNU",
"Wiki doof",
"TempBild",
"ROSTklärung°ROSTklärung|~~~",
"°Listen",
"Listenartikel",
"TOC",
"°Andere Welt",
"Gesungene Kamelopedia",
"°Kamelbox positiv",
"Moin",
"Glückwunsch",
"Glückwunsch2",
"Hallo",
"Keks",
"Preis",
"Hinweise",
"DankeKAT",
"Lesezirkelwerbung",
"Pate",
"Patenkind",
"Patenkind?",
"°Kamelbox negativ",
"Artikelschwemme",
"Vorschau",
"Urlaub",
"Vermisst",
"Rüge",
"Kacka",
"Gangsta",
"Plonk",
"URV-Mahnung",
"Versiegelt",
"°Artikelschmuck",
"Begriffsklärung",
"Begriffsklärung2",
"Begriffsklärung3",
"BegriffsklärungVoll",
"BegriffsklärungWP",
"Begriffsverzerrung",
"Cool",
"Elektrohinweis",
"Erklärbär",
"Gesichtet",
"Gesundheitshinweis",
"Kotzen",
"Merkelsatz",
"Merksatz",
"Mürrebär",
"Navbox",
"Ref°Ref|1",
"Note°Note|1|Norddeutsches Amtsblatt",
"Rechtshinweis",
"Religionshinweis",
"Scherz",
"Selbstlöschung",
"Spoiler",
"Systematik°Load°Vorlage:Systematik",
"Systematik Film°Load°Vorlage:Systematik_Film",
"Systematik Bühne°Load°Vorlage:Systematik_Bühne",
"Tipp",
"Topsecret",
"Traurig",
"Vorlagenfrei",
"Vorlagenwahn",
"Warnung°Warnung|Grund",
"Wikipedia",
"Zitat°Zitat|Zitattext|Zitierter|Thema",
"°Artikel-Navis",
"Alphabet",
"Europa",
"Farben",
"Kapst",
"Klassiker",
"Kontinente",
"Mammon",
"PSE",
"PSEBIG",
"Partei",
"Pronomen",
"Sinn",
"Umwelt",
"WOMO",
"Werbeblock",
"Zahlen",
"Zahlenstrahl"
]);
function add_Templ(T) {
var Teil = T.split("°");
if (Teil[0]){
var html = "<a href=\"javascript:insertVorlage('\{\{','\}\}','";
if (Teil[1]){
if (Teil[1]=="Load"){
var html = "<a href=\"javascript:Get_Page('" + Teil[2] + "');\">"
}else{
var html = "<a href=\"javascript:insertVorlage('\{\{','\}\}','" + Teil[1] + "');\">"
}
}else{
var html = "<a href=\"javascript:insertVorlage('\{\{','\}\}','" + Teil[0] + "');\">"
}
html +="" + Teil[0] + "</a>";
}else{
var html = "
"+Teil[1]+"";
}
return html;
}
function VorlagenHTML() {
var html = 'Vorlagen:
';
html += '<a href="javascript:einaus(\'Templ\',\'Templein\',\'Templaus\')">[anzeigen]</a><a href="javascript:einaus(\'Templ\',\'Templein\',\'Templaus\')">[verbergen]</a>
';
return html;
}
//-------------------------------------------------------------------------------
var inhalt = 'Klick-Kategorien: <a href="/index.php/Hilfe:Edittools" target="_blank" title="Hilfe (in neuem Fenster)">?</a>
';
inhalt += kategorienHTML();
inhalt += "
";
inhalt += sonderzeichenHTML();
inhalt += "
";
inhalt += VorlagenHTML();
inhalt += "
";
var kat_div_2 = document.createElement('div');
kat_div_2.id = 'kat_div_2';
kat_div_2.innerHTML += inhalt;
document.getElementById('editform').insertBefore(kat_div_2, document.getElementById('antispam-container'));
// Leerzeilen am Ende des Artikeltextes entfernen
document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(/\s+$/, "");
});
//----------------------------------------------------------------------------
//Brauche ich wegen NL-Problem bei der Paramter-Übergabe für Vorlagen:
//selText = sampleText.replace(/
/g,"\n");
function insertVorlage(tagOpen, tagClose, sampleText) {
var txtarea;
if (document.editform) {
txtarea = document.editform.wpTextbox1;
} else {
// some alternate form? take the first one we can find
var areas = document.getElementsByTagName('textarea');
txtarea = areas[0];
}
var selText, isSample = false;
if (document.selection && document.selection.createRange) { // IE/Opera
//save window scroll position
if (document.documentElement && document.documentElement.scrollTop){
var winScroll = document.documentElement.scrollTop;
}else if (document.body){
var winScroll = document.body.scrollTop;
}
//get current selection
txtarea.focus();
var range = document.selection.createRange();
selText = range.text;
//insert tags
selText = sampleText.replace(/
/g,"\n");
range.text = tagOpen + selText + tagClose;
//mark sample text as selected
if (range.moveStart) {
if (window.opera){tagClose = tagClose.replace(/\n/g,);}
range.moveStart('character', - tagClose.length);
range.moveEnd('character', - tagClose.length);
}
range.select();
//restore window scroll position
if (document.documentElement && document.documentElement.scrollTop){
document.documentElement.scrollTop = winScroll;
}else if (document.body){
document.body.scrollTop = winScroll;
}
} else if (txtarea.selectionStart || txtarea.selectionStart == '0') { // Mozilla
//save textarea scroll position
var textScroll = txtarea.scrollTop;
//get current selection
txtarea.focus();
var startPos = txtarea.selectionStart;
var endPos = txtarea.selectionEnd;
selText = txtarea.value.substring(startPos, endPos);
//insert tags
selText = sampleText.replace(/
/g,"\n");
txtarea.value = txtarea.value.substring(0, startPos) + tagOpen + selText + tagClose + txtarea.value.substring(endPos, txtarea.value.length);
//set new selection
txtarea.selectionStart = startPos + tagOpen.length + selText.length;
txtarea.selectionEnd = startPos + tagOpen.length + selText.length;
//restore textarea scroll position
txtarea.scrollTop = textScroll;
}
}