This is an automated email from the ASF dual-hosted git repository. jtulach pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-netbeans-html4j.git
commit e31a1a2e01918df2be0669d6c2a6654088a6f737 Author: Jaroslav Tulach <[email protected]> AuthorDate: Wed Feb 13 11:08:15 2019 +0100 Keep js() internal to Knockout instance --- ko4j/src/main/java/org/netbeans/html/ko4j/KOTech.java | 4 ++-- ko4j/src/main/java/org/netbeans/html/ko4j/Knockout.java | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/ko4j/src/main/java/org/netbeans/html/ko4j/KOTech.java b/ko4j/src/main/java/org/netbeans/html/ko4j/KOTech.java index 04f9928..9586c8c 100644 --- a/ko4j/src/main/java/org/netbeans/html/ko4j/KOTech.java +++ b/ko4j/src/main/java/org/netbeans/html/ko4j/KOTech.java @@ -74,7 +74,7 @@ Technology.ApplyId<Knockout>, Technology.ToJavaScript<Knockout> { if (newValue instanceof Enum) { newValue = newValue.toString(); } - Knockout.valueHasMutated(data.js(), propertyName, oldValue, newValue); + data.valueHasMutated(propertyName, oldValue, newValue); } } @@ -89,7 +89,7 @@ Technology.ApplyId<Knockout>, Technology.ToJavaScript<Knockout> { } @Override public void applyBindings(String id, Knockout data) { - Object ko = Knockout.applyBindings(id, data.js()); + Object ko = data.applyBindings(id); if (ko instanceof Knockout) { ((Knockout)ko).hold(); applied.add((Knockout) ko); diff --git a/ko4j/src/main/java/org/netbeans/html/ko4j/Knockout.java b/ko4j/src/main/java/org/netbeans/html/ko4j/Knockout.java index 70c3287..f83534f 100644 --- a/ko4j/src/main/java/org/netbeans/html/ko4j/Knockout.java +++ b/ko4j/src/main/java/org/netbeans/html/ko4j/Knockout.java @@ -59,8 +59,8 @@ final class Knockout { private PropertyBinding[] props; private FunctionBinding[] funcs; private final Map<Fn.Presenter,Object> objs = new HashMap<Fn.Presenter, Object>(); - private Object copyFrom; - private Object strong; + private final Object copyFrom; + private final Object strong; public Knockout(Object model, Object copyFrom, PropertyBinding[] props, FunctionBinding[] funcs) { this.strong = model; @@ -144,6 +144,10 @@ final class Knockout { funcs[index].call(data, ev); } + final void valueHasMutated(String propertyName, Object oldValue, Object newValue) { + valueHasMutated(js(), propertyName, oldValue, newValue); + } + @JavaScriptBody(args = { "model", "prop", "oldValue", "newValue" }, wait4js = false, body = @@ -161,10 +165,14 @@ final class Knockout { + " }\n" + "}\n" ) - native static void valueHasMutated( + private native static void valueHasMutated( Object model, String prop, Object oldValue, Object newValue ); + final Object applyBindings(String id) { + return applyBindings(id, js()); + } + @JavaScriptBody(args = { "id", "bindings" }, body = "var d = window['document'];\n" + "var e = id ? d['getElementById'](id) : d['body'];\n" + @@ -172,7 +180,7 @@ final class Knockout { "ko['applyBindings'](bindings, e);\n" + "return bindings['ko4j'];\n" ) - native static Object applyBindings(String id, Object bindings); + private native static Object applyBindings(String id, Object bindings); @JavaScriptBody(args = { "cnt" }, body = "var arr = new Array(cnt);\n" + --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
