@wssto2/vue-core 0.15.3 → 0.17.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 +32 -0
- package/README.md +4 -3
- package/bin/architecture/engine.mjs +3 -0
- package/bin/architecture/permissions.mjs +56 -0
- package/bin/architecture/rules.mjs +17 -0
- package/bin/commands/check-architecture.mjs +19 -0
- package/bin/config.mjs +2 -0
- package/dist/{AccessGate.vue_vue_type_script_setup_true_lang-BH3f0hda.js → AccessGate.vue_vue_type_script_setup_true_lang-Bg8JFAOT.js} +1 -1
- package/dist/{ActionRow.vue_vue_type_script_setup_true_lang-DybAIOHS.js → ActionRow.vue_vue_type_script_setup_true_lang-B5IMNnTf.js} +4 -4
- package/dist/{Activity-DM9t5d3D.js → Activity-CiYn5E6A.js} +7 -7
- package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-uO4EAmBb.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-oXWQTfBs.js} +170 -168
- package/dist/{Changes-DYpysvfX.js → Changes-Cy8STpLX.js} +3 -3
- package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-qxeSTAKV.js → CollectionPage.vue_vue_type_script_setup_true_lang-Dr6nFNBB.js} +6 -6
- package/dist/{DataTable.vue_vue_type_script_setup_true_lang-DbRS37n3.js → DataTable.vue_vue_type_script_setup_true_lang-D372wlxR.js} +1 -1
- package/dist/{DateField.vue_vue_type_script_setup_true_lang-DzCvYHAf.js → DateField.vue_vue_type_script_setup_true_lang-D0KcfW8R.js} +17 -16
- package/dist/{DeadLetters-vt9vhJD7.js → DeadLetters-DhJkMpd_.js} +4 -4
- package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-dsO1m9Mm.js → FormGroup.vue_vue_type_script_setup_true_lang-lvAuBG-0.js} +2 -2
- package/dist/FormRow.vue_vue_type_script_setup_true_lang-CpgNVQF4.js +160 -0
- package/dist/{FormView.vue_vue_type_script_setup_true_lang-Bq_Qa4py.js → FormView.vue_vue_type_script_setup_true_lang-D01Jr4UU.js} +5 -5
- package/dist/{General-oUI2MiwO.js → General-CwTPC5UP.js} +11 -11
- package/dist/{IncidentRecord-CQdv_bN5.js → IncidentRecord-hXEGuLGg.js} +14 -14
- package/dist/{IncidentsList-DwQ0wuM8.js → IncidentsList-C41VyDwK.js} +6 -6
- package/dist/{NewRolePage-C-wbA-uW.js → NewRolePage-BYYZJkK7.js} +3 -3
- package/dist/{NumberField.vue_vue_type_script_setup_true_lang-U-_kcnGr.js → NumberField.vue_vue_type_script_setup_true_lang-BhNZgEW6.js} +7 -6
- package/dist/{PersonAccess.vue_vue_type_script_setup_true_lang-BPDh9s2m.js → PersonAccess.vue_vue_type_script_setup_true_lang-mYFuG-Y3.js} +56 -56
- package/dist/{ProfilePage-Di77M2cX.js → ProfilePage-DGEsIycR.js} +13 -13
- package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-CZtvUH5L.js → RecordHeader.vue_vue_type_script_setup_true_lang-B3BnYg1x.js} +1 -1
- package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-uLrX13ab.js → ResourcePage.vue_vue_type_script_setup_true_lang-1iZtj3rh.js} +1 -1
- package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-V2D7fhR9.js → RoleEditor.vue_vue_type_script_setup_true_lang-BslSDDiM.js} +10 -10
- package/dist/{RolePage-Crp71rRb.js → RolePage-C08ZUqw1.js} +9 -9
- package/dist/{RolesPage-DKXXnnDV.js → RolesPage-FOuY1VKg.js} +10 -10
- package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-5ogQCj8M.js → SectionNavigator.vue_vue_type_script_setup_true_lang-DCTFxfPB.js} +2 -2
- package/dist/{SegmentedField.vue_vue_type_script_setup_true_lang-zv_AxpBn.js → SegmentedField.vue_vue_type_script_setup_true_lang-CLR6EvzO.js} +13 -12
- package/dist/{SelectField.vue_vue_type_script_setup_true_lang-CLkoPbGm.js → SelectField.vue_vue_type_script_setup_true_lang-D5xYofdb.js} +10 -9
- package/dist/{ServiceAccountDialog.vue_vue_type_script_setup_true_lang-C7WKxJ9i.js → ServiceAccountDialog.vue_vue_type_script_setup_true_lang-CDr4WNIb.js} +9 -9
- package/dist/{ServiceAccountRecord-CTU10RWy.js → ServiceAccountRecord-kWwIQGZb.js} +12 -12
- package/dist/{ServiceAccountsList-BVRjoswH.js → ServiceAccountsList-CKy9_YHP.js} +8 -8
- package/dist/{Sessions-BHwMrF7c.js → Sessions-BDc8gdYH.js} +4 -4
- package/dist/{SettingsPage-lRWvsMYK.js → SettingsPage-t-8kmFVT.js} +13 -13
- package/dist/{SignIn-HnujOMRY.js → SignIn-CqtkvtCZ.js} +7 -7
- package/dist/{SignInPage-c886Fvd7.js → SignInPage-DcdNKZIb.js} +4 -4
- package/dist/{SignIns-BsTlN2Zc.js → SignIns-D4-nGu0B.js} +3 -3
- package/dist/{SwitchField.vue_vue_type_script_setup_true_lang-Ds4q0bbl.js → SwitchField.vue_vue_type_script_setup_true_lang-CLtcuofe.js} +15 -14
- package/dist/{TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js → TextField.vue_vue_type_script_setup_true_lang-CVGh-p3J.js} +7 -6
- package/dist/{TextareaField.vue_vue_type_script_setup_true_lang-D2j4s96s.js → TextareaField.vue_vue_type_script_setup_true_lang-YxUlNHSk.js} +6 -5
- package/dist/{TimeField.vue_vue_type_script_setup_true_lang-C1mLvOkc.js → TimeField.vue_vue_type_script_setup_true_lang-DHNC_MLt.js} +30 -29
- package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-jCXYFLtq.js → Timestamp.vue_vue_type_script_setup_true_lang-d_KuxWjH.js} +1 -1
- package/dist/{UserRecord-DrbpVHh9.js → UserRecord-CwZCr9Im.js} +10 -10
- package/dist/{UsersList-M5tBxrox.js → UsersList-Cn19sFgv.js} +4 -4
- package/dist/access/index.js +4 -4
- package/dist/app/application.d.ts +2 -0
- package/dist/app/index.js +2 -2
- package/dist/app/validate.d.ts +3 -1
- package/dist/{application-C900Wz0A.js → application-CDSweJb9.js} +144 -142
- package/dist/back-LcLlFodC.js +63 -0
- package/dist/{chrome-nUcmVu8G.js → chrome-kMBKIB1N.js} +2 -2
- package/dist/collection/authors.d.ts +27 -0
- package/dist/collection/index.d.ts +2 -0
- package/dist/collection/index.js +81 -76
- package/dist/config/index.d.ts +42 -0
- package/dist/config/index.js +12 -3
- package/dist/content/Panel.vue.d.ts +1 -1
- package/dist/content/index.js +2 -2
- package/dist/{contributions-9CPT-Z5v.js → contributions-B0x5x5xD.js} +1 -1
- package/dist/form/CommandDialog.vue.d.ts +1 -1
- package/dist/form/DateField.vue.d.ts +1 -1
- package/dist/form/DateTimeField.vue.d.ts +1 -1
- package/dist/form/FileField.vue.d.ts +1 -1
- package/dist/form/FormRow.vue.d.ts +2 -2
- package/dist/form/I18nField.vue.d.ts +2 -2
- package/dist/form/TextField.vue.d.ts +1 -1
- package/dist/form/TextareaField.vue.d.ts +2 -2
- package/dist/form/date/value.d.ts +21 -0
- package/dist/form/index.d.ts +1 -0
- package/dist/form/index.js +745 -715
- package/dist/format/format.d.ts +8 -2
- package/dist/format/index.js +1 -1
- package/dist/format-C_HXlOYQ.js +136 -0
- package/dist/{guards-6fJxfUtk.js → guards-CNJ0ATVC.js} +1 -1
- package/dist/i18n/index.d.ts +14 -2
- package/dist/i18n/index.js +84 -73
- package/dist/i18n/messages.d.ts +10 -1
- package/dist/i18n/runtime.d.ts +3 -1
- package/dist/identity/index.js +3 -3
- package/dist/identity/profile/EmailChangeDialog.vue.d.ts +2 -2
- package/dist/identity/users/list.d.ts +1 -1
- package/dist/incidents/index.js +1 -1
- package/dist/{index-_hDHxrt5.js → index-1HS7O2-e.js} +9 -9
- package/dist/{index-DM_nWOYf.js → index-BA2w8uwD.js} +86 -86
- package/dist/{index-vES_D5ls.js → index-SLJWm40T.js} +4 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/modal/DiscardChangesModal.vue.d.ts +2 -2
- package/dist/modal/Modal.vue.d.ts +2 -2
- package/dist/modal/Sheet.vue.d.ts +2 -2
- package/dist/modules/identity/routes.d.ts +1 -1
- package/dist/modules/identity/schemas.d.ts +2 -2
- package/dist/{navigation-DMJ6akat.js → navigation-d-JAPBGA.js} +1 -1
- package/dist/{neighbors-DrEahe7B.js → neighbors-Dg_LU9ry.js} +32 -31
- package/dist/notifications/index.js +1 -1
- package/dist/onboarding/index.js +1 -1
- package/dist/options-mOOX6JSS.js +214 -0
- package/dist/overlay/AlertDialog.vue.d.ts +3 -3
- package/dist/overlay/Menu.vue.d.ts +2 -2
- package/dist/overlay/PhotoViewer.vue.d.ts +2 -2
- package/dist/overlay/Popover.vue.d.ts +2 -2
- package/dist/page/SectionNavigator.vue.d.ts +1 -1
- package/dist/page/SectionPanel.vue.d.ts +1 -1
- package/dist/page/back.d.ts +37 -0
- package/dist/page/index.d.ts +1 -0
- package/dist/page/index.js +46 -42
- package/dist/phone/index.js +57 -56
- package/dist/platform/index.d.ts +10 -1
- package/dist/platform/index.js +16 -15
- package/dist/platform/platform.d.ts +4 -2
- package/dist/{platform-ORzRR3Tw.js → platform-DU9QFts8.js} +7 -6
- package/dist/playwright/config.d.ts +33 -0
- package/dist/playwright/index.d.ts +2 -0
- package/dist/playwright/index.js +192 -171
- package/dist/resource/index.js +1 -1
- package/dist/router/index.js +3 -3
- package/dist/router/sections.d.ts +1 -1
- package/dist/{rowLayout-QKfNHsML.js → rowLayout-PIuD7MGo.js} +2 -2
- package/dist/sections-BpiRLntE.js +54 -0
- package/dist/{serverMessages-Ce8-MK4e.js → serverMessages-C_KkDvpT.js} +1 -1
- package/dist/shell/index.js +5 -5
- package/dist/state/NextStepPanel.vue.d.ts +63 -0
- package/dist/state/PhaseTiles.vue.d.ts +20 -0
- package/dist/state/PhaseTrack.vue.d.ts +48 -0
- package/dist/state/RequirementList.vue.d.ts +10 -0
- package/dist/state/TodoRow.vue.d.ts +52 -0
- package/dist/state/index.d.ts +9 -0
- package/dist/state/index.js +731 -126
- package/dist/state/phaseStep.d.ts +7 -0
- package/dist/state/phaseTile.d.ts +10 -0
- package/dist/state/requirementItem.d.ts +16 -0
- package/dist/state/todoRow.d.ts +8 -0
- package/dist/{state-QDaxntgR.js → state-z1iPF1DT.js} +1 -1
- package/dist/styles.css +1 -1
- package/dist/{suggestions-q_v3M7G6.js → suggestions-DeMgs_ki.js} +1 -1
- package/dist/testing/format.d.ts +1 -1
- package/dist/testing/index.js +31 -31
- package/dist/{useCommand-DAMgQ5NE.js → useCommand-DQKvro1n.js} +2 -2
- package/dist/{useGroupSheet-B-Hs4gNO.js → useGroupSheet-CRw3MUmX.js} +3 -3
- package/dist/{usePreferences-BfMXVbSO.js → usePreferences-DB29UTFD.js} +1 -1
- package/dist/{useRecordDialog-QPKFH1Ww.js → useRecordDialog-0azHxxvm.js} +1 -1
- package/dist/{useResourceForm-Oa6bk3NI.js → useResourceForm-zVuWerSn.js} +1 -1
- package/dist/{useSaveChrome-7huA3FzR.js → useSaveChrome-DB9OwIjT.js} +1 -1
- package/dist/{useTypedEntry-CITij2C_.js → useTypedEntry-BsMV66Yc.js} +46 -45
- package/package.json +1 -1
- package/dist/format-Cp1h0vsC.js +0 -125
- package/dist/options-B48UiYsG.js +0 -368
- package/dist/sections-DI_JhgQG.js +0 -53
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { defineComponent as Y, ref as R, computed as j, watch as te, openBlock as i, createBlock as E, unref as e, withCtx as y, createElementVNode as A, createElementBlock as
|
|
1
|
+
import { defineComponent as Y, ref as R, computed as j, watch as te, openBlock as i, createBlock as E, unref as e, withCtx as y, createElementVNode as A, createElementBlock as b, toDisplayString as w, createCommentVNode as D, createVNode as $, Fragment as B, renderList as G, createSlots as fe, renderSlot as ke, createTextVNode as M, useTemplateRef as le } from "vue";
|
|
2
2
|
import { useI18n as ee } from "vue-i18n";
|
|
3
3
|
import { _ as I } from "./Button.vue_vue_type_script_setup_true_lang-JrqhO99l.js";
|
|
4
|
-
import { a as K } from "./FormGroup.vue_vue_type_script_setup_true_lang-
|
|
5
|
-
import {
|
|
4
|
+
import { a as K } from "./FormGroup.vue_vue_type_script_setup_true_lang-lvAuBG-0.js";
|
|
5
|
+
import { _ as V } from "./FormRow.vue_vue_type_script_setup_true_lang-CpgNVQF4.js";
|
|
6
6
|
import { _ as $e } from "./AlertDialog.vue_vue_type_script_setup_true_lang-WuGvAOrj.js";
|
|
7
7
|
import { t as Z } from "./toast-CqSDTWRX.js";
|
|
8
|
-
import { _ as ne } from "./AccessGate.vue_vue_type_script_setup_true_lang-
|
|
8
|
+
import { _ as ne } from "./AccessGate.vue_vue_type_script_setup_true_lang-Bg8JFAOT.js";
|
|
9
9
|
import { a as xe } from "./error-CD7x0Jrz.js";
|
|
10
10
|
import { _ as je } from "./AsyncSection.vue_vue_type_script_setup_true_lang-CX8mpXRE.js";
|
|
11
11
|
import { _ as Le } from "./EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js";
|
|
12
12
|
import { u as qe } from "./useLoad-M7V-AVwR.js";
|
|
13
|
-
import { _ as Ce, a as Ee } from "./SelectField.vue_vue_type_script_setup_true_lang-
|
|
14
|
-
import { _ as Ne } from "./SegmentedField.vue_vue_type_script_setup_true_lang-
|
|
15
|
-
import { u as Te, _ as Se } from "./useCommand-
|
|
13
|
+
import { _ as Ce, a as Ee } from "./SelectField.vue_vue_type_script_setup_true_lang-D5xYofdb.js";
|
|
14
|
+
import { _ as Ne } from "./SegmentedField.vue_vue_type_script_setup_true_lang-CLR6EvzO.js";
|
|
15
|
+
import { u as Te, _ as Se } from "./useCommand-DQKvro1n.js";
|
|
16
16
|
import { r as C } from "./route-goWMxDUN.js";
|
|
17
17
|
import { s as Ae } from "./routes-Beyr5NQo.js";
|
|
18
|
-
import { u as Re } from "./platform-
|
|
18
|
+
import { u as Re } from "./platform-DU9QFts8.js";
|
|
19
19
|
import { u as J, g as pe, f as De, j as Ue, l as Be, S as ce, e as Oe, a as re } from "./refusals-DfPzVNNY.js";
|
|
20
20
|
import { _ as Pe } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
|
|
21
21
|
import { u as Ge } from "./mediaQuery-CygcXmFW.js";
|
|
@@ -132,33 +132,33 @@ const ze = {
|
|
|
132
132
|
done: (c) => {
|
|
133
133
|
Z.success(a("core.access.added")), t("added", c);
|
|
134
134
|
}
|
|
135
|
-
}), n = x.form.values, m = R(null), h = R(!1),
|
|
135
|
+
}), n = x.form.values, m = R(null), h = R(!1), _ = R([]), p = R([]), N = R(!1), k = R(!1), q = j(() => m.value ? Me(m.value) : []), g = j(() => q.value.find((c) => c.level === n.level) ?? null), O = j(() => q.value.length > 1), se = j(() => {
|
|
136
136
|
const c = m.value, d = g.value;
|
|
137
|
-
return c && d ? d.chain.map((r, P) => ({ name: r, places: ie(c, d, P,
|
|
138
|
-
}),
|
|
139
|
-
const c = g.value?.chain.length ?? 0, d = c ?
|
|
137
|
+
return c && d ? d.chain.map((r, P) => ({ name: r, places: ie(c, d, P, _.value) })) : [];
|
|
138
|
+
}), _e = j(() => {
|
|
139
|
+
const c = g.value?.chain.length ?? 0, d = c ? _.value[c - 1] : null;
|
|
140
140
|
return m.value?.places.find((r) => r.level === g.value?.level && r.id === d)?.name ?? null;
|
|
141
|
-
}), Q = j(() => g.value !== null && g.value.chain.every((c, d) =>
|
|
141
|
+
}), Q = j(() => g.value !== null && g.value.chain.every((c, d) => _.value[d] != null));
|
|
142
142
|
function ae(c) {
|
|
143
|
-
n.level = c,
|
|
143
|
+
n.level = c, _.value = [], n.place = null;
|
|
144
144
|
}
|
|
145
145
|
function oe(c, d) {
|
|
146
|
-
const r =
|
|
147
|
-
r[c] = d,
|
|
146
|
+
const r = _.value.slice(0, c);
|
|
147
|
+
r[c] = d, _.value = r;
|
|
148
148
|
}
|
|
149
|
-
te([() => n.level,
|
|
149
|
+
te([() => n.level, _, m], () => {
|
|
150
150
|
const c = m.value, d = g.value;
|
|
151
151
|
if (!(!c || !d)) {
|
|
152
152
|
for (let r = 0; r < d.chain.length; r++) {
|
|
153
|
-
if (
|
|
154
|
-
const P = ie(c, d, r,
|
|
153
|
+
if (_.value[r] != null) continue;
|
|
154
|
+
const P = ie(c, d, r, _.value);
|
|
155
155
|
P.length === 1 && P[0] && oe(r, P[0].id);
|
|
156
156
|
break;
|
|
157
157
|
}
|
|
158
|
-
n.place = d.chain.length === 0 ? null :
|
|
158
|
+
n.place = d.chain.length === 0 ? null : _.value[d.chain.length - 1] ?? null;
|
|
159
159
|
}
|
|
160
160
|
}, { deep: !0 });
|
|
161
|
-
async function
|
|
161
|
+
async function be() {
|
|
162
162
|
if (n.role = null, p.value = [], k.value = !1, !g.value || !Q.value) return;
|
|
163
163
|
N.value = !0;
|
|
164
164
|
const c = `${n.level}:${n.place}`;
|
|
@@ -171,7 +171,7 @@ const ze = {
|
|
|
171
171
|
N.value = !1;
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
|
-
te([() => n.level, () => n.place, Q], () => void
|
|
174
|
+
te([() => n.level, () => n.place, Q], () => void be());
|
|
175
175
|
const ge = j(() => p.value.map((c) => ({ value: c.ref, label: u.roleName(c), description: u.roleKind(c) }))), z = j(() => p.value.find((c) => c.ref === n.role) ?? null), he = j(() => {
|
|
176
176
|
const c = /* @__PURE__ */ new Map();
|
|
177
177
|
for (const d of z.value?.grants ?? []) {
|
|
@@ -179,9 +179,9 @@ const ze = {
|
|
|
179
179
|
r && (!c.has(r) || d.permission.endsWith(":view")) && c.set(r, d.qualifier);
|
|
180
180
|
}
|
|
181
181
|
return [...c].map(([d, r]) => ({ ownable: d, qualifier: r }));
|
|
182
|
-
}), ye = j(() => u.scopeLabel({ level: n.level ?? m.value?.root_level ?? "", name:
|
|
182
|
+
}), ye = j(() => u.scopeLabel({ level: n.level ?? m.value?.root_level ?? "", name: _e.value }));
|
|
183
183
|
async function we() {
|
|
184
|
-
m.value = null, h.value = !1,
|
|
184
|
+
m.value = null, h.value = !1, _.value = [], p.value = [], x.present();
|
|
185
185
|
try {
|
|
186
186
|
m.value = L ? await L(f.subject, new AbortController().signal) : await v.scopes(f.subject);
|
|
187
187
|
} catch {
|
|
@@ -200,7 +200,7 @@ const ze = {
|
|
|
200
200
|
}, {
|
|
201
201
|
default: y(() => [
|
|
202
202
|
A("div", ze, [
|
|
203
|
-
h.value ? (i(),
|
|
203
|
+
h.value ? (i(), b("p", He, w(e(a)("core.access.add.scopes_failed")), 1)) : m.value && q.value.length === 0 ? (i(), b("p", We, w(e(a)("core.access.add.no_places")), 1)) : D("", !0),
|
|
204
204
|
O.value ? (i(), E(e(K), {
|
|
205
205
|
key: 2,
|
|
206
206
|
header: e(a)("core.access.add.scope_header")
|
|
@@ -212,9 +212,9 @@ const ze = {
|
|
|
212
212
|
options: q.value.map((r) => ({ value: r.level, label: e(u).levelLabel(r.level) })),
|
|
213
213
|
"onUpdate:modelValue": d[0] || (d[0] = (r) => ae(r))
|
|
214
214
|
}, null, 8, ["model-value", "label", "options"]),
|
|
215
|
-
(i(!0),
|
|
215
|
+
(i(!0), b(B, null, G(se.value, (r, P) => (i(), E(e(Ce), {
|
|
216
216
|
key: r.name,
|
|
217
|
-
"model-value":
|
|
217
|
+
"model-value": _.value[P] ?? null,
|
|
218
218
|
label: e(u).levelLabel(r.name),
|
|
219
219
|
options: r.places.map((H) => ({ value: H.id, label: H.name })),
|
|
220
220
|
"onUpdate:modelValue": (H) => oe(P, H)
|
|
@@ -222,8 +222,8 @@ const ze = {
|
|
|
222
222
|
]),
|
|
223
223
|
_: 1
|
|
224
224
|
}, 8, ["header"])) : D("", !0),
|
|
225
|
-
Q.value ? (i(),
|
|
226
|
-
N.value ? (i(),
|
|
225
|
+
Q.value ? (i(), b(B, { key: 3 }, [
|
|
226
|
+
N.value ? (i(), b("p", Ie, w(e(a)("core.access.add.roles_loading")), 1)) : k.value ? (i(), b("p", Ye, w(e(a)("core.access.add.roles_failed")), 1)) : p.value.length === 0 ? (i(), b("p", Je, w(e(a)("core.access.add.no_roles")), 1)) : (i(), b("div", Qe, [
|
|
227
227
|
A("p", Xe, w(e(a)("core.access.add.role")), 1),
|
|
228
228
|
$(e(Ee), {
|
|
229
229
|
options: ge.value,
|
|
@@ -232,7 +232,7 @@ const ze = {
|
|
|
232
232
|
}, null, 8, ["options", "model-value"])
|
|
233
233
|
]))
|
|
234
234
|
], 64)) : D("", !0),
|
|
235
|
-
z.value ? (i(),
|
|
235
|
+
z.value ? (i(), b("div", Ze, [
|
|
236
236
|
$(e(K), {
|
|
237
237
|
header: e(a)("core.access.add.role_gives"),
|
|
238
238
|
footer: e(a)("core.access.add.role_gives_footer")
|
|
@@ -243,7 +243,7 @@ const ze = {
|
|
|
243
243
|
label: e(u).roleName(z.value),
|
|
244
244
|
sub: z.value.description
|
|
245
245
|
}, null, 8, ["label", "sub"]),
|
|
246
|
-
(i(!0),
|
|
246
|
+
(i(!0), b(B, null, G(he.value, (r) => (i(), E(e(V), {
|
|
247
247
|
key: r.ownable,
|
|
248
248
|
layout: "setting",
|
|
249
249
|
label: e(u).ownableLabel(r.ownable),
|
|
@@ -304,8 +304,8 @@ function os(l, s) {
|
|
|
304
304
|
for (const m of t.grants) {
|
|
305
305
|
const h = S ? m.qualifier : "all";
|
|
306
306
|
n.scopes.some((p) => W(p) === W(m.scope)) || n.scopes.push(m.scope), S && (n.qualifier = n.qualifier ? de(n.qualifier, h) : h);
|
|
307
|
-
const
|
|
308
|
-
|
|
307
|
+
const _ = n.sources.find((p) => p.roleName === m.role_name && W(p.scope) === W(m.scope));
|
|
308
|
+
_ ? S && (n.sources[n.sources.indexOf(_)] = { ..._, qualifier: de(_.qualifier, h) }) : n.sources.push({ roleKey: m.role_key, roleName: m.role_name, qualifier: h, scope: m.scope });
|
|
309
309
|
}
|
|
310
310
|
x.set(L, n), o.set(T, x);
|
|
311
311
|
}
|
|
@@ -346,7 +346,7 @@ const ts = {
|
|
|
346
346
|
key: 0,
|
|
347
347
|
class: "contents",
|
|
348
348
|
"data-test": "effective-show-all"
|
|
349
|
-
},
|
|
349
|
+
}, _s = /* @__PURE__ */ Y({
|
|
350
350
|
__name: "EffectiveAccess",
|
|
351
351
|
props: {
|
|
352
352
|
effective: {},
|
|
@@ -354,10 +354,10 @@ const ts = {
|
|
|
354
354
|
},
|
|
355
355
|
setup(l) {
|
|
356
356
|
const s = l, { t: o } = ee(), { catalogue: f } = pe(), t = J(), a = Ge(), u = j(() => os(f, s.effective)), v = R(!1), T = j(() => a.value && !v.value ? u.value.slice(0, 3) : u.value), L = R({}), S = (m) => m.actions.map((h) => t.permissionLabel(h.permission)).join(" · "), x = (m) => m.sources.map((h) => {
|
|
357
|
-
const
|
|
358
|
-
return m.ownable ? `${
|
|
357
|
+
const _ = t.roleName({ key: h.roleKey, name: h.roleName });
|
|
358
|
+
return m.ownable ? `${_} (${t.qualifierNoun(h.qualifier).toLowerCase()})` : _;
|
|
359
359
|
}).join(", "), n = (m) => [m.qualifier ? t.qualifierNoun(m.qualifier) : "", m.scopes.map((h) => t.scopeLabel(h)).join(", ")].filter(Boolean).join(" · ");
|
|
360
|
-
return (m, h) => (i(),
|
|
360
|
+
return (m, h) => (i(), b("section", ts, [
|
|
361
361
|
A("h2", ls, w(e(o)("core.access.effective.title", { name: s.name })), 1),
|
|
362
362
|
u.value.length === 0 ? (i(), E(e(K), {
|
|
363
363
|
key: 0,
|
|
@@ -370,14 +370,14 @@ const ts = {
|
|
|
370
370
|
}, null, 8, ["label"])
|
|
371
371
|
]),
|
|
372
372
|
_: 1
|
|
373
|
-
}, 8, ["footer"])) : (i(),
|
|
374
|
-
(i(!0),
|
|
375
|
-
key:
|
|
376
|
-
header: e(t).groupLabel(
|
|
377
|
-
footer:
|
|
373
|
+
}, 8, ["footer"])) : (i(), b(B, { key: 1 }, [
|
|
374
|
+
(i(!0), b(B, null, G(T.value, (_) => (i(), E(e(K), {
|
|
375
|
+
key: _.key,
|
|
376
|
+
header: e(t).groupLabel(_.key),
|
|
377
|
+
footer: _ === T.value[T.value.length - 1] ? e(o)("core.access.effective.footer") : void 0
|
|
378
378
|
}, {
|
|
379
379
|
default: y(() => [
|
|
380
|
-
(i(!0),
|
|
380
|
+
(i(!0), b(B, null, G(_.screens, (p) => (i(), E(e(V), {
|
|
381
381
|
key: p.key,
|
|
382
382
|
layout: "setting",
|
|
383
383
|
"stack-on-compact": "",
|
|
@@ -386,14 +386,14 @@ const ts = {
|
|
|
386
386
|
sub: y(() => [
|
|
387
387
|
A("span", ns, w(S(p)), 1),
|
|
388
388
|
A("span", cs, w(e(o)("core.access.effective.from_roles", { roles: x(p) })), 1),
|
|
389
|
-
L.value[p.key] ? (i(),
|
|
390
|
-
(i(!0),
|
|
389
|
+
L.value[p.key] ? (i(), b("ul", rs, [
|
|
390
|
+
(i(!0), b(B, null, G(p.actions, (N) => (i(), b("li", {
|
|
391
391
|
key: N.permission,
|
|
392
392
|
"data-permission": N.permission
|
|
393
393
|
}, [
|
|
394
394
|
A("span", us, w(e(t).permissionLabel(N.permission)), 1),
|
|
395
|
-
N.unavailable ? (i(),
|
|
396
|
-
(i(!0),
|
|
395
|
+
N.unavailable ? (i(), b("span", ds, w(e(o)("core.access.effective.unavailable")), 1)) : D("", !0),
|
|
396
|
+
(i(!0), b(B, null, G(N.grants, (k) => (i(), b("span", {
|
|
397
397
|
key: `${k.binding_id}-${k.scope.level}-${k.scope.id ?? 0}`,
|
|
398
398
|
class: "block text-content-muted"
|
|
399
399
|
}, w(e(o)("core.access.effective.why_row", {
|
|
@@ -405,7 +405,7 @@ const ts = {
|
|
|
405
405
|
])) : D("", !0)
|
|
406
406
|
]),
|
|
407
407
|
default: y(() => [
|
|
408
|
-
p.allUnavailable ? (i(),
|
|
408
|
+
p.allUnavailable ? (i(), b("span", ms, [
|
|
409
409
|
$(e(Ve), { tone: "warning" }, {
|
|
410
410
|
default: y(() => [
|
|
411
411
|
M(w(e(o)("core.access.effective.unavailable")), 1)
|
|
@@ -435,11 +435,11 @@ const ts = {
|
|
|
435
435
|
]),
|
|
436
436
|
_: 2
|
|
437
437
|
}, 1032, ["header", "footer"]))), 128)),
|
|
438
|
-
e(a) && u.value.length > 3 ? (i(),
|
|
438
|
+
e(a) && u.value.length > 3 ? (i(), b("span", vs, [
|
|
439
439
|
$(e(I), {
|
|
440
440
|
prominence: "secondary",
|
|
441
441
|
class: "self-center",
|
|
442
|
-
onClick: h[0] || (h[0] = (
|
|
442
|
+
onClick: h[0] || (h[0] = (_) => v.value = !v.value)
|
|
443
443
|
}, {
|
|
444
444
|
default: y(() => [
|
|
445
445
|
M(w(v.value ? e(o)("core.access.effective.fewer_modules") : e(o)("core.access.effective.all_modules", { count: u.value.length })), 1)
|
|
@@ -450,7 +450,7 @@ const ts = {
|
|
|
450
450
|
], 64))
|
|
451
451
|
]));
|
|
452
452
|
}
|
|
453
|
-
}),
|
|
453
|
+
}), bs = {
|
|
454
454
|
class: "flex min-w-0 flex-col gap-group-gap",
|
|
455
455
|
"data-test": "access-panel"
|
|
456
456
|
}, gs = ["data-test"], hs = {
|
|
@@ -478,8 +478,8 @@ const ts = {
|
|
|
478
478
|
async function h(k) {
|
|
479
479
|
await T.unbind(f.subject, k.id), Z.success(a("core.access.removed")), await x.reload();
|
|
480
480
|
}
|
|
481
|
-
const
|
|
482
|
-
return s({ reload: x.reload }), (k, q) => (i(),
|
|
481
|
+
const _ = (k) => Z.error(v(k, { fallback: a("core.access.remove_failed") })), p = R(null), N = j(() => p.value ? a("core.access.remove_body", { name: f.name, role: u.roleName(p.value.role), scope: u.scopeLabel(p.value.scope) }) : "");
|
|
482
|
+
return s({ reload: x.reload }), (k, q) => (i(), b("div", bs, [
|
|
483
483
|
S.value ? (i(), E(e(Le), {
|
|
484
484
|
key: 0,
|
|
485
485
|
title: e(a)("core.resource.not_found.title"),
|
|
@@ -505,7 +505,7 @@ const ts = {
|
|
|
505
505
|
label: e(a)("core.access.no_roles_title"),
|
|
506
506
|
sub: e(a)("core.access.no_roles_description")
|
|
507
507
|
}, null, 8, ["label", "sub"])) : D("", !0),
|
|
508
|
-
(i(!0),
|
|
508
|
+
(i(!0), b(B, null, G(g.bindings, (O) => (i(), E(as, {
|
|
509
509
|
key: O.id,
|
|
510
510
|
binding: O
|
|
511
511
|
}, fe({ _: 2 }, [
|
|
@@ -565,7 +565,7 @@ const ts = {
|
|
|
565
565
|
]),
|
|
566
566
|
_: 2
|
|
567
567
|
}, 1032, ["header", "footer"]),
|
|
568
|
-
$(
|
|
568
|
+
$(_s, {
|
|
569
569
|
effective: g.effective,
|
|
570
570
|
name: f.name
|
|
571
571
|
}, null, 8, ["effective", "name"])
|
|
@@ -587,7 +587,7 @@ const ts = {
|
|
|
587
587
|
message: N.value,
|
|
588
588
|
"confirm-label": e(a)("core.access.remove"),
|
|
589
589
|
action: h,
|
|
590
|
-
onFailed:
|
|
590
|
+
onFailed: _
|
|
591
591
|
}, null, 8, ["title", "message", "confirm-label"])
|
|
592
592
|
]));
|
|
593
593
|
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import { defineComponent as V, openBlock as m, createBlock as U, unref as e, withCtx as _, createVNode as n, mergeProps as E, createElementVNode as z, toDisplayString as q, watch as J, createElementBlock as w, Fragment as A, useModel as ve, useId as _e, useTemplateRef as Q, ref as x, onMounted as ge, onBeforeUnmount as ye, computed as D, withModifiers as be, createCommentVNode as H, createTextVNode as j, mergeModels as re, renderList as we, resolveDynamicComponent as le } from "vue";
|
|
2
2
|
import { useI18n as P } from "vue-i18n";
|
|
3
|
-
import { _ as he } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-
|
|
4
|
-
import { u as F } from "./platform-
|
|
3
|
+
import { _ as he } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-oXWQTfBs.js";
|
|
4
|
+
import { u as F } from "./platform-DU9QFts8.js";
|
|
5
5
|
import { _ as ee } from "./AsyncSection.vue_vue_type_script_setup_true_lang-CX8mpXRE.js";
|
|
6
6
|
import { u as te } from "./useLoad-M7V-AVwR.js";
|
|
7
7
|
import { i as S } from "./preferences-hYhrw8Uy.js";
|
|
8
|
-
import { h as xe, q as $e, j as ke, f as qe } from "./index-
|
|
9
|
-
import { a as K, u as ne, p as Ce } from "./FormGroup.vue_vue_type_script_setup_true_lang-
|
|
10
|
-
import { _ as de } from "./FormView.vue_vue_type_script_setup_true_lang-
|
|
11
|
-
import { u as Se, _ as Ee, a as Ve, b as Pe } from "./useGroupSheet-
|
|
8
|
+
import { h as xe, q as $e, j as ke, f as qe } from "./index-BA2w8uwD.js";
|
|
9
|
+
import { a as K, u as ne, p as Ce } from "./FormGroup.vue_vue_type_script_setup_true_lang-lvAuBG-0.js";
|
|
10
|
+
import { _ as de } from "./FormView.vue_vue_type_script_setup_true_lang-D01Jr4UU.js";
|
|
11
|
+
import { u as Se, _ as Ee, a as Ve, b as Pe } from "./useGroupSheet-CRw3MUmX.js";
|
|
12
12
|
import { t as C } from "./toast-CqSDTWRX.js";
|
|
13
|
-
import { u as T } from "./serverMessages-
|
|
14
|
-
import {
|
|
15
|
-
import { _ as I } from "./TextField.vue_vue_type_script_setup_true_lang-
|
|
13
|
+
import { u as T } from "./serverMessages-C_KkDvpT.js";
|
|
14
|
+
import { _ as Z } from "./FormRow.vue_vue_type_script_setup_true_lang-CpgNVQF4.js";
|
|
15
|
+
import { _ as I } from "./TextField.vue_vue_type_script_setup_true_lang-CVGh-p3J.js";
|
|
16
16
|
import { _ as Ne } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
|
|
17
|
-
import { u as ce } from "./format-
|
|
18
|
-
import { a as W } from "./ActionRow.vue_vue_type_script_setup_true_lang-
|
|
19
|
-
import { i as O } from "./usePreferences-
|
|
17
|
+
import { u as ce } from "./format-C_HXlOYQ.js";
|
|
18
|
+
import { a as W } from "./ActionRow.vue_vue_type_script_setup_true_lang-B5IMNnTf.js";
|
|
19
|
+
import { i as O } from "./usePreferences-DB29UTFD.js";
|
|
20
20
|
import { a as Y } from "./error-CD7x0Jrz.js";
|
|
21
21
|
import { a as Ae } from "./leaveGuard-Cc8yeLxM.js";
|
|
22
22
|
import { _ as Me } from "./Modal.vue_vue_type_script_setup_true_lang-CZ7WrDwu.js";
|
|
23
23
|
import { _ as X } from "./Button.vue_vue_type_script_setup_true_lang-JrqhO99l.js";
|
|
24
|
-
import { u as Re, _ as De } from "./useCommand-
|
|
24
|
+
import { u as Re, _ as De } from "./useCommand-DQKvro1n.js";
|
|
25
25
|
import { _ as Ue } from "./AlertDialog.vue_vue_type_script_setup_true_lang-WuGvAOrj.js";
|
|
26
26
|
import { _ as Ie } from "./ViewTabs.vue_vue_type_script_setup_true_lang-BjdDXE3T.js";
|
|
27
27
|
const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
@@ -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
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-
|
|
3
|
+
import { u as w } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-oXWQTfBs.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,6 +1,6 @@
|
|
|
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 { _ as C } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-
|
|
3
|
+
import { _ as C } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-oXWQTfBs.js";
|
|
4
4
|
import { _ as B } from "./AsyncSection.vue_vue_type_script_setup_true_lang-CX8mpXRE.js";
|
|
5
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";
|
|
@@ -1,21 +1,21 @@
|
|
|
1
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 { a as Q, u as ee } from "./FormGroup.vue_vue_type_script_setup_true_lang-
|
|
4
|
-
import { _ as te } from "./FormView.vue_vue_type_script_setup_true_lang-
|
|
5
|
-
import { _ as ae } from "./SelectField.vue_vue_type_script_setup_true_lang-
|
|
6
|
-
import { _ as se } from "./TextareaField.vue_vue_type_script_setup_true_lang-
|
|
7
|
-
import { _ as oe } from "./TextField.vue_vue_type_script_setup_true_lang-
|
|
8
|
-
import { u as ne } from "./useSaveChrome-
|
|
3
|
+
import { a as Q, u as ee } from "./FormGroup.vue_vue_type_script_setup_true_lang-lvAuBG-0.js";
|
|
4
|
+
import { _ as te } from "./FormView.vue_vue_type_script_setup_true_lang-D01Jr4UU.js";
|
|
5
|
+
import { _ as ae } from "./SelectField.vue_vue_type_script_setup_true_lang-D5xYofdb.js";
|
|
6
|
+
import { _ as se } from "./TextareaField.vue_vue_type_script_setup_true_lang-YxUlNHSk.js";
|
|
7
|
+
import { _ as oe } from "./TextField.vue_vue_type_script_setup_true_lang-CVGh-p3J.js";
|
|
8
|
+
import { u as ne } from "./useSaveChrome-DB9OwIjT.js";
|
|
9
9
|
import { t as le } from "./toast-CqSDTWRX.js";
|
|
10
10
|
import { _ as E } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
|
|
11
11
|
import { _ as R } from "./Banner.vue_vue_type_script_setup_true_lang-sv0phngk.js";
|
|
12
|
-
import { u as re } from "./PersonAccess.vue_vue_type_script_setup_true_lang-
|
|
12
|
+
import { u as re } from "./PersonAccess.vue_vue_type_script_setup_true_lang-mYFuG-Y3.js";
|
|
13
13
|
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-DfPzVNNY.js";
|
|
14
14
|
import { _ as pe } from "./Button.vue_vue_type_script_setup_true_lang-JrqhO99l.js";
|
|
15
15
|
import { _ as _e } from "./Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js";
|
|
16
|
-
import { _ as ve } from "./SegmentedField.vue_vue_type_script_setup_true_lang-
|
|
17
|
-
import { _ as be } from "./SwitchField.vue_vue_type_script_setup_true_lang-
|
|
18
|
-
import { u as ge } from "./platform-
|
|
16
|
+
import { _ as ve } from "./SegmentedField.vue_vue_type_script_setup_true_lang-CLR6EvzO.js";
|
|
17
|
+
import { _ as be } from "./SwitchField.vue_vue_type_script_setup_true_lang-CLtcuofe.js";
|
|
18
|
+
import { u as ge } from "./platform-DU9QFts8.js";
|
|
19
19
|
function ye(y, c) {
|
|
20
20
|
return Object.fromEntries(
|
|
21
21
|
y.map(({ attribute: d, options: o }) => {
|
|
@@ -2,22 +2,22 @@ import { defineComponent as I, computed as L, openBlock as a, createBlock as b,
|
|
|
2
2
|
import { useI18n as K } from "vue-i18n";
|
|
3
3
|
import { useRouter as Z } from "vue-router";
|
|
4
4
|
import { _ as ee } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
|
|
5
|
-
import { a as C } from "./FormGroup.vue_vue_type_script_setup_true_lang-
|
|
6
|
-
import {
|
|
5
|
+
import { a as C } from "./FormGroup.vue_vue_type_script_setup_true_lang-lvAuBG-0.js";
|
|
6
|
+
import { _ as z } from "./FormRow.vue_vue_type_script_setup_true_lang-CpgNVQF4.js";
|
|
7
7
|
import { _ as oe } from "./AlertDialog.vue_vue_type_script_setup_true_lang-WuGvAOrj.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-B3BnYg1x.js";
|
|
10
|
+
import { u as ae } from "./platform-DU9QFts8.js";
|
|
11
11
|
import { a as le, u as se } from "./routeResource-DlTsGTg_.js";
|
|
12
|
-
import { a as re } from "./ResourcePage.vue_vue_type_script_setup_true_lang-
|
|
12
|
+
import { a as re } from "./ResourcePage.vue_vue_type_script_setup_true_lang-1iZtj3rh.js";
|
|
13
13
|
import { _ as ce } from "./AsyncSection.vue_vue_type_script_setup_true_lang-CX8mpXRE.js";
|
|
14
14
|
import { _ as H } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
|
|
15
|
-
import { u as O } from "./PersonAccess.vue_vue_type_script_setup_true_lang-
|
|
15
|
+
import { u as O } from "./PersonAccess.vue_vue_type_script_setup_true_lang-mYFuG-Y3.js";
|
|
16
16
|
import { u as U, f as ne, e as ie, g as ue, a as M } from "./refusals-DfPzVNNY.js";
|
|
17
|
-
import { _ as J } from "./SelectField.vue_vue_type_script_setup_true_lang-
|
|
18
|
-
import { u as me, _ as pe } from "./useCommand-
|
|
17
|
+
import { _ as J } from "./SelectField.vue_vue_type_script_setup_true_lang-D5xYofdb.js";
|
|
18
|
+
import { u as me, _ as pe } from "./useCommand-DQKvro1n.js";
|
|
19
19
|
import { _ as fe } from "./Modal.vue_vue_type_script_setup_true_lang-CZ7WrDwu.js";
|
|
20
|
-
import { _ as de } from "./RoleEditor.vue_vue_type_script_setup_true_lang-
|
|
20
|
+
import { _ as de } from "./RoleEditor.vue_vue_type_script_setup_true_lang-BslSDDiM.js";
|
|
21
21
|
import { accessPages as T } from "./access/index.js";
|
|
22
22
|
const _e = { "data-test": "role-replace" }, ve = /* @__PURE__ */ I({
|
|
23
23
|
__name: "ReplaceRoleDialog",
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { defineComponent as L, ref as
|
|
1
|
+
import { defineComponent as L, ref as b, computed as i, openBlock as d, createBlock as g, 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
4
|
import { _ as S } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
|
|
5
5
|
import { _ as E } from "./Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js";
|
|
6
|
-
import { a as U } from "./FormGroup.vue_vue_type_script_setup_true_lang-
|
|
7
|
-
import {
|
|
8
|
-
import { _ as D } from "./TextField.vue_vue_type_script_setup_true_lang-
|
|
9
|
-
import { _ as I } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-
|
|
10
|
-
import { u as K } from "./platform-
|
|
6
|
+
import { a as U } from "./FormGroup.vue_vue_type_script_setup_true_lang-lvAuBG-0.js";
|
|
7
|
+
import { _ as j } from "./FormRow.vue_vue_type_script_setup_true_lang-CpgNVQF4.js";
|
|
8
|
+
import { _ as D } from "./TextField.vue_vue_type_script_setup_true_lang-CVGh-p3J.js";
|
|
9
|
+
import { _ as I } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-oXWQTfBs.js";
|
|
10
|
+
import { u as K } from "./platform-DU9QFts8.js";
|
|
11
11
|
import { _ as T } from "./AsyncSection.vue_vue_type_script_setup_true_lang-CX8mpXRE.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-M7V-AVwR.js";
|
|
14
|
-
import { u as G } from "./PersonAccess.vue_vue_type_script_setup_true_lang-
|
|
14
|
+
import { u as G } from "./PersonAccess.vue_vue_type_script_setup_true_lang-mYFuG-Y3.js";
|
|
15
15
|
import { u as H, a as J } from "./refusals-DfPzVNNY.js";
|
|
16
16
|
import { accessPages as x } from "./access/index.js";
|
|
17
17
|
const M = {
|
|
@@ -27,7 +27,7 @@ const M = {
|
|
|
27
27
|
}, fe = /* @__PURE__ */ L({
|
|
28
28
|
__name: "RolesPage",
|
|
29
29
|
setup(X) {
|
|
30
|
-
const { t: s } = A(), k = F(), { access: w } = K(), m = H(), y = G(), u = z(({ signal: o }) => y.roles({ signal: o })), c =
|
|
30
|
+
const { t: s } = A(), k = F(), { access: w } = K(), m = H(), y = G(), u = z(({ signal: o }) => y.roles({ signal: o })), c = b("all"), p = b(""), r = i(() => u.data.value ?? []), $ = i(() => [
|
|
31
31
|
{ value: "all", label: s("core.access.kinds.all"), badge: r.value.length },
|
|
32
32
|
{ value: "predefined", label: s("core.access.kinds.predefined"), badge: r.value.filter((o) => o.predefined).length },
|
|
33
33
|
{ value: "custom", label: s("core.access.kinds.custom"), badge: r.value.filter((o) => !o.predefined).length }
|
|
@@ -39,7 +39,7 @@ const M = {
|
|
|
39
39
|
}), V = i(
|
|
40
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
41
|
), C = (o) => [o.description, s("core.access.permissions", { count: o.permission_count })].filter(Boolean).join(" · ");
|
|
42
|
-
return (o, a) => (d(),
|
|
42
|
+
return (o, a) => (d(), g(e(I), {
|
|
43
43
|
title: e(s)("core.access.title"),
|
|
44
44
|
description: e(s)("core.access.description"),
|
|
45
45
|
icon: "shieldStarFill",
|
|
@@ -74,7 +74,7 @@ const M = {
|
|
|
74
74
|
}, {
|
|
75
75
|
default: l(() => [
|
|
76
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(),
|
|
77
|
+
(d(!0), h(R, null, B(v.value, (t) => (d(), g(e(j), {
|
|
78
78
|
key: t.ref,
|
|
79
79
|
layout: "setting",
|
|
80
80
|
label: e(m).roleName(t),
|
|
@@ -5,8 +5,8 @@ import { _ as q } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.
|
|
|
5
5
|
import { _ as G } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
|
|
6
6
|
import { a as re } from "./mediaQuery-CygcXmFW.js";
|
|
7
7
|
import { u as ie } from "./access-DmAceEo5.js";
|
|
8
|
-
import { u as ce, a as ue } from "./sections-
|
|
9
|
-
import { p as de } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-
|
|
8
|
+
import { u as ce, a as ue } from "./sections-BpiRLntE.js";
|
|
9
|
+
import { p as de } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-oXWQTfBs.js";
|
|
10
10
|
import { p as me } from "./sectionIndex-BS0ic5W7.js";
|
|
11
11
|
import { _ as K, a as pe } from "./SectionList.vue_vue_type_script_setup_true_lang-CodyVezo.js";
|
|
12
12
|
const fe = {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { defineComponent as w, openBlock as
|
|
2
|
-
import { u as F, a as S,
|
|
3
|
-
|
|
1
|
+
import { defineComponent as w, openBlock as o, createBlock as k, mergeProps as x, unref as r, createSlots as V, withCtx as a, createElementVNode as h, normalizeClass as n, createElementBlock as s, Fragment as _, renderList as $, createTextVNode as B, toDisplayString as d, createCommentVNode as C, renderSlot as i, mergeDefaults as L } from "vue";
|
|
2
|
+
import { u as F, a as S, f as T, b as D } from "./FormRow.vue_vue_type_script_setup_true_lang-CpgNVQF4.js";
|
|
3
|
+
import { _ as N } from "./options-mOOX6JSS.js";
|
|
4
|
+
const E = ["id", "aria-label", "aria-describedby", "aria-invalid"], P = ["disabled", "aria-pressed", "onClick"], M = /* @__PURE__ */ w({
|
|
4
5
|
__name: "SegmentedField",
|
|
5
6
|
props: /* @__PURE__ */ L({
|
|
6
7
|
label: {},
|
|
@@ -16,15 +17,15 @@ const E = ["id", "aria-label", "aria-describedby", "aria-invalid"], P = ["disabl
|
|
|
16
17
|
modelValue: {},
|
|
17
18
|
options: {},
|
|
18
19
|
rowLayout: {}
|
|
19
|
-
}, { ...
|
|
20
|
+
}, { ...D, modelValue: null, rowLayout: "setting" }),
|
|
20
21
|
emits: ["update:modelValue"],
|
|
21
22
|
setup(u, { emit: m }) {
|
|
22
23
|
const e = u, c = m, { editable: f } = F(e), b = !!S(), p = () => e.options.find((t) => t.value === e.modelValue)?.label ?? null;
|
|
23
|
-
return (t, R) => (
|
|
24
|
+
return (t, R) => (o(), k(N, x(r(T)(e), {
|
|
24
25
|
value: p(),
|
|
25
26
|
"row-layout": e.rowLayout
|
|
26
27
|
}), V({
|
|
27
|
-
default:
|
|
28
|
+
default: a(({ id: y, describedby: g, invalid: v }) => [
|
|
28
29
|
h("div", {
|
|
29
30
|
id: y,
|
|
30
31
|
role: "group",
|
|
@@ -34,7 +35,7 @@ const E = ["id", "aria-label", "aria-describedby", "aria-invalid"], P = ["disabl
|
|
|
34
35
|
"data-test": "segmented",
|
|
35
36
|
class: n(["max-w-full flex-wrap rounded-control bg-fill p-0.5", [b && e.rowLayout === "stacked" ? "flex w-full" : "inline-flex", e.disabled ? "opacity-45" : ""]])
|
|
36
37
|
}, [
|
|
37
|
-
(
|
|
38
|
+
(o(!0), s(_, null, $(e.options, (l) => (o(), s("button", {
|
|
38
39
|
key: l.value,
|
|
39
40
|
type: "button",
|
|
40
41
|
disabled: e.disabled || !r(f) || l.disabled,
|
|
@@ -43,7 +44,7 @@ const E = ["id", "aria-label", "aria-describedby", "aria-invalid"], P = ["disabl
|
|
|
43
44
|
onClick: (q) => c("update:modelValue", l.value)
|
|
44
45
|
}, [
|
|
45
46
|
B(d(l.label) + " ", 1),
|
|
46
|
-
l.count !== void 0 ? (
|
|
47
|
+
l.count !== void 0 ? (o(), s("span", {
|
|
47
48
|
key: 0,
|
|
48
49
|
class: n(["ml-1.5 rounded-full px-1.5 text-caption font-semibold tabular-nums", l.value === e.modelValue ? "bg-tint-soft text-content-link" : "bg-fill-strong text-content-muted"])
|
|
49
50
|
}, d(l.count), 3)) : C("", !0)
|
|
@@ -54,21 +55,21 @@ const E = ["id", "aria-label", "aria-describedby", "aria-invalid"], P = ["disabl
|
|
|
54
55
|
}, [
|
|
55
56
|
t.$slots.trailing ? {
|
|
56
57
|
name: "trailing",
|
|
57
|
-
fn:
|
|
58
|
+
fn: a(() => [
|
|
58
59
|
i(t.$slots, "trailing")
|
|
59
60
|
]),
|
|
60
61
|
key: "0"
|
|
61
62
|
} : void 0,
|
|
62
63
|
t.$slots.labelTrailing ? {
|
|
63
64
|
name: "labelTrailing",
|
|
64
|
-
fn:
|
|
65
|
+
fn: a(() => [
|
|
65
66
|
i(t.$slots, "labelTrailing")
|
|
66
67
|
]),
|
|
67
68
|
key: "1"
|
|
68
69
|
} : void 0,
|
|
69
70
|
t.$slots.readonly ? {
|
|
70
71
|
name: "readonly",
|
|
71
|
-
fn:
|
|
72
|
+
fn: a(() => [
|
|
72
73
|
i(t.$slots, "readonly")
|
|
73
74
|
]),
|
|
74
75
|
key: "2"
|
|
@@ -77,5 +78,5 @@ const E = ["id", "aria-label", "aria-describedby", "aria-invalid"], P = ["disabl
|
|
|
77
78
|
}
|
|
78
79
|
});
|
|
79
80
|
export {
|
|
80
|
-
|
|
81
|
+
M as _
|
|
81
82
|
};
|
|
@@ -6,8 +6,9 @@ import { u as ie } from "./mediaQuery-CygcXmFW.js";
|
|
|
6
6
|
import { _ as I } from "./ToneDot.vue_vue_type_script_setup_true_lang-99rNn-L5.js";
|
|
7
7
|
import { _ as ue } from "./Sheet.vue_vue_type_script_setup_true_lang-BG8HUNfs.js";
|
|
8
8
|
import { _ as de } from "./Popover.vue_vue_type_script_setup_true_lang-BK8HL_V0.js";
|
|
9
|
-
import {
|
|
10
|
-
import { a as
|
|
9
|
+
import { g as ce, m as pe, u as me, _ as ve } from "./options-mOOX6JSS.js";
|
|
10
|
+
import { a as fe, f as be, b as ge } from "./FormRow.vue_vue_type_script_setup_true_lang-CpgNVQF4.js";
|
|
11
|
+
import { a as ye } from "./suggestions-DeMgs_ki.js";
|
|
11
12
|
const he = { class: "flex min-h-9 items-center gap-1.5 rounded-control bg-fill px-2.5 text-content-muted focus-within:outline-2 focus-within:outline-offset-2 focus-within:outline-border-focus" }, ke = ["aria-label", "placeholder"], xe = ["aria-multiselectable", "aria-busy"], we = {
|
|
12
13
|
key: 0,
|
|
13
14
|
role: "presentation"
|
|
@@ -215,7 +216,7 @@ const he = { class: "flex min-h-9 items-center gap-1.5 rounded-control bg-fill p
|
|
|
215
216
|
], 544));
|
|
216
217
|
}
|
|
217
218
|
});
|
|
218
|
-
function
|
|
219
|
+
function et(p) {
|
|
219
220
|
const x = ye(), e = p.for !== void 0;
|
|
220
221
|
let w = 0;
|
|
221
222
|
function C() {
|
|
@@ -271,7 +272,7 @@ function Re(p, x) {
|
|
|
271
272
|
R(l) || l.reload();
|
|
272
273
|
} };
|
|
273
274
|
}
|
|
274
|
-
const Ee = ["id", "disabled", "aria-expanded", "aria-required", "aria-invalid", "aria-describedby", "aria-busy"], Ue = ["id", "disabled", "aria-required", "aria-invalid", "aria-describedby", "aria-busy", "onClick"], Ne = { class: "max-h-72 overflow-y-auto" }, He = { class: "block break-words text-body text-content-strong" },
|
|
275
|
+
const Ee = ["id", "disabled", "aria-expanded", "aria-required", "aria-invalid", "aria-describedby", "aria-busy"], Ue = ["id", "disabled", "aria-required", "aria-invalid", "aria-describedby", "aria-busy", "onClick"], Ne = { class: "max-h-72 overflow-y-auto" }, He = { class: "block break-words text-body text-content-strong" }, tt = /* @__PURE__ */ X({
|
|
275
276
|
__name: "SelectField",
|
|
276
277
|
props: /* @__PURE__ */ se({
|
|
277
278
|
label: {},
|
|
@@ -301,9 +302,9 @@ const Ee = ["id", "disabled", "aria-expanded", "aria-required", "aria-invalid",
|
|
|
301
302
|
set: (o) => {
|
|
302
303
|
C.value = o, w("update:modelValue", o);
|
|
303
304
|
}
|
|
304
|
-
}), { t: f } = Z(), D = ie(), l = !!
|
|
305
|
+
}), { t: f } = Z(), D = ie(), l = !!fe(), _ = Y("sheet"), B = M(!1), u = Re(() => e.options, (o) => {
|
|
305
306
|
c.value !== null && !o.some((v) => v.value === c.value) && (c.value = null);
|
|
306
|
-
}), m = g(() => u.known.value.find((o) => o.value === c.value) ?? (e.selected?.value === c.value ? e.selected : null)), F = g(() => e.placeholder ?? f("core.form.select.choose")), q =
|
|
307
|
+
}), m = g(() => u.known.value.find((o) => o.value === c.value) ?? (e.selected?.value === c.value ? e.selected : null)), F = g(() => e.placeholder ?? f("core.form.select.choose")), q = me("popup", () => e.error ? "error" : e.disabled ? "locked" : "rest");
|
|
307
308
|
function P(o) {
|
|
308
309
|
c.value = o, _.value?.dismiss();
|
|
309
310
|
}
|
|
@@ -313,7 +314,7 @@ const Ee = ["id", "disabled", "aria-expanded", "aria-required", "aria-invalid",
|
|
|
313
314
|
l ? "compact:pl-0 compact:pr-0" : "",
|
|
314
315
|
e.disabled ? "cursor-not-allowed" : "cursor-pointer"
|
|
315
316
|
]);
|
|
316
|
-
return (o, v) => (n(), z(
|
|
317
|
+
return (o, v) => (n(), z(ve, K(t(be)(e), {
|
|
317
318
|
value: m.value?.label ?? null,
|
|
318
319
|
"row-layout": e.rowLayout
|
|
319
320
|
}), E({
|
|
@@ -507,8 +508,8 @@ const Ee = ["id", "disabled", "aria-expanded", "aria-required", "aria-invalid",
|
|
|
507
508
|
}
|
|
508
509
|
});
|
|
509
510
|
export {
|
|
510
|
-
|
|
511
|
+
tt as _,
|
|
511
512
|
Q as a,
|
|
512
513
|
Re as b,
|
|
513
|
-
|
|
514
|
+
et as u
|
|
514
515
|
};
|