@piveau/piveau-hub-ui-modules 4.6.39 → 4.6.41

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":"DatasetDetailsDataset.vue2.mjs","sources":["../../lib/datasetDetails/DatasetDetailsDataset.vue"],"sourcesContent":["<template>\n <div>\n <resource-access-popup ref=\"externalResourceModal\" />\n <span property=\"dc:issued\" :content=\"getReleaseDate\"></span>\n <span property=\"dc:modified\" :content=\"getModificationDate\"></span>\n <div v-if=\"loadingDatasetDetails\">\n <dataset-details-skeleton type=\"DatasetDetails\"></dataset-details-skeleton>\n </div>\n <div v-if=\"!loadingDatasetDetails\" class=\"dsd-dataset\">\n <dataset-details-description\n v-if=\"showDatasetDescription\"\n :dateIncorrect=\"dateIncorrect\"\n :machineTranslated=\"machineTranslated\"\n :translationNotAvailable=\"translationNotAvailable\"\n />\n <distributions\n :openModal=\"openModal\"\n :getDistributions=\"getDistributions\"\n :expandedDistributions=\"expandedDistributions\"\n :expandedDistributionDescriptions=\"expandedDistributionDescriptions\"\n :displayedDistributions=\"displayedDistributions\"\n :isDistributionsAllDisplayed=\"isDistributionsAllDisplayed\"\n :distributions=\"distributions\"\n :setDistributionsDisplayCount=\"setDistributionsDisplayCount\"\n :pages=\"pages\"\n :showDownloadUrls=\"showDownloadUrls\"\n :isOnlyOneUrl=\"isOnlyOneUrl\"\n :getDistributionFormat=\"getDistributionFormat\"\n :distributionFormatTruncated=\"distributionFormatTruncated\"\n :getDistributionTitle=\"getDistributionTitle\"\n :distributionVisibleContent=\"distributionVisibleContent\"\n :distributionExpandedContent=\"distributionExpandedContent\"\n :distributionDescriptionIsExpanded=\"distributionDescriptionIsExpanded\"\n :distributionDescriptionIsExpandable=\"distributionDescriptionIsExpandable\"\n :distributionIsExpanded=\"distributionIsExpanded\"\n :showNumber=\"showNumber\"\n :showObject=\"showObject\"\n :showDownloadDropdown=\"showDownloadDropdown\"\n :showLicence=\"showLicence\"\n :showLicensingAssistant=\"showLicensingAssistant\"\n :filterDateFormatEU=\"filterDateFormatEU\"\n :showArray=\"showArray\"\n :showObjectArray=\"showObjectArray\"\n :getVisualisationLink=\"getVisualisationLink\"\n :getDownloadUrl=\"getDownloadUrl\"\n :trackGoto=\"trackGoto\"\n :showAccessUrls=\"showAccessUrls\"\n :replaceHttp=\"replaceHttp\"\n :previewLinkCallback=\"previewLinkCallback\"\n :toggleDistribution=\"toggleDistribution\"\n :toggleDistributionDescription=\"toggleDistributionDescription\"\n :increaseNumDisplayedDistributions=\"increaseNumDisplayedDistributions\"\n :nonOverflowingIncrementsForDistributions=\"nonOverflowingIncrementsForDistributions\"\n :appendCurrentLocaleToURL=\"appendCurrentLocaleToURL\"\n :isUrlInvalid=\"isUrlInvalid\"\n :openIfValidUrl=\"openIfValidUrl\"\n :showTooltipVisualiseButton=\"showTooltipVisualiseButton\"\n :showPublisher=\"showPublisher\"\n :embed=\"embed\"\n />\n <dataset-details-features\n :getKeywords=\"getKeywords\"\n :pages=\"pages\"\n :increaseNumDisplayedPages=\"increaseNumDisplayedPages\"\n :nonOverflowingIncrementsForPages=\"nonOverflowingIncrementsForPages\"\n :showKeyword=\"showKeyword\"\n :trackGoto=\"trackGoto\"\n :showObjectArray=\"showObjectArray\"\n :showArray=\"showArray\"\n :showObject=\"showObject\"\n />\n <dataset-details-properties v-if=\"showDatasetProperties\">\n <template #property-header><slot name=\"property-header\"></slot></template>\n <template #property-table-before><slot name=\"property-table-before\"></slot></template>\n <template #property-table><slot name=\"property-table\"></slot></template>\n <template #property-table-after><slot name=\"property-table-after\"></slot></template>\n </dataset-details-properties>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\n // @ts-nocheck\n /* eslint-disable no-confusing-arrow, no-nested-ternary, no-return-assign, no-confusing-arrow */\n import $ from 'jquery';\n import { mapActions, mapGetters } from 'vuex';\n import {\n has,\n isNil,\n isArray,\n isObject,\n isString,\n isNumber,\n isEmpty,\n } from 'lodash';\n import AppLink from '../widgets/AppLink.vue';\n import Tooltip from '../widgets/Tooltip.vue';\n import Distributions from './distributions/Distributions.vue';\n import dateFilters from '../filters/dateFilters';\n import {\n getTranslationFor, getCountryFlagImg, truncate, replaceHttp, appendCurrentLocaleToURL\n } from '../utils/helpers';\n import ResourceAccessPopup from '../widgets/ResourceAccessPopup.vue';\n import DatasetDetailsExtendedMetaData\n from \"../datasetDetails/features/DatasetDetailsIsUsedBy.vue\";\n import DatasetDetailsSkeleton from \"../datasetDetails/DatasetDetailsSkeleton.vue\";\n import * as metaInfo from '../composables/head';\n\n export default {\n name: 'datasetDetailsDataset',\n components: {\n DatasetDetailsSkeleton,\n DatasetDetailsExtendedMetaData,\n AppLink,\n Tooltip,\n Distributions,\n ResourceAccessPopup\n },\n props: {\n distributionVisibleContent: {\n type: Array,\n default: () => ['license', 'licenseAttributionByText', 'modificationDate'],\n },\n distributionExpandedContent: {\n type: Array,\n default: () => [\n 'releaseDate',\n 'language',\n 'availability',\n 'status',\n 'rights',\n 'mediaType',\n 'byteSize',\n 'checksum',\n 'pages',\n 'type',\n 'compressFormat',\n 'packageFormat',\n 'hasPolicy',\n 'conformsTo',\n 'spatialResolutionInMeters',\n 'temporalResolution',\n ],\n },\n showDatasetDescription: {\n type: Boolean,\n default: () => true,\n },\n showDatasetProperties: {\n type: Boolean,\n default: () => true,\n },\n showPublisher: {\n type: Boolean,\n default: () => false,\n },\n embed: {\n type: Boolean,\n default: () => false,\n },\n },\n data() {\n return {\n defaultLocale: this.$env.languages.locale,\n // has to be INITIAL_DATASET_DESCRIPTION_LENGTH\n isDatasetDescriptionExpanded: false,\n loadingDatasetDetails: false,\n machineTranslated: false,\n translationNotAvailable: false,\n expandedDistributions: [],\n expandedDistributionDescriptions: [],\n distributions: {\n displayAll: this.$env.content.datasetDetails.distributions.displayAll,\n displayCount: this.$env.content.datasetDetails.distributions.displayCount,\n incrementSteps: this.$env.content.datasetDetails.distributions.incrementSteps,\n descriptionMaxLines: this.$env.content.datasetDetails.distributions.descriptionMaxLines,\n descriptionMaxChars: this.$env.content.datasetDetails.distributions.descriptionMaxChars,\n },\n pages: {\n isVisible: this.$env.content.datasetDetails.pages.isVisible,\n displayAll: this.$env.content.datasetDetails.pages.displayAll,\n displayCount: this.$env.content.datasetDetails.pages.displayCount,\n incrementSteps: this.$env.content.datasetDetails.pages.incrementSteps,\n descriptionMaxLines: this.$env.content.datasetDetails.pages.descriptionMaxLines,\n descriptionMaxChars: this.$env.content.datasetDetails.pages.descriptionMaxChars,\n },\n showDescription: true,\n };\n },\n computed: {\n // import store-getters\n ...mapGetters('datasetDetails', [\n 'getKeywords',\n 'getAccessRights',\n 'getAccrualPeriodicity',\n 'getCatalog',\n 'getContactPoints',\n 'getDateIncorrect',\n 'getDescription',\n 'getDistributions',\n 'getID',\n 'getLanguages',\n 'getLicences',\n 'getModificationDate',\n 'getOtherIdentifiers',\n 'getPages',\n 'getPublisher',\n 'getReleaseDate',\n 'getSpatial',\n 'getTranslationMetaData',\n 'getTitle'\n ]),\n dateIncorrect() {\n return this.getDateIncorrect;\n },\n displayedDistributions() {\n const sorted = [...this.getDistributions].sort((a, b) => {\n if (getTranslationFor(a.title, this.$route.query.locale, this.getLanguages) < getTranslationFor(b.title, this.$route.query.locale, this.getLanguages)) { return -1; }\n if (getTranslationFor(a.title, this.$route.query.locale, this.getLanguages) > getTranslationFor(b.title, this.$route.query.locale, this.getLanguages)) { return 1; }\n return 0;\n });\n return this.distributions.displayAll\n ? Object.freeze(sorted)\n : Object.freeze(sorted.slice(0, this.distributions.displayCount));\n },\n isDistributionsAllDisplayed() {\n return this.distributions.displayCount === this.getDistributions.length;\n },\n remainingDistributions() {\n return this.getDistributions.length - this.distributions.displayCount;\n }\n },\n methods: {\n ...mapActions('datasetDetails', [\n 'loadDatasetDetails',\n 'setLoading',\n ]),\n has,\n isNil,\n isArray,\n isObject,\n isString,\n isNumber,\n appendCurrentLocaleToURL,\n getTranslationFor,\n getCountryFlagImg,\n truncate,\n replaceHttp,\n initDatasetDetails() {\n this.piwikMetaPush();\n setTimeout(() => {\n if (typeof this.$piwik?.resume === \"function\") this.$piwik.resume();\n }, 500);\n this.$nextTick(() => {\n // Display/hide translation banners\n this.setTranslationBanners();\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n });\n });\n },\n setDistributionsDisplayCount(count: number) {\n this.distributions.displayCount = count;\n },\n openModal(callback, toggleDownloadPopup) {\n this.$refs.externalResourceModal.openModal(callback, toggleDownloadPopup)\n },\n previewLinkCallback(distribution) {\n return () => {\n this.$emit('track-link', this.getVisualisationLink(distribution), 'link');\n window.open(this.getVisualisationLink(distribution), '_blank');\n };\n },\n filterDateFormatEU(date) {\n return dateFilters.formatEU(date);\n },\n /* ABSTRACT SHOW FUNCTIONS */\n showString(string) {\n return !isNil(string) && isString(string);\n },\n showNumber(number) {\n return !isNil(number) && isNumber(number);\n },\n showObject(object) {\n return !isNil(object) && isObject(object) && !Object.values(object).reduce((keyUndefined, currentValue) => keyUndefined && currentValue === undefined, true);\n },\n showArray(array) {\n return !isNil(array) && isArray(array) && array.length > 0;\n },\n showObjectArray(objectArray) {\n return this.showArray(objectArray) && !objectArray.reduce((objectUndefined, currentObject) => objectUndefined && Object.values(currentObject).reduce((keyUndefined, currentValue) => keyUndefined && currentValue === undefined, true), true);\n },\n /* SPECIFIC SHOW FUNCTIONS */\n /* for now show all licences */\n showLicence(licence) {\n // return (has(licence, 'id') && !isNil(licence.id))\n // || (has(licence, 'label') && !isNil(licence.label))\n return true\n },\n showLicensingAssistant(distribution) {\n return has(distribution, 'licence.la_url') && this.showString(distribution.licence.la_url);\n },\n showDownloadDropdown(distribution) {\n return this.showAccessUrls(distribution) || this.showDownloadUrls(distribution);\n },\n isOnlyOneUrl(distribution) {\n return (this.showAccessUrls(distribution) && !this.showDownloadUrls(distribution))\n || (!this.showAccessUrls(distribution) && this.showDownloadUrls(distribution) && distribution.downloadUrls.length === 1);\n },\n getDownloadUrl(distribution) {\n let url;\n if (this.showAccessUrls(distribution) && !this.showDownloadUrls(distribution)) {\n url = distribution.accessUrl[0];\n }\n if (!this.showAccessUrls(distribution) && this.showDownloadUrls(distribution) && distribution.downloadUrls.length === 1) {\n url = distribution.downloadUrls[0];\n }\n return url;\n },\n showAccessUrls(distribution) {\n return has(distribution, 'accessUrl') && this.showArray(distribution.accessUrl);\n },\n showDownloadUrls(distribution) {\n return has(distribution, 'downloadUrls') && this.showArray(distribution.downloadUrls);\n },\n showKeyword(keyword) {\n return has(keyword, 'id')\n && has(keyword, 'title')\n && !isNil(keyword.id)\n && !isNil(keyword.title);\n },\n\n /* GETTER / SETTER FUNCTIONS */\n\n setDatasetOriginalLanguage(originalLanguage) {\n this.$i18n.locale = originalLanguage;\n },\n distributionIsExpanded(id) {\n setTimeout(() => {\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n });\n }, 500);\n return this.expandedDistributions.includes(id);\n },\n distributionDescriptionIsExpanded(id) {\n return this.expandedDistributionDescriptions.includes(id);\n },\n distributionDescriptionIsExpandable(description) {\n return isNil(description) ? false : description.length > this.distributions.descriptionMaxChars;\n },\n getDistributionFormat(distribution) {\n return has(distribution, 'format.label') && !isNil(distribution.format.label) ? distribution.format.label : '';\n },\n distributionFormatTruncated(distribution) {\n return this.getDistributionFormat(distribution).length > 4;\n },\n getDistributionTitle(distribution) {\n return distribution.title\n ? getTranslationFor(distribution.title, this.$route.query.locale, this.getLanguages)\n : this.getID || '-';\n },\n getVisualisationLink(distribution) {\n // Return Visualisation Link\n const accessUrl = distribution.downloadUrls && distribution.downloadUrls.length ? distribution.downloadUrls[0] : distribution.accessUrl[0];\n return `/data/visualisation/?file=${encodeURIComponent(accessUrl)}`;\n },\n // getSubjectLink(subject) {\n // return { path: `/datasets?subject=${subject.id}`, query: Object.assign({}, { locale: this.$route.query.locale }) };\n // },\n toggleDistribution(id) {\n const index = this.expandedDistributions.indexOf(id);\n if (index > -1) this.expandedDistributions.splice(index, 1);\n else this.expandedDistributions.push(id);\n },\n toggleDistributionDescription(id) {\n const index = this.expandedDistributionDescriptions.indexOf(id);\n if (index > -1) this.expandedDistributionDescriptions.splice(index, 1);\n else this.expandedDistributionDescriptions.push(id);\n },\n setTranslationBanners() {\n if (!this.$i18n) return;\n const translationMetaData = this.getTranslationMetaData;\n // Check if translation of dataset is available in selected language\n if (!isNil(translationMetaData.details) && has(translationMetaData.details, this.$route.query.locale)) {\n // Check if dataset if machine translated\n this.machineTranslated = translationMetaData.details[this.$route.query.locale].machine_translated;\n } else {\n // No translation of this dataset available for the selected language\n this.translationNotAvailable = true;\n }\n },\n // Emit a Matomo event when user clicks on 'go to resource' element\n trackGoto() {\n const paq = window._paq || []; // eslint-disable-line\n // paq.push(['trackEvent', 'GoToResource', 'Clicked']);\n this.$piwik.trackGotoResource();\n },\n clamp(n, min, max) {\n return Math.min(Math.max(n, min), max);\n },\n // Increases the current number of distributions displayed\n // and clamps the result so that it never exceeds the number of all distributions.\n increaseNumDisplayedDistributions(increment) {\n const clampedSum = this.clamp(this.distributions.displayCount + increment, 0, this.getDistributions.length);\n this.distributions.displayCount = clampedSum;\n },\n nonOverflowingIncrementsForDistributions(incrementStep) {\n return this.distributions.displayCount + incrementStep <= this.getDistributions.length;\n },\n // Increases the current number of distributions displayed\n // and clamps the result so that it never exceeds the number of all distributions.\n increaseNumDisplayedPages(increment) {\n const clampedSum = this.clamp(this.pages.displayCount + increment, 0, this.getPages.length);\n this.pages.displayCount = clampedSum;\n },\n nonOverflowingIncrementsForPages(incrementStep) {\n return this.pages.displayCount + incrementStep <= this.getPages.length;\n },\n piwikMetaPush() {\n this.$piwik.trackDatasetDetailsPageView(null, null, {\n dataset_AccessRights: this.getAccessRights,\n dataset_AccrualPeriodicity: this.getAccrualPeriodicity,\n dataset_Catalog: this.getCatalog,\n // dataset_Categories: this.getCategories,\n // dataset_ConformsTo: this.getConformsTo,\n // dataset_ContactPoints: this.getContactPoints,\n // dataset_Country: this.getCountry,\n // dataset_Creator: this.getCreator,\n // dataset_Description: this.getDescription,\n // dataset_Distributions: this.getDistributions,\n // dataset_DistributionFormats: this.getDistributionFormats,\n // dataset_Documentations: this.getDocumentations,\n // dataset_Frequency: this.getFrequency,\n // dataset_HasVersion: this.getHasVersion,\n dataset_ID: this.getID,\n // dataset_Identifiers: this.getIdentifiers,\n // dataset_IdName: this.getIdName,\n // dataset_IsVersionOf: this.getIsVersionOf,\n // datest_Keywords: this.getKeywords,\n // dataset_LandingPages: this.getLandingPagesResource,\n // dataset_Languages: this.getLanguages,\n // dataset_Licences: this.getLicences,\n // dataset_Loading: this.getLoading,\n // dataset_ModificationDate: this.getModificationDate,\n // dataset_OriginalLanguage: this.getOriginalLanguage,\n // dataset_OtherIdentifiers: this.getOtherIdentifiers,\n // dataset_Pages: this.getPages,\n // dataset_Provenances: this.getProvenances,\n dataset_Publisher: this.getPublisher,\n // dataset_RelatedResources: this.getRelatedResources,\n // dataset_ReleaseDate: this.getReleaseDate,\n // dataset_Sources: this.getSources,\n // dataset_Spatial: this.getSpatial,\n // dataset_SpatialResource: this.getSpatialResource,\n // dataset_Temporal: this.getTemporal,\n dataset_Title: this.getTitle,\n // dataset_TranslationMetaData: this.getTranslationMetaData,\n // dataset_VersionInfo: this.getVersionInfo,\n // dataset_VersionNotes: this.getVersionNotes,\n });\n },\n isUrlInvalid(url) {\n if (url) {\n try {\n /* eslint-disable no-useless-escape */\n return !(new RegExp(\"^((https?:\\/\\/(www\\.)?)([-a-zA-Z0-9@:%._\\+~#=]{1,256})([-a-zA-Z0-9()@:%_\\+.~#?&//=]*))$\", \"i\")).test(decodeURIComponent(url.split(\"=\").pop()));\n /* eslint-enable no-useless-escape */\n } catch (e) {\n console.error(e);\n }\n }\n },\n openIfValidUrl(isValid, previewLinkCallback, distribution, event) {\n if (isValid) {\n // for (let key in this.$children) {\n // if(this.$children[key].$refs[\"externalResourceModal\"]) {\n // this.$children[key].$refs[\"externalResourceModal\"].openModal(previewLinkCallback(distribution), false);\n // }\n // }\n this.openModal(previewLinkCallback(distribution), false);\n } else {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n showTooltipVisualiseButton(invalidUrl) {\n if (invalidUrl) {\n return this.$t('message.tooltip.invalidVisualise');\n }\n return ''\n },\n },\n mounted() {\n // Duplicated API call, execute only if data not already loaded\n if (this.$route.params.ds_id !== this.getID) {\n this.$Progress.start();\n this.loadingDatasetDetails = true;\n this.loadDatasetDetails(this.$route.params.ds_id)\n .then(() => {\n this.$Progress.finish();\n this.loadingDatasetDetails = false;\n this.initDatasetDetails();\n })\n .catch((err) => {\n console.warn(err); // eslint-disable-line\n this.$Progress.fail();\n if (typeof this.$piwik?.resume === \"function\") this.$piwik.resume();\n this.$router.replace({\n name: 'NotFound',\n query: { locale: this.$route.query.locale, dataset: this.$route.params.ds_id },\n });\n })\n .finally(() => this.$root.$emit('contentLoaded'));\n } else {\n this.initDatasetDetails();\n this.$root.$emit('contentLoaded')\n }\n\n const distributionsConf = this.$env.content.datasetDetails && this.$env.content.datasetDetails.distributions;\n if (distributionsConf) {\n this.distributions.displayAll = distributionsConf.displayAll || this.distributions.displayAll;\n this.distributions.displayCount = parseInt(distributionsConf.displayCount, 10) || this.distributions.displayCount;\n\n if (typeof distributionsConf.incrementSteps === 'string') {\n // Need to parse as json array since env variables are string only\n distributionsConf.incrementSteps = JSON.parse(distributionsConf.incrementSteps);\n }\n this.distributions.incrementSteps = distributionsConf.incrementSteps || this.distributions.incrementSteps;\n }\n\n if (this.distributions.displayAll) this.distributions.displayCount = this.getDistributions.length;\n\n const pagesConf = this.$env.content.datasetDetails && this.$env.content.datasetDetails.pages;\n if (pagesConf) {\n this.pages.displayAll = pagesConf.displayAll || this.pages.displayAll;\n this.pages.displayCount = parseInt(pagesConf.displayCount, 10) || this.pages.displayCount;\n\n if (typeof pagesConf.incrementSteps === 'string') {\n // Need to parse as json array since env variables are string only\n pagesConf.incrementSteps = JSON.parse(pagesConf.incrementSteps);\n }\n this.pages.incrementSteps = pagesConf.incrementSteps || this.pages.incrementSteps;\n }\n\n if (this.pages.displayAll) this.pages.displayCount = this.getPages.length;\n },\n beforeUnmount() {\n $('.tooltip').remove();\n },\n setup() {\n metaInfo.useDatasetDetailsDatasetHead();\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n\n .catalogue-label {\n white-space: pre-line;\n }\n\n .cursor-pointer {\n cursor: pointer;\n }\n\n .tag-color {\n background-color: var(--tag-color);\n }\n\n .btn-color {\n &:hover {\n background-color: #196fd2;\n border-color: #196fd2;\n }\n }\n\n .heading, .arrow, .copy-text {\n cursor: pointer;\n }\n\n .details-link {\n cursor: pointer;\n\n &:hover {\n text-decoration: underline;\n }\n }\n\n .text-break {\n word-break: break-word;\n }\n\n td {\n padding-left: 0 !important;\n padding-top: 1% !important;\n padding-bottom: 1% !important;\n }\n\n .download-all-btn {\n min-width: 100px;\n height: 31px;\n }\n\n .d-inline-table {\n display: inline-table;\n }\n\n /*** BOOTSTRAP ***/\n button:focus {\n outline:0;\n }\n .options, .download {\n .dropdown-menu {\n .dropdown-item {\n &:hover {\n color: initial;\n background-color: initial;\n }\n }\n }\n }\n.spinner-grow {\n width: 20px;\n height: 20px;\n}\n\n /*** FONT AWESOME ICONS ***/\n .fa-check-square {\n color: #28a745;\n width: 16px;\n height: 16px;\n }\n\n /*** MATERIAL ICONS ***/\n %modal-icon {\n font-size: 18px;\n cursor: default;\n }\n\n .help-icon {\n @extend %modal-icon;\n }\n\n .check-icon {\n @extend %modal-icon;\n color: #28a745;\n }\n\n .material-icons.small-icon {\n font-size: 20px;\n }\n\n .distributions {\n\n &__item {\n position: relative;\n\n &--preview {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, white 55%);\n z-index: 10;\n }\n }\n\n &__actions {\n display: flex;\n justify-content: center;\n align-items: flex-end;\n height: 100%;\n z-index: 11;\n }\n }\n .mt-4 {\n margin-top: 1.5rem !important;\n }\n\n .keywords {\n\n &__item {\n position: relative;\n }\n\n &__actions {\n display: flex;\n justify-content: center;\n align-items: flex-end;\n height: 100%;\n z-index: 11;\n }\n }\n .sectionList {\n list-style-type: '→ ';\n margin-left:6.5%;\n }\n @media only screen and (max-width: 991px) {\n .sectionList {\n margin-left: 0;\n }\n}\n</style>\n"],"names":["_sfc_main","DatasetDetailsSkeleton","DatasetDetailsExtendedMetaData","AppLink","Tooltip","Distributions","ResourceAccessPopup","mapGetters","sorted","a","b","getTranslationFor","mapActions","has","isNil","isArray","isObject","isString","isNumber","appendCurrentLocaleToURL","getCountryFlagImg","truncate","replaceHttp","_a","$","count","callback","toggleDownloadPopup","distribution","date","dateFilters","string","number","object","keyUndefined","currentValue","array","objectArray","objectUndefined","currentObject","licence","url","keyword","originalLanguage","id","description","accessUrl","index","translationMetaData","n","min","max","increment","clampedSum","incrementStep","isValid","previewLinkCallback","event","invalidUrl","err","distributionsConf","pagesConf","metaInfo.useDatasetDetailsDatasetHead"],"mappings":"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"}
1
+ {"version":3,"file":"DatasetDetailsDataset.vue2.mjs","sources":["../../lib/datasetDetails/DatasetDetailsDataset.vue"],"sourcesContent":["<template>\n <div>\n <resource-access-popup ref=\"externalResourceModal\" />\n <span property=\"dc:issued\" :content=\"getReleaseDate\"></span>\n <span property=\"dc:modified\" :content=\"getModificationDate\"></span>\n <div v-if=\"loadingDatasetDetails\">\n <dataset-details-skeleton type=\"DatasetDetails\"></dataset-details-skeleton>\n </div>\n <div v-if=\"!loadingDatasetDetails\" class=\"dsd-dataset\">\n <dataset-details-description\n v-if=\"showDatasetDescription\"\n :dateIncorrect=\"dateIncorrect\"\n :machineTranslated=\"machineTranslated\"\n :translationNotAvailable=\"translationNotAvailable\"\n />\n <distributions\n :openModal=\"openModal\"\n :getDistributions=\"getDistributions\"\n :expandedDistributions=\"expandedDistributions\"\n :expandedDistributionDescriptions=\"expandedDistributionDescriptions\"\n :displayedDistributions=\"displayedDistributions\"\n :isDistributionsAllDisplayed=\"isDistributionsAllDisplayed\"\n :distributions=\"distributions\"\n :setDistributionsDisplayCount=\"setDistributionsDisplayCount\"\n :pages=\"pages\"\n :showDownloadUrls=\"showDownloadUrls\"\n :isOnlyOneUrl=\"isOnlyOneUrl\"\n :getDistributionFormat=\"getDistributionFormat\"\n :distributionFormatTruncated=\"distributionFormatTruncated\"\n :getDistributionTitle=\"getDistributionTitle\"\n :distributionVisibleContent=\"distributionVisibleContent\"\n :distributionExpandedContent=\"distributionExpandedContent\"\n :distributionDescriptionIsExpanded=\"distributionDescriptionIsExpanded\"\n :distributionDescriptionIsExpandable=\"distributionDescriptionIsExpandable\"\n :distributionIsExpanded=\"distributionIsExpanded\"\n :showNumber=\"showNumber\"\n :showObject=\"showObject\"\n :showDownloadDropdown=\"showDownloadDropdown\"\n :showLicence=\"showLicence\"\n :showLicensingAssistant=\"showLicensingAssistant\"\n :filterDateFormatEU=\"filterDateFormatEU\"\n :showArray=\"showArray\"\n :showObjectArray=\"showObjectArray\"\n :getVisualisationLink=\"getVisualisationLink\"\n :getDownloadUrl=\"getDownloadUrl\"\n :trackGoto=\"trackGoto\"\n :showAccessUrls=\"showAccessUrls\"\n :replaceHttp=\"replaceHttp\"\n :previewLinkCallback=\"previewLinkCallback\"\n :toggleDistribution=\"toggleDistribution\"\n :toggleDistributionDescription=\"toggleDistributionDescription\"\n :increaseNumDisplayedDistributions=\"increaseNumDisplayedDistributions\"\n :nonOverflowingIncrementsForDistributions=\"nonOverflowingIncrementsForDistributions\"\n :appendCurrentLocaleToURL=\"appendCurrentLocaleToURL\"\n :isUrlInvalid=\"isUrlInvalid\"\n :openIfValidUrl=\"openIfValidUrl\"\n :showTooltipVisualiseButton=\"showTooltipVisualiseButton\"\n :showPublisher=\"showPublisher\"\n :embed=\"embed\"\n />\n <dataset-details-features\n :getKeywords=\"getKeywords\"\n :pages=\"pages\"\n :increaseNumDisplayedPages=\"increaseNumDisplayedPages\"\n :nonOverflowingIncrementsForPages=\"nonOverflowingIncrementsForPages\"\n :showKeyword=\"showKeyword\"\n :trackGoto=\"trackGoto\"\n :showObjectArray=\"showObjectArray\"\n :showArray=\"showArray\"\n :showObject=\"showObject\"\n />\n <dataset-details-properties v-if=\"showDatasetProperties\">\n <template #property-header><slot name=\"property-header\"></slot></template>\n <template #property-table-before><slot name=\"property-table-before\"></slot></template>\n <template #property-table><slot name=\"property-table\"></slot></template>\n <template #property-table-after><slot name=\"property-table-after\"></slot></template>\n </dataset-details-properties>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\n // @ts-nocheck\n /* eslint-disable no-confusing-arrow, no-nested-ternary, no-return-assign, no-confusing-arrow */\n import $ from 'jquery';\n import { mapActions, mapGetters } from 'vuex';\n import {\n has,\n isNil,\n isArray,\n isObject,\n isString,\n isNumber,\n isEmpty,\n } from 'lodash';\n import AppLink from '../widgets/AppLink.vue';\n import Tooltip from '../widgets/Tooltip.vue';\n import Distributions from './distributions/Distributions.vue';\n import dateFilters from '../filters/dateFilters';\n import {\n getTranslationFor, getCountryFlagImg, truncate, replaceHttp, appendCurrentLocaleToURL\n } from '../utils/helpers';\n import ResourceAccessPopup from '../widgets/ResourceAccessPopup.vue';\n import DatasetDetailsExtendedMetaData\n from \"../datasetDetails/features/DatasetDetailsIsUsedBy.vue\";\n import DatasetDetailsSkeleton from \"../datasetDetails/DatasetDetailsSkeleton.vue\";\n import * as metaInfo from '../composables/head';\n\n export default {\n name: 'datasetDetailsDataset',\n components: {\n DatasetDetailsSkeleton,\n DatasetDetailsExtendedMetaData,\n AppLink,\n Tooltip,\n Distributions,\n ResourceAccessPopup\n },\n props: {\n distributionVisibleContent: {\n type: Array,\n default: () => ['license', 'licenseAttributionByText', 'modificationDate'],\n },\n distributionExpandedContent: {\n type: Array,\n default: () => [\n 'releaseDate',\n 'language',\n 'availability',\n 'status',\n 'rights',\n 'mediaType',\n 'byteSize',\n 'checksum',\n 'pages',\n 'type',\n 'compressFormat',\n 'packageFormat',\n 'hasPolicy',\n 'conformsTo',\n 'spatialResolutionInMeters',\n 'temporalResolution',\n ],\n },\n showDatasetDescription: {\n type: Boolean,\n default: () => true,\n },\n showDatasetProperties: {\n type: Boolean,\n default: () => true,\n },\n showPublisher: {\n type: Boolean,\n default: () => false,\n },\n embed: {\n type: Boolean,\n default: () => false,\n },\n },\n data() {\n return {\n defaultLocale: this.$env.languages.locale,\n // has to be INITIAL_DATASET_DESCRIPTION_LENGTH\n isDatasetDescriptionExpanded: false,\n loadingDatasetDetails: false,\n machineTranslated: false,\n translationNotAvailable: false,\n expandedDistributions: [],\n expandedDistributionDescriptions: [],\n distributions: {\n displayAll: this.$env.content.datasetDetails.distributions.displayAll,\n displayCount: this.$env.content.datasetDetails.distributions.displayCount,\n incrementSteps: this.$env.content.datasetDetails.distributions.incrementSteps,\n descriptionMaxLines: this.$env.content.datasetDetails.distributions.descriptionMaxLines,\n descriptionMaxChars: this.$env.content.datasetDetails.distributions.descriptionMaxChars,\n licencingAssistantUrl: this.$env.content.datasetDetails.distributions.licencingAssistantUrl,\n },\n pages: {\n isVisible: this.$env.content.datasetDetails.pages.isVisible,\n displayAll: this.$env.content.datasetDetails.pages.displayAll,\n displayCount: this.$env.content.datasetDetails.pages.displayCount,\n incrementSteps: this.$env.content.datasetDetails.pages.incrementSteps,\n descriptionMaxLines: this.$env.content.datasetDetails.pages.descriptionMaxLines,\n descriptionMaxChars: this.$env.content.datasetDetails.pages.descriptionMaxChars,\n },\n showDescription: true,\n };\n },\n computed: {\n // import store-getters\n ...mapGetters('datasetDetails', [\n 'getKeywords',\n 'getAccessRights',\n 'getAccrualPeriodicity',\n 'getCatalog',\n 'getContactPoints',\n 'getDateIncorrect',\n 'getDescription',\n 'getDistributions',\n 'getID',\n 'getLanguages',\n 'getLicences',\n 'getModificationDate',\n 'getOtherIdentifiers',\n 'getPages',\n 'getPublisher',\n 'getReleaseDate',\n 'getSpatial',\n 'getTranslationMetaData',\n 'getTitle'\n ]),\n dateIncorrect() {\n return this.getDateIncorrect;\n },\n displayedDistributions() {\n const sorted = [...this.getDistributions].sort((a, b) => {\n if (getTranslationFor(a.title, this.$route.query.locale, this.getLanguages) < getTranslationFor(b.title, this.$route.query.locale, this.getLanguages)) { return -1; }\n if (getTranslationFor(a.title, this.$route.query.locale, this.getLanguages) > getTranslationFor(b.title, this.$route.query.locale, this.getLanguages)) { return 1; }\n return 0;\n });\n return this.distributions.displayAll\n ? Object.freeze(sorted)\n : Object.freeze(sorted.slice(0, this.distributions.displayCount));\n },\n isDistributionsAllDisplayed() {\n return this.distributions.displayCount === this.getDistributions.length;\n },\n remainingDistributions() {\n return this.getDistributions.length - this.distributions.displayCount;\n }\n },\n methods: {\n ...mapActions('datasetDetails', [\n 'loadDatasetDetails',\n 'setLoading',\n ]),\n has,\n isNil,\n isArray,\n isObject,\n isString,\n isNumber,\n appendCurrentLocaleToURL,\n getTranslationFor,\n getCountryFlagImg,\n truncate,\n replaceHttp,\n initDatasetDetails() {\n this.piwikMetaPush();\n setTimeout(() => {\n if (typeof this.$piwik?.resume === \"function\") this.$piwik.resume();\n }, 500);\n this.$nextTick(() => {\n // Display/hide translation banners\n this.setTranslationBanners();\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n });\n });\n },\n setDistributionsDisplayCount(count: number) {\n this.distributions.displayCount = count;\n },\n openModal(callback, toggleDownloadPopup) {\n this.$refs.externalResourceModal.openModal(callback, toggleDownloadPopup)\n },\n previewLinkCallback(distribution) {\n return () => {\n this.$emit('track-link', this.getVisualisationLink(distribution), 'link');\n window.open(this.getVisualisationLink(distribution), '_blank');\n };\n },\n filterDateFormatEU(date) {\n return dateFilters.formatEU(date);\n },\n /* ABSTRACT SHOW FUNCTIONS */\n showString(string) {\n return !isNil(string) && isString(string);\n },\n showNumber(number) {\n return !isNil(number) && isNumber(number);\n },\n showObject(object) {\n return !isNil(object) && isObject(object) && !Object.values(object).reduce((keyUndefined, currentValue) => keyUndefined && currentValue === undefined, true);\n },\n showArray(array) {\n return !isNil(array) && isArray(array) && array.length > 0;\n },\n showObjectArray(objectArray) {\n return this.showArray(objectArray) && !objectArray.reduce((objectUndefined, currentObject) => objectUndefined && Object.values(currentObject).reduce((keyUndefined, currentValue) => keyUndefined && currentValue === undefined, true), true);\n },\n /* SPECIFIC SHOW FUNCTIONS */\n /* for now show all licences */\n showLicence(licence) {\n // return (has(licence, 'id') && !isNil(licence.id))\n // || (has(licence, 'label') && !isNil(licence.label))\n return true\n },\n showLicensingAssistant(distribution) {\n return has(distribution, 'licence.la_url') && this.showString(distribution.licence.la_url);\n },\n showDownloadDropdown(distribution) {\n return this.showAccessUrls(distribution) || this.showDownloadUrls(distribution);\n },\n isOnlyOneUrl(distribution) {\n return (this.showAccessUrls(distribution) && !this.showDownloadUrls(distribution))\n || (!this.showAccessUrls(distribution) && this.showDownloadUrls(distribution) && distribution.downloadUrls.length === 1);\n },\n getDownloadUrl(distribution) {\n let url;\n if (this.showAccessUrls(distribution) && !this.showDownloadUrls(distribution)) {\n url = distribution.accessUrl[0];\n }\n if (!this.showAccessUrls(distribution) && this.showDownloadUrls(distribution) && distribution.downloadUrls.length === 1) {\n url = distribution.downloadUrls[0];\n }\n return url;\n },\n showAccessUrls(distribution) {\n return has(distribution, 'accessUrl') && this.showArray(distribution.accessUrl);\n },\n showDownloadUrls(distribution) {\n return has(distribution, 'downloadUrls') && this.showArray(distribution.downloadUrls);\n },\n showKeyword(keyword) {\n return has(keyword, 'id')\n && has(keyword, 'title')\n && !isNil(keyword.id)\n && !isNil(keyword.title);\n },\n\n /* GETTER / SETTER FUNCTIONS */\n\n setDatasetOriginalLanguage(originalLanguage) {\n this.$i18n.locale = originalLanguage;\n },\n distributionIsExpanded(id) {\n setTimeout(() => {\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n });\n }, 500);\n return this.expandedDistributions.includes(id);\n },\n distributionDescriptionIsExpanded(id) {\n return this.expandedDistributionDescriptions.includes(id);\n },\n distributionDescriptionIsExpandable(description) {\n return isNil(description) ? false : description.length > this.distributions.descriptionMaxChars;\n },\n getDistributionFormat(distribution) {\n return has(distribution, 'format.label') && !isNil(distribution.format.label) ? distribution.format.label : '';\n },\n distributionFormatTruncated(distribution) {\n return this.getDistributionFormat(distribution).length > 4;\n },\n getDistributionTitle(distribution) {\n return distribution.title\n ? getTranslationFor(distribution.title, this.$route.query.locale, this.getLanguages)\n : this.getID || '-';\n },\n getVisualisationLink(distribution) {\n // Return Visualisation Link\n const accessUrl = distribution.downloadUrls && distribution.downloadUrls.length ? distribution.downloadUrls[0] : distribution.accessUrl[0];\n return `/data/visualisation/?file=${encodeURIComponent(accessUrl)}`;\n },\n // getSubjectLink(subject) {\n // return { path: `/datasets?subject=${subject.id}`, query: Object.assign({}, { locale: this.$route.query.locale }) };\n // },\n toggleDistribution(id) {\n const index = this.expandedDistributions.indexOf(id);\n if (index > -1) this.expandedDistributions.splice(index, 1);\n else this.expandedDistributions.push(id);\n },\n toggleDistributionDescription(id) {\n const index = this.expandedDistributionDescriptions.indexOf(id);\n if (index > -1) this.expandedDistributionDescriptions.splice(index, 1);\n else this.expandedDistributionDescriptions.push(id);\n },\n setTranslationBanners() {\n if (!this.$i18n) return;\n const translationMetaData = this.getTranslationMetaData;\n // Check if translation of dataset is available in selected language\n if (!isNil(translationMetaData.details) && has(translationMetaData.details, this.$route.query.locale)) {\n // Check if dataset if machine translated\n this.machineTranslated = translationMetaData.details[this.$route.query.locale].machine_translated;\n } else {\n // No translation of this dataset available for the selected language\n this.translationNotAvailable = true;\n }\n },\n // Emit a Matomo event when user clicks on 'go to resource' element\n trackGoto() {\n const paq = window._paq || []; // eslint-disable-line\n // paq.push(['trackEvent', 'GoToResource', 'Clicked']);\n this.$piwik.trackGotoResource();\n },\n clamp(n, min, max) {\n return Math.min(Math.max(n, min), max);\n },\n // Increases the current number of distributions displayed\n // and clamps the result so that it never exceeds the number of all distributions.\n increaseNumDisplayedDistributions(increment) {\n const clampedSum = this.clamp(this.distributions.displayCount + increment, 0, this.getDistributions.length);\n this.distributions.displayCount = clampedSum;\n },\n nonOverflowingIncrementsForDistributions(incrementStep) {\n return this.distributions.displayCount + incrementStep <= this.getDistributions.length;\n },\n // Increases the current number of distributions displayed\n // and clamps the result so that it never exceeds the number of all distributions.\n increaseNumDisplayedPages(increment) {\n const clampedSum = this.clamp(this.pages.displayCount + increment, 0, this.getPages.length);\n this.pages.displayCount = clampedSum;\n },\n nonOverflowingIncrementsForPages(incrementStep) {\n return this.pages.displayCount + incrementStep <= this.getPages.length;\n },\n piwikMetaPush() {\n this.$piwik.trackDatasetDetailsPageView(null, null, {\n dataset_AccessRights: this.getAccessRights,\n dataset_AccrualPeriodicity: this.getAccrualPeriodicity,\n dataset_Catalog: this.getCatalog,\n // dataset_Categories: this.getCategories,\n // dataset_ConformsTo: this.getConformsTo,\n // dataset_ContactPoints: this.getContactPoints,\n // dataset_Country: this.getCountry,\n // dataset_Creator: this.getCreator,\n // dataset_Description: this.getDescription,\n // dataset_Distributions: this.getDistributions,\n // dataset_DistributionFormats: this.getDistributionFormats,\n // dataset_Documentations: this.getDocumentations,\n // dataset_Frequency: this.getFrequency,\n // dataset_HasVersion: this.getHasVersion,\n dataset_ID: this.getID,\n // dataset_Identifiers: this.getIdentifiers,\n // dataset_IdName: this.getIdName,\n // dataset_IsVersionOf: this.getIsVersionOf,\n // datest_Keywords: this.getKeywords,\n // dataset_LandingPages: this.getLandingPagesResource,\n // dataset_Languages: this.getLanguages,\n // dataset_Licences: this.getLicences,\n // dataset_Loading: this.getLoading,\n // dataset_ModificationDate: this.getModificationDate,\n // dataset_OriginalLanguage: this.getOriginalLanguage,\n // dataset_OtherIdentifiers: this.getOtherIdentifiers,\n // dataset_Pages: this.getPages,\n // dataset_Provenances: this.getProvenances,\n dataset_Publisher: this.getPublisher,\n // dataset_RelatedResources: this.getRelatedResources,\n // dataset_ReleaseDate: this.getReleaseDate,\n // dataset_Sources: this.getSources,\n // dataset_Spatial: this.getSpatial,\n // dataset_SpatialResource: this.getSpatialResource,\n // dataset_Temporal: this.getTemporal,\n dataset_Title: this.getTitle,\n // dataset_TranslationMetaData: this.getTranslationMetaData,\n // dataset_VersionInfo: this.getVersionInfo,\n // dataset_VersionNotes: this.getVersionNotes,\n });\n },\n isUrlInvalid(url) {\n if (url) {\n try {\n /* eslint-disable no-useless-escape */\n return !(new RegExp(\"^((https?:\\/\\/(www\\.)?)([-a-zA-Z0-9@:%._\\+~#=]{1,256})([-a-zA-Z0-9()@:%_\\+.~#?&//=]*))$\", \"i\")).test(decodeURIComponent(url.split(\"=\").pop()));\n /* eslint-enable no-useless-escape */\n } catch (e) {\n console.error(e);\n }\n }\n },\n openIfValidUrl(isValid, previewLinkCallback, distribution, event) {\n if (isValid) {\n // for (let key in this.$children) {\n // if(this.$children[key].$refs[\"externalResourceModal\"]) {\n // this.$children[key].$refs[\"externalResourceModal\"].openModal(previewLinkCallback(distribution), false);\n // }\n // }\n this.openModal(previewLinkCallback(distribution), false);\n } else {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n showTooltipVisualiseButton(invalidUrl) {\n if (invalidUrl) {\n return this.$t('message.tooltip.invalidVisualise');\n }\n return ''\n },\n },\n mounted() {\n // Duplicated API call, execute only if data not already loaded\n if (this.$route.params.ds_id !== this.getID) {\n this.$Progress.start();\n this.loadingDatasetDetails = true;\n this.loadDatasetDetails(this.$route.params.ds_id)\n .then(() => {\n this.$Progress.finish();\n this.loadingDatasetDetails = false;\n this.initDatasetDetails();\n })\n .catch((err) => {\n console.warn(err); // eslint-disable-line\n this.$Progress.fail();\n if (typeof this.$piwik?.resume === \"function\") this.$piwik.resume();\n this.$router.replace({\n name: 'NotFound',\n query: { locale: this.$route.query.locale, dataset: this.$route.params.ds_id },\n });\n })\n .finally(() => this.$root.$emit('contentLoaded'));\n } else {\n this.initDatasetDetails();\n this.$root.$emit('contentLoaded')\n }\n\n const distributionsConf = this.$env.content.datasetDetails && this.$env.content.datasetDetails.distributions;\n if (distributionsConf) {\n this.distributions.displayAll = distributionsConf.displayAll || this.distributions.displayAll;\n this.distributions.displayCount = parseInt(distributionsConf.displayCount, 10) || this.distributions.displayCount;\n\n if (typeof distributionsConf.incrementSteps === 'string') {\n // Need to parse as json array since env variables are string only\n distributionsConf.incrementSteps = JSON.parse(distributionsConf.incrementSteps);\n }\n this.distributions.incrementSteps = distributionsConf.incrementSteps || this.distributions.incrementSteps;\n }\n\n if (this.distributions.displayAll) this.distributions.displayCount = this.getDistributions.length;\n\n const pagesConf = this.$env.content.datasetDetails && this.$env.content.datasetDetails.pages;\n if (pagesConf) {\n this.pages.displayAll = pagesConf.displayAll || this.pages.displayAll;\n this.pages.displayCount = parseInt(pagesConf.displayCount, 10) || this.pages.displayCount;\n\n if (typeof pagesConf.incrementSteps === 'string') {\n // Need to parse as json array since env variables are string only\n pagesConf.incrementSteps = JSON.parse(pagesConf.incrementSteps);\n }\n this.pages.incrementSteps = pagesConf.incrementSteps || this.pages.incrementSteps;\n }\n\n if (this.pages.displayAll) this.pages.displayCount = this.getPages.length;\n },\n beforeUnmount() {\n $('.tooltip').remove();\n },\n setup() {\n metaInfo.useDatasetDetailsDatasetHead();\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n\n .catalogue-label {\n white-space: pre-line;\n }\n\n .cursor-pointer {\n cursor: pointer;\n }\n\n .tag-color {\n background-color: var(--tag-color);\n }\n\n .btn-color {\n &:hover {\n background-color: #196fd2;\n border-color: #196fd2;\n }\n }\n\n .heading, .arrow, .copy-text {\n cursor: pointer;\n }\n\n .details-link {\n cursor: pointer;\n\n &:hover {\n text-decoration: underline;\n }\n }\n\n .text-break {\n word-break: break-word;\n }\n\n td {\n padding-left: 0 !important;\n padding-top: 1% !important;\n padding-bottom: 1% !important;\n }\n\n .download-all-btn {\n min-width: 100px;\n height: 31px;\n }\n\n .d-inline-table {\n display: inline-table;\n }\n\n /*** BOOTSTRAP ***/\n button:focus {\n outline:0;\n }\n .options, .download {\n .dropdown-menu {\n .dropdown-item {\n &:hover {\n color: initial;\n background-color: initial;\n }\n }\n }\n }\n.spinner-grow {\n width: 20px;\n height: 20px;\n}\n\n /*** FONT AWESOME ICONS ***/\n .fa-check-square {\n color: #28a745;\n width: 16px;\n height: 16px;\n }\n\n /*** MATERIAL ICONS ***/\n %modal-icon {\n font-size: 18px;\n cursor: default;\n }\n\n .help-icon {\n @extend %modal-icon;\n }\n\n .check-icon {\n @extend %modal-icon;\n color: #28a745;\n }\n\n .material-icons.small-icon {\n font-size: 20px;\n }\n\n .distributions {\n\n &__item {\n position: relative;\n\n &--preview {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, white 55%);\n z-index: 10;\n }\n }\n\n &__actions {\n display: flex;\n justify-content: center;\n align-items: flex-end;\n height: 100%;\n z-index: 11;\n }\n }\n .mt-4 {\n margin-top: 1.5rem !important;\n }\n\n .keywords {\n\n &__item {\n position: relative;\n }\n\n &__actions {\n display: flex;\n justify-content: center;\n align-items: flex-end;\n height: 100%;\n z-index: 11;\n }\n }\n .sectionList {\n list-style-type: '→ ';\n margin-left:6.5%;\n }\n @media only screen and (max-width: 991px) {\n .sectionList {\n margin-left: 0;\n }\n}\n</style>\n"],"names":["_sfc_main","DatasetDetailsSkeleton","DatasetDetailsExtendedMetaData","AppLink","Tooltip","Distributions","ResourceAccessPopup","mapGetters","sorted","a","b","getTranslationFor","mapActions","has","isNil","isArray","isObject","isString","isNumber","appendCurrentLocaleToURL","getCountryFlagImg","truncate","replaceHttp","_a","$","count","callback","toggleDownloadPopup","distribution","date","dateFilters","string","number","object","keyUndefined","currentValue","array","objectArray","objectUndefined","currentObject","licence","url","keyword","originalLanguage","id","description","accessUrl","index","translationMetaData","n","min","max","increment","clampedSum","incrementStep","isValid","previewLinkCallback","event","invalidUrl","err","distributionsConf","pagesConf","metaInfo.useDatasetDetailsDatasetHead"],"mappings":"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"}