mirror of https://github.com/rancher/ui.git
47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
import Component from '@ember/component';
|
|
import layout from './template';
|
|
import { get, set, setProperties, computed } from '@ember/object';
|
|
import { next } from '@ember/runloop';
|
|
|
|
export default Component.extend({
|
|
layout,
|
|
tagName: 'div',
|
|
classNames: ['box'],
|
|
requestedClusterId: null,
|
|
requestedClusterName: null,
|
|
roles: 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, 'role')||[]).slice();
|
|
|
|
if (roles.includes(role)) {
|
|
roles = roles.without(role);
|
|
} else {
|
|
roles.addObject(role);
|
|
}
|
|
|
|
set(this, 'role', roles);
|
|
}
|
|
},
|
|
|
|
filteredClusters: computed('clusters.@each.canAddNode', function() {
|
|
return (get(this,'clusters')||[]).filterBy('canAddNode',true);
|
|
}),
|
|
});
|