From e392ffac4e4a4b150797575b17f53bdd5576d32e Mon Sep 17 00:00:00 2001 From: David Kennedy Date: Wed, 26 Feb 2025 07:01:04 -0500 Subject: [PATCH] initialize smart nameservers --- .../assets/src/js/getgov/form-nameservers.js | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/registrar/assets/src/js/getgov/form-nameservers.js b/src/registrar/assets/src/js/getgov/form-nameservers.js index ac1332ae3..57a24a30d 100644 --- a/src/registrar/assets/src/js/getgov/form-nameservers.js +++ b/src/registrar/assets/src/js/getgov/form-nameservers.js @@ -4,6 +4,7 @@ export class NameserverForm { constructor() { this.addNameserverButton = document.getElementById('nameserver-add-form'); this.nameserversForm = document.querySelector('.nameservers-form'); + this.domain = ''; this.formChanged = false; this.callback = null; @@ -22,6 +23,12 @@ export class NameserverForm { } initializeNameserverFormDisplay() { + + const domainName = document.getElementById('id_form-0-domain'); + if (domainName) { + this.domain = domainName.value; + } + // Check if exactly two nameserver forms exist: id_form-1-server is present but id_form-2-server is not const secondNameserver = document.getElementById('id_form-1-server'); const thirdNameserver = document.getElementById('id_form-2-server'); // This should not exist @@ -53,6 +60,23 @@ export class NameserverForm { } }) } + + // hide ip in forms unless nameserver ends with domain name + let formIndex = 0; + while (document.getElementById('id_form-' + formIndex + '-domain')) { + let serverInput = document.getElementById('id_form-' + formIndex + '-server'); + let ipInput = document.getElementById('id_form-' + formIndex + '-ip'); + if (serverInput && ipInput) { + let serverValue = serverInput.value.trim(); // Get the value and trim spaces + let ipParent = ipInput.parentElement; // Get the parent element of ipInput + + if (ipParent && !serverValue.endsWith('.' + this.domain)) { + hideElement(ipParent); // Hide the parent element of ipInput + } + } + formIndex++; + } + } initializeEventListeners() {