{"version":3,"sources":["webpack:///./src/project/search/navigation/CategoryNameAndCount.vue?257d","webpack:///./src/project/search/navigation/CategoryNameAndCount.vue","webpack:///./src/project/search/navigation/CategoryNameAndCount.vue?b23a","webpack:///./src/project/search/navigation/CategoryNameAndCount.vue?040d","webpack:///./src/project/search/navigation/CategoryNameAndCount.vue?0081","webpack:///./src/core/ui-components/Accordion.vue?749d","webpack:///./src/core/ui-components/Accordion.vue","webpack:///./src/core/ui-components/Accordion.vue?4890","webpack:///./src/core/ui-components/Accordion.vue?e423","webpack:///./src/project/search/navigation/CategoryNavigationV1.vue?1817","webpack:///./src/project/search/navigation/CategoryNavigationV1.vue","webpack:///./src/project/search/navigation/CategoryNavigationV1.vue?40fd","webpack:///./src/project/search/navigation/CategoryNavigationV1.vue?7820","webpack:///./src/core/ui-components/Accordion.vue?c71e","webpack:///./src/project/app/client-pages/CategoryPageV1.vue?ea67","webpack:///./src/project/app/client-pages/CategoryPageV1.vue","webpack:///./src/project/app/client-pages/CategoryPageV1.vue?2263","webpack:///./src/project/app/client-pages/CategoryPageV1.vue?b055","webpack:///./src/core/ui-components/AnimateValue.vue?65bb","webpack:///./src/core/ui-components/AnimateValue.vue","webpack:///./src/core/ui-components/AnimateValue.vue?eac7","webpack:///./src/core/ui-components/AnimateValue.vue?6864"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","menuItem","_v","_s","$dictionary","get","displayLabel","name","attrs","value","_e","staticRenderFns","$localeNumberFilter","productCount","hideProductCount","type","Object","default","Boolean","components","AnimateValue","component","tag","class","disabled","hideHeader","headerClass","on","toggle","_t","isExpanded","icon","setFixedHeight","setAutoHeight","bodyTag","directives","rawName","expression","expanded","e","allowToggle","multiple","$parent","$children","forEach","child","el","style","height","scrollHeight","String","campaignName","campaignCode","activeMenuItem","rootMenuItem","path","url","query","$route","_l","key","id","children","menuItems","required","Array","CategoryNameAndCount","accordion","categoryId","pageDataUrl","handlePageDataCallback","handleSearchResultCallback","scopedSlots","_u","fn","ref","isFeatureEnabled","ProductListingPageV2","previousCategoryId","isFirstRequest","delayLoaderTimer","searchResult","seoInformation","seoCategoryName","seoBreadcrumb","settings","departmentPage","pageUrl","pageData","getCategoryById","activeCategory","page","getPage","includes","pageKey","location","getLocationForPage","paramString","entries","map","val","join","setCanonicalUrl","window","servercontext","culture","setOpenGraphUrl","expectedCategoryUrl","siteInfo","setPrerenderRedirectUrlsIfLocationIsWrong","delay","uaIsPrerender","uaIsBot","setTimeout","loadMetadataForPage","category","getCategorySeoInformation","then","result","updatePageTitleAndDescription","getBreadCrumbForCategory","categoryValues","cat","catIndex","length","totalHits","seofyNumbers","totalResults","undefined","toString","labelValues","brand","brandName","results","titleLabelKey","title","titleFromPage","seoTitle","titleWithParams","getWithNamedValues","setTitle","descriptionLabelKey","description","descriptionFromPage","seoDescription","descriptionWithParams","setDescription","to","from","isSearching","trackGenericPageView","clearTimeout","immediate","CategoryTileBlock","SearchProductControl","CategoryNavigation"],"mappings":"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","file":"js/chunk-297df63e.16a5166d.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex w-full\"},[_c('span',{staticClass:\"text-left flex-1\"},[(_vm.menuItem.displayLabel)?[_vm._v(\" \"+_vm._s(_vm.$dictionary.get(_vm.menuItem.displayLabel))+\" \")]:[_vm._v(\" \"+_vm._s(_vm.menuItem.name)+\" \")]],2),(_vm.showValue)?_c('AnimateValue',{staticClass:\"text-gray-800 ml-3\",attrs:{\"value\":_vm.value}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport { Component, Prop } from 'vue-property-decorator';\r\nimport { MenuItem } from '@/types/apiServerContract';\r\nimport AnimateValue from '@/core/ui-components/AnimateValue.vue';\r\n\r\n@Component({\r\n components: { AnimateValue }\r\n})\r\nexport default class CategoryNameAndCount extends Vue {\r\n @Prop({\r\n type: Object,\r\n default: 'string'\r\n })\r\n menuItem!: MenuItem;\r\n\r\n @Prop({\r\n type: Boolean,\r\n default: false\r\n })\r\n hideProductCount!: boolean;\r\n\r\n get value() {\r\n return `(${this.$localeNumberFilter.get(this.menuItem.productCount)})`;\r\n }\r\n\r\n get showValue() {\r\n return !this.hideProductCount && typeof this.menuItem.productCount === 'number';\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!./CategoryNameAndCount.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!./CategoryNameAndCount.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CategoryNameAndCount.vue?vue&type=template&id=a53a4336&scoped=true&\"\nimport script from \"./CategoryNameAndCount.vue?vue&type=script&lang=ts&\"\nexport * from \"./CategoryNameAndCount.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CategoryNameAndCount.vue?vue&type=style&index=0&id=a53a4336&lang=less&scoped=true&\"\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 \"a53a4336\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CategoryNameAndCount.vue?vue&type=style&index=0&id=a53a4336&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CategoryNameAndCount.vue?vue&type=style&index=0&id=a53a4336&lang=less&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:\"component\",staticClass:\"accordion\",class:{ disabled: _vm.disabled }},[(!_vm.hideHeader)?_c('div',{staticClass:\"accordion-header\",class:_vm.headerClass,on:{\"click\":_vm.toggle}},[_vm._t(\"header\",null,{\"active\":_vm.isExpanded}),(_vm.icon)?_c('CIcon',{class:{ 'accordion-rotate': _vm.isExpanded },attrs:{\"height\":\"11\",\"width\":\"11\",\"name\":_vm.icon}}):_vm._e()],2):_vm._e(),_c('transition',{attrs:{\"appear\":\"\",\"name\":\"accordion\"},on:{\"enter\":_vm.setFixedHeight,\"after-enter\":_vm.setAutoHeight,\"before-leave\":_vm.setFixedHeight}},[(_vm.keepAlive)?[_c(_vm.bodyTag,{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isExpanded),expression:\"isExpanded\"}],tag:\"component\",staticClass:\"accordion-body\"},[_c('div',{staticClass:\"accordion-body-inner\"},[_vm._t(\"default\")],2)])]:[(_vm.isExpanded)?_c(_vm.bodyTag,{tag:\"component\",staticClass:\"accordion-body\"},[_c('div',{staticClass:\"accordion-body-inner\"},[_vm._t(\"default\")],2)]):_vm._e()]],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport { Vue, Component, Prop } from 'vue-property-decorator';\r\nimport IAccordion from '@/core/ui-components/IAccordion';\r\n\r\n@Component\r\nexport default class Accordion extends Vue implements IAccordion {\r\n @Prop({ type: String, default: 'div' }) tag!: string;\r\n @Prop({ type: String, default: 'div' }) bodyTag!: string;\r\n @Prop({ type: String, default: '' }) headerClass!: string;\r\n @Prop({ type: String, default: 'arrow-down' }) icon!: string;\r\n\r\n @Prop({ type: Boolean, default: false }) multiple!: boolean;\r\n @Prop({ type: Boolean, default: false }) disabled!: boolean;\r\n @Prop({ type: Boolean, default: false }) expanded!: boolean;\r\n @Prop({ type: Boolean, default: false }) hideHeader!: boolean;\r\n @Prop({ type: Boolean, default: false }) keepAlive!: boolean;\r\n @Prop({ type: Boolean, default: false }) allowToggle!: boolean;\r\n\r\n isExpanded: boolean = false;\r\n\r\n created() {\r\n this.isExpanded = this.expanded;\r\n }\r\n\r\n close() {\r\n this.isExpanded = false;\r\n }\r\n\r\n open(): void {\r\n this.isExpanded = true;\r\n }\r\n\r\n toggle(e: any) {\r\n if (this.disabled) return;\r\n\r\n this.allowToggle && (this.isExpanded = !this.isExpanded);\r\n\r\n if (this.multiple) return;\r\n\r\n // Close the rest\r\n this.$parent!.$children.forEach(child => {\r\n if (child instanceof Accordion && child !== this) {\r\n child.isExpanded = false;\r\n }\r\n });\r\n }\r\n\r\n setFixedHeight(el: HTMLElement) {\r\n el.style.height = el.scrollHeight + 'px';\r\n }\r\n\r\n setAutoHeight(el: HTMLElement) {\r\n el.style.height = 'auto';\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!./Accordion.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!./Accordion.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Accordion.vue?vue&type=template&id=9adab3c0&\"\nimport script from \"./Accordion.vue?vue&type=script&lang=ts&\"\nexport * from \"./Accordion.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Accordion.vue?vue&type=style&index=0&lang=less&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"bg-white p-20 relative\"},[(_vm.campaignCode)?_c('h2',{staticClass:\"capitalize text-14 md:text-16 mb-5 md:mb-10 font-medium\"},[_vm._v(\" \"+_vm._s(_vm.campaignName || _vm.campaignCode)+\" \")]):_vm._e(),(_vm.rootMenuItem)?_c('CultureAwareRouterLink',{staticClass:\"mb-5 md:mb-10 last:mb-0 hover:underline font-medium\",class:{'font-bold' : _vm.activeMenuItem === _vm.rootMenuItem, 'text-12' : _vm.campaignCode, 'text-14 md:text-16' : !_vm.campaignCode },attrs:{\"to\":{ path: _vm.rootMenuItem.url, query: _vm.$route.query }}},[_c('CategoryNameAndCount',{attrs:{\"menu-item\":_vm.rootMenuItem,\"hide-product-count\":\"\"}})],1):_vm._e(),_vm._l((_vm.menuItemsOrRoot),function(menuItem){return _c('NavigationTree',{key:menuItem.id,staticClass:\"font-medium\",attrs:{\"menu-item\":menuItem,\"selected-menu-item\":_vm.activeMenuItem,\"use-route-navigation\":\"\"}})})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport { Component, Prop } from 'vue-property-decorator';\r\nimport accordion from '@/core/ui-components/Accordion.vue';\r\nimport { MenuItem } from '@/types/apiServerContract';\r\nimport CategoryNameAndCount from '@/project/search/navigation/CategoryNameAndCount.vue';\r\n\r\n@Component({\r\n components: { CategoryNameAndCount, accordion }\r\n})\r\nexport default class CategoryNavigationV2 extends Vue {\r\n @Prop({ required: false, type: Object })\r\n readonly rootMenuItem!: MenuItem | null;\r\n\r\n @Prop({ required: false, type: Object })\r\n activeMenuItem!: MenuItem | null;\r\n\r\n @Prop({ required: false, type: String })\r\n campaignCode!: string | null;\r\n\r\n @Prop({ required: false, type: String })\r\n campaignName!: string | null;\r\n\r\n @Prop({ type: Array, required: true })\r\n menuItems!: readonly MenuItem[];\r\n\r\n get menuItemsOrRoot() {\r\n return this.rootMenuItem ? this.rootMenuItem.children : this.menuItems;\r\n }\r\n\r\n get query() {\r\n return this.$route.query;\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!./CategoryNavigationV1.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!./CategoryNavigationV1.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CategoryNavigationV1.vue?vue&type=template&id=eeaec742&\"\nimport script from \"./CategoryNavigationV1.vue?vue&type=script&lang=ts&\"\nexport * from \"./CategoryNavigationV1.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/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Accordion.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Accordion.vue?vue&type=style&index=0&lang=less&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SearchProductControl',{attrs:{\"category-id\":_vm.categoryId,\"page-data-url\":_vm.pageDataUrl,\"page-data-result-callback\":_vm.handlePageDataCallback,\"search-result-callback\":_vm.handleSearchResultCallback,\"context-key\":\"category\",\"with-results-breadcrumb\":\"\"},scopedSlots:_vm._u([{key:\"navigation\",fn:function(ref){\nvar activeMenuItem = ref.activeMenuItem;\nvar rootMenuItem = ref.rootMenuItem;\nvar menuItems = ref.menuItems;\nreturn [_c('CategoryNavigation',{attrs:{\"active-menu-item\":activeMenuItem,\"root-menu-item\":rootMenuItem,\"menu-items\":menuItems}})]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport gtmService from '@/project/tracking/gtm/GTM.service';\r\nimport { Route } from 'vue-router';\r\nimport megaMenuService from '@/project/shared/megaMenu.service';\r\nimport dictionaryService, { NamedLabelArgument } from '@/core/translation/dictionary.service';\r\nimport domService from '@/core/dom/dom.service';\r\nimport { upperFirst } from 'lodash';\r\nimport CategoryNavigation from '@/project/search/navigation/CategoryNavigationV1.vue';\r\nimport { PageData } from '@/types/contentServerContract';\r\nimport CategoryTileBlock from '@/project/app/blocks/categories/CategoryTileBlock.vue';\r\nimport botService from '@/project/site/bot.service';\r\nimport { CategorySeoInformationViewModel, Feature, MenuItem, SearchViewModel } from '@/types/apiServerContract';\r\nimport Api from '@/project/http/Api.service';\r\nimport urlHelper from '@/core/urlHelper.service';\r\nimport { UrlQueryKey } from '@/core/urlQueryKey';\r\nimport serverContextService from '@/core/serverContext.service';\r\nconst SearchProductControl = () => serverContextService.isFeatureEnabled(Feature.ProductListingPageV2)\r\n ? import('@/project/search/SearchProductControl.vue')\r\n : import('@/project/search/SearchProductControlV1.vue');\r\n@Component({\r\n components: { CategoryTileBlock, SearchProductControl, CategoryNavigation }\r\n})\r\nexport default class CategoryPage extends Vue {\r\n @Prop(String)\r\n categoryId!: string;\r\n\r\n previousCategoryId: string = '';\r\n isFirstRequest: boolean = true;\r\n delayLoaderTimer: number = 0;\r\n\r\n searchResult: SearchViewModel | null = null;\r\n seoInformation: CategorySeoInformationViewModel | null = null;\r\n seoCategoryName: null | string = null;\r\n seoBreadcrumb: MenuItem[] = [];\r\n\r\n get pageDataUrl() {\r\n if (serverContextService.settings?.departmentPage) {\r\n const pageUrl = `${serverContextService.settings?.departmentPage}?categoryId=${this.categoryId}`;\r\n return pageUrl;\r\n }\r\n }\r\n\r\n async handlePageDataCallback(pageData?: PageData) {\r\n const activeCategory = this.categoryId ? await megaMenuService.getCategoryById(this.categoryId) : null;\r\n\r\n const page = urlHelper.getPage();\r\n if (activeCategory?.url && page > 1 && !activeCategory?.url.includes(`${UrlQueryKey.pageKey}=`)) {\r\n const location = urlHelper.getLocationForPage(page) as any;\r\n const query = location.query || {};\r\n const paramString = Object.entries(query).map(([key, val]) => `${key}=${val}`).join('&');\r\n activeCategory.url = `${activeCategory.url}${(activeCategory.url.includes('?') ? '&' : '?')}${paramString}`;\r\n }\r\n\r\n domService.setCanonicalUrl(window.servercontext.culture + activeCategory?.url ?? '', true);\r\n domService.setOpenGraphUrl(window.servercontext.culture + activeCategory?.url ?? '', true);\r\n const expectedCategoryUrl = activeCategory?.url ? `${serverContextService.siteInfo.url}${activeCategory.url}` : null;\r\n botService.setPrerenderRedirectUrlsIfLocationIsWrong(expectedCategoryUrl);\r\n }\r\n\r\n async handleSearchResultCallback(searchResult: SearchViewModel) {\r\n const delay = (botService.uaIsPrerender() || botService.uaIsBot()) ? 0 : this.isFirstRequest ? 1500 : 750;\r\n this.isFirstRequest = false;\r\n this.searchResult = searchResult;\r\n this.delayLoaderTimer = setTimeout(() => {\r\n this.loadMetadataForPage();\r\n }, delay);\r\n }\r\n\r\n async loadMetadataForPage() {\r\n if (this.categoryId !== this.previousCategoryId) {\r\n Api.category.getCategorySeoInformation(this.categoryId).then(result => {\r\n this.seoInformation = result;\r\n this.updatePageTitleAndDescription();\r\n });\r\n megaMenuService.getBreadCrumbForCategory(this.categoryId).then(result => {\r\n this.seoBreadcrumb = result || [];\r\n this.updatePageTitleAndDescription();\r\n });\r\n this.previousCategoryId = this.categoryId;\r\n }\r\n }\r\n\r\n updatePageTitleAndDescription() {\r\n const categoryValues = {};\r\n this.seoBreadcrumb.map((cat, catIndex) => {\r\n categoryValues[`categoryLevel${catIndex + 1}`] = cat.name;\r\n });\r\n const activeCategory = this.categoryId && this.seoBreadcrumb.length > 0 ? this.seoBreadcrumb[this.seoBreadcrumb.length - 1] : null;\r\n this.seoCategoryName = upperFirst(activeCategory?.name ?? 'Unknown');\r\n\r\n const totalHits = dictionaryService.seofyNumbers(this.searchResult?.totalHits);\r\n const totalResults = totalHits !== undefined ? totalHits.toString(10) : undefined;\r\n const labelValues: NamedLabelArgument = {\r\n brand: this.searchResult?.brandName || undefined,\r\n totalResults: totalResults,\r\n results: totalResults,\r\n category: this.seoCategoryName,\r\n ...categoryValues\r\n };\r\n\r\n const titleLabelKey = 'Category.SEO.Title';\r\n const title = dictionaryService.get(titleLabelKey, [this.seoCategoryName]);\r\n const titleFromPage = this.seoInformation?.seoTitle;\r\n const titleWithParams = dictionaryService.getWithNamedValues(titleFromPage || titleLabelKey, labelValues, true, !!titleFromPage);\r\n domService.setTitle(titleWithParams || title);\r\n\r\n const descriptionLabelKey = 'Category.SEO.Description';\r\n const description = dictionaryService.get(descriptionLabelKey, [this.seoCategoryName]);\r\n const descriptionFromPage = this.seoInformation?.seoDescription;\r\n const descriptionWithParams = dictionaryService.getWithNamedValues(descriptionFromPage || descriptionLabelKey, labelValues, true, !!descriptionFromPage);\r\n domService.setDescription(descriptionWithParams || description);\r\n }\r\n\r\n @Watch('$route', {\r\n immediate: true\r\n })\r\n onRouteChange(to: Route, from?: Route) {\r\n const isSearching = urlHelper.isSearching(to) || urlHelper.isSearching(from);\r\n if (isSearching) return;\r\n\r\n if (this.$route.name) {\r\n gtmService.trackGenericPageView(this.$route.name);\r\n }\r\n }\r\n\r\n destroyed() {\r\n if (this.delayLoaderTimer) {\r\n clearTimeout(this.delayLoaderTimer);\r\n }\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!./CategoryPageV1.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!./CategoryPageV1.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CategoryPageV1.vue?vue&type=template&id=6d78c9f8&\"\nimport script from \"./CategoryPageV1.vue?vue&type=script&lang=ts&\"\nexport * from \"./CategoryPageV1.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"mode\":\"out-in\",\"enter-active-class\":\"animated fadeIn u-anim-dur-200\",\"leave-active-class\":\"animated fadeOut u-anim-dur-400\"}},[_c('span',{key:_vm.value},[_vm._v(\" \"+_vm._s(_vm.value)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Prop } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class AnimateValue extends Vue {\r\n @Prop()\r\n value!: any\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!./AnimateValue.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!./AnimateValue.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AnimateValue.vue?vue&type=template&id=6adf84b2&\"\nimport script from \"./AnimateValue.vue?vue&type=script&lang=ts&\"\nexport * from \"./AnimateValue.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":""}