launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Console.java
changeset 526 a0d8b5ab79a2
parent 519 aeb076729a8a
child 527 de22f66d685f
     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  }