From abdbf94e674c25e2c4b54a100b1324aba48dde6f Mon Sep 17 00:00:00 2001
From: Jonathan Adeline <jonathan@baserow.io>
Date: Tue, 4 Mar 2025 17:47:13 +0000
Subject: [PATCH] Re-add blur event listeners

---
 .../components/admin/forms/GitLabSettingsForm.vue             | 4 ++++
 .../components/admin/forms/OAuth2SettingsForm.vue             | 3 +++
 .../components/admin/forms/OpenIdConnectSettingsForm.vue      | 3 +++
 .../components/admin/forms/SamlSettingsForm.vue               | 4 ++++
 .../components/dataSync/GitHubIssuesDataSyncForm.vue          | 2 ++
 .../components/dataSync/GitLabIssuesDataSyncForm.vue          | 3 +++
 .../components/dataSync/HubspotContactsDataSyncForm.vue       | 1 +
 .../components/dataSync/JiraIssuesDataSyncForm.vue            | 3 +++
 .../modules/core/components/admin/users/forms/UserForm.vue    | 2 ++
 web-frontend/modules/core/components/health/EmailTester.vue   | 1 +
 .../modules/core/components/onboarding/WorkspaceStep.vue      | 1 +
 web-frontend/modules/core/components/settings/AccountForm.vue | 1 +
 .../modules/core/components/snapshots/CreateSnapshotForm.vue  | 1 +
 .../modules/core/components/workspace/WorkspaceForm.vue       | 1 +
 .../database/components/dataSync/PostgreSQLDataSync.vue       | 2 ++
 .../modules/database/components/form/BlankDatabaseForm.vue    | 1 +
 16 files changed, 33 insertions(+)

diff --git a/enterprise/web-frontend/modules/baserow_enterprise/components/admin/forms/GitLabSettingsForm.vue b/enterprise/web-frontend/modules/baserow_enterprise/components/admin/forms/GitLabSettingsForm.vue
index 4105d4650..875ffe201 100644
--- a/enterprise/web-frontend/modules/baserow_enterprise/components/admin/forms/GitLabSettingsForm.vue
+++ b/enterprise/web-frontend/modules/baserow_enterprise/components/admin/forms/GitLabSettingsForm.vue
@@ -13,6 +13,7 @@
         size="large"
         :error="fieldHasErrors('name')"
         :placeholder="$t('oauthSettingsForm.providerNamePlaceholder')"
+        @blur="v$.values.name.$touch"
       ></FormInput>
 
       <template #error>
@@ -33,6 +34,7 @@
         size="large"
         :error="fieldHasErrors('base_url')"
         :placeholder="$t('oauthSettingsForm.baseUrlPlaceholder')"
+        @blur="v$.values.base_url.$touch"
       ></FormInput>
 
       <template #error>
@@ -53,6 +55,7 @@
         size="large"
         :error="fieldHasErrors('client_id')"
         :placeholder="$t('oauthSettingsForm.clientIdPlaceholder')"
+        @blur="v$.values.client_id.$touch"
       ></FormInput>
 
       <template #error>
@@ -73,6 +76,7 @@
         size="large"
         :placeholder="$t('oauthSettingsForm.secretPlaceholder')"
         :error="fieldHasErrors('secret')"
+        @blur="v$.values.secret.$touch"
       ></FormInput>
 
       <template #error>
diff --git a/enterprise/web-frontend/modules/baserow_enterprise/components/admin/forms/OAuth2SettingsForm.vue b/enterprise/web-frontend/modules/baserow_enterprise/components/admin/forms/OAuth2SettingsForm.vue
index aa0ef72cd..cb4164a9a 100644
--- a/enterprise/web-frontend/modules/baserow_enterprise/components/admin/forms/OAuth2SettingsForm.vue
+++ b/enterprise/web-frontend/modules/baserow_enterprise/components/admin/forms/OAuth2SettingsForm.vue
@@ -13,6 +13,7 @@
         size="large"
         :error="fieldHasErrors('name')"
         :placeholder="$t('oauthSettingsForm.providerNamePlaceholder')"
+        @blur="v$.values.name.$touch"
       ></FormInput>
 
       <template #error>
@@ -33,6 +34,7 @@
         size="large"
         :error="fieldHasErrors('client_id')"
         :placeholder="$t('oauthSettingsForm.clientIdPlaceholder')"
+        @blur="v$.values.client_id.$touch"
       ></FormInput>
 
       <template #error>
@@ -53,6 +55,7 @@
         size="large"
         :error="fieldHasErrors('secret')"
         :placeholder="$t('oauthSettingsForm.secretPlaceholder')"
+        @blur="v$.values.secret.$touch"
       ></FormInput>
 
       <template #error>
diff --git a/enterprise/web-frontend/modules/baserow_enterprise/components/admin/forms/OpenIdConnectSettingsForm.vue b/enterprise/web-frontend/modules/baserow_enterprise/components/admin/forms/OpenIdConnectSettingsForm.vue
index cc70cb51e..39056c832 100644
--- a/enterprise/web-frontend/modules/baserow_enterprise/components/admin/forms/OpenIdConnectSettingsForm.vue
+++ b/enterprise/web-frontend/modules/baserow_enterprise/components/admin/forms/OpenIdConnectSettingsForm.vue
@@ -13,6 +13,7 @@
         size="large"
         :error="fieldHasErrors('name')"
         :placeholder="$t('oauthSettingsForm.providerNamePlaceholder')"
+        @blur="v$.values.name.$touch"
       ></FormInput>
 
       <template #error>
@@ -69,6 +70,7 @@
         size="large"
         :error="fieldHasErrors('client_id')"
         :placeholder="$t('oauthSettingsForm.clientIdPlaceholder')"
+        @blur="v$.values.client_id.$touch"
       ></FormInput>
 
       <template #error>
@@ -89,6 +91,7 @@
         size="large"
         :error="fieldHasErrors('secret')"
         :placeholder="$t('oauthSettingsForm.secretPlaceholder')"
+        @blur="v$.values.secret.$touch"
       ></FormInput>
 
       <template #error>
diff --git a/enterprise/web-frontend/modules/baserow_enterprise/components/admin/forms/SamlSettingsForm.vue b/enterprise/web-frontend/modules/baserow_enterprise/components/admin/forms/SamlSettingsForm.vue
index fba290dd6..ac4f89096 100644
--- a/enterprise/web-frontend/modules/baserow_enterprise/components/admin/forms/SamlSettingsForm.vue
+++ b/enterprise/web-frontend/modules/baserow_enterprise/components/admin/forms/SamlSettingsForm.vue
@@ -24,6 +24,7 @@
         :error="fieldHasErrors('domain') || serverErrors.domain"
         :placeholder="$t('samlSettingsForm.domainPlaceholder')"
         @input="onDomainInput()"
+        @blur="v$.values.domain.$touch"
       ></FormInput>
       <template #error>
         {{ v$.values.domain.$errors[0]?.$message }}
@@ -44,6 +45,7 @@
         :error="fieldHasErrors('metadata') || serverErrors.metadata"
         :placeholder="$t('samlSettingsForm.metadataPlaceholder')"
         @input="onMetadataInput()"
+        @blur="v$.values.metadata.$touch"
       ></FormTextarea>
 
       <template #error>
@@ -110,6 +112,7 @@
             v-model="v$.values.email_attr_key.$model"
             :error="fieldHasErrors('email_attr_key')"
             :placeholder="defaultAttrs.email_attr_key"
+            @blur="v$.values.email_attr_key.$touch"
           ></FormInput>
           <template #helper>
             {{ $t('samlSettingsForm.emailAttrKeyHelper') }}
@@ -131,6 +134,7 @@
             v-model="v$.values.first_name_attr_key.$model"
             :error="fieldHasErrors('first_name_attr_key')"
             :placeholder="defaultAttrs.first_name_attr_key"
+            @blur="v$.values.first_name_attr_key.$touch"
           ></FormInput>
           <template #helper>
             {{ $t('samlSettingsForm.firstNameAttrKeyHelper') }}
diff --git a/enterprise/web-frontend/modules/baserow_enterprise/components/dataSync/GitHubIssuesDataSyncForm.vue b/enterprise/web-frontend/modules/baserow_enterprise/components/dataSync/GitHubIssuesDataSyncForm.vue
index 0df2623b2..fd81bb37b 100644
--- a/enterprise/web-frontend/modules/baserow_enterprise/components/dataSync/GitHubIssuesDataSyncForm.vue
+++ b/enterprise/web-frontend/modules/baserow_enterprise/components/dataSync/GitHubIssuesDataSyncForm.vue
@@ -13,6 +13,7 @@
         :error="fieldHasErrors('github_issues_owner')"
         :disabled="disabled"
         size="large"
+        @blur="v$.values.github_issues_owner.$touch"
       />
       <template #error>
         <span>
@@ -34,6 +35,7 @@
         :error="fieldHasErrors('github_issues_repo')"
         :disabled="disabled"
         size="large"
+        @blur="v$.values.github_issues_repo.$touch"
       />
       <template #error>
         {{ v$.values.github_issues_repo.$errors[0]?.$message }}
diff --git a/enterprise/web-frontend/modules/baserow_enterprise/components/dataSync/GitLabIssuesDataSyncForm.vue b/enterprise/web-frontend/modules/baserow_enterprise/components/dataSync/GitLabIssuesDataSyncForm.vue
index ef0c6da8a..862a69c45 100644
--- a/enterprise/web-frontend/modules/baserow_enterprise/components/dataSync/GitLabIssuesDataSyncForm.vue
+++ b/enterprise/web-frontend/modules/baserow_enterprise/components/dataSync/GitLabIssuesDataSyncForm.vue
@@ -15,6 +15,7 @@
         :error="fieldHasErrors('gitlab_url')"
         :disabled="disabled"
         @focus.once="$event.target.select()"
+        @blur="v$.values.gitlab_url.$touch"
       />
       <template #error>
         {{ v$.values.gitlab_url.$errors[0]?.$message }}
@@ -34,6 +35,7 @@
         :error="fieldHasErrors('gitlab_project_id')"
         :disabled="disabled"
         size="large"
+        @blur="v$.values.gitlab_project_id.$touch"
       />
       <template #error>
         {{ v$.values.gitlab_project_id.$errors[0]?.$message }}
@@ -56,6 +58,7 @@
         :error="fieldHasErrors('gitlab_access_token')"
         :disabled="disabled"
         size="large"
+        @blur="v$.values.gitlab_access_token.$touch"
       />
       <template #error>
         {{ v$.values.gitlab_access_token.$errors[0]?.$message }}
diff --git a/enterprise/web-frontend/modules/baserow_enterprise/components/dataSync/HubspotContactsDataSyncForm.vue b/enterprise/web-frontend/modules/baserow_enterprise/components/dataSync/HubspotContactsDataSyncForm.vue
index 129037cfa..935bf3055 100644
--- a/enterprise/web-frontend/modules/baserow_enterprise/components/dataSync/HubspotContactsDataSyncForm.vue
+++ b/enterprise/web-frontend/modules/baserow_enterprise/components/dataSync/HubspotContactsDataSyncForm.vue
@@ -16,6 +16,7 @@
         :error="fieldHasErrors('hubspot_access_token')"
         :disabled="disabled"
         size="large"
+        @blur="v$.values.hubspot_access_token.$touch"
       />
       <template #error>
         {{ v$.values.hubspot_access_token.$errors[0]?.$message }}
diff --git a/enterprise/web-frontend/modules/baserow_enterprise/components/dataSync/JiraIssuesDataSyncForm.vue b/enterprise/web-frontend/modules/baserow_enterprise/components/dataSync/JiraIssuesDataSyncForm.vue
index 3553caac3..fd487ab59 100644
--- a/enterprise/web-frontend/modules/baserow_enterprise/components/dataSync/JiraIssuesDataSyncForm.vue
+++ b/enterprise/web-frontend/modules/baserow_enterprise/components/dataSync/JiraIssuesDataSyncForm.vue
@@ -15,6 +15,7 @@
         :error="fieldHasErrors('jira_url')"
         :disabled="disabled"
         @focus.once="$event.target.select()"
+        @blur="v$.values.jira_url.$touch"
       />
       <template #error>
         {{ v$.values.jira_url.$errors[0]?.$message }}
@@ -36,6 +37,7 @@
         :error="fieldHasErrors('jira_username')"
         :disabled="disabled"
         @focus.once="$event.target.select()"
+        @blur="v$.values.jira_username.$touch"
       />
       <template #error>
         {{ v$.values.jira_username.$errors[0]?.$message }}
@@ -60,6 +62,7 @@
         :error="fieldHasErrors('jira_api_token')"
         :disabled="disabled"
         @focus.once="$event.target.select()"
+        @blur="v$.values.jira_api_token.$touch"
       />
       <template #error>
         {{ v$.values.jira_api_token.$errors[0]?.$message }}
diff --git a/web-frontend/modules/core/components/admin/users/forms/UserForm.vue b/web-frontend/modules/core/components/admin/users/forms/UserForm.vue
index 2c8a7ed22..461d8de98 100644
--- a/web-frontend/modules/core/components/admin/users/forms/UserForm.vue
+++ b/web-frontend/modules/core/components/admin/users/forms/UserForm.vue
@@ -12,6 +12,7 @@
         v-model="v$.values.name.$model"
         size="large"
         :error="fieldHasErrors('name')"
+        @blur="v$.values.name.$touch"
       >
       </FormInput>
 
@@ -40,6 +41,7 @@
         v-model="v$.values.username.$model"
         size="large"
         :error="fieldHasErrors('username')"
+        @blur="v$.values.username.$touch"
       >
       </FormInput>
 
diff --git a/web-frontend/modules/core/components/health/EmailTester.vue b/web-frontend/modules/core/components/health/EmailTester.vue
index e53cdff1b..bab726947 100644
--- a/web-frontend/modules/core/components/health/EmailTester.vue
+++ b/web-frontend/modules/core/components/health/EmailTester.vue
@@ -36,6 +36,7 @@
           v-model="v$.values.targetEmail.$model"
           :error="fieldHasErrors('targetEmail')"
           :disabled="loading"
+          @blur="v$.values.targetEmail.$touch"
         ></FormInput>
 
         <template #error>
diff --git a/web-frontend/modules/core/components/onboarding/WorkspaceStep.vue b/web-frontend/modules/core/components/onboarding/WorkspaceStep.vue
index c1cca6036..3c034793f 100644
--- a/web-frontend/modules/core/components/onboarding/WorkspaceStep.vue
+++ b/web-frontend/modules/core/components/onboarding/WorkspaceStep.vue
@@ -10,6 +10,7 @@
         size="large"
         :error="v$.name.$error"
         @input="updateValue"
+        @blur="v$.name.$touch"
       />
       <template #error> {{ v$.name.$errors[0]?.$message }} </template>
     </FormGroup>
diff --git a/web-frontend/modules/core/components/settings/AccountForm.vue b/web-frontend/modules/core/components/settings/AccountForm.vue
index a53aef252..8ff13438a 100644
--- a/web-frontend/modules/core/components/settings/AccountForm.vue
+++ b/web-frontend/modules/core/components/settings/AccountForm.vue
@@ -12,6 +12,7 @@
         v-model="v$.values.first_name.$model"
         size="large"
         :error="fieldHasErrors('first_name')"
+        @blur="v$.values.first_name.$touch"
       ></FormInput>
 
       <template #error>
diff --git a/web-frontend/modules/core/components/snapshots/CreateSnapshotForm.vue b/web-frontend/modules/core/components/snapshots/CreateSnapshotForm.vue
index 5982c68d1..ab9ad64c7 100644
--- a/web-frontend/modules/core/components/snapshots/CreateSnapshotForm.vue
+++ b/web-frontend/modules/core/components/snapshots/CreateSnapshotForm.vue
@@ -13,6 +13,7 @@
           size="large"
           :error="fieldHasErrors('name')"
           class="snapshots-modal__name-input"
+          @blur="v$.values.name.$touch"
         />
       </slot>
 
diff --git a/web-frontend/modules/core/components/workspace/WorkspaceForm.vue b/web-frontend/modules/core/components/workspace/WorkspaceForm.vue
index dd9c2c130..4bb8f6094 100644
--- a/web-frontend/modules/core/components/workspace/WorkspaceForm.vue
+++ b/web-frontend/modules/core/components/workspace/WorkspaceForm.vue
@@ -12,6 +12,7 @@
         :error="fieldHasErrors('name')"
         size="large"
         @focus.once="$event.target.select()"
+        @blur="v$.values.name.$touch"
       ></FormInput>
 
       <template #error>{{ $t('error.requiredField') }}</template>
diff --git a/web-frontend/modules/database/components/dataSync/PostgreSQLDataSync.vue b/web-frontend/modules/database/components/dataSync/PostgreSQLDataSync.vue
index 20d74334b..ee58db7a0 100644
--- a/web-frontend/modules/database/components/dataSync/PostgreSQLDataSync.vue
+++ b/web-frontend/modules/database/components/dataSync/PostgreSQLDataSync.vue
@@ -47,6 +47,7 @@
         :type="field.type"
         :error="fieldHasErrors(field.name)"
         :disabled="disabled"
+        @blur="v$.values[field.name].$touch()"
       >
       </FormInput>
       <template #error>
@@ -67,6 +68,7 @@
             size="large"
             :error="fieldHasErrors('postgresql_port')"
             :disabled="disabled"
+            @blur="v$.values.postgresql_port.$touch"
           >
           </FormInput>
           <template #error>
diff --git a/web-frontend/modules/database/components/form/BlankDatabaseForm.vue b/web-frontend/modules/database/components/form/BlankDatabaseForm.vue
index daa396cb1..983765e12 100644
--- a/web-frontend/modules/database/components/form/BlankDatabaseForm.vue
+++ b/web-frontend/modules/database/components/form/BlankDatabaseForm.vue
@@ -14,6 +14,7 @@
         size="large"
         :placeholder="$t('applicationForm.namePlaceholder')"
         @focus.once="$event.target.select()"
+        @blur="v$.values.name.$touch"
       ></FormInput>
 
       <template #error>