{"version":3,"sources":["webpack:///./src/project/app/client-pages/CampaignPage.vue?ea09","webpack:///./src/project/app/client-pages/CampaignPage.vue","webpack:///./src/project/app/client-pages/CampaignPage.vue?5eb6","webpack:///./src/project/app/client-pages/CampaignPage.vue?93f5"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","campaignCode","pageDataUrl","categoryUrlBase","handlePageDataCallback","campaignName","scopedSlots","_u","key","fn","ref","menuItems","length","_e","staticRenderFns","pageUrl","settings","campaignPage","pageData","breadcrumb","navigation","getBreadcrumbFromRoute","$route","fullPath","setBreadcrumb","campaignPageData","jsonContent","content","name","title","metadata","seoTitle","get","description","seoDescription","setTitle","setDescription","CAMPAIGN","String","components","SearchProductControl","CategoryFacets","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,uBAAuB,CAACE,MAAM,CAAC,gBAAgBN,EAAIO,aAAa,gBAAgBP,EAAIQ,YAAY,oBAAoBR,EAAIS,gBAAgB,4BAA4BT,EAAIU,uBAAuB,eAAeV,EAAIW,cAAgBX,EAAIO,aAAa,mBAAmB,GAAG,kBAAkB,GAAG,8BAA8B,GAAG,sBAAsB,GAAG,cAAc,aAAaK,YAAYZ,EAAIa,GAAG,CAAC,CAACC,IAAI,aAAaC,GAAG,SAASC,GACxgB,IAAIC,EAAYD,EAAIC,UACpB,MAAO,CAAEA,EAAUC,OAAS,EAAGd,EAAG,iBAAiB,CAACE,MAAM,CAAC,aAAaW,KAAajB,EAAImB,aACrFC,EAAkB,G,iIC6BtB,IAAqB,EAArB,cAA0C,OAA1C,c,oBAIY,KAAAT,aAA8B,KAEf,wBACnB,MAAMU,EAAU,aAAG,OAAcC,gBAAjB,aAAG,EAAwBC,gBAAgBtB,KAAKM,eAChE,OAAOc,EAGyB,6BAACG,GAAmB,gBACpD,MAAMC,EAAU,iBAAGD,QAAH,IAAGA,GAAH,UAAGA,EAAUE,kBAAb,aAAG,EAAsBD,kBAAzB,QAAuC,OAASE,uBAAuB1B,KAAK2B,OAAOC,UAInG,GAHA,OAASC,cAAcL,GAGnBD,EAAU,CACV,MAAMO,EAAmBP,EAASQ,YAAYC,QACxB,MAAtB,GAAIF,EACA9B,KAAKU,aAAL,UAAoBoB,EAAiBpB,oBAArC,QAAqD,UAGzDV,KAAKU,aAAec,EAAWA,EAAWP,OAAS,GAAGgB,KAG1D,MAAMA,EAAOjC,KAAKU,cAAgBV,KAAKM,aACjC4B,EAAK,iBAAGX,QAAH,IAAGA,GAAH,UAAGA,EAAUY,gBAAb,aAAG,EAAoBC,gBAAvB,QAAmC,OAAkBC,IAAI,sBAAuB,CAAC,IAAWJ,KACjGK,EAAW,iBAAGf,QAAH,IAAGA,GAAH,UAAGA,EAAUY,gBAAb,aAAG,EAAoBI,sBAAvB,QAAyC,OAAkBF,IAAI,4BAA6B,CAACJ,IAE9G,OAAWO,SAASN,GACpB,OAAWO,eAAeH,GAGH,sBACvB,MAAO,IAAI,OAASI,YAAY1C,KAAKM,iBAhCzC,gBADC,eAAKqC,S,mCADW,EAAY,gBAHhC,eAAU,CACPC,WAAY,CAAEC,uBAAA,KAAsBC,iBAAA,SAEnB,WChCsZ,I,YCOvaC,EAAY,eACd,EACAjD,EACAqB,GACA,EACA,KACA,KACA,MAIa,aAAA4B,E","file":"js/chunk-2d0de704.8e03332e.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SearchProductControl',{attrs:{\"campaign-code\":_vm.campaignCode,\"page-data-url\":_vm.pageDataUrl,\"category-url-base\":_vm.categoryUrlBase,\"page-data-result-callback\":_vm.handlePageDataCallback,\"search-title\":_vm.campaignName || _vm.campaignCode,\"render-meta-data\":\"\",\"track-page-view\":\"\",\"use-flattened-category-tree\":\"\",\"reactive-categories\":\"\",\"context-key\":\"campaigns\"},scopedSlots:_vm._u([{key:\"navigation\",fn:function(ref){\nvar menuItems = ref.menuItems;\nreturn [(menuItems.length > 0)?_c('CategoryFacets',{attrs:{\"menu-items\":menuItems}}):_vm._e()]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport SearchProductControl from '@/project/search/SearchProductControl.vue';\r\nimport serverContext from '@/core/serverContext.service';\r\nimport { PageName } from '@/router/routes/constants';\r\nimport { CampaignPageViewModel, PageData } from '@/types/contentServerContract';\r\nimport dictionaryService from '@/core/translation/dictionary.service';\r\nimport domService from '@/core/dom/dom.service';\r\nimport appStore from '@/core/app/app.store';\r\nimport CategoryFacets from '@/project/search/facets/CategoryFacets.vue';\r\nimport { upperFirst } from 'lodash';\r\n\r\n@Component({\r\n components: { SearchProductControl, CategoryFacets }\r\n})\r\nexport default class CampaignPage extends Vue {\r\n @Prop(String)\r\n private campaignCode!: string;\r\n\r\n private campaignName: string | null = null;\r\n\r\n private get pageDataUrl() {\r\n const pageUrl = `${serverContext.settings?.campaignPage}/${this.campaignCode}`;\r\n return pageUrl;\r\n }\r\n\r\n private async handlePageDataCallback(pageData?: PageData) {\r\n const breadcrumb = pageData?.navigation?.breadcrumb ?? appStore.getBreadcrumbFromRoute(this.$route.fullPath);\r\n appStore.setBreadcrumb(breadcrumb);\r\n\r\n // Special case to be able to overwrite campaign name\r\n if (pageData) {\r\n const campaignPageData = pageData.jsonContent.content as CampaignPageViewModel;\r\n if (campaignPageData) {\r\n this.campaignName = campaignPageData.campaignName ?? null;\r\n }\r\n } else {\r\n this.campaignName = breadcrumb[breadcrumb.length - 1].name;\r\n }\r\n\r\n const name = this.campaignName || this.campaignCode;\r\n const title = pageData?.metadata?.seoTitle ?? dictionaryService.get('Campaigns.SEO.Title', [upperFirst(name)]);\r\n const description = pageData?.metadata?.seoDescription ?? dictionaryService.get('Campaigns.SEO.Description', [name]);\r\n\r\n domService.setTitle(title);\r\n domService.setDescription(description);\r\n }\r\n\r\n private get categoryUrlBase() {\r\n return `/${PageName.CAMPAIGN}/${this.campaignCode}`;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CampaignPage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CampaignPage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CampaignPage.vue?vue&type=template&id=603bd944&\"\nimport script from \"./CampaignPage.vue?vue&type=script&lang=ts&\"\nexport * from \"./CampaignPage.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"],"sourceRoot":""}