@piveau/piveau-hub-ui-modules 4.6.24 → 4.6.26

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.
Files changed (36) hide show
  1. package/dist/data-provider-interface/components/FileUpload.vue.mjs +3 -5
  2. package/dist/data-provider-interface/components/FileUpload.vue.mjs.map +1 -1
  3. package/dist/data-provider-interface/components/WidgetInput.vue.d.ts +7 -0
  4. package/dist/data-provider-interface/components/WidgetInput.vue.mjs +73 -0
  5. package/dist/data-provider-interface/components/WidgetInput.vue.mjs.map +1 -0
  6. package/dist/data-provider-interface/components/WidgetInput.vue2.mjs +5 -0
  7. package/dist/data-provider-interface/components/WidgetInput.vue2.mjs.map +1 -0
  8. package/dist/data-provider-interface/config/dcatapde_BFS/format-types.mjs +276 -0
  9. package/dist/data-provider-interface/config/dcatapde_BFS/format-types.mjs.map +1 -0
  10. package/dist/data-provider-interface/config/dcatapde_BFS/input-definition.d.ts +18 -0
  11. package/dist/data-provider-interface/config/dcatapde_BFS/input-definition.mjs +2146 -0
  12. package/dist/data-provider-interface/config/dcatapde_BFS/input-definition.mjs.map +1 -0
  13. package/dist/data-provider-interface/config/dcatapde_BFS/page-content-config.mjs +24 -0
  14. package/dist/data-provider-interface/config/dcatapde_BFS/page-content-config.mjs.map +1 -0
  15. package/dist/data-provider-interface/config/dcatapde_BFS/prefixes.mjs +28 -0
  16. package/dist/data-provider-interface/config/dcatapde_BFS/prefixes.mjs.map +1 -0
  17. package/dist/data-provider-interface/config/dcatapde_BFS/vocab-prefixes.mjs +34 -0
  18. package/dist/data-provider-interface/config/dcatapde_BFS/vocab-prefixes.mjs.map +1 -0
  19. package/dist/data-provider-interface/config/dpi-spec-config.mjs +23 -11
  20. package/dist/data-provider-interface/config/dpi-spec-config.mjs.map +1 -1
  21. package/dist/data-provider-interface/store/modules/conversionStore.mjs.map +1 -1
  22. package/dist/data-provider-interface/utils/RDFconverter.mjs +340 -173
  23. package/dist/data-provider-interface/utils/RDFconverter.mjs.map +1 -1
  24. package/dist/data-provider-interface/utils/general-helper.mjs +19 -10
  25. package/dist/data-provider-interface/utils/general-helper.mjs.map +1 -1
  26. package/dist/data-provider-interface/utils/inputConverter.mjs +148 -65
  27. package/dist/data-provider-interface/utils/inputConverter.mjs.map +1 -1
  28. package/dist/data-provider-interface/views/InputPage.vue.mjs +32 -30
  29. package/dist/data-provider-interface/views/InputPage.vue.mjs.map +1 -1
  30. package/dist/data-provider-interface/views/OverviewPage/Properties/StringProp.vue.mjs.map +1 -1
  31. package/dist/datasetDetails/properties/DatasetDetailsProperty.vue.mjs +8 -8
  32. package/dist/datasetDetails/properties/DatasetDetailsProperty.vue.mjs.map +1 -1
  33. package/dist/form/inputDefinitions.mjs +21 -16
  34. package/dist/form/inputDefinitions.mjs.map +1 -1
  35. package/dist/piveau-hub-ui-modules.css +1 -1
  36. package/package.json +1 -1
@@ -1,66 +1,133 @@
1
1
  import m from "./general-helper.mjs";
2
2
  import "lodash-es";
3
- async function I(i, e, t, n) {
4
- let a, o, c;
5
- e === "datasets" ? c = t.match(null, "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", "http://www.w3.org/ns/dcat#Dataset", null) : c = t.match(null, "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", "http://www.w3.org/ns/dcat#Catalog", null), o = m.getPagePrefixedNames(e, n.inputDefinition, n.pageConent), i[e] = {};
3
+ async function I(i, e, t, s) {
4
+ let a, n, c;
5
+ e === "datasets" ? c = t.match(
6
+ null,
7
+ "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
8
+ "http://www.w3.org/ns/dcat#Dataset",
9
+ null
10
+ ) : c = t.match(
11
+ null,
12
+ "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
13
+ "http://www.w3.org/ns/dcat#Catalog",
14
+ null
15
+ ), n = m.getPagePrefixedNames(
16
+ e,
17
+ s.inputDefinition,
18
+ s.pageConent
19
+ ), i[e] = {};
6
20
  for (let v of c) {
7
21
  a = v.subject.value;
8
- for (let b in o[e])
9
- i[e][b] = {}, g(e, i[e][b], a, t, o[e][b], n);
22
+ for (let b in n[e])
23
+ i[e][b] = {}, g(
24
+ e,
25
+ i[e][b],
26
+ a,
27
+ t,
28
+ n[e][b],
29
+ s
30
+ );
10
31
  }
11
32
  if (e === "datasets") {
12
- const v = t.match(a, "http://www.w3.org/ns/dcat#distribution", null, null);
13
- o = m.getPagePrefixedNames("distributions", n.inputDefinition, n.pageConent), i.datasets.Distributions.distributionList = [];
33
+ const v = t.match(
34
+ a,
35
+ "http://www.w3.org/ns/dcat#distribution",
36
+ null,
37
+ null
38
+ );
39
+ n = m.getPagePrefixedNames(
40
+ "distributions",
41
+ s.inputDefinition,
42
+ s.pageConent
43
+ ), i.datasets.Distributions.distributionList = [];
14
44
  for (let b of v) {
15
45
  const l = {}, u = b.object.value;
16
- for (let s in o.distributions)
17
- l[s] = {}, g("distributions", l[s], u, t, o.distributions[s], n);
46
+ for (let o in n.distributions)
47
+ l[o] = {}, g(
48
+ "distributions",
49
+ l[o],
50
+ u,
51
+ t,
52
+ n.distributions[o],
53
+ s
54
+ );
18
55
  i.datasets.Distributions.distributionList.push(l);
19
56
  }
20
57
  }
21
58
  }
22
- function g(i, e, t, n, a, o) {
59
+ function g(i, e, t, s, a, n) {
23
60
  var v;
24
- const c = o.formatTypes;
61
+ const c = n.formatTypes;
25
62
  for (let b = 0; b < a.length; b += 1) {
26
63
  const l = a[b];
27
- let u = n.match(t, m.addNamespace(l, o), null, null);
64
+ let u = s.match(
65
+ t,
66
+ m.addNamespace(l, n),
67
+ null,
68
+ null
69
+ );
28
70
  if (c.singularString[i].includes(l))
29
- N(u, e, l);
71
+ p(u, e, l);
30
72
  else if (c.singularURI[i].includes(l))
31
- S(u, e, l, o);
73
+ T(u, e, l, n);
32
74
  else if (c.multipleURI[i].includes(l))
33
- D(u, e, l, i, o);
75
+ N(u, e, l, i, n);
34
76
  else if (c.typedStrings[i].includes(l))
35
- T(u, e, l);
77
+ S(u, e, l);
36
78
  else if (c.multilingualStrings[i].includes(l))
37
- p(u, e, l);
79
+ D(u, e, l);
38
80
  else if (c.conditionalProperties[i].includes(l)) {
39
81
  if (l === "dct:publisher" || l === "dct:license") {
40
- for (let s of u)
41
- if (s.object.termType === "NamedNode")
42
- e[l] = { name: s.object.value, resource: s.object.value };
43
- else if (s.object.termType === "BlankNode") {
44
- const f = m.getNestedKeys(n.match(s.object, null, null, null), o).filter((r) => r !== "dct:title"), d = {};
82
+ for (let o of u)
83
+ if (o.object.termType === "NamedNode")
84
+ e[l] = { name: o.object.value, resource: o.object.value };
85
+ else if (o.object.termType === "BlankNode") {
86
+ const f = m.getNestedKeys(s.match(o.object, null, null, null), n).filter((r) => r !== "dct:title"), d = {};
45
87
  if (l === "dct:license") {
46
- const r = n.match(s.object, m.addNamespace("dct:title", o), null, null);
88
+ const r = s.match(
89
+ o.object,
90
+ m.addNamespace("dct:title", n),
91
+ null,
92
+ null
93
+ );
47
94
  for (let j of r)
48
95
  d["dct:title"] = j.object.value;
49
96
  }
50
- g(i, d, s.object, n, f, o), e[l] = d;
97
+ g(
98
+ i,
99
+ d,
100
+ o.object,
101
+ s,
102
+ f,
103
+ n
104
+ ), e[l] = d;
51
105
  }
52
106
  }
53
107
  } else if (c.groupedProperties[i].includes(l)) {
54
108
  if (u.size > 0) {
55
109
  e[l] = [];
56
- for (let s of u) {
110
+ for (let o of u) {
57
111
  let f = {};
58
112
  if (l === "skos:notation")
59
- s.object.value && (f["@value"] = s.object.value), s.object.datatypeString && (f["@type"] = { name: s.object.datatypeString, resource: s.object.datatypeString });
113
+ o.object.value && (f["@value"] = o.object.value), o.object.datatypeString && (f["@type"] = {
114
+ name: o.object.datatypeString,
115
+ resource: o.object.datatypeString
116
+ });
60
117
  else {
61
- s.object.termType === "NamedNode" && (f["@id"] = s.object.value);
62
- const d = m.getNestedKeys(n.match(s.object, null, null, null), o);
63
- g(i, f, s.object, n, d, o);
118
+ o.object.termType === "NamedNode" && (f["@id"] = o.object.value);
119
+ const d = m.getNestedKeys(
120
+ s.match(o.object, null, null, null),
121
+ n
122
+ );
123
+ g(
124
+ i,
125
+ f,
126
+ o.object,
127
+ s,
128
+ d,
129
+ n
130
+ );
64
131
  }
65
132
  l === "dct:creator" || l === "vcard:hasAddress" || l === "skos:notation" || l === "spdx:checksum" ? e[l] = f : e[l].push(f);
66
133
  }
@@ -68,7 +135,7 @@ function g(i, e, t, n, a, o) {
68
135
  } else if (l === "dcat:temporalResolution") {
69
136
  if (u.size > 0) {
70
137
  e[l] = {};
71
- const s = ["Y", "M", "D", "H", "M", "S"], f = {
138
+ const o = ["Y", "M", "D", "H", "M", "S"], f = {
72
139
  0: "Year",
73
140
  1: "Month",
74
141
  2: "Day",
@@ -80,8 +147,8 @@ function g(i, e, t, n, a, o) {
80
147
  for (let r of u)
81
148
  d = r.object.value;
82
149
  if (d.startsWith("P"))
83
- for (let r = 0; r < s.length; r += 1) {
84
- const j = d.indexOf(s[r]), h = d.substring(0, j), w = ((v = h == null ? void 0 : h.match(/\d+/g)) == null ? void 0 : v[0]) ?? "";
150
+ for (let r = 0; r < o.length; r += 1) {
151
+ const j = d.indexOf(o[r]), h = d.substring(0, j), w = ((v = h == null ? void 0 : h.match(/\d+/g)) == null ? void 0 : v[0]) ?? "";
85
152
  d = d.substring(j), e[l][f[r]] = w;
86
153
  }
87
154
  else {
@@ -93,78 +160,94 @@ function g(i, e, t, n, a, o) {
93
160
  } else if (l === "dct:identifier") {
94
161
  if (u.size > 0) {
95
162
  e[l] = [];
96
- for (let s of u)
97
- e[l].push({ "@value": s.object.value });
163
+ for (let o of u)
164
+ e[l].push({ "@value": o.object.value });
98
165
  }
99
166
  } else if (l === "dct:rights") {
100
167
  if (u.size > 0) {
101
- let s;
168
+ let o;
102
169
  for (let f of u) {
103
170
  const d = f.object;
104
- s = n.match(d, m.addNamespace("rdfs:label", o), null, null);
105
- for (let r of s)
106
- m.isUrl(r.object.value) ? e[l] = { "@type": "url", "rdfs:value": r.object.value } : e[l] = { "@type": "text", "rdfs:value": r.object.value };
171
+ o = s.match(
172
+ d,
173
+ m.addNamespace("rdfs:label", n),
174
+ null,
175
+ null
176
+ );
177
+ for (let r of o)
178
+ m.isUrl(r.object.value) ? e[l] = { "@type": "url", "rdfs:value": r.object.value } : e[l] = {
179
+ "@type": "text",
180
+ "rdfs:value": r.object.value
181
+ };
107
182
  }
108
183
  }
109
184
  } else if (l === "datasetID" && i !== "datatsets")
110
185
  e[l] = t.substr(t.lastIndexOf("/") + 1), e.hidden_datasetIDFormHidden = t.substr(t.lastIndexOf("/") + 1);
111
186
  else if (l === "dcat:catalog" && i === "datasets") {
112
- u.size > 0 || (u = n.match(t, "dcat:catalog", null, null)), e[l] = "";
113
- for (let s of u)
114
- e[l] = s.object.value;
115
- } else if (l === "rdf:type" && u.size > 0) {
116
- e[l] = "";
117
- for (let s of u)
118
- e[l] = m.removeNamespace(s.object.value, o);
119
- }
187
+ u.size > 0 || (u = s.match(t, "dcat:catalog", null, null)), e[l] = "";
188
+ for (let o of u)
189
+ e[l] = o.object.value;
190
+ } else if (l === "rdf:type") {
191
+ if (u.size > 0) {
192
+ e[l] = "";
193
+ for (let o of u)
194
+ e[l] = m.removeNamespace(
195
+ o.object.value,
196
+ n
197
+ );
198
+ }
199
+ } else
200
+ l === "pv:distributionType" && console.log(e[l]);
120
201
  }
121
202
  }
122
- function N(i, e, t) {
203
+ function p(i, e, t) {
123
204
  if (i.size > 0) {
124
205
  e[t] = "";
125
- for (let n of i)
126
- e[t] = n.object.value;
206
+ for (let s of i)
207
+ e[t] = s.object.value;
127
208
  }
128
209
  }
129
- function S(i, e, t, n) {
130
- const a = n.formatTypes;
210
+ function T(i, e, t, s) {
211
+ const a = s.formatTypes;
131
212
  if (i.size > 0) {
132
213
  e[t] = "";
133
- for (let o of i) {
134
- const c = o.object.value;
214
+ for (let n of i) {
215
+ const c = n.object.value;
135
216
  c.startsWith("mailto:") ? e[t] = c.replace("mailto:", "") : a.URIformat.voc.includes(t) ? e[t] = { name: c, resource: c } : a.URIformat.string.includes(t) ? e[t] = c : e[t] = { "@id": c };
136
217
  }
137
218
  }
138
219
  }
139
- function D(i, e, t, n, a) {
140
- const o = a.formatTypes;
220
+ function N(i, e, t, s, a) {
221
+ const n = a.formatTypes;
141
222
  if (i.size > 0) {
142
223
  e[t] = [];
143
224
  for (let c of i)
144
- o.URIformat.voc.includes(t) ? e[t].push({ name: c.object.value, resource: c.object.value }) : o.URIformat.string.includes(t) ? e[t].push(c.object.value) : e[t].push({ "@id": c.object.value });
225
+ n.URIformat.voc.includes(t) ? e[t].push({ name: c.object.value, resource: c.object.value }) : n.URIformat.string.includes(t) ? e[t].push(c.object.value) : e[t].push({ "@id": c.object.value });
145
226
  }
146
227
  }
147
- function T(i, e, t) {
228
+ function S(i, e, t) {
148
229
  if (i.size > 0) {
149
230
  e[t] = "";
150
- for (let n of i)
231
+ for (let s of i)
151
232
  if (t === "dcat:spatialResolutionInMeters" || t === "dcat:byteSize")
152
- e[t] = n.object.value;
233
+ e[t] = s.object.value;
153
234
  else if (t === "dcat:startDate" || t === "dcat:endDate")
154
- e[t] = n.object.value;
235
+ e[t] = s.object.value;
236
+ else if (t === "pv:distributionType")
237
+ e[t] = s.object.value;
155
238
  else {
156
239
  let a;
157
- n.object.value.includes("T") ? a = "dateTime" : a = "date", e[t] = { "@type": a, "@value": n.object.value };
240
+ s.object.value.includes("T") ? a = "dateTime" : a = "date", e[t] = { "@type": a, "@value": s.object.value };
158
241
  }
159
242
  }
160
243
  }
161
- function p(i, e, t) {
244
+ function D(i, e, t) {
162
245
  if (i.size > 0) {
163
246
  e[t] = [];
164
- for (let n of i)
165
- if (!n.object.language.includes("-")) {
247
+ for (let s of i)
248
+ if (!s.object.language.includes("-")) {
166
249
  const a = {};
167
- a["@value"] = n.object.value, a["@language"] = n.object.language, e[t].push(a);
250
+ a["@value"] = s.object.value, a["@language"] = s.object.language, e[t].push(a);
168
251
  }
169
252
  }
170
253
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inputConverter.mjs","sources":["../../../lib/data-provider-interface/utils/inputConverter.js"],"sourcesContent":["import generalHelper from \"./general-helper\";\nimport { has, isEmpty } from 'lodash';\n\n\n/**\n * Converts given data for given property into input form format\n * @param {*} state state from store\n * @param {*} property Property to convert data for (datasets/catalogues)\n * @param {*} data Linked data within a dataset\n */\nasync function convertToInput(state, property, data, dpiConfig ) {\n\n let generalID;\n let namespaceKeys;\n let propertyQuads;\n\n if (property === 'datasets') {\n propertyQuads = data.match(null, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type', 'http://www.w3.org/ns/dcat#Dataset', null);\n } else {\n propertyQuads = data.match(null, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type', 'http://www.w3.org/ns/dcat#Catalog', null);\n }\n\n // extract data for datasets/catalogues\n namespaceKeys = generalHelper.getPagePrefixedNames(property, dpiConfig.inputDefinition, dpiConfig.pageConent);\n state[property] = {};\n for (let el of propertyQuads) {\n // there should be only one dataset id\n generalID = el.subject.value;\n\n for (let pageName in namespaceKeys[property]) {\n state[property][pageName] = {};\n convertProperties(property, state[property][pageName], generalID, data, namespaceKeys[property][pageName], dpiConfig);\n }\n\n }\n\n // also add distribution data\n if (property === 'datasets') {\n const distributionQuads = data.match(generalID, 'http://www.w3.org/ns/dcat#distribution', null, null);\n namespaceKeys = generalHelper.getPagePrefixedNames('distributions', dpiConfig.inputDefinition, dpiConfig.pageConent);\n state.datasets.Distributions['distributionList'] = [];\n for (let el of distributionQuads) {\n const currentDistribution = {};\n\n const distributionId = el.object.value;\n for (let pageName in namespaceKeys['distributions']) {\n currentDistribution[pageName] = {};\n convertProperties('distributions', currentDistribution[pageName], distributionId, data, namespaceKeys['distributions'][pageName], dpiConfig);\n }\n state.datasets.Distributions.distributionList.push(currentDistribution);\n }\n }\n}\n\n/**\n * Converts value for given property from RDF into input form format\n * @param {*} property Parent property of given value (datasets/distributions/catalogues)\n * @param {*} state State from store\n * @param {*} id Id of parent node which serves as subject\n * @param {*} data Linked data\n * @param {*} propertyKeys Keys of properties to check\n */\nfunction convertProperties(property, state, id, data, propertyKeys, dpiConfig) {\n\n const formatType = dpiConfig.formatTypes;\n\n for (let index = 0; index < propertyKeys.length; index += 1) {\n const key = propertyKeys[index];\n let subData = data.match(id, generalHelper.addNamespace(key, dpiConfig), null, null);\n\n if (formatType.singularString[property].includes(key)) {\n convertSingularStrings(subData, state, key);\n } else if (formatType.singularURI[property].includes(key)) {\n convertSingularURI(subData, state, key, dpiConfig);\n } else if (formatType.multipleURI[property].includes(key)) {\n convertMultipleURI(subData, state, key, property, dpiConfig);\n } else if (formatType.typedStrings[property].includes(key)) {\n convertTypedString(subData, state, key);\n } else if (formatType.multilingualStrings[property].includes(key)) {\n convertMultilingual(subData, state, key);\n } else if (formatType.conditionalProperties[property].includes(key)) {\n // publisher either is an URI or a group with multiple values (name, homepage, email)\n if (key === 'dct:publisher' || key === 'dct:license') {\n for (let el of subData) {\n if (el.object.termType === 'NamedNode') {\n state[key] = {name: el.object.value, resource: el.object.value };\n } else if (el.object.termType === \"BlankNode\") {\n\n // get keys for nested values without dct'title (special format)\n const nestedKeys = generalHelper.getNestedKeys(data.match(el.object, null, null, null), dpiConfig).filter(el => el !== 'dct:title');\n const nestedProperties = {};\n\n // convert nested values\n if (key === 'dct:license') {\n const licenceTitleQuad = data.match(el.object, generalHelper.addNamespace('dct:title', dpiConfig), null, null);\n for (let el of licenceTitleQuad) {\n nestedProperties['dct:title'] = el.object.value;\n }\n }\n\n convertProperties(property, nestedProperties, el.object, data, nestedKeys, dpiConfig);\n state[key] = nestedProperties;\n }\n }\n }\n } else if (formatType.groupedProperties[property].includes(key)) {\n if (subData.size > 0) {\n\n state[key] = [];\n // there could be multiple nodes with data for a property\n for (let el of subData) {\n let currentState = {}\n if (key === 'skos:notation') {\n // skos notation behaves differently\n // there should be a typed literal given which should be seperated into @value and @type\n if (el.object.value) currentState['@value'] = el.object.value;\n if (el.object.datatypeString) currentState['@type'] = { name: el.object.datatypeString, resource: el.object.datatypeString };\n } else {\n // some properties have a named node containing data, the value of this named node also is a value form the input form (typically @id)\n if (el.object.termType === 'NamedNode') currentState['@id'] = el.object.value;\n // get keys of node properties\n const nestedKeys = generalHelper.getNestedKeys(data.match(el.object, null, null, null), dpiConfig);\n convertProperties(property, currentState, el.object, data, nestedKeys, dpiConfig);\n }\n // creator not an array\n if (key === 'dct:creator' || key === 'vcard:hasAddress' || key === 'skos:notation' || key === 'spdx:checksum') state[key] = currentState;\n else state[key].push(currentState);\n }\n }\n } else if (key === 'dcat:temporalResolution') {\n // temporal resolution is displayed as group of input forms for each property (year, month, day, ...)\n // the form provides the data as following: [ { 'Year': '...', 'Month': '...', ... } ]\n // the linked data format of this property looks like this: P?Y?M?DT?H?M?S\n if (subData.size > 0) {\n\n state[key] = {};\n\n const shorts = ['Y', 'M', 'D', 'H', 'M', 'S'];\n const forms = {\n 0: 'Year',\n 1: 'Month',\n 2: 'Day',\n 3: 'Hour',\n 4: 'Minute',\n 5: 'Second',\n };\n\n // should be oly one quad\n let resolutionValue;\n for (let el of subData) {\n resolutionValue = el.object.value;\n }\n\n // backend converts temporalResolution values without a date into seconds for time values\n if (!resolutionValue.startsWith(\"P\")) {\n\n // setting year, month and day to 0\n state[key][forms[0]] = 0;\n state[key][forms[1]] = 0;\n state[key][forms[2]] = 0;\n\n // converting seconds into HH:MM:SS\n const data = new Date(resolutionValue * 1000).toISOString().slice(11, 19);\n state[key][forms[3]] = data.slice(0, 2);\n state[key][forms[4]] = data.slice(3, 5);\n state[key][forms[5]] = data.slice(7, 9);\n\n } else {\n // find index of letter for time period\n // extract substring until this index\n // extract number from string and set as according value for input\n for (let tempIndex = 0; tempIndex < shorts.length; tempIndex += 1) {\n const position = resolutionValue.indexOf(shorts[tempIndex]); // position of duration letter\n const subDuration = resolutionValue.substring(0, position); // substring until position of duration letter\n const value = subDuration?.match(/\\d+/g)?.[0] ?? ''; // extract number\n resolutionValue = resolutionValue.substring(position); // overwrite resolution string with shortened version (missing the extracted part)\n state[key][forms[tempIndex]] = value; // write to result object\n }\n }\n }\n } else if (key === 'dct:identifier') {\n if (subData.size > 0) {\n // identifier should be provided as array of strings\n // [{'@value': '...'}, {'@value': '...'}, ...]\n state[key] = [];\n\n for (let el of subData) {\n state[key].push({ '@value': el.object.value });\n }\n }\n } else if (key === 'dct:rights') {\n // rights is conditional and gets a string\n // rights always includes a type so everything is located within a blank node\n // also rights is a singular property\n if (subData.size > 0) {\n let nodeData;\n // get id of blank node and associated label data\n for (let el of subData) {\n const rightsBlankNode = el.object;\n nodeData = data.match(rightsBlankNode, generalHelper.addNamespace('rdfs:label', dpiConfig), null, null);\n for (let label of nodeData) {\n if (generalHelper.isUrl(label.object.value)) state[key] = { '@type': 'url', 'rdfs:value': label.object.value };\n else state[key] = { '@type': 'text', 'rdfs:value': label.object.value };\n }\n }\n }\n } else if (key === 'datasetID' && property !== 'datatsets') {\n // id is given as complete URI\n // dataset-/catalogue-id is string following the last /\n state[key] = id.substr(id.lastIndexOf('/') + 1);\n state['hidden_datasetIDFormHidden'] = id.substr(id.lastIndexOf('/') + 1);\n } else if (key === 'dcat:catalog' && property === 'datasets') {\n // datasets also have a property called dcat:catalog (not valid DCAT-AP)\n // property is needed to determine catalog the dataset belongs to\n if (!(subData.size > 0)) {\n // bceause dcat:catalog is no valid DCAT-AP it is possible that the prefix is not resolved\n // therefore it is also possible to get the data by using the shortned key\n subData = data.match(id, 'dcat:catalog', null, null);\n }\n\n state[key] = '';\n\n // there should only be one catalog\n for (let cat of subData) {\n state[key] = cat.object.value;\n }\n } else if (key === 'rdf:type') {\n // some properties have a type which can be selected\n // the type also has a namespace and therefore need to be shortened ( e.g. from https://...Individual to vcard:Individual)\n if (subData.size > 0) {\n state[key] = '';\n\n // typically there is only on type provided for each property instance\n for (let el of subData) {\n state[key] = generalHelper.removeNamespace(el.object.value, dpiConfig);\n }\n }\n }\n }\n}\n\n//-----------------------------------------------------------------------------------------------------\n// basic conversion methods for different categories of data\n//-----------------------------------------------------------------------------------------------------\n// seems at first to be unnecessary but if we want to convert nested properties as well, we need these \n// methods (especially to provide the correct parent URI)\n\n/**\n * \n * @param {*} data \n * @param {*} state \n * @param {*} key \n */\nfunction convertSingularStrings(data, state, key) {\n if (data.size > 0) {\n state[key] = '';\n\n for (let el of data) {\n state[key] = el.object.value;\n }\n }\n}\n\n/**\n * \n * @param {*} data \n * @param {*} state \n * @param {*} key \n */\nfunction convertSingularURI(data, state, key, dpiConfig) {\n\n const formatType = dpiConfig.formatTypes;\n\n if (data.size > 0) {\n state[key] = '';\n\n for (let el of data) {\n const value = el.object.value;\n\n if (value.startsWith('mailto:')) {\n state[key] = value.replace('mailto:', '');\n } else {\n if (formatType.URIformat.voc.includes(key)) state[key] = { name: value, resource: value };\n else if (formatType.URIformat.string.includes(key)) state[key] = value;\n else state[key] = { '@id': value };\n }\n }\n }\n}\n\n/**\n * \n * @param {*} data \n * @param {*} state \n * @param {*} key \n */\nfunction convertMultipleURI(data, state, key, property, dpiConfig) {\n // there are two different formats the frontend need to deliver multiple URIs\n // 1: [ \"URI1\", \"URI2\" ]\n // 2: [ { \"@id\": \"URI1\" }, { \"@id\": \"URI2\" } ]\n\n const formatType = dpiConfig.formatTypes;\n\n if (data.size > 0) {\n state[key] = [];\n for (let el of data) {\n if (formatType.URIformat.voc.includes(key)) state[key].push({ name: el.object.value, resource: el.object.value });\n else if (formatType.URIformat.string.includes(key)) state[key].push(el.object.value);\n else state[key].push({ '@id': el.object.value });\n }\n }\n}\n\n/**\n * \n * @param {*} data \n * @param {*} state \n * @param {*} key \n */\nfunction convertTypedString(data, state, key) {\n // some properties have a type\n // normally this type is not used within the forntend form and therefore won't be saved to frontend values\n if (data.size > 0) {\n state[key] = '';\n for (let el of data) {\n if (key === 'dcat:spatialResolutionInMeters' || key === 'dcat:byteSize') state[key] = el.object.value;\n else if (key === 'dcat:startDate' || key === 'dcat:endDate') {\n state[key] = el.object.value;\n }\n else {\n let dateType;\n if (el.object.value.includes('T')) dateType = 'dateTime';\n else dateType = 'date';\n\n state[key] = { '@type': dateType, '@value': el.object.value };\n }\n }\n }\n\n}\n\n/**\n * Converts and writes multilingual data to store\n * @param {*} data DatasetCore containing an array of quads\n * @param {*} state State for current key\n * @param {*} key Name of current property (e.g: 'dct:title')\n */\nfunction convertMultilingual(data, state, key) {\n // multilingual data is always stored within an array containing object with the value and it's language\n // [ {'@value': '...', '@language': '...'}, ...]\n if (data.size > 0) {\n state[key] = [];\n\n for (let el of data) {\n if (!el.object.language.includes(\"-\")) { // machine translation language tags look like this \"fi-t-en-t0-mtec\" and should not be included\n const currentElement = {};\n currentElement['@value'] = el.object.value; // actual value\n currentElement['@language'] = el.object.language; // language of value\n state[key].push(currentElement);\n }\n }\n }\n}\n\nexport default {\n convertToInput,\n};\n"],"names":["convertToInput","state","property","data","dpiConfig","generalID","namespaceKeys","propertyQuads","generalHelper","el","pageName","convertProperties","distributionQuads","currentDistribution","distributionId","id","propertyKeys","formatType","index","key","subData","convertSingularStrings","convertSingularURI","convertMultipleURI","convertTypedString","convertMultilingual","nestedKeys","nestedProperties","licenceTitleQuad","currentState","shorts","forms","resolutionValue","tempIndex","position","subDuration","value","_a","nodeData","rightsBlankNode","label","cat","dateType","currentElement","toInput"],"mappings":"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"}
1
+ {"version":3,"file":"inputConverter.mjs","sources":["../../../lib/data-provider-interface/utils/inputConverter.js"],"sourcesContent":["import generalHelper from \"./general-helper\";\nimport { has, isEmpty } from \"lodash\";\n\n/**\n * Converts given data for given property into input form format\n * @param {*} state state from store\n * @param {*} property Property to convert data for (datasets/catalogues)\n * @param {*} data Linked data within a dataset\n */\nasync function convertToInput(state, property, data, dpiConfig) {\n let generalID;\n let namespaceKeys;\n let propertyQuads;\n\n if (property === \"datasets\") {\n propertyQuads = data.match(\n null,\n \"http://www.w3.org/1999/02/22-rdf-syntax-ns#type\",\n \"http://www.w3.org/ns/dcat#Dataset\",\n null\n );\n } else {\n propertyQuads = data.match(\n null,\n \"http://www.w3.org/1999/02/22-rdf-syntax-ns#type\",\n \"http://www.w3.org/ns/dcat#Catalog\",\n null\n );\n }\n\n // extract data for datasets/catalogues\n namespaceKeys = generalHelper.getPagePrefixedNames(\n property,\n dpiConfig.inputDefinition,\n dpiConfig.pageConent\n );\n state[property] = {};\n for (let el of propertyQuads) {\n // there should be only one dataset id\n generalID = el.subject.value;\n\n for (let pageName in namespaceKeys[property]) {\n state[property][pageName] = {};\n convertProperties(\n property,\n state[property][pageName],\n generalID,\n data,\n namespaceKeys[property][pageName],\n dpiConfig\n );\n }\n }\n\n // also add distribution data\n if (property === \"datasets\") {\n const distributionQuads = data.match(\n generalID,\n \"http://www.w3.org/ns/dcat#distribution\",\n null,\n null\n );\n namespaceKeys = generalHelper.getPagePrefixedNames(\n \"distributions\",\n dpiConfig.inputDefinition,\n dpiConfig.pageConent\n );\n state.datasets.Distributions[\"distributionList\"] = [];\n for (let el of distributionQuads) {\n const currentDistribution = {};\n\n const distributionId = el.object.value;\n for (let pageName in namespaceKeys[\"distributions\"]) {\n currentDistribution[pageName] = {};\n convertProperties(\n \"distributions\",\n currentDistribution[pageName],\n distributionId,\n data,\n namespaceKeys[\"distributions\"][pageName],\n dpiConfig\n );\n }\n state.datasets.Distributions.distributionList.push(currentDistribution);\n }\n }\n}\n\n/**\n * Converts value for given property from RDF into input form format\n * @param {*} property Parent property of given value (datasets/distributions/catalogues)\n * @param {*} state State from store\n * @param {*} id Id of parent node which serves as subject\n * @param {*} data Linked data\n * @param {*} propertyKeys Keys of properties to check\n */\nfunction convertProperties(property, state, id, data, propertyKeys, dpiConfig) {\n const formatType = dpiConfig.formatTypes;\n\n for (let index = 0; index < propertyKeys.length; index += 1) {\n const key = propertyKeys[index];\n let subData = data.match(\n id,\n generalHelper.addNamespace(key, dpiConfig),\n null,\n null\n );\n\n if (formatType.singularString[property].includes(key)) {\n convertSingularStrings(subData, state, key);\n } else if (formatType.singularURI[property].includes(key)) {\n convertSingularURI(subData, state, key, dpiConfig);\n } else if (formatType.multipleURI[property].includes(key)) {\n convertMultipleURI(subData, state, key, property, dpiConfig);\n } else if (formatType.typedStrings[property].includes(key)) {\n convertTypedString(subData, state, key);\n } else if (formatType.multilingualStrings[property].includes(key)) {\n convertMultilingual(subData, state, key);\n } else if (formatType.conditionalProperties[property].includes(key)) {\n // publisher either is an URI or a group with multiple values (name, homepage, email)\n if (key === \"dct:publisher\" || key === \"dct:license\") {\n for (let el of subData) {\n if (el.object.termType === \"NamedNode\") {\n state[key] = { name: el.object.value, resource: el.object.value };\n } else if (el.object.termType === \"BlankNode\") {\n // get keys for nested values without dct'title (special format)\n const nestedKeys = generalHelper\n .getNestedKeys(data.match(el.object, null, null, null), dpiConfig)\n .filter((el) => el !== \"dct:title\");\n const nestedProperties = {};\n\n // convert nested values\n if (key === \"dct:license\") {\n const licenceTitleQuad = data.match(\n el.object,\n generalHelper.addNamespace(\"dct:title\", dpiConfig),\n null,\n null\n );\n for (let el of licenceTitleQuad) {\n nestedProperties[\"dct:title\"] = el.object.value;\n }\n }\n\n convertProperties(\n property,\n nestedProperties,\n el.object,\n data,\n nestedKeys,\n dpiConfig\n );\n state[key] = nestedProperties;\n }\n }\n }\n } else if (formatType.groupedProperties[property].includes(key)) {\n if (subData.size > 0) {\n state[key] = [];\n // there could be multiple nodes with data for a property\n for (let el of subData) {\n let currentState = {};\n if (key === \"skos:notation\") {\n // skos notation behaves differently\n // there should be a typed literal given which should be seperated into @value and @type\n if (el.object.value) currentState[\"@value\"] = el.object.value;\n if (el.object.datatypeString)\n currentState[\"@type\"] = {\n name: el.object.datatypeString,\n resource: el.object.datatypeString,\n };\n } else {\n // some properties have a named node containing data, the value of this named node also is a value form the input form (typically @id)\n if (el.object.termType === \"NamedNode\")\n currentState[\"@id\"] = el.object.value;\n // get keys of node properties\n const nestedKeys = generalHelper.getNestedKeys(\n data.match(el.object, null, null, null),\n dpiConfig\n );\n convertProperties(\n property,\n currentState,\n el.object,\n data,\n nestedKeys,\n dpiConfig\n );\n }\n // creator not an array\n if (\n key === \"dct:creator\" ||\n key === \"vcard:hasAddress\" ||\n key === \"skos:notation\" ||\n key === \"spdx:checksum\"\n )\n state[key] = currentState;\n else state[key].push(currentState);\n }\n }\n } else if (key === \"dcat:temporalResolution\") {\n // temporal resolution is displayed as group of input forms for each property (year, month, day, ...)\n // the form provides the data as following: [ { 'Year': '...', 'Month': '...', ... } ]\n // the linked data format of this property looks like this: P?Y?M?DT?H?M?S\n if (subData.size > 0) {\n state[key] = {};\n\n const shorts = [\"Y\", \"M\", \"D\", \"H\", \"M\", \"S\"];\n const forms = {\n 0: \"Year\",\n 1: \"Month\",\n 2: \"Day\",\n 3: \"Hour\",\n 4: \"Minute\",\n 5: \"Second\",\n };\n\n // should be oly one quad\n let resolutionValue;\n for (let el of subData) {\n resolutionValue = el.object.value;\n }\n\n // backend converts temporalResolution values without a date into seconds for time values\n if (!resolutionValue.startsWith(\"P\")) {\n // setting year, month and day to 0\n state[key][forms[0]] = 0;\n state[key][forms[1]] = 0;\n state[key][forms[2]] = 0;\n\n // converting seconds into HH:MM:SS\n const data = new Date(resolutionValue * 1000)\n .toISOString()\n .slice(11, 19);\n state[key][forms[3]] = data.slice(0, 2);\n state[key][forms[4]] = data.slice(3, 5);\n state[key][forms[5]] = data.slice(7, 9);\n } else {\n // find index of letter for time period\n // extract substring until this index\n // extract number from string and set as according value for input\n for (let tempIndex = 0; tempIndex < shorts.length; tempIndex += 1) {\n const position = resolutionValue.indexOf(shorts[tempIndex]); // position of duration letter\n const subDuration = resolutionValue.substring(0, position); // substring until position of duration letter\n const value = subDuration?.match(/\\d+/g)?.[0] ?? \"\"; // extract number\n resolutionValue = resolutionValue.substring(position); // overwrite resolution string with shortened version (missing the extracted part)\n state[key][forms[tempIndex]] = value; // write to result object\n }\n }\n }\n } else if (key === \"dct:identifier\") {\n if (subData.size > 0) {\n // identifier should be provided as array of strings\n // [{'@value': '...'}, {'@value': '...'}, ...]\n state[key] = [];\n\n for (let el of subData) {\n state[key].push({ \"@value\": el.object.value });\n }\n }\n } else if (key === \"dct:rights\") {\n // rights is conditional and gets a string\n // rights always includes a type so everything is located within a blank node\n // also rights is a singular property\n if (subData.size > 0) {\n let nodeData;\n // get id of blank node and associated label data\n for (let el of subData) {\n const rightsBlankNode = el.object;\n nodeData = data.match(\n rightsBlankNode,\n generalHelper.addNamespace(\"rdfs:label\", dpiConfig),\n null,\n null\n );\n for (let label of nodeData) {\n if (generalHelper.isUrl(label.object.value))\n state[key] = { \"@type\": \"url\", \"rdfs:value\": label.object.value };\n else\n state[key] = {\n \"@type\": \"text\",\n \"rdfs:value\": label.object.value,\n };\n }\n }\n }\n } else if (key === \"datasetID\" && property !== \"datatsets\") {\n // id is given as complete URI\n // dataset-/catalogue-id is string following the last /\n state[key] = id.substr(id.lastIndexOf(\"/\") + 1);\n state[\"hidden_datasetIDFormHidden\"] = id.substr(id.lastIndexOf(\"/\") + 1);\n } else if (key === \"dcat:catalog\" && property === \"datasets\") {\n // datasets also have a property called dcat:catalog (not valid DCAT-AP)\n // property is needed to determine catalog the dataset belongs to\n if (!(subData.size > 0)) {\n // bceause dcat:catalog is no valid DCAT-AP it is possible that the prefix is not resolved\n // therefore it is also possible to get the data by using the shortned key\n subData = data.match(id, \"dcat:catalog\", null, null);\n }\n\n state[key] = \"\";\n\n // there should only be one catalog\n for (let cat of subData) {\n state[key] = cat.object.value;\n }\n } else if (key === \"rdf:type\") {\n // some properties have a type which can be selected\n // the type also has a namespace and therefore need to be shortened ( e.g. from https://...Individual to vcard:Individual)\n if (subData.size > 0) {\n state[key] = \"\";\n\n // typically there is only on type provided for each property instance\n for (let el of subData) {\n state[key] = generalHelper.removeNamespace(\n el.object.value,\n dpiConfig\n );\n }\n }\n } else if (key === \"pv:distributionType\") {\n // Displays the Tag of the Distribution TODO\n console.log(state[key]);\n }\n }\n}\n\n//-----------------------------------------------------------------------------------------------------\n// basic conversion methods for different categories of data\n//-----------------------------------------------------------------------------------------------------\n// seems at first to be unnecessary but if we want to convert nested properties as well, we need these\n// methods (especially to provide the correct parent URI)\n\n/**\n *\n * @param {*} data\n * @param {*} state\n * @param {*} key\n */\nfunction convertSingularStrings(data, state, key) {\n if (data.size > 0) {\n state[key] = \"\";\n\n for (let el of data) {\n state[key] = el.object.value;\n }\n }\n}\n\n/**\n *\n * @param {*} data\n * @param {*} state\n * @param {*} key\n */\nfunction convertSingularURI(data, state, key, dpiConfig) {\n const formatType = dpiConfig.formatTypes;\n\n if (data.size > 0) {\n state[key] = \"\";\n\n for (let el of data) {\n const value = el.object.value;\n\n if (value.startsWith(\"mailto:\")) {\n state[key] = value.replace(\"mailto:\", \"\");\n } else {\n if (formatType.URIformat.voc.includes(key))\n state[key] = { name: value, resource: value };\n else if (formatType.URIformat.string.includes(key)) state[key] = value;\n else state[key] = { \"@id\": value };\n }\n }\n }\n}\n\n/**\n *\n * @param {*} data\n * @param {*} state\n * @param {*} key\n */\nfunction convertMultipleURI(data, state, key, property, dpiConfig) {\n // there are two different formats the frontend need to deliver multiple URIs\n // 1: [ \"URI1\", \"URI2\" ]\n // 2: [ { \"@id\": \"URI1\" }, { \"@id\": \"URI2\" } ]\n\n const formatType = dpiConfig.formatTypes;\n\n if (data.size > 0) {\n state[key] = [];\n for (let el of data) {\n if (formatType.URIformat.voc.includes(key))\n state[key].push({ name: el.object.value, resource: el.object.value });\n else if (formatType.URIformat.string.includes(key))\n state[key].push(el.object.value);\n else state[key].push({ \"@id\": el.object.value });\n }\n }\n}\n\n/**\n *\n * @param {*} data\n * @param {*} state\n * @param {*} key\n */\nfunction convertTypedString(data, state, key) {\n // some properties have a type\n // normally this type is not used within the forntend form and therefore won't be saved to frontend values\n if (data.size > 0) {\n state[key] = \"\";\n for (let el of data) {\n if (key === \"dcat:spatialResolutionInMeters\" || key === \"dcat:byteSize\")\n state[key] = el.object.value;\n else if (key === \"dcat:startDate\" || key === \"dcat:endDate\") {\n state[key] = el.object.value;\n } else if (key === \"pv:distributionType\") {\n state[key] = el.object.value;\n } else {\n let dateType;\n if (el.object.value.includes(\"T\")) dateType = \"dateTime\";\n else dateType = \"date\";\n\n state[key] = { \"@type\": dateType, \"@value\": el.object.value };\n }\n }\n }\n}\n\n/**\n * Converts and writes multilingual data to store\n * @param {*} data DatasetCore containing an array of quads\n * @param {*} state State for current key\n * @param {*} key Name of current property (e.g: 'dct:title')\n */\nfunction convertMultilingual(data, state, key) {\n // multilingual data is always stored within an array containing object with the value and it's language\n // [ {'@value': '...', '@language': '...'}, ...]\n if (data.size > 0) {\n state[key] = [];\n\n for (let el of data) {\n if (!el.object.language.includes(\"-\")) {\n // machine translation language tags look like this \"fi-t-en-t0-mtec\" and should not be included\n const currentElement = {};\n currentElement[\"@value\"] = el.object.value; // actual value\n currentElement[\"@language\"] = el.object.language; // language of value\n state[key].push(currentElement);\n }\n }\n }\n}\n\nexport default {\n convertToInput,\n};\n"],"names":["convertToInput","state","property","data","dpiConfig","generalID","namespaceKeys","propertyQuads","generalHelper","el","pageName","convertProperties","distributionQuads","currentDistribution","distributionId","id","propertyKeys","formatType","index","key","subData","convertSingularStrings","convertSingularURI","convertMultipleURI","convertTypedString","convertMultilingual","nestedKeys","nestedProperties","licenceTitleQuad","currentState","shorts","forms","resolutionValue","tempIndex","position","subDuration","value","_a","nodeData","rightsBlankNode","label","cat","dateType","currentElement","toInput"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { defineComponent as U, markRaw as W, computed as j, resolveComponent as v, openBlock as o, createElementBlock as r, createElementVNode as p, createVNode as T, withModifiers as q, withCtx as D, Fragment as V, renderList as $, normalizeClass as B, toDisplayString as f, createTextVNode as n, createCommentVNode as u, createBlock as P } from "vue";
1
+ import { defineComponent as U, markRaw as W, computed as j, resolveComponent as v, openBlock as o, createElementBlock as r, createElementVNode as p, toDisplayString as m, createTextVNode as a, createVNode as T, withModifiers as q, withCtx as D, Fragment as V, renderList as $, normalizeClass as B, createCommentVNode as u, createBlock as P } from "vue";
2
2
  import { mapGetters as F, mapActions as w } from "vuex";
3
3
  import K from "jquery";
4
4
  import R from "./PropertyChooser.vue.mjs";
@@ -111,7 +111,7 @@ const ee = U({
111
111
  },
112
112
  initInputPage() {
113
113
  const e = this.getSchema(this.property).value, t = Object.keys(e).find(
114
- (s) => e[s].map((a) => a.name).includes("dct:issued") || e[s].map((a) => a.name).includes("dct:modified")
114
+ (s) => e[s].map((n) => n.name).includes("dct:issued") || e[s].map((n) => n.name).includes("dct:modified")
115
115
  );
116
116
  this.$formkit.setLocale("de"), localStorage.getItem("dpi_editmode") === "true" && t != null && e[t].forEach(
117
117
  (s) => {
@@ -123,9 +123,9 @@ const ee = U({
123
123
  K('[data-toggle="tooltip"]').tooltip({
124
124
  container: "body"
125
125
  }), setTimeout(() => {
126
- document.querySelectorAll(".formkitProperty h4").forEach((a, m) => {
127
- a.parentElement.parentElement.classList.contains("formkitWrapRepeatable") || (m != 0 && m != 1 && m != 2 && m != 3 && a.nextElementSibling.classList.toggle("d-none"), a.addEventListener("click", () => {
128
- a.classList.toggle("dpiChevUp"), a.nextElementSibling.classList.toggle("d-none");
126
+ document.querySelectorAll(".formkitProperty h4").forEach((n, c) => {
127
+ n.parentElement.parentElement.classList.contains("formkitWrapRepeatable") || (c != 0 && c != 1 && c != 2 && c != 3 && n.nextElementSibling.classList.toggle("d-none"), n.addEventListener("click", () => {
128
+ n.classList.toggle("dpiChevUp"), n.nextElementSibling.classList.toggle("d-none");
129
129
  }));
130
130
  }), document.querySelectorAll(".formkitProperty");
131
131
  });
@@ -174,24 +174,24 @@ const ee = U({
174
174
  steps: t,
175
175
  activeStep: d,
176
176
  visitedSteps: s,
177
- previousStep: a,
178
- nextStep: m,
177
+ previousStep: n,
178
+ nextStep: c,
179
179
  stepPlugin: S,
180
180
  goToNextStep: y,
181
181
  goToPreviousStep: I
182
182
  } = J(), { t: k, te: b } = x(), { translateSchema: i, createSchema: l, getSchema: h } = Y({ t: k, te: b }), C = () => {
183
- let { x: c, y: O } = Q({ behavior: "smooth" });
183
+ let { x: f, y: O } = Q({ behavior: "smooth" });
184
184
  O.value = 0;
185
- }, L = (c) => (t[c].errorCount > 0 || t[c].blockingCount > 0) && s.value.includes(c), A = W({ OverviewPage: H }), M = j(() => {
186
- var c;
187
- return !!((c = e.value.edit) != null && c.enabled);
185
+ }, L = (f) => (t[f].errorCount > 0 || t[f].blockingCount > 0) && s.value.includes(f), A = W({ OverviewPage: H }), M = j(() => {
186
+ var f;
187
+ return !!((f = e.value.edit) != null && f.enabled);
188
188
  });
189
189
  return {
190
190
  steps: t,
191
191
  visitedSteps: s,
192
192
  activeStep: d,
193
- previousStep: a,
194
- nextStep: m,
193
+ previousStep: n,
194
+ nextStep: c,
195
195
  stepPlugin: S,
196
196
  checkStepValidity: L,
197
197
  goToNextStep: y,
@@ -221,11 +221,13 @@ const ee = U({
221
221
  key: 4,
222
222
  class: "p-1"
223
223
  };
224
- function ye(e, t, d, s, a, m) {
224
+ function ye(e, t, d, s, n, c) {
225
225
  const S = v("FormKitSchema"), y = v("DistributionInputPage"), I = v("InputPageStep"), k = v("Navigation"), b = v("FormKit");
226
226
  return o(), r("div", te, [
227
227
  e.isInput ? (o(), r("div", ie, [
228
228
  p("div", se, [
229
+ p("details", null, m(e.formValues), 1),
230
+ t[17] || (t[17] = a()),
229
231
  T(b, {
230
232
  type: "form",
231
233
  modelValue: e.formValues,
@@ -252,58 +254,58 @@ function ye(e, t, d, s, a, m) {
252
254
  }
253
255
  }, [
254
256
  p("div", ne, [
255
- p("div", le, f(h + 1), 1),
256
- t[5] || (t[5] = n()),
257
+ p("div", le, m(h + 1), 1),
258
+ t[5] || (t[5] = a()),
257
259
  e.checkStepValidity(l) ? (o(), r("span", {
258
260
  key: 0,
259
261
  class: "step--errors",
260
- textContent: f(i.errorCount + i.blockingCount)
262
+ textContent: m(i.errorCount + i.blockingCount)
261
263
  }, null, 8, pe)) : u("", !0),
262
- n(f(e.$t("message.dataupload.steps." + l + "Step")), 1)
264
+ a(m(e.$t("message.dataupload.steps." + l + "Step")), 1)
263
265
  ]),
264
- t[6] || (t[6] = n()),
266
+ t[6] || (t[6] = a()),
265
267
  h != Object.keys(e.steps).length ? (o(), r("div", de)) : u("", !0)
266
268
  ], 10, ae))), 128)),
267
- t[8] || (t[8] = n()),
269
+ t[8] || (t[8] = a()),
268
270
  e.activeStep === "Overview" ? (o(), r("li", ue, t[7] || (t[7] = [
269
271
  p("div", { class: "circle stepCircle" }, null, -1)
270
272
  ]))) : u("", !0)
271
273
  ]),
272
- t[15] || (t[15] = n()),
274
+ t[15] || (t[15] = a()),
273
275
  p("div", me, [
274
276
  (o(!0), r(V, null, $(e.getNavSteps(e.$env.content.dataProviderInterface.specification)[e.property], (i, l) => (o(), r("div", { key: l }, [
275
277
  T(I, { name: i }, {
276
278
  default: D(() => [
277
279
  i !== "Distributions" && i !== "Overview" ? (o(), r("div", ce, [
278
- p("h1", fe, f(e.$t("message.dataupload.steps." + i)), 1),
279
- t[9] || (t[9] = n()),
280
+ p("h1", fe, m(e.$t("message.dataupload.steps." + i)), 1),
281
+ t[9] || (t[9] = a()),
280
282
  p("a", {
281
283
  class: "standardButtonDPI",
282
284
  onClick: t[0] || (t[0] = (h) => {
283
285
  e.dropdownCLick(), e.expandall = !e.expandall;
284
286
  })
285
287
  }, [
286
- e.expandall ? (o(), r("span", he, f(e.$t("message.dataupload.info.expand")), 1)) : (o(), r("span", ve, f(e.$t("message.dataupload.info.hide")), 1))
288
+ e.expandall ? (o(), r("span", he, m(e.$t("message.dataupload.info.expand")), 1)) : (o(), r("span", ve, m(e.$t("message.dataupload.info.hide")), 1))
287
289
  ])
288
290
  ])) : u("", !0),
289
- t[11] || (t[11] = n()),
291
+ t[11] || (t[11] = a()),
290
292
  i !== "Distributions" ? (o(), r("hr", ge)) : u("", !0),
291
- t[12] || (t[12] = n()),
293
+ t[12] || (t[12] = a()),
292
294
  i !== "Distributions" ? (o(), P(S, {
293
295
  key: 2,
294
296
  schema: e.getSchema(e.property).value[i],
295
297
  library: e.library
296
298
  }, null, 8, ["schema", "library"])) : u("", !0),
297
- t[13] || (t[13] = n()),
299
+ t[13] || (t[13] = a()),
298
300
  i === "Distributions" ? (o(), P(y, {
299
301
  key: 3,
300
302
  schema: e.getSchema("distributions").value,
301
303
  values: e.formValues
302
304
  }, null, 8, ["schema", "values"])) : u("", !0),
303
- t[14] || (t[14] = n()),
305
+ t[14] || (t[14] = a()),
304
306
  i === "Mandatory" ? (o(), r("p", Se, [
305
307
  t[10] || (t[10] = p("b", null, "*", -1)),
306
- n(" " + f(e.$t("message.dataupload.info.mandatory")), 1)
308
+ a(" " + m(e.$t("message.dataupload.info.mandatory")), 1)
307
309
  ])) : u("", !0)
308
310
  ]),
309
311
  _: 2
@@ -311,7 +313,7 @@ function ye(e, t, d, s, a, m) {
311
313
  ]))), 128))
312
314
  ])
313
315
  ]),
314
- t[16] || (t[16] = n()),
316
+ t[16] || (t[16] = a()),
315
317
  T(k, {
316
318
  steps: e.steps,
317
319
  nextStep: e.nextStep,