ui/lib/shared/addon/components/form-cluster-select/component.js

41 lines
1008 B
JavaScript

import Component from '@ember/component';
import layout from './template';
import { get, set, setProperties } from '@ember/object';
import { next } from '@ember/runloop';
export default Component.extend({
layout,
tagName: 'div',
classNames: ['box'],
requestedClusterId: null,
requestedClusterName: null,
requestedRoles: null,
defaultExpand: null,
hasCluster: null,
setDisabled: false,
didReceiveAttrs() {
if (get(this, 'hasCluster')) {
next(() => {
setProperties(this, {
setDisabled: true,
requestedClusterId: get(this, 'hasCluster.id'),
requestedClusterName: get(this, 'hasCluster.name') || `(${get(this, 'hasCluster.id')})`,
});
})
}
},
actions: {
addRole(role) {
let roles = (get(this, 'requestedRoles') || []).slice();
if (roles.includes(role)) {
roles = roles.without(role);
} else {
roles.addObject(role);
}
set(this, 'requestedRoles', roles);
}
},
});