@wssto2/vue-core 0.3.0 → 0.4.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/README.md +3 -0
- package/dist/{AccessGate.vue_vue_type_script_setup_true_lang-DKX3PH2n.js → AccessGate.vue_vue_type_script_setup_true_lang-DcbZBINh.js} +1 -1
- package/dist/{AccountMenuItem.vue_vue_type_script_setup_true_lang-DIGqTLwd.js → AccountMenuItem.vue_vue_type_script_setup_true_lang-CPeNxh5K.js} +1 -1
- package/dist/{ActionRow.vue_vue_type_script_setup_true_lang-B7Lpfkf6.js → ActionRow.vue_vue_type_script_setup_true_lang-LlfIPWsJ.js} +2 -2
- package/dist/{Activity-DviO0VQ8.js → Activity-ylf1r2lv.js} +9 -9
- package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-CvAnzdc1.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-CUtGqVGA.js} +4 -4
- package/dist/{AlertDialog.vue_vue_type_script_setup_true_lang-CJsMUIUg.js → AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js} +1 -1
- package/dist/{AsyncSection.vue_vue_type_script_setup_true_lang-CCtthMRd.js → AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js} +4 -4
- package/dist/{Banner.vue_vue_type_script_setup_true_lang-Cib_YYpr.js → Banner.vue_vue_type_script_setup_true_lang-DSStj_5z.js} +1 -1
- package/dist/{Button.vue_vue_type_script_setup_true_lang-CYil8h9z.js → Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js} +1 -1
- package/dist/{Changes-DlT5mN9G.js → Changes-B1-2LPkp.js} +8 -8
- package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-CXILftEc.js → CollectionPage.vue_vue_type_script_setup_true_lang-DU_jzTg7.js} +176 -172
- package/dist/{DataTable.vue_vue_type_script_setup_true_lang-DSYgS9lC.js → DataTable.vue_vue_type_script_setup_true_lang-UH6f9puS.js} +1 -1
- package/dist/DateField.vue_vue_type_script_setup_true_lang-GVasv8ao.js +255 -0
- package/dist/DeadLetters-CcogaMTK.js +104 -0
- package/dist/{DiscardChangesModal.vue_vue_type_script_setup_true_lang-Cb3xJI1x.js → DiscardChangesModal.vue_vue_type_script_setup_true_lang-D1arePCZ.js} +1 -1
- package/dist/{EmptyState.vue_vue_type_script_setup_true_lang-C2ZYIT9F.js → EmptyState.vue_vue_type_script_setup_true_lang-50p-Mp8I.js} +1 -1
- package/dist/{FormErrors.vue_vue_type_script_setup_true_lang-DVgNBQ8p.js → FormErrors.vue_vue_type_script_setup_true_lang-BQb7wLT0.js} +1 -1
- package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-0mfG8TkU.js → FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js} +10 -10
- package/dist/{FormView.vue_vue_type_script_setup_true_lang-Bz2m3AtF.js → FormView.vue_vue_type_script_setup_true_lang-cr0xNDXP.js} +2 -2
- package/dist/{General-BD-Hcz0a.js → General-DSrflQib.js} +9 -9
- package/dist/HeaderAction.vue_vue_type_script_setup_true_lang-Cgji-Jrr.js +45 -0
- package/dist/{Icon.vue_vue_type_script_lang-VvcV2Bzo.js → Icon.vue_vue_type_script_lang-D7oC-d-S.js} +33 -29
- package/dist/{IconTile.vue_vue_type_script_setup_true_lang-D7QgnUyN.js → IconTile.vue_vue_type_script_setup_true_lang-BpIjgu5E.js} +1 -1
- package/dist/{LeaveGuardRoot.vue_vue_type_script_setup_true_lang-C2udmeEA.js → LeaveGuardRoot.vue_vue_type_script_setup_true_lang-Cv7KlA5y.js} +1 -1
- package/dist/{Menu.vue_vue_type_script_setup_true_lang-BNAjx9tj.js → Menu.vue_vue_type_script_setup_true_lang-DTbAcDzL.js} +30 -26
- package/dist/{Modal.vue_vue_type_script_setup_true_lang-D7SwVPpL.js → Modal.vue_vue_type_script_setup_true_lang-DpBb8ans.js} +2 -2
- package/dist/{NewRolePage-Dla4YnMs.js → NewRolePage-Du9eyEG2.js} +4 -4
- package/dist/{NoAccess.vue_vue_type_script_setup_true_lang-8m9cNptR.js → NoAccess.vue_vue_type_script_setup_true_lang-DWxq-MTM.js} +1 -1
- package/dist/{NumberField.vue_vue_type_script_setup_true_lang-CYRg7Kfg.js → NumberField.vue_vue_type_script_setup_true_lang-C7N5nq0P.js} +1 -1
- package/dist/{PageBar.vue_vue_type_script_setup_true_lang-Cfr5xsJx.js → PageBar.vue_vue_type_script_setup_true_lang-B7qdEeej.js} +1 -1
- package/dist/{Panel.vue_vue_type_script_setup_true_lang-BCRxRK4D.js → Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js} +1 -1
- package/dist/PanelActions.vue_vue_type_script_setup_true_lang-E9VdIGkf.js +46 -0
- package/dist/{PhotoViewer.vue_vue_type_script_setup_true_lang-B3Q4dhqJ.js → PhotoViewer.vue_vue_type_script_setup_true_lang-QPCW3Xi6.js} +1 -1
- package/dist/ProfilePage-BjvWyg_e.js +654 -0
- package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-DKsaKlAq.js → RecordHeader.vue_vue_type_script_setup_true_lang-Ci4fs5s5.js} +2 -2
- package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-CJcKa9SW.js → ResourcePage.vue_vue_type_script_setup_true_lang-KPVA-1fI.js} +5 -5
- package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-DuEPOmjI.js → RoleEditor.vue_vue_type_script_setup_true_lang-Ci1Aqc37.js} +30 -29
- package/dist/{RolePage-bZzv_E4l.js → RolePage-BDD6volP.js} +13 -13
- package/dist/{RolesPage-BniZv0nB.js → RolesPage-Bzun0trr.js} +9 -9
- package/dist/{SectionList.vue_vue_type_script_setup_true_lang-BKP_bge8.js → SectionList.vue_vue_type_script_setup_true_lang-DBheVDeX.js} +3 -3
- package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-BgGEGxSI.js → SectionNavigator.vue_vue_type_script_setup_true_lang-L4TXI0wR.js} +6 -6
- package/dist/{SegmentedField.vue_vue_type_script_setup_true_lang-BZ9UdgA1.js → SegmentedField.vue_vue_type_script_setup_true_lang-BMqWlpsL.js} +1 -1
- package/dist/{SelectField.vue_vue_type_script_setup_true_lang-BiGaEKBQ.js → SelectField.vue_vue_type_script_setup_true_lang-7O1BAx04.js} +15 -14
- package/dist/{SessionList.vue_vue_type_script_setup_true_lang-DUQpr7gb.js → SessionList.vue_vue_type_script_setup_true_lang-D5KRitar.js} +4 -4
- package/dist/{Sessions-Co5-xdeb.js → Sessions-BOzz38WJ.js} +6 -6
- package/dist/SettingsPage-BXlYHt8u.js +255 -0
- package/dist/{Sheet.vue_vue_type_script_setup_true_lang-bHYzx7-J.js → Sheet.vue_vue_type_script_setup_true_lang-DgOFV4fa.js} +48 -45
- package/dist/{SignIn-BWwFbxki.js → SignIn-CenfvX8C.js} +7 -7
- package/dist/{SignInPage-FnLtoi2q.js → SignInPage-23sJGIXh.js} +6 -6
- package/dist/{SignInTable.vue_vue_type_script_setup_true_lang-Dnx3T_42.js → SignInTable.vue_vue_type_script_setup_true_lang-CEbAvZ_C.js} +1 -1
- package/dist/{SignIns-3UcI64_h.js → SignIns-DRaTo-T0.js} +6 -6
- package/dist/{SwipeActions.vue_vue_type_script_setup_true_lang-4I8m27ol.js → SwipeActions.vue_vue_type_script_setup_true_lang-BJIA2JfI.js} +1 -1
- package/dist/SwitchField.vue_vue_type_script_setup_true_lang-CM8yp9JQ.js +64 -0
- package/dist/{Tabs.vue_vue_type_script_setup_true_lang-BeGaydRr.js → Tabs.vue_vue_type_script_setup_true_lang-CcMcE38r.js} +1 -1
- package/dist/{TextField.vue_vue_type_script_setup_true_lang-C_FMf3Vc.js → TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js} +3 -3
- package/dist/TextareaField.vue_vue_type_script_setup_true_lang-CqAWfABZ.js +68 -0
- package/dist/TimeField.vue_vue_type_script_setup_true_lang-DWfAUlnz.js +164 -0
- package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-1RJGKxbD.js → Timestamp.vue_vue_type_script_setup_true_lang-FVRUr-9y.js} +1 -1
- package/dist/{UserRecord-Ci8HfwbX.js → UserRecord-BreLQOPG.js} +13 -13
- package/dist/{UsersList-vEJ-cgkT.js → UsersList-CKLqiOpt.js} +8 -8
- package/dist/{ViewTabs.vue_vue_type_script_setup_true_lang-ByqTU2JT.js → ViewTabs.vue_vue_type_script_setup_true_lang-BJIoZAlH.js} +1 -1
- package/dist/access/index.js +1 -1
- package/dist/access-DmAceEo5.js +42 -0
- package/dist/app/feature.d.ts +2 -0
- package/dist/app/index.js +11 -11
- package/dist/button/index.js +1 -1
- package/dist/{chrome-BS3xJcad.js → chrome-nUcmVu8G.js} +2 -2
- package/dist/client/index.js +11 -19
- package/dist/{client-Bw0aM5Gu.js → client-k9euDWF4.js} +19 -19
- package/dist/collection/definition.d.ts +3 -0
- package/dist/collection/index.js +6 -6
- package/dist/collection/useCollection.d.ts +2 -0
- package/dist/content/index.js +2 -2
- package/dist/{contributions-CDDg3fKp.js → contributions-DsfmDoRD.js} +1 -1
- package/dist/control-7EP4tjYy.js +313 -0
- package/dist/controls/index.js +4 -4
- package/dist/form/index.js +987 -1134
- package/dist/{guards-Cd1V28oG.js → guards-Dve61KjR.js} +1 -1
- package/dist/{http-DGGSKWvU.js → http-CNcDHSOj.js} +9 -8
- package/dist/i18n/index.js +20 -20
- package/dist/icon/core.d.ts +4 -0
- package/dist/icon/index.js +1 -1
- package/dist/identity/index.js +1 -1
- package/dist/index-0TeI4rVv.js +504 -0
- package/dist/{index-B2dbYZR9.js → index-BBdzJnvG.js} +15 -15
- package/dist/{index-BAcl44SC.js → index-CnVf6Uk_.js} +19 -19
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/modal/Sheet.vue.d.ts +2 -0
- package/dist/modal/index.js +5 -5
- package/dist/modules/events/entities.d.ts +16 -0
- package/dist/modules/events/routes.d.ts +17 -0
- package/dist/modules/events/schemas.d.ts +16 -0
- package/dist/modules/notification/entities.d.ts +46 -0
- package/dist/modules/notification/routes.d.ts +26 -0
- package/dist/modules/notification/schemas.d.ts +25 -0
- package/dist/{navigation-BPWa63ge.js → navigation-Cm3iChlR.js} +1 -1
- package/dist/{neighbors-D0WRBxXI.js → neighbors-DpaIMQAL.js} +1 -1
- package/dist/notifications/InboxPanel.vue.d.ts +16 -0
- package/dist/notifications/MarkAllRead.vue.d.ts +7 -0
- package/dist/notifications/NotificationBell.vue.d.ts +2 -0
- package/dist/notifications/SettingsLink.vue.d.ts +6 -0
- package/dist/notifications/context.d.ts +20 -0
- package/dist/notifications/deadletters/DeadLetters.vue.d.ts +2 -0
- package/dist/notifications/deadletters/access.d.ts +3 -0
- package/dist/notifications/deadletters/list.d.ts +3 -0
- package/dist/notifications/deadletters/routes.d.ts +13 -0
- package/dist/notifications/feature.d.ts +31 -0
- package/dist/notifications/inbox.d.ts +62 -0
- package/dist/notifications/index.d.ts +13 -0
- package/dist/notifications/index.js +8 -0
- package/dist/notifications/settings/EmailPanel.vue.d.ts +14 -0
- package/dist/notifications/settings/QuietHoursPanel.vue.d.ts +14 -0
- package/dist/notifications/settings/SettingsMenuItem.vue.d.ts +2 -0
- package/dist/notifications/settings/SettingsPage.vue.d.ts +2 -0
- package/dist/notifications/settings/categoryText.d.ts +9 -0
- package/dist/notifications/settings/routes.d.ts +13 -0
- package/dist/notifications/settings/settings.d.ts +18 -0
- package/dist/notifications/settings/state.d.ts +16 -0
- package/dist/notifications/state.d.ts +27 -0
- package/dist/notifications/stream.d.ts +21 -0
- package/dist/options-Ba_0uLWN.js +18 -0
- package/dist/overlay/index.js +3 -3
- package/dist/page/chrome.d.ts +4 -1
- package/dist/page/index.d.ts +1 -1
- package/dist/page/index.js +25 -24
- package/dist/phone/index.js +68 -67
- package/dist/platform/index.js +2 -2
- package/dist/{platform-hunMqFdB.js → platform-q3cjODLx.js} +1 -1
- package/dist/resource/index.js +1 -1
- package/dist/route-goWMxDUN.js +13 -0
- package/dist/router/access.d.ts +1 -1
- package/dist/router/index.js +5 -5
- package/dist/router/pageRefresh.d.ts +6 -0
- package/dist/{rowLayout-BI7a3Kom.js → rowLayout-BqTEhEuy.js} +5 -5
- package/dist/{sections-BEqW1dOc.js → sections-D-kD98vu.js} +2 -2
- package/dist/shell/BackofficeShell.vue.d.ts +4 -1
- package/dist/shell/NavigationDrawer.vue.d.ts +1 -1
- package/dist/shell/PullToRefresh.vue.d.ts +2 -0
- package/dist/shell/ShellSidebar.vue.d.ts +2 -1
- package/dist/shell/backofficeShell.d.ts +3 -1
- package/dist/shell/index.js +638 -584
- package/dist/shell/pullToRefresh.d.ts +16 -0
- package/dist/shell/search.d.ts +3 -0
- package/dist/state/index.js +4 -4
- package/dist/{status-C9aXR-Jb.js → status-jB5r1cG2.js} +2 -2
- package/dist/styles.css +1 -1
- package/dist/{suggestions-BJAqOj4c.js → suggestions-BxMm6MQA.js} +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/transport-BnP7WC0Y.js +4 -0
- package/dist/{useCommand-BgRwnYlV.js → useCommand-BkONMn3X.js} +2 -2
- package/dist/{useResourceForm-Bgc9jMcu.js → useResourceForm-D1hIpwW5.js} +1 -1
- package/dist/{useSaveChrome-chi6D3HY.js → useSaveChrome-DuWm0Czf.js} +1 -1
- package/dist/useTypedEntry-aTfPBAhw.js +857 -0
- package/package.json +8 -4
- package/dist/DateField.vue_vue_type_script_setup_true_lang-DMVjNsaM.js +0 -1099
- package/dist/ProfilePage-OJMQ8cr8.js +0 -691
- package/dist/TextareaField.vue_vue_type_script_setup_true_lang-CU3KTKIJ.js +0 -127
- package/dist/access-DdRFrVV1.js +0 -40
- package/dist/options-BXkMR63B.js +0 -329
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { hasInjectionContext as Je, inject as Ge, shallowRef as he, computed as _, watch as Ce, toValue as xe, ref as le, getCurrentScope as Ye, onScopeDispose as Ze, defineComponent as ce, openBlock as
|
|
1
|
+
import { hasInjectionContext as Je, inject as Ge, shallowRef as he, computed as _, watch as Ce, toValue as xe, ref as le, getCurrentScope as Ye, onScopeDispose as Ze, defineComponent as ce, openBlock as u, createElementBlock as y, createVNode as S, unref as l, createElementVNode as r, toDisplayString as g, Fragment as J, renderList as Y, createCommentVNode as R, createBlock as W, mergeProps as ie, withCtx as F, createTextVNode as G, normalizeClass as oe, useTemplateRef as re, withModifiers as Ue, withDirectives as Se, vModelText as ze, nextTick as et, onBeforeUnmount as tt, onMounted as lt, renderSlot as ue, useSlots as $e, createSlots as Me, normalizeProps as Be, guardReactiveProps as Ie } from "vue";
|
|
2
2
|
import { routerKey as ot } from "vue-router";
|
|
3
3
|
import { i as je, a as nt } from "./error-CD7x0Jrz.js";
|
|
4
|
-
import { d as Ve, o as st, L as Pe, e as we, w as at, b as rt } from "./http-
|
|
5
|
-
import { a as it } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-
|
|
4
|
+
import { d as Ve, o as st, L as Pe, e as we, w as at, b as rt } from "./http-CNcDHSOj.js";
|
|
5
|
+
import { a as it } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-CUtGqVGA.js";
|
|
6
6
|
import { useI18n as de } from "vue-i18n";
|
|
7
|
-
import { _ as se, u as Le } from "./Button.vue_vue_type_script_setup_true_lang-
|
|
8
|
-
import { _ as He } from "./Tabs.vue_vue_type_script_setup_true_lang-
|
|
7
|
+
import { _ as se, u as Le } from "./Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
|
|
8
|
+
import { _ as He } from "./Tabs.vue_vue_type_script_setup_true_lang-CcMcE38r.js";
|
|
9
9
|
import { u as Oe } from "./format-B8mJm946.js";
|
|
10
|
-
import { _ as U } from "./Icon.vue_vue_type_script_lang-
|
|
11
|
-
import { _ as Fe } from "./Banner.vue_vue_type_script_setup_true_lang-
|
|
12
|
-
import { _ as ct } from "./EmptyState.vue_vue_type_script_setup_true_lang-
|
|
13
|
-
import { u as ut, _ as dt } from "./rowLayout-
|
|
14
|
-
import { _ as De } from "./Menu.vue_vue_type_script_setup_true_lang-
|
|
10
|
+
import { _ as U } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
|
|
11
|
+
import { _ as Fe } from "./Banner.vue_vue_type_script_setup_true_lang-DSStj_5z.js";
|
|
12
|
+
import { _ as ct } from "./EmptyState.vue_vue_type_script_setup_true_lang-50p-Mp8I.js";
|
|
13
|
+
import { u as ut, _ as dt } from "./rowLayout-BqTEhEuy.js";
|
|
14
|
+
import { _ as De } from "./Menu.vue_vue_type_script_setup_true_lang-DTbAcDzL.js";
|
|
15
15
|
import { _ as Ke } from "./Popover.vue_vue_type_script_setup_true_lang-Dx-tDhNE.js";
|
|
16
|
-
import { _ as ft } from "./NumberField.vue_vue_type_script_setup_true_lang-
|
|
17
|
-
import { _ as pt } from "./SelectField.vue_vue_type_script_setup_true_lang-
|
|
16
|
+
import { _ as ft } from "./NumberField.vue_vue_type_script_setup_true_lang-C7N5nq0P.js";
|
|
17
|
+
import { _ as pt } from "./SelectField.vue_vue_type_script_setup_true_lang-7O1BAx04.js";
|
|
18
18
|
import { a as vt } from "./mediaQuery-CygcXmFW.js";
|
|
19
|
-
import { _ as mt } from "./Sheet.vue_vue_type_script_setup_true_lang-
|
|
19
|
+
import { _ as mt } from "./Sheet.vue_vue_type_script_setup_true_lang-DgOFV4fa.js";
|
|
20
20
|
import { t as ye } from "./toast-D9Z5To38.js";
|
|
21
21
|
const ne = (a) => a == null || a === "";
|
|
22
22
|
function We(a) {
|
|
@@ -33,31 +33,31 @@ function gt(a, o) {
|
|
|
33
33
|
(i) => !a.dependsOn || !s || i.parentValue !== void 0 && s.has(String(i.parentValue))
|
|
34
34
|
), n = /* @__PURE__ */ new Map();
|
|
35
35
|
for (const i of p) {
|
|
36
|
-
const
|
|
37
|
-
|
|
36
|
+
const d = n.get(i.label) ?? [], f = String(i.value);
|
|
37
|
+
d.includes(f) || d.push(f), n.set(i.label, d);
|
|
38
38
|
}
|
|
39
|
-
return [...n.entries()].map(([i,
|
|
39
|
+
return [...n.entries()].map(([i, d]) => ({ label: i, value: d.join(",") }));
|
|
40
40
|
}
|
|
41
41
|
function ht(a, o, s) {
|
|
42
42
|
if (ne(o)) return null;
|
|
43
43
|
if (a.type === "range") {
|
|
44
|
-
const [n, i] = We(String(o)),
|
|
45
|
-
return n !== null && i !== null ? `${
|
|
44
|
+
const [n, i] = We(String(o)), d = a.unit ? ` ${a.unit}` : "", f = (h) => `${a.unit ? s.formatNumber(Number(h)) : h}${d}`;
|
|
45
|
+
return n !== null && i !== null ? `${f(n)} – ${f(i)}` : n !== null ? `${s.from.toLowerCase()} ${f(n)}` : i !== null ? `${s.until.toLowerCase()} ${f(i)}` : null;
|
|
46
46
|
}
|
|
47
47
|
const p = new Set(String(o).split(","));
|
|
48
48
|
return (a.options ?? []).find((n) => p.has(String(n.value)))?.label ?? String(o);
|
|
49
49
|
}
|
|
50
50
|
function Qe(a, o, s) {
|
|
51
|
-
const p = new Set(a.map((
|
|
52
|
-
for (const
|
|
53
|
-
const
|
|
54
|
-
for (let v =
|
|
55
|
-
const h =
|
|
51
|
+
const p = new Set(a.map((d) => d.key)), n = (d) => a.find((f) => f.dependsOn === d), i = [];
|
|
52
|
+
for (const d of a.filter((f) => !f.dependsOn || !p.has(f.dependsOn))) {
|
|
53
|
+
const f = [];
|
|
54
|
+
for (let v = d; v && !f.includes(v); v = n(v.key)) f.push(v);
|
|
55
|
+
const h = f.map((v) => ({ filter: v, value: ht(v, o[v.key], s) })).filter((v) => v.value !== null);
|
|
56
56
|
h.length !== 0 && i.push({
|
|
57
|
-
key:
|
|
57
|
+
key: d.key,
|
|
58
58
|
label: h.length === 1 ? h[0].filter.label : null,
|
|
59
59
|
values: h.map((v) => v.value),
|
|
60
|
-
clears:
|
|
60
|
+
clears: f.map((v) => v.key)
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
63
|
return i;
|
|
@@ -69,29 +69,29 @@ const qe = /* @__PURE__ */ new WeakMap();
|
|
|
69
69
|
function _t(a, o, s, p) {
|
|
70
70
|
let n = qe.get(a);
|
|
71
71
|
n || qe.set(a, n = /* @__PURE__ */ new Map());
|
|
72
|
-
const i = `${s}\0${p}`,
|
|
73
|
-
if (
|
|
72
|
+
const i = `${s}\0${p}`, d = n.get(i);
|
|
73
|
+
if (d && d.id !== o)
|
|
74
74
|
throw new Error(
|
|
75
|
-
`useCollection("${o}"): the URL state key "${p}" is already used by the list "${
|
|
75
|
+
`useCollection("${o}"): the URL state key "${p}" is already used by the list "${d.id}" on this page. Two lists on one page each need their own \`state: { kind: "url", key }\`, or they overwrite each other's state.`
|
|
76
76
|
);
|
|
77
|
-
const
|
|
78
|
-
return
|
|
79
|
-
--
|
|
77
|
+
const f = d ?? { id: o, count: 0 };
|
|
78
|
+
return f.count++, n.set(i, f), () => {
|
|
79
|
+
--f.count <= 0 && n.delete(i);
|
|
80
80
|
};
|
|
81
81
|
}
|
|
82
82
|
const ke = (a) => a.status === "loaded" || a.status === "refreshing" || a.status === "stale", Re = (a) => a instanceof Error && a.message !== "" ? a.message : String(a);
|
|
83
83
|
function Vo(a, o) {
|
|
84
84
|
const s = `useCollection("${a.id}")`, p = o.state;
|
|
85
|
-
let n = null, i = "",
|
|
85
|
+
let n = null, i = "", d = "", f = () => {
|
|
86
86
|
};
|
|
87
87
|
if (p.kind === "url") {
|
|
88
88
|
if (n = Je() ? Ge(ot, null) : null, !n) throw new Error(`${s}: a URL state needs the application's router. Call it while a component is being set up, with the router installed, or use \`state: { kind: "memory" }\`.`);
|
|
89
89
|
if (!p.key) throw new Error(`${s}: \`state.key\` must not be empty.`);
|
|
90
|
-
|
|
90
|
+
d = p.key, i = n.currentRoute.value.path, f = _t(n, a.id, i, d);
|
|
91
91
|
}
|
|
92
92
|
const h = (() => {
|
|
93
93
|
if (!n) return a.defaults;
|
|
94
|
-
const e = n.currentRoute.value.query[
|
|
94
|
+
const e = n.currentRoute.value.query[d];
|
|
95
95
|
return Ve(a, Array.isArray(e) ? e[0] : e) ?? a.defaults;
|
|
96
96
|
})(), v = he(h), V = he({ status: "loading" }), O = he(null), D = he(null), x = _(() => ke(V.value) ? V.value.value : D.value);
|
|
97
97
|
let j = !1, k = null, M = 0, B = !1;
|
|
@@ -110,8 +110,8 @@ function Vo(a, o) {
|
|
|
110
110
|
for (const [H, q] of Object.entries(t.params ?? {})) {
|
|
111
111
|
const ee = L(H);
|
|
112
112
|
if (ee === null) continue;
|
|
113
|
-
const
|
|
114
|
-
E === null || E === "any" || E === "" ? delete X[
|
|
113
|
+
const T = typeof q == "string" ? q : q.filter, E = typeof q == "string" ? ee : q.value(ee), X = { ...$.filters };
|
|
114
|
+
E === null || E === "any" || E === "" ? delete X[T] : X[T] = String(E), $ = { ...$, filters: X, page: 1 }, N.push(H);
|
|
115
115
|
}
|
|
116
116
|
if (N.length > 0) {
|
|
117
117
|
for (const H of t.consume ?? []) H in e && N.push(H);
|
|
@@ -164,7 +164,7 @@ function Vo(a, o) {
|
|
|
164
164
|
if (j || e.path !== i) return;
|
|
165
165
|
const t = we(a, v.value), $ = { ...e.query };
|
|
166
166
|
for (const L of N.splice(0)) delete $[L];
|
|
167
|
-
e.query[
|
|
167
|
+
e.query[d] === t && Object.keys($).length === Object.keys(e.query).length || await n.replace({ query: { ...$, [d]: t }, hash: e.hash });
|
|
168
168
|
} while (A);
|
|
169
169
|
} catch {
|
|
170
170
|
} finally {
|
|
@@ -173,7 +173,7 @@ function Vo(a, o) {
|
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
175
|
const C = n ? Ce(
|
|
176
|
-
() => n.currentRoute.value.query[
|
|
176
|
+
() => n.currentRoute.value.query[d],
|
|
177
177
|
(e) => {
|
|
178
178
|
const t = n.currentRoute.value;
|
|
179
179
|
if (j || w || t.path !== i) return;
|
|
@@ -205,13 +205,13 @@ function Vo(a, o) {
|
|
|
205
205
|
function c(e) {
|
|
206
206
|
const t = le([]), $ = le("idle");
|
|
207
207
|
let L = null;
|
|
208
|
-
const H = (
|
|
208
|
+
const H = (T, E) => T.name.localeCompare(E.name), q = _(() => t.value.filter((T) => ge(T) !== null));
|
|
209
209
|
be = () => {
|
|
210
210
|
L?.abort(), t.value = [], $.value = "idle";
|
|
211
211
|
};
|
|
212
212
|
const ee = () => ({
|
|
213
213
|
version: a.stateVersion,
|
|
214
|
-
filters: Object.fromEntries(Object.entries(v.value.filters).filter(([
|
|
214
|
+
filters: Object.fromEntries(Object.entries(v.value.filters).filter(([T, E]) => E !== void 0 && !a.contract.sensitive.includes(T))),
|
|
215
215
|
search: v.value.search,
|
|
216
216
|
view: v.value.view
|
|
217
217
|
});
|
|
@@ -220,48 +220,49 @@ function Vo(a, o) {
|
|
|
220
220
|
status: $,
|
|
221
221
|
async load() {
|
|
222
222
|
L?.abort();
|
|
223
|
-
const
|
|
223
|
+
const T = L = new AbortController();
|
|
224
224
|
$.value = "loading";
|
|
225
225
|
try {
|
|
226
|
-
const E = await e.list(a.id, { signal:
|
|
227
|
-
if (
|
|
226
|
+
const E = await e.list(a.id, { signal: T.signal });
|
|
227
|
+
if (T.signal.aborted) return;
|
|
228
228
|
t.value = [...E].sort(H), $.value = "ready";
|
|
229
229
|
} catch (E) {
|
|
230
|
-
if (
|
|
230
|
+
if (T.signal.aborted || je(E)) return;
|
|
231
231
|
$.value = "failed";
|
|
232
232
|
}
|
|
233
233
|
},
|
|
234
234
|
current: ee,
|
|
235
|
-
async save(
|
|
236
|
-
const X = await e.save(a.id,
|
|
235
|
+
async save(T, E) {
|
|
236
|
+
const X = await e.save(a.id, T, { ...ee(), ...E });
|
|
237
237
|
return t.value = [...t.value.filter((Xe) => Xe.id !== X.id), X].sort(H), X;
|
|
238
238
|
},
|
|
239
|
-
apply(
|
|
240
|
-
const E = ge(
|
|
241
|
-
E && z({ filters: E.filters, search: E.search, view:
|
|
239
|
+
apply(T) {
|
|
240
|
+
const E = ge(T);
|
|
241
|
+
E && z({ filters: E.filters, search: E.search, view: T.state.view ? E.view : v.value.view }, !0);
|
|
242
242
|
},
|
|
243
|
-
stageRemoval(
|
|
244
|
-
const E = t.value.find((X) => X.id ===
|
|
245
|
-
return t.value = t.value.filter((X) => X.id !==
|
|
243
|
+
stageRemoval(T) {
|
|
244
|
+
const E = t.value.find((X) => X.id === T) ?? null;
|
|
245
|
+
return t.value = t.value.filter((X) => X.id !== T), {
|
|
246
246
|
revert() {
|
|
247
|
-
E && !t.value.some((X) => X.id ===
|
|
247
|
+
E && !t.value.some((X) => X.id === T) && (t.value = [...t.value, E].sort(H));
|
|
248
248
|
},
|
|
249
249
|
// Saved again under the same name while the toast was up: the server replaced that very row, it must not be deleted now.
|
|
250
250
|
async commit() {
|
|
251
|
-
t.value.some((X) => X.id ===
|
|
251
|
+
t.value.some((X) => X.id === T) || await e.remove(a.id, T);
|
|
252
252
|
}
|
|
253
253
|
};
|
|
254
254
|
}
|
|
255
255
|
};
|
|
256
256
|
}
|
|
257
257
|
function m() {
|
|
258
|
-
j || (j = !0, k?.abort(), M++, C(),
|
|
258
|
+
j || (j = !0, k?.abort(), M++, C(), f());
|
|
259
259
|
}
|
|
260
260
|
return Ye() && Ze(m), st((e) => {
|
|
261
261
|
k?.abort(), M++, V.value = { status: "loading" }, D.value = null, O.value = null, be(), e !== null && K();
|
|
262
262
|
}), K(), {
|
|
263
263
|
id: a.id,
|
|
264
264
|
pageSizes: a.contract.pageSizes,
|
|
265
|
+
searchable: a.contract.search,
|
|
265
266
|
rowKey: (e) => a.key(e),
|
|
266
267
|
state: V,
|
|
267
268
|
query: v,
|
|
@@ -333,7 +334,7 @@ const xt = {
|
|
|
333
334
|
emits: ["remove", "clearAll"],
|
|
334
335
|
setup(a, { emit: o }) {
|
|
335
336
|
const s = a, p = o, { t: n } = de();
|
|
336
|
-
return (i,
|
|
337
|
+
return (i, d) => (u(), y("div", xt, [
|
|
337
338
|
S(l(U), {
|
|
338
339
|
name: "filter3",
|
|
339
340
|
size: 32,
|
|
@@ -342,20 +343,20 @@ const xt = {
|
|
|
342
343
|
r("h3", wt, g(l(n)("core.collection.empty.title")), 1),
|
|
343
344
|
r("p", kt, g(l(n)("core.collection.empty.description")), 1),
|
|
344
345
|
r("ul", $t, [
|
|
345
|
-
(
|
|
346
|
-
key:
|
|
346
|
+
(u(!0), y(J, null, Y(s.chips, (f) => (u(), y("li", {
|
|
347
|
+
key: f.key,
|
|
347
348
|
class: "inline-flex h-7 max-w-full min-w-0 items-center gap-1.5 rounded-control bg-surface-cell pr-0.5 pl-2.5 text-sm shadow-group ring-1 ring-inset ring-border-separator"
|
|
348
349
|
}, [
|
|
349
|
-
|
|
350
|
+
f.label ? (u(), y("span", Ct, g(f.label), 1)) : R("", !0),
|
|
350
351
|
r("span", {
|
|
351
352
|
class: "min-w-0 truncate font-medium text-content-strong",
|
|
352
|
-
title:
|
|
353
|
-
}, g(
|
|
353
|
+
title: f.values.join(" › ")
|
|
354
|
+
}, g(f.values.join(" › ")), 9, St),
|
|
354
355
|
r("button", {
|
|
355
356
|
type: "button",
|
|
356
357
|
class: "shrink-0 cursor-pointer rounded p-1 text-content-disabled hover:bg-fill hover:text-content-strong",
|
|
357
|
-
"aria-label": `${l(n)("core.collection.clear")}: ${
|
|
358
|
-
onClick: (h) => p("remove",
|
|
358
|
+
"aria-label": `${l(n)("core.collection.clear")}: ${f.label ?? f.values.join(" › ")}`,
|
|
359
|
+
onClick: (h) => p("remove", f)
|
|
359
360
|
}, [
|
|
360
361
|
S(l(U), {
|
|
361
362
|
name: "close",
|
|
@@ -365,19 +366,19 @@ const xt = {
|
|
|
365
366
|
]))), 128))
|
|
366
367
|
]),
|
|
367
368
|
r("div", Ot, [
|
|
368
|
-
s.lastChip ? (
|
|
369
|
+
s.lastChip ? (u(), W(se, ie({ key: 0 }, { "data-test": "collection-empty-remove-last" }, {
|
|
369
370
|
prominence: "secondary",
|
|
370
371
|
size: "sm",
|
|
371
|
-
onClick:
|
|
372
|
+
onClick: d[0] || (d[0] = (f) => p("remove", s.lastChip))
|
|
372
373
|
}), {
|
|
373
374
|
default: F(() => [
|
|
374
375
|
G(g(l(n)("core.collection.empty.remove_last", { filter: s.lastChip.values.join(" › ") })), 1)
|
|
375
376
|
]),
|
|
376
377
|
_: 1
|
|
377
|
-
}, 16)) :
|
|
378
|
+
}, 16)) : R("", !0),
|
|
378
379
|
S(se, ie({ "data-test": "collection-empty-clear-all" }, {
|
|
379
380
|
size: "sm",
|
|
380
|
-
onClick:
|
|
381
|
+
onClick: d[1] || (d[1] = (f) => p("clearAll"))
|
|
381
382
|
}), {
|
|
382
383
|
default: F(() => [
|
|
383
384
|
G(g(l(n)("core.collection.empty.clear_all")), 1)
|
|
@@ -408,12 +409,12 @@ const xt = {
|
|
|
408
409
|
},
|
|
409
410
|
emits: ["turned"],
|
|
410
411
|
setup(a, { emit: o }) {
|
|
411
|
-
const s = a, p = o, { t: n } = de(), i = Oe(),
|
|
412
|
-
if (
|
|
413
|
-
const x = [1], j = Math.max(2,
|
|
412
|
+
const s = a, p = o, { t: n } = de(), i = Oe(), d = _(() => s.collection.query.value.page), f = _(() => s.collection.page.value?.lastPage ?? 0), h = _(() => s.collection.page.value), v = _(() => {
|
|
413
|
+
if (f.value <= 1) return f.value === 1 ? [1] : [];
|
|
414
|
+
const x = [1], j = Math.max(2, d.value - 2), k = Math.min(f.value - 1, d.value + 2);
|
|
414
415
|
j > 2 && x.push(null);
|
|
415
416
|
for (let M = j; M <= k; M++) x.push(M);
|
|
416
|
-
return k <
|
|
417
|
+
return k < f.value - 1 && x.push(null), x.push(f.value), x;
|
|
417
418
|
});
|
|
418
419
|
function V(x) {
|
|
419
420
|
x === 1 ? s.collection.nextPage() : s.collection.previousPage(), p("turned");
|
|
@@ -425,7 +426,7 @@ const xt = {
|
|
|
425
426
|
function D(x) {
|
|
426
427
|
s.collection.setPageSize(Number(x.target.value));
|
|
427
428
|
}
|
|
428
|
-
return (x, j) => s.compact &&
|
|
429
|
+
return (x, j) => s.compact && f.value > 1 ? (u(), y("nav", {
|
|
429
430
|
key: 0,
|
|
430
431
|
"aria-label": l(n)("core.collection.page.label"),
|
|
431
432
|
class: oe(["flex select-none items-center justify-between gap-3 px-1 py-2", s.flat ? "mt-1" : "border-t border-border-separator"]),
|
|
@@ -434,7 +435,7 @@ const xt = {
|
|
|
434
435
|
r("button", {
|
|
435
436
|
type: "button",
|
|
436
437
|
class: "inline-flex size-11 cursor-pointer items-center justify-center rounded-full text-content-link active:bg-fill disabled:cursor-not-allowed disabled:text-content-disabled",
|
|
437
|
-
disabled:
|
|
438
|
+
disabled: d.value <= 1,
|
|
438
439
|
onClick: j[0] || (j[0] = (k) => V(-1))
|
|
439
440
|
}, [
|
|
440
441
|
S(l(U), {
|
|
@@ -443,11 +444,11 @@ const xt = {
|
|
|
443
444
|
}),
|
|
444
445
|
r("span", Lt, g(l(n)("core.collection.page.previous")), 1)
|
|
445
446
|
], 8, Pt),
|
|
446
|
-
r("span", Ft, g(l(n)("core.collection.page.page_of", { current: l(i).number(
|
|
447
|
+
r("span", Ft, g(l(n)("core.collection.page.page_of", { current: l(i).number(d.value), total: l(i).number(f.value) })), 1),
|
|
447
448
|
r("button", {
|
|
448
449
|
type: "button",
|
|
449
450
|
class: "inline-flex size-11 cursor-pointer items-center justify-center rounded-full text-content-link active:bg-fill disabled:cursor-not-allowed disabled:text-content-disabled",
|
|
450
|
-
disabled:
|
|
451
|
+
disabled: d.value >= f.value,
|
|
451
452
|
onClick: j[1] || (j[1] = (k) => V(1))
|
|
452
453
|
}, [
|
|
453
454
|
S(l(U), {
|
|
@@ -456,9 +457,9 @@ const xt = {
|
|
|
456
457
|
}),
|
|
457
458
|
r("span", Rt, g(l(n)("core.collection.page.next")), 1)
|
|
458
459
|
], 8, qt)
|
|
459
|
-
], 10, Vt)) : s.compact ?
|
|
460
|
+
], 10, Vt)) : s.compact ? R("", !0) : (u(), y("div", Tt, [
|
|
460
461
|
r("div", Nt, [
|
|
461
|
-
h.value ? (
|
|
462
|
+
h.value ? (u(), y("span", At, g(l(n)("core.collection.page.total", { from: l(i).number(h.value.from), to: l(i).number(h.value.to), total: l(i).number(h.value.total) })), 1)) : R("", !0),
|
|
462
463
|
r("label", Et, [
|
|
463
464
|
r("span", Ut, g(l(n)("core.collection.page.per_page")) + ":", 1),
|
|
464
465
|
r("select", {
|
|
@@ -466,7 +467,7 @@ const xt = {
|
|
|
466
467
|
class: "cursor-pointer rounded-control bg-transparent py-0.5 pr-1 font-semibold text-content-strong hover:bg-fill",
|
|
467
468
|
onChange: D
|
|
468
469
|
}, [
|
|
469
|
-
(
|
|
470
|
+
(u(!0), y(J, null, Y(s.collection.pageSizes, (k) => (u(), y("option", {
|
|
470
471
|
key: k,
|
|
471
472
|
value: k
|
|
472
473
|
}, g(k), 9, Bt))), 128))
|
|
@@ -480,7 +481,7 @@ const xt = {
|
|
|
480
481
|
r("button", {
|
|
481
482
|
type: "button",
|
|
482
483
|
class: oe(O(!1)),
|
|
483
|
-
disabled:
|
|
484
|
+
disabled: d.value <= 1,
|
|
484
485
|
onClick: j[2] || (j[2] = (k) => V(-1))
|
|
485
486
|
}, [
|
|
486
487
|
S(l(U), {
|
|
@@ -489,19 +490,19 @@ const xt = {
|
|
|
489
490
|
}),
|
|
490
491
|
r("span", Dt, g(l(n)("core.collection.page.previous")), 1)
|
|
491
492
|
], 10, Ht),
|
|
492
|
-
(
|
|
493
|
-
k === null ? (
|
|
493
|
+
(u(!0), y(J, null, Y(v.value, (k, M) => (u(), y(J, { key: M }, [
|
|
494
|
+
k === null ? (u(), y("span", Kt, "…")) : (u(), y("button", {
|
|
494
495
|
key: 1,
|
|
495
496
|
type: "button",
|
|
496
|
-
class: oe(O(k ===
|
|
497
|
-
"aria-current": k ===
|
|
497
|
+
class: oe(O(k === d.value)),
|
|
498
|
+
"aria-current": k === d.value ? "page" : void 0,
|
|
498
499
|
onClick: (B) => s.collection.goToPage(k)
|
|
499
500
|
}, g(l(i).number(k)), 11, Wt))
|
|
500
501
|
], 64))), 128)),
|
|
501
502
|
r("button", {
|
|
502
503
|
type: "button",
|
|
503
504
|
class: oe(O(!1)),
|
|
504
|
-
disabled:
|
|
505
|
+
disabled: d.value >= f.value,
|
|
505
506
|
onClick: j[3] || (j[3] = (k) => V(1))
|
|
506
507
|
}, [
|
|
507
508
|
S(l(U), {
|
|
@@ -524,7 +525,7 @@ const xt = {
|
|
|
524
525
|
},
|
|
525
526
|
emits: ["update"],
|
|
526
527
|
setup(a, { emit: o }) {
|
|
527
|
-
const s = a, p = o, { t: n } = de(), i = _(() => ne(s.value) ? null : String(s.value)),
|
|
528
|
+
const s = a, p = o, { t: n } = de(), i = _(() => ne(s.value) ? null : String(s.value)), d = _(() => s.filter.options?.find((B) => String(B.value) === i.value) ?? null), f = _(() => [
|
|
528
529
|
...s.filter.withoutDefaultOption ? [] : [{ id: "__all", label: s.filter.defaultOptionTitle ?? n("core.collection.filters.show_all"), checked: i.value === null, onSelect: () => p("update", null) }],
|
|
529
530
|
...(s.filter.options ?? []).map((N) => ({
|
|
530
531
|
id: `option-${String(N.value)}`,
|
|
@@ -533,7 +534,7 @@ const xt = {
|
|
|
533
534
|
checked: i.value === String(N.value),
|
|
534
535
|
onSelect: () => p("update", String(N.value))
|
|
535
536
|
}))
|
|
536
|
-
]), h = _(() => s.filter.type === "text" && i.value ? `${s.filter.label}: ${i.value}` :
|
|
537
|
+
]), h = _(() => s.filter.type === "text" && i.value ? `${s.filter.label}: ${i.value}` : d.value?.label ?? s.filter.label), v = _(() => i.value !== null), V = _(
|
|
537
538
|
() => v.value ? "bg-tint-soft font-semibold text-content-link" : "bg-surface-cell font-medium text-content-strong ring-1 ring-inset ring-border-separator hover:bg-fill"
|
|
538
539
|
), O = le(""), D = re("popover");
|
|
539
540
|
Ce(i, (B) => O.value = B ?? "", { immediate: !0 });
|
|
@@ -548,7 +549,7 @@ const xt = {
|
|
|
548
549
|
async function M() {
|
|
549
550
|
await et(), k.value?.focus();
|
|
550
551
|
}
|
|
551
|
-
return (B, N) => s.filter.type === "text" ? (
|
|
552
|
+
return (B, N) => s.filter.type === "text" ? (u(), W(l(Ke), {
|
|
552
553
|
key: 0,
|
|
553
554
|
ref_key: "popover",
|
|
554
555
|
ref: D,
|
|
@@ -563,11 +564,11 @@ const xt = {
|
|
|
563
564
|
class: [Te, V.value],
|
|
564
565
|
onClick: Q
|
|
565
566
|
}), [
|
|
566
|
-
s.filter.icon ? (
|
|
567
|
+
s.filter.icon ? (u(), W(l(U), {
|
|
567
568
|
key: 0,
|
|
568
569
|
name: s.filter.icon,
|
|
569
570
|
size: 16
|
|
570
|
-
}, null, 8, ["name"])) :
|
|
571
|
+
}, null, 8, ["name"])) : R("", !0),
|
|
571
572
|
r("span", Yt, g(h.value), 1),
|
|
572
573
|
S(l(U), {
|
|
573
574
|
name: "arrowDownSLine",
|
|
@@ -606,9 +607,9 @@ const xt = {
|
|
|
606
607
|
], 32)
|
|
607
608
|
]),
|
|
608
609
|
_: 1
|
|
609
|
-
}, 8, ["label"])) : (
|
|
610
|
+
}, 8, ["label"])) : (u(), W(l(De), {
|
|
610
611
|
key: 1,
|
|
611
|
-
items:
|
|
612
|
+
items: f.value,
|
|
612
613
|
label: s.filter.label,
|
|
613
614
|
placement: "bottom-start"
|
|
614
615
|
}, {
|
|
@@ -618,11 +619,11 @@ const xt = {
|
|
|
618
619
|
class: [Te, V.value],
|
|
619
620
|
onClick: Q
|
|
620
621
|
}), [
|
|
621
|
-
s.filter.icon ? (
|
|
622
|
+
s.filter.icon ? (u(), W(l(U), {
|
|
622
623
|
key: 0,
|
|
623
624
|
name: s.filter.icon,
|
|
624
625
|
size: 16
|
|
625
|
-
}, null, 8, ["name"])) :
|
|
626
|
+
}, null, 8, ["name"])) : R("", !0),
|
|
626
627
|
r("span", nl, g(h.value), 1),
|
|
627
628
|
S(l(U), {
|
|
628
629
|
name: "arrowDownSLine",
|
|
@@ -656,7 +657,7 @@ const xt = {
|
|
|
656
657
|
},
|
|
657
658
|
emits: ["touched"],
|
|
658
659
|
setup(a, { expose: o, emit: s }) {
|
|
659
|
-
const p = a, n = s, { t: i } = de(),
|
|
660
|
+
const p = a, n = s, { t: i } = de(), d = re("sheet"), f = vt("(max-width: 1023px), (pointer: coarse)"), h = le({}), v = le({}), V = le(null), O = _(() => p.filters.find((c) => c.key === V.value) ?? null);
|
|
660
661
|
function D() {
|
|
661
662
|
const c = {}, m = {};
|
|
662
663
|
for (const e of p.filters) {
|
|
@@ -666,7 +667,7 @@ const xt = {
|
|
|
666
667
|
m[e.key] = { min: $ ?? "", max: L ?? "" };
|
|
667
668
|
}
|
|
668
669
|
}
|
|
669
|
-
h.value = c, v.value = m, V.value = null,
|
|
670
|
+
h.value = c, v.value = m, V.value = null, d.value?.present();
|
|
670
671
|
}
|
|
671
672
|
function x(c, m) {
|
|
672
673
|
const e = ne(m) ? null : String(m);
|
|
@@ -697,7 +698,7 @@ const xt = {
|
|
|
697
698
|
}
|
|
698
699
|
function Q() {
|
|
699
700
|
const c = N(), m = Object.keys(c).filter((e) => (p.collection.query.value.filters[e] ?? null) !== c[e]);
|
|
700
|
-
n("touched", m), p.collection.setFilters(c),
|
|
701
|
+
n("touched", m), p.collection.setFilters(c), d.value?.dismiss();
|
|
701
702
|
}
|
|
702
703
|
const I = (c) => gt(c, c.dependsOn ? h.value[c.dependsOn] : null), K = (c) => c.defaultOptionTitle ?? i("core.collection.filters.show_all");
|
|
703
704
|
function te(c) {
|
|
@@ -715,7 +716,7 @@ const xt = {
|
|
|
715
716
|
const m = I(c);
|
|
716
717
|
return !c.dependsOn && m.length > 0 && m.length <= Nl && m.every((e) => e.label.length <= Al);
|
|
717
718
|
}
|
|
718
|
-
const P = _(() =>
|
|
719
|
+
const P = _(() => f.value && O.value !== null), b = _(() => p.collection.savedViews), C = le(""), z = le(!1), ae = re("savePopover");
|
|
719
720
|
function fe() {
|
|
720
721
|
const c = new Set(p.filters.map((e) => e.key)), m = {};
|
|
721
722
|
for (const [e, t] of Object.entries(p.collection.query.value.filters))
|
|
@@ -736,7 +737,7 @@ const xt = {
|
|
|
736
737
|
z.value = !0;
|
|
737
738
|
try {
|
|
738
739
|
const e = await m.save(c, fe());
|
|
739
|
-
C.value = "", ae.value?.dismiss(), ye.success(i("core.collection.saved.saved_toast", { name: e.name })), m.apply(e), n("touched", []),
|
|
740
|
+
C.value = "", ae.value?.dismiss(), ye.success(i("core.collection.saved.saved_toast", { name: e.name })), m.apply(e), n("touched", []), d.value?.dismiss();
|
|
740
741
|
} catch (e) {
|
|
741
742
|
ye.error(me(e, i("core.collection.saved.save_failed")));
|
|
742
743
|
} finally {
|
|
@@ -745,7 +746,7 @@ const xt = {
|
|
|
745
746
|
}
|
|
746
747
|
}
|
|
747
748
|
function _e(c) {
|
|
748
|
-
b.value?.apply(c), n("touched", []),
|
|
749
|
+
b.value?.apply(c), n("touched", []), d.value?.dismiss();
|
|
749
750
|
}
|
|
750
751
|
function ge(c) {
|
|
751
752
|
const m = b.value;
|
|
@@ -765,9 +766,9 @@ const xt = {
|
|
|
765
766
|
}
|
|
766
767
|
});
|
|
767
768
|
}
|
|
768
|
-
return o({ present: D }), (c, m) => (
|
|
769
|
+
return o({ present: D }), (c, m) => (u(), W(l(mt), {
|
|
769
770
|
ref_key: "sheet",
|
|
770
|
-
ref:
|
|
771
|
+
ref: d,
|
|
771
772
|
title: l(i)("core.collection.filters.panel_title"),
|
|
772
773
|
grouped: P.value
|
|
773
774
|
}, {
|
|
@@ -784,7 +785,7 @@ const xt = {
|
|
|
784
785
|
_: 1
|
|
785
786
|
}),
|
|
786
787
|
r("div", jl, [
|
|
787
|
-
b.value ? (
|
|
788
|
+
b.value ? (u(), W(l(Ke), {
|
|
788
789
|
key: 0,
|
|
789
790
|
ref_key: "savePopover",
|
|
790
791
|
ref: ae,
|
|
@@ -829,7 +830,7 @@ const xt = {
|
|
|
829
830
|
[ze, C.value]
|
|
830
831
|
])
|
|
831
832
|
]),
|
|
832
|
-
ve.value ? (
|
|
833
|
+
ve.value ? (u(), y("p", Rl, g(l(i)("core.collection.saved.replace_hint", { name: ve.value.name })), 1)) : R("", !0),
|
|
833
834
|
r("div", Tl, [
|
|
834
835
|
S(se, {
|
|
835
836
|
size: "sm",
|
|
@@ -856,7 +857,7 @@ const xt = {
|
|
|
856
857
|
], 32)
|
|
857
858
|
]),
|
|
858
859
|
_: 1
|
|
859
|
-
}, 8, ["label"])) :
|
|
860
|
+
}, 8, ["label"])) : R("", !0),
|
|
860
861
|
S(se, {
|
|
861
862
|
prominence: "primary",
|
|
862
863
|
icon: "filter3",
|
|
@@ -872,7 +873,7 @@ const xt = {
|
|
|
872
873
|
])
|
|
873
874
|
]),
|
|
874
875
|
default: F(() => [
|
|
875
|
-
l(
|
|
876
|
+
l(f) && O.value ? (u(), y("div", al, [
|
|
876
877
|
r("button", {
|
|
877
878
|
type: "button",
|
|
878
879
|
"data-test": "filter-drilldown-back",
|
|
@@ -891,7 +892,7 @@ const xt = {
|
|
|
891
892
|
role: "listbox",
|
|
892
893
|
"aria-label": O.value.label
|
|
893
894
|
}, [
|
|
894
|
-
(
|
|
895
|
+
(u(!0), y(J, null, Y([{ value: null, label: K(O.value) }, ...I(O.value)], (e) => (u(), y("li", {
|
|
895
896
|
key: String(e.value),
|
|
896
897
|
role: "presentation"
|
|
897
898
|
}, [
|
|
@@ -905,20 +906,20 @@ const xt = {
|
|
|
905
906
|
}
|
|
906
907
|
}, [
|
|
907
908
|
r("span", ul, g(e.label), 1),
|
|
908
|
-
(h.value[O.value.key] ?? null) === e.value ? (
|
|
909
|
+
(h.value[O.value.key] ?? null) === e.value ? (u(), W(l(U), {
|
|
909
910
|
key: 0,
|
|
910
911
|
name: "checkboxCircleFill",
|
|
911
912
|
size: 18,
|
|
912
913
|
class: "shrink-0 text-content-link"
|
|
913
|
-
})) :
|
|
914
|
+
})) : R("", !0)
|
|
914
915
|
], 8, cl)
|
|
915
916
|
]))), 128))
|
|
916
917
|
], 8, il)
|
|
917
|
-
])) : (
|
|
918
|
-
b.value && b.value.items.value.length > 0 ? (
|
|
918
|
+
])) : (u(), y(J, { key: 1 }, [
|
|
919
|
+
b.value && b.value.items.value.length > 0 ? (u(), y("section", dl, [
|
|
919
920
|
r("p", fl, g(l(i)("core.collection.saved.title")), 1),
|
|
920
921
|
r("div", pl, [
|
|
921
|
-
(
|
|
922
|
+
(u(!0), y(J, null, Y(b.value.items.value, (e) => (u(), y("span", {
|
|
922
923
|
key: e.id,
|
|
923
924
|
class: "inline-flex h-8 items-center rounded-control bg-surface-cell text-subheadline shadow-group ring-1 ring-inset ring-border-separator"
|
|
924
925
|
}, [
|
|
@@ -950,12 +951,12 @@ const xt = {
|
|
|
950
951
|
], 8, ml)
|
|
951
952
|
]))), 128))
|
|
952
953
|
])
|
|
953
|
-
])) :
|
|
954
|
+
])) : R("", !0),
|
|
954
955
|
r("div", bl, [
|
|
955
|
-
(
|
|
956
|
+
(u(!0), y(J, null, Y(p.filters, (e) => (u(), y(J, {
|
|
956
957
|
key: e.key
|
|
957
958
|
}, [
|
|
958
|
-
e.type === "segmented" ? (
|
|
959
|
+
e.type === "segmented" ? (u(), y("div", gl, [
|
|
959
960
|
r("p", hl, g(e.label), 1),
|
|
960
961
|
S(l(He), {
|
|
961
962
|
"model-value": h.value[e.key] ?? "",
|
|
@@ -964,14 +965,14 @@ const xt = {
|
|
|
964
965
|
stretch: "",
|
|
965
966
|
"onUpdate:modelValue": (t) => x(e.key, t === null ? null : String(t))
|
|
966
967
|
}, null, 8, ["model-value", "tabs", "label", "onUpdate:modelValue"])
|
|
967
|
-
])) : e.type === "range" ? (
|
|
968
|
+
])) : e.type === "range" ? (u(), y("div", {
|
|
968
969
|
key: 1,
|
|
969
970
|
role: "group",
|
|
970
971
|
"aria-label": e.label
|
|
971
972
|
}, [
|
|
972
973
|
r("p", _l, g(e.label), 1),
|
|
973
|
-
v.value[e.key] ? (
|
|
974
|
-
(
|
|
974
|
+
v.value[e.key] ? (u(), y("div", xl, [
|
|
975
|
+
(u(), y(J, null, Y(["min", "max"], (t) => S(ft, {
|
|
975
976
|
key: t,
|
|
976
977
|
"model-value": M(e.key, t),
|
|
977
978
|
name: `${e.key}_${t}`,
|
|
@@ -981,8 +982,8 @@ const xt = {
|
|
|
981
982
|
label: l(i)(t === "min" ? "core.collection.filters.range_from" : "core.collection.filters.range_until"),
|
|
982
983
|
"onUpdate:modelValue": ($) => B(e.key, t, $)
|
|
983
984
|
}, null, 8, ["model-value", "name", "decimals", "suffix", "label", "onUpdate:modelValue"])), 64))
|
|
984
|
-
])) :
|
|
985
|
-
], 8, yl)) : l(
|
|
985
|
+
])) : R("", !0)
|
|
986
|
+
], 8, yl)) : l(f) && A(e) ? (u(), y("div", {
|
|
986
987
|
key: 2,
|
|
987
988
|
role: "group",
|
|
988
989
|
"aria-label": e.label,
|
|
@@ -990,7 +991,7 @@ const xt = {
|
|
|
990
991
|
}, [
|
|
991
992
|
r("p", kl, g(e.label), 1),
|
|
992
993
|
r("div", $l, [
|
|
993
|
-
(
|
|
994
|
+
(u(!0), y(J, null, Y([{ value: null, label: K(e) }, ...I(e)], (t) => (u(), y("button", {
|
|
994
995
|
key: String(t.value),
|
|
995
996
|
type: "button",
|
|
996
997
|
"aria-pressed": (h.value[e.key] ?? null) === t.value,
|
|
@@ -998,7 +999,7 @@ const xt = {
|
|
|
998
999
|
onClick: ($) => x(e.key, t.value)
|
|
999
1000
|
}, g(t.label), 11, Cl))), 128))
|
|
1000
1001
|
])
|
|
1001
|
-
], 8, wl)) : l(
|
|
1002
|
+
], 8, wl)) : l(f) ? (u(), y("button", {
|
|
1002
1003
|
key: 3,
|
|
1003
1004
|
type: "button",
|
|
1004
1005
|
"data-test": "filter-row",
|
|
@@ -1015,7 +1016,7 @@ const xt = {
|
|
|
1015
1016
|
size: 18,
|
|
1016
1017
|
class: "shrink-0 text-content-muted"
|
|
1017
1018
|
})
|
|
1018
|
-
], 8, Sl)) : (
|
|
1019
|
+
], 8, Sl)) : (u(), W(pt, {
|
|
1019
1020
|
key: 4,
|
|
1020
1021
|
"model-value": h.value[e.key] ?? "",
|
|
1021
1022
|
label: e.label,
|
|
@@ -1030,7 +1031,10 @@ const xt = {
|
|
|
1030
1031
|
_: 1
|
|
1031
1032
|
}, 8, ["title", "grouped"]));
|
|
1032
1033
|
}
|
|
1033
|
-
}), Ul = { class: "flex flex-col items-start gap-2 lg:flex-row" }, Ml = {
|
|
1034
|
+
}), Ul = { class: "flex flex-col items-start gap-2 lg:flex-row" }, Ml = {
|
|
1035
|
+
key: 0,
|
|
1036
|
+
class: "flex h-9 w-full items-center rounded-control bg-fill px-2.5 text-content-muted transition-colors duration-motion-fast focus-within:outline-2 focus-within:outline-offset-1 focus-within:outline-border-focus lg:w-72 compact:h-10"
|
|
1037
|
+
}, Bl = ["placeholder", "aria-label"], Il = ["aria-label"], Hl = ["title"], Dl = {
|
|
1034
1038
|
key: 0,
|
|
1035
1039
|
class: "min-w-4.5 rounded-full bg-tint px-1 text-center text-caption font-semibold leading-4.5 text-content-on-tint"
|
|
1036
1040
|
}, Kl = ["onClick"], Wl = {
|
|
@@ -1049,20 +1053,20 @@ const xt = {
|
|
|
1049
1053
|
},
|
|
1050
1054
|
emits: ["touched"],
|
|
1051
1055
|
setup(a, { emit: o }) {
|
|
1052
|
-
const s = a, p = o, { t: n } = de(), i = Oe(),
|
|
1056
|
+
const s = a, p = o, { t: n } = de(), i = Oe(), d = le(s.collection.query.value.search), f = re("field");
|
|
1053
1057
|
let h = null;
|
|
1054
1058
|
Ce(() => s.collection.query.value.search, (w) => {
|
|
1055
|
-
w !==
|
|
1059
|
+
w !== d.value.trim() && (d.value = w);
|
|
1056
1060
|
});
|
|
1057
1061
|
function v() {
|
|
1058
1062
|
h && clearTimeout(h);
|
|
1059
|
-
const w =
|
|
1063
|
+
const w = d.value;
|
|
1060
1064
|
w.length > 0 && w.length < Yl || (h = setTimeout(() => {
|
|
1061
1065
|
h = null, w !== s.collection.query.value.search && (p("touched", [Ae]), s.collection.search(w));
|
|
1062
1066
|
}, Zl));
|
|
1063
1067
|
}
|
|
1064
1068
|
function V() {
|
|
1065
|
-
h && clearTimeout(h),
|
|
1069
|
+
h && clearTimeout(h), d.value = "", p("touched", [Ae]), s.collection.search(""), f.value?.focus();
|
|
1066
1070
|
}
|
|
1067
1071
|
tt(() => h && clearTimeout(h));
|
|
1068
1072
|
const O = (w) => w.placement === "panel" || s.narrow && w.type !== "text", D = _(() => s.collection.filters.value.filter((w) => !O(w))), x = _(() => s.collection.filters.value.filter(O)), j = _(() => s.collection.query.value.filters), k = _(
|
|
@@ -1080,8 +1084,8 @@ const xt = {
|
|
|
1080
1084
|
}
|
|
1081
1085
|
const Q = re("panel"), I = re("panelButton"), K = (w) => !!w && (typeof w.checkVisibility != "function" || w.checkVisibility());
|
|
1082
1086
|
Le({ key: "/", group: "list", label: () => n("core.shortcuts.focus_search") }, () => {
|
|
1083
|
-
if (!K(
|
|
1084
|
-
|
|
1087
|
+
if (!K(f.value)) return !1;
|
|
1088
|
+
f.value?.focus(), f.value?.select();
|
|
1085
1089
|
}), Le({ key: "f", group: "list", label: () => x.value.length > 0 ? n("core.shortcuts.open_filters") : "" }, () => {
|
|
1086
1090
|
if (x.value.length === 0 || !K(I.value)) return !1;
|
|
1087
1091
|
Q.value?.present();
|
|
@@ -1098,20 +1102,20 @@ const xt = {
|
|
|
1098
1102
|
}
|
|
1099
1103
|
}))
|
|
1100
1104
|
);
|
|
1101
|
-
return (w, A) => (
|
|
1105
|
+
return (w, A) => (u(), y("div", {
|
|
1102
1106
|
class: oe([s.flat ? "pb-3" : "border-b border-border-separator px-3 py-2.5", "select-none"]),
|
|
1103
1107
|
"data-test": "collection-toolbar"
|
|
1104
1108
|
}, [
|
|
1105
1109
|
r("div", Ul, [
|
|
1106
|
-
|
|
1110
|
+
s.collection.searchable ? (u(), y("div", Ml, [
|
|
1107
1111
|
S(l(U), {
|
|
1108
1112
|
name: "search",
|
|
1109
1113
|
size: 16
|
|
1110
1114
|
}),
|
|
1111
1115
|
Se(r("input", {
|
|
1112
1116
|
ref_key: "field",
|
|
1113
|
-
ref:
|
|
1114
|
-
"onUpdate:modelValue": A[0] || (A[0] = (P) =>
|
|
1117
|
+
ref: f,
|
|
1118
|
+
"onUpdate:modelValue": A[0] || (A[0] = (P) => d.value = P),
|
|
1115
1119
|
type: "text",
|
|
1116
1120
|
name: "collection-search",
|
|
1117
1121
|
autocomplete: "off",
|
|
@@ -1120,13 +1124,13 @@ const xt = {
|
|
|
1120
1124
|
class: "peer block min-w-0 flex-1 bg-transparent px-2 py-1.5 text-body text-content-strong outline-0 placeholder:text-content-disabled",
|
|
1121
1125
|
onInput: v
|
|
1122
1126
|
}, null, 40, Bl), [
|
|
1123
|
-
[ze,
|
|
1127
|
+
[ze, d.value]
|
|
1124
1128
|
]),
|
|
1125
1129
|
A[4] || (A[4] = r("kbd", {
|
|
1126
1130
|
"aria-hidden": "true",
|
|
1127
1131
|
class: "rounded border border-border-separator px-1.5 font-mono text-2xs leading-5 text-content-disabled peer-focus:hidden peer-[:not(:placeholder-shown)]:hidden [@media(pointer:coarse)]:hidden"
|
|
1128
1132
|
}, "/", -1)),
|
|
1129
|
-
|
|
1133
|
+
d.value !== "" ? (u(), y("button", {
|
|
1130
1134
|
key: 0,
|
|
1131
1135
|
type: "button",
|
|
1132
1136
|
"aria-label": l(n)("core.collection.clear"),
|
|
@@ -1137,12 +1141,12 @@ const xt = {
|
|
|
1137
1141
|
name: "close",
|
|
1138
1142
|
size: 16
|
|
1139
1143
|
})
|
|
1140
|
-
], 8, Il)) :
|
|
1141
|
-
]),
|
|
1144
|
+
], 8, Il)) : R("", !0)
|
|
1145
|
+
])) : R("", !0),
|
|
1142
1146
|
r("div", {
|
|
1143
1147
|
class: oe(["flex min-w-0 flex-1 items-center gap-2", s.narrow ? "w-full flex-nowrap overflow-x-auto [scrollbar-width:none]" : "flex-wrap"])
|
|
1144
1148
|
}, [
|
|
1145
|
-
x.value.length > 0 ? (
|
|
1149
|
+
x.value.length > 0 ? (u(), y("button", {
|
|
1146
1150
|
key: 0,
|
|
1147
1151
|
ref_key: "panelButton",
|
|
1148
1152
|
ref: I,
|
|
@@ -1157,9 +1161,9 @@ const xt = {
|
|
|
1157
1161
|
size: 16
|
|
1158
1162
|
}),
|
|
1159
1163
|
G(" " + g(l(n)("core.collection.filters.panel_button")) + " ", 1),
|
|
1160
|
-
M.value > 0 ? (
|
|
1161
|
-
], 10, Hl)) :
|
|
1162
|
-
Z.value.length > 0 ? (
|
|
1164
|
+
M.value > 0 ? (u(), y("span", Dl, g(M.value), 1)) : R("", !0)
|
|
1165
|
+
], 10, Hl)) : R("", !0),
|
|
1166
|
+
Z.value.length > 0 ? (u(), W(l(De), {
|
|
1163
1167
|
key: 1,
|
|
1164
1168
|
items: Z.value,
|
|
1165
1169
|
label: l(n)("core.collection.saved.menu"),
|
|
@@ -1181,8 +1185,8 @@ const xt = {
|
|
|
1181
1185
|
], 16, Kl)
|
|
1182
1186
|
]),
|
|
1183
1187
|
_: 1
|
|
1184
|
-
}, 8, ["items", "label"])) :
|
|
1185
|
-
(
|
|
1188
|
+
}, 8, ["items", "label"])) : R("", !0),
|
|
1189
|
+
(u(!0), y(J, null, Y(D.value, (P) => (u(), W(sl, {
|
|
1186
1190
|
key: P.key,
|
|
1187
1191
|
filter: P,
|
|
1188
1192
|
value: j.value[P.key],
|
|
@@ -1191,20 +1195,20 @@ const xt = {
|
|
|
1191
1195
|
], 2),
|
|
1192
1196
|
ue(w.$slots, "default")
|
|
1193
1197
|
]),
|
|
1194
|
-
k.value.length > 0 ? (
|
|
1195
|
-
(
|
|
1198
|
+
k.value.length > 0 ? (u(), y("div", Wl, [
|
|
1199
|
+
(u(!0), y(J, null, Y(k.value, (P) => (u(), y("span", {
|
|
1196
1200
|
key: P.key,
|
|
1197
1201
|
class: "inline-flex min-h-7 max-w-full items-center gap-1.5 rounded-control bg-tint-soft py-0.5 pr-0.5 pl-2.5 text-subheadline text-content-link"
|
|
1198
1202
|
}, [
|
|
1199
|
-
P.label ? (
|
|
1203
|
+
P.label ? (u(), y("span", Ql, g(P.label), 1)) : R("", !0),
|
|
1200
1204
|
r("span", Xl, [
|
|
1201
|
-
(
|
|
1202
|
-
C > 0 ? (
|
|
1205
|
+
(u(!0), y(J, null, Y(P.values, (b, C) => (u(), y(J, { key: C }, [
|
|
1206
|
+
C > 0 ? (u(), W(l(U), {
|
|
1203
1207
|
key: 0,
|
|
1204
1208
|
name: "arrowRightSLine",
|
|
1205
1209
|
size: 12,
|
|
1206
1210
|
class: "opacity-60"
|
|
1207
|
-
})) :
|
|
1211
|
+
})) : R("", !0),
|
|
1208
1212
|
r("span", Jl, g(b), 1)
|
|
1209
1213
|
], 64))), 128))
|
|
1210
1214
|
]),
|
|
@@ -1220,21 +1224,21 @@ const xt = {
|
|
|
1220
1224
|
})
|
|
1221
1225
|
], 8, Gl)
|
|
1222
1226
|
]))), 128)),
|
|
1223
|
-
k.value.length > 1 ? (
|
|
1227
|
+
k.value.length > 1 ? (u(), y("button", {
|
|
1224
1228
|
key: 0,
|
|
1225
1229
|
type: "button",
|
|
1226
1230
|
class: "cursor-pointer px-2 text-subheadline text-content-muted hover:text-content-strong hover:underline",
|
|
1227
1231
|
onClick: A[2] || (A[2] = (P) => N(x.value.map((b) => b.key)))
|
|
1228
|
-
}, g(l(n)("core.collection.filters.reset_all")), 1)) :
|
|
1229
|
-
])) :
|
|
1230
|
-
x.value.length > 0 ? (
|
|
1232
|
+
}, g(l(n)("core.collection.filters.reset_all")), 1)) : R("", !0)
|
|
1233
|
+
])) : R("", !0),
|
|
1234
|
+
x.value.length > 0 ? (u(), W(El, {
|
|
1231
1235
|
key: 1,
|
|
1232
1236
|
ref_key: "panel",
|
|
1233
1237
|
ref: Q,
|
|
1234
1238
|
collection: s.collection,
|
|
1235
1239
|
filters: x.value,
|
|
1236
1240
|
onTouched: A[3] || (A[3] = (P) => p("touched", P))
|
|
1237
|
-
}, null, 8, ["collection", "filters"])) :
|
|
1241
|
+
}, null, 8, ["collection", "filters"])) : R("", !0)
|
|
1238
1242
|
], 2));
|
|
1239
1243
|
}
|
|
1240
1244
|
}), to = ["aria-busy"], lo = {
|
|
@@ -1261,7 +1265,7 @@ const xt = {
|
|
|
1261
1265
|
actionsVisible: { type: Boolean, default: !1 }
|
|
1262
1266
|
},
|
|
1263
1267
|
setup(a) {
|
|
1264
|
-
const o = a, s = $e(), { t: p } = de(), n = Oe(), i = _(() => Object.keys($e()).filter((b) => b !== "toolbar" && b !== "empty")),
|
|
1268
|
+
const o = a, s = $e(), { t: p } = de(), n = Oe(), i = _(() => Object.keys($e()).filter((b) => b !== "toolbar" && b !== "empty")), d = _(() => o.collection.columns.value), { narrow: f, phone: h } = ut(() => d.value), v = _(() => o.collection.rows.value), V = (b) => o.collection.recordLocation(b), O = _(() => o.collection.query.value.search), D = _(() => o.collection.views.value.map((b) => ({ value: b.key, label: b.label, icon: b.icon, badge: b.count }))), x = le([]), j = (b) => x.value = [...x.value.filter((C) => !b.includes(C)), ...b], k = _(() => {
|
|
1265
1269
|
const b = Qe(o.collection.filters.value, o.collection.query.value.filters, {
|
|
1266
1270
|
formatNumber: (z) => n.number(z),
|
|
1267
1271
|
from: p("core.collection.filters.range_from"),
|
|
@@ -1288,12 +1292,12 @@ const xt = {
|
|
|
1288
1292
|
const b = o.collection.state.value;
|
|
1289
1293
|
return b.status === "failed" || b.status === "stale" ? b.error ?? "" : "";
|
|
1290
1294
|
});
|
|
1291
|
-
return (b, C) => (
|
|
1295
|
+
return (b, C) => (u(), y("div", {
|
|
1292
1296
|
class: "collection",
|
|
1293
1297
|
"aria-busy": te.value || w.value || void 0,
|
|
1294
1298
|
"data-test": "collection"
|
|
1295
1299
|
}, [
|
|
1296
|
-
D.value.length > 0 ? (
|
|
1300
|
+
D.value.length > 0 ? (u(), y("div", lo, [
|
|
1297
1301
|
S(l(He), {
|
|
1298
1302
|
"model-value": o.collection.query.value.view,
|
|
1299
1303
|
tabs: D.value,
|
|
@@ -1301,7 +1305,7 @@ const xt = {
|
|
|
1301
1305
|
label: l(p)("core.collection.views_label"),
|
|
1302
1306
|
"onUpdate:modelValue": C[0] || (C[0] = (z) => o.collection.setView(z === null ? null : String(z)))
|
|
1303
1307
|
}, null, 8, ["model-value", "tabs", "presentation", "label"])
|
|
1304
|
-
])) :
|
|
1308
|
+
])) : R("", !0),
|
|
1305
1309
|
r("div", {
|
|
1306
1310
|
ref_key: "card",
|
|
1307
1311
|
ref: I,
|
|
@@ -1309,7 +1313,7 @@ const xt = {
|
|
|
1309
1313
|
}, [
|
|
1310
1314
|
S(eo, {
|
|
1311
1315
|
collection: o.collection,
|
|
1312
|
-
narrow: l(
|
|
1316
|
+
narrow: l(f),
|
|
1313
1317
|
flat: l(h),
|
|
1314
1318
|
onTouched: j
|
|
1315
1319
|
}, {
|
|
@@ -1318,15 +1322,15 @@ const xt = {
|
|
|
1318
1322
|
]),
|
|
1319
1323
|
_: 3
|
|
1320
1324
|
}, 8, ["collection", "narrow", "flat"]),
|
|
1321
|
-
w.value ? (
|
|
1325
|
+
w.value ? (u(), y("div", oo, [
|
|
1322
1326
|
S(l(U), {
|
|
1323
1327
|
name: "loader4Line",
|
|
1324
1328
|
size: 14,
|
|
1325
1329
|
class: "animate-spin motion-reduce:animate-none"
|
|
1326
1330
|
}),
|
|
1327
1331
|
G(" " + g(l(p)("core.state.refreshing")), 1)
|
|
1328
|
-
])) :
|
|
1329
|
-
A.value ? (
|
|
1332
|
+
])) : R("", !0),
|
|
1333
|
+
A.value ? (u(), y("div", no, [
|
|
1330
1334
|
S(l(Fe), {
|
|
1331
1335
|
tone: "warning",
|
|
1332
1336
|
role: "alert"
|
|
@@ -1351,9 +1355,9 @@ const xt = {
|
|
|
1351
1355
|
]),
|
|
1352
1356
|
_: 1
|
|
1353
1357
|
})
|
|
1354
|
-
])) :
|
|
1358
|
+
])) : R("", !0),
|
|
1355
1359
|
S(dt, {
|
|
1356
|
-
columns:
|
|
1360
|
+
columns: d.value,
|
|
1357
1361
|
rows: v.value,
|
|
1358
1362
|
"row-key": o.collection.rowKey,
|
|
1359
1363
|
display: o.collection.display.value,
|
|
@@ -1397,13 +1401,13 @@ const xt = {
|
|
|
1397
1401
|
})
|
|
1398
1402
|
]),
|
|
1399
1403
|
empty: F(() => [
|
|
1400
|
-
o.collection.display.value === "empty" && s.empty ? ue(b.$slots, "empty", {}, void 0, void 0, 0) : k.value.length > 0 ? (
|
|
1404
|
+
o.collection.display.value === "empty" && s.empty ? ue(b.$slots, "empty", {}, void 0, void 0, 0) : k.value.length > 0 ? (u(), W(jt, {
|
|
1401
1405
|
key: 1,
|
|
1402
1406
|
chips: k.value,
|
|
1403
1407
|
"last-chip": M.value,
|
|
1404
1408
|
onRemove: B,
|
|
1405
1409
|
onClearAll: N
|
|
1406
|
-
}, null, 8, ["chips", "last-chip"])) : (
|
|
1410
|
+
}, null, 8, ["chips", "last-chip"])) : (u(), W(l(ct), {
|
|
1407
1411
|
key: 2,
|
|
1408
1412
|
title: l(p)("core.collection.no_data"),
|
|
1409
1413
|
description: l(p)("core.collection.no_results")
|
|
@@ -1420,7 +1424,7 @@ const xt = {
|
|
|
1420
1424
|
]), 1032, ["columns", "rows", "row-key", "display", "phone", "search", "sorted", "row-actions", "row-label", "row-height", "density", "actions-visible", "skeleton-rows", "reserve-rows"]),
|
|
1421
1425
|
S(Jt, {
|
|
1422
1426
|
collection: o.collection,
|
|
1423
|
-
compact: l(
|
|
1427
|
+
compact: l(f),
|
|
1424
1428
|
flat: l(h),
|
|
1425
1429
|
onTurned: K
|
|
1426
1430
|
}, null, 8, ["collection", "compact", "flat"])
|
|
@@ -1444,7 +1448,7 @@ const xt = {
|
|
|
1444
1448
|
},
|
|
1445
1449
|
setup(a) {
|
|
1446
1450
|
const o = a, s = _(() => Object.keys($e()).filter((n) => n !== "default")), p = _(() => o.collection.total.value || null);
|
|
1447
|
-
return (n, i) => (
|
|
1451
|
+
return (n, i) => (u(), W(l(it), {
|
|
1448
1452
|
title: o.title,
|
|
1449
1453
|
description: o.description,
|
|
1450
1454
|
icon: o.icon,
|
|
@@ -1461,10 +1465,10 @@ const xt = {
|
|
|
1461
1465
|
"views-presentation": o.viewsPresentation,
|
|
1462
1466
|
"actions-visible": o.actionsVisible
|
|
1463
1467
|
}, Me({ _: 2 }, [
|
|
1464
|
-
Y(s.value, (
|
|
1465
|
-
name:
|
|
1466
|
-
fn: F((
|
|
1467
|
-
ue(n.$slots,
|
|
1468
|
+
Y(s.value, (d) => ({
|
|
1469
|
+
name: d,
|
|
1470
|
+
fn: F((f) => [
|
|
1471
|
+
ue(n.$slots, d, Be(Ie(f ?? {})))
|
|
1468
1472
|
])
|
|
1469
1473
|
}))
|
|
1470
1474
|
]), 1032, ["collection", "row-actions", "row-label", "row-height", "density", "views-presentation", "actions-visible"]),
|