{"version":3,"sources":["webpack:///./assets/javascripts/modules/components/ListingShortcutsComponent.js"],"names":["ListingShortcutsComponent","elem","_classCallCheck","this","_this","_possibleConstructorReturn","__proto__","Object","getPrototypeOf","call","filterComponentEl","filterComponent","breadcrumbsWrapper","document","querySelector","SELECTORS","infiniteScrollBtn","pageSize","slidesToShowDesktop","slickSlider","Component","carousel","prevArrow","nextArrow","slide","firstShortcut","filtersComponent","base","end","slickActive","selected","$component","slides","querySelectorAll","_this2","dom","forEach","item","index","allSlidesArr","addEventListener","shortcutBreadcrumbTitle","query","itemPreviouslySelected","classList","contains","CLASSNAMES","isFirstShortcut","firstShortcutEl","itemSelected","toggle","otherEl","id","dataset","products","productsArray","split","QUERY_PARAMS","shortcutTitle","productCode","length","log","launchQuery","setShortcutBreadcrumb","toggleFiltersVisibility","toggleLoadMoreBtnCondition","includes","hideLoadMoreBtn","setFiltersComponentInstance","filterQuery","toggleFiltersCondition","toggleFilters","component","_this3","isTabletDesktop","mediaMatch","$","on","ev","slick","add","renderCarouselWidth","$slides","currentSlide","nextSlide","slickEvents","opts","slidesToShow","slidesToScroll","arrows","dots","autoplay","variableWidth","infinite","rows","draggable","centerMode","responsive","breakpoint","settings","swipe","swipeToSlide","_this4","moduleLoader","loadCarouselAndExecute","module","initSlider","error","console","stack","isHidden","style","visibility","_this5","searchParams","window","location","search","codeFiltersFromQuery","URLSearchParams","get","match","productsFromQuery","map","code","isCurrent","itemProducts","every","product","_get","prototype","readDOM","checkCategory","importSlick","bindEvents","interval","_interval","_slicedToArray","minpx","maxpx","matchMedia","matches","curr","arguments","undefined","next","carouselWidth","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","done","cssClass","value","slickIndex","toNumber","offsetWidth","err","return","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","width","maxWidth","str","def","Number","title","hasTitle","a","innerText","el","display","isVisible","filters","mobileFiltersCta","triggerMenu","resetCta"],"mappings":"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","file":"component-ListingShortcutsComponent.chunks.js","sourcesContent":["import Component from '../abstracts/Component';\n\nexport default class ListingShortcutsComponent extends Component {\n get COMPONENTNAME() {\n return 'ListingShortcutsComponent';\n }\n\n get SELECTORS() {\n return {\n carousel: '[data-slick-carousel]:not(.slick-initialized)',\n prevArrow: '[data-prev-arrow]',\n nextArrow: '[data-next-arrow]',\n slide: '[data-slide]',\n firstShortcut: '#shortcut_0',\n breadcrumbsWrapper: '[data-js-breadcrumb]',\n pageSize: '[data-page-size]',\n filtersComponent: '[data-js-component=\"FiltersComponent\"]',\n infiniteScrollBtn: '.js-infinite-scroll',\n };\n }\n\n get QUERY_PARAMS() {\n return {\n base: '?save=false&q=:topRated',\n end: ':sortBy:topRated&size=',\n };\n }\n\n get CLASSNAMES() {\n return {\n slickActive: 'slick-active',\n selected: 'selected',\n };\n }\n\n constructor(elem) {\n super(elem);\n this.filterComponentEl = null;\n this.filterComponent = null;\n this.breadcrumbsWrapper = document.querySelector(this.SELECTORS.breadcrumbsWrapper);\n this.infiniteScrollBtn = document.querySelector(this.SELECTORS.infiniteScrollBtn);\n this.pageSize = document.querySelector(this.SELECTORS.pageSize);\n this.slidesToShowDesktop = 6;\n this.slickSlider = null; //will store slick slider instance\n }\n\n readDOM() {\n return {\n carousel: this.$component.querySelector(this.SELECTORS.carousel),\n prevArrow: this.$component.querySelector(this.SELECTORS.prevArrow),\n nextArrow: this.$component.querySelector(this.SELECTORS.nextArrow),\n slides: [...this.$component.querySelectorAll(this.SELECTORS.slide)],\n firstShortcut: this.$component.querySelector(this.SELECTORS.firstShortcut),\n };\n }\n\n bindEvents() {\n this.dom.slides.forEach((item, index, allSlidesArr) => {\n item.addEventListener('click', () => {\n let shortcutBreadcrumbTitle = '';\n let query = '';\n const itemPreviouslySelected = item.classList.contains(this.CLASSNAMES.selected);\n const isFirstShortcut = index === 0;\n //exit when click on first shortcut & was already selected\n if (isFirstShortcut && itemPreviouslySelected) return;\n\n const firstShortcutEl = allSlidesArr[0];\n const itemSelected = item.classList.toggle(this.CLASSNAMES.selected, !itemPreviouslySelected);\n //unselect other items\n this.dom.slides.forEach(otherEl => {\n if (otherEl.id !== item.id) {\n otherEl.classList.toggle(this.CLASSNAMES.selected, false);\n }\n });\n //selected state at first shortcut when unselect other items\n if (!isFirstShortcut) {\n firstShortcutEl.classList.toggle( this.CLASSNAMES.selected, !itemSelected );\n }\n //sku list populated\n if (item.dataset.products && itemSelected) {\n let productsArray = item.dataset.products.split(',');\n query = this.QUERY_PARAMS.base;\n shortcutBreadcrumbTitle = item.dataset.shortcutTitle ? item.dataset.shortcutTitle : '';\n\n productsArray.forEach(productCode => {\n if (productCode.length == 13) {\n query += ':codeFilter:' + productCode;\n }\n });\n query += this.QUERY_PARAMS.end + '-1';\n this.log('fullQuery ', query);\n }\n\n // launch the query\n this.launchQuery( query);\n this.setShortcutBreadcrumb(shortcutBreadcrumbTitle);\n // toggle filters visibility\n this.toggleFiltersVisibility(isFirstShortcut,query);\n //\n const toggleLoadMoreBtnCondition = !isFirstShortcut || query.includes('codeFilter');\n this.hideLoadMoreBtn(toggleLoadMoreBtnCondition);\n });\n });\n }\n\n launchQuery(query) {\n // if not set, let's kick-in\n if (typeof this.filterComponent === 'undefined') {\n this.setFiltersComponentInstance();\n }\n this.filterComponent.filterQuery(false, false, query);\n }\n\n toggleFiltersVisibility(isFirstShortcut,query) {\n // if not set, let's kick-in\n if (this.filterComponent === 'undefined') {\n this.setFiltersComponentInstance();\n }\n const toggleFiltersCondition = isFirstShortcut || !query.includes('codeFilter');\n this.toggleFilters(toggleFiltersCondition);\n }\n\n setFiltersComponentInstance() {\n // console.log('Check FiltersComponent instance from ListingShortcutsComponent');\n //check if filters component DOM element exist\n this.filterComponentEl = document.querySelector(this.SELECTORS.filtersComponent);\n //get FiltersComponent instance from DOM element\n this.filterComponent = this.filterComponentEl ? this.filterComponentEl.component : null;\n }\n\n slickEvents() {\n const isTabletDesktop = () => this.mediaMatch([992, 999999]);\n //registering slick events\n $(this.dom.carousel).on('init', (ev, slick) => {\n this.$component.classList.add('--slick-loaded');\n if (isTabletDesktop()) {\n this.renderCarouselWidth(this.dom, slick.$slides);\n }\n });\n $(this.dom.carousel).on('beforeChange', (ev, slick, currentSlide, nextSlide) => {\n if (isTabletDesktop()) {\n this.renderCarouselWidth(this.dom, slick.$slides, currentSlide, nextSlide);\n }\n }\n );\n }\n\n initSlider() {\n //registering slick events before instance\n this.slickEvents();\n let opts = {\n slidesToShow: this.slidesToShowDesktop,\n slidesToScroll: 1,\n arrows: true,\n dots: false,\n autoplay: false,\n variableWidth: true,\n infinite: false,\n prevArrow: this.dom.prevArrow,\n nextArrow: this.dom.nextArrow,\n rows: 0,\n draggable: true,\n centerMode: false,\n responsive: [\n {\n breakpoint: 992,\n settings: {\n slidesToShow: 1,\n swipe: true,\n swipeToSlide: true,\n arrows: false,\n },\n },\n ],\n };\n\n this.slickSlider = $(this.dom.carousel).slick(opts);\n }\n\n importSlick() {\n this.moduleLoader.loadCarouselAndExecute(\n module => {\n this.initSlider();\n },\n error => {\n console.error(\n 'failed to load slick into ListingShortcutsComponent ',\n error.stack\n );\n }\n );\n }\n\n hideLoadMoreBtn(isHidden) {\n this.infiniteScrollBtn.style.visibility = isHidden ? 'hidden' : 'visible';\n }\n\n checkCategory() {\n const searchParams = window.location.search;\n if (!searchParams) return;\n const params = new URLSearchParams(searchParams);\n const queryParam = params.get('q');\n const regex = /codeFilter:\\d+/g;\n const codeFiltersFromQuery = queryParam.match(regex);\n if (!codeFiltersFromQuery) return;\n this.hideLoadMoreBtn(true);\n const productsFromQuery = codeFiltersFromQuery.map(code => {\n return code.split(':')[1];\n });\n this.dom.slides.forEach(item => {\n let isCurrent = false;\n const itemProducts = item.dataset.products ? item.dataset.products.split(',') : [];\n const hasSameProductsLength =\n itemProducts.length === productsFromQuery.length;\n if (hasSameProductsLength) {\n isCurrent = itemProducts.every(product => {\n return productsFromQuery.includes(product);\n });\n }\n item.classList.toggle(this.CLASSNAMES.selected, isCurrent);\n });\n }\n\n render() {\n super.render();\n this.dom = this.readDOM();\n this.setFiltersComponentInstance();\n this.checkCategory();\n this.importSlick();\n this.bindEvents();\n }\n\n mediaMatch(interval) {\n const [minpx, maxpx] = interval;\n return window.matchMedia(\n `screen and (min-width: ${minpx}px) and (max-width: ${maxpx}px)`\n ).matches;\n }\n\n renderCarouselWidth(dom, slides, curr = 0, next = 0) {\n let carouselWidth = 0;\n let slidesToShow = this.slidesToShowDesktop;\n if (curr < next) {\n for (let cssClass of slides) {\n if (\n cssClass.dataset.slickIndex > curr &&\n cssClass.dataset.slickIndex <= this.toNumber(slidesToShow, 0) + curr\n ) {\n carouselWidth += cssClass.offsetWidth;\n }\n }\n } else if (curr > next) {\n for (let cssClass of slides) {\n if (\n cssClass.dataset.slickIndex >= next &&\n cssClass.dataset.slickIndex < this.toNumber(slidesToShow, 0) + next\n ) {\n carouselWidth += cssClass.offsetWidth;\n }\n }\n } else {\n for (let cssClass of slides) {\n if (cssClass.classList.contains(this.CLASSNAMES.slickActive)) {\n carouselWidth += cssClass.offsetWidth;\n }\n }\n }\n dom.carousel.style.width = carouselWidth + 'px';\n dom.carousel.style.maxWidth = '100%';\n }\n\n toNumber(str, def) {\n return str !== undefined ? Number(str) : def;\n }\n\n setShortcutBreadcrumb(title) {\n const hasTitle = title && typeof title === 'string' && title.length > 0;\n let a = this.breadcrumbsWrapper.querySelector('a.shortcut-page');\n a.innerText = hasTitle ? title : '';\n a.classList.toggle('last', hasTitle);\n this.breadcrumbsWrapper\n .querySelector('.js-last')\n .classList.toggle('last', !hasTitle);\n this.breadcrumbsWrapper.querySelectorAll('.shortcut-page').forEach(el => {\n el.style.display = hasTitle ? 'inline-block' : 'none';\n });\n }\n\n toggleFilters(isVisible = true) {\n let filters = this.filterComponent.filters;\n let mobileFiltersCta = this.filterComponent.triggerMenu;\n let resetCta = this.filterComponent.resetCta;\n\n if (filters && filters.length > 0) {\n filters.forEach(item => {\n item.style.visibility = isVisible ? 'visible' : 'hidden';\n });\n }\n if (mobileFiltersCta != null){\n mobileFiltersCta.style.visibility = isVisible ? 'visible' : 'hidden';\n }\n if (resetCta && resetCta.length > 0) {\n resetCta.forEach(item => {\n item.style.visibility = isVisible ? 'visible' : 'hidden';\n });\n }\n }\n\n}\n"],"sourceRoot":""}