{"version":3,"sources":["ecom-list-view.js"],"names":["setListViewScript","root","$","data","matchHeight","filter","brandFilter","catId","brandId","searchString","filterEnabled","filterDisplay","listType","minPriceFilter","maxPriceFilter","load","change","val","this","window","location","href","url","document","on","FilterProducts","prop","ClearFilters","click","fbPixelEnabled","btn","id","wrapper","closest","qty","find","ajax","type","dataType","JSON","stringify","productId","quantity","contentType","success","AddedToCart","SetCartQty","fbq_addToBag","result","GetAndOpenTopCart","animate","scrollTop","alert","GetTopCart","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","InitCats","hide","selectedLink","parents","show","filterSelectedParent","removeClass","parent","next","slideUp","addClass","slideDown","InitSpecs","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 \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 filter = $('#product-list').data(\"filter\");\r\n var brandFilter = $('#product-list').data(\"brand-filter\");\r\n var catId = $('#product-list').data(\"cat-id\");\r\n if (catId == \"undefined\") { catId = \"\" };\r\n var brandId = $('#product-list').data(\"brand-id\");\r\n if (brandId == \"undefined\") { brandId = \"\" };\r\n var searchString = $('#product-list').data(\"search-string\");\r\n var filterEnabled = $('#product-list').data(\"filter-enabled\");\r\n var filterDisplay = $('#product-list').data(\"filter-on\");\r\n var listType = $('#product-list').data(\"list-type\");\r\n var minPriceFilter = $('#product-list').data(\"min-price-filter\");\r\n var maxPriceFilter = $('#product-list').data(\"max-price-filter\");\r\n if (filterEnabled == 'True' && filterDisplay == 'True') {\r\n $('#filter').load(root + \"Widgets/ProductFilterWidget?listType=\" + listType + \"&catId=\" + catId + \"&brandId=\" + brandId +\r\n \"&searchString=\" + searchString + \"&filter=\" + filter + \"&brandFilter=\" + brandFilter +\r\n \"&minPriceFilter=\" + minPriceFilter + \"&maxPriceFilter=\" + maxPriceFilter);\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 = $('#product-list').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\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 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\r\nfunction 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(\".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 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 //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('.filter-dropdown');\r\n filterSelectedParent.find('.filter-dropdown-icon').removeClass('closed');\r\n filterSelectedParent.find('.filter-dropdown-list').show();\r\n\r\n $('.filter-dropdown-icon').click(function () {\r\n var parent = $(this).closest('.w-dropdown-toggle');\r\n if (parent.next('nav').is(':visible')) {\r\n parent.next('nav').slideUp();\r\n parent.find('.filter-dropdown-icon').addClass('closed');\r\n }\r\n else {\r\n parent.next('nav').slideDown();\r\n parent.find('.filter-dropdown-icon').removeClass('closed');\r\n }\r\n //$(this).next('nav').slideToggle().toggleClass('filter-closed');\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('.spec-filter-dropdown-icon').removeClass('closed');\r\n filterSelectedParent.find('.filter-dropdown-list').show();\r\n\r\n $('.spec-filter-dropdown-icon').click(function () {\r\n var parent = $(this).closest('.w-dropdown-toggle');\r\n if (parent.next('nav').is(':visible')) {\r\n parent.next('nav').slideUp();\r\n parent.find('.spec-filter-dropdown-icon').addClass('closed');\r\n }\r\n else {\r\n parent.next('nav').slideDown();\r\n parent.find('.spec-filter-dropdown-icon').removeClass('closed');\r\n }\r\n //$(this).next('nav').slideToggle().toggleClass('filter-closed');\r\n });\r\n}"]}