yoqw/web/cms/app/helpers/route-attr.js
2020-07-01 15:22:07 +08:00

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