luv-assets 1.2.18 → 1.2.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/js/pay.min.js +1 -1
- package/package.json +1 -1
package/dist/js/pay.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.PaymentSDKs=window.PaymentSDKs||{paypalLoaded:false,useepayLoaded:false,activeMethod:null};const PaymentManager={init(){const checkedRadio=document.querySelector('input[name="payment_code"]:checked');if(checkedRadio){this.switchTo(checkedRadio.value)}$(document).on("change",'input[name="payment_code"]',e=>{this.switchTo(e.target.value)})},switchTo(method){if(window.PaymentSDKs.activeMethod===method)return;$(".payment-body-js").addClass("d-none");$(`.payment-body-js[data-method="${method}"]`).removeClass("d-none");if(method==="payment_paypal_sdk"){initPayPal()}else if(method==="payment_useepay_sdk"){initUseePay()}window.PaymentSDKs.activeMethod=method}};function initPayPal(){const container=document.querySelector('.payment-body-js[data-method="payment_paypal_sdk"]');if(!container||container.dataset.initialized==="1")return;if(typeof paypal==="undefined"){if(window.paypalScriptLoading)return;window.paypalScriptLoading=true;webLoadScript(payment_ui_configs.payment_paypal_sdk.paypalSdkUrl+"&components=buttons,card-fields",()=>{window.paypalScriptLoading=false;renderPayPalButtons();renderPayPalCardFields()})}else{renderPayPalButtons();renderPayPalCardFields()}container.dataset.initialized="1"}function renderPayPalButtons(){const container=document.getElementById("paypal-buttons-container");if(container.dataset.rendered==="1")return;paypal.Buttons({style:{},createOrder:(data,actions)=>{var data_params={order_sn:orderSN};return fetch(payment_ui_configs.payment_paypal_sdk.paypalCreateOrderUrl,{method:"post",body:JSON.stringify(data_params),headers:{"content-type":"application/json"}}).then(response=>{if(!response.ok){throw new Error("Network response was not ok")}return response.json()}).then(order=>{if(order.id=="-1"){throw new Error(order.message)}return order.id}).catch(error=>{alert(error)})},onCancel:data=>{},onApprove:(data,actions)=>fetch(payment_ui_configs.payment_paypal_sdk.paypalCaptureOrderUrl,{method:"post",body:JSON.stringify(data),headers:{"content-type":"application/json"}}).then(response=>{if(!response.ok){throw new Error("Network response was not ok")}return response.json()}).then(orderData=>{if(orderData.order_sn=="-1"){if(!orderData.is_local){if(orderData.error_issue==="INSTRUMENT_DECLINED"){alert(orderData.message);return actions.restart()}else{throw new Error(orderData.message)}}else{alert(orderData.message)}}window.location.href=`${finishPayUrl}?order_sn=${orderSn}`}).catch(error=>{alert(error)}),onError:error=>{const errDetail=error.data?.body?.details?.[0];if(errDetail){alert(errDetail.description)}else{const errorMessage=error.data?.body?.message;if(errorMessage){alert(errorMessage)}else{alert(translations.sysError)}}fetch(payment_ui_configs.payment_paypal_sdk.paypalErrorReportUrl,{method:"post",body:JSON.stringify(error),headers:{"content-type":"application/json"}}).then(response=>{})}}).render("#paypal-buttons-container");container.dataset.rendered="1"}function renderPayPalCardFields(){$("#paypal-card-result-message-js").empty();const container=document.getElementById("card-form");if(container.dataset.rendered==="1")return;const cardField=paypal.CardFields({createOrder:(data,actions)=>{var data_params={order_sn:orderSN};return fetch(payment_ui_configs.payment_paypal_sdk.paypalCardCreateOrderUrl,{method:"post",body:JSON.stringify(data_params),headers:{"content-type":"application/json"}}).then(response=>{if(!response.ok){throw new Error("Network response was not ok")}return response.json()}).then(order=>{if(order.id=="-1"){throw new Error(order.message)}return order.id}).catch(error=>{alert("createOrder error: "+error)})},onApprove:(data,actions)=>fetch(payment_ui_configs.payment_paypal_sdk.paypalCardCaptureOrderUrl,{method:"post",body:JSON.stringify(data),headers:{"content-type":"application/json"}}).then(response=>{if(!response.ok){throw new Error("Network response was not ok")}return response.json()}).then(orderData=>{if(orderData.order_sn=="-1"){if(!orderData.is_local){if(orderData.error_issue==="INSTRUMENT_DECLINED"){alert(orderData.message);return actions.restart()}else{throw new Error(orderData.message)}}else{alert(orderData.message)}}window.location.href=`${finishPayUrl}?order_sn=${orderSn}`}).catch(error=>{alert("onApprove error: "+error)}),style:{input:{"font-size":"16px","font-family":"courier, monospace","font-weight":"lighter",color:"#ccc"},".invalid":{color:"purple"}},onError:error=>{const errDetail=error.data?.body?.details?.[0];if(errDetail){$("#paypal-card-result-message-js").empty().text(errDetail.description)}else{const errorMessage=error.data?.body?.message;if(errorMessage){$("#paypal-card-result-message-js").empty().text(errorMessage)}else{$("#paypal-card-result-message-js").empty().text(translations.sysError)}}fetch(payment_ui_configs.payment_paypal_sdk.paypalErrorReportUrl,{method:"post",body:JSON.stringify(error),headers:{"content-type":"application/json"}}).then(response=>{})}});if(cardField.isEligible()){const numberField=cardField.NumberField({style:{input:{color:"blue"}},inputEvents:{onChange:data=>{},onFocus:event=>{$("#paypal-card-result-message-js").empty()},onBlur:data=>{},onInputSubmitRequest:data=>{if(data.isFormValid){}else{}}}});numberField.render("#card-number-field-container");const cvvField=cardField.CVVField({style:{input:{color:"blue"}},inputEvents:{onChange:data=>{},onFocus:event=>{$("#paypal-card-result-message-js").empty()},onBlur:data=>{},onInputSubmitRequest:data=>{if(data.isFormValid){}else{}}}});cvvField.render("#card-cvv-field-container");const expiryField=cardField.ExpiryField({style:{input:{color:"blue"}},inputEvents:{onChange:data=>{},onFocus:event=>{$("#paypal-card-result-message-js").empty()},onBlur:data=>{},onInputSubmitRequest:data=>{if(data.isFormValid){}else{}}}});expiryField.render("#card-expiry-field-container");$("#card-field-submit-button").on("click",function(){const $btn=$(this);if($btn.prop("disabled")||$btn.data("processing"))return;const originalText=$btn.html();$btn.prop("disabled",true).data("processing",true).html('<span class="spinner-border spinner-border-sm" role="status"></span> '+translations.restIng);cardField.submit({}).then(()=>{}).catch(error=>{}).finally(()=>{$btn.prop("disabled",false).removeData("processing").html(originalText)})});$("#card-field-submit-button").removeClass("d-none");$("#paypal-card-or-js").removeClass("d-none")}else{$("#card-field-submit-button").addClass("d-none");$("#paypal-card-or-js").addClass("d-none")}container.dataset.rendered="1"}function initUseePay(){const container=document.querySelector('.payment-body-js[data-method="payment_useepay_sdk"]');if(!container||container.dataset.initialized==="1")return;if(typeof useePay==="undefined"){if(window.useepayScriptLoading)return;window.useepayScriptLoading=true;webLoadScript(payment_ui_configs.payment_useepay_sdk.useepaySdkUrl,()=>{window.useepayScriptLoading=false;setupUseePay()})}else{setupUseePay()}container.dataset.initialized="1"}function setupUseePay(){const container=document.getElementById("useepayCardElement");if(container.dataset.rendered==="1")return;const useepay=UseePay({env:payment_ui_configs.payment_useepay_sdk.useepay_env,merchantNo:payment_ui_configs.payment_useepay_sdk.useepay_merchant_no,layout:"multiLine",locale:navigator.language});useepay.mount(container);let $submitBtn=$("#useepaySubmit");useepay.on("change",(valid,code,message)=>{if(valid){$submitBtn.prop("disabled",false);$("#useepayErrorTip").removeClass("d-block").text("")}else{$submitBtn.prop("disabled",true);$("#useepayErrorTip").addClass("d-block").text(message)}});$submitBtn.off("click").on("click",function(){if($submitBtn.prop("disabled")){return}$submitBtn.prop("disabled",true).text(translations.restIng);useepay.validate((valid,code,message)=>{if(!valid){$("#useepayErrorTip").addClass("d-block").text(message);$submitBtn.prop("disabled",false).text(translations.payOrderText);return}$.ajax({url:payment_ui_configs.payment_useepay_sdk.useepayCreateTokenUrl,async:false,method:"POST",data:{order_sn:orderSn,deviceChannel:"browser",acceptHeader:navigator.userAgent,colorDepth:screen.colorDepth,javaEnabled:navigator.javaEnabled?"true":"false",language:navigator.language,screenHeight:screen.height,screenWidth:screen.width,timeZoneOffset:(new Date).getTimezoneOffset(),userAgent:navigator.userAgent},success:function(res){$submitBtn.prop("disabled",false).text(translations.payOrderText);if(res.status!=="success"){alert(res.message);return}useepay.confirm(res.data.token,function(confirmRes){$submitBtn.prop("disabled",false).text(translations.payOrderText);if(!confirmRes.success){alert(confirmRes.message);return}$.ajax({url:payment_ui_configs.payment_useepay_sdk.useepayResultUrl,async:false,method:"POST",data:JSON.parse(confirmRes.data),success:function(result){if(result.status==="success"){window.location.href=finishPayUrl+"?order_sn="+orderSN}else{alert(result.message)}}})})},error:function(XMLHttpRequest,textStatus,errorThrown){alert("Oops! Something went wrong. Please try again in a few minutes.");$submitBtn.prop("disabled",false).text(translations.payOrderText)}})})});container.dataset.rendered="1"}function checkAddressInput($input){const value=$input.val();const required=$input.prop("required");if(required&&value===""){return false}if($input.attr("name")=="editForm[billing_email]"){if(!check_email(value)){return false}}return true}function loadStatesByCountry(country){$.get(changeCountryUrl,{country:country}).done(function(data){$("#address-state-js").html(data.stateHtml)}).fail(function(){alert("Failed to load states")})}function loadBillingAddress(){var url=billingAddressDetailUrl+"?order_sn="+orderSN;$.get(url).done(function(data){$("#current-billing-address-name-js").text(data.title);$("#current-billing-address-full-js").text(data.full)}).fail(function(){alert("Failed to load address list")})}function openBillingAddressForm(){var url=billingAddressFormUrl+"?order_sn="+orderSN;$("#billingAddressFormLabel").text(translations.titleBillingAddressFormEdit);$.get(url).done(function(html){$("#billingAddressFormOffcanvas .offcanvas-body").html(html.html);const formOffcanvas=new bootstrap.Offcanvas(document.getElementById("billingAddressFormOffcanvas"));formOffcanvas.show()}).fail(function(){alert("Failed to load billing address form")})}function collectBillingAddressData(){var result={success:true,data:{},error:{}};$("#billing-address-form input, #billing-address-form select").each(function(){var $this=$(this);if(!checkAddressInput($this)){result.success=false;result.error=$this;return false}else{if(typeof $this.attr("name")!="undefined"){var key=$this.attr("name");var value=$this.val();result.data[key]=value;if(key=="editForm[state]"){if($this.attr("id")=="state-select-js"){result.data["editForm[state_name]"]=$this.find("option:selected").text()}else{result.data["editForm[state_name]"]=value}}}}});return result}$(document).ready(function(){PaymentManager.init();$("#billing-address-js").on("click",function(){openBillingAddressForm();return false});document.getElementById("billingAddressFormOffcanvas").addEventListener("hidden.bs.offcanvas",function(){loadBillingAddress()});$("#countryModal").on("show.bs.modal",function(e){const currentCode=$("#country-code-input-js").val();$(".country-item-js .country-checked-js").remove();if(currentCode){const $item=$('.country-item-js[data-code="'+currentCode+'"]');if($item.length){$item.find("span").after('<span class="country-checked-js"><i class="fa-solid fa-check text-danger"></i></span>');const $group=$item.closest(".alphabet-group-js");if($group.length){$group.removeClass("d-none")}setTimeout(()=>{$item[0].scrollIntoView({behavior:"smooth",block:"center"})},100);return}}setTimeout(()=>{document.getElementById("common-group-js")?.scrollIntoView({behavior:"smooth",block:"start"})},100)});$(document).on("click",".alphabet-js",function(){const letter=$(this).attr("rel");const $group=$("#alphabet-"+letter);if($group.hasClass("d-none")){$group.removeClass("d-none")}$group[0].scrollIntoView({behavior:"smooth",block:"start"})});$(document).on("click",".country-item-js",function(){const code=$(this).data("code");const name=$(this).data("name");$("#country-code-input-js").val(code);$("#country-name-readonly-js").val(name);$("#country-name-input-js").val(name);$("#countryModal").modal("hide");loadStatesByCountry(code)});$(document).on("focus","#billing-address-form input:not([readonly])",function(){$(this).removeClass("is-invalid");$(this).next().removeClass("d-block")}).on("blur","#billing-address-form input:not([readonly])",function(){if(!checkAddressInput($(this))){$(this).addClass("is-invalid");$(this).next().addClass("d-block")}});$(document).on("click","#btn-save-billing-address-js",function(){var $btn=$(this);if($btn.prop("disabled")){return false}$btn.prop("disabled",true).text(translations.savIng);var addressData=collectBillingAddressData();if(!addressData.success){$(this).prop("disabled",false).text(translations.save);addressData.error.addClass("is-invalid");addressData.error.next().addClass("d-block");return false}$.ajax({url:billingAddressSaveUrl,timeout:6e3,dataType:"json",type:"post",data:addressData.data,success:function(data){$btn.prop("disabled",false).text(translations.save);if(data.status=="success"){bootstrap.Offcanvas.getInstance(document.getElementById("billingAddressFormOffcanvas"))?.hide();showToast(translations.toastUpdateBillingAddressSuccess,"#toast-js")}else{alert(data.message)}},error:function(XMLHttpRequest,textStatus,errorThrown){alert("Oops! Something went wrong. Please try again in a few minutes.");$btn.prop("disabled",false).text(translations.save)}})})});
|
|
1
|
+
window.PaymentSDKs=window.PaymentSDKs||{paypalLoaded:false,useepayLoaded:false,activeMethod:null};const PaymentManager={init(){const checkedRadio=document.querySelector('input[name="payment_code"]:checked');if(checkedRadio){this.switchTo(checkedRadio.value)}$(document).on("change",'input[name="payment_code"]',e=>{this.switchTo(e.target.value)})},switchTo(method){if(window.PaymentSDKs.activeMethod===method)return;$(".payment-body-js").addClass("d-none");$(`.payment-body-js[data-method="${method}"]`).removeClass("d-none");if(method==="payment_paypal_sdk"){initPayPal()}else if(method==="payment_useepay_sdk"){initUseePay()}window.PaymentSDKs.activeMethod=method}};function initPayPal(){const container=document.querySelector('.payment-body-js[data-method="payment_paypal_sdk"]');if(!container||container.dataset.initialized==="1")return;if(typeof paypal==="undefined"){if(window.paypalScriptLoading)return;window.paypalScriptLoading=true;webLoadScript(payment_ui_configs.payment_paypal_sdk.paypalSdkUrl+"&components=buttons,card-fields",()=>{window.paypalScriptLoading=false;renderPayPalButtons();renderPayPalCardFields()})}else{renderPayPalButtons();renderPayPalCardFields()}container.dataset.initialized="1"}function renderPayPalButtons(){const container=document.getElementById("paypal-buttons-container");if(container.dataset.rendered==="1")return;paypal.Buttons({style:{},createOrder:(data,actions)=>{var data_params={order_sn:orderSN};return fetch(payment_ui_configs.payment_paypal_sdk.paypalCreateOrderUrl,{method:"post",body:JSON.stringify(data_params),headers:{"content-type":"application/json"}}).then(response=>{if(!response.ok){throw new Error("Network response was not ok")}return response.json()}).then(order=>{if(order.id=="-1"){throw new Error(order.message)}return order.id}).catch(error=>{alert(error)})},onCancel:data=>{},onApprove:(data,actions)=>fetch(payment_ui_configs.payment_paypal_sdk.paypalCaptureOrderUrl,{method:"post",body:JSON.stringify(data),headers:{"content-type":"application/json"}}).then(response=>{if(!response.ok){throw new Error("Network response was not ok")}return response.json()}).then(orderData=>{if(orderData.order_sn=="-1"){if(!orderData.is_local){if(orderData.error_issue==="INSTRUMENT_DECLINED"){alert(orderData.message);return actions.restart()}else{throw new Error(orderData.message)}}else{alert(orderData.message)}}window.location.href=`${finishPayUrl}?order_sn=${orderSN}`}).catch(error=>{alert(error)}),onError:error=>{const errDetail=error.data?.body?.details?.[0];if(errDetail){alert(errDetail.description)}else{const errorMessage=error.data?.body?.message;if(errorMessage){alert(errorMessage)}else{alert(translations.sysError)}}fetch(payment_ui_configs.payment_paypal_sdk.paypalErrorReportUrl,{method:"post",body:JSON.stringify(error),headers:{"content-type":"application/json"}}).then(response=>{})}}).render("#paypal-buttons-container");container.dataset.rendered="1"}function renderPayPalCardFields(){$("#paypal-card-result-message-js").empty();const container=document.getElementById("card-form");if(container.dataset.rendered==="1")return;const cardField=paypal.CardFields({createOrder:(data,actions)=>{var data_params={order_sn:orderSN};return fetch(payment_ui_configs.payment_paypal_sdk.paypalCardCreateOrderUrl,{method:"post",body:JSON.stringify(data_params),headers:{"content-type":"application/json"}}).then(response=>{if(!response.ok){throw new Error("Network response was not ok")}return response.json()}).then(order=>{if(order.id=="-1"){throw new Error(order.message)}return order.id}).catch(error=>{alert(error)})},onApprove:(data,actions)=>fetch(payment_ui_configs.payment_paypal_sdk.paypalCardCaptureOrderUrl,{method:"post",body:JSON.stringify(data),headers:{"content-type":"application/json"}}).then(response=>{if(!response.ok){throw new Error("Network response was not ok")}return response.json()}).then(orderData=>{if(orderData.order_sn=="-1"){if(!orderData.is_local){if(orderData.error_issue==="INSTRUMENT_DECLINED"){alert(orderData.message);return actions.restart()}else{throw new Error(orderData.message)}}else{alert(orderData.message)}}window.location.href=`${finishPayUrl}?order_sn=${orderSN}`}).catch(error=>{alert(error)}),style:{input:{"font-size":"16px","font-family":"courier, monospace","font-weight":"lighter",color:"#ccc"},".invalid":{color:"purple"}},onError:error=>{const errDetail=error.data?.body?.details?.[0];if(errDetail){$("#paypal-card-result-message-js").empty().text(errDetail.description)}else{const errorMessage=error.data?.body?.message;if(errorMessage){$("#paypal-card-result-message-js").empty().text(errorMessage)}else{$("#paypal-card-result-message-js").empty().text(translations.sysError)}}fetch(payment_ui_configs.payment_paypal_sdk.paypalErrorReportUrl,{method:"post",body:JSON.stringify(error),headers:{"content-type":"application/json"}}).then(response=>{})}});if(cardField.isEligible()){const numberField=cardField.NumberField({style:{input:{color:"blue"}},inputEvents:{onChange:data=>{},onFocus:event=>{$("#paypal-card-result-message-js").empty()},onBlur:data=>{},onInputSubmitRequest:data=>{if(data.isFormValid){}else{}}}});numberField.render("#card-number-field-container");const cvvField=cardField.CVVField({style:{input:{color:"blue"}},inputEvents:{onChange:data=>{},onFocus:event=>{$("#paypal-card-result-message-js").empty()},onBlur:data=>{},onInputSubmitRequest:data=>{if(data.isFormValid){}else{}}}});cvvField.render("#card-cvv-field-container");const expiryField=cardField.ExpiryField({style:{input:{color:"blue"}},inputEvents:{onChange:data=>{},onFocus:event=>{$("#paypal-card-result-message-js").empty()},onBlur:data=>{},onInputSubmitRequest:data=>{if(data.isFormValid){}else{}}}});expiryField.render("#card-expiry-field-container");$("#card-field-submit-button").on("click",function(){const $btn=$(this);if($btn.prop("disabled")||$btn.data("processing"))return;const originalText=$btn.html();$btn.prop("disabled",true).data("processing",true).html('<span class="spinner-border spinner-border-sm" role="status"></span> '+translations.restIng);$("#paypal-card-result-message-js").empty();cardField.submit({}).then(()=>{}).catch(error=>{}).finally(()=>{$btn.prop("disabled",false).removeData("processing").html(originalText)})});$("#card-field-submit-button").removeClass("d-none");$("#paypal-card-or-js").removeClass("d-none")}else{$("#card-field-submit-button").addClass("d-none");$("#paypal-card-or-js").addClass("d-none")}container.dataset.rendered="1"}function initUseePay(){const container=document.querySelector('.payment-body-js[data-method="payment_useepay_sdk"]');if(!container||container.dataset.initialized==="1")return;if(typeof useePay==="undefined"){if(window.useepayScriptLoading)return;window.useepayScriptLoading=true;webLoadScript(payment_ui_configs.payment_useepay_sdk.useepaySdkUrl,()=>{window.useepayScriptLoading=false;setupUseePay()})}else{setupUseePay()}container.dataset.initialized="1"}function setupUseePay(){const container=document.getElementById("useepayCardElement");if(container.dataset.rendered==="1")return;const useepay=UseePay({env:payment_ui_configs.payment_useepay_sdk.useepay_env,merchantNo:payment_ui_configs.payment_useepay_sdk.useepay_merchant_no,layout:"multiLine",locale:navigator.language});useepay.mount(container);let $submitBtn=$("#useepaySubmit");useepay.on("change",(valid,code,message)=>{if(valid){$submitBtn.prop("disabled",false);$("#useepayErrorTip").removeClass("d-block").text("")}else{$submitBtn.prop("disabled",true);$("#useepayErrorTip").addClass("d-block").text(message)}});$submitBtn.off("click").on("click",function(){if($submitBtn.prop("disabled")){return}$submitBtn.prop("disabled",true).text(translations.restIng);useepay.validate((valid,code,message)=>{if(!valid){$("#useepayErrorTip").addClass("d-block").text(message);$submitBtn.prop("disabled",false).text(translations.payOrderText);return}$.ajax({url:payment_ui_configs.payment_useepay_sdk.useepayCreateTokenUrl,async:false,method:"POST",data:{order_sn:orderSN,deviceChannel:"browser",acceptHeader:navigator.userAgent,colorDepth:screen.colorDepth,javaEnabled:navigator.javaEnabled?"true":"false",language:navigator.language,screenHeight:screen.height,screenWidth:screen.width,timeZoneOffset:(new Date).getTimezoneOffset(),userAgent:navigator.userAgent},success:function(res){$submitBtn.prop("disabled",false).text(translations.payOrderText);if(res.status!=="success"){alert(res.message);return}useepay.confirm(res.data.token,function(confirmRes){$submitBtn.prop("disabled",false).text(translations.payOrderText);if(!confirmRes.success){alert(confirmRes.message);return}$.ajax({url:payment_ui_configs.payment_useepay_sdk.useepayResultUrl,async:false,method:"POST",data:JSON.parse(confirmRes.data),success:function(result){if(result.status==="success"){window.location.href=finishPayUrl+"?order_sn="+orderSN}else{alert(result.message)}}})})},error:function(XMLHttpRequest,textStatus,errorThrown){alert("Oops! Something went wrong. Please try again in a few minutes.");$submitBtn.prop("disabled",false).text(translations.payOrderText)}})})});container.dataset.rendered="1"}function checkAddressInput($input){const value=$input.val();const required=$input.prop("required");if(required&&value===""){return false}if($input.attr("name")=="editForm[billing_email]"){if(!check_email(value)){return false}}return true}function loadStatesByCountry(country){$.get(changeCountryUrl,{country:country}).done(function(data){$("#address-state-js").html(data.stateHtml)}).fail(function(){alert("Failed to load states")})}function loadBillingAddress(){var url=billingAddressDetailUrl+"?order_sn="+orderSN;$.get(url).done(function(data){$("#current-billing-address-name-js").text(data.title);$("#current-billing-address-full-js").text(data.full)}).fail(function(){alert("Failed to load address list")})}function openBillingAddressForm(){var url=billingAddressFormUrl+"?order_sn="+orderSN;$("#billingAddressFormLabel").text(translations.titleBillingAddressFormEdit);$.get(url).done(function(html){$("#billingAddressFormOffcanvas .offcanvas-body").html(html.html);const formOffcanvas=new bootstrap.Offcanvas(document.getElementById("billingAddressFormOffcanvas"));formOffcanvas.show()}).fail(function(){alert("Failed to load billing address form")})}function collectBillingAddressData(){var result={success:true,data:{},error:{}};$("#billing-address-form input, #billing-address-form select").each(function(){var $this=$(this);if(!checkAddressInput($this)){result.success=false;result.error=$this;return false}else{if(typeof $this.attr("name")!="undefined"){var key=$this.attr("name");var value=$this.val();result.data[key]=value;if(key=="editForm[state]"){if($this.attr("id")=="state-select-js"){result.data["editForm[state_name]"]=$this.find("option:selected").text()}else{result.data["editForm[state_name]"]=value}}}}});return result}$(document).ready(function(){PaymentManager.init();$("#billing-address-js").on("click",function(){openBillingAddressForm();return false});document.getElementById("billingAddressFormOffcanvas").addEventListener("hidden.bs.offcanvas",function(){loadBillingAddress()});$("#countryModal").on("show.bs.modal",function(e){const currentCode=$("#country-code-input-js").val();$(".country-item-js .country-checked-js").remove();if(currentCode){const $item=$('.country-item-js[data-code="'+currentCode+'"]');if($item.length){$item.find("span").after('<span class="country-checked-js"><i class="fa-solid fa-check text-danger"></i></span>');const $group=$item.closest(".alphabet-group-js");if($group.length){$group.removeClass("d-none")}setTimeout(()=>{$item[0].scrollIntoView({behavior:"smooth",block:"center"})},100);return}}setTimeout(()=>{document.getElementById("common-group-js")?.scrollIntoView({behavior:"smooth",block:"start"})},100)});$(document).on("click",".alphabet-js",function(){const letter=$(this).attr("rel");const $group=$("#alphabet-"+letter);if($group.hasClass("d-none")){$group.removeClass("d-none")}$group[0].scrollIntoView({behavior:"smooth",block:"start"})});$(document).on("click",".country-item-js",function(){const code=$(this).data("code");const name=$(this).data("name");$("#country-code-input-js").val(code);$("#country-name-readonly-js").val(name);$("#country-name-input-js").val(name);$("#countryModal").modal("hide");loadStatesByCountry(code)});$(document).on("focus","#billing-address-form input:not([readonly])",function(){$(this).removeClass("is-invalid");$(this).next().removeClass("d-block")}).on("blur","#billing-address-form input:not([readonly])",function(){if(!checkAddressInput($(this))){$(this).addClass("is-invalid");$(this).next().addClass("d-block")}});$(document).on("click","#btn-save-billing-address-js",function(){var $btn=$(this);if($btn.prop("disabled")){return false}$btn.prop("disabled",true).text(translations.savIng);var addressData=collectBillingAddressData();if(!addressData.success){$(this).prop("disabled",false).text(translations.save);addressData.error.addClass("is-invalid");addressData.error.next().addClass("d-block");return false}$.ajax({url:billingAddressSaveUrl,timeout:6e3,dataType:"json",type:"post",data:addressData.data,success:function(data){$btn.prop("disabled",false).text(translations.save);if(data.status=="success"){bootstrap.Offcanvas.getInstance(document.getElementById("billingAddressFormOffcanvas"))?.hide();showToast(translations.toastUpdateBillingAddressSuccess,"#toast-js")}else{alert(data.message)}},error:function(XMLHttpRequest,textStatus,errorThrown){alert("Oops! Something went wrong. Please try again in a few minutes.");$btn.prop("disabled",false).text(translations.save)}})})});
|