@feedmepos/mf-hrm-portal 2.2.5-dev → 2.2.5-dev.10
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-DgcWZ3SZ.js → ApprovalCodeList-BsDMMSIz.js} +4 -4
- package/dist/{AuditLogList-vWKMMGvd.js → AuditLogList-CGNZdtmn.js} +18 -17
- package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-DuhXogXK.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-C6MoToqi.js} +2 -2
- package/dist/EmployeeList-B_OuDWWQ.js +787 -0
- package/dist/{FormItem.vue_vue_type_script_setup_true_lang-DPT2FoIc.js → FormItem.vue_vue_type_script_setup_true_lang-CUnlKsxk.js} +1 -1
- package/dist/{GrantUserList-BAW0C1bA.js → GrantUserList-Bd0lXmFo.js} +5 -5
- package/dist/{Main-NzpdRNB3.js → Main-B66lSeOv.js} +5 -5
- package/dist/{Main-Wr6cTqfM.js → Main-CzHSNHsH.js} +2 -2
- package/dist/{Main-B7Nn8CLQ.js → Main-njRQ1tFk.js} +9 -9
- package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-CqG0v0Sz.js +243 -0
- package/dist/{PermissionSetList-D6AFOleD.js → PermissionSetList-GTI6Cwj5.js} +18 -18
- package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Bzq2_BMn.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-C-QEQ-js.js} +1052 -1052
- package/dist/{RoleList-BuqpmXn_.js → RoleList-CmHgtM0m.js} +7 -7
- package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-SFqxftRx.js +426 -0
- package/dist/ScheduleButton.vue_vue_type_script_setup_true_lang-CrWfo-zF.js +690 -0
- package/dist/ScheduleGeneralPage-DxFxJN5j.js +320 -0
- package/dist/SchedulePage-cJDI3-E7.js +14647 -0
- package/dist/SchedulePositionPage-n1wUShIM.js +293 -0
- package/dist/ScheduleSelect.vue_vue_type_script_setup_true_lang-B8W4sTsA.js +242 -0
- package/dist/SelectFilter-CG13h83-.js +264 -0
- package/dist/TeamMemberList-ByZt3VqN.js +1154 -0
- package/dist/{TimesheetList-B5FyVyCz.js → TimesheetList-Dv0-W--W.js} +54 -53
- package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-C99Jr6Ax.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-DIo6h5-a.js} +2 -2
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
- package/dist/{app-8samJY5z.js → app-SCXGJ95F.js} +3146 -2553
- package/dist/app.js +1 -1
- package/dist/{dayjs.min-Ba4X_9nY.js → dayjs.min-DqMLPYv-.js} +1 -1
- package/dist/{employee-BcFgm8Rt.js → employee-DT_xYQkz.js} +3 -3
- package/dist/{iteration-Dhdew1jW.js → iteration-B5dB9ecy.js} +1 -1
- package/dist/{lodash-CJ3mHku0.js → lodash-CRHFapxI.js} +1 -1
- package/dist/{role-BViYS7RK.js → role-CJm8pXaw.js} +1 -1
- package/dist/{rule-Dxt1ZSQS.js → rule-AJm-eVzJ.js} +276 -272
- package/dist/src/api/schedule/index.d.ts +41 -0
- package/dist/src/components/form/OutletRoleAssignment.vue.d.ts +16 -0
- package/dist/src/components/layout/AppSidebar.vue.d.ts +2 -0
- package/dist/src/components/layout/PortalShell.vue.d.ts +12 -0
- package/dist/src/components/layout/withShell.d.ts +14 -0
- package/dist/src/helpers/outlet-role-assignment.d.ts +40 -0
- package/dist/src/helpers/rule.d.ts +15 -0
- package/dist/src/router/shared.d.ts +4 -1
- package/dist/src/types/schedule.d.ts +232 -0
- package/dist/src/views/scheduling/ScheduleGeneralPage.vue.d.ts +3 -0
- package/dist/src/views/scheduling/SchedulePage.vue.d.ts +3 -0
- package/dist/src/views/scheduling/SchedulePositionPage.vue.d.ts +3 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeIdentitySection.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeModal.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeModeStep.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeePosAccessSection.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeePositionsSection.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeSchedulingSection.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddPickPopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddPositionModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAllShiftsRow.vue.d.ts +22 -0
- package/dist/src/views/scheduling/components/ScheduleAreaRows.vue.d.ts +34 -0
- package/dist/src/views/scheduling/components/ScheduleAssignEmployeePopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAutoScheduleModal.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleButton.vue.d.ts +23 -0
- package/dist/src/views/scheduling/components/ScheduleChangeEmployeeModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleConfirmModal.vue.d.ts +24 -0
- package/dist/src/views/scheduling/components/ScheduleCostRail.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleDateRangePopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleDayNotePopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleDayTimeline.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleDemandRow.vue.d.ts +23 -0
- package/dist/src/views/scheduling/components/ScheduleDemandSheet.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleDotsIcon.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleEmployeeDetailPanel.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleEmployeeIdentity.vue.d.ts +17 -0
- package/dist/src/views/scheduling/components/ScheduleEmployeeMenu.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleFilterBar.vue.d.ts +18 -0
- package/dist/src/views/scheduling/components/ScheduleGapPopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleGridHeader.vue.d.ts +18 -0
- package/dist/src/views/scheduling/components/ScheduleGridSkeleton.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleLeaveEditModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleLegendBar.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWelcome.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWizard.vue.d.ts +9 -0
- package/dist/src/views/scheduling/components/ScheduleOpenShiftCardMenu.vue.d.ts +14 -0
- package/dist/src/views/scheduling/components/SchedulePdfPreview.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/SchedulePublishModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleReviewBar.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleSelect.vue.d.ts +54 -0
- package/dist/src/views/scheduling/components/ScheduleSelectExistingEmployeeModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleShiftCardMenu.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleShiftCell.vue.d.ts +35 -0
- package/dist/src/views/scheduling/components/ScheduleShiftHeadcountEditor.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleShiftImpact.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleShiftMoreOptions.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleShiftPopover.vue.d.ts +16 -0
- package/dist/src/views/scheduling/components/ScheduleShiftRepeatDaysRow.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleShiftSegmentsEditor.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleShiftWhoPicker.vue.d.ts +25 -0
- package/dist/src/views/scheduling/components/ScheduleStackPopover.vue.d.ts +14 -0
- package/dist/src/views/scheduling/components/ScheduleStaffRail.vue.d.ts +18 -0
- package/dist/src/views/scheduling/components/ScheduleStaffRows.vue.d.ts +60 -0
- package/dist/src/views/scheduling/components/ScheduleStatsRow.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleSwapShiftsModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleTimePickerPopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleTopbar.vue.d.ts +20 -0
- package/dist/src/views/scheduling/composables/schedule-add-employee-form.d.ts +72 -0
- package/dist/src/views/scheduling/composables/schedule-board-helpers.d.ts +38 -0
- package/dist/src/views/scheduling/composables/schedule-day-meta.d.ts +29 -0
- package/dist/src/views/scheduling/composables/schedule-employee-profile.d.ts +7 -0
- package/dist/src/views/scheduling/composables/schedule-popover-position.d.ts +16 -0
- package/dist/src/views/scheduling/composables/schedule-shift-time.d.ts +14 -0
- package/dist/src/views/scheduling/composables/schedule-week-cache.d.ts +10 -0
- package/dist/src/views/scheduling/composables/scheduleAutoSolver.d.ts +21 -0
- package/dist/src/views/scheduling/composables/useCollapsedList.d.ts +9 -0
- package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +98 -0
- package/dist/src/views/scheduling/composables/useScheduleAddPick.d.ts +73 -0
- package/dist/src/views/scheduling/composables/useScheduleAllShiftsRow.d.ts +77 -0
- package/dist/src/views/scheduling/composables/useScheduleAreaBoard.d.ts +50 -0
- package/dist/src/views/scheduling/composables/useScheduleAreaDragDrop.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useScheduleAssign.d.ts +122 -0
- package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +143 -0
- package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +426 -0
- package/dist/src/views/scheduling/composables/useScheduleCellState.d.ts +27 -0
- package/dist/src/views/scheduling/composables/useScheduleClashDetection.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useScheduleCopyWeek.d.ts +19 -0
- package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +43 -0
- package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +48 -0
- package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +77 -0
- package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +76 -0
- package/dist/src/views/scheduling/composables/useScheduleDemandRow.d.ts +45 -0
- package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +145 -0
- package/dist/src/views/scheduling/composables/useScheduleDragDrop.d.ts +22 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeIdentity.d.ts +41 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeMenu.d.ts +35 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeProfile.d.ts +16 -0
- package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +26 -0
- package/dist/src/views/scheduling/composables/useScheduleFilterBar.d.ts +14 -0
- package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +82 -0
- package/dist/src/views/scheduling/composables/useScheduleLeave.d.ts +70 -0
- package/dist/src/views/scheduling/composables/useScheduleLegend.d.ts +15 -0
- package/dist/src/views/scheduling/composables/useScheduleLegendBar.d.ts +35 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +1316 -0
- package/dist/src/views/scheduling/composables/useScheduleOpenShiftCard.d.ts +23 -0
- package/dist/src/views/scheduling/composables/useScheduleOutlet.d.ts +20 -0
- package/dist/src/views/scheduling/composables/useSchedulePositionModal.d.ts +50 -0
- package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +32 -0
- package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +93 -0
- package/dist/src/views/scheduling/composables/useScheduleRangeCalendar.d.ts +27 -0
- package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +189 -0
- package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +54 -0
- package/dist/src/views/scheduling/composables/useScheduleSetupBanner.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +163 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +181 -0
- package/dist/src/views/scheduling/composables/useScheduleStaffRail.d.ts +23 -0
- package/dist/src/views/scheduling/composables/useScheduleStatsRow.d.ts +25 -0
- package/dist/src/views/scheduling/composables/useScheduleTimePicker.d.ts +49 -0
- package/dist/src/views/scheduling/composables/useScheduleTopbar.d.ts +10 -0
- package/dist/src/views/scheduling/composables/useScheduleViewportFit.d.ts +9 -0
- package/dist/src/views/scheduling/data.d.ts +110 -0
- package/dist/src/views/scheduling/locales/index.d.ts +496 -0
- package/dist/src/views/scheduling/schedule-store.d.ts +151 -0
- package/dist/src/views/scheduling/types.d.ts +324 -0
- package/dist/src/views/team/components/PortalConditionForm.vue.d.ts +2 -2
- package/dist/src/views/team/condition-builders/ConditionBuilderForm.vue.d.ts +2 -2
- package/dist/src/views/team/member/TeamMemberMasterUser.vue.d.ts +12 -3
- package/dist/style.css +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{useReportPermissions-BiyAfGvZ.js → useReportPermissions-Cg3lV70m.js} +3 -3
- package/package.json +1 -1
- package/dist/EmployeeList-Cu4RxVQX.js +0 -889
- package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-BUI0Xsgc.js +0 -85
- package/dist/SelectFilter-ATOm0hdn.js +0 -269
- package/dist/TeamMemberList-M6HA9BWu.js +0 -1248
|
@@ -0,0 +1,496 @@
|
|
|
1
|
+
import * as enUS from './en-US.json';
|
|
2
|
+
export type AppMessagesSchema = typeof enUS;
|
|
3
|
+
export declare const i18nMessages: {
|
|
4
|
+
'en-US': {
|
|
5
|
+
scheduling: {
|
|
6
|
+
nav: {
|
|
7
|
+
section: string;
|
|
8
|
+
board: string;
|
|
9
|
+
position: string;
|
|
10
|
+
general: string;
|
|
11
|
+
};
|
|
12
|
+
topbar: {
|
|
13
|
+
today: string;
|
|
14
|
+
copy: string;
|
|
15
|
+
autoSchedule: string;
|
|
16
|
+
actions: string;
|
|
17
|
+
exportSchedule: string;
|
|
18
|
+
clearAllShifts: string;
|
|
19
|
+
comingSoon: string;
|
|
20
|
+
};
|
|
21
|
+
status: {
|
|
22
|
+
draft: string;
|
|
23
|
+
published: string;
|
|
24
|
+
};
|
|
25
|
+
staffRail: {
|
|
26
|
+
title: string;
|
|
27
|
+
dragHint: string;
|
|
28
|
+
searchPlaceholder: string;
|
|
29
|
+
sortLoad: string;
|
|
30
|
+
sortName: string;
|
|
31
|
+
sortHours: string;
|
|
32
|
+
sortCost: string;
|
|
33
|
+
addEmployee: string;
|
|
34
|
+
openShifts: string;
|
|
35
|
+
allCovered: string;
|
|
36
|
+
openRemaining: string;
|
|
37
|
+
noPositionsAdded: string;
|
|
38
|
+
noPositionTitle: string;
|
|
39
|
+
};
|
|
40
|
+
grid: {
|
|
41
|
+
employeeColumn: string;
|
|
42
|
+
scrollEarlier: string;
|
|
43
|
+
scrollLater: string;
|
|
44
|
+
};
|
|
45
|
+
costRail: {
|
|
46
|
+
title: string;
|
|
47
|
+
weekly: string;
|
|
48
|
+
monthlyOt: string;
|
|
49
|
+
used: string;
|
|
50
|
+
};
|
|
51
|
+
shiftEditor: {
|
|
52
|
+
title: string;
|
|
53
|
+
newTitle: string;
|
|
54
|
+
start: string;
|
|
55
|
+
end: string;
|
|
56
|
+
role: string;
|
|
57
|
+
headcount: string;
|
|
58
|
+
repeat: string;
|
|
59
|
+
splitShift: string;
|
|
60
|
+
addSplit: string;
|
|
61
|
+
delete: string;
|
|
62
|
+
save: string;
|
|
63
|
+
cancel: string;
|
|
64
|
+
};
|
|
65
|
+
assign: {
|
|
66
|
+
title: string;
|
|
67
|
+
searchPlaceholder: string;
|
|
68
|
+
noMatches: string;
|
|
69
|
+
assign: string;
|
|
70
|
+
};
|
|
71
|
+
leave: {
|
|
72
|
+
title: string;
|
|
73
|
+
approve: string;
|
|
74
|
+
reject: string;
|
|
75
|
+
remove: string;
|
|
76
|
+
appliedOn: string;
|
|
77
|
+
balance: string;
|
|
78
|
+
};
|
|
79
|
+
clash: {
|
|
80
|
+
title: string;
|
|
81
|
+
proceed: string;
|
|
82
|
+
cancel: string;
|
|
83
|
+
};
|
|
84
|
+
clearShifts: {
|
|
85
|
+
title: string;
|
|
86
|
+
body: string;
|
|
87
|
+
confirm: string;
|
|
88
|
+
cancel: string;
|
|
89
|
+
};
|
|
90
|
+
addEmployee: {
|
|
91
|
+
title: string;
|
|
92
|
+
stepDetails: string;
|
|
93
|
+
stepAvailability: string;
|
|
94
|
+
name: string;
|
|
95
|
+
role: string;
|
|
96
|
+
location: string;
|
|
97
|
+
department: string;
|
|
98
|
+
compGroup: string;
|
|
99
|
+
employment: string;
|
|
100
|
+
fullTime: string;
|
|
101
|
+
partTime: string;
|
|
102
|
+
weeklyAvailability: string;
|
|
103
|
+
timeOffDays: string;
|
|
104
|
+
selectExisting: string;
|
|
105
|
+
back: string;
|
|
106
|
+
next: string;
|
|
107
|
+
create: string;
|
|
108
|
+
};
|
|
109
|
+
selectExisting: {
|
|
110
|
+
title: string;
|
|
111
|
+
subtitle: string;
|
|
112
|
+
};
|
|
113
|
+
employeeProfile: {
|
|
114
|
+
weekHours: string;
|
|
115
|
+
remarks: string;
|
|
116
|
+
positions: string;
|
|
117
|
+
rate: string;
|
|
118
|
+
};
|
|
119
|
+
dateRange: {
|
|
120
|
+
today: string;
|
|
121
|
+
thisWeek: string;
|
|
122
|
+
nextWeek: string;
|
|
123
|
+
};
|
|
124
|
+
comingSoon: string;
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
'zh-CN': {
|
|
128
|
+
scheduling: {
|
|
129
|
+
nav: {
|
|
130
|
+
section: string;
|
|
131
|
+
board: string;
|
|
132
|
+
position: string;
|
|
133
|
+
general: string;
|
|
134
|
+
};
|
|
135
|
+
topbar: {
|
|
136
|
+
today: string;
|
|
137
|
+
copy: string;
|
|
138
|
+
autoSchedule: string;
|
|
139
|
+
actions: string;
|
|
140
|
+
exportSchedule: string;
|
|
141
|
+
clearAllShifts: string;
|
|
142
|
+
comingSoon: string;
|
|
143
|
+
};
|
|
144
|
+
status: {
|
|
145
|
+
draft: string;
|
|
146
|
+
published: string;
|
|
147
|
+
};
|
|
148
|
+
staffRail: {
|
|
149
|
+
title: string;
|
|
150
|
+
dragHint: string;
|
|
151
|
+
searchPlaceholder: string;
|
|
152
|
+
sortLoad: string;
|
|
153
|
+
sortName: string;
|
|
154
|
+
sortHours: string;
|
|
155
|
+
sortCost: string;
|
|
156
|
+
addEmployee: string;
|
|
157
|
+
openShifts: string;
|
|
158
|
+
allCovered: string;
|
|
159
|
+
openRemaining: string;
|
|
160
|
+
noPositionsAdded: string;
|
|
161
|
+
noPositionTitle: string;
|
|
162
|
+
};
|
|
163
|
+
grid: {
|
|
164
|
+
employeeColumn: string;
|
|
165
|
+
scrollEarlier: string;
|
|
166
|
+
scrollLater: string;
|
|
167
|
+
};
|
|
168
|
+
costRail: {
|
|
169
|
+
title: string;
|
|
170
|
+
weekly: string;
|
|
171
|
+
monthlyOt: string;
|
|
172
|
+
used: string;
|
|
173
|
+
};
|
|
174
|
+
shiftEditor: {
|
|
175
|
+
title: string;
|
|
176
|
+
newTitle: string;
|
|
177
|
+
start: string;
|
|
178
|
+
end: string;
|
|
179
|
+
role: string;
|
|
180
|
+
headcount: string;
|
|
181
|
+
repeat: string;
|
|
182
|
+
splitShift: string;
|
|
183
|
+
addSplit: string;
|
|
184
|
+
delete: string;
|
|
185
|
+
save: string;
|
|
186
|
+
cancel: string;
|
|
187
|
+
};
|
|
188
|
+
assign: {
|
|
189
|
+
title: string;
|
|
190
|
+
searchPlaceholder: string;
|
|
191
|
+
noMatches: string;
|
|
192
|
+
assign: string;
|
|
193
|
+
};
|
|
194
|
+
leave: {
|
|
195
|
+
title: string;
|
|
196
|
+
approve: string;
|
|
197
|
+
reject: string;
|
|
198
|
+
remove: string;
|
|
199
|
+
appliedOn: string;
|
|
200
|
+
balance: string;
|
|
201
|
+
};
|
|
202
|
+
clash: {
|
|
203
|
+
title: string;
|
|
204
|
+
proceed: string;
|
|
205
|
+
cancel: string;
|
|
206
|
+
};
|
|
207
|
+
clearShifts: {
|
|
208
|
+
title: string;
|
|
209
|
+
body: string;
|
|
210
|
+
confirm: string;
|
|
211
|
+
cancel: string;
|
|
212
|
+
};
|
|
213
|
+
addEmployee: {
|
|
214
|
+
title: string;
|
|
215
|
+
stepDetails: string;
|
|
216
|
+
stepAvailability: string;
|
|
217
|
+
name: string;
|
|
218
|
+
role: string;
|
|
219
|
+
location: string;
|
|
220
|
+
department: string;
|
|
221
|
+
compGroup: string;
|
|
222
|
+
employment: string;
|
|
223
|
+
fullTime: string;
|
|
224
|
+
partTime: string;
|
|
225
|
+
weeklyAvailability: string;
|
|
226
|
+
timeOffDays: string;
|
|
227
|
+
selectExisting: string;
|
|
228
|
+
back: string;
|
|
229
|
+
next: string;
|
|
230
|
+
create: string;
|
|
231
|
+
};
|
|
232
|
+
selectExisting: {
|
|
233
|
+
title: string;
|
|
234
|
+
subtitle: string;
|
|
235
|
+
};
|
|
236
|
+
employeeProfile: {
|
|
237
|
+
weekHours: string;
|
|
238
|
+
remarks: string;
|
|
239
|
+
positions: string;
|
|
240
|
+
rate: string;
|
|
241
|
+
};
|
|
242
|
+
dateRange: {
|
|
243
|
+
today: string;
|
|
244
|
+
thisWeek: string;
|
|
245
|
+
nextWeek: string;
|
|
246
|
+
};
|
|
247
|
+
comingSoon: string;
|
|
248
|
+
};
|
|
249
|
+
};
|
|
250
|
+
'th-TH': {
|
|
251
|
+
scheduling: {
|
|
252
|
+
nav: {
|
|
253
|
+
section: string;
|
|
254
|
+
board: string;
|
|
255
|
+
position: string;
|
|
256
|
+
general: string;
|
|
257
|
+
};
|
|
258
|
+
topbar: {
|
|
259
|
+
today: string;
|
|
260
|
+
copy: string;
|
|
261
|
+
autoSchedule: string;
|
|
262
|
+
actions: string;
|
|
263
|
+
exportSchedule: string;
|
|
264
|
+
clearAllShifts: string;
|
|
265
|
+
comingSoon: string;
|
|
266
|
+
};
|
|
267
|
+
status: {
|
|
268
|
+
draft: string;
|
|
269
|
+
published: string;
|
|
270
|
+
};
|
|
271
|
+
staffRail: {
|
|
272
|
+
title: string;
|
|
273
|
+
dragHint: string;
|
|
274
|
+
searchPlaceholder: string;
|
|
275
|
+
sortLoad: string;
|
|
276
|
+
sortName: string;
|
|
277
|
+
sortHours: string;
|
|
278
|
+
sortCost: string;
|
|
279
|
+
addEmployee: string;
|
|
280
|
+
openShifts: string;
|
|
281
|
+
allCovered: string;
|
|
282
|
+
openRemaining: string;
|
|
283
|
+
noPositionsAdded: string;
|
|
284
|
+
noPositionTitle: string;
|
|
285
|
+
};
|
|
286
|
+
grid: {
|
|
287
|
+
employeeColumn: string;
|
|
288
|
+
scrollEarlier: string;
|
|
289
|
+
scrollLater: string;
|
|
290
|
+
};
|
|
291
|
+
costRail: {
|
|
292
|
+
title: string;
|
|
293
|
+
weekly: string;
|
|
294
|
+
monthlyOt: string;
|
|
295
|
+
used: string;
|
|
296
|
+
};
|
|
297
|
+
shiftEditor: {
|
|
298
|
+
title: string;
|
|
299
|
+
newTitle: string;
|
|
300
|
+
start: string;
|
|
301
|
+
end: string;
|
|
302
|
+
role: string;
|
|
303
|
+
headcount: string;
|
|
304
|
+
repeat: string;
|
|
305
|
+
splitShift: string;
|
|
306
|
+
addSplit: string;
|
|
307
|
+
delete: string;
|
|
308
|
+
save: string;
|
|
309
|
+
cancel: string;
|
|
310
|
+
};
|
|
311
|
+
assign: {
|
|
312
|
+
title: string;
|
|
313
|
+
searchPlaceholder: string;
|
|
314
|
+
noMatches: string;
|
|
315
|
+
assign: string;
|
|
316
|
+
};
|
|
317
|
+
leave: {
|
|
318
|
+
title: string;
|
|
319
|
+
approve: string;
|
|
320
|
+
reject: string;
|
|
321
|
+
remove: string;
|
|
322
|
+
appliedOn: string;
|
|
323
|
+
balance: string;
|
|
324
|
+
};
|
|
325
|
+
clash: {
|
|
326
|
+
title: string;
|
|
327
|
+
proceed: string;
|
|
328
|
+
cancel: string;
|
|
329
|
+
};
|
|
330
|
+
clearShifts: {
|
|
331
|
+
title: string;
|
|
332
|
+
body: string;
|
|
333
|
+
confirm: string;
|
|
334
|
+
cancel: string;
|
|
335
|
+
};
|
|
336
|
+
addEmployee: {
|
|
337
|
+
title: string;
|
|
338
|
+
stepDetails: string;
|
|
339
|
+
stepAvailability: string;
|
|
340
|
+
name: string;
|
|
341
|
+
role: string;
|
|
342
|
+
location: string;
|
|
343
|
+
department: string;
|
|
344
|
+
compGroup: string;
|
|
345
|
+
employment: string;
|
|
346
|
+
fullTime: string;
|
|
347
|
+
partTime: string;
|
|
348
|
+
weeklyAvailability: string;
|
|
349
|
+
timeOffDays: string;
|
|
350
|
+
selectExisting: string;
|
|
351
|
+
back: string;
|
|
352
|
+
next: string;
|
|
353
|
+
create: string;
|
|
354
|
+
};
|
|
355
|
+
selectExisting: {
|
|
356
|
+
title: string;
|
|
357
|
+
subtitle: string;
|
|
358
|
+
};
|
|
359
|
+
employeeProfile: {
|
|
360
|
+
weekHours: string;
|
|
361
|
+
remarks: string;
|
|
362
|
+
positions: string;
|
|
363
|
+
rate: string;
|
|
364
|
+
};
|
|
365
|
+
dateRange: {
|
|
366
|
+
today: string;
|
|
367
|
+
thisWeek: string;
|
|
368
|
+
nextWeek: string;
|
|
369
|
+
};
|
|
370
|
+
comingSoon: string;
|
|
371
|
+
};
|
|
372
|
+
};
|
|
373
|
+
'zh-Hant': {
|
|
374
|
+
scheduling: {
|
|
375
|
+
nav: {
|
|
376
|
+
section: string;
|
|
377
|
+
board: string;
|
|
378
|
+
position: string;
|
|
379
|
+
general: string;
|
|
380
|
+
};
|
|
381
|
+
topbar: {
|
|
382
|
+
today: string;
|
|
383
|
+
copy: string;
|
|
384
|
+
autoSchedule: string;
|
|
385
|
+
actions: string;
|
|
386
|
+
exportSchedule: string;
|
|
387
|
+
clearAllShifts: string;
|
|
388
|
+
comingSoon: string;
|
|
389
|
+
};
|
|
390
|
+
status: {
|
|
391
|
+
draft: string;
|
|
392
|
+
published: string;
|
|
393
|
+
};
|
|
394
|
+
staffRail: {
|
|
395
|
+
title: string;
|
|
396
|
+
dragHint: string;
|
|
397
|
+
searchPlaceholder: string;
|
|
398
|
+
sortLoad: string;
|
|
399
|
+
sortName: string;
|
|
400
|
+
sortHours: string;
|
|
401
|
+
sortCost: string;
|
|
402
|
+
addEmployee: string;
|
|
403
|
+
openShifts: string;
|
|
404
|
+
allCovered: string;
|
|
405
|
+
openRemaining: string;
|
|
406
|
+
noPositionsAdded: string;
|
|
407
|
+
noPositionTitle: string;
|
|
408
|
+
};
|
|
409
|
+
grid: {
|
|
410
|
+
employeeColumn: string;
|
|
411
|
+
scrollEarlier: string;
|
|
412
|
+
scrollLater: string;
|
|
413
|
+
};
|
|
414
|
+
costRail: {
|
|
415
|
+
title: string;
|
|
416
|
+
weekly: string;
|
|
417
|
+
monthlyOt: string;
|
|
418
|
+
used: string;
|
|
419
|
+
};
|
|
420
|
+
shiftEditor: {
|
|
421
|
+
title: string;
|
|
422
|
+
newTitle: string;
|
|
423
|
+
start: string;
|
|
424
|
+
end: string;
|
|
425
|
+
role: string;
|
|
426
|
+
headcount: string;
|
|
427
|
+
repeat: string;
|
|
428
|
+
splitShift: string;
|
|
429
|
+
addSplit: string;
|
|
430
|
+
delete: string;
|
|
431
|
+
save: string;
|
|
432
|
+
cancel: string;
|
|
433
|
+
};
|
|
434
|
+
assign: {
|
|
435
|
+
title: string;
|
|
436
|
+
searchPlaceholder: string;
|
|
437
|
+
noMatches: string;
|
|
438
|
+
assign: string;
|
|
439
|
+
};
|
|
440
|
+
leave: {
|
|
441
|
+
title: string;
|
|
442
|
+
approve: string;
|
|
443
|
+
reject: string;
|
|
444
|
+
remove: string;
|
|
445
|
+
appliedOn: string;
|
|
446
|
+
balance: string;
|
|
447
|
+
};
|
|
448
|
+
clash: {
|
|
449
|
+
title: string;
|
|
450
|
+
proceed: string;
|
|
451
|
+
cancel: string;
|
|
452
|
+
};
|
|
453
|
+
clearShifts: {
|
|
454
|
+
title: string;
|
|
455
|
+
body: string;
|
|
456
|
+
confirm: string;
|
|
457
|
+
cancel: string;
|
|
458
|
+
};
|
|
459
|
+
addEmployee: {
|
|
460
|
+
title: string;
|
|
461
|
+
stepDetails: string;
|
|
462
|
+
stepAvailability: string;
|
|
463
|
+
name: string;
|
|
464
|
+
role: string;
|
|
465
|
+
location: string;
|
|
466
|
+
department: string;
|
|
467
|
+
compGroup: string;
|
|
468
|
+
employment: string;
|
|
469
|
+
fullTime: string;
|
|
470
|
+
partTime: string;
|
|
471
|
+
weeklyAvailability: string;
|
|
472
|
+
timeOffDays: string;
|
|
473
|
+
selectExisting: string;
|
|
474
|
+
back: string;
|
|
475
|
+
next: string;
|
|
476
|
+
create: string;
|
|
477
|
+
};
|
|
478
|
+
selectExisting: {
|
|
479
|
+
title: string;
|
|
480
|
+
subtitle: string;
|
|
481
|
+
};
|
|
482
|
+
employeeProfile: {
|
|
483
|
+
weekHours: string;
|
|
484
|
+
remarks: string;
|
|
485
|
+
positions: string;
|
|
486
|
+
rate: string;
|
|
487
|
+
};
|
|
488
|
+
dateRange: {
|
|
489
|
+
today: string;
|
|
490
|
+
thisWeek: string;
|
|
491
|
+
nextWeek: string;
|
|
492
|
+
};
|
|
493
|
+
comingSoon: string;
|
|
494
|
+
};
|
|
495
|
+
};
|
|
496
|
+
};
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import type { IFdtoPosUserSummary } from '@/types/employee';
|
|
2
|
+
import type { FdtoScheduleAssignment, FdtoScheduleAutoScheduleReq, FdtoScheduleAutoScheduleResult, FdtoScheduleBoard, FdtoScheduleBulkUpdateAssignmentStatusReq, FdtoScheduleCreateEmployeeProfileReq, FdtoScheduleSaveAssignmentReq, FdtoScheduleSavePositionReq, FdtoScheduleSaveScheduleDayReq, FdtoScheduleUpdateEmployeeProfileReq, ScheduleReplaceDemandReq } from '@/types/schedule';
|
|
3
|
+
/** dayjs-free local-date key — the board's own isoDateKey, repeated here so the store does not
|
|
4
|
+
* have to import a composable. Local Y/M/D, never UTC: a BSON-free 'YYYY-MM-DD' that survives
|
|
5
|
+
* a timezone west of Greenwich. */
|
|
6
|
+
export declare function isoDate(d: Date): string;
|
|
7
|
+
export declare const payload: import("vue").ShallowRef<FdtoScheduleBoard | null, FdtoScheduleBoard | null>;
|
|
8
|
+
export declare const loading: import("vue").Ref<boolean, boolean>;
|
|
9
|
+
/** The POS roster (who the board's rows are) is fetched separately from the board window. */
|
|
10
|
+
export declare const rosterLoading: import("vue").Ref<boolean, boolean>;
|
|
11
|
+
export declare const loadError: import("vue").Ref<string | null, string | null>;
|
|
12
|
+
/** Whether this outlet has finished setting up scheduling (onboarding). The schedule settings
|
|
13
|
+
* will carry this, but the backend has no such field yet, so it is a plain flag that defaults to
|
|
14
|
+
* "not finished" — the setup banner keys off it. TODO: when the field exists, set it from the
|
|
15
|
+
* settings payload where `payload` is applied (and flip it when the onboarding wizard finishes);
|
|
16
|
+
* nothing else needs to change. */
|
|
17
|
+
export declare const scheduleSetupCompleted: import("vue").Ref<boolean, boolean>;
|
|
18
|
+
/** Bumped every time `payload` is replaced. Anything that caches a derived view of the data
|
|
19
|
+
* — the board's per-week buckets above all — watches this and rebuilds. */
|
|
20
|
+
export declare const dataVersion: import("vue").Ref<number, number>;
|
|
21
|
+
/** The outlet the board is reading. A ref rather than a plain variable so the picker's label
|
|
22
|
+
* follows a switch immediately, without waiting for the new outlet's payload to land. */
|
|
23
|
+
export declare const outletId: import("vue").Ref<string, string>;
|
|
24
|
+
/** Who actually works this outlet, per the POS roster (`restaurantRole` on the pos-user
|
|
25
|
+
* record) — the board's roster is everyone here, not everyone with a Schedule EmployeeProfile.
|
|
26
|
+
* A profile stays business-wide scheduling settings for a person (pay/positions/availability);
|
|
27
|
+
* it no longer decides who shows up at all, only what shows once they do. */
|
|
28
|
+
export declare const restaurantEmployees: import("vue").Ref<{
|
|
29
|
+
_id: string;
|
|
30
|
+
name: string;
|
|
31
|
+
code?: string | undefined;
|
|
32
|
+
passcode: string;
|
|
33
|
+
isMasterUser: boolean;
|
|
34
|
+
isRestricted: boolean;
|
|
35
|
+
restaurantRole: {
|
|
36
|
+
restaurantId: string;
|
|
37
|
+
roleId: string;
|
|
38
|
+
}[];
|
|
39
|
+
}[], IFdtoPosUserSummary[] | {
|
|
40
|
+
_id: string;
|
|
41
|
+
name: string;
|
|
42
|
+
code?: string | undefined;
|
|
43
|
+
passcode: string;
|
|
44
|
+
isMasterUser: boolean;
|
|
45
|
+
isRestricted: boolean;
|
|
46
|
+
restaurantRole: {
|
|
47
|
+
restaurantId: string;
|
|
48
|
+
roleId: string;
|
|
49
|
+
}[];
|
|
50
|
+
}[]>;
|
|
51
|
+
/** Points the board at an outlet. Switching throws the held window away rather than widening
|
|
52
|
+
* it — two outlets' rosters are not one dataset, and half of each is not a schedule.
|
|
53
|
+
*
|
|
54
|
+
* Returns whether anything changed, so a caller that has to follow up with a fetch can skip
|
|
55
|
+
* the round trip when the picker was set to what was already showing. */
|
|
56
|
+
export declare function setOutlet(restaurantId: string): boolean;
|
|
57
|
+
/** Fetches (once per outlet) who the POS roster says works here, straight off the same
|
|
58
|
+
* `restaurantIds`-filterable endpoint the portal's own Employee List uses — no Schedule-side
|
|
59
|
+
* concept of outlet membership to keep in sync with it. Bumps `dataVersion` on arrival so the
|
|
60
|
+
* board's per-week employee cache (keyed off it already) picks the roster up without a second,
|
|
61
|
+
* separate invalidation path. A generous page size rather than looping pages: real restaurant
|
|
62
|
+
* headcounts sit nowhere near it. */
|
|
63
|
+
export declare function ensureRestaurantEmployeesLoaded(restaurantId: string): Promise<void>;
|
|
64
|
+
/** Re-reads this outlet's POS roster. The roster is what the board's rows are built from and is
|
|
65
|
+
* otherwise fetched once per outlet, so any write that changes who works here (add, remove)
|
|
66
|
+
* has to call this for the grid to show it. */
|
|
67
|
+
export declare function refreshRestaurantEmployees(): Promise<void>;
|
|
68
|
+
/** Gives an existing POS user a role at this outlet, so they land on its roster. */
|
|
69
|
+
export declare function addEmployeeToOutlet(employeeId: string, roleId: string): Promise<void>;
|
|
70
|
+
/** Takes a POS user off the given outlets' rosters; their other outlets are untouched. */
|
|
71
|
+
export declare function removeEmployeeFromOutlets(employeeId: string, restaurantIds: string[]): Promise<void>;
|
|
72
|
+
/** Takes a POS user off this outlet's roster only. */
|
|
73
|
+
export declare function removeEmployeeFromOutlet(employeeId: string): Promise<void>;
|
|
74
|
+
/** Every outlet each person works at (POS user id → outlet ids). The roster above is fetched
|
|
75
|
+
* FILTERED to one outlet, and a filtered read describes a person by that outlet alone, so the
|
|
76
|
+
* full list has to come from an unfiltered read. Paged until the total is covered. A failure
|
|
77
|
+
* leaves the map empty rather than failing the board: locations are display-only here. */
|
|
78
|
+
export declare const employeeOutletIds: import("vue").ShallowRef<Record<string, string[]>, Record<string, string[]>>;
|
|
79
|
+
/** Everyone in the business (POS user summaries: name, passcode, outlet roles), kept once and
|
|
80
|
+
* shared by the locations map, "select existing employee", passcode prefill and the role edits —
|
|
81
|
+
* the plain `/pos-users` read they used before returns every user-outlet row in one slow call. */
|
|
82
|
+
export declare const businessEmployees: import("vue").ShallowRef<IFdtoPosUserSummary[], IFdtoPosUserSummary[]>;
|
|
83
|
+
/** The cached business roster, fetched on first use. `force` re-reads it (after a write, or to
|
|
84
|
+
* refresh a list that is already on screen). Concurrent callers share one request. */
|
|
85
|
+
export declare function ensureBusinessEmployees(force?: boolean): Promise<IFdtoPosUserSummary[]>;
|
|
86
|
+
/** Guarantees the week starting `weekStart` is in memory, fetching a padded window around it
|
|
87
|
+
* if it is not. Safe to call on every navigation: a week already covered costs nothing. */
|
|
88
|
+
export declare function ensureWeekLoaded(weekStart: Date): Promise<void>;
|
|
89
|
+
/** Re-reads the currently held window from the API — what a write path calls once it has
|
|
90
|
+
* saved, and what the page offers after a failure. */
|
|
91
|
+
export declare function reload(): Promise<void>;
|
|
92
|
+
/** Puts an existing employee onto the current outlet's schedule. Pushes the record the API
|
|
93
|
+
* hands back straight onto the held payload instead of reloading — a reload re-derives every
|
|
94
|
+
* employee's shifts from what's actually stored, and shifts have no write path of their own
|
|
95
|
+
* yet, so it would silently discard any shift assigned to anyone else on the board earlier in
|
|
96
|
+
* the same sitting (the same bug shape saveDemand's callers used to have). data.ts's
|
|
97
|
+
* `employeeNumberOf` assigns the new hire a board id the next time it runs, same as it does for
|
|
98
|
+
* everyone loaded from the initial read, so nothing here needs to know that mapping itself.
|
|
99
|
+
* Throws on failure (a duplicate profile, a network error) — the caller decides how to show
|
|
100
|
+
* that, this just doesn't pretend it succeeded. */
|
|
101
|
+
export declare function createEmployeeProfile(req: FdtoScheduleCreateEmployeeProfileReq): Promise<void>;
|
|
102
|
+
/** Edits a profile already on this outlet's schedule. The caller (useScheduleAddEmployee's
|
|
103
|
+
* `updateExisting`) applies the form to the live `Employee` object itself for instant feedback,
|
|
104
|
+
* so this does not bump `dataVersion` — nothing needs a re-derive right now. It still patches
|
|
105
|
+
* the entry inside `payload.value.employees` in place, though: that raw array is what the NEXT
|
|
106
|
+
* re-derive (the next employee added, the next outlet reload) rebuilds every `Employee` from,
|
|
107
|
+
* and a stale entry there would silently revert this edit the moment something else triggers
|
|
108
|
+
* one, exactly the trap `createEmployeeProfile` above avoids by pushing onto the same array. */
|
|
109
|
+
export declare function updateEmployeeProfile(employeeId: string, req: FdtoScheduleUpdateEmployeeProfileReq): Promise<void>;
|
|
110
|
+
/** Positions are business-level, not per-outlet (see `ScheduleAPI.createPosition`'s own note)
|
|
111
|
+
* — so unlike the shift-shaped writes below, there's no "discards an unsaved shift" risk in
|
|
112
|
+
* refreshing the catalogue here: `payload` is reassigned as a NEW top-level object (same
|
|
113
|
+
* `employees`/`assignments`/etc. array references, only `positions` itself replaced) so
|
|
114
|
+
* data.ts's `watch(payload, applyCatalogues)` re-derives `POSITIONS`/`POSITION_RECORDS` —
|
|
115
|
+
* without touching `dataVersion`, which would otherwise invalidate the board's per-week
|
|
116
|
+
* employee cache and risk reverting a shift committed earlier in the same sitting that hasn't
|
|
117
|
+
* round-tripped into `payload.value.assignments` yet (see createAssignment's own note below). */
|
|
118
|
+
export declare function createPosition(req: FdtoScheduleSavePositionReq): Promise<void>;
|
|
119
|
+
export declare function updatePosition(id: string, req: FdtoScheduleSavePositionReq): Promise<void>;
|
|
120
|
+
export declare function deletePosition(id: string): Promise<void>;
|
|
121
|
+
/** Replaces one date's note/holiday-mark. Same shallow `payload` reassignment as the position
|
|
122
|
+
* writes above and for the same reason: `useScheduleBoard.ts` seeds its `dayNotes`/
|
|
123
|
+
* `manualHolidays` state from `payload.value.days` on every `payload` reassignment, so this has
|
|
124
|
+
* to land there for that seed to stay correct — without a `dataVersion` bump, which would
|
|
125
|
+
* invalidate the per-week employee cache and risk reverting an unsaved shift. */
|
|
126
|
+
export declare function saveScheduleDay(date: string, req: FdtoScheduleSaveScheduleDayReq): Promise<void>;
|
|
127
|
+
/** Replaces one date/weekday's UI demand by expanding every period into flat ShiftDemand rows.
|
|
128
|
+
* Position-specific headcount becomes its own row; any remaining headcount becomes an
|
|
129
|
+
* unpositioned row for the same time range. */
|
|
130
|
+
export declare function saveDemand(req: ScheduleReplaceDemandReq): Promise<void>;
|
|
131
|
+
/** Copies one date's own demand rows onto another date, as that date's own rows. A date that
|
|
132
|
+
* already has demand of its own is left alone (nothing is overwritten), and a source date with
|
|
133
|
+
* none has nothing to copy: the standing weekday rule already covers the same weekday in every
|
|
134
|
+
* week, so repeating it per date would only shadow later edits to the rule. Returns how many rows
|
|
135
|
+
* were written. */
|
|
136
|
+
export declare function copyDateDemand(fromDate: string, toDate: string): Promise<number>;
|
|
137
|
+
export declare function generateAutoSchedule(req: FdtoScheduleAutoScheduleReq): Promise<FdtoScheduleAutoScheduleResult>;
|
|
138
|
+
/** A one-off shift assignment — someone working these hours on this date, not answering any
|
|
139
|
+
* Shift requirement. Deliberately does not reload: unlike `createEmployeeProfile` above, there
|
|
140
|
+
* is nothing here a reload could bring back that the caller doesn't already have — `commitShift`
|
|
141
|
+
* writes `assignmentId` onto the slot itself once this resolves, and a reload would only risk
|
|
142
|
+
* discarding some OTHER unsaved shift elsewhere on the board (shifts have no write path of
|
|
143
|
+
* their own to read back from yet). */
|
|
144
|
+
export declare function createAssignment(req: FdtoScheduleSaveAssignmentReq): Promise<FdtoScheduleAssignment>;
|
|
145
|
+
export declare function updateAssignment(id: string, req: FdtoScheduleSaveAssignmentReq): Promise<FdtoScheduleAssignment | null>;
|
|
146
|
+
/** Deletes a batch of existing assignments in a single request — see
|
|
147
|
+
* `ScheduleAPI.deleteAssignments`. Deleting one is just this with a single-id array. */
|
|
148
|
+
export declare function deleteAssignments(ids: string[]): Promise<void>;
|
|
149
|
+
/** Flips a batch of existing assignments to one status in a single request — see
|
|
150
|
+
* `ScheduleAPI.bulkUpdateAssignmentStatus`. */
|
|
151
|
+
export declare function bulkUpdateAssignmentStatus(req: FdtoScheduleBulkUpdateAssignmentStatusReq): Promise<FdtoScheduleAssignment[]>;
|