PluginProbe
SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz / 0.0.10
SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz v0.0.10
2.12.8 2.12.7 2.12.6 2.12.5 2.12.4 2.12.3 2.12.2 2.12.1 2.12.0 2.11.1 2.11.0 2.10.1 2.10.0 2.9.1 2.9.0 2.8.2 2.8.1 2.7.0 2.7.1 2.8.0 trunk 0.0.10 0.0.11 0.0.12 0.0.13 All 98 releases
sureforms / assets / js / minified / form-submit.min.js

form-submit.min.js in SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz 0.0.10, at assets/js/minified/form-submit.min.js

1 lines 4.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 import{fieldValidation,initializeInlineFieldValidation}from"./validation";async function submitFormData(e){var t,r,s=srfm_submit.site_url,e=new FormData(e),a=new FormData;for([t,r]of e.entries())t.includes("srfm-email-confirm")||t.includes("srfm-password-confirm")||a.append(t,r);return fetch(s+"/wp-json/sureforms/v1/submit-form",{method:"POST",headers:{"X-WP-Nonce":srfm_submit.nonce},body:a}).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 r=await fetch(t+"/wp-json/sureforms/v1/after-submission/"+e,{headers:{"X-WP-Nonce":window.srfm_submit.nonce}});if(!r.ok)throw new Error("HTTP error! Status: "+r.status)}catch(e){console.error(e)}}function showSuccessMessage(e,t,r,s,a){"hide form"===a?(s.style.opacity=1,s.style.display="none",setTimeout(()=>{t.style.opacity=1},500)):s.reset(),t.innerHTML=r,e.classList.add("srfm-active")}function redirectToUrl(e){window.location.assign(e)}function showErrorMessage(e){e.removeAttribute("hidden"),console.error("Network Error")}async function handleFormSubmission(e,t,r,s,a,o,i,n,c,m,l){try{a.classList.add("srfm-active");var u,f=await fieldValidation(t,r,s,e);f?(a.classList.remove("srfm-active"),f[1]&&f[1].focus()):(u=await submitFormData(e))?.success?"same page"===m?(showSuccessMessage(i,n,u?.message??"",e,l),a.classList.remove("srfm-active"),u?.data?.after_submit&&afterSubmit(u)):(redirectToUrl(o),a.classList.remove("srfm-active")):(a.classList.remove("srfm-active"),showErrorMessage(c),a.classList.remove("srfm-active"))}catch(e){a.classList.remove("srfm-active"),showErrorMessage(c)}}function extractFormAttributesAndElements(e){var t=e.getAttribute("form-id"),r=e.getAttribute("message-type"),s=e.getAttribute("success-url"),a=e.getAttribute("ajaxurl"),o=e.getAttribute("nonce"),i=e.querySelector(".srfm-loader"),n=e.parentElement.querySelector(".srfm-single-form.srfm-success-box"),c=n?.querySelector(".srfm-success-box-description"),m=e.querySelector(".srfm-error-message"),l=e.querySelector("#srfm-submit-btn"),u=e.getAttribute("after-submission"),f=e.querySelector(".g-recaptcha");return{formId:t,submitType:r,successUrl:s,ajaxUrl:a,nonce:o,loader:i,successContainer:n,successElement:c,errorElement:m,submitBtn:l,siteKey:f?.getAttribute("data-sitekey"),recaptchaType:f?.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:r,successUrl:s,ajaxUrl:a,nonce:o,loader:i,successContainer:n,successElement:c,errorElement:m,submitBtn:l,siteKey:u,recaptchaType:f,afterSubmission:d}=extractFormAttributesAndElements(e);let b=!1;"v2-invisible"===f&&(grecaptcha.render(l,{sitekey:u,callback:()=>{handleFormSubmission(e,t,a,o,i,s,n,c,m,r,d),b=!0}}),l.addEventListener("click",()=>{i.classList.add("srfm-active"),b&&handleFormSubmission(e,t,a,o,i,s,n,c,m,r,d)}))})}document.addEventListener("DOMContentLoaded",function(){initializeInlineFieldValidation();for(const r of Array.from(document.querySelectorAll(".srfm-form"))){const{formId:s,submitType:a,successUrl:o,ajaxUrl:i,nonce:n,loader:c,successContainer:m,successElement:l,errorElement:u,submitBtn:e,siteKey:t,recaptchaType:f,afterSubmission:d,captchaErrorElement:b,hCaptchaDiv:h,turnstileDiv:y}=extractFormAttributesAndElements(r);"v3-reCAPTCHA"===f?e.addEventListener("click",e=>{e.preventDefault(),grecaptcha.ready(function(){grecaptcha.execute(t,{action:"submit"}).then(async function(e){e&&handleFormSubmission(r,s,i,n,c,o,m,l,u,a,d)})})}):"v2-checkbox"===f||h||y?r.addEventListener("submit",e=>{e.preventDefault();let t;"v2-checkbox"===f?t=grecaptcha.getResponse():h?t=hcaptcha.getResponse():y&&(t=turnstile.getResponse()),0===t.length?b.style.display="block":(b.style.display="none",handleFormSubmission(r,s,i,n,c,o,m,l,u,a,d))}):r.addEventListener("submit",async function(e){e.preventDefault(),handleFormSubmission(r,s,i,n,c,o,m,l,u,a,d)})}}),window.onloadCallback=onloadCallback,window.handleBricksPreviewFormSubmission=function(){for(const e of Array.from(document.querySelectorAll(".srfm-form")))e.addEventListener("submit",async function(e){e.preventDefault()})};