Fix form validation when credentials change

This commit is contained in:
Girish Ramakrishnan
2025-12-04 00:03:06 +01:00
parent 97128673ff
commit 59b9991a2c
4 changed files with 21 additions and 7 deletions
+6 -2
View File
@@ -1,6 +1,6 @@
<script setup>
import { ref, useTemplateRef } from 'vue';
import { ref, useTemplateRef, watchEffect } from 'vue';
import { Dialog, FormGroup, TextInput, PasswordInput, Checkbox } from '@cloudron/pankow';
import { s3like, mountlike, parseFullBackupPath } from '../utils.js';
import BackupProviderForm from './BackupProviderForm.vue';
@@ -25,7 +25,7 @@ const encryptionPassword = ref('');
const encryptedFilenames = ref(false);
const isFormValid = ref(false);
async function validateForm() {
function validateForm() {
isFormValid.value = form.value && form.value.checkValidity();
}
@@ -261,6 +261,10 @@ function onUploadBackupConfig() {
backupConfigInput.value.click();
}
watchEffect(() => {
if (providerConfig.value.credentials) setTimeout(validateForm, 100);
});
defineExpose({
async open(id) {
appId.value = id;
+5 -1
View File
@@ -1,6 +1,6 @@
<script setup>
import { ref, useTemplateRef } from 'vue';
import { ref, useTemplateRef, watchEffect } from 'vue';
import { Dialog, TextInput, InputGroup, FormGroup, Button } from '@cloudron/pankow';
import { getTextFromFile } from '../utils.js';
import DomainsModel from '../models/DomainsModel.js';
@@ -99,6 +99,10 @@ function onKeyFileChange() {
keyFileName.value = file ? file.name : '';
}
watchEffect(() => {
if (dnsConfig.value.credentials) setTimeout(checkValidity, 100);
});
defineExpose({
open(d) {
d = d ? JSON.parse(JSON.stringify(d)) : { config: {}, tlsConfig: { provider: 'letsencrypt-prod', wildcard: true } }; // make a copy