@piveau/dpi 0.2.0-alpha.42 → 0.2.0-alpha.43
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/HappyFlowComponents/ui/DataVisualisation/BasicInformationStep.vue.js +3 -3
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataVisualisation/BasicInformationStep.vue2.js +92 -89
- package/dist/packages/dpi/src/data-provider-interface/composables/project-transformer/decodeProject.js +74 -74
- package/dist/packages/dpi/src/data-provider-interface/views/InputPageProject.vue.js +22 -21
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import a from "./BasicInformationStep.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import
|
|
4
|
-
const s = /* @__PURE__ */
|
|
3
|
+
import o from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const s = /* @__PURE__ */ o(a, [["__scopeId", "data-v-19b02a79"]]);
|
|
5
5
|
export {
|
|
6
6
|
s as default
|
|
7
7
|
};
|
|
@@ -1,43 +1,45 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as M, mergeModels as A, ref as f, computed as S, useModel as D, inject as H, createElementBlock as _, openBlock as l, createElementVNode as t, createBlock as u, createCommentVNode as d, createVNode as s, createTextVNode as z, unref as i, isRef as N, withCtx as r, Fragment as O, renderList as q } from "vue";
|
|
2
2
|
import { FormKit as k } from "@formkit/vue";
|
|
3
|
-
import { PhLightbulb as
|
|
4
|
-
import
|
|
5
|
-
import { empty as
|
|
6
|
-
import
|
|
7
|
-
import { dpiStepperKey as
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import { useProcessStepResources as
|
|
11
|
-
import
|
|
12
|
-
const
|
|
3
|
+
import { PhLightbulb as K, PhExclamationMark as W } from "@phosphor-icons/vue";
|
|
4
|
+
import $ from "../../../../stories/components/LinkCard.vue.js";
|
|
5
|
+
import { empty as B, generateIsRequiredMsg as j } from "../../../../utils/twinbyUtils.js";
|
|
6
|
+
import U from "../../../components/StepActionsSection.vue.js";
|
|
7
|
+
import { dpiStepperKey as Z } from "../../../utils/injectionKeys.js";
|
|
8
|
+
import c from "../ButtonV3.vue.js";
|
|
9
|
+
import L from "../Card.vue.js";
|
|
10
|
+
import { useProcessStepResources as T, ensureHasOneResource as G } from "../ProcessSteps/utils.js";
|
|
11
|
+
import J from "../TextArea/TextAreaDefinition.js";
|
|
12
|
+
const Q = { class: "dpiV3_page V3-typography" }, X = { class: "funny-section" }, Y = { class: "funny-section" }, ee = {
|
|
13
13
|
id: "partners-section",
|
|
14
14
|
class: "funny-section"
|
|
15
|
-
},
|
|
15
|
+
}, te = { class: "partner-cards-container" }, ne = { class: "action-container" }, ie = { class: "step-actions__prev-and-next" }, re = { class: "actions" }, se = 1e3, fe = /* @__PURE__ */ M({
|
|
16
16
|
__name: "BasicInformationStep",
|
|
17
|
-
props: {
|
|
17
|
+
props: /* @__PURE__ */ A({
|
|
18
|
+
edit: { type: Boolean }
|
|
19
|
+
}, {
|
|
18
20
|
modelValue: {},
|
|
19
21
|
modelModifiers: {}
|
|
20
|
-
},
|
|
22
|
+
}),
|
|
21
23
|
emits: ["update:modelValue"],
|
|
22
|
-
setup(
|
|
23
|
-
const
|
|
24
|
+
setup(C) {
|
|
25
|
+
const P = C, m = f(""), p = f([]);
|
|
24
26
|
f([]);
|
|
25
|
-
const
|
|
27
|
+
const R = f(!1), E = S(() => {
|
|
26
28
|
var o;
|
|
27
|
-
return ((o =
|
|
29
|
+
return ((o = m.value) == null ? void 0 : o.length) || 0;
|
|
28
30
|
});
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
const o = !
|
|
31
|
+
D(C, "modelValue");
|
|
32
|
+
const F = H(Z), x = S(() => {
|
|
33
|
+
const o = !B(m.value), e = Array.isArray(p.value) && p.value.length > 0;
|
|
32
34
|
return o || e;
|
|
33
35
|
});
|
|
34
|
-
function
|
|
35
|
-
var n,
|
|
36
|
+
function I(o) {
|
|
37
|
+
var n, a;
|
|
36
38
|
const e = o.at("$parent");
|
|
37
|
-
return !e || e.type !== "group" ? !0 : Array.isArray((n = e.value) == null ? void 0 : n.links) && ((
|
|
39
|
+
return !e || e.type !== "group" ? !0 : Array.isArray((n = e.value) == null ? void 0 : n.links) && ((a = e.value) == null ? void 0 : a.links).length > 0 ? !B(o.value) : !0;
|
|
38
40
|
}
|
|
39
|
-
const { globalResourceCount: b } =
|
|
40
|
-
return (o, e) => (
|
|
41
|
+
const { globalResourceCount: b } = T("4. Datenvisualisierung", !1);
|
|
42
|
+
return (o, e) => (l(), _("div", Q, [
|
|
41
43
|
e[9] || (e[9] = t("section", { class: "funny-section" }, [
|
|
42
44
|
t("div", { class: "funny-flex" }, [
|
|
43
45
|
t("h4", null, "Beschreiben Sie den Prozessschritt zur Datenvisualisierung"),
|
|
@@ -48,86 +50,87 @@ const G = { class: "dpiV3_page V3-typography" }, J = { class: "funny-section" },
|
|
|
48
50
|
])
|
|
49
51
|
])
|
|
50
52
|
], -1)),
|
|
51
|
-
|
|
53
|
+
P.edit ? d("", !0) : (l(), u(i(k), {
|
|
54
|
+
key: 0,
|
|
52
55
|
modelValue: i(b),
|
|
53
|
-
"onUpdate:modelValue": e[0] || (e[0] = (n) =>
|
|
56
|
+
"onUpdate:modelValue": e[0] || (e[0] = (n) => N(b) ? b.value = n : null),
|
|
54
57
|
type: "hidden",
|
|
55
58
|
name: "__resourceCountGlobal",
|
|
56
59
|
hidden: "",
|
|
57
60
|
"aria-hidden": "",
|
|
58
|
-
"validation-rules": { ensureHasOneResource: i(
|
|
61
|
+
"validation-rules": { ensureHasOneResource: i(G) },
|
|
59
62
|
validation: "+ensureHasOneResource",
|
|
60
63
|
"validation-visibility": "live",
|
|
61
64
|
"validation-messages": { ensureHasOneResource: "Pro Projekt muss mindestens ein technischer Prozessschritt beschrieben werden." }
|
|
62
|
-
}, null, 8, ["modelValue", "validation-rules"]),
|
|
63
|
-
t("section",
|
|
64
|
-
|
|
65
|
+
}, null, 8, ["modelValue", "validation-rules"])),
|
|
66
|
+
t("section", X, [
|
|
67
|
+
s(i(k), {
|
|
65
68
|
id: "Beschreibung",
|
|
66
|
-
modelValue:
|
|
67
|
-
"onUpdate:modelValue": e[1] || (e[1] = (n) =>
|
|
69
|
+
modelValue: m.value,
|
|
70
|
+
"onUpdate:modelValue": e[1] || (e[1] = (n) => m.value = n),
|
|
68
71
|
class: "budgetArea",
|
|
69
72
|
label: "Beschreibung",
|
|
70
|
-
type: i(
|
|
73
|
+
type: i(J),
|
|
71
74
|
name: "description",
|
|
72
75
|
"text-label": "Beschreibung",
|
|
73
76
|
placeholder: "Beschreiben Sie kurz Ihr Vorgehen, Ziel und Ergebnis des Prozessschritts.",
|
|
74
77
|
validation: "+requireIfLink|length:0,1000",
|
|
75
78
|
"validation-visibility": "live",
|
|
76
79
|
hint: "true",
|
|
77
|
-
help: `${
|
|
80
|
+
help: `${E.value} von ${se} Zeichen`,
|
|
78
81
|
"count-hint": !0,
|
|
79
82
|
"validation-rules": {
|
|
80
|
-
requireIfLink:
|
|
83
|
+
requireIfLink: I
|
|
81
84
|
},
|
|
82
85
|
"validation-messages": {
|
|
83
|
-
requireIfLink: i(
|
|
86
|
+
requireIfLink: i(j)("Beschreibung")
|
|
84
87
|
}
|
|
85
88
|
}, null, 8, ["modelValue", "type", "help", "validation-rules", "validation-messages"])
|
|
86
89
|
]),
|
|
87
|
-
t("section",
|
|
88
|
-
|
|
89
|
-
icon:
|
|
90
|
-
|
|
90
|
+
t("section", Y, [
|
|
91
|
+
s(L, { variant: "default" }, {
|
|
92
|
+
icon: r(() => [
|
|
93
|
+
s(i(K), {
|
|
91
94
|
size: 32,
|
|
92
95
|
color: "#009FE3"
|
|
93
96
|
})
|
|
94
97
|
]),
|
|
95
|
-
title:
|
|
98
|
+
title: r(() => e[3] || (e[3] = [
|
|
96
99
|
z(" Beispiel ", -1)
|
|
97
100
|
])),
|
|
98
|
-
default:
|
|
101
|
+
default: r(() => [
|
|
99
102
|
e[4] || (e[4] = t("p", null, " Die Simulationsergebnisse und aktuellen Messdaten werden in einer interaktiven Kartenanwendung dargestellt. Zusätzlich werden visuelle Warnhinweise sowie zeitbasierte Entwicklungen übersichtlich präsentiert, um die Kommunikation mit Einsatzkräften und Bürgern zu unterstützen. ", -1))
|
|
100
103
|
]),
|
|
101
104
|
_: 1,
|
|
102
105
|
__: [4]
|
|
103
106
|
})
|
|
104
107
|
]),
|
|
105
|
-
t("section",
|
|
108
|
+
t("section", ee, [
|
|
106
109
|
e[5] || (e[5] = t("h5", null, " Weiterführende Links (optional) ", -1)),
|
|
107
110
|
e[6] || (e[6] = t("span", { class: "copy-large-regular further-links-text" }, "Fügen Sie hier Links zu Dokumenten hinzu, die weitere Informationen zur Vorgehensweise in diesem Prozessschritt enthalten, wie etwa einzuhaltende Richtlinien oder Standardarbeitsanweisungen.", -1)),
|
|
108
|
-
t("div",
|
|
109
|
-
|
|
110
|
-
modelValue:
|
|
111
|
-
"onUpdate:modelValue": e[2] || (e[2] = (n) =>
|
|
111
|
+
t("div", te, [
|
|
112
|
+
s(i(k), {
|
|
113
|
+
modelValue: p.value,
|
|
114
|
+
"onUpdate:modelValue": e[2] || (e[2] = (n) => p.value = n),
|
|
112
115
|
type: "list",
|
|
113
116
|
name: "links",
|
|
114
117
|
dynamic: ""
|
|
115
118
|
}, {
|
|
116
|
-
default:
|
|
117
|
-
(
|
|
118
|
-
key:
|
|
119
|
+
default: r(({ items: n, node: a, value: v }) => [
|
|
120
|
+
(l(!0), _(O, null, q(n, (h, g) => (l(), u(i(k), {
|
|
121
|
+
key: h,
|
|
119
122
|
type: "group",
|
|
120
|
-
index:
|
|
123
|
+
index: g
|
|
121
124
|
}, {
|
|
122
|
-
default:
|
|
123
|
-
|
|
124
|
-
action:
|
|
125
|
-
|
|
125
|
+
default: r(() => [
|
|
126
|
+
s($, null, {
|
|
127
|
+
action: r(() => [
|
|
128
|
+
s(c, {
|
|
126
129
|
"button-text": "Löschen",
|
|
127
130
|
size: "small",
|
|
128
131
|
variant: "tertiary",
|
|
129
132
|
"icon-start": "trash",
|
|
130
|
-
onClick: () =>
|
|
133
|
+
onClick: () => a.input(v.filter((V, y) => y !== g))
|
|
131
134
|
}, null, 8, ["onClick"])
|
|
132
135
|
]),
|
|
133
136
|
_: 2
|
|
@@ -135,13 +138,13 @@ const G = { class: "dpiV3_page V3-typography" }, J = { class: "funny-section" },
|
|
|
135
138
|
]),
|
|
136
139
|
_: 2
|
|
137
140
|
}, 1032, ["index"]))), 128)),
|
|
138
|
-
t("div",
|
|
139
|
-
|
|
141
|
+
t("div", ne, [
|
|
142
|
+
s(c, {
|
|
140
143
|
"button-text": "Link hinzufügen",
|
|
141
144
|
size: "medium",
|
|
142
145
|
variant: "tertiary",
|
|
143
146
|
"icon-start": "plus",
|
|
144
|
-
onClick: (
|
|
147
|
+
onClick: (h) => a.input(v.concat({}))
|
|
145
148
|
}, null, 8, ["onClick"])
|
|
146
149
|
])
|
|
147
150
|
]),
|
|
@@ -149,86 +152,86 @@ const G = { class: "dpiV3_page V3-typography" }, J = { class: "funny-section" },
|
|
|
149
152
|
}, 8, ["modelValue"])
|
|
150
153
|
])
|
|
151
154
|
]),
|
|
152
|
-
|
|
155
|
+
s(U, {
|
|
153
156
|
compact: "",
|
|
154
157
|
"next-text": "Weiter zu Software",
|
|
155
158
|
class: "actions-container",
|
|
156
159
|
"show-detailed-error-summary": ""
|
|
157
160
|
}, {
|
|
158
|
-
"prev-and-next":
|
|
161
|
+
"prev-and-next": r(({
|
|
159
162
|
hidePrevious: n,
|
|
160
|
-
hideNext:
|
|
161
|
-
previousText:
|
|
162
|
-
nextText:
|
|
163
|
-
handleNext:
|
|
164
|
-
handlePrevious:
|
|
163
|
+
hideNext: a,
|
|
164
|
+
previousText: v,
|
|
165
|
+
nextText: h,
|
|
166
|
+
handleNext: g,
|
|
167
|
+
handlePrevious: V,
|
|
165
168
|
validate: y
|
|
166
169
|
}) => [
|
|
167
|
-
t("div",
|
|
168
|
-
t("div",
|
|
169
|
-
n ?
|
|
170
|
+
t("div", ie, [
|
|
171
|
+
t("div", re, [
|
|
172
|
+
n ? d("", !0) : (l(), u(c, {
|
|
170
173
|
key: 0,
|
|
171
174
|
variant: "secondary",
|
|
172
175
|
size: "large",
|
|
173
|
-
"button-text":
|
|
176
|
+
"button-text": v,
|
|
174
177
|
"icon-start": "CaretLeft",
|
|
175
178
|
class: "previus-button",
|
|
176
|
-
onClick:
|
|
179
|
+
onClick: V
|
|
177
180
|
}, null, 8, ["button-text", "onClick"])),
|
|
178
|
-
n ?
|
|
181
|
+
n ? d("", !0) : (l(), u(c, {
|
|
179
182
|
key: 1,
|
|
180
|
-
disabled:
|
|
183
|
+
disabled: x.value,
|
|
181
184
|
variant: "secondary",
|
|
182
185
|
class: "skip-button",
|
|
183
186
|
size: "large",
|
|
184
187
|
"button-text": "Weiter ohne Datenvisualisierung",
|
|
185
188
|
"icon-end": "CaretRight",
|
|
186
189
|
onClick: () => {
|
|
187
|
-
|
|
188
|
-
var
|
|
189
|
-
return (
|
|
190
|
+
x.value || y(() => {
|
|
191
|
+
var w;
|
|
192
|
+
return (w = i(F)) == null ? void 0 : w.goToStep("Vorschau");
|
|
190
193
|
});
|
|
191
194
|
}
|
|
192
195
|
}, null, 8, ["disabled", "onClick"]))
|
|
193
196
|
]),
|
|
194
|
-
|
|
197
|
+
a ? d("", !0) : (l(), u(c, {
|
|
195
198
|
key: 0,
|
|
196
199
|
variant: "primary",
|
|
197
200
|
size: "large",
|
|
198
|
-
"button-text":
|
|
201
|
+
"button-text": h,
|
|
199
202
|
"icon-end": "CaretRight",
|
|
200
203
|
class: "next-button",
|
|
201
|
-
onClick:
|
|
204
|
+
onClick: g
|
|
202
205
|
}, null, 8, ["button-text", "onClick"]))
|
|
203
206
|
])
|
|
204
207
|
]),
|
|
205
208
|
_: 1
|
|
206
209
|
}),
|
|
207
|
-
|
|
208
|
-
key:
|
|
210
|
+
R.value ? (l(), u(L, {
|
|
211
|
+
key: 1,
|
|
209
212
|
variant: "error",
|
|
210
213
|
class: "error"
|
|
211
214
|
}, {
|
|
212
|
-
icon:
|
|
213
|
-
|
|
215
|
+
icon: r(() => [
|
|
216
|
+
s(i(W), {
|
|
214
217
|
size: 32,
|
|
215
218
|
color: "currentColor"
|
|
216
219
|
})
|
|
217
220
|
]),
|
|
218
|
-
title:
|
|
221
|
+
title: r(() => e[7] || (e[7] = [
|
|
219
222
|
t("span", { class: "error-title" }, "Fehler", -1)
|
|
220
223
|
])),
|
|
221
|
-
default:
|
|
224
|
+
default: r(() => [
|
|
222
225
|
e[8] || (e[8] = t("ul", { class: "validation-errors" }, [
|
|
223
226
|
t("li", null, " Pro Projekt muss mindestens ein technischer Prozessschritt beschrieben werden. ")
|
|
224
227
|
], -1))
|
|
225
228
|
]),
|
|
226
229
|
_: 1,
|
|
227
230
|
__: [8]
|
|
228
|
-
})) :
|
|
231
|
+
})) : d("", !0)
|
|
229
232
|
]));
|
|
230
233
|
}
|
|
231
234
|
});
|
|
232
235
|
export {
|
|
233
|
-
|
|
236
|
+
fe as default
|
|
234
237
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { pipe as A } from "effect";
|
|
2
|
-
import * as
|
|
2
|
+
import * as f from "effect/Option";
|
|
3
3
|
import * as H from "jsonld";
|
|
4
|
-
import { schemaProject as
|
|
4
|
+
import { schemaProject as C } from "../../schema/projectLdSchema.js";
|
|
5
5
|
import { getFirstItem as G, extractStringValue as t, extractLocalizedString as N } from "../useDpiSimpleLoader.js";
|
|
6
6
|
import { isNonNullable as h } from "./encodeProject.js";
|
|
7
|
-
import { PREFIXES as F, nonEmpty as
|
|
7
|
+
import { PREFIXES as F, nonEmpty as I } from "./shared.js";
|
|
8
8
|
function W(n) {
|
|
9
9
|
const a = (n || "").trim();
|
|
10
10
|
if (!a)
|
|
@@ -16,7 +16,7 @@ function W(n) {
|
|
|
16
16
|
return a;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
async function
|
|
19
|
+
async function K(n) {
|
|
20
20
|
const a = {
|
|
21
21
|
"@context": F,
|
|
22
22
|
"@type": "schema:Project"
|
|
@@ -26,18 +26,18 @@ async function C(n) {
|
|
|
26
26
|
}), r = await H.compact(s, F, {
|
|
27
27
|
compactArrays: !1,
|
|
28
28
|
graph: !1
|
|
29
|
-
}),
|
|
30
|
-
if (!
|
|
29
|
+
}), l = C.safeParse(G(r == null ? void 0 : r["@graph"]));
|
|
30
|
+
if (!l.success)
|
|
31
31
|
throw new Error(`Failed to parse project
|
|
32
32
|
|
|
33
|
-
${
|
|
34
|
-
return
|
|
33
|
+
${l.error.message}`);
|
|
34
|
+
return l.data;
|
|
35
35
|
}
|
|
36
36
|
function U(n) {
|
|
37
|
-
return
|
|
37
|
+
return I(G(n["@id"]));
|
|
38
38
|
}
|
|
39
|
-
function
|
|
40
|
-
var r,
|
|
39
|
+
function V(n, a) {
|
|
40
|
+
var r, l;
|
|
41
41
|
const { visibility: s } = a;
|
|
42
42
|
return {
|
|
43
43
|
"Auffindbarkeit/Sichtbarkeit": {
|
|
@@ -47,39 +47,39 @@ function K(n, a) {
|
|
|
47
47
|
categories: ((r = n["dcat:theme"]) == null ? void 0 : r.map(U).filter(h)) || []
|
|
48
48
|
},
|
|
49
49
|
"Auffindbarkeit/Anwendungsbereiche": {
|
|
50
|
-
applications: ((
|
|
50
|
+
applications: ((l = n["schema:application"]) == null ? void 0 : l.filter(h)) || []
|
|
51
51
|
}
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
|
-
function
|
|
54
|
+
function R(n) {
|
|
55
55
|
var s;
|
|
56
56
|
const a = (s = n["dcat:contactPoint"]) == null ? void 0 : s.map((r) => ({
|
|
57
|
-
name:
|
|
58
|
-
mail:
|
|
59
|
-
phone:
|
|
57
|
+
name: I(t(r["vcard:fn"])),
|
|
58
|
+
mail: I(t(r["vcard:hasEmail"])),
|
|
59
|
+
phone: I(t(r["vcard:hasTelephone"]))
|
|
60
60
|
})).filter(h);
|
|
61
61
|
return {
|
|
62
62
|
"Grundlegende Informationen/Name": {
|
|
63
63
|
projectName: A(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
f.fromNullable(N(n["dct:title"], "de")),
|
|
65
|
+
f.flatMap((r) => I(r) ? f.some(r) : f.none()),
|
|
66
|
+
f.getOrThrowWith(() => new Error("Project name is missing"))
|
|
67
67
|
)
|
|
68
68
|
},
|
|
69
69
|
"Grundlegende Informationen/Beschreibung": {
|
|
70
70
|
projectDescription: A(
|
|
71
|
-
|
|
71
|
+
f.fromNullable(N(n["dct:description"], "de")),
|
|
72
72
|
// O.flatMap(s => nonEmpty(s) ? O.some(s) : O.none()),
|
|
73
73
|
// O.getOrThrowWith(() => new Error('Project description is missing')),
|
|
74
|
-
|
|
74
|
+
f.getOrElse(() => "")
|
|
75
75
|
)
|
|
76
76
|
},
|
|
77
77
|
"Grundlegende Informationen/Projektstatus": {
|
|
78
78
|
projectName: A(
|
|
79
|
-
|
|
79
|
+
f.fromNullable(n["schema:status"]),
|
|
80
80
|
// O.flatMap(s => nonEmpty(s) ? O.some(s) : O.none()),
|
|
81
81
|
// O.getOrThrowWith(() => new Error('Project status is missing')),
|
|
82
|
-
|
|
82
|
+
f.getOrElse(() => "")
|
|
83
83
|
)
|
|
84
84
|
},
|
|
85
85
|
"Grundlegende Informationen/Organisation": {
|
|
@@ -91,8 +91,8 @@ function V(n) {
|
|
|
91
91
|
}
|
|
92
92
|
};
|
|
93
93
|
}
|
|
94
|
-
function
|
|
95
|
-
var a, s, r,
|
|
94
|
+
function _(n) {
|
|
95
|
+
var a, s, r, l, p, k, D, i;
|
|
96
96
|
return {
|
|
97
97
|
"Optionale Daten": {
|
|
98
98
|
partners: ((a = n["dct:contributor"]) == null ? void 0 : a.map((c) => ({
|
|
@@ -100,12 +100,12 @@ function R(n) {
|
|
|
100
100
|
url: t(c["foaf:homepage"])
|
|
101
101
|
})).filter(h)) || [],
|
|
102
102
|
requiredExpertise: ((s = n["schema:skills"]) == null ? void 0 : s.map(t).filter(h)) || [],
|
|
103
|
-
references: ((
|
|
103
|
+
references: ((l = (r = n["dct:references"]) == null ? void 0 : r.filter((c) => c["dct:type"] === "image")) == null ? void 0 : l.map((c) => ({
|
|
104
104
|
homepage: t(c["schema:url"])
|
|
105
105
|
})).filter(h)) || [],
|
|
106
106
|
startDate: t(n["schema:startDate"] || ""),
|
|
107
107
|
endDate: t(n["schema:endDate"] || ""),
|
|
108
|
-
budget: t(((
|
|
108
|
+
budget: t(((p = n["schema:amount"]) == null ? void 0 : p["schema:value"]) || ""),
|
|
109
109
|
budgetDescription: t(((k = n["schema:amount"]) == null ? void 0 : k["schema:description"]) || ""),
|
|
110
110
|
// todo:
|
|
111
111
|
links: ((i = (D = n["dct:references"]) == null ? void 0 : D.filter((c) => c["dct:type"] === "documentation")) == null ? void 0 : i.map((c) => ({
|
|
@@ -118,22 +118,22 @@ function R(n) {
|
|
|
118
118
|
}
|
|
119
119
|
function $(n) {
|
|
120
120
|
const a = n["schema:hasPart"] ?? [], s = (u) => a.find((m) => m["dct:type"] === u), r = (u) => {
|
|
121
|
-
var
|
|
122
|
-
const m = /* @__PURE__ */ new Map(),
|
|
123
|
-
const y = Number.parseInt(t(
|
|
121
|
+
var g, w;
|
|
122
|
+
const m = /* @__PURE__ */ new Map(), S = [...(u == null ? void 0 : u["schema:question"]) ?? []].sort((e, d) => {
|
|
123
|
+
const y = Number.parseInt(t(e["schema:position"])), z = Number.parseInt(t(d["schema:position"]));
|
|
124
124
|
return (Number.isNaN(y) ? 0 : y) - (Number.isNaN(z) ? 0 : z);
|
|
125
125
|
});
|
|
126
|
-
for (const
|
|
127
|
-
const
|
|
128
|
-
|
|
126
|
+
for (const e of S) {
|
|
127
|
+
const d = (g = e["schema:text"]) == null ? void 0 : g.trim(), y = (w = e["schema:acceptedAnswer"]) == null ? void 0 : w.trim();
|
|
128
|
+
d && y && m.set(d, y);
|
|
129
129
|
}
|
|
130
130
|
return m;
|
|
131
|
-
},
|
|
131
|
+
}, l = {
|
|
132
132
|
projectTriggers: "Was waren Ausloeser fuer das Projekt (z. B. rechtliche oder politische Vorgaben, intrinsische Motivation oder inspirierende Projekte aus anderen Kommunen)?",
|
|
133
133
|
involvedStakeholders: "Welche relevanten Akteure innerhalb oder ausserhalb Ihrer Organisation haben Sie fruehzeitig involviert (z. B. um politische Rueckendeckung sicherzustellen)?",
|
|
134
134
|
dataCollectionMethod: "Wie haben Sie den Bestand vorhandener Daten erhoben?",
|
|
135
135
|
budgetPlanning: "Wie haben Sie das erste Budget berechnet und nachhaltig gesichert?"
|
|
136
|
-
},
|
|
136
|
+
}, p = {
|
|
137
137
|
requirementsGatherings: "Wie haben Sie die Anforderungen erhoben und dokumentiert (z. B. durch Markterkundung, externe Berater oder Workshops)?",
|
|
138
138
|
tenderFormat: "Welche Ausschreibungsform haben Sie gewaehlt und warum? Gab es eine Vorlage oder Muster-Leistungsbeschreibung, die hilfreich war?",
|
|
139
139
|
tenderTips: "Welche Tipps haben Sie fuer eine erfolgreiche Ausschreibung?",
|
|
@@ -149,18 +149,18 @@ function $(n) {
|
|
|
149
149
|
dataCollectionMethod: "Gibt es Plaene fuer eine Skalierung oder Weiterentwicklung? Wenn ja, wie sichern Sie die Finanzierung dafuer?",
|
|
150
150
|
budgetPlanning: "Welche externen Unterstuetzungsangebote haben Ihnen geholfen oder auch gefehlt?"
|
|
151
151
|
}, i = (u, m) => {
|
|
152
|
-
const
|
|
153
|
-
for (const [
|
|
154
|
-
const
|
|
155
|
-
|
|
152
|
+
const v = s(u), S = r(v), g = {};
|
|
153
|
+
for (const [w, e] of Object.entries(m)) {
|
|
154
|
+
const d = S.get(e);
|
|
155
|
+
d && (g[w] = d);
|
|
156
156
|
}
|
|
157
|
-
return
|
|
158
|
-
}, c = i("Initiieren",
|
|
157
|
+
return g;
|
|
158
|
+
}, c = i("Initiieren", l), b = i("Planen", p), j = i("Umsetzen", k), P = i("Weiterdenken", D);
|
|
159
159
|
return {
|
|
160
160
|
"Projektphasen (optional)": {},
|
|
161
161
|
"Projektphasen (optional)/Initiieren": c,
|
|
162
|
-
"Projektphasen (optional)/Planen":
|
|
163
|
-
"Projektphasen (optional)/Umsetzen":
|
|
162
|
+
"Projektphasen (optional)/Planen": b,
|
|
163
|
+
"Projektphasen (optional)/Umsetzen": j,
|
|
164
164
|
"Projektphasen (optional)/Weiterdenken": P
|
|
165
165
|
};
|
|
166
166
|
}
|
|
@@ -188,76 +188,76 @@ function L(n) {
|
|
|
188
188
|
"4. Datenvisualisierung/Software": {},
|
|
189
189
|
"4. Datenvisualisierung/Datensätze": {},
|
|
190
190
|
"4. Datenvisualisierung/Hardware": {}
|
|
191
|
-
},
|
|
191
|
+
}, l = (i) => `${i}/Grundlegende Informationen`, p = (i) => `${i}/Software`, k = (i) => `${i}/Datensätze`, D = (i) => `${i}/Hardware`;
|
|
192
192
|
for (const i of a) {
|
|
193
|
-
const c = (t(i["p-plan:Activity"] || "") || "").trim().toLowerCase(),
|
|
194
|
-
if (!
|
|
193
|
+
const c = (t(i["p-plan:Activity"] || "") || "").trim().toLowerCase(), b = s[c];
|
|
194
|
+
if (!b)
|
|
195
195
|
continue;
|
|
196
|
-
const
|
|
196
|
+
const j = N(i["dct:description"], "de") || "", P = j === "__EMPTY__" ? "" : j, u = (i["prov:used"] || []).map((e) => ({
|
|
197
197
|
name: t(e["dct:title"]) || ""
|
|
198
198
|
// description: extractStringValue(m['dct:description']) || undefined,
|
|
199
|
-
})).filter((e) => (e.name ?? "").length > 0),
|
|
199
|
+
})).filter((e) => (e.name ?? "").length > 0), m = (i["dct:references"] || []).filter((e) => t(e["dct:type"]) === "documentation").map((e) => ({
|
|
200
200
|
name: t(e["dct:title"]) || "",
|
|
201
201
|
url: t(e["schema:url"]) || "",
|
|
202
202
|
description: t(e["dct:description"]) || void 0
|
|
203
203
|
})).filter((e) => e.url.length > 0 && e.name.length > 0);
|
|
204
|
-
(
|
|
205
|
-
...
|
|
206
|
-
...
|
|
207
|
-
...
|
|
204
|
+
(P || u.length > 0 || m.length > 0) && (r[l(b)] = {
|
|
205
|
+
...P ? { description: P } : {},
|
|
206
|
+
...u.length > 0 ? { methods: u } : {},
|
|
207
|
+
...m.length > 0 ? { links: m } : {}
|
|
208
208
|
});
|
|
209
|
-
const
|
|
209
|
+
const v = i["p-plan:hasInputVar"] || [], S = v.filter((e) => t(e["@type"]) === "schema:SoftwareApplication").map((e) => ({
|
|
210
210
|
id: W(t(e["dct:identifier"]) || ""),
|
|
211
|
-
functionalities: (e["schema:featureList"] || []).map((
|
|
211
|
+
functionalities: (e["schema:featureList"] || []).map((d) => t(d)).filter(h)
|
|
212
212
|
})).filter((e) => e.id.length > 0);
|
|
213
|
-
|
|
214
|
-
selected:
|
|
213
|
+
S.length > 0 && (r[p(b)] = {
|
|
214
|
+
selected: S
|
|
215
215
|
});
|
|
216
|
-
const
|
|
217
|
-
|
|
218
|
-
selected:
|
|
216
|
+
const g = v.filter((e) => t(e["@type"]) === "dcat:Dataset").map((e) => ({ id: W(t(e["dct:identifier"]) || "") })).filter((e) => e.id.length > 0);
|
|
217
|
+
g.length > 0 && (r[k(b)] = {
|
|
218
|
+
selected: g
|
|
219
219
|
});
|
|
220
|
-
const
|
|
221
|
-
const
|
|
220
|
+
const w = v.filter((e) => t(e["@type"]) === "ssn:System").map((e) => {
|
|
221
|
+
const d = e["ssn:deployedSystem"], y = W(t(e["dct:identifier"]) || ""), z = d && typeof d == "object" ? W(t(d["@id"]) || d["@id"]) : "", q = y || z, x = N(e["dct:description"], "de") || void 0, E = (e["ssn:forProperty"] || []).map((o) => t(o)).filter(h), M = (e["sosa:hasLocation"] || []).map((o) => ({ lat: t(o["geo:lat"]) || "", lng: t(o["geo:long"]) || "" })).filter((o) => o.lat.length > 0 && o.lng.length > 0), B = (e["foaf:depiction"] || []).map((o) => U(o)).filter(h), T = (e["dct:references"] || []).filter((o) => t(o["dct:type"]) === "documentation").map((o) => ({
|
|
222
222
|
name: t(o["dct:title"]) || "",
|
|
223
223
|
url: t(o["schema:url"]) || "",
|
|
224
224
|
description: t(o["dct:description"]) || void 0
|
|
225
225
|
})).filter((o) => o.url.length > 0), O = (e["ssn-system:hasSystemCapability"] || []).map((o) => t(o)).filter(h);
|
|
226
226
|
return {
|
|
227
|
-
id:
|
|
227
|
+
id: q,
|
|
228
228
|
...x ? { description: x } : {},
|
|
229
229
|
...E.length > 0 ? { forProperty: E } : {},
|
|
230
|
-
...
|
|
231
|
-
...
|
|
230
|
+
...M.length > 0 ? { locations: M } : {},
|
|
231
|
+
...B.length > 0 ? { depictions: B } : {},
|
|
232
232
|
...T.length > 0 ? { references: T } : {},
|
|
233
233
|
...O.length > 0 ? { functionalities: O } : {},
|
|
234
234
|
isHostedBy: e["sosa:isHostedBy"] || [],
|
|
235
235
|
hosts: []
|
|
236
236
|
};
|
|
237
237
|
}).filter((e) => (e.id ?? "").length > 0);
|
|
238
|
-
|
|
239
|
-
selected:
|
|
238
|
+
w.length > 0 && (r[D(b)] = {
|
|
239
|
+
selected: w
|
|
240
240
|
});
|
|
241
241
|
}
|
|
242
242
|
return r;
|
|
243
243
|
}
|
|
244
|
-
async function
|
|
245
|
-
const s = await
|
|
244
|
+
async function ee(n, a) {
|
|
245
|
+
const s = await K(n);
|
|
246
246
|
return {
|
|
247
247
|
Landing: {},
|
|
248
|
-
...
|
|
249
|
-
...V(s),
|
|
248
|
+
...V(s, { visibility: (a == null ? void 0 : a.visibility) || "public" }),
|
|
250
249
|
...R(s),
|
|
250
|
+
..._(s),
|
|
251
251
|
...$(s),
|
|
252
252
|
...L(s),
|
|
253
253
|
Vorschau: {}
|
|
254
254
|
};
|
|
255
255
|
}
|
|
256
256
|
export {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
257
|
+
ee as decodeProject,
|
|
258
|
+
V as toAuffindbarkeit,
|
|
259
|
+
R as toGrundlegendeInformationen,
|
|
260
|
+
_ as toOptionaleDaten,
|
|
261
261
|
$ as toProjektphasen,
|
|
262
262
|
L as toTechnicalProcessSteps
|
|
263
263
|
};
|