1.1 --- a/launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Console.java Tue Jan 22 13:34:57 2013 +0100
1.2 +++ b/launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Console.java Tue Jan 22 19:16:38 2013 +0100
1.3 @@ -53,7 +53,7 @@
1.4 private static native void closeWindow();
1.5
1.6 private static void log(String newText) {
1.7 - String id = "result";
1.8 + String id = "bck2brwsr.result";
1.9 String attr = "value";
1.10 setAttr(id, attr, getAttr(id, attr) + "\n" + newText);
1.11 setAttr(id, "scrollTop", getAttr(id, "scrollHeight"));
1.12 @@ -63,7 +63,7 @@
1.13 String clazz = (String) getAttr("clazz", "value");
1.14 String method = (String) getAttr("method", "value");
1.15 Object res = invokeMethod(clazz, method);
1.16 - setAttr("result", "value", res);
1.17 + setAttr("bck2brwsr.result", "value", res);
1.18 }
1.19
1.20 @JavaScriptBody(args = { "url", "callback", "arr" }, body = ""
1.21 @@ -111,10 +111,14 @@
1.22 }
1.23
1.24 Case c = Case.parseData(data);
1.25 + if (c.getHtmlFragment() != null) {
1.26 + setAttr("bck2brwsr.fragment", "innerHTML", c.getHtmlFragment());
1.27 + }
1.28 log("Invoking " + c.getClassName() + '.' + c.getMethodName() + " as request: " + c.getRequestId());
1.29
1.30 Object result = invokeMethod(c.getClassName(), c.getMethodName());
1.31
1.32 + setAttr("bck2brwsr.fragment", "innerHTML", "");
1.33 log("Result: " + result);
1.34
1.35 result = encodeURL("" + result);
1.36 @@ -237,11 +241,19 @@
1.37 public String getRequestId() {
1.38 return value("request", data);
1.39 }
1.40 +
1.41 + public String getHtmlFragment() {
1.42 + return value("html", data);
1.43 + }
1.44
1.45 @JavaScriptBody(args = "s", body = "return eval('(' + s + ')');")
1.46 private static native Object toJSON(String s);
1.47
1.48 - @JavaScriptBody(args = {"p", "d"}, body = "return d[p].toString();")
1.49 + @JavaScriptBody(args = {"p", "d"}, body =
1.50 + "var v = d[p];\n"
1.51 + + "if (typeof v === 'undefined') return null;\n"
1.52 + + "return v.toString();"
1.53 + )
1.54 private static native String value(String p, Object d);
1.55 }
1.56 }