diff -r 854286e49061 -r a06c98795b01 javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Sun Jan 20 18:20:18 2013 +0100 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Sun Jan 20 21:01:46 2013 +0100 @@ -108,9 +108,10 @@ List propsGetSet = new ArrayList(); generateProperties(w, p.properties(), propsGetSet); generateComputedProperties(w, e.getEnclosedElements(), propsGetSet); + w.append(" private static org.apidesign.bck2brwsr.htmlpage.Knockout ko;\n"); if (!propsGetSet.isEmpty()) { w.write("public static void applyBindings() {\n"); - w.write(" org.apidesign.bck2brwsr.htmlpage.Knockout.applyBindings("); + w.write(" ko = org.apidesign.bck2brwsr.htmlpage.Knockout.applyBindings("); w.write(className + ".class, new " + className + "(), "); w.write("new String[] {\n"); String sep = ""; @@ -270,6 +271,7 @@ w.write("}\n"); w.write("public static void " + gs[1] + "(" + tn + " v) {\n"); w.write(" prop_" + p.name() + " = v;\n"); + w.write(" if (ko != null) ko.valueHasMutated(\"" + p.name() + "\");\n"); w.write("}\n"); props.add(p.name());