{"version":3,"file":"js/app.ee977c0ff76b13370e7c.js","mappings":"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","sources":["webpack:///./resources/area/web/default/js/components/catalog/filter/PriceFilter.vue?df5d","webpack:///./resources/area/web/default/js/components/catalog/filter/PriceFilter.vue","webpack:///./resources/area/web/default/js/components/catalog/filter/PriceFilter.vue?634c","webpack:///./resources/area/web/default/js/components/catalog/filter/PriceFilter.vue?50da"],"sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Vue, Prop, Watch} from 'vue-property-decorator';\nimport VueSlider from 'vue-slider-component';\nimport 'vue-slider-component/theme/default.css';\n\n@Component({\n name: 'catalog-product-list-price-filter',\n components: {\n VueSlider\n }\n})\n\nexport default class extends Vue {\n @Prop() readonly dataSource: string;\n @Prop() readonly filterData!: object;\n\n\n private showError: boolean = false;\n private filterOpen: boolean = true;\n private minVal: number = 0;\n private maxVal: number = 0;\n private value: Array<number> = [0, 0];\n private sliderHeight: number = 0;\n private isUpdated = false;\n\n private created(): void {\n this.showError = false;\n this.minVal = (this.filterData['minimum_range'] || 0);\n this.maxVal = (this.filterData['maximum_range'] || 0);\n this.value = [this.minValue, this.maxValue];\n this.sliderHeight = window.outerWidth > 940 ? 4 : 3;\n\n this.$eventBus.$on('resetPriceFilter', this.resetSlideHandles);\n this.$eventBus.$on('updatePriceFilter', this.handlePriceUpdate);\n this.initializePriceFilter();\n }\n\n private beforeDestroy(): void {\n this.$eventBus.$off('resetPriceFilter', this.resetSlideHandles);\n this.$eventBus.$off('updatePriceFilter', this.handlePriceUpdate);\n }\n\n private async resetPrice(): Promise<void> {\n if (this.hasActiveOptions) {\n this.$store.dispatch(`${this.dataSource}/resetPriceFilter`, this.filterData['code']).then(() => {\n this.resetSlideHandles();\n });\n }\n }\n\n private resetSlideHandles(): void {\n this.value = [this.maxVal, this.minVal];\n this.isUpdated = false;\n }\n\n private get hasActiveOptions(): boolean {\n if(this.dataSource === 'CatalogPageBuilder' && this.isUpdated) {\n return true;\n }\n const urlParams = new URLSearchParams(window.location.search);\n const myParam = urlParams.get(this.filterData['code']);\n\n if(myParam == null || myParam == ''){\n return false;\n }\n\n if (!this.filterData) {\n return false;\n }\n const paramValues: string[] = myParam?.split('-');\n return parseInt(paramValues[0]) > this.filterData['minimum_range'] || parseInt(paramValues[1]) < this.filterData['maximum_range'];\n }\n\n private checkIfUpdated(): void {\n this.isUpdated = this.filterData['maximum_range'] !== this.value[1] || this.filterData['minimum_range'] !== this.value[0];\n }\n\n @Watch('filter')\n private syncData(): void {\n this.minVal = this.filterData['minimum_range'];\n this.maxVal = this.filterData['maximum_range'];\n this.value = [this.minValue, this.maxValue];\n }\n\n private get minValue(): number {\n return this.filterData['minimum_value'] > 0 && this.filterData['minimum_value'] >= this.filterData['minimum_range'] ? this.filterData['minimum_value'] : this.filterData['minimum_range'];\n }\n\n private get maxValue(): number {\n return this.filterData['maximum_value'] > 0 && this.filterData['maximum_value'] <= this.filterData['maximum_range'] ? this.filterData['maximum_value'] : this.filterData['maximum_range'];\n }\n\n private get validateInput(): boolean {\n return this.value[1] > this.value[0] && this.value[0] >= 0;\n }\n\n private async changePrice(): Promise<void> {\n if (this.validateInput) {\n this.showError = false;\n let options = {\n facet_code: this.filterData['code'],\n minPrice: this.value[0],\n maxPrice: this.value[1]\n };\n\n this.checkIfUpdated();\n\n this.$emit('update-filter', this.createFilterObject());\n } else {\n this.showError = true;\n }\n }\n\n private createFilterObject(): object {\n return {\n code: this.filterData['code'],\n type: 'price',\n is_active: true,\n is_visible: true,\n options: [{\n active: true,\n label: `${this.value[0]}-${this.value[1]}`,\n value: `${this.value[0]}-${this.value[1]}`,\n }],\n };\n }\n\n protected toggleFilter(): void {\n this.filterOpen = !this.filterOpen;\n }\n\n private initializePriceFilter(): void {\n const urlParams = new URLSearchParams(window.location.search);\n const priceParam = urlParams.get(this.filterData['code']);\n if (priceParam) {\n const [min, max] = priceParam.split('-').map(Number);\n this.handlePriceUpdate({ min, max });\n }\n }\n\n private handlePriceUpdate({ min, max }: { min: number, max: number }): void {\n this.value = [min, max];\n this.changePrice();\n }\n}\n","import { render, staticRenderFns } from \"./PriceFilter.vue?vue&type=template&id=484a36d2&\"\nimport script from \"./PriceFilter.vue?vue&type=script&lang=ts&\"\nexport * from \"./PriceFilter.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!./PriceFilter.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!./PriceFilter.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dl',[_c('dt',{class:{ '--visible': _vm.filterOpen },on:{\"click\":function($event){return _vm.toggleFilter()}}},[_c('span',{staticClass:\"filter__label\",class:{'--active': _vm.hasActiveOptions}},[_vm._v(_vm._s(_vm.$t('Price')))])]),_vm._v(\" \"),_c('dd',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.filterOpen),expression:\"filterOpen\"}]},[_c('div',{staticClass:\"price__filter\"},[_c('div',{staticClass:\"custom__controls\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.value[0]),expression:\"value[0]\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\"},domProps:{\"value\":(_vm.value[0])},on:{\"change\":function($event){return _vm.changePrice()},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.value, 0, _vm._n($event.target.value))},\"blur\":function($event){return _vm.$forceUpdate()}}}),_vm._v(\" \"),_c('span',{staticClass:\"divider\"}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.value[1]),expression:\"value[1]\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\"},domProps:{\"value\":(_vm.value[1])},on:{\"change\":function($event){return _vm.changePrice()},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.value, 1, _vm._n($event.target.value))},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showError),expression:\"showError\"}],staticClass:\"global__message --margin--top --error\"},[_vm._v(_vm._s(_vm.$t('Enter a correct value')))]),_vm._v(\" \"),_c('vue-slider',{attrs:{\"min\":_vm.minVal,\"max\":_vm.maxVal,\"dot-size\":24,\"height\":_vm.sliderHeight,\"silent\":true},on:{\"drag-end\":function($event){return _vm.changePrice()}},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"],"names":["Vue","showError","filterOpen","minVal","maxVal","value","sliderHeight","isUpdated","created","this","filterData","minValue","maxValue","window","outerWidth","$eventBus","$on","resetSlideHandles","handlePriceUpdate","initializePriceFilter","beforeDestroy","$off","resetPrice","hasActiveOptions","$store","dispatch","dataSource","then","myParam","URLSearchParams","location","search","get","paramValues","split","parseInt","checkIfUpdated","syncData","validateInput","changePrice","$emit","createFilterObject","code","type","is_active","is_visible","options","active","label","toggleFilter","priceParam","min","max","map","Number","Prop","Watch","Component","name","components","VueSlider","render","_vm","_h","$createElement","_c","_self","class","on","$event","staticClass","_v","_s","$t","directives","rawName","expression","modifiers","attrs","domProps","target","composing","$set","_n","$forceUpdate","model","callback","$$v","staticRenderFns"],"sourceRoot":""}