@piveau/piveau-hub-ui-modules 4.6.89 → 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":"Datasets.vue.mjs","sources":["../../lib/datasets/Datasets.vue"],"sourcesContent":["<template>\n <div class=\"datasets-container d-flex flex-column p-0 bg-transparent\">\n <datasets-top-controls\n :facets=\"facets\"\n :getPage=\"getPage\"\n :getLimit=\"getLimit\"\n class=\"datasets-top-controls\"\n />\n <div class=\"container-fluid datasets content\">\n <slot name=\"title\">\n <h1 class=\"row col-12 page-title catalog-title text-primary\" v-if=\"showCatalogDetails\">\n {{ getTranslationFor(getCatalog.title, $route.query.locale, getCatalog.languages) }}</h1>\n <h1 class=\"row col-12 page-title text-primary\" v-else>{{ $t('message.header.navigation.data.datasets') }}</h1>\n </slot>\n <slot\n name=\"content\"\n :datasets-count=\"getDatasetsCount\"\n :datasets=\"getDatasets\"\n :locale=\"$route.query.locale\"\n :loading=\"getLoading\"\n :use-dataset-facets=\"useDatasetFacets\"\n :facets=\"getFacets\"\n :available-facets=\"getAllAvailableFacets\"\n >\n <div class=\"row\">\n <div class=\"col d-flex d-md-none justify-content-end flex-wrap\">\n <button class=\"btn btn-primary mb-3 text-right text-white\" data-toggle=\"collapse\"\n data-target=\"#datasetFacets\" data-cy=\"btn-filter-toggle\"\n @click=\"filterCollapsed = !filterCollapsed\">\n <i class=\"material-icons small-icon align-bottom\" v-if=\"filterCollapsed\">arrow_drop_up</i>\n <i class=\"material-icons small-icon align-bottom\" v-else>arrow_drop_down</i>\n </button>\n </div>\n <datasets-facets\n v-if=\"useDatasetFacets\"\n class=\"col-md-3 col-12 mb-3 mb-md-0 px-0 collapse\" id=\"datasetFacets\"\n :dataScope=\"dataScope\"\n :available-facets=\"getAllAvailableFacets\"\n ></datasets-facets>\n<!-- <facets-->\n<!-- :facetsConfig=\"getAllAvailableFacets\"-->\n<!-- :facetsIds=\"$env.content.datasets.facets.defaultFacetOrder\"-->\n<!-- class=\"col-md-3 col-12 mb-3 mb-md-0 px-0 collapse\"-->\n<!-- id=\"datasetFacets\">-->\n<!-- </facets>-->\n <section class=\"col-md-9 col-12\">\n <slot name=\"datasets-filters\">\n <datasets-filters/>\n </slot>\n <slot name=\"datasets-found\" :data=\"{\n loading: getLoading,\n datasetsCount: getDatasetsCount,\n datasetsCountFormatted: getDatasetsCount.toLocaleString('fi'),\n loadingMessage: $t('message.datasets.loadingMessage'),\n countMessage: $t('message.datasets.countMessage'),\n }\">\n <div class=\"datasets-found alert alert-primary mt-3 d-flex flex-row\" role=\"status\"\n :class=\"{ 'alert-danger': getDatasetsCount <= 0 && !getLoading}\">\n <div>\n {{\n getLoading ? $t('message.datasets.loadingMessage') : `${getDatasetsCount.toLocaleString('fi')}\n ${$t('message.datasets.countMessage')}`\n }}\n </div>\n <div class=\"loading-spinner ml-3\" v-if=\"getLoading\"></div>\n </div>\n </slot>\n <div class=\"alert alert-warning mt-3 d-flex flex-row\" v-if=\"showScoreDisclaimer\">\n <span>\n {{ $t(\"message.datasets.scoreDisclaimer\") }}\n <app-link path=\"/mqa\" :query=\"{ locale: $route.query.locale }\" target=\"_blank\">\n <span>{{ $t(\"message.metadata.methodologyPage\") }}</span>\n </app-link>\n </span>\n </div>\n <!--\n <div class=\"alert alert-info mt-3\" v-if=\"getGeoBoundsById('modal-map')\">\n {{`${$t('message.datasets.geoBoundsMessagePre')}`}}<strong>{{getGeoBoundsById('modal-map')}}</strong>{{`. ${$t('message.datasets.geoBoundsMessageRemove')}`}}\n <button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-label=\"Close\" @click=\"resetGeoBounds('modal-map'); loadDatasets({})\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n -->\n <selectedFacetsOverview\n v-if=\"getFacets\"\n :selected-facets=\"getFacets\"\n :available-facets=\"getAllAvailableFacets\"\n >\n </selectedFacetsOverview>\n <template v-if=\"!getLoading\">\n <dataset-list :datasets=\"getDatasets\" :locale=\"$route.query.locale || 'en'\"></dataset-list>\n </template>\n <div class=\"loading-spinner mx-auto mt-3 mb-3\" v-if=\"getLoading\"></div>\n </section>\n </div>\n </slot>\n <div class=\"row\">\n <div class=\"column col-12 col-md-9 offset-md-3\">\n <pagination class=\"mt-3\"\n :items-count=\"getDatasetsCount\"\n :items-per-page=\"getLimit\"\n :get-page=\"getPage\"\n :get-page-count=\"getPageCount\"\n @setPageLimit=\"setPageLimit\"></pagination>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\n /* eslint-disable no-undef */\n import { mapActions, mapGetters } from 'vuex';\n import {\n debounce,\n has,\n groupBy,\n uniqBy,\n toPairs,\n isArray,\n isNil,\n } from 'lodash-es';\n import $ from 'jquery';\n import fileTypes from '../utils/fileTypes';\n import Pagination from '../widgets/Pagination.vue';\n import SelectedFacetsOverview from '../facets/SelectedFacetsOverview';\n import AppLink from '../widgets/AppLink.vue';\n import { getTranslationFor, truncate, getImg } from '../utils/helpers';\n import DatasetsTopControls from \"../datasets/DatasetsTopControls.vue\";\n import DatasetsFilters from \"../datasets/DatasetsFilters.vue\";\n import DatasetList from './DatasetList.vue'\n import { useDatasetsHead } from '../composables/head'\n // import Facets from \"../facets_2.0/Facets.vue\"\n import DatasetsFacets from './datasetsFacets/DatasetsFacets.vue';\nexport default {\n name: 'Datasets',\n components: {\n DatasetsFilters,\n DatasetsTopControls,\n appLink: AppLink,\n selectedFacetsOverview: SelectedFacetsOverview,\n datasetsFacets: DatasetsFacets,\n pagination: Pagination,\n DatasetList,\n // Facets\n },\n props: {\n infiniteScrolling: {\n type: Boolean,\n default: false,\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 baseUrl: this.$env.api.baseUrl,\n debouncedOnBottomScroll: debounce(this.onBottomScroll, 500),\n facetFields: [],\n lang: this.locale,\n filterCollapsed: true,\n catalogAllowed: false,\n useDatasetFacets: this.$env.content.datasets.facets.useDatasetFacets\n };\n },\n computed: {\n ...mapGetters('catalogDetails', [\n 'getCatalog',\n ]),\n ...mapGetters('datasets', [\n 'getDatasets',\n 'getDatasetsCount',\n 'getLimit',\n 'getLoading',\n 'getOffset',\n 'getPage',\n 'getPageCount',\n 'getMinScoring',\n ]),\n ...mapGetters('datasets', {\n // Rename getters to something different because we'll perform some modifications on them.\n // These modifications involve removing catalog related information from facets for fixed catalog filter mode\n getAllAvailableFacetsOriginal: 'getAllAvailableFacets',\n getFacetsOriginal: 'getFacets',\n }),\n showCatalogDetails() {\n return !isNil(this.$route.params.ctlg_id) || this.fixedCatalogFilter;\n },\n /**\n * @description Returns the current page.\n * @returns {Number}\n *\n * @deprecated use getPage from datasets store instead\n */\n page() {\n return this.$route.query.page;\n },\n /**\n * @description Returns the active facets according to the route parameters.\n * @returns {Object}\n */\n facets() {\n const facetFields = this.$env.content.datasets.facets.defaultFacetOrder;\n const wantsToLoadCatalogByParamOrProp = this.showCatalogDetails;\n\n const facetObj = facetFields.reduce((acc, field) => {\n acc[field] = (wantsToLoadCatalogByParamOrProp && field === 'catalog' && !this.fixedCatalogFilter)\n ? [this.$route.params.ctlg_id || undefined]\n : this.getUrlFacetsOrDefault(field);\n\n return acc;\n }, {});\n\n // if fixedCatalogFilter is set, then set it as superCatalog\n // requirement by bayern\n const facetObjWithMaybeDefaultSuperCatalog = this.fixedCatalogFilter\n ? {\n ...facetObj,\n superCatalog: [this.fixedCatalogFilter],\n }\n : facetObj;\n\n return facetObjWithMaybeDefaultSuperCatalog;\n },\n\n getAllAvailableFacets() {\n return this.showCatalogDetails\n ? this.getAllAvailableFacetsOriginal.filter(facet => facet.id !== 'catalog')\n : this.getAllAvailableFacetsOriginal;\n },\n\n getFacets() {\n // Returns a record of facets with the catalog facet removed if we're in fixed catalog filter mode\n return this.showCatalogDetails\n ? {\n ...this.getFacetsOriginal,\n catalog: []\n }\n : this.getFacetsOriginal;\n },\n\n currentSearchQuery() {\n return this.$route.query.query;\n },\n showScoreDisclaimer() {\n return this.getMinScoring > 0;\n },\n dataScope() {\n if (!this.$route.query.dataScope) return null;\n if (isArray(this.$route.query.dataScope) && this.$route.query.dataScope.length > 0) return this.$route.query.dataScope[0];\n if (isArray(this.$route.query.dataScope) && this.$route.query.dataScope.length === 0) return null;\n return this.$route.query.dataScope;\n },\n },\n methods: {\n isNil,\n ...mapActions('datasets', [\n 'loadDatasets',\n 'loadAdditionalDatasets',\n 'setPage',\n 'setSort',\n 'addFacet',\n 'removeFacet',\n 'setFacets',\n 'setFacetOperator',\n 'setFacetGroupOperator',\n 'setDataServices',\n 'setPageCount',\n 'setLimit',\n 'setLoading',\n 'setDataScope',\n ]),\n // The imported Lodash has function. Must be defined in Methods so we can use it in template\n has,\n isArray,\n truncate,\n getTranslationFor,\n getImg,\n /**\n * @description Handler-function for the scroll event.\n */\n onScroll() {\n const items = this.$el.querySelectorAll('.dataset');\n const lastItem = items[items.length - 1];\n if (lastItem) {\n const lastItemPos = lastItem.getBoundingClientRect();\n if (lastItemPos.bottom - window.innerHeight <= 0) {\n this.debouncedOnBottomScroll();\n }\n }\n },\n /**\n * @description Handler-function when bottom of the page is reached.\n */\n onBottomScroll() {\n this.$nextTick(() => {\n this.$Progress.start();\n this.loadAdditionalDatasets()\n .then(() => {\n this.$Progress.finish();\n })\n .catch(() => {\n this.$Progress.fail();\n });\n });\n },\n initLimit() {\n const limit = parseInt(this.$route.query.limit, 10);\n if (limit > 0) this.setLimit(limit);\n },\n initSort() {\n const sort = this.$route.query.sort;\n if (sort) this.setSort(sort);\n },\n setPageLimit(value) {\n this.setLimit(value);\n this.initDatasets();\n },\n initDataScope() {\n this.setDataScope(this.dataScope);\n },\n /**\n * @description Determines the current page.\n */\n initPage() {\n const page = parseInt(this.$route.query.page, 10);\n if (page > 0) this.setPage(page);\n else this.setPage(1);\n },\n /**\n * @descritption Initialize the active facets by checking the route parameters\n */\n initFacets() {\n const fields = this.$env.content.datasets.facets.defaultFacetOrder;\n const facetsFromRouteParams = this.facets;\n\n this.facetFields.push(...fields);\n\n // Get fields that don't exist in the router query\n const fieldsNotInRouterQuery = fields.filter(field => {\n const fieldExists = facetsFromRouteParams[field] && facetsFromRouteParams[field].length > 0;\n return !fieldExists && !this.$route.query[field];\n });\n\n // Construct route query parameters to be added\n const routeQueryParamsToBeAdded = fieldsNotInRouterQuery.reduce((acc, field) => {\n acc[field] = [];\n return acc;\n }, {});\n // Add the route query params that are missing\n if (Object.keys(routeQueryParamsToBeAdded) > 0) {\n this.$router.push({query: {...this.$route.query, ...routeQueryParamsToBeAdded}});\n }\n\n this.setFacets(facetsFromRouteParams);\n },\n\n\n getUrlFacetsOrDefault(field) {\n const urlFacets = this.$route.query[field];\n return Array.isArray(urlFacets) ? urlFacets : (urlFacets ? [urlFacets] : []);\n },\n\n initFacetOperator() {\n // Always set facet operator to AND when in catalog details mode\n if (this.showCatalogDetails) this.setFacetOperator('AND');\n else {\n const op = this.$route.query.facetOperator;\n if (op === 'AND' || op === 'OR') this.setFacetOperator(op);\n }\n },\n initFacetGroupOperator() {\n // The facetGroupOperator should be the same as the facetOperator\n // Always set facet operator to AND when\n // in catalog details mode\n if (this.showCatalogDetails) this.setFacetGroupOperator('AND');\n else {\n const op = this.$route.query.facetOperator;\n if (op === 'AND' || op === 'OR') this.setFacetGroupOperator(op);\n }\n },\n /**\n * @descritption Initialize the active data services facet by checking the route parameters\n */\n initDataServices() {\n const ds = this.$route.query.dataServices;\n if (ds === 'true' || ds === 'false') this.setDataServices(ds);\n else {\n this.setDataServices('false');\n }\n },\n initDatasets() {\n this.$nextTick(() => {\n this.$nextTick(() => {\n this.$Progress.start();\n this.loadDatasets({locale: this.$route.query.locale})\n .then(() => {\n this.setPageCount(Math.ceil(this.getDatasetsCount / this.getLimit));\n this.$Progress.finish();\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n });\n })\n .catch((error) => {\n console.error(error)\n this.$Progress.fail();\n })\n .finally(() => this.$root.$emit('contentLoaded'));\n });\n });\n },\n initInfiniteScrolling() {\n if (this.infiniteScrolling) window.addEventListener('scroll', this.onScroll);\n },\n getFileTypeColor(format) {\n return fileTypes.getFileTypeColor(format);\n },\n },\n watch: {\n // eslint-disable-next-line object-shorthand\n page(pageStr) {\n const page = parseInt(pageStr, 10);\n if (page > 0) this.setPage(page);\n else this.setPage(1);\n },\n dataScope: {\n handler() {\n this.initDataScope();\n },\n deep: true,\n },\n },\n created() {\n this.initDataScope();\n this.initLimit();\n this.initSort();\n this.initPage();\n this.initFacetOperator();\n this.initFacetGroupOperator();\n this.initDataServices();\n this.initFacets();\n this.initDatasets();\n this.initInfiniteScrolling();\n },\n mounted() {\n // This is supposed to fix the browser issue (https://gitlab.fokus.fraunhofer.de/piveau/organisation/piveau-scrum-board/-/issues/2344)\n if (this.$route.query.refresh === 'true') {\n this.$nextTick(() => {\n this.$nextTick(() => {\n this.loadDatasets({locale: this.$route.query.locale})\n .then(() => {\n this.$router.push({query: {locale: this.$route.query.locale}});\n })\n .catch(() => {\n this.$Progress.fail();\n });\n });\n });\n }\n },\n beforeUnmount() {\n $('.tooltip').remove();\n if (this.infiniteScrolling) window.removeEventListener('scroll', this.onScroll);\n },\n setup() {\n useDatasetsHead();\n }\n};\n</script>\n\n<style lang=\"scss\" scoped>\n\n.alert-primary {\n color: #042648;\n background-color: #cddbe8;\n border-color: #baccdf;\n}\n\n.page-title {\n // maybe we can change custom theme h1 to 3rem\n font-size: 3rem;\n margin-bottom: 15px;\n}\n\n.content {\n padding: 30px 30px 0 30px;\n margin-top: 15px;\n margin-bottom: 15px;\n background-color: white;\n}\n\n.router-link-active {\n color: #175baf !important;\n border: none !important;\n border-bottom: 2px solid #175baf !important;\n}\n\n.router-link-inactive {\n color: rgba(0, 0, 0, 0.7);\n border: none !important;\n\n &:hover {\n color: #175baf;\n }\n}\n\n.material-icons.small-icon {\n font-size: 20px;\n}\n\n@media screen and (min-width: 768px) {\n #datasetFacets {\n display: block\n }\n}\n</style>\n"],"names":["_sfc_main","DatasetsFilters","DatasetsTopControls","AppLink","SelectedFacetsOverview","DatasetsFacets","Pagination","DatasetList","debounce","mapGetters","isNil","facetFields","wantsToLoadCatalogByParamOrProp","facetObj","acc","field","facet","isArray","mapActions","has","truncate","getTranslationFor","getImg","items","lastItem","limit","sort","value","page","fields","facetsFromRouteParams","routeQueryParamsToBeAdded","urlFacets","op","ds","$","error","format","fileTypes","pageStr","useDatasetsHead","_hoisted_1","_hoisted_2","_hoisted_5","_hoisted_6","_hoisted_9","_hoisted_13","_hoisted_14","_openBlock","_createElementBlock","_createVNode","_component_datasets_top_controls","$options","_ctx","_createElementVNode","_renderSlot","_hoisted_3","_toDisplayString","_hoisted_4","$data","_cache","$event","_hoisted_7","_hoisted_8","_createBlock","_component_datasets_facets","_component_datasets_filters","_normalizeClass","_hoisted_10","_hoisted_11","_createTextVNode","_component_app_link","_component_selectedFacetsOverview","_component_dataset_list","_hoisted_12","_component_pagination"],"mappings":"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"}
1
+ {"version":3,"file":"Datasets.vue.mjs","sources":["../../lib/datasets/Datasets.vue"],"sourcesContent":["<template>\n <div class=\"datasets-container d-flex flex-column p-0 bg-transparent\">\n <datasets-top-controls\n :facets=\"facets\"\n :getPage=\"getPage\"\n :getLimit=\"getLimit\"\n class=\"datasets-top-controls\"\n />\n <div class=\"container-fluid datasets content\">\n <slot name=\"title\">\n <h1 class=\"row col-12 page-title catalog-title text-primary\" v-if=\"showCatalogDetails\">\n {{ getTranslationFor(getCatalog.title, $route.query.locale, getCatalog.languages) }}</h1>\n <h1 class=\"row col-12 page-title text-primary\" v-else>{{ $t('message.header.navigation.data.datasets') }}</h1>\n </slot>\n <slot\n name=\"content\"\n :datasets-count=\"getDatasetsCount\"\n :datasets=\"getDatasets\"\n :locale=\"$route.query.locale\"\n :loading=\"getLoading\"\n :use-dataset-facets=\"useDatasetFacets\"\n :facets=\"getFacets\"\n :available-facets=\"getAllAvailableFacets\"\n >\n <div class=\"row\">\n <div class=\"col d-flex d-md-none justify-content-end flex-wrap\">\n <button class=\"btn btn-primary mb-3 text-right text-white\" data-toggle=\"collapse\"\n data-target=\"#datasetFacets\" data-cy=\"btn-filter-toggle\"\n @click=\"filterCollapsed = !filterCollapsed\">\n <i class=\"material-icons small-icon align-bottom\" v-if=\"filterCollapsed\">arrow_drop_up</i>\n <i class=\"material-icons small-icon align-bottom\" v-else>arrow_drop_down</i>\n </button>\n </div>\n <datasets-facets\n v-if=\"useDatasetFacets\"\n class=\"col-md-3 col-12 mb-3 mb-md-0 px-0 collapse\" id=\"datasetFacets\"\n :dataScope=\"dataScope\"\n :available-facets=\"getAllAvailableFacets\"\n ></datasets-facets>\n<!-- <facets-->\n<!-- :facetsConfig=\"getAllAvailableFacets\"-->\n<!-- :facetsIds=\"$env.content.datasets.facets.defaultFacetOrder\"-->\n<!-- class=\"col-md-3 col-12 mb-3 mb-md-0 px-0 collapse\"-->\n<!-- id=\"datasetFacets\">-->\n<!-- </facets>-->\n <section class=\"col-md-9 col-12\">\n <slot name=\"datasets-filters\">\n <datasets-filters/>\n </slot>\n <slot name=\"datasets-found\" :data=\"{\n loading: getLoading,\n datasetsCount: getDatasetsCount,\n datasetsCountFormatted: getDatasetsCount.toLocaleString('fi'),\n loadingMessage: $t('message.datasets.loadingMessage'),\n countMessage: $t('message.datasets.countMessage'),\n }\">\n <div class=\"datasets-found alert alert-primary mt-3 d-flex flex-row\" role=\"status\"\n :class=\"{ 'alert-danger': getDatasetsCount <= 0 && !getLoading}\">\n <div>\n {{\n getLoading ? $t('message.datasets.loadingMessage') : `${getDatasetsCount.toLocaleString('fi')}\n ${$t('message.datasets.countMessage')}`\n }}\n </div>\n <div class=\"loading-spinner ml-3\" v-if=\"getLoading\"></div>\n </div>\n </slot>\n <div class=\"alert alert-warning mt-3 d-flex flex-row\" v-if=\"showScoreDisclaimer\">\n <span>\n {{ $t(\"message.datasets.scoreDisclaimer\") }}\n <app-link path=\"/mqa\" :query=\"{ locale: $route.query.locale }\" target=\"_blank\">\n <span>{{ $t(\"message.metadata.methodologyPage\") }}</span>\n </app-link>\n </span>\n </div>\n <!--\n <div class=\"alert alert-info mt-3\" v-if=\"getGeoBoundsById('modal-map')\">\n {{`${$t('message.datasets.geoBoundsMessagePre')}`}}<strong>{{getGeoBoundsById('modal-map')}}</strong>{{`. ${$t('message.datasets.geoBoundsMessageRemove')}`}}\n <button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-label=\"Close\" @click=\"resetGeoBounds('modal-map'); loadDatasets({})\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n -->\n <selectedFacetsOverview\n v-if=\"getFacets\"\n :selected-facets=\"getFacets\"\n :available-facets=\"getAllAvailableFacets\"\n >\n </selectedFacetsOverview>\n <template v-if=\"!getLoading\">\n <dataset-list :datasets=\"getDatasets\" :locale=\"$route.query.locale || 'en'\"></dataset-list>\n </template>\n <div class=\"loading-spinner mx-auto mt-3 mb-3\" v-if=\"getLoading\"></div>\n </section>\n </div>\n </slot>\n <div class=\"row\">\n <div class=\"column col-12 col-md-9 offset-md-3\">\n <pagination class=\"mt-3\"\n :items-count=\"getDatasetsCount\"\n :items-per-page=\"getLimit\"\n :get-page=\"getPage\"\n :get-page-count=\"getPageCount\"\n @setPageLimit=\"setPageLimit\"></pagination>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\n /* eslint-disable no-undef */\n import { mapActions, mapGetters } from 'vuex';\n import {\n debounce,\n has,\n groupBy,\n uniqBy,\n toPairs,\n isArray,\n isNil,\n } from 'lodash-es';\n import $ from 'jquery';\n import fileTypes from '../utils/fileTypes';\n import Pagination from '../widgets/Pagination.vue';\n import SelectedFacetsOverview from '../facets/SelectedFacetsOverview';\n import AppLink from '../widgets/AppLink.vue';\n import { getTranslationFor, truncate, getImg } from '../utils/helpers';\n import DatasetsTopControls from \"../datasets/DatasetsTopControls.vue\";\n import DatasetsFilters from \"../datasets/DatasetsFilters.vue\";\n import DatasetList from './DatasetList.vue'\n import { useDatasetsHead } from '../composables/head'\n // import Facets from \"../facets_2.0/Facets.vue\"\n import DatasetsFacets from './datasetsFacets/DatasetsFacets.vue';\nexport default {\n name: 'Datasets',\n components: {\n DatasetsFilters,\n DatasetsTopControls,\n appLink: AppLink,\n selectedFacetsOverview: SelectedFacetsOverview,\n datasetsFacets: DatasetsFacets,\n pagination: Pagination,\n DatasetList,\n // Facets\n },\n props: {\n infiniteScrolling: {\n type: Boolean,\n default: false,\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 baseUrl: this.$env.api.baseUrl,\n debouncedOnBottomScroll: debounce(this.onBottomScroll, 500),\n facetFields: [],\n lang: this.locale,\n filterCollapsed: true,\n catalogAllowed: false,\n useDatasetFacets: this.$env.content.datasets.facets.useDatasetFacets\n };\n },\n computed: {\n ...mapGetters('catalogDetails', [\n 'getCatalog',\n ]),\n ...mapGetters('datasets', [\n 'getDatasets',\n 'getDatasetsCount',\n 'getLimit',\n 'getLoading',\n 'getOffset',\n 'getPage',\n 'getPageCount',\n 'getMinScoring',\n 'getMaxScoring'\n ]),\n ...mapGetters('datasets', {\n // Rename getters to something different because we'll perform some modifications on them.\n // These modifications involve removing catalog related information from facets for fixed catalog filter mode\n getAllAvailableFacetsOriginal: 'getAllAvailableFacets',\n getFacetsOriginal: 'getFacets',\n }),\n showCatalogDetails() {\n return !isNil(this.$route.params.ctlg_id) || this.fixedCatalogFilter;\n },\n /**\n * @description Returns the current page.\n * @returns {Number}\n *\n * @deprecated use getPage from datasets store instead\n */\n page() {\n return this.$route.query.page;\n },\n /**\n * @description Returns the active facets according to the route parameters.\n * @returns {Object}\n */\n facets() {\n const facetFields = this.$env.content.datasets.facets.defaultFacetOrder;\n const wantsToLoadCatalogByParamOrProp = this.showCatalogDetails;\n\n const facetObj = facetFields.reduce((acc, field) => {\n acc[field] = (wantsToLoadCatalogByParamOrProp && field === 'catalog' && !this.fixedCatalogFilter)\n ? [this.$route.params.ctlg_id || undefined]\n : this.getUrlFacetsOrDefault(field);\n\n return acc;\n }, {});\n\n // if fixedCatalogFilter is set, then set it as superCatalog\n // requirement by bayern\n const facetObjWithMaybeDefaultSuperCatalog = this.fixedCatalogFilter\n ? {\n ...facetObj,\n superCatalog: [this.fixedCatalogFilter],\n }\n : facetObj;\n\n return facetObjWithMaybeDefaultSuperCatalog;\n },\n\n getAllAvailableFacets() {\n return this.showCatalogDetails\n ? this.getAllAvailableFacetsOriginal.filter(facet => facet.id !== 'catalog')\n : this.getAllAvailableFacetsOriginal;\n },\n\n getFacets() {\n // Returns a record of facets with the catalog facet removed if we're in fixed catalog filter mode\n return this.showCatalogDetails\n ? {\n ...this.getFacetsOriginal,\n catalog: []\n }\n : this.getFacetsOriginal;\n },\n\n currentSearchQuery() {\n return this.$route.query.query;\n },\n showScoreDisclaimer() {\n return this.getMinScoring > 0;\n },\n dataScope() {\n if (!this.$route.query.dataScope) return null;\n if (isArray(this.$route.query.dataScope) && this.$route.query.dataScope.length > 0) return this.$route.query.dataScope[0];\n if (isArray(this.$route.query.dataScope) && this.$route.query.dataScope.length === 0) return null;\n return this.$route.query.dataScope;\n },\n },\n methods: {\n isNil,\n ...mapActions('datasets', [\n 'loadDatasets',\n 'loadAdditionalDatasets',\n 'setPage',\n 'setSort',\n 'addFacet',\n 'removeFacet',\n 'setFacets',\n 'setFacetOperator',\n 'setFacetGroupOperator',\n 'setDataServices',\n 'setPageCount',\n 'setLimit',\n 'setLoading',\n 'setDataScope',\n 'setMaxScoring'\n ]),\n // The imported Lodash has function. Must be defined in Methods so we can use it in template\n has,\n isArray,\n truncate,\n getTranslationFor,\n getImg,\n /**\n * @description Handler-function for the scroll event.\n */\n onScroll() {\n const items = this.$el.querySelectorAll('.dataset');\n const lastItem = items[items.length - 1];\n if (lastItem) {\n const lastItemPos = lastItem.getBoundingClientRect();\n if (lastItemPos.bottom - window.innerHeight <= 0) {\n this.debouncedOnBottomScroll();\n }\n }\n },\n /**\n * @description Handler-function when bottom of the page is reached.\n */\n onBottomScroll() {\n this.$nextTick(() => {\n this.$Progress.start();\n this.loadAdditionalDatasets()\n .then(() => {\n this.$Progress.finish();\n })\n .catch(() => {\n this.$Progress.fail();\n });\n });\n },\n initLimit() {\n const limit = parseInt(this.$route.query.limit, 10);\n if (limit > 0) this.setLimit(limit);\n },\n initMaxScoring() {\n const maxScoring = parseInt(this.$route.query.maxScoring, 10);\n if (maxScoring > 0) this.setMaxScoring(maxScoring);\n},\n initSort() {\n const sort = this.$route.query.sort;\n if (sort) this.setSort(sort);\n },\n setPageLimit(value) {\n this.setLimit(value);\n this.initDatasets();\n },\n initDataScope() {\n this.setDataScope(this.dataScope);\n },\n /**\n * @description Determines the current page.\n */\n initPage() {\n const page = parseInt(this.$route.query.page, 10);\n if (page > 0) this.setPage(page);\n else this.setPage(1);\n },\n /**\n * @descritption Initialize the active facets by checking the route parameters\n */\n initFacets() {\n const fields = this.$env.content.datasets.facets.defaultFacetOrder;\n const facetsFromRouteParams = this.facets;\n\n this.facetFields.push(...fields);\n\n // Get fields that don't exist in the router query\n const fieldsNotInRouterQuery = fields.filter(field => {\n const fieldExists = facetsFromRouteParams[field] && facetsFromRouteParams[field].length > 0;\n return !fieldExists && !this.$route.query[field];\n });\n\n // Construct route query parameters to be added\n const routeQueryParamsToBeAdded = fieldsNotInRouterQuery.reduce((acc, field) => {\n acc[field] = [];\n return acc;\n }, {});\n // Add the route query params that are missing\n if (Object.keys(routeQueryParamsToBeAdded) > 0) {\n this.$router.push({query: {...this.$route.query, ...routeQueryParamsToBeAdded}});\n }\n\n this.setFacets(facetsFromRouteParams);\n },\n\n\n getUrlFacetsOrDefault(field) {\n const urlFacets = this.$route.query[field];\n return Array.isArray(urlFacets) ? urlFacets : (urlFacets ? [urlFacets] : []);\n },\n\n initFacetOperator() {\n // Always set facet operator to AND when in catalog details mode\n if (this.showCatalogDetails) this.setFacetOperator('AND');\n else {\n const op = this.$route.query.facetOperator;\n if (op === 'AND' || op === 'OR') this.setFacetOperator(op);\n }\n },\n initFacetGroupOperator() {\n // The facetGroupOperator should be the same as the facetOperator\n // Always set facet operator to AND when\n // in catalog details mode\n if (this.showCatalogDetails) this.setFacetGroupOperator('AND');\n else {\n const op = this.$route.query.facetOperator;\n if (op === 'AND' || op === 'OR') this.setFacetGroupOperator(op);\n }\n },\n /**\n * @descritption Initialize the active data services facet by checking the route parameters\n */\n initDataServices() {\n const ds = this.$route.query.dataServices;\n if (ds === 'true' || ds === 'false') this.setDataServices(ds);\n else {\n this.setDataServices('false');\n }\n },\n initDatasets() {\n this.$nextTick(() => {\n this.$nextTick(() => {\n this.$Progress.start();\n this.loadDatasets({locale: this.$route.query.locale})\n .then(() => {\n this.setPageCount(Math.ceil(this.getDatasetsCount / this.getLimit));\n this.$Progress.finish();\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n });\n })\n .catch((error) => {\n console.error(error)\n this.$Progress.fail();\n })\n .finally(() => this.$root.$emit('contentLoaded'));\n });\n });\n },\n initInfiniteScrolling() {\n if (this.infiniteScrolling) window.addEventListener('scroll', this.onScroll);\n },\n getFileTypeColor(format) {\n return fileTypes.getFileTypeColor(format);\n },\n },\n watch: {\n // eslint-disable-next-line object-shorthand\n page(pageStr) {\n const page = parseInt(pageStr, 10);\n if (page > 0) this.setPage(page);\n else this.setPage(1);\n },\n dataScope: {\n handler() {\n this.initDataScope();\n },\n deep: true,\n },\n },\n created() {\n this.initDataScope();\n this.initLimit();\n this.initSort();\n this.initPage();\n this.initFacetOperator();\n this.initFacetGroupOperator();\n this.initDataServices();\n this.initFacets();\n this.initMaxScoring()\n this.initDatasets();\n this.initInfiniteScrolling();\n },\n mounted() {\n // This is supposed to fix the browser issue (https://gitlab.fokus.fraunhofer.de/piveau/organisation/piveau-scrum-board/-/issues/2344)\n if (this.$route.query.refresh === 'true') {\n this.$nextTick(() => {\n this.$nextTick(() => {\n this.loadDatasets({locale: this.$route.query.locale})\n .then(() => {\n this.$router.push({query: {locale: this.$route.query.locale}});\n })\n .catch(() => {\n this.$Progress.fail();\n });\n });\n });\n }\n },\n beforeUnmount() {\n $('.tooltip').remove();\n if (this.infiniteScrolling) window.removeEventListener('scroll', this.onScroll);\n },\n setup() {\n useDatasetsHead();\n }\n};\n</script>\n\n<style lang=\"scss\" scoped>\n\n.alert-primary {\n color: #042648;\n background-color: #cddbe8;\n border-color: #baccdf;\n}\n\n.page-title {\n // maybe we can change custom theme h1 to 3rem\n font-size: 3rem;\n margin-bottom: 15px;\n}\n\n.content {\n padding: 30px 30px 0 30px;\n margin-top: 15px;\n margin-bottom: 15px;\n background-color: white;\n}\n\n.router-link-active {\n color: #175baf !important;\n border: none !important;\n border-bottom: 2px solid #175baf !important;\n}\n\n.router-link-inactive {\n color: rgba(0, 0, 0, 0.7);\n border: none !important;\n\n &:hover {\n color: #175baf;\n }\n}\n\n.material-icons.small-icon {\n font-size: 20px;\n}\n\n@media screen and (min-width: 768px) {\n #datasetFacets {\n display: block\n }\n}\n</style>\n"],"names":["_sfc_main","DatasetsFilters","DatasetsTopControls","AppLink","SelectedFacetsOverview","DatasetsFacets","Pagination","DatasetList","debounce","mapGetters","isNil","facetFields","wantsToLoadCatalogByParamOrProp","facetObj","acc","field","facet","isArray","mapActions","has","truncate","getTranslationFor","getImg","items","lastItem","limit","maxScoring","sort","value","page","fields","facetsFromRouteParams","routeQueryParamsToBeAdded","urlFacets","op","ds","$","error","format","fileTypes","pageStr","useDatasetsHead","_hoisted_1","_hoisted_2","_hoisted_5","_hoisted_6","_hoisted_9","_hoisted_13","_hoisted_14","_openBlock","_createElementBlock","_createVNode","_component_datasets_top_controls","$options","_ctx","_createElementVNode","_renderSlot","_hoisted_3","_toDisplayString","_hoisted_4","$data","_cache","$event","_hoisted_7","_hoisted_8","_createBlock","_component_datasets_facets","_component_datasets_filters","_normalizeClass","_hoisted_10","_hoisted_11","_createTextVNode","_component_app_link","_component_selectedFacetsOverview","_component_dataset_list","_hoisted_12","_component_pagination"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsIA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,YAAY;AAAA,IACV,iBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,SAASC;AAAA,IACT,wBAAwBC;AAAA,IACxB,gBAAgBC;AAAA,IAChB,YAAYC;AAAA,iBACZC;AAAAA;AAAAA,EAED;AAAA,EACD,OAAO;AAAA,IACL,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAKD,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACD;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,SAAS,KAAK,KAAK,IAAI;AAAA,MACvB,yBAAyBC,EAAS,KAAK,gBAAgB,GAAG;AAAA,MAC1D,aAAa,CAAE;AAAA,MACf,MAAM,KAAK;AAAA,MACX,iBAAiB;AAAA,MACjB,gBAAgB;AAAA,MAChB,kBAAkB,KAAK,KAAK,QAAQ,SAAS,OAAO;AAAA;EAEvD;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,kBAAkB;AAAA,MAC9B;AAAA,IACF,CAAC;AAAA,IACD,GAAGA,EAAW,YAAY;AAAA,MACxB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACD,GAAGA,EAAW,YAAY;AAAA;AAAA;AAAA,MAGxB,+BAA+B;AAAA,MAC/B,mBAAmB;AAAA,IACrB,CAAC;AAAA,IACD,qBAAqB;AACnB,aAAO,CAACC,EAAM,KAAK,OAAO,OAAO,OAAO,KAAK,KAAK;AAAA,IACnD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,OAAO;AACL,aAAO,KAAK,OAAO,MAAM;AAAA,IAC1B;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,SAAS;AACR,YAAMC,IAAc,KAAK,KAAK,QAAQ,SAAS,OAAO,mBAChDC,IAAkC,KAAK,oBAEvCC,IAAWF,EAAY,OAAO,CAACG,GAAKC,OACxCD,EAAIC,CAAK,IAAKH,KAAmCG,MAAU,aAAa,CAAC,KAAK,qBAC1E,CAAC,KAAK,OAAO,OAAO,WAAW,MAAS,IACxC,KAAK,sBAAsBA,CAAK,GAE7BD,IACN,CAAE,CAAA;AAWH,aAP2C,KAAK,qBAC9C;AAAA,QACA,GAAGD;AAAA,QACH,cAAc,CAAC,KAAK,kBAAkB;AAAA,MACxC,IACEA;AAAA,IAGL;AAAA,IAED,wBAAwB;AACtB,aAAO,KAAK,qBACR,KAAK,8BAA8B,OAAO,CAAAG,MAASA,EAAM,OAAO,SAAS,IACzE,KAAK;AAAA,IACV;AAAA,IAED,YAAY;AAEV,aAAO,KAAK,qBACR;AAAA,QACA,GAAG,KAAK;AAAA,QACR,SAAS,CAAC;AAAA,MACZ,IACE,KAAK;AAAA,IACV;AAAA,IAED,qBAAqB;AACnB,aAAO,KAAK,OAAO,MAAM;AAAA,IAC1B;AAAA,IACD,sBAAsB;AACpB,aAAO,KAAK,gBAAgB;AAAA,IAC7B;AAAA,IACD,YAAY;AACV,aAAK,KAAK,OAAO,MAAM,YACnBC,EAAQ,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,OAAO,MAAM,UAAU,SAAS,IAAU,KAAK,OAAO,MAAM,UAAU,CAAC,IACpHA,EAAQ,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,OAAO,MAAM,UAAU,WAAW,IAAU,OACtF,KAAK,OAAO,MAAM,YAHgB;AAAA,IAI1C;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,OAAAP;AAAA,IACA,GAAGQ,EAAW,YAAY;AAAA,MACxB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA;AAAA,IAED,KAAAC;AAAA,IACA,SAAAF;AAAA,IACA,UAAAG;AAAA,IACA,mBAAAC;AAAA,IACA,QAAAC;AAAA;AAAA;AAAA;AAAA,IAIA,WAAW;AACT,YAAMC,IAAQ,KAAK,IAAI,iBAAiB,UAAU,GAC5CC,IAAWD,EAAMA,EAAM,SAAS,CAAC;AACvC,MAAIC,KACkBA,EAAS,wBACb,SAAS,OAAO,eAAe,KAC7C,KAAK,wBAAuB;AAAA,IAGjC;AAAA;AAAA;AAAA;AAAA,IAID,iBAAiB;AACf,WAAK,UAAU,MAAM;AACnB,aAAK,UAAU,SACf,KAAK,uBAAuB,EACvB,KAAK,MAAM;AACV,eAAK,UAAU;SAChB,EACA,MAAM,MAAM;AACX,eAAK,UAAU;QACjB,CAAC;AAAA,MACL,CAAC;AAAA,IACJ;AAAA,IACD,YAAY;AACV,YAAMC,IAAQ,SAAS,KAAK,OAAO,MAAM,OAAO,EAAE;AAClD,MAAIA,IAAQ,KAAG,KAAK,SAASA,CAAK;AAAA,IACnC;AAAA,IACD,iBAAiB;AACnB,YAAMC,IAAa,SAAS,KAAK,OAAO,MAAM,YAAY,EAAE;AAC5D,MAAIA,IAAa,KAAG,KAAK,cAAcA,CAAU;AAAA,IACnD;AAAA,IACI,WAAW;AACT,YAAMC,IAAO,KAAK,OAAO,MAAM;AAC/B,MAAIA,KAAM,KAAK,QAAQA,CAAI;AAAA,IAC5B;AAAA,IACD,aAAaC,GAAO;AAClB,WAAK,SAASA,CAAK,GACnB,KAAK,aAAY;AAAA,IAClB;AAAA,IACD,gBAAgB;AACd,WAAK,aAAa,KAAK,SAAS;AAAA,IACjC;AAAA;AAAA;AAAA;AAAA,IAID,WAAW;AACT,YAAMC,IAAO,SAAS,KAAK,OAAO,MAAM,MAAM,EAAE;AAChD,MAAIA,IAAO,IAAG,KAAK,QAAQA,CAAI,IAC1B,KAAK,QAAQ,CAAC;AAAA,IACpB;AAAA;AAAA;AAAA;AAAA,IAIA,aAAa;AACZ,YAAMC,IAAS,KAAK,KAAK,QAAQ,SAAS,OAAO,mBAC3CC,IAAwB,KAAK;AAEnC,WAAK,YAAY,KAAK,GAAGD,CAAM;AAS/B,YAAME,IANyBF,EAAO,OAAO,CAAAf,MAEpC,EADagB,EAAsBhB,CAAK,KAAKgB,EAAsBhB,CAAK,EAAE,SAAS,MACnE,CAAC,KAAK,OAAO,MAAMA,CAAK,CAChD,EAGwD,OAAO,CAACD,GAAKC,OACpED,EAAIC,CAAK,IAAI,IACND,IACN,CAAE,CAAA;AAEL,MAAI,OAAO,KAAKkB,CAAyB,IAAI,KAC3C,KAAK,QAAQ,KAAK,EAAC,OAAO,EAAC,GAAG,KAAK,OAAO,OAAO,GAAGA,EAAyB,EAAC,CAAC,GAGjF,KAAK,UAAUD,CAAqB;AAAA,IACrC;AAAA,IAGD,sBAAsBhB,GAAO;AAC3B,YAAMkB,IAAY,KAAK,OAAO,MAAMlB,CAAK;AACzC,aAAO,MAAM,QAAQkB,CAAS,IAAIA,IAAaA,IAAY,CAACA,CAAS,IAAI,CAAA;AAAA,IAC1E;AAAA,IAED,oBAAoB;AAElB,UAAI,KAAK;AAAoB,aAAK,iBAAiB,KAAK;AAAA,WACnD;AACH,cAAMC,IAAK,KAAK,OAAO,MAAM;AAC7B,SAAIA,MAAO,SAASA,MAAO,SAAM,KAAK,iBAAiBA,CAAE;AAAA,MAC3D;AAAA,IACD;AAAA,IACD,yBAAyB;AAIvB,UAAI,KAAK;AAAoB,aAAK,sBAAsB,KAAK;AAAA,WACxD;AACH,cAAMA,IAAK,KAAK,OAAO,MAAM;AAC7B,SAAIA,MAAO,SAASA,MAAO,SAAM,KAAK,sBAAsBA,CAAE;AAAA,MAChE;AAAA,IACD;AAAA;AAAA;AAAA;AAAA,IAID,mBAAmB;AACjB,YAAMC,IAAK,KAAK,OAAO,MAAM;AAC7B,MAAIA,MAAO,UAAUA,MAAO,UAAS,KAAK,gBAAgBA,CAAE,IAE1D,KAAK,gBAAgB,OAAO;AAAA,IAE/B;AAAA,IACD,eAAe;AACb,WAAK,UAAU,MAAM;AACnB,aAAK,UAAU,MAAM;AACnB,eAAK,UAAU,SACf,KAAK,aAAa,EAAC,QAAQ,KAAK,OAAO,MAAM,OAAM,CAAC,EACjD,KAAK,MAAM;AACV,iBAAK,aAAa,KAAK,KAAK,KAAK,mBAAmB,KAAK,QAAQ,CAAC,GAClE,KAAK,UAAU,UACfC,EAAE,yBAAyB,EAAE,QAAQ;AAAA,cACnC,WAAW;AAAA,YACb,CAAC;AAAA,WACF,EACA,MAAM,CAACC,MAAU;AAChB,oBAAQ,MAAMA,CAAK,GACnB,KAAK,UAAU;WAChB,EACA,QAAQ,MAAM,KAAK,MAAM,MAAM,eAAe,CAAC;AAAA,QACpD,CAAC;AAAA,MACH,CAAC;AAAA,IACF;AAAA,IACD,wBAAwB;AACtB,MAAI,KAAK,qBAAmB,OAAO,iBAAiB,UAAU,KAAK,QAAQ;AAAA,IAC5E;AAAA,IACD,iBAAiBC,GAAQ;AACvB,aAAOC,EAAU,iBAAiBD,CAAM;AAAA,IACzC;AAAA,EACF;AAAA,EACD,OAAO;AAAA;AAAA,IAEL,KAAKE,GAAS;AACZ,YAAMX,IAAO,SAASW,GAAS,EAAE;AACjC,MAAIX,IAAO,IAAG,KAAK,QAAQA,CAAI,IAC1B,KAAK,QAAQ,CAAC;AAAA,IACpB;AAAA,IACD,WAAW;AAAA,MACT,UAAU;AACR,aAAK,cAAa;AAAA,MACnB;AAAA,MACD,MAAM;AAAA,IACP;AAAA,EACF;AAAA,EACD,UAAU;AACR,SAAK,cAAa,GAClB,KAAK,UAAS,GACd,KAAK,SAAQ,GACb,KAAK,SAAQ,GACb,KAAK,kBAAiB,GACtB,KAAK,uBAAsB,GAC3B,KAAK,iBAAgB,GACrB,KAAK,WAAU,GACf,KAAK,eAAe,GACpB,KAAK,aAAY,GACjB,KAAK,sBAAqB;AAAA,EAC3B;AAAA,EACD,UAAU;AAER,IAAI,KAAK,OAAO,MAAM,YAAY,UAChC,KAAK,UAAU,MAAM;AACnB,WAAK,UAAU,MAAM;AACnB,aAAK,aAAa,EAAC,QAAQ,KAAK,OAAO,MAAM,OAAM,CAAC,EAC/C,KAAK,MAAM;AACV,eAAK,QAAQ,KAAK,EAAC,OAAO,EAAC,QAAQ,KAAK,OAAO,MAAM,OAAM,EAAC,CAAC;AAAA,SAC9D,EACA,MAAM,MAAM;AACX,eAAK,UAAU;QACjB,CAAC;AAAA,MACP,CAAC;AAAA,IACH,CAAC;AAAA,EAEJ;AAAA,EACD,gBAAgB;AACd,IAAAO,EAAE,UAAU,EAAE,UACV,KAAK,qBAAmB,OAAO,oBAAoB,UAAU,KAAK,QAAQ;AAAA,EAC/E;AAAA,EACD,QAAQ;AACN,IAAAK;EACF;AACF,GA/dOC,IAAA,EAAA,OAAM,2DAA0D,GAO9DC,IAAA,EAAA,OAAM,mCAAkC;;EAErC,OAAM;;;EAEN,OAAM;GAYLC,IAAA,EAAA,OAAM,MAAK,GACTC,IAAA,EAAA,OAAM,qDAAoD;;EAIxD,OAAM;;;EACN,OAAM;GAeJC,KAAA,EAAA,OAAM,kBAAiB;;EAmBrB,OAAM;;;EAGV,OAAM;;;EAyBN,OAAM;GAIZC,KAAA,EAAA,OAAM,MAAK,GACTC,KAAA,EAAA,OAAM,qCAAoC;;;AAhGrD,SAAAC,EAAA,GAAAC,EA0GM,OA1GNR,GA0GM;AAAA,IAzGJS,EAKEC,GAAA;AAAA,MAJG,QAAQC,EAAM;AAAA,MACd,SAASC,EAAO;AAAA,MAChB,UAAUA,EAAQ;AAAA,MACnB,OAAM;AAAA;;IAEVC,EAkGM,OAlGNZ,GAkGM;AAAA,MAjGJa,EAIOF,uBAJP,MAIO;AAAA,QAH8DD,EAAkB,sBAArFJ,EAAA,GAAAC,EAC2F,MAD3FO,GAC2FC,EAAtFL,EAAiB,kBAACC,aAAW,OAAOA,EAAA,OAAO,MAAM,QAAQA,EAAA,WAAW,SAAS,CAAA,GAAA,CAAA,WAClFJ,EAA8G,MAA9GS,GAA8GD,EAArDJ,EAAE,GAAA,yCAAA,CAAA,GAAA,CAAA;AAAA;;MAE7DE,EAiFOF,EAAA,QAAA,WAAA;AAAA,QA/EF,eAAgBA,EAAgB;AAAA,QAChC,UAAUA,EAAW;AAAA,QACrB,QAAQA,EAAA,OAAO,MAAM;AAAA,QACrB,SAASA,EAAU;AAAA,QACnB,kBAAoBM,EAAgB;AAAA,QACpC,QAAQP,EAAS;AAAA,QACjB,iBAAkBA,EAAqB;AAAA,SAR5C,MAiFO;AAAA,QAvELE,EAsEM,OAtENX,GAsEM;AAAA,UArEJW,EAOM,OAPNV,GAOM;AAAA,YANJU,EAKS,UAAA;AAAA,cALD,OAAM;AAAA,cAA6C,eAAY;AAAA,cAC/D,eAAY;AAAA,cAAiB,WAAQ;AAAA,cACpC,SAAKM,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,OAAEF,EAAe,kBAAA,CAAIA,EAAe;AAAA;cACQA,EAAe,wBAAvEV,EAA0F,KAA1Fa,GAAyE,eAAa,WACtFb,EAA4E,KAA5Ec,GAAyD,iBAAe;AAAA;;;UAIpEJ,EAAgB,yBADxBK,EAKmBC,GAAA;AAAA;YAHjB,OAAM;AAAA,YAA6C,IAAG;AAAA,YACrD,WAAWb,EAAS;AAAA,YACpB,oBAAkBA,EAAqB;AAAA;;UAQ1CE,EAgDU,WAhDVT,IAgDU;AAAA,YA/CRU,EAEOF,kCAFP,MAEO;AAAA,cADLH,EAAmBgB,CAAA;AAAA;;YAErBX,EAiBOF,EAAA,QAAA,kBAAA;AAAA,cAjBsB,MAAI;AAAA,yBAA2BA,EAAU;AAAA,+BAA+BA,EAAgB;AAAA,gBAAwC,wBAAAA,EAAA,iBAAiB,eAAc,IAAA;AAAA,gCAAsCA,EAAE,GAAA,iCAAA;AAAA,8BAAiEA,EAAE,GAAA,+BAAA;AAAA;eAAvS,MAiBO;AAAA,cAVLC,EASM,OAAA;AAAA,gBATD,OAAMa,EAAA,CAAA,2DACoB,EAAA,gBAAAd,EAAA,0BAA0BA,EAAU,WAAA,CAAA,CAAA;AAAA,gBADE,MAAK;AAAA;gBAExEC,EAKM,eAHFD,EAAU,aAAGA,KAA2C,iCAAA,IAAA,GAAAA,EAAA,iBAAiB,eAAc,IAAA,CAAA;AAAA,oBAA4BA,EAAE,GAAA,+BAAA,CAAA,EAAA,GAAA,CAAA;AAAA;gBAIjFA,EAAU,cAAlDL,KAAAC,EAA0D,OAA1DmB,EAA0D;;;;YAGFhB,EAAmB,uBAA/EJ,KAAAC,EAOM,OAPNoB,IAOM;AAAA,cANJf,EAKO,QAAA,MAAA;AAAA,gBAJFgB,EAAAb,EAAAJ,EAAA,0CAAyC,KAC5C,CAAA;AAAA,gBAAAH,EAEWqB,GAAA;AAAA,kBAFD,MAAK;AAAA,kBAAQ,OAAiB,EAAA,QAAAlB,EAAA,OAAO,MAAM,OAAM;AAAA,kBAAI,QAAO;AAAA;6BACpE,MAAyD;AAAA,oBAAzDC,EAAyD,gBAAhDD,EAAE,GAAA,kCAAA,CAAA,GAAA,CAAA;AAAA;;;;;;YAaTD,EAAS,kBADjBY,EAKyBQ,GAAA;AAAA;cAHtB,mBAAiBpB,EAAS;AAAA,cAC1B,oBAAkBA,EAAqB;AAAA;;YAGzBC,EAAU,+BACzBW,EAA2FS,GAAA;AAAA;cAA5E,UAAUpB,EAAW;AAAA,cAAG,QAAQA,EAAA,OAAO,MAAM,UAAM;AAAA;;YAEfA,EAAU,cAA/DL,KAAAC,EAAuE,OAAvEyB,EAAuE;;;;;MAI7EpB,EASM,OATNR,IASM;AAAA,QARJQ,EAOM,OAPNP,IAOM;AAAA,UANJG,EAKsDyB,GAAA;AAAA,YAL1C,OAAM;AAAA,YACL,eAAatB,EAAgB;AAAA,YAC7B,kBAAgBA,EAAQ;AAAA,YACxB,YAAUA,EAAO;AAAA,YACjB,kBAAgBA,EAAY;AAAA,YAC5B,gBAAcD,EAAY;AAAA;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { mapGetters as y, mapActions as C } from "vuex";
2
- import { isNil as f, isArray as h, isObject as D, isString as E, has as q, isNumber as R } from "lodash-es";
3
- import M from "./DatasetsFacetsItem.vue.mjs";
2
+ import { isNil as f, isArray as h, isObject as D, isString as E, has as q, isNumber as M } from "lodash-es";
3
+ import R from "./DatasetsFacetsItem.vue.mjs";
4
4
  import { getTranslationFor as k, getFacetTranslation as I } from "../../utils/helpers.mjs";
5
5
  import P from "./DatasetsMapFacet.vue.mjs";
6
6
  import $ from "../../facets/CatalogDetailsFacet.vue.mjs";
@@ -16,7 +16,7 @@ import "../../configurations/config-schema/languagesSchema.mjs";
16
16
  import "../../configurations/config-schema/themesSchema.mjs";
17
17
  import "../../configurations/config-schema/trackerSchema.mjs";
18
18
  import "../../configurations/config-schema/configSchema.mjs";
19
- import { resolveComponent as u, openBlock as c, createElementBlock as d, createElementVNode as m, renderSlot as T, createVNode as v, createTextVNode as l, createBlock as p, createCommentVNode as g, Fragment as L, renderList as B, normalizeClass as j } from "vue";
19
+ import { resolveComponent as u, openBlock as n, createElementBlock as d, createElementVNode as m, renderSlot as T, createVNode as v, createTextVNode as l, createBlock as p, createCommentVNode as g, Fragment as L, renderList as B, normalizeClass as j } from "vue";
20
20
  import "vue-router";
21
21
  import "vue-i18n";
22
22
  import { useDatasetsFacetsHead as U } from "../../composables/head/useDatasetsFacetsHead.mjs";
@@ -28,7 +28,7 @@ const N = {
28
28
  SettingsFacet: G,
29
29
  CatalogDetailsFacet: $,
30
30
  DatasetsMapFacet: P,
31
- DatasetsFacetsItem: M
31
+ DatasetsFacetsItem: R
32
32
  },
33
33
  props: {
34
34
  dataScope: {
@@ -129,8 +129,8 @@ const N = {
129
129
  const t = this.resolvedAvailableFacets, e = [], a = [];
130
130
  let o = Object.keys(this.getFacets).filter((s) => this.getFacets[s].length > 0);
131
131
  this.defaultFacetOrder.forEach((s) => {
132
- t.forEach((n) => {
133
- s === n.id && n.items.length > 0 && (o.includes(n.id) ? e.push(n) : a.push(n));
132
+ t.forEach((c) => {
133
+ s === c.id && c.items.length > 0 && (o.includes(c.id) ? e.push(c) : a.push(c));
134
134
  });
135
135
  });
136
136
  const r = e.concat(a);
@@ -157,7 +157,7 @@ const N = {
157
157
  isString: E,
158
158
  has: q,
159
159
  isNil: f,
160
- isNumber: R,
160
+ isNumber: M,
161
161
  getTranslationFor: k,
162
162
  getFacetTranslation: I,
163
163
  ...C("catalogDetails", [
@@ -207,8 +207,8 @@ const N = {
207
207
  facetIsSelected(t, e) {
208
208
  const a = e.id;
209
209
  if (t === "scoring") {
210
- const r = parseInt(this.getMinScoring, 10), s = this.$route.query[t];
211
- return !s || !r ? e.minScoring === 0 : s && r === e.minScoring;
210
+ const r = parseInt(this.getMinScoring, 10), s = this.getMaxScoring, c = this.$route.query[t];
211
+ return !c || !r ? e.minScoring === 0 : c && r === e.minScoring && s === e.maxScoring;
212
212
  }
213
213
  if (!Object.prototype.hasOwnProperty.call(this.$route.query, t))
214
214
  return !1;
@@ -325,30 +325,30 @@ const N = {
325
325
  setup() {
326
326
  U();
327
327
  }
328
- }, Q = { class: "container dataset-facets" }, V = { class: "row mx-3 mr-md-0" }, x = { class: "col" }, X = {
328
+ }, Q = { class: "container dataset-facets" }, x = { class: "row mx-3 mr-md-0" }, V = { class: "col" }, X = {
329
329
  key: 1,
330
330
  class: "row h5 font-weight-bold mt-4 mb-3"
331
331
  };
332
332
  function z(t, e, a, o, r, s) {
333
- const n = u("datasets-map-facet"), O = u("catalog-details-facet"), b = u("settings-facet"), F = u("radio-facet"), _ = u("select-facet"), w = u("pv-show-more"), A = u("pv-button");
334
- return c(), d("div", Q, [
335
- m("div", V, [
333
+ const c = u("datasets-map-facet"), O = u("catalog-details-facet"), b = u("settings-facet"), F = u("radio-facet"), _ = u("select-facet"), w = u("pv-show-more"), A = u("pv-button");
334
+ return n(), d("div", Q, [
335
+ m("div", x, [
336
336
  T(t.$slots, "content", { facets: s.getSortedFacets }, () => [
337
- m("div", x, [
338
- v(n, { showCatalogDetails: r.showCatalogDetails }, null, 8, ["showCatalogDetails"]),
337
+ m("div", V, [
338
+ v(c, { showCatalogDetails: r.showCatalogDetails }, null, 8, ["showCatalogDetails"]),
339
339
  e[2] || (e[2] = l()),
340
- r.showCatalogDetails ? (c(), p(O, {
340
+ r.showCatalogDetails ? (n(), p(O, {
341
341
  key: 0,
342
342
  class: "catalog-details",
343
343
  catalog: r.catalog,
344
344
  catalogLanguageIds: s.catalogLanguageIds
345
345
  }, null, 8, ["catalog", "catalogLanguageIds"])) : g("", !0),
346
346
  e[3] || (e[3] = l()),
347
- r.showFacetsTitle ? (c(), d("span", X, "Filter by")) : g("", !0),
347
+ r.showFacetsTitle ? (n(), d("span", X, "Filter by")) : g("", !0),
348
348
  e[4] || (e[4] = l()),
349
349
  v(b, { class: "row facet-field mb-3" }),
350
350
  e[5] || (e[5] = l()),
351
- (c(!0), d(L, null, B(s.getSortedFacets, (i, S) => (c(), d("div", {
351
+ (n(!0), d(L, null, B(s.getSortedFacets, (i, S) => (n(), d("div", {
352
352
  class: j(["row facet-field mb-3", { "mt-3": S > 0 }]),
353
353
  key: `facet@${i.id}`
354
354
  }, [
@@ -363,7 +363,7 @@ function z(t, e, a, o, r, s) {
363
363
  facetClicked: s.facetClicked,
364
364
  isMultiSelect: s.isMultiSelect
365
365
  }, () => [
366
- i.id === "dataServices" ? (c(), p(F, {
366
+ i.id === "dataServices" ? (n(), p(F, {
367
367
  key: 0,
368
368
  title: r.dataServices.title,
369
369
  property: r.dataServices.property,
@@ -374,7 +374,7 @@ function z(t, e, a, o, r, s) {
374
374
  change: s.changeDataServices
375
375
  }, null, 8, ["title", "property", "toolTipTitle", "optionLabels", "initialOption", "change"])) : g("", !0),
376
376
  e[0] || (e[0] = l()),
377
- i.id === "superCatalog" ? (c(), p(F, {
377
+ i.id === "superCatalog" ? (n(), p(F, {
378
378
  key: 1,
379
379
  title: r.erpd.title,
380
380
  property: r.erpd.property,
@@ -385,7 +385,7 @@ function z(t, e, a, o, r, s) {
385
385
  change: s.changeErpd
386
386
  }, null, 8, ["title", "property", "toolTipTitle", "optionLabels", "initialOption", "change"])) : g("", !0),
387
387
  e[1] || (e[1] = l()),
388
- i.id !== "superCatalog" && i.id !== "dataServices" ? (c(), p(_, {
388
+ i.id !== "superCatalog" && i.id !== "dataServices" ? (n(), p(_, {
389
389
  key: 2,
390
390
  fieldId: i.id,
391
391
  header: s.facetTitle(i.id),
@@ -401,7 +401,7 @@ function z(t, e, a, o, r, s) {
401
401
  ], 2))), 128)),
402
402
  e[6] || (e[6] = l()),
403
403
  m("div", null, [
404
- s.showMoreFacetsShown ? (c(), p(w, {
404
+ s.showMoreFacetsShown ? (n(), p(w, {
405
405
  key: 0,
406
406
  label: r.cutoff >= 0 ? t.$t("message.datasetFacets.moreFilters") : t.$t("message.datasetFacets.lessFilters"),
407
407
  upArrow: r.cutoff === -1,
@@ -410,7 +410,7 @@ function z(t, e, a, o, r, s) {
410
410
  }, null, 8, ["label", "upArrow", "action"])) : g("", !0)
411
411
  ]),
412
412
  e[7] || (e[7] = l()),
413
- r.showClearButton ? (c(), p(A, {
413
+ r.showClearButton ? (n(), p(A, {
414
414
  key: 2,
415
415
  label: "Clear filters",
416
416
  class: "row mt-5 facets-clear",
@@ -421,7 +421,7 @@ function z(t, e, a, o, r, s) {
421
421
  ])
422
422
  ]);
423
423
  }
424
- const yt = /* @__PURE__ */ W(N, [["render", z], ["__scopeId", "data-v-71ef2fa1"]]);
424
+ const yt = /* @__PURE__ */ W(N, [["render", z], ["__scopeId", "data-v-0fcb8fe1"]]);
425
425
  export {
426
426
  yt as default
427
427
  };
@@ -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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"}