22 lines
673 B
JavaScript
22 lines
673 B
JavaScript
import Helper from '@ember/component/helper';
|
|
import { get } from '@ember/object';
|
|
import { getOwner } from '@ember/application';
|
|
import { assert } from '@ember/debug';
|
|
|
|
export default Helper.extend({
|
|
router() {
|
|
return getOwner(this).lookup('router:main');
|
|
},
|
|
route(trimIndex) {
|
|
const me = this;
|
|
let routeName = get(me.router(), 'currentRouteName');
|
|
return getOwner(this).lookup('route:' +
|
|
(trimIndex ? routeName.replace(/\.index$/, '') : routeName));
|
|
},
|
|
compute([attr, trimIndex = true]) {
|
|
let route = this.route(trimIndex);
|
|
assert('[ember-route-action-helper] Unable to lookup router', route);
|
|
return get(route, attr);
|
|
}
|
|
});
|