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 050044109ba848857b20d34a328cc9e1cbbcf2bd Author: Jaroslav Tulach <[email protected]> AuthorDate: Tue Feb 12 19:59:33 2019 +0100 Keep JavaScript object per presenter --- ko4j/src/main/java/org/netbeans/html/ko4j/Knockout.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) 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 9222296..70c3287 100644 --- a/ko4j/src/main/java/org/netbeans/html/ko4j/Knockout.java +++ b/ko4j/src/main/java/org/netbeans/html/ko4j/Knockout.java @@ -18,9 +18,12 @@ */ package org.netbeans.html.ko4j; +import java.util.HashMap; +import java.util.Map; import net.java.html.js.JavaScriptBody; import net.java.html.js.JavaScriptResource; import net.java.html.json.Model; +import org.netbeans.html.boot.spi.Fn; import org.netbeans.html.json.spi.FunctionBinding; import org.netbeans.html.json.spi.PropertyBinding; @@ -55,7 +58,7 @@ final class Knockout { private PropertyBinding[] props; private FunctionBinding[] funcs; - private Object js; + private final Map<Fn.Presenter,Object> objs = new HashMap<Fn.Presenter, Object>(); private Object copyFrom; private Object strong; @@ -73,8 +76,10 @@ final class Knockout { } final Object js() { + Object js = objs.get(Fn.activePresenter()); if (js == null) { - this.js = initObjs(copyFrom); + js = initObjs(copyFrom); + objs.put(Fn.activePresenter(), js); } return js; } @@ -110,8 +115,8 @@ final class Knockout { if (ko == null) { return; } - clean(ko.js); - ko.js = null; + Object js = ko.objs.remove(Fn.activePresenter()); + clean(js); ko.props = null; ko.funcs = null; } --------------------------------------------------------------------- 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
