From 5cee0194f5ac7259786554486b19768b97cdcefa Mon Sep 17 00:00:00 2001 From: Tobias Kunze Date: Tue, 2 Dec 2025 13:20:36 +0100 Subject: [PATCH] Fix broken FQDN due to timing problems --- src/servala/static/js/fqdn.js | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/servala/static/js/fqdn.js b/src/servala/static/js/fqdn.js index 0996bda..43805bf 100644 --- a/src/servala/static/js/fqdn.js +++ b/src/servala/static/js/fqdn.js @@ -9,7 +9,12 @@ const initializeFqdnGeneration = (prefix) => { let isArrayField = true; if (fqdnFieldContainer) { - let fqdnField = fqdnFieldContainer.querySelector('input.array-item-input'); + fqdnField = fqdnFieldContainer.querySelector("input.array-item-input") + if (!fqdnField) { + // We retry, as there is a field meant to be here, but not rendered yet + setTimeout(() => {initializeFqdnGeneration(prefix)}, 200) + return + } } else { fqdnField = document.getElementById(`id_${prefix}-spec.parameters.service.fqdn`); isArrayField = false; @@ -53,10 +58,14 @@ const initializeFqdnGeneration = (prefix) => { } } -document.addEventListener('DOMContentLoaded', () => {initializeFqdnGeneration("custom"), initializeFqdnGeneration("expert")}); -document.body.addEventListener('htmx:afterSwap', function(event) { - if (event.detail.target.id === 'service-form') { - initializeFqdnGeneration("custom"); - initializeFqdnGeneration("expert"); - } +const runFqdnInit = () => { + initializeFqdnGeneration("custom"); + initializeFqdnGeneration("expert"); +} + +document.addEventListener('DOMContentLoaded', () => { + runFqdnInit() +}); +document.body.addEventListener('htmx:afterSwap', function(event) { + if (event.detail.target.id === 'service-form') runFqdnInit() });