PluginProbe
Product Labels, Quick View, Buy Now, Pre-Orders, Frequently Bought Together & More for WooCommerce – Merchant / 2.2.7
Product Labels, Quick View, Buy Now, Pre-Orders, Frequently Bought Together & More for WooCommerce – Merchant v2.2.7
2.3.2 2.3.1 2.3.0 2.2.8 2.2.7 trunk 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.10.5 1.11.0 1.11.1 1.11.2 1.6 1.7 1.8 1.8.1 1.8.2 1.8.3 1.9.0 1.9.1 1.9.10 1.9.11 All 60 releases
merchant / assets / js / modules / quick-view / quick-view.min.js

quick-view.min.js in Product Labels, Quick View, Buy Now, Pre-Orders, Frequently Bought Together & More for WooCommerce – Merchant 2.2.7, at assets/js/modules/quick-view/quick-view.min.js

1 lines 5.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 var merchant=merchant||{};merchant.modules=merchant.modules||{},(u=>{merchant.modules.quickView={init:function(){var i=this,t=u(".merchant-quick-view-modal");t.length&&t.each(function(){var a=u(this),e=a.find(".merchant-quick-view-close-button"),n=a.find(".merchant-quick-view-inner"),o=a.find(".merchant-quick-view-content"),t=a.find(".merchant-quick-view-overlay"),r=!1;u(document).on("click",".merchant-quick-view-button",function(t){t.preventDefault(),o.empty(),a.addClass("merchant-show"),a.addClass("merchant-loading"),r=!0,u.post(window.merchant.setting.ajax_url,{action:"merchant_quick_view_content",nonce:window.merchant.setting.nonce,product_id:u(this).data("product-id")},function(t){var e;t.success&&r?(o.html(t.data),n.addClass("merchant-show"),a.removeClass("merchant-loading"),e=o.find(".woocommerce-product-gallery"),wc_single_product_params.zoom_enabled=window.merchant.setting.quick_view_zoom,"function"==typeof u.fn.wc_product_gallery&&e.length&&(e.trigger("wc-product-gallery-before-init",[e.get(0),wc_single_product_params]),wc_single_product_params.flexslider_enabled="1",e.wc_product_gallery(wc_single_product_params),e.trigger("wc-product-gallery-after-init",[e.get(0),wc_single_product_params])),e=o.find(".variations_form"),"function"==typeof u.fn.wc_variation_form&&e.length&&e.each(function(){u(this).wc_variation_form()}),window.botiga&&window.botiga.productSwatch&&window.botiga.productSwatch.init(),window.botiga&&window.botiga.qtyButton&&window.botiga.qtyButton.init("quick-view"),window.merchant.setting.ajax_add_to_cart&&i.initAjaxAddToCart(o,a)):(o.html(t.data),n.addClass("merchant-show"),a.removeClass("merchant-loading")),window.dispatchEvent(new Event("merchant.quickview.ajax.loaded"))}).fail(function(t,e){o.html(e),n.addClass("merchant-show"),a.removeClass("merchant-loading")})}),t.on("click",function(t){t.preventDefault(),e.trigger("click")}),e.on("click",function(t){t.preventDefault(),r=!1,a.removeClass("merchant-show"),n.removeClass("merchant-show")})})},initAjaxAddToCart:function(s,l){var m=this;s.off("submit","form.cart"),s.on("submit","form.cart",function(t){var n,a,o,r,i,e=t.originalEvent?t.originalEvent.submitter:null,c=u(e),d=!1;if(d=e&&"add-to-cart"!==c.attr("name")&&!c.hasClass("single_add_to_cart_button")?d:!0)return t.preventDefault(),t.stopImmediatePropagation(),c=(e=u(this)).find('button[type="submit"], input[type="submit"]'),(n=(n=e.find(".single_add_to_cart_button")).length?n:c.first()).hasClass("loading")||n.prop("disabled")||(d=e.serializeArray(),a={action:"merchant_quick_view_add_to_cart",nonce:window.merchant.setting.nonce},o=!1,u.each(d,function(t,e){if(e.name&&0===e.name.indexOf("quantity["))return!(o=!0)}),u.each(d,function(t,e){"quantity"!==e.name&&"add-to-cart"!==e.name&&(a[e.name]=e.value)}),(t=e.closest('[id^="product-"]')).length&&(c=t.attr("id").match(/product-(\d+)/))&&c[1]&&(a.product_id=c[1]),a.product_id||(d=e.find('input[name="add-to-cart"]')).length&&d.val()&&(a.product_id=d.val()),a.product_id?(e.find(".variations_form").length&&(t=e.find('input[name="variation_id"]').val())&&(a.variation_id=parseInt(t,10)),o?delete a.quantity:(delete a.quantity,d=(c=e.find('input[name="quantity"]')).length?parseInt(c.val(),10):1,(isNaN(d)||d<1)&&(d=1),a.quantity=d),r=n.html(),i=n.prop("disabled"),n.addClass("loading").prop("disabled",!0),n.is("button")&&(n.data("original-text",r),n.html('<span class="spinner"></span>')),u.ajax({type:"POST",url:window.merchant.setting.ajax_url,data:a,success:function(t){m.handleAddToCartSuccess(t,n,r,i,s,l)},error:function(t,e,a){m.handleAddToCartError(t,e,a,n,r,i,s)}})):console.error("Quick View: Could not determine product ID")),!1})},handleAddToCartSuccess:function(t,e,a,n,o,r){e.removeClass("loading").prop("disabled",n),e.is("button")&&e.data("original-text")&&e.html(e.data("original-text")),t.success&&t.data?(t.data.fragments&&u.each(t.data.fragments,function(t,e){u(t).replaceWith(e)}),u(document.body).trigger("added_to_cart",[t.data.fragments,t.data.cart_hash,e,"quick-view"]),u(document.body).trigger("wc_fragment_refresh"),t.data.message&&(o.find(".merchant-quick-view-inner .woocommerce-error, .woocommerce-message, .woocommerce-info").remove(),u(document).trigger("merchant_quick_view_add_to_cart_success",[t.data.message,o]))):this.handleAddToCartError(null,"error","Unexpected response format",e,a,n,o)},handleAddToCartError:function(t,e,a,n,o,r,i){n.removeClass("loading").prop("disabled",r),n.is("button")&&n.data("original-text")&&n.html(n.data("original-text"));r="",t&&t.responseJSON&&t.responseJSON.data&&t.responseJSON.data.message?r=t.responseJSON.data.message:t&&t.responseJSON&&t.responseJSON.data&&t.responseJSON.data.notices?(n=t.responseJSON.data.notices).error&&0<n.error.length&&(r=n.error[0].notice):r=a||e||"An error occurred while adding the product to cart.",i.find(".woocommerce-error, .woocommerce-message, .woocommerce-info").remove(),t=u('<div class="woocommerce-error" role="alert"></div>').text(r);i.find("form.cart").before(t),t[0].scrollIntoView({behavior:"smooth",block:"nearest"})}},u(document).ready(function(){merchant.modules.quickView.init()})})(jQuery);