1 line
No EOL
4.6 KiB
JavaScript
1 line
No EOL
4.6 KiB
JavaScript
function slideInAndOutContent(e,n){e=document.querySelector(e);let a=document.querySelector(".ast-order-review-toggle-text");e&&e.addEventListener("click",function(e){let t=document.querySelector(n);var o=t.querySelector("*");if(t)if(e.currentTarget.classList.contains("active"))e.currentTarget.classList.remove("active"),t.style.maxHeight=0,setTimeout(()=>{t.style.display="none"},300),a&&(a.textContent=astraAddon.order_review_toggle_texts.toggle_show_text);else if(o&&(e.currentTarget.classList.add("active"),t.style.display="block",t.style.maxHeight=o.clientHeight+"px",a)){a.textContent=astraAddon.order_review_toggle_texts.toggle_hide_text;let t=document.querySelector("#ast-order-review-content"),o=document.querySelector("#order_review");["change",'select.shipping_method, input[name^="shipping_method"]'].forEach(e=>t.addEventListener(e,function(){o.querySelectorAll('input[name^="shipping_method"][type="radio"]:checked').forEach(e=>{e.removeAttribute("checked")}),document.querySelector("body").dispatchEvent(new CustomEvent("update_checkout",{detail:{update_shipping_method:!0}}))}))}})}let xhrCountEmail=0,delayTimerEmail;function validateInlineEmail(){let r=document.querySelector("#billing_email");if(r){let n=r.value;if(void 0===n||astraAddon.is_logged_in)return;let a=document.querySelector(".ast-create-account-section"),s=document.querySelector(".woocommerce-billing-fields__customer-login-label"),i=document.querySelector(".ast-email-validation-block"),c=document.querySelector("#ast-customer-login-url");if(""!==n){i&&i.remove(),clearTimeout(delayTimerEmail);let o=++xhrCountEmail;delayTimerEmail=setTimeout(async function(){let t=new XMLHttpRequest;t.open("POST",astra.ajax_url,!0),t.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),t.send("action=astra_woo_check_user_exist&user_name_email="+n+"&security="+astraAddon.check_user_exist_nonce),t.onload=function(){var e;t.readyState==XMLHttpRequest.DONE&&(200<=t.status||400<=t.status)&&(document.cookie="ast_modern_checkout_useremail="+n,e=JSON.parse(t.responseText),o===xhrCountEmail)&&(i&&i.remove(),e.data.success&&c&&c.classList.contains("active")?r.insertAdjacentHTML("afterend",'<span class="ast-email-validation-block success">'+astraAddon.user_validation_msgs.success_msg+"</span>"):e.data.success?(e.data.is_login_allowed&&(r.insertAdjacentHTML("afterend",'<span class="ast-email-validation-block success">'+astraAddon.user_validation_msgs.success_msg+"</span>"),c)&&!c.classList.contains("active")&&c.click(),a&&(a.style.display="none"),s&&(s.style.display="block")):(c&&c.classList.contains("active")&&c.click(),a&&((e=a.querySelector(".create-account label.checkbox"))&&(e.style.display="block"),a.style.display="block"),s&&""==n&&(s.style.display="none")))}},300)}else c&&c.classList.contains("active")&&c.click(),i&&(i.style.display="none"),s&&(s.style.display="block"),a&&(a.style.display="none")}return!1}function supportNativeEmailFunctionality(){var e=document.querySelector("#billing_email");if(e){e=e.value;if(void 0===e||astraAddon.is_logged_in)return;var t=document.querySelector(".ast-create-account-section");t&&(t.style.display=""!==e?"block":"none")}return!1}function woocommerceUserLogin(){var e=document.querySelector(".ast-customer-login-section__login-button");e&&e.addEventListener("click",function(){var e=document.querySelector("#billing_email"),t=document.querySelector("#billing_password");if(e||!t){let o=new XMLHttpRequest;o.open("POST",astra.ajax_url,!0),o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.send("action=astra_woocommerce_login_user&user_name_email="+encodeURIComponent(e.value)+"&password="+encodeURIComponent(t.value)+"&security="+encodeURIComponent(astraAddon.woocommerce_login_nonce)),o.onload=function(){var e,t;o.readyState==XMLHttpRequest.DONE&&(200<=o.status||400<=o.status)&&((e=JSON.parse(o.responseText)).data.success?location.reload():(t=document.querySelector(".ast-customer-info__notice"))&&(t.classList.add("active"),t.innerHTML=DOMPurify.sanitize(e.data.error)))}}})}document.addEventListener("DOMContentLoaded",function(e){var t,o,n=document.querySelector("body");!astraAddon.cartflows_version&&n&&n.classList.contains("woocommerce-checkout")&&(t=astraAddon.is_complete_package,(o=document.querySelector("#billing_email"))&&(t?(o.addEventListener("input",validateInlineEmail),validateInlineEmail):(o.addEventListener("input",supportNativeEmailFunctionality),supportNativeEmailFunctionality))(),n&&!n.classList.contains("ast-woo-two-step-modern-checkout")&&slideInAndOutContent("#ast-order-review-toggle","#ast-order-review-content"),t)&&(slideInAndOutContent("#ast-customer-login-url","#ast-customer-login-section"),woocommerceUserLogin())}); |