|
1
|
|
-!function(e,t){"use strict";void 0===window.LP&&(window.LP={});const n=LP.Checkout=function(t){const n=e("#learn-press-checkout-form"),s=e("#learn-press-checkout-login"),r=e("#learn-press-checkout-register"),i=e(".payment-methods"),o=e("#learn-press-checkout-place-order"),a=e('input[name="guest_email"]');let c="";void 0===String.prototype.isEmail&&(String.prototype.isEmail=function(){return new RegExp("^[-!#$%&'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&'*+\\/0-9=?A-Z^_`a-z{|}~]+.[-!#$%&'*+\\./0-9=?A-Z^_`a-z{|}~]+$").test(this)});const l=function(){const t=n.toggle().is(":visible");s.toggle(!t),r.toggle(!t),e("#learn-press-button-guest-checkout").toggle(!t)},u=function(t){let s=arguments.length>1&&void 0!==arguments[1]&&arguments[1];d(),e.isPlainObject(t)?Object.keys(t).reverse().forEach((e=>{const s=t[e];let r=Array.isArray(s)?s[0]:s;const i=Array.isArray(s)?s[1]:"";r='<div class="learn-press-message '+("string"==typeof i?i:"")+'">'+r+"</div>",n.prepend(r)})):(s&&(t='<div class="learn-press-message '+("string"==typeof s?s:"")+'">'+t+"</div>"),Array.isArray(t)?t.map((e=>n.prepend('<div class="learn-press-message error">'+e+"</div>"))):n.prepend('<div class="learn-press-message error">'+t+"</div>"),e("html, body").animate({scrollTop:n.offset().top-100},1e3),e(document).trigger("learn-press/checkout-error"))},d=function(){e(".learn-press-error, .learn-press-notice, .learn-press-message").remove()},g=function(e,t){t=r.find(".learn-press-form-register").toggle(t).is(":visible"),r.find('.checkout-form-register-toggle[data-toggle="show"]').toggle(!t),e&&(e.preventDefault(),m(null,!t))},m=function(e,t){t=s.find(".learn-press-form-login").toggle(t).is(":visible"),s.find('.checkout-form-login-toggle[data-toggle="show"]').toggle(!t),e&&(e.preventDefault(),g(null,!t))};o.on("click",(function(e){})),e(".lp-button-guest-checkout").on("click",l),e("#learn-press-button-cancel-guest-checkout").on("click",l),a.on("keyup changex",(function(){this.value.isEmail()&&(this.timer&&clearTimeout(this.timer),a.addClass("loading"),this.timer=setTimeout((function(){e.post({url:window.location.href,data:{"lp-ajax":"checkout-user-email-exists",email:a.val()},success(t){const n=LP.parseJSON(t);a.removeClass("loading"),e(".lp-guest-checkout-output").remove(),n&&n.output&&a.after(n.output)}})}),500))})).trigger("changex"),i.on("change select",'input[name="payment_method"]',(function(){const t=e(this).val(),n=i.children().filter(".selected").removeClass("selected"),s=n.find("#payment_method_"+c).data("order_button_text");n.find(".payment-method-form").slideUp(),n.end().filter("#learn-press-payment-method-"+t).addClass("selected").find(".payment-method-form").hide().slideDown(),c=n.find("payment_method").val(),s&&o.html(s)})),n.on("submit",(function(s){if(s.preventDefault(),i.length>0&&!i.find('input[name="payment_method"]:checked').val())return u("Please select payment method",!0),!1;let r={};(n.find('input[name="checkout-account-switch-form"]:checked').length=0)||(r=e.extend(r,function(){const t=n.find('input[name="checkout-account-switch-form"]:checked').val();return e("#checkout-account-"+t).serializeJSON()}(),e(".learn-press-checkout-comment").serializeJSON())),r=e.extend(r,e("#checkout-payment").serializeJSON()),d();const a=o.text(),c=new URL(t.ajaxurl);return c.searchParams.set("lp-ajax","checkout"),e.ajax({url:c,dataType:"html",data:r,type:"POST",beforeSend(){e("#learn-press-checkout-place-order").addClass("loading"),o.html(t.i18n_processing)},success(n){(n=LP.parseJSON(n)).messages?function(t){u(t);const n=Object.keys(t)[0];e('input[name="'+n+'"]:visible').trigger("focus")}(n.messages):n.message&&u('<div class="learn-press-message error">'+n.message+"</div>"),e("#learn-press-checkout-place-order").removeClass("loading"),"success"===n.result?n.redirect&&n.redirect.match(/https?/)&&(o.html(t.i18n_redirecting),window.location=n.redirect):o.html(a)},error(t,n,s){e("#learn-press-checkout-place-order").removeClass("loading"),u('<div class="learn-press-message error">'+s+"</div>"),o.html(a),LP.unblockContent()}}),!1})),i.children(".selected").find('input[name="payment_method"]').trigger("select"),s.on("click",".checkout-form-login-toggle",m),r.on("click",".checkout-form-register-toggle",g),r.find("input").each((function(){if(-1!==e.inArray(e(this).attr("type").toLowerCase(),["text","email","number"])&&e(this).val())return g(),!1})),s.find('input:not([type="hidden"])').each((function(){if(-1!==e.inArray(e(this).attr("type").toLowerCase(),["text","email","number"])&&e(this).val())return m(),!1})),r.length&&!s.length?g():!r.length&&s.length&&m(),n.on("change",'input[name="checkout-account-switch-form"]',(function(){e(this).next().find('input:not([type="hidden"]):visible').first().trigger("focus")})).on("change","#guest_email",(function(){n.find("#reg_email").val(this.value)})).on("change","#reg_email",(function(){n.find("#guest_email").val(this.value)})),setTimeout((function(){n.find('input:not([type="hidden"]):visible').first().trigger("focus")}),300)};e(document).ready((function(){"undefined"!=typeof lpCheckoutSettings&&(LP.$checkout=new n(lpCheckoutSettings))}))}(jQuery); |
|
1
|
+(()=>{"use strict";const e=e=>{if("string"!=typeof e)return e;const t=String.raw({raw:e}).match(/<-- LP_AJAX_START -->(.*)<-- LP_AJAX_END -->/s);try{e=t?JSON.parse(t[1].replace(/(?:\r\n|\r|\n)/g,"")):JSON.parse(e)}catch(t){e={}}return e};window.lpToggleEnableInit=0,window.lpFullScreenViewInit=0,document.addEventListener("submit",e=>{window.lpCheckout.submit(e)}),document.addEventListener("change",e=>{window.lpCheckout.paymentSelect(e)}),document.addEventListener("keyup",e=>{window.lpCheckout.checkEmailGuest(e)}),window.lpCheckout={idFormCheckout:"learn-press-checkout-form",idBtnPlaceOrder:"learn-press-checkout-place-order",classPaymentMethod:"lp-payment-method",classPaymentMethodForm:"payment-method-form",timeOutCheckEmail:null,fetchAPI:(t,s,o)=>{const c={headers:{}};0!==parseInt(lpData.user_id)&&(c.headers["X-WP-Nonce"]=lpData.nonce);const r=new URLSearchParams;Object.keys(s).forEach(e=>{r.append(e,s[e])}),c.method="POST",c.body=r,fetch(t,c).then(e=>e.text()).then(t=>{t=e(t),o.success(t)}).finally(()=>{o.completed()}).catch(e=>o.error(e))},submit:t=>{const s=t.target;if(s.id!==window.lpCheckout.idFormCheckout)return;if(s.classList.contains("processing"))return;t.preventDefault(),s.classList.add("processing");const o=s.querySelector('button[type="submit"]');o.disabled=!0,window.lpCheckout.removeMessage();const c=document.getElementById(window.lpCheckout.idBtnPlaceOrder),r=new URL(lpCheckoutSettings.ajaxurl);r.searchParams.set("lp-ajax","checkout");const n=new FormData(s),a=Object.fromEntries(Array.from(n.keys(),e=>{const t=n.getAll(e);return[e,t.length>1?t:t.pop()]}));c.classList.add("loading");const l={success:t=>{t=e(t);const{message:o,result:c}=t;t.redirect?window.location.href=t.redirect:"success"!==c&&window.lpCheckout.showErrors(s,"error",o)},error:e=>{window.lpCheckout.showErrors(s,"error",e)},completed:()=>{c.classList.remove("loading"),s.classList.remove("processing"),o.disabled=!1}};window.lpCheckout.fetchAPI(r,a,l)},paymentSelect:e=>{const t=e.target.closest(`.${window.lpCheckout.classPaymentMethod}`);if(!t)return;const s=t.closest(".payment-methods");s&&(s.querySelectorAll(`.${window.lpCheckout.classPaymentMethod}`).forEach(e=>{e.classList.remove("selected");const s=e.querySelector(`.${window.lpCheckout.classPaymentMethodForm}`);s&&(s.style.display=t!==e?"none":"block")}),t.classList.add("selected"))},checkEmailGuest:e=>{const t=e.target;"guest_email"===t.id&&window.lpCheckout.isEmail(t.value)&&(t.classList.add("loading"),null!==window.lpCheckout.timeOutCheckEmail&&clearTimeout(window.lpCheckout.timeOutCheckEmail),window.lpCheckout.timeOutCheckEmail=setTimeout(()=>{const e={success:e=>{const{message:s,data:o,status:c}=e;if("success"===c){const e=o.content||"",s=document.querySelector(".lp-guest-checkout-output");s&&s.remove(),t.insertAdjacentHTML("afterend",e)}else window.lpCheckout.showErrors(t.closest("form"),c,s)},error:e=>{window.lpCheckout.showErrors(t.closest("form"),"error",e)},completed:()=>{t.classList.remove("loading")}};window.lpCheckout.fetchAPI(window.location.href,{"lp-ajax":"checkout-user-email-exists",email:t.value},e)},500))},removeMessage:()=>{const e=document.querySelectorAll(".learn-press-message");e&&e.forEach(e=>{e.remove()})},showErrors:(e,t,s)=>{const o=`<div class="learn-press-message ${t}">${s}</div>`;e.insertAdjacentHTML("afterbegin",o),e.scrollIntoView()},isEmail:e=>new RegExp("^[-!#$%&'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&'*+\\/0-9=?A-Z^_`a-z{|}~]+.[-!#$%&'*+\\./0-9=?A-Z^_`a-z{|}~]+$").test(e)}})(); |