Files
old-new-wiaas/backend/wp-content/plugins/klarna-checkout-for-woocommerce/assets/js/klarna-checkout-for-woocommerce.min.js
2018-06-14 16:49:28 +02:00

2 lines
6.4 KiB
JavaScript

jQuery(function(l){if("undefined"==typeof kco_params)return!1;var s={bodyEl:l("body"),checkoutFormSelector:"form.checkout",orderNotesValue:"",orderNotesSelector:"textarea#order_comments",orderNotesEl:l("textarea#order_comments"),extraFieldsValues:{},extraFieldsSelectorText:'div#kco-extra-fields input[type="text"], div#kco-extra-fields input[type="password"], div#kco-extra-fields textarea',extraFieldsSelectorNonText:'div#kco-extra-fields select, div#kco-extra-fields input[type="radio"], div#kco-extra-fields input[type="checkbox"], div#kco-extra-fields input.checkout-date-picker, input#terms input[type="checkbox"]',paymentMethodEl:l('input[name="payment_method"]'),paymentMethod:"",selectAnotherSelector:"#klarna-checkout-select-other",formFields:[],documentReady:function(){s.log(kco_params),s.setFormData(),0<s.paymentMethodEl.length?s.paymentMethod=s.paymentMethodEl.filter(":checked").val():s.paymentMethod="kco",s.confirmLoading()},kcoSuspend:function(){window._klarnaCheckout&&window._klarnaCheckout(function(e){e.suspend()})},kcoResume:function(){window._klarnaCheckout&&window._klarnaCheckout(function(e){e.resume()})},confirmLoading:function(){l("#kco-confirm-loading").css("minHeight","300px").block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},updateCart:function(){s.kcoSuspend(),l.ajax({type:"POST",url:kco_params.update_cart_url,data:{checkout:l("form.checkout").serialize(),nonce:kco_params.update_cart_nonce},dataType:"json",success:function(e){},error:function(e){},complete:function(e){l("body").trigger("update_checkout"),s.kcoResume()}})},updateExtraFields:function(){var e=l(this).attr("name");if("terms"===e)var o=1===l("input#terms:checked").length?1:"";else o=l(this).val();s.log("value"),s.log(o),s.log("name"),s.log(e),s.log(typeof s.extraFieldsValues),s.log(s.extraFieldsValues),null===s.extraFieldsValues&&""===o||null!==s.extraFieldsValues&&e in s.extraFieldsValues&&o===s.extraFieldsValues||(null===s.extraFieldsValues&&(s.extraFieldsValues={}),s.log("update"),s.extraFieldsValues[e]=o,l.ajax({type:"POST",url:kco_params.update_extra_fields_url,data:{extra_fields_values:s.extraFieldsValues,nonce:kco_params.update_extra_fields_nonce},success:function(e){},error:function(e){},complete:function(e){s.log("complete",e)}}))},updateOrderNotes:function(){s.orderNotesEl.val()!==s.orderNotesValue&&(s.orderNotesValue=s.orderNotesEl.val(),l.ajax({type:"POST",url:kco_params.update_order_notes_url,data:{order_notes:s.orderNotesValue,nonce:kco_params.update_order_notes_nonce},success:function(e){},error:function(e){},complete:function(e){s.log("complete",e)}}))},updateKlarnaOrder:function(){"kco"===s.paymentMethod&&l.ajax({type:"POST",url:kco_params.update_klarna_order_url,data:{nonce:kco_params.update_klarna_order_nonce},dataType:"json",success:function(e){},error:function(e){},complete:function(e){s.kcoResume()}})},changeFromKco:function(e){e.preventDefault(),l(s.checkoutFormSelector).block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),l.ajax({type:"POST",dataType:"json",data:{kco:!1,nonce:kco_params.change_payment_method_nonce},url:kco_params.change_payment_method_url,success:function(e){},error:function(e){},complete:function(e){s.log(e.responseJSON),window.location.href=e.responseJSON.data.redirect}})},maybeChangeToKco:function(){s.log(l(this).val()),"kco"===l(this).val()&&(l(".woocommerce-info").remove(),l(s.checkoutFormSelector).block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),l.ajax({type:"POST",data:{kco:!0,nonce:kco_params.change_payment_method_nonce},dataType:"json",url:kco_params.change_payment_method_url,success:function(e){},error:function(e){},complete:function(e){s.log(e.responseJSON),window.location.href=e.responseJSON.data.redirect}}))},checkoutError:function(){if("kco"===s.paymentMethod){var e=l(".woocommerce-NoticeGroup-checkout").text();l.ajax({type:"POST",dataType:"json",data:{kco:!1,error_message:e,nonce:kco_params.checkout_error_nonce},url:kco_params.checkout_error_url,success:function(e){},error:function(e){},complete:function(e){s.log(e.responseJSON),window.location.href=e.responseJSON.data.redirect}})}},log:function(e){kco_params.logging&&console.log(e)},setFormData:function(){var e,o=l('form[name="checkout"] input'),t=[];for(e=0;e<o.length;e++)if(""!==o[e].name){var a=o[e].name,n=l('*[name="'+a+'"]'),r=n.attr("id");if(!0===(!!l('label[for="'+r+'"]').has("abbr").length||"terms"===r)){var c=n.is(":checkbox")?n.is(":checked")?o[e].value:"":o[e].value;"terms"===o[e].name&&(c=1===l("input#terms:checked").length?1:""),t.push({name:o[e].name,value:c,required:!0})}}s.formFields=t,s.saveFormData()},saveFormData:function(){l.ajax({type:"POST",url:kco_params.save_form_data,data:{form:s.formFields,nonce:kco_params.save_form_data_nonce},dataType:"json",success:function(e){},error:function(e){},complete:function(e){}})},init:function(){l(document).ready(s.documentReady),s.bodyEl.on("update_checkout",s.kcoSuspend),s.bodyEl.on("updated_checkout",s.updateKlarnaOrder),s.bodyEl.on("checkout_error",s.checkoutError),s.bodyEl.on("change","input.qty",s.updateCart),s.bodyEl.on("blur",s.extraFieldsSelectorText,s.setFormData),s.bodyEl.on("change",s.extraFieldsSelectorNonText,s.setFormData),s.bodyEl.on("blur",s.extraFieldsSelectorText,s.updateExtraFields),s.bodyEl.on("change",s.extraFieldsSelectorNonText,s.updateExtraFields),s.bodyEl.on("change",'input[name="payment_method"]',s.maybeChangeToKco),s.bodyEl.on("click",s.selectAnotherSelector,s.changeFromKco),s.bodyEl.on("click","input#terms",s.setFormData),s.bodyEl.on("click","input#terms",s.updateExtraFields),"function"==typeof window._klarnaCheckout&&window._klarnaCheckout(function(e){e.on({shipping_address_change:function(e){s.log("shipping_address_change"),s.log(e),l(".woocommerce-checkout-review-order-table").block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),s.kcoSuspend(),l.ajax({url:kco_params.iframe_shipping_address_change_url,type:"POST",dataType:"json",data:{data:e,nonce:kco_params.iframe_shipping_address_change_nonce},success:function(e){s.log(e),l(".woocommerce-checkout-review-order-table").replaceWith(e.data.html)},error:function(e){s.log(e)},complete:function(){l(".woocommerce-checkout-review-order-table").unblock(),s.kcoResume()}})},change:function(e){s.log("change",e)},order_total_change:function(e){s.log("order_total_change",e)},shipping_option_change:function(e){s.log("shipping_option_change",e)},can_not_complete_order:function(e){s.log("can_not_complete_order",e)}})})}};s.init(),l("body").on("blur",s.setFormData)});