@piveau/piveau-hub-ui-modules 4.6.90 → 4.6.91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"DatasetsFacets.vue.mjs","sources":["../../../lib/datasets/datasetsFacets/DatasetsFacets.vue"],"sourcesContent":["<template>\n <div class=\"container dataset-facets\">\n <div class=\"row mx-3 mr-md-0\">\n <slot :facets=\"getSortedFacets\" name=\"content\">\n <div class=\"col\">\n <datasets-map-facet :showCatalogDetails=\"showCatalogDetails\" />\n <catalog-details-facet class=\"catalog-details\" v-if=\"showCatalogDetails\" :catalog=\"catalog\"\n :catalogLanguageIds=\"catalogLanguageIds\" />\n <span v-if=\"showFacetsTitle\" class=\"row h5 font-weight-bold mt-4 mb-3\">Filter by</span>\n <settings-facet class=\"row facet-field mb-3\" />\n <div class=\"row facet-field mb-3\" v-for=\"(field, index) in getSortedFacets\" :key=\"`facet@${field.id}`\"\n :class=\"{ 'mt-3': (index > 0) }\">\n <slot\n name=\"facet\"\n :field=\"field\"\n :index=\"index\"\n :facetTitle=\"facetTitle\"\n :sortByCount=\"sortByCount\"\n :getFacetTranslationWrapper=\"getFacetTranslationWrapper\"\n :tooltip=\"tooltip\"\n :facetIsSelected=\"facetIsSelected\"\n :facetClicked=\"facetClicked\"\n :isMultiSelect=\"isMultiSelect\"\n >\n <radio-facet v-if=\"(field.id === 'dataServices')\" :title=\"dataServices.title\"\n :property=\"dataServices.property\" :toolTipTitle=\"dataServices.toolTipTitle\" :optionIds=\"['true', 'false']\"\n :optionLabels=\"[dataServices.yes, dataServices.no]\" :initialOption=\"getDataServices\"\n :change=\"changeDataServices\" />\n <radio-facet v-if=\"(field.id === 'superCatalog')\" :title=\"erpd.title\" :property=\"erpd.property\"\n :toolTipTitle=\"erpd.toolTipTitle\" :optionIds=\"['true', 'false']\" :optionLabels=\"[erpd.yes, erpd.no]\"\n :initialOption=\"isErdp\" :change=\"changeErpd\" />\n <select-facet v-if=\"(field.id !== 'superCatalog' && field.id !== 'dataServices')\" :fieldId=\"field.id\"\n :header=\"facetTitle(field.id)\" :items=\"sortByCount(field.items, field.id)\" :toolTipTitle=\"tooltip(field.id)\"\n :getFacetTranslationWrapper=\"getFacetTranslationWrapper\" :facetIsSelected=\"facetIsSelected\"\n :facetClicked=\"facetClicked\" :multiSelect=\"isMultiSelect(field.id)\" class=\"col pr-0\" />\n </slot>\n </div>\n <div>\n <pv-show-more v-if=\"showMoreFacetsShown\"\n :label=\"cutoff >= 0 ? $t('message.datasetFacets.moreFilters') : $t('message.datasetFacets.lessFilters')\"\n :upArrow=\"cutoff === -1\" :action=\"toggleCutoff\" class=\"p-0 row facets-show-more\" />\n </div>\n <pv-button v-if=\"showClearButton\" label=\"Clear filters\" class=\"row mt-5 facets-clear\" :action=\"clearFacets\" />\n </div>\n </slot>\n </div>\n </div>\n</template>\n\n<script>\nimport { mapActions, mapGetters } from 'vuex';\nimport {\n isObject,\n isArray,\n isString,\n has,\n isNil,\n isNumber,\n} from 'lodash-es';\nimport DatasetsFacetsItem from './DatasetsFacetsItem.vue';\nimport { getTranslationFor, getFacetTranslation } from '../../utils/helpers';\nimport DatasetsMapFacet from \"../../datasets/datasetsFacets/DatasetsMapFacet.vue\";\nimport CatalogDetailsFacet from \"../../facets/CatalogDetailsFacet.vue\";\nimport SettingsFacet from \"../../datasets/datasetsFacets/SettingsFacet.vue\";\nimport { useDatasetsFacetsHead } from '../../composables/head';\n\nexport default {\n name: 'datasetsFacets',\n components: {\n SettingsFacet,\n CatalogDetailsFacet,\n DatasetsMapFacet,\n DatasetsFacetsItem\n },\n props: {\n dataScope: {\n type: String,\n default: null,\n },\n availableFacets: {\n type: Array,\n default: null,\n },\n /**\n * @description Sets the catalog filter to a fixed catalog id. Disables the catalog facet and hides the facet in the selected facets overview.\n * @dev Use this prop if you want to use this component in a catalog page context where the catalog is already known (e.g., provider's page).\n */\n fixedCatalogFilter: {\n type: String,\n default: '',\n },\n },\n data() {\n return {\n cutoff: this.$env.content.datasets.facets.cutoff,\n showClearButton: this.$env.content.datasets.facets.showClearButton,\n showFacetsTitle: this.$env.content.datasets.facets.showFacetsTitle,\n defaultFacetOrder: this.$env.content.datasets.facets.defaultFacetOrder,\n useScoringFacets: this.$env.content.datasets.facets.scoringFacets.useScoringFacets,\n useDataScopeFacets: isNil(this.$route.params.ctlg_id),\n showCatalogDetails: false,\n catalog: {},\n MIN_FACET_LIMIT: this.$env.content.datasets.facets.MIN_FACET_LIMIT,\n MAX_FACET_LIMIT: this.$env.content.datasets.facets.MAX_FACET_LIMIT,\n FACET_OPERATORS: this.$env.content.datasets.facets.FACET_OPERATORS,\n FACET_GROUP_OPERATORS: this.$env.content.datasets.facets.FACET_GROUP_OPERATORS,\n dataServices: {\n yes: this.i18n.global.t('message.metadata.yes'),\n no: this.i18n.global.t('message.metadata.no'),\n property: this.i18n.global.t('message.datasetFacets.facets.dataServices.dataServicesOnly'),\n title: this.i18n.global.t('message.metadata.dataServices'),\n toolTipTitle: this.i18n.global.t('message.helpIcon.dataServices'),\n },\n erpd: {\n yes: this.i18n.global.t('message.metadata.yes'),\n no: this.i18n.global.t('message.metadata.no'),\n property: this.i18n.global.t('message.datasetFacets.facets.erpdOnly'),\n title: this.i18n.global.t('message.metadata.erpd'),\n // toolTipTitle: \"TOOLTIP\",//this.i18n.global.t('message.helpIcon.dataServices'),\n }\n };\n },\n computed: {\n ...mapGetters('catalogDetails', [\n 'getCatalog',\n ]),\n ...mapGetters('datasets', [\n 'getAllAvailableFacets',\n 'getDatasetsCount',\n 'getFacets',\n 'getFacetOperator',\n 'getFacetGroupOperator',\n 'getDataServices',\n 'getLimit',\n 'getMinScoring',\n 'getPage',\n 'getDatasetGeoBounds',\n 'getScoringFacets',\n ]),\n resolvedAvailableFacets() {\n /** this.availableFacets is a prop, currently not used\n * this.getAllAvailableFacets takes the facet status from the store.\n * The facet store status is set in Datasets.vue::created. It uses the config array\n * content.datasets.facets.defaultFacetOrder */\n return this.availableFacets || this.getAllAvailableFacets;\n },\n datasetBoundsWatcher() {\n return this.getDatasetGeoBounds;\n },\n facetGroupOperatorWatcher() {\n return this.getFacetGroupOperator;\n },\n // dataServicesWatcher() {\n // return this.getDataServices;\n // },\n // catalogWatcher() {\n // return this.getCatalog;\n // },\n // showCatalogDetailsWatcher() {\n // return !isNil(this.$route.params.ctlg_id);\n // },\n useCatalogFacets() {\n return !this.showCatalogDetails;\n },\n currentSearchQuery() {\n return this.$route.query.query;\n },\n showMoreFacetsShown() {\n return this.$env.content.datasets.facets.cutoff > 0 && this.$env.content.datasets.facets.cutoff < this.getAllVisibleFacets.length;\n },\n getAllVisibleFacets() {\n return this.resolvedAvailableFacets.filter(facet => facet.items.length > 0);\n },\n getSortedFacets() {\n const availableFacets = this.resolvedAvailableFacets;\n const activeFacets = [];\n const inactiveFacets = [];\n let activeFields = Object.keys(this.getFacets).filter(key => this.getFacets[key].length > 0);\n this.defaultFacetOrder.forEach((facet) => {\n availableFacets.forEach((field) => {\n // if (facet === field.id && field.items.length > 0\n // && (field.id !== 'country' || this.dataScope || this.$route.path === '/catalogues/erpd' || this.$route.query.superCatalog === 'erpd')\n // && (field.id !== 'catalog' || this.useCatalogFacets)\n // && (field.id !== 'scoring' || this.useScoringFacets)\n // && (field.id !== 'dataScope' || this.useDataScopeFacets)) {\n // if(activeFields.includes(field.id))\n // activeFacets.push(field);\n // else\n // inactiveFacets.push(field);\n // }\n if (facet === field.id && field.items.length > 0) {\n if (activeFields.includes(field.id))\n activeFacets.push(field);\n else\n inactiveFacets.push(field);\n }\n });\n });\n const sortedFacets = activeFacets.concat(inactiveFacets);\n if (this.cutoff > 0) {\n if (this.cutoff < activeFacets.length) this.cutoff = activeFacets.length;\n return sortedFacets.slice(0, this.cutoff);\n } else {\n return sortedFacets;\n }\n },\n // Returns the current catalog's available language ids\n // example: ['en', 'de', 'sv']\n catalogLanguageIds() {\n const languages = this.getCatalog && this.getCatalog.languages;\n if (!isArray(languages)) return [];\n return languages\n .map(lang => lang && lang.id)\n .filter(lang => lang);\n },\n isErdp() {\n if (this.$route.path === '/catalogues/erpd') {\n return 'true';\n } else {\n // if (this.$route.path.startsWith('/datasets')) {\n const superCatalogs = this.getFacets.superCatalog;\n return (superCatalogs && superCatalogs[0] === 'erpd') ? 'true' : 'false'\n }\n // return 'false';\n }\n },\n methods: {\n isObject,\n isArray,\n isString,\n has,\n isNil,\n isNumber,\n getTranslationFor,\n getFacetTranslation,\n ...mapActions('catalogDetails', [\n 'loadCatalog',\n ]),\n ...mapActions('datasets', [\n 'addFacet',\n 'removeFacet',\n 'setFacetGroupOperator',\n 'setDataServices',\n 'setSuperCatalogue_DEPRECATED', // !!!!! Project specific (Bayern). Should be removed as soon as possible !!!!\n 'setPage',\n 'setPageCount',\n 'setMinScoring',\n ]),\n toggleCutoff() {\n this.cutoff = this.cutoff >= 0 ? -1 : this.$env.content.datasets.facets.cutoff;\n },\n facetTitle(fieldId) {\n\n // if(fieldId==='scoring'){\n // return Vue.i18n.t('message.header.navigation.data.metadataquality')\n // }else if(fieldId==='subject'){\n // return 'EuroVoc keywords'\n // }else{\n // return Vue.i18n.t(`message.datasetFacets.facets.${fieldId.toLowerCase()}`)\n // }\n\n return fieldId === 'scoring' ?\n this.i18n.global.t('message.header.navigation.data.metadataquality')\n : this.i18n.global.t(`message.datasetFacets.facets.${fieldId.toLowerCase()}`);\n },\n tooltip(fieldId) {\n return fieldId === 'dataScope' ? this.i18n.global.t('message.helpIcon.dataScope') : this.i18n.global.t(`message.helpIcon.${fieldId.toLowerCase()}`);\n },\n getFacetTranslationWrapper(fieldId, facetId, userLocale, fallback) {\n return fieldId === 'scoring'\n ? this.$t(`message.datasetFacets.facets.scoring.${facetId}`)\n : this.getFacetTranslation(fieldId, facetId, userLocale, fallback);\n },\n sortByCount(items, fieldId) {\n if (fieldId === 'scoring' || fieldId === 'dataScope') return items;\n return items.slice().sort((a, b) => {\n const n = b.count - a.count;\n if (n !== 0) return b.count - a.count;\n if (a.name < b.name) return -1;\n return 1;\n });\n },\n setRouteQuery(query, mode) {\n if (mode === \"replace\") {\n return this.$router.replace(\n { query: Object.assign({}, this.$route.query, query) }\n ).catch(\n error => { console.error(error); }\n );\n } else {\n return this.$router.push(\n { query: Object.assign({}, this.$route.query, query) }\n ).catch(\n error => { console.error(error); }\n );\n }\n },\n facetIsSelected(fieldId, item) {\n const facet = item.id;\n if (fieldId === 'scoring') {\n const qMinScoring = parseInt(this.getMinScoring, 10);\n const minScoringIsSelected = this.$route.query[fieldId];\n if (!minScoringIsSelected || !qMinScoring) return item.minScoring === 0;\n return minScoringIsSelected && qMinScoring === item.minScoring;\n }\n if (!Object.prototype.hasOwnProperty.call(this.$route.query, fieldId)) {\n return false;\n }\n if (fieldId === 'dataScope') return this.$route.query.dataScope === facet;\n let qField = this.$route.query[fieldId];\n if (!Array.isArray(qField)) qField = [qField];\n if (fieldId === 'categories') {\n // Ignore Case for categories\n facet.toUpperCase();\n qField = qField.map(f => f.toUpperCase());\n }\n\n return qField.indexOf(facet) > -1;\n },\n facetClicked(field, item) {\n \n const facet = item.id;\n if (field === \"dataScope\") {\n this.dataScopeFacetClicked(facet);\n } else {\n if (field === 'scoring') this.scoringFacetClicked(item);\n\n //filtering dataScope when provenance is selected\n if (field === 'country') {\n if (facet === 'eu') {\n this.$route.query.dataScope = 'eu'\n } else if (facet === 'io') {\n this.$route.query.dataScope = 'io'\n } else {\n this.$route.query.dataScope = 'countryData'\n }\n }\n this.toggleFacet(field, facet);\n }\n },\n \n toggleFacet(field, facet) {\n \n if (!Object.prototype.hasOwnProperty.call(this.$route.query, [field])) {\n this.setRouteQuery({ [field]: [], page: 1 });\n }\n let facets = this.$route.query?.[field]?.slice();\n if (!facets) facets = [];\n if (!Array.isArray(facets)) facets = [facets];\n if (field === 'categories') {\n // Ignore Case for categories\n facet.toUpperCase();\n facets = facets.map(f => f.toUpperCase());\n }\n if (field === 'scoring') {\n // Empty facets as scoring facets are disjoint\n facets = (facet === 'badScoring') ? [] : [facet];\n } else {\n \n const index = facets.indexOf(facet);\n if (index > -1) {\n facets.splice(index, 1);\n } else {\n facets.push(facet);\n }\n }\n \n return this.setRouteQuery({ [field]: facets, page: 1 });\n \n },\n clearFacets() {\n if (Object.keys(this.$route.query).some(key => (key !== 'locale' && key !== 'page') && this.$route.query[key].length)) {\n this.setMinScoring(0);\n this.$router.push({ query: { locale: this.$i18n.locale, page: \"1\" } })\n .catch(error => { console.error(error); });\n }\n sessionStorage.clear();\n },\n dataScopeFacetClicked(dataScope) {\n if (this.$route.query.dataScope === dataScope) {\n this.setRouteQuery({ dataScope: [], country: [], page: 1 });\n } else {\n const country = [];\n country.push(dataScope);\n this.setRouteQuery({ dataScope, country, page: 1 });\n }\n },\n scoringFacetClicked(item) {\n let newScoring = item.minScoring;\n if (newScoring === this.getMinScoring) newScoring = 0;\n this.setMinScoring(newScoring);\n this.resetPage();\n window.scrollTo(0, 0);\n },\n toggleFacetGroupOperator() {\n let op = this.getFacetGroupOperator;\n op = op === this.FACET_GROUP_OPERATORS.and ? this.FACET_GROUP_OPERATORS.or : this.FACET_GROUP_OPERATORS.and;\n this.setFacetGroupOperator(op);\n },\n changeDataServices(dataServices) {\n this.setDataServices(dataServices);\n // this.setRouteQuery({ dataServices: (dataServices ? 'true' : undefined), page: 1 });\n const query = Object.assign({}, this.$route.query, { dataServices, page: 1 });\n if (dataServices === 'false') {\n delete query.dataServices;\n }\n this.$router.replace({ query });\n },\n changeErpd(erpd) {\n if (this.$route.path === '/catalogues/erpd') {\n const query = Object.assign({}, this.$route.query, { page: 1 });\n this.$router.replace({\n path: '/datasets',\n query\n });\n } else {\n const superCatalog = erpd === 'true' ? 'erpd' : 'false';\n const query = Object.assign({}, this.$route.query, { superCatalog, page: 1 });\n if (superCatalog === 'false') {\n delete query.superCatalog;\n }\n this.$router.replace({ query });\n }\n },\n resetPage() {\n this.setRouteQuery({ page: 1 }, \"replace\");\n },\n getFacetCount(field, facet) {\n if (field.id === 'scoring') return '';\n return facet.count;\n },\n initShowCatalogDetails() {\n const showCatalogDetails = !isNil(this.$route.params.ctlg_id);\n if (showCatalogDetails === true) {\n this.showCatalogDetails = true;\n this.loadCatalog(this.$route.params.ctlg_id);\n } else this.showCatalogDetails = false;\n },\n initMinScoring() {\n let currentScoring = this.$route.query.scoring;\n currentScoring = isArray(currentScoring) && currentScoring.length > 0\n ? currentScoring[0]\n : isArray(currentScoring) && currentScoring.length === 0\n ? ''\n : currentScoring;\n if (currentScoring) {\n let scoringFacets = this.$env.content.datasets.facets.scoringFacets.defaultScoringFacets;\n Object.keys(scoringFacets).forEach(score => {\n if (score === currentScoring) {\n this.setMinScoring(scoringFacets[score].minScoring);\n }\n });\n } else {\n this.setMinScoring(0);\n }\n },\n isMultiSelect(fieldID) {\n return fieldID !== 'scoring';\n }\n },\n watch: {\n facetGroupOperatorWatcher: {\n handler(facetGroupOperator) {\n this.setRouteQuery({ facetGroupOperator }, \"replace\");\n },\n },\n // getDataServices(dataServices) {\n // this.$router.replace(\n // { query: Object.assign({}, this.$route.query, { dataServices }) }\n // ).catch(\n // error => { console.error(error); }\n // );\n // },\n '$route.params.ctlg_id'(showCatalogDetails) {\n this.showCatalogDetails = showCatalogDetails;\n },\n getDatasetGeoBounds(bounds) {\n this.bounds = bounds\n },\n getCatalog(catalog) {\n this.catalog = catalog;\n },\n },\n created() {\n this.initShowCatalogDetails();\n this.initMinScoring();\n for (var i in sessionStorage) {\n if (sessionStorage.length > 0 && i == \"Filter\") this.toggleCutoff();\n }\n },\n setup() {\n useDatasetsFacetsHead();\n }\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.facet:hover {\n cursor: pointer;\n}\n\n.custom-control {\n padding-left: 1.5rem;\n margin-right: 1rem;\n}\n\n.custom-control-label {\n &::before {\n left: -1.5rem !important;\n }\n\n &::after {\n left: -1.5rem !important;\n }\n}\n\n.custom-control-input:checked~.custom-control-label::before {\n border-color: var(--primary);\n background-color: var(--primary);\n}\n\n.active {\n background-color: var(--primary);\n border-color: var(--primary);\n}\n\n.io {\n border: 0 !important;\n margin-bottom: 3px;\n opacity: 0.8;\n}\n\n.dropdown-menu.show {\n transform: translate3d(0px, 15px, 0px) !important;\n width: max-content;\n display: block;\n\n}\n</style>\n"],"names":["_sfc_main","SettingsFacet","CatalogDetailsFacet","DatasetsMapFacet","DatasetsFacetsItem","isNil","mapGetters","facet","availableFacets","activeFacets","inactiveFacets","activeFields","key","field","sortedFacets","languages","isArray","lang","superCatalogs","isObject","isString","has","isNumber","getTranslationFor","getFacetTranslation","mapActions","fieldId","facetId","userLocale","fallback","items","b","query","mode","error","item","qMinScoring","minScoringIsSelected","qField","f","facets","_b","_a","index","dataScope","country","newScoring","op","dataServices","erpd","superCatalog","currentScoring","scoringFacets","score","fieldID","facetGroupOperator","showCatalogDetails","bounds","catalog","i","useDatasetsFacetsHead","_hoisted_1","_hoisted_2","_hoisted_3","_openBlock","_createElementBlock","_createElementVNode","_renderSlot","_ctx","$options","_createVNode","_component_datasets_map_facet","$data","_createBlock","_component_catalog_details_facet","_hoisted_4","_component_settings_facet","_Fragment","_renderList","_normalizeClass","_component_radio_facet","_component_select_facet","_component_pv_show_more","_component_pv_button"],"mappings":"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"}
1
+ {"version":3,"file":"DatasetsFacets.vue.mjs","sources":["../../../lib/datasets/datasetsFacets/DatasetsFacets.vue"],"sourcesContent":["<template>\n <div class=\"container dataset-facets\">\n <div class=\"row mx-3 mr-md-0\">\n <slot :facets=\"getSortedFacets\" name=\"content\">\n <div class=\"col\">\n <datasets-map-facet :showCatalogDetails=\"showCatalogDetails\" />\n <catalog-details-facet class=\"catalog-details\" v-if=\"showCatalogDetails\" :catalog=\"catalog\"\n :catalogLanguageIds=\"catalogLanguageIds\" />\n <span v-if=\"showFacetsTitle\" class=\"row h5 font-weight-bold mt-4 mb-3\">Filter by</span>\n <settings-facet class=\"row facet-field mb-3\" />\n <div class=\"row facet-field mb-3\" v-for=\"(field, index) in getSortedFacets\" :key=\"`facet@${field.id}`\"\n :class=\"{ 'mt-3': (index > 0) }\">\n <slot\n name=\"facet\"\n :field=\"field\"\n :index=\"index\"\n :facetTitle=\"facetTitle\"\n :sortByCount=\"sortByCount\"\n :getFacetTranslationWrapper=\"getFacetTranslationWrapper\"\n :tooltip=\"tooltip\"\n :facetIsSelected=\"facetIsSelected\"\n :facetClicked=\"facetClicked\"\n :isMultiSelect=\"isMultiSelect\"\n >\n <radio-facet v-if=\"(field.id === 'dataServices')\" :title=\"dataServices.title\"\n :property=\"dataServices.property\" :toolTipTitle=\"dataServices.toolTipTitle\" :optionIds=\"['true', 'false']\"\n :optionLabels=\"[dataServices.yes, dataServices.no]\" :initialOption=\"getDataServices\"\n :change=\"changeDataServices\" />\n <radio-facet v-if=\"(field.id === 'superCatalog')\" :title=\"erpd.title\" :property=\"erpd.property\"\n :toolTipTitle=\"erpd.toolTipTitle\" :optionIds=\"['true', 'false']\" :optionLabels=\"[erpd.yes, erpd.no]\"\n :initialOption=\"isErdp\" :change=\"changeErpd\" />\n <select-facet v-if=\"(field.id !== 'superCatalog' && field.id !== 'dataServices')\" :fieldId=\"field.id\"\n :header=\"facetTitle(field.id)\" :items=\"sortByCount(field.items, field.id)\" :toolTipTitle=\"tooltip(field.id)\"\n :getFacetTranslationWrapper=\"getFacetTranslationWrapper\" :facetIsSelected=\"facetIsSelected\"\n :facetClicked=\"facetClicked\" :multiSelect=\"isMultiSelect(field.id)\" class=\"col pr-0\" />\n </slot>\n </div>\n <div>\n <pv-show-more v-if=\"showMoreFacetsShown\"\n :label=\"cutoff >= 0 ? $t('message.datasetFacets.moreFilters') : $t('message.datasetFacets.lessFilters')\"\n :upArrow=\"cutoff === -1\" :action=\"toggleCutoff\" class=\"p-0 row facets-show-more\" />\n </div>\n <pv-button v-if=\"showClearButton\" label=\"Clear filters\" class=\"row mt-5 facets-clear\" :action=\"clearFacets\" />\n </div>\n </slot>\n </div>\n </div>\n</template>\n\n<script>\nimport { mapActions, mapGetters } from 'vuex';\nimport {\n isObject,\n isArray,\n isString,\n has,\n isNil,\n isNumber,\n} from 'lodash-es';\nimport DatasetsFacetsItem from './DatasetsFacetsItem.vue';\nimport { getTranslationFor, getFacetTranslation } from '../../utils/helpers';\nimport DatasetsMapFacet from \"../../datasets/datasetsFacets/DatasetsMapFacet.vue\";\nimport CatalogDetailsFacet from \"../../facets/CatalogDetailsFacet.vue\";\nimport SettingsFacet from \"../../datasets/datasetsFacets/SettingsFacet.vue\";\nimport { useDatasetsFacetsHead } from '../../composables/head';\n\nexport default {\n name: 'datasetsFacets',\n components: {\n SettingsFacet,\n CatalogDetailsFacet,\n DatasetsMapFacet,\n DatasetsFacetsItem\n },\n props: {\n dataScope: {\n type: String,\n default: null,\n },\n availableFacets: {\n type: Array,\n default: null,\n },\n /**\n * @description Sets the catalog filter to a fixed catalog id. Disables the catalog facet and hides the facet in the selected facets overview.\n * @dev Use this prop if you want to use this component in a catalog page context where the catalog is already known (e.g., provider's page).\n */\n fixedCatalogFilter: {\n type: String,\n default: '',\n },\n },\n data() {\n return {\n cutoff: this.$env.content.datasets.facets.cutoff,\n showClearButton: this.$env.content.datasets.facets.showClearButton,\n showFacetsTitle: this.$env.content.datasets.facets.showFacetsTitle,\n defaultFacetOrder: this.$env.content.datasets.facets.defaultFacetOrder,\n useScoringFacets: this.$env.content.datasets.facets.scoringFacets.useScoringFacets,\n useDataScopeFacets: isNil(this.$route.params.ctlg_id),\n showCatalogDetails: false,\n catalog: {},\n MIN_FACET_LIMIT: this.$env.content.datasets.facets.MIN_FACET_LIMIT,\n MAX_FACET_LIMIT: this.$env.content.datasets.facets.MAX_FACET_LIMIT,\n FACET_OPERATORS: this.$env.content.datasets.facets.FACET_OPERATORS,\n FACET_GROUP_OPERATORS: this.$env.content.datasets.facets.FACET_GROUP_OPERATORS,\n dataServices: {\n yes: this.i18n.global.t('message.metadata.yes'),\n no: this.i18n.global.t('message.metadata.no'),\n property: this.i18n.global.t('message.datasetFacets.facets.dataServices.dataServicesOnly'),\n title: this.i18n.global.t('message.metadata.dataServices'),\n toolTipTitle: this.i18n.global.t('message.helpIcon.dataServices'),\n },\n erpd: {\n yes: this.i18n.global.t('message.metadata.yes'),\n no: this.i18n.global.t('message.metadata.no'),\n property: this.i18n.global.t('message.datasetFacets.facets.erpdOnly'),\n title: this.i18n.global.t('message.metadata.erpd'),\n // toolTipTitle: \"TOOLTIP\",//this.i18n.global.t('message.helpIcon.dataServices'),\n }\n };\n },\n computed: {\n ...mapGetters('catalogDetails', [\n 'getCatalog',\n ]),\n ...mapGetters('datasets', [\n 'getAllAvailableFacets',\n 'getDatasetsCount',\n 'getFacets',\n 'getFacetOperator',\n 'getFacetGroupOperator',\n 'getDataServices',\n 'getLimit',\n 'getMinScoring',\n 'getPage',\n 'getDatasetGeoBounds',\n 'getScoringFacets',\n ]),\n resolvedAvailableFacets() {\n /** this.availableFacets is a prop, currently not used\n * this.getAllAvailableFacets takes the facet status from the store.\n * The facet store status is set in Datasets.vue::created. It uses the config array\n * content.datasets.facets.defaultFacetOrder */\n return this.availableFacets || this.getAllAvailableFacets;\n },\n datasetBoundsWatcher() {\n return this.getDatasetGeoBounds;\n },\n facetGroupOperatorWatcher() {\n return this.getFacetGroupOperator;\n },\n // dataServicesWatcher() {\n // return this.getDataServices;\n // },\n // catalogWatcher() {\n // return this.getCatalog;\n // },\n // showCatalogDetailsWatcher() {\n // return !isNil(this.$route.params.ctlg_id);\n // },\n useCatalogFacets() {\n return !this.showCatalogDetails;\n },\n currentSearchQuery() {\n return this.$route.query.query;\n },\n showMoreFacetsShown() {\n return this.$env.content.datasets.facets.cutoff > 0 && this.$env.content.datasets.facets.cutoff < this.getAllVisibleFacets.length;\n },\n getAllVisibleFacets() {\n return this.resolvedAvailableFacets.filter(facet => facet.items.length > 0);\n },\n getSortedFacets() {\n const availableFacets = this.resolvedAvailableFacets;\n const activeFacets = [];\n const inactiveFacets = [];\n let activeFields = Object.keys(this.getFacets).filter(key => this.getFacets[key].length > 0);\n this.defaultFacetOrder.forEach((facet) => {\n availableFacets.forEach((field) => {\n // if (facet === field.id && field.items.length > 0\n // && (field.id !== 'country' || this.dataScope || this.$route.path === '/catalogues/erpd' || this.$route.query.superCatalog === 'erpd')\n // && (field.id !== 'catalog' || this.useCatalogFacets)\n // && (field.id !== 'scoring' || this.useScoringFacets)\n // && (field.id !== 'dataScope' || this.useDataScopeFacets)) {\n // if(activeFields.includes(field.id))\n // activeFacets.push(field);\n // else\n // inactiveFacets.push(field);\n // }\n if (facet === field.id && field.items.length > 0) {\n if (activeFields.includes(field.id))\n activeFacets.push(field);\n else\n inactiveFacets.push(field);\n }\n });\n });\n const sortedFacets = activeFacets.concat(inactiveFacets);\n if (this.cutoff > 0) {\n if (this.cutoff < activeFacets.length) this.cutoff = activeFacets.length;\n return sortedFacets.slice(0, this.cutoff);\n } else {\n return sortedFacets;\n }\n },\n // Returns the current catalog's available language ids\n // example: ['en', 'de', 'sv']\n catalogLanguageIds() {\n const languages = this.getCatalog && this.getCatalog.languages;\n if (!isArray(languages)) return [];\n return languages\n .map(lang => lang && lang.id)\n .filter(lang => lang);\n },\n isErdp() {\n if (this.$route.path === '/catalogues/erpd') {\n return 'true';\n } else {\n // if (this.$route.path.startsWith('/datasets')) {\n const superCatalogs = this.getFacets.superCatalog;\n return (superCatalogs && superCatalogs[0] === 'erpd') ? 'true' : 'false'\n }\n // return 'false';\n }\n },\n methods: {\n isObject,\n isArray,\n isString,\n has,\n isNil,\n isNumber,\n getTranslationFor,\n getFacetTranslation,\n ...mapActions('catalogDetails', [\n 'loadCatalog',\n ]),\n ...mapActions('datasets', [\n 'addFacet',\n 'removeFacet',\n 'setFacetGroupOperator',\n 'setDataServices',\n 'setSuperCatalogue_DEPRECATED', // !!!!! Project specific (Bayern). Should be removed as soon as possible !!!!\n 'setPage',\n 'setPageCount',\n 'setMinScoring',\n ]),\n toggleCutoff() {\n this.cutoff = this.cutoff >= 0 ? -1 : this.$env.content.datasets.facets.cutoff;\n },\n facetTitle(fieldId) {\n\n // if(fieldId==='scoring'){\n // return Vue.i18n.t('message.header.navigation.data.metadataquality')\n // }else if(fieldId==='subject'){\n // return 'EuroVoc keywords'\n // }else{\n // return Vue.i18n.t(`message.datasetFacets.facets.${fieldId.toLowerCase()}`)\n // }\n\n return fieldId === 'scoring' ?\n this.i18n.global.t('message.header.navigation.data.metadataquality')\n : this.i18n.global.t(`message.datasetFacets.facets.${fieldId.toLowerCase()}`);\n },\n tooltip(fieldId) {\n return fieldId === 'dataScope' ? this.i18n.global.t('message.helpIcon.dataScope') : this.i18n.global.t(`message.helpIcon.${fieldId.toLowerCase()}`);\n },\n getFacetTranslationWrapper(fieldId, facetId, userLocale, fallback) {\n return fieldId === 'scoring'\n ? this.$t(`message.datasetFacets.facets.scoring.${facetId}`)\n : this.getFacetTranslation(fieldId, facetId, userLocale, fallback);\n },\n sortByCount(items, fieldId) {\n if (fieldId === 'scoring' || fieldId === 'dataScope') return items;\n return items.slice().sort((a, b) => {\n const n = b.count - a.count;\n if (n !== 0) return b.count - a.count;\n if (a.name < b.name) return -1;\n return 1;\n });\n },\n setRouteQuery(query, mode) {\n if (mode === \"replace\") {\n return this.$router.replace(\n { query: Object.assign({}, this.$route.query, query) }\n ).catch(\n error => { console.error(error); }\n );\n } else {\n return this.$router.push(\n { query: Object.assign({}, this.$route.query, query) }\n ).catch(\n error => { console.error(error); }\n );\n }\n },\n facetIsSelected(fieldId, item) {\n const facet = item.id;\n if (fieldId === 'scoring') {\n const qMinScoring = parseInt(this.getMinScoring, 10);\n const qMaxScoring = this.getMaxScoring;\n const minScoringIsSelected = this.$route.query[fieldId];\n if (!minScoringIsSelected || !qMinScoring) return item.minScoring === 0;\n return minScoringIsSelected && qMinScoring === item.minScoring && \n qMaxScoring === item.maxScoring;;\n }\n if (!Object.prototype.hasOwnProperty.call(this.$route.query, fieldId)) {\n return false;\n }\n if (fieldId === 'dataScope') return this.$route.query.dataScope === facet;\n let qField = this.$route.query[fieldId];\n if (!Array.isArray(qField)) qField = [qField];\n if (fieldId === 'categories') {\n // Ignore Case for categories\n facet.toUpperCase();\n qField = qField.map(f => f.toUpperCase());\n }\n\n return qField.indexOf(facet) > -1;\n },\n facetClicked(field, item) {\n \n const facet = item.id;\n if (field === \"dataScope\") {\n this.dataScopeFacetClicked(facet);\n } else {\n if (field === 'scoring') this.scoringFacetClicked(item);\n\n //filtering dataScope when provenance is selected\n if (field === 'country') {\n if (facet === 'eu') {\n this.$route.query.dataScope = 'eu'\n } else if (facet === 'io') {\n this.$route.query.dataScope = 'io'\n } else {\n this.$route.query.dataScope = 'countryData'\n }\n }\n this.toggleFacet(field, facet);\n }\n },\n \n toggleFacet(field, facet) {\n \n if (!Object.prototype.hasOwnProperty.call(this.$route.query, [field])) {\n this.setRouteQuery({ [field]: [], page: 1 });\n }\n let facets = this.$route.query?.[field]?.slice();\n if (!facets) facets = [];\n if (!Array.isArray(facets)) facets = [facets];\n if (field === 'categories') {\n // Ignore Case for categories\n facet.toUpperCase();\n facets = facets.map(f => f.toUpperCase());\n }\n if (field === 'scoring') {\n // Empty facets as scoring facets are disjoint\n facets = (facet === 'badScoring') ? [] : [facet];\n } else {\n \n const index = facets.indexOf(facet);\n if (index > -1) {\n facets.splice(index, 1);\n } else {\n facets.push(facet);\n }\n }\n \n return this.setRouteQuery({ [field]: facets, page: 1 });\n \n },\n clearFacets() {\n if (Object.keys(this.$route.query).some(key => (key !== 'locale' && key !== 'page') && this.$route.query[key].length)) {\n this.setMinScoring(0);\n this.$router.push({ query: { locale: this.$i18n.locale, page: \"1\" } })\n .catch(error => { console.error(error); });\n }\n sessionStorage.clear();\n },\n dataScopeFacetClicked(dataScope) {\n if (this.$route.query.dataScope === dataScope) {\n this.setRouteQuery({ dataScope: [], country: [], page: 1 });\n } else {\n const country = [];\n country.push(dataScope);\n this.setRouteQuery({ dataScope, country, page: 1 });\n }\n },\n scoringFacetClicked(item) {\n let newScoring = item.minScoring;\n if (newScoring === this.getMinScoring) newScoring = 0;\n this.setMinScoring(newScoring);\n this.resetPage();\n window.scrollTo(0, 0);\n },\n toggleFacetGroupOperator() {\n let op = this.getFacetGroupOperator;\n op = op === this.FACET_GROUP_OPERATORS.and ? this.FACET_GROUP_OPERATORS.or : this.FACET_GROUP_OPERATORS.and;\n this.setFacetGroupOperator(op);\n },\n changeDataServices(dataServices) {\n this.setDataServices(dataServices);\n // this.setRouteQuery({ dataServices: (dataServices ? 'true' : undefined), page: 1 });\n const query = Object.assign({}, this.$route.query, { dataServices, page: 1 });\n if (dataServices === 'false') {\n delete query.dataServices;\n }\n this.$router.replace({ query });\n },\n changeErpd(erpd) {\n if (this.$route.path === '/catalogues/erpd') {\n const query = Object.assign({}, this.$route.query, { page: 1 });\n this.$router.replace({\n path: '/datasets',\n query\n });\n } else {\n const superCatalog = erpd === 'true' ? 'erpd' : 'false';\n const query = Object.assign({}, this.$route.query, { superCatalog, page: 1 });\n if (superCatalog === 'false') {\n delete query.superCatalog;\n }\n this.$router.replace({ query });\n }\n },\n resetPage() {\n this.setRouteQuery({ page: 1 }, \"replace\");\n },\n getFacetCount(field, facet) {\n if (field.id === 'scoring') return '';\n return facet.count;\n },\n initShowCatalogDetails() {\n const showCatalogDetails = !isNil(this.$route.params.ctlg_id);\n if (showCatalogDetails === true) {\n this.showCatalogDetails = true;\n this.loadCatalog(this.$route.params.ctlg_id);\n } else this.showCatalogDetails = false;\n },\n initMinScoring() {\n let currentScoring = this.$route.query.scoring;\n currentScoring = isArray(currentScoring) && currentScoring.length > 0\n ? currentScoring[0]\n : isArray(currentScoring) && currentScoring.length === 0\n ? ''\n : currentScoring;\n if (currentScoring) {\n let scoringFacets = this.$env.content.datasets.facets.scoringFacets.defaultScoringFacets;\n Object.keys(scoringFacets).forEach(score => {\n if (score === currentScoring) {\n this.setMinScoring(scoringFacets[score].minScoring);\n }\n });\n } else {\n this.setMinScoring(0);\n }\n },\n isMultiSelect(fieldID) {\n return fieldID !== 'scoring';\n }\n },\n watch: {\n facetGroupOperatorWatcher: {\n handler(facetGroupOperator) {\n this.setRouteQuery({ facetGroupOperator }, \"replace\");\n },\n },\n // getDataServices(dataServices) {\n // this.$router.replace(\n // { query: Object.assign({}, this.$route.query, { dataServices }) }\n // ).catch(\n // error => { console.error(error); }\n // );\n // },\n '$route.params.ctlg_id'(showCatalogDetails) {\n this.showCatalogDetails = showCatalogDetails;\n },\n getDatasetGeoBounds(bounds) {\n this.bounds = bounds\n },\n getCatalog(catalog) {\n this.catalog = catalog;\n },\n },\n created() {\n this.initShowCatalogDetails();\n this.initMinScoring();\n for (var i in sessionStorage) {\n if (sessionStorage.length > 0 && i == \"Filter\") this.toggleCutoff();\n }\n },\n setup() {\n useDatasetsFacetsHead();\n }\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.facet:hover {\n cursor: pointer;\n}\n\n.custom-control {\n padding-left: 1.5rem;\n margin-right: 1rem;\n}\n\n.custom-control-label {\n &::before {\n left: -1.5rem !important;\n }\n\n &::after {\n left: -1.5rem !important;\n }\n}\n\n.custom-control-input:checked~.custom-control-label::before {\n border-color: var(--primary);\n background-color: var(--primary);\n}\n\n.active {\n background-color: var(--primary);\n border-color: var(--primary);\n}\n\n.io {\n border: 0 !important;\n margin-bottom: 3px;\n opacity: 0.8;\n}\n\n.dropdown-menu.show {\n transform: translate3d(0px, 15px, 0px) !important;\n width: max-content;\n display: block;\n\n}\n</style>\n"],"names":["_sfc_main","SettingsFacet","CatalogDetailsFacet","DatasetsMapFacet","DatasetsFacetsItem","isNil","mapGetters","facet","availableFacets","activeFacets","inactiveFacets","activeFields","key","field","sortedFacets","languages","isArray","lang","superCatalogs","isObject","isString","has","isNumber","getTranslationFor","getFacetTranslation","mapActions","fieldId","facetId","userLocale","fallback","items","b","query","mode","error","item","qMinScoring","qMaxScoring","minScoringIsSelected","qField","f","facets","_b","_a","index","dataScope","country","newScoring","op","dataServices","erpd","superCatalog","currentScoring","scoringFacets","score","fieldID","facetGroupOperator","showCatalogDetails","bounds","catalog","i","useDatasetsFacetsHead","_hoisted_1","_hoisted_2","_hoisted_3","_openBlock","_createElementBlock","_createElementVNode","_renderSlot","_ctx","$options","_createVNode","_component_datasets_map_facet","$data","_createBlock","_component_catalog_details_facet","_hoisted_4","_component_settings_facet","_Fragment","_renderList","_normalizeClass","_component_radio_facet","_component_select_facet","_component_pv_show_more","_component_pv_button"],"mappings":"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"}