{"version":3,"sources":["ecom-list-view.js"],"names":["setListViewScript","root","$","data","matchHeight","wrapper","filter","brandFilter","catId","catFilter","brandId","searchString","encodeURIComponent","filterEnabled","filterDisplay","listType","minPriceFilter","maxPriceFilter","html","load","change","val","this","window","location","href","url","document","on","FilterProducts","prop","ClearFilters","stockModal","remodal","RegisterStockNotify","ajax","type","dataType","JSON","stringify","prodId","stockNotifyProdId","isVariant","stockNotifyIsVariant","email","stockNotifyEmail","contentType","success","result","stockNotifyLoggedIn","hide","show","open","fadeOut","fadeIn","alert","error","click","submit","e","preventDefault","fbPixelEnabled","btn","id","qty","closest","find","productId","quantity","trigger","fbq_addToBag","qtyTbx","Number","uom","mouseenter","swapIn","mainImgContainer","mainImage","addClass","mouseleave","removeClass","attrList","brands","each","filterType","found","attrItem","is","push","join","newQuerystring","cnt","i","length","newUrl","UpdateQueryString","qs","minPrice","maxPrice","sort","key","value","hash","re","RegExp","test","replace","split","separator","indexOf","InitFilterHeader","next","slideUp","slideDown","InitCats","selectedLink","parents","parent","siblings","filterSelectedParent","ShowClearFilterBtn","InitSpecs","css","Platform","Deferred","execute"],"mappings":"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","file":"ecom-list-view.min.js","sourcesContent":["Platform.Deferred.execute(setListViewScript);\r\n\r\nfunction setListViewScript(){\r\n var root = $('body').data('root');\r\n //$(function () {\r\n // $(\".pf-qty-btn-plus\").unbind(\"click\");\r\n // $(\".pf-qty-btn-plus\").click(function () {\r\n // var $this = $(this);\r\n // var quantity = parseInt($this.siblings(\".qty-tbx\").val()) + 1;\r\n // $(this).siblings(\".qty-tbx\").val(quantity);\r\n // });\r\n // $(\".pf-qty-btn-minus\").unbind(\"click\");\r\n // $(\".pf-qty-btn-minus\").click(function () {\r\n // var $this = $(this);\r\n // var quantity = parseInt($this.siblings(\".qty-tbx\").val()) - 1;\r\n // if (quantity <= 0)\r\n // {\r\n // quantity = 1;\r\n // }\r\n // $(this).siblings(\".qty-tbx\").val(quantity);\r\n // });\r\n //});\r\n $('.sub-cat-holder-match-height').matchHeight();\r\n $('.product-match-height').matchHeight();\r\n $('.product-info-match-height').matchHeight();\r\n\r\n var wrapper = $('#pf-product-list-page');\r\n var filter = wrapper.data(\"filter\");\r\n var brandFilter = wrapper.data(\"brand-filter\");\r\n var catId = wrapper.data(\"cat-id\");\r\n var catFilter = wrapper.data(\"cat-filter\");\r\n if (catId == \"undefined\") { catId = \"\" };\r\n var brandId = wrapper.data(\"brand-id\");\r\n if (brandId == \"undefined\") { brandId = \"\" };\r\n var searchString = encodeURIComponent(wrapper.data(\"search-string\"));\r\n var filterEnabled = wrapper.data(\"filter-enabled\");\r\n var filterDisplay = wrapper.data(\"filter-on\");\r\n var listType = wrapper.data(\"list-type\");\r\n var minPriceFilter = wrapper.data(\"min-price-filter\");\r\n var maxPriceFilter = wrapper.data(\"max-price-filter\");\r\n if (filterEnabled == 'True' && filterDisplay == 'True') {\r\n $('#filter').html(\"
\").load(root + \"Widgets/ProductFilterWidget?listType=\" + listType + \"&catId=\" + catId + \"&brandId=\" + brandId +\r\n \"&searchString=\" + searchString + \"&filter=\" + filter + \"&brandFilter=\" + brandFilter +\r\n \"&minPriceFilter=\" + minPriceFilter + \"&maxPriceFilter=\" + maxPriceFilter + \"&catFilter=\" + catFilter);\r\n\r\n $('#filtersOnly').load(root + \"Widgets/GetSpecFilters?catId=\" + catId + \"&brandId=\" + brandId +\r\n \"&searchString=\" + searchString + \"&filter=\" + filter + \"&brandFilter=\" + brandFilter);\r\n\r\n }\r\n\r\n $(\".list-view-select\").change(function () {\r\n var val = $(this).val();\r\n window.location.href = val;\r\n });\r\n\r\n var url = wrapper.data('url');\r\n\r\n // add handler for filter options\r\n $(document).on('click', '.ecom-filter-val', function () {\r\n FilterProducts(url);\r\n });\r\n\r\n $(document).on('click', '.clear-filters-button', function () {\r\n $(\".ecom-filter-val\").prop(\"checked\", false);\r\n FilterProducts(url);\r\n });\r\n\r\n $(document).on('click', '.clear-filters-button', function () {\r\n ClearFilters(url);\r\n });\r\n\r\n $(document).on('change', '.list-view-select', function () {\r\n var val = $(this).val();\r\n window.location.href = val;\r\n });\r\n\r\n $(document).on('change', '.ecom-filter-val-select', function () {\r\n FilterProducts(url);\r\n });\r\n // Mobile filter button\r\n //$(document).on('click', '.filter-heading.mobile', function ()\r\n //{ \r\n // if ($('.m-filter-wrapper').hasClass(\"mobile-filter-visible\"))\r\n // {\r\n // $(\".filter-heading-icon\").html(\"+\");\r\n\r\n // }\r\n // else {\r\n // $(\".filter-heading-icon\").html(\"-\");\r\n \r\n // } \r\n // $('.m-filter-wrapper').toggleClass('mobile-filter-visible'); \r\n //});\r\n\r\n // stock notify handler\r\n var stockModal = $('[data-remodal-id=stock-notify-modal]').remodal();\r\n $('.pf-stock-notify-me-btn').click(function () {\r\n stockNotifyProdId = $(this).data(\"prod-id\");\r\n stockNotifyIsVariant = $(this).data(\"is-variant\");\r\n stockNotifyLoggedIn = $(this).data(\"user-logged-in\");\r\n if (stockNotifyLoggedIn == \"False\") {\r\n $('#stock-notify-content').show();\r\n $('#stock-notify-rsp').hide();\r\n stockModal.open();\r\n }\r\n else {\r\n RegisterStockNotify();\r\n }\r\n });\r\n\r\n $('#register-stock-notify-form').submit(function (e) {\r\n e.preventDefault();\r\n stockNotifyEmail = $('#stock-notify-email').val();\r\n RegisterStockNotify();\r\n });\r\n\r\n function RegisterStockNotify() {\r\n\r\n $.ajax({\r\n url: root + \"UserAccount/RegisterStockNotify\",\r\n type: 'POST',\r\n dataType: 'json',\r\n data: JSON.stringify({\r\n prodId: stockNotifyProdId,\r\n isVariant: stockNotifyIsVariant,\r\n email: stockNotifyEmail\r\n }),\r\n contentType: 'application/json; charset=utf-8',\r\n success: function (data) {\r\n if (data.result == \"ok\") {\r\n if (stockNotifyLoggedIn) {\r\n $('#stock-notify-content').hide();\r\n $('#stock-notify-rsp').show();\r\n stockModal.open();\r\n }\r\n else {\r\n $('#stock-notify-content').fadeOut(function () {\r\n $('#stock-notify-rsp').fadeIn();\r\n });\r\n }\r\n }\r\n else {\r\n alert('Sorry there was a problem processing your request.');\r\n }\r\n },\r\n error: function () {\r\n alert('Sorry there was a problem processing your request.');\r\n }\r\n });\r\n }\r\n\r\n // adding to cart\r\n $('.product-list-add-to-cart-btn').click(function () {\r\n var fbPixelEnabled = $('#product-view-container').data(\"fb-pixel\");\r\n var btn = $(this);\r\n var id = btn.data(\"id\");\r\n var wrapper = btn.closest('.list-view-add-cart-wrapper');\r\n var qty = wrapper.find('.qty-tbx').val();\r\n\r\n $.ajax({\r\n url: root + \"Cart/AddToCart\",\r\n type: 'POST',\r\n dataType: 'json',\r\n data: JSON.stringify({ productId: id, quantity: qty }),\r\n contentType: 'application/json; charset=utf-8',\r\n success: function (data) {\r\n //AddedToCart(data);\r\n $(document).trigger('itemAdded.product.platform', data);\r\n //SetCartQty();\r\n if (fbPixelEnabled == \"True\") {\r\n fbq_addToBag();\r\n }\r\n }\r\n });\r\n\r\n return false;\r\n });\r\n\r\n $('.list-view-add-cart-wrapper .pf-qty-btn-minus').click(function () {\r\n var wrapper = $(this).closest('.qtywrapper');\r\n var qtyTbx = wrapper.find('.qty-tbx');\r\n var qty = Number(qtyTbx.val());\r\n var uom = qtyTbx.data('uom');\r\n if (qty > uom)\r\n qty -= uom;\r\n if (qty < 0)\r\n qty = 0;\r\n qtyTbx.val(qty);\r\n });\r\n\r\n $('.list-view-add-cart-wrapper .pf-qty-btn-plus').click(function () {\r\n var wrapper = $(this).closest('.qtywrapper');\r\n var qtyTbx = wrapper.find('.qty-tbx');\r\n var qty = Number(qtyTbx.val());\r\n var uom = qtyTbx.data('uom');\r\n qty += uom;\r\n qtyTbx.val(qty);\r\n });\r\n\r\n // group products\r\n $(\".pf-list-view-group-prods-wrapper\").on({\r\n mouseenter: function () {\r\n var swapIn = $(this).data(\"image-url\");\r\n var mainImgContainer = $(this).closest('.pf-product-list-item').find('.pf-list-item-img');\r\n var mainImage = mainImgContainer.prop('src');\r\n $(this).data(\"orig-img-url\", mainImage);\r\n mainImgContainer.prop('src', swapIn);\r\n $(this).addClass('pf-list-group-image-selected');\r\n },\r\n mouseleave: function() {\r\n var swapIn = $(this).data(\"orig-img-url\");\r\n var mainImgContainer = $(this).closest('.pf-product-list-item').find('.pf-list-item-img');\r\n mainImgContainer.prop('src', swapIn);\r\n $(this).removeClass('pf-list-group-image-selected');\r\n },\r\n click: function() {\r\n // Handle click...\r\n }\r\n }, \".pf-list-view-group-prod\");\r\n}\r\n\r\n//function AddedToCart(data) {\r\n// if (data.result == \"ok\") {\r\n// GetAndOpenTopCart();\r\n// $(\"html, body\").animate({ scrollTop: 0 }, \"slow\"); // scroll to top\r\n// }\r\n// if (data.result == \"ok-stock-limited\") {\r\n// alert(\"Sorry there are only \" + data.qty + \" of these items available in stock.\");\r\n// GetAndOpenTopCart();\r\n// $(\"html, body\").animate({ scrollTop: 0 }, \"slow\"); // scroll to top\r\n// }\r\n// if (data.result == \"ok-out-of-stock\") {\r\n// alert(\"Sorry this item is no longer in stock.\");\r\n// GetTopCart();\r\n// }\r\n//}\r\n\r\nfunction FilterProducts(url) {\r\n // get the list of selected options and build querystring\r\n var attrList = [];\r\n var s = [];\r\n var brands = [];\r\n $('.ecom-filter-group').each(function () {\r\n var id = $(this).data(\"filter-attr\");\r\n var filterType = $(this).data(\"filter-type\");\r\n var found = false;\r\n var attrItem = [];\r\n $(this).closest(\".pf-filter-dropdown\").find(\".ecom-filter-val\").each(function () {\r\n if ($(this).is(':checked')) {\r\n\r\n if (filterType == \"val\") {\r\n attrItem.push($(this).data(\"filter-attr-val\"));\r\n found = true;\r\n }\r\n //if (filterType == \"val\") {\r\n // s.push($(this).data(\"filter-attr-val\"));\r\n //}\r\n else if (filterType == \"brand\") {\r\n brands.push($(this).val());\r\n }\r\n }\r\n });\r\n if (found == true) {\r\n attrList.push(id + \"|\" + attrItem.join('-'));\r\n }\r\n });\r\n\r\n var newQuerystring = \"\";\r\n var cnt = 0;\r\n for (var i in attrList) {\r\n newQuerystring += attrList[i];\r\n cnt++;\r\n if (cnt < attrList.length) {\r\n newQuerystring += \",\";\r\n }\r\n }\r\n\r\n //var newUrl = url + \"?\" + newQuerystring + \"#x-product-listing\";\r\n\r\n // attributes\r\n //var qs = s.join('-');\r\n //// gets new url to call\r\n\r\n var newUrl = UpdateQueryString(\"pf\", newQuerystring, url);\r\n\r\n\r\n //// brands\r\n qs = brands.join('-');\r\n newUrl = UpdateQueryString(\"br\", qs, newUrl);\r\n\r\n // price ranges\r\n var minPrice = $('#min-price-filter').val();\r\n if (typeof minPrice != 'undefined' && minPrice != -1) {\r\n newUrl = UpdateQueryString(\"minprice\", minPrice, newUrl);\r\n }\r\n var maxPrice = $('#max-price-filter').val();\r\n if (typeof maxPrice != 'undefined' && maxPrice != -1) {\r\n newUrl = UpdateQueryString(\"maxprice\", maxPrice, newUrl);\r\n }\r\n\r\n // sorting\r\n var sort = $('#product-sort').val();\r\n if (typeof sort != 'undefined') {\r\n newUrl = UpdateQueryString(\"listby\", sort, newUrl);\r\n }\r\n\r\n // call url\r\n window.location = newUrl;\r\n}\r\n\r\nfunction UpdateQueryString(key, value, url) {\r\n if (!url) url = window.location.href;\r\n var re = new RegExp(\"([?&])\" + key + \"=.*?(&|#|$)(.*)\", \"gi\"),\r\n hash;\r\n\r\n if (re.test(url)) {\r\n if (typeof value !== 'undefined' && value !== null)\r\n return url.replace(re, '$1' + key + \"=\" + value + '$2$3');\r\n else {\r\n hash = url.split('#');\r\n url = hash[0].replace(re, '$1$3').replace(/(&|\\?)$/, '');\r\n if (typeof hash[1] !== 'undefined' && hash[1] !== null)\r\n url += '#' + hash[1];\r\n return url;\r\n }\r\n }\r\n else {\r\n if (typeof value !== 'undefined' && value !== null) {\r\n var separator = url.indexOf('?') !== -1 ? '&' : '?';\r\n hash = url.split('#');\r\n url = hash[0] + separator + key + '=' + value;\r\n if (typeof hash[1] !== 'undefined' && hash[1] !== null)\r\n url += '#' + hash[1];\r\n return url;\r\n }\r\n else\r\n return url;\r\n }\r\n}\r\n\r\nfunction ClearFilters(url)\r\n{\r\n // call url\r\n var newUrl = UpdateQueryString(\"pf\", null, url);\r\n newUrl = UpdateQueryString(\"br\", null, newUrl);\r\n window.location = newUrl;\r\n}\r\n\r\nfunction InitFilterHeader()\r\n{\r\n $('.pf-filter-header').click(function () {\r\n var filter = $(this).closest('.pf-filter-header').next('.pf-filter-items');\r\n var trigger = $(this).find('.pf-filter-main-dropdown-btn');\r\n if (filter.is(':visible')) {\r\n filter.slideUp();\r\n trigger.addClass('closed');\r\n trigger.removeClass('open');\r\n }\r\n else {\r\n filter.slideDown();\r\n trigger.removeClass('closed');\r\n trigger.addClass('open');\r\n }\r\n });\r\n}\r\n\r\nfunction InitCats() {\r\n $('.filter-cats-sub').hide();\r\n var selectedLink = $('.cat-selected');\r\n\r\n // open cat parents for selected cat\r\n var parents = selectedLink.parents('nav');\r\n parents.show();\r\n $('.pf-filter-dropdown-btn.opened').parent().siblings('.filter-cats-sub').show();\r\n selectedLink.parents('.filter-cats').siblings('.pf-filter-item').find('.pf-filter-dropdown-btn').removeClass('closed');\r\n //parents.find('.filter-dropdown-icon').removeClass('closed');\r\n //parents.find('.filter-dropdown-icon').addClass('open');\r\n\r\n // open filter specs for selected\r\n var filterSelectedParent = $('.ecom-filter-val.filter-selected').closest('.pf-filter-dropdown-btn');\r\n filterSelectedParent.find('.pf-filter-dropdown-btn').removeClass('closed');\r\n filterSelectedParent.find('.filter-dropdown-list').show();\r\n\r\n $('.subdropdown-toggle.pf-filter-item').click(function () {\r\n var parent = $(this);\r\n if (parent.next('nav').is(':visible')) {\r\n parent.next('nav').slideUp();\r\n parent.find('.pf-filter-dropdown-btn').addClass('closed');\r\n }\r\n else {\r\n parent.next('nav').slideDown();\r\n parent.find('.pf-filter-dropdown-btn').removeClass('closed');\r\n }\r\n //$(this).next('nav').slideToggle().toggleClass('filter-closed');\r\n });\r\n\r\n if ($('.ecom-filter-val.filter-selected')[0]) {\r\n ShowClearFilterBtn();\r\n }\r\n}\r\n\r\nfunction InitSpecs() {\r\n\r\n // open filter specs for selected\r\n var filterSelectedParent = $('.ecom-filter-val.filter-selected').closest('.filter-dropdown');\r\n filterSelectedParent.find('.pf-spec-filter-dropdown-btn').removeClass('closed');\r\n filterSelectedParent.find('.filter-dropdown-list').show();\r\n\r\n $('.dropdown-toggle.pf-filter-item').click(function () {\r\n var parent = $(this);\r\n if (parent.next('nav').is(':visible')) {\r\n parent.next('nav').slideUp();\r\n parent.find('.pf-spec-filter-dropdown-btn').addClass('closed');\r\n }\r\n else {\r\n parent.next('nav').slideDown();\r\n parent.find('.pf-spec-filter-dropdown-btn').removeClass('closed');\r\n }\r\n //$(this).next('nav').slideToggle().toggleClass('filter-closed');\r\n });\r\n\r\n if ($('.ecom-filter-val.filter-selected')[0]) {\r\n ShowClearFilterBtn();\r\n }\r\n}\r\n\r\nfunction ShowClearFilterBtn() {\r\n $('#pf-clear-filters-btn').css('display', 'inline-block');\r\n}"]}