@feedmepos/mf-hrm-portal 2.3.0-dev.9 → 2.3.0
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-BDpxEJpC.js → ApprovalCodeList-DwubNElp.js} +7 -7
- package/dist/{AuditLogList-Dgwj1gz8.js → AuditLogList-CTeMbyHL.js} +18 -19
- package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-BBK2gl7r.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-CmLLNcB4.js} +2 -2
- package/dist/{EmployeeList-C8cbVcmY.js → EmployeeList-DEAJPx9F.js} +255 -266
- package/dist/{FormItem.vue_vue_type_script_setup_true_lang-CUnlKsxk.js → FormItem.vue_vue_type_script_setup_true_lang-OAvd6eHM.js} +6 -6
- package/dist/{GrantUserList-zul0_Dlm.js → GrantUserList-Dx4jF2qJ.js} +8 -8
- package/dist/{Main-Cjo4FMZZ.js → Main-BirWXk7o.js} +5 -5
- package/dist/{Main-DSr9KbjT.js → Main-C2PBSCte.js} +11 -11
- package/dist/{Main-5TsFTFpc.js → Main-CL5JYCPg.js} +8 -8
- package/dist/{PermissionSetList-CDhiiu37.js → PermissionSetList-BtYcqPiO.js} +19 -18
- package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DoK944l0.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-BXw4aX39.js} +1127 -1127
- package/dist/{PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-BVz6q3HE.js → PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-DaAx79pC.js} +1 -1
- package/dist/ResponsiveContextMenu.vue_vue_type_script_setup_true_lang-mSJFKo7r.js +132 -0
- package/dist/{RoleList-DEbOPQD_.js → RoleList-YS_LBfoJ.js} +21 -20
- package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-BorKuXxL.js +530 -0
- package/dist/{ScheduleGeneralPage-B8PWNsc2.js → ScheduleGeneralPage-C1p2mivt.js} +252 -248
- package/dist/ScheduleModal.vue_vue_type_script_setup_true_lang-CnKzVz3I.js +2457 -0
- package/dist/SchedulePage-BP7x7JAl.js +19485 -0
- package/dist/{SchedulePositionPage-Cuv4ydOK.js → SchedulePositionPage-BogOQZVW.js} +78 -80
- package/dist/{SelectFilter-CG13h83-.js → SelectFilter-Dh3eY1hV.js} +1 -1
- package/dist/{TeamMemberList-DpCGqHCk.js → TeamMemberList-Bv6_2bzs.js} +27 -27
- package/dist/{TimesheetList-B7HAC5zS.js → TimesheetList-B3BmpH0I.js} +52 -53
- package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-BGD6m5M-.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-C4rbnZh1.js} +3 -3
- package/dist/{app-Lh0cqgHy.js → app-CyS8c8dx.js} +2879 -2462
- package/dist/app.js +1 -1
- package/dist/{approval-code-DHsUgc4K.js → approval-code-BIpLingm.js} +1 -1
- package/dist/{dayjs.min-joq4stsa.js → dayjs.min-BRlEc3-d.js} +1 -1
- package/dist/{employee-BPmp9c6i.js → employee-CcdjLOLQ.js} +51 -47
- package/dist/{grant-user-qzKHFTro.js → grant-user-uZmvD_bw.js} +1 -1
- package/dist/{iteration-jvdTHQUx.js → iteration-CL1RDmws.js} +1 -1
- package/dist/{lodash-CIAEpr9s.js → lodash-C00ieagp.js} +1 -1
- package/dist/object-Dwyg2LgX.js +16 -0
- package/dist/{restaurant-BbYRA_IT.js → restaurant-CHpkjUPy.js} +46 -47
- package/dist/{role-Dd1TUMhn.js → role-DtatkKp9.js} +2 -2
- package/dist/{rule-DmxI7qEY.js → rule-DJJMpkoG.js} +3 -3
- package/dist/src/api/employee/index.d.ts +2 -2
- package/dist/src/api/schedule/index.d.ts +11 -1
- package/dist/src/components/layout/SchedulePromoBanner.vue.d.ts +2 -0
- package/dist/src/composables/useDiscardConfirm.d.ts +3 -1
- package/dist/src/stores/employee.d.ts +12 -12
- package/dist/src/types/schedule.d.ts +1 -1
- package/dist/src/views/audit-log/locales/index.d.ts +252 -0
- package/dist/src/views/scheduling/components/ScheduleAreaRows.vue.d.ts +6 -2
- package/dist/src/views/scheduling/components/ScheduleAutoScheduleDoneArt.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleBoardAreaRows.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleBoardGridHeader.vue.d.ts +5 -0
- package/dist/src/views/scheduling/components/ScheduleBoardInteractionOverlays.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleBoardOnboardingOverlays.vue.d.ts +1 -0
- package/dist/src/views/scheduling/components/ScheduleBoardToolbar.vue.d.ts +0 -1
- package/dist/src/views/scheduling/components/ScheduleCompletionDialog.vue.d.ts +1 -1
- package/dist/src/views/scheduling/components/ScheduleConfirmModal.vue.d.ts +4 -1
- package/dist/src/views/scheduling/components/ScheduleDayTimeline.vue.d.ts +5 -0
- package/dist/src/views/scheduling/components/ScheduleLoadState.vue.d.ts +0 -1
- package/dist/src/views/scheduling/components/ScheduleOnboardingSettings.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleShiftPopover.vue.d.ts +1 -1
- package/dist/src/views/scheduling/composables/auto-schedule-mapping.d.ts +3 -3
- 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/schedule-board-helpers.d.ts +4 -0
- package/dist/src/views/scheduling/composables/schedule-day-meta.d.ts +1 -3
- package/dist/src/views/scheduling/composables/schedule-demand-domain.d.ts +13 -1
- package/dist/src/views/scheduling/composables/schedule-error.d.ts +1 -0
- package/dist/src/views/scheduling/composables/schedule-leave-split.d.ts +5 -0
- package/dist/src/views/scheduling/composables/schedule-quick-pick.d.ts +22 -0
- package/dist/src/views/scheduling/composables/schedule-shift-time.d.ts +3 -0
- package/dist/src/views/scheduling/composables/schedule-week-cache.d.ts +3 -1
- package/dist/src/views/scheduling/composables/useRemyAppStore.d.ts +1 -0
- package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +25 -2
- package/dist/src/views/scheduling/composables/useScheduleAddPick.d.ts +3 -11
- package/dist/src/views/scheduling/composables/useScheduleAreaDragDrop.d.ts +0 -1
- package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +22 -13
- package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +58 -7
- package/dist/src/views/scheduling/composables/useScheduleCopyWeek.d.ts +3 -10
- package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +13 -1
- package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +0 -1
- package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +16 -2
- package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +7 -0
- package/dist/src/views/scheduling/composables/useScheduleDragDrop.d.ts +1 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeAccess.d.ts +14 -6
- package/dist/src/views/scheduling/composables/useScheduleEmployeeCandidates.d.ts +26 -4
- package/dist/src/views/scheduling/composables/useScheduleEmployeePersistence.d.ts +3 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeValidation.d.ts +0 -2
- package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +1 -0
- package/dist/src/views/scheduling/composables/useScheduleLeave.d.ts +5 -1
- package/dist/src/views/scheduling/composables/useScheduleOnboardingDemand.d.ts +1 -1
- package/dist/src/views/scheduling/composables/useScheduleOnboardingEmployees.d.ts +28 -2
- package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +203 -8
- package/dist/src/views/scheduling/composables/useScheduleOutlet.d.ts +11 -8
- package/dist/src/views/scheduling/composables/useSchedulePageActions.d.ts +1 -1
- package/dist/src/views/scheduling/composables/useSchedulePageCellDrop.d.ts +3 -1
- package/dist/src/views/scheduling/composables/useSchedulePageClearActions.d.ts +1 -0
- package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +6 -0
- package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +2 -1
- package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +46 -0
- package/dist/src/views/scheduling/composables/useScheduleSetupBanner.d.ts +2 -2
- package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +29 -1
- package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +32 -3
- package/dist/src/views/scheduling/country-rules/index.d.ts +8 -3
- package/dist/src/views/scheduling/data.d.ts +17 -0
- package/dist/src/views/scheduling/locales/index.d.ts +28 -0
- package/dist/src/views/scheduling/schedule-state.d.ts +236 -236
- package/dist/src/views/scheduling/schedule-store.d.ts +26 -7
- package/dist/src/views/scheduling/types.d.ts +8 -0
- package/dist/style.css +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{useAppStore-BoLkvkE2.js → useAppStore-Bp0PwbAN.js} +1 -1
- package/dist/useDiscardConfirm-CzZSPyvh.js +28 -0
- package/dist/{useLoading-Ch1AUYT1.js → useLoading-sgL8DRUz.js} +1 -1
- package/dist/{useReportPermissions-DM3GOFCC.js → useReportPermissions-DI-xg3OX.js} +3 -3
- package/package.json +2 -2
- package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-Cx9jFgBS.js +0 -492
- package/dist/ScheduleModal.vue_vue_type_script_setup_true_lang-V1sZ_xhO.js +0 -2253
- package/dist/SchedulePage-ndLByVBl.js +0 -17785
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js +0 -9
- package/dist/useDiscardConfirm-DPhEV6v0.js +0 -157
|
@@ -4,6 +4,7 @@ export interface SchedulePositionRow {
|
|
|
4
4
|
}
|
|
5
5
|
export declare function useSchedulePositions(options?: {
|
|
6
6
|
notify?: (message: string, type?: 'success' | 'error' | 'info') => void;
|
|
7
|
+
deferWrites?: boolean;
|
|
7
8
|
}): {
|
|
8
9
|
positions: import("vue").Ref<{
|
|
9
10
|
id: string;
|
|
@@ -12,6 +13,8 @@ export declare function useSchedulePositions(options?: {
|
|
|
12
13
|
id: string;
|
|
13
14
|
name: string;
|
|
14
15
|
}[]>;
|
|
16
|
+
pendingCreates: string[];
|
|
17
|
+
pendingDeletes: Set<string>;
|
|
15
18
|
count: import("vue").ComputedRef<number>;
|
|
16
19
|
isAdding: import("vue").Ref<boolean, boolean>;
|
|
17
20
|
newName: import("vue").Ref<string, string>;
|
|
@@ -25,5 +28,8 @@ export declare function useSchedulePositions(options?: {
|
|
|
25
28
|
askDelete: (id: string) => void;
|
|
26
29
|
cancelDelete: () => void;
|
|
27
30
|
confirmDelete: (id: string) => Promise<void>;
|
|
31
|
+
commitCreates: () => Promise<void>;
|
|
32
|
+
commitDeletes: () => Promise<void>;
|
|
33
|
+
discardPending: () => void;
|
|
28
34
|
};
|
|
29
35
|
export type SchedulePositionsApi = ReturnType<typeof useSchedulePositions>;
|
|
@@ -22,6 +22,7 @@ export declare function useSchedulePublish(board: ScheduleBoardApi): {
|
|
|
22
22
|
close: () => void;
|
|
23
23
|
conflicts: import("vue").ComputedRef<number>;
|
|
24
24
|
confirmDisabled: import("vue").ComputedRef<boolean>;
|
|
25
|
+
publishing: import("vue").Ref<boolean, boolean>;
|
|
25
26
|
visibleVersions: import("vue").ComputedRef<{
|
|
26
27
|
v: number;
|
|
27
28
|
at: Date;
|
|
@@ -117,10 +118,10 @@ export declare function useSchedulePublish(board: ScheduleBoardApi): {
|
|
|
117
118
|
toggleVersionDiff: (v: number) => void;
|
|
118
119
|
diffFor: (version: ScheduleVersion) => VersionDiffRow[];
|
|
119
120
|
confirm: () => Promise<void>;
|
|
120
|
-
restoreVersion: (v: number) => void;
|
|
121
121
|
shareOpen: import("vue").Ref<boolean, boolean>;
|
|
122
122
|
shareVersion: import("vue").Ref<number | null, number | null>;
|
|
123
123
|
shareStaffAffected: import("vue").Ref<number, number>;
|
|
124
|
+
showShareCompletion: (changeCount: number, staffAffected: number) => void;
|
|
124
125
|
closeShare: () => void;
|
|
125
126
|
};
|
|
126
127
|
export type SchedulePublishApi = ReturnType<typeof useSchedulePublish>;
|
|
@@ -101,6 +101,28 @@ export declare function useScheduleRoster(board: ScheduleBoardApi): {
|
|
|
101
101
|
updatedAt?: string | undefined;
|
|
102
102
|
splitGroupId?: string | undefined;
|
|
103
103
|
}[] | null)[];
|
|
104
|
+
timeOff?: ({
|
|
105
|
+
timeOff: "approved" | "pending";
|
|
106
|
+
requestId?: string | undefined;
|
|
107
|
+
type?: "OFF_DAY" | "LEAVE" | undefined;
|
|
108
|
+
leaveType?: "ANNUAL" | "MEDICAL" | "EMERGENCY" | "UNPAID" | undefined;
|
|
109
|
+
reason: string;
|
|
110
|
+
half?: boolean | undefined;
|
|
111
|
+
halfPart?: "AM" | "PM" | undefined;
|
|
112
|
+
from?: string | undefined;
|
|
113
|
+
to?: string | undefined;
|
|
114
|
+
appliedOn?: string | undefined;
|
|
115
|
+
note?: string | undefined;
|
|
116
|
+
cert?: {
|
|
117
|
+
name: string;
|
|
118
|
+
size: string;
|
|
119
|
+
} | null | undefined;
|
|
120
|
+
bal?: {
|
|
121
|
+
type: string;
|
|
122
|
+
entitled: number;
|
|
123
|
+
used: number;
|
|
124
|
+
} | undefined;
|
|
125
|
+
} | null)[] | undefined;
|
|
104
126
|
remarks: {
|
|
105
127
|
author: string;
|
|
106
128
|
date: string;
|
|
@@ -133,6 +155,7 @@ export declare function useScheduleRoster(board: ScheduleBoardApi): {
|
|
|
133
155
|
to: string;
|
|
134
156
|
}[] | undefined;
|
|
135
157
|
passcode?: string | undefined;
|
|
158
|
+
code?: string | undefined;
|
|
136
159
|
masterUser?: boolean | undefined;
|
|
137
160
|
}[]>;
|
|
138
161
|
orderedEmployees: import("vue").ComputedRef<{
|
|
@@ -227,6 +250,28 @@ export declare function useScheduleRoster(board: ScheduleBoardApi): {
|
|
|
227
250
|
updatedAt?: string | undefined;
|
|
228
251
|
splitGroupId?: string | undefined;
|
|
229
252
|
}[] | null)[];
|
|
253
|
+
timeOff?: ({
|
|
254
|
+
timeOff: "approved" | "pending";
|
|
255
|
+
requestId?: string | undefined;
|
|
256
|
+
type?: "OFF_DAY" | "LEAVE" | undefined;
|
|
257
|
+
leaveType?: "ANNUAL" | "MEDICAL" | "EMERGENCY" | "UNPAID" | undefined;
|
|
258
|
+
reason: string;
|
|
259
|
+
half?: boolean | undefined;
|
|
260
|
+
halfPart?: "AM" | "PM" | undefined;
|
|
261
|
+
from?: string | undefined;
|
|
262
|
+
to?: string | undefined;
|
|
263
|
+
appliedOn?: string | undefined;
|
|
264
|
+
note?: string | undefined;
|
|
265
|
+
cert?: {
|
|
266
|
+
name: string;
|
|
267
|
+
size: string;
|
|
268
|
+
} | null | undefined;
|
|
269
|
+
bal?: {
|
|
270
|
+
type: string;
|
|
271
|
+
entitled: number;
|
|
272
|
+
used: number;
|
|
273
|
+
} | undefined;
|
|
274
|
+
} | null)[] | undefined;
|
|
230
275
|
remarks: {
|
|
231
276
|
author: string;
|
|
232
277
|
date: string;
|
|
@@ -259,6 +304,7 @@ export declare function useScheduleRoster(board: ScheduleBoardApi): {
|
|
|
259
304
|
to: string;
|
|
260
305
|
}[] | undefined;
|
|
261
306
|
passcode?: string | undefined;
|
|
307
|
+
code?: string | undefined;
|
|
262
308
|
masterUser?: boolean | undefined;
|
|
263
309
|
}[]>;
|
|
264
310
|
order: import("vue").Ref<number[], number[]>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** "Set it up" banner — shown while the outlet has not finished scheduling setup, i.e. while
|
|
2
|
-
* `scheduleSetupCompleted` (schedule-store) is false. Dismissing
|
|
3
|
-
*
|
|
2
|
+
* `scheduleSetupCompleted` (schedule-store) is false. Dismissing marks the outlet's setup complete (`setupCompleted`
|
|
3
|
+
* is persisted), so neither the banner nor the welcome dialog returns.
|
|
4
4
|
*
|
|
5
5
|
* The welcome dialog shares that same gate, plus its own session dismiss so closing it doesn't
|
|
6
6
|
* also close the banner. `scheduleSetupCompleted` lands from an async fetch and starts `false`
|
|
@@ -29,7 +29,10 @@ export interface ScheduleSwapState {
|
|
|
29
29
|
preset: {
|
|
30
30
|
empId: number;
|
|
31
31
|
dayIdx: number;
|
|
32
|
+
slotIndex?: number;
|
|
32
33
|
} | null;
|
|
34
|
+
/** Area/Position view exchanges roles; employee view exchanges shift ownership. */
|
|
35
|
+
kind: 'employee' | 'position';
|
|
33
36
|
}
|
|
34
37
|
/** The shift card's "⋯" menu (Change employee / Swap shifts / Edit / Remove), plus the two
|
|
35
38
|
* dialogs it opens that the rest of Phase 1 didn't need: handing a shift to somebody else,
|
|
@@ -148,6 +151,28 @@ export declare function useScheduleShiftActions(board: ScheduleBoardApi, options
|
|
|
148
151
|
updatedAt?: string | undefined;
|
|
149
152
|
splitGroupId?: string | undefined;
|
|
150
153
|
}[] | null)[];
|
|
154
|
+
timeOff?: ({
|
|
155
|
+
timeOff: "approved" | "pending";
|
|
156
|
+
requestId?: string | undefined;
|
|
157
|
+
type?: "OFF_DAY" | "LEAVE" | undefined;
|
|
158
|
+
leaveType?: "ANNUAL" | "MEDICAL" | "EMERGENCY" | "UNPAID" | undefined;
|
|
159
|
+
reason: string;
|
|
160
|
+
half?: boolean | undefined;
|
|
161
|
+
halfPart?: "AM" | "PM" | undefined;
|
|
162
|
+
from?: string | undefined;
|
|
163
|
+
to?: string | undefined;
|
|
164
|
+
appliedOn?: string | undefined;
|
|
165
|
+
note?: string | undefined;
|
|
166
|
+
cert?: {
|
|
167
|
+
name: string;
|
|
168
|
+
size: string;
|
|
169
|
+
} | null | undefined;
|
|
170
|
+
bal?: {
|
|
171
|
+
type: string;
|
|
172
|
+
entitled: number;
|
|
173
|
+
used: number;
|
|
174
|
+
} | undefined;
|
|
175
|
+
} | null)[] | undefined;
|
|
151
176
|
remarks: {
|
|
152
177
|
author: string;
|
|
153
178
|
date: string;
|
|
@@ -180,6 +205,7 @@ export declare function useScheduleShiftActions(board: ScheduleBoardApi, options
|
|
|
180
205
|
to: string;
|
|
181
206
|
}[] | undefined;
|
|
182
207
|
passcode?: string | undefined;
|
|
208
|
+
code?: string | undefined;
|
|
183
209
|
masterUser?: boolean | undefined;
|
|
184
210
|
}[]>;
|
|
185
211
|
openChange: (empId: number, dayIdx: number, slotIndex?: number) => void;
|
|
@@ -194,7 +220,9 @@ export declare function useScheduleShiftActions(board: ScheduleBoardApi, options
|
|
|
194
220
|
preset: {
|
|
195
221
|
empId: number;
|
|
196
222
|
dayIdx: number;
|
|
223
|
+
slotIndex?: number | undefined;
|
|
197
224
|
} | null;
|
|
225
|
+
kind: "employee" | "position";
|
|
198
226
|
};
|
|
199
227
|
swapSlot: import("vue").ComputedRef<import("../types").WorkSlot[]>;
|
|
200
228
|
swapCandidates: import("vue").ComputedRef<{
|
|
@@ -209,7 +237,7 @@ export declare function useScheduleShiftActions(board: ScheduleBoardApi, options
|
|
|
209
237
|
slot: import("../types").WorkSlot[];
|
|
210
238
|
soft: string | null;
|
|
211
239
|
} | null>;
|
|
212
|
-
openSwap: (empId: number, dayIdx: number, preset?: ScheduleSwapState["preset"], slotIndex?: number, slotCount?: number) => void;
|
|
240
|
+
openSwap: (empId: number, dayIdx: number, preset?: ScheduleSwapState["preset"], slotIndex?: number, slotCount?: number, kind?: ScheduleSwapState["kind"]) => void;
|
|
213
241
|
closeSwap: () => void;
|
|
214
242
|
confirmSwap: (toEmpId: number, toDayIdx: number) => void;
|
|
215
243
|
removeShift: (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
|
|
@@ -15,6 +19,7 @@ export interface ScheduleHeadcountRole {
|
|
|
15
19
|
* record (single position, like an assigned shift's "Position needed" row). */
|
|
16
20
|
export declare function useScheduleShiftPopover(board: ScheduleBoardApi, demand: ScheduleDemandApi, options?: {
|
|
17
21
|
onToast?: (message: string, type?: 'success' | 'error' | 'info') => void;
|
|
22
|
+
onAvailabilityWarning?: (message: string, onConfirm: () => void) => void;
|
|
18
23
|
}): {
|
|
19
24
|
open: import("vue").Ref<boolean, boolean>;
|
|
20
25
|
dayIdx: import("vue").Ref<number | null, number | null>;
|
|
@@ -75,6 +80,7 @@ export declare function useScheduleShiftPopover(board: ScheduleBoardApi, demand:
|
|
|
75
80
|
repeatDays: import("vue").Ref<boolean[], boolean[]>;
|
|
76
81
|
gapNote: import("vue").Ref<string | null, string | null>;
|
|
77
82
|
conflictNote: import("vue").Ref<string | null, string | null>;
|
|
83
|
+
availabilityConflictNote: import("vue").ComputedRef<string | null>;
|
|
78
84
|
grantSkill: import("vue").Ref<boolean, boolean>;
|
|
79
85
|
showGrantSkill: import("vue").ComputedRef<boolean>;
|
|
80
86
|
unassignMode: import("vue").Ref<boolean, boolean>;
|
|
@@ -171,6 +177,28 @@ export declare function useScheduleShiftPopover(board: ScheduleBoardApi, demand:
|
|
|
171
177
|
updatedAt?: string | undefined;
|
|
172
178
|
splitGroupId?: string | undefined;
|
|
173
179
|
}[] | null)[];
|
|
180
|
+
timeOff?: ({
|
|
181
|
+
timeOff: "approved" | "pending";
|
|
182
|
+
requestId?: string | undefined;
|
|
183
|
+
type?: "OFF_DAY" | "LEAVE" | undefined;
|
|
184
|
+
leaveType?: "ANNUAL" | "MEDICAL" | "EMERGENCY" | "UNPAID" | undefined;
|
|
185
|
+
reason: string;
|
|
186
|
+
half?: boolean | undefined;
|
|
187
|
+
halfPart?: "AM" | "PM" | undefined;
|
|
188
|
+
from?: string | undefined;
|
|
189
|
+
to?: string | undefined;
|
|
190
|
+
appliedOn?: string | undefined;
|
|
191
|
+
note?: string | undefined;
|
|
192
|
+
cert?: {
|
|
193
|
+
name: string;
|
|
194
|
+
size: string;
|
|
195
|
+
} | null | undefined;
|
|
196
|
+
bal?: {
|
|
197
|
+
type: string;
|
|
198
|
+
entitled: number;
|
|
199
|
+
used: number;
|
|
200
|
+
} | undefined;
|
|
201
|
+
} | null)[] | undefined;
|
|
174
202
|
remarks: {
|
|
175
203
|
author: string;
|
|
176
204
|
date: string;
|
|
@@ -203,6 +231,7 @@ export declare function useScheduleShiftPopover(board: ScheduleBoardApi, demand:
|
|
|
203
231
|
to: string;
|
|
204
232
|
}[] | undefined;
|
|
205
233
|
passcode?: string | undefined;
|
|
234
|
+
code?: string | undefined;
|
|
206
235
|
masterUser?: boolean | undefined;
|
|
207
236
|
}[]>;
|
|
208
237
|
isAssigned: import("vue").ComputedRef<boolean>;
|
|
@@ -212,9 +241,9 @@ export declare function useScheduleShiftPopover(board: ScheduleBoardApi, demand:
|
|
|
212
241
|
isSingleOpenRecord: import("vue").ComputedRef<boolean>;
|
|
213
242
|
totalHours: import("vue").ComputedRef<number>;
|
|
214
243
|
totalLabel: import("vue").ComputedRef<string>;
|
|
215
|
-
warnings: import("vue").ComputedRef<
|
|
216
|
-
openForEmployee: (forEmpId: number, day: number, roleHint?: string, hours?: ScheduleShiftSegment, slotIndex?: number) => void;
|
|
217
|
-
openForNewOpenShift: (day: number, roleHint?: string, hours?: ScheduleShiftSegment) => void;
|
|
244
|
+
warnings: import("vue").ComputedRef<ScheduleWarningPart[][]>;
|
|
245
|
+
openForEmployee: (forEmpId: number, day: number, roleHint?: string, hours?: ScheduleShiftSegment, slotIndex?: number, warnAvailability?: boolean) => void;
|
|
246
|
+
openForNewOpenShift: (day: number, roleHint?: string, hours?: ScheduleShiftSegment, requireAssignment?: boolean) => void;
|
|
218
247
|
openForEditOpenShift: (openShiftId: number) => void;
|
|
219
248
|
close: () => void;
|
|
220
249
|
removeSegment: (i: number) => void;
|
|
@@ -7,9 +7,14 @@ export interface CountryScheduleRules {
|
|
|
7
7
|
maxHoursPerMonth: number | null;
|
|
8
8
|
};
|
|
9
9
|
workingHours: {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
fullTime: {
|
|
11
|
+
minHoursPerDay: number | null;
|
|
12
|
+
maxHoursPerDay: number | null;
|
|
13
|
+
maxHoursPerWeek: number | null;
|
|
14
|
+
};
|
|
15
|
+
partTime: {
|
|
16
|
+
maxHoursPerWeek: number | null;
|
|
17
|
+
};
|
|
13
18
|
};
|
|
14
19
|
recurringPublicHolidays: Array<{
|
|
15
20
|
month: number;
|
|
@@ -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
|
|
@@ -9,6 +9,13 @@ export declare const i18nMessages: {
|
|
|
9
9
|
position: string;
|
|
10
10
|
general: string;
|
|
11
11
|
};
|
|
12
|
+
promoBanner: {
|
|
13
|
+
new: string;
|
|
14
|
+
message: string;
|
|
15
|
+
badge: string;
|
|
16
|
+
cta: string;
|
|
17
|
+
dismiss: string;
|
|
18
|
+
};
|
|
12
19
|
topbar: {
|
|
13
20
|
title: string;
|
|
14
21
|
today: string;
|
|
@@ -180,6 +187,13 @@ export declare const i18nMessages: {
|
|
|
180
187
|
position: string;
|
|
181
188
|
general: string;
|
|
182
189
|
};
|
|
190
|
+
promoBanner: {
|
|
191
|
+
new: string;
|
|
192
|
+
message: string;
|
|
193
|
+
badge: string;
|
|
194
|
+
cta: string;
|
|
195
|
+
dismiss: string;
|
|
196
|
+
};
|
|
183
197
|
topbar: {
|
|
184
198
|
title: string;
|
|
185
199
|
today: string;
|
|
@@ -351,6 +365,13 @@ export declare const i18nMessages: {
|
|
|
351
365
|
position: string;
|
|
352
366
|
general: string;
|
|
353
367
|
};
|
|
368
|
+
promoBanner: {
|
|
369
|
+
new: string;
|
|
370
|
+
message: string;
|
|
371
|
+
badge: string;
|
|
372
|
+
cta: string;
|
|
373
|
+
dismiss: string;
|
|
374
|
+
};
|
|
354
375
|
topbar: {
|
|
355
376
|
title: string;
|
|
356
377
|
today: string;
|
|
@@ -522,6 +543,13 @@ export declare const i18nMessages: {
|
|
|
522
543
|
position: string;
|
|
523
544
|
general: string;
|
|
524
545
|
};
|
|
546
|
+
promoBanner: {
|
|
547
|
+
new: string;
|
|
548
|
+
message: string;
|
|
549
|
+
badge: string;
|
|
550
|
+
cta: string;
|
|
551
|
+
dismiss: string;
|
|
552
|
+
};
|
|
525
553
|
topbar: {
|
|
526
554
|
title: string;
|
|
527
555
|
today: string;
|