@vcmap/module-selector 2.0.0 → 2.0.2

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/index.js CHANGED
@@ -10,40 +10,93 @@ function loadCss(href) {
10
10
  elem.onerror = reject;
11
11
  document.head.appendChild(elem);
12
12
  });
13
- } await loadCss('data:text/css;base64,LnYtY2FyZFtkYXRhLXYtYzMzMDgwZDdde2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjE1MHB4O3dpZHRoOjE1MHB4O2FzcGVjdC1yYXRpbzoxO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuM3N9LmZpeGVkLWNhcmRbZGF0YS12LWMzMzA4MGQ3XXtoZWlnaHQ6MTUwcHg7d2lkdGg6MTUwcHg7YXNwZWN0LXJhdGlvOjF9LnNlbGVjdGVkLWNhcmRbZGF0YS12LWMzMzA4MGQ3XXtiYWNrZ3JvdW5kLWNvbG9yOnJnYih2YXIoLS12LXRoZW1lLXByaW1hcnkpKTtjb2xvcjpyZ2IodmFyKC0tdi10aGVtZS1vbi1wcmltYXJ5KSl9Cg==');import { VcsFormButton as z, WindowSlot as D, createToggleAction as O, ButtonLocation as j } from "../../../assets/ui.js";
14
- import { defineComponent as E, inject as F, computed as V, resolveComponent as r, openBlock as u, createBlock as M, withCtx as l, createVNode as a, createTextVNode as c, toDisplayString as m, createCommentVNode as h, createElementBlock as B, Fragment as I, renderList as N, normalizeClass as b, ref as T } from "../../../assets/vue.js";
15
- import { VSheet as J, VContainer as L, VRow as P, VCol as R, VCard as G, VIcon as H, VCardTitle as K } from "../../../assets/vuetify.js";
16
- import { VcsModule as U } from "../../../assets/core.js";
17
- const S = "@vcmap/module-selector", W = "2.0.0", Z = "^6.0";
18
- async function $(e, o) {
13
+ } await loadCss('data:text/css;base64,LnYtY2FyZFtkYXRhLXYtMjlhMjIwMmZde2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjE1MHB4O3dpZHRoOjE1MHB4O2FzcGVjdC1yYXRpbzoxO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuM3N9LmZpeGVkLWNhcmRbZGF0YS12LTI5YTIyMDJmXXtoZWlnaHQ6MTUwcHg7d2lkdGg6MTUwcHg7YXNwZWN0LXJhdGlvOjF9LnNlbGVjdGVkLWNhcmRbZGF0YS12LTI5YTIyMDJmXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYih2YXIoLS12LXRoZW1lLXByaW1hcnkpKTtjb2xvcjpyZ2IodmFyKC0tdi10aGVtZS1vbi1wcmltYXJ5KSl9LnYtYnJlYWRjcnVtYnNbZGF0YS12LTA0YmU3OGExXXtwYWRkaW5nOjE2cHggMCA0cHh9Cg==');var Oe = Object.defineProperty;
14
+ var Te = (e, o, t) => o in e ? Oe(e, o, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[o] = t;
15
+ var W = (e, o, t) => Te(e, typeof o != "symbol" ? o + "" : o, t);
16
+ import { VcsFormButton as he, VcsTextField as se, VcsLabel as be, VcsFormSection as Me, VcsCheckbox as $e, useProxiedComplexModel as Fe, useModelHasProperty as Re, VcsDataTable as De, VcsList as qe, AbstractConfigEditor as Pe, WindowSlot as Ge, createToggleAction as je, ButtonLocation as Le } from "../../../assets/ui.js";
17
+ import { defineComponent as J, inject as Se, computed as H, resolveComponent as c, openBlock as I, createBlock as $, withCtx as n, createVNode as d, createTextVNode as S, toDisplayString as V, createCommentVNode as q, createElementBlock as ie, Fragment as de, renderList as me, normalizeClass as ye, ref as k, createElementVNode as pe, normalizeProps as ze, guardReactiveProps as We, reactive as He, watch as we, mergeProps as Ke } from "../../../assets/vue.js";
18
+ import { VSheet as Je, VContainer as Z, VRow as Q, VCol as X, VCard as Ve, VIcon as _e, VCardTitle as Ze, VForm as ke, VDivider as Qe, VTooltip as Xe, VDialog as Ye, VBreadcrumbs as xe, VBreadcrumbsItem as eo } from "../../../assets/vuetify.js";
19
+ import { VcsModule as oo } from "../../../assets/core.js";
20
+ function Ee(e, o) {
21
+ if (e != null) {
22
+ const t = Number.parseInt(String(e), 10);
23
+ if (t != null && !Number.isNaN(t))
24
+ return t;
25
+ }
26
+ return o;
27
+ }
28
+ function to(e, o) {
29
+ return e == null ? !!o : typeof e == "boolean" ? e : e === 1 ? !0 : e === 0 ? !1 : typeof e == "string" && (e.toLowerCase() === "true" || e.toLowerCase() === "1") ? !0 : typeof e == "string" && (e.toLowerCase() === "false" || e.toLowerCase() === "0") ? !1 : !!o;
30
+ }
31
+ function lo(e) {
32
+ return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
33
+ }
34
+ var no = function e(o, t) {
35
+ if (o === t) return !0;
36
+ if (o && t && typeof o == "object" && typeof t == "object") {
37
+ if (o.constructor !== t.constructor) return !1;
38
+ var r, i, l;
39
+ if (Array.isArray(o)) {
40
+ if (r = o.length, r != t.length) return !1;
41
+ for (i = r; i-- !== 0; )
42
+ if (!e(o[i], t[i])) return !1;
43
+ return !0;
44
+ }
45
+ if (o.constructor === RegExp) return o.source === t.source && o.flags === t.flags;
46
+ if (o.valueOf !== Object.prototype.valueOf) return o.valueOf() === t.valueOf();
47
+ if (o.toString !== Object.prototype.toString) return o.toString() === t.toString();
48
+ if (l = Object.keys(o), r = l.length, r !== Object.keys(t).length) return !1;
49
+ for (i = r; i-- !== 0; )
50
+ if (!Object.prototype.hasOwnProperty.call(t, l[i])) return !1;
51
+ for (i = r; i-- !== 0; ) {
52
+ var a = l[i];
53
+ if (!e(o[a], t[a])) return !1;
54
+ }
55
+ return !0;
56
+ }
57
+ return o !== o && t !== t;
58
+ };
59
+ const ue = /* @__PURE__ */ lo(no), j = "@vcmap/module-selector", io = "2.0.2", ro = "^6.0";
60
+ async function Ie(e, o) {
19
61
  const t = await fetch(e, {
20
62
  method: "GET"
21
- }).then((s) => {
22
- if (s.ok)
23
- return s.json();
63
+ }).then((r) => {
64
+ if (r.ok)
65
+ return r.json();
24
66
  });
25
67
  if (t) {
26
68
  t._id = "moduleSelector_module_id";
27
- const s = new U(t);
28
- await o.addModule(s);
69
+ const r = new oo(t);
70
+ await o.addModule(r);
29
71
  }
30
72
  }
31
- async function Q(e) {
32
- var f, y;
33
- const o = "moduleSelector_module_id", t = (f = e.maps.activeMap) == null ? void 0 : f.name;
34
- e.getModuleById(o) && await e.removeModule(o), e.maps.activeMap || await e.maps.setActiveMap(t || ((y = [...e.maps][0]) == null ? void 0 : y.name));
73
+ async function ao(e) {
74
+ var i, l;
75
+ const o = "moduleSelector_module_id", t = (i = e.maps.activeMap) == null ? void 0 : i.name;
76
+ e.getModuleById(o) && await e.removeModule(o), e.maps.activeMap || await e.maps.setActiveMap(t || ((l = [...e.maps][0]) == null ? void 0 : l.name));
77
+ }
78
+ const ae = "moduleSelector_window_id";
79
+ async function Ue(e, o, t, r, i) {
80
+ var s;
81
+ if (await ao(t), e === null && !i) {
82
+ t.windowManager.remove(ae);
83
+ return;
84
+ }
85
+ const l = r[e], a = (l == null ? void 0 : l.type) === "group" ? (s = l.cards) == null ? void 0 : s[o] : null;
86
+ a != null && a.moduleUrl ? await Ie(a.moduleUrl, t) : (l == null ? void 0 : l.type) === "url" && await Ie(l.moduleUrl, t), t.windowManager.remove(ae);
35
87
  }
36
- const x = "moduleSelector_window_id", X = E({
88
+ const so = J({
37
89
  name: "ModuleSelector",
90
+ methods: { startApplication: Ue },
38
91
  components: {
39
- VSheet: J,
40
- VContainer: L,
41
- VRow: P,
42
- VCol: R,
43
- VCard: G,
44
- VIcon: H,
45
- VCardTitle: K,
46
- VcsFormButton: z
92
+ VSheet: Je,
93
+ VContainer: Z,
94
+ VRow: Q,
95
+ VCol: X,
96
+ VCard: Ve,
97
+ VIcon: _e,
98
+ VCardTitle: Ze,
99
+ VcsFormButton: he
47
100
  },
48
101
  props: {
49
102
  modules: {
@@ -62,86 +115,79 @@ const x = "moduleSelector_window_id", X = E({
62
115
  }
63
116
  },
64
117
  setup(e) {
65
- const o = F("vcsApp"), t = o.plugins.getByKey(S), { modules: s } = e, f = V(() => {
66
- const n = e.modules[t.selectedMainModuleIndex.value];
67
- return (n == null ? void 0 : n.type) === "group" ? n.cards : [];
68
- }), y = (n) => {
69
- t.selectedMainModuleIndex.value === n ? t.selectedMainModuleIndex.value = null : t.selectedMainModuleIndex.value = n;
70
- }, p = (n) => {
71
- t.selectedNestedModuleIndex.value === n ? t.selectedNestedModuleIndex.value = null : t.selectedNestedModuleIndex.value = n;
72
- }, k = () => {
118
+ const o = Se("vcsApp"), t = o.plugins.getByKey(j), { modules: r } = e, i = H(() => {
119
+ const u = e.modules[t.selectedMainModuleIndex.value];
120
+ return (u == null ? void 0 : u.type) === "group" ? u.cards : [];
121
+ }), l = (u) => {
122
+ t.selectedMainModuleIndex.value === u ? t.selectedMainModuleIndex.value = null : t.selectedMainModuleIndex.value = u;
123
+ }, a = (u) => {
124
+ t.selectedNestedModuleIndex.value === u ? t.selectedNestedModuleIndex.value = null : t.selectedNestedModuleIndex.value = u;
125
+ }, s = () => {
73
126
  t.selectedNestedModuleIndex.value = null, t.selectedMainModuleIndex.value = null;
74
- }, _ = async () => {
75
- var i;
76
- await Q(o);
77
- const n = t.selectedMainModuleIndex.value, C = t.selectedNestedModuleIndex.value;
78
- if (n === null && !e.basisModule) return;
79
- const d = s[n], g = (d == null ? void 0 : d.type) === "group" ? (i = d.cards) == null ? void 0 : i[C] : null;
80
- g != null && g.moduleUrl ? await $(g.moduleUrl, o) : (d == null ? void 0 : d.type) === "url" && await $(d.moduleUrl, o), o.windowManager.remove(x);
81
- }, w = V(() => {
127
+ }, f = H(() => {
82
128
  if (!e.requireModuleSelection) return !1;
83
- const n = t.selectedMainModuleIndex.value, C = t.selectedNestedModuleIndex.value, d = s[n];
84
- return n == null || (d == null ? void 0 : d.type) === "group" && d.cards && C == null;
129
+ const u = t.selectedMainModuleIndex.value, C = t.selectedNestedModuleIndex.value, b = r[u];
130
+ return u == null || (b == null ? void 0 : b.type) === "group" && b.cards && C == null;
85
131
  });
86
132
  return {
87
- nestedCards: f,
133
+ nestedCards: i,
88
134
  plugin: t,
89
- selectModule: y,
90
- selectNestedModule: p,
91
- showMainCards: k,
92
- startApplication: _,
93
- isButtonDisabled: w
135
+ selectModule: l,
136
+ selectNestedModule: a,
137
+ showMainCards: s,
138
+ isButtonDisabled: f,
139
+ app: o
94
140
  };
95
141
  }
96
142
  }), Y = (e, o) => {
97
143
  const t = e.__vccOpts || e;
98
- for (const [s, f] of o)
99
- t[s] = f;
144
+ for (const [r, i] of o)
145
+ t[r] = i;
100
146
  return t;
101
147
  };
102
- function ee(e, o, t, s, f, y) {
103
- const p = r("v-icon"), k = r("v-card-title"), _ = r("v-card"), w = r("v-col"), n = r("v-row"), C = r("VcsFormButton"), d = r("v-container"), g = r("v-sheet");
104
- return u(), M(g, {
148
+ function uo(e, o, t, r, i, l) {
149
+ const a = c("v-icon"), s = c("v-card-title"), f = c("v-card"), u = c("v-col"), C = c("v-row"), b = c("VcsFormButton"), g = c("v-container"), R = c("v-sheet");
150
+ return I(), $(R, {
105
151
  class: "module-selector",
106
152
  elevation: "1"
107
153
  }, {
108
- default: l(() => [
109
- a(d, null, {
110
- default: l(() => [
111
- a(n, {
154
+ default: n(() => [
155
+ d(g, null, {
156
+ default: n(() => [
157
+ d(C, {
112
158
  class: "justify-center align-center",
113
159
  "no-gutters": ""
114
160
  }, {
115
- default: l(() => [
116
- e.basisModule && !e.nestedCards.length ? (u(), M(w, {
161
+ default: n(() => [
162
+ e.basisModule && !e.nestedCards.length ? (I(), $(u, {
117
163
  key: 0,
118
164
  cols: "auto",
119
165
  class: "pa-2"
120
166
  }, {
121
- default: l(() => [
122
- a(_, {
167
+ default: n(() => [
168
+ d(f, {
123
169
  class: "pa-3 fixed-card selected-card",
124
170
  outlined: ""
125
171
  }, {
126
- default: l(() => [
127
- e.basisModule.icon ? (u(), M(p, {
172
+ default: n(() => [
173
+ e.basisModule.icon ? (I(), $(a, {
128
174
  key: 0,
129
175
  size: "50"
130
176
  }, {
131
- default: l(() => [
132
- c(
133
- m(e.basisModule.icon),
177
+ default: n(() => [
178
+ S(
179
+ V(e.basisModule.icon),
134
180
  1
135
181
  /* TEXT */
136
182
  )
137
183
  ]),
138
184
  _: 1
139
185
  /* STABLE */
140
- })) : h("v-if", !0),
141
- a(k, { class: "text-center" }, {
142
- default: l(() => [
143
- c(
144
- m(e.$st(e.basisModule.title)),
186
+ })) : q("v-if", !0),
187
+ d(s, { class: "text-center" }, {
188
+ default: n(() => [
189
+ S(
190
+ V(e.$st(e.basisModule.title)),
145
191
  1
146
192
  /* TEXT */
147
193
  )
@@ -156,31 +202,31 @@ function ee(e, o, t, s, f, y) {
156
202
  ]),
157
203
  _: 1
158
204
  /* STABLE */
159
- })) : h("v-if", !0),
160
- e.nestedCards.length ? (u(), B(
161
- I,
205
+ })) : q("v-if", !0),
206
+ e.nestedCards.length ? (I(), ie(
207
+ de,
162
208
  { key: 2 },
163
209
  [
164
- a(w, {
210
+ d(u, {
165
211
  cols: "auto",
166
212
  class: "pa-2"
167
213
  }, {
168
- default: l(() => [
169
- a(_, {
214
+ default: n(() => [
215
+ d(f, {
170
216
  class: "fixed-card hover-card",
171
217
  outlined: "",
172
- onClick: o[0] || (o[0] = (i) => e.showMainCards())
218
+ onClick: o[0] || (o[0] = (v) => e.showMainCards())
173
219
  }, {
174
- default: l(() => [
175
- a(p, { size: "50" }, {
176
- default: l(() => [
177
- c("mdi-arrow-left")
220
+ default: n(() => [
221
+ d(a, { size: "50" }, {
222
+ default: n(() => [
223
+ S("mdi-arrow-left")
178
224
  ]),
179
225
  _: 1
180
226
  /* STABLE */
181
227
  }),
182
- c(
183
- " " + m(e.$st("moduleSelector.cardBack")),
228
+ S(
229
+ " " + V(e.$st("moduleSelector.cardBack")),
184
230
  1
185
231
  /* TEXT */
186
232
  )
@@ -192,36 +238,36 @@ function ee(e, o, t, s, f, y) {
192
238
  _: 1
193
239
  /* STABLE */
194
240
  }),
195
- (u(!0), B(
196
- I,
241
+ (I(!0), ie(
242
+ de,
197
243
  null,
198
- N(e.nestedCards, (i, v) => (u(), M(
199
- w,
244
+ me(e.nestedCards, (v, y) => (I(), $(
245
+ u,
200
246
  {
201
- key: v,
247
+ key: y,
202
248
  cols: "auto",
203
249
  class: "pa-2"
204
250
  },
205
251
  {
206
- default: l(() => [
207
- a(_, {
208
- class: b(["fixed-card hover-card", {
209
- "selected-card": e.plugin.selectedNestedModuleIndex.value === v
252
+ default: n(() => [
253
+ d(f, {
254
+ class: ye(["fixed-card hover-card", {
255
+ "selected-card": e.plugin.selectedNestedModuleIndex.value === y
210
256
  }]),
211
257
  outlined: "",
212
- onClick: (A) => e.selectNestedModule(v)
258
+ onClick: (U) => e.selectNestedModule(y)
213
259
  }, {
214
- default: l(() => [
215
- i.icon ? (u(), M(
216
- p,
260
+ default: n(() => [
261
+ v.icon ? (I(), $(
262
+ a,
217
263
  {
218
264
  key: 0,
219
265
  size: "50"
220
266
  },
221
267
  {
222
- default: l(() => [
223
- c(
224
- m(i.icon),
268
+ default: n(() => [
269
+ S(
270
+ V(v.icon),
225
271
  1
226
272
  /* TEXT */
227
273
  )
@@ -231,14 +277,14 @@ function ee(e, o, t, s, f, y) {
231
277
  },
232
278
  1024
233
279
  /* DYNAMIC_SLOTS */
234
- )) : h("v-if", !0),
235
- a(
236
- k,
280
+ )) : q("v-if", !0),
281
+ d(
282
+ s,
237
283
  { class: "text-center" },
238
284
  {
239
- default: l(() => [
240
- c(
241
- m(e.$st(i.title)),
285
+ default: n(() => [
286
+ S(
287
+ V(e.$st(v.title)),
242
288
  1
243
289
  /* TEXT */
244
290
  )
@@ -266,36 +312,36 @@ function ee(e, o, t, s, f, y) {
266
312
  ],
267
313
  64
268
314
  /* STABLE_FRAGMENT */
269
- )) : (u(!0), B(
270
- I,
315
+ )) : (I(!0), ie(
316
+ de,
271
317
  { key: 1 },
272
- N(e.modules, (i, v) => (u(), M(
273
- w,
318
+ me(e.modules, (v, y) => (I(), $(
319
+ u,
274
320
  {
275
321
  cols: "auto",
276
322
  class: "pa-2",
277
- key: v
323
+ key: y
278
324
  },
279
325
  {
280
- default: l(() => [
281
- a(_, {
282
- class: b(["fixed-card hover-card", {
283
- "selected-card": e.plugin.selectedMainModuleIndex.value === v
326
+ default: n(() => [
327
+ d(f, {
328
+ class: ye(["fixed-card hover-card", {
329
+ "selected-card": e.plugin.selectedMainModuleIndex.value === y
284
330
  }]),
285
331
  outlined: "",
286
- onClick: (A) => e.selectModule(v)
332
+ onClick: (U) => e.selectModule(y)
287
333
  }, {
288
- default: l(() => [
289
- i.icon ? (u(), M(
290
- p,
334
+ default: n(() => [
335
+ v.icon ? (I(), $(
336
+ a,
291
337
  {
292
338
  key: 0,
293
339
  size: "50"
294
340
  },
295
341
  {
296
- default: l(() => [
297
- c(
298
- m(i.icon),
342
+ default: n(() => [
343
+ S(
344
+ V(v.icon),
299
345
  1
300
346
  /* TEXT */
301
347
  )
@@ -305,14 +351,14 @@ function ee(e, o, t, s, f, y) {
305
351
  },
306
352
  1024
307
353
  /* DYNAMIC_SLOTS */
308
- )) : h("v-if", !0),
309
- a(
310
- k,
354
+ )) : q("v-if", !0),
355
+ d(
356
+ s,
311
357
  { class: "text-center" },
312
358
  {
313
- default: l(() => [
314
- c(
315
- m(e.$st(i.title)),
359
+ default: n(() => [
360
+ S(
361
+ V(e.$st(v.title)),
316
362
  1
317
363
  /* TEXT */
318
364
  )
@@ -341,24 +387,30 @@ function ee(e, o, t, s, f, y) {
341
387
  _: 1
342
388
  /* STABLE */
343
389
  }),
344
- a(n, { justify: "end" }, {
345
- default: l(() => [
346
- a(C, {
390
+ d(C, { justify: "end" }, {
391
+ default: n(() => [
392
+ d(b, {
347
393
  variant: "filled",
348
394
  class: "ma-5",
349
- onClick: e.startApplication,
395
+ onClick: o[1] || (o[1] = (v) => e.startApplication(
396
+ e.plugin.selectedMainModuleIndex.value,
397
+ e.plugin.selectedNestedModuleIndex.value,
398
+ e.app,
399
+ e.modules,
400
+ e.basisModule
401
+ )),
350
402
  disabled: e.isButtonDisabled
351
403
  }, {
352
- default: l(() => [
353
- c(
354
- m(e.$st("moduleSelector.startButton")),
404
+ default: n(() => [
405
+ S(
406
+ V(e.$st("moduleSelector.startButton")),
355
407
  1
356
408
  /* TEXT */
357
409
  )
358
410
  ]),
359
411
  _: 1
360
412
  /* STABLE */
361
- }, 8, ["onClick", "disabled"])
413
+ }, 8, ["disabled"])
362
414
  ]),
363
415
  _: 1
364
416
  /* STABLE */
@@ -372,82 +424,1864 @@ function ee(e, o, t, s, f, y) {
372
424
  /* STABLE */
373
425
  });
374
426
  }
375
- const te = /* @__PURE__ */ Y(X, [["render", ee], ["__scopeId", "data-v-c33080d7"]]), q = () => ({
427
+ const co = /* @__PURE__ */ Y(so, [["render", uo], ["__scopeId", "data-v-29a2202f"]]), re = () => ({
376
428
  windowTitle: "moduleSelector.title",
429
+ isActiveOnStart: !0,
430
+ requireModuleSelection: !1,
377
431
  position: {
378
432
  left: "33%",
379
433
  right: "33%",
380
434
  top: "10%"
381
435
  },
382
- modules: []
436
+ basisModule: void 0,
437
+ modules: [],
438
+ serverUrl: "",
439
+ projectId: "",
440
+ appId: "",
441
+ token: ""
442
+ }), mo = J({
443
+ name: "ModuleEditor",
444
+ components: {
445
+ VcsTextField: se,
446
+ VcsLabel: be,
447
+ VCol: X,
448
+ VRow: Q,
449
+ VForm: ke,
450
+ VContainer: Z,
451
+ VcsFormButton: he,
452
+ VDivider: Qe,
453
+ VCard: Ve,
454
+ VcsFormSection: Me
455
+ },
456
+ props: {
457
+ modelValue: {
458
+ type: Object,
459
+ required: !0
460
+ }
461
+ },
462
+ setup(e) {
463
+ const o = k(e.modelValue), t = k(!1);
464
+ return {
465
+ localModuleOptions: o,
466
+ isFormValid: t,
467
+ validateForm: () => {
468
+ t.value = !!o.value.title;
469
+ },
470
+ requiredRule: (l) => !!l || "moduleSelector.configEditor.editorError"
471
+ };
472
+ }
473
+ }), po = { class: "d-flex gc-2 w-100 justify-end pa-2" };
474
+ function fo(e, o, t, r, i, l) {
475
+ const a = c("VcsLabel"), s = c("v-col"), f = c("VcsTextField"), u = c("v-row"), C = c("v-container"), b = c("v-form"), g = c("v-divider"), R = c("VcsFormButton"), v = c("VcsFormSection"), y = c("v-card");
476
+ return I(), $(y, null, {
477
+ default: n(() => [
478
+ d(v, null, {
479
+ default: n(() => [
480
+ d(b, {
481
+ modelValue: e.isFormValid,
482
+ "onUpdate:modelValue": o[3] || (o[3] = (U) => e.isFormValid = U),
483
+ ref: "form"
484
+ }, {
485
+ default: n(() => [
486
+ d(C, { class: "px-2 pt-0 pb-2" }, {
487
+ default: n(() => [
488
+ d(u, { "no-gutters": "" }, {
489
+ default: n(() => [
490
+ d(s, { cols: "6" }, {
491
+ default: n(() => [
492
+ d(a, {
493
+ required: "",
494
+ "html-for": "moduleName"
495
+ }, {
496
+ default: n(() => [
497
+ S(
498
+ V(e.$st("moduleSelector.configEditor.moduleName")),
499
+ 1
500
+ /* TEXT */
501
+ )
502
+ ]),
503
+ _: 1
504
+ /* STABLE */
505
+ })
506
+ ]),
507
+ _: 1
508
+ /* STABLE */
509
+ }),
510
+ d(s, { cols: "6" }, {
511
+ default: n(() => [
512
+ d(f, {
513
+ id: "moduleName",
514
+ placeholder: "Module Name",
515
+ modelValue: e.localModuleOptions.title,
516
+ "onUpdate:modelValue": o[0] || (o[0] = (U) => e.localModuleOptions.title = U),
517
+ rules: [e.requiredRule]
518
+ }, null, 8, ["modelValue", "rules"])
519
+ ]),
520
+ _: 1
521
+ /* STABLE */
522
+ })
523
+ ]),
524
+ _: 1
525
+ /* STABLE */
526
+ }),
527
+ d(u, { "no-gutters": "" }, {
528
+ default: n(() => [
529
+ d(s, { cols: "6" }, {
530
+ default: n(() => [
531
+ d(a, {
532
+ required: "",
533
+ "html-for": "moduleIcon"
534
+ }, {
535
+ default: n(() => [
536
+ S(
537
+ V(e.$st("moduleSelector.configEditor.moduleIcon")),
538
+ 1
539
+ /* TEXT */
540
+ )
541
+ ]),
542
+ _: 1
543
+ /* STABLE */
544
+ })
545
+ ]),
546
+ _: 1
547
+ /* STABLE */
548
+ }),
549
+ d(s, { cols: "6" }, {
550
+ default: n(() => [
551
+ d(f, {
552
+ id: "moduleIcon",
553
+ placeholder: "Icon Name",
554
+ modelValue: e.localModuleOptions.icon,
555
+ "onUpdate:modelValue": o[1] || (o[1] = (U) => e.localModuleOptions.icon = U),
556
+ rules: [e.requiredRule]
557
+ }, null, 8, ["modelValue", "rules"])
558
+ ]),
559
+ _: 1
560
+ /* STABLE */
561
+ })
562
+ ]),
563
+ _: 1
564
+ /* STABLE */
565
+ }),
566
+ d(u, { "no-gutters": "" }, {
567
+ default: n(() => [
568
+ d(s, { cols: "6" }, {
569
+ default: n(() => [
570
+ d(a, {
571
+ required: "",
572
+ "html-for": "moduleUrl"
573
+ }, {
574
+ default: n(() => [
575
+ S(
576
+ V(e.$st("moduleSelector.configEditor.moduleUrl")),
577
+ 1
578
+ /* TEXT */
579
+ )
580
+ ]),
581
+ _: 1
582
+ /* STABLE */
583
+ })
584
+ ]),
585
+ _: 1
586
+ /* STABLE */
587
+ }),
588
+ d(s, { cols: "6" }, {
589
+ default: n(() => [
590
+ d(f, {
591
+ id: "moduleUrl",
592
+ placeholder: "URL",
593
+ modelValue: e.localModuleOptions.moduleUrl,
594
+ "onUpdate:modelValue": o[2] || (o[2] = (U) => e.localModuleOptions.moduleUrl = U),
595
+ rules: [e.requiredRule]
596
+ }, null, 8, ["modelValue", "rules"])
597
+ ]),
598
+ _: 1
599
+ /* STABLE */
600
+ })
601
+ ]),
602
+ _: 1
603
+ /* STABLE */
604
+ })
605
+ ]),
606
+ _: 1
607
+ /* STABLE */
608
+ })
609
+ ]),
610
+ _: 1
611
+ /* STABLE */
612
+ }, 8, ["modelValue"]),
613
+ d(g),
614
+ pe("div", po, [
615
+ d(R, {
616
+ disabled: !e.isFormValid,
617
+ onClick: o[4] || (o[4] = () => {
618
+ e.$emit("submit", e.localModuleOptions);
619
+ }),
620
+ variant: "filled"
621
+ }, {
622
+ default: n(() => [
623
+ S(
624
+ V(e.$st("components.apply")),
625
+ 1
626
+ /* TEXT */
627
+ )
628
+ ]),
629
+ _: 1
630
+ /* STABLE */
631
+ }, 8, ["disabled"]),
632
+ d(R, {
633
+ onClick: o[5] || (o[5] = (U) => e.$emit("close"))
634
+ }, {
635
+ default: n(() => [
636
+ S(
637
+ V(e.$st("components.cancel")),
638
+ 1
639
+ /* TEXT */
640
+ )
641
+ ]),
642
+ _: 1
643
+ /* STABLE */
644
+ })
645
+ ])
646
+ ]),
647
+ _: 1
648
+ /* STABLE */
649
+ })
650
+ ]),
651
+ _: 1
652
+ /* STABLE */
653
+ });
654
+ }
655
+ const vo = /* @__PURE__ */ Y(mo, [["render", fo]]), go = J({
656
+ name: "WindowPositionSettings",
657
+ components: {
658
+ VContainer: Z,
659
+ VRow: Q,
660
+ VCol: X,
661
+ VcsCheckbox: $e,
662
+ VcsTextField: se
663
+ },
664
+ props: {
665
+ modelValue: {
666
+ type: Object,
667
+ required: !0
668
+ },
669
+ positionKeys: {
670
+ type: Array,
671
+ default: () => ["height", "maxHeight", "width", "maxWidth"]
672
+ }
673
+ },
674
+ setup(e, { emit: o }) {
675
+ const t = Fe(
676
+ e,
677
+ "modelValue",
678
+ o
679
+ );
680
+ return {
681
+ inputs: H(() => e.positionKeys.reduce(
682
+ (i, l) => (i[l] = {
683
+ key: l,
684
+ checkbox: Re(t, l, null),
685
+ input: H({
686
+ get() {
687
+ return t.value[l];
688
+ },
689
+ set(a) {
690
+ t.value[l] = a;
691
+ }
692
+ }),
693
+ placeholder: "auto"
694
+ }, i),
695
+ {}
696
+ ))
697
+ };
698
+ }
699
+ });
700
+ function ho(e, o, t, r, i, l) {
701
+ const a = c("VcsCheckbox"), s = c("v-col"), f = c("VcsTextField"), u = c("v-row"), C = c("v-container");
702
+ return I(), $(C, { class: "py-0 px-1" }, {
703
+ default: n(() => [
704
+ (I(!0), ie(
705
+ de,
706
+ null,
707
+ me(e.inputs, ({ key: b, checkbox: g, input: R, placeholder: v }) => (I(), $(
708
+ u,
709
+ {
710
+ "no-gutters": "",
711
+ key: b
712
+ },
713
+ {
714
+ default: n(() => [
715
+ d(
716
+ s,
717
+ null,
718
+ {
719
+ default: n(() => [
720
+ d(a, {
721
+ label: `appConfigurator.editors.featureInfo.window.position.${b}`,
722
+ modelValue: g.value,
723
+ "onUpdate:modelValue": (y) => g.value = y
724
+ }, null, 8, ["label", "modelValue", "onUpdate:modelValue"])
725
+ ]),
726
+ _: 2
727
+ /* DYNAMIC */
728
+ },
729
+ 1024
730
+ /* DYNAMIC_SLOTS */
731
+ ),
732
+ d(
733
+ s,
734
+ null,
735
+ {
736
+ default: n(() => [
737
+ d(f, {
738
+ clearable: "",
739
+ disabled: !g.value,
740
+ placeholder: v,
741
+ modelValue: R.value,
742
+ "onUpdate:modelValue": (y) => R.value = y,
743
+ modelModifiers: { trim: !0 }
744
+ }, null, 8, ["disabled", "placeholder", "modelValue", "onUpdate:modelValue"])
745
+ ]),
746
+ _: 2
747
+ /* DYNAMIC */
748
+ },
749
+ 1024
750
+ /* DYNAMIC_SLOTS */
751
+ )
752
+ ]),
753
+ _: 2
754
+ /* DYNAMIC */
755
+ },
756
+ 1024
757
+ /* DYNAMIC_SLOTS */
758
+ ))),
759
+ 128
760
+ /* KEYED_FRAGMENT */
761
+ ))
762
+ ]),
763
+ _: 1
764
+ /* STABLE */
765
+ });
766
+ }
767
+ const bo = /* @__PURE__ */ Y(go, [["render", ho]]);
768
+ let Ae = "";
769
+ function Mo(e) {
770
+ Ae = e;
771
+ }
772
+ let fe;
773
+ function So(e) {
774
+ fe = e;
775
+ }
776
+ let Ce = {};
777
+ function Vo() {
778
+ return fe ? {
779
+ authorization: `Bearer ${fe}`,
780
+ ...Ce
781
+ } : { ...Ce };
782
+ }
783
+ class yo extends Error {
784
+ constructor(t, r, i, l, a) {
785
+ super(`Failed to ${r} ${i}. Got status ${t} with reason: ${l}`);
786
+ W(this, "url");
787
+ W(this, "method");
788
+ W(this, "status");
789
+ W(this, "reason");
790
+ W(this, "error");
791
+ this.error = a, this.method = r, this.status = t, this.url = i, this.reason = l;
792
+ }
793
+ }
794
+ function wo(e, o, t) {
795
+ let r = e;
796
+ Object.keys(t).filter((l) => t[l] === "path").map((l) => ({ key: l, param: o[l] })).forEach(({ key: l, param: a }) => {
797
+ r = r.replace(`{${l}}`, a.toString());
798
+ });
799
+ const i = new URL(r, Ae);
800
+ return Object.keys(t).filter((l) => t[l] === "query" && o[l]).map((l) => ({ key: l, param: o[l] })).forEach(({ key: l, param: a }) => {
801
+ Array.isArray(a) ? a.forEach((s) => {
802
+ i.searchParams.append(l, s.toString());
803
+ }) : i.searchParams.append(l, a.toString());
804
+ }), i.toString();
805
+ }
806
+ async function Eo(e, o, t, r = void 0, i = {}) {
807
+ const l = await fetch(e, {
808
+ method: o,
809
+ body: r,
810
+ headers: { ...i, ...Vo() },
811
+ redirect: "follow"
812
+ });
813
+ if (l.status === t)
814
+ return l;
815
+ let a = await l.text(), s;
816
+ try {
817
+ const f = JSON.parse(a);
818
+ f.reason && ({ reason: a } = f), f.error && ({ error: s } = f);
819
+ } catch {
820
+ }
821
+ throw new yo(l.status, o, e, a, s);
822
+ }
823
+ async function Io(e, o, t, r = void 0, i = {}) {
824
+ return (await Eo(e, o, t, r, i)).json();
825
+ }
826
+ async function Co(e) {
827
+ const o = "api/v1/project/{projectId}/modules", t = "get", i = wo(o, e, {
828
+ projectId: "path",
829
+ limit: "query",
830
+ page: "query",
831
+ sort: "query",
832
+ orderBy: "query",
833
+ name: "query"
834
+ });
835
+ return Io(i, t, 200, void 0, void 0);
836
+ }
837
+ const A = {
838
+ OFF: 1,
839
+ ERROR: 2,
840
+ WARN: 4,
841
+ INFO: 8,
842
+ DEBUG: 16
843
+ }, P = {
844
+ ERROR: 0,
845
+ WARN: 0,
846
+ INFO: 0,
847
+ DEBUG: 0
848
+ };
849
+ P.ERROR = A.ERROR | A.WARN | A.INFO | A.DEBUG;
850
+ P.WARN = A.WARN | A.INFO | A.DEBUG;
851
+ P.INFO = A.INFO | A.DEBUG;
852
+ P.DEBUG = A.DEBUG;
853
+ const K = {
854
+ useTimestamp: !1,
855
+ logLevel: A.INFO
856
+ }, x = /* @__PURE__ */ new Map();
857
+ x.set(A.ERROR, "error");
858
+ x.set(A.WARN, "warn");
859
+ x.set(A.INFO, "info");
860
+ x.set(A.DEBUG, "log");
861
+ class Ne {
862
+ /**
863
+ * @param {string=} className
864
+ */
865
+ constructor(o) {
866
+ this.className = o, this.deprecations = /* @__PURE__ */ new Map();
867
+ }
868
+ /**
869
+ * Logs an error message
870
+ * @param {string} msg The message to log.
871
+ * @param {...any} optArgs
872
+ */
873
+ error(o, ...t) {
874
+ K.logLevel & P.ERROR && this._log(String(o), A.ERROR, t);
875
+ }
876
+ /**
877
+ * Logs a warning message
878
+ * @param {string} msg The message to log.
879
+ * @param {...any} optArgs
880
+ */
881
+ warning(o, ...t) {
882
+ K.logLevel & P.WARN && this._log(String(o), A.WARN, t);
883
+ }
884
+ /**
885
+ * Deprecate a function. deprecations are stored on the logger
886
+ * @param {string} functionName
887
+ * @param {string=} alternativeFunctionName
888
+ */
889
+ deprecate(o, t) {
890
+ const r = String(o), i = t ? String(t) : null;
891
+ if (!this.deprecations.has(r)) {
892
+ this.deprecations.set(r, i || null);
893
+ let l = `${r} has been deprecated and will be removed`;
894
+ i && (l = `${l}. ${i}`), this.warning(l);
895
+ }
896
+ }
897
+ /**
898
+ * Logs an info message
899
+ * @param {string} msg The message to log.
900
+ * @param {...any} optArgs
901
+ */
902
+ info(o, ...t) {
903
+ K.logLevel & P.INFO && this._log(String(o), A.INFO, t);
904
+ }
905
+ /**
906
+ * Logs a debug message
907
+ * @param {string} msg The message to log.
908
+ * @param {...any} optArgs
909
+ */
910
+ debug(o, ...t) {
911
+ K.logLevel & P.DEBUG && this._log(String(o), A.DEBUG, t);
912
+ }
913
+ /**
914
+ * Alias for debug
915
+ * @param {string} msg The message to log.
916
+ * @param {...any} optArgs
917
+ */
918
+ log(o, ...t) {
919
+ K.logLevel & P.DEBUG && this._log(String(o), A.DEBUG, t);
920
+ }
921
+ /**
922
+ * Logs a message
923
+ * @param {string} msg The message to log.
924
+ * @param {LOG_LEVEL} level
925
+ * @param {Array} optArgs
926
+ * @private
927
+ */
928
+ _log(o, t, r) {
929
+ let i = o;
930
+ this.className && (i = `[${this.className}] ${i}`), console[x.get(t)](i, ...r), t & A.ERROR && (console.group(), console.trace(), console.groupEnd());
931
+ }
932
+ }
933
+ const ve = /* @__PURE__ */ new Map();
934
+ let ce;
935
+ function $o() {
936
+ return ce || (ce = new Ne()), ce;
937
+ }
938
+ function _o(e) {
939
+ const o = new Ne(e);
940
+ return ve.set(e, o), o;
941
+ }
942
+ function ge(e) {
943
+ return e ? ve.has(e) ? ve.get(e) : _o(e) : $o();
944
+ }
945
+ function ko(e) {
946
+ try {
947
+ if (e.serverUrl) {
948
+ const o = new URL(
949
+ e.serverUrl,
950
+ window.location.href
951
+ ).toString();
952
+ Mo(o);
953
+ const t = e.token || localStorage.getItem("Meteor.loginToken");
954
+ t && (So(t), ge(j).info("Publisher connection successful"));
955
+ }
956
+ } catch (o) {
957
+ ge(j).error("Failed to connect to publisher", o);
958
+ }
959
+ }
960
+ function Uo(e, o) {
961
+ return new Date(e).toLocaleString(o);
962
+ }
963
+ function Ao() {
964
+ return [
965
+ {
966
+ title: "moduleSelector.configEditor.moduleCloudPicker.headers.name",
967
+ value: "name"
968
+ },
969
+ {
970
+ title: "moduleSelector.configEditor.moduleCloudPicker.headers.type",
971
+ value: "type",
972
+ sortable: !1
973
+ },
974
+ {
975
+ title: "moduleSelector.configEditor.moduleCloudPicker.headers.description",
976
+ value: "description"
977
+ },
978
+ {
979
+ title: "moduleSelector.configEditor.moduleCloudPicker.headers.createdAt",
980
+ value: "createdAt",
981
+ sort: (e, o) => new Date(o).getTime() - new Date(e).getTime()
982
+ },
983
+ {
984
+ title: "moduleSelector.configEditor.moduleCloudPicker.headers.updatedAt",
985
+ value: "updatedAt",
986
+ sort: (e, o) => new Date(o).getTime() - new Date(e).getTime()
987
+ },
988
+ {
989
+ title: "moduleSelector.configEditor.moduleCloudPicker.headers.createdBy",
990
+ value: "createdBy"
991
+ },
992
+ {
993
+ title: "moduleSelector.configEditor.moduleCloudPicker.headers.updatedBy",
994
+ value: "updatedBy"
995
+ }
996
+ ];
997
+ }
998
+ const No = J({
999
+ name: "CloudModuleSelector",
1000
+ components: {
1001
+ VcsDataTable: De,
1002
+ VcsFormButton: he,
1003
+ VTooltip: Xe,
1004
+ VIcon: _e,
1005
+ VCard: Ve,
1006
+ VcsLabel: be,
1007
+ VcsTextField: se,
1008
+ VcsFormSection: Me,
1009
+ VRow: Q,
1010
+ VCol: X,
1011
+ VForm: ke,
1012
+ VContainer: Z
1013
+ },
1014
+ props: {
1015
+ modelValue: {
1016
+ type: Object,
1017
+ required: !0
1018
+ }
1019
+ },
1020
+ setup(e, { emit: o }) {
1021
+ const t = Se("vcsApp"), r = t.plugins.getByKey(j), i = t.plugins.getByKey(
1022
+ "@vcmap/app-configurator"
1023
+ );
1024
+ ko(i.config || r.config);
1025
+ const l = k(!0), a = k([]), s = k(0), f = k(0), u = k([void 0]), C = Ao(), b = /* @__PURE__ */ new Map(), g = k(e.modelValue), R = H(() => g.value.id === ""), v = k(!1), y = () => {
1026
+ var D, L;
1027
+ v.value = !!((D = g.value) != null && D.title) && !!((L = g.value) != null && L.icon);
1028
+ }, U = {
1029
+ standalone: "$vcsGlobeNature",
1030
+ extension: "$vcsShapes"
1031
+ };
1032
+ function G(D) {
1033
+ var _;
1034
+ const { itemsPerPage: L, page: te, search: le, sortBy: ne, sortDesc: m } = D;
1035
+ l.value = !0, (_ = i == null ? void 0 : i.config) != null && _.projectId && Co({
1036
+ projectId: i.config.projectId,
1037
+ limit: L,
1038
+ page: te - 1,
1039
+ name: le,
1040
+ orderBy: ne,
1041
+ sort: m != null && m[0] ? "desc" : "asc"
1042
+ }).then((h) => {
1043
+ a.value = h.items.map((w) => {
1044
+ var T, E;
1045
+ const B = {
1046
+ name: w.name,
1047
+ description: w.description,
1048
+ createdAt: w.createdAt,
1049
+ updatedAt: w.updatedAt,
1050
+ createdBy: (i == null ? void 0 : i.getUserName(w.createdBy)) || w.createdBy,
1051
+ updatedBy: (i == null ? void 0 : i.getUserName(w.updatedBy)) || w.updatedBy,
1052
+ _id: w._id
1053
+ };
1054
+ return (((T = w.maps) == null ? void 0 : T.length) ?? 0) > 0 && (((E = w.layers) == null ? void 0 : E.length) ?? 0) > 0 ? B.type = "standalone" : B.type = "extension", B.disabled = !!t.getModuleById(w._id), b.set(w._id, w), B;
1055
+ }), s.value = h.totalCount, f.value = h.totalPages;
1056
+ }).catch((h) => {
1057
+ ge("CloudModuleSelector.vue").error(
1058
+ "Failed to load project modules.",
1059
+ h
1060
+ );
1061
+ }).finally(() => {
1062
+ l.value = !1;
1063
+ });
1064
+ }
1065
+ return {
1066
+ selectedItem: g,
1067
+ isItemIdEmpty: R,
1068
+ loading: l,
1069
+ items: a,
1070
+ totalItems: s,
1071
+ totalPages: f,
1072
+ headers: C,
1073
+ selected: u,
1074
+ typeIcon(D) {
1075
+ return U[D];
1076
+ },
1077
+ formatDate: Uo,
1078
+ getItems: G,
1079
+ close: () => {
1080
+ o("close");
1081
+ },
1082
+ addSelected: () => {
1083
+ var D;
1084
+ u.value.length > 0 && ((D = u.value[0]) == null ? void 0 : D._id) !== "" && (g.value.id = u.value[0]._id, g.value.title = u.value[0].name, g.value.icon = "", g.value.moduleUrl = `configs/${u.value[0]._id}.json`);
1085
+ },
1086
+ isFValid: v,
1087
+ validateForm: y,
1088
+ removeSelected: () => {
1089
+ g.value.id = "", g.value.title = "", g.value.icon = "", g.value.moduleUrl = "";
1090
+ },
1091
+ requiredRule: (D) => !!D || "moduleSelector.configEditor.editorError"
1092
+ };
1093
+ }
1094
+ }), Bo = { class: "d-flex px-2" };
1095
+ function Oo(e, o, t, r, i, l) {
1096
+ const a = c("v-icon"), s = c("v-tooltip"), f = c("VcsDataTable"), u = c("VcsLabel"), C = c("v-col"), b = c("VcsTextField"), g = c("v-row"), R = c("v-container"), v = c("v-form"), y = c("VcsFormSection"), U = c("VcsFormButton"), G = c("v-card");
1097
+ return I(), $(G, null, {
1098
+ default: n(() => [
1099
+ pe("div", null, [
1100
+ e.isItemIdEmpty ? (I(), $(f, {
1101
+ key: 0,
1102
+ "base-component": "VDataTableServer",
1103
+ loading: e.loading,
1104
+ items: e.items,
1105
+ "server-items-length": e.totalItems,
1106
+ "server-pages-length": e.totalPages,
1107
+ "searchbar-placeholder": e.$t("moduleSelector.configEditor.moduleCloudPicker.searchName"),
1108
+ headers: e.headers,
1109
+ "select-strategy": "single",
1110
+ "return-object": "",
1111
+ "show-select": "",
1112
+ "item-value": "_id",
1113
+ modelValue: e.selected,
1114
+ "onUpdate:modelValue": o[0] || (o[0] = (N) => e.selected = N),
1115
+ "onUpdate:items": e.getItems
1116
+ }, {
1117
+ "item.type": n(({ item: N }) => [
1118
+ d(
1119
+ a,
1120
+ ze(We({ ...e.$attrs })),
1121
+ {
1122
+ default: n(() => [
1123
+ S(
1124
+ V(e.typeIcon(N.type)),
1125
+ 1
1126
+ /* TEXT */
1127
+ )
1128
+ ]),
1129
+ _: 2
1130
+ /* DYNAMIC */
1131
+ },
1132
+ 1040
1133
+ /* FULL_PROPS, DYNAMIC_SLOTS */
1134
+ ),
1135
+ d(
1136
+ s,
1137
+ {
1138
+ activator: "parent",
1139
+ location: "right"
1140
+ },
1141
+ {
1142
+ default: n(() => [
1143
+ S(
1144
+ V(e.$t(`appConfigurator.dialogs.vcsModuleTable.${N.type}`)),
1145
+ 1
1146
+ /* TEXT */
1147
+ )
1148
+ ]),
1149
+ _: 2
1150
+ /* DYNAMIC */
1151
+ },
1152
+ 1024
1153
+ /* DYNAMIC_SLOTS */
1154
+ )
1155
+ ]),
1156
+ "item.createdAt": n(({ item: N }) => [
1157
+ S(
1158
+ V(e.formatDate(N.createdAt, e.$i18n.locale)),
1159
+ 1
1160
+ /* TEXT */
1161
+ )
1162
+ ]),
1163
+ "item.updatedAt": n(({ item: N }) => [
1164
+ S(
1165
+ V(e.formatDate(N.updatedAt, e.$i18n.locale)),
1166
+ 1
1167
+ /* TEXT */
1168
+ )
1169
+ ]),
1170
+ _: 1
1171
+ /* STABLE */
1172
+ }, 8, ["loading", "items", "server-items-length", "server-pages-length", "searchbar-placeholder", "headers", "modelValue", "onUpdate:items"])) : (I(), $(y, { key: 1 }, {
1173
+ default: n(() => [
1174
+ d(v, {
1175
+ modelValue: e.isFValid,
1176
+ "onUpdate:modelValue": o[3] || (o[3] = (N) => e.isFValid = N),
1177
+ ref: "form"
1178
+ }, {
1179
+ default: n(() => [
1180
+ d(R, { class: "px-2 pt-0 pb-2" }, {
1181
+ default: n(() => [
1182
+ d(g, {
1183
+ "no-gutters": "",
1184
+ class: "px-2"
1185
+ }, {
1186
+ default: n(() => [
1187
+ d(C, { cols: "2" }, {
1188
+ default: n(() => [
1189
+ d(u, {
1190
+ required: "",
1191
+ "html-for": "moduleName"
1192
+ }, {
1193
+ default: n(() => [
1194
+ S(
1195
+ V(e.$st("moduleSelector.configEditor.moduleName")),
1196
+ 1
1197
+ /* TEXT */
1198
+ )
1199
+ ]),
1200
+ _: 1
1201
+ /* STABLE */
1202
+ })
1203
+ ]),
1204
+ _: 1
1205
+ /* STABLE */
1206
+ }),
1207
+ d(C, { cols: "4" }, {
1208
+ default: n(() => [
1209
+ d(b, {
1210
+ id: "moduleName",
1211
+ placeholder: "Module Name",
1212
+ modelValue: e.selectedItem.title,
1213
+ "onUpdate:modelValue": o[1] || (o[1] = (N) => e.selectedItem.title = N),
1214
+ rules: [e.requiredRule]
1215
+ }, null, 8, ["modelValue", "rules"])
1216
+ ]),
1217
+ _: 1
1218
+ /* STABLE */
1219
+ })
1220
+ ]),
1221
+ _: 1
1222
+ /* STABLE */
1223
+ }),
1224
+ d(g, {
1225
+ "no-gutters": "",
1226
+ class: "px-2"
1227
+ }, {
1228
+ default: n(() => [
1229
+ d(C, { cols: "2" }, {
1230
+ default: n(() => [
1231
+ d(u, {
1232
+ required: "",
1233
+ "html-for": "moduleIcon"
1234
+ }, {
1235
+ default: n(() => [
1236
+ S(
1237
+ V(e.$st("moduleSelector.configEditor.moduleIcon")),
1238
+ 1
1239
+ /* TEXT */
1240
+ )
1241
+ ]),
1242
+ _: 1
1243
+ /* STABLE */
1244
+ })
1245
+ ]),
1246
+ _: 1
1247
+ /* STABLE */
1248
+ }),
1249
+ d(C, { cols: "4" }, {
1250
+ default: n(() => [
1251
+ d(b, {
1252
+ id: "moduleIcon",
1253
+ placeholder: "Icon Name",
1254
+ modelValue: e.selectedItem.icon,
1255
+ "onUpdate:modelValue": o[2] || (o[2] = (N) => e.selectedItem.icon = N),
1256
+ rules: [e.requiredRule]
1257
+ }, null, 8, ["modelValue", "rules"])
1258
+ ]),
1259
+ _: 1
1260
+ /* STABLE */
1261
+ })
1262
+ ]),
1263
+ _: 1
1264
+ /* STABLE */
1265
+ })
1266
+ ]),
1267
+ _: 1
1268
+ /* STABLE */
1269
+ })
1270
+ ]),
1271
+ _: 1
1272
+ /* STABLE */
1273
+ }, 8, ["modelValue"])
1274
+ ]),
1275
+ _: 1
1276
+ /* STABLE */
1277
+ })),
1278
+ pe("div", Bo, [
1279
+ e.isItemIdEmpty ? (I(), $(U, {
1280
+ key: 0,
1281
+ variant: "filled",
1282
+ disabled: e.selected[0] === void 0,
1283
+ class: "ma-2",
1284
+ onClick: e.addSelected,
1285
+ tooltip: "appConfigurator.dialogs.addTooltip",
1286
+ "tooltip-position": "bottom"
1287
+ }, {
1288
+ default: n(() => [
1289
+ S(
1290
+ V(e.$t("moduleSelector.configEditor.moduleCloudPicker.continue")),
1291
+ 1
1292
+ /* TEXT */
1293
+ )
1294
+ ]),
1295
+ _: 1
1296
+ /* STABLE */
1297
+ }, 8, ["disabled", "onClick"])) : q("v-if", !0),
1298
+ e.isItemIdEmpty ? q("v-if", !0) : (I(), $(U, {
1299
+ key: 1,
1300
+ disabled: !e.isFValid,
1301
+ variant: "filled",
1302
+ class: "ma-2",
1303
+ onClick: o[4] || (o[4] = () => {
1304
+ e.$emit("submit", e.selectedItem);
1305
+ })
1306
+ }, {
1307
+ default: n(() => [
1308
+ S(
1309
+ V(e.$t("components.apply")),
1310
+ 1
1311
+ /* TEXT */
1312
+ )
1313
+ ]),
1314
+ _: 1
1315
+ /* STABLE */
1316
+ }, 8, ["disabled"])),
1317
+ e.isItemIdEmpty ? q("v-if", !0) : (I(), $(U, {
1318
+ key: 2,
1319
+ onClick: e.removeSelected,
1320
+ class: "ma-2"
1321
+ }, {
1322
+ default: n(() => [
1323
+ S(
1324
+ V(e.$t("moduleSelector.configEditor.moduleCloudPicker.back")),
1325
+ 1
1326
+ /* TEXT */
1327
+ )
1328
+ ]),
1329
+ _: 1
1330
+ /* STABLE */
1331
+ }, 8, ["onClick"])),
1332
+ d(U, {
1333
+ class: "ma-2",
1334
+ onClick: e.close
1335
+ }, {
1336
+ default: n(() => [
1337
+ S(
1338
+ V(e.$t("components.cancel")),
1339
+ 1
1340
+ /* TEXT */
1341
+ )
1342
+ ]),
1343
+ _: 1
1344
+ /* STABLE */
1345
+ }, 8, ["onClick"])
1346
+ ])
1347
+ ])
1348
+ ]),
1349
+ _: 1
1350
+ /* STABLE */
1351
+ });
1352
+ }
1353
+ const To = /* @__PURE__ */ Y(No, [["render", Oo]]), Fo = J({
1354
+ name: "ModuleSelectorConfigEditor",
1355
+ components: {
1356
+ VcsCheckbox: $e,
1357
+ VDialog: Ye,
1358
+ VcsList: qe,
1359
+ VcsFormSection: Me,
1360
+ VRow: Q,
1361
+ VcsLabel: be,
1362
+ AbstractConfigEditor: Pe,
1363
+ VcsTextField: se,
1364
+ VCol: X,
1365
+ VContainer: Z,
1366
+ ModuleEditor: vo,
1367
+ VBreadcrumbs: xe,
1368
+ VBreadcrumbsItem: eo,
1369
+ WindowPositionSettings: bo,
1370
+ VcsModuleTable: To
1371
+ },
1372
+ props: {
1373
+ getConfig: {
1374
+ type: Function,
1375
+ required: !0
1376
+ },
1377
+ setConfig: {
1378
+ type: Function,
1379
+ required: !0
1380
+ }
1381
+ },
1382
+ setup(e) {
1383
+ var te, le, ne;
1384
+ const o = Se("vcsApp"), t = k(0), r = k(void 0), i = k([]), l = k(void 0), a = k({ id: "", title: "", icon: "", moduleUrl: "" }), s = k({ id: "", title: "", icon: "", moduleUrl: "" }), f = k(!1), u = k(!1), C = k(!1), b = k(void 0);
1385
+ r.value = {
1386
+ ...re(),
1387
+ ...e.getConfig()
1388
+ };
1389
+ const g = k();
1390
+ (te = r.value) != null && te.basisModule && (g.value = (le = r.value) == null ? void 0 : le.basisModule);
1391
+ const R = H({
1392
+ get() {
1393
+ return !!g.value;
1394
+ },
1395
+ set(m) {
1396
+ var _;
1397
+ m ? g.value = ((_ = r.value) == null ? void 0 : _.basisModule) || { title: "" } : g.value = null;
1398
+ }
1399
+ }), v = He([]);
1400
+ function y(m, _) {
1401
+ var w, B, T;
1402
+ const h = {
1403
+ id: `${m.title || "undefined"}-${_}`,
1404
+ name: m.title,
1405
+ title: m.title,
1406
+ icon: m.icon,
1407
+ type: m.type,
1408
+ actions: []
1409
+ };
1410
+ return m.type === "url" && (h.moduleUrl = m.moduleUrl, (w = h.actions) == null || w.push({
1411
+ name: "edit",
1412
+ title: "moduleSelector.configEditor.TooltipEditModule",
1413
+ icon: "$vcsEdit",
1414
+ callback() {
1415
+ if (l.value === void 0 && i.value.length > 0) {
1416
+ const E = i.value.find(
1417
+ (F) => F.id === h.id
1418
+ );
1419
+ E && (a.value = {
1420
+ id: E.id,
1421
+ title: E.title,
1422
+ icon: E.icon,
1423
+ moduleUrl: E.moduleUrl
1424
+ });
1425
+ } else {
1426
+ const E = l.value.cards.find(
1427
+ (F) => F.id === h.id
1428
+ );
1429
+ E && (a.value = {
1430
+ id: E.id,
1431
+ title: E.title,
1432
+ icon: E.icon,
1433
+ moduleUrl: E.moduleUrl
1434
+ });
1435
+ }
1436
+ u.value = !0;
1437
+ }
1438
+ })), m.type === "group" && ((B = h.actions) == null || B.push({
1439
+ name: "editGroup",
1440
+ title: "moduleSelector.configEditor.TooltipEditGroup",
1441
+ icon: "mdi-playlist-edit",
1442
+ callback() {
1443
+ if (i.value.length > 0) {
1444
+ const E = i.value.find(
1445
+ (F) => F.id === h.id
1446
+ );
1447
+ E && (l.value = E, v.splice(2, 1), v.length > 1 && (v[1].icon = "$vcsPlus", v[1].title = "moduleSelector.configEditor.TooltipAddModule"));
1448
+ }
1449
+ }
1450
+ }), m.cards && (h.cards = m.cards.map(y))), (T = h.actions) == null || T.push({
1451
+ name: "linkButton.editor.remove",
1452
+ title: "moduleSelector.configEditor.TooltipDeleteMG",
1453
+ icon: "$vcsTrashCan",
1454
+ callback() {
1455
+ var E, F, M;
1456
+ l.value ? l.value.cards = (F = (E = l.value) == null ? void 0 : E.cards) == null ? void 0 : F.filter(
1457
+ (O) => O.id !== h.id
1458
+ ) : i.value = (M = i.value) == null ? void 0 : M.filter(
1459
+ (O) => O.id !== h.id
1460
+ );
1461
+ }
1462
+ }), h;
1463
+ }
1464
+ v.push({
1465
+ name: "moduleSelector.configEditor.addFromCloud",
1466
+ icon: "$vcsImport",
1467
+ callback() {
1468
+ s.value = {
1469
+ id: "",
1470
+ title: "",
1471
+ icon: "",
1472
+ moduleUrl: ""
1473
+ }, f.value = !0;
1474
+ }
1475
+ });
1476
+ function U(m) {
1477
+ var _;
1478
+ if (m.type === "url") {
1479
+ const { actions: h, id: w, name: B, ...T } = m;
1480
+ return {
1481
+ ...T,
1482
+ moduleUrl: m.moduleUrl || ""
1483
+ };
1484
+ } else {
1485
+ const h = ((_ = m.cards) == null ? void 0 : _.map((F) => {
1486
+ const { actions: M, id: O, name: z, ...Be } = F;
1487
+ return {
1488
+ ...Be
1489
+ };
1490
+ })) || [], { actions: w, id: B, name: T, ...E } = m;
1491
+ return {
1492
+ ...E,
1493
+ ...h.length ? { cards: h } : {}
1494
+ };
1495
+ }
1496
+ }
1497
+ const G = {
1498
+ name: "moduleSelector.configEditor.addGroup",
1499
+ callback() {
1500
+ var h;
1501
+ const m = {
1502
+ type: "group",
1503
+ title: "",
1504
+ icon: "",
1505
+ cards: []
1506
+ };
1507
+ C.value = !0;
1508
+ const _ = (h = i.value) == null ? void 0 : h.push(
1509
+ y(
1510
+ m,
1511
+ i.value.length
1512
+ )
1513
+ );
1514
+ l.value = i.value[_ - 1], v.splice(2, 1), v.length > 1 && (v[1].icon = "$vcsPlus", v[1].title = "moduleSelector.configEditor.TooltipAddModule");
1515
+ }
1516
+ };
1517
+ function N(m) {
1518
+ return m.map(U);
1519
+ }
1520
+ (ne = r.value) != null && ne.modules && (i.value = r.value.modules.map(y)), v.push(
1521
+ {
1522
+ name: "moduleSelector.configEditor.add",
1523
+ callback() {
1524
+ a.value = {
1525
+ id: "",
1526
+ title: "",
1527
+ icon: "",
1528
+ moduleUrl: ""
1529
+ }, u.value = !0;
1530
+ }
1531
+ },
1532
+ G
1533
+ ), we(r, (m) => {
1534
+ m != null && m.modules ? b.value = m.modules.map(
1535
+ (_, h) => y(_, h)
1536
+ ) : b.value = [];
1537
+ });
1538
+ const ee = () => {
1539
+ e.setConfig({
1540
+ ...r.value,
1541
+ modules: N(i.value),
1542
+ basisModule: g.value
1543
+ });
1544
+ }, oe = () => {
1545
+ var m, _, h, w, B, T, E, F;
1546
+ if (l.value === void 0) {
1547
+ if (a.value)
1548
+ if (((m = a.value) == null ? void 0 : m.id) !== "") {
1549
+ const M = i.value.find(
1550
+ (O) => {
1551
+ var z;
1552
+ return O.id === ((z = a.value) == null ? void 0 : z.id);
1553
+ }
1554
+ );
1555
+ M && Object.assign(M, {
1556
+ ...a.value
1557
+ });
1558
+ } else
1559
+ i.value.push(
1560
+ y(
1561
+ {
1562
+ ...a.value,
1563
+ type: "url"
1564
+ },
1565
+ i.value.length
1566
+ )
1567
+ );
1568
+ } else if (a.value && ((_ = a.value) == null ? void 0 : _.id) !== "") {
1569
+ const M = l.value.cards.find(
1570
+ (z) => z.id === a.value.id
1571
+ );
1572
+ M && Object.assign(M, {
1573
+ ...a.value
1574
+ });
1575
+ let O;
1576
+ (h = l.value) != null && h.id || ((w = l.value) == null ? void 0 : w.id) !== "" ? O = l.value.id : O = `${l.value.title}-${i.value.length - 1}`, l.value = i.value.find(
1577
+ (z) => z.id === O
1578
+ );
1579
+ } else {
1580
+ l.value.cards.push(
1581
+ y(
1582
+ {
1583
+ ...a.value,
1584
+ type: "url"
1585
+ },
1586
+ l.value.cards.length
1587
+ )
1588
+ );
1589
+ let M;
1590
+ (B = l.value) != null && B.id || ((T = l.value) == null ? void 0 : T.id) !== "" ? M = l.value.id : M = `${(E = l.value) == null ? void 0 : E.title}-${i.value.length - 1}`, l.value = (F = i.value) == null ? void 0 : F.find(
1591
+ (O) => O.id === M
1592
+ );
1593
+ }
1594
+ a.value = {
1595
+ id: "",
1596
+ title: "",
1597
+ icon: "",
1598
+ moduleUrl: ""
1599
+ }, u.value = !1;
1600
+ }, p = () => {
1601
+ var m, _, h, w;
1602
+ if (l.value === void 0)
1603
+ s.value && i.value.push(
1604
+ y(
1605
+ {
1606
+ title: s.value.title,
1607
+ icon: s.value.icon,
1608
+ moduleUrl: s.value.moduleUrl,
1609
+ type: "url"
1610
+ },
1611
+ i.value.length
1612
+ )
1613
+ );
1614
+ else {
1615
+ l.value.cards.push(
1616
+ y(
1617
+ {
1618
+ ...s.value,
1619
+ type: "url"
1620
+ },
1621
+ l.value.cards.length
1622
+ )
1623
+ );
1624
+ let B;
1625
+ (m = l.value) != null && m.id || ((_ = l.value) == null ? void 0 : _.id) !== "" ? B = l.value.id : B = `${(h = l.value) == null ? void 0 : h.title}-${i.value.length - 1}`, l.value = (w = i.value) == null ? void 0 : w.find(
1626
+ (T) => T.id === B
1627
+ );
1628
+ }
1629
+ s.value = {
1630
+ id: "",
1631
+ title: "",
1632
+ icon: "",
1633
+ moduleUrl: ""
1634
+ }, f.value = !1;
1635
+ }, D = () => {
1636
+ l.value = void 0, v.length > 1 && (delete v[1].icon, delete v[1].title), v.push(G);
1637
+ }, L = k([
1638
+ {
1639
+ title: o.vueI18n.t(
1640
+ "moduleSelector.configEditor.breadcrumbs.overview"
1641
+ ),
1642
+ disabled: !1,
1643
+ href: "#"
1644
+ },
1645
+ {
1646
+ title: o.vueI18n.t("moduleSelector.configEditor.breadcrumbs.group"),
1647
+ disabled: !0,
1648
+ href: "#"
1649
+ }
1650
+ ]);
1651
+ return we(l, (m) => {
1652
+ m && m.title && (L.value[1].title = `${o.vueI18n.t("moduleSelector.configEditor.breadcrumbs.group")}: ${m.title}`, m.name = m.title);
1653
+ }), {
1654
+ editingItem: a,
1655
+ selectCloudItem: s,
1656
+ editingItemDialogVisible: u,
1657
+ selectCloudItemDialogVisible: f,
1658
+ localConfig: r,
1659
+ listItemArray: i,
1660
+ breadcrumbItems: L,
1661
+ currentGroup: l,
1662
+ apply: ee,
1663
+ returnLevel: D,
1664
+ updateItem: oe,
1665
+ updateCloudItem: p,
1666
+ level: t,
1667
+ listItems: b,
1668
+ basisModule: g,
1669
+ basisModuleExists: R,
1670
+ headerActions: v,
1671
+ move({
1672
+ item: m,
1673
+ targetIndex: _
1674
+ }) {
1675
+ var h, w, B, T, E, F;
1676
+ if (i.value && l.value === void 0) {
1677
+ let M = _;
1678
+ M = M >= 0 ? M : 0, M = M < ((h = i.value) == null ? void 0 : h.length) ? M : i.value.length - 1;
1679
+ const O = (w = i.value) == null ? void 0 : w.indexOf(m);
1680
+ O !== M && ((B = i.value) == null || B.splice(O, 1), (T = i.value) == null || T.splice(M, 0, m));
1681
+ } else if ((((F = (E = l.value) == null ? void 0 : E.cards) == null ? void 0 : F.length) ?? 0) > 1) {
1682
+ let M = _;
1683
+ M = M >= 0 ? M : 0, M = M < l.value.cards.length ? M : l.value.cards.length - 1;
1684
+ const O = l.value.cards.indexOf(m);
1685
+ O && O !== M && (l.value.cards.splice(O, 1), l.value.cards.splice(M, 0, m));
1686
+ }
1687
+ }
1688
+ };
1689
+ }
383
1690
  });
384
- function se(e) {
1691
+ function Ro(e, o, t, r, i, l) {
1692
+ const a = c("VcsLabel"), s = c("v-col"), f = c("VcsTextField"), u = c("v-row"), C = c("VcsCheckbox"), b = c("v-container"), g = c("VcsFormSection"), R = c("WindowPositionSettings"), v = c("v-breadcrumbs-item"), y = c("v-breadcrumbs"), U = c("VcsList"), G = c("ModuleEditor"), N = c("v-dialog"), ee = c("VcsModuleTable"), oe = c("AbstractConfigEditor");
1693
+ return e.localConfig ? (I(), $(oe, Ke({
1694
+ key: 0,
1695
+ onSubmit: e.apply
1696
+ }, { ...e.$attrs, ...e.$props }), {
1697
+ default: n(() => [
1698
+ e.currentGroup === void 0 ? (I(), $(b, {
1699
+ key: 0,
1700
+ class: "py-0 px-0"
1701
+ }, {
1702
+ default: n(() => [
1703
+ d(g, { heading: "moduleSelector.configEditor.general" }, {
1704
+ default: n(() => [
1705
+ d(b, { class: "py-0 px-1" }, {
1706
+ default: n(() => [
1707
+ d(u, { "no-gutters": "" }, {
1708
+ default: n(() => [
1709
+ d(s, { cols: "6" }, {
1710
+ default: n(() => [
1711
+ d(a, { "html-for": "moduleselector-window-title" }, {
1712
+ default: n(() => [
1713
+ S(
1714
+ V(e.$st("moduleSelector.configEditor.windowTitle")),
1715
+ 1
1716
+ /* TEXT */
1717
+ )
1718
+ ]),
1719
+ _: 1
1720
+ /* STABLE */
1721
+ })
1722
+ ]),
1723
+ _: 1
1724
+ /* STABLE */
1725
+ }),
1726
+ d(s, null, {
1727
+ default: n(() => [
1728
+ d(f, {
1729
+ id: "moduleselector-window-title",
1730
+ placeholder: e.$st("moduleSelector.title"),
1731
+ modelValue: e.localConfig.windowTitle,
1732
+ "onUpdate:modelValue": o[0] || (o[0] = (p) => e.localConfig.windowTitle = p)
1733
+ }, null, 8, ["placeholder", "modelValue"])
1734
+ ]),
1735
+ _: 1
1736
+ /* STABLE */
1737
+ })
1738
+ ]),
1739
+ _: 1
1740
+ /* STABLE */
1741
+ }),
1742
+ d(u, { "no-gutters": "" }, {
1743
+ default: n(() => [
1744
+ d(s, null, {
1745
+ default: n(() => [
1746
+ d(C, {
1747
+ modelValue: e.localConfig.isActiveOnStart,
1748
+ "onUpdate:modelValue": o[1] || (o[1] = (p) => e.localConfig.isActiveOnStart = p),
1749
+ label: "moduleSelector.configEditor.isActiveOnStart"
1750
+ }, null, 8, ["modelValue"])
1751
+ ]),
1752
+ _: 1
1753
+ /* STABLE */
1754
+ })
1755
+ ]),
1756
+ _: 1
1757
+ /* STABLE */
1758
+ }),
1759
+ d(u, { "no-gutters": "" }, {
1760
+ default: n(() => [
1761
+ d(s, null, {
1762
+ default: n(() => [
1763
+ d(C, {
1764
+ modelValue: e.localConfig.requireModuleSelection,
1765
+ "onUpdate:modelValue": o[2] || (o[2] = (p) => e.localConfig.requireModuleSelection = p),
1766
+ label: "moduleSelector.configEditor.requireModuleSelection"
1767
+ }, null, 8, ["modelValue"])
1768
+ ]),
1769
+ _: 1
1770
+ /* STABLE */
1771
+ })
1772
+ ]),
1773
+ _: 1
1774
+ /* STABLE */
1775
+ })
1776
+ ]),
1777
+ _: 1
1778
+ /* STABLE */
1779
+ })
1780
+ ]),
1781
+ _: 1
1782
+ /* STABLE */
1783
+ }),
1784
+ d(g, {
1785
+ heading: "moduleSelector.configEditor.windowPosition",
1786
+ expandable: !0
1787
+ }, {
1788
+ default: n(() => [
1789
+ d(R, {
1790
+ modelValue: e.localConfig.position,
1791
+ "onUpdate:modelValue": o[3] || (o[3] = (p) => e.localConfig.position = p),
1792
+ "position-keys": [
1793
+ "top",
1794
+ "right",
1795
+ "bottom",
1796
+ "left",
1797
+ "width",
1798
+ "maxWidth",
1799
+ "height",
1800
+ "maxHeight"
1801
+ ]
1802
+ }, null, 8, ["modelValue"])
1803
+ ]),
1804
+ _: 1
1805
+ /* STABLE */
1806
+ }),
1807
+ d(g, { heading: "moduleSelector.configEditor.baseModule" }, {
1808
+ default: n(() => [
1809
+ d(b, { class: "py-0 px-1" }, {
1810
+ default: n(() => [
1811
+ d(u, { "no-gutters": "" }, {
1812
+ default: n(() => [
1813
+ d(s, null, {
1814
+ default: n(() => [
1815
+ d(C, {
1816
+ id: "BaseModuleCheckbox",
1817
+ modelValue: e.basisModuleExists,
1818
+ "onUpdate:modelValue": o[4] || (o[4] = (p) => e.basisModuleExists = p),
1819
+ label: "moduleSelector.configEditor.baseModuleCheckbox"
1820
+ }, null, 8, ["modelValue"])
1821
+ ]),
1822
+ _: 1
1823
+ /* STABLE */
1824
+ })
1825
+ ]),
1826
+ _: 1
1827
+ /* STABLE */
1828
+ }),
1829
+ e.basisModuleExists ? (I(), $(u, {
1830
+ key: 0,
1831
+ "no-gutters": ""
1832
+ }, {
1833
+ default: n(() => [
1834
+ d(s, { cols: "6" }, {
1835
+ default: n(() => [
1836
+ d(a, {
1837
+ required: "",
1838
+ "html-for": "basisModuleName"
1839
+ }, {
1840
+ default: n(() => [
1841
+ S(
1842
+ V(e.$st("moduleSelector.configEditor.title")),
1843
+ 1
1844
+ /* TEXT */
1845
+ )
1846
+ ]),
1847
+ _: 1
1848
+ /* STABLE */
1849
+ })
1850
+ ]),
1851
+ _: 1
1852
+ /* STABLE */
1853
+ }),
1854
+ d(s, null, {
1855
+ default: n(() => [
1856
+ d(f, {
1857
+ id: "basisModuleName",
1858
+ placeholder: "Base Module",
1859
+ rules: [
1860
+ e.basisModuleExists && (!e.basisModule.title || e.basisModule.title === "") ? () => "moduleSelector.configEditor.error" : () => !0
1861
+ ],
1862
+ modelValue: e.basisModule.title,
1863
+ "onUpdate:modelValue": o[5] || (o[5] = (p) => e.basisModule.title = p)
1864
+ }, null, 8, ["rules", "modelValue"])
1865
+ ]),
1866
+ _: 1
1867
+ /* STABLE */
1868
+ })
1869
+ ]),
1870
+ _: 1
1871
+ /* STABLE */
1872
+ })) : q("v-if", !0),
1873
+ e.basisModuleExists ? (I(), $(u, {
1874
+ key: 1,
1875
+ "no-gutters": ""
1876
+ }, {
1877
+ default: n(() => [
1878
+ d(s, { cols: "6" }, {
1879
+ default: n(() => [
1880
+ d(a, {
1881
+ required: "",
1882
+ "html-for": "basisModuleIcon"
1883
+ }, {
1884
+ default: n(() => [
1885
+ S(
1886
+ V(e.$st("components.style.icon")),
1887
+ 1
1888
+ /* TEXT */
1889
+ )
1890
+ ]),
1891
+ _: 1
1892
+ /* STABLE */
1893
+ })
1894
+ ]),
1895
+ _: 1
1896
+ /* STABLE */
1897
+ }),
1898
+ d(s, null, {
1899
+ default: n(() => [
1900
+ d(f, {
1901
+ id: "basisModuleIcon",
1902
+ placeholder: "mdi-home-city",
1903
+ rules: [
1904
+ e.basisModuleExists && (!e.basisModule.icon || e.basisModule.icon === "") ? () => "moduleSelector.configEditor.error" : () => !0
1905
+ ],
1906
+ modelValue: e.basisModule.icon,
1907
+ "onUpdate:modelValue": o[6] || (o[6] = (p) => e.basisModule.icon = p)
1908
+ }, null, 8, ["rules", "modelValue"])
1909
+ ]),
1910
+ _: 1
1911
+ /* STABLE */
1912
+ })
1913
+ ]),
1914
+ _: 1
1915
+ /* STABLE */
1916
+ })) : q("v-if", !0)
1917
+ ]),
1918
+ _: 1
1919
+ /* STABLE */
1920
+ })
1921
+ ]),
1922
+ _: 1
1923
+ /* STABLE */
1924
+ })
1925
+ ]),
1926
+ _: 1
1927
+ /* STABLE */
1928
+ })) : (I(), $(b, {
1929
+ key: 1,
1930
+ class: "py-0 px-1"
1931
+ }, {
1932
+ default: n(() => [
1933
+ d(y, {
1934
+ items: e.breadcrumbItems,
1935
+ divider: "/"
1936
+ }, {
1937
+ item: n(({ item: p }) => [
1938
+ (I(), $(v, {
1939
+ key: p.title,
1940
+ disabled: p.disabled,
1941
+ href: p.href,
1942
+ onClick: (D) => p.disabled ? null : e.returnLevel()
1943
+ }, {
1944
+ default: n(() => [
1945
+ S(
1946
+ V(p.title),
1947
+ 1
1948
+ /* TEXT */
1949
+ )
1950
+ ]),
1951
+ _: 2
1952
+ /* DYNAMIC */
1953
+ }, 1032, ["disabled", "href", "onClick"]))
1954
+ ]),
1955
+ _: 1
1956
+ /* STABLE */
1957
+ }, 8, ["items"]),
1958
+ d(u, { "no-gutters": "" }, {
1959
+ default: n(() => [
1960
+ d(s, { cols: "6" }, {
1961
+ default: n(() => [
1962
+ d(a, {
1963
+ required: "",
1964
+ "html-for": "groupModuleName"
1965
+ }, {
1966
+ default: n(() => [
1967
+ S(
1968
+ V(e.$st("moduleSelector.configEditor.groupName")),
1969
+ 1
1970
+ /* TEXT */
1971
+ )
1972
+ ]),
1973
+ _: 1
1974
+ /* STABLE */
1975
+ })
1976
+ ]),
1977
+ _: 1
1978
+ /* STABLE */
1979
+ }),
1980
+ d(s, null, {
1981
+ default: n(() => [
1982
+ d(f, {
1983
+ id: "groupModuleName",
1984
+ placeholder: "Module Name",
1985
+ modelValue: e.currentGroup.title,
1986
+ "onUpdate:modelValue": o[7] || (o[7] = (p) => e.currentGroup.title = p),
1987
+ rules: [(p) => !!p || "moduleSelector.configEditor.error"]
1988
+ }, null, 8, ["modelValue", "rules"])
1989
+ ]),
1990
+ _: 1
1991
+ /* STABLE */
1992
+ })
1993
+ ]),
1994
+ _: 1
1995
+ /* STABLE */
1996
+ }),
1997
+ d(u, { "no-gutters": "" }, {
1998
+ default: n(() => [
1999
+ d(s, { cols: "6" }, {
2000
+ default: n(() => [
2001
+ d(a, {
2002
+ required: "",
2003
+ "html-for": "groupModuleIcon"
2004
+ }, {
2005
+ default: n(() => [
2006
+ S(
2007
+ V(e.$st("moduleSelector.configEditor.moduleIcon")),
2008
+ 1
2009
+ /* TEXT */
2010
+ )
2011
+ ]),
2012
+ _: 1
2013
+ /* STABLE */
2014
+ })
2015
+ ]),
2016
+ _: 1
2017
+ /* STABLE */
2018
+ }),
2019
+ d(s, null, {
2020
+ default: n(() => [
2021
+ d(f, {
2022
+ id: "groupModuleIcon",
2023
+ placeholder: "Module Icon",
2024
+ modelValue: e.currentGroup.icon,
2025
+ "onUpdate:modelValue": o[8] || (o[8] = (p) => e.currentGroup.icon = p),
2026
+ rules: [
2027
+ (p) => !!p || "moduleSelector.configEditor.editorError"
2028
+ ]
2029
+ }, null, 8, ["modelValue", "rules"])
2030
+ ]),
2031
+ _: 1
2032
+ /* STABLE */
2033
+ })
2034
+ ]),
2035
+ _: 1
2036
+ /* STABLE */
2037
+ })
2038
+ ]),
2039
+ _: 1
2040
+ /* STABLE */
2041
+ })),
2042
+ d(g, {
2043
+ heading: "moduleSelector.configEditor.heading",
2044
+ "start-open": !0,
2045
+ "header-actions": e.headerActions
2046
+ }, {
2047
+ default: n(() => [
2048
+ e.currentGroup === void 0 ? (I(), $(U, {
2049
+ key: 0,
2050
+ items: e.listItemArray,
2051
+ draggable: !0,
2052
+ onItemMoved: e.move
2053
+ }, null, 8, ["items", "onItemMoved"])) : (I(), $(U, {
2054
+ key: 1,
2055
+ items: e.currentGroup.cards,
2056
+ draggable: !0,
2057
+ onItemMoved: e.move
2058
+ }, null, 8, ["items", "onItemMoved"])),
2059
+ d(N, {
2060
+ modelValue: e.editingItemDialogVisible,
2061
+ "onUpdate:modelValue": o[11] || (o[11] = (p) => e.editingItemDialogVisible = p),
2062
+ width: "400",
2063
+ persistent: !0
2064
+ }, {
2065
+ default: n(() => [
2066
+ d(G, {
2067
+ "model-value": e.editingItem,
2068
+ onClose: o[9] || (o[9] = (p) => e.editingItemDialogVisible = !1),
2069
+ onSubmit: o[10] || (o[10] = (p) => e.updateItem())
2070
+ }, null, 8, ["model-value"])
2071
+ ]),
2072
+ _: 1
2073
+ /* STABLE */
2074
+ }, 8, ["modelValue"]),
2075
+ d(N, {
2076
+ modelValue: e.selectCloudItemDialogVisible,
2077
+ "onUpdate:modelValue": o[14] || (o[14] = (p) => e.selectCloudItemDialogVisible = p),
2078
+ width: "1000",
2079
+ persistent: !0
2080
+ }, {
2081
+ default: n(() => [
2082
+ d(ee, {
2083
+ "model-value": e.selectCloudItem,
2084
+ onClose: o[12] || (o[12] = (p) => e.selectCloudItemDialogVisible = !1),
2085
+ onSubmit: o[13] || (o[13] = (p) => e.updateCloudItem())
2086
+ }, null, 8, ["model-value"])
2087
+ ]),
2088
+ _: 1
2089
+ /* STABLE */
2090
+ }, 8, ["modelValue"])
2091
+ ]),
2092
+ _: 1
2093
+ /* STABLE */
2094
+ }, 8, ["header-actions"])
2095
+ ]),
2096
+ _: 1
2097
+ /* STABLE */
2098
+ }, 16, ["onSubmit"])) : q("v-if", !0);
2099
+ }
2100
+ const Do = /* @__PURE__ */ Y(Fo, [["render", Ro], ["__scopeId", "data-v-04be78a1"]]);
2101
+ function zo(e) {
2102
+ let o;
385
2103
  return {
386
2104
  get name() {
387
- return S;
2105
+ return j;
388
2106
  },
389
2107
  get version() {
390
- return W;
2108
+ return io;
391
2109
  },
392
2110
  get mapVersion() {
393
- return Z;
2111
+ return ro;
394
2112
  },
395
2113
  get config() {
396
- return { ...q(), ...e };
2114
+ return { ...re(), ...e };
397
2115
  },
398
- selectedMainModuleIndex: T(void 0),
399
- selectedNestedModuleIndex: T(void 0),
400
- initialize(o) {
401
- const t = {
402
- id: x,
403
- component: te,
404
- slot: D.DETACHED,
2116
+ selectedMainModuleIndex: k(void 0),
2117
+ selectedNestedModuleIndex: k(void 0),
2118
+ async initialize(t, r) {
2119
+ var a;
2120
+ o = t;
2121
+ const i = {
2122
+ id: ae,
2123
+ component: co,
2124
+ slot: Ge.DETACHED,
405
2125
  position: this.config.position,
406
2126
  state: {
407
- headerTitle: this.config.windowTitle
2127
+ headerTitle: this.config.windowTitle,
2128
+ infoUrlCallback: o.getHelpUrlCallback("/tools/moduleSelector.html")
408
2129
  },
409
2130
  props: {
410
2131
  modules: this.config.modules,
411
2132
  basisModule: this.config.basisModule,
412
2133
  requireModuleSelection: this.config.requireModuleSelection
413
2134
  }
414
- }, { action: s } = O(
2135
+ };
2136
+ if (r) {
2137
+ const s = Ee(r.smi), f = Ee(r.snmi), u = to(r.w), { modules: C } = this.config;
2138
+ if (s !== void 0 && s < (C == null ? void 0 : C.length)) {
2139
+ this.selectedMainModuleIndex.value = s;
2140
+ const b = C[s];
2141
+ f !== void 0 && (b == null ? void 0 : b.type) === "group" && f < ((a = b == null ? void 0 : b.cards) == null ? void 0 : a.length) && (this.selectedNestedModuleIndex.value = f);
2142
+ }
2143
+ u || await Ue(
2144
+ this.selectedMainModuleIndex.value,
2145
+ this.selectedNestedModuleIndex.value,
2146
+ o,
2147
+ e.modules,
2148
+ e.basisModule
2149
+ );
2150
+ }
2151
+ const { action: l } = je(
415
2152
  {
416
2153
  name: "moduleSelector",
417
2154
  title: "moduleSelector.title",
418
2155
  icon: "mdi-view-grid"
419
2156
  },
420
- t,
2157
+ i,
421
2158
  o.windowManager,
422
- S
2159
+ j
423
2160
  );
424
2161
  return o.navbarManager.add(
425
2162
  {
426
- id: s.name,
427
- action: s
2163
+ id: l.name,
2164
+ action: l
428
2165
  },
429
- S,
430
- j.PROJECT
431
- ), e.isActiveOnStart && o.windowManager.add(t, S), Promise.resolve();
2166
+ j,
2167
+ Le.PROJECT
2168
+ ), (r && r.w || !r && e.isActiveOnStart) && o.windowManager.add(i, j), Promise.resolve();
2169
+ },
2170
+ getDefaultOptions: re,
2171
+ getState() {
2172
+ var a, s;
2173
+ const t = (a = this.selectedMainModuleIndex) == null ? void 0 : a.value, r = (s = this.selectedNestedModuleIndex) == null ? void 0 : s.value, i = o.windowManager.has(ae), l = this.config.isActiveOnStart;
2174
+ return t !== void 0 || r !== void 0 || i !== l ? { smi: t, snmi: r, w: i } : {};
2175
+ },
2176
+ getConfigEditors() {
2177
+ return [
2178
+ {
2179
+ component: Do,
2180
+ title: "moduleSelector.name",
2181
+ infoUrlCallback: o.getHelpUrlCallback(
2182
+ "/components/plugins/moduleSelectorConfig.html",
2183
+ "app-configurator"
2184
+ )
2185
+ }
2186
+ ];
432
2187
  },
433
- getDefaultOptions: q,
434
2188
  toJSON() {
435
- const o = {};
436
- return e.windowTitle != null && (o.windowTitle = e.windowTitle), e.position != null && (o.position = e.position), e.modules != null && (o.modules = e.modules), o;
2189
+ const t = {}, r = re();
2190
+ return this.config.windowTitle !== r.windowTitle && (t.windowTitle = this.config.windowTitle), this.config.isActiveOnStart !== r.isActiveOnStart && (t.isActiveOnStart = this.config.isActiveOnStart), this.config.requireModuleSelection !== r.requireModuleSelection && (t.requireModuleSelection = this.config.requireModuleSelection), ue(this.config.position, r.position) || (t.position = this.config.position), ue(this.config.modules, r.modules) || (t.modules = this.config.modules), ue(this.config.basisModule, r.basisModule) || (t.basisModule = this.config.basisModule), e.serverUrl != null && (t.serverUrl = e.serverUrl), e.projectId != null && (t.projectId = e.projectId), e.appId != null && (t.appId = e.appId), e.token != null && (t.token = e.token), t;
437
2191
  },
438
2192
  i18n: {
439
2193
  de: {
440
2194
  moduleSelector: {
2195
+ name: "Modul Auswahl Editor",
441
2196
  title: "Themenkartenauswahl",
442
2197
  startButton: "Anwendung starten",
443
- cardBack: "Zurück"
2198
+ cardBack: "Zurück",
2199
+ configEditor: {
2200
+ moduleCloudPicker: {
2201
+ searchName: "Suche nach Name...",
2202
+ continue: "Weiter",
2203
+ back: "Zurück",
2204
+ headers: {
2205
+ name: "Modul Name",
2206
+ type: "Typ",
2207
+ description: "Beschreibung",
2208
+ createdAt: "Erzeugt am",
2209
+ updatedAt: "Aktualisiert am",
2210
+ createdBy: "Erzeugt von",
2211
+ updatedBy: "Aktualisiert von"
2212
+ }
2213
+ },
2214
+ TooltipAddModule: "Modul hinzufügen",
2215
+ TooltipEditModule: "Modul bearbeiten",
2216
+ TooltipEditGroup: "Modul-Gruppe bearbeiten",
2217
+ TooltipDeleteMG: "Modul/Gruppe löschen",
2218
+ error: "Bitte tragen Sie einen Namen ein",
2219
+ editorError: "Bitte füllen Sie das Feld aus",
2220
+ breadcrumbs: { overview: "Übersicht", group: "Gruppe" },
2221
+ heading: "Themen- & Modulzuordnung",
2222
+ baseModule: "Basismodul",
2223
+ baseModuleCheckbox: "Basismodul anzeigen",
2224
+ title: "Titel",
2225
+ add: "Module hinzufügen",
2226
+ addGroup: "Module Gruppe hinzufügen",
2227
+ moduleName: "Module Name",
2228
+ moduleIcon: "Icon Name",
2229
+ moduleUrl: "Module URL",
2230
+ groupName: "Gruppen Name",
2231
+ back: "Zurück",
2232
+ general: "Allgemeine Einstellungen",
2233
+ isActiveOnStart: "Themenkartenauswahl beim Start der Karte zeigen",
2234
+ requireModuleSelection: "Modulauswahl erforderlich machen",
2235
+ windowTitle: "Fenster Titel",
2236
+ windowPosition: "Fenster Position"
2237
+ }
444
2238
  }
445
2239
  },
446
2240
  en: {
447
2241
  moduleSelector: {
2242
+ name: "Module Selector Editor",
448
2243
  title: "Theme map selection",
449
2244
  startButton: "Start application",
450
- cardBack: "Back"
2245
+ cardBack: "Back",
2246
+ configEditor: {
2247
+ moduleCloudPicker: {
2248
+ searchName: "Search for name...",
2249
+ continue: "Continue",
2250
+ back: "Back",
2251
+ headers: {
2252
+ name: "Module name",
2253
+ type: "Type",
2254
+ description: "Description",
2255
+ createdAt: "Created at",
2256
+ updatedAt: "Updated at",
2257
+ createdBy: "Created by",
2258
+ updatedBy: "Created by"
2259
+ }
2260
+ },
2261
+ TooltipAddModule: "Add module",
2262
+ TooltipEditModule: "Edit module",
2263
+ TooltipEditGroup: "Edit module group",
2264
+ TooltipDeleteMG: "Delete module/group",
2265
+ error: "Please add a name",
2266
+ editorError: "Please fill in the field",
2267
+ breadcrumbs: { overview: "Overview", group: "Group" },
2268
+ heading: "Topic & module assignment",
2269
+ baseModule: "Base module",
2270
+ baseModuleCheckbox: "Show base module",
2271
+ title: "Title",
2272
+ add: "Add module",
2273
+ addGroup: "Add module Group",
2274
+ moduleName: "Module name",
2275
+ moduleIcon: "Icon name",
2276
+ moduleUrl: "Module URL",
2277
+ groupName: "Group name",
2278
+ back: "Back",
2279
+ general: "General settings",
2280
+ isActiveOnStart: "Show theme map selection on map start",
2281
+ requireModuleSelection: "Require module selection",
2282
+ windowTitle: "Window title",
2283
+ windowPosition: "Window position"
2284
+ }
451
2285
  }
452
2286
  }
453
2287
  },
@@ -456,5 +2290,5 @@ function se(e) {
456
2290
  };
457
2291
  }
458
2292
  export {
459
- se as default
2293
+ zo as default
460
2294
  };