PageSourceSearch

https://pocketcoach.ai/wp-content/plugins/groundhogg/assets/js/frontend/form.min.js?ver=4.9.1

js pocketcoach.ai collected 2026-10-05 12:53:02 UTC 3,599 bytes, 3 lines download raw bytes

1(function(gh){const{nonces,i18n,routes,reCAPTCHA}=gh;const{_wprest}=nonces;const loadingDots=el=>{let dotsHolder=document.createElement("span");dotsHolder.classList.add("loading-dots");el.appendChild(dotsHolder);const stop=()=>{clearInterval(interval);dotsHolder.remove()};const interval=setInterval(()=>{if(dotsHolder.innerText.length>=3){dotsHolder.innerText="."}else{dotsHolder.innerText=dotsHolder.innerText+"."}},500);return{stop:stop}};let ajaxFinEvt=new CustomEvent("ajaxfinished");let formSubmitted=new CustomEvent("ghformsubmitted");const apiPostFormData=async(url,data,opts={})=>{const post=(headers={})=>fetch(url,{method:"POST",credentials:"same-origin",headers:headers,body:data,...opts}).then(r=>r.json());const result=await post({"X-WP-Nonce":_wprest});if(result.code==="rest_cookie_invalid_nonce"){return post()}return result};function inIframe(){try{return window.self!==window.top}catch(e){return true}}const submitForm=form=>{let submitText="";let btn=form.querySelector('button[type="submit"]');btn.disabled=true;submitText=btn.innerHTML;btn.innerHTML=i18n.submitting;let{stop}=loadingDots(btn);form.parentNode.querySelectorAll(".gh-success, .gh-errors").forEach(el=>el.remove());let fd=new FormData(form);let uuid=form.dataset.id;Groundhogg.pageContext.location=window.location.href;fd.append("__page_context",JSON.stringify(Groundhogg.pageContext));apiPostFormData(`${routes.forms}/${uuid}/`,fd).then(r=>{stop();btn.innerHTML=submitText;btn.disabled=false;if(r.code){let message;switch(r.code){case"failed_to_submit":message=`
2                  <p>${r.message}</p>
3                  <ul>${r.additional_errors.map(err=>`<li><b>${err.data??"Error"}:</b> ${err.message}</li>`).join("")}</ul>`;break;default:message=`<p>${r.message}</p>`}let msg=document.createElement("div");msg.innerHTML=message;msg.classList.add(...["gh-errors"]);form.parentNode.appendChild(msg);return}if(r.cookie){document.cookie=[`${r.cookie.name}=${encodeURIComponent(r.cookie.value)}`,`Max-Age=${r.cookie.expiry}`,"path=/","SameSite=Lax",...location.protocol==="https:"?["Secure"]:[]].join("; ")}if(r.url){setTimeout(()=>{window.open(r.url,inIframe()?"_parent":"_self")},500);return}const setMessage=content=>{let msg=document.createElement("div");msg.innerHTML=content;msg.classList.add(...["gh-success"]);form.parentNode.appendChild(msg)};if(r.reload===true){setMessage(r.message);window.location.reload();return}if(r.message){setMessage(r.message);form.reset()}}).then(()=>{form.dispatchEvent(ajaxFinEvt);form.dispatchEvent(formSubmitted)}).catch(e=>{alert(e.message)})};const formEventListener=e=>{e.preventDefault();let form=e.currentTarget;let hasRecaptcha=form.querySelectorAll(".gh-recaptcha-v3").length>0;let hasRecaptchaResponse=form.querySelectorAll('input[name="g-recaptcha-response"]').length>0;if(hasRecaptcha&&!hasRecaptchaResponse){grecaptcha.ready(()=>{grecaptcha.execute(reCAPTCHA.site_key,{action:"submit"}).then(_token=>{const input=document.createElement("input");input.type="hidden";input.name="g-recaptcha-response";input.value=_token;form.appendChild(input);submitForm(form)})});return}submitForm(form)};const addFormEventListeners=(selector="")=>{document.querySelectorAll(`${selector} form.gh-form.gh-form-v2`.trim()).forEach(__form=>{if(__form.hasAttribute("ghformhandler")){return}__form.addEventListener("submit",formEventListener);__form.setAttribute("ghformhandler","true")})};const events={load:"","elementor/popup/show":".elementor-location-popup"};Object.keys(events).forEach(event=>{window.addEventListener(event,e=>addFormEventListeners(events[event]))})})(Groundhogg);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.