@feedmepos/mf-hrm-portal 2.3.0-dev.12 → 2.3.0-dev.14
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--NA0toYU.js → ApprovalCodeList-C9dauQ81.js} +4 -4
- package/dist/{AuditLogList-B-NaB6OX.js → AuditLogList-zW_N_ECT.js} +17 -18
- package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-AEr2bDPY.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-DJuO1qPX.js} +2 -2
- package/dist/{EmployeeList-idO38m7y.js → EmployeeList-8jkHTd7q.js} +255 -267
- package/dist/{FormItem.vue_vue_type_script_setup_true_lang-CUnlKsxk.js → FormItem.vue_vue_type_script_setup_true_lang-CJc_g0tW.js} +6 -6
- package/dist/{GrantUserList-B1S7yDKu.js → GrantUserList-Dj55GA7O.js} +5 -5
- package/dist/{Main-mcCvBPvJ.js → Main-0TfvGJ4N.js} +5 -5
- package/dist/{Main-D5cWrqP3.js → Main-BQNkTyET.js} +9 -9
- package/dist/{Main-cdf9NV8P.js → Main-CuUG6svQ.js} +2 -2
- package/dist/{PermissionSetList-3_f6sJpK.js → PermissionSetList-BsLi-TOK.js} +5 -5
- package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Cmin3rlY.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-C2l8nWx2.js} +888 -888
- package/dist/{RoleList-ByQelhuG.js → RoleList-DLDcyVWT.js} +7 -7
- package/dist/{ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-e4YOu59G.js → ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-CUXUPfRc.js} +190 -181
- package/dist/{ScheduleGeneralPage-TKWgkAoE.js → ScheduleGeneralPage-BhYI6O9g.js} +132 -133
- package/dist/{ScheduleModal.vue_vue_type_script_setup_true_lang-6bTAsmpp.js → ScheduleModal.vue_vue_type_script_setup_true_lang-BLBLBtNG.js} +669 -646
- package/dist/{SchedulePage-BpvgQYqL.js → SchedulePage-DPU4taJt.js} +7416 -7360
- package/dist/{SchedulePositionPage-BjvKTHyY.js → SchedulePositionPage-Byt6nmUj.js} +82 -84
- package/dist/{SelectFilter-CG13h83-.js → SelectFilter-1fh00OZW.js} +1 -1
- package/dist/{TeamMemberList-CJzF0wNK.js → TeamMemberList-CyUX8Afk.js} +35 -36
- package/dist/{TimesheetList-CJcSs_B1.js → TimesheetList-Q4FeNgOT.js} +52 -53
- package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-zttvxhi-.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-C3iU4Zmc.js} +2 -2
- package/dist/{app-DLiYhsK2.js → app-TuHQoM7K.js} +781 -741
- package/dist/app.js +1 -1
- package/dist/{dayjs.min-ar-wg1yi.js → dayjs.min-DXnA8GYn.js} +1 -1
- package/dist/{employee-CmUfaF0i.js → employee-Ctnil3cD.js} +3 -3
- package/dist/{iteration-uWvyRKkX.js → iteration-BxOzv27y.js} +1 -1
- package/dist/{lodash-BzVEbSHJ.js → lodash-CKT_RxJs.js} +1 -1
- package/dist/object-Dwyg2LgX.js +16 -0
- package/dist/{role-R2KDFlIY.js → role-CNEJPyaD.js} +1 -1
- package/dist/{rule-C6ELRd3E.js → rule-FbuHv6Gh.js} +2 -2
- package/dist/src/views/scheduling/composables/onboarding-types.d.ts +2 -1
- package/dist/src/views/scheduling/composables/remyPrompt.d.ts +4 -2
- package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +3 -1
- package/dist/src/views/scheduling/composables/useScheduleOnboardingEmployees.d.ts +2 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +3 -1
- package/dist/src/views/scheduling/composables/useScheduleOutlet.d.ts +1 -1
- package/dist/src/views/scheduling/data.d.ts +17 -0
- package/dist/style.css +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{useReportPermissions-B2U347Ey.js → useReportPermissions-lemBrd1S.js} +3 -3
- package/package.json +3 -3
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js +0 -9
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-DXnA8GYn.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-BxOzv27y.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-CNEJPyaD.js";
|
|
8
8
|
const o = {
|
|
9
9
|
async readEmployees() {
|
|
10
10
|
return f(await l().get("/pos-users"));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { g as B } from "./app-TuHQoM7K.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;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { toRaw as n } from "vue";
|
|
2
|
+
function t(r) {
|
|
3
|
+
return JSON.parse(JSON.stringify(r));
|
|
4
|
+
}
|
|
5
|
+
function o(r) {
|
|
6
|
+
if (typeof structuredClone > "u")
|
|
7
|
+
return t(r);
|
|
8
|
+
try {
|
|
9
|
+
return structuredClone(n(r));
|
|
10
|
+
} catch {
|
|
11
|
+
return t(r);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
o as c
|
|
16
|
+
};
|
|
@@ -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-BxOzv27y.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 {
|
|
1
|
+
import { s as W, c as q, e as y } from "./iteration-BxOzv27y.js";
|
|
2
|
+
import { f as O, c as V, d as _, v as F, n as h, O as ee, D as M } from "./app-TuHQoM7K.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";
|
|
@@ -23,7 +23,8 @@ export interface TeamRow {
|
|
|
23
23
|
picked: boolean;
|
|
24
24
|
/** '' means "Any position" — a person with none. */
|
|
25
25
|
position: string;
|
|
26
|
-
|
|
26
|
+
/** Additional positions this employee also covers. */
|
|
27
|
+
second: string[];
|
|
27
28
|
employment: TeamEmployment;
|
|
28
29
|
maxHours: string;
|
|
29
30
|
rate: string;
|
|
@@ -8,6 +8,8 @@ export type RemyDemandScope = {
|
|
|
8
8
|
} | {
|
|
9
9
|
mode: 'weekdays';
|
|
10
10
|
};
|
|
11
|
-
/** The
|
|
12
|
-
*
|
|
11
|
+
/** The text prefilled into the host Remy panel. It points at the two inputs Remy's HRM skill
|
|
12
|
+
* handles (an attached roster image, or demand described in words); the bullets are example
|
|
13
|
+
* guidance the user replaces. Names the outlet the way a manager knows it; Remy resolves it to
|
|
14
|
+
* an id itself (hrm_find_outlet), so no outlet id appears in the text. */
|
|
13
15
|
export declare function remyDemandPrompt(outletName: string, scope: RemyDemandScope): string;
|
|
@@ -41,7 +41,9 @@ export declare function useScheduleCostRail(board: ScheduleBoardApi, proposalAt?
|
|
|
41
41
|
weeklyCost: import("vue").ComputedRef<number>;
|
|
42
42
|
otHours: import("vue").ComputedRef<number>;
|
|
43
43
|
monthlyOtUsed: import("vue").ComputedRef<number>;
|
|
44
|
-
monthlyOtCapHours: number
|
|
44
|
+
monthlyOtCapHours: import("vue").ComputedRef<number | null>;
|
|
45
|
+
monthlyOtProgress: import("vue").ComputedRef<number>;
|
|
46
|
+
monthlyOtHigh: import("vue").ComputedRef<boolean>;
|
|
45
47
|
bySection: import("vue").ComputedRef<ScheduleSectionCost[]>;
|
|
46
48
|
otRisk: import("vue").ComputedRef<ScheduleOtRisk[]>;
|
|
47
49
|
};
|
|
@@ -181,6 +181,8 @@ export declare function useScheduleOnboardingEmployees(options: ScheduleOnboardi
|
|
|
181
181
|
seedEmployees: (missingOnly?: boolean) => void;
|
|
182
182
|
pickAll: (checked: boolean) => void;
|
|
183
183
|
setPosition: (empId: number, value: string) => void;
|
|
184
|
+
removePositionFromRows: (position: string) => void;
|
|
185
|
+
toggleSecond: (empId: number, position: string) => void;
|
|
184
186
|
setEmployment: (empId: number, kind: TeamEmployment) => void;
|
|
185
187
|
setHours: (empId: number, value: string) => void;
|
|
186
188
|
setRate: (empId: number, value: string) => void;
|
|
@@ -644,7 +644,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
|
|
|
644
644
|
namedTotal: (range: import("./onboarding-types").ScheduleOnboardingRange) => number;
|
|
645
645
|
copyDay: (mode: "all" | "wk" | "we") => void;
|
|
646
646
|
addPositionNamed: (name?: string) => void;
|
|
647
|
-
removePosition: (id: string) => void
|
|
647
|
+
removePosition: (id: string) => Promise<void>;
|
|
648
648
|
reviewRows: import("vue").ComputedRef<ReviewRow[]>;
|
|
649
649
|
goTo: (target: ScheduleOnboardingStep) => void;
|
|
650
650
|
avail: Record<number, import("./onboarding-types").AvailRow>;
|
|
@@ -824,6 +824,8 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
|
|
|
824
824
|
teamSomePicked: import("vue").ComputedRef<boolean>;
|
|
825
825
|
pickAll: (checked: boolean) => void;
|
|
826
826
|
setPosition: (empId: number, value: string) => void;
|
|
827
|
+
removePositionFromRows: (position: string) => void;
|
|
828
|
+
toggleSecond: (empId: number, position: string) => void;
|
|
827
829
|
setEmployment: (empId: number, kind: import("./onboarding-types").TeamEmployment) => void;
|
|
828
830
|
setHours: (empId: number, value: string) => void;
|
|
829
831
|
setRate: (empId: number, value: string) => void;
|
|
@@ -7,7 +7,7 @@ import type { ScheduleSelectOption } from '../components/ScheduleSelect.vue';
|
|
|
7
7
|
* can carry the user's pick across a refresh. Only when nothing was ever picked here does the
|
|
8
8
|
* shell's selection decide, so arriving from elsewhere in the portal lands on the outlet that
|
|
9
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.
|
|
10
|
+
* which is better than an empty board. The picker offers only restaurants the user can manage.
|
|
11
11
|
*
|
|
12
12
|
* Switching from the picker saves the pick and writes the new id back into `?restaurantId=` too,
|
|
13
13
|
* via `router.replace`, not a navigation, so it does not reload the page or add a history entry.
|
|
@@ -25,6 +25,23 @@ export declare function positionIdOf(name: string): string | undefined;
|
|
|
25
25
|
/** The selector shape every position-carrying save request wants — `undefined` for a blank
|
|
26
26
|
* name (the field itself has nothing to name), a resolved id alongside the name otherwise. */
|
|
27
27
|
export declare function positionSelectorOf(name: string | undefined, positionId?: string): FdtoSchedulePositionSelectorReq | undefined;
|
|
28
|
+
/** Position IDs are authoritative after a rename. Keep the stored name only as a fallback for
|
|
29
|
+
* archived or legacy references that cannot be resolved back to the active catalogue. */
|
|
30
|
+
export declare function positionNameOf(position: {
|
|
31
|
+
positionId?: string | null;
|
|
32
|
+
positionName: string;
|
|
33
|
+
} | null | undefined, catalogue?: readonly {
|
|
34
|
+
id: string;
|
|
35
|
+
name: string;
|
|
36
|
+
}[]): string | undefined;
|
|
37
|
+
/** Resolves a position only when it still exists in the active catalogue. */
|
|
38
|
+
export declare function activePositionNameOf(position: {
|
|
39
|
+
positionId?: string | null;
|
|
40
|
+
positionName: string;
|
|
41
|
+
} | null | undefined, catalogue?: readonly {
|
|
42
|
+
id: string;
|
|
43
|
+
name: string;
|
|
44
|
+
}[]): string | undefined;
|
|
28
45
|
/** A saved position reference can outlive its catalogue entry after a soft delete. */
|
|
29
46
|
export declare function isArchivedPosition(name: string | undefined, positionId?: string): boolean;
|
|
30
47
|
/** Which coverage positions a station label counts toward. Positions ARE the roles in this
|