@feedmepos/mf-hrm-portal 2.2.2-dev → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/{ApprovalCodeList-B9O8QzzI.js → ApprovalCodeList-Dpg-lwZA.js} +5 -5
  2. package/dist/AuditLogList-B8lU5FU1.js +1149 -0
  3. package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-C9MYbxum.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-Di-1ZwEW.js} +2 -2
  4. package/dist/{EmployeeList-BFxMwFJq.js → EmployeeList-ByeniR1c.js} +71 -71
  5. package/dist/{GrantUserList-CZtmMRoS.js → GrantUserList-D0YIdpMH.js} +6 -6
  6. package/dist/{Main-on0TXkQt.js → Main-Bg0Najd8.js} +8 -8
  7. package/dist/{Main-B622Z4q4.js → Main-C9-EztWV.js} +11 -11
  8. package/dist/{Main-DD6IthCS.js → Main-CTsTrR0m.js} +5 -5
  9. package/dist/{PermissionSetList-FCX3TBoi.js → PermissionSetList-CqVP3iB8.js} +78 -77
  10. package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Cl_YNh0k.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-CXNhJDfA.js} +569 -564
  11. package/dist/{PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-XHuHin8t.js → PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-Z-DH7ouY.js} +1 -1
  12. package/dist/RoleList-CQuV9O_f.js +739 -0
  13. package/dist/{TeamMemberList-BAU7Y3jh.js → TeamMemberList-DNitiMN5.js} +312 -313
  14. package/dist/{TimesheetList-DtFBWhma.js → TimesheetList-DYJsjODe.js} +7 -7
  15. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_2c7a177a_lang-Tatn3jUv.js → TimesheetList.vue_vue_type_style_index_0_scoped_2c7a177a_lang-DWKJIq76.js} +3 -3
  16. package/dist/{app-Bbf6hEPt.js → app-BJKd6Faz.js} +521 -817
  17. package/dist/app.js +1 -1
  18. package/dist/{approval-code-jIjkeVEb.js → approval-code-BRClD2HN.js} +1 -1
  19. package/dist/{dayjs.min-BAnGg8q2.js → dayjs.min-D8ClaZcZ.js} +1 -1
  20. package/dist/{employee-DVSD3L51.js → employee-C9VVckRM.js} +4 -4
  21. package/dist/{grant-user-SNiDV22U.js → grant-user-Dhi3ilC_.js} +1 -1
  22. package/dist/{iteration-BTZViJtd.js → iteration-CMXHdaKL.js} +1 -1
  23. package/dist/{lodash-Cgdk4_YL.js → lodash-0-Y1xSyQ.js} +1 -1
  24. package/dist/{restaurant-BTpBmfBV.js → restaurant-DiYb0pCm.js} +2 -2
  25. package/dist/{role-CXVpO6fB.js → role-B-Y4JezP.js} +2 -2
  26. package/dist/{rule-TR3MVo-b.js → rule-raGIIqlH.js} +288 -261
  27. package/dist/src/api/audit-log/index.d.ts +0 -6
  28. package/dist/src/api/user/index.d.ts +2 -2
  29. package/dist/src/composables/useReportPermissions.d.ts +1 -0
  30. package/dist/src/helpers/rule.d.ts +2 -0
  31. package/dist/src/types/audit-log.d.ts +1 -1
  32. package/dist/src/types/role.d.ts +1 -0
  33. package/dist/src/views/audit-log/locales/index.d.ts +0 -300
  34. package/dist/src/views/hr/locales/index.d.ts +12 -8
  35. package/dist/style.css +1 -1
  36. package/dist/tsconfig.app.tsbuildinfo +1 -1
  37. package/dist/{useAppStore-DCwd8GWN.js → useAppStore-BGhlB1_1.js} +1 -1
  38. package/dist/useDebounce-CWb5QR9G.js +28 -0
  39. package/dist/{useLoading-CXzTpIVv.js → useLoading-CvgqVDbF.js} +1 -1
  40. package/dist/useReportPermissions-C5_EivtU.js +82 -0
  41. package/package.json +2 -2
  42. package/dist/AuditLogList-CtFEXKWZ.js +0 -1722
  43. package/dist/RoleList-p_9KHzqF.js +0 -725
  44. package/dist/Skeleton.vue_vue_type_script_setup_true_lang-B4PxNMwq.js +0 -16
  45. package/dist/src/views/audit-log/change-nodes.d.ts +0 -14
  46. package/dist/src/views/audit-log/event-line.d.ts +0 -13
  47. package/dist/src/views/audit-log/operation-status.d.ts +0 -2
  48. package/dist/src/views/audit-log/snapshot-diff.d.ts +0 -11
  49. package/dist/useDebounce-B8ZPVS5C.js +0 -15
  50. package/dist/useReportPermissions-BpAFyO17.js +0 -71
@@ -1,16 +0,0 @@
1
- import { defineComponent as t, createElementBlock as n, openBlock as o, normalizeStyle as l } from "vue";
2
- const i = /* @__PURE__ */ t({
3
- __name: "Skeleton",
4
- props: {
5
- width: { default: "160px" }
6
- },
7
- setup(e) {
8
- return (r, a) => (o(), n("div", {
9
- class: "h-16 animate-pulse rounded bg-fm-color-neutral-gray-200",
10
- style: l({ width: e.width })
11
- }, null, 4));
12
- }
13
- });
14
- export {
15
- i as _
16
- };
@@ -1,14 +0,0 @@
1
- import type { ChangeNode } from '@feedmepos/hrm-permission';
2
- export interface ChangeNodeDisplay {
3
- label: string;
4
- labelKey?: string;
5
- type: 'add' | 'remove' | 'update';
6
- beforeDisplay: string;
7
- afterDisplay: string;
8
- }
9
- /** Render a single ChangeNode value (string | string[] | undefined) as display text. */
10
- export declare function formatChangeValue(value: string | string[] | undefined): string;
11
- /** Convert a ChangeNode into a flat display object for the UI. */
12
- export declare function prepareChangeNodeDisplay(node: ChangeNode): ChangeNodeDisplay;
13
- /** Decide whether to render changeNodes table (true) or fall back to raw diff (false). */
14
- export declare function shouldRenderChangeNodes(changeNodes: ChangeNode[] | undefined): boolean;
@@ -1,13 +0,0 @@
1
- export interface EventLineSource {
2
- eventKey?: string;
3
- params?: Record<string, string | number>;
4
- operationLabel?: string;
5
- }
6
- type Translate = (key: string, params?: Record<string, unknown>) => string;
7
- export declare function splitEventKey(key: string): {
8
- entity: string;
9
- verb: string;
10
- } | null;
11
- export declare function humanizeSegment(segment: string): string;
12
- export declare function renderEventLine(t: Translate, source: EventLineSource): string;
13
- export {};
@@ -1,2 +0,0 @@
1
- import type { AuditLogEntry } from '@/types/audit-log';
2
- export declare function hasFailedOperation(entry: Pick<AuditLogEntry, 'operations'>): boolean;
@@ -1,11 +0,0 @@
1
- export type SnapshotDiffType = 'added' | 'removed' | 'changed';
2
- export interface SnapshotDiffRow {
3
- /** e.g. "name", "permissions[business::unitCostHistory]", "roles[0].roleId" */
4
- path: string;
5
- type: SnapshotDiffType;
6
- /** null = value absent on the before side (render as em dash by caller) */
7
- before: string | null;
8
- /** null = value absent on the after side */
9
- after: string | null;
10
- }
11
- export declare function computeSnapshotDiff(before: unknown, after: unknown): SnapshotDiffRow[];
@@ -1,15 +0,0 @@
1
- import { watch as s } from "vue";
2
- function m(o, e, c = 300) {
3
- let t;
4
- const i = s(o, (r) => {
5
- t && clearTimeout(t), t = setTimeout(() => {
6
- e(r);
7
- }, c);
8
- });
9
- return () => {
10
- i(), t && (clearTimeout(t), t = void 0);
11
- };
12
- }
13
- export {
14
- m as u
15
- };
@@ -1,71 +0,0 @@
1
- import { computed as i, ref as t } from "vue";
2
- import { e as m } from "./iteration-BTZViJtd.js";
3
- import { useCoreStore as h } from "@feedmepos/mf-common";
4
- import { e as S, R as L } from "./rule-TR3MVo-b.js";
5
- import "./app-Bbf6hEPt.js";
6
- const l = t([]), a = t(!1), r = t(!1), d = t(null), p = t(null), u = t(!1);
7
- function B() {
8
- const v = h();
9
- async function f() {
10
- var e;
11
- const s = (e = v.currentBusiness.value) == null ? void 0 : e.id;
12
- if (!s) return;
13
- d.value !== s && (l.value = [], a.value = !1, r.value = !1, d.value = s, u.value = !1);
14
- const o = localStorage.getItem("locale");
15
- if (!(a.value && p.value === o)) {
16
- if (r.value) {
17
- u.value = !0;
18
- return;
19
- }
20
- r.value = !0;
21
- try {
22
- l.value = await L.fetchReportPermissions(
23
- s,
24
- o
25
- ), a.value = !0, p.value = o;
26
- } catch (n) {
27
- console.warn("Failed to fetch dynamic report permissions, keeping last known list:", n), a.value = !1;
28
- } finally {
29
- r.value = !1, u.value && (u.value = !1, await f());
30
- }
31
- }
32
- }
33
- const c = S.filter(
34
- (s) => s.subject === m.F_RULE_SUBJECT.enum.report && s.conditions
35
- ), y = i(() => {
36
- const s = new Set(
37
- c.map((e) => {
38
- const n = typeof e.conditions == "string" ? JSON.parse(e.conditions) : e.conditions;
39
- return n == null ? void 0 : n.name;
40
- })
41
- ), o = l.value.filter((e) => !s.has(e.permissionKey)).map((e) => ({
42
- label: e.name,
43
- subject: m.F_RULE_SUBJECT.enum.report,
44
- actions: ["read"],
45
- conditions: { name: e.permissionKey },
46
- inverted: !1,
47
- reason: ""
48
- }));
49
- return [...c, ...o];
50
- }), R = i(() => {
51
- const s = new Set(
52
- c.map((o) => {
53
- const e = typeof o.conditions == "string" ? JSON.parse(o.conditions) : o.conditions;
54
- return e == null ? void 0 : e.name;
55
- })
56
- );
57
- for (const o of l.value)
58
- s.add(o.permissionKey);
59
- return s;
60
- });
61
- return {
62
- fetchReportPermissions: f,
63
- allReportPermissions: y,
64
- availableReportKeys: R,
65
- isLoading: i(() => r.value),
66
- isLoaded: i(() => a.value)
67
- };
68
- }
69
- export {
70
- B as u
71
- };