@piveau/piveau-hub-ui-modules 4.6.28 → 4.6.30

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.
@@ -1,12 +1,12 @@
1
1
  import K from "../../widgets/AppLink.vue.mjs";
2
2
  import w from "../../widgets/Tooltip.vue.mjs";
3
- import { isNil as y, isArray as g } from "lodash-es";
3
+ import { isNil as c, isArray as g } from "lodash-es";
4
4
  import { showByType as x } from "./typeCheckers.mjs";
5
5
  import N from "./ValuesList.vue.mjs";
6
6
  import { mapGetters as S } from "vuex";
7
7
  import _ from "../../filters/dateFilters.mjs";
8
8
  import { truncate as j, getTranslationFor as V } from "../../utils/helpers.mjs";
9
- import { resolveComponent as f, openBlock as a, createElementBlock as i, createElementVNode as b, createVNode as h, withCtx as k, createTextVNode as o, toDisplayString as d, createCommentVNode as u, Fragment as T, renderList as v, createBlock as B } from "vue";
9
+ import { resolveComponent as f, openBlock as s, createElementBlock as i, createElementVNode as b, createVNode as h, withCtx as k, createTextVNode as o, toDisplayString as d, createCommentVNode as u, Fragment as T, renderList as v, createBlock as B } from "vue";
10
10
  import "./DatasetDetailsProperty.vue2.mjs";
11
11
  import E from "../../_virtual/_plugin-vue_export-helper.mjs";
12
12
  const O = {
@@ -88,7 +88,7 @@ const O = {
88
88
  }
89
89
  },
90
90
  methods: {
91
- isNil: y,
91
+ isNil: c,
92
92
  isArray: g,
93
93
  truncate: j,
94
94
  getTranslationFor: V,
@@ -97,7 +97,7 @@ const O = {
97
97
  },
98
98
  prepareObject(e) {
99
99
  let t = this.preparedFields ?? Object.keys(e).map((r) => [r]);
100
- return t = t.filter((r) => !y(e[r[0]])), t.map((r) => {
100
+ return t = t.filter((r) => !c(e[r[0]])), t.map((r) => {
101
101
  let n = e[r[0]];
102
102
  g(n) || (n = [n]);
103
103
  const p = { key: r[0], value: n };
@@ -105,66 +105,66 @@ const O = {
105
105
  });
106
106
  },
107
107
  interpretTranslateKey(e, t) {
108
- return console.log(e), e === "" ? "" : e.startsWith("/") ? `${this.i18n.global.t(e.substring(1))}:` : e.startsWith("'") ? e.substring(1, e.length - 1) : `${this.i18n.global.t(`${t}.${e}`)}:`;
108
+ return e === "" ? "" : e.startsWith("/") ? `${this.i18n.global.t(e.substring(1))}:` : e.startsWith("'") ? e.substring(1, e.length - 1) : `${this.i18n.global.t(`${t}.${e}`)}:`;
109
109
  }
110
110
  }
111
111
  }, P = { key: 0 }, A = { class: "w-25 text-break font-weight-bold" }, C = { key: 0 }, L = { key: 1 }, W = ["href"], I = { key: 2 }, U = { key: 1 }, q = { key: 3 }, G = { key: 4 };
112
- function z(e, t, r, n, p, s) {
113
- const D = f("tooltip"), F = f("app-link"), c = f("values-list");
114
- return s.show ? (a(), i("tr", P, [
112
+ function z(e, t, r, n, p, a) {
113
+ const D = f("tooltip"), F = f("app-link"), y = f("values-list");
114
+ return a.show ? (s(), i("tr", P, [
115
115
  b("td", A, [
116
116
  h(D, {
117
- title: s.labelDisplay[0]
117
+ title: a.labelDisplay[0]
118
118
  }, {
119
119
  default: k(() => [
120
- o(d(s.labelDisplay[1]), 1)
120
+ o(d(a.labelDisplay[1]), 1)
121
121
  ]),
122
122
  _: 1
123
123
  }, 8, ["title"])
124
124
  ]),
125
125
  t[1] || (t[1] = o()),
126
- ["string", "date", "number", "first:number", "translation"].includes(r.type) ? (a(), i("td", C, d(s.value), 1)) : u("", !0),
126
+ ["string", "date", "number", "first:number", "translation"].includes(r.type) ? (s(), i("td", C, d(a.value), 1)) : u("", !0),
127
127
  t[2] || (t[2] = o()),
128
- r.type === "uri" ? (a(), i("td", L, [
129
- b("a", { href: s.value }, d(s.value), 9, W)
128
+ r.type === "uri" ? (s(), i("td", L, [
129
+ b("a", { href: a.value }, d(a.value), 9, W)
130
130
  ])) : u("", !0),
131
131
  t[3] || (t[3] = o()),
132
- r.type === "links" ? (a(), i("td", I, [
133
- (a(!0), i(T, null, v(s.value, (l, m) => (a(), i("div", { key: m }, [
134
- !s.isNil(l) && l.link && r.name !== "languages" ? (a(), B(F, {
132
+ r.type === "links" ? (s(), i("td", I, [
133
+ (s(!0), i(T, null, v(a.value, (l, m) => (s(), i("div", { key: m }, [
134
+ !a.isNil(l) && l.link && r.name !== "languages" ? (s(), B(F, {
135
135
  key: 0,
136
136
  to: l.link
137
137
  }, {
138
138
  default: k(() => [
139
- o(d(s.truncate(l.label, 75)), 1)
139
+ o(d(a.truncate(l.label, 75)), 1)
140
140
  ]),
141
141
  _: 2
142
142
  }, 1032, ["to"])) : u("", !0),
143
143
  t[0] || (t[0] = o()),
144
- !s.isNil(l) && !l.link || r.name === "languages" ? (a(), i("div", U, d(s.truncate(l.label, 75)), 1)) : u("", !0)
144
+ !a.isNil(l) && !l.link || r.name === "languages" ? (s(), i("div", U, d(a.truncate(l.label, 75)), 1)) : u("", !0)
145
145
  ]))), 128))
146
146
  ])) : u("", !0),
147
147
  t[4] || (t[4] = o()),
148
- r.type === "object" ? (a(), i("td", q, [
149
- h(c, {
150
- values: s.value,
151
- interpretTranslateKey: s.interpretTranslateKey,
148
+ r.type === "object" ? (s(), i("td", q, [
149
+ h(y, {
150
+ values: a.value,
151
+ interpretTranslateKey: a.interpretTranslateKey,
152
152
  itemstyles: r.itemstyles
153
153
  }, null, 8, ["values", "interpretTranslateKey", "itemstyles"])
154
154
  ])) : u("", !0),
155
155
  t[5] || (t[5] = o()),
156
- r.type === "objects" ? (a(), i("td", G, [
157
- (a(!0), i(T, null, v(s.value, (l, m) => (a(), i("div", { key: m }, [
158
- h(c, {
156
+ r.type === "objects" ? (s(), i("td", G, [
157
+ (s(!0), i(T, null, v(a.value, (l, m) => (s(), i("div", { key: m }, [
158
+ h(y, {
159
159
  values: l,
160
- interpretTranslateKey: s.interpretTranslateKey,
160
+ interpretTranslateKey: a.interpretTranslateKey,
161
161
  itemstyles: r.itemstyles
162
162
  }, null, 8, ["values", "interpretTranslateKey", "itemstyles"])
163
163
  ]))), 128))
164
164
  ])) : u("", !0)
165
165
  ])) : u("", !0);
166
166
  }
167
- const rt = /* @__PURE__ */ E(O, [["render", z], ["__scopeId", "data-v-cef2d916"]]);
167
+ const rt = /* @__PURE__ */ E(O, [["render", z], ["__scopeId", "data-v-aefeca15"]]);
168
168
  export {
169
169
  rt as default
170
170
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DatasetDetailsProperty.vue.mjs","sources":["../../../lib/datasetDetails/properties/DatasetDetailsProperty.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 v-if=\"['string', 'date', 'number', 'first:number', 'translation'].includes(type)\">{{ value }}</td>\n <td v-if=\"type==='uri'\"><a :href='value'>{{ value }}</a></td>\n <td v-if=\"type==='links'\">\n <div v-for=\"(v, i) of value\" :key=\"i\">\n <app-link v-if=\"!isNil(v) && v.link && name !== 'languages'\" :to=\"v.link\">{{ truncate(v.label, 75) }}</app-link>\n <div v-if=\"(!isNil(v) && !v.link) || name === 'languages'\">{{ truncate(v.label, 75) }}</div>\n </div>\n </td>\n <td v-if=\"type==='object'\">\n <values-list :values=\"value\" :interpretTranslateKey=\"interpretTranslateKey\" :itemstyles=\"itemstyles\"/>\n </td>\n <td v-if=\"type==='objects'\">\n <div v-for=\"(item, i) of value\" :key=\"i\">\n <values-list :values=\"item\" :interpretTranslateKey=\"interpretTranslateKey\" :itemstyles=\"itemstyles\"/>\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: \"DatasetDetailsProperty\",\n props: {\n type: String, // Can be any of the types recognized in typeCheckers.ts\n translate: String | Array, // i18n key for the tooltip and label string values (if not given, name is used!)\n name: String, // Key to extract the value from the Datasets store\n propertyFields: String, // Comma-separated keys for extracting data from an object\n itemstyles: String, // Styles to apply to an object key-value block\n track: String, // Comma-separated keys for tracking\n preTransform: Function, // Transform raw data from dataset service\n transform: Function // Transform data after preparing by this.value\n },\n components: {\n Tooltip, AppLink, ValuesList\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getProperty'\n ]),\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) => this.interpretTranslateKey(item, prefix[i]));\n },\n data() {\n let d = this.getProperty(this.name);\n if (this.name === 'languages') {\n 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 = typeof item === 'string'? item : 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 = this.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 // Because this.fields can contain \":\" signs that split a key into an array,\n // we also transform the keys in the case this.fields is undefined into arrays:\n let keys = this.preparedFields ?? Object.keys(object).map(key => [key]);\n\n // Now key[0] holds the actual key in all cases. Check if the value given\n // For a key is undefined and filter them out:\n keys = keys.filter(key => !isNil(object[key[0]]));\n\n return keys.map(key => {\n let value = object[key[0]];\n\n // Values can be arrays for displaying several values. For uniform treatment,\n // transform single values into arrays of length 1:\n if (!isArray(value)) value = [value];\n\n // First step: an object holding key and value:\n const result = {key: key[0], value};\n\n // Enrich the object when appropriate:\n if (key[1] !== undefined) result.type = key[1];\n if (key[2] !== undefined) result.translation = key[2];\n\n return result;\n });\n },\n interpretTranslateKey(key, prefix) {\n console.log(key);\n \n if (key === '') return '';\n if (key.startsWith('/')) 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\n</style>\n"],"names":["_sfc_main","Tooltip","AppLink","ValuesList","mapGetters","prefix","translateItems","item","i","d","a","b","_a","field","v","dateFilters","link","label","showByType","isNil","isArray","truncate","getTranslationFor","object","keys","key","value","result","_hoisted_2","_hoisted_5","$options","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_createVNode","_component_tooltip","_withCtx","_createTextVNode","_toDisplayString","_cache","$props","_hoisted_3","_createCommentVNode","_hoisted_4","_hoisted_6","_Fragment","_renderList","_createBlock","_component_app_link","_hoisted_7","_hoisted_8","_component_values_list","_hoisted_9"],"mappings":";;;;;;;;;;;AAoCA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM;AAAA;AAAA,IACN,WAAW,SAAS;AAAA;AAAA,IACpB,MAAM;AAAA;AAAA,IACN,gBAAgB;AAAA;AAAA,IAChB,YAAY;AAAA;AAAA,IACZ,OAAO;AAAA;AAAA,IACP,cAAc;AAAA;AAAA,IACd,WAAW;AAAA;AAAA,EACZ;AAAA,EACD,YAAY;AAAA,IACV,SAAAC;AAAA,IAAS,SAAAC;AAAA,IAAS,YAAAC;AAAA,EACnB;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,kBAAkB;AAAA,MAC9B;AAAA,IACF,CAAC;AAAA,IACD,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,IAAI,CAACC,GAAMC,MAAM,KAAK,sBAAsBD,GAAMF,EAAOG,CAAC,CAAC,CAAC;AAAA,IACnF;AAAA,IACD,OAAO;AACL,UAAIC,IAAI,KAAK,YAAY,KAAK,IAAI;AAClC,aAAI,KAAK,SAAS,eAChBA,EAAE,KAAK,CAACC,GAAGC,MACLD,EAAE,KAAKC,EAAE,KAAW,KACpBD,EAAE,KAAKC,EAAE,KAAW,IACjB,CACR,GAEIF;AAAA,IACR;AAAA,IACD,iBAAiB;;AACf,cAAOG,IAAA,KAAK,mBAAL,gBAAAA,EAAqB,MAAM,KAAK,IAAI,CAAAC,MAASA,EAAM,MAAM,GAAG;AAAA,IACpE;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,CAAAP,MAAQ;AACxB,gBAAIA,GAAM;AACR,oBAAMS,IAAO,OAAOT,KAAS,WAAUA,IAAOA,EAAK,UAC7CU,IAAQ,OAAOV,KAAS,WAAUA,IAAOA,EAAK,SAASA,EAAK,MAAMA,EAAK;AAC7E,qBAAO,EAAE,MAAAS,GAAM,OAAAC;YACjB;AAAA,UACF,CAAC;AACD;AAAA,QACF,KAAK;AACH,UAAAH,IAAI,KAAK,cAAc,KAAK,IAAI;AAChC;AAAA,QACF,KAAK;AACH,UAAAA,IAAI,KAAK,KAAK,IAAI,CAAAP,MACT,KAAK,cAAcA,CAAI,CAC/B;AACD;AAAA,QACF,KAAK;AACH,UAAAO,IAAI,KAAK,kBAAkBA,GAAG,KAAK,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC;AAC9D;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,aAAOI,EAAW,KAAK,MAAM,KAAK,IAAI;AAAA,IACxC;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP,OAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,YAAY;AACV,aAAOP,EAAY,SAAS,KAAK,KAAK;AAAA,IACvC;AAAA,IACD,cAAcQ,GAAQ;AAGpB,UAAIC,IAAO,KAAK,kBAAkB,OAAO,KAAKD,CAAM,EAAE,IAAI,CAAAE,MAAO,CAACA,CAAG,CAAC;AAItE,aAAAD,IAAOA,EAAK,OAAO,CAAAC,MAAO,CAACN,EAAMI,EAAOE,EAAI,CAAC,CAAC,CAAC,CAAC,GAEzCD,EAAK,IAAI,CAAAC,MAAO;AACrB,YAAIC,IAAQH,EAAOE,EAAI,CAAC,CAAC;AAIzB,QAAKL,EAAQM,CAAK,MAAGA,IAAQ,CAACA,CAAK;AAGnC,cAAMC,IAAS,EAAC,KAAKF,EAAI,CAAC,GAAG,OAAAC,EAAK;AAGlC,eAAID,EAAI,CAAC,MAAM,WAAWE,EAAO,OAAOF,EAAI,CAAC,IACzCA,EAAI,CAAC,MAAM,WAAWE,EAAO,cAAcF,EAAI,CAAC,IAE7CE;AAAA,MACT,CAAC;AAAA,IACF;AAAA,IACD,sBAAsBF,GAAKpB,GAAQ;AAGjC,aAFA,QAAQ,IAAIoB,CAAG,GAEXA,MAAQ,KAAW,KACnBA,EAAI,WAAW,GAAG,IAAU,GAAG,KAAK,KAAK,OAAO,EAAEA,EAAI,UAAU,CAAC,CAAC,CAAC,MACnEA,EAAI,WAAW,GAAI,IAAUA,EAAI,UAAU,GAAGA,EAAI,SAAS,CAAC,IACzD,GAAG,KAAK,KAAK,OAAO,EAAE,GAAGpB,CAAM,IAAIoB,CAAG,EAAE,CAAC;AAAA,IACjD;AAAA,EACH;AACF,SAvKA,KAAA,EAAA,GAEQG,IAAA,EAAA,OAAM,mCAAkC,SAFhD,KAAA,EAAA,SAAA,KAAA,EAAA,GAAAC,IAAA,CAAA,MAAA,SAAA,KAAA,EAAA,SAAA,KAAA,EAAA,SAAA,KAAA,EAAA,SAAA,KAAA,EAAA;;;SACYC,EAAI,QAAdC,KAAAC,EAsBK,MAvBPC,GAAA;AAAA,IAEIC,EAIK,MAJLN,GAIK;AAAA,MAHHO,EAEUC,GAAA;AAAA,QAFA,OAAON,EAAY,aAAA,CAAA;AAAA;QAHnC,SAAAO,EAIQ,MAAqB;AAAA,UAJ7BC,EAAAC,EAIWT,EAAY,aAAA,CAAA,CAAA,GAAA,CAAA;AAAA;QAJvB,GAAA;AAAA;;IAAAU,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAF,EAAA;AAAA,IAO0E,CAAA,UAAA,QAAA,UAAA,gBAAA,aAAA,EAAA,SAASG,EAAI,IAAA,UAAnFT,EAAsG,MAP1GU,KAO6FZ,EAAK,KAAA,GAAA,CAAA,KAPlGa,EAAA,IAAA,EAAA;AAAA,IAAAH,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAF,EAAA;AAAA,IAQcG,EAAI,SAAA,SAAdV,KAAAC,EAA6D,MARjEY,GAAA;AAAA,MAQ4BV,EAAgC,OAA5B,MAAMJ,EAAK,MAAA,GAAAS,EAAKT,OAAK,GARrD,GAAAD,CAAA;AAAA,UAAAc,EAAA,IAAA,EAAA;AAAA,IAAAH,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAF,EAAA;AAAA,IAScG,EAAI,SAAA,WAAdV,KAAAC,EAKK,MAdTa,GAAA;AAAA,OAUMd,EAAA,EAAA,GAAAC,EAGMc,SAbZC,EAU4BjB,EAAA,OAV5B,CAUmBhB,GAAGN,YAAhBwB,EAGM,OAAA,EAHwB,KAAKxB,KAAC;AAAA,QACjB,CAAAsB,EAAA,MAAMhB,CAAC,KAAKA,EAAE,QAAQ2B,EAAI,SAAA,oBAA3CO,EAAgHC,GAAA;AAAA,UAXxH,KAAA;AAAA,UAWsE,IAAInC,EAAE;AAAA;UAX5E,SAAAuB,EAWkF,MAA2B;AAAA,YAX7GC,EAAAC,EAWqFT,EAAQ,SAAChB,EAAE,OAAK,EAAA,CAAA,GAAA,CAAA;AAAA;UAXrG,GAAA;AAAA,4BAAA6B,EAAA,IAAA,EAAA;AAAA,QAAAH,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAF,EAAA;AAAA,QAYqB,CAAAR,EAAA,MAAMhB,CAAC,KAAA,CAAMA,EAAE,QAAS2B,EAAI,SAAA,eAAzCV,EAAA,GAAAC,EAA4F,OAZpGkB,GAYsEX,EAAAT,EAAA,SAAShB,EAAE,OAAK,EAAA,CAAA,GAAA,CAAA,KAZtF6B,EAAA,IAAA,EAAA;AAAA;UAAAA,EAAA,IAAA,EAAA;AAAA,IAAAH,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAF,EAAA;AAAA,IAecG,EAAI,SAAA,YAAdV,KAAAC,EAEK,MAjBTmB,GAAA;AAAA,MAgBMhB,EAAsGiB,GAAA;AAAA,QAAxF,QAAQtB,EAAK;AAAA,QAAG,uBAAuBA,EAAqB;AAAA,QAAG,YAAYW,EAAU;AAAA;UAhBzGE,EAAA,IAAA,EAAA;AAAA,IAAAH,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAF,EAAA;AAAA,IAkBcG,EAAI,SAAA,aAAdV,KAAAC,EAIK,MAtBTqB,GAAA;AAAA,OAmBMtB,EAAA,EAAA,GAAAC,EAEMc,SArBZC,EAmB+BjB,EAAA,OAnB/B,CAmBmBvB,GAAMC,YAAnBwB,EAEM,OAAA,EAF2B,KAAKxB,KAAC;AAAA,QACrC2B,EAAqGiB,GAAA;AAAA,UAAvF,QAAQ7C;AAAA,UAAO,uBAAuBuB,EAAqB;AAAA,UAAG,YAAYW,EAAU;AAAA;;UApB1GE,EAAA,IAAA,EAAA;AAAA,QAAAA,EAAA,IAAA,EAAA;;;"}
1
+ {"version":3,"file":"DatasetDetailsProperty.vue.mjs","sources":["../../../lib/datasetDetails/properties/DatasetDetailsProperty.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 v-if=\"['string', 'date', 'number', 'first:number', 'translation'].includes(type)\">{{ value }}</td>\n <td v-if=\"type==='uri'\"><a :href='value'>{{ value }}</a></td>\n <td v-if=\"type==='links'\">\n <div v-for=\"(v, i) of value\" :key=\"i\">\n <app-link v-if=\"!isNil(v) && v.link && name !== 'languages'\" :to=\"v.link\">{{ truncate(v.label, 75) }}</app-link>\n <div v-if=\"(!isNil(v) && !v.link) || name === 'languages'\">{{ truncate(v.label, 75) }}</div>\n </div>\n </td>\n <td v-if=\"type==='object'\">\n <values-list :values=\"value\" :interpretTranslateKey=\"interpretTranslateKey\" :itemstyles=\"itemstyles\"/>\n </td>\n <td v-if=\"type==='objects'\">\n <div v-for=\"(item, i) of value\" :key=\"i\">\n <values-list :values=\"item\" :interpretTranslateKey=\"interpretTranslateKey\" :itemstyles=\"itemstyles\"/>\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: \"DatasetDetailsProperty\",\n props: {\n type: String, // Can be any of the types recognized in typeCheckers.ts\n translate: String | Array, // i18n key for the tooltip and label string values (if not given, name is used!)\n name: String, // Key to extract the value from the Datasets store\n propertyFields: String, // Comma-separated keys for extracting data from an object\n itemstyles: String, // Styles to apply to an object key-value block\n track: String, // Comma-separated keys for tracking\n preTransform: Function, // Transform raw data from dataset service\n transform: Function // Transform data after preparing by this.value\n },\n components: {\n Tooltip, AppLink, ValuesList\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getProperty'\n ]),\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) => this.interpretTranslateKey(item, prefix[i]));\n },\n data() {\n let d = this.getProperty(this.name);\n if (this.name === 'languages') {\n 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 = typeof item === 'string'? item : 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 = this.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 // Because this.fields can contain \":\" signs that split a key into an array,\n // we also transform the keys in the case this.fields is undefined into arrays:\n let keys = this.preparedFields ?? Object.keys(object).map(key => [key]);\n\n // Now key[0] holds the actual key in all cases. Check if the value given\n // For a key is undefined and filter them out:\n keys = keys.filter(key => !isNil(object[key[0]]));\n\n return keys.map(key => {\n let value = object[key[0]];\n\n // Values can be arrays for displaying several values. For uniform treatment,\n // transform single values into arrays of length 1:\n if (!isArray(value)) value = [value];\n\n // First step: an object holding key and value:\n const result = {key: key[0], value};\n\n // Enrich the object when appropriate:\n if (key[1] !== undefined) result.type = key[1];\n if (key[2] !== undefined) result.translation = key[2];\n\n return result;\n });\n },\n interpretTranslateKey(key, prefix) {\n // console.log(key);\n \n if (key === '') return '';\n if (key.startsWith('/')) 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\n</style>\n"],"names":["_sfc_main","Tooltip","AppLink","ValuesList","mapGetters","prefix","translateItems","item","i","d","a","b","_a","field","v","dateFilters","link","label","showByType","isNil","isArray","truncate","getTranslationFor","object","keys","key","value","result","_hoisted_2","_hoisted_5","$options","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_createVNode","_component_tooltip","_withCtx","_createTextVNode","_toDisplayString","_cache","$props","_hoisted_3","_createCommentVNode","_hoisted_4","_hoisted_6","_Fragment","_renderList","_createBlock","_component_app_link","_hoisted_7","_hoisted_8","_component_values_list","_hoisted_9"],"mappings":"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"}