From b3affbbe1239e5cdcd2f89864db61f5c2a13acf2 Mon Sep 17 00:00:00 2001 From: "mosse.benjamin" Date: Tue, 23 Nov 2010 03:11:57 +0000 Subject: [PATCH] fixing bugs in the hooked browser tree list git-svn-id: https://beef.googlecode.com/svn/trunk@568 b87d56ec-f9c0-11de-8c8a-61c5e9addfc9 --- public/javascript/ui/panel/ZombiesMgr.js | 1 + public/javascript/ui/panel/zombiesTreeList.js | 13 ++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) 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); } } }