mirror of https://github.com/rancher/ui.git
38 lines
1.0 KiB
JavaScript
38 lines
1.0 KiB
JavaScript
import Service from '@ember/service';
|
|
import { inject as service } from '@ember/service';
|
|
import { get, set } from '@ember/object';
|
|
import { computed } from '@ember/object';
|
|
|
|
export default Service.extend({
|
|
globalStore: service(),
|
|
|
|
_allRoleTemplates: null,
|
|
|
|
init() {
|
|
this._super(...arguments);
|
|
|
|
set(this, '_allRoleTemplates', get(this, 'globalStore').all('roleTemplate'));
|
|
get(this, 'globalStore').find('roleTemplate');
|
|
},
|
|
|
|
fetchFilteredRoleTemplates(id = null, opts = {
|
|
filter: {
|
|
locked: false,
|
|
hidden: false
|
|
}
|
|
}) {
|
|
const store = get(this, 'globalStore');
|
|
|
|
return store.find('roleTemplate', id, opts);
|
|
},
|
|
|
|
allFilteredRoleTemplates: computed('_allRoleTemplates.@each.{locked,hidden}', function() {
|
|
return get(this, '_allRoleTemplates').filter( (rt) => !get(rt, 'locked') && !get(rt, 'hidden'));
|
|
}),
|
|
|
|
allVisibleRoleTemplates: computed('_allRoleTemplates.@each.{locked,hidden}', function() {
|
|
return get(this, '_allRoleTemplates').filter( (rt) => !get(rt, 'hidden'));
|
|
}),
|
|
|
|
});
|