@wssto2/vue-core 0.5.4 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -0
- package/README.md +6 -1
- package/dist/{AccessGate.vue_vue_type_script_setup_true_lang-DZ9GcLC1.js → AccessGate.vue_vue_type_script_setup_true_lang-CkomzGrt.js} +1 -1
- package/dist/{AccountMenuItem.vue_vue_type_script_setup_true_lang-CPeNxh5K.js → AccountMenuItem.vue_vue_type_script_setup_true_lang-BIYgaihv.js} +1 -1
- package/dist/{ActionRow.vue_vue_type_script_setup_true_lang-Bv-APkGf.js → ActionRow.vue_vue_type_script_setup_true_lang-Cg1lhpcA.js} +2 -2
- package/dist/{Activity-DUjDaPfP.js → Activity-CW2TOQAY.js} +9 -9
- package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-GUTIXuNd.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-9Lt1XggN.js} +3 -3
- package/dist/{AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js → AlertDialog.vue_vue_type_script_setup_true_lang-BvGc1Rfl.js} +1 -1
- package/dist/{AsyncSection.vue_vue_type_script_setup_true_lang-B0NfvG3B.js → AsyncSection.vue_vue_type_script_setup_true_lang-GxAsImnO.js} +4 -4
- package/dist/{Banner.vue_vue_type_script_setup_true_lang-DSStj_5z.js → Banner.vue_vue_type_script_setup_true_lang-sv0phngk.js} +1 -1
- package/dist/{Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js → Button.vue_vue_type_script_setup_true_lang-DQq_0P0p.js} +1 -1
- package/dist/{Changes-B0tZO6BZ.js → Changes-BCaVkeZg.js} +8 -8
- package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-o_Pj-JcD.js → CollectionPage.vue_vue_type_script_setup_true_lang-BmXnfM5f.js} +17 -16
- package/dist/{DataTable.vue_vue_type_script_setup_true_lang-BEvz5zqo.js → DataTable.vue_vue_type_script_setup_true_lang-DRWrCRLr.js} +1 -1
- package/dist/{DateField.vue_vue_type_script_setup_true_lang-CDg31ZU7.js → DateField.vue_vue_type_script_setup_true_lang-DmYp54mq.js} +3 -3
- package/dist/{DeadLetters-IgVHao84.js → DeadLetters-DUM_bsL-.js} +8 -7
- package/dist/{DiscardChangesModal.vue_vue_type_script_setup_true_lang-D1arePCZ.js → DiscardChangesModal.vue_vue_type_script_setup_true_lang-DcihJfpk.js} +1 -1
- package/dist/{EmptyState.vue_vue_type_script_setup_true_lang-50p-Mp8I.js → EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js} +1 -1
- package/dist/{FormErrors.vue_vue_type_script_setup_true_lang-D7edzNTL.js → FormErrors.vue_vue_type_script_setup_true_lang-DJiK8iqo.js} +1 -1
- package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-CSgT4ITL.js → FormGroup.vue_vue_type_script_setup_true_lang-BTADNpwB.js} +2 -2
- package/dist/{FormView.vue_vue_type_script_setup_true_lang-D31Hk3pJ.js → FormView.vue_vue_type_script_setup_true_lang-Ncl9DmFB.js} +2 -2
- package/dist/{General-C40HxupS.js → General-Dsh0TJ5w.js} +8 -8
- package/dist/{HeaderAction.vue_vue_type_script_setup_true_lang-Cgji-Jrr.js → HeaderAction.vue_vue_type_script_setup_true_lang-Da59TLBh.js} +2 -2
- package/dist/{Icon.vue_vue_type_script_lang-D7oC-d-S.js → Icon.vue_vue_type_script_lang-BhhsFYwp.js} +45 -42
- package/dist/{IconTile.vue_vue_type_script_setup_true_lang-_FXvaj93.js → IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js} +1 -1
- package/dist/IncidentRecord-C9zrjNrp.js +405 -0
- package/dist/IncidentsList-ClQOjd5c.js +140 -0
- package/dist/KeyValue.vue_vue_type_script_setup_true_lang-wcZcvnow.js +35 -0
- package/dist/{LeaveGuardRoot.vue_vue_type_script_setup_true_lang-Cv7KlA5y.js → LeaveGuardRoot.vue_vue_type_script_setup_true_lang-ChIsmnts.js} +1 -1
- package/dist/{Menu.vue_vue_type_script_setup_true_lang-DsFOeCVe.js → Menu.vue_vue_type_script_setup_true_lang-ldLdJ5Q-.js} +1 -1
- package/dist/{MenuButton.vue_vue_type_script_setup_true_lang-AGbN9r5q.js → MenuButton.vue_vue_type_script_setup_true_lang-C-XRr5f2.js} +1 -1
- package/dist/{Modal.vue_vue_type_script_setup_true_lang-DpBb8ans.js → Modal.vue_vue_type_script_setup_true_lang-4MsnTWyx.js} +2 -2
- package/dist/{NewRolePage-Bhy8KJO1.js → NewRolePage-Bw2_jXcQ.js} +9 -8
- package/dist/{NoAccess.vue_vue_type_script_setup_true_lang-DWxq-MTM.js → NoAccess.vue_vue_type_script_setup_true_lang-BHzZtZ50.js} +1 -1
- package/dist/{NumberField.vue_vue_type_script_setup_true_lang-BdS7BxuS.js → NumberField.vue_vue_type_script_setup_true_lang-C3nw944P.js} +1 -1
- package/dist/{PageBar.vue_vue_type_script_setup_true_lang-B7qdEeej.js → PageBar.vue_vue_type_script_setup_true_lang-DPpcZxuT.js} +1 -1
- package/dist/{Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js → Panel.vue_vue_type_script_setup_true_lang-D_Wg42hu.js} +1 -1
- package/dist/PersonAccess.vue_vue_type_script_setup_true_lang-07pq4SrY.js +600 -0
- package/dist/{PhotoViewer.vue_vue_type_script_setup_true_lang-CY5EZiyK.js → PhotoViewer.vue_vue_type_script_setup_true_lang-Cj0hSMk9.js} +1 -1
- package/dist/{ProfilePage-Bf7dFzGd.js → ProfilePage-CJIztbx3.js} +19 -19
- package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-fmx0f8xi.js → RecordHeader.vue_vue_type_script_setup_true_lang-DPm9q1P_.js} +2 -2
- package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-BFBGvevP.js → ResourcePage.vue_vue_type_script_setup_true_lang-Cm3tx76N.js} +5 -5
- package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-C6oloGIh.js → RoleEditor.vue_vue_type_script_setup_true_lang-DuQR8hFf.js} +35 -34
- package/dist/{RolePage-BjbvciTg.js → RolePage-Yv6m6u7o.js} +43 -41
- package/dist/{RolesPage-DzVOgF4z.js → RolesPage-TibtzxzQ.js} +34 -32
- package/dist/{SectionList.vue_vue_type_script_setup_true_lang-wyW7n3Uq.js → SectionList.vue_vue_type_script_setup_true_lang-DAnZbfWA.js} +3 -3
- package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-Ci04hApd.js → SectionNavigator.vue_vue_type_script_setup_true_lang-ivdGWUeF.js} +5 -5
- package/dist/{SegmentedField.vue_vue_type_script_setup_true_lang-DXe_iOS8.js → SegmentedField.vue_vue_type_script_setup_true_lang-ChfDFAA2.js} +1 -1
- package/dist/{SelectField.vue_vue_type_script_setup_true_lang-BN4vzvV9.js → SelectField.vue_vue_type_script_setup_true_lang-iJm8qmjT.js} +7 -7
- package/dist/ServiceAccountDialog.vue_vue_type_script_setup_true_lang-D2Xj5mr7.js +126 -0
- package/dist/ServiceAccountRecord-Ct3TrSqZ.js +511 -0
- package/dist/ServiceAccountsList-CaXEp73j.js +137 -0
- package/dist/{SessionList.vue_vue_type_script_setup_true_lang-PuWIK-Wa.js → SessionList.vue_vue_type_script_setup_true_lang-BEKTaL0g.js} +4 -4
- package/dist/{Sessions-CRUObe5G.js → Sessions-Bg4Zk9Gf.js} +6 -6
- package/dist/{SettingsPage-C0qEC0uI.js → SettingsPage-Brq9U4tJ.js} +19 -19
- package/dist/{Sheet.vue_vue_type_script_setup_true_lang-DgOFV4fa.js → Sheet.vue_vue_type_script_setup_true_lang-sh9YD0Pm.js} +1 -1
- package/dist/{SignIn-Uy0Jujzz.js → SignIn-DB5LRNlB.js} +7 -7
- package/dist/{SignInPage-CpVZfrLZ.js → SignInPage-Ts-iTaC1.js} +6 -6
- package/dist/{SignIns-Cp5Gx2dk.js → SignIns-bCvvmCHF.js} +6 -6
- package/dist/{SwipeActions.vue_vue_type_script_setup_true_lang-BJIA2JfI.js → SwipeActions.vue_vue_type_script_setup_true_lang-D8SiC0G7.js} +1 -1
- package/dist/{SwitchField.vue_vue_type_script_setup_true_lang-Dj5Aq8QT.js → SwitchField.vue_vue_type_script_setup_true_lang-BMA2YXTZ.js} +1 -1
- package/dist/{Tabs.vue_vue_type_script_setup_true_lang-CcMcE38r.js → Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js} +1 -1
- package/dist/{TextField.vue_vue_type_script_setup_true_lang-BwfNNQEz.js → TextField.vue_vue_type_script_setup_true_lang-7IAl4eAE.js} +3 -3
- package/dist/{TextareaField.vue_vue_type_script_setup_true_lang-aT1P8Xqr.js → TextareaField.vue_vue_type_script_setup_true_lang-Dyh4Hhyl.js} +1 -1
- package/dist/{TimeField.vue_vue_type_script_setup_true_lang-jPKPE1hc.js → TimeField.vue_vue_type_script_setup_true_lang-BwoE08jT.js} +3 -3
- package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-CutyQkJb.js → Timestamp.vue_vue_type_script_setup_true_lang-u53rHMFG.js} +1 -1
- package/dist/{UserRecord-DbSMnTbj.js → UserRecord-DgK9FsvV.js} +30 -30
- package/dist/{UsersList-9MicE2pG.js → UsersList-Due2ZkbO.js} +14 -14
- package/dist/{ViewTabs.vue_vue_type_script_setup_true_lang-BJIoZAlH.js → ViewTabs.vue_vue_type_script_setup_true_lang-BjdDXE3T.js} +1 -1
- package/dist/access/api.d.ts +7 -8
- package/dist/access/context.d.ts +2 -7
- package/dist/access/feature.d.ts +0 -8
- package/dist/access/index.js +47 -15
- package/dist/app/application.d.ts +2 -0
- package/dist/app/index.js +13 -427
- package/dist/application-D8Nm17zA.js +420 -0
- package/dist/button/index.js +1 -1
- package/dist/client/client.d.ts +7 -0
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.js +5 -4
- package/dist/client-CZgikXPG.js +151 -0
- package/dist/collection/index.js +55 -63
- package/dist/content/index.js +37 -66
- package/dist/{contributions-fx5q5n1u.js → contributions-BQ9dZoRw.js} +1 -1
- package/dist/controls/index.js +4 -4
- package/dist/datePresets-DB13HHHd.js +17 -0
- package/dist/definition-C7QuyV3i.js +54 -0
- package/dist/form/index.js +590 -615
- package/dist/{guards-D4mXf_2X.js → guards-BFCulig0.js} +1 -1
- package/dist/http-nz92KjdS.js +42 -0
- package/dist/i18n/index.js +36 -36
- package/dist/icon/core.d.ts +3 -0
- package/dist/icon/index.js +1 -1
- package/dist/identity/index.d.ts +7 -0
- package/dist/identity/index.js +19 -15
- package/dist/identity/serviceaccounts/ApiKeysPanel.vue.d.ts +17 -0
- package/dist/identity/serviceaccounts/CreatedApiKeyDialog.vue.d.ts +53 -0
- package/dist/identity/serviceaccounts/NewApiKeyDialog.vue.d.ts +24 -0
- package/dist/identity/serviceaccounts/ServiceAccountDialog.vue.d.ts +22 -0
- package/dist/identity/serviceaccounts/ServiceAccountRecord.vue.d.ts +2 -0
- package/dist/identity/serviceaccounts/ServiceAccountsList.vue.d.ts +2 -0
- package/dist/identity/serviceaccounts/access.d.ts +4 -0
- package/dist/identity/serviceaccounts/api.d.ts +27 -0
- package/dist/identity/serviceaccounts/context.d.ts +14 -0
- package/dist/identity/serviceaccounts/feature.d.ts +23 -0
- package/dist/identity/serviceaccounts/form.d.ts +4 -0
- package/dist/identity/serviceaccounts/messages.d.ts +11 -0
- package/dist/identity/serviceaccounts/routes.d.ts +22 -0
- package/dist/incidents/IncidentRecord.vue.d.ts +2 -0
- package/dist/incidents/IncidentsList.vue.d.ts +2 -0
- package/dist/incidents/Person.vue.d.ts +7 -0
- package/dist/incidents/ReportDialog.vue.d.ts +21 -0
- package/dist/incidents/ReportHost.vue.d.ts +2 -0
- package/dist/incidents/ReportMenuItem.vue.d.ts +2 -0
- package/dist/incidents/access.d.ts +6 -0
- package/dist/incidents/api.d.ts +27 -0
- package/dist/incidents/clientErrorReporter.d.ts +38 -0
- package/dist/incidents/context.d.ts +7 -0
- package/dist/incidents/feature.d.ts +20 -0
- package/dist/incidents/form.d.ts +16 -0
- package/dist/incidents/index.d.ts +9 -0
- package/dist/incidents/index.js +8 -0
- package/dist/incidents/look.d.ts +6 -0
- package/dist/incidents/routes.d.ts +21 -0
- package/dist/{index-Ok29ucE3.js → index-CXTJ_1NV.js} +191 -168
- package/dist/index-D5_GAqjA.js +340 -0
- package/dist/{index-C-oM_Mnf.js → index-i-cTTVxo.js} +10 -10
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/copyText.d.ts +5 -0
- package/dist/modal/index.js +5 -5
- package/dist/modules/incident/entities.d.ts +84 -0
- package/dist/modules/incident/routes.d.ts +54 -0
- package/dist/modules/incident/schemas.d.ts +48 -0
- package/dist/modules/serviceaccount/entities.d.ts +127 -0
- package/dist/modules/serviceaccount/routes.d.ts +58 -0
- package/dist/modules/serviceaccount/schemas.d.ts +49 -0
- package/dist/{navigation-Bc5EQ_Si.js → navigation-BSC9X7FM.js} +1 -1
- package/dist/{neighbors-Bv6vnWlW.js → neighbors-BKzihEGQ.js} +1 -1
- package/dist/notifications/index.js +1 -1
- package/dist/{options-Bu0XbEpN.js → options-QuOkMKVZ.js} +4 -4
- package/dist/overlay/index.js +4 -4
- package/dist/page/index.js +7 -7
- package/dist/phone/index.js +2 -2
- package/dist/platform/index.js +3 -3
- package/dist/{platform-Dx6STiwY.js → platform-Dr4iY3b8.js} +1 -1
- package/dist/refusals-COPr15XZ.js +135 -0
- package/dist/resource/index.js +1 -1
- package/dist/router/index.js +4 -4
- package/dist/routes-CVckt7Pj.js +19 -0
- package/dist/{rowLayout-BBFyLbOl.js → rowLayout-Cz-K7jeo.js} +5 -5
- package/dist/{sections-B0HxIOC2.js → sections-BXg4_ZhO.js} +1 -1
- package/dist/shell/index.js +9 -9
- package/dist/state/index.js +4 -4
- package/dist/state-ChVIjayU.js +102 -0
- package/dist/{status-C78NpXyB.js → status-DZ4eSnAS.js} +9 -8
- package/dist/styles.css +1 -1
- package/dist/{suggestions-ClyLexMO.js → suggestions-niXd1oOl.js} +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/{useCommand-DyuPTosF.js → useCommand-BIZX1ReM.js} +4 -4
- package/dist/{useGroupSheet-C2NyqWRp.js → useGroupSheet-DxXzdKo3.js} +5 -5
- package/dist/useRecordDialog-BLVSz7g3.js +30 -0
- package/dist/{useResourceForm-CJfl8rj_.js → useResourceForm-DYuYT_on.js} +1 -1
- package/dist/{useTypedEntry-C7k7Dyl-.js → useTypedEntry-CKuGqWT8.js} +2 -2
- package/package.json +6 -2
- package/dist/client-BHPFfBj3.js +0 -147
- package/dist/http-CdQowFlW.js +0 -194
- package/dist/index-BdGnA1Jh.js +0 -765
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import { defineComponent as P, openBlock as f, createBlock as E, unref as e, withCtx as m, createVNode as i, mergeProps as N, createElementVNode as A, toDisplayString as $, watch as Q, createElementBlock as b, Fragment as V, useModel as ge, useId as ye, useTemplateRef as Y, ref as x, onMounted as be, onBeforeUnmount as we, computed as L, withModifiers as he, createCommentVNode as z, createTextVNode as U, mergeModels as re, createSlots as xe, renderList as de, renderSlot as $e, resolveDynamicComponent as ne } from "vue";
|
|
2
2
|
import { useI18n as I } from "vue-i18n";
|
|
3
|
-
import { a as ke } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-
|
|
4
|
-
import { u as G } from "./platform-
|
|
5
|
-
import { _ as ee } from "./AsyncSection.vue_vue_type_script_setup_true_lang-
|
|
3
|
+
import { a as ke } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-9Lt1XggN.js";
|
|
4
|
+
import { u as G } from "./platform-Dr4iY3b8.js";
|
|
5
|
+
import { _ as ee } from "./AsyncSection.vue_vue_type_script_setup_true_lang-GxAsImnO.js";
|
|
6
6
|
import { u as te } from "./useLoad-W4tfxmm5.js";
|
|
7
|
-
import { i as S, d as T, c as qe } from "./index-
|
|
8
|
-
import { u as ce } from "./FormErrors.vue_vue_type_script_setup_true_lang-
|
|
9
|
-
import { _ as ue } from "./FormView.vue_vue_type_script_setup_true_lang-
|
|
10
|
-
import { u as Ce, _ as Se, a as Ee, b as Ve } from "./useGroupSheet-
|
|
11
|
-
import { _ as H, p as Pe } from "./FormGroup.vue_vue_type_script_setup_true_lang-
|
|
7
|
+
import { i as S, d as T, c as qe } from "./index-CXTJ_1NV.js";
|
|
8
|
+
import { u as ce } from "./FormErrors.vue_vue_type_script_setup_true_lang-DJiK8iqo.js";
|
|
9
|
+
import { _ as ue } from "./FormView.vue_vue_type_script_setup_true_lang-Ncl9DmFB.js";
|
|
10
|
+
import { u as Ce, _ as Se, a as Ee, b as Ve } from "./useGroupSheet-DxXzdKo3.js";
|
|
11
|
+
import { _ as H, p as Pe } from "./FormGroup.vue_vue_type_script_setup_true_lang-BTADNpwB.js";
|
|
12
12
|
import { t as C } from "./toast-CqSDTWRX.js";
|
|
13
13
|
import { u as W } from "./fieldMessages-DTXpWnBd.js";
|
|
14
|
-
import { g as K } from "./options-
|
|
15
|
-
import { _ as F } from "./TextField.vue_vue_type_script_setup_true_lang-
|
|
16
|
-
import { _ as pe } from "./IconTile.vue_vue_type_script_setup_true_lang-
|
|
14
|
+
import { g as K } from "./options-QuOkMKVZ.js";
|
|
15
|
+
import { _ as F } from "./TextField.vue_vue_type_script_setup_true_lang-7IAl4eAE.js";
|
|
16
|
+
import { _ as pe } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
|
|
17
17
|
import { u as ae } from "./format-D8X4zsx6.js";
|
|
18
|
-
import { _ as X } from "./ActionRow.vue_vue_type_script_setup_true_lang-
|
|
18
|
+
import { _ as X } from "./ActionRow.vue_vue_type_script_setup_true_lang-Cg1lhpcA.js";
|
|
19
19
|
import { i as Z } from "./error-Bb_dr_Ay.js";
|
|
20
20
|
import { a as Ie } from "./leaveGuard-Cc8yeLxM.js";
|
|
21
|
-
import { _ as Ne } from "./Modal.vue_vue_type_script_setup_true_lang-
|
|
22
|
-
import { _ as J } from "./Button.vue_vue_type_script_setup_true_lang-
|
|
23
|
-
import { u as Ae, _ as Me } from "./useCommand-
|
|
24
|
-
import { _ as Re } from "./AlertDialog.vue_vue_type_script_setup_true_lang-
|
|
25
|
-
import { _ as De } from "./SessionList.vue_vue_type_script_setup_true_lang-
|
|
26
|
-
import { _ as Le } from "./PageBar.vue_vue_type_script_setup_true_lang-
|
|
21
|
+
import { _ as Ne } from "./Modal.vue_vue_type_script_setup_true_lang-4MsnTWyx.js";
|
|
22
|
+
import { _ as J } from "./Button.vue_vue_type_script_setup_true_lang-DQq_0P0p.js";
|
|
23
|
+
import { u as Ae, _ as Me } from "./useCommand-BIZX1ReM.js";
|
|
24
|
+
import { _ as Re } from "./AlertDialog.vue_vue_type_script_setup_true_lang-BvGc1Rfl.js";
|
|
25
|
+
import { _ as De } from "./SessionList.vue_vue_type_script_setup_true_lang-BEKTaL0g.js";
|
|
26
|
+
import { _ as Le } from "./PageBar.vue_vue_type_script_setup_true_lang-DPpcZxuT.js";
|
|
27
27
|
import { _ as Ue } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
|
|
28
28
|
import { d as Fe, s as Ge, a as Be } from "./signInEvents-DWShrJox.js";
|
|
29
|
-
import { _ as Oe } from "./ViewTabs.vue_vue_type_script_setup_true_lang-
|
|
29
|
+
import { _ as Oe } from "./ViewTabs.vue_vue_type_script_setup_true_lang-BjdDXE3T.js";
|
|
30
30
|
const je = { class: "font-mono" }, ie = /* @__PURE__ */ P({
|
|
31
31
|
__name: "DetailsFields",
|
|
32
32
|
props: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as p, useTemplateRef as u, openBlock as t, createElementBlock as c, renderSlot as r, createCommentVNode as s, createElementVNode as n, toDisplayString as a, Fragment as d, renderList as f, createBlock as h, resolveDynamicComponent as g, withCtx as x, createVNode as _, unref as k } from "vue";
|
|
2
|
-
import { _ as b } from "./Icon.vue_vue_type_script_lang-
|
|
3
|
-
import { u as w } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-
|
|
2
|
+
import { _ as b } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
|
|
3
|
+
import { u as w } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-9Lt1XggN.js";
|
|
4
4
|
const v = { class: "flex min-w-0 flex-wrap items-center gap-5 compact:flex-col compact:gap-2 compact:text-center" }, y = {
|
|
5
5
|
key: 0,
|
|
6
6
|
class: "min-w-0 max-w-full shrink-0"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { defineComponent as S, openBlock as a, createElementBlock as v, unref as t, createBlock as d, withCtx as s, createVNode as i, normalizeClass as m, createElementVNode as R, toDisplayString as y, computed as f, createSlots as $, renderSlot as u, createCommentVNode as A } from "vue";
|
|
2
2
|
import { useI18n as z } from "vue-i18n";
|
|
3
|
-
import { a as C } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-
|
|
4
|
-
import { _ as B } from "./AsyncSection.vue_vue_type_script_setup_true_lang-
|
|
5
|
-
import { _ as D } from "./EmptyState.vue_vue_type_script_setup_true_lang-
|
|
3
|
+
import { a as C } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-9Lt1XggN.js";
|
|
4
|
+
import { _ as B } from "./AsyncSection.vue_vue_type_script_setup_true_lang-GxAsImnO.js";
|
|
5
|
+
import { _ as D } from "./EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js";
|
|
6
6
|
import { useRouter as K, RouterLink as w } from "vue-router";
|
|
7
|
-
import { u as N } from "./Button.vue_vue_type_script_setup_true_lang-
|
|
8
|
-
import { _ as g } from "./Icon.vue_vue_type_script_lang-
|
|
7
|
+
import { u as N } from "./Button.vue_vue_type_script_setup_true_lang-DQq_0P0p.js";
|
|
8
|
+
import { _ as g } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
|
|
9
9
|
import { _ as x } from "./Tooltip.vue_vue_type_script_setup_true_lang-mErNPt8e.js";
|
|
10
10
|
const V = ["aria-label"], j = {
|
|
11
11
|
class: "min-w-14 px-1 text-center text-footnote tabular-nums text-content-muted compact:px-1.5",
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import { defineComponent as D, computed as k, ref as H, openBlock as r, createElementBlock as g, createElementVNode as O, unref as t, Fragment as
|
|
1
|
+
import { defineComponent as D, computed as k, ref as H, openBlock as r, createElementBlock as g, createElementVNode as O, unref as t, Fragment as L, renderList as C, normalizeClass as X, toDisplayString as f, createVNode as q, withCtx as p, createTextVNode as x, createCommentVNode as V, createBlock as _, createSlots as Y, watch as Z, mergeProps as F } from "vue";
|
|
2
2
|
import { useI18n as I } from "vue-i18n";
|
|
3
|
-
import { u as ee } from "./FormErrors.vue_vue_type_script_setup_true_lang-
|
|
4
|
-
import { _ as Q } from "./FormGroup.vue_vue_type_script_setup_true_lang-
|
|
5
|
-
import { _ as te } from "./FormView.vue_vue_type_script_setup_true_lang-
|
|
6
|
-
import { _ as ae } from "./SelectField.vue_vue_type_script_setup_true_lang-
|
|
7
|
-
import { _ as se } from "./TextareaField.vue_vue_type_script_setup_true_lang-
|
|
8
|
-
import { _ as oe } from "./TextField.vue_vue_type_script_setup_true_lang-
|
|
3
|
+
import { u as ee } from "./FormErrors.vue_vue_type_script_setup_true_lang-DJiK8iqo.js";
|
|
4
|
+
import { _ as Q } from "./FormGroup.vue_vue_type_script_setup_true_lang-BTADNpwB.js";
|
|
5
|
+
import { _ as te } from "./FormView.vue_vue_type_script_setup_true_lang-Ncl9DmFB.js";
|
|
6
|
+
import { _ as ae } from "./SelectField.vue_vue_type_script_setup_true_lang-iJm8qmjT.js";
|
|
7
|
+
import { _ as se } from "./TextareaField.vue_vue_type_script_setup_true_lang-Dyh4Hhyl.js";
|
|
8
|
+
import { _ as oe } from "./TextField.vue_vue_type_script_setup_true_lang-7IAl4eAE.js";
|
|
9
9
|
import { u as ne } from "./useSaveChrome-7huA3FzR.js";
|
|
10
10
|
import { t as le } from "./toast-CqSDTWRX.js";
|
|
11
11
|
import { _ as E } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
|
|
12
|
-
import { _ as R } from "./Banner.vue_vue_type_script_setup_true_lang-
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { _ as
|
|
16
|
-
import { _ as
|
|
17
|
-
import { _ as
|
|
18
|
-
import {
|
|
12
|
+
import { _ as R } from "./Banner.vue_vue_type_script_setup_true_lang-sv0phngk.js";
|
|
13
|
+
import { u as re } from "./PersonAccess.vue_vue_type_script_setup_true_lang-07pq4SrY.js";
|
|
14
|
+
import { g as W, u as G, p as ie, o as T, h as K, i as M, s as ce, j as ue, f as de, a as me, k as fe } from "./refusals-COPr15XZ.js";
|
|
15
|
+
import { _ as pe } from "./Button.vue_vue_type_script_setup_true_lang-DQq_0P0p.js";
|
|
16
|
+
import { _ as _e } from "./Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js";
|
|
17
|
+
import { _ as ve } from "./SegmentedField.vue_vue_type_script_setup_true_lang-ChfDFAA2.js";
|
|
18
|
+
import { _ as be } from "./SwitchField.vue_vue_type_script_setup_true_lang-BMA2YXTZ.js";
|
|
19
|
+
import { u as ge } from "./platform-Dr4iY3b8.js";
|
|
19
20
|
function ye(y, c) {
|
|
20
21
|
return Object.fromEntries(
|
|
21
22
|
y.map(({ attribute: d, options: o }) => {
|
|
@@ -34,7 +35,7 @@ function he(y, c, d, o) {
|
|
|
34
35
|
const ke = {
|
|
35
36
|
class: "flex min-w-0 flex-col gap-4 lg:grid lg:grid-cols-[15rem_minmax(0,1fr)] lg:items-start lg:gap-8",
|
|
36
37
|
"data-test": "permission-tree"
|
|
37
|
-
}, xe = ["aria-label"], we = ["data-test", "aria-current", "onClick"], $e = { class: "min-w-0 flex-1 truncate" }, Oe = ["data-test"], Ve = ["data-test"],
|
|
38
|
+
}, xe = ["aria-label"], we = ["data-test", "aria-current", "onClick"], $e = { class: "min-w-0 flex-1 truncate" }, Oe = ["data-test"], Ve = ["data-test"], je = { class: "flex min-w-0 items-center justify-between gap-3 px-row-inset" }, Le = { class: "min-w-0 flex-1 text-title3 font-semibold text-content-strong" }, Ce = { class: "text-footnote tabular-nums text-content-muted" }, qe = {
|
|
38
39
|
key: 0,
|
|
39
40
|
class: "contents",
|
|
40
41
|
"data-test": "tree-toggle-all"
|
|
@@ -45,10 +46,10 @@ const ke = {
|
|
|
45
46
|
readonly: { type: Boolean }
|
|
46
47
|
},
|
|
47
48
|
setup(y) {
|
|
48
|
-
const c = y, { t: d } = I(), { catalogue: o } = W(), u = G(), l = k(() =>
|
|
49
|
+
const c = y, { t: d } = I(), { catalogue: o } = W(), u = G(), l = k(() => ie(o)), v = H(l.value[0]?.key ?? ""), i = k(() => l.value.find((a) => a.key === v.value) ?? l.value[0]), b = (a) => Object.entries(o).filter(([, s]) => ue(s) === a).map(([s]) => s), w = (a) => {
|
|
49
50
|
const s = b(a);
|
|
50
51
|
return { granted: s.filter((e) => e in c.grants).length, total: s.length };
|
|
51
|
-
}, B = (a) => `${w(a).granted} / ${w(a).total}`,
|
|
52
|
+
}, B = (a) => `${w(a).granted} / ${w(a).total}`, j = k(() => l.value.map((a) => ({ value: a.key, label: u.groupLabel(a.key), badge: B(a.key) }))), P = k(() => i.value !== void 0 && w(i.value.key).granted === w(i.value.key).total);
|
|
52
53
|
function m() {
|
|
53
54
|
if (!i.value) return;
|
|
54
55
|
const a = P.value;
|
|
@@ -64,14 +65,14 @@ const ke = {
|
|
|
64
65
|
const s = a.requires.map((e) => u.permissionLabel(e)).join(", ");
|
|
65
66
|
return [u.permissionDescription(a.id), s ? d("core.access.requires", { names: s }) : ""].filter(Boolean).join(" ");
|
|
66
67
|
}
|
|
67
|
-
const A = (a, s) =>
|
|
68
|
+
const A = (a, s) => ce(o, c.grants, a, s), z = (a, s) => s ? M(o, c.grants, a) : K(o, c.grants, a);
|
|
68
69
|
return (a, s) => (r(), g("div", ke, [
|
|
69
70
|
O("nav", {
|
|
70
71
|
class: "hidden flex-col gap-0.5 lg:sticky lg:top-4 lg:flex",
|
|
71
72
|
"aria-label": t(d)("core.access.modules"),
|
|
72
73
|
"data-test": "tree-modules"
|
|
73
74
|
}, [
|
|
74
|
-
(r(!0), g(
|
|
75
|
+
(r(!0), g(L, null, C(l.value, (e) => (r(), g("button", {
|
|
75
76
|
key: e.key,
|
|
76
77
|
type: "button",
|
|
77
78
|
"data-test": `tree-module-${e.key}`,
|
|
@@ -89,7 +90,7 @@ const ke = {
|
|
|
89
90
|
q(t(_e), {
|
|
90
91
|
modelValue: v.value,
|
|
91
92
|
"onUpdate:modelValue": s[0] || (s[0] = (e) => v.value = e),
|
|
92
|
-
tabs:
|
|
93
|
+
tabs: j.value,
|
|
93
94
|
presentation: "scope",
|
|
94
95
|
class: "lg:hidden"
|
|
95
96
|
}, null, 8, ["modelValue", "tabs"]),
|
|
@@ -98,8 +99,8 @@ const ke = {
|
|
|
98
99
|
class: "flex min-w-0 flex-col gap-6",
|
|
99
100
|
"data-test": `tree-panel-${i.value.key}`
|
|
100
101
|
}, [
|
|
101
|
-
O("div",
|
|
102
|
-
O("h2",
|
|
102
|
+
O("div", je, [
|
|
103
|
+
O("h2", Le, f(t(u).groupLabel(i.value.key)), 1),
|
|
103
104
|
O("span", Ce, f(B(i.value.key)), 1),
|
|
104
105
|
c.readonly ? V("", !0) : (r(), g("span", qe, [
|
|
105
106
|
q(t(pe), {
|
|
@@ -114,12 +115,12 @@ const ke = {
|
|
|
114
115
|
})
|
|
115
116
|
]))
|
|
116
117
|
]),
|
|
117
|
-
(r(!0), g(
|
|
118
|
+
(r(!0), g(L, null, C(i.value.screens, (e) => (r(), _(t(Q), {
|
|
118
119
|
key: e.key,
|
|
119
120
|
header: t(u).screenLabel(e.key)
|
|
120
121
|
}, {
|
|
121
122
|
default: p(() => [
|
|
122
|
-
(r(!0), g(
|
|
123
|
+
(r(!0), g(L, null, C(U(e), (n) => (r(), _(t(ve), {
|
|
123
124
|
key: n,
|
|
124
125
|
label: t(u).ownableLabel(n),
|
|
125
126
|
hint: $(e, n),
|
|
@@ -128,7 +129,7 @@ const ke = {
|
|
|
128
129
|
disabled: c.readonly || t(T)(t(o), c.grants, n) === null,
|
|
129
130
|
"onUpdate:modelValue": (h) => A(n, h)
|
|
130
131
|
}, null, 8, ["label", "hint", "model-value", "options", "disabled", "onUpdate:modelValue"]))), 128)),
|
|
131
|
-
(r(!0), g(
|
|
132
|
+
(r(!0), g(L, null, C(e.permissions, (n) => (r(), _(t(be), {
|
|
132
133
|
key: n.id,
|
|
133
134
|
label: t(u).permissionLabel(n.id),
|
|
134
135
|
hint: S(n),
|
|
@@ -182,7 +183,7 @@ const ke = {
|
|
|
182
183
|
key: 0,
|
|
183
184
|
class: "flex flex-wrap gap-1.5 px-row-inset py-2",
|
|
184
185
|
"data-test": "role-attrs"
|
|
185
|
-
},
|
|
186
|
+
}, Ze = /* @__PURE__ */ D({
|
|
186
187
|
__name: "RoleEditor",
|
|
187
188
|
props: {
|
|
188
189
|
role: {},
|
|
@@ -190,7 +191,7 @@ const ke = {
|
|
|
190
191
|
},
|
|
191
192
|
emits: ["saved"],
|
|
192
193
|
setup(y, { expose: c, emit: d }) {
|
|
193
|
-
const o = y, u = d, { t: l } = I(), v = G(), { catalogue: i, constraints: b } = W(), w =
|
|
194
|
+
const o = y, u = d, { t: l } = I(), v = G(), { catalogue: i, constraints: b } = W(), w = re(), { access: B } = ge(), j = (a, s) => {
|
|
194
195
|
const e = a ?? s ?? null;
|
|
195
196
|
return {
|
|
196
197
|
name: a ? a.name : s ? l("core.access.copy_name", { name: v.roleName(s) }) : "",
|
|
@@ -199,7 +200,7 @@ const ke = {
|
|
|
199
200
|
constraints: ye(b, e?.attrs ?? [])
|
|
200
201
|
};
|
|
201
202
|
}, m = ee({
|
|
202
|
-
defaults: () =>
|
|
203
|
+
defaults: () => j(o.role, o.source),
|
|
203
204
|
validator: {
|
|
204
205
|
safeParse(a) {
|
|
205
206
|
const s = a, e = [
|
|
@@ -213,7 +214,7 @@ const ke = {
|
|
|
213
214
|
failureMessage: de()
|
|
214
215
|
}), U = H([]);
|
|
215
216
|
function N() {
|
|
216
|
-
m.hydrate(
|
|
217
|
+
m.hydrate(j(o.role, o.source)), U.value = fe(i, m.values.grants);
|
|
217
218
|
}
|
|
218
219
|
N(), Z(() => [o.role, o.source], N);
|
|
219
220
|
const $ = k(() => o.role !== null && (o.role.predefined || o.role.computed) || !B.can(me.manageRoles)), S = k(
|
|
@@ -228,11 +229,11 @@ const ke = {
|
|
|
228
229
|
description: e.description,
|
|
229
230
|
grants: Object.entries(e.grants).map(([h, J]) => ({ permission: h, qualifier: J })),
|
|
230
231
|
// The application's constraints are edited; any other attribute stays as the role has it.
|
|
231
|
-
attrs: he(b, a?.attrs ?? [],
|
|
232
|
+
attrs: he(b, a?.attrs ?? [], j(o.role, o.source).constraints, e.constraints)
|
|
232
233
|
};
|
|
233
234
|
return o.role ? w.update({ ref: o.role.ref, ...n }) : w.create(n);
|
|
234
235
|
},
|
|
235
|
-
{ hydrateFrom: (e) =>
|
|
236
|
+
{ hydrateFrom: (e) => j(e, null) }
|
|
236
237
|
);
|
|
237
238
|
(s.status === "saved" || s.status === "saved-refresh-failed") && (le.success(l("core.access.saved")), u("saved", s.value));
|
|
238
239
|
}
|
|
@@ -289,7 +290,7 @@ const ke = {
|
|
|
289
290
|
rows: 2,
|
|
290
291
|
"max-length": 255
|
|
291
292
|
}), null, 16, ["label"]),
|
|
292
|
-
(r(!0), g(
|
|
293
|
+
(r(!0), g(L, null, C(t(b), (e) => (r(), _(t(ae), {
|
|
293
294
|
key: e.attribute,
|
|
294
295
|
label: t(l)(e.labelKey),
|
|
295
296
|
"data-test": `role-constraint-${e.attribute}`,
|
|
@@ -298,7 +299,7 @@ const ke = {
|
|
|
298
299
|
"onUpdate:modelValue": (n) => t(m).values.constraints[e.attribute] = n
|
|
299
300
|
}, null, 8, ["label", "data-test", "model-value", "options", "onUpdate:modelValue"]))), 128)),
|
|
300
301
|
z.value.length ? (r(), g("div", Ae, [
|
|
301
|
-
(r(!0), g(
|
|
302
|
+
(r(!0), g(L, null, C(z.value, (e) => (r(), _(t(E), {
|
|
302
303
|
key: e.attribute,
|
|
303
304
|
tone: "neutral"
|
|
304
305
|
}, {
|
|
@@ -322,5 +323,5 @@ const ke = {
|
|
|
322
323
|
}
|
|
323
324
|
});
|
|
324
325
|
export {
|
|
325
|
-
|
|
326
|
+
Ze as _
|
|
326
327
|
};
|
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
import { defineComponent as I, computed as L, openBlock as a, createBlock as b, unref as e, withCtx as c, createElementVNode as S, createVNode as
|
|
1
|
+
import { defineComponent as I, computed as L, openBlock as a, createBlock as b, unref as e, withCtx as c, createElementVNode as S, createVNode as d, mergeProps as Y, useTemplateRef as F, ref as P, createElementBlock as g, toDisplayString as N, Fragment as D, createCommentVNode as x, renderList as q, createTextVNode as G } from "vue";
|
|
2
2
|
import { useI18n as K } from "vue-i18n";
|
|
3
3
|
import { useRouter as Z } from "vue-router";
|
|
4
|
-
import { _ as ee } from "./IconTile.vue_vue_type_script_setup_true_lang-
|
|
5
|
-
import { _ as C } from "./FormGroup.vue_vue_type_script_setup_true_lang-
|
|
6
|
-
import { g as z } from "./options-
|
|
7
|
-
import { _ as oe } from "./AlertDialog.vue_vue_type_script_setup_true_lang-
|
|
4
|
+
import { _ as ee } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
|
|
5
|
+
import { _ as C } from "./FormGroup.vue_vue_type_script_setup_true_lang-BTADNpwB.js";
|
|
6
|
+
import { g as z } from "./options-QuOkMKVZ.js";
|
|
7
|
+
import { _ as oe } from "./AlertDialog.vue_vue_type_script_setup_true_lang-BvGc1Rfl.js";
|
|
8
8
|
import { t as E } from "./toast-CqSDTWRX.js";
|
|
9
|
-
import { _ as te } from "./RecordHeader.vue_vue_type_script_setup_true_lang-
|
|
10
|
-
import { u as ae } from "./platform-
|
|
9
|
+
import { _ as te } from "./RecordHeader.vue_vue_type_script_setup_true_lang-DPm9q1P_.js";
|
|
10
|
+
import { u as ae } from "./platform-Dr4iY3b8.js";
|
|
11
11
|
import { a as le, u as se } from "./routeResource-CcYA75T2.js";
|
|
12
|
-
import { a as re } from "./ResourcePage.vue_vue_type_script_setup_true_lang-
|
|
13
|
-
import { _ as ce } from "./AsyncSection.vue_vue_type_script_setup_true_lang-
|
|
12
|
+
import { a as re } from "./ResourcePage.vue_vue_type_script_setup_true_lang-Cm3tx76N.js";
|
|
13
|
+
import { _ as ce } from "./AsyncSection.vue_vue_type_script_setup_true_lang-GxAsImnO.js";
|
|
14
14
|
import { _ as H } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
|
|
15
|
-
import { u as O
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import { _ as
|
|
19
|
-
import { _ as fe } from "./
|
|
15
|
+
import { u as O } from "./PersonAccess.vue_vue_type_script_setup_true_lang-07pq4SrY.js";
|
|
16
|
+
import { u as U, f as ne, e as ie, g as ue, a as M } from "./refusals-COPr15XZ.js";
|
|
17
|
+
import { _ as J } from "./SelectField.vue_vue_type_script_setup_true_lang-iJm8qmjT.js";
|
|
18
|
+
import { u as me, _ as pe } from "./useCommand-BIZX1ReM.js";
|
|
19
|
+
import { _ as fe } from "./Modal.vue_vue_type_script_setup_true_lang-4MsnTWyx.js";
|
|
20
|
+
import { _ as de } from "./RoleEditor.vue_vue_type_script_setup_true_lang-DuQR8hFf.js";
|
|
21
|
+
import { accessPages as T } from "./access/index.js";
|
|
20
22
|
const _e = { "data-test": "role-replace" }, ve = /* @__PURE__ */ I({
|
|
21
23
|
__name: "ReplaceRoleDialog",
|
|
22
24
|
props: {
|
|
@@ -25,7 +27,7 @@ const _e = { "data-test": "role-replace" }, ve = /* @__PURE__ */ I({
|
|
|
25
27
|
},
|
|
26
28
|
emits: ["replaced"],
|
|
27
29
|
setup(j, { expose: s, emit: y }) {
|
|
28
|
-
const l = j, n = y, { t: _ } = K(), w =
|
|
30
|
+
const l = j, n = y, { t: _ } = K(), w = U(), m = O(), p = me({
|
|
29
31
|
defaults: () => ({ with: null }),
|
|
30
32
|
validator: {
|
|
31
33
|
safeParse: (i) => i.with ? { success: !0, data: { with: i.with } } : { success: !1, error: { issues: [{ path: ["with"], message: _("core.access.replace.choose") }] } }
|
|
@@ -46,11 +48,11 @@ const _e = { "data-test": "role-replace" }, ve = /* @__PURE__ */ I({
|
|
|
46
48
|
}, {
|
|
47
49
|
default: c(() => [
|
|
48
50
|
S("div", _e, [
|
|
49
|
-
|
|
51
|
+
d(e(C), {
|
|
50
52
|
footer: e(_)("core.access.replace.footer")
|
|
51
53
|
}, {
|
|
52
54
|
default: c(() => [
|
|
53
|
-
|
|
55
|
+
d(e(J), Y(e(p).form.bind("with"), {
|
|
54
56
|
label: e(_)("core.access.replace.with"),
|
|
55
57
|
options: h.value
|
|
56
58
|
}), null, 16, ["label", "options"])
|
|
@@ -85,24 +87,24 @@ const _e = { "data-test": "role-replace" }, ve = /* @__PURE__ */ I({
|
|
|
85
87
|
others: {}
|
|
86
88
|
},
|
|
87
89
|
setup(j, { expose: s }) {
|
|
88
|
-
const y = j, { t: l } = K(), n =
|
|
89
|
-
async function V(
|
|
90
|
-
if (m.value =
|
|
90
|
+
const y = j, { t: l } = K(), n = U(), _ = O(), w = F("modal"), m = P(null), t = P(null), p = P(!1), h = P(!1), i = L(() => y.others.map((f) => ({ value: f.ref, label: n.roleName(f) }))), B = L(() => t.value !== null && !t.value.only_in_role.length && !t.value.only_in_other.length && !t.value.different.length);
|
|
91
|
+
async function V(f) {
|
|
92
|
+
if (m.value = f, t.value = null, h.value = !1, p.value = !1, !!f) {
|
|
91
93
|
p.value = !0;
|
|
92
94
|
try {
|
|
93
|
-
const k = await _.compare(y.role.ref,
|
|
94
|
-
m.value ===
|
|
95
|
+
const k = await _.compare(y.role.ref, f);
|
|
96
|
+
m.value === f && (t.value = k);
|
|
95
97
|
} catch {
|
|
96
|
-
m.value ===
|
|
98
|
+
m.value === f && (h.value = !0);
|
|
97
99
|
} finally {
|
|
98
|
-
m.value ===
|
|
100
|
+
m.value === f && (p.value = !1);
|
|
99
101
|
}
|
|
100
102
|
}
|
|
101
103
|
}
|
|
102
104
|
function A() {
|
|
103
105
|
m.value = null, t.value = null, h.value = !1, w.value?.present();
|
|
104
106
|
}
|
|
105
|
-
return s({ present: A }), (
|
|
107
|
+
return s({ present: A }), (f, k) => (a(), b(e(fe), {
|
|
106
108
|
ref_key: "modal",
|
|
107
109
|
ref: w,
|
|
108
110
|
title: e(l)("core.access.compare.title"),
|
|
@@ -113,11 +115,11 @@ const _e = { "data-test": "role-replace" }, ve = /* @__PURE__ */ I({
|
|
|
113
115
|
}, {
|
|
114
116
|
default: c(() => [
|
|
115
117
|
S("div", he, [
|
|
116
|
-
|
|
118
|
+
d(e(C), {
|
|
117
119
|
footer: e(l)("core.access.compare.footer")
|
|
118
120
|
}, {
|
|
119
121
|
default: c(() => [
|
|
120
|
-
|
|
122
|
+
d(e(J), {
|
|
121
123
|
"model-value": m.value,
|
|
122
124
|
label: e(l)("core.access.compare.with"),
|
|
123
125
|
options: i.value,
|
|
@@ -174,10 +176,10 @@ const _e = { "data-test": "role-replace" }, ve = /* @__PURE__ */ I({
|
|
|
174
176
|
_: 1
|
|
175
177
|
}, 8, ["title", "subtitle"]));
|
|
176
178
|
}
|
|
177
|
-
}), we = { "data-test": "role-holders" }, xe = { class: "flex min-w-0 flex-col gap-group-gap" },
|
|
179
|
+
}), we = { "data-test": "role-holders" }, xe = { class: "flex min-w-0 flex-col gap-group-gap" }, Ue = /* @__PURE__ */ I({
|
|
178
180
|
__name: "RolePage",
|
|
179
181
|
setup(j) {
|
|
180
|
-
const { t: s } = K(), y = Z(), { access: l } = ae(), n =
|
|
182
|
+
const { t: s } = K(), y = Z(), { access: l } = ae(), n = U(), _ = ie(), { subjectRoute: w } = ue(), m = O(), t = le({ param: "ref", parse: (o) => o === "" ? null : o, identify: (o) => o.ref, load: (o, { signal: r }) => m.role(o, { signal: r }) }), p = se({ for: t, load: (o, { signal: r }) => m.holders(o, { signal: r }) }), h = P([]), i = L(() => h.value.filter((o) => o.ref !== t.data.value?.ref)), B = L(() => h.value.filter((o) => o.predefined)), V = F("compareDialog"), A = F("replaceDialog"), f = F("deleteDialog"), k = (o) => !o.predefined && !o.computed;
|
|
181
183
|
async function u(o) {
|
|
182
184
|
if (h.value.length === 0)
|
|
183
185
|
try {
|
|
@@ -192,7 +194,7 @@ const _e = { "data-test": "role-replace" }, ve = /* @__PURE__ */ I({
|
|
|
192
194
|
const o = t.data.value;
|
|
193
195
|
if (!o) return [];
|
|
194
196
|
const r = [];
|
|
195
|
-
return l.can(M.manageRoles) && r.push({ id: "copy", label: s("core.access.copy"), icon: "copy", placement: "secondary", onClick: () => void y.push({ ...T.newRole, query: { copy: o.ref } }) }), r.push({ id: "compare", label: s("core.access.compare.action"), icon: "swapBoxLine", placement: "overflow", onClick: () => void u(() => V.value?.present()) }), k(o) && l.can(M.manageRoles) && r.push({ id: "replace", label: s("core.access.replace.action"), icon: "refreshLine", placement: "overflow", onClick: () => void u(() => A.value?.present()) }), k(o) && l.can(M.deleteRoles) && r.push({ id: "delete", label: s("core.access.delete.action"), icon: "deleteBin2Line", placement: "overflow", tone: "critical", onClick: () =>
|
|
197
|
+
return l.can(M.manageRoles) && r.push({ id: "copy", label: s("core.access.copy"), icon: "copy", placement: "secondary", onClick: () => void y.push({ ...T.newRole, query: { copy: o.ref } }) }), r.push({ id: "compare", label: s("core.access.compare.action"), icon: "swapBoxLine", placement: "overflow", onClick: () => void u(() => V.value?.present()) }), k(o) && l.can(M.manageRoles) && r.push({ id: "replace", label: s("core.access.replace.action"), icon: "refreshLine", placement: "overflow", onClick: () => void u(() => A.value?.present()) }), k(o) && l.can(M.deleteRoles) && r.push({ id: "delete", label: s("core.access.delete.action"), icon: "deleteBin2Line", placement: "overflow", tone: "critical", onClick: () => f.value?.present(o) }), r;
|
|
196
198
|
});
|
|
197
199
|
async function W(o) {
|
|
198
200
|
await m.remove(o.ref), E.success(s("core.access.deleted")), await y.replace(T.roles);
|
|
@@ -205,19 +207,19 @@ const _e = { "data-test": "role-replace" }, ve = /* @__PURE__ */ I({
|
|
|
205
207
|
actions: Q.value
|
|
206
208
|
}, {
|
|
207
209
|
header: c(({ record: v }) => [
|
|
208
|
-
|
|
210
|
+
d(e(te), {
|
|
209
211
|
title: e(n).roleName(v),
|
|
210
212
|
subtitle: v.description
|
|
211
213
|
}, {
|
|
212
214
|
leading: c(() => [
|
|
213
|
-
|
|
215
|
+
d(e(ee), {
|
|
214
216
|
tone: v.predefined ? "anchor" : "brand",
|
|
215
217
|
icon: "shieldStarFill",
|
|
216
218
|
size: "lg"
|
|
217
219
|
}, null, 8, ["tone"])
|
|
218
220
|
]),
|
|
219
221
|
meta: c(() => [
|
|
220
|
-
|
|
222
|
+
d(e(H), {
|
|
221
223
|
tone: v.predefined ? "neutral" : "info"
|
|
222
224
|
}, {
|
|
223
225
|
default: c(() => [
|
|
@@ -232,20 +234,20 @@ const _e = { "data-test": "role-replace" }, ve = /* @__PURE__ */ I({
|
|
|
232
234
|
]),
|
|
233
235
|
default: c(({ record: v }) => [
|
|
234
236
|
S("div", xe, [
|
|
235
|
-
|
|
237
|
+
d(de, {
|
|
236
238
|
role: v,
|
|
237
239
|
onSaved: r[0] || (r[0] = ($) => {
|
|
238
240
|
e(t).update($), e(p).reload();
|
|
239
241
|
})
|
|
240
242
|
}, null, 8, ["role"]),
|
|
241
|
-
|
|
243
|
+
d(e(ce), {
|
|
242
244
|
state: e(p).state.value,
|
|
243
245
|
"skeleton-rows": 3,
|
|
244
246
|
"is-empty": () => !1,
|
|
245
247
|
onRetry: r[1] || (r[1] = ($) => e(p).reload())
|
|
246
248
|
}, {
|
|
247
249
|
default: c(({ value: $ }) => [
|
|
248
|
-
|
|
250
|
+
d(e(C), {
|
|
249
251
|
header: e(s)("core.access.holders.title"),
|
|
250
252
|
footer: $.length ? void 0 : e(s)("core.access.holders.empty")
|
|
251
253
|
}, {
|
|
@@ -276,14 +278,14 @@ const _e = { "data-test": "role-replace" }, ve = /* @__PURE__ */ I({
|
|
|
276
278
|
]),
|
|
277
279
|
_: 1
|
|
278
280
|
}, 8, ["state"]),
|
|
279
|
-
|
|
281
|
+
d(ke, {
|
|
280
282
|
ref_key: "compareDialog",
|
|
281
283
|
ref: V,
|
|
282
284
|
role: v,
|
|
283
285
|
others: i.value
|
|
284
286
|
}, null, 8, ["role", "others"]),
|
|
285
287
|
k(v) ? (a(), g(D, { key: 0 }, [
|
|
286
|
-
|
|
288
|
+
d(ve, {
|
|
287
289
|
ref_key: "replaceDialog",
|
|
288
290
|
ref: A,
|
|
289
291
|
role: v,
|
|
@@ -292,9 +294,9 @@ const _e = { "data-test": "role-replace" }, ve = /* @__PURE__ */ I({
|
|
|
292
294
|
e(t).reload(), e(p).reload();
|
|
293
295
|
})
|
|
294
296
|
}, null, 8, ["role", "others"]),
|
|
295
|
-
|
|
297
|
+
d(e(oe), {
|
|
296
298
|
ref_key: "deleteDialog",
|
|
297
|
-
ref:
|
|
299
|
+
ref: f,
|
|
298
300
|
tone: "critical",
|
|
299
301
|
title: e(s)("core.access.delete.title"),
|
|
300
302
|
message: e(s)("core.access.delete.body", { name: e(n).roleName(v) }),
|
|
@@ -310,5 +312,5 @@ const _e = { "data-test": "role-replace" }, ve = /* @__PURE__ */ I({
|
|
|
310
312
|
}
|
|
311
313
|
});
|
|
312
314
|
export {
|
|
313
|
-
|
|
315
|
+
Ue as default
|
|
314
316
|
};
|
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import { defineComponent as L, ref as
|
|
1
|
+
import { defineComponent as L, ref as g, computed as i, openBlock as d, createBlock as b, unref as e, withCtx as l, createElementVNode as f, createVNode as n, createElementBlock as h, toDisplayString as _, createCommentVNode as N, Fragment as R, renderList as B, createTextVNode as P } from "vue";
|
|
2
2
|
import { useI18n as A } from "vue-i18n";
|
|
3
3
|
import { useRouter as F } from "vue-router";
|
|
4
|
-
import { _ as S } from "./IconTile.vue_vue_type_script_setup_true_lang-
|
|
5
|
-
import { _ as E } from "./Tabs.vue_vue_type_script_setup_true_lang-
|
|
6
|
-
import { _ as U } from "./FormGroup.vue_vue_type_script_setup_true_lang-
|
|
7
|
-
import { g as j } from "./options-
|
|
8
|
-
import { _ as D } from "./TextField.vue_vue_type_script_setup_true_lang-
|
|
9
|
-
import { a as I } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-
|
|
10
|
-
import { u as K } from "./platform-
|
|
11
|
-
import { _ as T } from "./AsyncSection.vue_vue_type_script_setup_true_lang-
|
|
4
|
+
import { _ as S } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
|
|
5
|
+
import { _ as E } from "./Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js";
|
|
6
|
+
import { _ as U } from "./FormGroup.vue_vue_type_script_setup_true_lang-BTADNpwB.js";
|
|
7
|
+
import { g as j } from "./options-QuOkMKVZ.js";
|
|
8
|
+
import { _ as D } from "./TextField.vue_vue_type_script_setup_true_lang-7IAl4eAE.js";
|
|
9
|
+
import { a as I } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-9Lt1XggN.js";
|
|
10
|
+
import { u as K } from "./platform-Dr4iY3b8.js";
|
|
11
|
+
import { _ as T } from "./AsyncSection.vue_vue_type_script_setup_true_lang-GxAsImnO.js";
|
|
12
12
|
import { _ as q } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
|
|
13
13
|
import { u as z } from "./useLoad-W4tfxmm5.js";
|
|
14
|
-
import { u as G
|
|
14
|
+
import { u as G } from "./PersonAccess.vue_vue_type_script_setup_true_lang-07pq4SrY.js";
|
|
15
|
+
import { u as H, a as J } from "./refusals-COPr15XZ.js";
|
|
16
|
+
import { accessPages as x } from "./access/index.js";
|
|
15
17
|
const M = {
|
|
16
18
|
class: "flex min-w-0 flex-col gap-group-gap",
|
|
17
19
|
"data-test": "roles-index"
|
|
@@ -22,24 +24,24 @@ const M = {
|
|
|
22
24
|
}, W = {
|
|
23
25
|
class: "min-w-[4.5rem] text-right text-footnote tabular-nums text-content-muted",
|
|
24
26
|
"data-test": "role-holders"
|
|
25
|
-
},
|
|
27
|
+
}, fe = /* @__PURE__ */ L({
|
|
26
28
|
__name: "RolesPage",
|
|
27
29
|
setup(X) {
|
|
28
|
-
const { t:
|
|
29
|
-
{ value: "all", label:
|
|
30
|
-
{ value: "predefined", label:
|
|
31
|
-
{ value: "custom", label:
|
|
30
|
+
const { t: s } = A(), k = F(), { access: w } = K(), m = H(), y = G(), u = z(({ signal: o }) => y.roles({ signal: o })), c = g("all"), p = g(""), r = i(() => u.data.value ?? []), $ = i(() => [
|
|
31
|
+
{ value: "all", label: s("core.access.kinds.all"), badge: r.value.length },
|
|
32
|
+
{ value: "predefined", label: s("core.access.kinds.predefined"), badge: r.value.filter((o) => o.predefined).length },
|
|
33
|
+
{ value: "custom", label: s("core.access.kinds.custom"), badge: r.value.filter((o) => !o.predefined).length }
|
|
32
34
|
]), v = i(() => {
|
|
33
|
-
const
|
|
35
|
+
const o = p.value.trim().toLowerCase();
|
|
34
36
|
return r.value.filter(
|
|
35
|
-
(a) => (c.value === "all" || c.value === "predefined" === a.predefined) && (
|
|
37
|
+
(a) => (c.value === "all" || c.value === "predefined" === a.predefined) && (o === "" || `${m.roleName(a)} ${a.description}`.toLowerCase().includes(o))
|
|
36
38
|
);
|
|
37
39
|
}), V = i(
|
|
38
|
-
() => w.can(J.manageRoles) ? [{ id: "create", label:
|
|
39
|
-
), C = (
|
|
40
|
-
return (
|
|
41
|
-
title: e(
|
|
42
|
-
description: e(
|
|
40
|
+
() => w.can(J.manageRoles) ? [{ id: "create", label: s("core.access.create"), icon: "addLine", placement: "primary", compact: "icon", onClick: () => void k.push(x.newRole) }] : []
|
|
41
|
+
), C = (o) => [o.description, s("core.access.permissions", { count: o.permission_count })].filter(Boolean).join(" · ");
|
|
42
|
+
return (o, a) => (d(), b(e(I), {
|
|
43
|
+
title: e(s)("core.access.title"),
|
|
44
|
+
description: e(s)("core.access.description"),
|
|
43
45
|
icon: "shieldStarFill",
|
|
44
46
|
count: r.value.length || null,
|
|
45
47
|
actions: V.value
|
|
@@ -57,25 +59,25 @@ const M = {
|
|
|
57
59
|
modelValue: p.value,
|
|
58
60
|
"onUpdate:modelValue": a[1] || (a[1] = (t) => p.value = t),
|
|
59
61
|
class: "min-w-[14rem] flex-1",
|
|
60
|
-
placeholder: e(
|
|
62
|
+
placeholder: e(s)("core.access.search")
|
|
61
63
|
}, null, 8, ["modelValue", "placeholder"])
|
|
62
64
|
]),
|
|
63
65
|
n(e(T), {
|
|
64
|
-
state: e(
|
|
66
|
+
state: e(u).state.value,
|
|
65
67
|
"skeleton-rows": 6,
|
|
66
68
|
"is-empty": () => !1,
|
|
67
|
-
onRetry: a[2] || (a[2] = (t) => e(
|
|
69
|
+
onRetry: a[2] || (a[2] = (t) => e(u).reload())
|
|
68
70
|
}, {
|
|
69
71
|
default: l(() => [
|
|
70
72
|
n(e(U), {
|
|
71
|
-
footer: e(
|
|
73
|
+
footer: e(s)("core.access.list_footer")
|
|
72
74
|
}, {
|
|
73
75
|
default: l(() => [
|
|
74
|
-
v.value.length === 0 ? (d(), h("p", Q, _(e(
|
|
75
|
-
(d(!0), h(R, null, B(v.value, (t) => (d(),
|
|
76
|
+
v.value.length === 0 ? (d(), h("p", Q, _(e(s)("core.access.empty")), 1)) : N("", !0),
|
|
77
|
+
(d(!0), h(R, null, B(v.value, (t) => (d(), b(e(j), {
|
|
76
78
|
key: t.ref,
|
|
77
79
|
layout: "setting",
|
|
78
|
-
label: e(
|
|
80
|
+
label: e(m).roleName(t),
|
|
79
81
|
sub: C(t),
|
|
80
82
|
to: e(x).role({ ref: t.ref })
|
|
81
83
|
}, {
|
|
@@ -90,11 +92,11 @@ const M = {
|
|
|
90
92
|
tone: t.predefined ? "neutral" : "info"
|
|
91
93
|
}, {
|
|
92
94
|
default: l(() => [
|
|
93
|
-
P(_(e(
|
|
95
|
+
P(_(e(m).roleKind(t)), 1)
|
|
94
96
|
]),
|
|
95
97
|
_: 2
|
|
96
98
|
}, 1032, ["tone"]),
|
|
97
|
-
f("span", W, _(e(
|
|
99
|
+
f("span", W, _(e(s)("core.access.holders_count", { count: t.holders })), 1)
|
|
98
100
|
]),
|
|
99
101
|
_: 2
|
|
100
102
|
}, 1032, ["label", "sub", "to"]))), 128))
|
|
@@ -111,5 +113,5 @@ const M = {
|
|
|
111
113
|
}
|
|
112
114
|
});
|
|
113
115
|
export {
|
|
114
|
-
|
|
116
|
+
fe as default
|
|
115
117
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineComponent as $, computed as _, unref as s, openBlock as l, createBlock as C, withCtx as g, createElementVNode as n, createVNode as k, mergeProps as z, createElementBlock as d, toDisplayString as c, createCommentVNode as u, resolveDynamicComponent as B, normalizeClass as y, Fragment as I, renderList as D, withModifiers as E, normalizeStyle as L } from "vue";
|
|
2
2
|
import { useI18n as S } from "vue-i18n";
|
|
3
|
-
import { _ as j } from "./Icon.vue_vue_type_script_lang-
|
|
4
|
-
import { _ as N } from "./Menu.vue_vue_type_script_setup_true_lang-
|
|
5
|
-
import { _ as V } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-
|
|
3
|
+
import { _ as j } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
|
|
4
|
+
import { _ as N } from "./Menu.vue_vue_type_script_setup_true_lang-ldLdJ5Q-.js";
|
|
5
|
+
import { _ as V } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-9Lt1XggN.js";
|
|
6
6
|
import { a as q } from "./sectionIndex-BS0ic5W7.js";
|
|
7
7
|
const M = {
|
|
8
8
|
class: "dock-safe-area pointer-events-none",
|