yoqw/web/cms/app/routes/base.js
2020-07-01 15:22:07 +08:00

54 lines
1.5 KiB
JavaScript

import Route from '@ember/routing/route';
import { assign } from '@ember/polyfills';
import { inject as service } from '@ember/service';
export default Route.extend({
toolService: service('tool-service'),
activeListQueryParams: {
filters: JSON.stringify({active: [true]}),
limit: 128
},
beforeModel() {
let me = this;
me._super(...arguments);
// let perm = me.get('perm')
let service = me.get('service');
if (!service) {
const routeName = me.get('routeName');
let service = me.get('toolService').getServiceByRouteName(routeName);
if (service) {
console.log(`Set Route [${routeName}] Service [${service}]`);
me.set('service', service);
}
else {
console.log(`No Service Found For Route [${routeName}]`);
}
}
},
setupController(controller) {
let me = this;
controller.set('service', me.get('service'));
me._super(...arguments);
},
findParam(transition, name) {
let param = null
Object.keys(transition.params).some((k) => {
let props = transition.params[k];
if (props[name]) {
param = props[name];
return true;
}
});
return param;
},
allParams(transition) {
let params = {};
Object.keys(transition.params).forEach((k) => {
assign(params, transition.params[k]);
});
return params;
}
});