diff --git a/app/assets/javascripts/discourse/routes/discourse.js.es6 b/app/assets/javascripts/discourse/routes/discourse.js.es6 index dcd4d686918..2bb5fa95441 100644 --- a/app/assets/javascripts/discourse/routes/discourse.js.es6 +++ b/app/assets/javascripts/discourse/routes/discourse.js.es6 @@ -2,6 +2,18 @@ import showModal from 'discourse/lib/show-modal'; const DiscourseRoute = Ember.Route.extend({ + refreshModel: null, + + refresh: function() { + // Implement `refreshModel` to avoid a full transition to ourselves + if (!this.refreshModel) { return this._super(); } + + if (!this.router.router.activeTransition) { + const params = this.controller.getProperties(Object.keys(this.queryParams)); + this.refreshModel(params); + } + }, + /** NOT called every time we enter a route on Discourse. Only called the FIRST time we enter a route. diff --git a/app/assets/javascripts/discourse/routes/users.js.es6 b/app/assets/javascripts/discourse/routes/users.js.es6 index 22fc3575b46..f8aae7fb8d7 100644 --- a/app/assets/javascripts/discourse/routes/users.js.es6 +++ b/app/assets/javascripts/discourse/routes/users.js.es6 @@ -2,16 +2,18 @@ export default Discourse.Route.extend({ queryParams: { period: { refreshModel: true }, order: { refreshModel: true }, - asc: { refreshModel: true }, + asc: { refreshModel: true } + }, + + refreshModel(params) { + const controller = this.controllerFor('users'); + controller.set('model.loading', true); + + this.model(params).then(model => this.setupController(controller, model)); }, model(params) { // If we refresh via `refreshModel` set the old model to loading - const existing = this.modelFor('users'); - if (existing) { - existing.set('loading', true); - } - this._period = params.period; return this.store.find('directoryItem', params); }, diff --git a/app/assets/javascripts/discourse/templates/users.hbs b/app/assets/javascripts/discourse/templates/users.hbs index 74d124e6080..c486a99952a 100644 --- a/app/assets/javascripts/discourse/templates/users.hbs +++ b/app/assets/javascripts/discourse/templates/users.hbs @@ -29,7 +29,7 @@