{"version":3,"file":"URIProp.vue.mjs","sources":["../../../../../lib/data-provider-interface/views/OverviewPage/Properties/URIProp.vue"],"sourcesContent":["<template>\n  <!-- <details>{{ value.isHeader === true }}</details> -->\n  <td class=\" font-weight-bold\" v-if=\"value.type !== 'special' && inHeader != true\">{{ $t(`${value.label}`) }}:\n  </td>\n\n  <!-- SINGULAR URIs -->\n  <td v-if=\"value.type === 'singularURI' && typeof data[property] === 'string'\" class=\"\"> {{ data[property] }}</td>\n  <td v-if=\"Object.keys(data[property]).length === 1 && value.type === 'singularURI'\" class=\"\"> {{\n    data[property][0]['@id'] }} </td>\n  <td v-if=\"value.type === 'singularURI' && typeof data[property] != 'string' && Object.keys(data[property]).length > 1\"\n    :class=\"{ 'p-0': inHeader }\"> {{ nameOfProperty }}</td>\n  <!-- MULTIPLE URIs -->\n  <td v-if=\"value.type === 'multiURI'\" class=\"flex-wrap d-flex multiURI\">\n    <div v-for=\"(el, index) in data[property]\" :key=\"index\" class=\"border shadow-sm p-2 mb-1 mr-1\">\n      {{ el.name }}\n    </div>\n  </td>\n  <!-- SPECIAL CASES -->\n\n  <td v-if=\"value.type === 'special' && nameOfProperty != 'Unchanged Value'\" class=\"font-weight-bold\">{{\n    $t(`${value.label}`) }}:</td>\n  <td v-if=\"value.type === 'special' && nameOfProperty != 'Unchanged Value' && value.isHeader != true\" class=\"\"> {{\n    nameOfProperty }}</td>\n  <td v-if=\"value.type === 'special' && nameOfProperty != 'Unchanged Value' && value.isHeader === true\" class=\"\"> {{\n    trimString(nameOfProperty, 35) }} </td>\n  <!-- License Edge case -->\n  <!-- <td v-if=\"value.type === 'special' && nameOfProperty != 'Unchanged Value' && value.label === 'message.metadata.license'\" class=\"\"> {{ nameOfProperty }}</td> -->\n  <!-- <details>{{ data[property] }}</details> -->\n</template>\n\n<script>\nimport { mapActions } from 'vuex';\nimport { getTranslationFor } from \"../../../../utils/helpers\";\nimport generalHelper from '../../../utils/general-helper';\nimport dpiConfig from '../../../config/dpi-spec-config';\nimport { useDpiContext } from '../../../composables/useDpiContext';\nimport { useAutocomplete } from '../../../composables/aucotomplete';\n\nexport default {\n  data() {\n    return {\n      nameOfProperty: \"Unchanged Value\",\n      namesOfMulti: []\n    }\n  },\n  props: {\n    property: String,\n    value: Object,\n    data: Object,\n    inHeader: String\n  },\n  methods: {\n    trimString(str, maxLength) {\n      if (str.length > maxLength) {\n        return str.slice(0, maxLength) + '...';\n      }\n      return str;\n    },\n    getTranslationFor,\n    async requestURILabel(voc, res) {\n\n      const envs = this.$env;\n\n      if (res != undefined) {\n        let vocMatch =\n          this.voc === \"iana-media-types\" ||\n          this.voc === \"spdx-checksum-algorithm\";\n\n        let name;\n        await this.requestResourceName({ voc: voc, uri: res, envs: envs }).then(\n          (response) => {\n\n            if (this.property === 'dcatde:politicalGeocodingURI') {\n              if (response != undefined) {\n                let result = vocMatch\n                  ? response.data.result.results\n                    .filter((dataset) => dataset.resource === res)\n                    .map((dataset) => dataset.alt_label)[0].en\n                  : getTranslationFor(response.data.result.alt_label, this.$i18n.locale, []);\n                name = result;\n              }\n            } else {\n              if (response != undefined) {\n                let result = vocMatch\n                  ? response.data.result.results\n                    .filter((dataset) => dataset.resource === res)\n                    .map((dataset) => dataset.pref_label)[0].en\n                  : getTranslationFor(response.data.result.pref_label, this.$i18n.locale, []);\n                name = result;\n              }\n            }\n          }\n        );\n        // console.log(name);\n        return name\n      }\n    },\n  },\n  async created() {\n\n    try {\n      if (this.value.type === 'singularURI') {\n        if (typeof this.data[this.property] != 'string') {\n\n          this.nameOfProperty = await this.getURILabel(this.data[this.property]);\n        }\n\n      } else if (this.value.type === 'multiURI') {\n        for (let index = 0; index < this.data[this.property].length; index++) {\n          this.data[this.property][index].name = await this.getURILabel(this.data[this.property][index]);\n        }\n      }\n      else if (this.value.type === 'special') {\n\n        this.nameOfProperty = await this.getURILabel(this.data[this.property]);\n\n      }\n\n    } catch (e) {\n      console.warn(e);\n    }\n  },\n  setup() {\n    const { requestResourceName } = useAutocomplete()\n    const dpiConfig = useDpiContext();\n\n    async function getURILabel(value) {\n      if (generalHelper.isUrl(value.name)) {\n\n        const prefixes = dpiConfig.value.specification.vocabPrefixes;\n        const vocabulary = Object.keys(prefixes).find(key => value.name.includes(key));\n        return await this.requestURILabel(vocabulary, value.name);\n      }\n      else return value.name;\n    }\n\n    return {\n      requestResourceName,\n      getURILabel,\n    }\n  }\n}\n\n</script>\n<style>\ndiv:has(>.multiURI) {\n  width: 75%;\n}\n</style>\n"],"names":["_sfc_main","str","maxLength","getTranslationFor","voc","res","envs","vocMatch","name","response","dataset","index","e","requestResourceName","useAutocomplete","dpiConfig","useDpiContext","getURILabel","value","generalHelper","prefixes","vocabulary","key","$props","_createElementBlock","_hoisted_1","_toDisplayString","_ctx","_openBlock","_hoisted_2","_hoisted_3","$data","_hoisted_4","_Fragment","el","_hoisted_5","_hoisted_6","_hoisted_7","$options"],"mappings":"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"}