{"version":3,"sources":["auto-submit-rfc.js"],"names":["_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","err","normalCompletion","didErr","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","requestFormPage","document","querySelector","referrer","indexOf","window","location","pathname","classList","contains","remove","body","requestForm","formFields","querySelectorAll","formButton","cancelLoading","submitForm","dataset","submit","forEach","field","add","watchFormButton","MutationObserver","mutationsList","observer","_iterator","_step","mutation","attributeName","click","disconnect","observe","attributes","addEventListener","preventDefault"],"mappings":"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","file":"../auto-submit-rfc.js","sourcesContent":["(function() {\n\n const requestFormPage = document.querySelector('.request-form__page');\n\n // Do nothing if not on request form page template\n if ( ! document.querySelector('.page-template-template-bare-rfc, .page-template-template_request_consultation') ||\n ! requestFormPage.querySelector('.request-consult-form') ) {\n\n if ( requestFormPage && requestFormPage.classList.contains('form--loading') ) {\n requestFormPage.classList.remove('form--loading');\n }\n\n return;\n }\n\n // Ensure referrer does not match current page (prevents looping auto-submission)\n // Ensure referrer is not empty\n if ( document.querySelector('.page-template-template_request_consultation') &&\n ( document.referrer.indexOf(window.location.pathname) > -1 ||\n document.referrer === '' ) ) {\n\n if ( requestFormPage && requestFormPage.classList.contains('form--loading') ) {\n requestFormPage.classList.remove('form--loading');\n }\n\n return;\n }\n\n const body = document.querySelector('body');\n const requestForm = requestFormPage.querySelector('.request-consult-form');\n const formFields = requestForm.querySelectorAll('input[type=\"text\"]');\n const formButton = requestForm.querySelector('.request-consult-btn, .btn--request-form');\n const cancelLoading = requestFormPage.querySelector('.loading-content .btn--cancel');\n\n let submitForm = true;\n\n // Make sure form is set to auto submit\n if ( requestForm.dataset.submit === 'false' ) {\n requestFormPage.classList.remove('form--loading');\n return;\n }\n\n formFields.forEach( field => {\n // Don't submit form if any fields are empty\n if ( field.value.length === 0 || field.value === '' ) {\n submitForm = false;\n }\n } );\n\n if ( ! submitForm ) {\n requestFormPage.classList.remove('form--loading');\n return;\n }\n\n // Prevent background scrolling\n body.classList.add('noscroll');\n\n // MutationObserver callback\n const buttonActive = (mutationsList, observer) => {\n\n for ( let mutation of mutationsList ) {\n\n // Listening for change in disabled attr\n if ( mutation.attributeName === 'disabled' ) {\n\n // Once button is enabled, activate click event\n formButton.click();\n observer.disconnect();\n break;\n }\n }\n }\n\n // Create new mutation observer\n const watchFormButton = new MutationObserver(buttonActive);\n\n // Watch formbutton attributes for mutation / change\n watchFormButton.observe(formButton, {\n attributes: true,\n });\n\n // Allow user to cancel auto-submission\n // mainly prevents user from being stuck if submission fails\n cancelLoading.addEventListener('click', (e) => {\n e.preventDefault();\n body.classList.remove('noscroll');\n requestFormPage.classList.remove('form--loading');\n watchFormButton.disconnect();\n });\n\n})();"]}