Files
php_assessment_2/wp-content/plugins/woocommerce/assets/js/frontend/cart.min.js
T

1 line
9.0 KiB
JavaScript
Raw Normal View History

2025-02-05 23:15:46 +01:00
jQuery(function(t){if("undefined"==typeof wc_cart_params)return!1;var e=function(t){return wc_cart_params.wc_ajax_url.toString().replace("%%endpoint%%",t)},o=function(t){return t.is(".processing")||t.parents(".processing").length},c=function(t){o(t)||t.addClass("processing").block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},r=function(t){t.removeClass("processing").unblock()},i=function(e,o){var c=t.parseHTML(e),r=t(".woocommerce-cart-form",c),i=t(".cart_totals",c),u=function(e){var o=new Set,c=[];return e.each(function(){const e=t(this).text();o.has(e)||(o.add(e),c.push(this))}),t(c)}(t(".woocommerce-error, .woocommerce-message, .woocommerce-info, .is-error, .is-info, .is-success",c));if(0!==t(".woocommerce-cart-form").length){if(o||t(".woocommerce-error, .woocommerce-message, .woocommerce-info, .is-error, .is-info, .is-success, .coupon-error-notice").remove(),0===r.length){if(t(".woocommerce-checkout").length)return void window.location.reload();var p=t(".wc-empty-cart-message",c).closest(".woocommerce");t(".woocommerce-cart-form__contents").closest(".woocommerce").replaceWith(p),u.length>0&&a(u),t(document.body).trigger("wc_cart_emptied")}else{t(".woocommerce-checkout").length&&t(document.body).trigger("update_checkout");var m=t("#coupon_code").val(),d=t("#coupon_code").closest(".coupon").find(".coupon-error-notice");if(t(".woocommerce-cart-form").replaceWith(r),t(".woocommerce-cart-form").find(':input[name="update_cart"]').prop("disabled",!0),o&&d.length>0){var l=t(".woocommerce-cart-form").find("#coupon_code"),_=l.closest(".coupon");l.val(m),l.focus(),s(d,_,!0)}u.length>0&&a(u),n(i)}t(document.body).trigger("updated_wc_div")}else window.location.reload()},n=function(e){t(".cart_totals").replaceWith(e),t(document.body).trigger("updated_cart_totals")},a=function(e,o){o||(o=t(".woocommerce-notices-wrapper:first")||t(".wc-empty-cart-message").closest(".woocommerce")||t(".woocommerce-cart-form")),o.prepend(e)},s=function(e,o,c){if(0!==o.length){var r="";if("string"==typeof e){var i=t(t.parseHTML(e)).text().trim();if(""===i)return;r=t('<p class="coupon-error-notice" id="coupon-error-notice">'+i+"</p>")}else r=e;c&&r.attr("role","alert"),o.find("#coupon_code").addClass("has-error").attr("aria-invalid","true").attr("aria-describedby","coupon-error-notice"),o.append(r)}},u={init:function(e){this.cart=e,this.toggle_shipping=this.toggle_shipping.bind(this),this.shipping_method_selected=this.shipping_method_selected.bind(this),this.shipping_calculator_submit=this.shipping_calculator_submit.bind(this),t(document).on("click",".shipping-calculator-button",this.toggle_shipping),t(document).on("change","select.shipping_method, :input[name^=shipping_method]",this.shipping_method_selected),t(document).on("submit","form.woocommerce-shipping-calculator",this.shipping_calculator_submit),t(".shipping-calculator-form").hide()},toggle_shipping:function(e){var o=t(e.currentTarget);return t(".shipping-calculator-form").slideToggle("slow",function(){var e=this;setTimeout(function(){var c=t(e);o.attr("aria-expanded",c.is(":visible")?"true":"false")},0)}),t("select.country_to_state, input.country_to_state").trigger("change"),t(document.body).trigger("country_to_state_changed"),!1},shipping_method_selected:function(o){var i={};t("select.shipping_method, :input[name^=shipping_method][type=radio]:checked, :input[name^=shipping_method][type=hidden]").each(function(){i[t(this).data("index")]=t(this).val()}),c(t("div.cart_totals"));var a={security:wc_cart_params.update_shipping_method_nonce,shipping_method:i};t.ajax({type:"post",url:e("update_shipping_method"),data:a,dataType:"html",success:function(t){n(t);var e=document.getElementById(o.currentTarget.id);e&&e.focus()},complete:function(){r(t("div.cart_totals")),t(document.body).trigger("updated_shipping_method")}})},shipping_calculator_submit:function(e){e.preventDefault();var o=t(e.currentTarget);c(t("div.cart_totals")),c(o),t("<input />").attr("type","hidden").attr("name","calc_shipping").attr("value","x").appendTo(o),t.ajax({type:o.attr("method"),url:o.attr("action"),data:o.serial