@feedmepos/mf-hrm-portal 2.0.17 → 2.0.18-dev

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 (62) hide show
  1. package/dist/AuditLogList-CaoW9uYd.js +1011 -0
  2. package/dist/CollapsibleWrapper.vue_vue_type_script_setup_true_lang-BLJlmPVa.js +58 -0
  3. package/dist/EmployeeList-DcMvF9U5.js +839 -0
  4. package/dist/FormItem.vue_vue_type_script_setup_true_lang-CoorkndT.js +34 -0
  5. package/dist/FormSection.vue_vue_type_script_setup_true_lang-DknXTYiK.js +49 -0
  6. package/dist/{Main-C7Q3OELU.js → Main-CleutFvF.js} +183 -176
  7. package/dist/{Main-CCTDT_TG.js → Main-CvW6Vu8N.js} +758 -761
  8. package/dist/Main-D7k57uq5.js +87 -0
  9. package/dist/PermissionSetList-CM7kbWkO.js +347 -0
  10. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Ces9YwYB.js +3443 -0
  11. package/dist/RoleList-DR3eVJ9f.js +545 -0
  12. package/dist/Skeleton.vue_vue_type_script_setup_true_lang-B4PxNMwq.js +16 -0
  13. package/dist/TeamMemberList-CZZv4Pu5.js +1038 -0
  14. package/dist/{TimesheetList-DhKfguOb.js → TimesheetList-WqqoKPbg.js} +132 -126
  15. package/dist/{app--3WguZOC.js → app-R5EioPr4.js} +759 -711
  16. package/dist/app.js +1 -1
  17. package/dist/{dayjs.min-RrLy0N6G.js → dayjs.min-CN15Ft3o.js} +1 -1
  18. package/dist/employee-DwQlWLkL.js +204 -0
  19. package/dist/{iteration-BQA73VxD.js → iteration-UBGGRoxQ.js} +9258 -9213
  20. package/dist/{lodash-B1ouSWpG.js → lodash-CC6qHVUo.js} +1 -1
  21. package/dist/{rule-BL-miuus.js → rule-B519XbW6.js} +263 -265
  22. package/dist/src/api/audit-log/index.d.ts +9 -0
  23. package/dist/src/api/restaurant/index.d.ts +5 -0
  24. package/dist/src/components/CheckboxInput.vue.d.ts +1 -1
  25. package/dist/src/components/CollapsibleWrapper.vue.d.ts +2 -0
  26. package/dist/src/components/Skeleton.vue.d.ts +7 -0
  27. package/dist/src/composables/useBasePermission.d.ts +1 -0
  28. package/dist/src/composables/useRestaurantMap.d.ts +2 -329
  29. package/dist/src/stores/restaurant.d.ts +181 -0
  30. package/dist/src/stores/role.d.ts +7 -7
  31. package/dist/src/stores/team.d.ts +6 -6
  32. package/dist/src/types/restaurant.d.ts +11 -0
  33. package/dist/src/types/team.d.ts +1 -1
  34. package/dist/src/views/hr/locales/index.d.ts +16 -0
  35. package/dist/src/views/team/components/BasePermission.vue.d.ts +3 -7
  36. package/dist/src/views/team/components/PosRolePermission.vue.d.ts +2 -2
  37. package/dist/src/views/team/locales/index.d.ts +32 -0
  38. package/dist/src/views/team/member/AddMemberForm.vue.d.ts +5 -3
  39. package/dist/style.css +1 -1
  40. package/dist/team-BGLhgx5P.js +33 -0
  41. package/dist/{timesheet-BbtAYZ1B.js → timesheet-BylrXRfd.js} +2 -2
  42. package/dist/tsconfig.app.tsbuildinfo +1 -1
  43. package/dist/useAppStore-Akl8AoVN.js +171 -0
  44. package/dist/useDiscardConfirm-DPhEV6v0.js +157 -0
  45. package/dist/{useLoading-D7PklYeR.js → useLoading-rbrVwWuj.js} +1 -1
  46. package/dist/{useReportPermissions-CNcISy8f.js → useReportPermissions-BOEZU86S.js} +3 -3
  47. package/dist/useSearch-BAPEUu1R.js +15 -0
  48. package/package.json +1 -1
  49. package/dist/AuditLogList-DwCmJovS.js +0 -980
  50. package/dist/EmployeeList-8166DlII.js +0 -736
  51. package/dist/FormSection.vue_vue_type_script_setup_true_lang-BVb8c4YU.js +0 -71
  52. package/dist/HorizontalSplitter-o860F4xM.js +0 -12
  53. package/dist/Main-C4LaqZaa.js +0 -85
  54. package/dist/PermissionSetList-trnHwNFR.js +0 -341
  55. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Bc5nE9NF.js +0 -3480
  56. package/dist/RoleList-DJtbEUSC.js +0 -530
  57. package/dist/TeamMemberList-C6qx-yJi.js +0 -1108
  58. package/dist/employee-DSAStcBv.js +0 -204
  59. package/dist/useAppStore-BHWapSDk.js +0 -171
  60. package/dist/useDebounce-B8ZPVS5C.js +0 -15
  61. package/dist/useDiscardConfirm-BHni0LNu.js +0 -28
  62. package/dist/useSearch-B6WK1LBB.js +0 -15
@@ -0,0 +1,171 @@
1
+ import { defineStore as x, storeToRefs as U } from "pinia";
2
+ import { ref as R } from "vue";
3
+ import { useCoreStore as D, baseClientInstance as h } from "@feedmepos/mf-common";
4
+ import { g as c, b as y, u as Q, s as v } from "./iteration-UBGGRoxQ.js";
5
+ const m = {
6
+ async readRoles() {
7
+ return c(await y().get("/pos-roles"));
8
+ },
9
+ async createRole(e) {
10
+ return c(await y().post("/pos-roles", e));
11
+ },
12
+ async updateRole(e, t) {
13
+ return c(await y().put(`/pos-roles/${e}`, t));
14
+ },
15
+ async deleteRole(e) {
16
+ return c(
17
+ await y().put(`/pos-roles/${e._id}`, {
18
+ restaurantIds: [],
19
+ role: e
20
+ })
21
+ );
22
+ }
23
+ };
24
+ async function b(e) {
25
+ const { restaurants: t } = Q(), s = e.reduce((n, r) => {
26
+ var g;
27
+ const l = n.findIndex((o) => o._id === r._id), p = {
28
+ id: r.restaurantId,
29
+ name: ((g = t.value.find((o) => o._id === r.restaurantId)) == null ? void 0 : g.profile.name) || ""
30
+ };
31
+ return l < 0 ? n.push({
32
+ ...r,
33
+ restaurants: [p]
34
+ }) : n[l].restaurants.some((o) => o.id === r.restaurantId) || (n[l].restaurants = v([...n[l].restaurants, p], { selector: "name" })), n;
35
+ }, []);
36
+ return v(s, { selector: "name" });
37
+ }
38
+ const A = x("role", () => {
39
+ const { currentBusiness: e } = D(), t = Q(), s = R([]), n = R(!1), r = R(null);
40
+ async function l() {
41
+ var i;
42
+ const u = ((i = e.value) == null ? void 0 : i._id) ?? null;
43
+ if (r.value !== u)
44
+ try {
45
+ n.value = !0, await t.readRestaurants();
46
+ const d = await m.readRoles();
47
+ s.value = await b(d), r.value = u;
48
+ } catch (d) {
49
+ console.log("Error reading roles:", d);
50
+ } finally {
51
+ n.value = !1;
52
+ }
53
+ }
54
+ async function p(u) {
55
+ const i = await m.createRole(u);
56
+ s.value = await b(i);
57
+ }
58
+ async function g(u, i) {
59
+ const d = await m.updateRole(u, i);
60
+ s.value = await b(d);
61
+ }
62
+ async function o(u) {
63
+ const i = await m.deleteRole(u);
64
+ s.value = await b(i);
65
+ }
66
+ return {
67
+ roles: s,
68
+ isLoading: n,
69
+ readRoles: l,
70
+ createRole: p,
71
+ updateRole: g,
72
+ deleteRole: o
73
+ };
74
+ }), q = () => {
75
+ const e = A();
76
+ return {
77
+ ...e,
78
+ ...U(e)
79
+ };
80
+ };
81
+ var a = [];
82
+ for (var S = 0; S < 256; ++S)
83
+ a.push((S + 256).toString(16).slice(1));
84
+ function _(e, t = 0) {
85
+ return (a[e[t + 0]] + a[e[t + 1]] + a[e[t + 2]] + a[e[t + 3]] + "-" + a[e[t + 4]] + a[e[t + 5]] + "-" + a[e[t + 6]] + a[e[t + 7]] + "-" + a[e[t + 8]] + a[e[t + 9]] + "-" + a[e[t + 10]] + a[e[t + 11]] + a[e[t + 12]] + a[e[t + 13]] + a[e[t + 14]] + a[e[t + 15]]).toLowerCase();
86
+ }
87
+ var w, L = new Uint8Array(16);
88
+ function C() {
89
+ if (!w && (w = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !w))
90
+ throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
91
+ return w(L);
92
+ }
93
+ var V = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
94
+ const f = {
95
+ randomUUID: V
96
+ };
97
+ function P(e, t, s) {
98
+ if (f.randomUUID && !e)
99
+ return f.randomUUID();
100
+ e = e || {};
101
+ var n = e.random || (e.rng || C)();
102
+ return n[6] = n[6] & 15 | 64, n[8] = n[8] & 63 | 128, _(n);
103
+ }
104
+ const I = {
105
+ async read() {
106
+ return c(await h("/").get("/public-setting"));
107
+ },
108
+ async update(e) {
109
+ return c(await h("/").put("/public-setting", e));
110
+ }
111
+ };
112
+ function B() {
113
+ return {
114
+ loadingQueue: [],
115
+ publicSetting: {
116
+ delivery: {
117
+ feedMe: {
118
+ areas: [],
119
+ enable: !1,
120
+ maxDistance: 0
121
+ }
122
+ },
123
+ sms: {
124
+ firebase: !1
125
+ },
126
+ assets: {
127
+ groups: []
128
+ },
129
+ aiSettings: {
130
+ remy: { enable: !1 }
131
+ }
132
+ }
133
+ };
134
+ }
135
+ const H = x("portal-app-store", {
136
+ state: () => B(),
137
+ actions: {
138
+ addLoadingQueues(e) {
139
+ this.loadingQueue = [...this.loadingQueue, ...e];
140
+ },
141
+ clearLoadingQueue() {
142
+ this.loadingQueue = [];
143
+ },
144
+ resolveQueues(e) {
145
+ this.loadingQueue = this.loadingQueue.filter((t) => !e.includes(t.id));
146
+ },
147
+ async promise(e, t = !0) {
148
+ const s = P();
149
+ try {
150
+ const n = [{ id: s, isGlobal: t }];
151
+ return this.addLoadingQueues(n), await e();
152
+ } finally {
153
+ this.resolveQueues([s]);
154
+ }
155
+ },
156
+ async getPublicSetting() {
157
+ return this.publicSetting = await I.read(), this.publicSetting;
158
+ },
159
+ async updatePublicSetting(e) {
160
+ return this.publicSetting = await I.update({
161
+ ...this.publicSetting,
162
+ ...e
163
+ }), this.publicSetting;
164
+ }
165
+ }
166
+ });
167
+ export {
168
+ H as a,
169
+ q as u,
170
+ P as v
171
+ };
@@ -0,0 +1,157 @@
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,6 +1,6 @@
1
1
  import { computed as I, isRef as L, watch as M } from "vue";
2
2
  import { SnackbarPosition as y } from "@feedmepos/ui-library";
3
- import { a as w, v } from "./useAppStore-BHWapSDk.js";
3
+ import { a as w, v } from "./useAppStore-Akl8AoVN.js";
4
4
  const E = (r) => {
5
5
  async function d(u, e) {
6
6
  var l, a;
@@ -1,8 +1,8 @@
1
1
  import { computed as u, ref as t } from "vue";
2
- import { e as d } from "./iteration-BQA73VxD.js";
2
+ import { e as d } from "./iteration-UBGGRoxQ.js";
3
3
  import { useCoreStore as h } from "@feedmepos/mf-common";
4
- import { e as S, R as g } from "./rule-BL-miuus.js";
5
- import "./app--3WguZOC.js";
4
+ import { e as S, R as g } from "./rule-B519XbW6.js";
5
+ import "./app-R5EioPr4.js";
6
6
  const r = t([]), c = t(!1), a = t(!1), f = t(null), p = t(null), i = t(!1);
7
7
  function B() {
8
8
  const v = h();
@@ -0,0 +1,15 @@
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
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feedmepos/mf-hrm-portal",
3
- "version": "2.0.17",
3
+ "version": "2.0.18-dev",
4
4
  "files": [
5
5
  "dist"
6
6
  ],