@webx-ui/module-admin 0.18.1 → 0.18.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.d.ts +1 -0
- package/dist/index.js +264 -257
- package/dist/index.js.map +1 -1
- package/dist/keys.d.ts +10 -0
- package/dist/style.css +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { inject as se, reactive as be, defineComponent as M, useModel as
|
|
2
|
-
import { RouterLink as Nt, useRouter as
|
|
3
|
-
import { WxSortableList as
|
|
1
|
+
import { inject as se, reactive as be, defineComponent as M, useModel as ue, 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 Ee, normalizeClass as oe, createSlots as ke, nextTick as Ie, useId as Tt, Fragment as j, onMounted as _e, renderList as ae, mergeProps as tt, withModifiers as lt, useSlots as St, useTemplateRef as at, renderSlot as Y, normalizeProps as Ct, guardReactiveProps as Wt, resolveComponent as X, watchEffect as At, onUnmounted as Vt, isRef as nt, createApp as Lt, h as ce, onBeforeUnmount as Be, withKeys as ot } from "vue";
|
|
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 Me, WxAction as de, WxBadge as Te, WxSelect as we, WxAutocomplete as Re, WxSwitch as Ve, WxInputNumber as Et, WxButton as le, WxSegmented as It, WxText as ee, WxInput as Se, WxCheckbox as je, WxActions as Bt, WxDropdownItem as Mt, useElementWidth as Pt, WxHeading as Ft, WxIcon as Pe, WxTabs as Ot, WxCard as Ue, WxRichText as Dt, useLocales as it, WxAlert as Ce, 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 Ke, WxActionBar as al, WxPopover as nl, WxAvatar as ol, WxTextarea as qe } 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
|
-
const
|
|
6
|
+
const We = /* @__PURE__ */ Symbol("webx-i18n");
|
|
7
7
|
function dl() {
|
|
8
|
-
const e = se(
|
|
8
|
+
const e = se(We, null);
|
|
9
9
|
if (e === null)
|
|
10
10
|
throw new Error("useI18n() was called outside a panel created by createAdmin().");
|
|
11
11
|
return e;
|
|
12
12
|
}
|
|
13
13
|
function O(e) {
|
|
14
|
-
const t = se(
|
|
15
|
-
return t === null ?
|
|
14
|
+
const t = se(We, null);
|
|
15
|
+
return t === null ? Fe().scope(e) : t.scope(e);
|
|
16
16
|
}
|
|
17
17
|
function cl(e, t) {
|
|
18
|
-
e.provide(
|
|
18
|
+
e.provide(We, t);
|
|
19
19
|
}
|
|
20
|
-
function
|
|
20
|
+
function Fe(e = {}) {
|
|
21
21
|
const t = e.fallback ?? "en", l = be({
|
|
22
22
|
locale: e.locale ?? t,
|
|
23
23
|
fallback: t,
|
|
@@ -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 =
|
|
102
|
+
const t = e, l = ue(e, "modelValue"), n = J(), o = O("webx-admin"), i = L([]);
|
|
103
103
|
te(
|
|
104
104
|
() => t.source,
|
|
105
105
|
async (v) => {
|
|
@@ -127,7 +127,7 @@ const vl = { class: "wx-categories-field" }, pl = { class: "wx-categories-field_
|
|
|
127
127
|
l.value = s.value.filter((c) => c !== v);
|
|
128
128
|
}
|
|
129
129
|
return (v, c) => (m(), $("div", vl, [
|
|
130
|
-
w(a(
|
|
130
|
+
w(a(Me), {
|
|
131
131
|
modelValue: u.value,
|
|
132
132
|
"onUpdate:modelValue": c[0] || (c[0] = (x) => u.value = x),
|
|
133
133
|
plain: "",
|
|
@@ -139,7 +139,7 @@ const vl = { class: "wx-categories-field" }, pl = { class: "wx-categories-field_
|
|
|
139
139
|
}, {
|
|
140
140
|
default: y(({ item: x, index: p }) => [
|
|
141
141
|
B("span", pl, A(x.name), 1),
|
|
142
|
-
t.main && p === 0 ? (m(), S(a(
|
|
142
|
+
t.main && p === 0 ? (m(), S(a(Te), {
|
|
143
143
|
key: 0,
|
|
144
144
|
type: "primary"
|
|
145
145
|
}, {
|
|
@@ -150,7 +150,7 @@ const vl = { class: "wx-categories-field" }, pl = { class: "wx-categories-field_
|
|
|
150
150
|
})) : N("", !0)
|
|
151
151
|
]),
|
|
152
152
|
actions: y(({ item: x }) => [
|
|
153
|
-
w(a(
|
|
153
|
+
w(a(de), {
|
|
154
154
|
type: "remove",
|
|
155
155
|
size: "sm",
|
|
156
156
|
disabled: t.disabled,
|
|
@@ -203,7 +203,7 @@ function bl(e = {}) {
|
|
|
203
203
|
const t = (e.baseUrl ?? "").replace(/\/$/, ""), l = e.csrfUrl ?? "/api/cms/auth/csrf-cookie", n = e.fetch ?? globalThis.fetch.bind(globalThis), o = e.onUnauthenticated, i = e.headers;
|
|
204
204
|
let s = !1;
|
|
205
205
|
async function r(d = !1) {
|
|
206
|
-
s && !d &&
|
|
206
|
+
s && !d && Ye("XSRF-TOKEN") !== null || (await n(l, { credentials: "same-origin" }), s = !0);
|
|
207
207
|
}
|
|
208
208
|
async function u(d, h, f, v = {}, c = !1) {
|
|
209
209
|
const x = yl.has(d);
|
|
@@ -216,7 +216,7 @@ function bl(e = {}) {
|
|
|
216
216
|
...v.headers
|
|
217
217
|
};
|
|
218
218
|
if (x) {
|
|
219
|
-
const T =
|
|
219
|
+
const T = Ye("XSRF-TOKEN");
|
|
220
220
|
T !== null && (p["X-XSRF-TOKEN"] = T);
|
|
221
221
|
}
|
|
222
222
|
f !== void 0 && (p["Content-Type"] = "application/json");
|
|
@@ -267,7 +267,7 @@ function xl(e, t, l) {
|
|
|
267
267
|
const s = i.toString();
|
|
268
268
|
return s === "" ? o : `${o}${o.includes("?") ? "&" : "?"}${s}`;
|
|
269
269
|
}
|
|
270
|
-
function
|
|
270
|
+
function Ye(e) {
|
|
271
271
|
if (typeof document > "u")
|
|
272
272
|
return null;
|
|
273
273
|
for (const t of document.cookie.split(";")) {
|
|
@@ -288,8 +288,8 @@ function _l(e) {
|
|
|
288
288
|
return Array.isArray(e) ? [...new Set(e.map(Number).filter((t) => Number.isInteger(t) && t > 0))] : [];
|
|
289
289
|
}
|
|
290
290
|
const ct = /* @__PURE__ */ Symbol("wx-relation-owner");
|
|
291
|
-
function
|
|
292
|
-
|
|
291
|
+
function En(e) {
|
|
292
|
+
Ee(ct, e);
|
|
293
293
|
}
|
|
294
294
|
function $l() {
|
|
295
295
|
return se(ct, null);
|
|
@@ -319,22 +319,22 @@ 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 =
|
|
322
|
+
const t = e, l = ue(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
|
-
for (const
|
|
325
|
+
for (const E of R) U.set(E.id, E);
|
|
326
326
|
r.value = U;
|
|
327
327
|
}
|
|
328
328
|
async function p(R) {
|
|
329
|
-
const U = R.filter((
|
|
329
|
+
const U = R.filter((E) => !r.value.has(E) && !u.value.has(E));
|
|
330
330
|
if (!(U.length === 0 || d.value))
|
|
331
331
|
try {
|
|
332
|
-
const
|
|
333
|
-
x(
|
|
334
|
-
const
|
|
335
|
-
u.value = /* @__PURE__ */ new Set([...u.value, ...U.filter((
|
|
336
|
-
} catch (
|
|
337
|
-
|
|
332
|
+
const E = await s.value.named(U);
|
|
333
|
+
x(E);
|
|
334
|
+
const ie = new Set(E.map((re) => re.id));
|
|
335
|
+
u.value = /* @__PURE__ */ new Set([...u.value, ...U.filter((re) => !ie.has(re))]);
|
|
336
|
+
} catch (E) {
|
|
337
|
+
E instanceof fe && E.status === 403 && (d.value = !0);
|
|
338
338
|
}
|
|
339
339
|
}
|
|
340
340
|
te(
|
|
@@ -389,9 +389,9 @@ const Tl = ["src"], Sl = { class: "wx-relations-field__text" }, Cl = { class: "w
|
|
|
389
389
|
return (R, U) => (m(), $("div", {
|
|
390
390
|
class: oe(["wx-relations-field", { "is-unordered": !t.sortable }])
|
|
391
391
|
}, [
|
|
392
|
-
w(a(
|
|
392
|
+
w(a(Me), {
|
|
393
393
|
modelValue: b.value,
|
|
394
|
-
"onUpdate:modelValue": U[0] || (U[0] = (
|
|
394
|
+
"onUpdate:modelValue": U[0] || (U[0] = (E) => b.value = E),
|
|
395
395
|
plain: "",
|
|
396
396
|
size: "sm",
|
|
397
397
|
"item-key": "id",
|
|
@@ -400,23 +400,23 @@ const Tl = ["src"], Sl = { class: "wx-relations-field__text" }, Cl = { class: "w
|
|
|
400
400
|
"empty-text": t.emptyText ?? a(i)("relations.field-empty"),
|
|
401
401
|
"drag-label": a(i)("relations.field-drag")
|
|
402
402
|
}, ke({
|
|
403
|
-
default: y(({ item:
|
|
404
|
-
|
|
403
|
+
default: y(({ item: E }) => [
|
|
404
|
+
E.candidate?.thumb ? (m(), $("img", {
|
|
405
405
|
key: 0,
|
|
406
406
|
class: "wx-relations-field__thumb",
|
|
407
|
-
src:
|
|
407
|
+
src: E.candidate.thumb,
|
|
408
408
|
alt: ""
|
|
409
409
|
}, null, 8, Tl)) : N("", !0),
|
|
410
410
|
B("span", Sl, [
|
|
411
|
-
B("span", Cl, A(
|
|
412
|
-
|
|
411
|
+
B("span", Cl, A(E.title), 1),
|
|
412
|
+
E.candidate?.subtitle ? (m(), $("span", Wl, A(E.candidate.subtitle), 1)) : N("", !0)
|
|
413
413
|
]),
|
|
414
|
-
q(
|
|
414
|
+
q(E) ? (m(), S(a(Te), {
|
|
415
415
|
key: 1,
|
|
416
416
|
type: "warning"
|
|
417
417
|
}, {
|
|
418
418
|
default: y(() => [
|
|
419
|
-
z(A(q(
|
|
419
|
+
z(A(q(E)), 1)
|
|
420
420
|
]),
|
|
421
421
|
_: 2
|
|
422
422
|
}, 1024)) : N("", !0)
|
|
@@ -425,21 +425,21 @@ const Tl = ["src"], Sl = { class: "wx-relations-field__text" }, Cl = { class: "w
|
|
|
425
425
|
}, [
|
|
426
426
|
C.value ? void 0 : {
|
|
427
427
|
name: "actions",
|
|
428
|
-
fn: y(({ item:
|
|
429
|
-
w(a(
|
|
428
|
+
fn: y(({ item: E }) => [
|
|
429
|
+
w(a(de), {
|
|
430
430
|
type: "remove",
|
|
431
431
|
size: "sm",
|
|
432
432
|
title: a(i)("relations.field-remove"),
|
|
433
|
-
onClick: (
|
|
433
|
+
onClick: (ie) => k(E.id)
|
|
434
434
|
}, null, 8, ["title", "onClick"])
|
|
435
435
|
]),
|
|
436
436
|
key: "0"
|
|
437
437
|
}
|
|
438
438
|
]), 1032, ["modelValue", "disabled", "empty-text", "drag-label"]),
|
|
439
439
|
d.value ? (m(), $("p", Al, A(a(i)("relations.field-forbidden")), 1)) : (m(), $("div", Vl, [
|
|
440
|
-
w(a(
|
|
440
|
+
w(a(Re), {
|
|
441
441
|
modelValue: v.value,
|
|
442
|
-
"onUpdate:modelValue": U[1] || (U[1] = (
|
|
442
|
+
"onUpdate:modelValue": U[1] || (U[1] = (E) => v.value = E),
|
|
443
443
|
options: Q.value,
|
|
444
444
|
remote: "",
|
|
445
445
|
teleport: "",
|
|
@@ -455,10 +455,10 @@ const Tl = ["src"], Sl = { class: "wx-relations-field__text" }, Cl = { class: "w
|
|
|
455
455
|
]))
|
|
456
456
|
], 2));
|
|
457
457
|
}
|
|
458
|
-
}), mt = /* @__PURE__ */ G(Ll, [["__scopeId", "data-v-5ecf0e47"]]), ft = 100,
|
|
458
|
+
}), mt = /* @__PURE__ */ G(Ll, [["__scopeId", "data-v-5ecf0e47"]]), ft = 100, Le = /* @__PURE__ */ new WeakMap();
|
|
459
459
|
function Nl(e) {
|
|
460
|
-
let t =
|
|
461
|
-
return t === void 0 && (t = e.http.get(`${e.apiPath}/collections`).then((l) => l.data.map((n) => ({ ...n, relations: Rl(n) }))), t.catch(() =>
|
|
460
|
+
let t = Le.get(e);
|
|
461
|
+
return t === void 0 && (t = e.http.get(`${e.apiPath}/collections`).then((l) => l.data.map((n) => ({ ...n, relations: Rl(n) }))), t.catch(() => Le.delete(e)), Le.set(e, t)), t;
|
|
462
462
|
}
|
|
463
463
|
function Rl(e) {
|
|
464
464
|
return Array.isArray(e.relations) ? e.relations.flatMap((t) => {
|
|
@@ -487,7 +487,7 @@ function Ul(e) {
|
|
|
487
487
|
const o = vt(l);
|
|
488
488
|
return typeof t == "string" && t !== "" && o.length > 0 ? { type: t, ids: o } : null;
|
|
489
489
|
}
|
|
490
|
-
function
|
|
490
|
+
function Xe(e) {
|
|
491
491
|
const t = typeof e == "object" && e !== null && !Array.isArray(e) ? e : {}, l = typeof t.limit == "number" && Number.isInteger(t.limit) ? t.limit : null;
|
|
492
492
|
return {
|
|
493
493
|
categories: vt(t.categories),
|
|
@@ -497,13 +497,13 @@ function Ye(e) {
|
|
|
497
497
|
markup: typeof t.markup == "boolean" ? t.markup : null
|
|
498
498
|
};
|
|
499
499
|
}
|
|
500
|
-
function
|
|
500
|
+
function Ge(e) {
|
|
501
501
|
return e.categories.length === 0 && e.related === null;
|
|
502
502
|
}
|
|
503
|
-
const zl = ["aria-busy"],
|
|
503
|
+
const zl = ["aria-busy"], El = {
|
|
504
504
|
key: 0,
|
|
505
505
|
class: "wx-collection-field__note"
|
|
506
|
-
},
|
|
506
|
+
}, Il = { class: "wx-collection-field__note" }, Bl = {
|
|
507
507
|
key: 0,
|
|
508
508
|
class: "wx-collection-field__row"
|
|
509
509
|
}, Ml = ["for"], Pl = {
|
|
@@ -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 =
|
|
527
|
+
const t = e, l = ue(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) => {
|
|
@@ -544,9 +544,9 @@ const zl = ["aria-busy"], Il = {
|
|
|
544
544
|
},
|
|
545
545
|
{ immediate: !0 }
|
|
546
546
|
);
|
|
547
|
-
const u = g(() =>
|
|
547
|
+
const u = g(() => Xe(l.value));
|
|
548
548
|
function d(k) {
|
|
549
|
-
l.value =
|
|
549
|
+
l.value = Xe({ ...u.value, ...k });
|
|
550
550
|
}
|
|
551
551
|
const h = g(() => {
|
|
552
552
|
const k = new Set(r.value.map((_) => _.value)), C = u.value.categories.filter((_) => !k.has(_)).map((_) => ({ label: `#${_}`, value: _ }));
|
|
@@ -577,21 +577,21 @@ const zl = ["aria-busy"], Il = {
|
|
|
577
577
|
const C = p.value?.key;
|
|
578
578
|
d({ related: k && C ? { type: C, ids: [], current: !0 } : null });
|
|
579
579
|
}
|
|
580
|
-
const Q = g(() => u.value.markup ??
|
|
580
|
+
const Q = g(() => u.value.markup ?? Ge(u.value));
|
|
581
581
|
function H(k) {
|
|
582
582
|
d({ markup: k === !0 });
|
|
583
583
|
}
|
|
584
584
|
const V = g(
|
|
585
585
|
() => o(
|
|
586
|
-
|
|
586
|
+
Ge(u.value) ? "collections.field-markup-auto-on" : "collections.field-markup-auto-off"
|
|
587
587
|
)
|
|
588
588
|
);
|
|
589
589
|
return (k, C) => (m(), $("div", {
|
|
590
590
|
class: "wx-collection-field",
|
|
591
591
|
"aria-busy": s.value === void 0
|
|
592
592
|
}, [
|
|
593
|
-
s.value === null ? (m(), $("p",
|
|
594
|
-
B("p",
|
|
593
|
+
s.value === null ? (m(), $("p", El, A(a(o)("collections.field-unavailable", { source: t.source })), 1)) : s.value ? (m(), $(j, { key: 1 }, [
|
|
594
|
+
B("p", Il, A(a(o)("collections.field-source", { source: s.value.title })), 1),
|
|
595
595
|
s.value.categories ? (m(), $("div", Bl, [
|
|
596
596
|
B("label", {
|
|
597
597
|
class: "wx-collection-field__label",
|
|
@@ -625,7 +625,7 @@ const zl = ["aria-busy"], Il = {
|
|
|
625
625
|
"onUpdate:modelValue": b
|
|
626
626
|
}, null, 8, ["model-value", "options", "placeholder", "aria-label", "disabled"])) : N("", !0),
|
|
627
627
|
p.value ? (m(), $(j, { key: 1 }, [
|
|
628
|
-
w(a(
|
|
628
|
+
w(a(Ve), {
|
|
629
629
|
"model-value": u.value.related?.current === !0,
|
|
630
630
|
label: a(o)("relations.collection-related-current"),
|
|
631
631
|
disabled: t.disabled,
|
|
@@ -649,7 +649,7 @@ const zl = ["aria-busy"], Il = {
|
|
|
649
649
|
for: `${a(i)}-limit`
|
|
650
650
|
}, A(a(o)("collections.field-limit")), 9, Hl),
|
|
651
651
|
B("div", jl, [
|
|
652
|
-
w(a(
|
|
652
|
+
w(a(Et), {
|
|
653
653
|
id: `${a(i)}-limit`,
|
|
654
654
|
"model-value": u.value.limit,
|
|
655
655
|
min: 1,
|
|
@@ -662,7 +662,7 @@ const zl = ["aria-busy"], Il = {
|
|
|
662
662
|
}, null, 8, ["id", "model-value", "max", "placeholder", "disabled"])
|
|
663
663
|
])
|
|
664
664
|
]),
|
|
665
|
-
s.value.categories ? (m(), S(a(
|
|
665
|
+
s.value.categories ? (m(), S(a(Ve), {
|
|
666
666
|
key: 2,
|
|
667
667
|
"model-value": u.value.filter,
|
|
668
668
|
label: a(o)("collections.field-filter"),
|
|
@@ -670,7 +670,7 @@ const zl = ["aria-busy"], Il = {
|
|
|
670
670
|
"onUpdate:modelValue": C[1] || (C[1] = (_) => d({ filter: _ === !0 }))
|
|
671
671
|
}, null, 8, ["model-value", "label", "disabled"])) : N("", !0),
|
|
672
672
|
s.value.markup ? (m(), $("div", Kl, [
|
|
673
|
-
w(a(
|
|
673
|
+
w(a(Ve), {
|
|
674
674
|
"model-value": Q.value,
|
|
675
675
|
label: a(o)("collections.field-markup"),
|
|
676
676
|
disabled: t.disabled,
|
|
@@ -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 =
|
|
743
|
+
const t = e, l = ue(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 = [
|
|
@@ -753,13 +753,13 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
753
753
|
), F = g(
|
|
754
754
|
() => u.value.map((W) => ({
|
|
755
755
|
value: W.title,
|
|
756
|
-
description:
|
|
756
|
+
description: I(W),
|
|
757
757
|
id: W.id
|
|
758
758
|
}))
|
|
759
759
|
), Q = g(
|
|
760
760
|
() => d.value.map((W) => ({ value: W.path, description: W.name }))
|
|
761
761
|
);
|
|
762
|
-
|
|
762
|
+
_e(async () => {
|
|
763
763
|
r.value = await i.sources(), f.value = p.value.entity_type ?? r.value[0]?.type ?? null, await Promise.all([H(), V()]);
|
|
764
764
|
}), te(
|
|
765
765
|
() => [p.value.entity_type, p.value.entity_id].join(":"),
|
|
@@ -811,18 +811,18 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
811
811
|
function U(W) {
|
|
812
812
|
l.value = { ...p.value, url: W === "" ? null : W };
|
|
813
813
|
}
|
|
814
|
-
function
|
|
814
|
+
function E(W) {
|
|
815
815
|
const P = (typeof W == "string" || typeof W == "number" ? String(W) : "").replace(/^#+/, "").trim();
|
|
816
816
|
l.value = { ...p.value, hash: P === "" ? null : P };
|
|
817
817
|
}
|
|
818
|
-
function
|
|
818
|
+
function ie(W) {
|
|
819
819
|
l.value = { ...p.value, new_tab: W };
|
|
820
820
|
}
|
|
821
|
-
function
|
|
822
|
-
const D = p.value.rel.filter((
|
|
821
|
+
function re(W, P) {
|
|
822
|
+
const D = p.value.rel.filter((Ae) => Ae !== W);
|
|
823
823
|
l.value = { ...p.value, rel: P ? [...D, W] : D };
|
|
824
824
|
}
|
|
825
|
-
function
|
|
825
|
+
function I(W) {
|
|
826
826
|
const P = [W.hint, W.url ?? void 0].filter(
|
|
827
827
|
(D) => typeof D == "string" && D !== ""
|
|
828
828
|
);
|
|
@@ -830,7 +830,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
830
830
|
}
|
|
831
831
|
const Z = ["nofollow", "sponsored", "ugc"];
|
|
832
832
|
return (W, P) => (m(), $("div", Ql, [
|
|
833
|
-
w(a(
|
|
833
|
+
w(a(It), {
|
|
834
834
|
options: b.value,
|
|
835
835
|
"model-value": p.value.target,
|
|
836
836
|
disabled: t.disabled,
|
|
@@ -847,7 +847,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
847
847
|
"aria-label": a(s)("links.section"),
|
|
848
848
|
"onUpdate:modelValue": _
|
|
849
849
|
}, null, 8, ["options", "model-value", "disabled", "aria-label"])) : N("", !0),
|
|
850
|
-
w(a(
|
|
850
|
+
w(a(Re), {
|
|
851
851
|
class: "wx-link-picker__search",
|
|
852
852
|
"model-value": v.value,
|
|
853
853
|
options: F.value,
|
|
@@ -865,7 +865,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
865
865
|
onClear: R
|
|
866
866
|
}, null, 8, ["model-value", "options", "loading", "loading-text", "empty-text", "placeholder", "aria-label", "disabled"])
|
|
867
867
|
])) : p.value.target === "url" ? (m(), $("div", ea, [
|
|
868
|
-
w(a(
|
|
868
|
+
w(a(Re), {
|
|
869
869
|
"model-value": p.value.url ?? "",
|
|
870
870
|
options: Q.value,
|
|
871
871
|
clearable: "",
|
|
@@ -891,20 +891,20 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
891
891
|
class: "wx-link-picker__sign",
|
|
892
892
|
"aria-hidden": "true"
|
|
893
893
|
}, "#", -1)),
|
|
894
|
-
w(a(
|
|
894
|
+
w(a(Se), {
|
|
895
895
|
"model-value": p.value.hash ?? "",
|
|
896
896
|
placeholder: a(s)("links.hash-placeholder"),
|
|
897
897
|
"aria-label": a(s)("links.hash"),
|
|
898
898
|
disabled: t.disabled,
|
|
899
899
|
clearable: "",
|
|
900
|
-
"onUpdate:modelValue":
|
|
900
|
+
"onUpdate:modelValue": E
|
|
901
901
|
}, null, 8, ["model-value", "placeholder", "aria-label", "disabled"])
|
|
902
902
|
])) : N("", !0),
|
|
903
903
|
t.attributes && p.value.target !== "none" ? (m(), $("div", la, [
|
|
904
|
-
w(a(
|
|
904
|
+
w(a(je), {
|
|
905
905
|
"model-value": p.value.new_tab,
|
|
906
906
|
disabled: t.disabled,
|
|
907
|
-
"onUpdate:modelValue": P[1] || (P[1] = (D) =>
|
|
907
|
+
"onUpdate:modelValue": P[1] || (P[1] = (D) => ie(D))
|
|
908
908
|
}, {
|
|
909
909
|
default: y(() => [
|
|
910
910
|
z(A(a(s)("links.new-tab")), 1)
|
|
@@ -921,11 +921,11 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
921
921
|
]),
|
|
922
922
|
_: 1
|
|
923
923
|
}),
|
|
924
|
-
(m(), $(j, null, ae(Z, (D) => w(a(
|
|
924
|
+
(m(), $(j, null, ae(Z, (D) => w(a(je), {
|
|
925
925
|
key: D,
|
|
926
926
|
"model-value": p.value.rel.includes(D),
|
|
927
927
|
disabled: t.disabled,
|
|
928
|
-
"onUpdate:modelValue": (
|
|
928
|
+
"onUpdate:modelValue": (Ae) => re(D, Ae)
|
|
929
929
|
}, {
|
|
930
930
|
default: y(() => [
|
|
931
931
|
z(A(a(s)(`links.rel-${D}`)), 1)
|
|
@@ -950,8 +950,8 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
950
950
|
}),
|
|
951
951
|
emits: ["update:modelValue"],
|
|
952
952
|
setup(e) {
|
|
953
|
-
const t = e, l =
|
|
954
|
-
return (n, o) => (m(), S(oa,
|
|
953
|
+
const t = e, l = ue(e, "modelValue");
|
|
954
|
+
return (n, o) => (m(), S(oa, tt({
|
|
955
955
|
modelValue: l.value,
|
|
956
956
|
"onUpdate:modelValue": o[0] || (o[0] = (i) => l.value = i)
|
|
957
957
|
}, n.$attrs, {
|
|
@@ -969,7 +969,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
969
969
|
},
|
|
970
970
|
setup(e) {
|
|
971
971
|
const t = e, l = O("webx-admin"), n = g(() => t.label ?? l("editor.back"));
|
|
972
|
-
return (o, i) => (m(), S(a(
|
|
972
|
+
return (o, i) => (m(), S(a(de), {
|
|
973
973
|
icon: "arrow-left",
|
|
974
974
|
class: "wx-back-button",
|
|
975
975
|
as: a(Nt),
|
|
@@ -1004,11 +1004,11 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
1004
1004
|
align: "end",
|
|
1005
1005
|
size: e.size,
|
|
1006
1006
|
"aria-label": e.label,
|
|
1007
|
-
onClick: s[0] || (s[0] =
|
|
1007
|
+
onClick: s[0] || (s[0] = lt(() => {
|
|
1008
1008
|
}, ["stop"]))
|
|
1009
1009
|
}, {
|
|
1010
1010
|
trigger: y(() => [
|
|
1011
|
-
w(a(
|
|
1011
|
+
w(a(de), {
|
|
1012
1012
|
type: "more",
|
|
1013
1013
|
size: e.size,
|
|
1014
1014
|
title: a(t)("editor.more")
|
|
@@ -1037,7 +1037,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
1037
1037
|
_: 1
|
|
1038
1038
|
}, 8, ["size", "aria-label"])) : N("", !0);
|
|
1039
1039
|
}
|
|
1040
|
-
}),
|
|
1040
|
+
}), Oe = /* @__PURE__ */ G(ua, [["__scopeId", "data-v-cab01f7f"]]), da = ["data-level"], ca = {
|
|
1041
1041
|
key: 0,
|
|
1042
1042
|
class: "wx-screen-head__trail"
|
|
1043
1043
|
}, ma = { class: "wx-screen-head__name" }, fa = {
|
|
@@ -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 = O("webx-admin"), i = St(), s =
|
|
1060
|
+
const l = e, n = t, o = O("webx-admin"), i = St(), s = at("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
|
|
@@ -1084,7 +1084,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
1084
1084
|
to: c.value,
|
|
1085
1085
|
label: e.backLabel,
|
|
1086
1086
|
"tooltip-side": "bottom"
|
|
1087
|
-
}, null, 8, ["to", "label"])) : e.back ? (m(), S(a(
|
|
1087
|
+
}, null, 8, ["to", "label"])) : e.back ? (m(), S(a(de), {
|
|
1088
1088
|
key: 2,
|
|
1089
1089
|
class: "wx-screen-head__back",
|
|
1090
1090
|
icon: "arrow-left",
|
|
@@ -1143,14 +1143,14 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
1143
1143
|
T.icon ? {
|
|
1144
1144
|
name: "icon",
|
|
1145
1145
|
fn: y(() => [
|
|
1146
|
-
w(a(
|
|
1146
|
+
w(a(Pe), {
|
|
1147
1147
|
name: T.icon
|
|
1148
1148
|
}, null, 8, ["name"])
|
|
1149
1149
|
]),
|
|
1150
1150
|
key: "0"
|
|
1151
1151
|
} : void 0
|
|
1152
1152
|
]), 1032, ["class", "type", "variant", "loading", "disabled", "href", "target", "rel", "onClick"]))), 128)),
|
|
1153
|
-
v.value.length > 0 ? (m(), S(
|
|
1153
|
+
v.value.length > 0 ? (m(), S(Oe, {
|
|
1154
1154
|
key: 0,
|
|
1155
1155
|
actions: v.value,
|
|
1156
1156
|
size: "lg",
|
|
@@ -1178,7 +1178,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
1178
1178
|
}),
|
|
1179
1179
|
emits: ["update:view"],
|
|
1180
1180
|
setup(e) {
|
|
1181
|
-
const t =
|
|
1181
|
+
const t = ue(e, "view");
|
|
1182
1182
|
return (l, n) => (m(), $("div", {
|
|
1183
1183
|
class: oe(["wx-list-screen", { "is-fill": e.fill }]),
|
|
1184
1184
|
"data-wx-fill": e.fill ? "" : void 0
|
|
@@ -1211,7 +1211,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
1211
1211
|
"aria-label": e.title
|
|
1212
1212
|
}, {
|
|
1213
1213
|
default: y(() => [
|
|
1214
|
-
e.card ? (m(), S(a(
|
|
1214
|
+
e.card ? (m(), S(a(Ue), {
|
|
1215
1215
|
key: 0,
|
|
1216
1216
|
class: "wx-list-screen__card",
|
|
1217
1217
|
padding: e.padding
|
|
@@ -1224,7 +1224,7 @@ const Ql = { class: "wx-link-picker" }, Zl = {
|
|
|
1224
1224
|
]),
|
|
1225
1225
|
_: 3
|
|
1226
1226
|
}, 8, ["modelValue", "items", "collapse-below", "aria-label"])) : (m(), $(j, { key: 2 }, [
|
|
1227
|
-
e.card ? (m(), S(a(
|
|
1227
|
+
e.card ? (m(), S(a(Ue), {
|
|
1228
1228
|
key: 0,
|
|
1229
1229
|
class: "wx-list-screen__card",
|
|
1230
1230
|
padding: e.padding
|
|
@@ -1275,14 +1275,14 @@ 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(Dt),
|
|
1278
|
+
return (i, s) => (m(), S(a(Dt), tt(i.$attrs, {
|
|
1279
1279
|
labels: o.value,
|
|
1280
1280
|
"pick-image": n.value
|
|
1281
1281
|
}), null, 16, ["labels", "pick-image"]));
|
|
1282
1282
|
}
|
|
1283
1283
|
}), gt = /* @__PURE__ */ Symbol("wx-record-address");
|
|
1284
1284
|
function ya(e) {
|
|
1285
|
-
|
|
1285
|
+
Ee(gt, e);
|
|
1286
1286
|
}
|
|
1287
1287
|
function ba() {
|
|
1288
1288
|
return se(gt, null);
|
|
@@ -1303,13 +1303,13 @@ const wa = { class: "wx-slug" }, xa = { class: "wx-slug__prefix" }, ka = /* @__P
|
|
|
1303
1303
|
return typeof s == "string" && o.value !== "" && `${n.value}${o.value}` != `/${s}`;
|
|
1304
1304
|
});
|
|
1305
1305
|
return (s, r) => (m(), $("div", wa, [
|
|
1306
|
-
w(a(
|
|
1306
|
+
w(a(Se), Ct(Wt(s.$attrs)), {
|
|
1307
1307
|
prefix: y(() => [
|
|
1308
1308
|
B("span", xa, A(n.value), 1)
|
|
1309
1309
|
]),
|
|
1310
1310
|
_: 1
|
|
1311
1311
|
}, 16),
|
|
1312
|
-
i.value && a(t) ? (m(), S(a(
|
|
1312
|
+
i.value && a(t) ? (m(), S(a(Ce), {
|
|
1313
1313
|
key: 0,
|
|
1314
1314
|
type: "info",
|
|
1315
1315
|
variant: "soft",
|
|
@@ -1317,7 +1317,7 @@ const wa = { class: "wx-slug" }, xa = { class: "wx-slug__prefix" }, ka = /* @__P
|
|
|
1317
1317
|
}, null, 8, ["description"])) : N("", !0)
|
|
1318
1318
|
]));
|
|
1319
1319
|
}
|
|
1320
|
-
}),
|
|
1320
|
+
}), Je = /* @__PURE__ */ G(ka, [["__scopeId", "data-v-5921c0dd"]]), _a = {
|
|
1321
1321
|
"wx-list": { component: ht, kind: "layout", labelProp: "title" },
|
|
1322
1322
|
// Full width: an editor shares a row with nothing, and a form of two columns would give it
|
|
1323
1323
|
// half a line to write a page of text in.
|
|
@@ -1331,8 +1331,8 @@ const wa = { class: "wx-slug" }, xa = { class: "wx-slug__prefix" }, ka = /* @__P
|
|
|
1331
1331
|
// Wide: a row carries a picture, a name with a line under it and a mark, and the search box
|
|
1332
1332
|
// under the list reads titles.
|
|
1333
1333
|
"wx-relations": { component: mt, kind: "field", wide: !0 },
|
|
1334
|
-
"wx-slug": { component:
|
|
1335
|
-
"wx-category-slug": { component:
|
|
1334
|
+
"wx-slug": { component: Je, kind: "field" },
|
|
1335
|
+
"wx-category-slug": { component: Je, kind: "field" }
|
|
1336
1336
|
}, yt = /* @__PURE__ */ Symbol("webx-admin");
|
|
1337
1337
|
function J() {
|
|
1338
1338
|
const e = se(yt, null);
|
|
@@ -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 =
|
|
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 = O("webx-admin"), i =
|
|
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
|
|
@@ -1553,7 +1553,7 @@ const Ca = /* @__PURE__ */ M({
|
|
|
1553
1553
|
}, La = {
|
|
1554
1554
|
key: 2,
|
|
1555
1555
|
class: "wx-root wx-admin-plain"
|
|
1556
|
-
}, Na = ["src", "alt", "width", "height"], Ra = ["src", "alt", "width", "height"], Ua = ["src", "alt"], za = { class: "wx-admin__user" },
|
|
1556
|
+
}, Na = ["src", "alt", "width", "height"], Ra = ["src", "alt", "width", "height"], Ua = ["src", "alt"], za = { class: "wx-admin__user" }, Ea = { class: "wx-admin__user wx-admin__user--drawer" }, Ia = /* @__PURE__ */ M({
|
|
1557
1557
|
__name: "AdminShell",
|
|
1558
1558
|
setup(e) {
|
|
1559
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(
|
|
@@ -1583,7 +1583,7 @@ const Ca = /* @__PURE__ */ M({
|
|
|
1583
1583
|
default: y(() => [
|
|
1584
1584
|
w(Q, {
|
|
1585
1585
|
type: "primary",
|
|
1586
|
-
onClick: b[0] || (b[0] = (
|
|
1586
|
+
onClick: b[0] || (b[0] = (E) => a(t).reload())
|
|
1587
1587
|
}, {
|
|
1588
1588
|
default: y(() => [
|
|
1589
1589
|
z(A(a(l)("shell.retry")), 1)
|
|
@@ -1718,7 +1718,7 @@ const Ca = /* @__PURE__ */ M({
|
|
|
1718
1718
|
}, 8, ["direction"]),
|
|
1719
1719
|
w(U, {
|
|
1720
1720
|
open: a(u),
|
|
1721
|
-
"onUpdate:open": b[1] || (b[1] = (
|
|
1721
|
+
"onUpdate:open": b[1] || (b[1] = (E) => nt(u) ? u.value = E : null),
|
|
1722
1722
|
class: "wx-admin__drawer",
|
|
1723
1723
|
title: f.value === "" ? a(l)("nav.menu") : f.value,
|
|
1724
1724
|
side: "left",
|
|
@@ -1727,7 +1727,7 @@ const Ca = /* @__PURE__ */ M({
|
|
|
1727
1727
|
closable: ""
|
|
1728
1728
|
}, {
|
|
1729
1729
|
footer: y(() => [
|
|
1730
|
-
B("div",
|
|
1730
|
+
B("div", Ea, [
|
|
1731
1731
|
Y(p.$slots, "user", { expanded: !0 }, void 0, !0)
|
|
1732
1732
|
])
|
|
1733
1733
|
]),
|
|
@@ -1743,7 +1743,7 @@ const Ca = /* @__PURE__ */ M({
|
|
|
1743
1743
|
], 64);
|
|
1744
1744
|
};
|
|
1745
1745
|
}
|
|
1746
|
-
}), Ba = /* @__PURE__ */ G(
|
|
1746
|
+
}), Ba = /* @__PURE__ */ G(Ia, [["__scopeId", "data-v-819885ab"]]), Ma = "webx.theme", bt = /* @__PURE__ */ Symbol("webx-theme");
|
|
1747
1747
|
function In() {
|
|
1748
1748
|
const e = se(bt, null);
|
|
1749
1749
|
if (e === null)
|
|
@@ -1766,17 +1766,17 @@ function Fa(e = {}) {
|
|
|
1766
1766
|
}), {
|
|
1767
1767
|
state: l,
|
|
1768
1768
|
set(o) {
|
|
1769
|
-
l.preference = o, n(),
|
|
1769
|
+
l.preference = o, n(), Qe(t, o);
|
|
1770
1770
|
},
|
|
1771
1771
|
adopt(o) {
|
|
1772
1772
|
if (o === void 0)
|
|
1773
1773
|
return;
|
|
1774
1774
|
const i = o ?? "system";
|
|
1775
|
-
i !== l.preference && (l.preference = i, n(),
|
|
1775
|
+
i !== l.preference && (l.preference = i, n(), Qe(t, i));
|
|
1776
1776
|
}
|
|
1777
1777
|
};
|
|
1778
1778
|
}
|
|
1779
|
-
function
|
|
1779
|
+
function Qe(e, t) {
|
|
1780
1780
|
if (e !== null)
|
|
1781
1781
|
try {
|
|
1782
1782
|
localStorage.setItem(e, t);
|
|
@@ -2053,7 +2053,7 @@ const wt = {
|
|
|
2053
2053
|
"collection-related-current-hint": "On the page of a record of “:target” the block shows what is related to it; on any other page it shows nothing."
|
|
2054
2054
|
}
|
|
2055
2055
|
}, xt = "webx.locale";
|
|
2056
|
-
function
|
|
2056
|
+
function Bn(e = {}) {
|
|
2057
2057
|
const t = e.manifestUrl ?? Ya() ?? "/api/cms/manifest", l = e.apiPath ?? t.replace(/\/manifest\/?$/, ""), n = e.basePath ?? "/cms", o = e.modules ?? [], i = [...e.routes ?? []];
|
|
2058
2058
|
for (const b of o)
|
|
2059
2059
|
i.push(...b.routes ?? []);
|
|
@@ -2069,7 +2069,7 @@ function En(e = {}) {
|
|
|
2069
2069
|
const s = Rt({
|
|
2070
2070
|
history: Ut(n),
|
|
2071
2071
|
routes: i
|
|
2072
|
-
}), r =
|
|
2072
|
+
}), r = Fe({ locale: e.locale ?? Ha() }), u = Fa(), d = e.http ?? bl({
|
|
2073
2073
|
baseUrl: "",
|
|
2074
2074
|
csrfUrl: `${l}/auth/csrf-cookie`,
|
|
2075
2075
|
onUnauthenticated: () => {
|
|
@@ -2184,14 +2184,14 @@ function Xa(e) {
|
|
|
2184
2184
|
const u = [];
|
|
2185
2185
|
for (n += 1; n < t.length && !/^```\s*$/.test(t[n] ?? ""); )
|
|
2186
2186
|
u.push(t[n] ?? ""), n += 1;
|
|
2187
|
-
n += 1, l.push(`<pre><code>${
|
|
2187
|
+
n += 1, l.push(`<pre><code>${ze(u.join(`
|
|
2188
2188
|
`))}</code></pre>`);
|
|
2189
2189
|
continue;
|
|
2190
2190
|
}
|
|
2191
2191
|
const s = /^(#{1,4})\s+(.*)$/.exec(o);
|
|
2192
2192
|
if (s) {
|
|
2193
2193
|
const u = Math.min(s[1].length + 1, 5);
|
|
2194
|
-
l.push(`<h${u}>${
|
|
2194
|
+
l.push(`<h${u}>${Ne(s[2] ?? "")}</h${u}>`), n += 1;
|
|
2195
2195
|
continue;
|
|
2196
2196
|
}
|
|
2197
2197
|
if (he(o)) {
|
|
@@ -2204,7 +2204,7 @@ function Xa(e) {
|
|
|
2204
2204
|
d[d.length - 1] += ` ${f.trim()}`, n += 1;
|
|
2205
2205
|
}
|
|
2206
2206
|
const h = u ? "ol" : "ul";
|
|
2207
|
-
l.push(`<${h}>${d.map((f) => `<li>${
|
|
2207
|
+
l.push(`<${h}>${d.map((f) => `<li>${Ne(f)}</li>`).join("")}</${h}>`);
|
|
2208
2208
|
continue;
|
|
2209
2209
|
}
|
|
2210
2210
|
const r = [];
|
|
@@ -2213,7 +2213,7 @@ function Xa(e) {
|
|
|
2213
2213
|
if (u.trim() === "" || he(u) || /^(#{1,4})\s/.test(u) || /^```/.test(u)) break;
|
|
2214
2214
|
r.push(u.trim()), n += 1;
|
|
2215
2215
|
}
|
|
2216
|
-
l.push(`<p>${
|
|
2216
|
+
l.push(`<p>${Ne(r.join(" "))}</p>`);
|
|
2217
2217
|
}
|
|
2218
2218
|
return l.join("");
|
|
2219
2219
|
}
|
|
@@ -2221,9 +2221,9 @@ const pe = "\0";
|
|
|
2221
2221
|
function he(e) {
|
|
2222
2222
|
return /^\s*(?:[-*+]|\d+[.)])\s+/.test(e);
|
|
2223
2223
|
}
|
|
2224
|
-
function
|
|
2225
|
-
const t = [], l = e.replace(/`([^`]+)`/g, (o, i) => (t.push(`<code>${
|
|
2226
|
-
return
|
|
2224
|
+
function Ne(e) {
|
|
2225
|
+
const t = [], l = e.replace(/`([^`]+)`/g, (o, i) => (t.push(`<code>${ze(i)}</code>`), `${pe}${t.length - 1}${pe}`));
|
|
2226
|
+
return ze(l).replace(
|
|
2227
2227
|
/\[([^\]]+)\]\((https?:\/\/[^\s)]+)\)/g,
|
|
2228
2228
|
'<a href="$2" target="_blank" rel="noopener">$1</a>'
|
|
2229
2229
|
).replace(/\*\*([^*]+)\*\*/g, "<strong>$1</strong>").replace(
|
|
@@ -2231,7 +2231,7 @@ function Le(e) {
|
|
|
2231
2231
|
(o, i) => t[Number(i)] ?? ""
|
|
2232
2232
|
);
|
|
2233
2233
|
}
|
|
2234
|
-
function
|
|
2234
|
+
function ze(e) {
|
|
2235
2235
|
return e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
2236
2236
|
}
|
|
2237
2237
|
function Ga(e) {
|
|
@@ -2247,7 +2247,7 @@ function Ga(e) {
|
|
|
2247
2247
|
const s = ye(i);
|
|
2248
2248
|
if (s === null)
|
|
2249
2249
|
return t("dates.never");
|
|
2250
|
-
const r = /* @__PURE__ */ new Date(), u =
|
|
2250
|
+
const r = /* @__PURE__ */ new Date(), u = Ze(s, r);
|
|
2251
2251
|
return u === 0 ? t("dates.today", { time: o(s) }) : u === -1 ? t("dates.yesterday", { time: o(s) }) : s.getFullYear() === r.getFullYear() ? n(
|
|
2252
2252
|
"this-year",
|
|
2253
2253
|
{
|
|
@@ -2265,7 +2265,7 @@ function Ga(e) {
|
|
|
2265
2265
|
if (s === null)
|
|
2266
2266
|
return t("dates.never");
|
|
2267
2267
|
const r = /* @__PURE__ */ new Date();
|
|
2268
|
-
return
|
|
2268
|
+
return Ze(s, r) === 0 ? o(s) : s.getFullYear() === r.getFullYear() ? n("compact", { day: "numeric", month: "short" }, s) : n("compact-earlier", { dateStyle: "short" }, s);
|
|
2269
2269
|
},
|
|
2270
2270
|
exact(i) {
|
|
2271
2271
|
const s = ye(i);
|
|
@@ -2278,12 +2278,12 @@ function Ga(e) {
|
|
|
2278
2278
|
};
|
|
2279
2279
|
}
|
|
2280
2280
|
function kt() {
|
|
2281
|
-
const e = se(
|
|
2281
|
+
const e = se(We, null);
|
|
2282
2282
|
return Ga(e ?? Ja());
|
|
2283
2283
|
}
|
|
2284
2284
|
let ge = null;
|
|
2285
2285
|
function Ja() {
|
|
2286
|
-
return ge === null && (ge =
|
|
2286
|
+
return ge === null && (ge = Fe(), ge.defaults("webx-admin", wt)), ge;
|
|
2287
2287
|
}
|
|
2288
2288
|
function ye(e) {
|
|
2289
2289
|
if (e == null || e === "")
|
|
@@ -2291,7 +2291,7 @@ function ye(e) {
|
|
|
2291
2291
|
const t = e instanceof Date ? e : new Date(e);
|
|
2292
2292
|
return Number.isNaN(t.getTime()) ? null : t;
|
|
2293
2293
|
}
|
|
2294
|
-
function
|
|
2294
|
+
function Ze(e, t) {
|
|
2295
2295
|
const l = (n) => Date.UTC(n.getFullYear(), n.getMonth(), n.getDate());
|
|
2296
2296
|
return Math.round((l(e) - l(t)) / 864e5);
|
|
2297
2297
|
}
|
|
@@ -2309,7 +2309,7 @@ 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
|
|
2312
|
+
function De() {
|
|
2313
2313
|
const e = O("webx-admin");
|
|
2314
2314
|
return (t, l) => Qa(t, e, l);
|
|
2315
2315
|
}
|
|
@@ -2321,7 +2321,13 @@ function en(e) {
|
|
|
2321
2321
|
const l = e?.body?.message;
|
|
2322
2322
|
return typeof l == "string" && l !== "" ? l : null;
|
|
2323
2323
|
}
|
|
2324
|
-
function tn(e
|
|
2324
|
+
function tn(e) {
|
|
2325
|
+
function t(l) {
|
|
2326
|
+
(l.target === document.body || l.target === document.documentElement) && e(l);
|
|
2327
|
+
}
|
|
2328
|
+
_e(() => window.addEventListener("keydown", t)), Be(() => window.removeEventListener("keydown", t));
|
|
2329
|
+
}
|
|
2330
|
+
function ln(e, t, l) {
|
|
2325
2331
|
const n = `${e.apiPath}/entities/${t}/${l}/notes`, o = (s) => `${e.apiPath}/notes/${s}`, i = (s) => s.data;
|
|
2326
2332
|
return {
|
|
2327
2333
|
list: () => e.http.get(n).then(i),
|
|
@@ -2332,17 +2338,17 @@ function tn(e, t, l) {
|
|
|
2332
2338
|
};
|
|
2333
2339
|
}
|
|
2334
2340
|
const _t = /* @__PURE__ */ Symbol("wx-category-editor");
|
|
2335
|
-
function
|
|
2336
|
-
|
|
2341
|
+
function an(e) {
|
|
2342
|
+
Ee(_t, e);
|
|
2337
2343
|
}
|
|
2338
|
-
function
|
|
2344
|
+
function Mn() {
|
|
2339
2345
|
return se(_t, null);
|
|
2340
2346
|
}
|
|
2341
|
-
function
|
|
2347
|
+
function nn(e) {
|
|
2342
2348
|
return (e.q ?? "").trim() !== "" || e.filtered ? "locked" : e.category == null ? "all" : "category";
|
|
2343
2349
|
}
|
|
2344
|
-
function
|
|
2345
|
-
const l = J(), n = O("webx-admin"), o = g(() =>
|
|
2350
|
+
function Pn(e, t) {
|
|
2351
|
+
const l = J(), n = O("webx-admin"), o = g(() => nn(t()));
|
|
2346
2352
|
return {
|
|
2347
2353
|
mode: o,
|
|
2348
2354
|
sortable: g(() => o.value !== "locked"),
|
|
@@ -2350,19 +2356,19 @@ function Mn(e, t) {
|
|
|
2350
2356
|
move: (i) => fl(l, e, i, o.value === "category" ? t().category ?? null : null)
|
|
2351
2357
|
};
|
|
2352
2358
|
}
|
|
2353
|
-
function
|
|
2359
|
+
function He(e = {}) {
|
|
2354
2360
|
const t = O("webx-admin");
|
|
2355
2361
|
return (l, n) => t(e[l] ?? `webx-admin::categories.${l}`, n);
|
|
2356
2362
|
}
|
|
2357
|
-
const
|
|
2363
|
+
const on = /* @__PURE__ */ M({
|
|
2358
2364
|
name: "WxCategoryCreateDialog",
|
|
2359
2365
|
__name: "CategoryCreateDialog",
|
|
2360
2366
|
props: {
|
|
2361
2367
|
options: {}
|
|
2362
2368
|
},
|
|
2363
2369
|
setup(e) {
|
|
2364
|
-
const t = e, { open: l, resolve: n, dismiss: o } = Jt(), i = ve(J(), t.options.api), s =
|
|
2365
|
-
|
|
2370
|
+
const t = e, { open: l, resolve: n, dismiss: o } = Jt(), i = ve(J(), t.options.api), s = He(t.options.words), r = L(""), u = L(!1), d = L({}), h = at("field");
|
|
2371
|
+
_e(async () => {
|
|
2366
2372
|
await Ie(), h.value?.querySelector("input")?.focus();
|
|
2367
2373
|
});
|
|
2368
2374
|
function f(c) {
|
|
@@ -2383,7 +2389,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2383
2389
|
}
|
|
2384
2390
|
return (c, x) => (m(), S(a(rt), {
|
|
2385
2391
|
open: a(l),
|
|
2386
|
-
"onUpdate:open": x[2] || (x[2] = (p) =>
|
|
2392
|
+
"onUpdate:open": x[2] || (x[2] = (p) => nt(l) ? l.value = p : null),
|
|
2387
2393
|
title: a(s)("new"),
|
|
2388
2394
|
width: 440
|
|
2389
2395
|
}, {
|
|
@@ -2425,11 +2431,11 @@ const nn = /* @__PURE__ */ M({
|
|
|
2425
2431
|
ref_key: "field",
|
|
2426
2432
|
ref: h
|
|
2427
2433
|
}, [
|
|
2428
|
-
w(a(
|
|
2434
|
+
w(a(Se), {
|
|
2429
2435
|
modelValue: r.value,
|
|
2430
2436
|
"onUpdate:modelValue": x[0] || (x[0] = (p) => r.value = p),
|
|
2431
2437
|
"aria-label": a(s)("field-title"),
|
|
2432
|
-
onKeyup:
|
|
2438
|
+
onKeyup: ot(v, ["enter"])
|
|
2433
2439
|
}, null, 8, ["modelValue", "aria-label"])
|
|
2434
2440
|
], 512)
|
|
2435
2441
|
]),
|
|
@@ -2439,16 +2445,16 @@ const nn = /* @__PURE__ */ M({
|
|
|
2439
2445
|
_: 1
|
|
2440
2446
|
}, 8, ["open", "title"]));
|
|
2441
2447
|
}
|
|
2442
|
-
}),
|
|
2448
|
+
}), sn = { class: "wx-category-row__name" }, rn = /* @__PURE__ */ M({
|
|
2443
2449
|
name: "WxCategoriesPage",
|
|
2444
2450
|
__name: "CategoriesPage",
|
|
2445
2451
|
props: {
|
|
2446
2452
|
options: {}
|
|
2447
2453
|
},
|
|
2448
2454
|
setup(e) {
|
|
2449
|
-
const t = e, l = J(), n = ve(l, t.options.api), o =
|
|
2455
|
+
const t = e, l = J(), n = ve(l, t.options.api), o = $e(), i = He(t.options.words), s = De(), r = L([]), u = L(!0), d = L(!0), h = g(() => l.can(t.options.manage)), f = g(
|
|
2450
2456
|
() => l.state.manifest?.modules.find((V) => V.id === t.options.module)?.title ?? ""
|
|
2451
|
-
), v = el(
|
|
2457
|
+
), v = el(on), c = g(
|
|
2452
2458
|
() => h.value ? [{ key: "new", label: i("new"), icon: "plus", primary: !0, run: () => {
|
|
2453
2459
|
T();
|
|
2454
2460
|
} }] : []
|
|
@@ -2537,7 +2543,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2537
2543
|
title: a(i)("empty"),
|
|
2538
2544
|
description: a(i)("empty-help")
|
|
2539
2545
|
}, null, 8, ["title", "description"])) : (m(), $(j, { key: 2 }, [
|
|
2540
|
-
w(a(
|
|
2546
|
+
w(a(Me), {
|
|
2541
2547
|
modelValue: r.value,
|
|
2542
2548
|
"onUpdate:modelValue": k[0] || (k[0] = (_) => r.value = _),
|
|
2543
2549
|
class: "wx-categories__list",
|
|
@@ -2553,7 +2559,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2553
2559
|
to: `${t.options.path}/${_.id}`
|
|
2554
2560
|
}, {
|
|
2555
2561
|
default: y(() => [
|
|
2556
|
-
B("span",
|
|
2562
|
+
B("span", sn, [
|
|
2557
2563
|
w(a(ee), {
|
|
2558
2564
|
truncate: "",
|
|
2559
2565
|
weight: "medium"
|
|
@@ -2568,7 +2574,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2568
2574
|
content: a(i)("hidden")
|
|
2569
2575
|
}, {
|
|
2570
2576
|
default: y(() => [
|
|
2571
|
-
w(a(
|
|
2577
|
+
w(a(Pe), {
|
|
2572
2578
|
name: "eye-off",
|
|
2573
2579
|
size: "sm"
|
|
2574
2580
|
})
|
|
@@ -2602,14 +2608,14 @@ const nn = /* @__PURE__ */ M({
|
|
|
2602
2608
|
]),
|
|
2603
2609
|
_: 2
|
|
2604
2610
|
}, 1024),
|
|
2605
|
-
w(
|
|
2611
|
+
w(Oe, {
|
|
2606
2612
|
actions: Q(_),
|
|
2607
2613
|
label: _.name
|
|
2608
2614
|
}, null, 8, ["actions", "label"])
|
|
2609
2615
|
]),
|
|
2610
2616
|
_: 1
|
|
2611
2617
|
}, 8, ["modelValue", "item-label", "disabled"]),
|
|
2612
|
-
w(a(
|
|
2618
|
+
w(a(Ce), {
|
|
2613
2619
|
class: "wx-categories__note",
|
|
2614
2620
|
type: "info",
|
|
2615
2621
|
description: a(i)("order")
|
|
@@ -2620,11 +2626,11 @@ const nn = /* @__PURE__ */ M({
|
|
|
2620
2626
|
}, 8, ["title", "actions"]);
|
|
2621
2627
|
};
|
|
2622
2628
|
}
|
|
2623
|
-
}),
|
|
2629
|
+
}), un = {
|
|
2624
2630
|
class: "wx-save-state",
|
|
2625
2631
|
role: "status",
|
|
2626
2632
|
"aria-live": "polite"
|
|
2627
|
-
},
|
|
2633
|
+
}, dn = /* @__PURE__ */ M({
|
|
2628
2634
|
__name: "SaveState",
|
|
2629
2635
|
props: {
|
|
2630
2636
|
state: {},
|
|
@@ -2644,10 +2650,10 @@ const nn = /* @__PURE__ */ M({
|
|
|
2644
2650
|
const i = g(
|
|
2645
2651
|
() => t.state === "saving" ? "saving" : n.value ? "saved" : null
|
|
2646
2652
|
);
|
|
2647
|
-
return
|
|
2653
|
+
return Be(() => {
|
|
2648
2654
|
o !== null && clearTimeout(o);
|
|
2649
|
-
}), (s, r) => (m(), $("span",
|
|
2650
|
-
i.value ? (m(), S(a(
|
|
2655
|
+
}), (s, r) => (m(), $("span", un, [
|
|
2656
|
+
i.value ? (m(), S(a(Pe), {
|
|
2651
2657
|
key: 0,
|
|
2652
2658
|
class: oe(["wx-save-state__mark", { "is-saved": i.value === "saved" }]),
|
|
2653
2659
|
name: i.value === "saving" ? "loader" : "check",
|
|
@@ -2656,7 +2662,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2656
2662
|
}, null, 8, ["class", "name", "spin", "label"])) : N("", !0)
|
|
2657
2663
|
]));
|
|
2658
2664
|
}
|
|
2659
|
-
}),
|
|
2665
|
+
}), cn = /* @__PURE__ */ G(dn, [["__scopeId", "data-v-216e5e44"]]), mn = { class: "wx-screen-host" }, fn = /* @__PURE__ */ M({
|
|
2660
2666
|
__name: "Screen",
|
|
2661
2667
|
props: /* @__PURE__ */ ne({
|
|
2662
2668
|
name: {},
|
|
@@ -2671,7 +2677,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2671
2677
|
}),
|
|
2672
2678
|
emits: /* @__PURE__ */ ne(["loaded"], ["update:modelValue"]),
|
|
2673
2679
|
setup(e, { expose: t, emit: l }) {
|
|
2674
|
-
const n = e, o = l, i =
|
|
2680
|
+
const n = e, o = l, i = ue(e, "modelValue"), s = J(), r = O("webx-admin"), u = L(null), d = L(null);
|
|
2675
2681
|
async function h() {
|
|
2676
2682
|
u.value = null, d.value = null;
|
|
2677
2683
|
try {
|
|
@@ -2683,8 +2689,8 @@ const nn = /* @__PURE__ */ M({
|
|
|
2683
2689
|
}
|
|
2684
2690
|
return te([() => n.name, () => s.i18n.state.locale], () => {
|
|
2685
2691
|
h();
|
|
2686
|
-
}, { immediate: !0 }), t({ reload: h }), (f, v) => (m(), $("div",
|
|
2687
|
-
d.value ? (m(), S(a(
|
|
2692
|
+
}, { immediate: !0 }), t({ reload: h }), (f, v) => (m(), $("div", mn, [
|
|
2693
|
+
d.value ? (m(), S(a(Ce), {
|
|
2688
2694
|
key: 0,
|
|
2689
2695
|
type: "danger",
|
|
2690
2696
|
title: a(r)("shell.error-title"),
|
|
@@ -2709,34 +2715,34 @@ const nn = /* @__PURE__ */ M({
|
|
|
2709
2715
|
}, null, 8, ["modelValue", "root", "patch", "types", "errors", "translate", "can", "disabled", "label-position", "label-width", "size"]))
|
|
2710
2716
|
]));
|
|
2711
2717
|
}
|
|
2712
|
-
}),
|
|
2718
|
+
}), vn = /* @__PURE__ */ M({
|
|
2713
2719
|
name: "WxCategoryEditorPage",
|
|
2714
2720
|
__name: "CategoryEditorPage",
|
|
2715
2721
|
props: {
|
|
2716
2722
|
options: {}
|
|
2717
2723
|
},
|
|
2718
2724
|
setup(e) {
|
|
2719
|
-
const t = e, l = J(), n = ve(l, t.options.api), o = st(), i =
|
|
2720
|
-
() => l.state.manifest?.modules.find((
|
|
2725
|
+
const t = e, l = J(), n = ve(l, t.options.api), o = st(), i = $e(), s = it(), r = He(t.options.words), u = De(), 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(
|
|
2726
|
+
() => l.state.manifest?.modules.find((I) => I.id === t.options.module)?.title ?? ""
|
|
2721
2727
|
), C = g(() => {
|
|
2722
|
-
const
|
|
2723
|
-
return tl(
|
|
2728
|
+
const I = v.value.title;
|
|
2729
|
+
return tl(I, s.active.value, f.value?.name ?? "") || r("untitled");
|
|
2724
2730
|
});
|
|
2725
|
-
|
|
2731
|
+
an({ category: f, values: v, prefix: c, moving: () => r("address-moving") }), ya({
|
|
2726
2732
|
values: v,
|
|
2727
2733
|
prefix: c,
|
|
2728
2734
|
path: g(() => f.value?.path),
|
|
2729
2735
|
moving: () => r("address-moving")
|
|
2730
2736
|
});
|
|
2731
|
-
function _(
|
|
2732
|
-
f.value =
|
|
2737
|
+
function _(I) {
|
|
2738
|
+
f.value = I.category, v.value = I.values, c.value = I.prefix, x.value = JSON.stringify(I.values);
|
|
2733
2739
|
}
|
|
2734
2740
|
async function q() {
|
|
2735
2741
|
p.value = !0;
|
|
2736
2742
|
try {
|
|
2737
2743
|
_(await n.get(d.value));
|
|
2738
|
-
} catch (
|
|
2739
|
-
K.danger(u(
|
|
2744
|
+
} catch (I) {
|
|
2745
|
+
K.danger(u(I)), i.push(h.value);
|
|
2740
2746
|
} finally {
|
|
2741
2747
|
p.value = !1;
|
|
2742
2748
|
}
|
|
@@ -2746,41 +2752,41 @@ const nn = /* @__PURE__ */ M({
|
|
|
2746
2752
|
b.value = !0, T.value = {};
|
|
2747
2753
|
try {
|
|
2748
2754
|
_(await n.save(f.value.id, v.value)), K.success(r("saved"));
|
|
2749
|
-
} catch (
|
|
2750
|
-
const Z =
|
|
2751
|
-
Z?.errors ? (T.value = Z.errors, K.danger(r("save-failed"))) : K.danger(u(
|
|
2755
|
+
} catch (I) {
|
|
2756
|
+
const Z = I.body;
|
|
2757
|
+
Z?.errors ? (T.value = Z.errors, K.danger(r("save-failed"))) : K.danger(u(I));
|
|
2752
2758
|
} finally {
|
|
2753
2759
|
b.value = !1;
|
|
2754
2760
|
}
|
|
2755
2761
|
}
|
|
2756
2762
|
}
|
|
2757
2763
|
async function U() {
|
|
2758
|
-
const
|
|
2759
|
-
if (!(!
|
|
2760
|
-
title: r("delete-title", { name:
|
|
2764
|
+
const I = f.value;
|
|
2765
|
+
if (!(!I || !await xe({
|
|
2766
|
+
title: r("delete-title", { name: I.name }),
|
|
2761
2767
|
message: r("delete-text"),
|
|
2762
2768
|
confirmText: r("delete"),
|
|
2763
2769
|
cancelText: r("cancel"),
|
|
2764
2770
|
tone: "danger"
|
|
2765
2771
|
})))
|
|
2766
2772
|
try {
|
|
2767
|
-
await n.remove(
|
|
2773
|
+
await n.remove(I.id), K.success(r("deleted")), x.value = Q.value, i.push(h.value);
|
|
2768
2774
|
} catch (W) {
|
|
2769
2775
|
K.danger(u(W));
|
|
2770
2776
|
}
|
|
2771
2777
|
}
|
|
2772
|
-
function I
|
|
2773
|
-
H.value &&
|
|
2778
|
+
function E(I) {
|
|
2779
|
+
H.value && I.preventDefault();
|
|
2774
2780
|
}
|
|
2775
|
-
function
|
|
2776
|
-
(
|
|
2781
|
+
function ie(I) {
|
|
2782
|
+
(I.ctrlKey || I.metaKey) && I.key.toLowerCase() === "s" && (I.preventDefault(), H.value && R());
|
|
2777
2783
|
}
|
|
2778
|
-
te(d, () => {
|
|
2784
|
+
tn(ie), te(d, () => {
|
|
2779
2785
|
q();
|
|
2780
|
-
}),
|
|
2781
|
-
q(), window.addEventListener("beforeunload",
|
|
2782
|
-
}),
|
|
2783
|
-
window.removeEventListener("beforeunload",
|
|
2786
|
+
}), _e(() => {
|
|
2787
|
+
q(), window.addEventListener("beforeunload", E);
|
|
2788
|
+
}), Be(() => {
|
|
2789
|
+
window.removeEventListener("beforeunload", E);
|
|
2784
2790
|
}), zt(async () => !H.value || !F.value ? !0 : await xe({
|
|
2785
2791
|
title: r("leave-title"),
|
|
2786
2792
|
message: r("leave-text"),
|
|
@@ -2788,9 +2794,9 @@ const nn = /* @__PURE__ */ M({
|
|
|
2788
2794
|
cancelText: r("cancel"),
|
|
2789
2795
|
tone: "danger"
|
|
2790
2796
|
}));
|
|
2791
|
-
const
|
|
2792
|
-
const
|
|
2793
|
-
return
|
|
2797
|
+
const re = g(() => {
|
|
2798
|
+
const I = f.value, Z = [];
|
|
2799
|
+
return I && (I.url && I.is_visible && Z.push({ key: "site", label: r("open-on-site"), icon: "link", href: I.url }), F.value && Z.push({
|
|
2794
2800
|
key: "delete",
|
|
2795
2801
|
label: r("delete"),
|
|
2796
2802
|
icon: "trash",
|
|
@@ -2801,9 +2807,9 @@ const nn = /* @__PURE__ */ M({
|
|
|
2801
2807
|
}
|
|
2802
2808
|
})), Z;
|
|
2803
2809
|
});
|
|
2804
|
-
return (
|
|
2810
|
+
return (I, Z) => (m(), $("div", {
|
|
2805
2811
|
class: "wx-category-editor",
|
|
2806
|
-
onKeydown:
|
|
2812
|
+
onKeydown: ie
|
|
2807
2813
|
}, [
|
|
2808
2814
|
p.value || !f.value ? (m(), $(j, { key: 0 }, [
|
|
2809
2815
|
w(a(me), {
|
|
@@ -2811,7 +2817,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2811
2817
|
title: "",
|
|
2812
2818
|
rows: 1
|
|
2813
2819
|
}),
|
|
2814
|
-
w(a(
|
|
2820
|
+
w(a(Ue), null, {
|
|
2815
2821
|
default: y(() => [
|
|
2816
2822
|
w(a(me), { rows: 6 })
|
|
2817
2823
|
]),
|
|
@@ -2824,7 +2830,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2824
2830
|
"back-label": k.value,
|
|
2825
2831
|
title: C.value,
|
|
2826
2832
|
subtitle: f.value.path === null ? void 0 : `/${f.value.path}`,
|
|
2827
|
-
actions:
|
|
2833
|
+
actions: re.value
|
|
2828
2834
|
}, ke({
|
|
2829
2835
|
trail: y(() => [
|
|
2830
2836
|
w(a(ll), {
|
|
@@ -2832,7 +2838,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2832
2838
|
label: a(r)("trail")
|
|
2833
2839
|
}, {
|
|
2834
2840
|
default: y(() => [
|
|
2835
|
-
w(a(
|
|
2841
|
+
w(a(Ke), {
|
|
2836
2842
|
as: "router-link",
|
|
2837
2843
|
to: h.value
|
|
2838
2844
|
}, {
|
|
@@ -2841,7 +2847,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2841
2847
|
]),
|
|
2842
2848
|
_: 1
|
|
2843
2849
|
}, 8, ["to"]),
|
|
2844
|
-
w(a(
|
|
2850
|
+
w(a(Ke), { current: "" }, {
|
|
2845
2851
|
default: y(() => [
|
|
2846
2852
|
z(A(C.value), 1)
|
|
2847
2853
|
]),
|
|
@@ -2856,7 +2862,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2856
2862
|
f.value.is_visible ? void 0 : {
|
|
2857
2863
|
name: "title-after",
|
|
2858
2864
|
fn: y(() => [
|
|
2859
|
-
w(a(
|
|
2865
|
+
w(a(Te), { dot: "" }, {
|
|
2860
2866
|
default: y(() => [
|
|
2861
2867
|
z(A(a(r)("hidden")), 1)
|
|
2862
2868
|
]),
|
|
@@ -2866,7 +2872,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2866
2872
|
key: "0"
|
|
2867
2873
|
}
|
|
2868
2874
|
]), 1032, ["back", "back-label", "title", "subtitle", "actions"]),
|
|
2869
|
-
w(
|
|
2875
|
+
w(fn, {
|
|
2870
2876
|
modelValue: v.value,
|
|
2871
2877
|
"onUpdate:modelValue": Z[0] || (Z[0] = (W) => v.value = W),
|
|
2872
2878
|
name: t.options.screen,
|
|
@@ -2875,7 +2881,7 @@ const nn = /* @__PURE__ */ M({
|
|
|
2875
2881
|
}, null, 8, ["modelValue", "name", "errors", "disabled"]),
|
|
2876
2882
|
F.value ? (m(), S(a(al), { key: 0 }, {
|
|
2877
2883
|
state: y(() => [
|
|
2878
|
-
w(
|
|
2884
|
+
w(cn, { state: V.value }, null, 8, ["state"])
|
|
2879
2885
|
]),
|
|
2880
2886
|
default: y(() => [
|
|
2881
2887
|
w(a(le), {
|
|
@@ -2895,30 +2901,30 @@ const nn = /* @__PURE__ */ M({
|
|
|
2895
2901
|
], 64))
|
|
2896
2902
|
], 32));
|
|
2897
2903
|
}
|
|
2898
|
-
}),
|
|
2899
|
-
function
|
|
2904
|
+
}), pn = /* @__PURE__ */ G(vn, [["__scopeId", "data-v-b9c461a6"]]);
|
|
2905
|
+
function et(e, t) {
|
|
2900
2906
|
return M({
|
|
2901
2907
|
name: "WxCategoriesView",
|
|
2902
2908
|
setup: () => () => ce(e, { options: t })
|
|
2903
2909
|
});
|
|
2904
2910
|
}
|
|
2905
|
-
function
|
|
2911
|
+
function Fn(e) {
|
|
2906
2912
|
return [
|
|
2907
|
-
{ path: e.path, name: e.name, component:
|
|
2913
|
+
{ path: e.path, name: e.name, component: et(rn, e) },
|
|
2908
2914
|
{
|
|
2909
2915
|
path: `${e.path}/:id(\\d+)`,
|
|
2910
2916
|
name: `${e.name}.edit`,
|
|
2911
|
-
component:
|
|
2917
|
+
component: et(pn, e)
|
|
2912
2918
|
}
|
|
2913
2919
|
];
|
|
2914
2920
|
}
|
|
2915
|
-
const
|
|
2921
|
+
const On = 76, Dn = /* @__PURE__ */ M({
|
|
2916
2922
|
__name: "FilterChips",
|
|
2917
2923
|
props: {
|
|
2918
2924
|
filters: {}
|
|
2919
2925
|
},
|
|
2920
2926
|
setup(e) {
|
|
2921
|
-
return (t, l) => (m(!0), $(j, null, ae(e.filters, (n) => (m(), S(a(
|
|
2927
|
+
return (t, l) => (m(!0), $(j, null, ae(e.filters, (n) => (m(), S(a(Te), {
|
|
2922
2928
|
key: n.key,
|
|
2923
2929
|
class: "wx-filter-chip",
|
|
2924
2930
|
size: "sm",
|
|
@@ -2932,7 +2938,7 @@ const Fn = 76, On = /* @__PURE__ */ M({
|
|
|
2932
2938
|
_: 2
|
|
2933
2939
|
}, 1032, ["onClose"]))), 128));
|
|
2934
2940
|
}
|
|
2935
|
-
}),
|
|
2941
|
+
}), hn = { class: "wx-rename__footer" }, gn = /* @__PURE__ */ M({
|
|
2936
2942
|
__name: "RenameButton",
|
|
2937
2943
|
props: {
|
|
2938
2944
|
name: { default: "" },
|
|
@@ -2965,7 +2971,7 @@ const Fn = 76, On = /* @__PURE__ */ M({
|
|
|
2965
2971
|
teleport: ""
|
|
2966
2972
|
}, {
|
|
2967
2973
|
trigger: y(() => [
|
|
2968
|
-
w(a(
|
|
2974
|
+
w(a(de), {
|
|
2969
2975
|
type: "edit",
|
|
2970
2976
|
title: u.value,
|
|
2971
2977
|
size: e.size,
|
|
@@ -2975,18 +2981,18 @@ const Fn = 76, On = /* @__PURE__ */ M({
|
|
|
2975
2981
|
default: y(() => [
|
|
2976
2982
|
B("form", {
|
|
2977
2983
|
class: "wx-rename",
|
|
2978
|
-
onSubmit:
|
|
2984
|
+
onSubmit: lt(d, ["prevent"])
|
|
2979
2985
|
}, [
|
|
2980
|
-
w(a(
|
|
2986
|
+
w(a(Se), {
|
|
2981
2987
|
ref_key: "field",
|
|
2982
2988
|
ref: r,
|
|
2983
2989
|
modelValue: s.value,
|
|
2984
2990
|
"onUpdate:modelValue": f[0] || (f[0] = (v) => s.value = v),
|
|
2985
2991
|
"aria-label": u.value,
|
|
2986
2992
|
placeholder: e.placeholder,
|
|
2987
|
-
onKeydown: f[1] || (f[1] =
|
|
2993
|
+
onKeydown: f[1] || (f[1] = ot((v) => i.value = !1, ["esc"]))
|
|
2988
2994
|
}, null, 8, ["modelValue", "aria-label", "placeholder"]),
|
|
2989
|
-
B("div",
|
|
2995
|
+
B("div", hn, [
|
|
2990
2996
|
w(a(le), {
|
|
2991
2997
|
type: "primary",
|
|
2992
2998
|
size: "sm",
|
|
@@ -3003,7 +3009,7 @@ const Fn = 76, On = /* @__PURE__ */ M({
|
|
|
3003
3009
|
_: 1
|
|
3004
3010
|
}, 8, ["open", "title"]));
|
|
3005
3011
|
}
|
|
3006
|
-
}),
|
|
3012
|
+
}), Hn = /* @__PURE__ */ G(gn, [["__scopeId", "data-v-d879e8d3"]]), yn = ["innerHTML"], bn = /* @__PURE__ */ M({
|
|
3007
3013
|
__name: "HelpButton",
|
|
3008
3014
|
props: {
|
|
3009
3015
|
body: {},
|
|
@@ -3015,7 +3021,7 @@ const Fn = 76, On = /* @__PURE__ */ M({
|
|
|
3015
3021
|
setup(e) {
|
|
3016
3022
|
const t = e, l = O("webx-admin"), n = L(!1), o = g(() => t.title ?? l("help.title")), i = g(() => Xa(t.body));
|
|
3017
3023
|
return (s, r) => (m(), $(j, null, [
|
|
3018
|
-
w(a(
|
|
3024
|
+
w(a(de), {
|
|
3019
3025
|
type: "details",
|
|
3020
3026
|
icon: "question",
|
|
3021
3027
|
tone: "neutral",
|
|
@@ -3033,13 +3039,13 @@ const Fn = 76, On = /* @__PURE__ */ M({
|
|
|
3033
3039
|
B("div", {
|
|
3034
3040
|
class: "wx-help",
|
|
3035
3041
|
innerHTML: i.value
|
|
3036
|
-
}, null, 8,
|
|
3042
|
+
}, null, 8, yn)
|
|
3037
3043
|
]),
|
|
3038
3044
|
_: 1
|
|
3039
3045
|
}, 8, ["open", "title", "width"])
|
|
3040
3046
|
], 64));
|
|
3041
3047
|
}
|
|
3042
|
-
}),
|
|
3048
|
+
}), jn = /* @__PURE__ */ G(bn, [["__scopeId", "data-v-6c280d42"]]), $t = /* @__PURE__ */ M({
|
|
3043
3049
|
name: "WxDate",
|
|
3044
3050
|
__name: "DateText",
|
|
3045
3051
|
props: {
|
|
@@ -3079,16 +3085,16 @@ const Fn = 76, On = /* @__PURE__ */ M({
|
|
|
3079
3085
|
_: 1
|
|
3080
3086
|
}, 8, ["size", "tone"]));
|
|
3081
3087
|
}
|
|
3082
|
-
}),
|
|
3088
|
+
}), wn = { class: "wx-notes" }, xn = {
|
|
3083
3089
|
key: 3,
|
|
3084
3090
|
class: "wx-notes__list"
|
|
3085
|
-
},
|
|
3091
|
+
}, kn = { class: "wx-note__body" }, _n = { class: "wx-note__head" }, $n = { class: "wx-note__buttons" }, Tn = {
|
|
3086
3092
|
key: 1,
|
|
3087
3093
|
class: "wx-note__text"
|
|
3088
|
-
},
|
|
3094
|
+
}, Sn = {
|
|
3089
3095
|
key: 4,
|
|
3090
3096
|
class: "wx-notes__new"
|
|
3091
|
-
},
|
|
3097
|
+
}, Cn = /* @__PURE__ */ M({
|
|
3092
3098
|
name: "WxNotes",
|
|
3093
3099
|
__name: "NotesFeed",
|
|
3094
3100
|
props: {
|
|
@@ -3099,7 +3105,7 @@ const Fn = 76, On = /* @__PURE__ */ M({
|
|
|
3099
3105
|
},
|
|
3100
3106
|
emits: ["change"],
|
|
3101
3107
|
setup(e, { emit: t }) {
|
|
3102
|
-
const l = e, n = t, o = J(), i = O("webx-admin"), s =
|
|
3108
|
+
const l = e, n = t, o = J(), i = O("webx-admin"), s = De(), r = L([]), u = L(!0), d = L(""), h = L(!1), f = L(null), v = L(""), c = g(() => ln(o, l.type, l.id)), x = g(() => l.title ?? i("notes.title"));
|
|
3103
3109
|
async function p() {
|
|
3104
3110
|
u.value = !0;
|
|
3105
3111
|
try {
|
|
@@ -3174,7 +3180,7 @@ const Fn = 76, On = /* @__PURE__ */ M({
|
|
|
3174
3180
|
function V(k) {
|
|
3175
3181
|
return k.author?.name ?? i("notes.unknown-author");
|
|
3176
3182
|
}
|
|
3177
|
-
return (k, C) => (m(), $("section",
|
|
3183
|
+
return (k, C) => (m(), $("section", wn, [
|
|
3178
3184
|
x.value ? (m(), S(a(ee), {
|
|
3179
3185
|
key: 0,
|
|
3180
3186
|
weight: "medium",
|
|
@@ -3192,7 +3198,7 @@ const Fn = 76, On = /* @__PURE__ */ M({
|
|
|
3192
3198
|
key: 2,
|
|
3193
3199
|
size: "sm",
|
|
3194
3200
|
description: a(i)("notes.empty")
|
|
3195
|
-
}, null, 8, ["description"])) : (m(), $("ul",
|
|
3201
|
+
}, null, 8, ["description"])) : (m(), $("ul", xn, [
|
|
3196
3202
|
(m(!0), $(j, null, ae(r.value, (_) => (m(), $("li", {
|
|
3197
3203
|
key: _.id,
|
|
3198
3204
|
class: "wx-note"
|
|
@@ -3202,8 +3208,8 @@ const Fn = 76, On = /* @__PURE__ */ M({
|
|
|
3202
3208
|
size: "sm",
|
|
3203
3209
|
tone: "auto"
|
|
3204
3210
|
}, null, 8, ["name"]),
|
|
3205
|
-
B("div",
|
|
3206
|
-
B("div",
|
|
3211
|
+
B("div", kn, [
|
|
3212
|
+
B("div", _n, [
|
|
3207
3213
|
w(a(ee), {
|
|
3208
3214
|
size: "sm",
|
|
3209
3215
|
weight: "medium",
|
|
@@ -3217,18 +3223,18 @@ const Fn = 76, On = /* @__PURE__ */ M({
|
|
|
3217
3223
|
w($t, {
|
|
3218
3224
|
value: _.created_at
|
|
3219
3225
|
}, null, 8, ["value"]),
|
|
3220
|
-
w(
|
|
3226
|
+
w(Oe, {
|
|
3221
3227
|
actions: H(_),
|
|
3222
3228
|
label: V(_)
|
|
3223
3229
|
}, null, 8, ["actions", "label"])
|
|
3224
3230
|
]),
|
|
3225
3231
|
f.value === _.id ? (m(), $(j, { key: 0 }, [
|
|
3226
|
-
w(a(
|
|
3232
|
+
w(a(qe), {
|
|
3227
3233
|
modelValue: v.value,
|
|
3228
3234
|
"onUpdate:modelValue": C[0] || (C[0] = (q) => v.value = q),
|
|
3229
3235
|
autosize: { minRows: 2, maxRows: 10 }
|
|
3230
3236
|
}, null, 8, ["modelValue"]),
|
|
3231
|
-
B("div",
|
|
3237
|
+
B("div", $n, [
|
|
3232
3238
|
w(a(le), {
|
|
3233
3239
|
size: "sm",
|
|
3234
3240
|
type: "primary",
|
|
@@ -3250,12 +3256,12 @@ const Fn = 76, On = /* @__PURE__ */ M({
|
|
|
3250
3256
|
_: 1
|
|
3251
3257
|
})
|
|
3252
3258
|
])
|
|
3253
|
-
], 64)) : (m(), $("p",
|
|
3259
|
+
], 64)) : (m(), $("p", Tn, A(_.body), 1))
|
|
3254
3260
|
])
|
|
3255
3261
|
]))), 128))
|
|
3256
3262
|
])),
|
|
3257
|
-
e.can ? (m(), $("div",
|
|
3258
|
-
w(a(
|
|
3263
|
+
e.can ? (m(), $("div", Sn, [
|
|
3264
|
+
w(a(qe), {
|
|
3259
3265
|
modelValue: d.value,
|
|
3260
3266
|
"onUpdate:modelValue": C[2] || (C[2] = (_) => d.value = _),
|
|
3261
3267
|
placeholder: a(i)("notes.placeholder"),
|
|
@@ -3276,10 +3282,10 @@ const Fn = 76, On = /* @__PURE__ */ M({
|
|
|
3276
3282
|
])) : N("", !0)
|
|
3277
3283
|
]));
|
|
3278
3284
|
}
|
|
3279
|
-
}),
|
|
3285
|
+
}), Kn = /* @__PURE__ */ G(Cn, [["__scopeId", "data-v-71004c1a"]]), Wn = {
|
|
3280
3286
|
key: 1,
|
|
3281
3287
|
class: "wx-backup-note"
|
|
3282
|
-
},
|
|
3288
|
+
}, An = 48, Vn = /* @__PURE__ */ M({
|
|
3283
3289
|
name: "WxBackupNote",
|
|
3284
3290
|
__name: "BackupNote",
|
|
3285
3291
|
setup(e) {
|
|
@@ -3287,7 +3293,7 @@ const Fn = 76, On = /* @__PURE__ */ M({
|
|
|
3287
3293
|
const d = o.value?.at;
|
|
3288
3294
|
if (d == null) return !0;
|
|
3289
3295
|
const h = new Date(d).getTime();
|
|
3290
|
-
return Number.isNaN(h) || Date.now() - h >
|
|
3296
|
+
return Number.isNaN(h) || Date.now() - h > An * 36e5;
|
|
3291
3297
|
}), r = g(() => {
|
|
3292
3298
|
const d = o.value?.bytes;
|
|
3293
3299
|
if (d == null) return "";
|
|
@@ -3304,12 +3310,12 @@ const Fn = 76, On = /* @__PURE__ */ M({
|
|
|
3304
3310
|
}), u = g(
|
|
3305
3311
|
() => o.value?.at == null ? n("backup.never") : n("backup.stale", { date: l.short(o.value.at) })
|
|
3306
3312
|
);
|
|
3307
|
-
return (d, h) => i.value && s.value ? (m(), S(a(
|
|
3313
|
+
return (d, h) => i.value && s.value ? (m(), S(a(Ce), {
|
|
3308
3314
|
key: 0,
|
|
3309
3315
|
type: "warning",
|
|
3310
3316
|
variant: "soft",
|
|
3311
3317
|
description: u.value
|
|
3312
|
-
}, null, 8, ["description"])) : i.value ? (m(), $("p",
|
|
3318
|
+
}, null, 8, ["description"])) : i.value ? (m(), $("p", Wn, [
|
|
3313
3319
|
w(a(ee), {
|
|
3314
3320
|
size: "sm",
|
|
3315
3321
|
tone: "muted"
|
|
@@ -3334,7 +3340,7 @@ const Fn = 76, On = /* @__PURE__ */ M({
|
|
|
3334
3340
|
})) : N("", !0)
|
|
3335
3341
|
])) : N("", !0);
|
|
3336
3342
|
}
|
|
3337
|
-
}),
|
|
3343
|
+
}), qn = /* @__PURE__ */ G(Vn, [["__scopeId", "data-v-beeee67e"]]);
|
|
3338
3344
|
export {
|
|
3339
3345
|
Ca as AdminLanding,
|
|
3340
3346
|
Wa as AdminNav,
|
|
@@ -3342,69 +3348,70 @@ export {
|
|
|
3342
3348
|
ft as COLLECTION_MAX_LIMIT,
|
|
3343
3349
|
fe as HttpError,
|
|
3344
3350
|
ia as WxBackButton,
|
|
3345
|
-
|
|
3351
|
+
qn as WxBackupNote,
|
|
3346
3352
|
gl as WxCategoriesField,
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
|
|
3353
|
+
rn as WxCategoriesPage,
|
|
3354
|
+
on as WxCategoryCreateDialog,
|
|
3355
|
+
pn as WxCategoryEditorPage,
|
|
3356
|
+
Je as WxCategorySlug,
|
|
3351
3357
|
Xl as WxCollectionField,
|
|
3352
3358
|
$t as WxDate,
|
|
3353
|
-
|
|
3354
|
-
|
|
3359
|
+
Dn as WxFilterChips,
|
|
3360
|
+
jn as WxHelpButton,
|
|
3355
3361
|
sa as WxLinkField,
|
|
3356
3362
|
oa as WxLinkPicker,
|
|
3357
3363
|
ht as WxListScreen,
|
|
3358
|
-
|
|
3364
|
+
Kn as WxNotes,
|
|
3359
3365
|
mt as WxRelationsField,
|
|
3360
|
-
|
|
3366
|
+
Hn as WxRenameButton,
|
|
3361
3367
|
ga as WxRichTextField,
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
|
|
3368
|
+
Oe as WxRowMenu,
|
|
3369
|
+
cn as WxSaveState,
|
|
3370
|
+
fn as WxScreen,
|
|
3365
3371
|
pt as WxScreenHead,
|
|
3366
|
-
|
|
3372
|
+
Je as WxSlugField,
|
|
3367
3373
|
yt as adminKey,
|
|
3368
3374
|
wt as adminMessages,
|
|
3369
3375
|
_a as adminTypes,
|
|
3370
|
-
|
|
3376
|
+
Fn as categoryRoutes,
|
|
3371
3377
|
Nl as collectionSources,
|
|
3372
|
-
|
|
3378
|
+
Bn as createAdmin,
|
|
3373
3379
|
$a as createAdminContext,
|
|
3374
3380
|
ve as createCategoriesApi,
|
|
3375
3381
|
Ga as createDates,
|
|
3376
3382
|
bl as createHttp,
|
|
3377
|
-
|
|
3383
|
+
Fe as createI18n,
|
|
3378
3384
|
Jl as createLinksApi,
|
|
3379
|
-
|
|
3385
|
+
ln as createNotesApi,
|
|
3380
3386
|
kl as createRelationsApi,
|
|
3381
3387
|
Fa as createTheme,
|
|
3382
|
-
|
|
3388
|
+
Ge as defaultMarkup,
|
|
3383
3389
|
Gl as emptyLink,
|
|
3384
3390
|
Qa as errorText,
|
|
3385
|
-
|
|
3386
|
-
|
|
3387
|
-
|
|
3391
|
+
We as i18nKey,
|
|
3392
|
+
nn as itemOrderMode,
|
|
3393
|
+
Xe as normaliseCollection,
|
|
3388
3394
|
_l as normaliseRelations,
|
|
3389
3395
|
Ta as provideAdmin,
|
|
3390
3396
|
cl as provideI18n,
|
|
3391
3397
|
ya as provideRecordAddress,
|
|
3392
|
-
|
|
3398
|
+
En as provideRelationOwner,
|
|
3393
3399
|
Pa as provideTheme,
|
|
3394
|
-
|
|
3400
|
+
Ye as readCookie,
|
|
3395
3401
|
gt as recordAddressKey,
|
|
3396
3402
|
ct as relationOwnerKey,
|
|
3397
3403
|
Xa as renderMarkdown,
|
|
3398
3404
|
fl as reorderItems,
|
|
3399
|
-
|
|
3405
|
+
On as rowMenuWidth,
|
|
3400
3406
|
bt as themeKey,
|
|
3401
3407
|
J as useAdmin,
|
|
3402
|
-
|
|
3403
|
-
|
|
3408
|
+
tn as useBodyKeys,
|
|
3409
|
+
Mn as useCategoryEditor,
|
|
3410
|
+
He as useCategoryWords,
|
|
3404
3411
|
kt as useDates,
|
|
3405
|
-
|
|
3412
|
+
De as useErrorText,
|
|
3406
3413
|
dl as useI18n,
|
|
3407
|
-
|
|
3414
|
+
Pn as useItemOrder,
|
|
3408
3415
|
ba as useRecordAddress,
|
|
3409
3416
|
$l as useRelationOwner,
|
|
3410
3417
|
In as useTheme,
|