]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/provider/XmlNodeProvider.js
New layout, new views...
[gpl/argeo-slc.git] / server / org.argeo.slc.ria / src / argeo-ria-lib / jcr / class / org / argeo / jcr / ria / provider / XmlNodeProvider.js
index 0f7057a37f9b4091e2cc6026bc1b3a7cda5d184c..19990d04ff51589e696de67631fbba1e145630ad 100644 (file)
@@ -27,44 +27,37 @@ qx.Class.define("org.argeo.jcr.ria.provider.XmlNodeProvider", {
                 * @param nodeCallback Function\r
                 * @param childCallback Function\r
                 */\r
-               loadNode : function(node, nodeCallback, childCallback){\r
+               loadNode : function(node, depth, filter){\r
                        if(node.getLoadState() == "loaded") return;\r
                        \r
                        if(this.getXmlDocLoaded()){\r
                                // Parse document and load\r
                                node.setName(this._xmlDoc.documentElement.nodeName);\r
-                               var properties = this.getSettings();                            \r
-                               // STUB : prune sub children, load only level 1\r
-                               /*\r
-                               var children = this._xmlDoc.documentElement.childNodes;\r
-                               for(var i=0;i<children.length;i++){\r
-                                       var subchildren = children[i].childNodes;\r
-                                       for(var j=0;j<subchildren.length;j++){\r
-                                               children[i].removeChild(subchildren[j]);\r
-                                       }\r
-                               }\r
-                               */\r
-                               // END STUB\r
+                               var properties = this.getSettings();                                    \r
                                node.fromDomElement(this._xmlDoc.documentElement);\r
+                               node.setLoadState("loaded");\r
                                if(properties.dynamic){\r
                                        this.setXmlDocLoaded(false);\r
                                }\r
                        }else{\r
                                this.addListenerOnce("changeXmlDocLoaded", function(){\r
-                                       this.loadNode(node, nodeCallback, childCallback);\r
+                                       this.loadNode(node, depth, filter);\r
                                }, this);\r
                                node.setLoadState("loading");\r
-                               this.loadXmlDoc(node);\r
+                               this.loadXmlDoc(node, depth, filter);\r
                        }\r
                },\r
                                \r
-               loadXmlDoc : function(node){\r
+               loadXmlDoc : function(node, depth, filter){\r
                        var properties = this.getSettings();\r
                        if(!properties.xmlSrc && !properties.xmlString) return;\r
                        if(properties.xmlSrc){\r
                                var request = new org.argeo.ria.remote.Request(properties.xmlSrc, 'GET', 'application/xml');\r
                                if(properties.dynamic && properties.pathParameter){\r
                                        request.setParameter(properties.pathParameter, (node.getPath()|| "/"));\r
+                                       if(depth && depth != -1){\r
+                                               request.setParameter("depth", depth);\r
+                                       }\r
                                }\r
                                request.addListener("completed", function(response){\r
                                        this._xmlDoc = response.getContent();\r