From 2c5f231e439dac3fc68422fbb1c8ec57e9d8b35d Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 13 Aug 2012 19:52:34 +0400 Subject: add special indication for categories having unread items in child categories --- js/FeedTree.js | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'js/FeedTree.js') diff --git a/js/FeedTree.js b/js/FeedTree.js index 30e625015..b39e72862 100644 --- a/js/FeedTree.js +++ b/js/FeedTree.js @@ -120,6 +120,14 @@ dojo.declare("fox.FeedTree", dijit.Tree, { dojo.place(span, tnode.iconNode, 'replace'); } + if (id.match("CAT:") && bare_id > 0) { + param = dojo.doc.createElement('span'); + param.className = 'feedParam'; + param.innerHTML = ""; + dojo.place(param, tnode.labelNode, 'after'); + tnode._paramNode = param; + } + if (id.match("FEED:") && bare_id > 0) { var menu = new dijit.Menu(); menu.row_id = bare_id; @@ -183,11 +191,15 @@ dojo.declare("fox.FeedTree", dijit.Tree, { name = name.replace(/</g, "<"); name = name.replace(/>/g, ">"); + var label; + if (item.unread > 0) { - return name + " (" + item.unread + ")"; + label = name + " (" + item.unread + ")"; } else { - return name; + label = name; } + + return label; }, selectFeed: function(feed, is_cat) { if (is_cat) @@ -443,4 +455,15 @@ dojo.declare("fox.FeedTree", dijit.Tree, { return false; } }, + setCatParam: function(cat, value) { + var treeNode = this._itemNodesMap['CAT:' + cat]; + + if (treeNode && treeNode[0] && treeNode[0]._paramNode) { + if (value > 0) + treeNode[0]._paramNode.innerHTML = '+' + value; + else + treeNode[0]._paramNode.innerHTML = ""; + } + this.model.setFeedValue(cat, true, 'child_unread', value); + }, }); -- cgit v1.2.3