PageSourceSearch

https://computerwales.co.uk/Plugins/SevenSpikes.Nop.Plugins.AjaxCart/Scripts/AjaxCart.js

js computerwales.co.uk collected 2026-10-08 16:36:19 UTC 12,791 bytes, 1 lines download raw bytes

1$(document).ready(function () { var a = new AjaxCartManager; $("input.nopAjaxCartProductListAddToCartButton").each(function () { $(this).click({ ajaxCartManager: a }, a.addProductToCart) }); $("input.nopAjaxCartProductVariantAddToCartButton").each(function () { $(this).click({ ajaxCartManager: a }, a.addProductVariantToCart) }); $(document).ajaxComplete(function (b, c) { try { if (-1 < (c.getResponseHeader("content-type") || "").indexOf("html")) 0 < $(c.responseText).find("input.nopAjaxCartProductListAddToCartButton").length && $("input.nopAjaxCartProductListAddToCartButton").each(function () { $(this).click({ ajaxCartManager: a }, a.addProductToCart) }), 0 < $(c.responseText).find("input.nopAjaxCartProductVariantAddToCartButton").length && $("input.nopAjaxCartProductVariantAddToCartButton").each(function () { var b = !1; $(this).hasClass("miniProductDetailsViewAddToCartButton") && (b = !0); $(this).click({ ajaxCartManager: a, isMiniProductDetailsView: b }, a.addProductVariantToCart) }) } catch (e) { } }); a.addProductPanelAjaxBusyToPage(); a.addModelDialogs() }); function AjaxCartManager() { this.getAddProductToCartUrl = GetAddProductToCartUrl; this.getCheckProductAttributesUrl = GetCheckProductAttributesUrl; this.getMiniProductDetailsViewUrl = GetMiniProductDetailsViewUrl; this.getAddProductVariantToCartFormSelector = GetAddProductVariantToCartFormSelector; this.showMiniProductDetailsView = ShowMiniProductDetailsView; this.setMiniProductDetailsViewAddToCartProductQuantity = SetMiniProductDetailsViewAddToCartProductQuantity; this.getAddProductVariantToCartUrl = GetAddProductVariantToCartUrl; this.getAddToCartProductQuantity = GetAddToCartProductQuantity; this.getAddToCartProductVariantQuantity = GetAddToCartProductVariantQuantity; this.addProductToCart = AddProductToCart; this.addProductVariantToCart = AddProductVariantToCart; this.refreshMiniShoppingCart = RefreshMiniShoppingCart; this.refreshShoppingCartBox = RefreshShoppingCartBox; this.refreshShoppingCartMenuLink = RefreshShoppingCartMenuLink; this.waitForAjaxRequest = !1; this.getCategoryPageProductsPanelSelector = function () { var a = ".product-grid"; 0 < $("#categoryPageProductsPanelSelector").length && void 0 != $("#categoryPageProductsPanelSelector").val() && (a = $("#categoryPageProductsPanelSelector").val()); return a }; this.getProductDetailsPageProductPanelSelector = function () { var a = ".product-details-page"; 0 < $("#productDetailsPageProductPanelSelector").length && void 0 != $("#productDetailsPageProductPanelSelector").val() && (a = $("#productDetailsPageProductPanelSelector").val()); return a }; this.addProductPanelAjaxBusyToPage = function () { var a = this.getCategoryPageProductsPanelSelector(), a = $(a), b = this.getProductDetailsPageProductPanelSelector(), b = $(b); 0 == a.find(".nopAjaxCartPanelAjaxBusy").length && (a.prepend('<div class="nopAjaxCartPanelAjaxBusy"></div><div class="clear"></div>'), $(".nopAjaxCartPanelAjaxBusy").hide()); 0 == b.find(".nopAjaxCartPanelAjaxBusy").length && (b.prepend('<div class="nopAjaxCartPanelAjaxBusy"></div><div class="clear"></div>'), $(".nopAjaxCartPanelAjaxBusy").hide()) }; this.addModelDialogs = function () { var a = this.getCategoryPageProductsPanelSelector(), a = $(a), b = this.getProductDetailsPageProductPanelSelector(), b = $(b); 0 < a.length ? (a.prepend('<div class="productAddedToCartModalDialog">The product has been added to your shopping cart.</div>'), a.prepend('<div class="miniProductDetailsView"></div>'), a.prepend('<div class="addProductVariantToCartErrors"></div>'), a.prepend('<div class="addProductToCartErrors"></div>'), $(".miniProductDetailsView").kendoWindow({ draggable: !1, resizable: !1, title: "Product Details", modal: !0, actions: ["Close"], animation: !1, visible: !1 }).data("kendoWindow")) : 0 < b.length && (b.prepend('<div class="productAddedToCartModalDialog">The product has been added to your shopping cart.</div>'), b.prepend('<div class="addProductVariantToCartErrors"></div>')); $(".productAddedToCartModalDialog").kendoWindow({ draggable: !1, resizable: !1, width: "300px", height: "100px", title: "Shopping Cart Notification", modal: !0, actions: ["Close"], animation: !1, visible: !1 }).data("kendoWindow") }; this.showProductAddedToCartModalDialog = function () { var a = $(".productAddedToCartModalDialog").data("kendoWindow"); a.center(); a.open() }; this.showAddProductToCartErrors = function (a) { var b = $(".addProductToCartErrors").data("kendoWindow"); b || (b = $(".addProductToCartErrors").kendoWindow({ draggable: !1, resizable: !1, width: "300px", height: "100px", title: "Shopping Cart Notification", modal: !0, actions: ["Close"], animation: !1, visible: !1 }).data("kendoWindow")); b.content(a); b.center(); b.open() }; this.showMiniProductDetailsViewModalDialog = function (a) { a = $(".miniProductDetailsView").data("kendoWindow").content('<div class="miniProductDetailsPanelAjaxBusy"></div><div class="clear"></div>' + a); a.center(); a.open() }; this.hideMiniProductDetailsViewModalDialog = function () { $(".miniProductDetailsView").data("kendoWindow").close() }; this.showAddProductVariantAddToCartErrors = function (a, b) { if (b) $(".miniProductDetailsView .message-error").html(a); else { var c = $(".addProductVariantToCartErrors").data("kendoWindow"); c || (c = $(".addProductVariantToCartErrors").kendoWindow({ draggable: !1, resizable: !1, width: "300px", height: "100px", title: "Shopping Cart Notification", modal: !0, actions: ["Close"], animation: !1, visible: !1 }).data("kendoWindow")); c.content(a); c.center(); c.open() } }; this.showProductPanelAjaxBusy = function () { var a = this.getCategoryPageProductsPanelSelector(), a = $(a), b = this.getProductDetailsPageProductPanelSelector(), b = $(b);
1 0 < a.length ? (b = a.height(), a = a.width(), $(".nopAjaxCartPanelAjaxBusy").height(b), $(".nopAjaxCartPanelAjaxBusy").width(a), $(".nopAjaxCartPanelAjaxBusy").show()) : 0 < b.length && (a = b.height(), b = b.width(), $(".nopAjaxCartPanelAjaxBusy").height(a), $(".nopAjaxCartPanelAjaxBusy").width(b), $(".nopAjaxCartPanelAjaxBusy").show()) }; this.hideProductPanelAjaxBusy = function () { $(".nopAjaxCartPanelAjaxBusy").hide() }; this.showMiniProductDetailsPanelAjaxBusy = function () { if (0 < $(".miniProductDetailsView").length) { var a = $(".miniProductDetailsView").parent().height(), b = $(".miniProductDetailsView").parent().width(); $(".miniProductDetailsView .miniProductDetailsPanelAjaxBusy").height(a - 10); $(".miniProductDetailsView .miniProductDetailsPanelAjaxBusy").width(b - 10); $(".miniProductDetailsView .miniProductDetailsPanelAjaxBusy").show() } }; this.hideMiniProductDetailsPanelAjaxBusy = function () { $(".miniProductDetailsView .miniProductDetailsPanelAjaxBusy").hide() }; this.showProductDetailsPanelAjaxBusy = function (a) { a ? this.showMiniProductDetailsPanelAjaxBusy() : this.showProductPanelAjaxBusy() }; this.hideProductDetailsPanelAjaxBusy = function (a) { a ? this.hideMiniProductDetailsPanelAjaxBusy() : this.hideProductPanelAjaxBusy() } } function AddProductToCart(a) { var b = a.data.ajaxCartManager; if (!b.waitForAjaxRequest) { b.waitForAjaxRequest = !0; var c = $(a.currentTarget), e = b.getAddProductToCartUrl(c), a = b.getCheckProductAttributesUrl(); b.getMiniProductDetailsViewUrl(); var f = c.attr("data-productId"), g = b.getAddToCartProductQuantity(c), h = { productId: f, quantity: g }; b.showProductPanelAjaxBusy(); var d = !1, i = !1; $.ajax({ cache: !1, async: !1, type: "POST", dataType: "json", data: $.toJSON(h), contentType: "application/json; charset=utf-8", url: a, success: function (b) { d = b.HasProductAttributes }, error: function () { alert("Request for page " + e + " failed."); i = !0 } }); i ? (b.hideProductPanelAjaxBusy(), b.waitForAjaxRequest = !1) : d ? (b.showMiniProductDetailsView(f, g), b.hideProductPanelAjaxBusy(), b.waitForAjaxRequest = !1) : $.ajax({ cache: !1, type: "POST", data: $.toJSON(h), contentType: "application/json; charset=utf-8", url: e, success: function (a) { b.hideProductPanelAjaxBusy(); b.waitForAjaxRequest = !1; "success" == a.Status ? (b.refreshMiniShoppingCart(c), b.refreshShoppingCartBox(c), b.refreshShoppingCartMenuLink(g), b.showProductAddedToCartModalDialog()) : "warning" == a.Status ? b.showAddProductToCartErrors(a.AddToCartWarnings) : "error" == a.Status && b.showAddProductToCartErrors(a.ErrorMessage) }, error: function () { b.hideProductPanelAjaxBusy(); alert("Loading the page failed."); b.waitForAjaxRequest = !1 } }) } } function AddProductVariantToCart(a) { var b = a.data.ajaxCartManager, c = a.data.isMiniProductDetailsView; if (!b.waitForAjaxRequest) { b.waitForAjaxRequest = !0; var e = $(a.currentTarget), a = b.getAddProductVariantToCartUrl(e, c), f = e.attr("data-productVariantId"), g = "addtocart-" + f, h = b.getAddToCartProductVariantQuantity(e), d = b.getAddProductVariantToCartFormSelector(c), d = $(d).serialize(); 0 == d.length && (d = b.getProductDetailsPageProductPanelSelector(), d = $(d).find("form"), d = $(d).serialize()); d += "&" + g + "=" + f; b.showProductDetailsPanelAjaxBusy(c); $.ajax({ cache: !1, type: "POST", data: d, url: a, success: function (a) { if ($(a).filter("#addProductVariantToCartErrors").length > 0) { b.hideProductDetailsPanelAjaxBusy(c); b.waitForAjaxRequest = false; a = $(a).filter("#addProductVariantToCartErrors"); b.showAddProductVariantAddToCartErrors(a, c) } else { b.refreshMiniShoppingCart(e); b.refreshShoppingCartBox(e); b.refreshShoppingCartMenuLink(h); c && b.hideMiniProductDetailsViewModalDialog(); b.hideProductDetailsPanelAjaxBusy(c); b.waitForAjaxRequest = false; b.showProductAddedToCartModalDialog() } }, error: function () { b.hideProductDetailsPanelAjaxBusy(c); alert("Loading the page failed."); b.waitForAjaxRequest = false } }) } } function GetAddProductToCartUrl() { return $("#addProductToCartUrl").val() } function GetCheckProductAttributesUrl() { return $("#checkProductAttributesUrl").val() } function GetMiniProductDetailsViewUrl() { return $("#getMiniProductDetailsViewUrl").val() } function ShowMiniProductDetailsView(a, b) { var c = { productId: a }, e = this.getMiniProductDetailsViewUrl(), f = this; $.ajax({ cache: !1, async: !1, type: "POST", data: $.toJSON(c), contentType: "application/json; charset=utf-8", url: e, success: function (a) { f.showMiniProductDetailsViewModalDialog(a); f.setMiniProductDetailsViewAddToCartProductQuantity(b) }, error: function () { alert("Request for page " + e + " failed.") } }) } function SetMiniProductDetailsViewAddToCartProductQuantity(a) { var b = $(".miniProductDetailsView .miniProductDetailsViewAddToCartButton"); 0 < b.length && (b = ".miniProductDetailsView #price_" + b.attr("data-ProductVariantId") + "_EnteredQuantity", 0 < $(b).length && $(b).val(a)) } function GetAddProductVariantToCartUrl(a, b) { var c = document.URL; b && (c = $("#addProductVariantToCartUrl").val()); return c } function GetAddProductVariantToCartFormSelector(a) { var b = "", b = this.getProductDetailsPageProductPanelSelector(); a ? b = ".miniProductDetailsView " + b + " form" : (a = $(location).attr("pathname"), b = b + ' form[action*="' + a + '"]'); return b } function GetAddToCartProductQuantity(a) { var b = 1, a = $(a).attr("data-productId"); "" != a && (a = "#productQuantity" + a, 0 < $(a).length && (a = $(a).val(), 0 < a && (b = a))); return b } function GetAddToCartProductVariantQuantity(a) { var b = 1, a = $(a).attr("data-productVariantId"); "" != a && (a = "#price_" + a + "_EnteredQuantity", 0 < $(a).length && (a = $(a).val(), 0 < a && (b = a))); return b } function GetProductVariantIdAndEnteredQuantityString(a) { var b = "", c = $(a).attr("data-productVariantId"); "" != c && (a = $(a).siblings().filter('[id*="EnteredQuantity"]').val(), b = c + "-" + a); return b } function RefreshMiniShoppingCart() { var a = $("#miniShoppingCartUrl").val(), b = $("#miniShoppingCartPanelSelector").val(); $.ajax({ cache: !1, type: "GET", url: a, success: function (a) { a = $(a).filter(b); $(b).replaceWith(a) }, error: function () { alert("Refreshing mini shopping cart failed.") } }) } function RefreshShoppingCartBox() { var a = $("#shoppingCartBoxUrl").val(), b = $("#shoppingCartBoxPanelSelector").val(); $.ajax({ cache: !1, type: "GET", url: a, success: function (a) { a = $(a).filter(b); $(b).replaceWith(a) }, error: function () { alert("Refreshing mini shopping cart box failed.") } }) } function RefreshShoppingCartMenuLink(a) { var b = '.header-links a[href="/cart"]'; 0 < $("#shoppingCartMenuLinkSelector").length && void 0 != $("#shoppingCartMenuLinkSelector").val() && (b = $("#shoppingCartMenuLinkSelector").val(), b = $("<div/>").html(b).text()); b = $(b).filter(":last"); if (0 < b.length) { var c = /\d+/.exec(b.html()), c = parseInt(c), a = parseInt(a); b.html("(" + (c + a) + ")") } };

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.