mirror of https://github.com/rancher/ui.git
53 lines
1.1 KiB
JavaScript
53 lines
1.1 KiB
JavaScript
import Component from '@ember/component';
|
|
import layout from './template';
|
|
import StorageClassProvisioner from 'shared/mixins/storage-class-provisioner';
|
|
import { get, set, setProperties } from '@ember/object';
|
|
|
|
export default Component.extend(StorageClassProvisioner, {
|
|
layout,
|
|
|
|
provisioner: 'cinder',
|
|
|
|
type: null,
|
|
availability: null,
|
|
|
|
didReceiveAttrs() {
|
|
const changes = {};
|
|
|
|
changes['type'] = get(this, 'parameters.type') || '';
|
|
|
|
const zone = get(this, 'parameters.availability');
|
|
|
|
if (zone) {
|
|
changes['zoneAutomatic'] = false;
|
|
changes['availability'] = zone;
|
|
} else {
|
|
changes['zoneAutomatic'] = true;
|
|
changes['availability'] = '';
|
|
}
|
|
|
|
setProperties(this, changes);
|
|
},
|
|
|
|
updateParams() {
|
|
const type = get(this, 'type');
|
|
const out = {};
|
|
|
|
if (type) {
|
|
out['type'] = type;
|
|
}
|
|
|
|
const zoneAutomatic = get(this, 'zoneAutomatic');
|
|
|
|
if (!zoneAutomatic) {
|
|
const zones = (get(this, 'availability') || '').trim();
|
|
|
|
if (zones) {
|
|
out['availability'] = zones;
|
|
}
|
|
}
|
|
|
|
set(this, 'parameters', out);
|
|
},
|
|
});
|