diff options
author | Andrew Dolgov <[email protected]> | 2010-12-27 15:39:40 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2010-12-27 15:39:40 +0300 |
commit | 7613280acc7bbde02e302b4118a9fd068ce82cbf (patch) | |
tree | e065a415a96dc60b8035a9c9e1d6bcf7f713a43b | |
parent | 7bb8d39a06e232d85b8a469ecb6e41963f56bb77 (diff) |
fix 'x' hotkey, add FeedTree.collapseCat
-rw-r--r-- | FeedTree.js | 21 | ||||
-rw-r--r-- | tt-rss.js | 2 |
2 files changed, 21 insertions, 2 deletions
diff --git a/FeedTree.js b/FeedTree.js index f2e82d13d..d1caeba70 100644 --- a/FeedTree.js +++ b/FeedTree.js @@ -134,7 +134,7 @@ dojo.declare("fox.FeedTree", dijit.Tree, { tnode._menu = menu; } - //tnode.labelNode.innerHTML = args.label; + tnode.labelNode.innerHTML = args.label; return tnode; }, getIconClass: function (item, opened) { @@ -251,6 +251,25 @@ dojo.declare("fox.FeedTree", dijit.Tree, { return cat_unread; }, + collapseCat: function(id) { + if (!this.model.hasCats()) return; + + var tree = this; + + var node = tree._itemNodesMap['CAT:' + id][0]; + var item = tree.model.store._itemsByIdentity['CAT:' + id]; + + if (node && item) { + var hidden = tree.model.store.getValue(item, 'hidden'); + + if (hidden) + tree._expandNode(node); + else + tree._collapseNode(node); + + tree.model.store.setValue(item, 'hidden', !hidden); + } + }, collapseHiddenCats: function() { if (!this.model.hasCats()) return; @@ -808,7 +808,7 @@ function hotkey_handler(e) { if (keycode == 88) { // x if (activeFeedIsCat()) { - toggleCollapseCat(getActiveFeedId()); + dijit.byId("feedTree").collapseCat(getActiveFeedId()); } } } |