@webx-ui/module-admin 0.18.0 → 0.18.1
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/ScreenHead.d.ts +6 -2
- package/dist/index.js +58 -58
- package/dist/index.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +3 -3
package/dist/ScreenHead.d.ts
CHANGED
|
@@ -38,8 +38,12 @@ type __VLS_Props = {
|
|
|
38
38
|
* The way out of the screen. A route draws a link; `true` draws the same arrow and emits
|
|
39
39
|
* `back` instead, which is what a pane inside `WxListDetail` needs — on a phone the drawer
|
|
40
40
|
* carries no close of its own and the pane has to bring one (CLAUDE.md §4).
|
|
41
|
+
*
|
|
42
|
+
* `string` and `object` are spelled out beside `RouteLocationRaw` for the compiler: it
|
|
43
|
+
* cannot resolve the router's type, drops it and leaves `Boolean` alone as the runtime
|
|
44
|
+
* type, so every editor passing its list's path warned "Expected Boolean, got String".
|
|
41
45
|
*/
|
|
42
|
-
back?: RouteLocationRaw | boolean;
|
|
46
|
+
back?: RouteLocationRaw | string | object | boolean;
|
|
43
47
|
/** What the arrow's tooltip says. The panel's own word for it when not given. */
|
|
44
48
|
backLabel?: string;
|
|
45
49
|
/** `2` for a screen, `3` for a pane standing inside one. */
|
|
@@ -95,7 +99,7 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}
|
|
|
95
99
|
title: string;
|
|
96
100
|
actions: ScreenAction[];
|
|
97
101
|
subtitle: string;
|
|
98
|
-
back: RouteLocationRaw | boolean;
|
|
102
|
+
back: RouteLocationRaw | string | object | boolean;
|
|
99
103
|
backLabel: string;
|
|
100
104
|
level: HeadingLevel;
|
|
101
105
|
collapseBelow: number;
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { inject as se, reactive as be, defineComponent as M, useModel as re, ref as L, watch as te, computed as g, openBlock as m, createElementBlock as $, createVNode as w, unref as a, withCtx as y, createElementVNode as B, toDisplayString as A, createBlock as S, createTextVNode as z, createCommentVNode as N, mergeModels as ne, provide as ze, normalizeClass as oe, createSlots as ke, nextTick as Ie, useId as Tt, Fragment as j, onMounted as Ee, renderList as ae, mergeProps as et, withModifiers as tt, useSlots as St, useTemplateRef as lt, renderSlot as Y, normalizeProps as Ct, guardReactiveProps as Wt, resolveComponent as X, watchEffect as At, onUnmounted as Vt, isRef as at, createApp as Lt, h as ce, withKeys as nt, onBeforeUnmount as ot } from "vue";
|
|
2
2
|
import { RouterLink as Nt, useRouter as _e, useRoute as st, createRouter as Rt, createWebHistory as Ut, onBeforeRouteLeave as zt } from "vue-router";
|
|
3
|
-
import { WxSortableList as Be, WxAction as ue, WxBadge as $e, WxSelect as we, WxAutocomplete as Ne, WxSwitch as Ae, WxInputNumber as It, WxButton as le, WxSegmented as Et, WxText as ee, WxInput as Te, WxCheckbox as He, WxActions as Bt, WxDropdownItem as Mt, useElementWidth as Pt, WxHeading as Ft, WxIcon as Me, WxTabs as
|
|
3
|
+
import { WxSortableList as Be, WxAction as ue, WxBadge as $e, WxSelect as we, WxAutocomplete as Ne, WxSwitch as Ae, WxInputNumber as It, WxButton as le, WxSegmented as Et, WxText as ee, WxInput as Te, WxCheckbox as He, WxActions as Bt, WxDropdownItem as Mt, useElementWidth as Pt, WxHeading as Ft, WxIcon as Me, WxTabs as Ot, WxCard as Re, WxRichText as Dt, useLocales as it, WxAlert as Se, WxResult as Ht, useResponsiveShell as jt, shellLayoutFor as Kt, WxToaster as qt, WebxUI as Yt, dateLocaleKey as Xt, localesKey as Gt, useModal as Jt, WxDialog as rt, WxFormItem as Qt, WxSpace as Zt, createModal as el, WxSkeleton as me, WxEmpty as ut, WxTooltip as dt, toast as K, confirm as xe, localizedValue as tl, WxBreadcrumb as ll, WxBreadcrumbItem as je, WxActionBar as al, WxPopover as nl, WxAvatar as ol, WxTextarea as Ke } from "@webx-ui/core";
|
|
4
4
|
import { watchSystemTheme as sl, applyTheme as il, systemTheme as rl } from "@webx-ui/tokens";
|
|
5
5
|
import { WxScreenRenderer as ul } from "@webx-ui/schema";
|
|
6
6
|
const Ce = /* @__PURE__ */ Symbol("webx-i18n");
|
|
@@ -10,7 +10,7 @@ function dl() {
|
|
|
10
10
|
throw new Error("useI18n() was called outside a panel created by createAdmin().");
|
|
11
11
|
return e;
|
|
12
12
|
}
|
|
13
|
-
function
|
|
13
|
+
function O(e) {
|
|
14
14
|
const t = se(Ce, null);
|
|
15
15
|
return t === null ? Pe().scope(e) : t.scope(e);
|
|
16
16
|
}
|
|
@@ -99,7 +99,7 @@ const vl = { class: "wx-categories-field" }, pl = { class: "wx-categories-field_
|
|
|
99
99
|
}),
|
|
100
100
|
emits: ["update:modelValue"],
|
|
101
101
|
setup(e) {
|
|
102
|
-
const t = e, l = re(e, "modelValue"), n = J(), o =
|
|
102
|
+
const t = e, l = re(e, "modelValue"), n = J(), o = O("webx-admin"), i = L([]);
|
|
103
103
|
te(
|
|
104
104
|
() => t.source,
|
|
105
105
|
async (v) => {
|
|
@@ -319,7 +319,7 @@ const Tl = ["src"], Sl = { class: "wx-relations-field__text" }, Cl = { class: "w
|
|
|
319
319
|
}),
|
|
320
320
|
emits: ["update:modelValue"],
|
|
321
321
|
setup(e) {
|
|
322
|
-
const t = e, l = re(e, "modelValue"), n = J(), o = $l(), i =
|
|
322
|
+
const t = e, l = re(e, "modelValue"), n = J(), o = $l(), i = O("webx-admin"), s = g(() => kl(n, t.target)), r = L(/* @__PURE__ */ new Map()), u = L(/* @__PURE__ */ new Set()), d = L(!1), h = L([]), f = L(!1), v = L(""), c = g(() => _l(l.value));
|
|
323
323
|
function x(R) {
|
|
324
324
|
const U = new Map(r.value);
|
|
325
325
|
for (const I of R) U.set(I.id, I);
|
|
@@ -509,7 +509,7 @@ const zl = ["aria-busy"], Il = {
|
|
|
509
509
|
}, Ml = ["for"], Pl = {
|
|
510
510
|
key: 1,
|
|
511
511
|
class: "wx-collection-field__row"
|
|
512
|
-
}, Fl = { class: "wx-collection-field__label" },
|
|
512
|
+
}, Fl = { class: "wx-collection-field__label" }, Ol = { class: "wx-collection-field__hint" }, Dl = { class: "wx-collection-field__row" }, Hl = ["for"], jl = { class: "wx-collection-field__limit" }, Kl = {
|
|
513
513
|
key: 3,
|
|
514
514
|
class: "wx-collection-field__markup"
|
|
515
515
|
}, ql = { class: "wx-collection-field__hint" }, Yl = /* @__PURE__ */ M({
|
|
@@ -524,7 +524,7 @@ const zl = ["aria-busy"], Il = {
|
|
|
524
524
|
}),
|
|
525
525
|
emits: ["update:modelValue"],
|
|
526
526
|
setup(e) {
|
|
527
|
-
const t = e, l = re(e, "modelValue"), n = J(), o =
|
|
527
|
+
const t = e, l = re(e, "modelValue"), n = J(), o = O("webx-admin"), i = Tt(), s = L(void 0), r = L([]);
|
|
528
528
|
te(
|
|
529
529
|
() => t.source,
|
|
530
530
|
async (k) => {
|
|
@@ -631,7 +631,7 @@ const zl = ["aria-busy"], Il = {
|
|
|
631
631
|
disabled: t.disabled,
|
|
632
632
|
"onUpdate:modelValue": C[0] || (C[0] = (_) => F(_ === !0))
|
|
633
633
|
}, null, 8, ["model-value", "label", "disabled"]),
|
|
634
|
-
B("p",
|
|
634
|
+
B("p", Ol, A(a(o)("relations.collection-related-current-hint", { target: p.value.title })), 1)
|
|
635
635
|
], 64)) : N("", !0),
|
|
636
636
|
p.value && u.value.related?.current !== !0 ? (m(), S(mt, {
|
|
637
637
|
key: 2,
|
|
@@ -643,7 +643,7 @@ const zl = ["aria-busy"], Il = {
|
|
|
643
643
|
"onUpdate:modelValue": T
|
|
644
644
|
}, null, 8, ["model-value", "target", "empty-text", "disabled"])) : N("", !0)
|
|
645
645
|
])) : N("", !0),
|
|
646
|
-
B("div",
|
|
646
|
+
B("div", Dl, [
|
|
647
647
|
B("label", {
|
|
648
648
|
class: "wx-collection-field__label",
|
|
649
649
|
for: `${a(i)}-limit`
|
|
@@ -740,7 +740,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
740
740
|
}),
|
|
741
741
|
emits: ["update:modelValue"],
|
|
742
742
|
setup(e) {
|
|
743
|
-
const t = e, l = re(e, "modelValue"), n = J(), o = dl(), i = Jl(n), s =
|
|
743
|
+
const t = e, l = re(e, "modelValue"), n = J(), o = dl(), i = Jl(n), s = O("webx-admin"), r = L([]), u = L([]), d = L([]), h = L(!1), f = L(null), v = L(""), c = L(null);
|
|
744
744
|
let x = null;
|
|
745
745
|
const p = g(() => l.value ?? Gl()), b = g(() => {
|
|
746
746
|
const W = [
|
|
@@ -775,8 +775,8 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
775
775
|
}
|
|
776
776
|
if (c.value?.id === P)
|
|
777
777
|
return;
|
|
778
|
-
const [
|
|
779
|
-
c.value =
|
|
778
|
+
const [D] = await i.resolve([{ type: W, id: P }], o.state.locale);
|
|
779
|
+
c.value = D ?? null, v.value = D?.title ?? s("links.missing"), x = v.value;
|
|
780
780
|
}
|
|
781
781
|
async function V() {
|
|
782
782
|
d.value = await i.routes();
|
|
@@ -802,7 +802,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
802
802
|
f.value = W == null ? null : String(W), u.value = [], k("");
|
|
803
803
|
}
|
|
804
804
|
function q(W) {
|
|
805
|
-
const P = u.value.find((
|
|
805
|
+
const P = u.value.find((D) => D.id === W.id);
|
|
806
806
|
P === void 0 || f.value === null || (c.value = P, v.value = P.title, l.value = { ...p.value, entity_type: f.value, entity_id: P.id });
|
|
807
807
|
}
|
|
808
808
|
function R() {
|
|
@@ -819,12 +819,12 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
819
819
|
l.value = { ...p.value, new_tab: W };
|
|
820
820
|
}
|
|
821
821
|
function ie(W, P) {
|
|
822
|
-
const
|
|
823
|
-
l.value = { ...p.value, rel: P ? [...
|
|
822
|
+
const D = p.value.rel.filter((We) => We !== W);
|
|
823
|
+
l.value = { ...p.value, rel: P ? [...D, W] : D };
|
|
824
824
|
}
|
|
825
825
|
function E(W) {
|
|
826
826
|
const P = [W.hint, W.url ?? void 0].filter(
|
|
827
|
-
(
|
|
827
|
+
(D) => typeof D == "string" && D !== ""
|
|
828
828
|
);
|
|
829
829
|
return W.available || P.push(s("links.unavailable")), P.join(" · ");
|
|
830
830
|
}
|
|
@@ -859,7 +859,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
859
859
|
placeholder: a(s)("links.search"),
|
|
860
860
|
"aria-label": a(s)("links.search"),
|
|
861
861
|
disabled: t.disabled,
|
|
862
|
-
"onUpdate:modelValue": P[0] || (P[0] = (
|
|
862
|
+
"onUpdate:modelValue": P[0] || (P[0] = (D) => v.value = D),
|
|
863
863
|
onSearch: k,
|
|
864
864
|
onSelect: q,
|
|
865
865
|
onClear: R
|
|
@@ -904,7 +904,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
904
904
|
w(a(He), {
|
|
905
905
|
"model-value": p.value.new_tab,
|
|
906
906
|
disabled: t.disabled,
|
|
907
|
-
"onUpdate:modelValue": P[1] || (P[1] = (
|
|
907
|
+
"onUpdate:modelValue": P[1] || (P[1] = (D) => de(D))
|
|
908
908
|
}, {
|
|
909
909
|
default: y(() => [
|
|
910
910
|
z(A(a(s)("links.new-tab")), 1)
|
|
@@ -921,14 +921,14 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
921
921
|
]),
|
|
922
922
|
_: 1
|
|
923
923
|
}),
|
|
924
|
-
(m(), $(j, null, ae(Z, (
|
|
925
|
-
key:
|
|
926
|
-
"model-value": p.value.rel.includes(
|
|
924
|
+
(m(), $(j, null, ae(Z, (D) => w(a(He), {
|
|
925
|
+
key: D,
|
|
926
|
+
"model-value": p.value.rel.includes(D),
|
|
927
927
|
disabled: t.disabled,
|
|
928
|
-
"onUpdate:modelValue": (We) => ie(
|
|
928
|
+
"onUpdate:modelValue": (We) => ie(D, We)
|
|
929
929
|
}, {
|
|
930
930
|
default: y(() => [
|
|
931
|
-
z(A(a(s)(`links.rel-${
|
|
931
|
+
z(A(a(s)(`links.rel-${D}`)), 1)
|
|
932
932
|
]),
|
|
933
933
|
_: 2
|
|
934
934
|
}, 1032, ["model-value", "disabled", "onUpdate:modelValue"])), 64))
|
|
@@ -968,7 +968,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
968
968
|
size: { default: "sm" }
|
|
969
969
|
},
|
|
970
970
|
setup(e) {
|
|
971
|
-
const t = e, l =
|
|
971
|
+
const t = e, l = O("webx-admin"), n = g(() => t.label ?? l("editor.back"));
|
|
972
972
|
return (o, i) => (m(), S(a(ue), {
|
|
973
973
|
icon: "arrow-left",
|
|
974
974
|
class: "wx-back-button",
|
|
@@ -990,7 +990,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
990
990
|
size: { default: "sm" }
|
|
991
991
|
},
|
|
992
992
|
setup(e) {
|
|
993
|
-
const t =
|
|
993
|
+
const t = O("webx-admin"), l = e, n = g(() => [
|
|
994
994
|
...l.actions.filter((i) => !i.danger),
|
|
995
995
|
...l.actions.filter((i) => i.danger)
|
|
996
996
|
]), o = g(() => {
|
|
@@ -1048,7 +1048,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
1048
1048
|
props: {
|
|
1049
1049
|
title: { default: void 0 },
|
|
1050
1050
|
subtitle: { default: void 0 },
|
|
1051
|
-
back: { type: Boolean, default: void 0 },
|
|
1051
|
+
back: { type: [String, Object, Boolean], default: void 0 },
|
|
1052
1052
|
backLabel: { default: void 0 },
|
|
1053
1053
|
level: { default: 2 },
|
|
1054
1054
|
actions: { default: void 0 },
|
|
@@ -1057,7 +1057,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
1057
1057
|
},
|
|
1058
1058
|
emits: ["back"],
|
|
1059
1059
|
setup(e, { emit: t }) {
|
|
1060
|
-
const l = e, n = t, o =
|
|
1060
|
+
const l = e, n = t, o = O("webx-admin"), i = St(), s = lt("root"), r = Pt(s), u = g(() => r.value > 0 && r.value < l.collapseBelow), d = g(() => l.actions ?? []), h = g(
|
|
1061
1061
|
() => d.value.find((p) => p.primary) ?? null
|
|
1062
1062
|
), f = g(() => u.value ? h.value ? [h.value] : [] : d.value.filter((p) => !p.menu && !p.danger)), v = g(() => u.value ? d.value.filter((p) => p !== h.value) : d.value.filter((p) => p.menu || p.danger)), c = g(
|
|
1063
1063
|
() => l.back && l.back !== !0 ? l.back : null
|
|
@@ -1159,7 +1159,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
1159
1159
|
])) : N("", !0)
|
|
1160
1160
|
], 10, da));
|
|
1161
1161
|
}
|
|
1162
|
-
}), pt = /* @__PURE__ */ G(va, [["__scopeId", "data-v-
|
|
1162
|
+
}), pt = /* @__PURE__ */ G(va, [["__scopeId", "data-v-9ebd5372"]]), pa = ["data-wx-fill"], ha = /* @__PURE__ */ M({
|
|
1163
1163
|
__name: "ListScreen",
|
|
1164
1164
|
props: /* @__PURE__ */ ne({
|
|
1165
1165
|
title: { default: void 0 },
|
|
@@ -1201,7 +1201,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
1201
1201
|
key: "0"
|
|
1202
1202
|
} : void 0
|
|
1203
1203
|
]), 1032, ["title", "subtitle", "back", "back-label", "actions"])) : N("", !0),
|
|
1204
|
-
e.views && e.views.length > 0 ? (m(), S(a(
|
|
1204
|
+
e.views && e.views.length > 0 ? (m(), S(a(Ot), {
|
|
1205
1205
|
key: 1,
|
|
1206
1206
|
modelValue: t.value,
|
|
1207
1207
|
"onUpdate:modelValue": n[0] || (n[0] = (o) => t.value = o),
|
|
@@ -1242,7 +1242,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
1242
1242
|
inheritAttrs: !1,
|
|
1243
1243
|
__name: "RichTextField",
|
|
1244
1244
|
setup(e) {
|
|
1245
|
-
const t = J(), l =
|
|
1245
|
+
const t = J(), l = O("webx-admin"), n = g(() => t.pickImage ?? void 0), o = g(() => ({
|
|
1246
1246
|
bold: l("rich-text.bold"),
|
|
1247
1247
|
italic: l("rich-text.italic"),
|
|
1248
1248
|
strike: l("rich-text.strike"),
|
|
@@ -1275,7 +1275,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
1275
1275
|
cancel: l("rich-text.cancel"),
|
|
1276
1276
|
uploading: l("rich-text.uploading")
|
|
1277
1277
|
}));
|
|
1278
|
-
return (i, s) => (m(), S(a(
|
|
1278
|
+
return (i, s) => (m(), S(a(Dt), et(i.$attrs, {
|
|
1279
1279
|
labels: o.value,
|
|
1280
1280
|
"pick-image": n.value
|
|
1281
1281
|
}), null, 16, ["labels", "pick-image"]));
|
|
@@ -1471,7 +1471,7 @@ const Ca = /* @__PURE__ */ M({
|
|
|
1471
1471
|
landing: { default: null }
|
|
1472
1472
|
},
|
|
1473
1473
|
setup(e) {
|
|
1474
|
-
const t = e, l = J(), n = _e(), o =
|
|
1474
|
+
const t = e, l = J(), n = _e(), o = O("webx-admin"), i = g(() => {
|
|
1475
1475
|
const s = l.nav.value;
|
|
1476
1476
|
return s.length === 0 ? null : ((t.landing === null ? void 0 : s.find((u) => u.path === t.landing)) ?? s[0])?.path ?? null;
|
|
1477
1477
|
});
|
|
@@ -1495,7 +1495,7 @@ const Ca = /* @__PURE__ */ M({
|
|
|
1495
1495
|
},
|
|
1496
1496
|
emits: ["select"],
|
|
1497
1497
|
setup(e, { emit: t }) {
|
|
1498
|
-
const l = t, n = J(), o =
|
|
1498
|
+
const l = t, n = J(), o = O("webx-admin"), i = _e(), s = st(), r = g({
|
|
1499
1499
|
/*
|
|
1500
1500
|
* The longest path that contains this one, on a segment boundary: a section may live inside
|
|
1501
1501
|
* another's path (`/services/categories` under `/services`), and the first match in the order
|
|
@@ -1556,7 +1556,7 @@ const Ca = /* @__PURE__ */ M({
|
|
|
1556
1556
|
}, Na = ["src", "alt", "width", "height"], Ra = ["src", "alt", "width", "height"], Ua = ["src", "alt"], za = { class: "wx-admin__user" }, Ia = { class: "wx-admin__user wx-admin__user--drawer" }, Ea = /* @__PURE__ */ M({
|
|
1557
1557
|
__name: "AdminShell",
|
|
1558
1558
|
setup(e) {
|
|
1559
|
-
const t = J(), l =
|
|
1559
|
+
const t = J(), l = O("webx-admin"), n = L(null), { width: o, layout: i, collapsed: s, showAside: r, drawerOpen: u, toggle: d, close: h } = jt(
|
|
1560
1560
|
n,
|
|
1561
1561
|
{ persist: "webx-admin-shell" }
|
|
1562
1562
|
), f = g(() => t.state.manifest?.title ?? ""), v = g(() => t.state.manifest?.branding?.logo ?? null), c = g(() => t.state.manifest?.branding?.mark ?? null), x = g(() => Kt(o.value, null));
|
|
@@ -1755,7 +1755,7 @@ function Pa(e, t) {
|
|
|
1755
1755
|
}
|
|
1756
1756
|
function Fa(e = {}) {
|
|
1757
1757
|
const t = e.storageKey === void 0 ? Ma : e.storageKey, l = be({
|
|
1758
|
-
preference:
|
|
1758
|
+
preference: Oa(t) ?? "system",
|
|
1759
1759
|
resolved: "light"
|
|
1760
1760
|
});
|
|
1761
1761
|
function n() {
|
|
@@ -1783,7 +1783,7 @@ function Je(e, t) {
|
|
|
1783
1783
|
} catch {
|
|
1784
1784
|
}
|
|
1785
1785
|
}
|
|
1786
|
-
function
|
|
1786
|
+
function Oa(e) {
|
|
1787
1787
|
if (e === null)
|
|
1788
1788
|
return null;
|
|
1789
1789
|
try {
|
|
@@ -2097,7 +2097,7 @@ function En(e = {}) {
|
|
|
2097
2097
|
types: e.types,
|
|
2098
2098
|
screens: e.screens,
|
|
2099
2099
|
loadManifest: async () => (await d.get(t)).data
|
|
2100
|
-
}), v = Lt(
|
|
2100
|
+
}), v = Lt(Da(e));
|
|
2101
2101
|
v.use(Yt), Ta(v, f), cl(v, r), Pa(v, u);
|
|
2102
2102
|
const c = L("");
|
|
2103
2103
|
v.provide(
|
|
@@ -2136,7 +2136,7 @@ function En(e = {}) {
|
|
|
2136
2136
|
b.install(x);
|
|
2137
2137
|
return v.use(s), x;
|
|
2138
2138
|
}
|
|
2139
|
-
function
|
|
2139
|
+
function Da(e) {
|
|
2140
2140
|
const t = {
|
|
2141
2141
|
// The menu is the panel's own: it is the manifest, drawn.
|
|
2142
2142
|
// The shell hands in what a choice means where it drew the menu — in the drawer it is what
|
|
@@ -2309,8 +2309,8 @@ function Qa(e, t, l) {
|
|
|
2309
2309
|
}
|
|
2310
2310
|
return n !== null && n >= 500 ? t("errors.server") : n === null ? t("errors.offline") : l ?? t("errors.unknown");
|
|
2311
2311
|
}
|
|
2312
|
-
function
|
|
2313
|
-
const e =
|
|
2312
|
+
function Oe() {
|
|
2313
|
+
const e = O("webx-admin");
|
|
2314
2314
|
return (t, l) => Qa(t, e, l);
|
|
2315
2315
|
}
|
|
2316
2316
|
function Za(e) {
|
|
@@ -2342,7 +2342,7 @@ function an(e) {
|
|
|
2342
2342
|
return (e.q ?? "").trim() !== "" || e.filtered ? "locked" : e.category == null ? "all" : "category";
|
|
2343
2343
|
}
|
|
2344
2344
|
function Mn(e, t) {
|
|
2345
|
-
const l = J(), n =
|
|
2345
|
+
const l = J(), n = O("webx-admin"), o = g(() => an(t()));
|
|
2346
2346
|
return {
|
|
2347
2347
|
mode: o,
|
|
2348
2348
|
sortable: g(() => o.value !== "locked"),
|
|
@@ -2350,8 +2350,8 @@ function Mn(e, t) {
|
|
|
2350
2350
|
move: (i) => fl(l, e, i, o.value === "category" ? t().category ?? null : null)
|
|
2351
2351
|
};
|
|
2352
2352
|
}
|
|
2353
|
-
function
|
|
2354
|
-
const t =
|
|
2353
|
+
function De(e = {}) {
|
|
2354
|
+
const t = O("webx-admin");
|
|
2355
2355
|
return (l, n) => t(e[l] ?? `webx-admin::categories.${l}`, n);
|
|
2356
2356
|
}
|
|
2357
2357
|
const nn = /* @__PURE__ */ M({
|
|
@@ -2361,7 +2361,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2361
2361
|
options: {}
|
|
2362
2362
|
},
|
|
2363
2363
|
setup(e) {
|
|
2364
|
-
const t = e, { open: l, resolve: n, dismiss: o } = Jt(), i = ve(J(), t.options.api), s =
|
|
2364
|
+
const t = e, { open: l, resolve: n, dismiss: o } = Jt(), i = ve(J(), t.options.api), s = De(t.options.words), r = L(""), u = L(!1), d = L({}), h = lt("field");
|
|
2365
2365
|
Ee(async () => {
|
|
2366
2366
|
await Ie(), h.value?.querySelector("input")?.focus();
|
|
2367
2367
|
});
|
|
@@ -2446,7 +2446,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2446
2446
|
options: {}
|
|
2447
2447
|
},
|
|
2448
2448
|
setup(e) {
|
|
2449
|
-
const t = e, l = J(), n = ve(l, t.options.api), o = _e(), i =
|
|
2449
|
+
const t = e, l = J(), n = ve(l, t.options.api), o = _e(), i = De(t.options.words), s = Oe(), r = L([]), u = L(!0), d = L(!0), h = g(() => l.can(t.options.manage)), f = g(
|
|
2450
2450
|
() => l.state.manifest?.modules.find((V) => V.id === t.options.module)?.title ?? ""
|
|
2451
2451
|
), v = el(nn), c = g(
|
|
2452
2452
|
() => h.value ? [{ key: "new", label: i("new"), icon: "plus", primary: !0, run: () => {
|
|
@@ -2631,7 +2631,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2631
2631
|
linger: { default: 2e3 }
|
|
2632
2632
|
},
|
|
2633
2633
|
setup(e) {
|
|
2634
|
-
const t = e, l =
|
|
2634
|
+
const t = e, l = O("webx-admin"), n = L(!1);
|
|
2635
2635
|
let o = null;
|
|
2636
2636
|
te(
|
|
2637
2637
|
() => t.state,
|
|
@@ -2671,7 +2671,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2671
2671
|
}),
|
|
2672
2672
|
emits: /* @__PURE__ */ ne(["loaded"], ["update:modelValue"]),
|
|
2673
2673
|
setup(e, { expose: t, emit: l }) {
|
|
2674
|
-
const n = e, o = l, i = re(e, "modelValue"), s = J(), r =
|
|
2674
|
+
const n = e, o = l, i = re(e, "modelValue"), s = J(), r = O("webx-admin"), u = L(null), d = L(null);
|
|
2675
2675
|
async function h() {
|
|
2676
2676
|
u.value = null, d.value = null;
|
|
2677
2677
|
try {
|
|
@@ -2716,7 +2716,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2716
2716
|
options: {}
|
|
2717
2717
|
},
|
|
2718
2718
|
setup(e) {
|
|
2719
|
-
const t = e, l = J(), n = ve(l, t.options.api), o = st(), i = _e(), s = it(), r =
|
|
2719
|
+
const t = e, l = J(), n = ve(l, t.options.api), o = st(), i = _e(), s = it(), r = De(t.options.words), u = Oe(), d = g(() => Number(o.params.id)), h = g(() => t.options.path), f = L(null), v = L({}), c = L(null), x = L(""), p = L(!0), b = L(!1), T = L({}), F = g(() => l.can(t.options.manage)), Q = g(() => JSON.stringify(v.value)), H = g(() => x.value !== "" && Q.value !== x.value), V = g(() => b.value ? "saving" : H.value ? "unsaved" : "saved"), k = g(
|
|
2720
2720
|
() => l.state.manifest?.modules.find((E) => E.id === t.options.module)?.title ?? ""
|
|
2721
2721
|
), C = g(() => {
|
|
2722
2722
|
const E = v.value.title;
|
|
@@ -2912,7 +2912,7 @@ function Pn(e) {
|
|
|
2912
2912
|
}
|
|
2913
2913
|
];
|
|
2914
2914
|
}
|
|
2915
|
-
const Fn = 76,
|
|
2915
|
+
const Fn = 76, On = /* @__PURE__ */ M({
|
|
2916
2916
|
__name: "FilterChips",
|
|
2917
2917
|
props: {
|
|
2918
2918
|
filters: {}
|
|
@@ -2943,7 +2943,7 @@ const Fn = 76, Dn = /* @__PURE__ */ M({
|
|
|
2943
2943
|
},
|
|
2944
2944
|
emits: ["rename"],
|
|
2945
2945
|
setup(e, { emit: t }) {
|
|
2946
|
-
const l = e, n = t, o =
|
|
2946
|
+
const l = e, n = t, o = O("webx-admin"), i = L(!1), s = L(l.name), r = L(null), u = g(() => l.label ?? o("editor.rename"));
|
|
2947
2947
|
te(i, async (h) => {
|
|
2948
2948
|
h && (s.value = l.name, await Ie(), r.value?.focus(), r.value?.select());
|
|
2949
2949
|
});
|
|
@@ -3003,7 +3003,7 @@ const Fn = 76, Dn = /* @__PURE__ */ M({
|
|
|
3003
3003
|
_: 1
|
|
3004
3004
|
}, 8, ["open", "title"]));
|
|
3005
3005
|
}
|
|
3006
|
-
}),
|
|
3006
|
+
}), Dn = /* @__PURE__ */ G(hn, [["__scopeId", "data-v-d879e8d3"]]), gn = ["innerHTML"], yn = /* @__PURE__ */ M({
|
|
3007
3007
|
__name: "HelpButton",
|
|
3008
3008
|
props: {
|
|
3009
3009
|
body: {},
|
|
@@ -3013,7 +3013,7 @@ const Fn = 76, Dn = /* @__PURE__ */ M({
|
|
|
3013
3013
|
width: { default: 720 }
|
|
3014
3014
|
},
|
|
3015
3015
|
setup(e) {
|
|
3016
|
-
const t = e, l =
|
|
3016
|
+
const t = e, l = O("webx-admin"), n = L(!1), o = g(() => t.title ?? l("help.title")), i = g(() => Xa(t.body));
|
|
3017
3017
|
return (s, r) => (m(), $(j, null, [
|
|
3018
3018
|
w(a(ue), {
|
|
3019
3019
|
type: "details",
|
|
@@ -3099,7 +3099,7 @@ const Fn = 76, Dn = /* @__PURE__ */ M({
|
|
|
3099
3099
|
},
|
|
3100
3100
|
emits: ["change"],
|
|
3101
3101
|
setup(e, { emit: t }) {
|
|
3102
|
-
const l = e, n = t, o = J(), i =
|
|
3102
|
+
const l = e, n = t, o = J(), i = O("webx-admin"), s = Oe(), r = L([]), u = L(!0), d = L(""), h = L(!1), f = L(null), v = L(""), c = g(() => tn(o, l.type, l.id)), x = g(() => l.title ?? i("notes.title"));
|
|
3103
3103
|
async function p() {
|
|
3104
3104
|
u.value = !0;
|
|
3105
3105
|
try {
|
|
@@ -3283,7 +3283,7 @@ const Fn = 76, Dn = /* @__PURE__ */ M({
|
|
|
3283
3283
|
name: "WxBackupNote",
|
|
3284
3284
|
__name: "BackupNote",
|
|
3285
3285
|
setup(e) {
|
|
3286
|
-
const t = J(), l = kt(), n =
|
|
3286
|
+
const t = J(), l = kt(), n = O("webx-admin"), o = g(() => t.state.manifest?.backup ?? null), i = g(() => o.value !== null && t.can("settings.view")), s = g(() => {
|
|
3287
3287
|
const d = o.value?.at;
|
|
3288
3288
|
if (d == null) return !0;
|
|
3289
3289
|
const h = new Date(d).getTime();
|
|
@@ -3350,14 +3350,14 @@ export {
|
|
|
3350
3350
|
Ge as WxCategorySlug,
|
|
3351
3351
|
Xl as WxCollectionField,
|
|
3352
3352
|
$t as WxDate,
|
|
3353
|
-
|
|
3353
|
+
On as WxFilterChips,
|
|
3354
3354
|
Hn as WxHelpButton,
|
|
3355
3355
|
sa as WxLinkField,
|
|
3356
3356
|
oa as WxLinkPicker,
|
|
3357
3357
|
ht as WxListScreen,
|
|
3358
3358
|
jn as WxNotes,
|
|
3359
3359
|
mt as WxRelationsField,
|
|
3360
|
-
|
|
3360
|
+
Dn as WxRenameButton,
|
|
3361
3361
|
ga as WxRichTextField,
|
|
3362
3362
|
Fe as WxRowMenu,
|
|
3363
3363
|
dn as WxSaveState,
|
|
@@ -3400,14 +3400,14 @@ export {
|
|
|
3400
3400
|
bt as themeKey,
|
|
3401
3401
|
J as useAdmin,
|
|
3402
3402
|
Bn as useCategoryEditor,
|
|
3403
|
-
|
|
3403
|
+
De as useCategoryWords,
|
|
3404
3404
|
kt as useDates,
|
|
3405
|
-
|
|
3405
|
+
Oe as useErrorText,
|
|
3406
3406
|
dl as useI18n,
|
|
3407
3407
|
Mn as useItemOrder,
|
|
3408
3408
|
ba as useRecordAddress,
|
|
3409
3409
|
$l as useRelationOwner,
|
|
3410
3410
|
In as useTheme,
|
|
3411
|
-
|
|
3411
|
+
O as useTranslate
|
|
3412
3412
|
};
|
|
3413
3413
|
//# sourceMappingURL=index.js.map
|