@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.
- package/dist/{AuditLogList-C6qAeY5g.js → AuditLogList-CV82_8fj.js} +350 -324
- package/dist/EmployeeList-dE0So94R.js +736 -0
- package/dist/FormSection.vue_vue_type_script_setup_true_lang-BVb8c4YU.js +71 -0
- package/dist/HorizontalSplitter-o860F4xM.js +12 -0
- package/dist/{Main-Dkr5lzbv.js → Main-BAx-c_oZ.js} +9 -9
- package/dist/{Main-BNXKItvX.js → Main-CfAQYaaW.js} +14 -16
- package/dist/{Main--tejoyEP.js → Main-CyReTP3K.js} +8 -8
- package/dist/PermissionSetList-DmsJnW2i.js +341 -0
- package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-BbcY9q1x.js +3480 -0
- package/dist/RoleList-CKB8L-BW.js +530 -0
- package/dist/TeamMemberList-CszlbmAX.js +1108 -0
- package/dist/{TimesheetList-D-3k0Uad.js → TimesheetList-NRUfSiYL.js} +6 -6
- package/dist/{app-BjXuSCis.js → app-B0bANDrM.js} +1891 -1404
- package/dist/app.js +1 -1
- package/dist/{dayjs.min-z-vrgFCL.js → dayjs.min-DdUO0d-2.js} +1 -1
- package/dist/{employee-DAqAMupR.js → employee-DJDUT0Wj.js} +3 -3
- package/dist/{iteration-Cp1eSTJA.js → iteration-DqYIXL4P.js} +1 -1
- package/dist/{lodash-CXLZQQp8.js → lodash-BBQT31li.js} +1 -1
- package/dist/rule-T7VKkRdN.js +996 -0
- package/dist/src/api/report-query/index.d.ts +2 -2
- package/dist/src/components/CheckboxInput.vue.d.ts +1 -1
- package/dist/src/components/CollapsibleWrapper.vue.d.ts +0 -2
- package/dist/src/composables/useBasePermission.d.ts +1 -1
- package/dist/src/views/hr/locales/index.d.ts +172 -16
- package/dist/src/views/team/components/BasePermission.vue.d.ts +6 -2
- package/dist/src/views/team/components/PosRolePermission.vue.d.ts +2 -2
- package/dist/src/views/team/locales/index.d.ts +312 -32
- package/dist/src/views/team/member/AddMemberForm.vue.d.ts +3 -5
- package/dist/style.css +1 -1
- package/dist/{timesheet-BlPhOifI.js → timesheet-DjtuB4we.js} +2 -2
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{useAppStore-BVnrWyPF.js → useAppStore-CBb-dugK.js} +1 -1
- package/dist/useDebounce-B8ZPVS5C.js +15 -0
- package/dist/useDiscardConfirm-BHni0LNu.js +28 -0
- package/dist/{useLoading-7ia-Bps7.js → useLoading-BCOj8y-t.js} +1 -1
- package/dist/useReportPermissions-DyzhBpi8.js +70 -0
- package/dist/useSearch-B6WK1LBB.js +15 -0
- package/package.json +2 -2
- package/dist/CollapsibleWrapper.vue_vue_type_script_setup_true_lang-BLJlmPVa.js +0 -58
- package/dist/EmployeeList-COtXtTqG.js +0 -827
- package/dist/FormItem.vue_vue_type_script_setup_true_lang-CoorkndT.js +0 -34
- package/dist/FormSection.vue_vue_type_script_setup_true_lang-DknXTYiK.js +0 -49
- package/dist/PermissionSetList-B_Sdvbu7.js +0 -340
- package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-BBsaxaXu.js +0 -3439
- package/dist/RoleList-SZCgvYvC.js +0 -543
- package/dist/TeamMemberList-Dk5HeFfQ.js +0 -1008
- package/dist/rule-vBxopbM_.js +0 -990
- package/dist/team-CnQ_rIx2.js +0 -33
- package/dist/useDiscardConfirm-DPhEV6v0.js +0 -157
- package/dist/useReportPermissions-C8HMek35.js +0 -60
- package/dist/useSearch-BAPEUu1R.js +0 -15
package/dist/team-CnQ_rIx2.js
DELETED
|
@@ -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
|
-
};
|