diff --git a/controllets/tree-view-controllet/demo/index.html b/controllets/tree-view-controllet/demo/index.html old mode 100644 new mode 100755 index 0f97565..85ae214 --- a/controllets/tree-view-controllet/demo/index.html +++ b/controllets/tree-view-controllet/demo/index.html @@ -53,8 +53,8 @@ tree.addEventListener("tree-view-controllet_selected-fields", function (e) { fields.innerHTML = e.detail.fields; - console.log(tree.getFlatFields()); - console.log(tree.getFields());//firefox console.log does not recognize associative array? +// console.log(tree.getFlatFields()); +// console.log(tree.getFields());//firefox console.log does not recognize associative array? }); @@ -64,6 +64,7 @@ + diff --git a/controllets/tree-view-controllet/tree-view-controllet.html b/controllets/tree-view-controllet/tree-view-controllet.html old mode 100644 new mode 100755 index c9b6707..7580c69 --- a/controllets/tree-view-controllet/tree-view-controllet.html +++ b/controllets/tree-view-controllet/tree-view-controllet.html @@ -8,7 +8,6 @@ @@ -131,7 +130,10 @@ _createTree : function(nodeName, node) { var html = ""; - if(node.constructor == Object){ + if(!node){ + html = nodeName; + } + else if(node.constructor == Object){ var list = new Array(); for(var child in node) list.push(this._createTree(nodeName+","+child, node[child])); @@ -237,6 +239,7 @@ }, _updateSelectedFields : function(e) { + var menuId = e.target.id; var selectedIds = []; @@ -247,12 +250,22 @@ selectedIds.push(id); } - if(selectedIds.length) - this.selectedFields[menuId] = selectedIds; + var prevLength; + if(this.selectedFields[menuId]) + prevLength = this.selectedFields[menuId].length; else - delete this.selectedFields[menuId]; + prevLength = 0; + var currLength = selectedIds.length - this.fire('tree-view-controllet_selected-fields', {fields : this.getFlatFields()}); + if(prevLength != currLength) { + + if (selectedIds.length) + this.selectedFields[menuId] = selectedIds; + else + delete this.selectedFields[menuId]; + + this.fire('tree-view-controllet_selected-fields', {fields: this.getFlatFields()}); + } } });