]> git.wh0rd.org - tt-rss.git/blobdiff - js/FeedTree.js
force refetch feed when clicking update/clicking on same feed in the tree
[tt-rss.git] / js / FeedTree.js
index de1329bbe8e2f17e490075e413b95d2ba2414ec5..bff9b8c88b4fb338b789467bd20363eeb1fcb222 100644 (file)
@@ -120,14 +120,6 @@ 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:")) {
                        var menu = new dijit.Menu();
                        menu.row_id = bare_id;
@@ -145,11 +137,11 @@ dojo.declare("fox.FeedTree", dijit.Tree, {
                                                editFeed(this.getParent().row_id, false);
                                        }}));
 
-                               menu.addChild(new dijit.MenuItem({
+                               /* menu.addChild(new dijit.MenuItem({
                                        label: __("Update feed"),
                                        onClick: function() {
-                                               scheduleFeedUpdate(this.getParent().row_id, false);
-                                       }}));
+                                               heduleFeedUpdate(this.getParent().row_id, false);
+                                       }})); */
                        }
 
                        menu.bindDomNode(tnode.domNode);
@@ -245,13 +237,11 @@ dojo.declare("fox.FeedTree", dijit.Tree, {
        hasCats: function() {
                return this.model.hasCats();
        },
-       hideRead: function (hide, show_special) {
+       hideReadCat: function (cat, hide, show_special) {
                if (this.hasCats()) {
-
                        var tree = this;
-                       var cats = this.model.store._arrayOfTopLevelItems;
 
-                       cats.each(function(cat) {
+                       if (cat && cat.items) {
                                var cat_unread = tree.hideReadFeeds(cat.items, hide, show_special);
 
                                var id = String(cat.id);
@@ -260,9 +250,8 @@ dojo.declare("fox.FeedTree", dijit.Tree, {
 
                                if (node) {
                                        var check_unread = tree.model.getFeedUnread(bare_id, true);
-                                       var check_param = tree.model.getFeedValue(bare_id, true, "child_unread");
 
-                                       if (hide && cat_unread == 0 && check_unread == 0 && check_param == 0) {
+                                       if (hide && cat_unread == 0 && check_unread == 0) {
                                                Effect.Fade(node[0].rowNode, {duration : 0.3,
                                                        queue: { position: 'end', scope: 'FFADE-' + id, limit: 1 }});
                                        } else {
@@ -270,6 +259,17 @@ dojo.declare("fox.FeedTree", dijit.Tree, {
                                                ++cat_unread;
                                        }
                                }
+                       }
+               }
+       },
+       hideRead: function (hide, show_special) {
+               if (this.hasCats()) {
+
+                       var tree = this;
+                       var cats = this.model.store._arrayOfTopLevelItems;
+
+                       cats.each(function(cat) {
+                               tree.hideReadCat(cat, hide, show_special);
                        });
 
                } else {
@@ -283,18 +283,24 @@ dojo.declare("fox.FeedTree", dijit.Tree, {
 
                items.each(function(feed) {
                        var id = String(feed.id);
-                       var bare_id = parseInt(feed.bare_id);;
-
-                       var unread = feed.unread[0];
-                       var node = tree._itemNodesMap[id];
-
-                       if (node) {
-                               if (hide && unread == 0 && (bare_id > 0 || !show_special)) {
-                                       Effect.Fade(node[0].rowNode, {duration : 0.3,
-                                               queue: { position: 'end', scope: 'FFADE-' + id, limit: 1 }});
-                               } else {
-                                       Element.show(node[0].rowNode);
-                                       ++cat_unread;
+
+                       // it's a subcategory
+                       if (feed.items) {
+                               tree.hideReadCat(feed, hide, show_special);
+                       } else {        // it's a feed
+                               var bare_id = parseInt(feed.bare_id);;
+
+                               var unread = feed.unread[0];
+                               var node = tree._itemNodesMap[id];
+
+                               if (node) {
+                                       if (hide && unread == 0 && (bare_id > 0 || !show_special)) {
+                                               Effect.Fade(node[0].rowNode, {duration : 0.3,
+                                                       queue: { position: 'end', scope: 'FFADE-' + id, limit: 1 }});
+                                       } else {
+                                               Element.show(node[0].rowNode);
+                                               ++cat_unread;
+                                       }
                                }
                        }
                });
@@ -458,15 +464,4 @@ 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);
-       },
 });