@webx-ui/module-inbox 0.9.1 → 0.11.0

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.
@@ -0,0 +1,642 @@
1
+ import { defineComponent as Se, ref as $, computed as c, watch as Te, openBlock as n, createElementBlock as d, createVNode as i, unref as a, withCtx as s, createBlock as p, createElementVNode as m, Fragment as w, renderList as z, resolveDynamicComponent as Ce, normalizeClass as $e, toDisplayString as r, createTextVNode as f, createCommentVNode as _ } from "vue";
2
+ import { useRoute as Ne, useRouter as Ve } from "vue-router";
3
+ import { useAdmin as Ae, useTranslate as X, useErrorText as Be, WxScreenHead as Ie, WxNotes as De, WxDate as Y } from "@webx-ui/module-admin";
4
+ import { useLocales as Ee, localizedValue as Re, toast as y, confirm as Ue, WxAction as Z, WxSkeleton as je, WxCard as N, WxEmpty as Fe, WxDescriptions as ee, WxDescriptionsItem as S, WxFileCard as Le, WxAlert as U, WxTabs as Me, WxTab as V, WxTimeline as Oe, WxTimelineItem as Pe, WxText as h, WxBadge as j, WxButton as ae, WxSelect as te } from "@webx-ui/core";
5
+ import { c as He, u as Ke, d as Ge, _ as Je } from "./index-gLN73Ici.js";
6
+ const Qe = { class: "wx-submission" }, Xe = {
7
+ key: 1,
8
+ class: "wx-submission__panes"
9
+ }, Ye = { class: "wx-submission__main" }, Ze = { class: "wx-submission__files" }, ea = { class: "wx-submission__by" }, aa = { class: "wx-submission__fields" }, ta = ["href"], la = {
10
+ key: 1,
11
+ class: "wx-submission__detail"
12
+ }, na = { class: "wx-submission__notification" }, sa = { class: "wx-submission__detail" }, ia = { key: 1 }, ua = { key: 2 }, oa = { key: 3 }, ra = { key: 4 }, da = {
13
+ key: 5,
14
+ class: "wx-submission__recipients"
15
+ }, ca = { class: "wx-submission__detail" }, pa = { key: 6 }, fa = { class: "wx-submission__fields" }, va = {
16
+ key: 1,
17
+ class: "wx-submission__recipients"
18
+ }, ma = { class: "wx-submission__channel-text" }, _a = { key: 2 }, ba = { class: "wx-submission__aside" }, ya = { class: "wx-submission__fields" }, ha = { class: "wx-submission__field" }, ga = { class: "wx-submission__field" }, xa = /* @__PURE__ */ Se({
19
+ __name: "SubmissionPage",
20
+ props: {
21
+ base: { default: "/inbox" }
22
+ },
23
+ setup(le) {
24
+ const F = le, A = Ae(), g = He(A), b = Ne(), T = Ve(), ne = Ee();
25
+ Ke();
26
+ const l = X("webx-inbox"), se = X("webx-admin"), W = Be(), u = $(null), B = $([]), L = $([]), I = $(!0), x = c(() => A.can("inbox.update"));
27
+ function M(e) {
28
+ if (e.type !== "enclosure" || e.field_id !== null) return null;
29
+ const o = e.payload, t = typeof o?.kind == "string" ? o.kind : e.name;
30
+ return A.types[`inbox-enclosure:${t}`]?.component ?? null;
31
+ }
32
+ const k = c(() => Number(b.params.id)), ie = c(() => ({
33
+ view: typeof b.query.view == "string" ? b.query.view : void 0,
34
+ search: typeof b.query.search == "string" ? b.query.search : void 0,
35
+ assignee: typeof b.query.assignee == "string" ? b.query.assignee : void 0
36
+ })), C = c(() => ({ path: F.base, query: { ...b.query } })), ue = c(
37
+ () => B.value.map((e) => ({ value: e.id, label: O(e) }))
38
+ ), oe = c(
39
+ () => L.value.map((e) => ({ value: e.id, label: e.name }))
40
+ ), O = Ge(), D = c(() => l("panel.submission", { id: String(k.value) })), P = c(() => {
41
+ const e = u.value?.form;
42
+ return e === void 0 ? "" : Re(e.title ?? {}, ne.active.value, e.slug ?? "");
43
+ }), H = c(() => (u.value?.values ?? []).find((t) => t.type === "email" && (t.value ?? "") !== "")?.value ?? null), K = c(() => {
44
+ if (H.value === null) return null;
45
+ const e = encodeURIComponent(`${P.value} — ${D.value}`);
46
+ return `mailto:${H.value}?subject=${e}`;
47
+ });
48
+ async function E() {
49
+ I.value = !0;
50
+ try {
51
+ u.value = await g.submission(k.value, ie.value);
52
+ } catch (e) {
53
+ y.danger(W(e)), T.replace(C.value);
54
+ } finally {
55
+ I.value = !1;
56
+ }
57
+ }
58
+ async function re() {
59
+ try {
60
+ B.value = await g.statuses(), x.value && (L.value = await g.recipients());
61
+ } catch (e) {
62
+ y.danger(W(e));
63
+ }
64
+ }
65
+ Te(k, () => {
66
+ E();
67
+ }, { immediate: !0 }), re();
68
+ async function G(e) {
69
+ try {
70
+ u.value = await g.saveSubmission(k.value, e), y.success(l("panel.saved"));
71
+ } catch (o) {
72
+ y.danger(W(o)), await E();
73
+ }
74
+ }
75
+ function de(e) {
76
+ typeof e == "number" && G({ status_id: e });
77
+ }
78
+ function ce(e) {
79
+ G({ assignee_id: typeof e == "number" ? e : null });
80
+ }
81
+ const pe = c(() => {
82
+ const e = [];
83
+ return K.value && e.push({
84
+ key: "reply",
85
+ label: l("panel.reply"),
86
+ icon: "mail",
87
+ primary: !0,
88
+ href: K.value,
89
+ target: "_self"
90
+ }), x.value && u.value !== null && e.push(
91
+ {
92
+ key: "unread",
93
+ icon: "eye-off",
94
+ label: l("panel.mark-unread"),
95
+ menu: !0,
96
+ run: () => {
97
+ be();
98
+ }
99
+ },
100
+ {
101
+ key: "notify",
102
+ icon: "mail",
103
+ label: l("panel.notify-again"),
104
+ menu: !0,
105
+ run: () => {
106
+ R();
107
+ }
108
+ },
109
+ {
110
+ key: "delete",
111
+ icon: "trash",
112
+ label: l("panel.delete"),
113
+ danger: !0,
114
+ run: () => {
115
+ ye();
116
+ }
117
+ }
118
+ ), e;
119
+ });
120
+ async function R() {
121
+ try {
122
+ u.value = await g.notifySubmission(k.value), y.success(l("panel.notify-sent-again"));
123
+ } catch (e) {
124
+ y.danger(W(e));
125
+ }
126
+ }
127
+ const v = c(() => u.value?.notification ?? null);
128
+ function fe(e) {
129
+ return l(`panel.notify-recipient-${e}`);
130
+ }
131
+ const q = c(() => u.value?.channels ?? null), ve = c(() => (q.value ?? []).some((e) => e.status === "failed")), me = c(() => (q.value ?? []).some((e) => e.retryable));
132
+ function _e(e) {
133
+ return e.status === "failed" ? "danger" : e.status === "sent" && e.trap ? "warning" : e.status === "sent" ? "success" : e.status === "skipped" ? "warning" : "default";
134
+ }
135
+ async function be() {
136
+ try {
137
+ await g.massSubmissions({ ids: [k.value], action: "unread" }), T.push(C.value);
138
+ } catch (e) {
139
+ y.danger(W(e));
140
+ }
141
+ }
142
+ async function ye() {
143
+ if (await Ue({
144
+ title: l("panel.delete-submission-title"),
145
+ message: l("panel.delete-submission-text"),
146
+ confirmText: l("panel.delete"),
147
+ cancelText: l("panel.cancel"),
148
+ tone: "danger"
149
+ }))
150
+ try {
151
+ await g.removeSubmission(k.value), y.success(l("panel.deleted")), T.push(C.value);
152
+ } catch (o) {
153
+ y.danger(W(o));
154
+ }
155
+ }
156
+ function J(e) {
157
+ e !== null && T.push({ path: `${F.base}/submissions/${e}`, query: { ...b.query } });
158
+ }
159
+ function he(e) {
160
+ const o = B.value.find((t) => t.key === e);
161
+ return o === void 0 ? e : O(o);
162
+ }
163
+ const ge = c(
164
+ () => u.value?.events?.some((e) => e.type === "no_recipients") ?? !1
165
+ );
166
+ function xe(e) {
167
+ switch (e.type) {
168
+ case "created":
169
+ return l("panel.event-created");
170
+ case "status":
171
+ return l("panel.event-status", { to: he(e.to ?? "") });
172
+ case "assignee":
173
+ return e.to === null || e.to === "" ? l("panel.event-unassigned") : l("panel.event-assignee", { to: e.to });
174
+ case "note":
175
+ return l("panel.event-note");
176
+ case "notified":
177
+ return l("panel.event-notified");
178
+ // A handler of `webx-inbox.handlers`: `from` is its class, shown by its own short name.
179
+ case "handled":
180
+ return l("panel.event-handled", { name: Q(e.from) });
181
+ case "handler_error":
182
+ return l("panel.event-handler-error", {
183
+ name: Q(e.from),
184
+ error: e.to ?? ""
185
+ });
186
+ case "no_recipients":
187
+ return l("panel.event-no-recipients");
188
+ case "notify_queued":
189
+ return l("panel.event-notify-queued");
190
+ case "notify_failed":
191
+ return l("panel.event-notify-failed", { to: e.to ?? "" });
192
+ // An answer corrected by hand: named by the label it was asked under, when it still has one.
193
+ case "value":
194
+ return l("panel.event-value", {
195
+ field: ke(e.field ?? ""),
196
+ from: e.from ?? "",
197
+ to: e.to ?? ""
198
+ });
199
+ default:
200
+ return e.type;
201
+ }
202
+ }
203
+ function ke(e) {
204
+ return u.value?.values.find((t) => t.name === e)?.label || e;
205
+ }
206
+ function Q(e) {
207
+ return (e ?? "").split("\\").pop() ?? "";
208
+ }
209
+ function we(e) {
210
+ return `${Math.max(1, Math.round(e / 1024))} KB`;
211
+ }
212
+ const ze = c(() => {
213
+ const e = u.value?.meta ?? {}, o = [];
214
+ typeof e.page == "string" && e.page !== "" && o.push({ label: l("panel.meta-page"), value: e.page, link: !0 });
215
+ const t = u.value?.placement;
216
+ typeof t == "string" && t !== "" && o.push({ label: l("panel.meta-placement"), value: t }), typeof e.referrer == "string" && e.referrer !== "" && o.push({ label: l("panel.meta-referrer"), value: e.referrer, link: !0 });
217
+ for (const [We, qe] of Object.entries(e.utm ?? {}))
218
+ o.push({ label: We, value: String(qe) });
219
+ return typeof e.locale == "string" && e.locale !== "" && o.push({ label: l("panel.meta-locale"), value: e.locale }), typeof e.ip == "string" && e.ip !== "" && o.push({ label: l("panel.meta-ip"), value: e.ip }), typeof e.user_agent == "string" && e.user_agent !== "" && o.push({ label: l("panel.meta-agent"), value: e.user_agent }), o;
220
+ });
221
+ return (e, o) => (n(), d("div", Qe, [
222
+ i(a(Ie), {
223
+ title: D.value,
224
+ subtitle: P.value,
225
+ back: C.value,
226
+ actions: pe.value
227
+ }, {
228
+ extra: s(() => [
229
+ i(a(Z), {
230
+ icon: "chevron-left",
231
+ size: "lg",
232
+ title: a(l)("panel.previous"),
233
+ disabled: !u.value?.previous_id,
234
+ onClick: o[0] || (o[0] = (t) => J(u.value?.previous_id ?? null))
235
+ }, null, 8, ["title", "disabled"]),
236
+ i(a(Z), {
237
+ icon: "chevron-right",
238
+ size: "lg",
239
+ title: a(l)("panel.next"),
240
+ disabled: !u.value?.next_id,
241
+ onClick: o[1] || (o[1] = (t) => J(u.value?.next_id ?? null))
242
+ }, null, 8, ["title", "disabled"])
243
+ ]),
244
+ _: 1
245
+ }, 8, ["title", "subtitle", "back", "actions"]),
246
+ I.value ? (n(), p(a(je), {
247
+ key: 0,
248
+ rows: 6
249
+ })) : u.value ? (n(), d("div", Xe, [
250
+ m("div", Ye, [
251
+ i(a(N), {
252
+ title: a(l)("panel.answers")
253
+ }, {
254
+ default: s(() => [
255
+ u.value.values.length === 0 ? (n(), p(a(Fe), {
256
+ key: 0,
257
+ size: "sm",
258
+ description: a(l)("panel.no-answers")
259
+ }, null, 8, ["description"])) : (n(), p(a(ee), {
260
+ key: 1,
261
+ columns: 1,
262
+ layout: "vertical"
263
+ }, {
264
+ default: s(() => [
265
+ (n(!0), d(w, null, z(u.value.values, (t) => (n(), p(a(S), {
266
+ key: t.id,
267
+ label: t.label ?? t.name
268
+ }, {
269
+ default: s(() => [
270
+ M(t) ? (n(), p(Ce(M(t)), {
271
+ key: 0,
272
+ payload: t.payload,
273
+ value: t.value
274
+ }, null, 8, ["payload", "value"])) : (n(), d("p", {
275
+ key: 1,
276
+ class: $e(["wx-submission__value", { "is-enclosure": t.type === "enclosure" }])
277
+ }, r(t.value || "—"), 3))
278
+ ]),
279
+ _: 2
280
+ }, 1032, ["label"]))), 128))
281
+ ]),
282
+ _: 1
283
+ }))
284
+ ]),
285
+ _: 1
286
+ }, 8, ["title"]),
287
+ u.value.files.length > 0 ? (n(), p(a(N), {
288
+ key: 0,
289
+ title: a(l)("panel.attachments")
290
+ }, {
291
+ default: s(() => [
292
+ m("div", Ze, [
293
+ (n(!0), d(w, null, z(u.value.files, (t) => (n(), p(a(Le), {
294
+ key: t.id,
295
+ name: t.name,
296
+ type: t.mime ?? void 0,
297
+ "download-url": t.url,
298
+ "download-label": a(l)("panel.download"),
299
+ size: "sm"
300
+ }, {
301
+ meta: s(() => [
302
+ f(r(we(t.size)), 1)
303
+ ]),
304
+ _: 2
305
+ }, 1032, ["name", "type", "download-url", "download-label"]))), 128))
306
+ ])
307
+ ]),
308
+ _: 1
309
+ }, 8, ["title"])) : _("", !0),
310
+ ve.value ? (n(), p(a(U), {
311
+ key: 1,
312
+ type: "warning",
313
+ closable: !1,
314
+ title: a(l)("panel.channels-failed")
315
+ }, null, 8, ["title"])) : _("", !0),
316
+ i(a(N), { class: "wx-submission__more" }, {
317
+ default: s(() => [
318
+ i(a(Me), {
319
+ variant: "pill",
320
+ "aria-label": D.value
321
+ }, {
322
+ default: s(() => [
323
+ i(a(V), {
324
+ value: "notes",
325
+ label: a(se)("notes.title")
326
+ }, {
327
+ default: s(() => [
328
+ i(a(De), {
329
+ id: u.value.id,
330
+ type: "inbox_submission",
331
+ title: "",
332
+ can: x.value,
333
+ onChange: E
334
+ }, null, 8, ["id", "can"])
335
+ ]),
336
+ _: 1
337
+ }, 8, ["label"]),
338
+ i(a(V), {
339
+ value: "log",
340
+ label: a(l)("panel.log")
341
+ }, {
342
+ default: s(() => [
343
+ i(a(Oe), { size: "sm" }, {
344
+ default: s(() => [
345
+ (n(!0), d(w, null, z(u.value.events, (t) => (n(), p(a(Pe), {
346
+ key: t.id
347
+ }, {
348
+ default: s(() => [
349
+ i(a(h), {
350
+ size: "sm",
351
+ as: "p",
352
+ class: "wx-submission__event"
353
+ }, {
354
+ default: s(() => [
355
+ f(r(xe(t)), 1)
356
+ ]),
357
+ _: 2
358
+ }, 1024),
359
+ m("p", ea, [
360
+ i(a(h), {
361
+ size: "sm",
362
+ tone: "muted"
363
+ }, {
364
+ default: s(() => [
365
+ f(r(t.author?.name ?? a(l)("panel.system")), 1)
366
+ ]),
367
+ _: 2
368
+ }, 1024),
369
+ i(a(Y), {
370
+ value: t.created_at
371
+ }, null, 8, ["value"])
372
+ ])
373
+ ]),
374
+ _: 2
375
+ }, 1024))), 128))
376
+ ]),
377
+ _: 1
378
+ })
379
+ ]),
380
+ _: 1
381
+ }, 8, ["label"]),
382
+ i(a(V), {
383
+ value: "details",
384
+ label: a(l)("panel.details")
385
+ }, {
386
+ default: s(() => [
387
+ m("div", aa, [
388
+ i(a(ee), {
389
+ columns: 1,
390
+ layout: "vertical",
391
+ size: "sm"
392
+ }, {
393
+ default: s(() => [
394
+ i(a(S), {
395
+ label: a(l)("panel.received")
396
+ }, {
397
+ default: s(() => [
398
+ i(a(Y), {
399
+ value: u.value.created_at,
400
+ tone: "default"
401
+ }, null, 8, ["value"])
402
+ ]),
403
+ _: 1
404
+ }, 8, ["label"]),
405
+ i(a(S), {
406
+ label: a(l)("panel.meta-source")
407
+ }, {
408
+ default: s(() => [
409
+ i(a(j), {
410
+ type: u.value.source === "panel" ? "info" : "default"
411
+ }, {
412
+ default: s(() => [
413
+ f(r(u.value.source === "panel" ? a(l)("panel.source-panel") : a(l)("panel.source-web")), 1)
414
+ ]),
415
+ _: 1
416
+ }, 8, ["type"])
417
+ ]),
418
+ _: 1
419
+ }, 8, ["label"]),
420
+ (n(!0), d(w, null, z(ze.value, (t) => (n(), p(a(S), {
421
+ key: t.label,
422
+ label: t.label
423
+ }, {
424
+ default: s(() => [
425
+ t.link ? (n(), d("a", {
426
+ key: 0,
427
+ href: t.value,
428
+ target: "_blank",
429
+ rel: "noreferrer"
430
+ }, r(t.value), 9, ta)) : (n(), d("span", la, r(t.value), 1))
431
+ ]),
432
+ _: 2
433
+ }, 1032, ["label"]))), 128)),
434
+ i(a(S), {
435
+ label: a(l)("panel.tab-notifications")
436
+ }, {
437
+ default: s(() => [
438
+ m("div", na, [
439
+ v.value?.state === "failed" ? (n(), p(a(U), {
440
+ key: 0,
441
+ type: "warning",
442
+ closable: !1,
443
+ title: a(l)("panel.notify-failed")
444
+ }, {
445
+ default: s(() => [
446
+ m("span", sa, r(v.value.error), 1)
447
+ ]),
448
+ _: 1
449
+ }, 8, ["title"])) : v.value?.state === "queued" ? (n(), d("span", ia, [
450
+ f(r(a(l)("panel.notify-queued")) + " ", 1),
451
+ v.value.hint && !v.value.stalled ? (n(), p(a(h), {
452
+ key: 0,
453
+ size: "sm",
454
+ tone: "muted",
455
+ as: "span",
456
+ class: "wx-submission__hint"
457
+ }, {
458
+ default: s(() => [
459
+ f(r(v.value.hint), 1)
460
+ ]),
461
+ _: 1
462
+ })) : _("", !0)
463
+ ])) : v.value?.state === "delivered" ? (n(), d("span", ua, r(a(l)("panel.notified")), 1)) : ge.value ? (n(), d("span", oa, r(a(l)("panel.notified-nobody")), 1)) : (n(), d("span", ra, r(a(l)("panel.not-notified")), 1)),
464
+ (n(!0), d(w, null, z(v.value?.warnings ?? [], (t) => (n(), p(a(U), {
465
+ key: t,
466
+ type: "warning",
467
+ variant: "soft",
468
+ closable: !1,
469
+ description: t
470
+ }, null, 8, ["description"]))), 128)),
471
+ v.value && v.value.recipients.length > 0 ? (n(), d("ul", da, [
472
+ (n(!0), d(w, null, z(v.value.recipients, (t) => (n(), d("li", {
473
+ key: t.address
474
+ }, [
475
+ m("span", ca, r(t.address), 1),
476
+ i(a(j), {
477
+ type: t.state === "failed" ? "danger" : t.trap ? "warning" : t.state === "delivered" ? "success" : "default"
478
+ }, {
479
+ default: s(() => [
480
+ f(r(fe(t.trap ? "trapped" : t.state)), 1)
481
+ ]),
482
+ _: 2
483
+ }, 1032, ["type"])
484
+ ]))), 128))
485
+ ])) : _("", !0),
486
+ x.value && (v.value?.state === "failed" || v.value?.state === "queued") ? (n(), d("div", pa, [
487
+ i(a(ae), {
488
+ size: "sm",
489
+ onClick: R
490
+ }, {
491
+ default: s(() => [
492
+ f(r(a(l)("panel.notify-again")), 1)
493
+ ]),
494
+ _: 1
495
+ })
496
+ ])) : _("", !0)
497
+ ])
498
+ ]),
499
+ _: 1
500
+ }, 8, ["label"])
501
+ ]),
502
+ _: 1
503
+ })
504
+ ])
505
+ ]),
506
+ _: 1
507
+ }, 8, ["label"]),
508
+ q.value ? (n(), p(a(V), {
509
+ key: 0,
510
+ value: "channels",
511
+ label: a(l)("panel.channels")
512
+ }, {
513
+ default: s(() => [
514
+ m("div", fa, [
515
+ q.value.length === 0 ? (n(), p(a(h), {
516
+ key: 0,
517
+ size: "sm",
518
+ tone: "muted"
519
+ }, {
520
+ default: s(() => [
521
+ f(r(a(l)("panel.channels-none")), 1)
522
+ ]),
523
+ _: 1
524
+ })) : (n(), d("ul", va, [
525
+ (n(!0), d(w, null, z(q.value, (t) => (n(), d("li", {
526
+ key: t.id,
527
+ class: "wx-submission__channel"
528
+ }, [
529
+ m("div", ma, [
530
+ i(a(h), { size: "sm" }, {
531
+ default: s(() => [
532
+ f(r(t.channel), 1)
533
+ ]),
534
+ _: 2
535
+ }, 1024),
536
+ t.recipient !== "" ? (n(), p(a(h), {
537
+ key: 0,
538
+ size: "sm",
539
+ tone: "muted"
540
+ }, {
541
+ default: s(() => [
542
+ f(r(t.recipient_label ?? t.recipient), 1)
543
+ ]),
544
+ _: 2
545
+ }, 1024)) : _("", !0),
546
+ t.error ?? t.reason_label ? (n(), p(a(h), {
547
+ key: 1,
548
+ size: "sm",
549
+ tone: "muted",
550
+ class: "wx-submission__detail"
551
+ }, {
552
+ default: s(() => [
553
+ f(r(t.error ?? t.reason_label), 1)
554
+ ]),
555
+ _: 2
556
+ }, 1024)) : _("", !0)
557
+ ]),
558
+ i(a(j), {
559
+ type: _e(t)
560
+ }, {
561
+ default: s(() => [
562
+ f(r(t.status_label), 1)
563
+ ]),
564
+ _: 2
565
+ }, 1032, ["type"])
566
+ ]))), 128))
567
+ ])),
568
+ x.value && me.value ? (n(), d("div", _a, [
569
+ i(a(ae), {
570
+ size: "sm",
571
+ onClick: R
572
+ }, {
573
+ default: s(() => [
574
+ f(r(a(l)("panel.notify-again")), 1)
575
+ ]),
576
+ _: 1
577
+ })
578
+ ])) : _("", !0)
579
+ ])
580
+ ]),
581
+ _: 1
582
+ }, 8, ["label"])) : _("", !0)
583
+ ]),
584
+ _: 1
585
+ }, 8, ["aria-label"])
586
+ ]),
587
+ _: 1
588
+ })
589
+ ]),
590
+ m("aside", ba, [
591
+ i(a(N), null, {
592
+ default: s(() => [
593
+ m("div", ya, [
594
+ m("label", ha, [
595
+ i(a(h), {
596
+ size: "sm",
597
+ tone: "muted"
598
+ }, {
599
+ default: s(() => [
600
+ f(r(a(l)("panel.status")), 1)
601
+ ]),
602
+ _: 1
603
+ }),
604
+ i(a(te), {
605
+ "model-value": u.value.status?.id ?? null,
606
+ options: ue.value,
607
+ disabled: !x.value,
608
+ "onUpdate:modelValue": de
609
+ }, null, 8, ["model-value", "options", "disabled"])
610
+ ]),
611
+ m("label", ga, [
612
+ i(a(h), {
613
+ size: "sm",
614
+ tone: "muted"
615
+ }, {
616
+ default: s(() => [
617
+ f(r(a(l)("panel.assignee")), 1)
618
+ ]),
619
+ _: 1
620
+ }),
621
+ i(a(te), {
622
+ "model-value": u.value.assignee?.id ?? null,
623
+ options: oe.value,
624
+ disabled: !x.value,
625
+ clearable: "",
626
+ placeholder: a(l)("panel.unassigned"),
627
+ "onUpdate:modelValue": ce
628
+ }, null, 8, ["model-value", "options", "disabled", "placeholder"])
629
+ ])
630
+ ])
631
+ ]),
632
+ _: 1
633
+ })
634
+ ])
635
+ ])) : _("", !0)
636
+ ]));
637
+ }
638
+ }), Sa = /* @__PURE__ */ Je(xa, [["__scopeId", "data-v-d78eb931"]]);
639
+ export {
640
+ Sa as default
641
+ };
642
+ //# sourceMappingURL=SubmissionPage-BDI8xL0N.js.map