mirror of https://github.com/rancher/ui.git
48 lines
1.4 KiB
JavaScript
48 lines
1.4 KiB
JavaScript
import Component from '@ember/component';
|
|
import { computed, get, set } from '@ember/object';
|
|
import layout from './template';
|
|
|
|
export default Component.extend({
|
|
layout,
|
|
tagName: '',
|
|
expanded: false,
|
|
hasExpandableContent: computed.notEmpty('model.nodes'),
|
|
actions: {
|
|
toggle() {
|
|
set(this, 'expanded', !get(this, 'expanded'));
|
|
},
|
|
toggleSkip() {
|
|
get(this, 'model.toggleSkip')()
|
|
},
|
|
},
|
|
isInSkipList: computed('model.id', 'model.skipList.[]', function() {
|
|
return get(this, 'model.skipList').indexOf(get(this, 'model.id')) !== -1;
|
|
}),
|
|
showSkipButton: computed('model.state', 'isInSkipList', function() {
|
|
return get(this, 'model.state') !== 'Pass' && get(this, 'model.state') !== 'N/A' && !get(this, 'isInSkipList');
|
|
}),
|
|
showUnskipButton: computed('model.state', 'isInSkipList', function() {
|
|
return get(this, 'model.state') !== 'Pass' && get(this, 'isInSkipList');
|
|
}),
|
|
badgeState: computed('model.state', function() {
|
|
const state = get(this, 'model.state');
|
|
|
|
return {
|
|
stateBackground: this.getStateBackground(state),
|
|
displayState: state
|
|
}
|
|
}),
|
|
getStateBackground(state) {
|
|
switch (state) {
|
|
case 'Pass':
|
|
return 'bg-success';
|
|
case 'Skipped':
|
|
return 'bg-warning'
|
|
case 'N/A':
|
|
return 'bg-warning';
|
|
default:
|
|
return 'bg-error';
|
|
}
|
|
}
|
|
});
|