mirror of https://github.com/rancher/ui.git
40 lines
1.0 KiB
JavaScript
40 lines
1.0 KiB
JavaScript
import Component from '@ember/component';
|
|
import layout from './template';
|
|
import StorageClassProvisioner from 'shared/mixins/storage-class-provisioner';
|
|
import { get, setProperties } from '@ember/object';
|
|
|
|
const DEFAULT_PROVISIONER_CONFIG = {
|
|
numberOfReplicas: '3',
|
|
staleReplicaTimeout: '2880',
|
|
fromBackup: '',
|
|
diskSelector: '',
|
|
nodeSelector: '',
|
|
recurringJobs: '',
|
|
};
|
|
|
|
|
|
export default Component.extend(StorageClassProvisioner, {
|
|
layout,
|
|
|
|
provisioner: 'longhorn',
|
|
mode: 'new',
|
|
defaultProvisionerConfig: DEFAULT_PROVISIONER_CONFIG,
|
|
fields: Object.keys(DEFAULT_PROVISIONER_CONFIG),
|
|
|
|
didReceiveAttrs() {
|
|
const { fields, defaultProvisionerConfig } = this;
|
|
|
|
if (fields.length > 0) {
|
|
const changes = {};
|
|
|
|
fields.forEach((field) => {
|
|
const key = field;
|
|
|
|
changes[key] = get(this, `parameters.${ key }`) || get(defaultProvisionerConfig, key) || '';
|
|
});
|
|
|
|
setProperties(this, { model: changes });
|
|
}
|
|
},
|
|
});
|