{"version":3,"file":"SearchPageFi-DJb667od.js","sources":["../../src/pages/search-page-fi/SearchPageFi.vue"],"sourcesContent":["<template>\n  <component-wrapper\n    class=\"search-page-fi\"\n    data-test=\"search-page\"\n  >\n    <div\n      v-if=\"isMounted\"\n      class=\"fi-col-span-full\"\n    >\n      <tab-navigation-fi\n        ref=\"tabNavigation\"\n        :tab-navigation=\"tabNavigation\"\n        :content-loading=\"false\"\n        :init-id=\"initId\"\n        hide-only\n        line-hidden\n        @change=\"changeTab\"\n      >\n        <template #tab-content-0=\"{ isActive }\">\n          <search-fact-finder-fi\n            v-if=\"hasProducts\"\n            :ref=\"(node) => (tabs[0] = node)\"\n            class=\"fi-col-span-full\"\n            click-source=\"search\"\n            :fields=\"fields\"\n            :is-active=\"isActive\"\n            is-search-page\n            @total-hits=\"onTotalHitsProducts\"\n          >\n            <template #heading=\"{ searchFactFinderNg, skipSearch }\">\n              <div\n                v-if=\"(searchFactFinderNg.query || skipSearch) && !noQuery\"\n                class=\"search-page-fi__heading\"\n              >\n                <grid-container-fi>\n                  <div\n                    class=\"search-page-fi__headline-super fi-col-span-12 fi-col-start-1 sm:fi-col-span-8 sm:fi-col-start-3 lg:fi-col-span-4 lg:fi-col-start-5\"\n                  >\n                    {{ getResultHeadlineSuper(searchFactFinderNg, skipSearch) }}\n                  </div>\n                  <div\n                    class=\"search-page-fi__query fi-col-span-12 fi-col-start-1 sm:fi-col-span-10 sm:fi-col-start-2 lg:fi-col-span-6 lg:fi-col-start-4\"\n                  >\n                    {{ getResultHeadline(searchFactFinderNg, skipSearch) }}\n                  </div>\n                </grid-container-fi>\n              </div>\n            </template>\n          </search-fact-finder-fi>\n        </template>\n        <template #tab-content-1=\"{ isActive }\">\n          <search-fact-finder-fi\n            :ref=\"(node) => (tabs[1] = node)\"\n            class=\"fi-col-span-full\"\n            click-source=\"search\"\n            :fields=\"fields\"\n            :is-active=\"isActive\"\n            is-search-page\n            is-website-search\n            @total-hits=\"onTotalHitsWebsite\"\n          >\n            <template #heading=\"{ searchFactFinderNg, skipSearch }\">\n              <div\n                v-if=\"(searchFactFinderNg.query || skipSearch) && !noQuery\"\n                class=\"search-page-fi__heading\"\n              >\n                <grid-container-fi>\n                  <div\n                    class=\"search-page-fi__headline-super fi-col-span-12 fi-col-start-1 sm:fi-col-span-8 sm:fi-col-start-3 lg:fi-col-span-4 lg:fi-col-start-5\"\n                  >\n                    {{ getResultHeadlineSuper(searchFactFinderNg, skipSearch) }}\n                  </div>\n                  <div\n                    class=\"search-page-fi__query fi-col-span-12 fi-col-start-1 sm:fi-col-span-10 sm:fi-col-start-2 lg:fi-col-span-6 lg:fi-col-start-4\"\n                  >\n                    {{ getResultHeadline(searchFactFinderNg, skipSearch) }}\n                  </div>\n                </grid-container-fi>\n              </div>\n            </template>\n          </search-fact-finder-fi>\n        </template>\n      </tab-navigation-fi>\n    </div>\n\n    <loading-indicator\n      v-else\n      variant=\"spinnerLocal\"\n    />\n  </component-wrapper>\n</template>\n\n<script>\nimport { LoadingIndicator } from 'atoms';\nimport ComponentWrapper from 'components/component-wrapper/ComponentWrapper';\nimport GridContainerFi from 'components/grid-fi/GridContainerFi';\nimport SearchFactFinderFi from 'components/search-fact-finder-fi/SearchFactFinderFi';\nimport TabNavigationFi from 'components/tab-navigation-fi/TabNavigationFi';\nimport { mapGetters } from 'vuex';\n\nexport default {\n  name: 'SearchPageFi',\n  components: {\n    LoadingIndicator,\n    ComponentWrapper,\n    GridContainerFi,\n    SearchFactFinderFi,\n    TabNavigationFi,\n  },\n  props: {\n    fields: {\n      type: Object,\n      default: () => ({}),\n    },\n  },\n  data() {\n    return {\n      totalHits: ['', ''],\n      tabs: {},\n      isMounted: false,\n    };\n  },\n  computed: {\n    ...mapGetters({ suggestionsQuery: 'search/suggestionsQuery' }),\n    initId() {\n      return this.$fischer.query('tab') === 'website' || !this.hasProducts ? 1 : 0;\n    },\n    hasProducts() {\n      return this.$store.getters['search/hasProducts'];\n    },\n    noQuery() {\n      return this.suggestionsQuery === '';\n    },\n    tabNavigation() {\n      const productsString = this.fields.productsTab?.value || '';\n      const websiteString = this.fields.websiteTab?.value || '';\n      return [\n        {\n          id: 0,\n          text: this.$dict.replace(productsString, [this.totalHits[0]]),\n          hidden: !this.hasProducts || !this.totalHits[0] || this.noQuery,\n        },\n        {\n          id: 1,\n          text: this.$dict.replace(websiteString, [this.totalHits[1]]),\n          hidden: !this.totalHits[1] || this.noQuery,\n        },\n      ];\n    },\n  },\n  created() {\n    this.$store.commit('navigation/SET_IS_SEARCH_PAGE', true);\n  },\n  mounted() {\n    this.isMounted = true;\n    this.changeTabOnNoResults();\n  },\n  methods: {\n    changeTabOnNoResults() {\n      if (\n        !this.hasProducts ||\n        !this.$refs.tabNavigation ||\n        !this.tabs[0] ||\n        !this.tabs[1] ||\n        this.tabs[0].$apollo.queries.searchFactFinderNg.loading ||\n        this.tabs[1].$apollo.queries.searchFactFinderNg.loading\n      ) {\n        return;\n      }\n      if (this.totalHits[0] && !this.totalHits[1] && this.$refs.tabNavigation.active === 1) {\n        this.$refs.tabNavigation.changeTab(0);\n      } else if (this.totalHits[1] && !this.totalHits[0] && this.$refs.tabNavigation.active === 0) {\n        this.$refs.tabNavigation.changeTab(1);\n      }\n    },\n    onTotalHitsProducts(count) {\n      this.totalHits[0] = count;\n      this.changeTabOnNoResults();\n    },\n    onTotalHitsWebsite(count) {\n      this.totalHits[1] = count;\n      this.changeTabOnNoResults();\n    },\n    changeTab({ id }) {\n      if (!id) {\n        if (/tab=website/.test(window.location.search)) {\n          window.history.replaceState(\n            '',\n            '',\n            String(window.location.search).replace(/&?tab=website/, ''),\n          );\n        }\n      } else if (!/tab=website/.test(window.location.search)) {\n        window.history.replaceState(\n          '',\n          '',\n          `${window.location.search}${window.location.search ? '&' : '?'}tab=website`,\n        );\n      }\n      this.tabs[id].parseUrlParams();\n    },\n    getResultHeadline(searchFactFinderNg, skipSearch) {\n      if (\n        (searchFactFinderNg.totalHits === 0 || skipSearch) &&\n        this.fields.noResultsHeadline?.value\n      ) {\n        return this.$dict.replace(this.fields.noResultsHeadline.value, [\n          skipSearch ? this.suggestionsQuery : searchFactFinderNg.query,\n        ]);\n      }\n      return this.$dict.get('search.Headline', [searchFactFinderNg.query]);\n    },\n    getResultHeadlineSuper(searchFactFinderNg, skipSearch) {\n      if (\n        (searchFactFinderNg.totalHits === 0 || skipSearch) &&\n        this.fields.noResultsHeadlineSuper?.value\n      ) {\n        return this.fields.noResultsHeadlineSuper.value;\n      }\n      return this.$dict.get('search.Headline-Super');\n    },\n  },\n};\n</script>\n\n<style scoped lang=\"scss\">\n@import './search-page-fi';\n</style>\n"],"names":["_sfc_main","LoadingIndicator","ComponentWrapper","GridContainerFi","SearchFactFinderFi","TabNavigationFi","mapGetters","productsString","_a","websiteString","_b","count","id","searchFactFinderNg","skipSearch","_hoisted_3","_hoisted_4","_hoisted_6","_hoisted_7","_createBlock","_component_component_wrapper","_withCtx","$data","_openBlock","_createElementBlock","_hoisted_1","_createVNode","_component_tab_navigation_fi","$options","isActive","_component_search_fact_finder_fi","node","$props","_hoisted_2","_component_grid_container_fi","_createElementVNode","_toDisplayString","_createCommentVNode","_hoisted_5","_component_loading_indicator"],"mappings":"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"}