From 5841508b2619c685d819738955545da51a0c1dca Mon Sep 17 00:00:00 2001 From: Yiya Chen Date: Mon, 5 May 2025 20:49:08 +0800 Subject: [PATCH] fix: hide btns before is ready (#267) --- .../harvesterhci.io.virtualmachineimage.js | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/pkg/harvester/models/harvesterhci.io.virtualmachineimage.js b/pkg/harvester/models/harvesterhci.io.virtualmachineimage.js index 71aac3ef..e101b6ce 100644 --- a/pkg/harvester/models/harvesterhci.io.virtualmachineimage.js +++ b/pkg/harvester/models/harvesterhci.io.virtualmachineimage.js @@ -50,35 +50,45 @@ export default class HciVmImage extends HarvesterResource { canCreateVM = false; } - return [ + const customActions = this.isReady ? [ { action: 'createFromImage', enabled: canCreateVM, icon: 'icon icon-circle-plus', label: this.t('harvester.action.createVM'), - disabled: !this.isReady, }, { action: 'encryptImage', enabled: this.volumeEncryptionFeatureEnabled && !this.isEncrypted, icon: 'icon icon-lock', label: this.t('harvester.action.encryptImage'), - disabled: !this.isReady, }, { action: 'decryptImage', enabled: this.volumeEncryptionFeatureEnabled && this.isEncrypted, icon: 'icon icon-unlock', label: this.t('harvester.action.decryptImage'), - disabled: !this.isReady, }, { - action: 'imageDownload', - enabled: this.links?.download, - icon: 'icon icon-download', - label: this.t('asyncButton.download.action'), - }, - ...out + action: 'imageDownload', + enabled: this.links?.download, + icon: 'icon icon-download', + label: this.t('asyncButton.download.action'), + } + ] : []; + + let filteredOut; + + if (customActions.length > 0) { + filteredOut = out; + } else { + // if the first item is a divider, remove it from the array + filteredOut = out[0]?.divider ? out.slice(1) : out; + } + + return [ + ...customActions, + ...filteredOut ]; }