{"version":3,"file":"DatasetDetailsVisualisations.vue.mjs","sources":["../../../lib/datasetDetails/features/DatasetDetailsVisualisations.vue"],"sourcesContent":["<template>\n  <div class=\"dsd-feature\">\n    <dataset-details-feature-header\n      :title=\"`${$t('message.metadata.visualisations')} (${getVisualisations ? getVisualisations.length.toLocaleString('fi') : 0})`\"\n      :arrowDown=\"!visualisations.isVisible\"\n      :onClick=\"toggleVisualisation\"\n    />\n    <ul v-if=\"visualisations.isVisible\" class=\"list list-unstyled col-12\">\n      <hr>\n      <div class=\"distributions\" :key=\"`${expandedVisualisations.length}--${expandedVisualisationDescriptions.length}`\">\n        <div\n          v-for=\"(visualisation, i) in displayedVisualisations\"\n          :key=\"i\"\n          class=\"distributions__item\"\n        >\n          <!-- Preview and action overlay -->\n          <div\n            v-if=\"!visualisations.displayAll && !isVisualisationsAllDisplayed && i === visualisations.displayCount - 1\"\n            class=\"distributions__item--preview\"\n          >\n            <!-- Fade out the last item so it has a preview feel -->\n            <!-- Render actions on top of it -->\n            <div class=\"distributions__actions pb-md-3\">\n              <button\n                v-for=\"increment in visualisations.incrementSteps.filter(nonOverflowingIncrementsForVisualisations)\"\n                :key=\"increment\"\n                class=\"btn btn-sm btn-secondary mr-1\"\n                @click=\"increaseNumDisplayedVisualisations(increment)\"\n              >\n                <i class=\"fas fa-chevron-down\"/> {{ $t('message.metadata.showXMore', { increment }) }}\n              </button>\n              <button\n                class=\"btn btn-sm btn-primary\"\n                @click=\"visualisations.displayCount = getVisualisations.length\"\n              >\n                <i class=\"fas fa-eye\"/> {{ $t('message.metadata.showAll') }} {{ getVisualisations.length.toLocaleString('fi') }}\n              </button>\n            </div>\n          </div>\n          <li class=\"row\">\n            <!-- VISUALISATION FORMAT -->\n            <span class=\"d-inline-block col-2 col-md-1 pl-1 p-md-3 px-md-4 m-md-0 m-auto\">\n                <div class=\"circle float-md-right text-center text-white\"\n                     :type=\"getVisualisationFormat(visualisation)\"\n                     :data-toggle=\"visualisationFormatTruncated(visualisation) ? 'tooltip' : false\"\n                     :data-placement=\"visualisationFormatTruncated(visualisation) ? 'top' : false\"\n                     :title=\"visualisationFormatTruncated(visualisation) ? getVisualisationFormat(visualisation) : false\">\n                  <span>{{ truncate(getVisualisationFormat(visualisation), 4, true) }}</span>\n                </div>\n              </span>\n            <span class=\"col-10 col-md-11\">\n                <span class=\"row\">\n                  <!-- VISUALISATION TITLE -->\n                  <span class=\"d-inline-block col-12\">\n                    <h3 class=\"m-0 text-break\" :title=\"getVisualisationTitle(visualisation)\">{{ getVisualisationTitle(visualisation) }}</h3>\n                  </span>\n                  <span class=\"d-inline-block col-12 col-md-9 col-lg-7\">\n                    <!-- VISUALISATION DESCRIPTION -->\n                    <span class=\"mt-2 d-block\">\n                      <small v-if=\"visualisationDescriptionIsExpanded(`visualisation-description-toggle-${i}`)\">\n                        <p class=\"text-muted\">\n                          {{ getVisualisationDescription(visualisation) }}\n                          <span class=\"text-primary details-link pl-2\" @click=\"toggleVisualisationDescription(`visualisation-description-toggle-${i}`)\">\n                            {{ $t('message.metadata.readLess') }}\n                          </span>\n                        </p>\n                      </small>\n                      <small v-else-if=\"!visualisationDescriptionIsExpandable(getVisualisationDescription(visualisation))\">\n                        <p class=\"text-muted\">{{ getVisualisationDescription(visualisation) }}</p>\n                      </small>\n                      <small v-else>\n                        <p class=\"text-muted\">\n                          {{ truncate(getVisualisationDescription(visualisation), visualisations.descriptionMaxChars) }}\n                          <span class=\"text-primary details-link pl-2\" @click=\"toggleVisualisationDescription(`visualisation-description-toggle-${i}`)\">\n                            {{ $t('message.metadata.readMore') }}\n                          </span>\n                        </p>\n                      </small>\n                    </span>\n                  </span>\n                  <!-- VISUALISATION BUTTONS -->\n                  <span class=\"col-12 col-md-3 col-lg-5 mt-2 text-md-right text-left\">\n                    <!-- VISUALISATION DOWNLOAD -->\n                    <span class=\"download dropdown d-inline-block\">\n                      <app-link class=\"btn btn-sm btn-primary p-0 pl-2 pr-2 w-100 rounded-lg btn-color\"\n                                :to=\"visualisation.accessUrl[0]\"\n                                target=\"_blank\"\n                                rel=\"dcat:distribution noopener\"\n                                matomo-track-download\n                                @after-click=\"trackGoto\">\n                            {{ $t('message.datasetDetails.access') }}\n                      </app-link>\n                      </span>\n                  </span>\n                </span>\n              </span>\n          </li>\n          <hr class=\"mt-1\">\n        </div>\n      </div>\n    </ul>\n  </div>\n</template>\n\n<script>\nimport {has, isNil} from \"lodash\";\nimport {getTranslationFor, truncate} from \"../../utils/helpers\";\nimport {mapGetters} from \"vuex\";\nimport AppLink from \"../../widgets/AppLink\";\nimport DatasetDetailsFeatureHeader\n  from \"../../datasetDetails/features/DatasetDetailsFeatureHeader\";\n\nexport default {\n  name: \"DatasetDetailsVisualisations\",\n  components: {\n    // DatasetDetailsFeatureHeader,\n    AppLink},\n  props: {\n    trackGoto: Function\n  },\n  data() {\n    return {\n      expandedVisualisationDescriptions: [],\n      expandedVisualisations: [],\n      visualisations: {\n        isVisible: this.$env.content.datasetDetails.visualisations.isVisible,\n        displayAll: this.$env.content.datasetDetails.visualisations.displayAll,\n        displayCount: this.$env.content.datasetDetails.visualisations.displayCount,\n        incrementSteps: this.$env.content.datasetDetails.visualisations.incrementSteps,\n        descriptionMaxLines: this.$env.content.datasetDetails.visualisations.descriptionMaxLines,\n        descriptionMaxChars: this.$env.content.datasetDetails.visualisations.descriptionMaxChars,\n      }\n    };\n  },\n  computed: {\n    ...mapGetters('datasetDetails', [\n      'getLanguages',\n      'getVisualisations'\n    ]),\n    isVisualisationsAllDisplayed() {\n      return this.visualisations.displayCount === this.getVisualisations.length;\n    },\n    remainingVisualisations() {\n      return this.getVisualisations.length - this.visualisations.displayCount;\n    },\n    displayedVisualisations() {\n      const sorted = [...this.getVisualisations].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.visualisations.displayAll\n        ? Object.freeze(sorted)\n        : Object.freeze(sorted.slice(0, this.visualisations.displayCount));\n    }\n  },\n  methods: {\n    truncate,\n    toggleVisualisation() {\n      this.visualisations.isVisible = !this.visualisations.isVisible;\n    },\n    toggleVisualisationDescription(id) {\n      const index = this.expandedVisualisationDescriptions.indexOf(id);\n      if (index > -1) this.expandedVisualisationDescriptions.splice(index, 1);\n      else this.expandedVisualisationDescriptions.push(id);\n    },\n    visualisationIsExpanded(id) {\n      return this.expandedVisualisations.includes(id);\n    },\n    visualisationDescriptionIsExpanded(id) {\n      return this.expandedVisualisationDescriptions.includes(id);\n    },\n    visualisationDescriptionIsExpandable(description) {\n      return isNil(description) ? false : description.length > this.visualisations.descriptionMaxChars;\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    increaseNumDisplayedVisualisations(increment) {\n      const clampedSum = this.clamp(this.visualisations.displayCount + increment, 0, this.getVisualisations.length);\n      this.visualisations.displayCount = clampedSum;\n    },\n    nonOverflowingIncrementsForVisualisations(incrementStep) {\n      return this.visualisations.displayCount + incrementStep <= this.getVisualisations.length;\n    },\n    getVisualisationFormat(visualisation) {\n      return has(visualisation, 'format.label') && !isNil(visualisation.format.label) ? visualisation.format.label : 'UNKNOWN';\n    },\n    visualisationFormatTruncated(visualisation) {\n      return this.getVisualisationFormat(visualisation).length > 4;\n    },\n    getVisualisationTitle(visualisation) {\n      return visualisation.title ? getTranslationFor(visualisation.title, this.$route.query.locale, this.getLanguages) : truncate(visualisation.resource, 50);\n    },\n    getVisualisationDescription(visualisation) {\n      return (has(visualisation, 'description') && !isNil(visualisation.description)) ? getTranslationFor(visualisation.description, this.$route.query.locale, this.getLanguages) : this.$t('message.catalogsAndDatasets.noDescriptionAvailable');\n    },\n    clamp(n, min, max) {\n      return Math.min(Math.max(n, min), max);\n    }\n  }\n}\n</script>\n\n<style scoped lang=\"scss\">\n.heading, .arrow {\n  cursor: pointer;\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\n</style>\n"],"names":["_sfc_main","AppLink","mapGetters","sorted","a","b","getTranslationFor","truncate","id","index","description","isNil","increment","clampedSum","incrementStep","visualisation","has","n","min","max","_hoisted_1","_hoisted_4","_hoisted_6","_hoisted_7","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_13","_hoisted_14","_hoisted_16","_hoisted_19","_hoisted_21","_hoisted_23","_hoisted_24","_openBlock","_createElementBlock","_createVNode","_component_dataset_details_feature_header","_ctx","$data","$options","_hoisted_2","_createElementVNode","_Fragment","_renderList","i","_hoisted_3","$event","_toDisplayString","_hoisted_12","_hoisted_15","_hoisted_17","_hoisted_20","_hoisted_22","_hoisted_18","_component_app_link","$props"],"mappings":"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"}