Widget:A2Event: Unterschied zwischen den Versionen

aus Kamelopedia, der wüsten Enzyklopädie
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 2: Zeile 2:
   
   
  function wait4a2 (f){
  function wait4a2 (f){
    if (window.a2 && window.a2.parser) {
if (window.a2 && window.a2.parser) {
        f();
f();
    } else {
} else {
        if (window.importJS) {
if (window.importJS) {
            importJS("MediaWiki:Skin/Projekt:Adventure2/lib.js");
importJS("MediaWiki:Skin/Projekt:Adventure2/lib.js");
            importJS("MediaWiki:Skin/Projekt:Adventure2/parser.js");
importJS("MediaWiki:Skin/Projekt:Adventure2/parser.js");
        }
}
        window.setTimeout(function() { wait4a2(f); }, 100);
window.setTimeout(function() { wait4a2(f); }, 100);
    }
}
  }
  }
   
   
  $(function () {
  $(function () {
wait4a2(function () {
wait4a2(function () {
    var event = {};
var text = "<!--{$event|escape:'javascript'}-->";
    var error = "";
var list = window.a2.parser.parse(text);
    try {
var error = "";
        var event = window.a2.parser.parse("<!--{$event|escape:'javascript'}-->");
 
    } catch (e) {
try {
        var error = "Line " + e.line + ", Column " + e.column + ": " + e.message;
var event = window.a2.parser.parse("<!--{$event|escape:'javascript'}-->");
    }
} catch (e) {
 
var error = "Line " + e.line + ", Column " + e.column + ": " + e.message;
    if ("<!--{$action|escape:'javascript'}-->" == "render"){   
}
        if (!error)
 
            a2.registerEventHandler(event);
if ("<!--{$action|escape:'javascript'}-->" != "render"){   
    } else {
$pre = $("<pr"+"e/>");
        $pre = $("<pr"+"e/>");
var lines = text.split("\n");
        $pre.text("<!--{$event|escape:'javascript'}-->\n"+String(error));
for (var i=0; i<lines.length; i++) {
prefix = String(i);
        if ($("#wikiPreview").length)
while (prefix.length < 3)
            $cont = $("#wikiPreview");
prefix = " "+prefix;
        else
 
            $cont = $("#bodyContent");
var lineText = document.createTextNode(prefix + ": " + lines[i]);
if (i==e.line){
        $cont.append($pre);
var $node = $('<span style="color: red;" />').append(lineText);
    }
$node.append("<br/>").append(document.createTextNode(error));
});
} else {
var $node = $(lineText)
}
$pre.append($node);
}
 
if ($("#wikiPreview").length)
$cont = $("#wikiPreview");
else
$cont = $("#bodyContent");
 
$cont.append($pre);
 
return;
}
 
if (error)
return;
 
for (var i=0; i<list.length; i++) {
var type = list[i][0];
var data = list[i][1];
 
if (type == "event"){
a2.registerEventHandler(data);
} else {
//FIXME: not yet implemented: declarations for item, page
}
}
});
  });
  });
    
    
  </script>
  </script>

Version vom 10. Juli 2012, 20:02 Uhr

<script type="text/javascript">

function wait4a2 (f){

if (window.a2 && window.a2.parser) { f(); } else { if (window.importJS) { importJS("MediaWiki:Skin/Projekt:Adventure2/lib.js"); importJS("MediaWiki:Skin/Projekt:Adventure2/parser.js"); } window.setTimeout(function() { wait4a2(f); }, 100); }

}

$(function () {

wait4a2(function () {

var text = ""; var list = window.a2.parser.parse(text); var error = "";

try { var event = window.a2.parser.parse(""); } catch (e) { var error = "Line " + e.line + ", Column " + e.column + ": " + e.message; }

if ("" != "render"){ $pre = $("<pr"+"e/>"); var lines = text.split("\n"); for (var i=0; i<lines.length; i++) { prefix = String(i); while (prefix.length < 3) prefix = " "+prefix;

var lineText = document.createTextNode(prefix + ": " + lines[i]); if (i==e.line){ var $node = $('').append(lineText); $node.append("
").append(document.createTextNode(error)); } else { var $node = $(lineText) } $pre.append($node); }

if ($("#wikiPreview").length) $cont = $("#wikiPreview"); else $cont = $("#bodyContent");

$cont.append($pre);

return; }

if (error) return;

for (var i=0; i<list.length; i++) {

var type = list[i][0]; var data = list[i][1];

if (type == "event"){ a2.registerEventHandler(data); } else { //FIXME: not yet implemented: declarations for item, page } } });

});
 
</script>