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; } });