{"version":3,"file":"DistributionActions.vue.mjs","sources":["../../../../lib/datasetDetails/distributions/distributionActions/DistributionActions.vue"],"sourcesContent":["<template>\n  <div class=\"d-flex flex-sm-row flex-md-column flex-lg-row justify-content-start\n    justify-content-lg-end mt-2 text-md-right col text-left distribution-actions\">\n    <!-- button of new visualization tool -->\n    <distribution-visualize-button v-if=\"showVisualisationButton\" class=\"distribution-action\" @displayVisualisation=\"$emit('displayVisualisation', getDownloadUrl)\" :isUrlInvalid=\"isUrlInvalid\"\n    :getVisualisationLink=\"getVisualisationLink\" :distribution=\"distribution\" :openIfValidUrl=\"openIfValidUrl\">{{ $t('message.datasetDetails.preview') }}</distribution-visualize-button>\n    <!-- TODO: remove distribution-preview button once the new visualisation service is online -->\n    <distribution-preview v-if=\"!hidePreviewButton &&  getCatalog.is_part_of  !== 'erpd' && !showVisualisationButton\" :isUrlInvalid=\"isUrlInvalid\"\n      :getVisualisationLink=\"getVisualisationLink\" :distribution=\"distribution\" :openIfValidUrl=\"openIfValidUrl\"\n      :previewLinkCallback=\"previewLinkCallback\" class=\"distribution-action\" />\n    <distribution-download v-if=\"showDownloadDropdown(distribution)\" :getDownloadUrl=\"getDownloadUrl\"\n      :showAccessUrls=\"showAccessUrls\" :isOnlyOneUrl=\"isOnlyOneUrl\" :trackGoto=\"trackGoto\"\n      :getDistributionFormat=\"getDistributionFormat\" :replaceHttp=\"replaceHttp\" :distribution=\"distribution\"\n      class=\"distribution-action distribution-download\" />\n    <linked-data-buttons-dropdown :distributions=\"distributions\" :distribution=\"distribution\"\n      class=\"distribution-action\" />\n    <div>\n      <app-link v-if=\"showValidateButton\" class=\"btn btn-sm validate-btn pt-0\"\n        :to=\"{ name: 'DatasetDetailsQuality', query: { locale: $route.query.locale, validate: distribution.id } }\">\n        Validate\n      </app-link>\n    </div>\n  </div>\n</template>\n\n<script>\nimport AppLink from \"../../../widgets/AppLink\";\nimport DistributionVisualizeButton from \"../../../datasetDetails/distributions/distributionActions/DistributionVisualizeButton\";\nimport DistributionPreview from \"../../../datasetDetails/distributions/distributionActions/DistributionPreview\";\nimport DistributionDownload from \"../../../datasetDetails/distributions/distributionActions/DistributionDownload\";\nimport LinkedDataButtonsDropdown\n  from \"../../../datasetDetails/distributions/distributionActions/LinkedDataButtonsDropdown\";\nimport {mapGetters} from \"vuex\";\nimport {has, isNil} from \"lodash\";\n\nexport default {\n  name: \"DistributionActions\",\n  components: { AppLink, LinkedDataButtonsDropdown, DistributionDownload, DistributionPreview, DistributionVisualizeButton },\n  props: {\n    distribution: Object,\n    distributions: Object,\n    isUrlInvalid: Function,\n    getVisualisationLink: Function,\n    showTooltipVisualiseButton: Function,\n    previewLinkCallback: Function,\n    openIfValidUrl: Function,\n    showDownloadDropdown: Function,\n    getDownloadUrl: Function,\n    showAccessUrls: Function,\n    isOnlyOneUrl: Function,\n    trackGoto: Function,\n    getDistributionFormat: Function,\n    replaceHttp: Function,\n  },\n  data() {\n    return {\n      showVisualisationButton: this.$env.content.datasetDetails.distributions.showVisualisation,\n      visualisationLinkFormats: [\n        'csv',\n        'tsv',\n        'ods',\n        'xlsx',\n        'xls',\n      ],\n    }\n  },\n  computed: {\n    ...mapGetters('datasetDetails', [\n      'getCatalog',\n    ]),\n    showValidateButton() {\n      return this.$env?.content?.datasetDetails?.distributions?.showValidationButton;\n    },\n    hidePreviewButton() {\n      // only returns true if the config variable hidePreviewButton exists and is set to true\n      return this.$env?.content?.datasetDetails?.distributions?.hidePreviewButton;\n    }\n  },\n  methods: {\n    showVisualisationLink(distribution) {\n      if (!has(distribution, 'format.label') || isNil(distribution?.format?.label)\n        || (isNil(distribution?.downloadUrls[0]) && isNil(distribution?.accessUrl[0]))) return false;\n      const f = distribution?.format?.id?.toLowerCase();\n      return f && this.visualisationLinkFormats.includes(f);\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.validate-btn {\n  color: #0e47cb;\n  vertical-align: text-bottom;\n  text-decoration: none;\n}\n</style>\n"],"names":["_sfc_main","AppLink","LinkedDataButtonsDropdown","DistributionDownload","DistributionPreview","DistributionVisualizeButton","mapGetters","_d","_c","_b","_a","distribution","has","isNil","f","_hoisted_1","_openBlock","_createElementBlock","$data","_createBlock","_component_distribution_visualize_button","_cache","$event","_ctx","$props","$options","_component_distribution_preview","_component_distribution_download","_createVNode","_component_linked_data_buttons_dropdown","_createElementVNode","_component_app_link"],"mappings":"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"}