@piveau/piveau-hub-ui-modules 4.9.4 → 4.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -29,6 +29,15 @@ declare const _default: import('vue').DefineComponent<{}, {}, {
29
29
  type: string;
30
30
  fields: string;
31
31
  };
32
+ reference_system: {
33
+ type: string;
34
+ fields: string;
35
+ };
36
+ topic_category: {
37
+ type: string;
38
+ fields: string;
39
+ preTransform: (data: any) => any;
40
+ };
32
41
  };
33
42
  fieldsArray(): string[];
34
43
  showMoreVisible(): boolean;
@@ -22,10 +22,10 @@ const I = {
22
22
  "getDatasetDescriptionHeight"
23
23
  ]),
24
24
  fieldSchema() {
25
- return k();
25
+ return k(this.$route.query.locale);
26
26
  },
27
27
  fieldsArray() {
28
- return ["catalog", "publisher", "contact_point", "endpoint_url", "access_right", "format"];
28
+ return ["catalog", "publisher", "contact_point", "endpoint_url", "access_right", "format", "reference_system", "topic_category"];
29
29
  },
30
30
  showMoreVisible() {
31
31
  return this.initialHeight > this.restrictedHeight;
@@ -53,11 +53,11 @@ const I = {
53
53
  ref: "dsdProperties",
54
54
  role: "tablist",
55
55
  id: "myTab"
56
- }, L = {
56
+ }, $ = {
57
57
  class: "additional-information-overlay",
58
58
  ref: "overlay"
59
59
  };
60
- function $(r, t, G, j, s, e) {
60
+ function L(r, t, q, G, s, e) {
61
61
  const v = n("dataset-details-feature-header"), _ = n("dataservice-details-property"), w = n("pv-show-more");
62
62
  return o(), y("div", M, [
63
63
  d("div", N, [
@@ -76,13 +76,13 @@ function $(r, t, G, j, s, e) {
76
76
  l(r.$slots, "property-table", {}, () => [
77
77
  d("table", F, [
78
78
  (o(!0), y(E, null, T(e.fieldsArray, (i, x) => {
79
- var p, h, f, c, m, g, u;
79
+ var p, h, c, f, m, g, u;
80
80
  return o(), D(_, {
81
81
  name: i,
82
82
  translate: (p = e.fieldSchema[i]) == null ? void 0 : p.translate,
83
83
  type: (h = e.fieldSchema[i]) == null ? void 0 : h.type,
84
- propertyFields: (f = e.fieldSchema[i]) == null ? void 0 : f.fields,
85
- track: (c = e.fieldSchema[i]) == null ? void 0 : c.track,
84
+ propertyFields: (c = e.fieldSchema[i]) == null ? void 0 : c.fields,
85
+ track: (f = e.fieldSchema[i]) == null ? void 0 : f.track,
86
86
  itemstyles: (m = e.fieldSchema[i]) == null ? void 0 : m.itemstyles,
87
87
  preTransform: (g = e.fieldSchema[i]) == null ? void 0 : g.preTransform,
88
88
  transform: (u = e.fieldSchema[i]) == null ? void 0 : u.transform,
@@ -92,7 +92,7 @@ function $(r, t, G, j, s, e) {
92
92
  ], 512)
93
93
  ], !0),
94
94
  t[1] || (t[1] = a()),
95
- b(d("div", L, null, 512), [
95
+ b(d("div", $, null, 512), [
96
96
  [H, e.showMoreVisible && !s.expanded]
97
97
  ]),
98
98
  t[2] || (t[2] = a()),
@@ -111,7 +111,7 @@ function $(r, t, G, j, s, e) {
111
111
  }, null, 8, ["label", "upArrow", "action"])) : A("", !0)
112
112
  ]);
113
113
  }
114
- const R = /* @__PURE__ */ C(I, [["render", $], ["__scopeId", "data-v-3c5930df"]]);
114
+ const R = /* @__PURE__ */ C(I, [["render", L], ["__scopeId", "data-v-5c339785"]]);
115
115
  export {
116
116
  R as default
117
117
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DataserviceDetailsProperties.vue.mjs","sources":["../../../lib/datasetDetails/properties/DataserviceDetailsProperties.vue"],"sourcesContent":["<template>\n <div class=\"mt-5 dsd-properties\">\n <div class=\"col-12 mb-2 p-0 dsd-properties-list\">\n <slot name=\"property-header\">\n <dataset-details-feature-header\n :title=\"$t('message.datasetDetails.additionalInfo')\"\n :arrowDown=\"!infoVisible\"\n tag=\"additional-information-toggle\"\n :onClick=\"toggleInfo\"\n />\n </slot>\n <div class=\"position-relative dsd-item additional-information\"\n data-cy=\"additional-information\"\n v-show=\"infoVisible\">\n <slot name=\"property-table-before\"></slot>\n <slot name=\"property-table\">\n <table class=\"table table-borderless table-responsive\" ref=\"dsdProperties\" role=\"tablist\" id=\"myTab\">\n <dataservice-details-property v-for='(name, index) in fieldsArray'\n :name=\"name\"\n :translate=\"fieldSchema[name]?.translate\"\n :type=\"fieldSchema[name]?.type\"\n :propertyFields=\"fieldSchema[name]?.fields\"\n :track=\"fieldSchema[name]?.track\"\n :itemstyles=\"fieldSchema[name]?.itemstyles\"\n :preTransform=\"fieldSchema[name]?.preTransform\"\n :transform=\"fieldSchema[name]?.transform\"\n :key=\"index\"/>\n </table>\n </slot>\n <div class=\"additional-information-overlay\" ref=\"overlay\" v-show=\"showMoreVisible && !expanded\"></div>\n <slot name=\"property-table-after\"></slot>\n </div>\n </div>\n <pv-show-more\n v-if=\"showMoreVisible\"\n :label=\"expanded? $t('message.metadata.showLess') : $t('message.metadata.showMore')\"\n :upArrow=\"expanded\"\n :action=\"toggleExpanded\"\n class=\"row text-primary\"\n />\n </div>\n</template>\n\n<script>\nimport { mapGetters } from \"vuex\";\nimport DataserviceDetailsProperty from \"./DataserviceDetailsProperty\";\nimport { dcatDataserviceSchema } from \"./specification.ts\";\n\nexport default {\n name: \"DataserviceDetailsProperties\",\n components: {\n DataserviceDetailsProperty,\n },\n data() {\n return {\n infoVisible: true,\n initialHeight: 0,\n restrictedHeight: 100,\n expanded: false,\n };\n },\n computed: {\n ...mapGetters('dataserviceDetails', [\n 'getDatasetDescriptionHeight'\n ]),\n fieldSchema() {\n return dcatDataserviceSchema()\n },\n fieldsArray() {\n return ['catalog', 'publisher', 'contact_point', 'endpoint_url', 'access_right', 'format'];\n },\n showMoreVisible() {\n return this.initialHeight > this.restrictedHeight;\n }\n },\n methods: {\n toggleInfo() {\n this.infoVisible = !this.infoVisible;\n },\n toggleExpanded() {\n this.expanded = ! this.expanded;\n this.adaptHeight();\n },\n adaptHeight() {\n this.$refs.dsdProperties.style['flex'] = this.expanded ? \"0 0 100%\": `0 0 ${this.restrictedHeight}px`;\n this.$refs.dsdProperties.style['max-height'] = this.expanded ? \"100%\": `${this.restrictedHeight}px`;\n }\n },\n mounted() {\n this.initialHeight = this.$refs.dsdProperties.clientHeight;\n this.$refs.overlay.style.bottom = (this.$refs.dsdProperties.offsetHeight - this.$refs.dsdProperties.clientHeight) + \"px\";\n if (this.getDatasetDescriptionHeight >= this.initialHeight) {\n this.restrictedHeight = this.getDatasetDescriptionHeight;\n this.toggleExpanded()\n } else if ((this.getDatasetDescriptionHeight >= this.restrictedHeight) && (this.getDatasetDescriptionHeight <= this.initialHeight)) {\n this.restrictedHeight = this.getDatasetDescriptionHeight\n }\n this.adaptHeight();\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n.arrow {\n cursor: pointer;\n}\n\n.additional-information-overlay {\n width: 100%;\n height: 100px;\n position: absolute;\n left: 0;\n background: linear-gradient(to bottom, rgba(0,0,0,0) 0, white 100%);\n pointer-events: none;\n}\ntable {\n background: #F5F5F5;\n}\n\n</style>\n"],"names":["_sfc_main","DataserviceDetailsProperty","mapGetters","dcatDataserviceSchema","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_createElementVNode","_renderSlot","_ctx","_createVNode","_component_dataset_details_feature_header","$data","$options","_withDirectives","_hoisted_3","_hoisted_4","_Fragment","_renderList","name","index","_createBlock","_component_dataservice_details_property","_a","_b","_c","_d","_e","_f","_g","_hoisted_5","_vShow","_component_pv_show_more"],"mappings":"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"}
1
+ {"version":3,"file":"DataserviceDetailsProperties.vue.mjs","sources":["../../../lib/datasetDetails/properties/DataserviceDetailsProperties.vue"],"sourcesContent":["<template>\n <div class=\"mt-5 dsd-properties\">\n <div class=\"col-12 mb-2 p-0 dsd-properties-list\">\n <slot name=\"property-header\">\n <dataset-details-feature-header\n :title=\"$t('message.datasetDetails.additionalInfo')\"\n :arrowDown=\"!infoVisible\"\n tag=\"additional-information-toggle\"\n :onClick=\"toggleInfo\"\n />\n </slot>\n <div class=\"position-relative dsd-item additional-information\"\n data-cy=\"additional-information\"\n v-show=\"infoVisible\">\n <slot name=\"property-table-before\"></slot>\n <slot name=\"property-table\">\n <table class=\"table table-borderless table-responsive\" ref=\"dsdProperties\" role=\"tablist\" id=\"myTab\">\n <dataservice-details-property v-for='(name, index) in fieldsArray'\n :name=\"name\"\n :translate=\"fieldSchema[name]?.translate\"\n :type=\"fieldSchema[name]?.type\"\n :propertyFields=\"fieldSchema[name]?.fields\"\n :track=\"fieldSchema[name]?.track\"\n :itemstyles=\"fieldSchema[name]?.itemstyles\"\n :preTransform=\"fieldSchema[name]?.preTransform\"\n :transform=\"fieldSchema[name]?.transform\"\n :key=\"index\"/>\n </table>\n </slot>\n <div class=\"additional-information-overlay\" ref=\"overlay\" v-show=\"showMoreVisible && !expanded\"></div>\n <slot name=\"property-table-after\"></slot>\n </div>\n </div>\n <pv-show-more\n v-if=\"showMoreVisible\"\n :label=\"expanded? $t('message.metadata.showLess') : $t('message.metadata.showMore')\"\n :upArrow=\"expanded\"\n :action=\"toggleExpanded\"\n class=\"row text-primary\"\n />\n </div>\n</template>\n\n<script>\nimport { mapGetters } from \"vuex\";\nimport DataserviceDetailsProperty from \"./DataserviceDetailsProperty\";\nimport { dcatDataserviceSchema } from \"./specification.ts\";\n\nexport default {\n name: \"DataserviceDetailsProperties\",\n components: {\n DataserviceDetailsProperty,\n },\n data() {\n return {\n infoVisible: true,\n initialHeight: 0,\n restrictedHeight: 100,\n expanded: false,\n };\n },\n computed: {\n ...mapGetters('dataserviceDetails', [\n 'getDatasetDescriptionHeight'\n ]),\n fieldSchema() {\n return dcatDataserviceSchema(this.$route.query.locale)\n },\n fieldsArray() {\n return ['catalog', 'publisher', 'contact_point', 'endpoint_url', 'access_right', 'format', 'reference_system', 'topic_category'];\n },\n showMoreVisible() {\n return this.initialHeight > this.restrictedHeight;\n }\n },\n methods: {\n toggleInfo() {\n this.infoVisible = !this.infoVisible;\n },\n toggleExpanded() {\n this.expanded = ! this.expanded;\n this.adaptHeight();\n },\n adaptHeight() {\n this.$refs.dsdProperties.style['flex'] = this.expanded ? \"0 0 100%\": `0 0 ${this.restrictedHeight}px`;\n this.$refs.dsdProperties.style['max-height'] = this.expanded ? \"100%\": `${this.restrictedHeight}px`;\n }\n },\n mounted() {\n this.initialHeight = this.$refs.dsdProperties.clientHeight;\n this.$refs.overlay.style.bottom = (this.$refs.dsdProperties.offsetHeight - this.$refs.dsdProperties.clientHeight) + \"px\";\n if (this.getDatasetDescriptionHeight >= this.initialHeight) {\n this.restrictedHeight = this.getDatasetDescriptionHeight;\n this.toggleExpanded()\n } else if ((this.getDatasetDescriptionHeight >= this.restrictedHeight) && (this.getDatasetDescriptionHeight <= this.initialHeight)) {\n this.restrictedHeight = this.getDatasetDescriptionHeight\n }\n this.adaptHeight();\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n.arrow {\n cursor: pointer;\n}\n\n.additional-information-overlay {\n width: 100%;\n height: 100px;\n position: absolute;\n left: 0;\n background: linear-gradient(to bottom, rgba(0,0,0,0) 0, white 100%);\n pointer-events: none;\n}\ntable {\n background: #F5F5F5;\n}\n\n</style>\n"],"names":["_sfc_main","DataserviceDetailsProperty","mapGetters","dcatDataserviceSchema","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_createElementVNode","_renderSlot","_ctx","_createVNode","_component_dataset_details_feature_header","$data","$options","_withDirectives","_hoisted_3","_hoisted_4","_Fragment","_renderList","name","index","_createBlock","_component_dataservice_details_property","_a","_b","_c","_d","_e","_f","_g","_hoisted_5","_vShow","_component_pv_show_more"],"mappings":"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"}
@@ -59,16 +59,16 @@ const E = {
59
59
  case "links":
60
60
  e = this.data.map((t) => {
61
61
  if (t) {
62
- const r = typeof t == "string" ? t : t.resource, l = typeof t == "string" ? t : t.label || t.id || t.resource;
62
+ const r = typeof t == "string" ? t : t.resource, l = typeof t == "string" ? t : t.label || t.resource;
63
63
  return { link: r, label: l };
64
64
  }
65
65
  });
66
66
  break;
67
67
  case "object":
68
- e = this.prepareObject(this.data);
68
+ e = this.prepareObject(e);
69
69
  break;
70
70
  case "objects":
71
- e = this.data.map((t) => this.prepareObject(t));
71
+ e = e.map((t) => this.prepareObject(t));
72
72
  break;
73
73
  case "translation":
74
74
  e = _(e, this.$route.query.locale, ["en"]);
@@ -163,7 +163,7 @@ function H(e, t, r, l, m, a) {
163
163
  ])) : u("", !0)
164
164
  ])) : u("", !0);
165
165
  }
166
- const at = /* @__PURE__ */ B(E, [["render", H], ["__scopeId", "data-v-2cfcc72a"]]);
166
+ const at = /* @__PURE__ */ B(E, [["render", H], ["__scopeId", "data-v-bead0b56"]]);
167
167
  export {
168
168
  at as default
169
169
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DataserviceDetailsProperty.vue.mjs","sources":["../../../lib/datasetDetails/properties/DataserviceDetailsProperty.vue"],"sourcesContent":["<template>\n <tr v-if=\"show\">\n <td class=\"w-25 text-break font-weight-bold\">\n <tooltip :title=\"labelDisplay[0]\">\n {{ labelDisplay[1] }}\n </tooltip>\n </td>\n <td\n v-if=\"\n ['string', 'date', 'number', 'first:number', 'translation'].includes(\n type\n )\n \"\n >\n {{ value }}\n </td>\n <td v-if=\"type === 'uri'\">\n <a :href=\"value\">{{ value }}</a>\n </td>\n <td v-if=\"type === 'links'\">\n <div v-for=\"(v, i) of value\" :key=\"i\">\n <div v-if=\"name === 'identifiers'\">{{ v.label }}</div>\n <app-link\n v-if=\"!isNil(v) && v.link && name !== 'languages' && name != 'identifiers'\"\n :to=\"v.link\"\n >{{ truncate(v.label, 75) }}</app-link\n >\n <div v-if=\"(!isNil(v) && !v.link) || name === 'languages' && name != 'identifiers'\">\n {{ truncate(v.label, 75) }}\n </div>\n </div>\n </td>\n <td v-if=\"type === 'object'\">\n <values-list\n :values=\"value\"\n :interpretTranslateKey=\"interpretTranslateKey\"\n :itemstyles=\"itemstyles\"\n />\n </td>\n <td v-if=\"type === 'objects'\">\n <div v-for=\"(item, i) of value\" :key=\"i\">\n <values-list\n :values=\"item\"\n :interpretTranslateKey=\"interpretTranslateKey\"\n :itemstyles=\"itemstyles\"\n />\n </div>\n </td>\n </tr>\n</template>\n\n<script>\nimport AppLink from \"../../widgets/AppLink\";\nimport Tooltip from \"../../widgets/Tooltip\";\nimport { isNil, isArray } from \"lodash\";\nimport { showByType } from \"./typeCheckers.ts\";\nimport ValuesList from \"./ValuesList\";\nimport { mapGetters } from \"vuex\";\nimport dateFilters from \"../../filters/dateFilters.ts\";\nimport { truncate, getTranslationFor } from \"../../utils/helpers\";\n\nexport default {\n name: \"DataserviceDetailsProperty\",\n props: {\n type: String,\n translate: {\n type: [String, Array],\n default: undefined,\n },\n name: String,\n propertyFields: String,\n itemstyles: String,\n track: String,\n preTransform: Function,\n transform: Function,\n },\n components: {\n Tooltip,\n AppLink,\n ValuesList,\n },\n computed: {\n ...mapGetters(\"dataserviceDetails\", [\"getProperty\"]),\n labelDisplay() {\n const prefix = [\"message.tooltip.datasetDetails\", \"message.metadata\"];\n let translateItems;\n if (this.translate) {\n translateItems = this.translate.split(\",\");\n if (translateItems.length === 1) {\n translateItems.push(translateItems[0]);\n }\n } else {\n translateItems = [this.name, this.name];\n }\n return translateItems.map((item, i) =>\n this.interpretTranslateKey(item, prefix[i])\n );\n },\n data() {\n let d = this.getProperty(this.name) || [];\n if (this.name === \"languages\" && Array.isArray(d)) {\n d = [...d].sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n }\n return d;\n },\n preparedFields() {\n return this.propertyFields?.split(\",\").map((field) => field.split(\":\"));\n },\n preparedTrack() {\n return this.track?.split(\",\");\n },\n value() {\n let v = this.data;\n if (this.preTransform) v = this.preTransform(v);\n switch (this.type) {\n case \"date\":\n v = dateFilters.formatEU(v);\n break;\n case \"links\":\n v = this.data.map((item) => {\n if (item) {\n const link = typeof item === \"string\" ? item : item.resource;\n const label =\n typeof item === \"string\"\n ? item\n : item.label || item.id || item.resource;\n return { link, label };\n }\n });\n break;\n case \"object\":\n v = this.prepareObject(this.data);\n break;\n case \"objects\":\n v = this.data.map((item) => {\n return this.prepareObject(item);\n });\n break;\n case \"translation\":\n v = getTranslationFor(v, this.$route.query.locale, [\"en\"]);\n break;\n default:\n if (this.type.startsWith(\"first\")) {\n v = this.data[0];\n }\n }\n if (this.transform) v = this.transform(v);\n return v;\n },\n show() {\n return showByType(this.type, this.data);\n },\n },\n methods: {\n isNil,\n isArray,\n truncate,\n getTranslationFor,\n dateValue() {\n return dateFilters.formatEU(this.value);\n },\n prepareObject(object) {\n let keys = this.preparedFields ?? Object.keys(object).map((key) => [key]);\n keys = keys.filter((key) => !isNil(object[key[0]]));\n return keys.map((key) => {\n let value = object[key[0]];\n if (!isArray(value)) value = [value];\n const result = { key: key[0], value };\n if (key[1] !== undefined) result.type = key[1];\n if (key[2] !== undefined) result.translation = key[2];\n return result;\n });\n },\n interpretTranslateKey(key, prefix) {\n if (key === \"\") return \"\";\n if (key.startsWith(\"/\"))\n return `${this.i18n.global.t(key.substring(1))}:`;\n if (key.startsWith(\"'\")) return key.substring(1, key.length - 1);\n return `${this.i18n.global.t(`${prefix}.${key}`)}:`;\n },\n },\n};\n</script>\n\n<style scoped>\ntr {\n width: 100%;\n}\n.w-25 {\n min-width: 160px;\n}\n</style>\n"],"names":["_sfc_main","Tooltip","AppLink","ValuesList","mapGetters","prefix","translateItems","item","i","d","a","b","_a","field","v","dateFilters","link","label","getTranslationFor","showByType","isNil","isArray","truncate","object","keys","key","value","result","_hoisted_2","$options","_createElementBlock","_hoisted_1","_createElementVNode","_createVNode","_component_tooltip","$props","_openBlock","_hoisted_4","_hoisted_5","_hoisted_6","_Fragment","_renderList","_hoisted_7","_toDisplayString","_createBlock","_component_app_link","_hoisted_8","_hoisted_9","_component_values_list","_hoisted_10"],"mappings":"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"}
1
+ {"version":3,"file":"DataserviceDetailsProperty.vue.mjs","sources":["../../../lib/datasetDetails/properties/DataserviceDetailsProperty.vue"],"sourcesContent":["<template>\n <tr v-if=\"show\">\n <td class=\"w-25 text-break font-weight-bold\">\n <tooltip :title=\"labelDisplay[0]\">\n {{ labelDisplay[1] }}\n </tooltip>\n </td>\n <td\n v-if=\"\n ['string', 'date', 'number', 'first:number', 'translation'].includes(\n type\n )\n \"\n >\n {{ value }}\n </td>\n <td v-if=\"type === 'uri'\">\n <a :href=\"value\">{{ value }}</a>\n </td>\n <td v-if=\"type === 'links'\">\n <div v-for=\"(v, i) of value\" :key=\"i\">\n <div v-if=\"name === 'identifiers'\">{{ v.label }}</div>\n <app-link\n v-if=\"!isNil(v) && v.link && name !== 'languages' && name != 'identifiers'\"\n :to=\"v.link\"\n >{{ truncate(v.label, 75) }}</app-link\n >\n <div v-if=\"(!isNil(v) && !v.link) || name === 'languages' && name != 'identifiers'\">\n {{ truncate(v.label, 75) }}\n </div>\n </div>\n </td>\n <td v-if=\"type === 'object'\">\n <values-list\n :values=\"value\"\n :interpretTranslateKey=\"interpretTranslateKey\"\n :itemstyles=\"itemstyles\"\n />\n </td>\n <td v-if=\"type === 'objects'\">\n <div v-for=\"(item, i) of value\" :key=\"i\">\n <values-list\n :values=\"item\"\n :interpretTranslateKey=\"interpretTranslateKey\"\n :itemstyles=\"itemstyles\"\n />\n </div>\n </td>\n </tr>\n</template>\n\n<script>\nimport AppLink from \"../../widgets/AppLink\";\nimport Tooltip from \"../../widgets/Tooltip\";\nimport { isNil, isArray } from \"lodash\";\nimport { showByType } from \"./typeCheckers.ts\";\nimport ValuesList from \"./ValuesList\";\nimport { mapGetters } from \"vuex\";\nimport dateFilters from \"../../filters/dateFilters.ts\";\nimport { truncate, getTranslationFor } from \"../../utils/helpers\";\n\nexport default {\n name: \"DataserviceDetailsProperty\",\n props: {\n type: String,\n translate: {\n type: [String, Array],\n default: undefined,\n },\n name: String,\n propertyFields: String,\n itemstyles: String,\n track: String,\n preTransform: Function,\n transform: Function,\n },\n components: {\n Tooltip,\n AppLink,\n ValuesList,\n },\n computed: {\n ...mapGetters(\"dataserviceDetails\", [\"getProperty\"]),\n labelDisplay() {\n const prefix = [\"message.tooltip.datasetDetails\", \"message.metadata\"];\n let translateItems;\n if (this.translate) {\n translateItems = this.translate.split(\",\");\n if (translateItems.length === 1) {\n translateItems.push(translateItems[0]);\n }\n } else {\n translateItems = [this.name, this.name];\n }\n return translateItems.map((item, i) =>\n this.interpretTranslateKey(item, prefix[i])\n );\n },\n data() {\n let d = this.getProperty(this.name) || [];\n if (this.name === \"languages\" && Array.isArray(d)) {\n d = [...d].sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n }\n return d;\n },\n preparedFields() {\n return this.propertyFields?.split(\",\").map((field) => field.split(\":\"));\n },\n preparedTrack() {\n return this.track?.split(\",\");\n },\n value() {\n let v = this.data;\n if (this.preTransform) v = this.preTransform(v);\n switch (this.type) {\n case \"date\":\n v = dateFilters.formatEU(v);\n break;\n case \"links\":\n v = this.data.map((item) => {\n if (item) {\n const link = typeof item === \"string\" ? item : item.resource;\n const label =\n typeof item === \"string\"\n ? item\n : item.label || item.resource;\n return { link, label };\n }\n });\n break;\n case \"object\":\n v = this.prepareObject(v);\n break;\n case \"objects\":\n v = v.map((item) => {\n return this.prepareObject(item);\n });\n break;\n case \"translation\":\n v = getTranslationFor(v, this.$route.query.locale, [\"en\"]);\n break;\n default:\n if (this.type.startsWith(\"first\")) {\n v = this.data[0];\n }\n }\n if (this.transform) v = this.transform(v);\n return v;\n },\n show() {\n return showByType(this.type, this.data);\n },\n },\n methods: {\n isNil,\n isArray,\n truncate,\n getTranslationFor,\n dateValue() {\n return dateFilters.formatEU(this.value);\n },\n prepareObject(object) {\n let keys = this.preparedFields ?? Object.keys(object).map((key) => [key]);\n keys = keys.filter((key) => !isNil(object[key[0]]));\n return keys.map((key) => {\n let value = object[key[0]];\n if (!isArray(value)) value = [value];\n const result = { key: key[0], value };\n if (key[1] !== undefined) result.type = key[1];\n if (key[2] !== undefined) result.translation = key[2];\n return result;\n });\n },\n interpretTranslateKey(key, prefix) {\n if (key === \"\") return \"\";\n if (key.startsWith(\"/\"))\n return `${this.i18n.global.t(key.substring(1))}:`;\n if (key.startsWith(\"'\")) return key.substring(1, key.length - 1);\n return `${this.i18n.global.t(`${prefix}.${key}`)}:`;\n },\n },\n};\n</script>\n\n<style scoped>\ntr {\n width: 100%;\n}\n\n.w-25 {\n min-width: 160px;\n}\n</style>\n"],"names":["_sfc_main","Tooltip","AppLink","ValuesList","mapGetters","prefix","translateItems","item","i","d","a","b","_a","field","v","dateFilters","link","label","getTranslationFor","showByType","isNil","isArray","truncate","object","keys","key","value","result","_hoisted_2","$options","_createElementBlock","_hoisted_1","_createElementVNode","_createVNode","_component_tooltip","$props","_openBlock","_hoisted_4","_hoisted_5","_hoisted_6","_Fragment","_renderList","_hoisted_7","_toDisplayString","_createBlock","_component_app_link","_hoisted_8","_hoisted_9","_component_values_list","_hoisted_10"],"mappings":";;;;;;;;;;;AA6DA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM;AAAA,IACN,WAAW;AAAA,MACT,MAAM,CAAC,QAAQ,KAAK;AAAA,MACpB,SAAS;AAAA,IACV;AAAA,IACD,MAAM;AAAA,IACN,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD,YAAY;AAAA,IACV,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,EACD;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,sBAAsB,CAAC,aAAa,CAAC;AAAA,IACnD,eAAe;AACb,YAAMC,IAAS,CAAC,kCAAkC,kBAAkB;AACpE,UAAIC;AACJ,aAAI,KAAK,aACPA,IAAiB,KAAK,UAAU,MAAM,GAAG,GACrCA,EAAe,WAAW,KAC5BA,EAAe,KAAKA,EAAe,CAAC,CAAC,KAGvCA,IAAiB,CAAC,KAAK,MAAM,KAAK,IAAI,GAEjCA,EAAe;AAAA,QAAI,CAACC,GAAMC,MAC/B,KAAK,sBAAsBD,GAAMF,EAAOG,CAAC,CAAC;AAAA;IAE7C;AAAA,IACD,OAAO;AACL,UAAIC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK;AACvC,aAAI,KAAK,SAAS,eAAe,MAAM,QAAQA,CAAC,MAC9CA,IAAI,CAAC,GAAGA,CAAC,EAAE,KAAK,CAACC,GAAGC,MACdD,EAAE,KAAKC,EAAE,KAAW,KACpBD,EAAE,KAAKC,EAAE,KAAW,IACjB,CACR,IAEIF;AAAA,IACR;AAAA,IACD,iBAAiB;;AACf,cAAOG,IAAA,KAAK,mBAAL,gBAAAA,EAAqB,MAAM,KAAK,IAAI,CAACC,MAAUA,EAAM,MAAM,GAAG;AAAA,IACtE;AAAA,IACD,gBAAgB;;AACd,cAAOD,IAAA,KAAK,UAAL,gBAAAA,EAAY,MAAM;AAAA,IAC1B;AAAA,IACD,QAAQ;AACN,UAAIE,IAAI,KAAK;AAEb,cADI,KAAK,iBAAcA,IAAI,KAAK,aAAaA,CAAC,IACtC,KAAK,MAAI;AAAA,QACf,KAAK;AACH,UAAAA,IAAIC,EAAY,SAASD,CAAC;AAC1B;AAAA,QACF,KAAK;AACH,UAAAA,IAAI,KAAK,KAAK,IAAI,CAACP,MAAS;AAC1B,gBAAIA,GAAM;AACR,oBAAMS,IAAO,OAAOT,KAAS,WAAWA,IAAOA,EAAK,UAC9CU,IACJ,OAAOV,KAAS,WACZA,IACAA,EAAK,SAASA,EAAK;AACzB,qBAAO,EAAE,MAAAS,GAAM,OAAAC;YACjB;AAAA,UACF,CAAC;AACD;AAAA,QACF,KAAK;AACH,UAAAH,IAAI,KAAK,cAAcA,CAAC;AACxB;AAAA,QACF,KAAK;AACH,UAAAA,IAAIA,EAAE,IAAI,CAACP,MACF,KAAK,cAAcA,CAAI,CAC/B;AACD;AAAA,QACF,KAAK;AACH,UAAAO,IAAII,EAAkBJ,GAAG,KAAK,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC;AACzD;AAAA,QACF;AACE,UAAI,KAAK,KAAK,WAAW,OAAO,MAC9BA,IAAI,KAAK,KAAK,CAAC;AAAA,MAErB;AACA,aAAI,KAAK,cAAWA,IAAI,KAAK,UAAUA,CAAC,IACjCA;AAAA,IACR;AAAA,IACD,OAAO;AACL,aAAOK,EAAW,KAAK,MAAM,KAAK,IAAI;AAAA,IACvC;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,OAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,mBAAAJ;AAAA,IACA,YAAY;AACV,aAAOH,EAAY,SAAS,KAAK,KAAK;AAAA,IACvC;AAAA,IACD,cAAcQ,GAAQ;AACpB,UAAIC,IAAO,KAAK,kBAAkB,OAAO,KAAKD,CAAM,EAAE,IAAI,CAACE,MAAQ,CAACA,CAAG,CAAC;AACxE,aAAAD,IAAOA,EAAK,OAAO,CAACC,MAAQ,CAACL,EAAMG,EAAOE,EAAI,CAAC,CAAC,CAAC,CAAC,GAC3CD,EAAK,IAAI,CAACC,MAAQ;AACvB,YAAIC,IAAQH,EAAOE,EAAI,CAAC,CAAC;AACzB,QAAKJ,EAAQK,CAAK,MAAGA,IAAQ,CAACA,CAAK;AACnC,cAAMC,IAAS,EAAE,KAAKF,EAAI,CAAC,GAAG,OAAAC;AAC9B,eAAID,EAAI,CAAC,MAAM,WAAWE,EAAO,OAAOF,EAAI,CAAC,IACzCA,EAAI,CAAC,MAAM,WAAWE,EAAO,cAAcF,EAAI,CAAC,IAC7CE;AAAA,MACT,CAAC;AAAA,IACF;AAAA,IACD,sBAAsBF,GAAKpB,GAAQ;AACjC,aAAIoB,MAAQ,KAAW,KACnBA,EAAI,WAAW,GAAG,IACb,GAAG,KAAK,KAAK,OAAO,EAAEA,EAAI,UAAU,CAAC,CAAC,CAAC,MAC5CA,EAAI,WAAW,GAAG,IAAUA,EAAI,UAAU,GAAGA,EAAI,SAAS,CAAC,IACxD,GAAG,KAAK,KAAK,OAAO,EAAE,GAAGpB,CAAM,IAAIoB,CAAG,EAAE,CAAC;AAAA,IACjD;AAAA,EACF;AACH,mBAvLQG,IAAA,EAAA,OAAM,mCAAkC;;;SADpCC,EAAI,aAAdC,EA+CK,MAAAC,GAAA;AAAA,IA9CHC,EAIK,MAJLJ,GAIK;AAAA,MAHHK,EAEUC,GAAA;AAAA,QAFA,OAAOL,EAAY,aAAA,CAAA;AAAA;mBAC3B,MAAqB;AAAA,cAAlBA,EAAY,aAAA,CAAA,CAAA,GAAA,CAAA;AAAA;;;;;gEAI0D;AAAA,MAAoBM,EAAI;AAAA,SADrGC,EAAA,GAAAN,EAQK,WADAD,EAAK,KAAA,GAAA,CAAA;;IAEAM,EAAI,SAAA,cAAdL,EAEK,MAAAO,GAAA;AAAA,MADHL,EAAgC,KAA5B,EAAA,MAAMH,EAAA,MAAK,KAAKA,EAAK,KAAA,GAAA,GAAAS,CAAA;AAAA;;IAEjBH,EAAI,SAAA,gBAAdL,EAYK,MAAAS,GAAA;AAAA,OAXHH,EAAA,EAAA,GAAAN,EAUMU,GAVgB,MAAAC,EAAAZ,EAAA,OAAT,CAAAf,GAAGN,YAAhBsB,EAUM,OAAA,EAVwB,KAAKtB,KAAC;AAAA,QACvB2B,EAAI,SAAA,sBAAfL,EAAsD,OAAAY,GAAAC,EAAhB7B,EAAE,KAAK,GAAA,CAAA;;SAEpCe,EAAK,MAACf,CAAC,KAAKA,EAAE,QAAQqB,EAAI,SAAA,eAAoBA,EAAI,QAAA,sBAD3DS,EAICC,GAAA;AAAA;UAFE,IAAI/B,EAAE;AAAA;qBACN,MAA2B;AAAA,gBAAxBe,EAAQ,SAACf,EAAE,OAAK,EAAA,CAAA,GAAA,CAAA;AAAA;;;;SAETe,EAAK,MAACf,CAAC,KAAM,CAAAA,EAAE,QAASqB,EAAI,SAAA,eAAoBA,EAAI,QAAA,iBAAjEC,EAAA,GAAAN,EAEM,OADDgB,GAAAH,EAAAd,EAAA,SAASf,EAAE,OAAK,EAAA,CAAA,GAAA,CAAA;;;;IAIfqB,EAAI,SAAA,iBAAdL,EAMK,MAAAiB,GAAA;AAAA,MALHd,EAIEe,GAAA;AAAA,QAHC,QAAQnB,EAAK;AAAA,QACb,uBAAuBA,EAAqB;AAAA,QAC5C,YAAYM,EAAU;AAAA;;;IAGjBA,EAAI,SAAA,kBAAdL,EAQK,MAAAmB,GAAA;AAAA,OAPHb,EAAA,EAAA,GAAAN,EAMMU,GANmB,MAAAC,EAAAZ,EAAA,OAAZ,CAAAtB,GAAMC,YAAnBsB,EAMM,OAAA,EAN2B,KAAKtB,KAAC;AAAA,QACrCyB,EAIEe,GAAA;AAAA,UAHC,QAAQzC;AAAA,UACR,uBAAuBsB,EAAqB;AAAA,UAC5C,YAAYM,EAAU;AAAA;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import f from "../../widgets/AppLink.vue.mjs";
2
2
  import { truncate as p, removeMailtoOrTel as b } from "../../utils/helpers.mjs";
3
3
  import _ from "../../filters/dateFilters.mjs";
4
- import { resolveComponent as C, openBlock as a, createElementBlock as n, Fragment as y, renderList as c, normalizeStyle as w, normalizeClass as m, createElementVNode as h, toDisplayString as u, createTextVNode as k, createBlock as x, withCtx as V } from "vue";
4
+ import { resolveComponent as C, openBlock as a, createElementBlock as n, Fragment as y, renderList as c, normalizeStyle as x, normalizeClass as m, createElementVNode as h, toDisplayString as u, createTextVNode as k, createBlock as w, withCtx as V } from "vue";
5
5
  import "./ValuesList.vue2.mjs";
6
6
  import E from "../../_virtual/_plugin-vue_export-helper.mjs";
7
7
  const N = {
@@ -23,7 +23,7 @@ const N = {
23
23
  },
24
24
  getLabel(e) {
25
25
  const t = "message.metadata";
26
- return e.key.toLowerCase() === "name" || e.key.toLowerCase() === "label" ? "" : typeof e.translation == "string" ? this.interpretTranslateKey(e.translation, t) : `${this.i18n.global.t(`${t}.${e.key}`)}:`;
26
+ return ["name", "label", "id"].includes(e.key.toLowerCase()) ? "" : typeof e.translation == "string" ? this.interpretTranslateKey(e.translation, t) : `${this.i18n.global.t(`${t}.${e.key}`)}:`;
27
27
  },
28
28
  isLink(e) {
29
29
  var g;
@@ -31,7 +31,7 @@ const N = {
31
31
  return ["homepage", "resource"].includes(t) || s === "link" || s === "link_blank";
32
32
  },
33
33
  shouldHideField(e) {
34
- return ["homepage", "resource"].includes(e.key.toLowerCase()) && this.hasNameOrLabel();
34
+ return ["homepage", "resource", "id"].includes(e.key.toLowerCase()) && this.hasNameOrLabel();
35
35
  },
36
36
  hasNameOrLabel() {
37
37
  return this.values.some((e) => ["name", "label"].includes(e.key.toLowerCase()));
@@ -61,21 +61,21 @@ const N = {
61
61
  this.track && this.track.includes(s) && this.$emit("track-link", e, "link");
62
62
  }
63
63
  }
64
- }, F = { class: "dsd-properties-inner-label" }, v = { class: "dsd-properties-inner-label" }, T = ["href", "target", "rel", "onClick"], U = { class: "dsd-properties-inner-label" }, O = { key: 0 }, A = ["href", "target", "rel"];
64
+ }, v = { class: "dsd-properties-inner-label" }, F = { class: "dsd-properties-inner-label" }, T = ["href", "target", "rel", "onClick"], U = { class: "dsd-properties-inner-label" }, O = { key: 0 }, A = ["href", "target", "rel"];
65
65
  function B(e, t, s, g, I, r) {
66
66
  const L = C("app-link");
67
67
  return a(), n("div", null, [
68
68
  (a(!0), n(y, null, c(s.values, (l, o) => (a(), n("div", {
69
69
  key: o,
70
- style: w(s.itemstyles)
70
+ style: x(s.itemstyles)
71
71
  }, [
72
72
  l.key === "email" ? (a(), n("div", {
73
73
  key: 0,
74
74
  class: m({ "mb-1": o < s.values.length })
75
75
  }, [
76
- h("span", F, u(r.getLabel(l)), 1),
76
+ h("span", v, u(r.getLabel(l)), 1),
77
77
  t[0] || (t[0] = k()),
78
- (a(!0), n(y, null, c(l.value, (i, d) => (a(), x(L, {
78
+ (a(!0), n(y, null, c(l.value, (i, d) => (a(), w(L, {
79
79
  key: d,
80
80
  to: `mailto:${r.removeMailtoOrTel(i)}`
81
81
  }, {
@@ -87,11 +87,14 @@ function B(e, t, s, g, I, r) {
87
87
  ], 2)) : l.key === "identifier" ? (a(), n("div", {
88
88
  key: 1,
89
89
  class: m({ "mb-1": o < s.values.length })
90
- }, u(r.getLabel(l)) + " " + u(l.value[o]), 3)) : r.isLink(l) ? (a(), n("div", {
90
+ }, u(r.getLabel(l)) + " " + u(l.value[o]), 3)) : r.shouldHideField(l) ? (a(), n("div", {
91
91
  key: 2,
92
92
  class: m({ "mb-1": o < s.values.length })
93
+ }, null, 2)) : r.isLink(l) ? (a(), n("div", {
94
+ key: 3,
95
+ class: m({ "mb-1": o < s.values.length })
93
96
  }, [
94
- h("span", v, u(r.getLabel(l)), 1),
97
+ h("span", F, u(r.getLabel(l)), 1),
95
98
  t[2] || (t[2] = k()),
96
99
  (a(!0), n(y, null, c(l.value, (i, d) => (a(), n("a", {
97
100
  key: d,
@@ -103,10 +106,7 @@ function B(e, t, s, g, I, r) {
103
106
  k(u(r.displayValue(i, l.type)) + " ", 1),
104
107
  t[1] || (t[1] = h("span", { class: "external-link-icon" }, null, -1))
105
108
  ], 8, T))), 128))
106
- ], 2)) : r.shouldHideField(l) ? (a(), n("div", {
107
- key: 3,
108
- class: m({ "mb-1": o < s.values.length })
109
- }, null, 2)) : (a(), n("div", {
109
+ ], 2)) : (a(), n("div", {
110
110
  key: 4,
111
111
  class: m({ "mb-1": o < s.values.length })
112
112
  }, [
@@ -127,7 +127,7 @@ function B(e, t, s, g, I, r) {
127
127
  ], 4))), 128))
128
128
  ]);
129
129
  }
130
- const j = /* @__PURE__ */ E(N, [["render", B], ["__scopeId", "data-v-724d8b63"]]);
130
+ const j = /* @__PURE__ */ E(N, [["render", B], ["__scopeId", "data-v-d46de045"]]);
131
131
  export {
132
132
  j as default
133
133
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ValuesList.vue.mjs","sources":["../../../lib/datasetDetails/properties/ValuesList.vue"],"sourcesContent":["<template>\n <div>\n <div v-for=\"(v, i) of values\" :key=\"i\" :style=\"itemstyles\">\n <div v-if=\"v.key === 'email'\" :class=\"{'mb-1':i<values.length}\">\n <span class=\"dsd-properties-inner-label\">{{ getLabel(v) }}</span>\n <app-link v-for=\"(item, j) in v.value\" :key=\"j\" :to=\"`mailto:${removeMailtoOrTel(item)}`\">\n {{ displayValue(item, v.type) }}\n </app-link>\n </div>\n <div v-else-if=\"v.key === 'identifier'\" :class=\"{'mb-1':i<values.length}\">\n {{ getLabel(v) }} {{ v.value[i] }}\n </div>\n <div v-else-if=\"isLink(v)\" :class=\"{'mb-1':i<values.length}\">\n <span class=\"dsd-properties-inner-label\">{{ getLabel(v) }}</span>\n <a\n v-for=\"(item, j) in v.value\"\n :key=\"j\"\n :href=\"item\"\n :target=\"isExternalUrl(item) ? '_blank' : null\"\n :rel=\"isExternalUrl(item) ? 'noopener noreferrer' : null\"\n @click=\"handleClick(item, v)\"\n >\n {{ displayValue(item, v.type) }}\n <span class=\"external-link-icon\">\n <!-- <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-box-arrow-up-right\" viewBox=\"0 0 16 16\">\n <path fill-rule=\"evenodd\" d=\"M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a.5.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5\"/>\n <path fill-rule=\"evenodd\" d=\"M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0z\"/>\n </svg> -->\n </span>\n </a>\n </div>\n\n <div v-else-if=\"shouldHideField(v)\" :class=\"{'mb-1':i<values.length}\">\n <!-- Hidden fields like resource/homepage that are used as links for name -->\n </div>\n\n <div v-else :class=\"{'mb-1':i<values.length}\">\n <span class=\"dsd-properties-inner-label\">{{ getLabel(v) }}</span>\n <span v-if=\"['name', 'label'].includes(v.key.toLowerCase()) && hasLinkInValues()\">\n <a\n v-for=\"(item, j) in v.value\"\n :key=\"j\"\n :href=\"getLinkForName()\"\n :target=\"isExternalUrl(getLinkForName()) ? '_blank' : null\"\n :rel=\"isExternalUrl(getLinkForName()) ? 'noopener noreferrer' : null\"\n >\n {{ displayValue(item, v.type) }}\n <span class=\"external-link-icon\">\n <!-- <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-box-arrow-up-right\" viewBox=\"0 0 16 16\">\n <path fill-rule=\"evenodd\" d=\"M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5\"/>\n <path fill-rule=\"evenodd\" d=\"M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0z\"/>\n </svg> -->\n </span>\n </a>\n </span>\n <span v-else v-for=\"(item, j) in v.value\" :key=\"j\">{{ displayValue(item, v.type) }}</span>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport AppLink from \"../../widgets/AppLink\";\nimport {removeMailtoOrTel, truncate} from \"../../utils/helpers.ts\";\nimport dateFilters from \"../../filters/dateFilters.ts\";\n\nexport default {\n name: \"ValuesList\",\n props: {\n values: Array,\n track: Array,\n itemstyles: String,\n interpretTranslateKey: Function\n },\n components: {\n AppLink\n },\n methods: {\n truncate,\n removeMailtoOrTel,\n isExternalUrl(url) {\n // Zeige Icon für alle URLs außer mailto: und tel:\n return typeof url === \"string\" && !url.startsWith('mailto:') && !url.startsWith('tel:');\n },\n getLabel(v) {\n const prefix = \"message.metadata\";\n // Don't show labels for name field\n if (v.key.toLowerCase() === 'name' || v.key.toLowerCase() === 'label') {\n return '';\n }\n if (typeof v.translation === 'string') {\n return this.interpretTranslateKey(v.translation, prefix);\n }\n return `${this.i18n.global.t(`${prefix}.${v.key}`)}:`;\n },\n isLink(v) {\n const key = v.key.toLowerCase();\n const type = v.type?.toLowerCase();\n return ['homepage', 'resource'].includes(key) || type === 'link' || type === 'link_blank';\n },\n shouldHideField(v) {\n return ['homepage','resource'].includes(v.key.toLowerCase()) && this.hasNameOrLabel();\n },\n hasNameOrLabel() {\n return this.values.some(item => ['name', 'label'].includes(item.key.toLowerCase()));\n },\n hasLinkInValues() {\n return this.values.some(v => ['resource', 'homepage'].includes(v.key.toLowerCase()));\n },\n getLinkForName() {\n const linkField = this.values.find(v => ['resource', 'homepage'].includes(v.key.toLowerCase()));\n return linkField?.value?.[0] || '#';\n },\n getLinkType() {\n const linkField = this.values.find(v => ['resource', 'homepage'].includes(v.key.toLowerCase()));\n return linkField?.type || '';\n },\n displayValue(item, type) {\n switch (type) {\n case 'date':\n return dateFilters.formatEU(item);\n default:\n return typeof item === 'string' ? truncate(item, 75) : item;\n }\n },\n handleClick(item, v) {\n const key = v.key.toLowerCase();\n if (this.track && this.track.includes(key)) {\n this.$emit('track-link', item, 'link');\n }\n }\n }\n}\n</script>\n\n<style scoped>\n.dsd-properties-inner-label {\n white-space: pre;\n}\n\n.external-link-icon svg {\n margin-bottom: 5px;\n margin-left: 10;\n}\n</style>"],"names":["_sfc_main","AppLink","truncate","removeMailtoOrTel","url","v","prefix","key","type","_a","item","linkField","dateFilters","_hoisted_1","_hoisted_2","_hoisted_4","_createElementBlock","_openBlock","_Fragment","_renderList","$props","i","_normalizeClass","_createElementVNode","_toDisplayString","$options","j","_createBlock","_component_app_link","_createTextVNode","$event","_hoisted_5"],"mappings":"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"}
1
+ {"version":3,"file":"ValuesList.vue.mjs","sources":["../../../lib/datasetDetails/properties/ValuesList.vue"],"sourcesContent":["<template>\n <div>\n <div v-for=\"(v, i) of values\" :key=\"i\" :style=\"itemstyles\">\n <div v-if=\"v.key === 'email'\" :class=\"{'mb-1':i<values.length}\">\n <span class=\"dsd-properties-inner-label\">{{ getLabel(v) }}</span>\n <app-link v-for=\"(item, j) in v.value\" :key=\"j\" :to=\"`mailto:${removeMailtoOrTel(item)}`\">\n {{ displayValue(item, v.type) }}\n </app-link>\n </div>\n <div v-else-if=\"v.key === 'identifier'\" :class=\"{'mb-1':i<values.length}\">\n {{ getLabel(v) }} {{ v.value[i] }}\n </div>\n <div v-else-if=\"shouldHideField(v)\" :class=\"{'mb-1':i<values.length}\">\n <!-- Hidden fields like resource/homepage that are used as links for name -->\n </div>\n <div v-else-if=\"isLink(v)\" :class=\"{'mb-1':i<values.length}\">\n <span class=\"dsd-properties-inner-label\">{{ getLabel(v) }}</span>\n <a\n v-for=\"(item, j) in v.value\"\n :key=\"j\"\n :href=\"item\"\n :target=\"isExternalUrl(item) ? '_blank' : null\"\n :rel=\"isExternalUrl(item) ? 'noopener noreferrer' : null\"\n @click=\"handleClick(item, v)\"\n >\n {{ displayValue(item, v.type) }}\n <span class=\"external-link-icon\">\n <!-- <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-box-arrow-up-right\" viewBox=\"0 0 16 16\">\n <path fill-rule=\"evenodd\" d=\"M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a.5.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5\"/>\n <path fill-rule=\"evenodd\" d=\"M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0z\"/>\n </svg> -->\n </span>\n </a>\n </div>\n\n <div v-else :class=\"{'mb-1':i<values.length}\">\n <span class=\"dsd-properties-inner-label\">{{ getLabel(v) }}</span>\n <span v-if=\"['name', 'label'].includes(v.key.toLowerCase()) && hasLinkInValues()\">\n <a\n v-for=\"(item, j) in v.value\"\n :key=\"j\"\n :href=\"getLinkForName()\"\n :target=\"isExternalUrl(getLinkForName()) ? '_blank' : null\"\n :rel=\"isExternalUrl(getLinkForName()) ? 'noopener noreferrer' : null\"\n >\n {{ displayValue(item, v.type) }}\n <span class=\"external-link-icon\">\n <!-- <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-box-arrow-up-right\" viewBox=\"0 0 16 16\">\n <path fill-rule=\"evenodd\" d=\"M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5\"/>\n <path fill-rule=\"evenodd\" d=\"M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0z\"/>\n </svg> -->\n </span>\n </a>\n </span>\n <span v-else v-for=\"(item, j) in v.value\" :key=\"j\">{{ displayValue(item, v.type) }}</span>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport AppLink from \"../../widgets/AppLink\";\nimport {removeMailtoOrTel, truncate} from \"../../utils/helpers.ts\";\nimport dateFilters from \"../../filters/dateFilters.ts\";\n\nexport default {\n name: \"ValuesList\",\n props: {\n values: Array,\n track: Array,\n itemstyles: String,\n interpretTranslateKey: Function\n },\n components: {\n AppLink\n },\n methods: {\n truncate,\n removeMailtoOrTel,\n isExternalUrl(url) {\n // Zeige Icon für alle URLs außer mailto: und tel:\n return typeof url === \"string\" && !url.startsWith('mailto:') && !url.startsWith('tel:');\n },\n getLabel(v) {\n const prefix = \"message.metadata\";\n // Don't show labels for name, label or id fields\n if (['name', 'label', 'id'].includes(v.key.toLowerCase())) {\n return '';\n }\n if (typeof v.translation === 'string') {\n return this.interpretTranslateKey(v.translation, prefix);\n }\n return `${this.i18n.global.t(`${prefix}.${v.key}`)}:`;\n },\n isLink(v) {\n const key = v.key.toLowerCase();\n const type = v.type?.toLowerCase();\n return ['homepage', 'resource'].includes(key) || type === 'link' || type === 'link_blank';\n },\n shouldHideField(v) {\n return ['homepage','resource','id'].includes(v.key.toLowerCase()) && this.hasNameOrLabel();\n },\n hasNameOrLabel() {\n return this.values.some(item => ['name', 'label'].includes(item.key.toLowerCase()));\n },\n hasLinkInValues() {\n return this.values.some(v => ['resource', 'homepage'].includes(v.key.toLowerCase()));\n },\n getLinkForName() {\n const linkField = this.values.find(v => ['resource', 'homepage'].includes(v.key.toLowerCase()));\n return linkField?.value?.[0] || '#';\n },\n getLinkType() {\n const linkField = this.values.find(v => ['resource', 'homepage'].includes(v.key.toLowerCase()));\n return linkField?.type || '';\n },\n displayValue(item, type) {\n switch (type) {\n case 'date':\n return dateFilters.formatEU(item);\n default:\n return typeof item === 'string' ? truncate(item, 75) : item;\n }\n },\n handleClick(item, v) {\n const key = v.key.toLowerCase();\n if (this.track && this.track.includes(key)) {\n this.$emit('track-link', item, 'link');\n }\n }\n }\n}\n</script>\n\n<style scoped>\n.dsd-properties-inner-label {\n white-space: pre;\n}\n\n.external-link-icon svg {\n margin-bottom: 5px;\n margin-left: 10;\n}\n</style>"],"names":["_sfc_main","AppLink","truncate","removeMailtoOrTel","url","v","prefix","key","type","_a","item","linkField","dateFilters","_hoisted_1","_hoisted_2","_hoisted_4","_createElementBlock","_openBlock","_Fragment","_renderList","$props","i","_normalizeClass","_createElementVNode","_toDisplayString","$options","j","_createBlock","_component_app_link","_createTextVNode","$event","_hoisted_5"],"mappings":"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"}
@@ -210,7 +210,7 @@ export declare const dcatDeSchema: () => {
210
210
  fields: string;
211
211
  };
212
212
  };
213
- export declare const dcatDataserviceSchema: () => {
213
+ export declare const dcatDataserviceSchema: (locale?: string) => {
214
214
  catalog: {
215
215
  type: string;
216
216
  fields: string;
@@ -235,6 +235,15 @@ export declare const dcatDataserviceSchema: () => {
235
235
  type: string;
236
236
  fields: string;
237
237
  };
238
+ reference_system: {
239
+ type: string;
240
+ fields: string;
241
+ };
242
+ topic_category: {
243
+ type: string;
244
+ fields: string;
245
+ preTransform: (data: any) => any;
246
+ };
238
247
  };
239
248
  export declare const dcatDatasetseriesSchema: () => {
240
249
  publisher: {
@@ -1,11 +1,11 @@
1
1
  import { getTranslationFor as i } from "../../utils/helpers.mjs";
2
- const n = `releaseDate, modificationDate,creator,landingPages,sources,
2
+ const o = `releaseDate, modificationDate,creator,landingPages,sources,
3
3
  languages,publisher,contactPoints,spatial,
4
4
  spatialResource,conformsTo,provenances,identifiers,otherIdentifiers, resource,
5
5
  frequency,accessRights,accrualPeriodicity,hasVersion,isVersionOf,
6
6
  temporal,versionInfo,versionNotes,attributes,dimensions,numSeries,hasQualityAnnotations,
7
7
  statUnitMeasures,isReferencedBy,qualifiedAttributions,wasGeneratedBy,
8
- qualifiedRelations,sample,spatialResolutionInMeters,type,temporalResolution, geoDcatAp, catalogRecord`, o = `politicalGeocodingLevelURI,politicalGeocodingURI,availability,
8
+ qualifiedRelations,sample,spatialResolutionInMeters,type,temporalResolution, geoDcatAp, catalogRecord`, n = `politicalGeocodingLevelURI,politicalGeocodingURI,availability,
9
9
  contributorID,geocodingDescriptionDe,legalBasis,qualityProcessURI,typeDe,
10
10
  references,contributor,originator,maintainer`, r = (s) => ({
11
11
  releaseDate: { type: "date", translate: "created" },
@@ -58,9 +58,9 @@ const n = `releaseDate, modificationDate,creator,landingPages,sources,
58
58
  translate: "/message.tooltip.datasetDetails.geoDcatAp,'GeoDCAT-AP'",
59
59
  fields: "label",
60
60
  preTransform: (e) => [{
61
- label: (e || []).map((t) => {
62
- const a = t == null ? void 0 : t.label;
63
- return typeof a == "object" ? i(a, "en", ["en"]) : a;
61
+ label: (e || []).map((a) => {
62
+ const t = a == null ? void 0 : a.label;
63
+ return typeof t == "object" ? i(t, "en", ["en"]) : t;
64
64
  }).filter(Boolean).join(", ")
65
65
  }]
66
66
  }
@@ -77,13 +77,22 @@ const n = `releaseDate, modificationDate,creator,landingPages,sources,
77
77
  contributor: { type: "objects", fields: "name,type,homepage,email,resource" },
78
78
  originator: { type: "objects", fields: "name,type,homepage,email,resource" },
79
79
  maintainer: { type: "objects", fields: "name,type,homepage,email,resource" }
80
- }), p = () => ({
80
+ }), p = (s = "en") => ({
81
81
  catalog: { type: "translation", fields: "title" },
82
82
  publisher: { type: "object", fields: "name,email,homepage:link" },
83
83
  contact_point: { type: "objects", fields: "email" },
84
84
  access_right: { type: "object", fields: "resource" },
85
85
  endpoint_url: { type: "links", translate: ",endpoint_url" },
86
- format: { type: "object", fields: "label,resource:link_blank" }
86
+ format: { type: "object", fields: "label,resource:link_blank" },
87
+ reference_system: { type: "objects", fields: "label,resource:link" },
88
+ topic_category: {
89
+ type: "objects",
90
+ fields: "label,resource:link",
91
+ preTransform: (e) => (e || []).map((a) => {
92
+ let t = a == null ? void 0 : a.label;
93
+ return Array.isArray(t) && (t = t[0]), typeof t == "object" && t !== null && (t = i(t, s, ["en"])), { ...a, label: t };
94
+ })
95
+ }
87
96
  }), d = () => ({
88
97
  publisher: { type: "object", fields: "type,name,resource:link" },
89
98
  issued: { type: "date", translate: "created" },
@@ -98,9 +107,9 @@ const n = `releaseDate, modificationDate,creator,landingPages,sources,
98
107
  export {
99
108
  p as dcatDataserviceSchema,
100
109
  d as dcatDatasetseriesSchema,
101
- o as dcatDeFields,
110
+ n as dcatDeFields,
102
111
  c as dcatDeSchema,
103
- n as dcatFields,
112
+ o as dcatFields,
104
113
  r as dcatSchema
105
114
  };
106
115
  //# sourceMappingURL=specification.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"specification.mjs","sources":["../../../lib/datasetDetails/properties/specification.ts"],"sourcesContent":["import { getTranslationFor } from \"../../../lib/utils/helpers\";\n\nexport const dcatFields = `releaseDate, modificationDate,creator,landingPages,sources,\n languages,publisher,contactPoints,spatial,\n spatialResource,conformsTo,provenances,identifiers,otherIdentifiers, resource,\n frequency,accessRights,accrualPeriodicity,hasVersion,isVersionOf,\n temporal,versionInfo,versionNotes,attributes,dimensions,numSeries,hasQualityAnnotations,\n statUnitMeasures,isReferencedBy,qualifiedAttributions,wasGeneratedBy,\n qualifiedRelations,sample,spatialResolutionInMeters,type,temporalResolution, geoDcatAp, catalogRecord`;\n\nexport const dcatDeFields = `politicalGeocodingLevelURI,politicalGeocodingURI,availability,\n contributorID,geocodingDescriptionDe,legalBasis,qualityProcessURI,typeDe,\n references,contributor,originator,maintainer`;\n\n/*\n Below we have schemata describing how properties should be rendered in DatasetDatailsProperties.vue. A schema is\n an object where keys correspond to the above defined fields. For each key, the value is an object the format of which\n we will now describe:\n\n - type: is the the only required property. Will be evaluated in typeCheckers.ts. It reflects the format of the\n data item (CALLED \"response\" BELOW!) retrieved by from the search network response (number, string, url, array, object, array of objects).\n Supported values are:\n * \"number\": response is a single number\n * \"first:number\": render response[0] as a number\n * \"string\": response a simple string\n * \"uri\": response a simple string, rendered as a link\n * \"date\": response a simple string, formatted as a date conforming to the current locale\n * \"translation\": response an object containing locale keys (like \"en\", \"de\"). The value corresponding to the\n current locale is rendered\n * \"object\": response an object whose where each key-value pair is rendered on a separate line\n * \"array\": response an array whose elements are rendered vertically\n * \"links\": reponse either an array of uri-strings rendered as links, or an\n array of objects with a label field that is displayed as a link and another field\n holding the href; that other field is either resource, label or id\n\n - translate: for a property \"xxx\", we have a bold label and tooltip to the left which comes from\n an i18n translation; the default i18n keys are: message.tooltip.datasetDetails.xxx for the tooltip and\n message.metadata.xxx for the displayed label. if instead of xxx, you want to use another key (with the same prefixes),\n translate can provide it. If translate is two strings separated by commas, the left one applies to the tooltip, the right\n to the label. Instead of just a replacement for xxx, you can provide i18n keys without the prefixes by starting the string with\n a slash (example: translate:\"/message.tooltip.yyy,/message.mykey.mylabelkey\"). Instead of translation keys, you can also\n provide literal values as tooltip or label by enclosing the strings in single quotes.\n\n - fields: for objects and arrays of objects, this comma-separated value indicates, what keys of the objects should\n be used for display (filtering out any additional data in the object). If not present, all existent keys will be used.\n A key given in this comma separated list can be of the form \"x\": just a key, or of the form \"x:y\": key x of type y (where\n the type is any of \"link\", \"link_blank\", \"date\" or empty; accordingly, a link (possibly target=\"_blank\") or date will be displayed).\n Also the form \"x:y:z\" is possible, where z is an indication how to translate the key for rendering. If z does not exist,\n the i18n key message.metadata.x will be translated; if z exists, we use message.metadata.z instead. The additional properties for\n \"translate\" above can also be applied to z: leading slash or single quotes.\n\n - track: enable Matomo tracking for a link. track is a string value indicating the key of the data object for which\n tracking should be enabled.\n\n - itemstyles: a string of CSS properties that applies to key-value items of a rendered object\n\n - transform: a function that maps the data to be rendered. Applies after the data has been processed in the value-method of\n DatsetDetailsProperty.vue\n\n - preTransform: same as transform, only applied to the raw data value before processing in the value-method\n\n */\n\nexport const dcatSchema = (t) => ({\n releaseDate: {type: 'date', translate: 'created'},\n modificationDate: {type: 'date', translate: 'updated'},\n landingPages: {type: 'links', translate: 'landingPage'},\n sources: {type: 'links', translate:',sources'},\n languages: {type: 'links', translate: 'language,languages'},\n publisher: {type: 'object', fields: 'name,email,homepage'},\n contactPoints: {type: 'objects', translate:\"/message.tooltip.contactPoints,contactPoints\", fields: \"name::/message.metadata.name,organisation_name::/message.datasetDetails.contactPoints.organizationName,email,telephone,address,url:link\"},\n catalogRecord: {type: 'object', translate:\"'Catalog Record data.europa.eu:','Catalog Record data.europa.eu:'\", fields: \"issued:date:addedToDataEuropaEU,modified:date:updatedOnDataEuropaEU,homepage\"},\n spatial: {type: 'objects', fields: \"coordinates,type\"},\n spatialResource: {type: 'links', translate:\",spatialResource\", fields: \"resource:link\"},\n conformsTo: {type: 'objects', fields: \"title::label,label,resource:link_blank\", track:\"resource\"},\n provenances: {type: 'objects', translate: 'provenance,provenances', fields: \"label,resource:link\"},\n // relatedResources: {type: 'links', translate: 'relatedResource,relatedResources'},\n identifiers: {type: 'links', translate: 'identifier,identifiers'},\n otherIdentifiers: {type: 'links', translate: 'otherIdentifier,otherIdentifiers', fields:\"identifier:link,resource:link:identifier,scheme:link\"},\n resource: {type: 'uri', translate: \",'uriRef:'\"},\n frequency: {type: 'object', fields:\"title,resource:link\"},\n accessRights: {type: 'object', translate:\"/message.tooltip.datasetDetails.distributions.rights,accessRights\", fields:\"label::\"},\n accrualPeriodicity: {type: 'object', translate:\"frequency,accrualPeriodicity\", fields:\"label::\"},\n creator: {type: 'objects', fields:\"type,name,resource:link,email,homepage:link\"},\n hasVersion: {type: 'links'},\n isVersionOf: {type: 'links', translate:\"versionOf,isVersionOf\"},\n temporal: {type: 'objects', translate:\"/message.tooltip.datasetDetails.distributions.temporalResolution,temporal\", fields: \"gte:date:,lte:date:' -'\", itemstyles:\"float:left\"},\n versionInfo: {type: 'string'},\n versionNotes: {type: 'translation'},\n attributes: {type: 'links', translate:\",attributes\"},\n dimensions: {type: 'links', translate:\",dimensions\"},\n numSeries: {type: 'number'},\n hasQualityAnnotations: {type: 'links', translate: \",qualityAnnotations\"},\n statUnitMeasures: {type: 'links', translate: \"unitsOfMeasurement\"},\n isReferencedBy: {type: 'links'},\n qualifiedAttributions: {type: 'links', translate: \"qualifiedAttribution\"},\n wasGeneratedBy: {type: 'links'},\n qualifiedRelations: {type: 'objects', translate: \"qualifiedRelation\", fields: \"relation:link,had_role:link:role\"},\n sample: {type: 'links'},\n spatialResolutionInMeters: {\n type: 'number', translate: \"spatialResolutionInMeters,spatialResolutionInMeters.label\",\n transform: value => t('message.metadata.spatialResolutionInMeters.value', {number: value})\n },\n type: {type: 'object', fields: \"label,resource:link_blank\", preTransform: (value) => ({\n ...value,\n name: value?.name ?? value?.label\n })},\n temporalResolution: {type: 'string'},\n geoDcatAp: {\n type: 'objects',\n translate: \"/message.tooltip.datasetDetails.geoDcatAp,'GeoDCAT-AP'\",\n fields: \"label\",\n preTransform: (data) => [{\n label: (data || [])\n .map(item => {\n const label = item?.label;\n return typeof label === 'object' ? getTranslationFor(label, 'en', ['en']) : label;\n })\n .filter(Boolean)\n .join(', ')\n }]\n},\n});\n\nexport const dcatDeSchema = () => ({\n politicalGeocodingLevelURI: {type: 'objects', fields:\"label,resource:link\"},\n politicalGeocodingURI: {type: 'objects', fields:\"label,resource:link\"},\n availability: {type: 'object', translate:\"availabilityDE,availability\", fields:\"label,resource:link\"},\n contributorID: {type: 'objects', fields:\"label,resource:link\"},\n geocodingDescriptionDe: {type: 'translation'},\n legalBasis: {type: 'translation'},\n qualityProcessURI: {type: 'uri'},\n typeDe: {type: 'string', translate:\"type,type\"},\n references: {type: 'uri'},\n contributor: {type: 'objects', fields:\"name,type,homepage,email,resource\"},\n originator: {type: 'objects', fields:\"name,type,homepage,email,resource\"},\n maintainer: {type: 'objects', fields:\"name,type,homepage,email,resource\"}\n});\n\n/* Schema for dataservice-specific properties */\nexport const dcatDataserviceSchema = () => ({\n catalog: {type: 'translation', fields: 'title'},\n publisher: {type: 'object', fields: 'name,email,homepage:link'},\n contact_point: {type: 'objects', fields: 'email'},\n access_right: {type: 'object', fields: 'resource'},\n endpoint_url: {type: 'links', translate:\",endpoint_url\"},\n format: {type: 'object', fields: 'label,resource:link_blank'}\n});\n\nexport const dcatDatasetseriesSchema = () => ({\n publisher: {type: 'object', fields: 'type,name,resource:link'},\n issued: {type: 'date', translate: 'created'},\n modified: {type: 'date', translate: 'updated'},\n temporal: {type: 'objects', fields: 'gte:date,lte:date'},\n spatial_resource: {type: 'links', fields: 'resource:link'},\n contact_point: {type: 'objects', fields: 'name,email,telephone,address'},\n spatial: {type: 'objects', fields: 'coordinates,type'},\n accrual_periodicity: {type: 'object', fields: 'label:label,resource:link'},\n applicable_legislation: {type: 'links', translate: 'legalBasis,applicableLegislation'},\n});\n"],"names":["dcatFields","dcatDeFields","dcatSchema","t","value","data","item","label","getTranslationFor","dcatDeSchema","dcatDataserviceSchema","dcatDatasetseriesSchema"],"mappings":"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"}
1
+ {"version":3,"file":"specification.mjs","sources":["../../../lib/datasetDetails/properties/specification.ts"],"sourcesContent":["import { getTranslationFor } from \"../../../lib/utils/helpers\";\n\nexport const dcatFields = `releaseDate, modificationDate,creator,landingPages,sources,\n languages,publisher,contactPoints,spatial,\n spatialResource,conformsTo,provenances,identifiers,otherIdentifiers, resource,\n frequency,accessRights,accrualPeriodicity,hasVersion,isVersionOf,\n temporal,versionInfo,versionNotes,attributes,dimensions,numSeries,hasQualityAnnotations,\n statUnitMeasures,isReferencedBy,qualifiedAttributions,wasGeneratedBy,\n qualifiedRelations,sample,spatialResolutionInMeters,type,temporalResolution, geoDcatAp, catalogRecord`;\n\nexport const dcatDeFields = `politicalGeocodingLevelURI,politicalGeocodingURI,availability,\n contributorID,geocodingDescriptionDe,legalBasis,qualityProcessURI,typeDe,\n references,contributor,originator,maintainer`;\n\n/*\n Below we have schemata describing how properties should be rendered in DatasetDatailsProperties.vue. A schema is\n an object where keys correspond to the above defined fields. For each key, the value is an object the format of which\n we will now describe:\n\n - type: is the the only required property. Will be evaluated in typeCheckers.ts. It reflects the format of the\n data item (CALLED \"response\" BELOW!) retrieved by from the search network response (number, string, url, array, object, array of objects).\n Supported values are:\n * \"number\": response is a single number\n * \"first:number\": render response[0] as a number\n * \"string\": response a simple string\n * \"uri\": response a simple string, rendered as a link\n * \"date\": response a simple string, formatted as a date conforming to the current locale\n * \"translation\": response an object containing locale keys (like \"en\", \"de\"). The value corresponding to the\n current locale is rendered\n * \"object\": response an object whose where each key-value pair is rendered on a separate line\n * \"array\": response an array whose elements are rendered vertically\n * \"links\": reponse either an array of uri-strings rendered as links, or an\n array of objects with a label field that is displayed as a link and another field\n holding the href; that other field is either resource, label or id\n\n - translate: for a property \"xxx\", we have a bold label and tooltip to the left which comes from\n an i18n translation; the default i18n keys are: message.tooltip.datasetDetails.xxx for the tooltip and\n message.metadata.xxx for the displayed label. if instead of xxx, you want to use another key (with the same prefixes),\n translate can provide it. If translate is two strings separated by commas, the left one applies to the tooltip, the right\n to the label. Instead of just a replacement for xxx, you can provide i18n keys without the prefixes by starting the string with\n a slash (example: translate:\"/message.tooltip.yyy,/message.mykey.mylabelkey\"). Instead of translation keys, you can also\n provide literal values as tooltip or label by enclosing the strings in single quotes.\n\n - fields: for objects and arrays of objects, this comma-separated value indicates, what keys of the objects should\n be used for display (filtering out any additional data in the object). If not present, all existent keys will be used.\n A key given in this comma separated list can be of the form \"x\": just a key, or of the form \"x:y\": key x of type y (where\n the type is any of \"link\", \"link_blank\", \"date\" or empty; accordingly, a link (possibly target=\"_blank\") or date will be displayed).\n Also the form \"x:y:z\" is possible, where z is an indication how to translate the key for rendering. If z does not exist,\n the i18n key message.metadata.x will be translated; if z exists, we use message.metadata.z instead. The additional properties for\n \"translate\" above can also be applied to z: leading slash or single quotes.\n\n - track: enable Matomo tracking for a link. track is a string value indicating the key of the data object for which\n tracking should be enabled.\n\n - itemstyles: a string of CSS properties that applies to key-value items of a rendered object\n\n - transform: a function that maps the data to be rendered. Applies after the data has been processed in the value-method of\n DatsetDetailsProperty.vue\n\n - preTransform: same as transform, only applied to the raw data value before processing in the value-method\n\n */\n\nexport const dcatSchema = (t) => ({\n releaseDate: {type: 'date', translate: 'created'},\n modificationDate: {type: 'date', translate: 'updated'},\n landingPages: {type: 'links', translate: 'landingPage'},\n sources: {type: 'links', translate:',sources'},\n languages: {type: 'links', translate: 'language,languages'},\n publisher: {type: 'object', fields: 'name,email,homepage'},\n contactPoints: {type: 'objects', translate:\"/message.tooltip.contactPoints,contactPoints\", fields: \"name::/message.metadata.name,organisation_name::/message.datasetDetails.contactPoints.organizationName,email,telephone,address,url:link\"},\n catalogRecord: {type: 'object', translate:\"'Catalog Record data.europa.eu:','Catalog Record data.europa.eu:'\", fields: \"issued:date:addedToDataEuropaEU,modified:date:updatedOnDataEuropaEU,homepage\"},\n spatial: {type: 'objects', fields: \"coordinates,type\"},\n spatialResource: {type: 'links', translate:\",spatialResource\", fields: \"resource:link\"},\n conformsTo: {type: 'objects', fields: \"title::label,label,resource:link_blank\", track:\"resource\"},\n provenances: {type: 'objects', translate: 'provenance,provenances', fields: \"label,resource:link\"},\n // relatedResources: {type: 'links', translate: 'relatedResource,relatedResources'},\n identifiers: {type: 'links', translate: 'identifier,identifiers'},\n otherIdentifiers: {type: 'links', translate: 'otherIdentifier,otherIdentifiers', fields:\"identifier:link,resource:link:identifier,scheme:link\"},\n resource: {type: 'uri', translate: \",'uriRef:'\"},\n frequency: {type: 'object', fields:\"title,resource:link\"},\n accessRights: {type: 'object', translate:\"/message.tooltip.datasetDetails.distributions.rights,accessRights\", fields:\"label::\"},\n accrualPeriodicity: {type: 'object', translate:\"frequency,accrualPeriodicity\", fields:\"label::\"},\n creator: {type: 'objects', fields:\"type,name,resource:link,email,homepage:link\"},\n hasVersion: {type: 'links'},\n isVersionOf: {type: 'links', translate:\"versionOf,isVersionOf\"},\n temporal: {type: 'objects', translate:\"/message.tooltip.datasetDetails.distributions.temporalResolution,temporal\", fields: \"gte:date:,lte:date:' -'\", itemstyles:\"float:left\"},\n versionInfo: {type: 'string'},\n versionNotes: {type: 'translation'},\n attributes: {type: 'links', translate:\",attributes\"},\n dimensions: {type: 'links', translate:\",dimensions\"},\n numSeries: {type: 'number'},\n hasQualityAnnotations: {type: 'links', translate: \",qualityAnnotations\"},\n statUnitMeasures: {type: 'links', translate: \"unitsOfMeasurement\"},\n isReferencedBy: {type: 'links'},\n qualifiedAttributions: {type: 'links', translate: \"qualifiedAttribution\"},\n wasGeneratedBy: {type: 'links'},\n qualifiedRelations: {type: 'objects', translate: \"qualifiedRelation\", fields: \"relation:link,had_role:link:role\"},\n sample: {type: 'links'},\n spatialResolutionInMeters: {\n type: 'number', translate: \"spatialResolutionInMeters,spatialResolutionInMeters.label\",\n transform: value => t('message.metadata.spatialResolutionInMeters.value', {number: value})\n },\n type: {type: 'object', fields: \"label,resource:link_blank\", preTransform: (value) => ({\n ...value,\n name: value?.name ?? value?.label\n })},\n temporalResolution: {type: 'string'},\n geoDcatAp: {\n type: 'objects',\n translate: \"/message.tooltip.datasetDetails.geoDcatAp,'GeoDCAT-AP'\",\n fields: \"label\",\n preTransform: (data) => [{\n label: (data || [])\n .map(item => {\n const label = item?.label;\n return typeof label === 'object' ? getTranslationFor(label, 'en', ['en']) : label;\n })\n .filter(Boolean)\n .join(', ')\n }]\n},\n});\n\nexport const dcatDeSchema = () => ({\n politicalGeocodingLevelURI: {type: 'objects', fields:\"label,resource:link\"},\n politicalGeocodingURI: {type: 'objects', fields:\"label,resource:link\"},\n availability: {type: 'object', translate:\"availabilityDE,availability\", fields:\"label,resource:link\"},\n contributorID: {type: 'objects', fields:\"label,resource:link\"},\n geocodingDescriptionDe: {type: 'translation'},\n legalBasis: {type: 'translation'},\n qualityProcessURI: {type: 'uri'},\n typeDe: {type: 'string', translate:\"type,type\"},\n references: {type: 'uri'},\n contributor: {type: 'objects', fields:\"name,type,homepage,email,resource\"},\n originator: {type: 'objects', fields:\"name,type,homepage,email,resource\"},\n maintainer: {type: 'objects', fields:\"name,type,homepage,email,resource\"}\n});\n\n/* Schema for dataservice-specific properties */\nexport const dcatDataserviceSchema = (locale = 'en') => ({\n catalog: {type: 'translation', fields: 'title'},\n publisher: {type: 'object', fields: 'name,email,homepage:link'},\n contact_point: {type: 'objects', fields: 'email'},\n access_right: {type: 'object', fields: 'resource'},\n endpoint_url: {type: 'links', translate:\",endpoint_url\"},\n format: {type: 'object', fields: 'label,resource:link_blank'},\n reference_system: {type: 'objects', fields: 'label,resource:link'},\n topic_category: {\n type: 'objects',\n fields: 'label,resource:link',\n preTransform: (data) => (data || []).map(item => {\n let label = item?.label;\n // If label is an array, take the first element\n if (Array.isArray(label)) {\n label = label[0];\n }\n // If label is an object with multiple language keys, use the current\n // locale with \"en\" as fallback. If label is a plain value, show it directly.\n if (typeof label === 'object' && label !== null) {\n label = getTranslationFor(label, locale, ['en']);\n }\n return { ...item, label };\n })\n }\n});\n\nexport const dcatDatasetseriesSchema = () => ({\n publisher: {type: 'object', fields: 'type,name,resource:link'},\n issued: {type: 'date', translate: 'created'},\n modified: {type: 'date', translate: 'updated'},\n temporal: {type: 'objects', fields: 'gte:date,lte:date'},\n spatial_resource: {type: 'links', fields: 'resource:link'},\n contact_point: {type: 'objects', fields: 'name,email,telephone,address'},\n spatial: {type: 'objects', fields: 'coordinates,type'},\n accrual_periodicity: {type: 'object', fields: 'label:label,resource:link'},\n applicable_legislation: {type: 'links', translate: 'legalBasis,applicableLegislation'},\n});\n"],"names":["dcatFields","dcatDeFields","dcatSchema","t","value","data","item","label","getTranslationFor","dcatDeSchema","dcatDataserviceSchema","locale","dcatDatasetseriesSchema"],"mappings":"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"}