@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.
Files changed (90) hide show
  1. package/dist/assets/dpi.css +1 -1
  2. package/dist/packages/dpi/src/data-provider-interface/DataProviderInterface.vue2.js +48 -47
  3. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/AboutProject.vue.js +46 -48
  4. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/DPIHome.vue.js +48 -31
  5. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/HomeTable.vue.js +101 -79
  6. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ProjectTable.vue.js +4 -94
  7. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ProjectTable.vue2.js +128 -0
  8. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/services/dpiV3_apis.js +36 -68
  9. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Autocomplete/AutocompleteVocab.vue.js +2 -2
  10. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Autocomplete/AutocompleteVocab.vue2.js +64 -52
  11. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectDescriptionStep.vue.js +14 -14
  12. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectNameStep.vue.js +9 -6
  13. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue.js +2 -2
  14. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue2.js +26 -27
  15. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectStatusStep.vue.js +8 -8
  16. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataCollection/BasicInformationStep.vue.js +2 -2
  17. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataCollection/BasicInformationStep.vue2.js +19 -19
  18. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataProcessing/BasicInformationStep.vue.js +2 -2
  19. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataProcessing/BasicInformationStep.vue2.js +38 -39
  20. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataSimulation/BasicInformationStep.vue.js +2 -2
  21. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataSimulation/BasicInformationStep.vue2.js +72 -67
  22. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataVisualisation/BasicInformationStep.vue.js +1 -1
  23. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataVisualisation/BasicInformationStep.vue2.js +84 -97
  24. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DpiModalBase.vue.js +2 -2
  25. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DpiModalBase.vue2.js +1 -1
  26. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Dropdown.vue.js +103 -88
  27. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/ApplicationsStep.vue.js +1 -1
  28. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/ApplicationsStep.vue2.js +18 -17
  29. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/CategoriesStep.vue.js +1 -1
  30. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/CategoriesStep.vue2.js +35 -28
  31. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/DiscoverabilityStep.vue.js +11 -10
  32. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/InputField/InputFieldDefinition.js +4 -3
  33. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/InputField/InputFieldFormKit.vue.js +46 -40
  34. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/InputField.vue.js +144 -134
  35. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/OptionalDataStep/OptionalDataStep.vue.js +2 -2
  36. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/OptionalDataStep/OptionalDataStep.vue2.js +190 -156
  37. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/DatasetForm.vue.js +2 -2
  38. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/DatasetForm.vue2.js +44 -38
  39. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/DatasetStep.vue.js +2 -2
  40. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/DatasetStep.vue2.js +73 -71
  41. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/GetResource.vue.js +4 -4
  42. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareForm.vue.js +2 -2
  43. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareForm.vue2.js +128 -123
  44. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareStep.vue.js +2 -2
  45. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareStep.vue2.js +133 -131
  46. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/SoftwareForm.vue.js +2 -2
  47. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/SoftwareForm.vue2.js +50 -45
  48. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/SoftwareStep.vue.js +2 -2
  49. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/SoftwareStep.vue2.js +85 -83
  50. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/utils.js +17 -17
  51. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ReviewStep/ReviewStep.vue.js +2 -2
  52. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ReviewStep/ReviewStep.vue2.js +341 -341
  53. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/SectionItems/CoverageModal.vue.js +38 -71
  54. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/SectionItems/CoverageModal.vue2.js +4 -0
  55. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/TableRowV3.vue.js +205 -143
  56. package/dist/packages/dpi/src/data-provider-interface/components/Spatial.vue.js +7 -0
  57. package/dist/packages/dpi/src/data-provider-interface/components/Spatial.vue2.js +172 -0
  58. package/dist/packages/dpi/src/data-provider-interface/components/SpatialPage.vue.js +7 -0
  59. package/dist/packages/dpi/src/data-provider-interface/components/SpatialPage.vue2.js +44 -0
  60. package/dist/packages/dpi/src/data-provider-interface/components/StepActionsSection.vue.js +2 -2
  61. package/dist/packages/dpi/src/data-provider-interface/components/StepActionsSection.vue2.js +111 -91
  62. package/dist/packages/dpi/src/data-provider-interface/components/TheCancelConfirmationDialog.vue.js +3 -3
  63. package/dist/packages/dpi/src/data-provider-interface/components/TheCancelConfirmationDialog.vue2.js +24 -19
  64. package/dist/packages/dpi/src/data-provider-interface/components/TheErrorDialog.vue.js +57 -46
  65. package/dist/packages/dpi/src/data-provider-interface/components/dev-tools/ProjectDpiDevTools.vue.js +2 -2
  66. package/dist/packages/dpi/src/data-provider-interface/components/dev-tools/ProjectDpiDevTools.vue2.js +137 -94
  67. package/dist/packages/dpi/src/data-provider-interface/composables/project-transformer/decodeProject.js +152 -135
  68. package/dist/packages/dpi/src/data-provider-interface/composables/project-transformer/encodeProject.js +202 -167
  69. package/dist/packages/dpi/src/data-provider-interface/composables/useDpiContext.js +9 -10
  70. package/dist/packages/dpi/src/data-provider-interface/composables/useDpiEditMode.js +89 -65
  71. package/dist/packages/dpi/src/data-provider-interface/composables/useDpiSimpleLoader.js +287 -281
  72. package/dist/packages/dpi/src/data-provider-interface/composables/useDpiStepper.js +82 -82
  73. package/dist/packages/dpi/src/data-provider-interface/composables/useDpiUtils.js +18 -9
  74. package/dist/packages/dpi/src/data-provider-interface/composables/useProjectActions.js +95 -0
  75. package/dist/packages/dpi/src/data-provider-interface/composables/useTwinbyHome.js +83 -0
  76. package/dist/packages/dpi/src/data-provider-interface/composables/useTwinbyUser.js +85 -0
  77. package/dist/packages/dpi/src/data-provider-interface/config/dcatapdeHappyFlow/converter.js +19 -19
  78. package/dist/packages/dpi/src/data-provider-interface/schema/projectLdSchema.js +48 -45
  79. package/dist/packages/dpi/src/data-provider-interface/views/InputPage.vue.js +333 -308
  80. package/dist/packages/dpi/src/data-provider-interface/views/InputPageProject.vue.js +405 -409
  81. package/dist/packages/dpi/src/form/inputDefinitions.js +52 -53
  82. package/dist/packages/dpi/src/stories/components/PartnerCard.vue.js +2 -2
  83. package/dist/packages/dpi/src/stories/components/PartnerCard.vue2.js +14 -14
  84. package/dist/packages/dpi/src/stories/components/ScreenshotCard.vue.js +2 -2
  85. package/dist/packages/dpi/src/stories/components/ScreenshotCard.vue2.js +9 -8
  86. package/dist/packages/dpi/src/utils/schema/schemaProject.js +210 -0
  87. package/dist/packages/dpi/src/utils/schema/shared.js +23 -0
  88. package/package.json +5 -5
  89. package/dist/packages/dpi/src/data-provider-interface/components/PolGeoUriPage.vue.js +0 -124
  90. 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 { theProjectForm as C } from "./__tests__/fixtures/theProjectForm.js";
4
- import { PREFIXES as F } from "./shared.js";
5
- function Q(e, i) {
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": i
11
+ "@type": r
10
12
  };
11
13
  }
12
- function $(e) {
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 r, o;
15
- return { name: (r = t.name) == null ? void 0 : r.trim(), url: (o = t.url) == null ? void 0 : o.trim() };
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 H(e, i) {
22
- return e ? [{ "@value": e, "@language": i }] : void 0;
31
+ function J(e, r) {
32
+ return e ? [{ "@value": e, "@language": r }] : void 0;
23
33
  }
24
- function X(e) {
25
- return (i) => H(i, e);
34
+ function ee(e) {
35
+ return (r) => J(r, e);
26
36
  }
27
- function A(e) {
37
+ function W(e) {
28
38
  if (e)
29
39
  return {
30
40
  "@id": e
31
41
  };
32
42
  }
33
- function U(e) {
43
+ function P(e) {
34
44
  return e != null;
35
45
  }
36
- function Z(e, i = "http://www.w3.org/2001/XMLSchema#string") {
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(Q(t, i)))
51
+ n.flatMap((t) => n.fromNullable(Z(t, r)))
42
52
  );
43
53
  }
44
- const B = (e) => (e ?? "").trim(), q = (e) => e.length > 0;
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(B),
49
- n.filter(q)
58
+ n.map(X),
59
+ n.filter(F)
50
60
  );
51
61
  }
52
- function J(e) {
62
+ function te(e) {
53
63
  return s(
54
64
  n.fromNullable(e),
55
- n.map((i) => i.map(B).filter(q)),
56
- n.filter((i) => i.length > 0),
57
- n.map((i) => [...i])
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 G(e) {
70
+ function C(e) {
61
71
  return s(
62
72
  n.fromNullable(e),
63
- n.map((i) => i.map((t) => A(t)).filter(U)),
64
- n.filter((i) => i.length > 0),
65
- n.map((i) => [...i])
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 R(e, i) {
78
+ function $(e, r) {
69
79
  return s(
70
80
  m(e),
71
- n.flatMap((t) => n.fromNullable(i(t)))
81
+ n.flatMap((t) => n.fromNullable(r(t)))
72
82
  );
73
83
  }
74
- function Y(e) {
75
- return L(e).flatMap((i) => [...i]);
84
+ function re(e) {
85
+ return A(e).flatMap((r) => [...r]);
76
86
  }
77
- function V(e, i, t) {
87
+ function q(e, r, t) {
78
88
  return s(
79
89
  n.fromNullable(e),
80
- n.map((r) => r.map(i).filter(U)),
81
- n.filter((r) => r.length > 0),
82
- n.map((r) => M(r, t)),
83
- n.filter((r) => r.length > 0),
84
- n.map((r) => [...r])
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 I(e) {
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((r) => I(r)).filter((r) => r != null);
92
- const i = {};
93
- for (const [t, r] of Object.entries(e)) {
94
- if (r == null)
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 o = I(r);
97
- o != null && (i[t] = o);
106
+ const a = M(i);
107
+ a != null && (r[t] = a);
98
108
  }
99
- return i;
109
+ return r;
100
110
  }
101
- function L(e) {
102
- return e.map(n.getOrUndefined).filter(U);
111
+ function A(e) {
112
+ return e.map(n.getOrUndefined).filter(P);
103
113
  }
104
- function c(e) {
105
- const i = e ? [...e] : [];
106
- return i.length > 0 ? i : void 0;
114
+ function f(e) {
115
+ const r = e ? [...e] : [];
116
+ return r.length > 0 ? r : void 0;
107
117
  }
108
- function ee(e, i) {
109
- const t = e ?? {}, r = [];
110
- for (const [o, a] of Object.entries(i)) {
111
- const f = s(
112
- n.fromNullable(t[o]),
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": a,
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
- f && r.push(f);
134
+ p && i.push(p);
123
135
  }
124
- return r;
136
+ return i;
125
137
  }
126
- function D(e, i, t) {
127
- const r = ee(e, t);
128
- return r.length === 0 ? n.none() : n.some({
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:type": i,
131
- "schema:question": r
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 ne(e) {
149
+ function ae(e) {
135
150
  return (e ?? []).map((t) => {
136
- var r, o;
137
- return { name: (r = t.name) == null ? void 0 : r.trim(), description: (o = t.description) == null ? void 0 : o.trim() };
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 M(e, i) {
145
- return (e ?? []).map((r) => ({
159
+ function z(e, r) {
160
+ return (e ?? []).map((i) => ({
146
161
  "@type": "rdfs:Resource",
147
- "dct:type": i,
148
- "schema:url": r.url,
149
- "dct:title": r.name,
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(r.description),
152
- n.map((o) => o.trim()),
153
- n.filter((o) => o.length > 0),
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 te(e) {
159
- return (e ?? []).map((t) => ({
160
- "@type": "pv:SoftwareLink",
161
- "dct:identifier": t.id,
162
- "schema:featureList": c((t.functionalities ?? []).map((r) => r == null ? void 0 : r.trim()).filter((r) => !!r && r.length > 0))
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 re(e) {
166
- return (e ?? []).map((t) => ({
185
+ function se(e, r) {
186
+ return (e ?? []).map((i) => ({
167
187
  "@type": "dcat:Dataset",
168
- "dct:identifier": t.id
188
+ "dct:identifier": T(r.baseRepoUrl, i.id)
169
189
  }));
170
190
  }
171
- function ie(e, i) {
172
- return (e ?? []).map((r) => {
173
- var o;
191
+ function le(e, r, t) {
192
+ return (e ?? []).map((a) => {
193
+ var c;
174
194
  return {
175
- "@type": "ssn:Deployment",
176
- "dct:identifier": "__TODO__",
195
+ "@type": "ssn:System",
196
+ "dct:identifier": T(t.baseRepoUrl, a.id),
177
197
  "dct:description": s(
178
- n.fromNullable(r.description),
179
- n.map((a) => a.trim()),
180
- n.filter((a) => a.length > 0),
181
- n.flatMap((a) => n.fromNullable(i(a))),
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": A(r.id),
185
- "ssn:forProperty": c((r.forProperty ?? []).map((a) => a == null ? void 0 : a.trim()).filter((a) => !!a && a.length > 0)),
186
- "sosa:hasLocation": c((r.locations ?? []).map((a) => ({
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": a.lat,
189
- "geo:long": a.lng
208
+ "geo:lat": o.lat,
209
+ "geo:long": o.lng
190
210
  }))),
191
- "foaf:depiction": c((r.depictions ?? []).map((a) => A(a)).filter(U)),
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": c((r.functionalities ?? []).map((a) => a == null ? void 0 : a.trim()).filter((a) => !!a && a.length > 0)),
195
- "dct:references": c(M((o = r.references) == null ? void 0 : o.map((a) => ({
196
- name: a.name ?? "",
197
- url: a.url ?? "",
198
- description: a.description
199
- })).filter((a) => a.url.length > 0 && ((a == null ? void 0 : a.name) || "").length > 0), "documentation"))
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 P(e) {
204
- var h, b, y;
205
- const { prefixKey: i, activityLabel: t, input: r, toLanged: o } = e, a = `${i}/Grundlegende Informationen`, f = `${i}/Software`, u = `${i}/Datensätze`, j = `${i}/Hardware`, d = r[a], N = d == null ? void 0 : d.description, x = s(
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((g) => g.trim()),
208
- n.filter((g) => g.length > 0),
227
+ n.map((h) => h.trim()),
228
+ n.filter((h) => h.length > 0),
209
229
  n.getOrUndefined
210
- ), W = d == null ? void 0 : d.methods, z = d == null ? void 0 : d.links, v = (h = r[f]) == null ? void 0 : h.selected, w = (b = r[u]) == null ? void 0 : b.selected, S = (y = r[j]) == null ? void 0 : y.selected, p = [
211
- ...te(v),
212
- ...re(w),
213
- ...ie(S, o)
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": o(x ?? ""),
219
- "prov:used": c(ne(W)),
220
- "dct:references": c(M(z, "documentation")),
221
- "p-plan:hasInputVar": p.length > 0 ? p : void 0
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 ae(e, i) {
226
- var v, w, S, p, k, h, b, y, g, K, T, _, E;
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
- }, r = (i == null ? void 0 : i.language) ?? "de", o = X(r);
230
- t["dct:title"] = s(R((v = e["Grundlegende Informationen/Name"]) == null ? void 0 : v.projectName, o), n.getOrUndefined), t["dct:description"] = s(R((w = e["Grundlegende Informationen/Beschreibung"]) == null ? void 0 : w.projectDescription, o), n.getOrUndefined), t["dct:identifier"] = ["__TODO__"], t["dcat:theme"] = s(G((S = e["Auffindbarkeit/Kategorien"]) == null ? void 0 : S.categories), n.getOrUndefined), t["schema:application"] = s(G((p = e["Auffindbarkeit/Anwendungsbereiche"]) == null ? void 0 : p.applications), n.getOrUndefined), t["schema:status"] = s(m((k = e["Grundlegende Informationen/Projektstatus"]) == null ? void 0 : k.projectName), n.getOrUndefined), t["schema:amount"] = s(
231
- Z((h = e["Optionale Daten"]) == null ? void 0 : h.budget, "http://www.w3.org/2001/XMLSchema#integer"),
232
- n.map((l) => ({
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
- ), t["schema:skills"] = s(J((b = e["Optionale Daten"]) == null ? void 0 : b.requiredExpertise), n.getOrUndefined), t["schema:startDate"] = s(m((y = e["Optionale Daten"]) == null ? void 0 : y.startDate), n.getOrUndefined), t["schema:endDate"] = s(m((g = e["Optionale Daten"]) == null ? void 0 : g.endDate), n.getOrUndefined);
239
- const a = [
240
- V(
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 O = s(m(l.url), n.getOrUndefined);
244
- if (O)
278
+ const g = s(m(l.url), n.getOrUndefined);
279
+ if (g)
245
280
  return {
246
- url: O,
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
- V(
254
- (T = e["Optionale Daten"]) == null ? void 0 : T.references,
288
+ q(
289
+ (B = e["Optionale Daten"]) == null ? void 0 : B.references,
255
290
  (l) => {
256
- const O = s(m(l.homepage), n.getOrUndefined);
257
- if (O)
291
+ const g = s(m(l.homepage), n.getOrUndefined);
292
+ if (g)
258
293
  return {
259
- url: O,
294
+ url: g,
260
295
  name: void 0,
261
296
  description: void 0
262
297
  };
263
298
  },
264
299
  "image"
265
300
  )
266
- ], f = Y(a);
267
- t["dct:references"] = f.length > 0 ? f : void 0, t["dcat:contactPoint"] = s(
268
- n.fromNullable((_ = e["Grundlegende Informationen/Organisation"]) == null ? void 0 : _.contact),
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((E = e["Optionale Daten"]) == null ? void 0 : E.partners),
279
- n.map((l) => $(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 u = {
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
- }, j = {
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
- }, d = {
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
- }, N = {
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
- }, x = L([
304
- D(e["Projektphasen (optional)/Initiieren"], "Initiieren", u),
305
- D(e["Projektphasen (optional)/Planen"], "Planen", j),
306
- D(e["Projektphasen (optional)/Umsetzen"], "Umsetzen", d),
307
- D(e["Projektphasen (optional)/Weiterdenken"], "Weiterdenken", N)
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"] = c(x);
310
- const W = L([
311
- P({ prefixKey: "1. Datenerfassung", activityLabel: "Data collection", input: e, toLanged: o }),
312
- P({ prefixKey: "2. Datenverarbeitung", activityLabel: "Processing", input: e, toLanged: o }),
313
- P({ prefixKey: "3. Datensimulation", activityLabel: "Simulation", input: e, toLanged: o }),
314
- P({ prefixKey: "4. Datenvisualisierung", activityLabel: "Visualization", input: e, toLanged: o })
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"] = c(W), {
351
+ return t["p-plan:hasStep"] = f(L), {
317
352
  "@context": {
318
- ...F
353
+ ...Q
319
354
  },
320
- "@graph": I(t)
355
+ "@graph": M(t)
321
356
  };
322
357
  }
323
- console.log(JSON.stringify(ae(C), null, 2));
324
358
  export {
325
- ae as encodeProject,
326
- U as isNonNullable,
327
- H as toLangedValue,
328
- A as toNodeReference,
329
- Q as toTypedValue
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 "@formkit/core";
2
- import { provide as e, computed as n, toValue as i, inject as p } from "vue";
3
- const o = Symbol("dpiContext");
4
- function c() {
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 x(t) {
9
- e(o, n(() => i(t)));
7
+ function c(t) {
8
+ o(e, n(() => i(t)));
10
9
  }
11
10
  export {
12
- o as dpiContextKey,
13
- x as setupDpiContext,
14
- c as useDpiContext
11
+ e as dpiContextKey,
12
+ c as setupDpiContext,
13
+ u as useDpiContext
15
14
  };