mirror of https://github.com/rancher/ui.git
56 lines
1.4 KiB
JavaScript
56 lines
1.4 KiB
JavaScript
import Resource from '@rancher/ember-api-store/models/resource';
|
|
import { inject as service } from '@ember/service';
|
|
import { computed, get } from '@ember/object';
|
|
import { ucFirst } from 'shared/utils/util';
|
|
import C from 'ui/utils/constants';
|
|
|
|
export default Resource.extend({
|
|
modalService: service('modal'),
|
|
level: 'global',
|
|
|
|
displayKind: computed('kind', function() {
|
|
return ucFirst(get(this, 'kind'));
|
|
}),
|
|
|
|
canClone: computed('actions.clone', function() {
|
|
const name = get(this, 'name');
|
|
const catalogNames = get(C, 'CATALOG');
|
|
const builtIn = [get(catalogNames, 'LIBRARY_KEY'), get(catalogNames, 'HELM_STABLE_KEY'), get(catalogNames, 'HELM_INCUBATOR_KEY')];
|
|
|
|
return !builtIn.includes(name);
|
|
}),
|
|
|
|
availableActions: computed('actionLinks.{refresh}', function() {
|
|
let a = get(this, 'actionLinks') || {};
|
|
|
|
return [{
|
|
enabled: !!a.refresh,
|
|
label: 'catalogPage.index.refreshBtn',
|
|
icon: 'icon icon-refresh',
|
|
action: 'refresh'
|
|
}];
|
|
}),
|
|
|
|
actions: {
|
|
edit() {
|
|
get(this, 'modalService').toggleModal('modal-edit-catalog', {
|
|
model: this,
|
|
scope: get(this, 'level')
|
|
});
|
|
},
|
|
|
|
clone() {
|
|
const clone = this.cloneForNew();
|
|
|
|
get(this, 'modalService').toggleModal('modal-edit-catalog', {
|
|
model: clone,
|
|
scope: get(this, 'level')
|
|
});
|
|
},
|
|
|
|
refresh() {
|
|
this.doAction('refresh')
|
|
},
|
|
},
|
|
});
|