FIX: Back button wasn't reusing scroll position on category filter
This commit is contained in:
parent
fb4fb50b7b
commit
50005e2ef9
|
@ -41,18 +41,21 @@ Discourse.FilteredListRoute = Discourse.Route.extend({
|
|||
listController.load(this.filter).then(function(topicList) {
|
||||
listController.set('canCreateTopic', topicList.get('can_create_topic'));
|
||||
listTopicsController.set('model', topicList);
|
||||
|
||||
var scrollPos = Discourse.Session.currentProp('topicListScrollPosition');
|
||||
if (scrollPos) {
|
||||
Em.run.next(function() {
|
||||
$('html, body').scrollTop(scrollPos);
|
||||
});
|
||||
Discourse.Session.current().set('topicListScrollPosition', null);
|
||||
}
|
||||
Discourse.FilteredListRoute.scrollToLastPosition();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
Discourse.FilteredListRoute.reopenClass({
|
||||
scrollToLastPosition: function() {
|
||||
var scrollPos = Discourse.Session.currentProp('topicListScrollPosition');
|
||||
if (scrollPos) {
|
||||
Em.run.next(function() { $('html, body').scrollTop(scrollPos); });
|
||||
Discourse.Session.currentProp('topicListScrollPosition', null);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Discourse.ListController.filters.forEach(function(filter) {
|
||||
Discourse["List" + (filter.capitalize()) + "Route"] = Discourse.FilteredListRoute.extend({ filter: filter });
|
||||
});
|
||||
|
|
|
@ -35,6 +35,7 @@ Discourse.ListCategoryRoute = Discourse.FilteredListRoute.extend({
|
|||
});
|
||||
self.controllerFor('listTopics').set('content', topicList);
|
||||
self.controllerFor('listTopics').set('category', category);
|
||||
Discourse.FilteredListRoute.scrollToLastPosition();
|
||||
});
|
||||
},
|
||||
|
||||
|
|
Loading…
Reference in New Issue