{"version":3,"sources":["category.filters.js"],"names":["filterStick","dev","ProductFilter","opts","self","this","productsUpdated","paginationWrapper","$","productsWrapper","filtersWrapper","options","extend","hide","setupImageHoverDisplay","each","e","t","r","on","data","parseInt","a","find","attr","replace","updateComponents","part","animate","opacity","css","pointerEvents","height","updateProducts","window","width","post","method","JSON","stringify","done","res","empty","html","removeClass","updateEvents","type","updateState","fadeOut","scrollTop","offset","top","fail","err","responseText","always","updateFilters","mainActive","updatePagination","getUrlParameter","name","results","RegExp","exec","location","search","decodeURIComponent","getURLParams","page","size","colour","brand","category","order","num","min","max","sale","collection","cid","main_filter","keywords","href","slice","indexOf","split","length","unescape","query","cb","join","pathname","history","pushState","ga","unbind","addClass","event","preventDefault","closestItem","closest","activeClass","toggle","hasClass","toggleClass","fadeIn","newQuery","value","isActive","params","newVal","filter","toLowerCase","clickedFilter","is_active","scroll","ev","bind","productQuery","category_id","document","ready","defaultQuery","man_id"],"mappings":"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","sourcesContent":["/**\n * ProductFilter\n * \n * AJAX load products and update the UI. We also need to send \n * the current URL structure to Google Analytics and push the \n * new state to the browser history so it can be dynamically\n * navigated.\n */\n\nvar filterStick,\n\tdev = false;\n\nvar ProductFilter = (function (opts) {\n\n\tvar defaults = {},\n\t\tself = this;\n\n\tvar filtersUpdated = false;\n\tvar productsUpdated = false;\n\tvar paginationUpdated = false;\n\n\tvar paginationWrapper = $('.js-pagination');\n\tvar productsWrapper = $('.js-product-container');\n\tvar filtersWrapper = $('.js-filter-container');\n\n\tthis.options = $.extend(opts, defaults);\n\n\t$('.js-loading').hide();\n\n\tthis.setupImageHoverDisplay = function () {\n\t\t$(\".js-image\").each(function (e, t) {\n\t\t\tvar r = \"\";\n\t\t\t$(t).on(\"mouseenter\", function () {\n\t\t\t\tvar e = $(t).data(\"second-image\");\n\t\t\t\tif (0 !== e || e !== parseInt(\"0\")) {\n\t\t\t\t\tvar a = $(this).find(\"img\");\n\t\t\t\t\t(r = $(a).attr(\"src\")).replace(/thumbs/g, \"xlarge\"), $(a).attr(\"src\", \"https://images.atomretro.com/xlarge/\" + $(t).data(\"second-image\"))\n\t\t\t\t}\n\t\t\t}), $(t).on(\"mouseleave\", function () {\n\t\t\t\tvar e = $(t).data(\"second-image\");\n\t\t\t\tif (0 !== e || e !== parseInt(\"0\")) {\n\t\t\t\t\tvar a = $(this).find(\"img\");\n\t\t\t\t\t$(a).attr(\"src\", r);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t};\n\n\tthis.updateComponents = function (part) {\n\n\t\tif (part === 'filters') {\n\t\t\tfiltersUpdated = true;\n\t\t}\n\n\t\tif (part === 'products') {\n\t\t\tproductsUpdated = true;\n\t\t}\n\n\t\tif (part === 'pagination') {\n\t\t\tpaginationUpdated = true;\n\t\t}\n\n\t\tif (productsUpdated) {\n\t\t\tproductsUpdated = false;\n\n\t\t\t$(paginationWrapper).animate({ opacity: 1 });\n\t\t\t$(productsWrapper).animate({ opacity: 1 });\n\t\t\t$(filtersWrapper).animate({ opacity: 1 });\n\t\t\t\n\t\t\t$(paginationWrapper).css({ pointerEvents: 'auto' });\n\t\t\t$(productsWrapper).css({ pointerEvents: 'auto' });\n\t\t\t$(filtersWrapper).css({ pointerEvents: 'auto' });\n\n\t\t\t$('.js-product-container').css({ height: 'auto' });\n\t\t}\n\t};\n\n\tthis.updateProducts = function (data) {\n\n\t\t$('.c-product-list').animate({ opacity: 0.3 });\n\n\t\t// $('.c-product-list').empty();\n\n\t\t$(paginationWrapper).animate({\n\t\t\topacity: 0.2\n\t\t});\n\t\t$(productsWrapper).animate({\n\t\t\topacity: 1\n\t\t});\n\t\t$(filtersWrapper).animate({\n\t\t\topacity: 0.2\n\t\t});\n\t\t$(paginationWrapper).css({ pointerEvents: 'none' });\n\t\t$(productsWrapper).css({ pointerEvents: 'none' });\n\t\t$(filtersWrapper).css({ pointerEvents: 'none' });\n\n\t\t/**\n\t\t * Show loading.\n\t\t */\n\t\tvar showAmount = 4;\n\n\t\tif ($(window).width() < 768) {\n\t\t\tshowAmount = 2;\n\t\t}\n\n\t\t$.post('/filters/endpoints/product/endpoint.products.cfc', {\n\t\t\t\tmethod: 'filterProducts',\n\t\t\t\tdata: JSON.stringify(data)\n\t\t\t})\n\n\t\t\t.done(function (res) {\n\t\t\t\t$('.js-filter-content').empty();\n\t\t\t\t$('.js-filter-content').html(res);\n\n\t\t\t\t$('.c-filters__item').removeClass('c-filters__item--active');\n\t\t\t\t$('.c-filters__item').find('.fal').removeClass('fa-chevron-up');\n\n\t\t\t\tif ($(window).width() > 769) {\n\t\t\t\t\tself.setupImageHoverDisplay();\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tself.updateEvents();\n\n\t\t\t\tif (data.type !== \"popstate\") {\n\t\t\t\t\tself.updateState(data);\n\t\t\t\t}\n\n\t\t\t\tself.updateComponents('products');\n\n\t\t\t\t$('.js-loading').fadeOut();\n\n\t\t\t\t$('html,body').animate({\n\t\t\t\t\tscrollTop: $('.js-product-container').offset().top\n\t\t\t\t}, 'fast');\n\n\t\t\t}).fail(function (err) {\n\t\t\t\t$('.c-product-list').html(err.responseText);\n\t\t\t}).always(function () {\n\t\t\t\t$('.c-product-list').animate({ opacity: 1 });\n\t\t\t});\n\t};\n\n\tthis.updateFilters = function (data) {\n\n\t\t$.post('/filters/endpoints/product/endpoint.products.cfc', {\n\t\t\t\tmethod: 'rebuildFilters',\n\t\t\t\tdata: JSON.stringify(data),\n\t\t\t\tmainActive: ''\n\t\t\t})\n\n\t\t\t.done(function (res) {\n\t\t\t\t$('.js-filter-container').empty();\n\t\t\t\t$('.js-filter-container').html(res);\n\n\t\t\t\tself.updateEvents();\n\t\t\t\tself.updateComponents('filters');\n\t\t\t})\n\n\t\t\t.fail(function (err) {\n\t\t\t\t$('.c-product-list').html(err.responseText);\n\t\t\t})\n\n\t\t\t.always(function () {\n\t\t\t\t// new Sticky('.js-filters');\n\t\t\t});\n\t};\n\n\tthis.updatePagination = function (data) {\n\n\t\t$.post('/filters/endpoints/product/endpoint.products.cfc', {\n\t\t\t\tmethod: 'rebuildPagination',\n\t\t\t\tdata: JSON.stringify(data)\n\t\t\t})\n\n\t\t\t.done(function (res) {\n\t\t\t\t$('.js-pagination').empty();\n\t\t\t\t$('.js-pagination').html(res);\n\t\t\t\tself.updateEvents();\n\n\t\t\t\tself.updateComponents('pagination');\n\t\t\t})\n\n\t\t\t.fail(function (err) {\n\t\t\t\t$('.c-product-list').html(err.responseText);\n\t\t\t});\n\t};\n\n\tthis.getUrlParameter = function(name) {\n\t\tname = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\n\t\tvar regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)');\n\t\tvar results = regex.exec(location.search);\n\t\treturn results === null ? null : decodeURIComponent(results[1].replace(/\\+/g, ' '));\n\t};\n\n\tthis.getURLParams = function () {\n\n\t\tfor (var e, a = {\n\t\t\t\tpage: 1,\n\t\t\t\tsize: self.getUrlParameter('size') || \"\",\n\t\t\t\tcolour: self.getUrlParameter('colour') || \"\",\n\t\t\t\tbrand: self.getUrlParameter('brand') || \"\",\n\t\t\t\tcategory: self.getUrlParameter('category') || \"\",\n\t\t\t\torder: self.getUrlParameter('order') || \"newest\",\n\t\t\t\tnum: self.getUrlParameter('num') || 24,\n\t\t\t\tmin: self.getUrlParameter('min') || \"\",\n\t\t\t\tmax: self.getUrlParameter('max') || \"\",\n\t\t\t\tsale: self.getUrlParameter('sale') || false,\n\t\t\t\tcollection: self.getUrlParameter('collection') || false,\n\t\t\t\tcid: self.getUrlParameter('cid') || 0,\n\t\t\t\tmain_filter: self.getUrlParameter('main_filter') || \"\",\n\t\t\t\ttype: self.getUrlParameter('type') || \"\",\n\t\t\t\tsearch: self.getUrlParameter('search') || false,\n\t\t\t\tkeywords: self.getUrlParameter('keywords') || \"\"\n\t\t\t}, t = window.location.href.slice(window.location.href.indexOf(\"?\") + 1).split(\"&\"), r = 0; r < t.length; r++) a[(e = t[r].split(\"=\"))[0]] = unescape(e[1]);\n\t\treturn a;\n\n\t};\n\n\t// Deciphering this is like the Da Vinci Code, but it does its job.\n\tthis.updateState = function (query, cb) {\n\t\tvar e = query.colour.split(\" \").join(\"+\"),\n\t\t\ta = query.size.split(\" \").join(\"+\"),\n\t\t\tt = window.location.pathname,\n\t\t\tr = \"\";\n\t\t\"Clear\" !== query.type && (r = t = \"?page=\" + query.page + \"&size=\" + a + \"&colour=\" + e + \"&brand=\" + query.brand + \"&category=\" + query.category + \"&order=\" + query.order + \"&num=\" + query.num + \"&min=\" + query.min + \"&max=\" + query.max + \"&sale=\" + query.sale + \"&collection=\" + query.collection + \"&cid=\" + query.cid + \"&main_filter=\" + query.main_filter + \"&type=\" + query.type + \"&search=\" + query.search + \"&keywords=\" + query.keywords), window.history.pushState(null, null, t), ga(\"set\", \"pag\", window.location.pathname + r), ga(\"send\", \"pageview\")\n\t};\n\n\tthis.updateEvents = function () {\n\n\t\t$('.js-category-filter__trigger').unbind();\n\t\t$('.js-filter-item').unbind();\n\n\t\t$('.js-filter-container').addClass('js-filter-container--closed');\n\n\t\t$('.js-category-filter__trigger').on('click', function (event) {\n\t\t\tevent.preventDefault();\n\n\t\t\tvar closestItem = $(this).closest('.c-filters__item'),\n\t\t\t\tactiveClass = 'c-filters__item--active',\n\t\t\t\tactiveArrow = 'fa-chevron-up';\n\n\t\t\t$(this).closest('.c-filters__dropdown').toggle();\n\t\t\t\n\t\t\t$('.c-filters__dropdown').hide();\n\n\t\t\tif ($(closestItem).hasClass(activeClass)) {\n\t\t\t\t$(closestItem).removeClass(activeClass);\n\t\t\t\t$(closestItem).find('.fal').removeClass(activeArrow);\n\t\t\t} else {\n\t\t\t\t$('.c-filters__item').removeClass(activeClass);\n\t\t\t\t$('.c-filters__item').find('.fal').removeClass(activeArrow);\n\t\t\t\t$(closestItem).toggleClass(activeClass);\n\t\t\t\t$(closestItem).find('.c-filters__dropdown').fadeIn('fast');\n\t\t\t\t$(closestItem).find('.fal').toggleClass(activeArrow);\n\t\t\t}\n\t\t});\n\n\t\t$('.js-filter-item').on('click', function (event) {\n\t\t\tevent.preventDefault();\n\n\t\t\tvar newQuery;\n\n\t\t\tvar type = $(this).data(\"type\"),\n\t\t\t\tvalue = $(this).data(\"val\"),\n\t\t\t\tisActive = $(this).data('active');\n\n\t\t\t// http://atomretro.local/womens/tops?page=1&size=&colour=&brand=125&category=&order=newest&num=24&min=&max=&sale=false\n\t\t\t// http://atomretro.local/womens/tops?page=1&size=&colour=&brand=159&category=&order=newest&num=24&min=159&max=&sale=false\n\n\t\t\tvar params = self.getURLParams();\n\n\t\t\t$('.c-filters__dropdown').hide();\n\n\t\t\tif (\n\t\t\t\t\"brand\" === type && (params.brand = value) ||\n\t\t\t\t\"category\" === type && (params.category = value) ||\n\t\t\t\t\"size\" === type && (params.size = value) ||\n\t\t\t\t\"colour\" === type && (params.colour = value) ||\n\t\t\t\t\"pagination\" === type && (params.page = value) ||\n\t\t\t\t\"collection\" === type && (params.collection = value) || \n\t\t\t\t\"cid\" === type && (params.cid = value) ||\n\t\t\t\t\"main_filter\" === type && (params.main_filter = value) || \n\t\t\t\t\"search\" === type && (params.search = value)\n\t\t\t) {\n\t\t\t\tvar newVal = (value + \"\").split(\"-\");\n\t\t\t}\n\n\t\t\tif (\"price\" === type) {\n\t\t\t\tvar newVal = (value + \"\").split(\"-\");\n\n\t\t\t\tif (newVal.length > 1) {\n\t\t\t\t\tparams.min = newVal[0];\n\t\t\t\t\tparams.max = newVal[1];\n\t\t\t\t} else {\n\t\t\t\t\tparams.min = newVal[0];\n\t\t\t\t\tparams.max = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (\"order\" === type) {\n\t\t\t\tparams.order = value;\n\t\t\t}\n\n\t\t\tif (\"sale\" === type && self.options.query.sale === value) {\n\t\t\t\tvalue = 1;\n\t\t\t\tself.options.query.type = type;\n\t\t\t}\n\n\t\t\tif (\"search\" === type && self.options.query.search === value) {\n\t\t\t\tvalue = 1;\n\t\t\t\tself.options.query.type = type;\n\t\t\t}\n\n\t\t\tif ($(this).hasClass('js-filter-item--active')) {\n\t\t\t\tvar filter = $(this).data('filter').toLowerCase();\n\t\t\t\tif (filter === 'brand' || filter === 'category' || filter === 'size' || filter === 'colour') {\n\t\t\t\t\tparams[filter] = '';\n\t\t\t\t}\n\n\t\t\t\tif (filter === 'price') {\n\t\t\t\t\tparams.min = '';\n\t\t\t\t\tparams.max = '';\n\t\t\t\t}\n\n\t\t\t\tif (filter === 'order') {\n\t\t\t\t\tparams.order = 'newest';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tnewQuery = $.extend(self.options.query, params);\n\n\t\t\tif (type !== 'order') {\n\t\t\t\tnewQuery.clickedFilter = type;\n\t\t\t\tnewQuery.main_filter = type;\n\t\t\t} else {\n\t\t\t\tnewQuery.clickedFilter = '';\n\t\t\t}\n\n\t\t\tvar filterName;\n\n\t\t\tif (typeof type === 'string' && type !== 'order') {\n\t\t\t\tfilterName = type;\n\t\t\t} else {\n\t\t\t\tfilterName = '';\n\t\t\t}\n\n\t\t\tif (params.main_filter === type) {\n\t\t\t\tfilterName = '';\n\t\t\t}\n\n\t\t\tif (isActive) {\n\t\t\t\tnewQuery.page = 1;\n\t\t\t\tnewQuery.is_active = true;\n\t\t\t} else {\n\t\t\t\tnewQuery.is_active = false;\n\t\t\t}\n\n\t\t\tvar prodConHeight = 271 + 24;\n\n\t\t\tif ($(window).width() < 768) {\n\t\t\t\tprodConHeight = 200 + 24;\n\t\t\t}\n\n\t\t\t$('.js-loading').fadeIn();\n\n\t\t\tself.updateProducts(newQuery);\n\t\t});\n\t};\n\n\t$(window).scroll(function () {\n\t\tif ($('.c-header').hasClass('c-header--stick')) {\n\t\t\t$('.js-filters').addClass('js-filters--offset');\n\t\t\t$('.js-filters > .o-layout').addClass('o-layout--flush');\n\t\t} else {\n\t\t\t$('.js-filters').removeClass('js-filters--offset');\n\t\t}\n\t});\n\n\t$('.js-open-filter').on('click', function(ev) {\n\t\tev.preventDefault();\n\n\t\t$('.js-filter-container').toggleClass('js-filter-container--closed');\n\t})\n\n\t// UPDATE GA & HISTORY\n\t$(window).bind(\"popstate\", function () {\n\n\t\tvar productQuery = {\n\t\t\tpage: self.getURLParams().page,\n\t\t\tsize: self.getURLParams().size.split(\"+\").join(\" \"),\n\t\t\tcolour: self.getURLParams().colour.split(\"+\").join(\" \"),\n\t\t\tbrand: self.getURLParams().brand,\n\t\t\tcategory: self.getURLParams().category,\n\t\t\tcategory_id: self.getURLParams().category_id,\n\t\t\torder: self.getURLParams().order,\n\t\t\tnum: self.getURLParams().num,\n\t\t\tmin: self.getURLParams().min,\n\t\t\tmax: self.getURLParams().max,\n\t\t\tsale: self.getURLParams().sale,\n\t\t\tcid: self.getURLParams().cid,\n\t\t\tmain_filter: self.getURLParams().main_filter,\n\t\t\tsearch: self.getURLParams().search,\n\t\t\tkeywords: self.getURLParams().keywords,\n\t\t\ttype: \"popstate\"\n\t\t};\n\n\t\tvar query = $.extend(self.options.query, productQuery);\n\t\t\n\t\tself.updateProducts(query);\n\n\t\tvar prodConHeight = 271 + 24;\n\n\t\tif ($(window).width() < 768) {\n\t\t\tprodConHeight = 200 + 24;\n\t\t}\n\n\t\t$('.js-loading').fadeIn();\n\t\t\n\t\t$('html,body').animate({\n\t\t\tscrollTop: $('.js-product-container').offset().top\n\t\t}, 'fast');\n\n\t\tvar e = window.location.href.replace(/^.*\\/\\/[^\\/]+/, \"\");\n\t\tga(\"set\", \"page\", e), ga(\"send\", \"pageview\")\n\t});\n\n\tthis.updateEvents();\n\n\treturn this;\n});\n\n/**\n * Lexically scoped to prevent global vars.\n */\n(function () {\n\t$(document).ready(function () {\n\t\tvar defaultQuery = $(\"#get-defaults\");\n\t\tvar page = defaultQuery.data(\"page\");\n\t\tvar size = defaultQuery.data(\"size\");\n\t\tvar colour = defaultQuery.data(\"colour\");\n\t\tvar brand = defaultQuery.data(\"brand\");\n\t\tvar category = defaultQuery.data(\"category\");\n\t\tvar order = defaultQuery.data(\"order\");\n\t\tvar num = defaultQuery.data(\"num\");\n\t\tvar min = defaultQuery.data(\"min\");\n\t\tvar max = defaultQuery.data(\"max\");\n\t\tvar sale = defaultQuery.data(\"sale\");\n\t\tvar category_id = defaultQuery.data(\"category-id\");\n\t\tvar man_id = defaultQuery.data(\"man-id\");\n\t\tvar sale_page = defaultQuery.data(\"sale-page\");\n\t\tvar collection = defaultQuery.data(\"collection\");\n\t\tvar cid = defaultQuery.data(\"content-id\");\n\t\tvar main_filter = defaultQuery.data('main-filter');\n\t\tvar search = defaultQuery.data('search');\n\t\tvar keywords = defaultQuery.data('keywords');\n\n\t\tvar productQuery = {\n\t\t\tpage: page,\n\t\t\tsize: size,\n\t\t\tcolour: colour,\n\t\t\tbrand: brand,\n\t\t\tman_id: man_id,\n\t\t\tcategory: category,\n\t\t\tcategory_id: category_id,\n\t\t\torder: order,\n\t\t\tnum: num,\n\t\t\tmin: min,\n\t\t\tmax: max,\n\t\t\tsale: sale,\n\t\t\tcollection: collection,\n\t\t\tcid: cid,\n\t\t\tmain_filter: main_filter,\n\t\t\tsearch: search,\n\t\t\tkeywords: keywords\n\t\t};\n\n\t\tvar defaults = {\n\t\t\tquery: productQuery\n\t\t};\n\n\t\t// var Scrollbar = window.Scrollbar;\n\t\t// Scrollbar.init(document.querySelector('.js-scroll-area'));\n\n\t\t// new Sticky('.js-filters');\n\n\t\tvar filter = new ProductFilter(defaults);\n\n\t\treturn filter;\n\t});\n})();\n"],"file":"category.filters-min.js"}