mirror of https://github.com/rancher/ui.git
54 lines
1.2 KiB
JavaScript
54 lines
1.2 KiB
JavaScript
import Component from '@ember/component';
|
|
import { get, set, setProperties, computed, observer } from '@ember/object';
|
|
import layout from './template';
|
|
|
|
export default Component.extend({
|
|
layout,
|
|
mode: null,
|
|
model: null,
|
|
|
|
accessRWO: null,
|
|
accessROX: null,
|
|
accessRWX: null,
|
|
|
|
didReceiveAttrs() {
|
|
let accessRWO=true;
|
|
let accessROX=false;
|
|
let accessRWX=false;
|
|
|
|
if ( get(this,'mode') !== 'new' ) {
|
|
const modes = get(this,'model.accessModes')||[];
|
|
accessRWO = modes.includes('ReadWriteOnce');
|
|
accessROX = modes.includes('ReadOnlyMany');
|
|
accessRWX = modes.includes('ReadWriteMany');
|
|
}
|
|
|
|
setProperties(this, {
|
|
accessRWO,
|
|
accessROX,
|
|
accessRWX,
|
|
});
|
|
|
|
this.modesChanged();
|
|
},
|
|
|
|
editing: computed('mode', function() {
|
|
return get(this, 'mode') !== 'view';
|
|
}),
|
|
|
|
modesChanged: observer('accessRWO','accessROX','accessRWM', function() {
|
|
const modes = [];
|
|
if ( get(this, 'accessRWO') ) {
|
|
modes.push('ReadWriteOnce');
|
|
}
|
|
if ( get(this, 'accessROX') ) {
|
|
modes.push('ReadOnlyMany');
|
|
}
|
|
if ( get(this, 'accessRWX') ) {
|
|
modes.push('ReadWriteMany');
|
|
}
|
|
|
|
set(this, 'model.accessModes', modes);
|
|
}),
|
|
});
|