javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/Knockout.java
branchmodel
changeset 496 a06c98795b01
parent 493 df3513758d20
child 499 af027874f93e
     1.1 --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/Knockout.java	Sun Jan 20 20:48:37 2013 +0100
     1.2 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/Knockout.java	Sun Jan 20 21:01:46 2013 +0100
     1.3 @@ -26,15 +26,13 @@
     1.4   */
     1.5  @ExtraJavaScript(resource = "org/apidesign/bck2brwsr/htmlpage/knockout-2.2.1.js")
     1.6  public final class Knockout {
     1.7 -
     1.8 -
     1.9      private Knockout() {
    1.10      }
    1.11      
    1.12 -    public static <M> void applyBindings(
    1.13 +    public static <M> Knockout applyBindings(
    1.14          Class<M> modelClass, M model, String[] propsGettersAndSetters
    1.15      ) {
    1.16 -        Object bindings = new Object();
    1.17 +        Knockout bindings = new Knockout();
    1.18          for (int i = 0; i < propsGettersAndSetters.length; i += 3) {
    1.19              bind(bindings, model, propsGettersAndSetters[i],
    1.20                  propsGettersAndSetters[i + 1],
    1.21 @@ -42,6 +40,13 @@
    1.22              );
    1.23          }
    1.24          applyBindings(bindings);
    1.25 +        return bindings;
    1.26 +    }
    1.27 +
    1.28 +    @JavaScriptBody(args = { "prop" }, body =
    1.29 +        "this[prop].valueHasMutated();"
    1.30 +    )
    1.31 +    public void valueHasMutated(String prop) {
    1.32      }
    1.33      
    1.34      @JavaScriptBody(args = { "bindings", "model", "prop", "getter", "setter" }, body =