From c887186e1a0e6c8093ee098790bf78bb04cc05ac Mon Sep 17 00:00:00 2001
From: Marcelo Fukumoto
Date: Wed, 13 May 2026 17:52:00 +0200
Subject: [PATCH] feat(forklift): Added better handling on the saving and
testing
Signed-off-by: Marcelo Fukumoto
---
.../pages/c/_cluster/forklift/configure-provider.vue | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/pkg/harvester/pages/c/_cluster/forklift/configure-provider.vue b/pkg/harvester/pages/c/_cluster/forklift/configure-provider.vue
index bc72023d..7c2ef1cd 100644
--- a/pkg/harvester/pages/c/_cluster/forklift/configure-provider.vue
+++ b/pkg/harvester/pages/c/_cluster/forklift/configure-provider.vue
@@ -41,6 +41,7 @@ const createdSecret = ref(null);
const loading = ref(true);
const testPassed = ref(false);
const testing = ref(false);
+const saving = ref(false);
const isFormValid = computed(() => !!providerName.value && !!url.value && !!username.value && !!password.value);
@@ -75,6 +76,7 @@ const testConnection = async(buttonCb) => {
if (!providerName.value || !url.value || !username.value || !password.value) {
testError.value = t('harvester.addons.forklift.configureProvider.testMissingFields');
+ testing.value = false;
buttonCb(false);
return;
@@ -230,6 +232,7 @@ const testConnection = async(buttonCb) => {
const saveProvider = async(buttonCb) => {
errors.value = [];
+ saving.value = true;
if (!testPassed.value) {
// Test hasn't passed yet — run it first
@@ -244,6 +247,7 @@ const saveProvider = async(buttonCb) => {
query: { provider: providerName.value }
});
} else {
+ saving.value = false;
buttonCb(false);
}
});
@@ -350,7 +354,9 @@ init();
{{ t('harvester.addons.forklift.configureProvider.skipSslHint') }}
-
+ {{ isFormValid }}
+ {{ testing }}
+ {{ saving }}