Replace `refreshModel` with a custom property
This commit is contained in:
parent
8bc5de665b
commit
9e13067be0
|
@ -2,15 +2,20 @@ import showModal from 'discourse/lib/show-modal';
|
|||
|
||||
const DiscourseRoute = Ember.Route.extend({
|
||||
|
||||
refreshModel: null,
|
||||
// Set to true to refresh a model without a transition if a query param
|
||||
// changes
|
||||
resfreshQueryWithoutTransition: false,
|
||||
|
||||
refresh: function() {
|
||||
// Implement `refreshModel` to avoid a full transition to ourselves
|
||||
if (!this.refreshModel) { return this._super(); }
|
||||
if (!this.refreshQueryWithoutTransition) { return this._super(); }
|
||||
|
||||
if (!this.router.router.activeTransition) {
|
||||
const params = this.controller.getProperties(Object.keys(this.queryParams));
|
||||
this.refreshModel(params);
|
||||
const controller = this.controller,
|
||||
model = controller.get('model'),
|
||||
params = this.controller.getProperties(Object.keys(this.queryParams));
|
||||
|
||||
model.set('loading', true);
|
||||
this.model(params).then(model => this.setupController(controller, model));
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
@ -5,12 +5,7 @@ export default Discourse.Route.extend({
|
|||
asc: { refreshModel: true }
|
||||
},
|
||||
|
||||
refreshModel(params) {
|
||||
const controller = this.controllerFor('users');
|
||||
controller.set('model.loading', true);
|
||||
|
||||
this.model(params).then(model => this.setupController(controller, model));
|
||||
},
|
||||
refreshQueryWithoutTransition: true,
|
||||
|
||||
model(params) {
|
||||
// If we refresh via `refreshModel` set the old model to loading
|
||||
|
|
Loading…
Reference in New Issue