Widget:A2Event
Version vom 10. Juli 2012, 21:19 Uhr von J* (Diskussion | Beiträge)
<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 error = "";
var list = [];
try {
list = window.a2.parser.parse(text);
} catch (e) {
error = e;
}
if ("" != "render"){
$pre = $("<pr"+"e/>");
var lines = text.split("\n");
for (var i=0; i<lines.length; i++) {
var prefix = String(i+1);
while (prefix.length < 3)
prefix = " "+prefix;
var lineText = document.createTextNode(prefix + ": " + lines[i]+"\n");
if (error.line && i+1 == error.line){
var $node = $('').append(lineText);
var c = " "; while (c.length < error.column+4) c += ""; $node.append(document.createTextNode(c+"^");
$node.append(document.createTextNode(error.message + "\n");
} 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>