fix backup target setting

This commit is contained in:
andy.lee 2024-11-05 12:02:03 +08:00 committed by Francesco Torchia
parent 9eec2ed557
commit 9f9f09b977
No known key found for this signature in database
GPG Key ID: E6D011B7415D4393

View File

@ -7,6 +7,8 @@ import { LabeledInput } from '@components/Form/LabeledInput';
import LabeledSelect from '@shell/components/form/LabeledSelect'; import LabeledSelect from '@shell/components/form/LabeledSelect';
import { HCI_SETTING } from '../../config/settings'; import { HCI_SETTING } from '../../config/settings';
const DEFAULT_TYPE ='s3';
export default { export default {
name: 'HarvesterEditBackupTarget', name: 'HarvesterEditBackupTarget',
@ -25,10 +27,14 @@ export default {
parseDefaultValue = { type: '', endpoint: '' }; parseDefaultValue = { type: '', endpoint: '' };
} }
// set default type to s3
if (!parseDefaultValue.type) { if (!parseDefaultValue.type) {
parseDefaultValue.type = 's3'; parseDefaultValue.type = DEFAULT_TYPE;
} }
// set default virtualHostedStyle to false
parseDefaultValue.virtualHostedStyle = false;
return { return {
parseDefaultValue, parseDefaultValue,
errors: [] errors: []
@ -41,12 +47,12 @@ export default {
value: 'nfs', value: 'nfs',
label: 'NFS' label: 'NFS'
}, { }, {
value: 's3', value: DEFAULT_TYPE,
label: 'S3' label: 'S3'
}]; }];
}, },
virtualHostedStyleType() { virtualHostedStyleOptions() {
return [{ return [{
value: true, value: true,
label: 'True' label: 'True'
@ -57,7 +63,7 @@ export default {
}, },
isS3() { isS3() {
return this.parseDefaultValue.type === 's3'; return this.parseDefaultValue.type === DEFAULT_TYPE;
}, },
endpointPlaceholder() { endpointPlaceholder() {
@ -102,29 +108,26 @@ export default {
delete this.parseDefaultValue.cert; delete this.parseDefaultValue.cert;
} }
const value = JSON.stringify(this.parseDefaultValue); if(this.isS3 && !this.parseDefaultValue.virtualHostedStyle) {
this.parseDefaultValue.virtualHostedStyle = false;
}
if (!this.parseDefaultValue.type) { if (!this.parseDefaultValue.type) {
delete this.value['value']; delete this.value['value'];
} else { } else {
this.value['value'] = value; this.value['value'] = JSON.stringify(this.parseDefaultValue);;
} }
}, },
useDefault() { useDefault() {
const parseDefaultValue = { type: '', endpoint: '' }; this['parseDefaultValue'] = { type: '', endpoint: '' };
this['parseDefaultValue'] = parseDefaultValue;
} }
} }
}; };
</script> </script>
<template> <template>
<div <div class="row" @input="update">
class="row"
@update:value="update"
>
<div class="col span-12"> <div class="col span-12">
<LabeledSelect <LabeledSelect
v-model:value="parseDefaultValue.type" v-model:value="parseDefaultValue.type"
@ -133,7 +136,6 @@ export default {
:options="typeOption" :options="typeOption"
@update:value="update" @update:value="update"
/> />
<LabeledInput <LabeledInput
v-model:value="parseDefaultValue.endpoint" v-model:value="parseDefaultValue.endpoint"
class="mb-5" class="mb-5"
@ -186,7 +188,7 @@ export default {
v-model:value="parseDefaultValue.virtualHostedStyle" v-model:value="parseDefaultValue.virtualHostedStyle"
class="mb-20" class="mb-20"
label="Virtual Hosted-Style" label="Virtual Hosted-Style"
:options="virtualHostedStyleType" :options="virtualHostedStyleOptions"
@update:value="update" @update:value="update"
/> />