Francesco Torchia aba9c167e0
Vue3 migration - vue-migration.js launch + shell compatibility fixes
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-10-23 17:00:51 +02:00

74 lines
1.5 KiB
Vue

<script>
import CreateEditView from '@shell/mixins/create-edit-view';
import ArrayList from '@shell/components/form/ArrayList.vue';
export default {
name: 'HarvesterNtpServersConfig',
components: { ArrayList },
mixins: [CreateEditView],
data() {
let parseDefaultValue = {};
try {
parseDefaultValue = JSON.parse(this.value.value);
} catch (error) {
parseDefaultValue = { ntpServers: [] };
}
return { parseDefaultValue };
},
watch: {
value: {
handler(neu) {
let parseDefaultValue;
try {
parseDefaultValue = JSON.parse(neu.value);
} catch (err) {
parseDefaultValue = { ntpServers: [] };
}
this['parseDefaultValue'] = parseDefaultValue;
this.update();
},
deep: true
}
},
methods: {
useDefault() {
const parseDefaultValue = { ntpServers: [] };
this['parseDefaultValue'] = parseDefaultValue;
},
update() {
const value = JSON.stringify(this.parseDefaultValue);
this.value['value'] = value;
},
},
};
</script>
<template>
<div class="row">
<div class="col span-12">
<template>
<ArrayList
v-model:value="parseDefaultValue.ntpServers"
:title="t('harvester.host.ntp.label')"
:protip="t('harvester.host.ntp.tips')"
:value-placeholder="t('harvester.host.ntp.placeholder')"
:mode="mode"
@update:value="update"
/>
</template>
</div>
</div>
</template>