@piveau/dpi 0.2.0-alpha.40 → 0.2.0-alpha.42
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/BasicInfosStep/ProjectOrganisationStep.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue2.js +84 -65
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ButtonV3.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Card.vue.js +3 -3
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Card.vue2.js +30 -27
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataCollection/BasicInformationStep.vue.js +1 -1
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataCollection/BasicInformationStep.vue2.js +97 -80
- 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 +107 -90
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataSimulation/BasicInformationStep.vue.js +1 -1
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataSimulation/BasicInformationStep.vue2.js +96 -80
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataVisualisation/BasicInformationStep.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataVisualisation/BasicInformationStep.vue2.js +96 -77
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/ApplicationsStep.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/ApplicationsStep.vue2.js +120 -109
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/CategoriesStep.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/CategoriesStep.vue2.js +60 -38
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/InputField/InputFieldVeeValidate.vue.js +20 -14
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ListBox/ListboxVeeValidate.vue.js +16 -11
- 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 +140 -121
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/FunctionalityForm.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/FunctionalityForm.vue2.js +45 -49
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareForm.vue.js +1 -1
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareForm.vue2.js +179 -184
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/UrlField.vue.js +30 -0
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/UrlField.vue2.js +4 -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 +104 -92
- package/dist/packages/dpi/src/data-provider-interface/composables/useFormKitMessages.js +14 -0
- package/dist/packages/dpi/src/data-provider-interface/composables/useFormKitSummary.js +46 -0
- package/dist/packages/dpi/src/data-provider-interface/utils/useSteps.js +35 -29
- package/dist/packages/dpi/src/stories/components/LinkCard.vue.js +2 -2
- package/dist/packages/dpi/src/stories/components/LinkCard.vue2.js +24 -26
- package/dist/packages/dpi/src/stories/components/PartnerCard.vue.js +2 -2
- package/dist/packages/dpi/src/stories/components/PartnerCard.vue2.js +15 -19
- package/dist/packages/dpi/src/stories/components/ScreenshotCard.vue.js +2 -2
- package/dist/packages/dpi/src/stories/components/ScreenshotCard.vue2.js +13 -18
- package/dist/packages/dpi/src/utils/twinbyUtils.js +29 -4
- package/dist/styles/_dpi.scss +16 -0
- package/package.json +1 -1
|
@@ -1,75 +1,84 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { FormKit as
|
|
3
|
-
import { PhLightbulb as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
|
|
1
|
+
import { defineComponent as j, ref as f, computed as L, createElementBlock as h, openBlock as u, createElementVNode as t, createVNode as i, unref as l, withCtx as s, Fragment as y, renderList as k, createBlock as S, createTextVNode as U, createCommentVNode as $, withDirectives as A, vModelCheckbox as q } from "vue";
|
|
2
|
+
import { FormKit as o } from "@formkit/vue";
|
|
3
|
+
import { PhLightbulb as N } from "@phosphor-icons/vue";
|
|
4
|
+
import G from "../../../../stories/components/LinkCard.vue.js";
|
|
5
|
+
import K from "../../../../stories/components/PartnerCard.vue.js";
|
|
6
|
+
import M from "../../../../stories/components/ScreenshotCard.vue.js";
|
|
7
|
+
import { generateIsRequiredMsg as T, empty as D } from "../../../../utils/twinbyUtils.js";
|
|
8
|
+
import W from "../../../components/StepActionsSection.vue.js";
|
|
9
|
+
import v from "../ButtonV3.vue.js";
|
|
10
|
+
import R from "../Card.vue.js";
|
|
11
|
+
import Z from "../Chip.vue.js";
|
|
12
|
+
import O from "../InputField.vue.js";
|
|
13
|
+
import V from "../InputField/InputFieldDefinition.js";
|
|
14
|
+
import H from "../TextArea/TextAreaDefinition.js";
|
|
15
|
+
const J = { class: "dpiV3_page V3-typography" }, Q = {
|
|
15
16
|
id: "partners-section",
|
|
16
17
|
class: "funny-section"
|
|
17
|
-
},
|
|
18
|
+
}, X = { class: "partner-cards-container" }, Y = { class: "action-container" }, ee = { class: "funny-section" }, te = { class: "start-and-end" }, ne = { class: "funny-section" }, ie = { class: "budget-field" }, le = { class: "funny-section required-skills" }, ae = {
|
|
18
19
|
key: 0,
|
|
19
20
|
style: { display: "flex", "flex-wrap": "wrap" }
|
|
20
|
-
},
|
|
21
|
+
}, re = ["id", "value"], se = ["for"], oe = { class: "action-container" }, ue = {
|
|
21
22
|
id: "partners-section",
|
|
22
23
|
class: "funny-section"
|
|
23
|
-
},
|
|
24
|
+
}, de = { class: "partner-cards-container" }, me = { class: "action-container" }, pe = {
|
|
24
25
|
id: "partners-section",
|
|
25
26
|
class: "funny-section"
|
|
26
|
-
},
|
|
27
|
+
}, ce = { class: "partner-cards-container" }, fe = { class: "action-container" }, he = 500, Pe = /* @__PURE__ */ j({
|
|
27
28
|
__name: "OptionalDataStep",
|
|
28
|
-
setup(
|
|
29
|
-
const x =
|
|
30
|
-
var
|
|
31
|
-
return ((
|
|
32
|
-
}),
|
|
33
|
-
function
|
|
34
|
-
if (
|
|
35
|
-
const e =
|
|
36
|
-
|
|
29
|
+
setup(ve) {
|
|
30
|
+
const x = f(""), C = f([]), w = f([]), _ = f([]), P = L(() => {
|
|
31
|
+
var a;
|
|
32
|
+
return ((a = x.value) == null ? void 0 : a.length) || 0;
|
|
33
|
+
}), b = f(""), d = f([]);
|
|
34
|
+
function B(a) {
|
|
35
|
+
if (a && a.trim()) {
|
|
36
|
+
const e = a.trim();
|
|
37
|
+
d.value.includes(e) || d.value.push(e), b.value = "";
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
|
-
const z =
|
|
40
|
-
|
|
40
|
+
const z = f("");
|
|
41
|
+
function E(a) {
|
|
42
|
+
return a._value === null || a._value === void 0 ? !0 : typeof a._value != "string" ? !1 : /^\d*$/.test(a._value);
|
|
43
|
+
}
|
|
44
|
+
function I(a) {
|
|
45
|
+
var r;
|
|
46
|
+
const e = a.at("$parent"), n = (r = e == null ? void 0 : e.value) == null ? void 0 : r.endDate;
|
|
47
|
+
return n ? D(n) ? !0 : !D(a.value) : !0;
|
|
48
|
+
}
|
|
49
|
+
return I.skipEmpty = !1, (a, e) => (u(), h("div", J, [
|
|
41
50
|
e[24] || (e[24] = t("section", { class: "funny-section" }, [
|
|
42
51
|
t("div", { class: "funny-flex" }, [
|
|
43
52
|
t("h4", null, "Fügen Sie optionale Daten hinzu"),
|
|
44
53
|
t("span", { class: "copy-large-regular" }, " Zusätzliche Informationen, wie etwa zur Laufzeit oder zum Budgetrahmen Ihres Projekts, können für andere Kommunen hilfreich sein. ")
|
|
45
54
|
])
|
|
46
55
|
], -1)),
|
|
47
|
-
t("section",
|
|
56
|
+
t("section", Q, [
|
|
48
57
|
e[9] || (e[9] = t("h5", null, " Partner ", -1)),
|
|
49
58
|
e[10] || (e[10] = t("span", { class: "copy-large-regular" }, "Wenn Sie mit einem oder mehreren Partnern zusammengearbeitet haben, können Sie diese hier angeben.", -1)),
|
|
50
|
-
t("div",
|
|
51
|
-
i(l(
|
|
59
|
+
t("div", X, [
|
|
60
|
+
i(l(o), {
|
|
52
61
|
modelValue: C.value,
|
|
53
62
|
"onUpdate:modelValue": e[0] || (e[0] = (n) => C.value = n),
|
|
54
63
|
type: "list",
|
|
55
64
|
name: "partners",
|
|
56
65
|
dynamic: ""
|
|
57
66
|
}, {
|
|
58
|
-
default:
|
|
59
|
-
(
|
|
60
|
-
key:
|
|
67
|
+
default: s(({ items: n, node: r, value: m }) => [
|
|
68
|
+
(u(!0), h(y, null, k(n, (p, c) => (u(), S(l(o), {
|
|
69
|
+
key: p,
|
|
61
70
|
type: "group",
|
|
62
|
-
index:
|
|
71
|
+
index: c
|
|
63
72
|
}, {
|
|
64
|
-
default:
|
|
65
|
-
i(
|
|
66
|
-
action:
|
|
67
|
-
i(
|
|
73
|
+
default: s(() => [
|
|
74
|
+
i(K, null, {
|
|
75
|
+
action: s(() => [
|
|
76
|
+
i(v, {
|
|
68
77
|
"button-text": "Löschen",
|
|
69
78
|
size: "small",
|
|
70
79
|
variant: "tertiary",
|
|
71
80
|
"icon-start": "trash",
|
|
72
|
-
onClick: () =>
|
|
81
|
+
onClick: () => r.input(m.filter((F, g) => g !== c))
|
|
73
82
|
}, null, 8, ["onClick"])
|
|
74
83
|
]),
|
|
75
84
|
_: 2
|
|
@@ -77,13 +86,13 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
|
|
|
77
86
|
]),
|
|
78
87
|
_: 2
|
|
79
88
|
}, 1032, ["index"]))), 128)),
|
|
80
|
-
t("div",
|
|
81
|
-
i(
|
|
89
|
+
t("div", Y, [
|
|
90
|
+
i(v, {
|
|
82
91
|
"button-text": "Partner hinzufügen",
|
|
83
92
|
size: "medium",
|
|
84
93
|
variant: "tertiary",
|
|
85
94
|
"icon-start": "plus",
|
|
86
|
-
onClick: (
|
|
95
|
+
onClick: (p) => r.input(m.concat({}))
|
|
87
96
|
}, null, 8, ["onClick"])
|
|
88
97
|
])
|
|
89
98
|
]),
|
|
@@ -91,12 +100,12 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
|
|
|
91
100
|
}, 8, ["modelValue"])
|
|
92
101
|
])
|
|
93
102
|
]),
|
|
94
|
-
t("section",
|
|
103
|
+
t("section", ee, [
|
|
95
104
|
e[11] || (e[11] = t("h5", null, " Projektzeitraum ", -1)),
|
|
96
105
|
e[12] || (e[12] = t("span", { class: "copy-large-regular" }, "Für Projekte, die noch nicht abgeschlossen sind, können Sie das Enddatum frei lassen.", -1)),
|
|
97
|
-
t("div",
|
|
98
|
-
i(l(
|
|
99
|
-
type: l(
|
|
106
|
+
t("div", te, [
|
|
107
|
+
i(l(o), {
|
|
108
|
+
type: l(V),
|
|
100
109
|
name: "startDate",
|
|
101
110
|
"text-label": "Startdatum",
|
|
102
111
|
"input-type": "date",
|
|
@@ -106,10 +115,15 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
|
|
|
106
115
|
"info-icon": !1,
|
|
107
116
|
"pre-icon": !1,
|
|
108
117
|
"show-end-icon": !1,
|
|
109
|
-
"initial-hint-text": !1
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
118
|
+
"initial-hint-text": !1,
|
|
119
|
+
"validation-rules": { requireIfEndDate: I },
|
|
120
|
+
validation: "+requireIfEndDate",
|
|
121
|
+
"validation-visibility": "submit",
|
|
122
|
+
"validation-label": "Startdatum",
|
|
123
|
+
"validation-messages": { requireIfEndDate: l(T)("Startdatum") }
|
|
124
|
+
}, null, 8, ["type", "validation-rules", "validation-messages"]),
|
|
125
|
+
i(l(o), {
|
|
126
|
+
type: l(V),
|
|
113
127
|
name: "endDate",
|
|
114
128
|
"text-label": "Enddatum",
|
|
115
129
|
"input-type": "date",
|
|
@@ -123,37 +137,42 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
|
|
|
123
137
|
}, null, 8, ["type"])
|
|
124
138
|
])
|
|
125
139
|
]),
|
|
126
|
-
t("section",
|
|
140
|
+
t("section", ne, [
|
|
127
141
|
e[16] || (e[16] = t("h5", null, "Budget", -1)),
|
|
128
142
|
e[17] || (e[17] = t("div", { class: "budget" }, [
|
|
129
143
|
t("span", { class: "copy-large-regular" }, " Bitte geben Sie hier das Gesamtbudget für Ihr Projekt an. ")
|
|
130
144
|
], -1)),
|
|
131
|
-
t("div",
|
|
132
|
-
i(l(
|
|
145
|
+
t("div", ie, [
|
|
146
|
+
i(l(o), {
|
|
133
147
|
modelValue: z.value,
|
|
134
148
|
"onUpdate:modelValue": e[1] || (e[1] = (n) => z.value = n),
|
|
135
|
-
type: l(S),
|
|
136
149
|
name: "budget",
|
|
150
|
+
number: "",
|
|
137
151
|
"trailing-text": !0,
|
|
138
152
|
trailing_text: "€",
|
|
139
|
-
|
|
153
|
+
"class-list": "budget-field-input",
|
|
140
154
|
"text-label": "Budget",
|
|
141
155
|
placeholder: "....",
|
|
142
|
-
|
|
143
|
-
validation:
|
|
156
|
+
"input-style": { paddingRight: "50px" },
|
|
157
|
+
"validation-rules": { numeric: E },
|
|
158
|
+
validation: "numeric",
|
|
144
159
|
"validation-visibility": "submit",
|
|
145
160
|
inputmode: "numeric",
|
|
146
|
-
|
|
147
|
-
|
|
161
|
+
type: l(V),
|
|
162
|
+
pattern: "[0-9]*",
|
|
163
|
+
"validation-messages": {
|
|
164
|
+
numeric: "Budget muss eine Zahl sein, ohne Sonderzeichen."
|
|
165
|
+
}
|
|
166
|
+
}, null, 8, ["modelValue", "validation-rules", "type"]),
|
|
148
167
|
e[13] || (e[13] = t("div", { class: "euro-icon" }, " € ", -1))
|
|
149
168
|
]),
|
|
150
|
-
i(l(
|
|
169
|
+
i(l(o), {
|
|
151
170
|
id: "Förderung",
|
|
152
171
|
modelValue: x.value,
|
|
153
172
|
"onUpdate:modelValue": e[2] || (e[2] = (n) => x.value = n),
|
|
154
173
|
class: "budgetArea",
|
|
155
174
|
label: "Förderung (optional)",
|
|
156
|
-
type: l(
|
|
175
|
+
type: l(H),
|
|
157
176
|
name: "budgetDescription",
|
|
158
177
|
"text-label": "Förderung (optional)",
|
|
159
178
|
placeholder: "Beschreiben Sie welche Förderung Sie erhalten haben.",
|
|
@@ -161,20 +180,20 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
|
|
|
161
180
|
validation: "length:0,500",
|
|
162
181
|
"validation-visibility": "live",
|
|
163
182
|
hint: "true",
|
|
164
|
-
help: `${P.value} von ${
|
|
183
|
+
help: `${P.value} von ${he} Zeichen`,
|
|
165
184
|
"count-hint": !0
|
|
166
185
|
}, null, 8, ["modelValue", "type", "disabled", "help"]),
|
|
167
|
-
i(
|
|
168
|
-
icon:
|
|
169
|
-
i(l(
|
|
186
|
+
i(R, { variant: "default" }, {
|
|
187
|
+
icon: s(() => [
|
|
188
|
+
i(l(N), {
|
|
170
189
|
size: 32,
|
|
171
190
|
color: "#009fe3"
|
|
172
191
|
})
|
|
173
192
|
]),
|
|
174
|
-
title:
|
|
175
|
-
|
|
193
|
+
title: s(() => e[14] || (e[14] = [
|
|
194
|
+
U(" Information ", -1)
|
|
176
195
|
])),
|
|
177
|
-
default:
|
|
196
|
+
default: s(() => [
|
|
178
197
|
e[15] || (e[15] = t("div", { class: "copy-large-regular" }, [
|
|
179
198
|
t("p", null, "Ihre Angabe zum Gesamtbudget hilft anderen Kommunen, den Umfang Ihres Projekts besser einzuschätzen. Sie können hier auch einen Schätzwert eingeben, falls das Projekt z.B. noch nicht abgeschlossen ist. Wenn Sie eine Förderung erhalten und das Projekt ausschließlich damit finanziert haben, geben Sie die Fördersumme als Ihr Gesamtbudget an.")
|
|
180
199
|
], -1))
|
|
@@ -183,34 +202,34 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
|
|
|
183
202
|
__: [15]
|
|
184
203
|
})
|
|
185
204
|
]),
|
|
186
|
-
t("section",
|
|
205
|
+
t("section", le, [
|
|
187
206
|
e[18] || (e[18] = t("h5", null, "Erforderliche Fachkompetenzen", -1)),
|
|
188
207
|
e[19] || (e[19] = t("p", null, "Damit andere Kommunen besser einschätzen können, welche Fachkenntnisse das Projektteam mitbringen sollte, bitten wir Sie, hier die Kompetenzfelder anzugeben, die für Ihr Projekt am Wichtigsten waren (z.B. Datenmanagement oder Projektmanagement).", -1)),
|
|
189
|
-
i(l(
|
|
190
|
-
modelValue:
|
|
191
|
-
"onUpdate:modelValue": e[3] || (e[3] = (n) =>
|
|
208
|
+
i(l(o), {
|
|
209
|
+
modelValue: d.value,
|
|
210
|
+
"onUpdate:modelValue": e[3] || (e[3] = (n) => d.value = n),
|
|
192
211
|
type: "hidden",
|
|
193
212
|
name: "requiredExpertise"
|
|
194
213
|
}, null, 8, ["modelValue"]),
|
|
195
|
-
|
|
196
|
-
(
|
|
214
|
+
d.value.length > 0 ? (u(), h("div", ae, [
|
|
215
|
+
(u(!0), h(y, null, k(d.value, (n) => (u(), h("div", {
|
|
197
216
|
key: n,
|
|
198
217
|
class: "label-chip"
|
|
199
218
|
}, [
|
|
200
|
-
|
|
219
|
+
A(t("input", {
|
|
201
220
|
id: `hardware-${n}`,
|
|
202
|
-
"onUpdate:modelValue": e[4] || (e[4] = (
|
|
221
|
+
"onUpdate:modelValue": e[4] || (e[4] = (r) => d.value = r),
|
|
203
222
|
class: "label-chip__input",
|
|
204
223
|
type: "checkbox",
|
|
205
224
|
value: n
|
|
206
|
-
}, null, 8,
|
|
207
|
-
[
|
|
225
|
+
}, null, 8, re), [
|
|
226
|
+
[q, d.value]
|
|
208
227
|
]),
|
|
209
228
|
t("label", {
|
|
210
229
|
class: "label-chip__label",
|
|
211
230
|
for: `hardware-${n}`
|
|
212
231
|
}, [
|
|
213
|
-
i(
|
|
232
|
+
i(Z, {
|
|
214
233
|
class: "label-chip__inner",
|
|
215
234
|
text: n,
|
|
216
235
|
data: {
|
|
@@ -223,12 +242,12 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
|
|
|
223
242
|
"@inTable": !1
|
|
224
243
|
}
|
|
225
244
|
}, null, 8, ["text", "data"])
|
|
226
|
-
], 8,
|
|
245
|
+
], 8, se)
|
|
227
246
|
]))), 128))
|
|
228
|
-
])) :
|
|
229
|
-
i(
|
|
230
|
-
modelValue:
|
|
231
|
-
"onUpdate:modelValue": e[5] || (e[5] = (n) =>
|
|
247
|
+
])) : $("", !0),
|
|
248
|
+
i(O, {
|
|
249
|
+
modelValue: b.value,
|
|
250
|
+
"onUpdate:modelValue": e[5] || (e[5] = (n) => b.value = n),
|
|
232
251
|
label: "Erforderliche Fachkompetenz",
|
|
233
252
|
"input-type": "text",
|
|
234
253
|
placeholder: "Nennen Sie eine Fachkompetenz.",
|
|
@@ -239,42 +258,42 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
|
|
|
239
258
|
"show-end-icon": !1,
|
|
240
259
|
"initial-hint-text": !1
|
|
241
260
|
}, null, 8, ["modelValue"]),
|
|
242
|
-
t("div",
|
|
243
|
-
i(
|
|
261
|
+
t("div", oe, [
|
|
262
|
+
i(v, {
|
|
244
263
|
"button-text": "Fachkompetenz hinzufügen",
|
|
245
264
|
size: "medium",
|
|
246
265
|
variant: "tertiary",
|
|
247
266
|
"icon-start": "plus",
|
|
248
|
-
onClick: e[6] || (e[6] = (n) =>
|
|
267
|
+
onClick: e[6] || (e[6] = (n) => B(b.value))
|
|
249
268
|
})
|
|
250
269
|
])
|
|
251
270
|
]),
|
|
252
|
-
t("section",
|
|
271
|
+
t("section", ue, [
|
|
253
272
|
e[20] || (e[20] = t("h5", null, " Screenshots ", -1)),
|
|
254
273
|
e[21] || (e[21] = t("span", { class: "copy-large-regular" }, "Bilder oder Screenshots helfen einen besseren Eindruck von Ihrem Projekt zu bekommen. Aus rechtlichen und technischen Gründen können Sie keine Dateien hochladen. Geben Sie daher bitte die URL an, unter der das Bild oder der Screenshot dauerhaft zu erreichen sein wird.", -1)),
|
|
255
|
-
t("div",
|
|
256
|
-
i(l(
|
|
274
|
+
t("div", de, [
|
|
275
|
+
i(l(o), {
|
|
257
276
|
modelValue: w.value,
|
|
258
277
|
"onUpdate:modelValue": e[7] || (e[7] = (n) => w.value = n),
|
|
259
278
|
type: "list",
|
|
260
279
|
name: "references",
|
|
261
280
|
dynamic: ""
|
|
262
281
|
}, {
|
|
263
|
-
default:
|
|
264
|
-
(
|
|
265
|
-
key:
|
|
282
|
+
default: s(({ items: n, node: r, value: m }) => [
|
|
283
|
+
(u(!0), h(y, null, k(n, (p, c) => (u(), S(l(o), {
|
|
284
|
+
key: p,
|
|
266
285
|
type: "group",
|
|
267
|
-
index:
|
|
286
|
+
index: c
|
|
268
287
|
}, {
|
|
269
|
-
default:
|
|
270
|
-
i(
|
|
271
|
-
action:
|
|
272
|
-
i(
|
|
288
|
+
default: s(() => [
|
|
289
|
+
i(M, null, {
|
|
290
|
+
action: s(() => [
|
|
291
|
+
i(v, {
|
|
273
292
|
"button-text": "Löschen",
|
|
274
293
|
size: "small",
|
|
275
294
|
variant: "tertiary",
|
|
276
295
|
"icon-start": "trash",
|
|
277
|
-
onClick: () =>
|
|
296
|
+
onClick: () => r.input(m.filter((F, g) => g !== c))
|
|
278
297
|
}, null, 8, ["onClick"])
|
|
279
298
|
]),
|
|
280
299
|
_: 2
|
|
@@ -282,13 +301,13 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
|
|
|
282
301
|
]),
|
|
283
302
|
_: 2
|
|
284
303
|
}, 1032, ["index"]))), 128)),
|
|
285
|
-
t("div",
|
|
286
|
-
i(
|
|
304
|
+
t("div", me, [
|
|
305
|
+
i(v, {
|
|
287
306
|
"button-text": "Screenshot hinzufügen",
|
|
288
307
|
size: "medium",
|
|
289
308
|
variant: "tertiary",
|
|
290
309
|
"icon-start": "plus",
|
|
291
|
-
onClick: (
|
|
310
|
+
onClick: (p) => r.input(m.concat({}))
|
|
292
311
|
}, null, 8, ["onClick"])
|
|
293
312
|
])
|
|
294
313
|
]),
|
|
@@ -296,32 +315,32 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
|
|
|
296
315
|
}, 8, ["modelValue"])
|
|
297
316
|
])
|
|
298
317
|
]),
|
|
299
|
-
t("section",
|
|
318
|
+
t("section", pe, [
|
|
300
319
|
e[22] || (e[22] = t("h5", null, " Weiterführende Links ", -1)),
|
|
301
320
|
e[23] || (e[23] = t("span", { class: "copy-large-regular" }, "Fügen Sie hier Links zu Dokumenten hinzu, die weitere Informationen zu Ihrer Vorgehensweise beim Aufbau eines Digitalen Zwillings enthalten, wie etwa Status- oder Abschlussberichte.", -1)),
|
|
302
|
-
t("div",
|
|
303
|
-
i(l(
|
|
321
|
+
t("div", ce, [
|
|
322
|
+
i(l(o), {
|
|
304
323
|
modelValue: _.value,
|
|
305
324
|
"onUpdate:modelValue": e[8] || (e[8] = (n) => _.value = n),
|
|
306
325
|
type: "list",
|
|
307
326
|
name: "links",
|
|
308
327
|
dynamic: ""
|
|
309
328
|
}, {
|
|
310
|
-
default:
|
|
311
|
-
(
|
|
312
|
-
key:
|
|
329
|
+
default: s(({ items: n, node: r, value: m }) => [
|
|
330
|
+
(u(!0), h(y, null, k(n, (p, c) => (u(), S(l(o), {
|
|
331
|
+
key: p,
|
|
313
332
|
type: "group",
|
|
314
|
-
index:
|
|
333
|
+
index: c
|
|
315
334
|
}, {
|
|
316
|
-
default:
|
|
317
|
-
i(
|
|
318
|
-
action:
|
|
319
|
-
i(
|
|
335
|
+
default: s(() => [
|
|
336
|
+
i(G, null, {
|
|
337
|
+
action: s(() => [
|
|
338
|
+
i(v, {
|
|
320
339
|
"button-text": "Löschen",
|
|
321
340
|
size: "small",
|
|
322
341
|
variant: "tertiary",
|
|
323
342
|
"icon-start": "trash",
|
|
324
|
-
onClick: () =>
|
|
343
|
+
onClick: () => r.input(m.filter((F, g) => g !== c))
|
|
325
344
|
}, null, 8, ["onClick"])
|
|
326
345
|
]),
|
|
327
346
|
_: 2
|
|
@@ -329,13 +348,13 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
|
|
|
329
348
|
]),
|
|
330
349
|
_: 2
|
|
331
350
|
}, 1032, ["index"]))), 128)),
|
|
332
|
-
t("div",
|
|
333
|
-
i(
|
|
351
|
+
t("div", fe, [
|
|
352
|
+
i(v, {
|
|
334
353
|
"button-text": "Link hinzufügen",
|
|
335
354
|
size: "medium",
|
|
336
355
|
variant: "tertiary",
|
|
337
356
|
"icon-start": "plus",
|
|
338
|
-
onClick: (
|
|
357
|
+
onClick: (p) => r.input(m.concat({}))
|
|
339
358
|
}, null, 8, ["onClick"])
|
|
340
359
|
])
|
|
341
360
|
]),
|
|
@@ -343,10 +362,10 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
|
|
|
343
362
|
}, 8, ["modelValue"])
|
|
344
363
|
])
|
|
345
364
|
]),
|
|
346
|
-
i(
|
|
365
|
+
i(W, { "next-text": "Weiter zu den Projektphasen" })
|
|
347
366
|
]));
|
|
348
367
|
}
|
|
349
368
|
});
|
|
350
369
|
export {
|
|
351
|
-
|
|
370
|
+
Pe as default
|
|
352
371
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./FunctionalityForm.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const
|
|
4
|
+
const i = /* @__PURE__ */ t(o, [["__scopeId", "data-v-9d393151"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
i as default
|
|
7
7
|
};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { toTypedSchema as
|
|
3
|
-
import { useForm as
|
|
4
|
-
import * as
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
const
|
|
1
|
+
import { defineComponent as C, mergeModels as _, useModel as N, computed as y, ref as v, watch as x, createElementBlock as a, openBlock as u, createCommentVNode as A, createVNode as s, createElementVNode as h, Fragment as B, renderList as E, unref as M } from "vue";
|
|
2
|
+
import { toTypedSchema as R } from "../../../../../../../node_modules/.pnpm/@vee-validate_zod@4.15.1_vue@3.5.18_typescript@5.8.3__zod@3.25.76/node_modules/@vee-validate/zod/dist/vee-validate-zod.js";
|
|
3
|
+
import { useForm as U } from "vee-validate";
|
|
4
|
+
import * as c from "zod";
|
|
5
|
+
import z from "../ButtonV3.vue.js";
|
|
6
|
+
import O from "../Chip.vue.js";
|
|
7
|
+
import T from "../InputField/InputFieldVeeValidate.vue.js";
|
|
8
|
+
import $ from "../ListBox/ListboxVeeValidate.vue.js";
|
|
9
|
+
const j = { class: "functionality-form" }, w = {
|
|
10
10
|
key: 0,
|
|
11
11
|
class: "functionalities-container"
|
|
12
|
-
},
|
|
12
|
+
}, D = { class: "step-section-actions" }, L = "Funktionalität ist erforderlich.", K = /* @__PURE__ */ C({
|
|
13
13
|
__name: "FunctionalityForm",
|
|
14
|
-
props: /* @__PURE__ */
|
|
14
|
+
props: /* @__PURE__ */ _({
|
|
15
15
|
options: {},
|
|
16
16
|
disabled: { type: Boolean, default: !1 }
|
|
17
17
|
}, {
|
|
@@ -22,28 +22,24 @@ const w = { class: "functionality-form" }, D = {
|
|
|
22
22
|
}),
|
|
23
23
|
emits: ["update:modelValue"],
|
|
24
24
|
setup(m) {
|
|
25
|
-
const
|
|
25
|
+
const b = m, i = N(m, "modelValue"), r = y(
|
|
26
26
|
() => Array.from(i.value || [])
|
|
27
|
-
),
|
|
27
|
+
), F = y(() => {
|
|
28
28
|
var e, n;
|
|
29
|
-
const t =
|
|
30
|
-
return (n = (e =
|
|
31
|
-
}),
|
|
32
|
-
functionalitySelect:
|
|
33
|
-
functionalityInput:
|
|
29
|
+
const t = r.value.join(" ");
|
|
30
|
+
return (n = (e = b.options) == null ? void 0 : e.filter((l) => !t.includes(l))) == null ? void 0 : n.sort((l, p) => l.localeCompare(p));
|
|
31
|
+
}), S = c.object({
|
|
32
|
+
functionalitySelect: c.string().optional(),
|
|
33
|
+
functionalityInput: c.string().optional()
|
|
34
34
|
}).superRefine((t, e) => {
|
|
35
35
|
const n = t.functionalitySelect && t.functionalitySelect.trim().length > 0, l = t.functionalityInput && t.functionalityInput.trim().length > 0;
|
|
36
|
-
!n && !l &&
|
|
37
|
-
code:
|
|
38
|
-
message:
|
|
39
|
-
path: ["functionalitySelect"]
|
|
40
|
-
}), e.addIssue({
|
|
41
|
-
code: o.ZodIssueCode.custom,
|
|
42
|
-
message: b,
|
|
36
|
+
!n && !l && e.addIssue({
|
|
37
|
+
code: c.ZodIssueCode.custom,
|
|
38
|
+
message: L,
|
|
43
39
|
path: ["functionalityInput"]
|
|
44
|
-
})
|
|
45
|
-
}), V =
|
|
46
|
-
validationSchema:
|
|
40
|
+
});
|
|
41
|
+
}), V = U({
|
|
42
|
+
validationSchema: R(S),
|
|
47
43
|
initialValues: {
|
|
48
44
|
functionalitySelect: "",
|
|
49
45
|
functionalityInput: ""
|
|
@@ -51,26 +47,26 @@ const w = { class: "functionality-form" }, D = {
|
|
|
51
47
|
name: "functionalityForm"
|
|
52
48
|
}), {
|
|
53
49
|
handleSubmit: k,
|
|
54
|
-
resetForm:
|
|
55
|
-
} = V,
|
|
50
|
+
resetForm: I
|
|
51
|
+
} = V, o = v(""), d = v(""), f = k((t) => {
|
|
56
52
|
var n;
|
|
57
53
|
const e = t.functionalitySelect || t.functionalityInput;
|
|
58
|
-
e && e.trim().length > 0 && !((n = i.value) != null && n.includes(e)) && (i.value = [...i.value || [], e]),
|
|
54
|
+
e && e.trim().length > 0 && !((n = i.value) != null && n.includes(e)) && (i.value = [...i.value || [], e]), I(), o.value = "", d.value = "";
|
|
59
55
|
});
|
|
60
|
-
|
|
56
|
+
x(o, (t) => {
|
|
61
57
|
t && t.trim().length > 0 && f();
|
|
62
58
|
});
|
|
63
|
-
function
|
|
59
|
+
function g(t) {
|
|
64
60
|
var e;
|
|
65
61
|
i.value = ((e = i.value) == null ? void 0 : e.filter((n) => n !== t)) || [];
|
|
66
62
|
}
|
|
67
|
-
return (t, e) => (u(),
|
|
68
|
-
|
|
69
|
-
(u(!0),
|
|
63
|
+
return (t, e) => (u(), a("div", j, [
|
|
64
|
+
r.value.length > 0 ? (u(), a("div", w, [
|
|
65
|
+
(u(!0), a(B, null, E(r.value, (n, l) => (u(), a("div", {
|
|
70
66
|
key: l,
|
|
71
67
|
class: "functionalities"
|
|
72
68
|
}, [
|
|
73
|
-
|
|
69
|
+
s(O, {
|
|
74
70
|
text: n,
|
|
75
71
|
setup: {
|
|
76
72
|
"@type": "select",
|
|
@@ -81,23 +77,23 @@ const w = { class: "functionality-form" }, D = {
|
|
|
81
77
|
},
|
|
82
78
|
data: { "@value": n, URI: n },
|
|
83
79
|
"select-value": !0,
|
|
84
|
-
onClick: (p) =>
|
|
80
|
+
onClick: (p) => g(n)
|
|
85
81
|
}, null, 8, ["text", "data", "onClick"])
|
|
86
82
|
]))), 128))
|
|
87
|
-
])) :
|
|
88
|
-
|
|
89
|
-
modelValue:
|
|
90
|
-
"onUpdate:modelValue": e[0] || (e[0] = (n) =>
|
|
83
|
+
])) : A("", !0),
|
|
84
|
+
s($, {
|
|
85
|
+
modelValue: o.value,
|
|
86
|
+
"onUpdate:modelValue": e[0] || (e[0] = (n) => o.value = n),
|
|
91
87
|
name: "functionalitySelect",
|
|
92
|
-
options:
|
|
88
|
+
options: F.value,
|
|
93
89
|
label: "Funktionalitäten auswählen",
|
|
94
90
|
placeholder: "Wählen Sie eine Funktionalität.",
|
|
95
91
|
disabled: t.disabled
|
|
96
92
|
}, null, 8, ["modelValue", "options", "disabled"]),
|
|
97
93
|
e[2] || (e[2] = h("h5", null, " oder ", -1)),
|
|
98
|
-
|
|
99
|
-
modelValue:
|
|
100
|
-
"onUpdate:modelValue": e[1] || (e[1] = (n) =>
|
|
94
|
+
s(T, {
|
|
95
|
+
modelValue: d.value,
|
|
96
|
+
"onUpdate:modelValue": e[1] || (e[1] = (n) => d.value = n),
|
|
101
97
|
name: "functionalityInput",
|
|
102
98
|
"add-on-text": !1,
|
|
103
99
|
"date-picker": !1,
|
|
@@ -108,14 +104,14 @@ const w = { class: "functionality-form" }, D = {
|
|
|
108
104
|
label: "Funktionalitäten nennen",
|
|
109
105
|
placeholder: "Nennen Sie eine Funktionalität."
|
|
110
106
|
}, null, 8, ["modelValue", "is-disabled"]),
|
|
111
|
-
h("div",
|
|
112
|
-
|
|
107
|
+
h("div", D, [
|
|
108
|
+
s(z, {
|
|
113
109
|
"button-text": "Funktionalität hinzufügen",
|
|
114
110
|
size: "medium",
|
|
115
111
|
variant: "tertiary",
|
|
116
112
|
"icon-start": "plus",
|
|
117
113
|
disabled: t.disabled,
|
|
118
|
-
onClick:
|
|
114
|
+
onClick: M(f)
|
|
119
115
|
}, null, 8, ["disabled", "onClick"])
|
|
120
116
|
])
|
|
121
117
|
]));
|