@piveau/dpi 0.2.0-alpha.12 → 0.2.0-alpha.14

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 (52) 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/HomeTable.vue.js +74 -71
  4. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ProjectTable.vue.js +4 -94
  5. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ProjectTable.vue2.js +104 -0
  6. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/services/dpiV3_apis.js +1 -1
  7. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Autocomplete/AutocompleteVocab.vue.js +2 -2
  8. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Autocomplete/AutocompleteVocab.vue2.js +64 -52
  9. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectNameStep.vue.js +8 -8
  10. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DpiModalBase.vue.js +2 -2
  11. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DpiModalBase.vue2.js +1 -1
  12. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/CategoriesStep.vue.js +2 -2
  13. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/CategoriesStep.vue2.js +4 -4
  14. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/OptionalDataStep/OptionalDataStep.vue.js +2 -2
  15. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/OptionalDataStep/OptionalDataStep.vue2.js +21 -21
  16. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/DatasetStep.vue.js +2 -2
  17. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/DatasetStep.vue2.js +73 -71
  18. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/GetResource.vue.js +4 -4
  19. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareForm.vue.js +2 -2
  20. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareStep.vue.js +2 -2
  21. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareStep.vue2.js +133 -131
  22. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/SoftwareStep.vue.js +2 -2
  23. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/SoftwareStep.vue2.js +85 -83
  24. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ReviewStep/ReviewStep.vue.js +2 -2
  25. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ReviewStep/ReviewStep.vue2.js +4 -4
  26. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/TableRowV3.vue.js +179 -133
  27. package/dist/packages/dpi/src/data-provider-interface/components/DistLicense.vue.js +224 -133
  28. package/dist/packages/dpi/src/data-provider-interface/components/StepActionsSection.vue.js +2 -2
  29. package/dist/packages/dpi/src/data-provider-interface/components/StepActionsSection.vue2.js +111 -91
  30. package/dist/packages/dpi/src/data-provider-interface/components/TheCancelConfirmationDialog.vue.js +3 -3
  31. package/dist/packages/dpi/src/data-provider-interface/components/TheCancelConfirmationDialog.vue2.js +24 -19
  32. package/dist/packages/dpi/src/data-provider-interface/components/VisibilityPage.vue.js +106 -0
  33. package/dist/packages/dpi/src/data-provider-interface/components/dev-tools/ProjectDpiDevTools.vue.js +2 -2
  34. package/dist/packages/dpi/src/data-provider-interface/components/dev-tools/ProjectDpiDevTools.vue2.js +137 -94
  35. package/dist/packages/dpi/src/data-provider-interface/composables/project-transformer/decodeProject.js +152 -135
  36. package/dist/packages/dpi/src/data-provider-interface/composables/project-transformer/encodeProject.js +201 -164
  37. package/dist/packages/dpi/src/data-provider-interface/composables/useDpiContext.js +9 -10
  38. package/dist/packages/dpi/src/data-provider-interface/composables/useDpiEditMode.js +88 -66
  39. package/dist/packages/dpi/src/data-provider-interface/composables/useDpiSimpleLoader.js +274 -273
  40. package/dist/packages/dpi/src/data-provider-interface/composables/useDpiStepper.js +33 -32
  41. package/dist/packages/dpi/src/data-provider-interface/composables/useDpiUtils.js +18 -9
  42. package/dist/packages/dpi/src/data-provider-interface/composables/useProjectActions.js +65 -0
  43. package/dist/packages/dpi/src/data-provider-interface/composables/useTwinbyHome.js +50 -0
  44. package/dist/packages/dpi/src/data-provider-interface/config/dcatapdeHappyFlow/input-definition.js +4 -0
  45. package/dist/packages/dpi/src/data-provider-interface/config/dcatapdeHappyFlow/page-content-config.js +1 -1
  46. package/dist/packages/dpi/src/data-provider-interface/schema/projectLdSchema.js +48 -45
  47. package/dist/packages/dpi/src/data-provider-interface/views/InputPage.vue.js +276 -251
  48. package/dist/packages/dpi/src/data-provider-interface/views/InputPageProject.vue.js +386 -397
  49. package/dist/packages/dpi/src/form/inputDefinitions.js +15 -10
  50. package/dist/packages/dpi/src/utils/schema/schemaProject.js +210 -0
  51. package/dist/packages/dpi/src/utils/schema/shared.js +23 -0
  52. package/package.json +3 -3
@@ -9,22 +9,23 @@ import m from "../data-provider-interface/components/ConditionalInput.vue.js";
9
9
  import r from "../data-provider-interface/components/SimpleSelect.vue.js";
10
10
  import c from "../data-provider-interface/components/SimpleInput.vue.js";
11
11
  import a from "../data-provider-interface/components/SimpleAccessURLInput.vue.js";
12
- import u from "../data-provider-interface/components/HappyFlowLandingPage.vue.js";
13
- import g from "../data-provider-interface/components/DiscoverabilityPage.vue.js";
12
+ import g from "../data-provider-interface/components/HappyFlowLandingPage.vue.js";
13
+ import u from "../data-provider-interface/components/DiscoverabilityPage.vue.js";
14
14
  import f from "../data-provider-interface/components/HVDPage.vue.js";
15
15
  import s from "../data-provider-interface/components/BasicInfosPage.vue.js";
16
16
  import l from "../data-provider-interface/components/CoveringPage.vue.js";
17
17
  import y from "../data-provider-interface/components/DistributionSimplePage.vue.js";
18
18
  import d from "../data-provider-interface/components/ReviewAndPublishPage.vue.js";
19
19
  import P from "../data-provider-interface/components/dpiV3Description.vue.js";
20
- import _ from "../data-provider-interface/components/TitelPage.vue.js";
21
- import b from "../data-provider-interface/components/UpdateDate.vue.js";
20
+ import b from "../data-provider-interface/components/TitelPage.vue.js";
21
+ import _ from "../data-provider-interface/components/UpdateDate.vue.js";
22
22
  import v from "../data-provider-interface/components/PublisherPage.vue.js";
23
23
  import D from "../data-provider-interface/components/ContactPage.vue.js";
24
24
  import h from "../data-provider-interface/components/TempResPage.vue.js";
25
25
  import I from "../data-provider-interface/components/PolGeoUriPage.vue.js";
26
26
  import R from "../data-provider-interface/components/DistLicense.vue.js";
27
- const X = {
27
+ import U from "../data-provider-interface/components/VisibilityPage.vue.js";
28
+ const Z = {
28
29
  repeatable: {
29
30
  type: "list",
30
31
  component: o
@@ -67,27 +68,31 @@ const X = {
67
68
  },
68
69
  happyFlowLandingPage: {
69
70
  type: "group",
70
- component: u
71
+ component: g
71
72
  },
72
73
  discoverabilityPage: {
73
74
  type: "group",
74
- component: g
75
+ component: u
75
76
  },
76
77
  hvdPage: {
77
78
  type: "group",
78
79
  component: f
79
80
  },
81
+ visibilityPage: {
82
+ type: "group",
83
+ component: U
84
+ },
80
85
  basicInfosPage: {
81
86
  type: "group",
82
87
  component: s
83
88
  },
84
89
  "dct:title": {
85
90
  type: "input",
86
- component: _
91
+ component: b
87
92
  },
88
93
  "dct:modified": {
89
94
  type: "input",
90
- component: b
95
+ component: _
91
96
  },
92
97
  "dct:publisher": {
93
98
  type: "group",
@@ -127,5 +132,5 @@ const X = {
127
132
  }
128
133
  };
129
134
  export {
130
- X as default
135
+ Z as default
131
136
  };
@@ -0,0 +1,210 @@
1
+ import * as r from "zod";
2
+ import { schemaBaseWithDescription as t } from "./shared.js";
3
+ const i = t.extend({
4
+ /**
5
+ * The financial resources allocated or required for the project.
6
+ *
7
+ * @example
8
+ * {
9
+ * "amount": "5000000",
10
+ * "currency": "EUR"
11
+ * }
12
+ */
13
+ budget: r.object({
14
+ amount: r.string(),
15
+ currency: r.string()
16
+ }).nullable().optional(),
17
+ /**
18
+ * The skill sets or expertise needed (e.g., data science, IoT, urban planning).
19
+ *
20
+ * @example
21
+ * ["IoT", "Data Science", "Urban Planning"]
22
+ */
23
+ required_skills: r.array(r.string()).nullable().optional(),
24
+ /**
25
+ * Start/end dates or milestones for the project.
26
+ *
27
+ * @example
28
+ * "start_date": "2025-01-01",
29
+ * "end_date": "2027-12-31"
30
+ */
31
+ start_date: r.string(),
32
+ end_date: r.string(),
33
+ /**
34
+ * Indicates whether the project is in planning, active, or completed.
35
+ */
36
+ status: r.string().nullable().optional(),
37
+ /**
38
+ * The steps or phases required to execute the project (e.g., data processing, visualization).
39
+ *
40
+ * @example
41
+ * ["PS-2025-001", "PS-2025-002", "PS-2025-003", "PS-2025-004"]
42
+ */
43
+ linked_process_steps: r.array(r.string()).nullable().optional(),
44
+ /**
45
+ * The entity (local government) carrying out or sponsoring the project.
46
+ *
47
+ * @example
48
+ * {
49
+ * "id": "ORG-HAAR-001"
50
+ * }
51
+ */
52
+ linked_organisation: r.object({ id: r.string() }).nullable().optional(),
53
+ /**
54
+ * Links to project proposals, status reports, or final summaries.
55
+ *
56
+ * @example
57
+ * ["https://example.org/documents/SC-2025-001-proposal.pdf", "https://example.org/documents/SC-2025-001-final-report.pdf"]
58
+ */
59
+ documentation: r.array(r.string()).nullable().optional(),
60
+ // Array of category objects describing dataset classification
61
+ categories: r.array(
62
+ r.object({
63
+ // Unique category ID
64
+ id: r.string(),
65
+ // Localized labels keyed by language code, e.g. { en: "Health", de: "Gesundheit" }
66
+ label: r.record(r.string()),
67
+ // Resource or namespace the category belongs to
68
+ resource: r.string()
69
+ })
70
+ ),
71
+ // List of use case identifiers or names relevant to this dataset
72
+ use_cases: r.array(r.string()),
73
+ // ISO 8601 timestamp string representing last modification date of dataset
74
+ modified: r.string(),
75
+ /**
76
+ * Describes a set of organizational steps including questions and reference materials.
77
+ */
78
+ organizational_process_steps: r.array(
79
+ r.object({
80
+ /**
81
+ * Unique identifier of the question block.
82
+ */
83
+ identifier: r.string(),
84
+ order: r.number(),
85
+ /**
86
+ * Identifier of a preceding question block, if any.
87
+ */
88
+ preceded_by: r.string().optional(),
89
+ /**
90
+ * Phase or step name within the organizational process.
91
+ */
92
+ phase: r.string(),
93
+ /**
94
+ * List of questions with corresponding answers.
95
+ */
96
+ questions: r.array(
97
+ r.object({
98
+ answer: r.string(),
99
+ question: r.string(),
100
+ order: r.number()
101
+ })
102
+ ),
103
+ /**
104
+ * Optional references related to this process step.
105
+ */
106
+ references: r.array(
107
+ r.object({
108
+ description: r.string(),
109
+ title: r.string(),
110
+ type: r.string(),
111
+ url: r.string()
112
+ })
113
+ ).nullable().optional()
114
+ })
115
+ ),
116
+ /**
117
+ * Optional list of reference documents like descriptions, links, or attachments.
118
+ *
119
+ * @example
120
+ * [
121
+ * {
122
+ * "description": "Project Proposal",
123
+ * "title": "SC-2025-001 Proposal",
124
+ * "type": "PDF",
125
+ * "url": "https://example.org/documents/SC-2025-001-proposal.pdf"
126
+ * }
127
+ * ]
128
+ */
129
+ references: r.array(
130
+ r.object({
131
+ /**
132
+ * Short description of the reference.
133
+ *
134
+ * @example "Project Proposal"
135
+ */
136
+ description: r.string(),
137
+ /**
138
+ * Title of the document or resource.
139
+ *
140
+ * @example "SC-2025-001 Proposal"
141
+ */
142
+ title: r.string(),
143
+ /**
144
+ * Type or format of the document.
145
+ *
146
+ * @example "PDF"
147
+ */
148
+ type: r.string(),
149
+ /**
150
+ * Direct link to the referenced document.
151
+ *
152
+ * @example "https://example.org/documents/SC-2025-001-proposal.pdf"
153
+ */
154
+ url: r.string()
155
+ })
156
+ ).nullable().optional(),
157
+ technical_process_steps: r.array(
158
+ r.object({
159
+ activity: r.string(),
160
+ description: r.record(r.string()),
161
+ identifier: r.string(),
162
+ methods_used: r.array(
163
+ r.object({
164
+ name: r.string(),
165
+ description: r.string()
166
+ })
167
+ ),
168
+ references: r.array(
169
+ r.object({
170
+ description: r.string(),
171
+ title: r.string(),
172
+ type: r.string(),
173
+ url: r.string()
174
+ })
175
+ ).optional(),
176
+ use_case: r.string()
177
+ })
178
+ ),
179
+ catalog: r.object({
180
+ id: r.string(),
181
+ is_part_of: r.string(),
182
+ publisher: r.object({
183
+ name: r.string(),
184
+ type: r.string(),
185
+ homepage: r.string(),
186
+ email: r.string()
187
+ })
188
+ }).optional(),
189
+ partners: r.array(
190
+ r.object({
191
+ name: r.string(),
192
+ homepage: r.string()
193
+ })
194
+ ),
195
+ contact: r.array(
196
+ r.object({
197
+ type: r.string(),
198
+ telephone: r.string(),
199
+ name: r.string(),
200
+ email: r.string()
201
+ })
202
+ ),
203
+ cost: r.object({
204
+ value: r.number(),
205
+ currency: r.string()
206
+ })
207
+ });
208
+ export {
209
+ i as schemaProject
210
+ };
@@ -0,0 +1,23 @@
1
+ import { schemaTranslatedContent as o } from "@piveau/sdk-core";
2
+ import * as t from "zod";
3
+ const e = t.object({
4
+ id: t.string(),
5
+ /**
6
+ * A short label for the device or hardware component. org:identifier, foaf:name
7
+ *
8
+ * @remark String or multilingual?
9
+ *
10
+ */
11
+ name: t.string().or(o).nullable().optional()
12
+ }), s = e.extend({
13
+ /**
14
+ * A brief summary of what the device does, including relevant specifications. dct:description, rdfs:comment
15
+ *
16
+ * @remark String or multilingual?
17
+ */
18
+ description: t.string().or(o).nullable().optional()
19
+ });
20
+ export {
21
+ e as schemaBase,
22
+ s as schemaBaseWithDescription
23
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@piveau/dpi",
3
3
  "type": "module",
4
- "version": "0.2.0-alpha.12",
4
+ "version": "0.2.0-alpha.14",
5
5
  "private": false,
6
6
  "sideEffects": [
7
7
  "*.css",
@@ -56,8 +56,8 @@
56
56
  "@histoire/plugin-vue": "1.0.0-alpha.2",
57
57
  "@phosphor-icons/vue": "^2.2.1",
58
58
  "@piveau/jsonld": "file:../../bin/piveau-jsonld-1.0.0-beta.20.tgz",
59
- "@piveau/sdk-core": "0.0.0-beta.2",
60
- "@piveau/sdk-vue": "1.0.0-beta.10",
59
+ "@piveau/sdk-core": "0.0.0-beta.4",
60
+ "@piveau/sdk-vue": "1.0.0-beta.12",
61
61
  "@popperjs/core": "^2.11.8",
62
62
  "@types/jsonld": "^1.5.15",
63
63
  "@types/node": "^24.1.0",