{"version":3,"file":"js/app.2daa731e3c0ff45d85e8.js","mappings":"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","sources":["webpack:///./resources/area/web/default/js/views/catalog/CatalogCategoryView.vue?9163","webpack:///./resources/area/web/default/js/shared/helpers/spotler/index.ts","webpack:///./resources/area/web/default/js/views/catalog/CatalogCategoryView.vue","webpack:///./resources/area/web/default/js/views/catalog/CatalogCategoryView.vue?8565","webpack:///./resources/area/web/default/js/views/catalog/CatalogCategoryView.vue?87c7"],"sourcesContent":["\nimport {Component, Vue, Prop} from 'vue-property-decorator';\nimport ServiceContainer from '@flashpointbv/solar-service-container';\nimport SpotlerHelper from '../../shared/helpers/spotler';\n\n@Component({\n name: 'catalog-category-view',\n components: ServiceContainer().getComponents()\n})\n\nexport default class extends Vue {\n @Prop() readonly categoryData: object;\n @Prop() readonly catalogData: object;\n @Prop() readonly dataSource: string;\n @Prop({default: () => []}) readonly subCategories: Array<object>;\n @Prop({default: false}) readonly hasWidgetActive: boolean;\n @Prop({default: null}) readonly bannerData!: null | object;\n\n private showData: boolean = false;\n\n private created(): void {\n this.$store.commit(`${this.dataSource}/SET_CATEGORY_DATA`, this.categoryData);\n this.$store.commit(`${this.dataSource}/SET_CATALOG_DATA`, this.catalogData);\n this.$store.commit(`${this.dataSource}/SET_PRODUCT_LIST_BANNER`, this.bannerData);\n this.$store.commit('InlineFilters/SET_HAS_WIDGET_ACTIVE', this.hasWidgetActive);\n\n history.replaceState({categoryData: this.categoryData, catalogData: this.catalogData}, document.title);\n\n window.onpopstate = ({state}) => {\n this.$store.commit(`${this.dataSource}/SET_CATEGORY_DATA`, null === state ? this.categoryData : state['categoryData']);\n this.$store.commit(`${this.dataSource}/SET_CATALOG_DATA`, null === state ? this.catalogData : state['catalogData']);\n this.$store.commit(`${this.dataSource}/SET_PRODUCT_LIST_BANNER`, this.bannerData);\n this.$store.dispatch('InlineFilters/fetchInlineFilters', this.$store.state.CatalogCategory.categoryData.category_id);\n };\n\n this.$store.subscribe(mutation => {\n if (mutation.type === 'CatalogCategory/SET_CATEGORY_DATA') {\n if ( ! mutation.payload) {\n return;\n }\n\n const documentTitle = document.querySelector('title');\n const documentDescription = document.querySelector('meta[name=\"description\"]');\n const documentKeywords = document.querySelector('meta[name=\"keywords\"]');\n\n if (documentTitle) documentTitle.innerHTML = (mutation.payload['meta_title'] || mutation.payload['name'] || '') + this.$config.get('design_head_title_suffix');\n if (documentDescription) documentDescription.setAttribute('content', mutation.payload['meta_description'] || '');\n if (documentKeywords) documentKeywords.setAttribute('content', mutation.payload['meta_keywords'] || '');\n\n const categoryTitle = document.querySelector('div.catalog__category h1');\n const categoryDescriptionTop = document.querySelector('div.catalog__category-description--top');\n const categoryDescriptionBottom = document.querySelector('div.catalog__category-description--bottom .--content');\n const categorySubCategories = document.querySelector('dl.catalog__category-sub-categories > dt');\n const categoryLastBreadcrumb = document.querySelector('.catalog-category-page div.breadcrumbs > ol > li:last-child > span > span[property=\"name\"]');\n\n if (null !== categoryTitle) categoryTitle.innerHTML = mutation.payload['name'];\n if (null !== categoryDescriptionTop) categoryDescriptionTop.innerHTML = mutation.payload['description'] || '';\n if (null !== categoryDescriptionBottom) categoryDescriptionBottom.innerHTML = mutation.payload['seo_content'] || '';\n if (null !== categorySubCategories) categorySubCategories.innerHTML = mutation.payload['name'];\n if (null !== categoryLastBreadcrumb) categoryLastBreadcrumb.innerHTML = mutation.payload['name'];\n }\n });\n }\n\n private mounted(): void {\n window.addEventListener('load', () => {\n const catalogCategoryProductPlaceholders = document.querySelector('.catalog__category-placeholder');\n if (catalogCategoryProductPlaceholders) {\n (catalogCategoryProductPlaceholders as HTMLElement).style.display = 'none';\n }\n this.showData = true;\n });\n\n const spotlerHelper = new SpotlerHelper();\n spotlerHelper.sqzlViewCategory(this.categoryData['category_id'], this.categoryData['name']);\n }\n}\n","interface SqzlData extends ProfileField, EventField {\n}\n\ninterface ProfileField {\n email: string;\n firstName: string;\n lastName: string;\n gender: Gender;\n birthdate: string;\n phone: string;\n postcode: string;\n city: string;\n country: string;\n currency: string;\n newsletter: YesNo;\n service: YesNo;\n marketing: YesNo;\n userid: number;\n mobile_advertiser_ID: number;\n checkin_date: string;\n checkout_date: string;\n}\n\ninterface EventField {\n orderid: number;\n campaign: string;\n source: string;\n keyword: string;\n category_id: string;\n objectname: string;\n totalvalue: number;\n products: ProductField[];\n}\n\ninterface ProductField {\n id: string;\n language: string;\n name: string;\n price: number;\n quantity: number;\n category_ids: string[];\n}\n\ntype Gender = 'M' | 'F' | 'U';\ntype YesNo = 'yes' | 'no';\n\nexport default class SpotlerHelper {\n static spotlerData: object[] = [];\n\n constructor() {\n window.dataLayer = window.dataLayer || [];\n }\n\n public sqzlViewCategory(categoryId: string, categoryName: string) {\n const data: SqzlData = {\n category_id: categoryId,\n objectname: categoryName\n } as SqzlData;\n\n this.pushData('viewCategory', data);\n }\n\n public sqzlPrePurchase(email: string): void {\n const data: SqzlData = {\n email,\n } as SqzlData;\n\n this.pushData('prePurchase', data);\n }\n\n public sqzlInitiateCheckout(products: object[], totalvalue: number): void {\n const data: SqzlData = {\n currency: window.Config['display_currency_code'] || 'EUR',\n totalvalue,\n products\n } as SqzlData;\n\n this.pushData('initiateCheckout', data);\n }\n\n private pushData(eventName: string, data: SqzlData | null = null): void {\n SpotlerHelper.spotlerData.push({\n event: eventName,\n ...data,\n });\n\n window.dataLayer.push({\n event: eventName,\n spotlerData: SpotlerHelper.spotlerData,\n });\n }\n}\n","import { render, staticRenderFns } from \"./CatalogCategoryView.vue?vue&type=template&id=8f74bb16&\"\nimport script from \"./CatalogCategoryView.vue?vue&type=script&lang=ts&\"\nexport * from \"./CatalogCategoryView.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!./CatalogCategoryView.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!./CatalogCategoryView.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showData),expression:\"showData\"}]},[_c('catalog-product-active-filter-list',{attrs:{\"data-source\":_vm.dataSource}}),_vm._v(\" \"),_c('div',{staticClass:\"catalog__category-toolbar --top\"},[_c('catalog-product-list-toolbar',{attrs:{\"data-source\":_vm.dataSource,\"position\":\"top\"}})],1),_vm._v(\" \"),_c('catalog-product-list',{attrs:{\"data-source\":_vm.dataSource}}),_vm._v(\" \"),_c('div',{staticClass:\"catalog__category-toolbar\"},[_c('catalog-product-list-toolbar',{attrs:{\"data-source\":_vm.dataSource,\"position\":\"bottom\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"],"names":["Vue","showData","created","this","$store","commit","dataSource","categoryData","catalogData","bannerData","hasWidgetActive","history","replaceState","document","title","window","onpopstate","state","dispatch","CatalogCategory","category_id","subscribe","mutation","type","payload","documentTitle","querySelector","documentDescription","documentKeywords","innerHTML","$config","get","setAttribute","categoryTitle","categoryDescriptionTop","categoryDescriptionBottom","categorySubCategories","categoryLastBreadcrumb","mounted","addEventListener","catalogCategoryProductPlaceholders","style","display","sqzlViewCategory","Prop","default","Array","Component","name","components","getComponents","SpotlerHelper","constructor","dataLayer","categoryId","categoryName","data","objectname","pushData","sqzlPrePurchase","email","sqzlInitiateCheckout","products","totalvalue","currency","Config","eventName","spotlerData","push","event","render","_vm","_c","_self","_setupProxy","directives","rawName","value","expression","attrs","_v","staticClass","staticRenderFns"],"sourceRoot":""}