@piveau/dpi 0.2.0-alpha.13 → 0.2.0-alpha.15
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/assets/dpi.css +1 -1
- package/dist/packages/dpi/src/data-provider-interface/DataProviderInterface.vue2.js +48 -47
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/AboutProject.vue.js +46 -48
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/DPIHome.vue.js +48 -31
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/HomeTable.vue.js +101 -79
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ProjectTable.vue.js +4 -94
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ProjectTable.vue2.js +128 -0
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/services/dpiV3_apis.js +36 -68
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Autocomplete/AutocompleteVocab.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Autocomplete/AutocompleteVocab.vue2.js +64 -52
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectDescriptionStep.vue.js +14 -14
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectNameStep.vue.js +9 -6
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue2.js +26 -27
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectStatusStep.vue.js +8 -8
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataCollection/BasicInformationStep.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataCollection/BasicInformationStep.vue2.js +19 -19
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataProcessing/BasicInformationStep.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataProcessing/BasicInformationStep.vue2.js +38 -39
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataSimulation/BasicInformationStep.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataSimulation/BasicInformationStep.vue2.js +72 -67
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataVisualisation/BasicInformationStep.vue.js +1 -1
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataVisualisation/BasicInformationStep.vue2.js +84 -97
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DpiModalBase.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DpiModalBase.vue2.js +1 -1
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Dropdown.vue.js +103 -88
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/ApplicationsStep.vue.js +1 -1
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/ApplicationsStep.vue2.js +18 -17
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/CategoriesStep.vue.js +1 -1
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/CategoriesStep.vue2.js +35 -28
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/DiscoverabilityStep.vue.js +11 -10
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/InputField/InputFieldDefinition.js +4 -3
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/InputField/InputFieldFormKit.vue.js +46 -40
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/InputField.vue.js +144 -134
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/OptionalDataStep/OptionalDataStep.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/OptionalDataStep/OptionalDataStep.vue2.js +190 -156
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/DatasetForm.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/DatasetForm.vue2.js +44 -38
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/DatasetStep.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/DatasetStep.vue2.js +73 -71
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/GetResource.vue.js +4 -4
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareForm.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareForm.vue2.js +128 -123
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareStep.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareStep.vue2.js +133 -131
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/SoftwareForm.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/SoftwareForm.vue2.js +50 -45
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/SoftwareStep.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/SoftwareStep.vue2.js +85 -83
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/utils.js +17 -17
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ReviewStep/ReviewStep.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ReviewStep/ReviewStep.vue2.js +341 -341
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/SectionItems/CoverageModal.vue.js +38 -71
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/SectionItems/CoverageModal.vue2.js +4 -0
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/TableRowV3.vue.js +205 -143
- package/dist/packages/dpi/src/data-provider-interface/components/Spatial.vue.js +7 -0
- package/dist/packages/dpi/src/data-provider-interface/components/Spatial.vue2.js +172 -0
- package/dist/packages/dpi/src/data-provider-interface/components/SpatialPage.vue.js +7 -0
- package/dist/packages/dpi/src/data-provider-interface/components/SpatialPage.vue2.js +44 -0
- package/dist/packages/dpi/src/data-provider-interface/components/StepActionsSection.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/components/StepActionsSection.vue2.js +111 -91
- package/dist/packages/dpi/src/data-provider-interface/components/TheCancelConfirmationDialog.vue.js +3 -3
- package/dist/packages/dpi/src/data-provider-interface/components/TheCancelConfirmationDialog.vue2.js +24 -19
- package/dist/packages/dpi/src/data-provider-interface/components/TheErrorDialog.vue.js +57 -46
- package/dist/packages/dpi/src/data-provider-interface/components/dev-tools/ProjectDpiDevTools.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/components/dev-tools/ProjectDpiDevTools.vue2.js +137 -94
- package/dist/packages/dpi/src/data-provider-interface/composables/project-transformer/decodeProject.js +152 -135
- package/dist/packages/dpi/src/data-provider-interface/composables/project-transformer/encodeProject.js +202 -167
- package/dist/packages/dpi/src/data-provider-interface/composables/useDpiContext.js +9 -10
- package/dist/packages/dpi/src/data-provider-interface/composables/useDpiEditMode.js +89 -65
- package/dist/packages/dpi/src/data-provider-interface/composables/useDpiSimpleLoader.js +287 -281
- package/dist/packages/dpi/src/data-provider-interface/composables/useDpiStepper.js +82 -82
- package/dist/packages/dpi/src/data-provider-interface/composables/useDpiUtils.js +18 -9
- package/dist/packages/dpi/src/data-provider-interface/composables/useProjectActions.js +95 -0
- package/dist/packages/dpi/src/data-provider-interface/composables/useTwinbyHome.js +83 -0
- package/dist/packages/dpi/src/data-provider-interface/composables/useTwinbyUser.js +85 -0
- package/dist/packages/dpi/src/data-provider-interface/config/dcatapdeHappyFlow/converter.js +19 -19
- package/dist/packages/dpi/src/data-provider-interface/schema/projectLdSchema.js +48 -45
- package/dist/packages/dpi/src/data-provider-interface/views/InputPage.vue.js +333 -308
- package/dist/packages/dpi/src/data-provider-interface/views/InputPageProject.vue.js +405 -409
- package/dist/packages/dpi/src/form/inputDefinitions.js +52 -53
- package/dist/packages/dpi/src/stories/components/PartnerCard.vue.js +2 -2
- package/dist/packages/dpi/src/stories/components/PartnerCard.vue2.js +14 -14
- package/dist/packages/dpi/src/stories/components/ScreenshotCard.vue.js +2 -2
- package/dist/packages/dpi/src/stories/components/ScreenshotCard.vue2.js +9 -8
- package/dist/packages/dpi/src/utils/schema/schemaProject.js +210 -0
- package/dist/packages/dpi/src/utils/schema/shared.js +23 -0
- package/package.json +5 -5
- package/dist/packages/dpi/src/data-provider-interface/components/PolGeoUriPage.vue.js +0 -124
- package/dist/packages/dpi/src/data-provider-interface/composables/project-transformer/__tests__/fixtures/theProjectForm.js +0 -281
|
@@ -1,271 +1,306 @@
|
|
|
1
1
|
import { pipe as s } from "effect";
|
|
2
2
|
import * as n from "effect/Option";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import { PREFIXES as Q } from "./shared.js";
|
|
4
|
+
function H(e) {
|
|
5
|
+
return e.replace(/[^a-z0-9\s]/gi, "").replace(/\s+/g, "-").toLowerCase();
|
|
6
|
+
}
|
|
7
|
+
function Z(e, r) {
|
|
6
8
|
if (e)
|
|
7
9
|
return {
|
|
8
10
|
"@value": e,
|
|
9
|
-
"@type":
|
|
11
|
+
"@type": r
|
|
10
12
|
};
|
|
11
13
|
}
|
|
12
|
-
function
|
|
14
|
+
function T(e, r) {
|
|
15
|
+
const t = (e ?? "https://twin.bydata.de/api/hub/repo").trim(), i = t.endsWith("/") ? t : `${t}/`, a = r.trim().replace(/^\/+/, "");
|
|
16
|
+
try {
|
|
17
|
+
return new URL(a, i).toString();
|
|
18
|
+
} catch {
|
|
19
|
+
return `${i}${a}`;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function Y(e) {
|
|
13
23
|
return (e ?? []).map((t) => {
|
|
14
|
-
var
|
|
15
|
-
return { name: (
|
|
24
|
+
var i, a;
|
|
25
|
+
return { name: (i = t.name) == null ? void 0 : i.trim(), url: (a = t.url) == null ? void 0 : a.trim() };
|
|
16
26
|
}).filter((t) => !!t.name && t.name.length > 0).map((t) => ({
|
|
17
27
|
"foaf:name": t.name,
|
|
18
28
|
...t.url && t.url.length > 0 ? { "foaf:homepage": t.url } : {}
|
|
19
29
|
}));
|
|
20
30
|
}
|
|
21
|
-
function
|
|
22
|
-
return e ? [{ "@value": e, "@language":
|
|
31
|
+
function J(e, r) {
|
|
32
|
+
return e ? [{ "@value": e, "@language": r }] : void 0;
|
|
23
33
|
}
|
|
24
|
-
function
|
|
25
|
-
return (
|
|
34
|
+
function ee(e) {
|
|
35
|
+
return (r) => J(r, e);
|
|
26
36
|
}
|
|
27
|
-
function
|
|
37
|
+
function W(e) {
|
|
28
38
|
if (e)
|
|
29
39
|
return {
|
|
30
40
|
"@id": e
|
|
31
41
|
};
|
|
32
42
|
}
|
|
33
|
-
function
|
|
43
|
+
function P(e) {
|
|
34
44
|
return e != null;
|
|
35
45
|
}
|
|
36
|
-
function
|
|
46
|
+
function ne(e, r = "http://www.w3.org/2001/XMLSchema#string") {
|
|
37
47
|
return s(
|
|
38
48
|
n.fromNullable(e),
|
|
39
49
|
n.map((t) => t.trim()),
|
|
40
50
|
n.filter((t) => t.length > 0),
|
|
41
|
-
n.flatMap((t) => n.fromNullable(
|
|
51
|
+
n.flatMap((t) => n.fromNullable(Z(t, r)))
|
|
42
52
|
);
|
|
43
53
|
}
|
|
44
|
-
const
|
|
54
|
+
const X = (e) => (e ?? "").trim(), F = (e) => e.length > 0;
|
|
45
55
|
function m(e) {
|
|
46
56
|
return s(
|
|
47
57
|
n.fromNullable(e ?? void 0),
|
|
48
|
-
n.map(
|
|
49
|
-
n.filter(
|
|
58
|
+
n.map(X),
|
|
59
|
+
n.filter(F)
|
|
50
60
|
);
|
|
51
61
|
}
|
|
52
|
-
function
|
|
62
|
+
function te(e) {
|
|
53
63
|
return s(
|
|
54
64
|
n.fromNullable(e),
|
|
55
|
-
n.map((
|
|
56
|
-
n.filter((
|
|
57
|
-
n.map((
|
|
65
|
+
n.map((r) => r.map(X).filter(F)),
|
|
66
|
+
n.filter((r) => r.length > 0),
|
|
67
|
+
n.map((r) => [...r])
|
|
58
68
|
);
|
|
59
69
|
}
|
|
60
|
-
function
|
|
70
|
+
function C(e) {
|
|
61
71
|
return s(
|
|
62
72
|
n.fromNullable(e),
|
|
63
|
-
n.map((
|
|
64
|
-
n.filter((
|
|
65
|
-
n.map((
|
|
73
|
+
n.map((r) => r.map((t) => W(t)).filter(P)),
|
|
74
|
+
n.filter((r) => r.length > 0),
|
|
75
|
+
n.map((r) => [...r])
|
|
66
76
|
);
|
|
67
77
|
}
|
|
68
|
-
function
|
|
78
|
+
function $(e, r) {
|
|
69
79
|
return s(
|
|
70
80
|
m(e),
|
|
71
|
-
n.flatMap((t) => n.fromNullable(
|
|
81
|
+
n.flatMap((t) => n.fromNullable(r(t)))
|
|
72
82
|
);
|
|
73
83
|
}
|
|
74
|
-
function
|
|
75
|
-
return
|
|
84
|
+
function re(e) {
|
|
85
|
+
return A(e).flatMap((r) => [...r]);
|
|
76
86
|
}
|
|
77
|
-
function
|
|
87
|
+
function q(e, r, t) {
|
|
78
88
|
return s(
|
|
79
89
|
n.fromNullable(e),
|
|
80
|
-
n.map((
|
|
81
|
-
n.filter((
|
|
82
|
-
n.map((
|
|
83
|
-
n.filter((
|
|
84
|
-
n.map((
|
|
90
|
+
n.map((i) => i.map(r).filter(P)),
|
|
91
|
+
n.filter((i) => i.length > 0),
|
|
92
|
+
n.map((i) => z(i, t)),
|
|
93
|
+
n.filter((i) => i.length > 0),
|
|
94
|
+
n.map((i) => [...i])
|
|
85
95
|
);
|
|
86
96
|
}
|
|
87
|
-
function
|
|
97
|
+
function M(e) {
|
|
88
98
|
if (e == null || typeof e != "object")
|
|
89
99
|
return e;
|
|
90
100
|
if (Array.isArray(e))
|
|
91
|
-
return e.map((
|
|
92
|
-
const
|
|
93
|
-
for (const [t,
|
|
94
|
-
if (
|
|
101
|
+
return e.map((i) => M(i)).filter((i) => i != null);
|
|
102
|
+
const r = {};
|
|
103
|
+
for (const [t, i] of Object.entries(e)) {
|
|
104
|
+
if (i == null)
|
|
95
105
|
continue;
|
|
96
|
-
const
|
|
97
|
-
|
|
106
|
+
const a = M(i);
|
|
107
|
+
a != null && (r[t] = a);
|
|
98
108
|
}
|
|
99
|
-
return
|
|
109
|
+
return r;
|
|
100
110
|
}
|
|
101
|
-
function
|
|
102
|
-
return e.map(n.getOrUndefined).filter(
|
|
111
|
+
function A(e) {
|
|
112
|
+
return e.map(n.getOrUndefined).filter(P);
|
|
103
113
|
}
|
|
104
|
-
function
|
|
105
|
-
const
|
|
106
|
-
return
|
|
114
|
+
function f(e) {
|
|
115
|
+
const r = e ? [...e] : [];
|
|
116
|
+
return r.length > 0 ? r : void 0;
|
|
107
117
|
}
|
|
108
|
-
function
|
|
109
|
-
const t = e ?? {},
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
118
|
+
function ie(e, r) {
|
|
119
|
+
const t = e ?? {}, i = [];
|
|
120
|
+
let a = 1;
|
|
121
|
+
for (const [c, o] of Object.entries(r)) {
|
|
122
|
+
const p = s(
|
|
123
|
+
n.fromNullable(t[c]),
|
|
113
124
|
n.map((u) => u.trim()),
|
|
114
125
|
n.filter((u) => u.length > 0),
|
|
115
126
|
n.map((u) => ({
|
|
116
127
|
"@type": "schema:Question",
|
|
117
|
-
"schema:text":
|
|
118
|
-
"schema:acceptedAnswer": u
|
|
128
|
+
"schema:text": o,
|
|
129
|
+
"schema:acceptedAnswer": u,
|
|
130
|
+
"schema:position": { "@value": String(a++), "@type": "http://www.w3.org/2001/XMLSchema#integer" }
|
|
119
131
|
})),
|
|
120
132
|
n.getOrUndefined
|
|
121
133
|
);
|
|
122
|
-
|
|
134
|
+
p && i.push(p);
|
|
123
135
|
}
|
|
124
|
-
return
|
|
136
|
+
return i;
|
|
125
137
|
}
|
|
126
|
-
function D(e,
|
|
127
|
-
const
|
|
128
|
-
return
|
|
138
|
+
function D(e, r, t, i) {
|
|
139
|
+
const a = ie(e, t);
|
|
140
|
+
return a.length === 0 ? n.none() : n.some({
|
|
129
141
|
"@type": "schema:QAPage",
|
|
130
|
-
"dct:
|
|
131
|
-
"
|
|
142
|
+
"dct:identifier": "__TODO__",
|
|
143
|
+
"dct:type": r,
|
|
144
|
+
"schema:question": a,
|
|
145
|
+
"p-plan:isPrecededBy": null,
|
|
146
|
+
"schema:position": { "@value": String(i), "@type": "http://www.w3.org/2001/XMLSchema#integer" }
|
|
132
147
|
});
|
|
133
148
|
}
|
|
134
|
-
function
|
|
149
|
+
function ae(e) {
|
|
135
150
|
return (e ?? []).map((t) => {
|
|
136
|
-
var
|
|
137
|
-
return { name: (
|
|
151
|
+
var i, a;
|
|
152
|
+
return { name: (i = t.name) == null ? void 0 : i.trim(), description: (a = t.description) == null ? void 0 : a.trim() };
|
|
138
153
|
}).filter((t) => !!t.name && t.name.length > 0 && !!t.description && t.description.length > 0).map((t) => ({
|
|
139
154
|
"@type": "prov:used",
|
|
140
155
|
"dct:title": t.name,
|
|
141
156
|
"dct:description": t.description
|
|
142
157
|
}));
|
|
143
158
|
}
|
|
144
|
-
function
|
|
145
|
-
return (e ?? []).map((
|
|
159
|
+
function z(e, r) {
|
|
160
|
+
return (e ?? []).map((i) => ({
|
|
146
161
|
"@type": "rdfs:Resource",
|
|
147
|
-
"dct:type":
|
|
148
|
-
"schema:url":
|
|
149
|
-
"dct:title":
|
|
162
|
+
"dct:type": r,
|
|
163
|
+
"schema:url": i.url,
|
|
164
|
+
"dct:title": s(
|
|
165
|
+
n.fromNullable(i.name),
|
|
166
|
+
n.map((a) => a.trim()),
|
|
167
|
+
n.filter((a) => a.length > 0),
|
|
168
|
+
n.getOrElse(() => r)
|
|
169
|
+
),
|
|
150
170
|
"dct:description": s(
|
|
151
|
-
n.fromNullable(
|
|
152
|
-
n.map((
|
|
153
|
-
n.filter((
|
|
171
|
+
n.fromNullable(i.description),
|
|
172
|
+
n.map((a) => a.trim()),
|
|
173
|
+
n.filter((a) => a.length > 0),
|
|
154
174
|
n.getOrUndefined
|
|
155
175
|
)
|
|
156
176
|
}));
|
|
157
177
|
}
|
|
158
|
-
function
|
|
159
|
-
return (e ?? []).map((
|
|
160
|
-
"@type": "
|
|
161
|
-
"dct:identifier":
|
|
162
|
-
"schema:featureList":
|
|
178
|
+
function oe(e, r) {
|
|
179
|
+
return (e ?? []).map((i) => ({
|
|
180
|
+
"@type": "schema:SoftwareApplication",
|
|
181
|
+
"dct:identifier": T(r.baseRepoUrl, i.id),
|
|
182
|
+
"schema:featureList": f((i.functionalities ?? []).map((a) => a == null ? void 0 : a.trim()).filter((a) => !!a && a.length > 0))
|
|
163
183
|
}));
|
|
164
184
|
}
|
|
165
|
-
function
|
|
166
|
-
return (e ?? []).map((
|
|
185
|
+
function se(e, r) {
|
|
186
|
+
return (e ?? []).map((i) => ({
|
|
167
187
|
"@type": "dcat:Dataset",
|
|
168
|
-
"dct:identifier":
|
|
188
|
+
"dct:identifier": T(r.baseRepoUrl, i.id)
|
|
169
189
|
}));
|
|
170
190
|
}
|
|
171
|
-
function
|
|
172
|
-
return (e ?? []).map((
|
|
173
|
-
var
|
|
191
|
+
function le(e, r, t) {
|
|
192
|
+
return (e ?? []).map((a) => {
|
|
193
|
+
var c;
|
|
174
194
|
return {
|
|
175
|
-
"@type": "ssn:
|
|
176
|
-
"dct:identifier":
|
|
195
|
+
"@type": "ssn:System",
|
|
196
|
+
"dct:identifier": T(t.baseRepoUrl, a.id),
|
|
177
197
|
"dct:description": s(
|
|
178
|
-
n.fromNullable(
|
|
179
|
-
n.map((
|
|
180
|
-
n.filter((
|
|
181
|
-
n.flatMap((
|
|
198
|
+
n.fromNullable(a.description),
|
|
199
|
+
n.map((o) => o.trim()),
|
|
200
|
+
n.filter((o) => o.length > 0),
|
|
201
|
+
n.flatMap((o) => n.fromNullable(r(o))),
|
|
182
202
|
n.getOrUndefined
|
|
183
203
|
),
|
|
184
|
-
"ssn:deployedSystem":
|
|
185
|
-
"ssn:forProperty":
|
|
186
|
-
"sosa:hasLocation":
|
|
204
|
+
"ssn:deployedSystem": W(a.id),
|
|
205
|
+
"ssn:forProperty": f((a.forProperty ?? []).map((o) => o == null ? void 0 : o.trim()).filter((o) => !!o && o.length > 0)),
|
|
206
|
+
"sosa:hasLocation": f((a.locations ?? []).map((o) => ({
|
|
187
207
|
"@type": "dct:Location",
|
|
188
|
-
"geo:lat":
|
|
189
|
-
"geo:long":
|
|
208
|
+
"geo:lat": o.lat,
|
|
209
|
+
"geo:long": o.lng
|
|
190
210
|
}))),
|
|
191
|
-
"foaf:depiction":
|
|
211
|
+
"foaf:depiction": f((a.depictions ?? []).map((o) => W(o)).filter(P)),
|
|
192
212
|
// Corresponds to functionalities of hardware;
|
|
193
213
|
// not to be confused with functionalities of software (schema:featureList)
|
|
194
|
-
"ssn-system:hasSystemCapability":
|
|
195
|
-
"dct:references":
|
|
196
|
-
name:
|
|
197
|
-
url:
|
|
198
|
-
description:
|
|
199
|
-
})).filter((
|
|
214
|
+
"ssn-system:hasSystemCapability": f((a.functionalities ?? []).map((o) => o == null ? void 0 : o.trim()).filter((o) => !!o && o.length > 0)),
|
|
215
|
+
"dct:references": f(z((c = a.references) == null ? void 0 : c.map((o) => ({
|
|
216
|
+
name: o.name ?? "",
|
|
217
|
+
url: o.url ?? "",
|
|
218
|
+
description: o.description
|
|
219
|
+
})).filter((o) => o.url.length > 0 && ((o == null ? void 0 : o.name) || "").length > 0), "documentation"))
|
|
200
220
|
};
|
|
201
221
|
});
|
|
202
222
|
}
|
|
203
|
-
function
|
|
204
|
-
var
|
|
205
|
-
const { prefixKey:
|
|
223
|
+
function U(e) {
|
|
224
|
+
var w, y, O;
|
|
225
|
+
const { prefixKey: r, activityLabel: t, input: i, toLanged: a, context: c } = e, o = `${r}/Grundlegende Informationen`, p = `${r}/Software`, u = `${r}/Datensätze`, x = `${r}/Hardware`, d = i[o], N = d == null ? void 0 : d.description, j = s(
|
|
206
226
|
n.fromNullable(N),
|
|
207
|
-
n.map((
|
|
208
|
-
n.filter((
|
|
227
|
+
n.map((h) => h.trim()),
|
|
228
|
+
n.filter((h) => h.length > 0),
|
|
209
229
|
n.getOrUndefined
|
|
210
|
-
),
|
|
211
|
-
...
|
|
212
|
-
...
|
|
213
|
-
...
|
|
230
|
+
), I = d == null ? void 0 : d.methods, L = d == null ? void 0 : d.links, _ = (w = i[p]) == null ? void 0 : w.selected, v = (y = i[u]) == null ? void 0 : y.selected, S = (O = i[x]) == null ? void 0 : O.selected, b = [
|
|
231
|
+
...oe(_, c),
|
|
232
|
+
...se(v, c),
|
|
233
|
+
...le(S, a, c)
|
|
214
234
|
], k = {
|
|
215
235
|
"@type": "p-plan:Step",
|
|
216
236
|
"dct:identifier": "__TODO__",
|
|
217
237
|
"p-plan:Activity": t,
|
|
218
|
-
"dct:description":
|
|
219
|
-
"
|
|
220
|
-
"
|
|
221
|
-
"
|
|
238
|
+
"dct:description": a(j ?? "__EMPTY__"),
|
|
239
|
+
"p-plan:isPrecededBy": null,
|
|
240
|
+
"prov:used": f(ae(I)),
|
|
241
|
+
"dct:references": f(z(L, "documentation")),
|
|
242
|
+
"p-plan:hasInputVar": b.length > 0 ? b : void 0
|
|
222
243
|
};
|
|
223
244
|
return n.some(k);
|
|
224
245
|
}
|
|
225
|
-
function
|
|
226
|
-
var v,
|
|
246
|
+
function ue(e, r = {}) {
|
|
247
|
+
var v, S, b, k, w, y, O, h, R, E, K, B, G, V;
|
|
227
248
|
const t = {
|
|
228
|
-
"@type": "schema:Project"
|
|
229
|
-
},
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
n.
|
|
233
|
-
"@type": "schema:MonetaryAmount",
|
|
234
|
-
"schema:currency": "EUR",
|
|
235
|
-
"schema:value": l
|
|
236
|
-
})),
|
|
249
|
+
"@type": ["schema:Project", "https://piveau.eu/ns/voc#CustomResource"]
|
|
250
|
+
}, i = (r == null ? void 0 : r.language) ?? "de", a = s(
|
|
251
|
+
m((v = e["Grundlegende Informationen/Name"]) == null ? void 0 : v.projectName),
|
|
252
|
+
n.map((l) => H(l)),
|
|
253
|
+
n.filter((l) => l.length > 0),
|
|
237
254
|
n.getOrUndefined
|
|
238
|
-
),
|
|
239
|
-
|
|
240
|
-
|
|
255
|
+
), c = s(
|
|
256
|
+
n.fromNullable(r == null ? void 0 : r.identifier),
|
|
257
|
+
n.map((l) => l.trim()),
|
|
258
|
+
n.filter((l) => l.length > 0),
|
|
259
|
+
n.getOrElse(() => a ?? "__TODO__")
|
|
260
|
+
), o = ee(i);
|
|
261
|
+
t["dct:title"] = s($((S = e["Grundlegende Informationen/Name"]) == null ? void 0 : S.projectName, o), n.getOrThrow), t["dct:description"] = s($((b = e["Grundlegende Informationen/Beschreibung"]) == null ? void 0 : b.projectDescription, o), n.getOrThrow), t["dct:identifier"] = [c], t["dcat:theme"] = s(C((k = e["Auffindbarkeit/Kategorien"]) == null ? void 0 : k.categories), n.getOrThrow), t["schema:application"] = s(C((w = e["Auffindbarkeit/Anwendungsbereiche"]) == null ? void 0 : w.applications), n.getOrThrow), t["schema:status"] = s(m((y = e["Grundlegende Informationen/Projektstatus"]) == null ? void 0 : y.projectName), n.getOrThrow), t["schema:amount"] = s(
|
|
262
|
+
ne((O = e["Optionale Daten"]) == null ? void 0 : O.budget, "http://www.w3.org/2001/XMLSchema#integer"),
|
|
263
|
+
n.map((l) => {
|
|
264
|
+
var g;
|
|
265
|
+
return {
|
|
266
|
+
"@type": "schema:MonetaryAmount",
|
|
267
|
+
"schema:currency": "EUR",
|
|
268
|
+
"schema:value": l,
|
|
269
|
+
"schema:description": s(m((g = e["Optionale Daten"]) == null ? void 0 : g.budgetDescription), n.getOrUndefined)
|
|
270
|
+
};
|
|
271
|
+
}),
|
|
272
|
+
n.getOrUndefined
|
|
273
|
+
), t["schema:skills"] = s(te((h = e["Optionale Daten"]) == null ? void 0 : h.requiredExpertise), n.getOrUndefined), t["schema:startDate"] = s(m((R = e["Optionale Daten"]) == null ? void 0 : R.startDate), n.getOrUndefined), t["schema:endDate"] = s(m((E = e["Optionale Daten"]) == null ? void 0 : E.endDate), n.getOrUndefined);
|
|
274
|
+
const p = [
|
|
275
|
+
q(
|
|
241
276
|
(K = e["Optionale Daten"]) == null ? void 0 : K.links,
|
|
242
277
|
(l) => {
|
|
243
|
-
const
|
|
244
|
-
if (
|
|
278
|
+
const g = s(m(l.url), n.getOrUndefined);
|
|
279
|
+
if (g)
|
|
245
280
|
return {
|
|
246
|
-
url:
|
|
281
|
+
url: g,
|
|
247
282
|
name: s(m(l.name), n.getOrUndefined),
|
|
248
283
|
description: s(m(l.description), n.getOrUndefined)
|
|
249
284
|
};
|
|
250
285
|
},
|
|
251
286
|
"documentation"
|
|
252
287
|
),
|
|
253
|
-
|
|
254
|
-
(
|
|
288
|
+
q(
|
|
289
|
+
(B = e["Optionale Daten"]) == null ? void 0 : B.references,
|
|
255
290
|
(l) => {
|
|
256
|
-
const
|
|
257
|
-
if (
|
|
291
|
+
const g = s(m(l.homepage), n.getOrUndefined);
|
|
292
|
+
if (g)
|
|
258
293
|
return {
|
|
259
|
-
url:
|
|
294
|
+
url: g,
|
|
260
295
|
name: void 0,
|
|
261
296
|
description: void 0
|
|
262
297
|
};
|
|
263
298
|
},
|
|
264
299
|
"image"
|
|
265
300
|
)
|
|
266
|
-
],
|
|
267
|
-
t["dct:references"] =
|
|
268
|
-
n.fromNullable((
|
|
301
|
+
], u = re(p);
|
|
302
|
+
t["dct:references"] = u.length > 0 ? u : void 0, t["dcat:contactPoint"] = s(
|
|
303
|
+
n.fromNullable((G = e["Grundlegende Informationen/Organisation"]) == null ? void 0 : G.contact),
|
|
269
304
|
n.map((l) => ({
|
|
270
305
|
"@type": "vcard:Kind",
|
|
271
306
|
"vcard:fn": l.name,
|
|
@@ -275,56 +310,56 @@ function ae(e, i) {
|
|
|
275
310
|
n.map((l) => [l]),
|
|
276
311
|
n.getOrUndefined
|
|
277
312
|
), t["dct:contributor"] = s(
|
|
278
|
-
n.fromNullable((
|
|
279
|
-
n.map((l) =>
|
|
313
|
+
n.fromNullable((V = e["Optionale Daten"]) == null ? void 0 : V.partners),
|
|
314
|
+
n.map((l) => Y(l)),
|
|
280
315
|
n.filter((l) => l.length > 0),
|
|
281
316
|
n.getOrUndefined
|
|
282
317
|
);
|
|
283
|
-
const
|
|
318
|
+
const x = {
|
|
284
319
|
projectTriggers: "Was waren Ausloeser fuer das Projekt (z. B. rechtliche oder politische Vorgaben, intrinsische Motivation oder inspirierende Projekte aus anderen Kommunen)?",
|
|
285
320
|
involvedStakeholders: "Welche relevanten Akteure innerhalb oder ausserhalb Ihrer Organisation haben Sie fruehzeitig involviert (z. B. um politische Rueckendeckung sicherzustellen)?",
|
|
286
321
|
dataCollectionMethod: "Wie haben Sie den Bestand vorhandener Daten erhoben?",
|
|
287
322
|
budgetPlanning: "Wie haben Sie das erste Budget berechnet und nachhaltig gesichert?"
|
|
288
|
-
},
|
|
323
|
+
}, d = {
|
|
289
324
|
requirementsGatherings: "Wie haben Sie die Anforderungen erhoben und dokumentiert (z. B. durch Markterkundung, externe Berater oder Workshops)?",
|
|
290
325
|
tenderFormat: "Welche Ausschreibungsform haben Sie gewaehlt und warum? Gab es eine Vorlage oder Muster-Leistungsbeschreibung, die hilfreich war?",
|
|
291
326
|
tenderTips: "Welche Tipps haben Sie fuer eine erfolgreiche Ausschreibung?",
|
|
292
327
|
resourcePlanning: "Wie haben Sie die Ressourcenplanung fuer die Entwicklung und den Betrieb Ihres Digitalen Zwillings gestaltet und gesichert?"
|
|
293
|
-
},
|
|
328
|
+
}, N = {
|
|
294
329
|
projectTriggers: "Wie haben Sie die Zusammenarbeit mit den Dienstleistern organisiert und wie wurden relevante Stakeholder in Entscheidungsprozesse eingebunden?",
|
|
295
330
|
involvedStakeholders: "Gab es Verzoegerungen und wenn ja, was waren die Gruende?",
|
|
296
331
|
dataCollectionMethod: "Welche Schnittstellen wurden genutzt und traten technische Herausforderungen auf?",
|
|
297
332
|
budgetPlanning: "Welche Ueberlegungen sind in Ihre Entscheidung fuer eine Open-Source-Loesung eingeflossen und welche Erfahrungen haben Sie gemacht?"
|
|
298
|
-
},
|
|
333
|
+
}, j = {
|
|
299
334
|
projectTriggers: "Was sind Ihre wichtigsten Learnings aus dem Projekt? Was wuerden Sie beim naechsten Use Case anders machen?",
|
|
300
335
|
involvedStakeholders: "Wird die Wirksamkeit Ihres Projekts ueberwacht und wenn ja, wie? Ist der erwartete Nutzen eingetreten?",
|
|
301
336
|
dataCollectionMethod: "Gibt es Plaene fuer eine Skalierung oder Weiterentwicklung? Wenn ja, wie sichern Sie die Finanzierung dafuer?",
|
|
302
337
|
budgetPlanning: "Welche externen Unterstuetzungsangebote haben Ihnen geholfen oder auch gefehlt?"
|
|
303
|
-
},
|
|
304
|
-
D(e["Projektphasen (optional)/Initiieren"], "Initiieren",
|
|
305
|
-
D(e["Projektphasen (optional)/Planen"], "Planen",
|
|
306
|
-
D(e["Projektphasen (optional)/Umsetzen"], "Umsetzen",
|
|
307
|
-
D(e["Projektphasen (optional)/Weiterdenken"], "Weiterdenken",
|
|
338
|
+
}, I = A([
|
|
339
|
+
D(e["Projektphasen (optional)/Initiieren"], "Initiieren", x, 1),
|
|
340
|
+
D(e["Projektphasen (optional)/Planen"], "Planen", d, 2),
|
|
341
|
+
D(e["Projektphasen (optional)/Umsetzen"], "Umsetzen", N, 3),
|
|
342
|
+
D(e["Projektphasen (optional)/Weiterdenken"], "Weiterdenken", j, 4)
|
|
308
343
|
]);
|
|
309
|
-
t["schema:hasPart"] =
|
|
310
|
-
const
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
344
|
+
t["schema:hasPart"] = f(I);
|
|
345
|
+
const L = A([
|
|
346
|
+
U({ prefixKey: "1. Datenerfassung", activityLabel: "Datenerfassung", input: e, toLanged: o, context: r }),
|
|
347
|
+
U({ prefixKey: "2. Datenverarbeitung", activityLabel: "Datenverarbeitung", input: e, toLanged: o, context: r }),
|
|
348
|
+
U({ prefixKey: "3. Datensimulation", activityLabel: "Datensimulation", input: e, toLanged: o, context: r }),
|
|
349
|
+
U({ prefixKey: "4. Datenvisualisierung", activityLabel: "Datenvisualisierung", input: e, toLanged: o, context: r })
|
|
315
350
|
]);
|
|
316
|
-
return t["p-plan:hasStep"] =
|
|
351
|
+
return t["p-plan:hasStep"] = f(L), {
|
|
317
352
|
"@context": {
|
|
318
|
-
...
|
|
353
|
+
...Q
|
|
319
354
|
},
|
|
320
|
-
"@graph":
|
|
355
|
+
"@graph": M(t)
|
|
321
356
|
};
|
|
322
357
|
}
|
|
323
|
-
console.log(JSON.stringify(ae(C), null, 2));
|
|
324
358
|
export {
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
H as
|
|
328
|
-
|
|
329
|
-
|
|
359
|
+
ue as encodeProject,
|
|
360
|
+
P as isNonNullable,
|
|
361
|
+
H as slugify,
|
|
362
|
+
J as toLangedValue,
|
|
363
|
+
W as toNodeReference,
|
|
364
|
+
Z as toTypedValue
|
|
330
365
|
};
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import "
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const t = p(o);
|
|
1
|
+
import { provide as o, computed as n, toValue as i, inject as p } from "vue";
|
|
2
|
+
const e = Symbol("dpiContext");
|
|
3
|
+
function u() {
|
|
4
|
+
const t = p(e);
|
|
6
5
|
return t || !1;
|
|
7
6
|
}
|
|
8
|
-
function
|
|
9
|
-
e
|
|
7
|
+
function c(t) {
|
|
8
|
+
o(e, n(() => i(t)));
|
|
10
9
|
}
|
|
11
10
|
export {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
e as dpiContextKey,
|
|
12
|
+
c as setupDpiContext,
|
|
13
|
+
u as useDpiContext
|
|
15
14
|
};
|