{"version":3,"file":"js/app.0294e3e5176bf8f91419.js","mappings":"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","sources":["webpack:///./resources/area/web/default/js/components/catalog/filter/AttributeFilter.vue?9260","webpack:///./resources/area/web/default/js/components/catalog/filter/BaseFilter.ts","webpack:///./resources/area/web/default/js/components/catalog/filter/AttributeFilter.vue","webpack:///./resources/area/web/default/js/components/catalog/filter/AttributeFilter.vue?52b0","webpack:///./resources/area/web/default/js/components/catalog/filter/AttributeFilter.vue?c72e"],"sourcesContent":["\nimport {Component} from 'vue-property-decorator';\nimport BaseFilter from './BaseFilter';\n\n@Component({\n  name: 'attribute-filter'\n})\n\nexport default class extends BaseFilter {\n  public created(): void {\n    super.created();\n  }\n}\n","import {Prop, Vue} from \"vue-property-decorator\";\n\nexport default class extends Vue {\n  @Prop() readonly dataSource: string;\n  @Prop() readonly filter!: object;\n\n  private splitColumns: boolean = false;\n  public filtersToShow: number = 0;\n  private smallBreakpoint: number = 768;\n  private filterCollapsed: boolean = false;\n  private filterOpen: boolean = true;\n\n  public created(): void {\n    this.splitColumns = (this.filter['layout'] || '') === '2columns';\n    this.filtersToShow = this.splitColumns ? 10 : 5;\n    this.filterCollapsed = this.filter['options'].length > this.filtersToShow;\n    this.filterOpen = window.outerWidth >= this.smallBreakpoint;\n    this.filtersToShow = window.outerWidth >= this.smallBreakpoint ? this.filtersToShow : this.filter['options'].length;\n  }\n\n  protected async toggleFilterStatus(option): Promise<void> {\n    await this.$store.dispatch(`${this.dataSource}/toggleFilter`, {filter: this.filter, option: option});\n    await this.$store.dispatch('InlineFilters/updateInlineFilters', {filter: this.filter, remove: this.isActive});\n    await this.scrollToTop();\n  }\n\n  protected setApiPendingState(newState: boolean): void {\n    this.$store.commit('CatalogCategory/SET_API_RESPONSE_PENDING', newState);\n  }\n\n  private toggleFilterValueCollapse(): void {\n    this.filterCollapsed = !this.filterCollapsed;\n  }\n\n  private filterIsVisibleCheck(index): boolean {\n    return this.filterCollapsed ? index < this.filtersToShow : true;\n  }\n\n  private toggleFilterVisibility(e): void {\n    if (e.target.tagName === 'I') {\n      return;\n    }\n    this.filterOpen = !this.filterOpen;\n  }\n\n  private get isActive(): boolean {\n    return !!this.filter['options'].filter(o => o.active).length;\n  }\n\n  private setTooltip(title, tooltip): void {\n    this.$parent['tooltip'] = {\n      title: title,\n      tooltip: tooltip\n    };\n  }\n\n  protected async scrollToTop(): Promise<void> {\n    const scrollElement = document.getElementById('listContainer');\n    if (scrollElement) {\n      const headerOffset = 150;\n      const elementPosition = scrollElement.getBoundingClientRect().top;\n      const offsetPosition = elementPosition - headerOffset;\n      window.scrollTo({\n        top: offsetPosition,\n        behavior: 'smooth'\n      });\n    }\n  }\n\n  private get selectedOptions(): Array<string> {\n    return this.filter['options'].filter(o => o.active).map(o => o.label);\n  }\n\n  private get selectedOptionsString(): string {\n    if (this.selectedOptions.length > 2) {\n      return `${this.selectedOptions[0]}, ${this.selectedOptions[1]}, +${this.selectedOptions.length - 2}`;\n    }\n    return this.selectedOptions.join(', ');\n  }\n}\n","import { render, staticRenderFns } from \"./AttributeFilter.vue?vue&type=template&id=441a3642&\"\nimport script from \"./AttributeFilter.vue?vue&type=script&lang=ts&\"\nexport * from \"./AttributeFilter.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[0]!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AttributeFilter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[0]!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AttributeFilter.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('dl',{class:{ '_visible': _vm.filterOpen }},[_c('dt',{on:{\"click\":function($event){return _vm.toggleFilterVisibility($event)}}},[_c('div',{staticClass:\"label__wrapper\"},[_vm._v(\"\\n      \"+_vm._s(_vm.filter['label'])+\"\\n      \"),(_vm.filter['description'])?_c('button',{attrs:{\"data-toggle\":\"offCanvas-filter-popup\"},on:{\"click\":function($event){return _vm.setTooltip(_vm.filter['label'], _vm.filter['description'])}}},[_c('i',{attrs:{\"role\":\"tooltip\",\"data-toggle\":\"offCanvas-filter-popup\"}},[_vm._v(\"i\")])]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"active-label__wrapper show-for-small-only\"},[_vm._v(_vm._s(_vm.selectedOptionsString))])]),_vm._v(\" \"),_c('dd',[_c('div',{staticClass:\"modal__header show-for-small-only\"},[_c('span',{staticClass:\"--title\"},[_vm._v(_vm._s(_vm.filter['label']))]),_vm._v(\" \"),_c('button',{staticClass:\"close-button --back\",on:{\"click\":function($event){return _vm.toggleFilterVisibility($event)}}},[_c('span',{attrs:{\"aria-hidden\":\"true\"}})])]),_vm._v(\" \"),_c('ol',{staticClass:\"filter__attributes\",class:{'_columns' : _vm.splitColumns}},_vm._l((_vm.filter['options']),function(option,index){return (_vm.filterIsVisibleCheck(index))?_c('li',[(option['url_path'])?_c('a',{class:{ '_active': option['active'] },attrs:{\"href\":option['url_path']},on:{\"click\":function($event){$event.stopPropagation();return _vm.setApiPendingState(true)}}},[_c('span',{staticClass:\"_checkbox\"}),_vm._v(\"\\n          \"+_vm._s(option['label'])+\"\\n          \"),( ! _vm.splitColumns)?_c('span',{staticClass:\"_count\"},[_vm._v(\"(\"+_vm._s(option['result_count'])+\")\")]):_vm._e()]):_c('label',{class:{ '_active': option['active'] },on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleFilterStatus(option)}}},[_c('span',{staticClass:\"_checkbox\"}),_vm._v(\"\\n          \"+_vm._s(option['label'])+\"\\n          \"),( ! _vm.splitColumns)?_c('span',{staticClass:\"_count\"},[_vm._v(\"(\"+_vm._s(option['result_count'])+\")\")]):_vm._e()])]):_vm._e()}),0),_vm._v(\" \"),(_vm.filter['options'].length > _vm.filtersToShow)?_c('div',{staticClass:\"filter__actions\"},[_c('button',{class:{'--less' : ! _vm.filterCollapsed},attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleFilterValueCollapse()}}},[_vm._v(\"\\n        \"+_vm._s(_vm.filterCollapsed ? _vm.$t('More options') : _vm.$t('Less options'))+\"\\n      \")])]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"],"names":["created","super","Component","name","Vue","splitColumns","filtersToShow","smallBreakpoint","filterCollapsed","filterOpen","this","filter","length","window","outerWidth","toggleFilterStatus","option","$store","dispatch","dataSource","remove","isActive","scrollToTop","setApiPendingState","newState","commit","toggleFilterValueCollapse","filterIsVisibleCheck","index","toggleFilterVisibility","e","target","tagName","o","active","setTooltip","title","tooltip","$parent","scrollElement","document","getElementById","headerOffset","offsetPosition","getBoundingClientRect","top","scrollTo","behavior","selectedOptions","map","label","selectedOptionsString","join","Prop","render","_vm","_c","_self","_setupProxy","class","on","$event","staticClass","_v","_s","attrs","_e","_l","stopPropagation","preventDefault","$t","staticRenderFns"],"sourceRoot":""}