diff --git a/public/javascript/ui/panel/ZombiesMgr.js b/public/javascript/ui/panel/ZombiesMgr.js index d23cf21ab..2176c22c2 100644 --- a/public/javascript/ui/panel/ZombiesMgr.js +++ b/public/javascript/ui/panel/ZombiesMgr.js @@ -94,6 +94,7 @@ var ZombiesMgr = function(zombies_tree_lists) { zombies = Ext.getCmp(zombies_tree_lists[tree_type].id); if(zombies.online_zombies.childNodes.length > 0) { + //TODO: find a way to destroy folders that are empty zombies.online_zombies.expand(true); } diff --git a/public/javascript/ui/panel/zombiesTreeList.js b/public/javascript/ui/panel/zombiesTreeList.js index c99e7a689..e738a612a 100644 --- a/public/javascript/ui/panel/zombiesTreeList.js +++ b/public/javascript/ui/panel/zombiesTreeList.js @@ -98,6 +98,8 @@ Ext.extend(zombiesTreeList, Ext.tree.TreePanel, { }, addSubFolder: function(mother_node, folder, checked) { + if(!folder) return mother_node; + if(mother_node.hasChildNodes()) { for(i in mother_node.childNodes) { node = mother_node.childNodes[i]; @@ -106,7 +108,12 @@ Ext.extend(zombiesTreeList, Ext.tree.TreePanel, { return node; } } else { - sub_folder_node = new Ext.tree.TreeNode({text: folder, 'checked' : checked}); + sub_folder_node = new Ext.tree.TreeNode({ + id: 'sub-folder-'+folder, + text: folder, + 'checked' : checked + }); + mother_node.appendChild(sub_folder_node); mother_node = sub_folder_node; } @@ -131,9 +138,9 @@ Ext.extend(zombiesTreeList, Ext.tree.TreePanel, { if(exists) { if(!online) { - this.online_zombies.removeChild(exists); + this.online_zombies.removeChild(exists, true); } else { - this.offline_zombies.removeChild(exists); + this.offline_zombies.removeChild(exists, true); } } }