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 ++++++++++++++++++++++++++- tt-rss.css | 19 +++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) 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; diff --git a/tt-rss.css b/tt-rss.css index 09a3505af..00db7d0e4 100644 --- a/tt-rss.css +++ b/tt-rss.css @@ -1032,3 +1032,22 @@ div.hl.active a.title { height : 100%; overflow-x : hidden; } + +#feedTree span.counterNode { + display : none; +} + +#feedTree span.counterNode.unread { + font-weight : bold; + display : inline-block; + font-size : 9px; + text-align : center; + border : 1px solid #88b0f0; + color : white; + background : #88b0f0; + border-radius : 4px; + padding : 0px 4px 0px 4px; + vertical-align : middle; +} + + -- cgit v1.2.3