40 lines
995 B
JavaScript
40 lines
995 B
JavaScript
import Ember from 'ember';
|
|
import BaseRoute from './base';
|
|
import $ from 'jquery'
|
|
|
|
export default BaseRoute.extend({
|
|
queryParams: {
|
|
search: {
|
|
refreshModel: true
|
|
},
|
|
filters: {
|
|
refreshModel: true
|
|
},
|
|
orders: {
|
|
refreshModel: true
|
|
}
|
|
},
|
|
model(params, transition) {
|
|
let me = this;
|
|
return me.get('service').listPage(me.getPage(params), me.mergeParams(params, transition));
|
|
},
|
|
mergeParams(params, transition) {
|
|
let me = this;
|
|
let extParams = null;
|
|
if ($.type(me.extraParams) === 'function') {
|
|
extParams = me.extraParams(params, transition);
|
|
}
|
|
return extParams ? $.extend(true, params, extParams) : params;
|
|
},
|
|
getPage(params) {
|
|
let page = params.page;
|
|
if (!Number.isInteger(page)) {
|
|
page = parseInt(page);
|
|
}
|
|
if (page < 1) {
|
|
page = 1;
|
|
}
|
|
return page;
|
|
}
|
|
});
|