{"version":3,"file":"SelectedFacetsOverview.vue.mjs","sources":["../../lib/facets/SelectedFacetsOverview.vue"],"sourcesContent":["<template>\n  <div class=\"container sfo-container\">\n    <p\n      v-for=\"facet in getSelectedFacetsOrdered.filter((facet) =>\n        showSelectedFacet(facet)\n      )\"\n      :key=\"facet.field\"\n    >\n      <span>\n        {{ `${findFacetFieldTitle(facet)}:` }}\n      </span>\n      <template\n        v-for=\"(facetId, i) in facet.facets\"\n        tabindex=\"0\"\n        v-on:keyup.enter=\"removeSelectedFacet(facet.field, facetId)\"\n      >\n        <slot\n          :index=\"i\"\n          :facet=\"facet\"\n          :facetId=\"facetId\"\n          :findFacetTitle=\"findFacetTitle\"\n          :removeSelectedFacet=\"removeSelectedFacet\"\n        >\n          <span :key=\"i\" class=\"badge badge-pill badge-highlight mr-1 ds-label\">\n            {{ formatFacetLabel(findFacetTitle(facet.field, facetId)) }}\n\n            <span\n              @click=\"removeSelectedFacet(facet.field, facetId)\"\n              class=\"close-facet ml-2\"\n              >&times;</span\n            >\n          </span>\n        </slot>\n      </template>\n    </p>\n  </div>\n</template>\n\n<script>\nimport { mapActions, mapGetters } from \"vuex\";\nimport { getFacetTranslation } from \"../utils/helpers\";\nimport { isNil } from \"lodash-es\";\nimport axios from \"axios\";\n\nexport default {\n  name: \"SelectedFacetsOverview\",\n  components: {},\n  props: {\n    selectedFacets: {\n      required: true,\n    },\n    availableFacets: {\n      required: true,\n    },\n    defaultFacetOrder: {\n      type: Array,\n    },\n  },\n  data() {\n    return {\n      facetOrder:\n        this.defaultFacetOrder ??\n        this.$env.content.datasets.facets.defaultFacetOrder,\n      langList: [],\n    };\n  },\n  computed: {\n    isErpdActive() {\n      const isDatasetsErpd =\n        this.$route.path === \"/datasets\" &&\n        this.$route.query?.superCatalogue === \"erpd\";\n      let isCataloguesErpd = false;\n      if (this.$route.path === \"/catalogues\") {\n        const cat = \"erpd\";\n        const sc = this.$route.query.superCatalog;\n        if (!sc) return false;\n        if (sc === cat) isCataloguesErpd = true;\n        if (sc?.constructor === Array && sc.length > 0 && sc[0] === cat)\n          isCataloguesErpd = true;\n      }\n      return isDatasetsErpd || isCataloguesErpd;\n    },\n    getSelectedFacetsOrdered() {\n      const orderedFacets = [];\n\n      this.facetOrder.forEach((facet) => {\n        if (this.showCatalogDetails && facet === \"catalog\") return;\n        if (this.showCatalogDetails && facet === \"superCatalog\") return;\n        Object.keys(this.getSelectedFacets).forEach((field) => {\n          if (facet === field && this.getSelectedFacets[field].length > 0)\n            orderedFacets.push({\n              field,\n              facets: this.getSelectedFacets[field],\n            });\n        });\n      });\n      return orderedFacets;\n    },\n    getSelectedFacets() {\n      if (\n        this.$route.query.dataScope &&\n        this.$route.query.country &&\n        this.$route.query.country.length > 0\n      ) {\n        let newSelectedFacets = {};\n\n        Object.keys(this.selectedFacets).map((key) => {\n          if (key === \"country\") {\n            newSelectedFacets[\"country\"] = [];\n            newSelectedFacets[\"dataScope\"] = [];\n            if (this.selectedFacets[\"country\"].length === 0) {\n              newSelectedFacets.dataScope.push(this.$route.query.country[0]);\n            } else {\n              this.selectedFacets[\"country\"].forEach((country) => {\n                if (country !== \"countryData\")\n                  newSelectedFacets.country.push(country);\n                newSelectedFacets.dataScope.push(country);\n              });\n            }\n          } else newSelectedFacets[key] = this.selectedFacets[key];\n        });\n\n        if (this.$route.query.dataScope === \"countryData\")\n          newSelectedFacets.dataScope = [\"countryData\"];\n\n        this.routerPush({ query: Object.assign({}, this.$route.query) });\n\n        return newSelectedFacets;\n      } else if (\n        this.$route.query.dataScope &&\n        this.$route.query.dataScope.length > 0\n      ) {\n        let newSelectedFacets = {};\n\n        Object.keys(this.selectedFacets).map((key) => {\n          if (key === \"country\") {\n            newSelectedFacets[\"country\"] = [];\n            newSelectedFacets[\"dataScope\"] = [];\n            if (this.selectedFacets[\"country\"].length === 0) {\n              newSelectedFacets.dataScope.push(this.$route.query.dataScope);\n            } else {\n              this.selectedFacets[\"country\"].forEach((country) => {\n                newSelectedFacets.dataScope.push(country);\n              });\n            }\n          } else newSelectedFacets[key] = this.selectedFacets[key];\n        });\n\n        return newSelectedFacets;\n      } else return this.selectedFacets;\n    },\n    showCatalogDetails() {\n      return (\n        !isNil(this.$route.params.ctlg_id) ||\n        !isNil(this.$route.query.showsubcatalogs)\n      );\n    },\n  },\n  methods: {\n    isNil,\n    ...mapActions(\"datasets\", [\"setMinScoring\", \"setMaxScoring\"]),\n     formatFacetLabel(label) {\n      if (!label) return \"\";\n      const map = {\n        use_cases: \"Use Cases\",\n        factsheets_reports: \"Factsheets reports\",\n        country_insight: \"Country insight\",\n        covid_19_data_stories: \"Covid-19 data stories\",\n        data_stories: \"Data stories\",\n        lesson: \"Academy lesson\",\n        course: \"Academy course\",\n        faq: \"FAQ\",\n      };\n      if (map[label]) return map[label];\n      return label.charAt(0).toUpperCase() + label.slice(1);\n    },\n    async loadLangList() {\n      try {\n        const response = await axios.get(\n          \"https://ppe.data.europa.eu/api/hub/search/search?filter=vocabulary&vocabulary=country&limit=500\"\n        );\n        // oder: const response = await axios.get(...), wenn du axios importierst\n        this.langList = response.data.result.results;\n      } catch (e) {\n        console.error(\"Fehler beim Laden der Sprachliste:\", e);\n        this.langList = [];\n      }\n    },\n    routerPush(object) {\n      return this.$router.push(object).catch((error) => {\n        console.error(error);\n      });\n    },\n    showSelectedFacet(facet) {\n      return facet.facets.length > 0;\n    },\n    findFacetTitle(fieldId, facetId) {\n      try {\n        if (fieldId === \"superCatalog\" && facetId === \"erpd\")\n          return this.$t(\"message.metadata.yes\");\n        if (fieldId === \"is_hvd\") return this.$t(\"message.metadata.yes\");\n        if (fieldId === \"country\") {\n          const facetTitle = this.availableFacets\n            .find((field) => field.id === fieldId)\n            .items.find((facet) => facet.id === facetId).title;\n          const locale =\n            this.$route.query.locale === \"no\" ? \"nb\" : this.$route.query.locale;\n          const item = this.langList.find(\n            (obj) => obj.pref_label.en === facetTitle\n          );\n          const name = item && item.pref_label && item.pref_label[locale];\n          return name;\n        }\n        const facetTitle = this.availableFacets\n          .find((field) => field.id === fieldId)\n          .items.find((facet) => facet.id === facetId).title;\n        return getFacetTranslation(\n          fieldId,\n          facetId,\n          this.$route.query.locale,\n          facetTitle\n        );\n      } catch {\n        return facetId;\n      }\n    },\n    findFacetFieldTitle(facet) {\n      const fieldId = facet.field;\n      try {\n        let title = \"\";\n        if (fieldId === \"scoring\") {\n          title = this.$t(\"message.header.navigation.data.metadataquality\");\n        } else if (\n          fieldId === \"superCatalog\" &&\n          facet.facets.toString() === \"erpd\"\n        ) {\n          title = this.$t(\"message.datasetFacets.facets.erpd\");\n        } else if (\n          this.$route.path === \"/catalogues\" &&\n          fieldId === \"country\"\n        ) {\n          title = this.$t(`message.datasetFacets.facets.origin`);\n        } else if (\n          this.$route.path === \"/editorial-content\" &&\n          fieldId === \"content_type\"\n        ) {\n          title = this.$t(`message.facets.${fieldId.toLowerCase()}`);\n        } else {\n          title = this.$t(\n            `message.datasetFacets.facets.${fieldId.toLowerCase()}`\n          );\n        }\n        // const title = fieldId === 'scoring' ?\n        //   this.$t('message.header.navigation.data.metadataquality')\n        //   : this.$t(`message.datasetFacets.facets.${fieldId.toLowerCase()}`);\n\n        return !title.includes(\"@: message.metadata\")\n          ? title\n          : this.availableFacets.find((field) => field.id === fieldId).title;\n      } catch {\n        return fieldId;\n      }\n    },\n    removeSelectedFacet(field, facet) {\n      if (field === \"superCatalog\") {\n        const query = Object.assign({}, this.$route.query);\n        delete query.superCatalog;\n        if (this.$route.path === \"/catalogues\") {\n          delete query.showsubcatalogs;\n        }\n        this.$router.push({\n          query,\n        });\n      } else {\n        this.toggleFacet(field, facet);\n      }\n      this.$nextTick(() => {\n        this.$emit(\"update-data\");\n      });\n    },\n    /**\n     * @description Add/Remove a facet from the routers query parameters.\n     * @param field - The field of the facet\n     * @param facet - The given facet\n     */\n    toggleFacet(field, facet) {\n      let routerObject = null;\n      if (!Object.prototype.hasOwnProperty.call(this.$route.query, [field])) {\n        routerObject = {\n          query: Object.assign({}, this.$route.query, { [field]: [], page: 1 }),\n        };\n      } else if (field === \"scoring\") {\n        this.setMinScoring(0);\n        this.setMaxScoring(undefined);\n      } else if (field === \"dataScope\") {\n        routerObject = {\n          query: Object.assign({}, this.$route.query, {\n            country: [],\n            dataScope: [],\n            page: 1,\n          }),\n        };\n      } else if (field === \"country\") {\n        routerObject = {\n          query: Object.assign({}, this.$route.query, { country: [], page: 1 }),\n        };\n      }\n      if (!routerObject) {\n        let facets = this.$route.query[field].slice();\n        if (!Array.isArray(facets)) facets = [facets];\n        if (field === \"categories\") {\n          facet.toUpperCase();\n          facets = facets.map((f) => f.toUpperCase());\n        }\n        const index = facets.indexOf(facet);\n        if (index > -1) {\n          facets.splice(index, 1);\n        } else {\n          facets.push(facet);\n        }\n        routerObject = {\n          query: Object.assign({}, this.$route.query, {\n            [field]: facets,\n            page: 1,\n          }),\n        };\n      }\n\n      return this.routerPush(routerObject);\n    },\n  },\n  mounted() {\n    this.loadLangList();\n  },\n  created() {},\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.close-facet {\n  cursor: pointer;\n}\n</style>\n"],"names":["_sfc_main","isDatasetsErpd","_a","isCataloguesErpd","cat","sc","orderedFacets","facet","field","newSelectedFacets","key","country","isNil","mapActions","label","map","response","axios","object","error","fieldId","facetId","facetTitle","locale","item","obj","getFacetTranslation","title","query","routerObject","facets","f","index","_hoisted_1","_openBlock","_createElementBlock","_Fragment","_renderList","$options","_createElementVNode","_toDisplayString","i","_renderSlot","_ctx","_hoisted_2"],"mappings":"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"}