@webx-ui/module-admin 0.15.0 → 0.16.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/address.d.ts +25 -0
- package/dist/categories/editor.d.ts +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +383 -356
- package/dist/index.js.map +1 -1
- package/dist/screenTypes.d.ts +4 -3
- package/dist/style.css +1 -1
- package/package.json +3 -3
- /package/dist/{categories/CategorySlug.d.ts → SlugField.d.ts} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { inject as
|
|
2
|
-
import { RouterLink as
|
|
3
|
-
import { WxSortableList as
|
|
4
|
-
import { watchSystemTheme as
|
|
5
|
-
import { WxScreenRenderer as
|
|
1
|
+
import { inject as ne, reactive as pe, defineComponent as R, useModel as de, ref as W, watch as ee, computed as x, openBlock as p, createElementBlock as T, createVNode as b, unref as n, withCtx as g, createElementVNode as O, toDisplayString as L, createBlock as $, createTextVNode as V, createCommentVNode as U, mergeModels as oe, onMounted as Le, Fragment as H, renderList as Q, mergeProps as Ke, withModifiers as qe, useSlots as gt, useTemplateRef as Ye, normalizeClass as ae, renderSlot as F, createSlots as Ae, provide as Xe, normalizeProps as yt, guardReactiveProps as bt, resolveComponent as j, watchEffect as wt, onUnmounted as xt, isRef as Ge, createApp as kt, h as re, nextTick as Je, withKeys as Qe, onBeforeUnmount as Ze } from "vue";
|
|
2
|
+
import { RouterLink as _t, useRouter as ge, useRoute as et, createRouter as $t, createWebHistory as Tt, onBeforeRouteLeave as St } from "vue-router";
|
|
3
|
+
import { WxSortableList as tt, WxAction as se, WxBadge as ze, WxSelect as at, WxSegmented as Ct, WxAutocomplete as Be, WxText as G, WxInput as ye, WxCheckbox as Ie, WxActions as Wt, WxDropdownItem as Lt, useElementWidth as At, WxHeading as zt, WxButton as Z, WxIcon as Ve, WxTabs as Vt, WxCard as Se, WxRichText as Et, useLocales as nt, WxAlert as be, WxResult as Ut, useResponsiveShell as Rt, shellLayoutFor as Nt, WxToaster as Bt, WebxUI as It, dateLocaleKey as Pt, localesKey as Dt, useModal as Mt, WxDialog as lt, WxFormItem as Ft, WxSpace as Ot, createModal as Ht, WxSkeleton as ue, WxEmpty as ot, WxTooltip as st, toast as D, confirm as he, localizedValue as jt, WxBreadcrumb as Kt, WxBreadcrumbItem as Pe, WxActionBar as qt, WxPopover as Yt, WxAvatar as Xt, WxTextarea as De } from "@webx-ui/core";
|
|
4
|
+
import { watchSystemTheme as Gt, applyTheme as Jt, systemTheme as Qt } from "@webx-ui/tokens";
|
|
5
|
+
import { WxScreenRenderer as Zt } from "@webx-ui/schema";
|
|
6
6
|
const we = /* @__PURE__ */ Symbol("webx-i18n");
|
|
7
|
-
function
|
|
8
|
-
const e =
|
|
7
|
+
function ea() {
|
|
8
|
+
const e = ne(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 P(e) {
|
|
14
|
-
const t =
|
|
14
|
+
const t = ne(we, null);
|
|
15
15
|
return t === null ? Ee().scope(e) : t.scope(e);
|
|
16
16
|
}
|
|
17
|
-
function
|
|
17
|
+
function ta(e, t) {
|
|
18
18
|
e.provide(we, t);
|
|
19
19
|
}
|
|
20
20
|
function Ee(e = {}) {
|
|
@@ -37,7 +37,7 @@ function Ee(e = {}) {
|
|
|
37
37
|
const [h, m] = u.includes("::") ? u.split("::", 2) : [r, u], v = m.split("."), d = s(i.value, h, v) ?? s(l, h, v) ?? // Not an empty string: a key on screen is ugly, but it says which key, and a blank
|
|
38
38
|
// label says nothing to anybody trying to fix it.
|
|
39
39
|
u;
|
|
40
|
-
return c === void 0 ? d :
|
|
40
|
+
return c === void 0 ? d : aa(d, c);
|
|
41
41
|
}
|
|
42
42
|
return {
|
|
43
43
|
state: a,
|
|
@@ -53,7 +53,7 @@ function Ee(e = {}) {
|
|
|
53
53
|
t: (r, u) => o("", r, u)
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
|
-
function
|
|
56
|
+
function aa(e, t) {
|
|
57
57
|
let a = e;
|
|
58
58
|
for (const [l, i] of Object.entries(t))
|
|
59
59
|
a = a.replaceAll(`:${l}`, String(i));
|
|
@@ -76,15 +76,15 @@ function xe(e, t) {
|
|
|
76
76
|
})
|
|
77
77
|
};
|
|
78
78
|
}
|
|
79
|
-
function
|
|
79
|
+
function na(e, t, a, l = null) {
|
|
80
80
|
const i = `${e.apiPath}/${t.replace(/^\/+|\/+$/g, "")}`;
|
|
81
81
|
return e.http.post(`${i}/reorder`, l === null ? { ids: a } : { ids: a, category: l }).then(() => {
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
|
-
const
|
|
84
|
+
const la = { class: "wx-categories-field" }, oa = { class: "wx-categories-field__name" }, sa = /* @__PURE__ */ R({
|
|
85
85
|
name: "WxCategoriesField",
|
|
86
86
|
__name: "CategoriesField",
|
|
87
|
-
props: /* @__PURE__ */
|
|
87
|
+
props: /* @__PURE__ */ oe({
|
|
88
88
|
source: {},
|
|
89
89
|
main: { type: Boolean, default: !0 },
|
|
90
90
|
disabled: { type: Boolean, default: !1 },
|
|
@@ -99,7 +99,7 @@ const ta = { class: "wx-categories-field" }, aa = { class: "wx-categories-field_
|
|
|
99
99
|
}),
|
|
100
100
|
emits: ["update:modelValue"],
|
|
101
101
|
setup(e) {
|
|
102
|
-
const t = e, a =
|
|
102
|
+
const t = e, a = de(e, "modelValue"), l = X(), i = P("webx-admin"), s = W([]);
|
|
103
103
|
ee(
|
|
104
104
|
() => t.source,
|
|
105
105
|
async (v) => {
|
|
@@ -126,8 +126,8 @@ const ta = { class: "wx-categories-field" }, aa = { class: "wx-categories-field_
|
|
|
126
126
|
function m(v) {
|
|
127
127
|
a.value = o.value.filter((d) => d !== v);
|
|
128
128
|
}
|
|
129
|
-
return (v, d) => (p(), T("div",
|
|
130
|
-
b(n(
|
|
129
|
+
return (v, d) => (p(), T("div", la, [
|
|
130
|
+
b(n(tt), {
|
|
131
131
|
modelValue: u.value,
|
|
132
132
|
"onUpdate:modelValue": d[0] || (d[0] = (w) => u.value = w),
|
|
133
133
|
plain: "",
|
|
@@ -138,7 +138,7 @@ const ta = { class: "wx-categories-field" }, aa = { class: "wx-categories-field_
|
|
|
138
138
|
"empty-text": t.emptyText ?? n(i)("categories.field-empty")
|
|
139
139
|
}, {
|
|
140
140
|
default: g(({ item: w, index: f }) => [
|
|
141
|
-
O("span",
|
|
141
|
+
O("span", oa, L(w.name), 1),
|
|
142
142
|
t.main && f === 0 ? (p(), $(n(ze), {
|
|
143
143
|
key: 0,
|
|
144
144
|
type: "primary"
|
|
@@ -160,7 +160,7 @@ const ta = { class: "wx-categories-field" }, aa = { class: "wx-categories-field_
|
|
|
160
160
|
]),
|
|
161
161
|
_: 1
|
|
162
162
|
}, 8, ["modelValue", "disabled", "empty-text"]),
|
|
163
|
-
b(n(
|
|
163
|
+
b(n(at), {
|
|
164
164
|
"model-value": null,
|
|
165
165
|
options: c.value,
|
|
166
166
|
placeholder: t.addText ?? n(i)("categories.field-add"),
|
|
@@ -178,45 +178,8 @@ const ta = { class: "wx-categories-field" }, aa = { class: "wx-categories-field_
|
|
|
178
178
|
for (const [l, i] of t)
|
|
179
179
|
a[l] = i;
|
|
180
180
|
return a;
|
|
181
|
-
},
|
|
182
|
-
function
|
|
183
|
-
vt(lt, e);
|
|
184
|
-
}
|
|
185
|
-
function sa() {
|
|
186
|
-
return oe(lt, null);
|
|
187
|
-
}
|
|
188
|
-
const ia = { class: "wx-category-slug" }, ra = { class: "wx-category-slug__prefix" }, ua = /* @__PURE__ */ R({
|
|
189
|
-
name: "WxCategorySlug",
|
|
190
|
-
inheritAttrs: !1,
|
|
191
|
-
__name: "CategorySlug",
|
|
192
|
-
setup(e) {
|
|
193
|
-
const t = sa(), a = et(), l = x(() => {
|
|
194
|
-
const o = t?.prefix.value ?? "";
|
|
195
|
-
return o === "" ? "/" : `/${o}/`;
|
|
196
|
-
}), i = x(() => {
|
|
197
|
-
const o = t?.values.value.slug;
|
|
198
|
-
return typeof o == "string" ? o : o?.[a.active.value] ?? "";
|
|
199
|
-
}), s = x(() => {
|
|
200
|
-
const o = t?.category.value?.path;
|
|
201
|
-
return typeof o == "string" && i.value !== "" && `${l.value}${i.value}` != `/${o}`;
|
|
202
|
-
});
|
|
203
|
-
return (o, r) => (p(), T("div", ia, [
|
|
204
|
-
b(n(ye), ft(pt(o.$attrs)), {
|
|
205
|
-
prefix: g(() => [
|
|
206
|
-
O("span", ra, L(l.value), 1)
|
|
207
|
-
]),
|
|
208
|
-
_: 1
|
|
209
|
-
}, 16),
|
|
210
|
-
s.value && n(t) ? (p(), $(n(be), {
|
|
211
|
-
key: 0,
|
|
212
|
-
type: "info",
|
|
213
|
-
variant: "soft",
|
|
214
|
-
description: n(t).moving()
|
|
215
|
-
}, null, 8, ["description"])) : U("", !0)
|
|
216
|
-
]));
|
|
217
|
-
}
|
|
218
|
-
}), da = /* @__PURE__ */ Y(ua, [["__scopeId", "data-v-0d22193a"]]);
|
|
219
|
-
function ca() {
|
|
181
|
+
}, ia = /* @__PURE__ */ Y(sa, [["__scopeId", "data-v-640cd836"]]);
|
|
182
|
+
function ra() {
|
|
220
183
|
return {
|
|
221
184
|
target: "entity",
|
|
222
185
|
entity_type: null,
|
|
@@ -227,7 +190,7 @@ function ca() {
|
|
|
227
190
|
rel: []
|
|
228
191
|
};
|
|
229
192
|
}
|
|
230
|
-
function
|
|
193
|
+
function ua(e) {
|
|
231
194
|
const t = `${e.apiPath}/links`, a = (l) => l.data;
|
|
232
195
|
return {
|
|
233
196
|
sources: () => e.http.get(`${t}/sources`).then(a),
|
|
@@ -236,22 +199,22 @@ function ma(e) {
|
|
|
236
199
|
routes: () => e.http.get(`${t}/routes`).then(a)
|
|
237
200
|
};
|
|
238
201
|
}
|
|
239
|
-
const
|
|
202
|
+
const da = { class: "wx-link-picker" }, ca = {
|
|
240
203
|
key: 0,
|
|
241
204
|
class: "wx-link-picker__entity"
|
|
242
|
-
},
|
|
205
|
+
}, ma = {
|
|
243
206
|
key: 1,
|
|
244
207
|
class: "wx-link-picker__url"
|
|
245
|
-
},
|
|
208
|
+
}, va = {
|
|
246
209
|
key: 2,
|
|
247
210
|
class: "wx-link-picker__hash"
|
|
248
|
-
},
|
|
211
|
+
}, fa = {
|
|
249
212
|
key: 3,
|
|
250
213
|
class: "wx-link-picker__attributes"
|
|
251
|
-
},
|
|
214
|
+
}, pa = { class: "wx-link-picker__rel" }, ha = /* @__PURE__ */ R({
|
|
252
215
|
name: "WxLinkPicker",
|
|
253
216
|
__name: "LinkPicker",
|
|
254
|
-
props: /* @__PURE__ */
|
|
217
|
+
props: /* @__PURE__ */ oe({
|
|
255
218
|
allowNone: { type: Boolean, default: !0 },
|
|
256
219
|
attributes: { type: Boolean, default: !0 },
|
|
257
220
|
disabled: { type: Boolean, default: !1 }
|
|
@@ -261,9 +224,9 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
261
224
|
}),
|
|
262
225
|
emits: ["update:modelValue"],
|
|
263
226
|
setup(e) {
|
|
264
|
-
const t = e, a =
|
|
227
|
+
const t = e, a = de(e, "modelValue"), l = X(), i = ea(), s = ua(l), o = P("webx-admin"), r = W([]), u = W([]), c = W([]), h = W(!1), m = W(null), v = W(""), d = W(null);
|
|
265
228
|
let w = null;
|
|
266
|
-
const f = x(() => a.value ??
|
|
229
|
+
const f = x(() => a.value ?? ra()), y = x(() => {
|
|
267
230
|
const _ = [
|
|
268
231
|
{ value: "entity", label: o("links.target-entity") },
|
|
269
232
|
{ value: "url", label: o("links.target-url") }
|
|
@@ -326,7 +289,7 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
326
289
|
const N = u.value.find((I) => I.id === _.id);
|
|
327
290
|
N === void 0 || m.value === null || (d.value = N, v.value = N.title, a.value = { ...f.value, entity_type: m.value, entity_id: N.id });
|
|
328
291
|
}
|
|
329
|
-
function
|
|
292
|
+
function le() {
|
|
330
293
|
d.value = null, v.value = "", u.value = [], a.value = { ...f.value, entity_type: null, entity_id: null };
|
|
331
294
|
}
|
|
332
295
|
function ie(_) {
|
|
@@ -350,16 +313,16 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
350
313
|
return _.available || N.push(o("links.unavailable")), N.join(" · ");
|
|
351
314
|
}
|
|
352
315
|
const q = ["nofollow", "sponsored", "ugc"];
|
|
353
|
-
return (_, N) => (p(), T("div",
|
|
354
|
-
b(n(
|
|
316
|
+
return (_, N) => (p(), T("div", da, [
|
|
317
|
+
b(n(Ct), {
|
|
355
318
|
options: y.value,
|
|
356
319
|
"model-value": f.value.target,
|
|
357
320
|
disabled: t.disabled,
|
|
358
321
|
"aria-label": n(o)("links.target-entity"),
|
|
359
322
|
"onUpdate:modelValue": A
|
|
360
323
|
}, null, 8, ["options", "model-value", "disabled", "aria-label"]),
|
|
361
|
-
f.value.target === "entity" ? (p(), T("div",
|
|
362
|
-
k.value.length > 1 ? (p(), $(n(
|
|
324
|
+
f.value.target === "entity" ? (p(), T("div", ca, [
|
|
325
|
+
k.value.length > 1 ? (p(), $(n(at), {
|
|
363
326
|
key: 0,
|
|
364
327
|
class: "wx-link-picker__section",
|
|
365
328
|
options: k.value,
|
|
@@ -383,9 +346,9 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
383
346
|
"onUpdate:modelValue": N[0] || (N[0] = (I) => v.value = I),
|
|
384
347
|
onSearch: C,
|
|
385
348
|
onSelect: K,
|
|
386
|
-
onClear:
|
|
349
|
+
onClear: le
|
|
387
350
|
}, null, 8, ["model-value", "options", "loading", "loading-text", "empty-text", "placeholder", "aria-label", "disabled"])
|
|
388
|
-
])) : f.value.target === "url" ? (p(), T("div",
|
|
351
|
+
])) : f.value.target === "url" ? (p(), T("div", ma, [
|
|
389
352
|
b(n(Be), {
|
|
390
353
|
"model-value": f.value.url ?? "",
|
|
391
354
|
options: J.value,
|
|
@@ -398,7 +361,7 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
398
361
|
"onUpdate:modelValue": ie
|
|
399
362
|
}, null, 8, ["model-value", "options", "empty-text", "placeholder", "aria-label", "disabled"])
|
|
400
363
|
])) : U("", !0),
|
|
401
|
-
f.value.target !== "none" ? (p(), T("label",
|
|
364
|
+
f.value.target !== "none" ? (p(), T("label", va, [
|
|
402
365
|
b(n(G), {
|
|
403
366
|
size: "sm",
|
|
404
367
|
tone: "muted"
|
|
@@ -421,7 +384,7 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
421
384
|
"onUpdate:modelValue": te
|
|
422
385
|
}, null, 8, ["model-value", "placeholder", "aria-label", "disabled"])
|
|
423
386
|
])) : U("", !0),
|
|
424
|
-
t.attributes && f.value.target !== "none" ? (p(), T("div",
|
|
387
|
+
t.attributes && f.value.target !== "none" ? (p(), T("div", fa, [
|
|
425
388
|
b(n(Ie), {
|
|
426
389
|
"model-value": f.value.new_tab,
|
|
427
390
|
disabled: t.disabled,
|
|
@@ -432,7 +395,7 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
432
395
|
]),
|
|
433
396
|
_: 1
|
|
434
397
|
}, 8, ["model-value", "disabled"]),
|
|
435
|
-
O("div",
|
|
398
|
+
O("div", pa, [
|
|
436
399
|
b(n(G), {
|
|
437
400
|
size: "sm",
|
|
438
401
|
tone: "muted"
|
|
@@ -457,11 +420,11 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
457
420
|
])) : U("", !0)
|
|
458
421
|
]));
|
|
459
422
|
}
|
|
460
|
-
}),
|
|
423
|
+
}), ga = /* @__PURE__ */ Y(ha, [["__scopeId", "data-v-e54022e5"]]), ya = /* @__PURE__ */ R({
|
|
461
424
|
name: "WxLinkField",
|
|
462
425
|
inheritAttrs: !1,
|
|
463
426
|
__name: "LinkField",
|
|
464
|
-
props: /* @__PURE__ */
|
|
427
|
+
props: /* @__PURE__ */ oe({
|
|
465
428
|
allowNone: { type: Boolean, default: !0 },
|
|
466
429
|
attributes: { type: Boolean, default: !0 },
|
|
467
430
|
disabled: { type: Boolean, default: !1 }
|
|
@@ -471,8 +434,8 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
471
434
|
}),
|
|
472
435
|
emits: ["update:modelValue"],
|
|
473
436
|
setup(e) {
|
|
474
|
-
const t = e, a =
|
|
475
|
-
return (l, i) => (p(), $(
|
|
437
|
+
const t = e, a = de(e, "modelValue");
|
|
438
|
+
return (l, i) => (p(), $(ga, Ke({
|
|
476
439
|
modelValue: a.value,
|
|
477
440
|
"onUpdate:modelValue": i[0] || (i[0] = (s) => a.value = s)
|
|
478
441
|
}, l.$attrs, {
|
|
@@ -481,7 +444,7 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
481
444
|
disabled: t.disabled
|
|
482
445
|
}), null, 16, ["modelValue", "allow-none", "attributes", "disabled"]));
|
|
483
446
|
}
|
|
484
|
-
}),
|
|
447
|
+
}), ba = /* @__PURE__ */ R({
|
|
485
448
|
__name: "BackButton",
|
|
486
449
|
props: {
|
|
487
450
|
to: {},
|
|
@@ -493,17 +456,17 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
493
456
|
return (i, s) => (p(), $(n(se), {
|
|
494
457
|
icon: "arrow-left",
|
|
495
458
|
class: "wx-back-button",
|
|
496
|
-
as: n(
|
|
459
|
+
as: n(_t),
|
|
497
460
|
to: e.to,
|
|
498
461
|
title: l.value,
|
|
499
462
|
size: e.size,
|
|
500
463
|
"tooltip-side": "bottom"
|
|
501
464
|
}, null, 8, ["as", "to", "title", "size"]));
|
|
502
465
|
}
|
|
503
|
-
}),
|
|
466
|
+
}), wa = {
|
|
504
467
|
key: 0,
|
|
505
468
|
class: "wx-dropdown__divider"
|
|
506
|
-
},
|
|
469
|
+
}, xa = /* @__PURE__ */ R({
|
|
507
470
|
__name: "RowMenu",
|
|
508
471
|
props: {
|
|
509
472
|
actions: {},
|
|
@@ -518,14 +481,14 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
518
481
|
const s = l.value.find((o) => o.danger);
|
|
519
482
|
return s && l.value[0] !== s ? s.key : null;
|
|
520
483
|
});
|
|
521
|
-
return (s, o) => l.value.length > 0 ? (p(), $(n(
|
|
484
|
+
return (s, o) => l.value.length > 0 ? (p(), $(n(Wt), {
|
|
522
485
|
key: 0,
|
|
523
486
|
class: "wx-row-menu",
|
|
524
487
|
collapse: "always",
|
|
525
488
|
align: "end",
|
|
526
489
|
size: e.size,
|
|
527
490
|
"aria-label": e.label,
|
|
528
|
-
onClick: o[0] || (o[0] =
|
|
491
|
+
onClick: o[0] || (o[0] = qe(() => {
|
|
529
492
|
}, ["stop"]))
|
|
530
493
|
}, {
|
|
531
494
|
trigger: g(() => [
|
|
@@ -539,8 +502,8 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
539
502
|
(p(!0), T(H, null, Q(l.value, (r) => (p(), T(H, {
|
|
540
503
|
key: r.key
|
|
541
504
|
}, [
|
|
542
|
-
r.key === i.value ? (p(), T("hr",
|
|
543
|
-
b(n(
|
|
505
|
+
r.key === i.value ? (p(), T("hr", wa)) : U("", !0),
|
|
506
|
+
b(n(Lt), {
|
|
544
507
|
icon: r.icon,
|
|
545
508
|
tone: r.danger ? "danger" : "default",
|
|
546
509
|
href: r.href,
|
|
@@ -558,13 +521,13 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
558
521
|
_: 1
|
|
559
522
|
}, 8, ["size", "aria-label"])) : U("", !0);
|
|
560
523
|
}
|
|
561
|
-
}), Ue = /* @__PURE__ */ Y(
|
|
524
|
+
}), Ue = /* @__PURE__ */ Y(xa, [["__scopeId", "data-v-cab01f7f"]]), ka = ["data-level"], _a = {
|
|
562
525
|
key: 0,
|
|
563
526
|
class: "wx-screen-head__trail"
|
|
564
|
-
},
|
|
527
|
+
}, $a = { class: "wx-screen-head__name" }, Ta = {
|
|
565
528
|
key: 4,
|
|
566
529
|
class: "wx-screen-head__actions"
|
|
567
|
-
},
|
|
530
|
+
}, Sa = /* @__PURE__ */ R({
|
|
568
531
|
__name: "ScreenHead",
|
|
569
532
|
props: {
|
|
570
533
|
title: { default: void 0 },
|
|
@@ -578,7 +541,7 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
578
541
|
},
|
|
579
542
|
emits: ["back"],
|
|
580
543
|
setup(e, { emit: t }) {
|
|
581
|
-
const a = e, l = t, i = P("webx-admin"), s =
|
|
544
|
+
const a = e, l = t, i = P("webx-admin"), s = gt(), o = Ye("root"), r = At(o), u = x(() => r.value > 0 && r.value < a.collapseBelow), c = x(() => a.actions ?? []), h = x(
|
|
582
545
|
() => c.value.find((f) => f.primary) ?? null
|
|
583
546
|
), m = x(() => u.value ? h.value ? [h.value] : [] : c.value.filter((f) => !f.menu && !f.danger)), v = x(() => u.value ? c.value.filter((f) => f !== h.value) : c.value.filter((f) => f.menu || f.danger)), d = x(
|
|
584
547
|
() => a.back && a.back !== !0 ? a.back : null
|
|
@@ -596,10 +559,10 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
596
559
|
}]),
|
|
597
560
|
"data-level": e.level
|
|
598
561
|
}, [
|
|
599
|
-
f.$slots.trail ? (p(), T("div",
|
|
562
|
+
f.$slots.trail ? (p(), T("div", _a, [
|
|
600
563
|
F(f.$slots, "trail", {}, void 0, !0)
|
|
601
564
|
])) : U("", !0),
|
|
602
|
-
d.value ? (p(), $(
|
|
565
|
+
d.value ? (p(), $(ba, {
|
|
603
566
|
key: 1,
|
|
604
567
|
class: "wx-screen-head__back",
|
|
605
568
|
to: d.value,
|
|
@@ -614,8 +577,8 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
614
577
|
title: e.backLabel ?? n(i)("editor.back"),
|
|
615
578
|
onClick: y[0] || (y[0] = (k) => l("back"))
|
|
616
579
|
}, null, 8, ["title"])) : U("", !0),
|
|
617
|
-
O("div",
|
|
618
|
-
e.title ? (p(), $(n(
|
|
580
|
+
O("div", $a, [
|
|
581
|
+
e.title ? (p(), $(n(zt), {
|
|
619
582
|
key: 0,
|
|
620
583
|
level: e.level,
|
|
621
584
|
truncate: "",
|
|
@@ -642,7 +605,7 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
642
605
|
]),
|
|
643
606
|
_: 3
|
|
644
607
|
})) : U("", !0),
|
|
645
|
-
w.value ? (p(), T("div",
|
|
608
|
+
w.value ? (p(), T("div", Ta, [
|
|
646
609
|
F(f.$slots, "extra", {}, void 0, !0),
|
|
647
610
|
(p(!0), T(H, null, Q(m.value, (k) => (p(), $(n(Z), {
|
|
648
611
|
key: k.key,
|
|
@@ -678,11 +641,11 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
678
641
|
label: e.title ?? n(i)("editor.more")
|
|
679
642
|
}, null, 8, ["actions", "label"])) : U("", !0)
|
|
680
643
|
])) : U("", !0)
|
|
681
|
-
], 10,
|
|
644
|
+
], 10, ka));
|
|
682
645
|
}
|
|
683
|
-
}),
|
|
646
|
+
}), it = /* @__PURE__ */ Y(Sa, [["__scopeId", "data-v-e27d184e"]]), Ca = ["data-wx-fill"], Wa = /* @__PURE__ */ R({
|
|
684
647
|
__name: "ListScreen",
|
|
685
|
-
props: /* @__PURE__ */
|
|
648
|
+
props: /* @__PURE__ */ oe({
|
|
686
649
|
title: { default: void 0 },
|
|
687
650
|
subtitle: { default: void 0 },
|
|
688
651
|
back: { default: void 0 },
|
|
@@ -699,12 +662,12 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
699
662
|
}),
|
|
700
663
|
emits: ["update:view"],
|
|
701
664
|
setup(e) {
|
|
702
|
-
const t =
|
|
665
|
+
const t = de(e, "view");
|
|
703
666
|
return (a, l) => (p(), T("div", {
|
|
704
667
|
class: ae(["wx-list-screen", { "is-fill": e.fill }]),
|
|
705
668
|
"data-wx-fill": e.fill ? "" : void 0
|
|
706
669
|
}, [
|
|
707
|
-
e.title || e.actions || a.$slots.actions ? (p(), $(
|
|
670
|
+
e.title || e.actions || a.$slots.actions ? (p(), $(it, {
|
|
708
671
|
key: 0,
|
|
709
672
|
class: "wx-list-screen__head",
|
|
710
673
|
title: e.title,
|
|
@@ -722,7 +685,7 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
722
685
|
key: "0"
|
|
723
686
|
} : void 0
|
|
724
687
|
]), 1032, ["title", "subtitle", "back", "back-label", "actions"])) : U("", !0),
|
|
725
|
-
e.views && e.views.length > 0 ? (p(), $(n(
|
|
688
|
+
e.views && e.views.length > 0 ? (p(), $(n(Vt), {
|
|
726
689
|
key: 1,
|
|
727
690
|
modelValue: t.value,
|
|
728
691
|
"onUpdate:modelValue": l[0] || (l[0] = (i) => t.value = i),
|
|
@@ -756,9 +719,9 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
756
719
|
_: 3
|
|
757
720
|
}, 8, ["padding"])) : F(a.$slots, "default", {}, void 0, !0, 1)
|
|
758
721
|
], 64))
|
|
759
|
-
], 10,
|
|
722
|
+
], 10, Ca));
|
|
760
723
|
}
|
|
761
|
-
}),
|
|
724
|
+
}), rt = /* @__PURE__ */ Y(Wa, [["__scopeId", "data-v-8c7e5ad1"]]), La = /* @__PURE__ */ R({
|
|
762
725
|
name: "WxRichTextField",
|
|
763
726
|
inheritAttrs: !1,
|
|
764
727
|
__name: "RichTextField",
|
|
@@ -796,29 +759,67 @@ const va = { class: "wx-link-picker" }, fa = {
|
|
|
796
759
|
cancel: a("rich-text.cancel"),
|
|
797
760
|
uploading: a("rich-text.uploading")
|
|
798
761
|
}));
|
|
799
|
-
return (s, o) => (p(), $(n(
|
|
762
|
+
return (s, o) => (p(), $(n(Et), Ke(s.$attrs, {
|
|
800
763
|
labels: i.value,
|
|
801
764
|
"pick-image": l.value
|
|
802
765
|
}), null, 16, ["labels", "pick-image"]));
|
|
803
766
|
}
|
|
804
|
-
}),
|
|
805
|
-
|
|
767
|
+
}), ut = /* @__PURE__ */ Symbol("wx-record-address");
|
|
768
|
+
function Aa(e) {
|
|
769
|
+
Xe(ut, e);
|
|
770
|
+
}
|
|
771
|
+
function za() {
|
|
772
|
+
return ne(ut, null);
|
|
773
|
+
}
|
|
774
|
+
const Va = { class: "wx-slug" }, Ea = { class: "wx-slug__prefix" }, Ua = /* @__PURE__ */ R({
|
|
775
|
+
name: "WxSlugField",
|
|
776
|
+
inheritAttrs: !1,
|
|
777
|
+
__name: "SlugField",
|
|
778
|
+
setup(e) {
|
|
779
|
+
const t = za(), a = nt(), l = x(() => {
|
|
780
|
+
const o = t?.prefix.value ?? "";
|
|
781
|
+
return o === "" ? "/" : `/${o}/`;
|
|
782
|
+
}), i = x(() => {
|
|
783
|
+
const o = t?.values.value.slug;
|
|
784
|
+
return typeof o == "string" ? o : o?.[a.active.value] ?? "";
|
|
785
|
+
}), s = x(() => {
|
|
786
|
+
const o = t?.path.value;
|
|
787
|
+
return typeof o == "string" && i.value !== "" && `${l.value}${i.value}` != `/${o}`;
|
|
788
|
+
});
|
|
789
|
+
return (o, r) => (p(), T("div", Va, [
|
|
790
|
+
b(n(ye), yt(bt(o.$attrs)), {
|
|
791
|
+
prefix: g(() => [
|
|
792
|
+
O("span", Ea, L(l.value), 1)
|
|
793
|
+
]),
|
|
794
|
+
_: 1
|
|
795
|
+
}, 16),
|
|
796
|
+
s.value && n(t) ? (p(), $(n(be), {
|
|
797
|
+
key: 0,
|
|
798
|
+
type: "info",
|
|
799
|
+
variant: "soft",
|
|
800
|
+
description: n(t).moving()
|
|
801
|
+
}, null, 8, ["description"])) : U("", !0)
|
|
802
|
+
]));
|
|
803
|
+
}
|
|
804
|
+
}), Me = /* @__PURE__ */ Y(Ua, [["__scopeId", "data-v-5921c0dd"]]), Ra = {
|
|
805
|
+
"wx-list": { component: rt, kind: "layout", labelProp: "title" },
|
|
806
806
|
// Full width: an editor shares a row with nothing, and a form of two columns would give it
|
|
807
807
|
// half a line to write a page of text in.
|
|
808
|
-
"wx-rich-text": { component:
|
|
808
|
+
"wx-rich-text": { component: La, kind: "field", wide: !0 },
|
|
809
809
|
// Wide as well: a row of the picker is a segmented switch, a section and a search box, and half
|
|
810
810
|
// a form's width leaves the search box too narrow to read a page title in.
|
|
811
|
-
"wx-link": { component:
|
|
812
|
-
"wx-categories": { component:
|
|
813
|
-
"wx-
|
|
814
|
-
|
|
811
|
+
"wx-link": { component: ya, kind: "field", wide: !0 },
|
|
812
|
+
"wx-categories": { component: ia, kind: "field" },
|
|
813
|
+
"wx-slug": { component: Me, kind: "field" },
|
|
814
|
+
"wx-category-slug": { component: Me, kind: "field" }
|
|
815
|
+
}, dt = /* @__PURE__ */ Symbol("webx-admin");
|
|
815
816
|
function X() {
|
|
816
|
-
const e =
|
|
817
|
+
const e = ne(dt, null);
|
|
817
818
|
if (e === null)
|
|
818
819
|
throw new Error("useAdmin() was called outside a panel created by createAdmin().");
|
|
819
820
|
return e;
|
|
820
821
|
}
|
|
821
|
-
function
|
|
822
|
+
function Na(e) {
|
|
822
823
|
const t = pe({
|
|
823
824
|
status: "loading",
|
|
824
825
|
manifest: null,
|
|
@@ -860,7 +861,7 @@ function Ua(e) {
|
|
|
860
861
|
entries: f.get(y.id) ?? []
|
|
861
862
|
}))
|
|
862
863
|
};
|
|
863
|
-
}), i = { ...
|
|
864
|
+
}), i = { ...Ra };
|
|
864
865
|
for (const d of e.modules)
|
|
865
866
|
Object.assign(i, d.types);
|
|
866
867
|
Object.assign(i, e.types);
|
|
@@ -883,7 +884,7 @@ function Ua(e) {
|
|
|
883
884
|
const d = await e.loadManifest();
|
|
884
885
|
t.manifest = d, e.i18n.state.contentLocales = d.locales ?? [], e.i18n.state.panelLocales = d.panelLocales ?? e.i18n.state.panelLocales, d.locale !== void 0 && d.locale !== e.i18n.state.locale && await v(d.locale), t.status = "ready";
|
|
885
886
|
} catch (d) {
|
|
886
|
-
if (
|
|
887
|
+
if (Ia(d)) {
|
|
887
888
|
t.manifest = null, t.user = null, t.status = "unauthenticated";
|
|
888
889
|
return;
|
|
889
890
|
}
|
|
@@ -937,13 +938,13 @@ function Ua(e) {
|
|
|
937
938
|
}
|
|
938
939
|
};
|
|
939
940
|
}
|
|
940
|
-
function
|
|
941
|
-
e.provide(
|
|
941
|
+
function Ba(e, t) {
|
|
942
|
+
e.provide(dt, t);
|
|
942
943
|
}
|
|
943
|
-
function
|
|
944
|
+
function Ia(e) {
|
|
944
945
|
return typeof e == "object" && e !== null && "status" in e && e.status === 401;
|
|
945
946
|
}
|
|
946
|
-
const
|
|
947
|
+
const Pa = /* @__PURE__ */ R({
|
|
947
948
|
__name: "AdminLanding",
|
|
948
949
|
props: {
|
|
949
950
|
landing: { default: null }
|
|
@@ -959,22 +960,27 @@ const Ba = /* @__PURE__ */ R({
|
|
|
959
960
|
o !== null && l.replace(o);
|
|
960
961
|
},
|
|
961
962
|
{ immediate: !0 }
|
|
962
|
-
), (o, r) => s.value === null && n(a).state.status === "ready" ? (p(), $(n(
|
|
963
|
+
), (o, r) => s.value === null && n(a).state.status === "ready" ? (p(), $(n(Ut), {
|
|
963
964
|
key: 0,
|
|
964
965
|
status: "info",
|
|
965
966
|
title: n(i)("shell.empty-title"),
|
|
966
967
|
description: n(i)("shell.empty-description")
|
|
967
968
|
}, null, 8, ["title", "description"])) : U("", !0);
|
|
968
969
|
}
|
|
969
|
-
}),
|
|
970
|
+
}), Da = /* @__PURE__ */ R({
|
|
970
971
|
__name: "AdminNav",
|
|
971
972
|
props: {
|
|
972
973
|
collapsed: { type: Boolean }
|
|
973
974
|
},
|
|
974
975
|
emits: ["select"],
|
|
975
976
|
setup(e, { emit: t }) {
|
|
976
|
-
const a = t, l = X(), i = P("webx-admin"), s = ge(), o =
|
|
977
|
-
|
|
977
|
+
const a = t, l = X(), i = P("webx-admin"), s = ge(), o = et(), r = x({
|
|
978
|
+
/*
|
|
979
|
+
* The longest path that contains this one, on a segment boundary: a section may live inside
|
|
980
|
+
* another's path (`/services/categories` under `/services`), and the first match in the order
|
|
981
|
+
* of the menu would light up the outer one.
|
|
982
|
+
*/
|
|
983
|
+
get: () => l.nav.value.filter((c) => o.path === c.path || o.path.startsWith(`${c.path}/`)).sort((c, h) => h.path.length - c.path.length)[0]?.id ?? "",
|
|
978
984
|
set: (u) => {
|
|
979
985
|
const c = l.nav.value.find((h) => h.id === u);
|
|
980
986
|
c !== void 0 && s.push(c.path);
|
|
@@ -1017,37 +1023,37 @@ const Ba = /* @__PURE__ */ R({
|
|
|
1017
1023
|
}, 8, ["modelValue", "collapsed", "label"]);
|
|
1018
1024
|
};
|
|
1019
1025
|
}
|
|
1020
|
-
}),
|
|
1026
|
+
}), Ma = {
|
|
1021
1027
|
key: 0,
|
|
1022
1028
|
class: "wx-root wx-admin-plain"
|
|
1023
|
-
},
|
|
1029
|
+
}, Fa = {
|
|
1024
1030
|
key: 1,
|
|
1025
1031
|
class: "wx-root wx-admin-plain"
|
|
1026
|
-
},
|
|
1032
|
+
}, Oa = {
|
|
1027
1033
|
key: 2,
|
|
1028
1034
|
class: "wx-root wx-admin-plain"
|
|
1029
|
-
},
|
|
1035
|
+
}, Ha = ["src", "alt", "width", "height"], ja = ["src", "alt", "width", "height"], Ka = ["src", "alt"], qa = { class: "wx-admin__user" }, Ya = { class: "wx-admin__user wx-admin__user--drawer" }, Xa = /* @__PURE__ */ R({
|
|
1030
1036
|
__name: "AdminShell",
|
|
1031
1037
|
setup(e) {
|
|
1032
|
-
const t = X(), a = P("webx-admin"), l = W(null), { width: i, layout: s, collapsed: o, showAside: r, drawerOpen: u, toggle: c, close: h } =
|
|
1038
|
+
const t = X(), a = P("webx-admin"), l = W(null), { width: i, layout: s, collapsed: o, showAside: r, drawerOpen: u, toggle: c, close: h } = Rt(
|
|
1033
1039
|
l,
|
|
1034
1040
|
{ persist: "webx-admin-shell" }
|
|
1035
|
-
), m = x(() => t.state.manifest?.title ?? ""), v = x(() => t.state.manifest?.branding?.logo ?? null), d = x(() => t.state.manifest?.branding?.mark ?? null), w = x(() =>
|
|
1036
|
-
return
|
|
1041
|
+
), m = x(() => t.state.manifest?.title ?? ""), v = x(() => t.state.manifest?.branding?.logo ?? null), d = x(() => t.state.manifest?.branding?.mark ?? null), w = x(() => Nt(i.value, null));
|
|
1042
|
+
return wt(() => {
|
|
1037
1043
|
typeof document > "u" || (document.documentElement.dataset.wxShell = w.value);
|
|
1038
|
-
}),
|
|
1044
|
+
}), xt(() => {
|
|
1039
1045
|
typeof document < "u" && delete document.documentElement.dataset.wxShell;
|
|
1040
1046
|
}), (f, y) => {
|
|
1041
|
-
const k = j("router-view"), M = j("wx-loading"), J = j("wx-button"), S = j("wx-result"), B = j("wx-action"), C = j("wx-text"), A = j("wx-header"), E = j("wx-aside"), K = j("wx-main"),
|
|
1047
|
+
const k = j("router-view"), M = j("wx-loading"), J = j("wx-button"), S = j("wx-result"), B = j("wx-action"), C = j("wx-text"), A = j("wx-header"), E = j("wx-aside"), K = j("wx-main"), le = j("wx-container"), ie = j("wx-drawer");
|
|
1042
1048
|
return p(), T(H, null, [
|
|
1043
|
-
b(n(
|
|
1044
|
-
n(t).state.status === "unauthenticated" ? (p(), T("div",
|
|
1049
|
+
b(n(Bt), { placement: "bottom-center" }),
|
|
1050
|
+
n(t).state.status === "unauthenticated" ? (p(), T("div", Ma, [
|
|
1045
1051
|
b(k)
|
|
1046
|
-
])) : n(t).state.status === "loading" ? (p(), T("div",
|
|
1052
|
+
])) : n(t).state.status === "loading" ? (p(), T("div", Fa, [
|
|
1047
1053
|
b(M, {
|
|
1048
1054
|
label: n(a)("shell.loading")
|
|
1049
1055
|
}, null, 8, ["label"])
|
|
1050
|
-
])) : n(t).state.status === "error" ? (p(), T("div",
|
|
1056
|
+
])) : n(t).state.status === "error" ? (p(), T("div", Oa, [
|
|
1051
1057
|
b(S, {
|
|
1052
1058
|
status: "error",
|
|
1053
1059
|
title: n(a)("shell.error-title"),
|
|
@@ -1072,7 +1078,7 @@ const Ba = /* @__PURE__ */ R({
|
|
|
1072
1078
|
ref: l,
|
|
1073
1079
|
class: ae(["wx-root wx-admin", `wx-admin--${w.value}`])
|
|
1074
1080
|
}, [
|
|
1075
|
-
b(
|
|
1081
|
+
b(le, {
|
|
1076
1082
|
direction: n(s) === "drawer" ? "vertical" : "horizontal",
|
|
1077
1083
|
"full-height": "",
|
|
1078
1084
|
class: "wx-admin__frame"
|
|
@@ -1104,7 +1110,7 @@ const Ba = /* @__PURE__ */ R({
|
|
|
1104
1110
|
alt: m.value,
|
|
1105
1111
|
width: v.value.width ?? void 0,
|
|
1106
1112
|
height: v.value.height ?? void 0
|
|
1107
|
-
}, null, 8,
|
|
1113
|
+
}, null, 8, Ha)) : (p(), $(C, {
|
|
1108
1114
|
key: 1,
|
|
1109
1115
|
weight: "semibold",
|
|
1110
1116
|
truncate: ""
|
|
@@ -1138,7 +1144,7 @@ const Ba = /* @__PURE__ */ R({
|
|
|
1138
1144
|
class: "wx-admin__mark",
|
|
1139
1145
|
src: d.value.url,
|
|
1140
1146
|
alt: m.value
|
|
1141
|
-
}, null, 8,
|
|
1147
|
+
}, null, 8, Ka)) : U("", !0) : F(f.$slots, "brand", {}, () => [
|
|
1142
1148
|
v.value ? (p(), T("img", {
|
|
1143
1149
|
key: 0,
|
|
1144
1150
|
class: "wx-admin__logo",
|
|
@@ -1146,7 +1152,7 @@ const Ba = /* @__PURE__ */ R({
|
|
|
1146
1152
|
alt: m.value,
|
|
1147
1153
|
width: v.value.width ?? void 0,
|
|
1148
1154
|
height: v.value.height ?? void 0
|
|
1149
|
-
}, null, 8,
|
|
1155
|
+
}, null, 8, ja)) : (p(), $(C, {
|
|
1150
1156
|
key: 1,
|
|
1151
1157
|
weight: "semibold",
|
|
1152
1158
|
truncate: "",
|
|
@@ -1166,7 +1172,7 @@ const Ba = /* @__PURE__ */ R({
|
|
|
1166
1172
|
], 2)
|
|
1167
1173
|
]),
|
|
1168
1174
|
bottom: g(() => [
|
|
1169
|
-
O("div",
|
|
1175
|
+
O("div", qa, [
|
|
1170
1176
|
F(f.$slots, "user", {
|
|
1171
1177
|
expanded: !n(o)
|
|
1172
1178
|
}, void 0, !0)
|
|
@@ -1191,7 +1197,7 @@ const Ba = /* @__PURE__ */ R({
|
|
|
1191
1197
|
}, 8, ["direction"]),
|
|
1192
1198
|
b(ie, {
|
|
1193
1199
|
open: n(u),
|
|
1194
|
-
"onUpdate:open": y[1] || (y[1] = (te) =>
|
|
1200
|
+
"onUpdate:open": y[1] || (y[1] = (te) => Ge(u) ? u.value = te : null),
|
|
1195
1201
|
class: "wx-admin__drawer",
|
|
1196
1202
|
title: m.value === "" ? n(a)("nav.menu") : m.value,
|
|
1197
1203
|
side: "left",
|
|
@@ -1200,7 +1206,7 @@ const Ba = /* @__PURE__ */ R({
|
|
|
1200
1206
|
closable: ""
|
|
1201
1207
|
}, {
|
|
1202
1208
|
footer: g(() => [
|
|
1203
|
-
O("div",
|
|
1209
|
+
O("div", Ya, [
|
|
1204
1210
|
F(f.$slots, "user", { expanded: !0 }, void 0, !0)
|
|
1205
1211
|
])
|
|
1206
1212
|
]),
|
|
@@ -1216,7 +1222,7 @@ const Ba = /* @__PURE__ */ R({
|
|
|
1216
1222
|
], 64);
|
|
1217
1223
|
};
|
|
1218
1224
|
}
|
|
1219
|
-
}),
|
|
1225
|
+
}), Ga = /* @__PURE__ */ Y(Xa, [["__scopeId", "data-v-819885ab"]]);
|
|
1220
1226
|
class Ce extends Error {
|
|
1221
1227
|
constructor(t, a, l = {}, i = null, s = null) {
|
|
1222
1228
|
super(t), this.status = a, this.errors = l, this.retryAfter = i, this.body = s, this.name = "HttpError";
|
|
@@ -1236,15 +1242,15 @@ class Ce extends Error {
|
|
|
1236
1242
|
return this.status === 429;
|
|
1237
1243
|
}
|
|
1238
1244
|
}
|
|
1239
|
-
const
|
|
1240
|
-
function
|
|
1245
|
+
const Ja = /* @__PURE__ */ new Set(["POST", "PUT", "PATCH", "DELETE"]);
|
|
1246
|
+
function Qa(e = {}) {
|
|
1241
1247
|
const t = (e.baseUrl ?? "").replace(/\/$/, ""), a = e.csrfUrl ?? "/api/cms/auth/csrf-cookie", l = e.fetch ?? globalThis.fetch.bind(globalThis), i = e.onUnauthenticated, s = e.headers;
|
|
1242
1248
|
let o = !1;
|
|
1243
1249
|
async function r(c = !1) {
|
|
1244
|
-
o && !c &&
|
|
1250
|
+
o && !c && Fe("XSRF-TOKEN") !== null || (await l(a, { credentials: "same-origin" }), o = !0);
|
|
1245
1251
|
}
|
|
1246
1252
|
async function u(c, h, m, v = {}, d = !1) {
|
|
1247
|
-
const w =
|
|
1253
|
+
const w = Ja.has(c);
|
|
1248
1254
|
w && await r();
|
|
1249
1255
|
const f = {
|
|
1250
1256
|
Accept: "application/json",
|
|
@@ -1254,11 +1260,11 @@ function Ga(e = {}) {
|
|
|
1254
1260
|
...v.headers
|
|
1255
1261
|
};
|
|
1256
1262
|
if (w) {
|
|
1257
|
-
const k =
|
|
1263
|
+
const k = Fe("XSRF-TOKEN");
|
|
1258
1264
|
k !== null && (f["X-XSRF-TOKEN"] = k);
|
|
1259
1265
|
}
|
|
1260
1266
|
m !== void 0 && (f["Content-Type"] = "application/json");
|
|
1261
|
-
const y = await l(
|
|
1267
|
+
const y = await l(en(t, h, v.query), {
|
|
1262
1268
|
method: c,
|
|
1263
1269
|
credentials: "same-origin",
|
|
1264
1270
|
headers: f,
|
|
@@ -1268,7 +1274,7 @@ function Ga(e = {}) {
|
|
|
1268
1274
|
if (y.status === 419 && w && !d)
|
|
1269
1275
|
return await r(!0), u(c, h, m, v, !0);
|
|
1270
1276
|
if (y.status === 401 && i?.(), !y.ok)
|
|
1271
|
-
throw await
|
|
1277
|
+
throw await Za(y);
|
|
1272
1278
|
if (y.status !== 204)
|
|
1273
1279
|
return await y.json();
|
|
1274
1280
|
}
|
|
@@ -1280,7 +1286,7 @@ function Ga(e = {}) {
|
|
|
1280
1286
|
delete: (c, h) => u("DELETE", c, void 0, h)
|
|
1281
1287
|
};
|
|
1282
1288
|
}
|
|
1283
|
-
async function
|
|
1289
|
+
async function Za(e) {
|
|
1284
1290
|
let t = null;
|
|
1285
1291
|
try {
|
|
1286
1292
|
t = await e.json();
|
|
@@ -1295,7 +1301,7 @@ async function Ja(e) {
|
|
|
1295
1301
|
t
|
|
1296
1302
|
);
|
|
1297
1303
|
}
|
|
1298
|
-
function
|
|
1304
|
+
function en(e, t, a) {
|
|
1299
1305
|
const i = /^https?:\/\//i.test(t) ? t : `${e}/${t.replace(/^\//, "")}`;
|
|
1300
1306
|
if (a === void 0)
|
|
1301
1307
|
return i;
|
|
@@ -1305,7 +1311,7 @@ function Qa(e, t, a) {
|
|
|
1305
1311
|
const o = s.toString();
|
|
1306
1312
|
return o === "" ? i : `${i}${i.includes("?") ? "&" : "?"}${o}`;
|
|
1307
1313
|
}
|
|
1308
|
-
function
|
|
1314
|
+
function Fe(e) {
|
|
1309
1315
|
if (typeof document > "u")
|
|
1310
1316
|
return null;
|
|
1311
1317
|
for (const t of document.cookie.split(";")) {
|
|
@@ -1315,47 +1321,47 @@ function Me(e) {
|
|
|
1315
1321
|
}
|
|
1316
1322
|
return null;
|
|
1317
1323
|
}
|
|
1318
|
-
const
|
|
1319
|
-
function
|
|
1320
|
-
const e =
|
|
1324
|
+
const tn = "webx.theme", ct = /* @__PURE__ */ Symbol("webx-theme");
|
|
1325
|
+
function Jn() {
|
|
1326
|
+
const e = ne(ct, null);
|
|
1321
1327
|
if (e === null)
|
|
1322
1328
|
throw new Error("useTheme() was called outside a panel created by createAdmin().");
|
|
1323
1329
|
return e;
|
|
1324
1330
|
}
|
|
1325
|
-
function
|
|
1326
|
-
e.provide(
|
|
1331
|
+
function an(e, t) {
|
|
1332
|
+
e.provide(ct, t);
|
|
1327
1333
|
}
|
|
1328
|
-
function
|
|
1329
|
-
const t = e.storageKey === void 0 ?
|
|
1330
|
-
preference:
|
|
1334
|
+
function nn(e = {}) {
|
|
1335
|
+
const t = e.storageKey === void 0 ? tn : e.storageKey, a = pe({
|
|
1336
|
+
preference: ln(t) ?? "system",
|
|
1331
1337
|
resolved: "light"
|
|
1332
1338
|
});
|
|
1333
1339
|
function l() {
|
|
1334
|
-
|
|
1340
|
+
Jt(a.preference), a.resolved = a.preference === "system" ? Qt() : a.preference;
|
|
1335
1341
|
}
|
|
1336
|
-
return l(),
|
|
1342
|
+
return l(), Gt((i) => {
|
|
1337
1343
|
a.preference === "system" && (a.resolved = i);
|
|
1338
1344
|
}), {
|
|
1339
1345
|
state: a,
|
|
1340
1346
|
set(i) {
|
|
1341
|
-
a.preference = i, l(),
|
|
1347
|
+
a.preference = i, l(), Oe(t, i);
|
|
1342
1348
|
},
|
|
1343
1349
|
adopt(i) {
|
|
1344
1350
|
if (i === void 0)
|
|
1345
1351
|
return;
|
|
1346
1352
|
const s = i ?? "system";
|
|
1347
|
-
s !== a.preference && (a.preference = s, l(),
|
|
1353
|
+
s !== a.preference && (a.preference = s, l(), Oe(t, s));
|
|
1348
1354
|
}
|
|
1349
1355
|
};
|
|
1350
1356
|
}
|
|
1351
|
-
function
|
|
1357
|
+
function Oe(e, t) {
|
|
1352
1358
|
if (e !== null)
|
|
1353
1359
|
try {
|
|
1354
1360
|
localStorage.setItem(e, t);
|
|
1355
1361
|
} catch {
|
|
1356
1362
|
}
|
|
1357
1363
|
}
|
|
1358
|
-
function
|
|
1364
|
+
function ln(e) {
|
|
1359
1365
|
if (e === null)
|
|
1360
1366
|
return null;
|
|
1361
1367
|
try {
|
|
@@ -1365,7 +1371,7 @@ function an(e) {
|
|
|
1365
1371
|
return null;
|
|
1366
1372
|
}
|
|
1367
1373
|
}
|
|
1368
|
-
const
|
|
1374
|
+
const mt = {
|
|
1369
1375
|
shell: {
|
|
1370
1376
|
loading: "Loading the panel…",
|
|
1371
1377
|
"error-title": "The panel could not start",
|
|
@@ -1580,9 +1586,9 @@ const ut = {
|
|
|
1580
1586
|
"order-locked": "Clear the search and the filters to change the order — only a whole list, or one category, can be dragged.",
|
|
1581
1587
|
unknown: "One of the chosen categories is not there any more."
|
|
1582
1588
|
}
|
|
1583
|
-
},
|
|
1584
|
-
function
|
|
1585
|
-
const t = e.manifestUrl ??
|
|
1589
|
+
}, vt = "webx.locale";
|
|
1590
|
+
function Qn(e = {}) {
|
|
1591
|
+
const t = e.manifestUrl ?? cn() ?? "/api/cms/manifest", a = e.apiPath ?? t.replace(/\/manifest\/?$/, ""), l = e.basePath ?? "/cms", i = e.modules ?? [], s = [...e.routes ?? []];
|
|
1586
1592
|
for (const y of i)
|
|
1587
1593
|
s.push(...y.routes ?? []);
|
|
1588
1594
|
if (!s.some((y) => y.path === "/")) {
|
|
@@ -1590,14 +1596,14 @@ function Xn(e = {}) {
|
|
|
1590
1596
|
s.push({
|
|
1591
1597
|
path: "/",
|
|
1592
1598
|
name: "webx.home",
|
|
1593
|
-
component:
|
|
1599
|
+
component: Pa,
|
|
1594
1600
|
props: { landing: y?.path ?? y?.routes?.[0]?.path ?? null }
|
|
1595
1601
|
});
|
|
1596
1602
|
}
|
|
1597
|
-
const o =
|
|
1598
|
-
history:
|
|
1603
|
+
const o = $t({
|
|
1604
|
+
history: Tt(l),
|
|
1599
1605
|
routes: s
|
|
1600
|
-
}), r = Ee({ locale: e.locale ??
|
|
1606
|
+
}), r = Ee({ locale: e.locale ?? sn() }), u = nn(), c = e.http ?? Qa({
|
|
1601
1607
|
baseUrl: "",
|
|
1602
1608
|
csrfUrl: `${a}/auth/csrf-cookie`,
|
|
1603
1609
|
onUnauthenticated: () => {
|
|
@@ -1609,12 +1615,12 @@ function Xn(e = {}) {
|
|
|
1609
1615
|
// signing in on a Russian sign-in screen lands in an English panel.
|
|
1610
1616
|
headers: () => ({ "X-Webx-Locale": r.state.locale })
|
|
1611
1617
|
});
|
|
1612
|
-
r.defaults("webx-admin",
|
|
1618
|
+
r.defaults("webx-admin", mt);
|
|
1613
1619
|
async function h(y) {
|
|
1614
1620
|
const k = await c.get(`${a}/translations/${y}`);
|
|
1615
|
-
r.load(k.data.namespaces, k.data.locale, k.data.fallback),
|
|
1621
|
+
r.load(k.data.namespaces, k.data.locale, k.data.fallback), rn(k.data.locale), dn(k.data.locale, r.state.panelLocales);
|
|
1616
1622
|
}
|
|
1617
|
-
const m =
|
|
1623
|
+
const m = Na({
|
|
1618
1624
|
http: c,
|
|
1619
1625
|
theme: u,
|
|
1620
1626
|
basePath: l,
|
|
@@ -1625,13 +1631,13 @@ function Xn(e = {}) {
|
|
|
1625
1631
|
types: e.types,
|
|
1626
1632
|
screens: e.screens,
|
|
1627
1633
|
loadManifest: async () => (await c.get(t)).data
|
|
1628
|
-
}), v =
|
|
1629
|
-
v.use(
|
|
1634
|
+
}), v = kt(on(e));
|
|
1635
|
+
v.use(It), Ba(v, m), ta(v, r), an(v, u);
|
|
1630
1636
|
const d = W("");
|
|
1631
1637
|
v.provide(
|
|
1632
|
-
|
|
1638
|
+
Pt,
|
|
1633
1639
|
x(() => r.state.locale)
|
|
1634
|
-
), v.provide(
|
|
1640
|
+
), v.provide(Dt, {
|
|
1635
1641
|
list: x(
|
|
1636
1642
|
() => r.state.contentLocales.map((y) => ({
|
|
1637
1643
|
code: y.code,
|
|
@@ -1664,40 +1670,40 @@ function Xn(e = {}) {
|
|
|
1664
1670
|
y.install(w);
|
|
1665
1671
|
return v.use(o), w;
|
|
1666
1672
|
}
|
|
1667
|
-
function
|
|
1673
|
+
function on(e) {
|
|
1668
1674
|
const t = {
|
|
1669
1675
|
// The menu is the panel's own: it is the manifest, drawn.
|
|
1670
1676
|
// The shell hands in what a choice means where it drew the menu — in the drawer it is what
|
|
1671
1677
|
// closes it, and a drawer that stays open over the section it just opened is a drawer the
|
|
1672
1678
|
// reader has to dismiss by hand.
|
|
1673
|
-
nav: (a) =>
|
|
1679
|
+
nav: (a) => re(Da, { collapsed: a.collapsed === !0, onSelect: a.select })
|
|
1674
1680
|
};
|
|
1675
|
-
return e.brand !== void 0 && (t.brand = () =>
|
|
1681
|
+
return e.brand !== void 0 && (t.brand = () => re(e.brand)), e.userMenu !== void 0 && (t.user = (a) => re(e.userMenu, { expanded: a.expanded === !0 })), { render: () => re(Ga, null, t) };
|
|
1676
1682
|
}
|
|
1677
|
-
function
|
|
1678
|
-
const e =
|
|
1683
|
+
function sn() {
|
|
1684
|
+
const e = un(vt);
|
|
1679
1685
|
return e !== null ? e : typeof document < "u" && document.documentElement.lang !== "" ? document.documentElement.lang : typeof navigator > "u" ? "en" : navigator.language;
|
|
1680
1686
|
}
|
|
1681
|
-
function
|
|
1687
|
+
function rn(e) {
|
|
1682
1688
|
try {
|
|
1683
|
-
localStorage.setItem(
|
|
1689
|
+
localStorage.setItem(vt, e);
|
|
1684
1690
|
} catch {
|
|
1685
1691
|
}
|
|
1686
1692
|
}
|
|
1687
|
-
function
|
|
1693
|
+
function un(e) {
|
|
1688
1694
|
try {
|
|
1689
1695
|
return localStorage.getItem(e);
|
|
1690
1696
|
} catch {
|
|
1691
1697
|
return null;
|
|
1692
1698
|
}
|
|
1693
1699
|
}
|
|
1694
|
-
function
|
|
1700
|
+
function dn(e, t) {
|
|
1695
1701
|
typeof document > "u" || (document.documentElement.lang = e, document.documentElement.dir = t.find((a) => a.code === e)?.direction ?? "ltr");
|
|
1696
1702
|
}
|
|
1697
|
-
function
|
|
1703
|
+
function cn() {
|
|
1698
1704
|
return typeof document > "u" ? null : document.querySelector('meta[name="webx-manifest"]')?.getAttribute("content") ?? null;
|
|
1699
1705
|
}
|
|
1700
|
-
function
|
|
1706
|
+
function mn(e) {
|
|
1701
1707
|
const t = e.replace(/\r\n?/g, `
|
|
1702
1708
|
`).split(`
|
|
1703
1709
|
`), a = [];
|
|
@@ -1762,7 +1768,7 @@ function Te(e) {
|
|
|
1762
1768
|
function We(e) {
|
|
1763
1769
|
return e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
1764
1770
|
}
|
|
1765
|
-
function
|
|
1771
|
+
function vn(e) {
|
|
1766
1772
|
const t = e.scope("webx-admin"), a = /* @__PURE__ */ new Map();
|
|
1767
1773
|
function l(s, o, r) {
|
|
1768
1774
|
const u = e.state.locale, c = `${u}:${s}`;
|
|
@@ -1775,7 +1781,7 @@ function cn(e) {
|
|
|
1775
1781
|
const o = fe(s);
|
|
1776
1782
|
if (o === null)
|
|
1777
1783
|
return t("dates.never");
|
|
1778
|
-
const r = /* @__PURE__ */ new Date(), u =
|
|
1784
|
+
const r = /* @__PURE__ */ new Date(), u = He(o, r);
|
|
1779
1785
|
return u === 0 ? t("dates.today", { time: i(o) }) : u === -1 ? t("dates.yesterday", { time: i(o) }) : o.getFullYear() === r.getFullYear() ? l(
|
|
1780
1786
|
"this-year",
|
|
1781
1787
|
{
|
|
@@ -1793,7 +1799,7 @@ function cn(e) {
|
|
|
1793
1799
|
if (o === null)
|
|
1794
1800
|
return t("dates.never");
|
|
1795
1801
|
const r = /* @__PURE__ */ new Date();
|
|
1796
|
-
return
|
|
1802
|
+
return He(o, r) === 0 ? i(o) : o.getFullYear() === r.getFullYear() ? l("compact", { day: "numeric", month: "short" }, o) : l("compact-earlier", { dateStyle: "short" }, o);
|
|
1797
1803
|
},
|
|
1798
1804
|
exact(s) {
|
|
1799
1805
|
const o = fe(s);
|
|
@@ -1805,13 +1811,13 @@ function cn(e) {
|
|
|
1805
1811
|
}
|
|
1806
1812
|
};
|
|
1807
1813
|
}
|
|
1808
|
-
function
|
|
1809
|
-
const e =
|
|
1810
|
-
return
|
|
1814
|
+
function ft() {
|
|
1815
|
+
const e = ne(we, null);
|
|
1816
|
+
return vn(e ?? fn());
|
|
1811
1817
|
}
|
|
1812
1818
|
let ve = null;
|
|
1813
|
-
function
|
|
1814
|
-
return ve === null && (ve = Ee(), ve.defaults("webx-admin",
|
|
1819
|
+
function fn() {
|
|
1820
|
+
return ve === null && (ve = Ee(), ve.defaults("webx-admin", mt)), ve;
|
|
1815
1821
|
}
|
|
1816
1822
|
function fe(e) {
|
|
1817
1823
|
if (e == null || e === "")
|
|
@@ -1819,14 +1825,14 @@ function fe(e) {
|
|
|
1819
1825
|
const t = e instanceof Date ? e : new Date(e);
|
|
1820
1826
|
return Number.isNaN(t.getTime()) ? null : t;
|
|
1821
1827
|
}
|
|
1822
|
-
function
|
|
1828
|
+
function He(e, t) {
|
|
1823
1829
|
const a = (l) => Date.UTC(l.getFullYear(), l.getMonth(), l.getDate());
|
|
1824
1830
|
return Math.round((a(e) - a(t)) / 864e5);
|
|
1825
1831
|
}
|
|
1826
|
-
function
|
|
1827
|
-
const l = e instanceof Ce ? e.status :
|
|
1832
|
+
function pn(e, t, a) {
|
|
1833
|
+
const l = e instanceof Ce ? e.status : hn(e);
|
|
1828
1834
|
if (l === 422)
|
|
1829
|
-
return
|
|
1835
|
+
return gn(e) ?? a ?? t("errors.unknown");
|
|
1830
1836
|
if (l === 401) return t("errors.signed-out");
|
|
1831
1837
|
if (l === 403) return t("errors.forbidden");
|
|
1832
1838
|
if (l === 404) return t("errors.gone");
|
|
@@ -1837,19 +1843,19 @@ function vn(e, t, a) {
|
|
|
1837
1843
|
}
|
|
1838
1844
|
return l !== null && l >= 500 ? t("errors.server") : l === null ? t("errors.offline") : a ?? t("errors.unknown");
|
|
1839
1845
|
}
|
|
1840
|
-
function
|
|
1846
|
+
function Re() {
|
|
1841
1847
|
const e = P("webx-admin");
|
|
1842
|
-
return (t, a) =>
|
|
1848
|
+
return (t, a) => pn(t, e, a);
|
|
1843
1849
|
}
|
|
1844
|
-
function
|
|
1850
|
+
function hn(e) {
|
|
1845
1851
|
const t = e?.status;
|
|
1846
1852
|
return typeof t == "number" ? t : null;
|
|
1847
1853
|
}
|
|
1848
|
-
function
|
|
1854
|
+
function gn(e) {
|
|
1849
1855
|
const a = e?.body?.message;
|
|
1850
1856
|
return typeof a == "string" && a !== "" ? a : null;
|
|
1851
1857
|
}
|
|
1852
|
-
function
|
|
1858
|
+
function yn(e, t, a) {
|
|
1853
1859
|
const l = `${e.apiPath}/entities/${t}/${a}/notes`, i = (o) => `${e.apiPath}/notes/${o}`, s = (o) => o.data;
|
|
1854
1860
|
return {
|
|
1855
1861
|
list: () => e.http.get(l).then(s),
|
|
@@ -1859,32 +1865,39 @@ function hn(e, t, a) {
|
|
|
1859
1865
|
})
|
|
1860
1866
|
};
|
|
1861
1867
|
}
|
|
1862
|
-
|
|
1868
|
+
const pt = /* @__PURE__ */ Symbol("wx-category-editor");
|
|
1869
|
+
function bn(e) {
|
|
1870
|
+
Xe(pt, e);
|
|
1871
|
+
}
|
|
1872
|
+
function Zn() {
|
|
1873
|
+
return ne(pt, null);
|
|
1874
|
+
}
|
|
1875
|
+
function wn(e) {
|
|
1863
1876
|
return (e.q ?? "").trim() !== "" || e.filtered ? "locked" : e.category == null ? "all" : "category";
|
|
1864
1877
|
}
|
|
1865
|
-
function
|
|
1866
|
-
const a = X(), l = P("webx-admin"), i = x(() =>
|
|
1878
|
+
function el(e, t) {
|
|
1879
|
+
const a = X(), l = P("webx-admin"), i = x(() => wn(t()));
|
|
1867
1880
|
return {
|
|
1868
1881
|
mode: i,
|
|
1869
1882
|
sortable: x(() => i.value !== "locked"),
|
|
1870
1883
|
hint: x(() => l(`categories.order-${i.value}`)),
|
|
1871
|
-
move: (s) =>
|
|
1884
|
+
move: (s) => na(a, e, s, i.value === "category" ? t().category ?? null : null)
|
|
1872
1885
|
};
|
|
1873
1886
|
}
|
|
1874
|
-
function
|
|
1887
|
+
function Ne(e = {}) {
|
|
1875
1888
|
const t = P("webx-admin");
|
|
1876
1889
|
return (a, l) => t(e[a] ?? `webx-admin::categories.${a}`, l);
|
|
1877
1890
|
}
|
|
1878
|
-
const
|
|
1891
|
+
const xn = /* @__PURE__ */ R({
|
|
1879
1892
|
name: "WxCategoryCreateDialog",
|
|
1880
1893
|
__name: "CategoryCreateDialog",
|
|
1881
1894
|
props: {
|
|
1882
1895
|
options: {}
|
|
1883
1896
|
},
|
|
1884
1897
|
setup(e) {
|
|
1885
|
-
const t = e, { open: a, resolve: l, dismiss: i } =
|
|
1898
|
+
const t = e, { open: a, resolve: l, dismiss: i } = Mt(), s = xe(X(), t.options.api), o = Ne(t.options.words), r = W(""), u = W(!1), c = W({}), h = Ye("field");
|
|
1886
1899
|
Le(async () => {
|
|
1887
|
-
await
|
|
1900
|
+
await Je(), h.value?.querySelector("input")?.focus();
|
|
1888
1901
|
});
|
|
1889
1902
|
function m(d) {
|
|
1890
1903
|
const w = Object.keys(c.value).find((f) => f === d || f.startsWith(`${d}.`));
|
|
@@ -1902,14 +1915,14 @@ const yn = /* @__PURE__ */ R({
|
|
|
1902
1915
|
}
|
|
1903
1916
|
}
|
|
1904
1917
|
}
|
|
1905
|
-
return (d, w) => (p(), $(n(
|
|
1918
|
+
return (d, w) => (p(), $(n(lt), {
|
|
1906
1919
|
open: n(a),
|
|
1907
|
-
"onUpdate:open": w[2] || (w[2] = (f) =>
|
|
1920
|
+
"onUpdate:open": w[2] || (w[2] = (f) => Ge(a) ? a.value = f : null),
|
|
1908
1921
|
title: n(o)("new"),
|
|
1909
1922
|
width: 440
|
|
1910
1923
|
}, {
|
|
1911
1924
|
footer: g(() => [
|
|
1912
|
-
b(n(
|
|
1925
|
+
b(n(Ot), { size: "sm" }, {
|
|
1913
1926
|
default: g(() => [
|
|
1914
1927
|
b(n(Z), {
|
|
1915
1928
|
variant: "outline",
|
|
@@ -1936,7 +1949,7 @@ const yn = /* @__PURE__ */ R({
|
|
|
1936
1949
|
})
|
|
1937
1950
|
]),
|
|
1938
1951
|
default: g(() => [
|
|
1939
|
-
b(n(
|
|
1952
|
+
b(n(Ft), {
|
|
1940
1953
|
label: n(o)("field-title"),
|
|
1941
1954
|
error: m("title") ?? m("slug"),
|
|
1942
1955
|
required: ""
|
|
@@ -1950,7 +1963,7 @@ const yn = /* @__PURE__ */ R({
|
|
|
1950
1963
|
modelValue: r.value,
|
|
1951
1964
|
"onUpdate:modelValue": w[0] || (w[0] = (f) => r.value = f),
|
|
1952
1965
|
"aria-label": n(o)("field-title"),
|
|
1953
|
-
onKeyup:
|
|
1966
|
+
onKeyup: Qe(v, ["enter"])
|
|
1954
1967
|
}, null, 8, ["modelValue", "aria-label"])
|
|
1955
1968
|
], 512)
|
|
1956
1969
|
]),
|
|
@@ -1960,16 +1973,16 @@ const yn = /* @__PURE__ */ R({
|
|
|
1960
1973
|
_: 1
|
|
1961
1974
|
}, 8, ["open", "title"]));
|
|
1962
1975
|
}
|
|
1963
|
-
}),
|
|
1976
|
+
}), kn = { class: "wx-category-row__name" }, _n = /* @__PURE__ */ R({
|
|
1964
1977
|
name: "WxCategoriesPage",
|
|
1965
1978
|
__name: "CategoriesPage",
|
|
1966
1979
|
props: {
|
|
1967
1980
|
options: {}
|
|
1968
1981
|
},
|
|
1969
1982
|
setup(e) {
|
|
1970
|
-
const t = e, a = X(), l = xe(a, t.options.api), i = ge(), s =
|
|
1983
|
+
const t = e, a = X(), l = xe(a, t.options.api), i = ge(), s = Ne(t.options.words), o = Re(), r = W([]), u = W(!0), c = x(() => a.can(t.options.manage)), h = x(
|
|
1971
1984
|
() => a.state.manifest?.modules.find((S) => S.id === t.options.module)?.title ?? ""
|
|
1972
|
-
), m =
|
|
1985
|
+
), m = Ht(xn), v = x(
|
|
1973
1986
|
() => c.value ? [{ key: "new", label: s("new"), icon: "plus", primary: !0, run: () => {
|
|
1974
1987
|
y();
|
|
1975
1988
|
} }] : []
|
|
@@ -2041,23 +2054,23 @@ const yn = /* @__PURE__ */ R({
|
|
|
2041
2054
|
}
|
|
2042
2055
|
return (S, B) => {
|
|
2043
2056
|
const C = j("router-link");
|
|
2044
|
-
return p(), $(
|
|
2057
|
+
return p(), $(rt, {
|
|
2045
2058
|
class: "wx-categories",
|
|
2046
2059
|
title: h.value,
|
|
2047
2060
|
actions: v.value,
|
|
2048
2061
|
padding: "sm"
|
|
2049
2062
|
}, {
|
|
2050
2063
|
default: g(() => [
|
|
2051
|
-
u.value ? (p(), $(n(
|
|
2064
|
+
u.value ? (p(), $(n(ue), {
|
|
2052
2065
|
key: 0,
|
|
2053
2066
|
class: "wx-categories__loading",
|
|
2054
2067
|
rows: 5
|
|
2055
|
-
})) : r.value.length === 0 ? (p(), $(n(
|
|
2068
|
+
})) : r.value.length === 0 ? (p(), $(n(ot), {
|
|
2056
2069
|
key: 1,
|
|
2057
2070
|
title: n(s)("empty"),
|
|
2058
2071
|
description: n(s)("empty-help")
|
|
2059
2072
|
}, null, 8, ["title", "description"])) : (p(), T(H, { key: 2 }, [
|
|
2060
|
-
b(n(
|
|
2073
|
+
b(n(tt), {
|
|
2061
2074
|
modelValue: r.value,
|
|
2062
2075
|
"onUpdate:modelValue": B[0] || (B[0] = (A) => r.value = A),
|
|
2063
2076
|
class: "wx-categories__list",
|
|
@@ -2073,7 +2086,7 @@ const yn = /* @__PURE__ */ R({
|
|
|
2073
2086
|
to: `${t.options.path}/${A.id}`
|
|
2074
2087
|
}, {
|
|
2075
2088
|
default: g(() => [
|
|
2076
|
-
O("span",
|
|
2089
|
+
O("span", kn, [
|
|
2077
2090
|
b(n(G), {
|
|
2078
2091
|
truncate: "",
|
|
2079
2092
|
weight: "medium"
|
|
@@ -2083,7 +2096,7 @@ const yn = /* @__PURE__ */ R({
|
|
|
2083
2096
|
]),
|
|
2084
2097
|
_: 2
|
|
2085
2098
|
}, 1024),
|
|
2086
|
-
A.is_visible ? U("", !0) : (p(), $(n(
|
|
2099
|
+
A.is_visible ? U("", !0) : (p(), $(n(st), {
|
|
2087
2100
|
key: 0,
|
|
2088
2101
|
content: n(s)("hidden")
|
|
2089
2102
|
}, {
|
|
@@ -2139,11 +2152,11 @@ const yn = /* @__PURE__ */ R({
|
|
|
2139
2152
|
}, 8, ["title", "actions"]);
|
|
2140
2153
|
};
|
|
2141
2154
|
}
|
|
2142
|
-
}),
|
|
2155
|
+
}), $n = {
|
|
2143
2156
|
class: "wx-save-state",
|
|
2144
2157
|
role: "status",
|
|
2145
2158
|
"aria-live": "polite"
|
|
2146
|
-
},
|
|
2159
|
+
}, Tn = /* @__PURE__ */ R({
|
|
2147
2160
|
__name: "SaveState",
|
|
2148
2161
|
props: {
|
|
2149
2162
|
state: {},
|
|
@@ -2163,9 +2176,9 @@ const yn = /* @__PURE__ */ R({
|
|
|
2163
2176
|
const s = x(
|
|
2164
2177
|
() => t.state === "saving" ? "saving" : l.value ? "saved" : null
|
|
2165
2178
|
);
|
|
2166
|
-
return
|
|
2179
|
+
return Ze(() => {
|
|
2167
2180
|
i !== null && clearTimeout(i);
|
|
2168
|
-
}), (o, r) => (p(), T("span",
|
|
2181
|
+
}), (o, r) => (p(), T("span", $n, [
|
|
2169
2182
|
s.value ? (p(), $(n(Ve), {
|
|
2170
2183
|
key: 0,
|
|
2171
2184
|
class: ae(["wx-save-state__mark", { "is-saved": s.value === "saved" }]),
|
|
@@ -2175,9 +2188,9 @@ const yn = /* @__PURE__ */ R({
|
|
|
2175
2188
|
}, null, 8, ["class", "name", "spin", "label"])) : U("", !0)
|
|
2176
2189
|
]));
|
|
2177
2190
|
}
|
|
2178
|
-
}),
|
|
2191
|
+
}), Sn = /* @__PURE__ */ Y(Tn, [["__scopeId", "data-v-216e5e44"]]), Cn = { class: "wx-screen-host" }, Wn = /* @__PURE__ */ R({
|
|
2179
2192
|
__name: "Screen",
|
|
2180
|
-
props: /* @__PURE__ */
|
|
2193
|
+
props: /* @__PURE__ */ oe({
|
|
2181
2194
|
name: {},
|
|
2182
2195
|
errors: { default: void 0 },
|
|
2183
2196
|
disabled: { type: Boolean, default: !1 },
|
|
@@ -2188,9 +2201,9 @@ const yn = /* @__PURE__ */ R({
|
|
|
2188
2201
|
modelValue: { default: () => ({}) },
|
|
2189
2202
|
modelModifiers: {}
|
|
2190
2203
|
}),
|
|
2191
|
-
emits: /* @__PURE__ */
|
|
2204
|
+
emits: /* @__PURE__ */ oe(["loaded"], ["update:modelValue"]),
|
|
2192
2205
|
setup(e, { expose: t, emit: a }) {
|
|
2193
|
-
const l = e, i = a, s =
|
|
2206
|
+
const l = e, i = a, s = de(e, "modelValue"), o = X(), r = P("webx-admin"), u = W(null), c = W(null);
|
|
2194
2207
|
async function h() {
|
|
2195
2208
|
u.value = null, c.value = null;
|
|
2196
2209
|
try {
|
|
@@ -2202,16 +2215,16 @@ const yn = /* @__PURE__ */ R({
|
|
|
2202
2215
|
}
|
|
2203
2216
|
return ee([() => l.name, () => o.i18n.state.locale], () => {
|
|
2204
2217
|
h();
|
|
2205
|
-
}, { immediate: !0 }), t({ reload: h }), (m, v) => (p(), T("div",
|
|
2218
|
+
}, { immediate: !0 }), t({ reload: h }), (m, v) => (p(), T("div", Cn, [
|
|
2206
2219
|
c.value ? (p(), $(n(be), {
|
|
2207
2220
|
key: 0,
|
|
2208
2221
|
type: "danger",
|
|
2209
2222
|
title: n(r)("shell.error-title"),
|
|
2210
2223
|
description: c.value
|
|
2211
|
-
}, null, 8, ["title", "description"])) : u.value === null ? (p(), $(n(
|
|
2224
|
+
}, null, 8, ["title", "description"])) : u.value === null ? (p(), $(n(ue), {
|
|
2212
2225
|
key: 1,
|
|
2213
2226
|
rows: 4
|
|
2214
|
-
})) : (p(), $(n(
|
|
2227
|
+
})) : (p(), $(n(Zt), {
|
|
2215
2228
|
key: 2,
|
|
2216
2229
|
modelValue: s.value,
|
|
2217
2230
|
"onUpdate:modelValue": v[0] || (v[0] = (d) => s.value = d),
|
|
@@ -2228,20 +2241,25 @@ const yn = /* @__PURE__ */ R({
|
|
|
2228
2241
|
}, null, 8, ["modelValue", "root", "patch", "types", "errors", "translate", "can", "disabled", "label-position", "label-width", "size"]))
|
|
2229
2242
|
]));
|
|
2230
2243
|
}
|
|
2231
|
-
}),
|
|
2244
|
+
}), Ln = /* @__PURE__ */ R({
|
|
2232
2245
|
name: "WxCategoryEditorPage",
|
|
2233
2246
|
__name: "CategoryEditorPage",
|
|
2234
2247
|
props: {
|
|
2235
2248
|
options: {}
|
|
2236
2249
|
},
|
|
2237
2250
|
setup(e) {
|
|
2238
|
-
const t = e, a = X(), l = xe(a, t.options.api), i =
|
|
2251
|
+
const t = e, a = X(), l = xe(a, t.options.api), i = et(), s = ge(), o = nt(), r = Ne(t.options.words), u = Re(), c = x(() => Number(i.params.id)), h = x(() => t.options.path), m = W(null), v = W({}), d = W(null), w = W(""), f = W(!0), y = W(!1), k = W({}), M = x(() => a.can(t.options.manage)), J = x(() => JSON.stringify(v.value)), S = x(() => w.value !== "" && J.value !== w.value), B = x(() => y.value ? "saving" : S.value ? "unsaved" : "saved"), C = x(
|
|
2239
2252
|
() => a.state.manifest?.modules.find((z) => z.id === t.options.module)?.title ?? ""
|
|
2240
2253
|
), A = x(() => {
|
|
2241
2254
|
const z = v.value.title;
|
|
2242
|
-
return
|
|
2255
|
+
return jt(z, o.active.value, m.value?.name ?? "") || r("untitled");
|
|
2256
|
+
});
|
|
2257
|
+
bn({ category: m, values: v, prefix: d, moving: () => r("address-moving") }), Aa({
|
|
2258
|
+
values: v,
|
|
2259
|
+
prefix: d,
|
|
2260
|
+
path: x(() => m.value?.path),
|
|
2261
|
+
moving: () => r("address-moving")
|
|
2243
2262
|
});
|
|
2244
|
-
oa({ category: m, values: v, prefix: d, moving: () => r("address-moving") });
|
|
2245
2263
|
function E(z) {
|
|
2246
2264
|
m.value = z.category, v.value = z.values, d.value = z.prefix, w.value = JSON.stringify(z.values);
|
|
2247
2265
|
}
|
|
@@ -2255,7 +2273,7 @@ const yn = /* @__PURE__ */ R({
|
|
|
2255
2273
|
f.value = !1;
|
|
2256
2274
|
}
|
|
2257
2275
|
}
|
|
2258
|
-
async function
|
|
2276
|
+
async function le() {
|
|
2259
2277
|
if (!(!m.value || y.value || !M.value)) {
|
|
2260
2278
|
y.value = !0, k.value = {};
|
|
2261
2279
|
try {
|
|
@@ -2287,15 +2305,15 @@ const yn = /* @__PURE__ */ R({
|
|
|
2287
2305
|
S.value && z.preventDefault();
|
|
2288
2306
|
}
|
|
2289
2307
|
function ke(z) {
|
|
2290
|
-
(z.ctrlKey || z.metaKey) && z.key.toLowerCase() === "s" && (z.preventDefault(), S.value &&
|
|
2308
|
+
(z.ctrlKey || z.metaKey) && z.key.toLowerCase() === "s" && (z.preventDefault(), S.value && le());
|
|
2291
2309
|
}
|
|
2292
2310
|
ee(c, () => {
|
|
2293
2311
|
K();
|
|
2294
2312
|
}), Le(() => {
|
|
2295
2313
|
K(), window.addEventListener("beforeunload", te);
|
|
2296
|
-
}),
|
|
2314
|
+
}), Ze(() => {
|
|
2297
2315
|
window.removeEventListener("beforeunload", te);
|
|
2298
|
-
}),
|
|
2316
|
+
}), St(async () => !S.value || !M.value ? !0 : await he({
|
|
2299
2317
|
title: r("leave-title"),
|
|
2300
2318
|
message: r("leave-text"),
|
|
2301
2319
|
confirmText: r("leave"),
|
|
@@ -2320,19 +2338,19 @@ const yn = /* @__PURE__ */ R({
|
|
|
2320
2338
|
onKeydown: ke
|
|
2321
2339
|
}, [
|
|
2322
2340
|
f.value || !m.value ? (p(), T(H, { key: 0 }, [
|
|
2323
|
-
b(n(
|
|
2341
|
+
b(n(ue), {
|
|
2324
2342
|
class: "wx-category-editor__ghost",
|
|
2325
2343
|
title: "",
|
|
2326
2344
|
rows: 1
|
|
2327
2345
|
}),
|
|
2328
2346
|
b(n(Se), null, {
|
|
2329
2347
|
default: g(() => [
|
|
2330
|
-
b(n(
|
|
2348
|
+
b(n(ue), { rows: 6 })
|
|
2331
2349
|
]),
|
|
2332
2350
|
_: 1
|
|
2333
2351
|
})
|
|
2334
2352
|
], 64)) : (p(), T(H, { key: 1 }, [
|
|
2335
|
-
b(
|
|
2353
|
+
b(it, {
|
|
2336
2354
|
divider: "",
|
|
2337
2355
|
back: h.value,
|
|
2338
2356
|
"back-label": C.value,
|
|
@@ -2341,7 +2359,7 @@ const yn = /* @__PURE__ */ R({
|
|
|
2341
2359
|
actions: _e.value
|
|
2342
2360
|
}, Ae({
|
|
2343
2361
|
trail: g(() => [
|
|
2344
|
-
b(n(
|
|
2362
|
+
b(n(Kt), {
|
|
2345
2363
|
size: "sm",
|
|
2346
2364
|
label: n(r)("trail")
|
|
2347
2365
|
}, {
|
|
@@ -2380,23 +2398,23 @@ const yn = /* @__PURE__ */ R({
|
|
|
2380
2398
|
key: "0"
|
|
2381
2399
|
}
|
|
2382
2400
|
]), 1032, ["back", "back-label", "title", "subtitle", "actions"]),
|
|
2383
|
-
b(
|
|
2401
|
+
b(Wn, {
|
|
2384
2402
|
modelValue: v.value,
|
|
2385
2403
|
"onUpdate:modelValue": q[0] || (q[0] = (_) => v.value = _),
|
|
2386
2404
|
name: t.options.screen,
|
|
2387
2405
|
errors: k.value,
|
|
2388
2406
|
disabled: !M.value || y.value
|
|
2389
2407
|
}, null, 8, ["modelValue", "name", "errors", "disabled"]),
|
|
2390
|
-
M.value ? (p(), $(n(
|
|
2408
|
+
M.value ? (p(), $(n(qt), { key: 0 }, {
|
|
2391
2409
|
state: g(() => [
|
|
2392
|
-
b(
|
|
2410
|
+
b(Sn, { state: B.value }, null, 8, ["state"])
|
|
2393
2411
|
]),
|
|
2394
2412
|
default: g(() => [
|
|
2395
2413
|
b(n(Z), {
|
|
2396
2414
|
type: "primary",
|
|
2397
2415
|
loading: y.value,
|
|
2398
2416
|
disabled: !S.value,
|
|
2399
|
-
onClick:
|
|
2417
|
+
onClick: le
|
|
2400
2418
|
}, {
|
|
2401
2419
|
default: g(() => [
|
|
2402
2420
|
V(L(n(r)("save")), 1)
|
|
@@ -2409,19 +2427,24 @@ const yn = /* @__PURE__ */ R({
|
|
|
2409
2427
|
], 64))
|
|
2410
2428
|
], 32));
|
|
2411
2429
|
}
|
|
2412
|
-
}),
|
|
2413
|
-
function
|
|
2430
|
+
}), An = /* @__PURE__ */ Y(Ln, [["__scopeId", "data-v-86d85f8c"]]);
|
|
2431
|
+
function je(e, t) {
|
|
2432
|
+
return R({
|
|
2433
|
+
name: "WxCategoriesView",
|
|
2434
|
+
setup: () => () => re(e, { options: t })
|
|
2435
|
+
});
|
|
2436
|
+
}
|
|
2437
|
+
function tl(e) {
|
|
2414
2438
|
return [
|
|
2415
|
-
{ path: e.path, name: e.name, component:
|
|
2439
|
+
{ path: e.path, name: e.name, component: je(_n, e) },
|
|
2416
2440
|
{
|
|
2417
2441
|
path: `${e.path}/:id(\\d+)`,
|
|
2418
2442
|
name: `${e.name}.edit`,
|
|
2419
|
-
component:
|
|
2420
|
-
props: { options: e }
|
|
2443
|
+
component: je(An, e)
|
|
2421
2444
|
}
|
|
2422
2445
|
];
|
|
2423
2446
|
}
|
|
2424
|
-
const
|
|
2447
|
+
const al = 76, nl = /* @__PURE__ */ R({
|
|
2425
2448
|
__name: "FilterChips",
|
|
2426
2449
|
props: {
|
|
2427
2450
|
filters: {}
|
|
@@ -2441,7 +2464,7 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2441
2464
|
_: 2
|
|
2442
2465
|
}, 1032, ["onClose"]))), 128));
|
|
2443
2466
|
}
|
|
2444
|
-
}),
|
|
2467
|
+
}), zn = { class: "wx-rename__footer" }, Vn = /* @__PURE__ */ R({
|
|
2445
2468
|
__name: "RenameButton",
|
|
2446
2469
|
props: {
|
|
2447
2470
|
name: { default: "" },
|
|
@@ -2454,7 +2477,7 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2454
2477
|
setup(e, { emit: t }) {
|
|
2455
2478
|
const a = e, l = t, i = P("webx-admin"), s = W(!1), o = W(a.name), r = W(null), u = x(() => a.label ?? i("editor.rename"));
|
|
2456
2479
|
ee(s, async (h) => {
|
|
2457
|
-
h && (o.value = a.name, await
|
|
2480
|
+
h && (o.value = a.name, await Je(), r.value?.focus(), r.value?.select());
|
|
2458
2481
|
});
|
|
2459
2482
|
function c() {
|
|
2460
2483
|
const h = o.value.trim();
|
|
@@ -2464,7 +2487,7 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2464
2487
|
}
|
|
2465
2488
|
l("rename", h), s.value = !1;
|
|
2466
2489
|
}
|
|
2467
|
-
return (h, m) => (p(), $(n(
|
|
2490
|
+
return (h, m) => (p(), $(n(Yt), {
|
|
2468
2491
|
open: s.value,
|
|
2469
2492
|
"onUpdate:open": m[2] || (m[2] = (v) => s.value = v),
|
|
2470
2493
|
title: u.value,
|
|
@@ -2484,7 +2507,7 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2484
2507
|
default: g(() => [
|
|
2485
2508
|
O("form", {
|
|
2486
2509
|
class: "wx-rename",
|
|
2487
|
-
onSubmit:
|
|
2510
|
+
onSubmit: qe(c, ["prevent"])
|
|
2488
2511
|
}, [
|
|
2489
2512
|
b(n(ye), {
|
|
2490
2513
|
ref_key: "field",
|
|
@@ -2493,9 +2516,9 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2493
2516
|
"onUpdate:modelValue": m[0] || (m[0] = (v) => o.value = v),
|
|
2494
2517
|
"aria-label": u.value,
|
|
2495
2518
|
placeholder: e.placeholder,
|
|
2496
|
-
onKeydown: m[1] || (m[1] =
|
|
2519
|
+
onKeydown: m[1] || (m[1] = Qe((v) => s.value = !1, ["esc"]))
|
|
2497
2520
|
}, null, 8, ["modelValue", "aria-label", "placeholder"]),
|
|
2498
|
-
O("div",
|
|
2521
|
+
O("div", zn, [
|
|
2499
2522
|
b(n(Z), {
|
|
2500
2523
|
type: "primary",
|
|
2501
2524
|
size: "sm",
|
|
@@ -2512,7 +2535,7 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2512
2535
|
_: 1
|
|
2513
2536
|
}, 8, ["open", "title"]));
|
|
2514
2537
|
}
|
|
2515
|
-
}),
|
|
2538
|
+
}), ll = /* @__PURE__ */ Y(Vn, [["__scopeId", "data-v-d879e8d3"]]), En = ["innerHTML"], Un = /* @__PURE__ */ R({
|
|
2516
2539
|
__name: "HelpButton",
|
|
2517
2540
|
props: {
|
|
2518
2541
|
body: {},
|
|
@@ -2522,7 +2545,7 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2522
2545
|
width: { default: 720 }
|
|
2523
2546
|
},
|
|
2524
2547
|
setup(e) {
|
|
2525
|
-
const t = e, a = P("webx-admin"), l = W(!1), i = x(() => t.title ?? a("help.title")), s = x(() =>
|
|
2548
|
+
const t = e, a = P("webx-admin"), l = W(!1), i = x(() => t.title ?? a("help.title")), s = x(() => mn(t.body));
|
|
2526
2549
|
return (o, r) => (p(), T(H, null, [
|
|
2527
2550
|
b(n(se), {
|
|
2528
2551
|
type: "details",
|
|
@@ -2532,7 +2555,7 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2532
2555
|
title: e.label ?? i.value,
|
|
2533
2556
|
onClick: r[0] || (r[0] = (u) => l.value = !0)
|
|
2534
2557
|
}, null, 8, ["size", "title"]),
|
|
2535
|
-
b(n(
|
|
2558
|
+
b(n(lt), {
|
|
2536
2559
|
open: l.value,
|
|
2537
2560
|
"onUpdate:open": r[1] || (r[1] = (u) => l.value = u),
|
|
2538
2561
|
title: i.value,
|
|
@@ -2542,13 +2565,13 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2542
2565
|
O("div", {
|
|
2543
2566
|
class: "wx-help",
|
|
2544
2567
|
innerHTML: s.value
|
|
2545
|
-
}, null, 8,
|
|
2568
|
+
}, null, 8, En)
|
|
2546
2569
|
]),
|
|
2547
2570
|
_: 1
|
|
2548
2571
|
}, 8, ["open", "title", "width"])
|
|
2549
2572
|
], 64));
|
|
2550
2573
|
}
|
|
2551
|
-
}),
|
|
2574
|
+
}), ol = /* @__PURE__ */ Y(Un, [["__scopeId", "data-v-6c280d42"]]), ht = /* @__PURE__ */ R({
|
|
2552
2575
|
name: "WxDate",
|
|
2553
2576
|
__name: "DateText",
|
|
2554
2577
|
props: {
|
|
@@ -2558,8 +2581,8 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2558
2581
|
tone: { default: "muted" }
|
|
2559
2582
|
},
|
|
2560
2583
|
setup(e) {
|
|
2561
|
-
const t = e, a =
|
|
2562
|
-
return (o, r) => i.value ? (p(), $(n(
|
|
2584
|
+
const t = e, a = ft(), l = x(() => t.compact ? a.compact(t.value) : a.short(t.value)), i = x(() => a.exact(t.value)), s = x(() => a.iso(t.value));
|
|
2585
|
+
return (o, r) => i.value ? (p(), $(n(st), {
|
|
2563
2586
|
key: 0,
|
|
2564
2587
|
content: i.value
|
|
2565
2588
|
}, {
|
|
@@ -2588,16 +2611,16 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2588
2611
|
_: 1
|
|
2589
2612
|
}, 8, ["size", "tone"]));
|
|
2590
2613
|
}
|
|
2591
|
-
}),
|
|
2614
|
+
}), Rn = { class: "wx-notes" }, Nn = {
|
|
2592
2615
|
key: 3,
|
|
2593
2616
|
class: "wx-notes__list"
|
|
2594
|
-
},
|
|
2617
|
+
}, Bn = { class: "wx-note__body" }, In = { class: "wx-note__head" }, Pn = { class: "wx-note__buttons" }, Dn = {
|
|
2595
2618
|
key: 1,
|
|
2596
2619
|
class: "wx-note__text"
|
|
2597
|
-
},
|
|
2620
|
+
}, Mn = {
|
|
2598
2621
|
key: 4,
|
|
2599
2622
|
class: "wx-notes__new"
|
|
2600
|
-
},
|
|
2623
|
+
}, Fn = /* @__PURE__ */ R({
|
|
2601
2624
|
name: "WxNotes",
|
|
2602
2625
|
__name: "NotesFeed",
|
|
2603
2626
|
props: {
|
|
@@ -2608,7 +2631,7 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2608
2631
|
},
|
|
2609
2632
|
emits: ["change"],
|
|
2610
2633
|
setup(e, { emit: t }) {
|
|
2611
|
-
const a = e, l = t, i = X(), s = P("webx-admin"), o =
|
|
2634
|
+
const a = e, l = t, i = X(), s = P("webx-admin"), o = Re(), r = W([]), u = W(!0), c = W(""), h = W(!1), m = W(null), v = W(""), d = x(() => yn(i, a.type, a.id)), w = x(() => a.title ?? s("notes.title"));
|
|
2612
2635
|
async function f() {
|
|
2613
2636
|
u.value = !0;
|
|
2614
2637
|
try {
|
|
@@ -2683,7 +2706,7 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2683
2706
|
function B(C) {
|
|
2684
2707
|
return C.author?.name ?? s("notes.unknown-author");
|
|
2685
2708
|
}
|
|
2686
|
-
return (C, A) => (p(), T("section",
|
|
2709
|
+
return (C, A) => (p(), T("section", Rn, [
|
|
2687
2710
|
w.value ? (p(), $(n(G), {
|
|
2688
2711
|
key: 0,
|
|
2689
2712
|
weight: "medium",
|
|
@@ -2694,25 +2717,25 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2694
2717
|
]),
|
|
2695
2718
|
_: 1
|
|
2696
2719
|
})) : U("", !0),
|
|
2697
|
-
u.value ? (p(), $(n(
|
|
2720
|
+
u.value ? (p(), $(n(ue), {
|
|
2698
2721
|
key: 1,
|
|
2699
2722
|
rows: 2
|
|
2700
|
-
})) : r.value.length === 0 ? (p(), $(n(
|
|
2723
|
+
})) : r.value.length === 0 ? (p(), $(n(ot), {
|
|
2701
2724
|
key: 2,
|
|
2702
2725
|
size: "sm",
|
|
2703
2726
|
description: n(s)("notes.empty")
|
|
2704
|
-
}, null, 8, ["description"])) : (p(), T("ul",
|
|
2727
|
+
}, null, 8, ["description"])) : (p(), T("ul", Nn, [
|
|
2705
2728
|
(p(!0), T(H, null, Q(r.value, (E) => (p(), T("li", {
|
|
2706
2729
|
key: E.id,
|
|
2707
2730
|
class: "wx-note"
|
|
2708
2731
|
}, [
|
|
2709
|
-
b(n(
|
|
2732
|
+
b(n(Xt), {
|
|
2710
2733
|
name: B(E),
|
|
2711
2734
|
size: "sm",
|
|
2712
2735
|
tone: "auto"
|
|
2713
2736
|
}, null, 8, ["name"]),
|
|
2714
|
-
O("div",
|
|
2715
|
-
O("div",
|
|
2737
|
+
O("div", Bn, [
|
|
2738
|
+
O("div", In, [
|
|
2716
2739
|
b(n(G), {
|
|
2717
2740
|
size: "sm",
|
|
2718
2741
|
weight: "medium",
|
|
@@ -2723,7 +2746,7 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2723
2746
|
]),
|
|
2724
2747
|
_: 2
|
|
2725
2748
|
}, 1024),
|
|
2726
|
-
b(
|
|
2749
|
+
b(ht, {
|
|
2727
2750
|
value: E.created_at
|
|
2728
2751
|
}, null, 8, ["value"]),
|
|
2729
2752
|
b(Ue, {
|
|
@@ -2737,7 +2760,7 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2737
2760
|
"onUpdate:modelValue": A[0] || (A[0] = (K) => v.value = K),
|
|
2738
2761
|
autosize: { minRows: 2, maxRows: 10 }
|
|
2739
2762
|
}, null, 8, ["modelValue"]),
|
|
2740
|
-
O("div",
|
|
2763
|
+
O("div", Pn, [
|
|
2741
2764
|
b(n(Z), {
|
|
2742
2765
|
size: "sm",
|
|
2743
2766
|
type: "primary",
|
|
@@ -2759,11 +2782,11 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2759
2782
|
_: 1
|
|
2760
2783
|
})
|
|
2761
2784
|
])
|
|
2762
|
-
], 64)) : (p(), T("p",
|
|
2785
|
+
], 64)) : (p(), T("p", Dn, L(E.body), 1))
|
|
2763
2786
|
])
|
|
2764
2787
|
]))), 128))
|
|
2765
2788
|
])),
|
|
2766
|
-
e.can ? (p(), T("div",
|
|
2789
|
+
e.can ? (p(), T("div", Mn, [
|
|
2767
2790
|
b(n(De), {
|
|
2768
2791
|
modelValue: c.value,
|
|
2769
2792
|
"onUpdate:modelValue": A[2] || (A[2] = (E) => c.value = E),
|
|
@@ -2785,18 +2808,18 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2785
2808
|
])) : U("", !0)
|
|
2786
2809
|
]));
|
|
2787
2810
|
}
|
|
2788
|
-
}),
|
|
2811
|
+
}), sl = /* @__PURE__ */ Y(Fn, [["__scopeId", "data-v-71004c1a"]]), On = {
|
|
2789
2812
|
key: 1,
|
|
2790
2813
|
class: "wx-backup-note"
|
|
2791
|
-
},
|
|
2814
|
+
}, Hn = 48, jn = /* @__PURE__ */ R({
|
|
2792
2815
|
name: "WxBackupNote",
|
|
2793
2816
|
__name: "BackupNote",
|
|
2794
2817
|
setup(e) {
|
|
2795
|
-
const t = X(), a =
|
|
2818
|
+
const t = X(), a = ft(), l = P("webx-admin"), i = x(() => t.state.manifest?.backup ?? null), s = x(() => i.value !== null && t.can("settings.view")), o = x(() => {
|
|
2796
2819
|
const c = i.value?.at;
|
|
2797
2820
|
if (c == null) return !0;
|
|
2798
2821
|
const h = new Date(c).getTime();
|
|
2799
|
-
return Number.isNaN(h) || Date.now() - h >
|
|
2822
|
+
return Number.isNaN(h) || Date.now() - h > Hn * 36e5;
|
|
2800
2823
|
}), r = x(() => {
|
|
2801
2824
|
const c = i.value?.bytes;
|
|
2802
2825
|
if (c == null) return "";
|
|
@@ -2818,7 +2841,7 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2818
2841
|
type: "warning",
|
|
2819
2842
|
variant: "soft",
|
|
2820
2843
|
description: u.value
|
|
2821
|
-
}, null, 8, ["description"])) : s.value ? (p(), T("p",
|
|
2844
|
+
}, null, 8, ["description"])) : s.value ? (p(), T("p", On, [
|
|
2822
2845
|
b(n(G), {
|
|
2823
2846
|
size: "sm",
|
|
2824
2847
|
tone: "muted"
|
|
@@ -2828,7 +2851,7 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2828
2851
|
]),
|
|
2829
2852
|
_: 1
|
|
2830
2853
|
}),
|
|
2831
|
-
b(
|
|
2854
|
+
b(ht, {
|
|
2832
2855
|
value: i.value?.at
|
|
2833
2856
|
}, null, 8, ["value"]),
|
|
2834
2857
|
r.value ? (p(), $(n(G), {
|
|
@@ -2843,65 +2866,69 @@ const Qn = 76, Zn = /* @__PURE__ */ R({
|
|
|
2843
2866
|
})) : U("", !0)
|
|
2844
2867
|
])) : U("", !0);
|
|
2845
2868
|
}
|
|
2846
|
-
}),
|
|
2869
|
+
}), il = /* @__PURE__ */ Y(jn, [["__scopeId", "data-v-beeee67e"]]);
|
|
2847
2870
|
export {
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2871
|
+
Pa as AdminLanding,
|
|
2872
|
+
Da as AdminNav,
|
|
2873
|
+
Ga as AdminShell,
|
|
2851
2874
|
Ce as HttpError,
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2875
|
+
ba as WxBackButton,
|
|
2876
|
+
il as WxBackupNote,
|
|
2877
|
+
ia as WxCategoriesField,
|
|
2878
|
+
_n as WxCategoriesPage,
|
|
2879
|
+
xn as WxCategoryCreateDialog,
|
|
2880
|
+
An as WxCategoryEditorPage,
|
|
2881
|
+
Me as WxCategorySlug,
|
|
2882
|
+
ht as WxDate,
|
|
2883
|
+
nl as WxFilterChips,
|
|
2884
|
+
ol as WxHelpButton,
|
|
2885
|
+
ya as WxLinkField,
|
|
2886
|
+
ga as WxLinkPicker,
|
|
2887
|
+
rt as WxListScreen,
|
|
2888
|
+
sl as WxNotes,
|
|
2889
|
+
ll as WxRenameButton,
|
|
2890
|
+
La as WxRichTextField,
|
|
2868
2891
|
Ue as WxRowMenu,
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2892
|
+
Sn as WxSaveState,
|
|
2893
|
+
Wn as WxScreen,
|
|
2894
|
+
it as WxScreenHead,
|
|
2895
|
+
Me as WxSlugField,
|
|
2896
|
+
dt as adminKey,
|
|
2897
|
+
mt as adminMessages,
|
|
2898
|
+
Ra as adminTypes,
|
|
2899
|
+
tl as categoryRoutes,
|
|
2900
|
+
Qn as createAdmin,
|
|
2901
|
+
Na as createAdminContext,
|
|
2878
2902
|
xe as createCategoriesApi,
|
|
2879
|
-
|
|
2880
|
-
|
|
2903
|
+
vn as createDates,
|
|
2904
|
+
Qa as createHttp,
|
|
2881
2905
|
Ee as createI18n,
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2906
|
+
ua as createLinksApi,
|
|
2907
|
+
yn as createNotesApi,
|
|
2908
|
+
nn as createTheme,
|
|
2909
|
+
ra as emptyLink,
|
|
2910
|
+
pn as errorText,
|
|
2887
2911
|
we as i18nKey,
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2912
|
+
wn as itemOrderMode,
|
|
2913
|
+
Ba as provideAdmin,
|
|
2914
|
+
ta as provideI18n,
|
|
2915
|
+
Aa as provideRecordAddress,
|
|
2916
|
+
an as provideTheme,
|
|
2917
|
+
Fe as readCookie,
|
|
2918
|
+
ut as recordAddressKey,
|
|
2919
|
+
mn as renderMarkdown,
|
|
2920
|
+
na as reorderItems,
|
|
2921
|
+
al as rowMenuWidth,
|
|
2922
|
+
ct as themeKey,
|
|
2897
2923
|
X as useAdmin,
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2924
|
+
Zn as useCategoryEditor,
|
|
2925
|
+
Ne as useCategoryWords,
|
|
2926
|
+
ft as useDates,
|
|
2927
|
+
Re as useErrorText,
|
|
2928
|
+
ea as useI18n,
|
|
2929
|
+
el as useItemOrder,
|
|
2930
|
+
za as useRecordAddress,
|
|
2931
|
+
Jn as useTheme,
|
|
2905
2932
|
P as useTranslate
|
|
2906
2933
|
};
|
|
2907
2934
|
//# sourceMappingURL=index.js.map
|