| 1234567891011121314151617181920212223242526272829303132333435363738 |
- // Attaches listeners to nameserver add and remove links to clone or remove the input
- export default function handleNameServerInput() {
- // Add new name server input
- const addNsButton = document.querySelector('.js-add-ns');
- if (addNsButton) {
- addNsButton.addEventListener('click', () => addNsInput(addNsButton));
- }
- // Remove name server input
- document.querySelectorAll('.js-remove-ns').forEach((removeNsElem) => {
- removeNsElem.addEventListener('click', () => removeNsInput(removeNsElem));
- });
- }
- function addNsInput(addNsButton) {
- const currentNsInputs = document.querySelectorAll('input[name^=v_ns]');
- const inputCount = currentNsInputs.length;
- if (inputCount < 8) {
- const template = currentNsInputs[0].parentElement.cloneNode(true);
- const templateNsInput = template.querySelector('input');
- templateNsInput.removeAttribute('value');
- templateNsInput.name = `v_ns${inputCount + 1}`;
- addNsButton.before(template);
- }
- if (inputCount === 7) {
- addNsButton.classList.add('u-hidden');
- }
- }
- function removeNsInput(removeNsElement) {
- removeNsElement.parentElement.remove();
- const currentNsInputs = document.querySelectorAll('input[name^=v_ns]');
- currentNsInputs.forEach((input, index) => (input.name = `v_ns${index + 1}`));
- document.querySelector('.js-add-ns').classList.remove('u-hidden');
- }
|