@feedmepos/mf-hrm-portal 2.0.17 → 2.0.18-dev.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 (60) hide show
  1. package/dist/AuditLogList-D4E8pss5.js +1037 -0
  2. package/dist/CollapsibleWrapper.vue_vue_type_script_setup_true_lang-BLJlmPVa.js +58 -0
  3. package/dist/EmployeeList-BfJO89pN.js +827 -0
  4. package/dist/FormItem.vue_vue_type_script_setup_true_lang-D3MOFOUI.js +45 -0
  5. package/dist/FormSection.vue_vue_type_script_setup_true_lang-DknXTYiK.js +49 -0
  6. package/dist/{Main-CCTDT_TG.js → Main-BbOMNP31.js} +758 -761
  7. package/dist/Main-XmxzThcC.js +86 -0
  8. package/dist/{Main-C7Q3OELU.js → Main-dqgR1UXY.js} +181 -175
  9. package/dist/PermissionSetList-DO0PRS6Z.js +347 -0
  10. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DL4_xvBZ.js +3443 -0
  11. package/dist/RoleList-DB3NfUYF.js +545 -0
  12. package/dist/TeamMemberList-4hEx6L5r.js +1090 -0
  13. package/dist/{TimesheetList-DhKfguOb.js → TimesheetList-D29EFj1Q.js} +132 -126
  14. package/dist/{app--3WguZOC.js → app-SadE2J6-.js} +759 -711
  15. package/dist/app.js +1 -1
  16. package/dist/{dayjs.min-RrLy0N6G.js → dayjs.min-DKCxxK08.js} +1 -1
  17. package/dist/employee-3KJs872J.js +204 -0
  18. package/dist/{iteration-BQA73VxD.js → iteration-QZxp7XeE.js} +9258 -9213
  19. package/dist/{lodash-B1ouSWpG.js → lodash-DrksHyHu.js} +1 -1
  20. package/dist/{rule-BL-miuus.js → rule-CSsgDC6F.js} +263 -265
  21. package/dist/src/api/audit-log/index.d.ts +9 -0
  22. package/dist/src/api/restaurant/index.d.ts +5 -0
  23. package/dist/src/components/CheckboxInput.vue.d.ts +1 -1
  24. package/dist/src/components/CollapsibleWrapper.vue.d.ts +2 -0
  25. package/dist/src/components/Skeleton.vue.d.ts +7 -0
  26. package/dist/src/composables/useBasePermission.d.ts +1 -0
  27. package/dist/src/composables/useRestaurantMap.d.ts +2 -329
  28. package/dist/src/stores/restaurant.d.ts +181 -0
  29. package/dist/src/stores/role.d.ts +7 -7
  30. package/dist/src/stores/team.d.ts +6 -6
  31. package/dist/src/types/restaurant.d.ts +11 -0
  32. package/dist/src/types/team.d.ts +1 -1
  33. package/dist/src/views/hr/locales/index.d.ts +16 -0
  34. package/dist/src/views/team/components/BasePermission.vue.d.ts +3 -7
  35. package/dist/src/views/team/components/PosRolePermission.vue.d.ts +2 -2
  36. package/dist/src/views/team/locales/index.d.ts +32 -0
  37. package/dist/src/views/team/member/AddMemberForm.vue.d.ts +5 -3
  38. package/dist/style.css +1 -1
  39. package/dist/{timesheet-BbtAYZ1B.js → timesheet-sBe_HCZh.js} +2 -2
  40. package/dist/tsconfig.app.tsbuildinfo +1 -1
  41. package/dist/useAppStore-BDADkWuX.js +171 -0
  42. package/dist/useDebounce-CWb5QR9G.js +28 -0
  43. package/dist/useDiscardConfirm-DPhEV6v0.js +157 -0
  44. package/dist/{useLoading-D7PklYeR.js → useLoading-PTqnaz_W.js} +1 -1
  45. package/dist/{useReportPermissions-CNcISy8f.js → useReportPermissions-C3Uzu7vB.js} +3 -3
  46. package/package.json +1 -1
  47. package/dist/AuditLogList-DwCmJovS.js +0 -980
  48. package/dist/EmployeeList-8166DlII.js +0 -736
  49. package/dist/FormSection.vue_vue_type_script_setup_true_lang-BVb8c4YU.js +0 -71
  50. package/dist/HorizontalSplitter-o860F4xM.js +0 -12
  51. package/dist/Main-C4LaqZaa.js +0 -85
  52. package/dist/PermissionSetList-trnHwNFR.js +0 -341
  53. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Bc5nE9NF.js +0 -3480
  54. package/dist/RoleList-DJtbEUSC.js +0 -530
  55. package/dist/TeamMemberList-C6qx-yJi.js +0 -1108
  56. package/dist/employee-DSAStcBv.js +0 -204
  57. package/dist/useAppStore-BHWapSDk.js +0 -171
  58. package/dist/useDebounce-B8ZPVS5C.js +0 -15
  59. package/dist/useDiscardConfirm-BHni0LNu.js +0 -28
  60. 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-QZxp7XeE.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,28 @@
1
+ import { defineComponent as a, createElementBlock as i, openBlock as l, normalizeStyle as s, watch as u } from "vue";
2
+ const d = /* @__PURE__ */ a({
3
+ __name: "Skeleton",
4
+ props: {
5
+ width: { default: "160px" }
6
+ },
7
+ setup(t) {
8
+ return (o, n) => (l(), i("div", {
9
+ class: "h-16 animate-pulse rounded bg-fm-color-neutral-gray-200",
10
+ style: s({ width: t.width })
11
+ }, null, 4));
12
+ }
13
+ });
14
+ function f(t, o, n = 300) {
15
+ let e;
16
+ const c = u(t, (r) => {
17
+ e && clearTimeout(e), e = setTimeout(() => {
18
+ o(r);
19
+ }, n);
20
+ });
21
+ return () => {
22
+ c(), e && (clearTimeout(e), e = void 0);
23
+ };
24
+ }
25
+ export {
26
+ d as _,
27
+ f as u
28
+ };
@@ -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-BDADkWuX.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-QZxp7XeE.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-CSsgDC6F.js";
5
+ import "./app-SadE2J6-.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();
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.2",
4
4
  "files": [
5
5
  "dist"
6
6
  ],