ui/app/components/volume-source/source-secret/component.js

41 lines
964 B
JavaScript

import Component from '@ember/component';
import layout from './template';
import { get, set, observer } from '@ember/object';
import VolumeSource from 'shared/mixins/volume-source';
export default Component.extend(VolumeSource, {
layout,
field: 'secret',
specific: false,
defaultMode: null,
editing: true,
didReceiveAttrs() {
this._super(...arguments);
if (!!get(this, 'config.items')) {
set(this, 'specific', true);
}
const modeStr = get(this, 'config.defaultMode');
if ( modeStr ) {
set(this, 'defaultMode', (new Number(modeStr)).toString(8));
} else {
set(this, 'defaultMode', '400');
}
},
specificDidChange: observer('specific', function() {
if (!this.specific){
set(this, 'config.items', null);
}
}),
modeDidChange: observer('defaultMode', function() {
const octal = this.defaultMode || '0';
set(this, 'config.defaultMode', parseInt(octal, 8));
}),
});