@piveau/dpi 0.2.0-alpha.63 → 0.2.0-alpha.64

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.
@@ -1,7 +1,7 @@
1
1
  import o from "./Organisation.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-30e2628b"]]);
4
+ const i = /* @__PURE__ */ t(o, [["__scopeId", "data-v-f383bec8"]]);
5
5
  export {
6
- m as default
6
+ i as default
7
7
  };
@@ -1,69 +1,73 @@
1
- import { defineComponent as h, computed as r, createElementBlock as s, openBlock as t, createElementVNode as i, unref as m, Fragment as f, toDisplayString as n } from "vue";
2
- import { useOrganizationInfo as k } from "../composables/useOrganizationInfo.js";
3
- import { useTwinbyUser as y } from "../composables/useTwinbyUser.js";
4
- const b = { class: "dpiV3_organisation" }, V = { class: "dpiV3_organisationInfo" }, T = { key: 0 }, I = { key: 0 }, O = {
1
+ import { defineComponent as m, computed as n, createElementBlock as t, openBlock as a, createElementVNode as i, unref as f, Fragment as k, toDisplayString as l } from "vue";
2
+ import { useOrganizationInfo as y } from "../composables/useOrganizationInfo.js";
3
+ import { useTwinbyUser as b } from "../composables/useTwinbyUser.js";
4
+ const V = { class: "dpiV3_organisation" }, T = { class: "dpiV3_organisationInfo" }, I = { key: 0 }, O = { key: 0 }, E = {
5
5
  key: 1,
6
6
  class: "not-available"
7
- }, E = { class: "dpiV3_organisationData" }, S = {
7
+ }, S = { class: "dpiV3_organisationData" }, C = {
8
8
  key: 0,
9
9
  class: "dpiV3_organisationTitle"
10
- }, C = ["src"], D = { key: 1 }, F = { class: "info-wrapper" }, L = { class: "dpiV3_organisationTitle" }, w = { key: 0 }, x = {
10
+ }, D = ["src"], F = { key: 1 }, L = { class: "info-wrapper" }, w = { class: "dpiV3_organisationTitle" }, x = { key: 0 }, z = {
11
11
  key: 1,
12
12
  class: "not-available"
13
- }, z = { key: 2 }, B = {
13
+ }, B = { key: 2 }, N = {
14
14
  key: 3,
15
15
  class: "not-available"
16
- }, N = { class: "dpiV3_organisationTitle" }, M = { key: 0 }, P = {
16
+ }, W = { class: "dpiV3_organisationTitle" }, M = { key: 0 }, P = {
17
17
  key: 1,
18
18
  class: "not-available"
19
- }, A = /* @__PURE__ */ h({
19
+ }, G = /* @__PURE__ */ m({
20
20
  __name: "Organisation",
21
21
  setup(U) {
22
- const { organization: p, authToken: v, startFetchPermissions: u } = y();
22
+ const { organization: p, authToken: v, startFetchPermissions: u } = b();
23
23
  u();
24
- const { resultEnhanced: l, isLoading: g } = k({
24
+ const { resultEnhanced: r, isLoading: g } = y({
25
25
  id: p,
26
26
  authToken: v
27
- }), d = r(
27
+ }), d = n(
28
28
  () => {
29
- var a, e;
30
- return ((e = (a = l.value) == null ? void 0 : a.publisher) == null ? void 0 : e.name) || "";
29
+ var s, e;
30
+ return ((e = (s = r.value) == null ? void 0 : s.publisher) == null ? void 0 : e.name) || "";
31
31
  }
32
- ), c = r(
32
+ ), c = n(
33
33
  () => {
34
- var a, e;
35
- return ((e = (a = l.value) == null ? void 0 : a.catalogueFavIcon) == null ? void 0 : e[0]) || "";
34
+ var s, e;
35
+ return ((e = (s = r.value) == null ? void 0 : s.catalogueFavIcon) == null ? void 0 : e[0]) || "";
36
36
  }
37
- ), o = r(() => {
38
- var a, e;
39
- return ((e = (a = l.value) == null ? void 0 : a.publisher) == null ? void 0 : e.address) || {};
40
- }), _ = r(() => {
41
- var a;
42
- return ((a = l.value) == null ? void 0 : a.publisher) || {};
37
+ ), o = n(() => {
38
+ var s, e;
39
+ return ((e = (s = r.value) == null ? void 0 : s.publisher) == null ? void 0 : e.address) || {};
40
+ }), _ = n(() => {
41
+ var s;
42
+ return ((s = r.value) == null ? void 0 : s.publisher) || {};
43
+ }), h = n(() => {
44
+ var e;
45
+ const s = ((e = _.value) == null ? void 0 : e.email) || "";
46
+ return s.startsWith("mailto:") ? s.substring(7) : s;
43
47
  });
44
- return (a, e) => (t(), s("div", b, [
48
+ return (s, e) => (a(), t("div", V, [
45
49
  e[2] || (e[2] = i("h3", { class: "dpiV3_organisationTitle" }, " Ihre Organisation ", -1)),
46
50
  e[3] || (e[3] = i("p", { class: "dpiV3_organisationDescription" }, " Wenn Sie die Informationen Ihrer Organisation ändern möchten, kontaktieren Sie uns gerne. ", -1)),
47
- i("div", V, [
48
- m(g) ? (t(), s("p", T, "Lade Organisationsdaten...")) : (t(), s(f, { key: 1 }, [
49
- d.value ? (t(), s("p", I, n(d.value), 1)) : (t(), s("p", O, " Name nicht verfügbar ")),
50
- i("div", E, [
51
- c.value ? (t(), s("div", S, [
51
+ i("div", T, [
52
+ f(g) ? (a(), t("p", I, "Lade Organisationsdaten...")) : (a(), t(k, { key: 1 }, [
53
+ d.value ? (a(), t("p", O, l(d.value), 1)) : (a(), t("p", E, " Name nicht verfügbar ")),
54
+ i("div", S, [
55
+ c.value ? (a(), t("div", C, [
52
56
  i("img", {
53
57
  src: c.value,
54
58
  alt: ""
55
- }, null, 8, C)
56
- ])) : (t(), s("div", D, e[0] || (e[0] = [
59
+ }, null, 8, D)
60
+ ])) : (a(), t("div", F, e[0] || (e[0] = [
57
61
  i("div", { class: "avatar-circle" }, null, -1)
58
62
  ]))),
59
- i("div", F, [
60
- i("div", L, [
61
- o.value.street ? (t(), s("p", w, n(o.value.street), 1)) : (t(), s("p", x, " Straße nicht verfügbar ")),
62
- o.value.postalCode || o.value.locality ? (t(), s("p", z, n(o.value.postalCode || "") + " " + n(o.value.locality || ""), 1)) : (t(), s("p", B, " Ort nicht verfügbar "))
63
+ i("div", L, [
64
+ i("div", w, [
65
+ o.value.street ? (a(), t("p", x, l(o.value.street), 1)) : (a(), t("p", z, " Straße nicht verfügbar ")),
66
+ o.value.postalCode || o.value.locality ? (a(), t("p", B, l(o.value.postalCode || "") + " " + l(o.value.locality || ""), 1)) : (a(), t("p", N, " Ort nicht verfügbar "))
63
67
  ]),
64
- i("div", N, [
68
+ i("div", W, [
65
69
  e[1] || (e[1] = i("p", { class: "not-available" }, " Telefon nicht verfügbar ", -1)),
66
- _.value.email ? (t(), s("p", M, n(_.value.email), 1)) : (t(), s("p", P, " E-Mail nicht verfügbar "))
70
+ _.value.email ? (a(), t("p", M, l(h.value), 1)) : (a(), t("p", P, " E-Mail nicht verfügbar "))
67
71
  ])
68
72
  ])
69
73
  ])
@@ -73,5 +77,5 @@ const b = { class: "dpiV3_organisation" }, V = { class: "dpiV3_organisationInfo"
73
77
  }
74
78
  });
75
79
  export {
76
- A as default
80
+ G as default
77
81
  };
@@ -1,7 +1,7 @@
1
1
  import o from "./ProjectOrganisationStep.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
4
- const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-6f78c1b4"]]);
4
+ const i = /* @__PURE__ */ t(o, [["__scopeId", "data-v-71f0876f"]]);
5
5
  export {
6
- f as default
6
+ i as default
7
7
  };
@@ -1,104 +1,107 @@
1
- import { defineComponent as q, computed as u, createElementBlock as a, openBlock as s, createElementVNode as n, createCommentVNode as z, renderSlot as E, unref as i, Fragment as T, toDisplayString as r, createVNode as o, withCtx as c, createTextVNode as w } from "vue";
1
+ import { defineComponent as q, computed as r, createElementBlock as a, openBlock as s, createElementVNode as n, createCommentVNode as z, renderSlot as T, unref as i, Fragment as w, toDisplayString as c, createVNode as o, withCtx as d, createTextVNode as D } from "vue";
2
2
  import { FormKit as m } from "@formkit/vue";
3
- import { PhLightbulb as D } from "@phosphor-icons/vue";
4
- import M from "../../../../stories/components/PartnerCard.vue.js";
5
- import { generateIsRequiredMsg as v, requireAllIfAny as p, generateIsInvalidMsg as y } from "../../../../utils/twinbyUtils.js";
6
- import N from "../../../components/StepActionsSection.vue.js";
7
- import { useOrganizationInfo as P } from "../../../composables/useOrganizationInfo.js";
8
- import { useTwinbyUser as O } from "../../../composables/useTwinbyUser.js";
9
- import x from "../Card.vue.js";
10
- import g from "../InputField/InputFieldDefinition.js";
11
- const C = { class: "dpiV3_page V3-typography" }, B = { class: "funny-section" }, F = { class: "funny-flex" }, V = { class: "funny-section" }, L = { class: "contact-container" }, j = {
3
+ import { PhLightbulb as M } from "@phosphor-icons/vue";
4
+ import N from "../../../../stories/components/PartnerCard.vue.js";
5
+ import { generateIsRequiredMsg as p, requireAllIfAny as f, generateIsInvalidMsg as y } from "../../../../utils/twinbyUtils.js";
6
+ import P from "../../../components/StepActionsSection.vue.js";
7
+ import { useOrganizationInfo as O } from "../../../composables/useOrganizationInfo.js";
8
+ import { useTwinbyUser as x } from "../../../composables/useTwinbyUser.js";
9
+ import C from "../Card.vue.js";
10
+ import v from "../InputField/InputFieldDefinition.js";
11
+ const B = { class: "dpiV3_page V3-typography" }, F = { class: "funny-section" }, V = { class: "funny-flex" }, L = { class: "funny-section" }, j = { class: "contact-container" }, G = {
12
12
  key: 0,
13
13
  class: "contact-title"
14
- }, G = {
14
+ }, W = {
15
15
  key: 0,
16
16
  class: "contact-title"
17
- }, $ = {
17
+ }, K = {
18
18
  key: 1,
19
19
  class: "contact-title not-available"
20
- }, K = { class: "contact-wrapper" }, R = {
20
+ }, R = { class: "contact-wrapper" }, $ = {
21
21
  key: 0,
22
22
  class: "contact-logo-wrapper"
23
- }, W = ["src"], U = { key: 1 }, H = { class: "info-wrapper" }, J = { class: "contact-grid" }, Q = { class: "contact-col" }, X = {
23
+ }, U = ["src"], H = { key: 1 }, J = { class: "info-wrapper" }, Q = { class: "contact-grid" }, X = { class: "contact-col" }, Y = {
24
24
  key: 0,
25
25
  class: "contact-info"
26
- }, Y = {
26
+ }, Z = {
27
27
  key: 1,
28
28
  class: "contact-info not-available"
29
- }, Z = {
29
+ }, ee = {
30
30
  key: 2,
31
31
  class: "contact-info"
32
- }, ee = {
32
+ }, ne = {
33
33
  key: 3,
34
34
  class: "contact-info not-available"
35
- }, ne = { class: "contact-col" }, te = ["href"], ie = {
35
+ }, te = { class: "contact-col" }, ie = {
36
+ key: 0,
37
+ class: "contact-info"
38
+ }, ae = {
36
39
  key: 1,
37
40
  class: "contact-info not-available"
38
- }, ae = { class: "funny-section" }, se = { class: "contact-section" }, oe = { class: "funny-section" }, le = { class: "funny-section" }, re = { class: "funny-flex" }, be = /* @__PURE__ */ q({
41
+ }, se = { class: "funny-section" }, oe = { class: "contact-section" }, le = { class: "funny-section" }, re = { class: "funny-section" }, ce = { class: "funny-flex" }, Ae = /* @__PURE__ */ q({
39
42
  __name: "ProjectOrganisationStep",
40
43
  props: {
41
44
  isWip: { type: Boolean }
42
45
  },
43
- setup(ce) {
44
- const { organization: b, authToken: A, startFetchPermissions: k } = O();
46
+ setup(de) {
47
+ const { organization: b, authToken: A, startFetchPermissions: k } = x();
45
48
  k();
46
- const { resultEnhanced: d, isLoading: I } = P({
49
+ const { resultEnhanced: u, isLoading: I } = O({
47
50
  id: b,
48
51
  authToken: A
49
- }), h = u(
52
+ }), g = r(
50
53
  () => {
51
54
  var t, e;
52
- return ((e = (t = d.value) == null ? void 0 : t.publisher) == null ? void 0 : e.name) || "";
55
+ return ((e = (t = u.value) == null ? void 0 : t.publisher) == null ? void 0 : e.name) || "";
53
56
  }
54
- ), _ = u(
57
+ ), h = r(
55
58
  () => {
56
59
  var t, e;
57
- return ((e = (t = d.value) == null ? void 0 : t.catalogueFavIcon) == null ? void 0 : e[0]) || "";
60
+ return ((e = (t = u.value) == null ? void 0 : t.catalogueFavIcon) == null ? void 0 : e[0]) || "";
58
61
  }
59
- ), l = u(() => {
62
+ ), l = r(() => {
60
63
  var t, e;
61
- return ((e = (t = d.value) == null ? void 0 : t.publisher) == null ? void 0 : e.address) || {};
62
- }), f = u(() => {
64
+ return ((e = (t = u.value) == null ? void 0 : t.publisher) == null ? void 0 : e.address) || {};
65
+ }), _ = r(() => {
63
66
  var t;
64
- return ((t = d.value) == null ? void 0 : t.publisher) || {};
67
+ return ((t = u.value) == null ? void 0 : t.publisher) || {};
68
+ }), S = r(() => {
69
+ var e;
70
+ const t = ((e = _.value) == null ? void 0 : e.email) || "";
71
+ return t.startsWith("mailto:") ? t.substring(7) : t;
65
72
  });
66
- function S(t) {
73
+ function E(t) {
67
74
  return t._value === null || t._value === void 0 ? !0 : typeof t._value != "string" ? !1 : /^\d*$/.test(t._value);
68
75
  }
69
- return (t, e) => (s(), a("div", C, [
70
- n("section", B, [
71
- n("div", F, [
76
+ return (t, e) => (s(), a("div", B, [
77
+ n("section", F, [
78
+ n("div", V, [
72
79
  e[2] || (e[2] = n("h4", null, "Informationen zu Ihrer Organisation", -1)),
73
80
  e[3] || (e[3] = n("span", { class: "copy-large-regular" }, " Die Angaben zur durchführenden Organisation werden nicht hier bei der Projektdokumentation erfasst. Diese Daten werden automatisch aus den Kontoinformationen übernommen, die bei uns hinterlegt sind. So wird sichergestellt, dass die Angaben zu Ihrer Organisation stets konsistent und aktuell bleiben, ohne dass sie mehrfach eingegeben werden müssen. ", -1)),
74
- E(t.$slots, "organization", {}, () => [
75
- n("section", V, [
76
- n("div", L, [
77
- i(I) ? (s(), a("p", j, " Lade Organisationsdaten... ")) : (s(), a(T, { key: 1 }, [
78
- h.value ? (s(), a("p", G, r(h.value), 1)) : (s(), a("p", $, " Name nicht verfügbar ")),
79
- n("div", K, [
80
- _.value ? (s(), a("div", R, [
81
+ T(t.$slots, "organization", {}, () => [
82
+ n("section", L, [
83
+ n("div", j, [
84
+ i(I) ? (s(), a("p", G, " Lade Organisationsdaten... ")) : (s(), a(w, { key: 1 }, [
85
+ g.value ? (s(), a("p", W, c(g.value), 1)) : (s(), a("p", K, " Name nicht verfügbar ")),
86
+ n("div", R, [
87
+ h.value ? (s(), a("div", $, [
81
88
  n("img", {
82
89
  class: "contact-logo",
83
- src: _.value,
90
+ src: h.value,
84
91
  alt: "Organisation Logo"
85
- }, null, 8, W)
86
- ])) : (s(), a("div", U, e[0] || (e[0] = [
92
+ }, null, 8, U)
93
+ ])) : (s(), a("div", H, e[0] || (e[0] = [
87
94
  n("div", { class: "avatar-circle" }, null, -1)
88
95
  ]))),
89
- n("div", H, [
90
- n("div", J, [
91
- n("div", Q, [
92
- l.value.street ? (s(), a("span", X, r(l.value.street), 1)) : (s(), a("span", Y, "Straße nicht verfügbar")),
93
- l.value.postalCode || l.value.locality ? (s(), a("span", Z, r(l.value.postalCode || "") + " " + r(l.value.locality || ""), 1)) : (s(), a("span", ee, "Ort nicht verfügbar"))
96
+ n("div", J, [
97
+ n("div", Q, [
98
+ n("div", X, [
99
+ l.value.street ? (s(), a("span", Y, c(l.value.street), 1)) : (s(), a("span", Z, "Straße nicht verfügbar")),
100
+ l.value.postalCode || l.value.locality ? (s(), a("span", ee, c(l.value.postalCode || "") + " " + c(l.value.locality || ""), 1)) : (s(), a("span", ne, "Ort nicht verfügbar"))
94
101
  ]),
95
- n("div", ne, [
102
+ n("div", te, [
96
103
  e[1] || (e[1] = n("span", { class: "contact-info not-available" }, "Telefon nicht verfügbar", -1)),
97
- f.value.email ? (s(), a("a", {
98
- key: 0,
99
- class: "contact-info",
100
- href: `mailto:${f.value.email}`
101
- }, r(f.value.email), 9, te)) : (s(), a("span", ie, "E-Mail nicht verfügbar"))
104
+ _.value.email ? (s(), a("span", ie, c(S.value), 1)) : (s(), a("span", ae, "E-Mail nicht verfügbar"))
102
105
  ])
103
106
  ])
104
107
  ])
@@ -110,32 +113,32 @@ const C = { class: "dpiV3_page V3-typography" }, B = { class: "funny-section" },
110
113
  ])
111
114
  ]),
112
115
  z("", !0),
113
- n("section", ae, [
114
- n("div", se, [
116
+ n("section", se, [
117
+ n("div", oe, [
115
118
  e[6] || (e[6] = n("h5", null, "Projektkontakt (optional)", -1)),
116
119
  e[7] || (e[7] = n("span", { class: "copy-large-regular" }, " Bitte nennen Sie eine allgemeine E-Mail-Adresse oder Funktionsadresse, unter der interessierte Personen Rückfragen zum Projekt stellen können. Bitte geben Sie keine personenbezogenen Daten an. ", -1)),
117
- o(M, null, {
118
- default: c(() => [
120
+ o(N, null, {
121
+ default: d(() => [
119
122
  o(i(m), {
120
123
  type: "group",
121
124
  name: "contact"
122
125
  }, {
123
- default: c(() => [
126
+ default: d(() => [
124
127
  o(i(m), {
125
- type: i(g),
128
+ type: i(v),
126
129
  name: "name",
127
130
  "text-label": "Name",
128
131
  placeholder: "Geben Sie einen Namen an.",
129
132
  validation: "+requireAllIfAny",
130
133
  "validation-label": "Name",
131
134
  "validation-visibility": "submit",
132
- "validation-rules": { requireAllIfAny: i(p) },
135
+ "validation-rules": { requireAllIfAny: i(f) },
133
136
  "validation-messages": {
134
- requireAllIfAny: i(v)("Name")
137
+ requireAllIfAny: i(p)("Name")
135
138
  }
136
139
  }, null, 8, ["type", "validation-rules", "validation-messages"]),
137
140
  o(i(m), {
138
- type: i(g),
141
+ type: i(v),
139
142
  name: "mail",
140
143
  "text-label": "E-Mail-Adresse",
141
144
  placeholder: "Geben Sie eine E-Mail-Adresse an.",
@@ -144,22 +147,22 @@ const C = { class: "dpiV3_page V3-typography" }, B = { class: "funny-section" },
144
147
  "validation-label": "E-Mail-Adresse",
145
148
  "validation-messages": {
146
149
  email: i(y)("E-Mail-Adresse"),
147
- requireAllIfAny: i(v)("E-Mail-Adresse")
150
+ requireAllIfAny: i(p)("E-Mail-Adresse")
148
151
  },
149
- "validation-rules": { requireAllIfAny: i(p) }
152
+ "validation-rules": { requireAllIfAny: i(f) }
150
153
  }, null, 8, ["type", "validation-messages", "validation-rules"]),
151
154
  o(i(m), {
152
- type: i(g),
155
+ type: i(v),
153
156
  name: "phone",
154
157
  "text-label": "Telefonnummer",
155
158
  placeholder: "Geben Sie eine Telefonnummer an.",
156
- "validation-rules": { numeric: S, requireAllIfAny: i(p) },
159
+ "validation-rules": { numeric: E, requireAllIfAny: i(f) },
157
160
  validation: "numeric|+requireAllIfAny",
158
161
  "validation-label": "Telefonnummer",
159
162
  "validation-visibility": "submit",
160
163
  "validation-messages": {
161
164
  numeric: i(y)("Telefonnummer"),
162
- requireAllIfAny: i(v)("Telefonnummer")
165
+ requireAllIfAny: i(p)("Telefonnummer")
163
166
  }
164
167
  }, null, 8, ["type", "validation-rules", "validation-messages"])
165
168
  ]),
@@ -170,22 +173,22 @@ const C = { class: "dpiV3_page V3-typography" }, B = { class: "funny-section" },
170
173
  })
171
174
  ])
172
175
  ]),
173
- n("section", oe, [
174
- o(N)
175
- ]),
176
176
  n("section", le, [
177
- n("div", re, [
178
- o(x, { variant: "default" }, {
179
- icon: c(() => [
180
- o(i(D), {
177
+ o(P)
178
+ ]),
179
+ n("section", re, [
180
+ n("div", ce, [
181
+ o(C, { variant: "default" }, {
182
+ icon: d(() => [
183
+ o(i(M), {
181
184
  size: 32,
182
185
  color: "#009fe3"
183
186
  })
184
187
  ]),
185
- title: c(() => e[8] || (e[8] = [
186
- w(" Wichtig! ", -1)
188
+ title: d(() => e[8] || (e[8] = [
189
+ D(" Wichtig! ", -1)
187
190
  ])),
188
- default: c(() => [
191
+ default: d(() => [
189
192
  e[9] || (e[9] = n("div", { class: "copy-large-regular" }, [
190
193
  n("p", null, "Bitte geben Sie keine persönlichen Daten preis! Diese dürfen auf unserer Plattform nicht veröffentlicht werden."),
191
194
  n("p", null, "Dazu zählen Namen, E-Mail-Adresse oder auch Telefonnummern von realen Personen."),
@@ -201,5 +204,5 @@ const C = { class: "dpiV3_page V3-typography" }, B = { class: "funny-section" },
201
204
  }
202
205
  });
203
206
  export {
204
- be as default
207
+ Ae as default
205
208
  };
@@ -1,31 +1,32 @@
1
- import { reactive as c, createElementBlock as d, openBlock as s, createElementVNode as i, createVNode as m, Fragment as g, renderList as p, unref as o, createBlock as b } from "vue";
2
- import { FormKit as f } from "@formkit/vue";
3
- import w from "../../../components/StepActionsSection.vue.js";
4
- import k from "../TextArea/TextAreaDefinition.js";
1
+ import { reactive as m, createElementBlock as l, openBlock as o, createElementVNode as i, createVNode as g, Fragment as p, renderList as b, unref as u, createBlock as f } from "vue";
2
+ import { FormKit as w } from "@formkit/vue";
3
+ import k from "../../../components/StepActionsSection.vue.js";
4
+ import { initiierenQuestions as a } from "../../../composables/project-transformer/questions.js";
5
+ import z from "../TextArea/TextAreaDefinition.js";
5
6
  /* empty css */
6
- import z from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
7
- const v = { class: "project-phasen-initiieren" }, B = { class: "project-phasen-initiieren-content" }, u = 1e3, S = {
7
+ import v from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
8
+ const B = { class: "project-phasen-initiieren" }, S = { class: "project-phasen-initiieren-content" }, d = 1e3, _ = {
8
9
  __name: "InitiierenStep",
9
10
  setup(j) {
10
- const n = c({
11
+ const n = m({
11
12
  questions: {
12
13
  projectTriggers: {
13
- question: "Was waren Auslöser für das Projekt (z.B. rechtliche oder politische Vorgaben, intrinsische Motivation oder inspirierende Projekte aus anderen Kommunen)?",
14
+ question: a.projectTriggers,
14
15
  placeholder: "Wir haben in den letzten Jahren immer häufiger mit Starkregenereignissen und den daraus resultierenden Überflutungen zu kämpfen gehabt. Darüber hinaus mussten wir bereits in der Vergangenheit im Rahmen der EU-Hochwasserrichtlinie Hochwassergefahren- und Risikokarten erstellen und regelmäßig aktualisieren. Beides hat uns verdeutlicht, dass wir in der Pflicht sind, Hochwasserschutz und Prävention aktiv weiterzuentwickeln. Beispiele aus anderen Kommunen haben zudem spürbare Vorteile durch vorausschauende Systeme aufgezeigt.",
15
16
  answer: ""
16
17
  },
17
18
  involvedStakeholders: {
18
- question: "Welche relevanten Akteure - innerhalb oder außerhalb Ihrer Organisation - haben Sie frühzeitig involviert (z.B. um politische Rückendeckung sicherzustellen)?",
19
+ question: a.involvedStakeholders,
19
20
  placeholder: "Bereits zu Beginn des Projekts haben wir unser Umweltamt, das die Federführung übernommen hat, und das Bauamt, insbesondere wegen der Schnittstellen zur Stadtentwässerung und Flächenplanung, involviert. Darüber hinaus haben wir frühzeitig die Feuerwehr und das Amt für Informations- und Kommunikationstechnik eingebunden. Von politischer Seite waren der Bürgermeister und die zuständigen Ausschüsse (z. B. Umwelt- und Bauausschuss) von Anfang an informiert.",
20
21
  answer: ""
21
22
  },
22
23
  dataCollectionMethod: {
23
- question: "Wie haben Sie den Bestand vorhandener Daten erhoben?",
24
+ question: a.dataCollectionMethod,
24
25
  placeholder: "Wir haben zunächst eine bereichsübergreifende Arbeitsgruppe gegründet, die alle relevanten Fachabteilungen (u.a. Umweltamt, Katastrophenschutz, Tiefbau, IT) einbezogen hat. In gemeinsamen Workshops haben wir systematisch erfasst, welche hydrologischen, geografischen und technischen Daten bereits vorliegen und welche von externen Partnern (z.B. Wasserwirtschaftsämter, Wetterdienste, Landesämter) bezogen werden können. Wir haben die Daten dokumentiert und bewertet (z.B. Aktualität, Genauigkeit, Formatierung, Zugriffsrechte). So konnten wir identifizieren, dass wir für einige Bachläufe noch Messgeräte zur kontinuierlichen Datenerhebung benötigen.",
25
26
  answer: ""
26
27
  },
27
28
  budgetPlanning: {
28
- question: "Wie haben Sie das (erste) Budget berechnet und nachhaltig gesichert?",
29
+ question: a.budgetPlanning,
29
30
  placeholder: "Zu Beginn haben wir gemeinsam mit den beteiligten Ämtern eine Bedarfserhebung durchgeführt, um die voraussichtlichen Kosten möglichst realistisch einschätzen zu können. Wir haben außerdem andere Kommunen und Anbieter angefragt, um Erfahrungswerte und Angebote für vergleichbare Projekte einzuholen. Das Budget wurde größtenteils über ein Landesförderprogramm für kommunalen Hochwasserschutz gesichert. Schon vor Auslaufen der Förderung haben wir den weiteren Betrieb kalkuliert und technisch so aufgestellt, dass wir ihn langfristig finanzieren können.",
30
31
  answer: ""
31
32
  }
@@ -34,37 +35,37 @@ const v = { class: "project-phasen-initiieren" }, B = { class: "project-phasen-i
34
35
  name: t,
35
36
  text: n.questions[t].question
36
37
  }));
37
- function l(t, r) {
38
- n.questions[t].answer = r.slice(0, u);
38
+ function c(t, r) {
39
+ n.questions[t].answer = r.slice(0, d);
39
40
  }
40
- return (t, r) => (s(), d("div", v, [
41
+ return (t, r) => (o(), l("div", B, [
41
42
  r[1] || (r[1] = i("div", { class: "project-phasen-initiieren-header" }, [
42
43
  i("h4", null, "Initiieren")
43
44
  ], -1)),
44
- i("div", B, [
45
+ i("div", S, [
45
46
  r[0] || (r[0] = i("p", { class: "project-phasen-initiieren-description" }, " Von der Projektidee bis zum Projektplan. ", -1)),
46
- (s(!0), d(g, null, p(o(h), (e) => (s(), b(o(f), {
47
+ (o(!0), l(p, null, b(u(h), (e) => (o(), f(u(w), {
47
48
  id: e.name,
48
49
  key: e.name,
49
50
  modelValue: n.questions[e.name].answer,
50
- "onUpdate:modelValue": (a) => n.questions[e.name].answer = a,
51
+ "onUpdate:modelValue": (s) => n.questions[e.name].answer = s,
51
52
  placeholder: n.questions[e.name].placeholder,
52
53
  label: e.text,
53
- type: o(k),
54
+ type: u(z),
54
55
  name: e.name,
55
56
  validation: "length:0,1000",
56
57
  hint: "true",
57
- labelWeight: "bold",
58
- help: `${n.questions[e.name].answer.length || 0} von ${u} Zeichen`,
58
+ "label-weight": "bold",
59
+ help: `${n.questions[e.name].answer.length || 0} von ${d} Zeichen`,
59
60
  "count-hint": !0,
60
- maxlength: u,
61
- onInput: (a) => l(e.name, a)
61
+ maxlength: d,
62
+ onInput: (s) => c(e.name, s)
62
63
  }, null, 8, ["id", "modelValue", "onUpdate:modelValue", "placeholder", "label", "type", "name", "help", "onInput"]))), 128))
63
64
  ]),
64
- m(w)
65
+ g(k)
65
66
  ]));
66
67
  }
67
- }, x = /* @__PURE__ */ z(S, [["__scopeId", "data-v-fdf2167a"]]);
68
+ }, q = /* @__PURE__ */ v(_, [["__scopeId", "data-v-e43d49ab"]]);
68
69
  export {
69
- x as default
70
+ q as default
70
71
  };
@@ -1,71 +1,72 @@
1
- import { reactive as c, createElementBlock as d, openBlock as s, createElementVNode as i, createVNode as m, Fragment as g, renderList as p, unref as l, createBlock as b } from "vue";
2
- import { FormKit as f } from "@formkit/vue";
3
- import w from "../../../components/StepActionsSection.vue.js";
4
- import k from "../TextArea/TextAreaDefinition.js";
1
+ import { reactive as m, createElementBlock as u, openBlock as l, createElementVNode as i, createVNode as p, Fragment as b, renderList as g, unref as o, createBlock as f } from "vue";
2
+ import { FormKit as w } from "@formkit/vue";
3
+ import { planenQuestions as a } from "../../../composables/project-transformer/questions.js";
4
+ import z from "../../../components/StepActionsSection.vue.js";
5
+ import x from "../TextArea/TextAreaDefinition.js";
5
6
  /* empty css */
6
- import z from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
7
- const x = { class: "project-phasen-planen" }, A = { class: "project-phasen-planen-content" }, u = 1e3, V = {
7
+ import k from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
8
+ const V = { class: "project-phasen-planen" }, A = { class: "project-phasen-planen-content" }, d = 1e3, _ = {
8
9
  __name: "PlanenStep",
9
- setup(S) {
10
- const n = c({
10
+ setup(v) {
11
+ const n = m({
11
12
  questions: {
12
13
  requirementsGatherings: {
13
- question: "Wie haben Sie die Anforderungen erhoben und dokumentiert (z.B. durch Markterkundung, externe Berater oder Workshops)?",
14
+ question: a.requirementsGatherings,
14
15
  placeholder: "Wir haben die Anforderungen in mehreren interdisziplinären Workshops gemeinsam mit allen betroffenen Fachämtern und externen Beteiligten erhoben. Zudem haben wir Interviews mit den späteren Nutzergruppen geführt, um Praxisbedarfe zu erfassen. Alle Ergebnisse haben wir strukturiert in einem Lastenheft dokumentiert, das als zentrale Arbeitsgrundlage für die Ausschreibung diente.",
15
16
  answer: ""
16
17
  },
17
18
  tenderFormat: {
18
- question: "Welche Ausschreibungsform haben Sie gewählt und warum? Gab es eine Vorlage oder Muster-Leistungsbeschreibung, die hilfreich war und die Sie teilen können?",
19
+ question: a.tenderFormat,
19
20
  placeholder: `Wir haben uns für eine öffentliche, europaweite Ausschreibung (offenes Verfahren) entschieden, da die Schätzsumme für das Projekt über dem EU-Schwellenwert lag. Damit konnten wir ein möglichst breites Feld an Anbietern ansprechen und gleichzeitig die rechtlichen Vorgaben einhalten.
20
21
  Wir haben uns an einer Muster-Leistungsbeschreibung einer Nachbarkommune orientiert, die bereits ein ähnliches System eingeführt hatte. Grundsätzlich empfehlen wir, auf bestehende Leitfäden von Fachverbänden oder Landesbehörden zurückzugreifen.`,
21
22
  answer: ""
22
23
  },
23
24
  tenderTips: {
24
- question: "Welche Tipps haben Sie für eine erfolgreiche Ausschreibung?",
25
+ question: a.tenderTips,
25
26
  placeholder: "Auf jeden Fall frühzeitig die Vergabeexperten einbinden. Die Zusammenarbeit mit unserer Vergabestelle bzw. externen Fachjuristen hat geholfen, die Ausschreibung rechtssicher und praxistauglich zu gestalten.",
26
27
  answer: ""
27
28
  },
28
29
  resourcePlanning: {
29
- question: "Wie haben Sie die Ressourcenplanung für die Entwicklung und den Betrieb Ihres Digitalen Zwillings gestaltet und gesichert?",
30
+ question: a.resourcePlanning,
30
31
  placeholder: "Wir haben zunächst die Aufgaben und den Personalbedarf analysiert und mit allen beteiligten Fachbereichen abgestimmt. Anschließend haben wir ein bereichsübergreifendes Projektteam gebildet und externe Unterstützung für spezielle IT-Themen eingeplant. Das Budget haben wir über eine Kombination aus Eigenmitteln und Fördergeldern gedeckt, und für den dauerhaften Betrieb eine feste Stelle sowie ein jährliches Wartungsbudget vorgesehen.",
31
32
  answer: ""
32
33
  }
33
34
  }
34
- }), o = Object.keys(n.questions).map((t) => ({
35
+ }), h = Object.keys(n.questions).map((t) => ({
35
36
  name: t,
36
37
  text: n.questions[t].question
37
38
  }));
38
- function h(t, r) {
39
- n.questions[t].answer = r.slice(0, u);
39
+ function c(t, r) {
40
+ n.questions[t].answer = r.slice(0, d);
40
41
  }
41
- return (t, r) => (s(), d("div", x, [
42
+ return (t, r) => (l(), u("div", V, [
42
43
  r[1] || (r[1] = i("div", { class: "project-phasen-planen-header" }, [
43
44
  i("h4", null, "Planen")
44
45
  ], -1)),
45
46
  i("div", A, [
46
47
  r[0] || (r[0] = i("p", { class: "project-phasen-planen-description" }, " Von der Ausschreibung bis zur Vergabe. ", -1)),
47
- (s(!0), d(g, null, p(l(o), (e) => (s(), b(l(f), {
48
+ (l(!0), u(b, null, g(o(h), (e) => (l(), f(o(w), {
48
49
  key: e.name,
49
50
  placeholder: n.questions[e.name].placeholder,
50
51
  id: e.name,
51
52
  modelValue: n.questions[e.name].answer,
52
- "onUpdate:modelValue": (a) => n.questions[e.name].answer = a,
53
+ "onUpdate:modelValue": (s) => n.questions[e.name].answer = s,
53
54
  labelWeight: "bold",
54
55
  label: e.text,
55
- type: l(k),
56
+ type: o(x),
56
57
  name: e.name,
57
58
  validation: "length:0,1000",
58
59
  hint: "true",
59
- help: `${n.questions[e.name].answer.length || 0} von ${u} Zeichen`,
60
+ help: `${n.questions[e.name].answer.length || 0} von ${d} Zeichen`,
60
61
  "count-hint": !0,
61
- onInput: (a) => h(e.name, a),
62
- maxlength: u
62
+ onInput: (s) => c(e.name, s),
63
+ maxlength: d
63
64
  }, null, 8, ["placeholder", "id", "modelValue", "onUpdate:modelValue", "label", "type", "name", "help", "onInput"]))), 128))
64
65
  ]),
65
- m(w)
66
+ p(z)
66
67
  ]));
67
68
  }
68
- }, P = /* @__PURE__ */ z(V, [["__scopeId", "data-v-939d6027"]]);
69
+ }, I = /* @__PURE__ */ k(_, [["__scopeId", "data-v-d7c30e1a"]]);
69
70
  export {
70
- P as default
71
+ I as default
71
72
  };