@feedmepos/mf-hrm-portal 2.0.17-dev.3 → 2.0.17-dev.4

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 (51) hide show
  1. package/dist/{AuditLogList-C6qAeY5g.js → AuditLogList-CV82_8fj.js} +350 -324
  2. package/dist/EmployeeList-dE0So94R.js +736 -0
  3. package/dist/FormSection.vue_vue_type_script_setup_true_lang-BVb8c4YU.js +71 -0
  4. package/dist/HorizontalSplitter-o860F4xM.js +12 -0
  5. package/dist/{Main-Dkr5lzbv.js → Main-BAx-c_oZ.js} +9 -9
  6. package/dist/{Main-BNXKItvX.js → Main-CfAQYaaW.js} +14 -16
  7. package/dist/{Main--tejoyEP.js → Main-CyReTP3K.js} +8 -8
  8. package/dist/PermissionSetList-DmsJnW2i.js +341 -0
  9. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-BbcY9q1x.js +3480 -0
  10. package/dist/RoleList-CKB8L-BW.js +530 -0
  11. package/dist/TeamMemberList-CszlbmAX.js +1108 -0
  12. package/dist/{TimesheetList-D-3k0Uad.js → TimesheetList-NRUfSiYL.js} +6 -6
  13. package/dist/{app-BjXuSCis.js → app-B0bANDrM.js} +1891 -1404
  14. package/dist/app.js +1 -1
  15. package/dist/{dayjs.min-z-vrgFCL.js → dayjs.min-DdUO0d-2.js} +1 -1
  16. package/dist/{employee-DAqAMupR.js → employee-DJDUT0Wj.js} +3 -3
  17. package/dist/{iteration-Cp1eSTJA.js → iteration-DqYIXL4P.js} +1 -1
  18. package/dist/{lodash-CXLZQQp8.js → lodash-BBQT31li.js} +1 -1
  19. package/dist/rule-T7VKkRdN.js +996 -0
  20. package/dist/src/api/report-query/index.d.ts +2 -2
  21. package/dist/src/components/CheckboxInput.vue.d.ts +1 -1
  22. package/dist/src/components/CollapsibleWrapper.vue.d.ts +0 -2
  23. package/dist/src/composables/useBasePermission.d.ts +1 -1
  24. package/dist/src/views/hr/locales/index.d.ts +172 -16
  25. package/dist/src/views/team/components/BasePermission.vue.d.ts +6 -2
  26. package/dist/src/views/team/components/PosRolePermission.vue.d.ts +2 -2
  27. package/dist/src/views/team/locales/index.d.ts +312 -32
  28. package/dist/src/views/team/member/AddMemberForm.vue.d.ts +3 -5
  29. package/dist/style.css +1 -1
  30. package/dist/{timesheet-BlPhOifI.js → timesheet-DjtuB4we.js} +2 -2
  31. package/dist/tsconfig.app.tsbuildinfo +1 -1
  32. package/dist/{useAppStore-BVnrWyPF.js → useAppStore-CBb-dugK.js} +1 -1
  33. package/dist/useDebounce-B8ZPVS5C.js +15 -0
  34. package/dist/useDiscardConfirm-BHni0LNu.js +28 -0
  35. package/dist/{useLoading-7ia-Bps7.js → useLoading-BCOj8y-t.js} +1 -1
  36. package/dist/useReportPermissions-DyzhBpi8.js +70 -0
  37. package/dist/useSearch-B6WK1LBB.js +15 -0
  38. package/package.json +2 -2
  39. package/dist/CollapsibleWrapper.vue_vue_type_script_setup_true_lang-BLJlmPVa.js +0 -58
  40. package/dist/EmployeeList-COtXtTqG.js +0 -827
  41. package/dist/FormItem.vue_vue_type_script_setup_true_lang-CoorkndT.js +0 -34
  42. package/dist/FormSection.vue_vue_type_script_setup_true_lang-DknXTYiK.js +0 -49
  43. package/dist/PermissionSetList-B_Sdvbu7.js +0 -340
  44. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-BBsaxaXu.js +0 -3439
  45. package/dist/RoleList-SZCgvYvC.js +0 -543
  46. package/dist/TeamMemberList-Dk5HeFfQ.js +0 -1008
  47. package/dist/rule-vBxopbM_.js +0 -990
  48. package/dist/team-CnQ_rIx2.js +0 -33
  49. package/dist/useDiscardConfirm-DPhEV6v0.js +0 -157
  50. package/dist/useReportPermissions-C8HMek35.js +0 -60
  51. package/dist/useSearch-BAPEUu1R.js +0 -15
@@ -1,33 +0,0 @@
1
- import { defineStore as d } from "pinia";
2
- import { ref as s, computed as o } from "vue";
3
- import { t as f } from "./rule-vBxopbM_.js";
4
- const I = d("team", () => {
5
- const r = s([]), a = s(!1), m = o(
6
- () => Object.fromEntries(r.value.map((e) => [e.doc.userId, e.name]))
7
- ), n = o(
8
- () => Object.fromEntries(r.value.map((e) => [e.doc.userId, e.email]))
9
- ), u = o(
10
- () => Object.fromEntries(r.value.map((e) => [e.doc.userId, e.phoneNumber]))
11
- );
12
- async function c({ force: e = !1 } = {}) {
13
- if (!(!e && r.value.length > 0))
14
- try {
15
- a.value = !0;
16
- const i = await f.readTeamMembers();
17
- r.value = i.sort((t, l) => t.doc.isOwner ? -1 : t.name.localeCompare(l.name));
18
- } finally {
19
- a.value = !1;
20
- }
21
- }
22
- return {
23
- members: r,
24
- isLoading: a,
25
- userIdToName: m,
26
- userIdToEmail: n,
27
- userIdToPhone: u,
28
- readTeamMembers: c
29
- };
30
- });
31
- export {
32
- I as u
33
- };
@@ -1,157 +0,0 @@
1
- import { defineComponent as x, ref as M, resolveComponent as l, createBlock as a, openBlock as t, withCtx as i, createElementVNode as g, renderSlot as b, createCommentVNode as k, withModifiers as $, nextTick as I, createElementBlock as f, normalizeClass as h, createTextVNode as V, toDisplayString as C, computed as w, Fragment as B, renderList as F, createVNode as S } from "vue";
2
- import { useBreakpoints as z, useDialog as D } from "@feedmepos/ui-library";
3
- import { useI18n as N } from "@feedmepos/mf-common";
4
- const A = /* @__PURE__ */ x({
5
- __name: "BottomSheetMenu",
6
- setup(o) {
7
- const e = M(!1);
8
- async function r() {
9
- await I(), e.value = !e.value;
10
- }
11
- return (n, s) => {
12
- const y = l("FmButton"), _ = l("FmBottomSheet");
13
- return t(), a(_, {
14
- modelValue: e.value,
15
- "onUpdate:modelValue": s[1] || (s[1] = (d) => e.value = d),
16
- "dismiss-away": "",
17
- "no-header": "",
18
- "z-index": 110
19
- }, {
20
- "bottom-sheet-button": i(() => [
21
- n.$slots.button ? k("", !0) : (t(), a(y, {
22
- key: 0,
23
- icon: "more_vert",
24
- variant: "tertiary",
25
- onClick: $(r, ["stop"])
26
- })),
27
- b(n.$slots, "button")
28
- ]),
29
- default: i(() => [
30
- g("div", {
31
- onClick: s[0] || (s[0] = (d) => e.value = !1)
32
- }, [
33
- b(n.$slots, "default")
34
- ])
35
- ]),
36
- _: 3
37
- }, 8, ["modelValue"]);
38
- };
39
- }
40
- }), E = { class: "py-8 px-12 hover:bg-fm-color-neutral-gray-100" }, T = /* @__PURE__ */ x({
41
- __name: "BottomSheetMenuItem",
42
- props: {
43
- label: {},
44
- icon: {},
45
- disabled: { type: Boolean },
46
- itemClass: {}
47
- },
48
- setup(o) {
49
- const e = o;
50
- return (r, n) => {
51
- const s = l("FmIcon");
52
- return t(), f("div", E, [
53
- r.$slots.content ? k("", !0) : (t(), f("div", {
54
- key: 0,
55
- class: h(["flex items-center", {
56
- "text-fm-color-typo-disabled": e.disabled,
57
- "cursor-pointer": !e.disabled,
58
- "cursor-not-allowed": e.disabled,
59
- [e.itemClass || ""]: e.itemClass && !e.disabled
60
- }])
61
- }, [
62
- o.icon ? (t(), a(s, {
63
- key: 0,
64
- name: o.icon
65
- }, null, 8, ["name"])) : k("", !0),
66
- V(" " + C(o.label), 1)
67
- ], 2)),
68
- b(r.$slots, "content")
69
- ]);
70
- };
71
- }
72
- }), U = /* @__PURE__ */ x({
73
- __name: "ResponsiveContextMenu",
74
- props: {
75
- items: {}
76
- },
77
- setup(o) {
78
- const e = z(), r = w(() => e.breakpoints.value.xs);
79
- return (n, s) => {
80
- const y = l("FmButton"), _ = l("FmMenuItem"), d = l("FmMenu");
81
- return r.value ? (t(), a(A, { key: 0 }, {
82
- default: i(() => [
83
- (t(!0), f(B, null, F(o.items, ({ icon: c, label: m, disabled: p, itemClass: u, onClick: v }) => (t(), a(T, {
84
- key: m,
85
- icon: c,
86
- label: m,
87
- disabled: p,
88
- itemClass: u,
89
- onClick: () => {
90
- !p && (v == null || v());
91
- }
92
- }, null, 8, ["icon", "label", "disabled", "itemClass", "onClick"]))), 128))
93
- ]),
94
- _: 1
95
- })) : (t(), a(d, {
96
- key: 1,
97
- "stop-click-propagation": "",
98
- shift: !0
99
- }, {
100
- "menu-button": i(() => [
101
- S(y, {
102
- type: "button",
103
- variant: "tertiary",
104
- icon: "more_vert",
105
- "text-color": "neutral-gray-400",
106
- size: "md"
107
- })
108
- ]),
109
- default: i(() => [
110
- (t(!0), f(B, null, F(o.items, ({ label: c, disabled: m, itemClass: p, onClick: u }) => (t(), a(_, {
111
- key: c,
112
- disabled: m,
113
- label: c,
114
- onClick: () => {
115
- !m && (u == null || u());
116
- }
117
- }, {
118
- label: i(() => [
119
- g("span", {
120
- class: h(m ? "text-fm-color-typo-disabled" : p)
121
- }, C(c), 3)
122
- ]),
123
- _: 2
124
- }, 1032, ["disabled", "label", "onClick"]))), 128))
125
- ]),
126
- _: 1
127
- }));
128
- };
129
- }
130
- });
131
- function j(o, e) {
132
- const r = D(), { t: n } = N();
133
- function s() {
134
- o() ? r.open({
135
- title: n("portalCommon.dismiss.title"),
136
- message: n("portalCommon.dismiss.message"),
137
- zIndex: 200,
138
- primaryActions: {
139
- text: n("portalCommon.dismiss.primaryActions"),
140
- variant: "primary",
141
- close: !0
142
- },
143
- secondaryActions: {
144
- text: n("common.cancel"),
145
- variant: "tertiary",
146
- close: !0
147
- }
148
- }).onPrimary(() => {
149
- e();
150
- }) : e();
151
- }
152
- return s;
153
- }
154
- export {
155
- U as _,
156
- j as u
157
- };
@@ -1,60 +0,0 @@
1
- import { computed as u, ref as r } from "vue";
2
- import { e as l } from "./iteration-Cp1eSTJA.js";
3
- import { useCoreStore as y } from "@feedmepos/mf-common";
4
- import { e as R, R as h } from "./rule-vBxopbM_.js";
5
- import "./app-BjXuSCis.js";
6
- const n = r([]), c = r(!1), t = r(!1), m = r(null);
7
- function L() {
8
- const d = y();
9
- async function f() {
10
- var o;
11
- const s = (o = d.currentBusiness.value) == null ? void 0 : o.id;
12
- if (s && (m.value !== s && (n.value = [], c.value = !1, t.value = !1, m.value = s), !(c.value || t.value))) {
13
- t.value = !0;
14
- try {
15
- n.value = await h.fetchReportPermissions(s), c.value = !0;
16
- } catch (e) {
17
- console.warn("Failed to fetch dynamic report permissions, using hardcoded only:", e), n.value = [];
18
- } finally {
19
- t.value = !1;
20
- }
21
- }
22
- }
23
- const i = R.filter(
24
- (s) => s.subject === l.F_RULE_SUBJECT.enum.report && s.conditions
25
- ), p = u(() => {
26
- const s = new Set(
27
- i.map((e) => {
28
- const a = typeof e.conditions == "string" ? JSON.parse(e.conditions) : e.conditions;
29
- return a == null ? void 0 : a.name;
30
- })
31
- ), o = n.value.filter((e) => !s.has(e.permissionKey)).map((e) => ({
32
- label: e.name,
33
- subject: l.F_RULE_SUBJECT.enum.report,
34
- actions: ["read"],
35
- conditions: { name: e.permissionKey },
36
- inverted: !1,
37
- reason: ""
38
- }));
39
- return [...i, ...o];
40
- }), v = u(() => {
41
- const s = new Set(
42
- i.map((o) => {
43
- const e = typeof o.conditions == "string" ? JSON.parse(o.conditions) : o.conditions;
44
- return e == null ? void 0 : e.name;
45
- })
46
- );
47
- for (const o of n.value)
48
- s.add(o.permissionKey);
49
- return s;
50
- });
51
- return {
52
- fetchReportPermissions: f,
53
- allReportPermissions: p,
54
- availableReportKeys: v,
55
- isLoading: u(() => t.value)
56
- };
57
- }
58
- export {
59
- L as u
60
- };
@@ -1,15 +0,0 @@
1
- import { ref as a, computed as c } from "vue";
2
- const f = (i) => {
3
- const r = a("");
4
- function t(e) {
5
- return `${e}`.trim().toLowerCase();
6
- }
7
- const u = c(() => t(r.value));
8
- function o(e) {
9
- return u.value ? e.some((n) => t(n).includes(u.value)) : !0;
10
- }
11
- return { searchKey: r, filter: o };
12
- };
13
- export {
14
- f as u
15
- };