{"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  <slot name=\"distributions\" \n        :openModal=\"openModal\"\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        :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        :isOnlyOneUrl=\"isOnlyOneUrl\"\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        :remainingDistributions=\"remainingDistributions\"\n        :getDistributionDescription=\"getDistributionDescription\"\n      >\n        <distributions\n          :embed=\"embed\"\n          :openModal=\"openModal\"\n          :expandedDistributions=\"expandedDistributions\"\n          :expandedDistributionDescriptions=\"expandedDistributionDescriptions\"\n          :displayedDistributions=\"displayedDistributions\"\n          :distributions=\"distributions\"\n          :setDistributionsDisplayCount=\"setDistributionsDisplayCount\"\n          :isDistributionsAllDisplayed=\"isDistributionsAllDisplayed\"\n          :pages=\"pages\"\n          :showDownloadUrls=\"showDownloadUrls\"\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          :showObject=\"showObject\"\n          :showNumber=\"showNumber\"\n          :showDownloadDropdown=\"showDownloadDropdown\"\n          :showLicence=\"showLicence\"\n          :showLicensingAssistant=\"showLicensingAssistant\"\n          :filterDateFormatEU=\"filterDateFormatEU\"\n          :showArray=\"showArray\"\n          :showObjectArray=\"showObjectArray\"\n          :getVisualisationLink=\"getVisualisationLink\"\n          :isOnlyOneUrl=\"isOnlyOneUrl\"\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          :isUrlInvalid=\"isUrlInvalid\"\n          :openIfValidUrl=\"openIfValidUrl\"\n          :showTooltipVisualiseButton=\"showTooltipVisualiseButton\"\n          :appendCurrentLocaleToURL=\"appendCurrentLocaleToURL\"\n          :showPublisher=\"showPublisher\"\n          :getDistributionDescription=\"getDistributionDescription\"\n        />\n      </slot>\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      'getIsHvd',\n      'getHvdCategories',\n      'getCountry',\n      'getCategories',\n      'getLoading',\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    watch: {\n      getLoading: {\n        handler(newVal, oldVal) {\n          const isLoadingStopped = !newVal && oldVal;\n          const isAlreadyLoadedSuccessfully = !newVal && !oldVal && this.getID;\n          if (isLoadingStopped || isAlreadyLoadedSuccessfully) {\n            this.piwikMetaPush();\n          }\n        },\n        immediate: true\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        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      async piwikMetaPush() {\n        await this.$nextTick();\n        const obj = {\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          dataset_type: this.getIsHvd ? 'High-Value Dataset' : 'Dataset',\n          dataset_scope: this.getCountry?.id === 'io'\n            ? 'International Data'\n            : this.getCountry?.id === 'eu'\n              ? 'European Union Data'\n              : 'National Data',\n          dataset_provenance: this.getCountry?.name || this.getCountry?.id || '',\n          dataset_category: (\n          this.getCategories?.map(category => category.label?.en || category.id).filter(Boolean).length > 0\n            ? this.getCategories.map(category => category.label?.en || category.id).filter(Boolean)\n            : ['N/A']\n          )\n        };\n        this.$piwik.trackDatasetDetailsPageView(null, null, obj);\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","newVal","oldVal","isLoadingStopped","isAlreadyLoadedSuccessfully","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","obj","_b","_c","_d","_e","category","isValid","previewLinkCallback","event","invalidUrl","err","distributionsConf","pagesConf","metaInfo.useDatasetDetailsDatasetHead"],"mappings":"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"}