enable server-side storage of collapsed status of categories

master
Andrew Dolgov 14 years ago
parent 692de15991
commit 1a709d21d5

@ -237,4 +237,22 @@ dojo.declare("fox.FeedTree", dijit.Tree, {
return cat_unread; return cat_unread;
}, },
collapseHiddenCats: function() {
if (!this.model.hasCats()) return;
var cats = this.model.store._arrayOfTopLevelItems;
var tree = this;
dojo.forEach(cats, function(cat) {
var hidden = tree.model.store.getValue(cat, 'hidden');
var id = tree.model.store.getValue(cat, 'id');
var node = tree._itemNodesMap[id][0];
if (hidden)
tree._collapseNode(node);
else
tree._expandNode(node);
});
},
}); });

@ -92,7 +92,7 @@ function updateFeedList() {
new Ajax.Request("backend.php", new Ajax.Request("backend.php",
{ parameters: "backend.php?op=feeds&subop=collapse&cid=" + { parameters: "backend.php?op=feeds&subop=collapse&cid=" +
param_escape(cat_id) + "&mode=1" } ); param_escape(cat_id) + "&mode=0" } );
}, },
onClose: function (item, node) { onClose: function (item, node) {
var id = String(item.id); var id = String(item.id);
@ -100,7 +100,7 @@ function updateFeedList() {
new Ajax.Request("backend.php", new Ajax.Request("backend.php",
{ parameters: "backend.php?op=feeds&subop=collapse&cid=" + { parameters: "backend.php?op=feeds&subop=collapse&cid=" +
param_escape(cat_id) + "&mode=0" } ); param_escape(cat_id) + "&mode=1" } );
}, },
onClick: function (item, node) { onClick: function (item, node) {
@ -133,6 +133,9 @@ function updateFeedList() {
var tmph = dojo.connect(tree, 'onLoad', function() { var tmph = dojo.connect(tree, 'onLoad', function() {
dojo.disconnect(tmph); dojo.disconnect(tmph);
Element.hide("feedlistLoading"); Element.hide("feedlistLoading");
tree.collapseHiddenCats();
feedlist_init(); feedlist_init();
// var node = dijit.byId("feedTree")._itemNodesMap['FEED:-2'][0].domNode // var node = dijit.byId("feedTree")._itemNodesMap['FEED:-2'][0].domNode

Loading…
Cancel
Save