javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/ConvertTypes.java
branchmodel
changeset 934 19b4ddc302a6
parent 920 e2977ec1ef6e
child 941 d1e482f73507
     1.1 --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/ConvertTypes.java	Wed Apr 03 10:20:17 2013 +0200
     1.2 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/ConvertTypes.java	Fri Apr 05 12:43:17 2013 +0200
     1.3 @@ -73,4 +73,26 @@
     1.4      private static Object getProperty(Object object, String property) {
     1.5          return null;
     1.6      }
     1.7 +
     1.8 +    @JavaScriptBody(args = { "url", "arr", "callback" }, body = ""
     1.9 +        + "var request = new XMLHttpRequest();\n"
    1.10 +        + "request.open('GET', url, true);\n"
    1.11 +        + "request.setRequestHeader('Content-Type', 'application/json; charset=utf-8');\n"
    1.12 +        + "request.onreadystatechange = function() {\n"
    1.13 +        + "  if (this.readyState!==4) return;\n"
    1.14 +        + "  arr[0] = eval('(' + this.response + ')');\n"
    1.15 +        + "  callback.run__V();\n"
    1.16 +        + "};"
    1.17 +        + "request.send();"
    1.18 +    )
    1.19 +    public static native void loadJSON(
    1.20 +        String url, Object[] jsonResult, Runnable whenDone
    1.21 +    );
    1.22 +    
    1.23 +    public static void extractJSON(Object jsonObject, String[] props, Object[] values) {
    1.24 +        for (int i = 0; i < props.length; i++) {
    1.25 +            values[i] = getProperty(jsonObject, props[i]);
    1.26 +        }
    1.27 +    }
    1.28 +    
    1.29  }