From c4d10183883b4e70e883733aae777c005978093e Mon Sep 17 00:00:00 2001 From: Andy Lee Date: Mon, 20 Apr 2026 10:56:42 +0800 Subject: [PATCH] fix: provisioner not update when deleting disk (#791) * fix: provisioner not update when deleting disk Signed-off-by: Andy Lee * refactor: update pkg/harvester/edit/harvesterhci.io.host/HarvesterDisk.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Andy Lee * refactor: based on feedback Signed-off-by: Andy Lee --------- Signed-off-by: Andy Lee Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../harvesterhci.io.host/HarvesterDisk.vue | 47 ++++++++++--------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/pkg/harvester/edit/harvesterhci.io.host/HarvesterDisk.vue b/pkg/harvester/edit/harvesterhci.io.host/HarvesterDisk.vue index bc01b158..b7c92dc7 100644 --- a/pkg/harvester/edit/harvesterhci.io.host/HarvesterDisk.vue +++ b/pkg/harvester/edit/harvesterhci.io.host/HarvesterDisk.vue @@ -71,21 +71,38 @@ export default { }, data() { - let provisioner = `${ this.value.provisioner || LONGHORN_DRIVER }`; - - if (provisioner === LONGHORN_DRIVER) { - provisioner = `${ provisioner }_${ this.value.provisionerVersion || LONGHORN_VERSION_V1 }`; - } - return { - provisioner, volumeGroupDialog: null, randomStr: randomStr(10).toLowerCase(), - isOpen: false + isOpen: false, }; }, computed: { + provisioner: { + get() { + let provisioner = `${ this.value?.provisioner || LONGHORN_DRIVER }`; + + if (provisioner === LONGHORN_DRIVER) { + provisioner = `${ provisioner }_${ this.value?.provisionerVersion || LONGHORN_VERSION_V1 }`; + } + + return provisioner; + }, + set(value) { + this.randomStr = randomStr(10).toLowerCase(); + const [provisioner, provisionerVersion] = (value || '').split('_'); + + this.value.provisioner = provisioner; + + if (provisioner === LONGHORN_DRIVER) { + this.value.provisionerVersion = provisionerVersion || LONGHORN_VERSION_V1; + } else { + this.value.provisionerVersion = undefined; + } + }, + }, + provisioners() { const out = []; @@ -283,20 +300,6 @@ export default { }, watch: { - provisioner(value) { - this.randomStr = randomStr(10).toLowerCase(); - - const [provisioner, provisionerVersion] = value?.split('_'); - - this.value.provisioner = provisioner; - - if (provisioner === LONGHORN_DRIVER) { - this.value.provisionerVersion = provisionerVersion || LONGHORN_VERSION_V1; - } else { - this.value.provisionerVersion = undefined; - } - }, - 'value.lvmVolumeGroup'(neu) { if (neu === _NEW) { this.value.lvmVolumeGroup = null;