lemo-crm/web/app/helpers/route-attr.js
2018-02-14 13:58:55 +08:00

27 lines
771 B
JavaScript

import Helper from '@ember/component/helper';
import { get, computed } from '@ember/object';
import { getOwner } from '@ember/application';
import { assert } from '@ember/debug';
export default Helper.extend({
router: computed(function() {
return getOwner(this).lookup('router:main');
}).readOnly(),
route: computed(function() {
return this.getRoute(this.get('router.currentRouteName'));
}).readOnly(),
getRoute(name) {
return getOwner(this).lookup('route:' + name);
},
compute([attr, routeName]) {
let route;
if (routeName) {
route = this.getRoute(routeName);
}
else {
route = get(this, 'route');
}
assert('[ember-route-action-helper] Unable to lookup router', route);
return get(route, attr);
}
});