{"version":3,"file":"9348.js?id=40963d45b8d30a1e","mappings":"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","sources":["webpack://website-js/./src/components/ProductListPaged.vue?abbf","webpack://website-js/./src/services/ProductListFilterService.ts","webpack://website-js/./src/store/modules/ProductListFilterModule.ts","webpack://website-js/./src/components/ProductListPaged.vue","webpack://website-js/./src/components/ProductListPaged.vue?06cb","webpack://website-js/./src/components/ProductListPaged.vue?6b0d","webpack://website-js/./src/components/ProductListPaged.vue?bec0","webpack://website-js/./src/components/ProductListPaged.vue?9177"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.spinner-container{padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.product-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:15px;padding:15px 0}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import { FilterModel } from '@/models/Filter';\nimport axios, { AxiosResponse } from 'axios';\n\nexport default class ProductListFilterService {\n private profileId: string = (window as any).CbxApiContextKey;\n private endpoint: string;\n\n constructor(args: any = {}) {\n if (args.profileId) this.profileId = args.profileId;\n this.endpoint = `/contextapi/${this.profileId}/v1/product/productsearch`;\n }\n\n public async getFilterResult(payload: FilterModel): Promise {\n // remove unnecessary properties from the payload before sending\n const p: FilterModel = {\n categories: payload.categories,\n rootcategory: payload.rootcategory,\n count: payload.count,\n offset: payload.offset,\n searchphrase: payload.searchphrase,\n selections: payload.selections,\n sortoptions: payload.sortoptions,\n restrictdoctypes: payload.restrictdoctypes,\n includedescendantcategories: payload.includedescendantcategories,\n fields: payload.fields.map((f) => {\n return {\n path: f.path,\n type: f.type,\n };\n }),\n usefuzzymatch: false,\n };\n\n if (payload.usecontentrelationsasselection) {\n p.usecontentrelationsasselection = true;\n p.contentrelationnodeid = payload.contentrelationnodeid;\n }\n\n try {\n const res: AxiosResponse = await axios.post(`${this.endpoint}`, p);\n return res.data;\n } catch (e) {\n return {};\n }\n }\n}\n","import { Module, VuexModule, Mutation, getModule, Action } from 'vuex-module-decorators';\nimport store from '@/store';\nimport ProductListFilterService from '@/services/ProductListFilterService';\nimport MobileNavigationService from '@/services/MobileNavigationService';\nimport { FilterModel, FilterModelField, FilterRequestSelection, ProductListOptions, SortOption } from '@/models/Filter';\nimport { CbxVariablesModule } from './CbxVariablesModule';\nimport ProductService from '@/services/ProductService';\n\n@Module({\n store,\n dynamic: true,\n name: 'productListFilter',\n namespaced: true,\n})\nclass ProductListFilterModule extends VuexModule {\n private svc: ProductListFilterService = new ProductListFilterService();\n private mns: MobileNavigationService = new MobileNavigationService();\n private productService: ProductService = new ProductService();\n // @ts-ignore\n private filterModel: FilterModel = {\n rootcategory: null,\n categories: CbxVariablesModule.VARIABLES.currentCategoryId.length\n ? [CbxVariablesModule.VARIABLES.currentCategoryId]\n : [],\n fields: [],\n hits: [],\n selections: [],\n searchphrase: '',\n count: 20,\n offset: 0,\n hitcount: 0,\n sortoptions: [],\n restrictdoctypes: ['PRODUCT'],\n includedescendantcategories: false,\n usecontentrelationsasselection: false,\n contentrelationnodeid: '',\n };\n private displayMobile: boolean = false;\n private expandedField: FilterModelField = null;\n private productListOptions: ProductListOptions = {\n sortoptions: [],\n selectedsortoption: '',\n pagelimitoptions: [],\n selectedpagelimitoption: 0,\n };\n\n private isLoading: boolean = false;\n\n get IS_LOADING(): boolean {\n return this.isLoading;\n }\n get FILTER_MODEL(): FilterModel {\n return this.filterModel;\n }\n\n get DISPLAY_MOBILE(): boolean {\n return this.displayMobile;\n }\n\n get EXPANDED_FIELD(): FilterModelField {\n return this.expandedField;\n }\n\n get PRODUCT_LIST_OPTIONS(): ProductListOptions {\n return CbxVariablesModule.VARIABLES.productListOptions;\n }\n\n @Action({ commit: 'SET_FILTER_RESULT' })\n public async GET_FILTER_RESULT() {\n this.setLoading(true);\n return await this.svc.getFilterResult({ ...this.filterModel });\n }\n\n @Mutation\n public SET_FILTER_RESULT(payload: FilterModel) {\n this.filterModel.fields = payload.fields;\n this.filterModel.totalcount = payload.totalcount;\n this.filterModel.hitcount = payload.hitcount;\n this.filterModel.hits = payload.hits;\n this.filterModel.translations = payload.translations;\n this.isLoading = false;\n }\n\n @Mutation\n public SET_FILTER_SELECTION(payload: FilterRequestSelection[]) {\n this.filterModel.selections = payload;\n }\n\n @Mutation\n public SET_FILTER_FIELDS(payload: FilterModelField[]) {\n this.filterModel.fields = payload;\n }\n\n @Mutation\n public SET_FILTER_CATEGORIES(payload: string[]) {\n this.filterModel.categories = payload;\n }\n\n @Mutation\n public SET_FILTER_ROOT_CATEGORY(payload: string) {\n this.filterModel.rootcategory = payload;\n }\n\n @Mutation\n public SET_FILTER_INCLUDE_DESCENDANT_CATEGORIES(payload: boolean) {\n this.filterModel.includedescendantcategories = payload;\n }\n\n @Mutation\n public SET_FILTER_USE_CONTENT_RELATIONS(nodeid: string) {\n this.filterModel.usecontentrelationsasselection = true;\n this.filterModel.contentrelationnodeid = nodeid;\n }\n\n @Mutation\n public SET_FILTER_SEARCH_PHRASE(payload: string) {\n this.filterModel.searchphrase = payload;\n }\n\n @Mutation\n public SET_FILTER_OFFSET(payload: number) {\n this.filterModel.offset = payload;\n }\n @Mutation\n public SET_FILTER_COUNT(payload: number) {\n this.filterModel.count = payload;\n }\n @Mutation\n public SET_FILTER_SORT_OPTIONS(payload: SortOption[]) {\n this.filterModel.sortoptions = payload;\n }\n\n @Mutation\n public REMOVE_SELECTION_VALUE(payload: any) {\n const { fieldPath, fieldValue } = payload;\n const existingFieldSelection = this.filterModel.selections.find(field => field.path === fieldPath);\n const values = existingFieldSelection.values.filter(val => val !== fieldValue);\n if (values.length === 0) {\n this.filterModel = {\n ...this.filterModel,\n selections: this.filterModel.selections.filter(field => field.path !== fieldPath),\n };\n } else {\n this.filterModel = {\n ...this.filterModel,\n selections: this.filterModel.selections.map(field => {\n if (field.path === fieldPath) {\n field.values = values;\n }\n return field;\n }),\n };\n }\n }\n\n @Mutation\n public REMOVE_SELECTION_GROUP(payload: any) {\n this.filterModel.selections = this.filterModel.selections.filter(field => field.path !== payload);\n }\n\n @Action({ commit: 'SET_MOBILE_FILTER_DISPLAY' })\n public TOGGLE_MOBILE_FILTER_DISPLAY() {\n this.mns.handleBodyOverflow(this.displayMobile);\n return this.displayMobile;\n }\n\n @Mutation\n private SET_MOBILE_FILTER_DISPLAY(payload: boolean) {\n this.displayMobile = !payload;\n }\n\n @Action({ commit: 'SET_CLEAR_FILTERS' })\n public async CLEAR_FILTERS(includeSearchPhrase: boolean = true) {\n return includeSearchPhrase;\n }\n\n @Mutation\n private SET_CLEAR_FILTERS(includeSearchPhrase: boolean = true) {\n this.filterModel.selections = [];\n if (includeSearchPhrase)\n this.filterModel.searchphrase = '';\n }\n\n @Action({ commit: 'SET_EXPANDED_FIELD' })\n public async EXPAND_FIELD(payload: FilterModelField) {\n return payload;\n }\n\n @Mutation\n private SET_EXPANDED_FIELD(payload: FilterModelField) {\n this.expandedField = payload;\n }\n\n @Action({ commit: 'SET_LOADING' })\n private async setLoading(payload: boolean) {\n return payload;\n }\n @Mutation\n private SET_LOADING(payload: boolean) {\n this.isLoading = payload;\n }\n}\n\nexport default getModule(ProductListFilterModule);\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"uk-container uk-container-large uk-margin\"},[_c('div',{staticStyle:{\"min-height\":\"44px\"}},[_c('div',{staticClass:\"progress-linear\",attrs:{\"id\":\"product-filter-spinner\"}}),_c('ProductListFilter',{attrs:{\"filterPreset\":_vm.filterPreset},on:{\"sortingOptionUpdated\":_vm.handleListUpdate,\"pagingUpdated\":_vm.handleListUpdate,\"filterSearchPhraseUpdated\":_vm.handleListUpdate,\"filterSelectionsUpdated\":_vm.handleListUpdate}}),_c('ProductListFilterMobile',{attrs:{\"filterPreset\":_vm.filterPreset}})],1),_c('Transition',{attrs:{\"enter-active-class\":\"animate__animated animate__fadeIn\",\"leave-active-class\":\"animate__animated animate__fadeOut\"}},[(_vm.hits.length > 0 && !_vm.debouncedIsLoading)?_c('div',{staticClass:\"product-list-grid uk-padding-remove uk-margin-top\"},_vm._l((_vm.hits),function(hit){return _c('div',{key:hit.id,staticClass:\"uk-flex\"},[_c('ProductCard',{attrs:{\"product\":hit.metadata.product}})],1)}),0):_vm._e()]),_c('Transition',{attrs:{\"enter-active-class\":\"animate__animated animate__fadeIn\",\"leave-active-class\":\"animate__animated animate__fadeOut\"}},[(_vm.debouncedIsLoading)?_c('div',{staticClass:\"spinner-container\"},[_c('div',{attrs:{\"uk-spinner\":\"ratio: 1\"}})]):_vm._e()]),_c('ProductListFilterPagination')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\nimport { FilterModel, FilterModelHit } from '@/models/Filter';\nimport ProductListFilterModule from '@/store/modules/ProductListFilterModule';\nimport ProductCard from './utils/ProductCard.vue';\nimport { Debounce } from 'vue-debounce-decorator';\n\n@Component({\n name: 'ProductList',\n components: {\n ProductCard,\n },\n})\nexport default class ProductListPaged extends Vue {\n @Prop({ type: Object, required: false }) private query: any;\n\n private filterPreset: FilterModel = null;\n\n private debouncedIsLoading: boolean = true;\n\n get isLoading(): boolean {\n return ProductListFilterModule.IS_LOADING;\n }\n\n get hits(): FilterModelHit[] {\n return ProductListFilterModule.FILTER_MODEL.hits;\n }\n\n @Watch('isLoading')\n @Debounce(200)\n private onLoadingChange() {\n this.debouncedIsLoading = this.isLoading;\n }\n\n private handleListUpdate() {\n ProductListFilterModule.GET_FILTER_RESULT();\n }\n\n private created() {\n this.filterPreset = {\n fields: this.query.fields,\n selections: this.query.selections,\n includedescendantcategories: true,\n usecontentrelationsasselection: this.query.usecontentrelationsasselection,\n contentrelationnodeid: this.query.contentrelationnodeid,\n };\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??clonedRuleSet-41.use[0]!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[3]!../../node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!../../node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./ProductListPaged.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??clonedRuleSet-41.use[0]!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[3]!../../node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!../../node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./ProductListPaged.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductListPaged.vue?vue&type=template&id=3ae74310&\"\nimport script from \"./ProductListPaged.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProductListPaged.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProductListPaged.vue?vue&type=style&index=0&id=3ae74310&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/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","// style-loader: Adds some css to the DOM by adding a