Widget:A2Event: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
J* (Diskussion | Beiträge) |
J* (Diskussion | Beiträge) |
||
Zeile 30: | Zeile 30: | ||
var lines = text.split("\n"); | var lines = text.split("\n"); | ||
for (var i=0; i<lines.length; i++) { | for (var i=0; i<lines.length; i++) { | ||
− | var prefix = String(i); | + | var prefix = String(i+1); |
while (prefix.length < 3) | while (prefix.length < 3) | ||
prefix = " "+prefix; | prefix = " "+prefix; | ||
var lineText = document.createTextNode(prefix + ": " + lines[i]+"\n"); | var lineText = document.createTextNode(prefix + ": " + lines[i]+"\n"); | ||
− | if (error.line && i == error.line){ | + | if (error.line && i+1 == error.line){ |
var $node = $('<span style="color: red;" />').append(lineText); | var $node = $('<span style="color: red;" />').append(lineText); | ||
− | $node.append(document.createTextNode(error | + | var c = " "; |
+ | while (c.length < error.column+4) | ||
+ | c += ""; | ||
+ | $node.append(document.createTextNode(c+"^"); | ||
+ | $node.append(document.createTextNode(error.message + "\n"); | ||
} else { | } else { | ||
var $node = $(lineText); | var $node = $(lineText); |
Version vom 10. Juli 2012, 20:19 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 = ""; 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>