@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.
- package/dist/data-provider-interface/components/FileUpload.vue.mjs +3 -5
- package/dist/data-provider-interface/components/FileUpload.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/WidgetInput.vue.d.ts +7 -0
- package/dist/data-provider-interface/components/WidgetInput.vue.mjs +73 -0
- package/dist/data-provider-interface/components/WidgetInput.vue.mjs.map +1 -0
- package/dist/data-provider-interface/components/WidgetInput.vue2.mjs +5 -0
- package/dist/data-provider-interface/components/WidgetInput.vue2.mjs.map +1 -0
- package/dist/data-provider-interface/config/dcatapde_BFS/format-types.mjs +276 -0
- package/dist/data-provider-interface/config/dcatapde_BFS/format-types.mjs.map +1 -0
- package/dist/data-provider-interface/config/dcatapde_BFS/input-definition.d.ts +18 -0
- package/dist/data-provider-interface/config/dcatapde_BFS/input-definition.mjs +2146 -0
- package/dist/data-provider-interface/config/dcatapde_BFS/input-definition.mjs.map +1 -0
- package/dist/data-provider-interface/config/dcatapde_BFS/page-content-config.mjs +24 -0
- package/dist/data-provider-interface/config/dcatapde_BFS/page-content-config.mjs.map +1 -0
- package/dist/data-provider-interface/config/dcatapde_BFS/prefixes.mjs +28 -0
- package/dist/data-provider-interface/config/dcatapde_BFS/prefixes.mjs.map +1 -0
- package/dist/data-provider-interface/config/dcatapde_BFS/vocab-prefixes.mjs +34 -0
- package/dist/data-provider-interface/config/dcatapde_BFS/vocab-prefixes.mjs.map +1 -0
- package/dist/data-provider-interface/config/dpi-spec-config.mjs +23 -11
- package/dist/data-provider-interface/config/dpi-spec-config.mjs.map +1 -1
- package/dist/data-provider-interface/store/modules/conversionStore.mjs.map +1 -1
- package/dist/data-provider-interface/utils/RDFconverter.mjs +340 -173
- package/dist/data-provider-interface/utils/RDFconverter.mjs.map +1 -1
- package/dist/data-provider-interface/utils/general-helper.mjs +19 -10
- package/dist/data-provider-interface/utils/general-helper.mjs.map +1 -1
- package/dist/data-provider-interface/utils/inputConverter.mjs +148 -65
- package/dist/data-provider-interface/utils/inputConverter.mjs.map +1 -1
- package/dist/data-provider-interface/views/InputPage.vue.mjs +32 -30
- package/dist/data-provider-interface/views/InputPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/Properties/StringProp.vue.mjs.map +1 -1
- package/dist/datasetDetails/properties/DatasetDetailsProperty.vue.mjs +8 -8
- package/dist/datasetDetails/properties/DatasetDetailsProperty.vue.mjs.map +1 -1
- package/dist/form/inputDefinitions.mjs +21 -16
- package/dist/form/inputDefinitions.mjs.map +1 -1
- package/dist/piveau-hub-ui-modules.css +1 -1
- 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,
|
|
4
|
-
let a,
|
|
5
|
-
e === "datasets" ? c = t.match(
|
|
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
|
|
9
|
-
i[e][b] = {}, g(
|
|
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(
|
|
13
|
-
|
|
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
|
|
17
|
-
l[
|
|
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,
|
|
59
|
+
function g(i, e, t, s, a, n) {
|
|
23
60
|
var v;
|
|
24
|
-
const c =
|
|
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 =
|
|
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
|
-
|
|
71
|
+
p(u, e, l);
|
|
30
72
|
else if (c.singularURI[i].includes(l))
|
|
31
|
-
|
|
73
|
+
T(u, e, l, n);
|
|
32
74
|
else if (c.multipleURI[i].includes(l))
|
|
33
|
-
|
|
75
|
+
N(u, e, l, i, n);
|
|
34
76
|
else if (c.typedStrings[i].includes(l))
|
|
35
|
-
|
|
77
|
+
S(u, e, l);
|
|
36
78
|
else if (c.multilingualStrings[i].includes(l))
|
|
37
|
-
|
|
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
|
|
41
|
-
if (
|
|
42
|
-
e[l] = { name:
|
|
43
|
-
else if (
|
|
44
|
-
const f = m.getNestedKeys(
|
|
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 =
|
|
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(
|
|
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
|
|
110
|
+
for (let o of u) {
|
|
57
111
|
let f = {};
|
|
58
112
|
if (l === "skos:notation")
|
|
59
|
-
|
|
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
|
-
|
|
62
|
-
const d = m.getNestedKeys(
|
|
63
|
-
|
|
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
|
|
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 <
|
|
84
|
-
const j = d.indexOf(
|
|
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
|
|
97
|
-
e[l].push({ "@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
|
|
168
|
+
let o;
|
|
102
169
|
for (let f of u) {
|
|
103
170
|
const d = f.object;
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
m.
|
|
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 =
|
|
113
|
-
for (let
|
|
114
|
-
e[l] =
|
|
115
|
-
} else if (l === "rdf:type"
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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
|
|
203
|
+
function p(i, e, t) {
|
|
123
204
|
if (i.size > 0) {
|
|
124
205
|
e[t] = "";
|
|
125
|
-
for (let
|
|
126
|
-
e[t] =
|
|
206
|
+
for (let s of i)
|
|
207
|
+
e[t] = s.object.value;
|
|
127
208
|
}
|
|
128
209
|
}
|
|
129
|
-
function
|
|
130
|
-
const a =
|
|
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
|
|
134
|
-
const c =
|
|
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
|
|
140
|
-
const
|
|
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
|
-
|
|
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
|
|
228
|
+
function S(i, e, t) {
|
|
148
229
|
if (i.size > 0) {
|
|
149
230
|
e[t] = "";
|
|
150
|
-
for (let
|
|
231
|
+
for (let s of i)
|
|
151
232
|
if (t === "dcat:spatialResolutionInMeters" || t === "dcat:byteSize")
|
|
152
|
-
e[t] =
|
|
233
|
+
e[t] = s.object.value;
|
|
153
234
|
else if (t === "dcat:startDate" || t === "dcat:endDate")
|
|
154
|
-
e[t] =
|
|
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
|
-
|
|
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
|
|
244
|
+
function D(i, e, t) {
|
|
162
245
|
if (i.size > 0) {
|
|
163
246
|
e[t] = [];
|
|
164
|
-
for (let
|
|
165
|
-
if (!
|
|
247
|
+
for (let s of i)
|
|
248
|
+
if (!s.object.language.includes("-")) {
|
|
166
249
|
const a = {};
|
|
167
|
-
a["@value"] =
|
|
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,
|
|
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((
|
|
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((
|
|
127
|
-
|
|
128
|
-
|
|
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:
|
|
178
|
-
nextStep:
|
|
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:
|
|
183
|
+
let { x: f, y: O } = Q({ behavior: "smooth" });
|
|
184
184
|
O.value = 0;
|
|
185
|
-
}, L = (
|
|
186
|
-
var
|
|
187
|
-
return !!((
|
|
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:
|
|
194
|
-
nextStep:
|
|
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,
|
|
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,
|
|
256
|
-
t[5] || (t[5] =
|
|
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:
|
|
262
|
+
textContent: m(i.errorCount + i.blockingCount)
|
|
261
263
|
}, null, 8, pe)) : u("", !0),
|
|
262
|
-
|
|
264
|
+
a(m(e.$t("message.dataupload.steps." + l + "Step")), 1)
|
|
263
265
|
]),
|
|
264
|
-
t[6] || (t[6] =
|
|
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] =
|
|
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] =
|
|
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,
|
|
279
|
-
t[9] || (t[9] =
|
|
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,
|
|
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] =
|
|
291
|
+
t[11] || (t[11] = a()),
|
|
290
292
|
i !== "Distributions" ? (o(), r("hr", ge)) : u("", !0),
|
|
291
|
-
t[12] || (t[12] =
|
|
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] =
|
|
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] =
|
|
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
|
-
|
|
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] =
|
|
316
|
+
t[16] || (t[16] = a()),
|
|
315
317
|
T(k, {
|
|
316
318
|
steps: e.steps,
|
|
317
319
|
nextStep: e.nextStep,
|