diff --git a/src/servala/static/js/dynamic-array.js b/src/servala/static/js/dynamic-array.js index b6fa4e5..2d0098b 100644 --- a/src/servala/static/js/dynamic-array.js +++ b/src/servala/static/js/dynamic-array.js @@ -129,6 +129,8 @@ const updateRemoveButtonVisibility = (container) => { }) } +window.updateHiddenInput = updateHiddenInput + document.addEventListener('DOMContentLoaded', initDynamicArrayWidget) document.addEventListener('htmx:afterSwap', initDynamicArrayWidget) document.addEventListener('htmx:afterSettle', initDynamicArrayWidget) diff --git a/src/servala/static/js/fqdn.js b/src/servala/static/js/fqdn.js index 7b61c9a..a92071d 100644 --- a/src/servala/static/js/fqdn.js +++ b/src/servala/static/js/fqdn.js @@ -1,6 +1,6 @@ const initializeFqdnGeneration = () => { - const nameField = document.querySelector('input[name="name"]'); + const nameField = document.querySelector('input#id_name'); const fqdnField = document.querySelector('label[for="id_spec.parameters.service.fqdn"] + div input.array-item-input'); if (nameField && fqdnField) { @@ -17,6 +17,10 @@ const initializeFqdnGeneration = () => { newNameField.addEventListener('input', function() { if (!newFqdnField.dataset.manuallyEdited) { newFqdnField.value = generateFqdn(this.value); + const container = newFqdnField.closest('.dynamic-array-widget'); + if (container && window.updateHiddenInput) { + window.updateHiddenInput(container); + } } }); @@ -26,6 +30,10 @@ const initializeFqdnGeneration = () => { if (newNameField.value && !newFqdnField.value) { newFqdnField.value = generateFqdn(newNameField.value); + const container = newFqdnField.closest('.dynamic-array-widget'); + if (container && window.updateHiddenInput) { + window.updateHiddenInput(container); + } } } }