Benutzer:Hombre/rwl.js

aus dem Koch-Wiki (kochwiki.org)
Wechseln zu:Navigation, Suche

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
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
/* Das folgende JavaScript wird für alle Benutzer geladen. */

// Zutat/Zubereitung-Buttons
importScript('Benutzer:NikiWiki/rwl.js');

// An Kindle senden-Button
importScript('Benutzer:NikiWiki/sendtokindle.js');
/*
# Zutaten- und Zubereitungsverlinker
# Einbinden in „Benutzer:<Benutzername>/monobook.js“ durch
#
#     importScript('Benutzer:NikiWiki/rwl.js');
#
# Source:
#     https://github.com/Rezepte-Wiki/userscripts/blob/master/rwl.coffee
#
# Compilieren zu JavaScript:
#     coffee -p -b rwl.coffee
*/

var rwlInsertEditButton, rwlReplaceSelection, rwlSetup, rwlbuttons;

rwlbuttons = [
  {
    imageFile: "/images/9/98/Rwl_Zutat.png",
    speedTip: "Zutat verlinken",
    onclickhandler: function() {
      rwlReplaceSelection("Zutat");
      return false;
    }
  }, {
    imageFile: "/images/e/ec/Rwl_Zubereitung.png",
    speedTip: "Zubereitung verlinken",
    onclickhandler: function() {
      rwlReplaceSelection("Zubereitung");
      return false;
    }
  }
];

rwlInsertEditButton = function(parent, item) {
  var image;
  image = document.createElement("img");
  image.width = 23;
  image.height = 22;
  image.className = "mw-toolbar-editbutton";
  if (item.imageId) {
    image.id = item.imageId;
  }
  image.src = item.imageFile;
  image.border = 0;
  image.alt = item.speedTip;
  image.title = item.speedTip;
  image.style.cursor = "pointer";
  if (item.onclickhandler) {
    image.onclick = item.onclickhandler;
  }
  parent.appendChild(image);
  return true;
};

rwlReplaceSelection = function(namespace) {
  var range, replace, scrolltop, selend, selstart, seltext, txtarea;
  txtarea = document.editform ? document.editform.wpTextbox1 : document.getElementsByTagName('textarea')[0];
  txtarea.focus();
  scrolltop = txtarea.scrollTop;
  if (document.selection && document.selection.createRange) {
    range = document.selection.createRange();
    seltext = range.text;
    range.text = "[[" + namespace + ":" + seltext + "|" + seltext + "]]";
    range.select();
  } else {
    selstart = txtarea.selectionStart;
    selend = txtarea.selectionEnd;
    while (txtarea.value.substring(selend - 1, selend) === " ") {
      selend--;
    }
    seltext = txtarea.value.substring(selstart, selend);
    replace = "[[" + namespace + ":" + seltext + "|" + seltext + "]]";
    txtarea.value = txtarea.value.substring(0, selstart) + replace + txtarea.value.substring(selend);
    txtarea.selectionStart = selstart + namespace.length + seltext.length + 4;
    txtarea.selectionEnd = txtarea.selectionStart + seltext.length;
  }
  return txtarea.scrollTop = scrolltop;
};

rwlSetup = function() {
  var toolbar, zutat, _i, _len, _results;
  toolbar = document.getElementById('toolbar');
  if (toolbar) {
    _results = [];
    for (_i = 0, _len = rwlbuttons.length; _i < _len; _i++) {
      zutat = rwlbuttons[_i];
      _results.push(rwlInsertEditButton(toolbar, zutat));
    }
    return _results;
  }
};

hookEvent('load', rwlSetup);

mw.loader.load( '//commons.wikimedia.org/w/index.php?title=MediaWiki:Gadget-HotCat.js&action=raw&ctype=text/javascript'