* @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