OwlCyberSecurity - MANAGER
Edit File: form-submit.min.js
import{fieldValidation,initializeInlineFieldValidation,handleScrollAndFocusOnError}from"./validation";async function submitFormData(e){var t,s,r=srfm_submit.site_url,o=new FormData(e),n=new FormData,a=["srfm-email-confirm","srfm-password-confirm"];for([t,s]of o.entries())a.includes(t)||(""!==s&&(e.querySelector(`[name="${t}"]`)?.closest(".srfm-block-single"))?.classList.contains("hide-element")&&(s=""),n.append(t,s));return fetch(r+"/wp-json/sureforms/v1/submit-form",{method:"POST",headers:{"X-WP-Nonce":srfm_submit.nonce},body:n}).then(e=>{if(e.ok)return e.json()}).catch(e=>{console.log(e)})}async function afterSubmit(e){var t=window.srfm_submit.site_url,e=e.data.submission_id;try{var s=await fetch(t+"/wp-json/sureforms/v1/after-submission/"+e,{headers:{"X-WP-Nonce":window.srfm_submit.nonce}});if(!s.ok)throw new Error("HTTP error! Status: "+s.status)}catch(e){console.error(e)}}function showSuccessMessage(e,t,s,r,o,n,a){n=new CustomEvent("SRFM_Form_Success_Message",{cancelable:!0,detail:{form:r,element:t,message:s,submitType:n,container:e,loader:a}});document.dispatchEvent(n)&&("hide form"===o?(r.style.opacity=1,r.style.display="none",setTimeout(()=>{t.style.opacity=1},500)):"reset form"===o&&r.reset(),t.innerHTML=s,e.classList.add("srfm-active"),window?.srfm?.handleInstantFormWrapperHeight(),r.parentElement.scrollIntoView({behavior:"smooth"}))}function redirectToUrl(e){window.location.assign(e)}function showErrorMessage(e){e.removeAttribute("hidden"),console.error("Network Error")}async function handleFormSubmission(e,t,s,r,o,n,a,i,c,m,l){try{o.classList.add("srfm-active");var u,d=await fieldValidation(t,s,r,e);d?.validateResult?(o.classList.remove("srfm-active"),handleScrollAndFocusOnError(d)):(u=await submitFormData(e))?.success?(emitFormSubmitSuccess({...u,formId:t}),"same page"===m?(showSuccessMessage(a,i,u?.message??"",e,l,m),o.classList.remove("srfm-active")):["different page","custom url"].includes(m)?(u?.redirect_url&&redirectToUrl(u?.redirect_url),o.classList.remove("srfm-active")):showSuccessMessage(a,i,u?.message??"",e,l,m,o),u?.data?.after_submit&&afterSubmit(u)):(o.classList.remove("srfm-active"),showErrorMessage(c),o.classList.remove("srfm-active"))}catch(e){o.classList.remove("srfm-active"),showErrorMessage(c)}}function extractFormAttributesAndElements(e){var t=e.getAttribute("form-id"),s=e.getAttribute("message-type"),r=e.getAttribute("success-url"),o=e.getAttribute("ajaxurl"),n=e.getAttribute("nonce"),a=e.querySelector(".srfm-loader"),i=e.parentElement.querySelector(".srfm-single-form.srfm-success-box"),c=i?.querySelector(".srfm-success-box-description"),m=e.querySelector(".srfm-error-message"),l=e.querySelector("#srfm-submit-btn"),u=e.getAttribute("after-submission"),d=e.querySelector(".g-recaptcha");return{formId:t,submitType:s,successUrl:r,ajaxUrl:o,nonce:n,loader:a,successContainer:i,successElement:c,errorElement:m,submitBtn:l,siteKey:d?.getAttribute("data-sitekey"),recaptchaType:d?.getAttribute("recaptcha-type"),afterSubmission:u,captchaErrorElement:e.querySelector("#captcha-error"),hCaptchaDiv:e.querySelector(".h-captcha"),turnstileDiv:e.querySelector(".cf-turnstile")}}function onloadCallback(){Array.from(document.querySelectorAll(".srfm-form")).forEach(e=>{const{formId:t,submitType:s,successUrl:r,ajaxUrl:o,nonce:n,loader:a,successContainer:i,successElement:c,errorElement:m,submitBtn:l,siteKey:u,recaptchaType:d,afterSubmission:f}=extractFormAttributesAndElements(e);let b=!1;"v2-invisible"===d&&(grecaptcha.render(l,{sitekey:u,callback:()=>{handleFormSubmission(e,t,o,n,a,r,i,c,m,s,f),b=!0}}),l.addEventListener("click",()=>{a.classList.add("srfm-active"),b&&handleFormSubmission(e,t,o,n,a,r,i,c,m,s,f)}))})}function emitFormSubmitSuccess(e){e=new CustomEvent("srfm_form_submission_success",{detail:{formId:"srfm-form-"+e.formId}});document.dispatchEvent(e)}document.addEventListener("DOMContentLoaded",function(){initializeInlineFieldValidation();for(const s of Array.from(document.querySelectorAll(".srfm-form"))){const{formId:r,submitType:o,successUrl:n,ajaxUrl:a,nonce:i,loader:c,successContainer:m,successElement:l,errorElement:u,submitBtn:e,siteKey:t,recaptchaType:d,afterSubmission:f,captchaErrorElement:b,hCaptchaDiv:h,turnstileDiv:p}=extractFormAttributesAndElements(s);"v3-reCAPTCHA"===d?e.addEventListener("click",e=>{e.preventDefault(),grecaptcha.ready(function(){grecaptcha.execute(t,{action:"submit"}).then(async function(e){e&&handleFormSubmission(s,r,a,i,c,n,m,l,u,o,f)})})}):"v2-checkbox"===d||h||p?s.addEventListener("submit",e=>{e.preventDefault();let t;"v2-checkbox"===d?t=grecaptcha.getResponse():h?t=hcaptcha.getResponse():p&&(t=turnstile.getResponse()),0===t.length?b.style.display="block":(b.style.display="none",handleFormSubmission(s,r,a,i,c,n,m,l,u,o,f))}):s.addEventListener("submit",async function(e){e.preventDefault(),handleFormSubmission(s,r,a,i,c,n,m,l,u,o,f)})}}),window.onloadCallback=onloadCallback,window.handleBricksPreviewFormSubmission=function(){for(const e of Array.from(document.querySelectorAll(".srfm-form")))e.addEventListener("submit",async function(e){e.preventDefault()})};