{"version":3,"file":"js/app.686063822255535406ab.js","mappings":"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","sources":["webpack:///./resources/area/web/default/js/components/catalog/toolbar/ProductListToolbarActiveFilters.vue?202a","webpack:///./resources/area/web/default/js/components/catalog/toolbar/ProductListToolbarActiveFilters.vue","webpack:///./resources/area/web/default/js/components/catalog/toolbar/ProductListToolbarActiveFilters.vue?8878","webpack:///./resources/area/web/default/js/components/catalog/toolbar/ProductListToolbarActiveFilters.vue?4ed0"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Prop, Vue} from 'vue-property-decorator';\n\n@Component({\n  name: 'catalog-product-list-toolbar-active-filters'\n})\n\nexport default class extends Vue {\n  @Prop({required: true}) readonly dataSource: string;\n\n  private hasOverflow : boolean = false;\n  private filtersExpanded : boolean = false;\n  private get activeFilters(): Array<object> {\n    const activeFilters = this.$store.getters[`${this.dataSource}/activeFilters`]?.filter(x => x.is_active) || [];\n    const priceFilters = (this.$store.getters[`${this.dataSource}/priceFilters`] || []).filter(x => this.checkPriceFilterActive(x));\n    this.checkOverflow();\n    return [\n      ...this.updatePriceFilters(priceFilters),\n      ...activeFilters.filter((f) => f['is_visible']),\n    ];\n  }\n\n  private updatePriceFilters(priceFilters: Array<object>): Array<object> {\n    return priceFilters.map(filter => {\n      if (filter['type'] === 'price') {\n        const urlParams = new URLSearchParams(window.location.search);\n        const priceParam = urlParams.get(filter['code']);\n        if (priceParam) {\n          const [min, max] = priceParam.split('-').map(Number);\n          return {\n            ...filter,\n            selected_minimum: min,\n            selected_maximum: max\n          };\n        }\n      }\n      return filter;\n    });\n  }\n\n  private async resetPriceFilter(): Promise<void> {\n    await this.$store.dispatch(`${this.dataSource}/fetchCatalog`, {removePrice: this.priceFacetCode});\n    this.$eventBus.$emit('resetPriceFilter');\n  }\n\n  private disableFilter(filter, option): void {\n    this.$store.dispatch(`${this.dataSource}/toggleFilter`, {filter: filter, option: option});\n  }\n\n  private get activeFilterResetUrl(): string | null {\n    const activeFilters = this.$store.getters[`${this.dataSource}/activeFilters`] || [];\n    const activeOption = activeFilters\n      .flatMap(filter => filter.options || [])\n      .find(option => option.active && option.url);\n\n    if (activeOption?.url) {\n      const match = activeOption.url.match(/.*\\//);\n      return match ? match[0] : activeOption.url;\n    }\n\n    return null;\n  }\n\n  private async resetFilters(): Promise<void> {\n    await this.$store.dispatch(`${this.dataSource}/fetchCatalog`, {filters: [], removePrice: this.priceFacetCode});\n    this.$eventBus.$emit('resetPriceFilter');\n  }\n\n  private get priceFacetCode(): null | string {\n    const priceFilter = this.activeFilters.find((f) => f['type'] === 'price');\n    return priceFilter ? priceFilter['code'] : null;\n  }\n\n  private checkPriceFilterActive(priceFilter: object): boolean {\n    let priceActive = false;\n    if (priceFilter) {\n      const urlParams = new URLSearchParams(window.location.search);\n      const myParam = urlParams.get(priceFilter['code']) ?? '';\n       const priceVals = myParam?.split('-');\n      priceActive = myParam !== '' && (parseInt(priceVals[0]) > priceFilter['minimum_range'] || parseInt(priceVals[1]) < priceFilter['maximum_range']);\n    }\n    return priceActive;\n  }\n\n  private mounted(): void{\n    this.checkOverflow();\n  }\n  private async checkOverflow() {\n    const activeFilterInner = this.$refs.activeFilterInner as HTMLElement;\n\n    if(!activeFilterInner){\n      return;\n    }\n    await Vue.nextTick();\n    this.hasOverflow = activeFilterInner?.clientHeight >= 42;\n  }\n  private showMore (){\n    this.filtersExpanded = true;\n  }\n}\n","import { render, staticRenderFns } from \"./ProductListToolbarActiveFilters.vue?vue&type=template&id=26330566&\"\nimport script from \"./ProductListToolbarActiveFilters.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProductListToolbarActiveFilters.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-5[0].rules[0].use[0]!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductListToolbarActiveFilters.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../../../node_modules/ts-loader/index.js??clonedRuleSet-5[0].rules[0].use[0]!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductListToolbarActiveFilters.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeFilters.length),expression:\"activeFilters.length\"}],staticClass:\"active__filter__container\"},[_c('div',{staticClass:\"active__filter__wrapper\",class:{'--has-overflow': _vm.hasOverflow, '--expanded': _vm.filtersExpanded}},[_c('div',{ref:\"activeFilterInner\",staticClass:\"active__filter__inner\"},[_c('span',{staticClass:\"active__filter-label hide-for-small-only\"},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('Active filters'))+\":\\n      \")]),_vm._v(\" \"),_vm._l((_vm.activeFilters),function(filter){return [(filter['type'] === 'price')?_c('button',{on:{\"click\":_vm.resetPriceFilter}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('Price'))+\": \"+_vm._s(filter['selected_minimum'] || filter['minimum_range'])+\" -\\n          \"+_vm._s(filter['selected_maximum'] || filter['maximum_range'])+\"\\n        \")]):_vm._l(((filter['options'] || []).filter(function (o) { return o.active; })),function(option){return [(option.url && option.label)?_c('a',{attrs:{\"href\":option.url}},[_c('button',{key:option.label},[_vm._v(\"\\n              \"+_vm._s(option.label === 'Ja' || option.label === 'Nee' ? ((filter.label) + \": \") : '')+_vm._s(option.label)+\"\\n            \")])]):_c('button',{key:option.label,on:{\"click\":function($event){return _vm.disableFilter(filter, option)}}},[_vm._v(\"\\n            \"+_vm._s(option.label === 'Ja' || option.label === 'Nee' ? ((filter.label) + \": \") : '')+_vm._s(option.label)+\"\\n          \")])]})]}),_vm._v(\" \"),(_vm.activeFilters.length > 0)?_c('div',{staticClass:\"reset__filters hide-for-small-only\"},[(_vm.activeFilterResetUrl)?_c('a',{staticClass:\"--button\",attrs:{\"href\":_vm.activeFilterResetUrl},on:{\"click\":_vm.resetFilters}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('Reset selected filters'))+\"\\n        \")]):_c('button',{staticClass:\"--button --rounded\",on:{\"click\":_vm.resetFilters}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('Reset selected filters'))+\"\\n        \")])]):_vm._e()],2)]),_vm._v(\" \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hasOverflow && !_vm.filtersExpanded),expression:\"hasOverflow && !filtersExpanded\"}],staticClass:\"show-more hide-for-medium\",on:{\"click\":_vm.showMore}},[_vm._v(_vm._s(_vm.$t('Show more')))]),_vm._v(\" \"),_c('div',{staticClass:\"divider\"})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"],"names":["Vue","hasOverflow","filtersExpanded","activeFilters","this","$store","getters","dataSource","filter","x","is_active","priceFilters","checkPriceFilterActive","checkOverflow","updatePriceFilters","f","map","priceParam","URLSearchParams","window","location","search","get","min","max","split","Number","selected_minimum","selected_maximum","resetPriceFilter","dispatch","removePrice","priceFacetCode","$eventBus","$emit","disableFilter","option","activeFilterResetUrl","activeOption","flatMap","options","find","active","url","match","resetFilters","filters","priceFilter","priceActive","myParam","priceVals","parseInt","mounted","activeFilterInner","$refs","nextTick","clientHeight","showMore","Prop","required","Component","name","render","_vm","_h","$createElement","_c","_self","directives","rawName","value","expression","staticClass","class","ref","_v","_s","$t","_l","on","o","label","attrs","key","$event","length","_e","staticRenderFns"],"sourceRoot":""}