MediaWiki:Gadget-Zusammenfassung.js

aus Stargate Wiki, dem deutschsprachigen Stargate-Lexikon
Zur Navigation springen Zur Suche springen

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
addOnloadHook(function()
{
  if (wgAction != "edit" && wgAction != "submit") return;
  var label = document.createElement("label");
  label.htmlFor = "stdSummaries";
  label.appendChild(document.createTextNode("Standard-Zusammenfassungen:"));
  
  var sel = document.createElement("select");
  sel.id = "stdSummaries";
  sel.name = "stdSummaries";
  stdSummaryCount = 0;
  sel.onchange = function()
  {
    var sel = document.getElementById("stdSummaries");
    var value = sel.options[sel.selectedIndex].value;
    if (value != "")
      document.getElementById("wpSummary").value += (stdSummaryCount++?", ":"")+value;
  };
  
  var eo = document.getElementById("wpSummaryLabel").parentNode;
  eo.insertBefore(document.createElement("br"), eo.firstChild);
  eo.insertBefore(sel, eo.firstChild);
  eo.insertBefore(label, sel);

  $j.get(wgScript+"?title=Vorlage:Stdsummaries&action=raw&ctype=text/plain", function(text)
  {
    var sel = document.getElementById("stdSummaries");
    var lines = text.split("\n");
    
    for (var i=0; i<lines.length; i++)
    {
      if (lines[i].indexOf("<!--") == 0) continue;
      var value = lines[i].indexOf("-- ") == 0 ? lines[i].substring(3) : "";
      var opt = document.createElement("option");
      opt.value = value;
      if (value == "" && i)
        opt.disabled = "disabled";
      opt.appendChild(document.createTextNode(lines[i]));
      sel.appendChild(opt);
    }
    sel.selectedIndex = 0;
  }, "text");
});