]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/model/DataModel.js
New layout, new views...
[gpl/argeo-slc.git] / server / org.argeo.slc.ria / src / argeo-ria-lib / jcr / class / org / argeo / jcr / ria / model / DataModel.js
index 9ed6205394c9222639fb8587e95092f37687c673..a8f75c0ebf776665f1cd56155b520f2c36f6f5d3 100644 (file)
@@ -14,8 +14,14 @@ qx.Class.define("org.argeo.jcr.ria.model.DataModel", {
                        check : "org.argeo.jcr.ria.model.Node"\r
                },\r
                selection : {\r
-                       check : "org.argeo.jcr.ria.model.Node[]",\r
-                       event : "changeSelection"\r
+                       check : "Array",\r
+                       event : "changeSelection",\r
+                       init : []\r
+               },\r
+               selectionSource : {\r
+                       check : "Object",\r
+                       init : null,\r
+                       nullable : true\r
                }\r
        },\r
        \r
@@ -28,6 +34,7 @@ qx.Class.define("org.argeo.jcr.ria.model.DataModel", {
                requireContextChange : function(path){\r
                        var targetNode;\r
                        var rootNode = this.getRootNode();\r
+                       this.setSelection([]);\r
                        if(!path){\r
                                targetNode = rootNode;\r
                        }else{\r
@@ -36,9 +43,8 @@ qx.Class.define("org.argeo.jcr.ria.model.DataModel", {
                                        path = path.substring(0, path.length-1);\r
                                }\r
                                var base = path.substring(path.lastIndexOf("/")+1);\r
-                               targetNode = new org.argeo.jcr.ria.model.Node(base);\r
+                               targetNode = new org.argeo.jcr.ria.model.Node(base, rootNode.getNodeProvider());\r
                                rootNode.addChild(targetNode);\r
-                               targetNode.setNodeProvider(rootNode.getNodeProvider());\r
                                targetNode.setPath(path);                               \r
                        }\r
                        var observer = function(event){\r
@@ -57,7 +63,11 @@ qx.Class.define("org.argeo.jcr.ria.model.DataModel", {
                                this.fireDataEvent("changeContextNode", targetNode);\r
                        };\r
                        targetNode.addListener("changeLoadState", observer, this);\r
-                       targetNode.load();\r
+                       targetNode.load(1);\r
+               },\r
+               setSelectionWithSource : function(selection, source){\r
+                       this.setSelectionSource(source);\r
+                       this.setSelection(selection);\r
                }\r
        }\r
        \r