{"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":""}