summaryrefslogtreecommitdiff
path: root/js/FeedTree.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-05-07 16:28:49 +0400
committerAndrew Dolgov <[email protected]>2013-05-07 16:28:49 +0400
commit8d4b5b466ad12acb063799efaf97600940f401f0 (patch)
treec67cc4b6e5253df88958777d44bd2708211a868f /js/FeedTree.js
parent69970d5b886c11309ea28d69e3939df8f520f7d2 (diff)
fix counters not being updated
Diffstat (limited to 'js/FeedTree.js')
-rw-r--r--js/FeedTree.js27
1 files changed, 26 insertions, 1 deletions
diff --git a/js/FeedTree.js b/js/FeedTree.js
index a3761ad2e..6c7e565ba 100644
--- a/js/FeedTree.js
+++ b/js/FeedTree.js
@@ -186,13 +186,38 @@ dojo.declare("fox.FeedTree", dijit.Tree, {
ctr = dojo.doc.createElement('span');
ctr.className = 'counterNode';
- ctr.innerHTML = '0';
+ ctr.innerHTML = args.item.unread;
+
+ args.item.unread > 0 ? ctr.addClassName("unread") : ctr.removeClassName("unread");
+
dojo.place(ctr, tnode.labelNode, 'after');
tnode.counterNode = ctr;
//tnode.labelNode.innerHTML = args.label;
return tnode;
},
+ postCreate: function() {
+ this.connect(this.model, "onChange", "updateCounter");
+
+ this.inherited(arguments);
+ },
+ updateCounter: function (item) {
+ var tree = this;
+
+ //console.log("updateCounter: " + item.id[0] + " " + item.unread + " " + tree);
+
+ var node = tree._itemNodesMap[item.id];
+
+ if (node) {
+ node = node[0];
+
+ if (node.counterNode) {
+ node.counterNode.innerHTML = item.unread;
+ item.unread > 0 ? node.counterNode.addClassName("unread") : node.counterNode.removeClassName("unread");
+ }
+ }
+
+ },
getTooltip: function (item) {
if (item.updated)
return item.updated;