{"version":3,"file":"Distribution.vue.mjs","sources":["../../../lib/datasetDetails/distributions/Distribution.vue"],"sourcesContent":["<template>\n  <div class=\"position-relative\">\n    <div class=\"mb-3 d-flex flex-row flex-wrap flex-md-nowrap distributions__item\">\n      <distribution-format :distribution=\"distribution\" :getDistributionFormat=\"getDistributionFormat\"\n        :distributionFormatTruncated=\"distributionFormatTruncated\" :embed=\"embed\" />\n      <distribution-details :getDistributionTitle=\"getDistributionTitle\" :distribution=\"distribution\"\n        :distributions=\"distributions\" :distributionDescriptionIsExpanded=\"distributionDescriptionIsExpanded\"\n        :getDistributionDescription=\"getDistributionDescription\"\n        :toggleDistributionDescription=\"toggleDistributionDescription\"\n        :distributionDescriptionIsExpandable=\"distributionDescriptionIsExpandable\"\n        :distributionVisibleContent=\"distributionVisibleContent\"\n        :distributionExpandedContent=\"distributionExpandedContent\" :distributionIsExpanded=\"distributionIsExpanded\"\n        :showLicensingAssistant=\"showLicensingAssistant\" :showLicence=\"showLicence\"\n        :filterDateFormatEU=\"filterDateFormatEU\" :showArray=\"showArray\" :showNumber=\"showNumber\"\n        :showObject=\"showObject\" :showObjectArray=\"showObjectArray\" :appendCurrentLocaleToURL=\"appendCurrentLocaleToURL\"\n        :toggleDistribution=\"toggleDistribution\" />\n      <distribution-added :date=\"updatedDate\" />\n\n      <div class=\"actions-container\">\n        <distribution-actions @display-visualisation=\"selectForPreview\" :distribution=\"distribution\" :distributions=\"distributions\" :isUrlInvalid=\"isUrlInvalid\"\n          :getVisualisationLink=\"getVisualisationLink\" :showTooltipVisualiseButton=\"showTooltipVisualiseButton\"\n          :previewLinkCallback=\"previewLinkCallback\" :openIfValidUrl=\"openIfValidUrl\"\n          :showDownloadDropdown=\"showDownloadDropdown\" :getDownloadUrl=\"getDownloadUrl\" :showAccessUrls=\"showAccessUrls\"\n          :isOnlyOneUrl=\"isOnlyOneUrl\" :trackGoto=\"trackGoto\" :getDistributionFormat=\"getDistributionFormat\"\n          :replaceHttp=\"replaceHttp\" />\n        <slot name=\"additional-actions\"></slot>\n      </div>\n\n    </div>\n    <fading-distribution-overlay v-if=\"fading\" :distributions=\"distributions\"\n      :setDistributionsDisplayCount=\"setDistributionsDisplayCount\"\n      :increaseNumDisplayedDistributions=\"increaseNumDisplayedDistributions\"\n      :nonOverflowingIncrementsForDistributions=\"nonOverflowingIncrementsForDistributions\" />\n  </div>\n</template>\n\n<script>\nimport {\n  has,\n  isNil\n} from 'lodash';\nimport { truncate } from '../../utils/helpers';\nimport DistributionExpand from \"./distributionDetails/DistributionExpand\";\nimport DistributionVisibleContent\n  from \"./distributionDetails/DistributionVisibleContent\";\nimport DistributionExpandedContent\n  from \"./distributionDetails/DistributionExpandedContent\";\nimport DistributionDescription\n  from \"./distributionDetails/DistributionDescription\";\nimport DistributionFormat from \"./DistributionFormat\";\nimport FadingDistributionOverlay\n  from \"./FadingDistributionOverlay\";\nimport DistributionActions from \"./distributionActions/DistributionActions\";\nimport DistributionAdded from \"./DistributionAdded\";\n\nexport default {\n  name: 'Distribution',\n  components: {\n    DistributionAdded,\n    DistributionActions,\n    FadingDistributionOverlay,\n    DistributionFormat,\n    DistributionDescription,\n    DistributionExpandedContent,\n    DistributionVisibleContent,\n    DistributionExpand\n  },\n  props: {\n    fading: Boolean,\n    distribution: Object,\n    distributions: Object,\n    setDistributionsDisplayCount: Function,\n    openModal: Function,\n    getDistributionFormat: Function,\n    distributionFormatTruncated: Function,\n    getDistributionTitle: Function,\n    distributionVisibleContent: Array,\n    distributionExpandedContent: Array,\n    distributionDescriptionIsExpanded: Function,\n    distributionDescriptionIsExpandable: Function,\n    getDistributionDescription: Function,\n    distributionIsExpanded: Function,\n    showObject: Function,\n    showNumber: Function,\n    showDownloadDropdown: Function,\n    showLicence: Function,\n    showLicensingAssistant: Function,\n    filterDateFormatEU: Function,\n    showArray: Function,\n    showObjectArray: Function,\n    getVisualisationLink: Function,\n    isOnlyOneUrl: Function,\n    getDownloadUrl: Function,\n    trackGoto: Function,\n    showAccessUrls: Function,\n    replaceHttp: Function,\n    previewLinkCallback: Function,\n    toggleDistribution: Function,\n    toggleDistributionDescription: Function,\n    increaseNumDisplayedDistributions: Function,\n    nonOverflowingIncrementsForDistributions: Function,\n    isUrlInvalid: Function,\n    openIfValidUrl: Function,\n    showTooltipVisualiseButton: Function,\n    appendCurrentLocaleToURL: Function,\n    embed: Boolean,\n  },\n  computed: {\n    updatedDate() {\n      if (this.has(this.distribution, 'modificationDate') && !this.isNil(this.distribution.modificationDate)) {\n        return this.filterDateFormatEU(this.distribution.modificationDate);\n      } else {\n        return this.filterDateFormatEU(this.distribution.releaseDate);\n      }\n    }\n  },\n  methods: {\n    has,\n    isNil,\n    truncate,\n    selectForPreview() {\n      const accessUrl = this.distribution.downloadUrls && this.distribution.downloadUrls.length ? this.distribution.downloadUrls[0] : this.distribution.accessUrl[0]\n      let previewData = {'title': this.getDistributionTitle(this.distribution),'url': accessUrl, 'format': this.distribution.format.id.toLowerCase()}\n      if (this.distribution?.compressFormat?.resource){\n        previewData.compressFormat = this.distribution.compressFormat.resource;\n      }\n      this.$emit('selectForPreview', previewData)\n    },\n  }\n};\n</script>\n\n\n<style lang=\"scss\" scoped>\n.text-break {\n  word-break: break-word;\n}\n\ntd {\n  padding-left: 0 !important;\n  padding-top: 1% !important;\n  padding-bottom: 1% !important;\n}\n\n/*** BOOTSTRAP ***/\nbutton:focus {\n  outline: 0;\n}\n\n.options,\n.download {\n  .dropdown-menu {\n    .dropdown-item {\n      &:hover {\n        color: initial;\n        background-color: initial;\n      }\n    }\n  }\n}\n\n.material-icons.small-icon {\n  font-size: 20px;\n}\n\n.distributions__item {\n  //position: relative;\n  border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n}\n</style>\n"],"names":["_sfc_main","DistributionAdded","DistributionActions","FadingDistributionOverlay","DistributionFormat","DistributionDescription","DistributionExpandedContent","DistributionVisibleContent","DistributionExpand","has","isNil","truncate","accessUrl","previewData","_b","_a","_hoisted_1","_hoisted_2","_hoisted_3","_openBlock","_createElementBlock","_createElementVNode","_createVNode","_component_distribution_format","$props","_component_distribution_details","_component_distribution_added","$options","_component_distribution_actions","_renderSlot","_ctx","_createBlock","_component_fading_distribution_overlay"],"mappings":"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"}