Widget:A2Event: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
J* (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
J* (Diskussion | Beiträge) ne, is klar, J* … |
||
| Zeile 2: | Zeile 2: | ||
function wait4a2 (f){ | 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 () { | $(function () { | ||
wait4a2(function () { | |||
var text = "<!--{$event|escape:'javascript'}-->"; | |||
var error = ""; | |||
try { | |||
var list = window.a2.parser.parse(text); | |||
} catch (e) { | |||
var error = "Line " + e.line + ", Column " + e.column + ": " + e.message; | |||
} | |||
if ("<!--{$action|escape:'javascript'}-->" != "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 = $('<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:04 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 error = "";
try {
var list = window.a2.parser.parse(text);
} 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>