FIX: Back button wasn't reusing scroll position on category filter

This commit is contained in:
Robin Ward 2013-11-21 11:31:10 -05:00
parent fb4fb50b7b
commit 50005e2ef9
2 changed files with 12 additions and 8 deletions

View file

@ -41,15 +41,18 @@ Discourse.FilteredListRoute = Discourse.Route.extend({
listController.load(this.filter).then(function(topicList) { listController.load(this.filter).then(function(topicList) {
listController.set('canCreateTopic', topicList.get('can_create_topic')); listController.set('canCreateTopic', topicList.get('can_create_topic'));
listTopicsController.set('model', topicList); listTopicsController.set('model', topicList);
Discourse.FilteredListRoute.scrollToLastPosition();
});
}
});
Discourse.FilteredListRoute.reopenClass({
scrollToLastPosition: function() {
var scrollPos = Discourse.Session.currentProp('topicListScrollPosition'); var scrollPos = Discourse.Session.currentProp('topicListScrollPosition');
if (scrollPos) { if (scrollPos) {
Em.run.next(function() { Em.run.next(function() { $('html, body').scrollTop(scrollPos); });
$('html, body').scrollTop(scrollPos); Discourse.Session.currentProp('topicListScrollPosition', null);
});
Discourse.Session.current().set('topicListScrollPosition', null);
} }
});
} }
}); });

View file

@ -35,6 +35,7 @@ Discourse.ListCategoryRoute = Discourse.FilteredListRoute.extend({
}); });
self.controllerFor('listTopics').set('content', topicList); self.controllerFor('listTopics').set('content', topicList);
self.controllerFor('listTopics').set('category', category); self.controllerFor('listTopics').set('category', category);
Discourse.FilteredListRoute.scrollToLastPosition();
}); });
}, },