@feedmepos/mf-hrm-portal 2.3.0-dev.10 → 2.3.0-dev.12
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/{ApprovalCodeList-BLA2rhLB.js → ApprovalCodeList--NA0toYU.js} +2 -2
- package/dist/{AuditLogList-DBYdZhZl.js → AuditLogList-B-NaB6OX.js} +3 -3
- package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-CtCEzPbE.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-AEr2bDPY.js} +2 -2
- package/dist/{EmployeeList-CA7DWLmy.js → EmployeeList-idO38m7y.js} +23 -22
- package/dist/{GrantUserList-BYnegeEr.js → GrantUserList-B1S7yDKu.js} +3 -3
- package/dist/{Main-NDK7LUmm.js → Main-D5cWrqP3.js} +9 -9
- package/dist/{Main-Dh-gZSaa.js → Main-cdf9NV8P.js} +2 -2
- package/dist/{Main-BeXx0hAc.js → Main-mcCvBPvJ.js} +5 -5
- package/dist/{PermissionSetList-DDIacDpQ.js → PermissionSetList-3_f6sJpK.js} +17 -16
- package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-ONMn3v_f.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Cmin3rlY.js} +873 -873
- package/dist/ResponsiveContextMenu.vue_vue_type_script_setup_true_lang-mSJFKo7r.js +132 -0
- package/dist/{RoleList-B30FHIzu.js → RoleList-ByQelhuG.js} +19 -18
- package/dist/{ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-CRRguWTG.js → ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-e4YOu59G.js} +1 -1
- package/dist/{ScheduleGeneralPage-8gEeZbFR.js → ScheduleGeneralPage-TKWgkAoE.js} +130 -128
- package/dist/{ScheduleModal.vue_vue_type_script_setup_true_lang-TfxTAjO8.js → ScheduleModal.vue_vue_type_script_setup_true_lang-6bTAsmpp.js} +527 -491
- package/dist/SchedulePage-BpvgQYqL.js +17985 -0
- package/dist/{SchedulePositionPage-oGIDGneA.js → SchedulePositionPage-BjvKTHyY.js} +3 -3
- package/dist/{TeamMemberList-Drj6R4Y3.js → TeamMemberList-CJzF0wNK.js} +20 -19
- package/dist/{TimesheetList-CDQfN5LE.js → TimesheetList-CJcSs_B1.js} +5 -5
- package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-Bx-6hjs7.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-zttvxhi-.js} +2 -2
- package/dist/{app-DWe_4-ct.js → app-DLiYhsK2.js} +8 -8
- package/dist/app.js +1 -1
- package/dist/{dayjs.min-QSwC9dtX.js → dayjs.min-ar-wg1yi.js} +1 -1
- package/dist/{employee-Bb2b3dP6.js → employee-CmUfaF0i.js} +3 -3
- package/dist/{iteration-TDU7bFxZ.js → iteration-uWvyRKkX.js} +1 -1
- package/dist/{lodash-D3Ns5VMN.js → lodash-BzVEbSHJ.js} +1 -1
- package/dist/{role-D57Le_-U.js → role-R2KDFlIY.js} +1 -1
- package/dist/{rule-DzesUEX7.js → rule-C6ELRd3E.js} +2 -2
- package/dist/src/composables/useDiscardConfirm.d.ts +3 -1
- package/dist/src/views/scheduling/components/ScheduleConfirmModal.vue.d.ts +2 -1
- package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +1 -0
- package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +0 -3
- package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +2 -0
- package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +7 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeCandidates.d.ts +2 -2
- package/dist/src/views/scheduling/composables/useScheduleOnboardingEmployees.d.ts +1 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +7 -0
- package/dist/src/views/scheduling/composables/useScheduleOutlet.d.ts +10 -8
- package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +2 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +1 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +6 -1
- package/dist/src/views/scheduling/schedule-store.d.ts +13 -0
- package/dist/src/views/scheduling/types.d.ts +2 -0
- package/dist/style.css +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/useDiscardConfirm-CzZSPyvh.js +28 -0
- package/dist/{useReportPermissions-Cmuead1K.js → useReportPermissions-B2U347Ey.js} +3 -3
- package/package.json +3 -3
- package/dist/SchedulePage-DQ0VXWWi.js +0 -17832
- package/dist/useDiscardConfirm-DPhEV6v0.js +0 -157
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { defineComponent as M, ref as A, onMounted as x, computed as z, createElementBlock as l, openBlock as a, createElementVNode as o, createVNode as i, withCtx as d, unref as s, toDisplayString as c, createTextVNode as r, normalizeClass as h, createCommentVNode as E, withDirectives as S, withKeys as k, vModelText as P, Fragment as C, renderList as V, withModifiers as g } from "vue";
|
|
2
2
|
import { useRouter as F } from "vue-router";
|
|
3
3
|
import { useSnackbar as B } from "@feedmepos/ui-library";
|
|
4
|
-
import { R as I } from "./app-
|
|
5
|
-
import { as as L, at as O, ab as R, ao as u, ap as K } from "./ScheduleModal.vue_vue_type_script_setup_true_lang-
|
|
6
|
-
import { u as T, a as U, _ as W } from "./ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-
|
|
4
|
+
import { R as I } from "./app-DLiYhsK2.js";
|
|
5
|
+
import { as as L, at as O, ab as R, ao as u, ap as K } from "./ScheduleModal.vue_vue_type_script_setup_true_lang-6bTAsmpp.js";
|
|
6
|
+
import { u as T, a as U, _ as W } from "./ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-e4YOu59G.js";
|
|
7
7
|
import { _ as j } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
8
8
|
const q = { class: "main" }, H = {
|
|
9
9
|
id: "viewPositions",
|
|
@@ -3,20 +3,21 @@ import { useI18n as Ve, useCoreStore as Ze } from "@feedmepos/mf-common";
|
|
|
3
3
|
import { useSnackbar as Le, useDialog as Qe, useBreakpoints as Ye, components as Oe } from "@feedmepos/ui-library";
|
|
4
4
|
import { u as ps } from "./useDebounce-B8ZPVS5C.js";
|
|
5
5
|
import { S as ye } from "./SelectFilter-CG13h83-.js";
|
|
6
|
-
import { v as Te, m as vs, O as fs, _ as bs, a as hs } from "./app-
|
|
7
|
-
import {
|
|
8
|
-
import { _ as
|
|
9
|
-
import { s as
|
|
6
|
+
import { v as Te, m as vs, O as fs, _ as bs, a as hs } from "./app-DLiYhsK2.js";
|
|
7
|
+
import { _ as ys } from "./ResponsiveContextMenu.vue_vue_type_script_setup_true_lang-mSJFKo7r.js";
|
|
8
|
+
import { _ as gs } from "./TableEmptyState.vue_vue_type_script_setup_true_lang-IfAZmWr0.js";
|
|
9
|
+
import { s as _s, _ as Us, a as Ss, b as xs, c as Fs } from "./PasscodePinField.vue_vue_type_script_setup_true_lang-CqG0v0Sz.js";
|
|
10
10
|
import { u as He } from "./useLoading-Ch1AUYT1.js";
|
|
11
|
+
import { u as Ps } from "./useDiscardConfirm-CzZSPyvh.js";
|
|
11
12
|
import { n as es } from "./string-VNuQNweN.js";
|
|
12
|
-
import { l as Pe } from "./lodash-
|
|
13
|
-
import { c as he } from "./iteration-
|
|
14
|
-
import { t as _e, u as ss, c as Ae, b as qe, m as $e, d as ts, p as Ge, i as Is, j as Ke, k as ws, l as Vs, n as ks, o as Rs, q as Cs } from "./rule-
|
|
15
|
-
import { u as as } from "./role-
|
|
13
|
+
import { l as Pe } from "./lodash-BzVEbSHJ.js";
|
|
14
|
+
import { c as he } from "./iteration-uWvyRKkX.js";
|
|
15
|
+
import { t as _e, u as ss, c as Ae, b as qe, m as $e, d as ts, p as Ge, i as Is, j as Ke, k as ws, l as Vs, n as ks, o as Rs, q as Cs } from "./rule-C6ELRd3E.js";
|
|
16
|
+
import { u as as } from "./role-R2KDFlIY.js";
|
|
16
17
|
import { u as ls, i as $s } from "./PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-BVz6q3HE.js";
|
|
17
18
|
import "./useAppStore-BoLkvkE2.js";
|
|
18
19
|
import { g as ze, b as We, u as os } from "./restaurant-BbYRA_IT.js";
|
|
19
|
-
import { _ as Ms } from "./PortalPermissionEditor.vue_vue_type_script_setup_true_lang-
|
|
20
|
+
import { _ as Ms } from "./PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Cmin3rlY.js";
|
|
20
21
|
import { _ as Ns } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
21
22
|
var Ue = /* @__PURE__ */ ((o) => (o.Update = "Update", o.Remove = "Remove", o))(Ue || {});
|
|
22
23
|
const Ie = "__unassigned__";
|
|
@@ -245,7 +246,7 @@ const Es = { class: "w-full flex flex-col gap-16" }, Ds = { class: "flex items-c
|
|
|
245
246
|
}
|
|
246
247
|
const C = S(() => {
|
|
247
248
|
var n;
|
|
248
|
-
return
|
|
249
|
+
return _s(((n = v.modelValue) == null ? void 0 : n.roles) ?? []);
|
|
249
250
|
});
|
|
250
251
|
function d(n) {
|
|
251
252
|
return v.usableRoleIds === null || v.usableRoleIds.includes(n._id);
|
|
@@ -348,7 +349,7 @@ const Es = { class: "w-full flex flex-col gap-16" }, Ds = { class: "flex items-c
|
|
|
348
349
|
]
|
|
349
350
|
}, {
|
|
350
351
|
default: ie(() => [
|
|
351
|
-
i(
|
|
352
|
+
i(Us, {
|
|
352
353
|
modelValue: R.value,
|
|
353
354
|
"onUpdate:modelValue": b[2] || (b[2] = (r) => R.value = r),
|
|
354
355
|
masked: I.value,
|
|
@@ -360,7 +361,7 @@ const Es = { class: "w-full flex flex-col gap-16" }, Ds = { class: "flex items-c
|
|
|
360
361
|
]),
|
|
361
362
|
_: 1
|
|
362
363
|
}, 8, ["modelValue", "rules"]),
|
|
363
|
-
i(
|
|
364
|
+
i(Ss, {
|
|
364
365
|
label: l(m)("team.memberForm.masterUser.passcodeGenerate"),
|
|
365
366
|
hint: l(m)("team.memberForm.masterUser.passcodeSelectOutletFirst"),
|
|
366
367
|
loading: E.value,
|
|
@@ -378,7 +379,7 @@ const Es = { class: "w-full flex flex-col gap-16" }, Ds = { class: "flex items-c
|
|
|
378
379
|
]
|
|
379
380
|
}, {
|
|
380
381
|
default: ie(() => [
|
|
381
|
-
i(
|
|
382
|
+
i(xs, {
|
|
382
383
|
"model-value": o.modelValue.roles,
|
|
383
384
|
restaurants: o.restaurants,
|
|
384
385
|
roles: o.roles,
|
|
@@ -684,7 +685,7 @@ const Es = { class: "w-full flex flex-col gap-16" }, Ds = { class: "flex items-c
|
|
|
684
685
|
var ee = /* @__PURE__ */ function(o) {
|
|
685
686
|
return o[o.ADD = 0] = "ADD", o[o.UPDATE = 1] = "UPDATE", o[o.CLOSED = 2] = "CLOSED", o;
|
|
686
687
|
}(ee || {});
|
|
687
|
-
const
|
|
688
|
+
const ea = /* @__PURE__ */ we({
|
|
688
689
|
__name: "TeamMemberList",
|
|
689
690
|
setup(o, {
|
|
690
691
|
expose: N
|
|
@@ -723,7 +724,7 @@ const Ht = /* @__PURE__ */ we({
|
|
|
723
724
|
onClick: () => se(Ue.Remove, e),
|
|
724
725
|
itemClass: "text-fm-color-typo-error"
|
|
725
726
|
}, re = e.doc.isOwner ? [_] : [_, x];
|
|
726
|
-
return i(
|
|
727
|
+
return i(ys, {
|
|
727
728
|
class: t,
|
|
728
729
|
items: re
|
|
729
730
|
}, null);
|
|
@@ -754,7 +755,7 @@ const Ht = /* @__PURE__ */ we({
|
|
|
754
755
|
enableSorting: !1,
|
|
755
756
|
cell(e) {
|
|
756
757
|
if (j.value)
|
|
757
|
-
return ds(
|
|
758
|
+
return ds(Fs);
|
|
758
759
|
const t = e.row.original;
|
|
759
760
|
return U(t);
|
|
760
761
|
}
|
|
@@ -870,7 +871,7 @@ const Ht = /* @__PURE__ */ we({
|
|
|
870
871
|
function ve() {
|
|
871
872
|
X++, ue.value = !1, B.value = ee.CLOSED;
|
|
872
873
|
}
|
|
873
|
-
const fe =
|
|
874
|
+
const fe = Ps(() => {
|
|
874
875
|
var e;
|
|
875
876
|
return ((e = Y.value) == null ? void 0 : e.isModified()) ?? !1;
|
|
876
877
|
}, ve);
|
|
@@ -1086,7 +1087,7 @@ const Ht = /* @__PURE__ */ we({
|
|
|
1086
1087
|
}, {
|
|
1087
1088
|
default: ie(() => [u("div", kt, [f.value ? q("", !0) : (y(), G(hs, {
|
|
1088
1089
|
key: 0
|
|
1089
|
-
})), f.value ? (y(), G(
|
|
1090
|
+
})), f.value ? (y(), G(gs, {
|
|
1090
1091
|
key: 1,
|
|
1091
1092
|
"is-loading": d.value,
|
|
1092
1093
|
"is-empty": D.value === 0,
|
|
@@ -1150,5 +1151,5 @@ const Ht = /* @__PURE__ */ we({
|
|
|
1150
1151
|
}
|
|
1151
1152
|
});
|
|
1152
1153
|
export {
|
|
1153
|
-
|
|
1154
|
+
ea as default
|
|
1154
1155
|
};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { ref as d, computed as g, defineComponent as pe, onMounted as fe, watch as Z, resolveComponent as u, createElementBlock as P, openBlock as E, Fragment as ee, createVNode as l, createElementVNode as i, unref as r, withCtx as b, createCommentVNode as ve, toDisplayString as O, createTextVNode as he, isRef as ge, renderList as we, createBlock as te, nextTick as ye } from "vue";
|
|
2
|
-
import { d as v } from "./dayjs.min-
|
|
2
|
+
import { d as v } from "./dayjs.min-ar-wg1yi.js";
|
|
3
3
|
import { useI18n as _e } from "@feedmepos/mf-common";
|
|
4
4
|
import { useSnackbar as be, components as xe } from "@feedmepos/ui-library";
|
|
5
5
|
import { S as De } from "./SelectFilter-CG13h83-.js";
|
|
6
|
-
import { _ as Se } from "./app-
|
|
6
|
+
import { _ as Se } from "./app-DLiYhsK2.js";
|
|
7
7
|
import { _ as Ve } from "./TableEmptyState.vue_vue_type_script_setup_true_lang-IfAZmWr0.js";
|
|
8
8
|
import { u as ke } from "./useLoading-Ch1AUYT1.js";
|
|
9
|
-
import { g as Ce, s as Fe } from "./iteration-
|
|
9
|
+
import { g as Ce, s as Fe } from "./iteration-uWvyRKkX.js";
|
|
10
10
|
import { f as Ye } from "./utils-BZkjJbju.js";
|
|
11
11
|
import { n as Le } from "./string-VNuQNweN.js";
|
|
12
|
-
import { u as Me } from "./employee-
|
|
12
|
+
import { u as Me } from "./employee-CmUfaF0i.js";
|
|
13
13
|
import { u as Te } from "./restaurant-BbYRA_IT.js";
|
|
14
|
-
import { u as Ie } from "./TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-
|
|
14
|
+
import { u as Ie } from "./TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-zttvxhi-.js";
|
|
15
15
|
import { _ as Re } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
16
16
|
function $e(x, a) {
|
|
17
17
|
return ["years", "months"].find((S) => {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { d as i } from "./dayjs.min-
|
|
1
|
+
import { d as i } from "./dayjs.min-ar-wg1yi.js";
|
|
2
2
|
import { defineStore as p, storeToRefs as T } from "pinia";
|
|
3
3
|
import { ref as l } from "vue";
|
|
4
4
|
import { b as c, g as y } from "./restaurant-BbYRA_IT.js";
|
|
5
|
-
import { s as S } from "./iteration-
|
|
5
|
+
import { s as S } from "./iteration-uWvyRKkX.js";
|
|
6
6
|
import { i as f, f as g } from "./utils-BZkjJbju.js";
|
|
7
7
|
const u = {
|
|
8
8
|
async readTimesheets(t, e) {
|
|
@@ -9833,16 +9833,16 @@ const _e = (e) => ({
|
|
|
9833
9833
|
}
|
|
9834
9834
|
]
|
|
9835
9835
|
}
|
|
9836
|
-
}), jc = ot(pe(() => import("./Main-
|
|
9837
|
-
pe(() => import("./AuditLogList-
|
|
9838
|
-
), Oc = ot(pe(() => import("./Main-
|
|
9839
|
-
() => import("./PermissionSetList-
|
|
9836
|
+
}), jc = ot(pe(() => import("./Main-D5cWrqP3.js"))), Ec = ot(pe(() => import("./Main-mcCvBPvJ.js"))), Pc = ot(
|
|
9837
|
+
pe(() => import("./AuditLogList-B-NaB6OX.js"))
|
|
9838
|
+
), Oc = ot(pe(() => import("./Main-cdf9NV8P.js"))), Gc = pe(() => import("./ApprovalCodeList--NA0toYU.js")), Yc = pe(() => import("./GrantUserList-B1S7yDKu.js")), Vc = pe(() => import("./EmployeeList-idO38m7y.js")), Fc = pe(() => import("./RoleList-ByQelhuG.js")), Sc = pe(() => import("./TimesheetList-CJcSs_B1.js")), kc = pe(() => import("./TeamMemberList-CJzF0wNK.js")), Rc = pe(
|
|
9839
|
+
() => import("./PermissionSetList-3_f6sJpK.js")
|
|
9840
9840
|
), Hc = Ws(
|
|
9841
|
-
ot(pe(() => import("./SchedulePage-
|
|
9841
|
+
ot(pe(() => import("./SchedulePage-BpvgQYqL.js")))
|
|
9842
9842
|
), Ic = Ws(
|
|
9843
|
-
ot(pe(() => import("./SchedulePositionPage-
|
|
9843
|
+
ot(pe(() => import("./SchedulePositionPage-BjvKTHyY.js")))
|
|
9844
9844
|
), Tc = Ws(
|
|
9845
|
-
ot(pe(() => import("./ScheduleGeneralPage-
|
|
9845
|
+
ot(pe(() => import("./ScheduleGeneralPage-TKWgkAoE.js")))
|
|
9846
9846
|
), ou = [
|
|
9847
9847
|
{
|
|
9848
9848
|
path: "/",
|
|
@@ -10892,7 +10892,7 @@ const iu = /* @__PURE__ */ at({
|
|
|
10892
10892
|
};
|
|
10893
10893
|
}
|
|
10894
10894
|
});
|
|
10895
|
-
var xs = { name: "@feedmepos/mf-hrm-portal", version: "2.3.0-dev.
|
|
10895
|
+
var xs = { name: "@feedmepos/mf-hrm-portal", version: "2.3.0-dev.12", mode: "fmmf" };
|
|
10896
10896
|
console.log(
|
|
10897
10897
|
`%c${xs.name}%c v${xs.version} %c${xs.mode}`,
|
|
10898
10898
|
"background:#1f1f1f;color:#fff;padding:2px 6px;border-radius:3px 0 0 3px",
|
package/dist/app.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { d as g } from "./dayjs.min-
|
|
1
|
+
import { d as g } from "./dayjs.min-ar-wg1yi.js";
|
|
2
2
|
import { defineStore as $, storeToRefs as x } from "pinia";
|
|
3
3
|
import { ref as m } from "vue";
|
|
4
|
-
import { s as E } from "./iteration-
|
|
4
|
+
import { s as E } from "./iteration-uWvyRKkX.js";
|
|
5
5
|
import { b as l, g as f, u as I } from "./restaurant-BbYRA_IT.js";
|
|
6
6
|
import { i as v } from "./utils-BZkjJbju.js";
|
|
7
|
-
import { u as P } from "./role-
|
|
7
|
+
import { u as P } from "./role-R2KDFlIY.js";
|
|
8
8
|
const o = {
|
|
9
9
|
async readEmployees() {
|
|
10
10
|
return f(await l().get("/pos-users"));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { f as B } from "./app-
|
|
1
|
+
import { f as B } from "./app-DLiYhsK2.js";
|
|
2
2
|
var ma = {}, Zt = {}, l = {}, ji = {}, Ei = {}, Ii = {}, Dn = {};
|
|
3
3
|
(function(e) {
|
|
4
4
|
Object.defineProperty(e, "__esModule", { value: !0 }), e.getParsedType = e.ZodParsedType = e.util = void 0;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineStore as x, storeToRefs as b } from "pinia";
|
|
2
2
|
import { ref as w } from "vue";
|
|
3
3
|
import { useCoreStore as B } from "@feedmepos/mf-common";
|
|
4
|
-
import { s as v } from "./iteration-
|
|
4
|
+
import { s as v } from "./iteration-uWvyRKkX.js";
|
|
5
5
|
import { g as f, b as p, u as I } from "./restaurant-BbYRA_IT.js";
|
|
6
6
|
const R = {
|
|
7
7
|
async readRoles() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { s as W, c as q, e as y } from "./iteration-
|
|
2
|
-
import { e as O, b as V, c as _, v as F, n as h, O as ee, D as M } from "./app-
|
|
1
|
+
import { s as W, c as q, e as y } from "./iteration-uWvyRKkX.js";
|
|
2
|
+
import { e as O, b as V, c as _, v as F, n as h, O as ee, D as M } from "./app-DLiYhsK2.js";
|
|
3
3
|
import { s as se } from "./utils-BZkjJbju.js";
|
|
4
4
|
import { g, b as v, q as x, u as te } from "./restaurant-BbYRA_IT.js";
|
|
5
5
|
import { defineStore as z, storeToRefs as K } from "pinia";
|
|
@@ -2,6 +2,7 @@ type __VLS_Props = {
|
|
|
2
2
|
open: boolean;
|
|
3
3
|
title: string;
|
|
4
4
|
message: string;
|
|
5
|
+
affectedDates?: string[];
|
|
5
6
|
/** `clash-q` gives the message an orange warning-callout background instead of plain text —
|
|
6
7
|
* used by the "might conflict" dialog, kept as an opt-in rather than the default look. */
|
|
7
8
|
messageClass?: string;
|
|
@@ -25,8 +26,8 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
|
|
|
25
26
|
}>, {
|
|
26
27
|
icon: boolean;
|
|
27
28
|
confirmLabel: string;
|
|
28
|
-
tone: "primary" | "danger";
|
|
29
29
|
messageClass: string;
|
|
30
30
|
cancelLabel: string;
|
|
31
|
+
tone: "primary" | "danger";
|
|
31
32
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
32
33
|
export default _default;
|
|
@@ -81,6 +81,7 @@ export declare function useScheduleAddEmployee(board: ScheduleBoardApi, options?
|
|
|
81
81
|
candidatesError: import("vue").Ref<string | null, string | null>;
|
|
82
82
|
openWizard: (section: string) => void;
|
|
83
83
|
openEditFor: (emp: Employee) => void;
|
|
84
|
+
confirmClose: () => void;
|
|
84
85
|
close: () => void;
|
|
85
86
|
setMode: (m: ScheduleAddEmployeeMode) => void;
|
|
86
87
|
openSelectExisting: () => void;
|
|
@@ -60,7 +60,6 @@ export declare function useScheduleAutoSchedule(board: ScheduleBoardApi, demand:
|
|
|
60
60
|
dailyCap: number;
|
|
61
61
|
rest: number;
|
|
62
62
|
dayOff: number;
|
|
63
|
-
dayCap: number;
|
|
64
63
|
};
|
|
65
64
|
}[];
|
|
66
65
|
metrics: {
|
|
@@ -125,7 +124,6 @@ export declare function useScheduleAutoSchedule(board: ScheduleBoardApi, demand:
|
|
|
125
124
|
dailyCap: number;
|
|
126
125
|
rest: number;
|
|
127
126
|
dayOff: number;
|
|
128
|
-
dayCap: number;
|
|
129
127
|
};
|
|
130
128
|
}[];
|
|
131
129
|
metrics: {
|
|
@@ -190,7 +188,6 @@ export declare function useScheduleAutoSchedule(board: ScheduleBoardApi, demand:
|
|
|
190
188
|
dailyCap: number;
|
|
191
189
|
rest: number;
|
|
192
190
|
dayOff: number;
|
|
193
|
-
dayCap: number;
|
|
194
191
|
};
|
|
195
192
|
}[];
|
|
196
193
|
metrics: {
|
|
@@ -142,6 +142,7 @@ export declare function useScheduleBoard(handlers?: {
|
|
|
142
142
|
to: string;
|
|
143
143
|
}[] | undefined;
|
|
144
144
|
passcode?: string | undefined;
|
|
145
|
+
code?: string | undefined;
|
|
145
146
|
masterUser?: boolean | undefined;
|
|
146
147
|
}[], Employee[] | {
|
|
147
148
|
id: number;
|
|
@@ -267,6 +268,7 @@ export declare function useScheduleBoard(handlers?: {
|
|
|
267
268
|
to: string;
|
|
268
269
|
}[] | undefined;
|
|
269
270
|
passcode?: string | undefined;
|
|
271
|
+
code?: string | undefined;
|
|
270
272
|
masterUser?: boolean | undefined;
|
|
271
273
|
}[]>;
|
|
272
274
|
sections: import("vue").Ref<{
|
|
@@ -66,6 +66,13 @@ export declare function useScheduleDemandSheet(board: ScheduleBoardApi, demand:
|
|
|
66
66
|
}[]>;
|
|
67
67
|
toggleCustomDay: (i: number) => void;
|
|
68
68
|
applyNote: import("vue").ComputedRef<string>;
|
|
69
|
+
replaceConfirmOpen: import("vue").ComputedRef<boolean>;
|
|
70
|
+
replaceConfirmTitle: import("vue").ComputedRef<"Replace existing demand?" | "Clear existing demand?">;
|
|
71
|
+
replaceConfirmActionLabel: import("vue").ComputedRef<"Confirm" | "Clear demand">;
|
|
72
|
+
replaceConfirmMessage: import("vue").ComputedRef<"Demand already exists on the dates below. Applying this demand will replace it on all selected dates." | "Demand exists on the dates below. Saving an empty time range will clear it on all selected dates.">;
|
|
73
|
+
replaceConfirmDates: import("vue").ComputedRef<string[]>;
|
|
74
|
+
confirmReplace: () => Promise<void>;
|
|
75
|
+
cancelReplace: () => void;
|
|
69
76
|
overlapWarning: import("vue").ComputedRef<string>;
|
|
70
77
|
whenLabel: import("vue").ComputedRef<string>;
|
|
71
78
|
openFor: (idx: number) => void;
|
|
@@ -12,8 +12,8 @@ interface UseScheduleEmployeeCandidatesOptions {
|
|
|
12
12
|
value: boolean;
|
|
13
13
|
};
|
|
14
14
|
onPicked: (employeeId: string) => void;
|
|
15
|
-
onPrefillPasscode: (employeeId: string) => void
|
|
16
|
-
onPrefillPosRoles: (employeeId: string) => void
|
|
15
|
+
onPrefillPasscode: (employeeId: string) => void | Promise<void>;
|
|
16
|
+
onPrefillPosRoles: (employeeId: string) => void | Promise<void>;
|
|
17
17
|
}
|
|
18
18
|
/** Directory lookup and profile prefill for the existing-employee path of the add wizard. */
|
|
19
19
|
export declare function useScheduleEmployeeCandidates(options: UseScheduleEmployeeCandidatesOptions): {
|
|
@@ -146,6 +146,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
|
|
|
146
146
|
to: string;
|
|
147
147
|
}[] | undefined;
|
|
148
148
|
passcode?: string | undefined;
|
|
149
|
+
code?: string | undefined;
|
|
149
150
|
masterUser?: boolean | undefined;
|
|
150
151
|
}[], import("../types").Employee[] | {
|
|
151
152
|
id: number;
|
|
@@ -271,6 +272,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
|
|
|
271
272
|
to: string;
|
|
272
273
|
}[] | undefined;
|
|
273
274
|
passcode?: string | undefined;
|
|
275
|
+
code?: string | undefined;
|
|
274
276
|
masterUser?: boolean | undefined;
|
|
275
277
|
}[]>;
|
|
276
278
|
sections: import("vue").Ref<{
|
|
@@ -812,6 +814,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
|
|
|
812
814
|
to: string;
|
|
813
815
|
}[] | undefined;
|
|
814
816
|
passcode?: string | undefined;
|
|
817
|
+
code?: string | undefined;
|
|
815
818
|
masterUser?: boolean | undefined;
|
|
816
819
|
};
|
|
817
820
|
row: import("./onboarding-types").TeamRow;
|
|
@@ -963,6 +966,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
|
|
|
963
966
|
to: string;
|
|
964
967
|
}[] | undefined;
|
|
965
968
|
passcode?: string | undefined;
|
|
969
|
+
code?: string | undefined;
|
|
966
970
|
masterUser?: boolean | undefined;
|
|
967
971
|
}[];
|
|
968
972
|
candidatesFor: (key: string) => {
|
|
@@ -1089,6 +1093,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
|
|
|
1089
1093
|
to: string;
|
|
1090
1094
|
}[] | undefined;
|
|
1091
1095
|
passcode?: string | undefined;
|
|
1096
|
+
code?: string | undefined;
|
|
1092
1097
|
masterUser?: boolean | undefined;
|
|
1093
1098
|
}[];
|
|
1094
1099
|
posPicker: import("vue").Ref<string | null, string | null>;
|
|
@@ -1219,6 +1224,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
|
|
|
1219
1224
|
to: string;
|
|
1220
1225
|
}[] | undefined;
|
|
1221
1226
|
passcode?: string | undefined;
|
|
1227
|
+
code?: string | undefined;
|
|
1222
1228
|
masterUser?: boolean | undefined;
|
|
1223
1229
|
}[]>;
|
|
1224
1230
|
pickerAllChecked: import("vue").ComputedRef<boolean>;
|
|
@@ -1305,6 +1311,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
|
|
|
1305
1311
|
candidatesError: import("vue").Ref<string | null, string | null>;
|
|
1306
1312
|
openWizard: (section: string) => void;
|
|
1307
1313
|
openEditFor: (emp: import("../types").Employee) => void;
|
|
1314
|
+
confirmClose: () => void;
|
|
1308
1315
|
close: () => void;
|
|
1309
1316
|
setMode: (m: import("./schedule-add-employee-form").ScheduleAddEmployeeMode) => void;
|
|
1310
1317
|
openSelectExisting: () => void;
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import type { ScheduleSelectOption } from '../components/ScheduleSelect.vue';
|
|
2
2
|
/** Which outlet the board is scheduling, and the picker that changes it.
|
|
3
3
|
*
|
|
4
|
-
* On entry the
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* On entry the outlet last picked in the schedule wins, remembered per business in localStorage.
|
|
5
|
+
* The host shell (mf-common) resets its own `currentRestaurant` to the first manageable outlet
|
|
6
|
+
* and rewrites `?restaurantId=` on every reload, so neither the URL nor the shell's selection
|
|
7
|
+
* can carry the user's pick across a refresh. Only when nothing was ever picked here does the
|
|
8
|
+
* shell's selection decide, so arriving from elsewhere in the portal lands on the outlet that
|
|
9
|
+
* was already being looked at. Failing that it falls back to the first outlet in the business,
|
|
10
|
+
* which is better than an empty board.
|
|
8
11
|
*
|
|
9
|
-
* Switching from the picker writes the new id back into `?restaurantId=` too
|
|
10
|
-
* `router.replace`, not a navigation, so it does not reload the page or add a history entry.
|
|
12
|
+
* Switching from the picker saves the pick and writes the new id back into `?restaurantId=` too,
|
|
13
|
+
* via `router.replace`, not a navigation, so it does not reload the page or add a history entry.
|
|
11
14
|
* The picker already re-fetches everything the new outlet needs (see switchTo below); this just
|
|
12
|
-
* keeps the address bar honest about which one is on screen
|
|
13
|
-
* back on it instead of silently snapping to whatever the shell had before. */
|
|
15
|
+
* keeps the address bar honest about which one is on screen. */
|
|
14
16
|
export declare function useScheduleOutlet(): {
|
|
15
17
|
options: import("vue").ComputedRef<ScheduleSelectOption[]>;
|
|
16
18
|
ready: import("vue").Ref<boolean, boolean>;
|
|
@@ -133,6 +133,7 @@ export declare function useScheduleRoster(board: ScheduleBoardApi): {
|
|
|
133
133
|
to: string;
|
|
134
134
|
}[] | undefined;
|
|
135
135
|
passcode?: string | undefined;
|
|
136
|
+
code?: string | undefined;
|
|
136
137
|
masterUser?: boolean | undefined;
|
|
137
138
|
}[]>;
|
|
138
139
|
orderedEmployees: import("vue").ComputedRef<{
|
|
@@ -259,6 +260,7 @@ export declare function useScheduleRoster(board: ScheduleBoardApi): {
|
|
|
259
260
|
to: string;
|
|
260
261
|
}[] | undefined;
|
|
261
262
|
passcode?: string | undefined;
|
|
263
|
+
code?: string | undefined;
|
|
262
264
|
masterUser?: boolean | undefined;
|
|
263
265
|
}[]>;
|
|
264
266
|
order: import("vue").Ref<number[], number[]>;
|
|
@@ -180,6 +180,7 @@ export declare function useScheduleShiftActions(board: ScheduleBoardApi, options
|
|
|
180
180
|
to: string;
|
|
181
181
|
}[] | undefined;
|
|
182
182
|
passcode?: string | undefined;
|
|
183
|
+
code?: string | undefined;
|
|
183
184
|
masterUser?: boolean | undefined;
|
|
184
185
|
}[]>;
|
|
185
186
|
openChange: (empId: number, dayIdx: number, slotIndex?: number) => void;
|
|
@@ -7,6 +7,10 @@ export interface ScheduleHeadcountRole {
|
|
|
7
7
|
count: number;
|
|
8
8
|
sen: '' | 'senior' | 'junior';
|
|
9
9
|
}
|
|
10
|
+
export interface ScheduleWarningPart {
|
|
11
|
+
text: string;
|
|
12
|
+
emphasis?: boolean;
|
|
13
|
+
}
|
|
10
14
|
/** The unified shift popover — ported from the mockup's single `.shift-pop`, which answers
|
|
11
15
|
* both "who is on this shift" and "what does this shift need" from one form. Picking a real
|
|
12
16
|
* person in the `who` select turns it into an assignment; leaving it on "Empty shift" turns
|
|
@@ -203,6 +207,7 @@ export declare function useScheduleShiftPopover(board: ScheduleBoardApi, demand:
|
|
|
203
207
|
to: string;
|
|
204
208
|
}[] | undefined;
|
|
205
209
|
passcode?: string | undefined;
|
|
210
|
+
code?: string | undefined;
|
|
206
211
|
masterUser?: boolean | undefined;
|
|
207
212
|
}[]>;
|
|
208
213
|
isAssigned: import("vue").ComputedRef<boolean>;
|
|
@@ -212,7 +217,7 @@ export declare function useScheduleShiftPopover(board: ScheduleBoardApi, demand:
|
|
|
212
217
|
isSingleOpenRecord: import("vue").ComputedRef<boolean>;
|
|
213
218
|
totalHours: import("vue").ComputedRef<number>;
|
|
214
219
|
totalLabel: import("vue").ComputedRef<string>;
|
|
215
|
-
warnings: import("vue").ComputedRef<
|
|
220
|
+
warnings: import("vue").ComputedRef<ScheduleWarningPart[][]>;
|
|
216
221
|
openForEmployee: (forEmpId: number, day: number, roleHint?: string, hours?: ScheduleShiftSegment, slotIndex?: number) => void;
|
|
217
222
|
openForNewOpenShift: (day: number, roleHint?: string, hours?: ScheduleShiftSegment) => void;
|
|
218
223
|
openForEditOpenShift: (openShiftId: number) => void;
|
|
@@ -43,6 +43,19 @@ export declare function setEmployeePosRoles(employeeId: string, assignments: {
|
|
|
43
43
|
restaurantId: string;
|
|
44
44
|
roleId: string;
|
|
45
45
|
}[]): Promise<void>;
|
|
46
|
+
/** Saves the POS-owned part of an existing scheduling employee. The scheduling profile and the
|
|
47
|
+
* POS user are separate records, so passcode/master-user changes must use the POS user API too.
|
|
48
|
+
* A normalized comparison avoids rewriting the POS user when the employee form was unchanged. */
|
|
49
|
+
export declare function saveEmployeePosAccess(employeeId: string, request: {
|
|
50
|
+
name: string;
|
|
51
|
+
passcode: string;
|
|
52
|
+
masterUser: boolean;
|
|
53
|
+
masterCode: string;
|
|
54
|
+
roles: {
|
|
55
|
+
restaurantId: string;
|
|
56
|
+
roleId: string;
|
|
57
|
+
}[];
|
|
58
|
+
}): Promise<void>;
|
|
46
59
|
/** The cached business roster, fetched on first use. `force` re-reads it (after a write, or to
|
|
47
60
|
* refresh a list that is already on screen). Concurrent callers share one request. */
|
|
48
61
|
export declare function ensureBusinessEmployees(force?: boolean): Promise<IFdtoPosUserSummary[]>;
|
|
@@ -141,6 +141,8 @@ export interface Employee {
|
|
|
141
141
|
availHours?: EmployeeAvailHours[];
|
|
142
142
|
/** POS sign-in code. Optional: rostering, costing and publishing never depend on it. */
|
|
143
143
|
passcode?: string;
|
|
144
|
+
/** POS master-user code, when this employee is a master user. */
|
|
145
|
+
code?: string;
|
|
144
146
|
masterUser?: boolean;
|
|
145
147
|
}
|
|
146
148
|
export interface Section {
|