summaryrefslogtreecommitdiff
path: root/js/FeedTree.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/FeedTree.js')
-rw-r--r--js/FeedTree.js20
1 files changed, 17 insertions, 3 deletions
diff --git a/js/FeedTree.js b/js/FeedTree.js
index 2cb6346e4..b02d8ad7c 100644
--- a/js/FeedTree.js
+++ b/js/FeedTree.js
@@ -162,6 +162,13 @@ dojo.declare("fox.FeedTree", dijit.Tree, {
tnode._menu = menu;
}
+ if (id.match("CAT:")) {
+ loading = dojo.doc.createElement('img');
+ loading.className = 'loadingNode';
+ dojo.place(loading, tnode.labelNode, 'after');
+ tnode.loadingNode = loading;
+ }
+
if (id.match("CAT:") && bare_id == -1) {
var menu = new dijit.Menu();
menu.row_id = bare_id;
@@ -243,8 +250,15 @@ dojo.declare("fox.FeedTree", dijit.Tree, {
if (treeNode) {
treeNode = treeNode[0];
- treeNode.expandoNode.src = src;
- return true;
+ if (is_cat) {
+ if (treeNode.loadingNode) {
+ treeNode.loadingNode.src = src;
+ return true;
+ }
+ } else {
+ treeNode.expandoNode.src = src;
+ return true;
+ }
}
return false;
@@ -309,7 +323,7 @@ dojo.declare("fox.FeedTree", dijit.Tree, {
var node = tree._itemNodesMap[id];
if (node) {
- if (hide && unread == 0 && (bare_id > 0 || !show_special)) {
+ if (hide && unread == 0 && (bare_id > 0 || bare_id < -10 || !show_special)) {
Effect.Fade(node[0].rowNode, {duration : 0.3,
queue: { position: 'end', scope: 'FFADE-' + id, limit: 1 }});
} else {