{"version":3,"file":"DatasetOverview.vue.mjs","sources":["../../../../lib/data-provider-interface/views/OverviewPage/DatasetOverview.vue"],"sourcesContent":["<template>\n  <div class=\"mt-2\" v-if=\"pageLoaded\">\n    <div class=\"overviewHeader p-3\">\n      <div class=\"firstRow d-flex\">\n        <div class=\"datasetNotation dsd-title-tag d-flex align-items-center\">\n          <span>\n            {{\n              $te(\"message.metadata.dataset\")\n                ? $t(\"message.metadata.dataset\")\n                : \"Dataset\"\n            }}\n          </span>\n        </div>\n        <h1 class=\"dsTitle\">{{ getTitle }}</h1>\n      </div>\n      <div class=\"secondRow d-flex justify-content-between\">\n        <div class=\"dsCatalogue\">\n          <span\n            ><b\n              >{{\n                $te(\"message.metadata.catalog\")\n                  ? $t(\"message.metadata.catalog\")\n                  : \"Catalogue\"\n              }}:</b\n            ></span\n          >\n          <a href=\"\">\n            {{ checkIfPropertySet(getDatasets, \"dcat:catalog\") }}\n          </a>\n        </div>\n        <div class=\"dsPublisher\">\n          <PropertyEntry\n            profile=\"datasets\"\n            :data=\"getDatasets\"\n            property=\"dct:publisher\"\n            :value=\"{\n              type: 'special',\n              voc: 'corporate-body',\n              label: 'message.metadata.publisher',\n              isHeader: true,\n            }\"\n            :dpiLocale=\"dpiLocale\"\n          ></PropertyEntry>\n        </div>\n        <div class=\"dsIssued\">\n          <span\n            ><b>\n              {{\n                $te(\"message.dataupload.datasets.issued.label\")\n                  ? $t(\"message.dataupload.datasets.issued.label\")\n                  : \"Issued\"\n              }}:</b\n            ></span\n          >\n          <a>\n            {{\n              getDate(\n                new Date(\n                  checkIfPropertyValueSet(getDatasets, \"dct:issued\", \"@value\")\n                )\n              )\n            }}\n          </a>\n        </div>\n        <div class=\"dsUpdated\">\n          <span\n            ><b\n              >{{\n                $te(\"message.dataupload.datasets.modified.label\")\n                  ? $t(\"message.dataupload.datasets.modified.label\")\n                  : \"Updated\"\n              }}:</b\n            ></span\n          >\n          <a>\n            {{\n              getDate(\n                new Date(\n                  checkIfPropertyValueSet(getDatasets, \"dct:modified\", \"@value\")\n                )\n              )\n            }}\n          </a>\n        </div>\n      </div>\n    </div>\n    <div class=\"dsMainWrap d-flex flex-column mt-3\">\n      <div class=\"\">\n        <p class=\"dsDesc px-3\">\n          {{ getDescription }}\n        </p>\n      </div>\n      <div class=\"\">\n        <table\n          class=\"table table-borderless table-responsive bg-light disOverview p-3\"\n        >\n          <div v-for=\"(value, name, index) in tableProperties\" :key=\"index\">\n            <PropertyEntry\n              profile=\"datasets\"\n              :data=\"values\"\n              :property=\"name\"\n              :value=\"value\"\n              :dpiLocale=\"dpiLocale\"\n            ></PropertyEntry>\n          </div>\n        </table>\n      </div>\n    </div>\n    <div class=\"dsDist b-top p-3\" v-if=\"getDistributions.length > 0\">\n      <h2 class=\"my-4\">\n        {{ $t(\"message.metadata.distributions\") }} ({{\n          getDistributions.length\n        }})\n      </h2>\n      <DistributionOverview\n        :dpiLocale=\"dpiLocale\"\n        :distributions=\"getDistributions\"\n      ></DistributionOverview>\n    </div>\n    <div\n      class=\"dsKeywords b-top my-2 p-3\"\n      v-if=\"\n        getDatasets['dct:keyword'] != undefined &&\n        getDatasets['dct:keyword'][0]['@value'] != undefined &&\n        getDatasets['dct:keyword'].length > 0\n      \"\n    >\n      <h2 class=\"my-4\">\n        Keywords <span>({{ getDatasets[\"dct:keyword\"].length }})</span>\n      </h2>\n      <div class=\"d-flex\">\n        <span\n          class=\"mx-1\"\n          v-for=\"(element, index) in getDatasets['dct:keyword'].filter(\n            (el) => el['@language'] === dpiLocale\n          )\"\n          :key=\"index\"\n        >\n          <small\n            :title=\"element\"\n            class=\"d-inline-block w-100 p-2 ml-1 rounded-pill text-center text-white text-truncate bg-primary\"\n          >\n            {{ element[\"@value\"] }}\n          </small>\n        </span>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport PropertyEntry from \"./PropertyEntry.vue\";\nimport DistributionOverview from \"./DistributionOverview.vue\";\nimport { mapGetters, mapActions } from \"vuex\";\nimport axios from \"axios\";\n\nexport default {\n  data() {\n    return {\n      values: [],\n      pageLoaded: false,\n      tableProperties: {\n        \"dct:publisher\": {\n          type: \"special\",\n          voc: \"corporate-body\",\n          label: \"message.metadata.publisher\",\n        },\n        \"dcat:contactPoint\": {\n          type: \"special\",\n          voc: \"\",\n          label: \"message.metadata.contactPoints\",\n        },\n        \"dct:creator\": {\n          type: \"special\",\n          voc: \"\",\n          label: \"message.metadata.creator\",\n        },\n        // 'dct:issued': { type: 'date', label: 'message.metadata.created' },\n        // 'dct:modified': { type: 'date', label: 'message.metadata.updated' },\n        \"dct:language\": {\n          type: \"multiURI\",\n          voc: \"language\",\n          label: \"message.metadata.languages\",\n        },\n        \"dct:subject\": {\n          type: \"multiURI\",\n          voc: \"eurovoc\",\n          label: \"message.dataupload.datasets.subject.label\",\n        },\n        \"dcat:theme\": {\n          type: \"multiURI\",\n          voc: \"data-theme\",\n          label: \"message.dataupload.datasets.theme.label\",\n        },\n        \"dct:type\": {\n          type: \"singularURI\",\n          voc: \"dataset-type\",\n          label: \"message.metadata.type\",\n        },\n        \"dct:source\": {\n          type: \"multiURL\",\n          voc: \"\",\n          label: \"message.metadata.sources\",\n        },\n        \"dct:identifier\": {\n          type: \"multiString\",\n          voc: \"\",\n          label: \"message.metadata.identifiers\",\n        },\n        \"adms:identifier\": {\n          type: \"special\",\n          voc: \"\",\n          label: \"message.metadata.otherIdentifiers\",\n        },\n        \"foaf:page\": {\n          type: \"special\",\n          voc: \"\",\n          label: \"message.dataupload.datasets.page.label\",\n        },\n        \"dcat:landingPage\": {\n          type: \"multiURL\",\n          voc: \"\",\n          label: \"message.metadata.landingPage\",\n        },\n        \"dct:provenance\": {\n          type: \"multiString\",\n          voc: \"\",\n          label: \"message.metadata.provenances\",\n        },\n        \"dct:accrualPeriodicity\": {\n          type: \"singularURI\",\n          voc: \"frequency\",\n          label: \"message.metadata.accrualPeriodicity\",\n        },\n        \"dct:accessRights\": {\n          type: \"singularURI\",\n          voc: \"access-right\",\n          label: \"message.metadata.accessRights\",\n        },\n        \"dct:conformsTo\": {\n          type: \"special\",\n          voc: \"\",\n          label: \"message.metadata.conformsTo\",\n        },\n        \"dct:relation\": {\n          type: \"multiURL\",\n          voc: \"\",\n          label: \"message.dataupload.datasets.relation.label\",\n        },\n        \"dcat:qualifiedRelation\": {\n          type: \"special\",\n          voc: \"\",\n          label: \"message.dataupload.datasets.qualifiedRelation.label\",\n        },\n        \"prov:qualifiedAttribution\": {\n          type: \"multiURL\",\n          voc: \"\",\n          label: \"message.dataupload.datasets.qualifiedAttribution.label\",\n        },\n        \"dct:spatial\": {\n          type: \"multiURI\",\n          voc: \"\",\n          label: \"message.metadata.spatial\",\n        },\n        \"dcat:spatialResolutionInMeters\": {\n          type: \"singularString\",\n          voc: \"\",\n          label: \"message.dataupload.datasets.spatialResolutionInMeters.label\",\n        },\n        \"dct:temporal\": {\n          type: \"special\",\n          voc: \"\",\n          label: \"message.metadata.temporal\",\n        },\n        \"dcat:temporalResolution\": {\n          type: \"special\",\n          voc: \"\",\n          label: \"message.dataupload.datasets.temporalResolution.label\",\n        },\n        \"dct:isReferencedBy\": {\n          type: \"multiURL\",\n          voc: \"\",\n          label: \"message.dataupload.datasets.isReferencedBy.label\",\n        },\n        \"prov:wasGeneratedBy\": {\n          type: \"multiURL\",\n          voc: \"\",\n          label: \"message.dataupload.datasets.wasGeneratedBy.label\",\n        },\n        \"dct:isVersionOf\": {\n          type: \"multiURL\",\n          voc: \"\",\n          label: \"message.metadata.isVersionOf\",\n        },\n        \"dext:metadataExtension\": {\n          type: \"multiURL\",\n          voc: \"\",\n          label: \"message.dataupload.datasets.isUsedBy.label\",\n        },\n        \"dct:hasVersion\": {\n          type: \"multiURL\",\n          voc: \"\",\n          label: \"message.metadata.hasVersion\",\n        },\n        \"owl:versionInfo\": {\n          type: \"singularString\",\n          voc: \"\",\n          label: \"message.metadata.versionInfo\",\n        },\n        \"adms:versionNotes\": {\n          type: \"multiLingual\",\n          voc: \"\",\n          label: \"message.metadata.versionNotes\",\n        },\n        \"dcatde:qualityProcessURI\": {\n          type: \"singularURI\",\n          voc: \"\",\n          label: \"message.dataupload.datasets.qualityProcessURI.label\",\n        },\n        \"dct:references\": {\n          type: \"singularURI\",\n          voc: \"\",\n          label: \"message.dataupload.datasets.references.label\",\n        },\n        \"dcatde:legalBasis\": {\n          type: \"multiLingual\",\n          voc: \"\",\n          label: \"message.dataupload.datasets.legalBasis.label\",\n        },\n        \"dct:contributor\": {\n          type: \"special\",\n          voc: \"\",\n          label: \"message.dataupload.datasets.contributor.label\",\n        },\n        \"dcatde:contributorID\": {\n          type: \"multiURI\",\n          voc: \"contributors\",\n          label: \"message.dataupload.datasets.contributorID.label\",\n        },\n        \"dcatde:originator\": {\n          type: \"special\",\n          voc: \"\",\n          label: \"message.dataupload.datasets.originator.label\",\n        },\n        \"dcatde:maintainer\": {\n          type: \"special\",\n          voc: \"\",\n          label: \"message.dataupload.datasets.maintainer.label\",\n        },\n        \"dcatap:availability\": {\n          type: \"singularURI\",\n          voc: \"planned-availability\",\n          label: \"message.dataupload.datasets.availabilityDE.label\",\n        },\n        \"dcatde:geocodingDescription\": {\n          type: \"multiLingual\",\n          voc: \"\",\n          label: \"message.dataupload.datasets.geocodingDescription.label\",\n        },\n        \"dcatde:politicalGeocodingLevelURI\": {\n          type: \"multiURI\",\n          voc: \"\",\n          label: \"message.dataupload.datasets.politicalGeocodingLevelURI.label\",\n        },\n        \"dcatde:politicalGeocodingURI\": {\n          type: \"multiURI\",\n          voc: \"political-geocoding-level\",\n          label: \"message.dataupload.datasets.politicalGeocodingURI.label\",\n        },\n      },\n    };\n  },\n  props: {\n    dpiLocale: String,\n  },\n  components: {\n    PropertyEntry,\n    DistributionOverview,\n  },\n  computed: {\n    ...mapGetters(\"dpiStore\", [\"getData\"]),\n    getDatasets() {\n      return this.values;\n    },\n    getDistributions() {\n      return this.getDatasets[\"distributionList\"] || [];\n    },\n    showTable() {\n      return (\n        Object.keys(this.tableProperties).filter(\n          (prop) => this.getDatasets[prop]\n        ).length > 0\n      );\n    },\n    storeData() {\n      return this.getData(\"datasets\");\n    },\n    getTitle() {\n      return (\n        this.getDatasets[\"dct:title\"] &&\n        this.getDatasets[\"dct:title\"]\n          .filter((el) => el[\"@language\"] === this.dpiLocale)\n          .map((el) => el[\"@value\"])[0]\n      );\n    },\n    getDescription() {\n      return (\n        this.getDatasets[\"dct:description\"] &&\n        this.getDatasets[\"dct:description\"]\n          .filter((el) => el[\"@language\"] === this.dpiLocale)\n          .map((el) => el[\"@value\"])[0]\n      );\n    },\n  },\n  methods: {\n    checkIfPropertySet(data, property) {\n      if (data[property] != undefined) return data[property];\n      else {\n        return \"-\";\n        // return \"No data available\"\n      }\n    },\n    getDate(date) {\n      if (!(date instanceof Date) || isNaN(date.getTime())) return \"-\";\n\n      let options = {};\n      if (this.dpiLocale === \"de\") {\n        options = { year: \"numeric\", month: \"long\", day: \"numeric\" };\n        return date.toLocaleDateString(\"de-DE\", options);\n      } else {\n        options = { year: \"numeric\", month: \"long\", day: \"numeric\" };\n        return date.toLocaleDateString(\"en-EN\", options);\n      }\n    },\n    checkIfPropertyValueSet(data, property, value) {\n      if (data[property] != undefined && data[property][value] != undefined)\n        return data[property][value];\n      else {\n        return \"-\";\n        // return \"No data available\"\n      }\n    },\n    async reqName(URI) {\n      let nameOfProperty = URI.split(\"/\");\n      let req = `${this.$env.api.baseUrl}vocabularies/${\n        nameOfProperty[nameOfProperty.length - 2]\n      }/${nameOfProperty[nameOfProperty.length - 1]}`;\n\n      const data = await axios.get(req);\n      return data[\"data\"][\"result\"][\"pref_label\"][this.dpiLocale];\n    },\n  },\n  async mounted() {\n    this.$nextTick(() => {\n      this.pageLoaded = true;\n      this.values = this.getData(\"datasets\");\n    });\n  },\n  watch: {\n    storeData(newValue, oldValue) {\n      this.values = newValue;\n    },\n  },\n};\n</script>\n\n<style>\n.overviewHeader {\n  border-bottom: 1px solid lightgray;\n}\n\n.firstRow {\n  align-items: center;\n}\n\n.dsDist td:first-child {\n  padding: 1rem;\n  width: 25%;\n}\n\n.disOverview td:first-child {\n  min-width: 25%;\n}\n\n.disOverview td:last-child {\n  width: 75%;\n}\n\n.b-top {\n  border-top: 1px solid lightgray;\n}\n\n.dist-edit {\n  cursor: pointer;\n}\n</style>\n"],"names":["_sfc_main","PropertyEntry","DistributionOverview","mapGetters","prop","el","data","property","date","options","value","URI","nameOfProperty","req","axios","newValue","oldValue","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_18","_hoisted_20","_hoisted_21","$data","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_ctx","_toDisplayString","$options","_createVNode","_component_PropertyEntry","$props","_Fragment","name","index","_hoisted_17","_component_DistributionOverview","_hoisted_19","_renderList","element","_hoisted_22"],"mappings":"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"}