From 8d4b5b466ad12acb063799efaf97600940f401f0 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 7 May 2013 16:28:49 +0400 Subject: fix counters not being updated --- js/FeedTree.js | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'js/FeedTree.js') 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; -- cgit v1.2.3