]> git.argeo.org Git - gpl/argeo-slc.git/blob - JcrTreeFolder.js
96505f8f08f0f7817bedaf29376402eef85d74f7
[gpl/argeo-slc.git] / JcrTreeFolder.js
1 qx.Class.define("org.argeo.jcr.ria.views.JcrTreeFolder", {
2 extend : org.argeo.ria.components.DynamicTreeFolder,
3 properties : {
4 jcrNode : {
5
6 }
7 },
8 construct : function(jcrNode){
9 this.base(arguments, jcrNode.getName(), org.argeo.jcr.ria.views.JcrTreeFolder.loader);
10 this.setJcrNode(jcrNode);
11 },
12
13 statics : {
14 loader : function(treeFolder){
15 if(treeFolder.getState() == "loaded") return;
16 var jcrNode = treeFolder.getJcrNode();
17 jcrNode.addListener("changeLoadState", function(event){
18 if(event.getData() == "loaded"){
19 org.argeo.jcr.ria.views.JcrTreeFolder.jcrNodeToTreeFolder(jcrNode, treeFolder);
20 }
21 });
22 if(jcrNode.getLoadState()=="loaded"){
23 org.argeo.jcr.ria.views.JcrTreeFolder.jcrNodeToTreeFolder(jcrNode, treeFolder);
24 }else if(jcrNode.getLoadState() == "empty"){
25 //treeFolder.removeAll();
26 jcrNode.load();
27 }
28 },
29
30 jcrNodeToTreeFolder : function(loadedNode, parentTreeFolder){
31 var children = loadedNode.getChildren();
32 for(var i=0;i<children.length;i++){
33 var newFolder = new org.argeo.jcr.ria.views.JcrTreeFolder(children[i]);
34 parentTreeFolder.add(newFolder);
35 }
36 parentTreeFolder.setState("loaded");
37 }
38 },
39 members : {
40 openListener : function(e){
41 }
42 }
43 });