@feedmepos/mf-hrm-portal 2.3.2-dev → 2.3.2-dev.3
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-xOyDG5ug.js → ApprovalCodeList-D3U4nvlF.js} +7 -7
- package/dist/AuditLogList-qGCW7tf0.js +1950 -0
- package/dist/ConditionBuilderForm.vue_vue_type_script_setup_true_lang-B0VcRYUg.js +438 -0
- package/dist/EmployeeList-Bd73xDCX.js +776 -0
- package/dist/{FormItem.vue_vue_type_script_setup_true_lang-DPT2FoIc.js → FormItem.vue_vue_type_script_setup_true_lang-cLEnrtC6.js} +6 -6
- package/dist/{GrantUserList-CUkuf3VV.js → GrantUserList-C71pal0N.js} +8 -8
- package/dist/{Main-Cg9SOzcz.js → Main-BWJPyEU1.js} +5 -5
- package/dist/{Main-BcixH7R5.js → Main-CCdTWngg.js} +11 -11
- package/dist/Main-DGf0bQvy.js +96 -0
- package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-CqG0v0Sz.js +243 -0
- package/dist/{PermissionSetList-I3u2_qHR.js → PermissionSetList-BS-oBunI.js} +35 -33
- package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-CkOAT-oX.js +4167 -0
- package/dist/PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-DQcgZ0nF.js +35 -0
- package/dist/ResponsiveContextMenu.vue_vue_type_script_setup_true_lang-mSJFKo7r.js +132 -0
- package/dist/{RoleList-ALmAwN0U.js → RoleList-B_7UnVNb.js} +21 -20
- package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-BXihM4sl.js +544 -0
- package/dist/ScheduleGeneralPage-DpNvWNGs.js +811 -0
- package/dist/ScheduleModal.vue_vue_type_script_setup_true_lang-DIYLOF9N.js +2556 -0
- package/dist/SchedulePage-QW-cYvu2.js +19458 -0
- package/dist/SchedulePositionPage-BtFfVo2N.js +282 -0
- package/dist/SelectFilter-BXeVKgHN.js +264 -0
- package/dist/TeamMemberList-DoisBYnk.js +1154 -0
- package/dist/{TimesheetList-CECFKt7H.js → TimesheetList-D-bESKe5.js} +11 -11
- package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-RIyoAmeb.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-D0zAVqCa.js} +3 -3
- package/dist/{app-CdrnR_Pw.js → app-D-MUq9Ab.js} +11435 -6652
- package/dist/app.js +3 -3
- package/dist/{approval-code-Bwvwehz9.js → approval-code-BXUiojPH.js} +1 -1
- package/dist/{dayjs.min-BO8bcI17.js → dayjs.min-BZ1pM-6M.js} +13 -13
- package/dist/{employee-Dg-J9goA.js → employee-HQEU8fjb.js} +66 -62
- package/dist/{grant-user-whFOaPZI.js → grant-user-CBJ3gEgW.js} +1 -1
- package/dist/{iteration-ZpERYj3o.js → iteration-ogxW2-Tv.js} +1 -1
- package/dist/{lodash-7SZBZ8VQ.js → lodash-Def4gaas.js} +1 -1
- package/dist/object-Dwyg2LgX.js +16 -0
- package/dist/restaurant-D2mfKHaH.js +1880 -0
- package/dist/{role-C6hFKOfU.js → role-JDoDFVd9.js} +4 -5
- package/dist/{rule-BlMymDXm.js → rule-DPtqlnz-.js} +94 -99
- package/dist/src/api/audit-log/index.d.ts +4 -0
- package/dist/src/api/employee/index.d.ts +2 -2
- package/dist/src/api/restaurant/index.d.ts +2 -0
- package/dist/src/api/schedule/index.d.ts +68 -0
- package/dist/src/components/AppForm.vue.d.ts +2 -2
- package/dist/src/components/CheckboxInput.vue.d.ts +2 -2
- package/dist/src/components/CollapsibleWrapper.vue.d.ts +3 -11
- package/dist/src/components/layout/PortalShell.vue.d.ts +12 -0
- package/dist/src/components/layout/withScheduleShell.d.ts +10 -0
- package/dist/src/composables/useDiscardConfirm.d.ts +3 -1
- package/dist/src/composables/useMessage.d.ts +8 -2
- package/dist/src/helpers/string.d.ts +1 -10
- package/dist/src/router/shared.d.ts +3 -2
- package/dist/src/stores/employee.d.ts +12 -12
- package/dist/src/stores/restaurant.d.ts +7 -7
- package/dist/src/stores/team.d.ts +0 -30
- package/dist/src/types/employee.d.ts +1 -0
- package/dist/src/types/schedule.d.ts +23 -0
- package/dist/src/types/team.d.ts +1 -17
- package/dist/src/views/audit-log/constants.d.ts +9 -30
- package/dist/src/views/audit-log/locales/index.d.ts +488 -0
- package/dist/src/views/audit-log/pos-row.d.ts +27 -0
- package/dist/src/views/hr/locales/index.d.ts +4 -4
- 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 +12 -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/ScheduleAreaRows.vue.d.ts +41 -0
- package/dist/src/views/scheduling/components/ScheduleAutoScheduleDetailsModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAutoScheduleDoneArt.vue.d.ts +2 -0
- package/dist/src/views/{team/member/ExistingMemberNotice.vue.d.ts → scheduling/components/ScheduleAutoScheduleModal.vue.d.ts} +5 -6
- package/dist/src/views/scheduling/components/ScheduleBoardAreaRows.vue.d.ts +25 -0
- package/dist/src/views/scheduling/components/ScheduleBoardEditOverlays.vue.d.ts +17 -0
- package/dist/src/views/scheduling/components/ScheduleBoardEmployeeRows.vue.d.ts +31 -0
- package/dist/src/views/scheduling/components/ScheduleBoardGridHeader.vue.d.ts +29 -0
- package/dist/src/views/scheduling/components/ScheduleBoardInteractionOverlays.vue.d.ts +34 -0
- package/dist/src/views/scheduling/components/ScheduleBoardOnboardingOverlays.vue.d.ts +26 -0
- package/dist/src/views/scheduling/components/ScheduleBoardRails.vue.d.ts +17 -0
- package/dist/src/views/scheduling/components/ScheduleBoardToolbar.vue.d.ts +38 -0
- package/dist/src/views/scheduling/components/ScheduleBoardUtilityOverlays.vue.d.ts +22 -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/ScheduleCloneOutletModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleCoach.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleCompletionDialog.vue.d.ts +15 -0
- package/dist/src/views/scheduling/components/ScheduleConfirmModal.vue.d.ts +33 -0
- package/dist/src/views/scheduling/components/ScheduleContextMenu.vue.d.ts +17 -0
- package/dist/src/views/scheduling/components/ScheduleCostRail.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleCostRailEmptyArt.vue.d.ts +2 -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 +17 -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/ScheduleExportPreview.vue.d.ts +7 -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 +6 -0
- package/dist/src/views/scheduling/components/ScheduleLoadState.vue.d.ts +9 -0
- package/dist/src/views/scheduling/components/ScheduleModal.vue.d.ts +26 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingAssignPositionModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingClosedDayConfirm.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingDemandDays.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingDemandFooter.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingDemandHeader.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingDoneArt.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingHoursProfileNotice.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingPositions.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingReview.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingSettings.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWelcome.vue.d.ts +11 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWizard.vue.d.ts +9 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWizardFooter.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWizardHeader.vue.d.ts +11 -0
- package/dist/src/views/scheduling/components/SchedulePublishModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/SchedulePublishShareArt.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleReviewBar.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleSelect.vue.d.ts +70 -0
- package/dist/src/views/scheduling/components/ScheduleSelectExistingEmployeeModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleSetupBanner.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 +8 -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/ScheduleStaffRail.vue.d.ts +16 -0
- package/dist/src/views/scheduling/components/ScheduleStaffRows.vue.d.ts +50 -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/auto-schedule-mapping.d.ts +35 -0
- package/dist/src/views/scheduling/composables/onboarding-constants.d.ts +7 -0
- package/dist/src/views/scheduling/composables/onboarding-hours.d.ts +7 -0
- package/dist/src/views/scheduling/composables/onboarding-types.d.ts +51 -0
- package/dist/src/views/scheduling/composables/remyPrompt.d.ts +15 -0
- package/dist/src/views/scheduling/composables/schedule-add-employee-form.d.ts +82 -0
- package/dist/src/views/scheduling/composables/schedule-board-helpers.d.ts +63 -0
- package/dist/src/views/scheduling/composables/schedule-breaks.d.ts +9 -0
- package/dist/src/views/scheduling/composables/schedule-calendar.d.ts +17 -0
- package/dist/src/views/scheduling/composables/schedule-cost.d.ts +24 -0
- package/dist/src/views/scheduling/composables/schedule-currency.d.ts +22 -0
- package/dist/src/views/scheduling/composables/schedule-day-meta.d.ts +21 -0
- package/dist/src/views/scheduling/composables/schedule-demand-domain.d.ts +23 -0
- package/dist/src/views/scheduling/composables/schedule-employee-profile.d.ts +7 -0
- package/dist/src/views/scheduling/composables/schedule-error.d.ts +1 -0
- package/dist/src/views/scheduling/composables/schedule-export-matrix.d.ts +14 -0
- package/dist/src/views/scheduling/composables/schedule-leave-split.d.ts +9 -0
- package/dist/src/views/scheduling/composables/schedule-popover-position.d.ts +16 -0
- package/dist/src/views/scheduling/composables/schedule-quick-pick.d.ts +23 -0
- package/dist/src/views/scheduling/composables/schedule-shift-time.d.ts +29 -0
- package/dist/src/views/scheduling/composables/schedule-time.d.ts +8 -0
- package/dist/src/views/scheduling/composables/schedule-week-cache.d.ts +9 -0
- package/dist/src/views/scheduling/composables/useCollapsedList.d.ts +9 -0
- package/dist/src/views/scheduling/composables/useRemyAppStore.d.ts +16 -0
- package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +137 -0
- package/dist/src/views/scheduling/composables/useScheduleAddPick.d.ts +75 -0
- package/dist/src/views/scheduling/composables/useScheduleAreaBoard.d.ts +50 -0
- package/dist/src/views/scheduling/composables/useScheduleAreaDragDrop.d.ts +11 -0
- package/dist/src/views/scheduling/composables/useScheduleAssignmentMutations.d.ts +13 -0
- package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +301 -0
- package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +615 -0
- package/dist/src/views/scheduling/composables/useScheduleCellState.d.ts +27 -0
- package/dist/src/views/scheduling/composables/useScheduleClashDetection.d.ts +28 -0
- package/dist/src/views/scheduling/composables/useScheduleCloneOutletModal.d.ts +21 -0
- package/dist/src/views/scheduling/composables/useScheduleCoach.d.ts +80 -0
- package/dist/src/views/scheduling/composables/useScheduleCopyWeek.d.ts +12 -0
- package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +60 -0
- package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +44 -0
- package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +111 -0
- package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +59 -0
- package/dist/src/views/scheduling/composables/useScheduleDemandRow.d.ts +47 -0
- package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +166 -0
- package/dist/src/views/scheduling/composables/useScheduleDragDrop.d.ts +55 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeAccess.d.ts +24 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeAvailability.d.ts +13 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeCandidates.d.ts +49 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeCompensation.d.ts +7 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeForm.d.ts +22 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeIdentity.d.ts +50 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeMenu.d.ts +38 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeePersistence.d.ts +32 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeProfile.d.ts +16 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeValidation.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +52 -0
- package/dist/src/views/scheduling/composables/useScheduleFilterBar.d.ts +14 -0
- package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +79 -0
- package/dist/src/views/scheduling/composables/useScheduleLeave.d.ts +60 -0
- package/dist/src/views/scheduling/composables/useScheduleLegend.d.ts +15 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingAvailability.d.ts +58 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingDemand.d.ts +45 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingEmployees.d.ts +231 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingFlow.d.ts +9 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingHours.d.ts +15 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingNavigation.d.ts +11 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingPersistence.d.ts +13 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +1543 -0
- package/dist/src/views/scheduling/composables/useScheduleOutlet.d.ts +25 -0
- package/dist/src/views/scheduling/composables/useSchedulePageActions.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useSchedulePageBootstrap.d.ts +9 -0
- package/dist/src/views/scheduling/composables/useSchedulePageCellActions.d.ts +21 -0
- package/dist/src/views/scheduling/composables/useSchedulePageCellDrop.d.ts +20 -0
- package/dist/src/views/scheduling/composables/useSchedulePageClearActions.d.ts +33 -0
- package/dist/src/views/scheduling/composables/useSchedulePageEmployeeActions.d.ts +22 -0
- package/dist/src/views/scheduling/composables/useSchedulePageOverlays.d.ts +21 -0
- package/dist/src/views/scheduling/composables/useSchedulePdfExport.d.ts +19 -0
- package/dist/src/views/scheduling/composables/useSchedulePositionModal.d.ts +55 -0
- package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +35 -0
- package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +127 -0
- package/dist/src/views/scheduling/composables/useSchedulePublishPersistence.d.ts +11 -0
- package/dist/src/views/scheduling/composables/useScheduleRangeCalendar.d.ts +27 -0
- package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +313 -0
- package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +40 -0
- package/dist/src/views/scheduling/composables/useScheduleSetupBanner.d.ts +17 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +245 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftDraft.d.ts +63 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftPersistence.d.ts +17 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +255 -0
- package/dist/src/views/scheduling/composables/useScheduleStatsRow.d.ts +27 -0
- package/dist/src/views/scheduling/composables/useScheduleTimePicker.d.ts +49 -0
- package/dist/src/views/scheduling/composables/useScheduleTour.d.ts +95 -0
- package/dist/src/views/scheduling/composables/useScheduleViewportFit.d.ts +9 -0
- package/dist/src/views/scheduling/country-rules/index.d.ts +33 -0
- package/dist/src/views/scheduling/data.d.ts +123 -0
- package/dist/src/views/scheduling/locales/index.d.ts +6988 -0
- package/dist/src/views/scheduling/schedule-constants.d.ts +7 -0
- package/dist/src/views/scheduling/schedule-state.d.ts +767 -0
- package/dist/src/views/scheduling/schedule-store.d.ts +140 -0
- package/dist/src/views/scheduling/types.d.ts +381 -0
- package/dist/src/views/team/components/BasePermission.vue.d.ts +0 -11
- package/dist/src/views/team/components/ConditionPermission.vue.d.ts +0 -11
- package/dist/src/views/team/components/PortalConditionForm.vue.d.ts +2 -2
- package/dist/src/views/team/components/PortalPermissionEditor.vue.d.ts +0 -21
- package/dist/src/views/team/components/PosRolePermission.vue.d.ts +0 -11
- package/dist/src/views/team/condition-builders/ConditionBuilderForm.vue.d.ts +2 -2
- package/dist/src/views/team/locales/index.d.ts +0 -716
- package/dist/src/views/team/member/AddMemberForm.vue.d.ts +3 -50
- package/dist/src/views/team/{components/MemberStatusBadge.vue.d.ts → member/MemberInfo.vue.d.ts} +2 -2
- package/dist/src/views/team/member/TeamMemberList.vue.d.ts +0 -1
- package/dist/src/views/team/member/TeamMemberMasterUser.vue.d.ts +0 -2
- package/dist/string-VNuQNweN.js +15 -0
- package/dist/style.css +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{useAppStore-CL6EEDuw.js → useAppStore-DZCdxlCd.js} +1 -1
- package/dist/useDiscardConfirm-CzZSPyvh.js +28 -0
- package/dist/{useLoading-BBjBUzGJ.js → useLoading-Nygx2zn8.js} +1 -1
- package/dist/{useReportPermissions-Bg0fma6m.js → useReportPermissions-CxV7Dz1B.js} +3 -3
- package/package.json +5 -3
- package/dist/AuditLogList-Dd6HyFhk.js +0 -1777
- package/dist/ConditionBuilderForm.vue_vue_type_script_setup_true_lang-Cixg_icC.js +0 -459
- package/dist/EmployeeList-BG2KPvOB.js +0 -908
- package/dist/Main-BSHf8gTE.js +0 -100
- package/dist/MyPosProfile-CN8Bj3aV.js +0 -301
- package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-TXPEqa46.js +0 -126
- package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-BBoRXQPn.js +0 -4243
- package/dist/PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-B5QDOF0L.js +0 -1840
- package/dist/SelectFilter-ATOm0hdn.js +0 -269
- package/dist/TeamMemberList-DZfEnOs1.js +0 -2097
- package/dist/member-grant-C46lvrh2.js +0 -55
- package/dist/restaurant-CKhT6kgj.js +0 -45
- package/dist/src/api/my-pos-profile/index.d.ts +0 -5
- package/dist/src/api/staff-invite/index.d.ts +0 -17
- package/dist/src/components/form/SegmentedTabs.vue.d.ts +0 -23
- package/dist/src/composables/useMenuAccess.d.ts +0 -56
- package/dist/src/composables/useStaffInviteProviders.d.ts +0 -19
- package/dist/src/helpers/member-grant.d.ts +0 -36
- package/dist/src/helpers/my-pos-profile.d.ts +0 -37
- package/dist/src/helpers/pos-assignment-rows.d.ts +0 -26
- package/dist/src/helpers/staff-invite.d.ts +0 -51
- package/dist/src/router/menu-access-guard.d.ts +0 -17
- package/dist/src/types/my-pos-profile.d.ts +0 -25
- package/dist/src/types/staff-invite.d.ts +0 -100
- package/dist/src/views/my-pos-profile/components/PasscodeChangedDialog.vue.d.ts +0 -4
- package/dist/src/views/my-pos-profile/locales/index.d.ts +0 -200
- package/dist/src/views/team/components/MemberGrantFields.vue.d.ts +0 -55
- package/dist/src/views/team/components/PosAssignmentRows.vue.d.ts +0 -46
- package/dist/src/views/team/member/MemberDetailsCard.vue.d.ts +0 -35
- package/dist/src/views/team/member/MemberHeaderCard.vue.d.ts +0 -19
- package/dist/string-DZQ1uNjn.js +0 -22
- package/dist/useDiscardConfirm-DPhEV6v0.js +0 -157
- /package/dist/src/{views/my-pos-profile/MyPosProfile.vue.d.ts → components/layout/SchedulePromoBanner.vue.d.ts} +0 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import type { Employee } from '../types';
|
|
2
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
3
|
+
import { type ScheduleAddEmployeeMode, type ScheduleAddEmployeeStep } from './schedule-add-employee-form';
|
|
4
|
+
export type { ScheduleAddEmployeeForm, ScheduleAddEmployeeMode, ScheduleAddEmployeeStep, } from './schedule-add-employee-form';
|
|
5
|
+
/** Add-employee wizard: a "how do you want to add them" step, then one detail form covering
|
|
6
|
+
* identity, locations, pay, scheduling caps, availability, positions and POS access — plus
|
|
7
|
+
* the "select existing POS staff" side dialog the first step can hand off to. */
|
|
8
|
+
export declare function useScheduleAddEmployee(board: ScheduleBoardApi, options?: {
|
|
9
|
+
notify?: (message: string, type?: 'success' | 'error' | 'info') => void;
|
|
10
|
+
}): {
|
|
11
|
+
open: import("vue").Ref<boolean, boolean>;
|
|
12
|
+
selectExistingOpen: import("vue").Ref<boolean, boolean>;
|
|
13
|
+
step: import("vue").Ref<ScheduleAddEmployeeStep, ScheduleAddEmployeeStep>;
|
|
14
|
+
mode: import("vue").Ref<ScheduleAddEmployeeMode, ScheduleAddEmployeeMode>;
|
|
15
|
+
form: {
|
|
16
|
+
name: string;
|
|
17
|
+
mobile: string;
|
|
18
|
+
dial: string;
|
|
19
|
+
employment: "full" | "part";
|
|
20
|
+
locations: string[];
|
|
21
|
+
payBasis: "hourly" | "monthly";
|
|
22
|
+
payAmount: string;
|
|
23
|
+
maxHours: string;
|
|
24
|
+
maxHoursPerDay: string;
|
|
25
|
+
minHours: string;
|
|
26
|
+
workingHoursEnabled: boolean;
|
|
27
|
+
overtimeEnabled: boolean;
|
|
28
|
+
maxHoursPerMonth: string;
|
|
29
|
+
availDays: boolean[];
|
|
30
|
+
availHours: {
|
|
31
|
+
from: string;
|
|
32
|
+
to: string;
|
|
33
|
+
}[];
|
|
34
|
+
preferences: string;
|
|
35
|
+
primaryPosition: string;
|
|
36
|
+
secondaryPositions: string[];
|
|
37
|
+
seniority: "" | "senior" | "junior";
|
|
38
|
+
passcode: string[];
|
|
39
|
+
masterUser: boolean;
|
|
40
|
+
masterCode: string;
|
|
41
|
+
posAccessEnabled: boolean;
|
|
42
|
+
posRoles: {
|
|
43
|
+
outlet: string;
|
|
44
|
+
roleId: string;
|
|
45
|
+
}[];
|
|
46
|
+
};
|
|
47
|
+
sectionId: import("vue").Ref<string, string>;
|
|
48
|
+
isEditing: import("vue").ComputedRef<boolean>;
|
|
49
|
+
editingEmployeeId: import("vue").Ref<number | null, number | null>;
|
|
50
|
+
locOpen: import("vue").Ref<boolean, boolean>;
|
|
51
|
+
secOpen: import("vue").Ref<boolean, boolean>;
|
|
52
|
+
secondaryOptions: import("vue").ComputedRef<string[]>;
|
|
53
|
+
isPart: import("vue").ComputedRef<boolean>;
|
|
54
|
+
dayLit: (index: number) => boolean;
|
|
55
|
+
avLabel: import("vue").ComputedRef<string>;
|
|
56
|
+
avAllLabel: import("vue").ComputedRef<string>;
|
|
57
|
+
maxHoursPlaceholder: import("vue").ComputedRef<string>;
|
|
58
|
+
minHoursPlaceholder: import("vue").ComputedRef<string>;
|
|
59
|
+
maxHoursPerDayPlaceholder: import("vue").ComputedRef<string>;
|
|
60
|
+
maxHoursPerMonthPlaceholder: import("vue").ComputedRef<string>;
|
|
61
|
+
toggleOvertime: () => void;
|
|
62
|
+
payUnit: import("vue").ComputedRef<string>;
|
|
63
|
+
effectiveRate: import("vue").ComputedRef<number>;
|
|
64
|
+
passcodeValue: import("vue").ComputedRef<string>;
|
|
65
|
+
passcodeOk: import("vue").ComputedRef<boolean>;
|
|
66
|
+
currentLocationLabel: import("vue").ComputedRef<string>;
|
|
67
|
+
locationOptions: import("vue").Reactive<string[]>;
|
|
68
|
+
isNewUser: import("vue").ComputedRef<boolean>;
|
|
69
|
+
footerHint: import("vue").ComputedRef<string>;
|
|
70
|
+
primaryRoleLabel: import("vue").ComputedRef<string>;
|
|
71
|
+
locationsSummary: import("vue").ComputedRef<string>;
|
|
72
|
+
payLine: import("vue").ComputedRef<string>;
|
|
73
|
+
nameError: import("vue").ComputedRef<boolean>;
|
|
74
|
+
passError: import("vue").ComputedRef<boolean>;
|
|
75
|
+
posRolesError: import("vue").ComputedRef<boolean>;
|
|
76
|
+
availabilityError: import("vue").ComputedRef<boolean>;
|
|
77
|
+
saving: import("vue").Ref<boolean, boolean>;
|
|
78
|
+
saveError: import("vue").Ref<string | null, string | null>;
|
|
79
|
+
deferScheduleWrites: import("vue").Ref<boolean, boolean>;
|
|
80
|
+
candidatesLoading: import("vue").Ref<boolean, boolean>;
|
|
81
|
+
candidatesError: import("vue").Ref<string | null, string | null>;
|
|
82
|
+
selectingExisting: import("vue").Ref<boolean, boolean>;
|
|
83
|
+
candidates: import("vue").Ref<{
|
|
84
|
+
employeeId: string;
|
|
85
|
+
name: string;
|
|
86
|
+
otherOutlets: string[];
|
|
87
|
+
locations: string[];
|
|
88
|
+
}[], import("../types").ExistingStaffCandidate[] | {
|
|
89
|
+
employeeId: string;
|
|
90
|
+
name: string;
|
|
91
|
+
otherOutlets: string[];
|
|
92
|
+
locations: string[];
|
|
93
|
+
}[]>;
|
|
94
|
+
candidatesTotal: import("vue").Ref<number, number>;
|
|
95
|
+
candidatesPage: import("vue").Ref<number, number>;
|
|
96
|
+
candidatesPageItemCount: import("vue").Ref<number, number>;
|
|
97
|
+
candidatesPageSize: number;
|
|
98
|
+
searchExisting: (search: string) => void;
|
|
99
|
+
goToExistingPage: (page: number, search: string) => void;
|
|
100
|
+
openWizard: (section: string) => void;
|
|
101
|
+
openEditFor: (emp: Employee) => void;
|
|
102
|
+
confirmClose: () => void;
|
|
103
|
+
close: () => void;
|
|
104
|
+
setMode: (m: ScheduleAddEmployeeMode) => void;
|
|
105
|
+
openSelectExisting: () => void;
|
|
106
|
+
closeSelectExisting: () => void;
|
|
107
|
+
pickExisting: (employeeId: string) => Promise<void>;
|
|
108
|
+
next: () => void;
|
|
109
|
+
back: () => void;
|
|
110
|
+
toggleMulti: (which: "loc" | "sec") => void;
|
|
111
|
+
toggleLocation: (location: string) => void;
|
|
112
|
+
removeLocation: (location: string) => void;
|
|
113
|
+
toggleSecondary: (position: string) => void;
|
|
114
|
+
removeSecondary: (position: string) => void;
|
|
115
|
+
setPrimaryPosition: (position: string) => void;
|
|
116
|
+
setPayBasis: (basis: "hourly" | "monthly") => void;
|
|
117
|
+
toggleAvailDay: (index: number) => void;
|
|
118
|
+
availAll: () => void;
|
|
119
|
+
setAvailHour: (index: number, field: "from" | "to", value: string) => void;
|
|
120
|
+
copyAvailHourDown: (index: number) => void;
|
|
121
|
+
setPasscodeDigit: (index: number, value: string) => void;
|
|
122
|
+
generatePasscode: () => Promise<void>;
|
|
123
|
+
isGeneratingPasscode: import("vue").Ref<boolean, boolean>;
|
|
124
|
+
togglePosAccess: () => void;
|
|
125
|
+
addPosRoleRow: () => void;
|
|
126
|
+
removePosRoleRow: (index: number) => void;
|
|
127
|
+
isCurrentOutletRow: (index: number) => boolean;
|
|
128
|
+
setPosRoleOutlet: (index: number, outlet: string) => void;
|
|
129
|
+
setPosRoleId: (index: number, roleId: string) => void;
|
|
130
|
+
posRoleOptionsFor: (outlet: string) => import("../../../types/role").Role[];
|
|
131
|
+
isPosRoleUsable: (role: import("../../../types/role").Role) => boolean;
|
|
132
|
+
setMasterUserRoleAccess: (roleIds: string[] | null | undefined) => void;
|
|
133
|
+
isPosOutletUsable: (outlet: string) => boolean;
|
|
134
|
+
posRolesHint: import("vue").ComputedRef<string>;
|
|
135
|
+
create: () => Promise<boolean>;
|
|
136
|
+
};
|
|
137
|
+
export type ScheduleAddEmployeeApi = ReturnType<typeof useScheduleAddEmployee>;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
import type { ScheduleDemandApi } from './useScheduleDemand';
|
|
3
|
+
import { type QuickPickCandidate } from './schedule-quick-pick';
|
|
4
|
+
import { type ScheduleAnchorRect } from './schedule-popover-position';
|
|
5
|
+
export interface ScheduleAddPickState {
|
|
6
|
+
open: boolean;
|
|
7
|
+
empId: number | null;
|
|
8
|
+
dayIdx: number | null;
|
|
9
|
+
/** Measured rect of the cell the popup opened from; the popup component places itself from it
|
|
10
|
+
* once rendered (V6.2 placePopover), writing the result to `left`/`top`. */
|
|
11
|
+
anchor: ScheduleAnchorRect | null;
|
|
12
|
+
left: number;
|
|
13
|
+
top: number;
|
|
14
|
+
}
|
|
15
|
+
export interface ScheduleAddPickLeaveOption {
|
|
16
|
+
reason: string;
|
|
17
|
+
/** i18n key for the row's label — `reason` itself is an id and stays English. */
|
|
18
|
+
labelKey: string;
|
|
19
|
+
swatch: string;
|
|
20
|
+
}
|
|
21
|
+
/** The "+ Add" quick-pick popover on an employee's empty cell — ported from the mockup's
|
|
22
|
+
* openAddShiftPicker()/renderAddPickList(), scoped to what this board actually has: our one
|
|
23
|
+
* active shift pattern, a fixed leave-reason list, and a demand-gap suggestion, all committed
|
|
24
|
+
* directly (no clash confirmation dialogs — this board has no such infrastructure yet, and none
|
|
25
|
+
* of its existing write paths gate on one either). Leave picks write a full-day approved leave
|
|
26
|
+
* immediately rather than opening a creation form — there's no "book a leave" authoring flow
|
|
27
|
+
* anywhere in this port yet, only the existing pending-request review modal, which assumes the
|
|
28
|
+
* leave already exists. The mockup's "On this day" (join an existing open-shift group) section is
|
|
29
|
+
* left out — it needs split-shift/group-joining machinery this board doesn't model. */
|
|
30
|
+
export declare function useScheduleAddPick(board: ScheduleBoardApi, demand: ScheduleDemandApi, handlers: {
|
|
31
|
+
onCommitted: (message: string) => void;
|
|
32
|
+
onOpenFullEditor: (empId: number, dayIdx: number, slotIndex: number) => void;
|
|
33
|
+
/** The leave editor, on this cell. `reason` is the row's own type, or null for the plain "Leave" row. */
|
|
34
|
+
onOpenLeave: (empId: number, dayIdx: number, reason: string | null) => void;
|
|
35
|
+
}): {
|
|
36
|
+
state: {
|
|
37
|
+
open: boolean;
|
|
38
|
+
empId: number | null;
|
|
39
|
+
dayIdx: number | null;
|
|
40
|
+
anchor: {
|
|
41
|
+
left: number;
|
|
42
|
+
right: number;
|
|
43
|
+
top: number;
|
|
44
|
+
bottom: number;
|
|
45
|
+
} | null;
|
|
46
|
+
left: number;
|
|
47
|
+
top: number;
|
|
48
|
+
};
|
|
49
|
+
query: import("vue").Ref<string, string>;
|
|
50
|
+
parsedRange: import("vue").ComputedRef<{
|
|
51
|
+
start: string;
|
|
52
|
+
end: string;
|
|
53
|
+
} | null>;
|
|
54
|
+
suggestions: import("vue").ComputedRef<QuickPickCandidate[]>;
|
|
55
|
+
filteredPatterns: import("vue").ComputedRef<{
|
|
56
|
+
key: string;
|
|
57
|
+
label: string;
|
|
58
|
+
start: string;
|
|
59
|
+
end: string;
|
|
60
|
+
color: string;
|
|
61
|
+
active: boolean;
|
|
62
|
+
breakMins: number;
|
|
63
|
+
}[]>;
|
|
64
|
+
filteredLeaves: import("vue").ComputedRef<ScheduleAddPickLeaveOption[]>;
|
|
65
|
+
hasResults: import("vue").ComputedRef<boolean>;
|
|
66
|
+
openFor: (empId: number, dayIdx: number, anchor: HTMLElement) => void;
|
|
67
|
+
close: () => void;
|
|
68
|
+
pickSuggested: (index: number) => void;
|
|
69
|
+
pickPattern: (key: string) => void;
|
|
70
|
+
pickTypedRange: (start: string, end: string) => void;
|
|
71
|
+
pickLeave: (reason: string) => void;
|
|
72
|
+
submitQuery: () => void;
|
|
73
|
+
openBlank: () => void;
|
|
74
|
+
};
|
|
75
|
+
export type ScheduleAddPickApi = ReturnType<typeof useScheduleAddPick>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
import type { Employee, WorkSlot } from '../types';
|
|
3
|
+
export interface ScheduleAssignedSlot {
|
|
4
|
+
emp: Employee;
|
|
5
|
+
slot: WorkSlot;
|
|
6
|
+
/** This slot's position within the employee's day — what a drag of this card has to hand
|
|
7
|
+
* `board.moveShift`/`swapShifts` to pick the right period out of a day holding more than one. */
|
|
8
|
+
slotIndex: number;
|
|
9
|
+
}
|
|
10
|
+
export interface SchedulePositionCellMeta {
|
|
11
|
+
required: number;
|
|
12
|
+
filled: number;
|
|
13
|
+
open: number;
|
|
14
|
+
short: number;
|
|
15
|
+
}
|
|
16
|
+
/** Shared by the week and day area views, so a position's colour never disagrees between them. */
|
|
17
|
+
export declare function positionSwatchClass(position: string): string;
|
|
18
|
+
/** Where shifts and employees go that name no station at all — either because the outlet
|
|
19
|
+
* hasn't named its positions yet, or because a shift deliberately names none. Rostering
|
|
20
|
+
* shouldn't be blocked on the Positions page being filled in first, so this row exists
|
|
21
|
+
* whenever there's anyone or anything to put in it (see `positionRows`). */
|
|
22
|
+
export declare const ANY_POSITION_ROW = "Any position";
|
|
23
|
+
/** Every other row is named after the position its shifts carry, so the row name and the
|
|
24
|
+
* position key are the same string. This one differs: it collects records that name nothing,
|
|
25
|
+
* so anything that queries BY position — qualifiedFor, assignedOn, a new shift's role — has to
|
|
26
|
+
* ask for '' instead, or the row would answer "nobody holds Any position". */
|
|
27
|
+
export declare function rowAsk(row: string): string;
|
|
28
|
+
/** Whether this employee can be put on `position` — ported from the mockup's qualifiedFor().
|
|
29
|
+
* Nobody having a named position yet reads as "any station", the same way an unspecialised
|
|
30
|
+
* new-account roster does in the reference: rostering shouldn't be blocked on the Positions
|
|
31
|
+
* page being filled in first. */
|
|
32
|
+
export declare function qualifiedFor(emp: Employee, position: string): boolean;
|
|
33
|
+
/** Week-by-area grouping: rows are positions (a RULES.coverage.full key), not employees.
|
|
34
|
+
* Ported from the mockup's positionRows()/renderPositionBlock() — scoped to this board's single
|
|
35
|
+
* "Unassigned" section and its existing WorkSlot/OpenShift model, so no split shifts and
|
|
36
|
+
* no locked/closed-day states (neither exists anywhere in this port yet). */
|
|
37
|
+
export declare function useScheduleAreaBoard(board: ScheduleBoardApi): {
|
|
38
|
+
positionRows: import("vue").ComputedRef<string[]>;
|
|
39
|
+
assignedOn: (dayIdx: number, position: string) => ScheduleAssignedSlot[];
|
|
40
|
+
poolFor: (position: string) => Employee[];
|
|
41
|
+
cellMeta: (dayIdx: number, position: string) => SchedulePositionCellMeta;
|
|
42
|
+
positionWeekMeta: (position: string) => {
|
|
43
|
+
required: number;
|
|
44
|
+
filled: number;
|
|
45
|
+
open: number;
|
|
46
|
+
short: number;
|
|
47
|
+
pool: number;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
export type ScheduleAreaBoardApi = ReturnType<typeof useScheduleAreaBoard>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
/** Dragging a person from the staff rail onto a position/day cell opens a normal assigned shift. */
|
|
3
|
+
export declare function useScheduleAreaDragDrop(board: ScheduleBoardApi, handlers: {
|
|
4
|
+
onCreateShift: (empId: number, dayIdx: number, position: string) => void;
|
|
5
|
+
}): {
|
|
6
|
+
draggingEmpId: import("vue").Ref<number | null, number | null>;
|
|
7
|
+
startRailDrag: (empId: number) => void;
|
|
8
|
+
endRailDrag: () => void;
|
|
9
|
+
dropOnCell: (dayIdx: number, position: string) => void;
|
|
10
|
+
};
|
|
11
|
+
export type ScheduleAreaDragDropApi = ReturnType<typeof useScheduleAreaDragDrop>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { DaySlot, Employee, WorkSlot } from '../types';
|
|
2
|
+
export interface ScheduleAssignmentMutationOptions {
|
|
3
|
+
dateFor: (offset: number, dayIdx: number) => string | null;
|
|
4
|
+
employeeAt: (offset: number, employeeId: number) => Employee | undefined;
|
|
5
|
+
currentOffset: () => number;
|
|
6
|
+
onPersistError?: (message: string) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function useScheduleAssignmentMutations(options: ScheduleAssignmentMutationOptions): {
|
|
9
|
+
persistSlot: (empId: number, dayIdx: number, oldSlot: DaySlot, newSlot: WorkSlot | WorkSlot[], dateOverride?: string | null, offset?: number, restoreDaySlot?: DaySlot) => Promise<void>;
|
|
10
|
+
persistRemoval: (oldSlot: DaySlot) => Promise<void>;
|
|
11
|
+
persistMove: (toEmpId: number, dayIdx: number, slot: WorkSlot | WorkSlot[], dateOverride?: string | null) => Promise<void>;
|
|
12
|
+
recoverPersistFailure: (error: unknown, fallback: string) => Promise<void>;
|
|
13
|
+
};
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import type { FdtoScheduleAutoScheduleObjective } from '@/types/schedule';
|
|
2
|
+
import type { Proposal } from '../types';
|
|
3
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
4
|
+
import type { ScheduleDemandApi } from './useScheduleDemand';
|
|
5
|
+
export type ScheduleAutoScheduleStep = 'options' | 'summary';
|
|
6
|
+
export interface ScheduleAutoScheduleOptions {
|
|
7
|
+
fillGaps: boolean;
|
|
8
|
+
objective: FdtoScheduleAutoScheduleObjective;
|
|
9
|
+
allowOvertime: boolean;
|
|
10
|
+
/** Shown as preferences in the dialog but not sent: the generator takes no input for them yet
|
|
11
|
+
* (availability and time off are always respected; patterns and cost ride on the objective). */
|
|
12
|
+
respectAvailability: boolean;
|
|
13
|
+
followPatterns: boolean;
|
|
14
|
+
costEfficient: boolean;
|
|
15
|
+
}
|
|
16
|
+
/** Backend-powered draft generation and local proposal review — the engine lives in hr-backend;
|
|
17
|
+
* this composable only maps its result onto the board and lets a manager review it. Generation
|
|
18
|
+
* never writes; accepted proposals use the board's existing assignment persistence path. */
|
|
19
|
+
export declare function useScheduleAutoSchedule(board: ScheduleBoardApi, demand: ScheduleDemandApi): {
|
|
20
|
+
wizardOpen: import("vue").Ref<boolean, boolean>;
|
|
21
|
+
step: import("vue").Ref<ScheduleAutoScheduleStep, ScheduleAutoScheduleStep>;
|
|
22
|
+
options: {
|
|
23
|
+
fillGaps: boolean;
|
|
24
|
+
objective: FdtoScheduleAutoScheduleObjective;
|
|
25
|
+
allowOvertime: boolean;
|
|
26
|
+
respectAvailability: boolean;
|
|
27
|
+
followPatterns: boolean;
|
|
28
|
+
costEfficient: boolean;
|
|
29
|
+
};
|
|
30
|
+
generating: import("vue").Ref<boolean, boolean>;
|
|
31
|
+
generateError: import("vue").Ref<string | null, string | null>;
|
|
32
|
+
result: import("vue").Ref<{
|
|
33
|
+
objective: "BALANCED" | "SERVICE" | "LOWER_COST" | "STABLE_HOURS";
|
|
34
|
+
allowOvertime: boolean;
|
|
35
|
+
model: string | null;
|
|
36
|
+
proposals: {
|
|
37
|
+
rejectReason?: string | null | undefined | undefined;
|
|
38
|
+
date: string;
|
|
39
|
+
startTime: string;
|
|
40
|
+
endTime: string;
|
|
41
|
+
employeeId: string;
|
|
42
|
+
positionId: string | null;
|
|
43
|
+
employeeName: string;
|
|
44
|
+
position: string;
|
|
45
|
+
reason: string;
|
|
46
|
+
}[];
|
|
47
|
+
unfilledCount: number;
|
|
48
|
+
unfilledNeeds: {
|
|
49
|
+
date: string;
|
|
50
|
+
startTime: string;
|
|
51
|
+
endTime: string;
|
|
52
|
+
position: string | null;
|
|
53
|
+
short: number;
|
|
54
|
+
excluded: {
|
|
55
|
+
occupied: number;
|
|
56
|
+
notQualified: number;
|
|
57
|
+
weeklyCap: number;
|
|
58
|
+
dailyCap: number;
|
|
59
|
+
rest: number;
|
|
60
|
+
dayOff: number;
|
|
61
|
+
};
|
|
62
|
+
}[];
|
|
63
|
+
metrics: {
|
|
64
|
+
minimumCoveragePercent: number;
|
|
65
|
+
recommendedCoveragePercent: number;
|
|
66
|
+
totalHours: number;
|
|
67
|
+
estimatedLabourCost: number | null;
|
|
68
|
+
costCoveragePercent: number;
|
|
69
|
+
overtimeHours: number;
|
|
70
|
+
targetHoursVariance: number;
|
|
71
|
+
unfilledIntervals: number;
|
|
72
|
+
};
|
|
73
|
+
readiness: {
|
|
74
|
+
ready: boolean;
|
|
75
|
+
capabilities: string[];
|
|
76
|
+
issues: {
|
|
77
|
+
code: string;
|
|
78
|
+
message: string;
|
|
79
|
+
severity: "BLOCKER" | "WARNING" | "INFO";
|
|
80
|
+
}[];
|
|
81
|
+
coverage: {
|
|
82
|
+
wage: number;
|
|
83
|
+
availability: number;
|
|
84
|
+
position: number;
|
|
85
|
+
targetHours: number;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
explanations: string[];
|
|
89
|
+
solver: string;
|
|
90
|
+
week: {
|
|
91
|
+
from: string;
|
|
92
|
+
to: string;
|
|
93
|
+
};
|
|
94
|
+
timing: {
|
|
95
|
+
totalMs: number;
|
|
96
|
+
modelMs: number | null;
|
|
97
|
+
};
|
|
98
|
+
} | null, {
|
|
99
|
+
objective: "BALANCED" | "SERVICE" | "LOWER_COST" | "STABLE_HOURS";
|
|
100
|
+
allowOvertime: boolean;
|
|
101
|
+
model: string | null;
|
|
102
|
+
proposals: {
|
|
103
|
+
rejectReason?: string | null | undefined;
|
|
104
|
+
date: string;
|
|
105
|
+
startTime: string;
|
|
106
|
+
endTime: string;
|
|
107
|
+
employeeId: string;
|
|
108
|
+
positionId: string | null;
|
|
109
|
+
employeeName: string;
|
|
110
|
+
position: string;
|
|
111
|
+
reason: string;
|
|
112
|
+
}[];
|
|
113
|
+
unfilledCount: number;
|
|
114
|
+
unfilledNeeds: {
|
|
115
|
+
date: string;
|
|
116
|
+
startTime: string;
|
|
117
|
+
endTime: string;
|
|
118
|
+
position: string | null;
|
|
119
|
+
short: number;
|
|
120
|
+
excluded: {
|
|
121
|
+
occupied: number;
|
|
122
|
+
notQualified: number;
|
|
123
|
+
weeklyCap: number;
|
|
124
|
+
dailyCap: number;
|
|
125
|
+
rest: number;
|
|
126
|
+
dayOff: number;
|
|
127
|
+
};
|
|
128
|
+
}[];
|
|
129
|
+
metrics: {
|
|
130
|
+
minimumCoveragePercent: number;
|
|
131
|
+
recommendedCoveragePercent: number;
|
|
132
|
+
totalHours: number;
|
|
133
|
+
estimatedLabourCost: number | null;
|
|
134
|
+
costCoveragePercent: number;
|
|
135
|
+
overtimeHours: number;
|
|
136
|
+
targetHoursVariance: number;
|
|
137
|
+
unfilledIntervals: number;
|
|
138
|
+
};
|
|
139
|
+
readiness: {
|
|
140
|
+
ready: boolean;
|
|
141
|
+
capabilities: string[];
|
|
142
|
+
issues: {
|
|
143
|
+
code: string;
|
|
144
|
+
message: string;
|
|
145
|
+
severity: "BLOCKER" | "WARNING" | "INFO";
|
|
146
|
+
}[];
|
|
147
|
+
coverage: {
|
|
148
|
+
wage: number;
|
|
149
|
+
availability: number;
|
|
150
|
+
position: number;
|
|
151
|
+
targetHours: number;
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
explanations: string[];
|
|
155
|
+
solver: string;
|
|
156
|
+
week: {
|
|
157
|
+
from: string;
|
|
158
|
+
to: string;
|
|
159
|
+
};
|
|
160
|
+
timing: {
|
|
161
|
+
totalMs: number;
|
|
162
|
+
modelMs: number | null;
|
|
163
|
+
};
|
|
164
|
+
} | {
|
|
165
|
+
objective: "BALANCED" | "SERVICE" | "LOWER_COST" | "STABLE_HOURS";
|
|
166
|
+
allowOvertime: boolean;
|
|
167
|
+
model: string | null;
|
|
168
|
+
proposals: {
|
|
169
|
+
rejectReason?: string | null | undefined | undefined;
|
|
170
|
+
date: string;
|
|
171
|
+
startTime: string;
|
|
172
|
+
endTime: string;
|
|
173
|
+
employeeId: string;
|
|
174
|
+
positionId: string | null;
|
|
175
|
+
employeeName: string;
|
|
176
|
+
position: string;
|
|
177
|
+
reason: string;
|
|
178
|
+
}[];
|
|
179
|
+
unfilledCount: number;
|
|
180
|
+
unfilledNeeds: {
|
|
181
|
+
date: string;
|
|
182
|
+
startTime: string;
|
|
183
|
+
endTime: string;
|
|
184
|
+
position: string | null;
|
|
185
|
+
short: number;
|
|
186
|
+
excluded: {
|
|
187
|
+
occupied: number;
|
|
188
|
+
notQualified: number;
|
|
189
|
+
weeklyCap: number;
|
|
190
|
+
dailyCap: number;
|
|
191
|
+
rest: number;
|
|
192
|
+
dayOff: number;
|
|
193
|
+
};
|
|
194
|
+
}[];
|
|
195
|
+
metrics: {
|
|
196
|
+
minimumCoveragePercent: number;
|
|
197
|
+
recommendedCoveragePercent: number;
|
|
198
|
+
totalHours: number;
|
|
199
|
+
estimatedLabourCost: number | null;
|
|
200
|
+
costCoveragePercent: number;
|
|
201
|
+
overtimeHours: number;
|
|
202
|
+
targetHoursVariance: number;
|
|
203
|
+
unfilledIntervals: number;
|
|
204
|
+
};
|
|
205
|
+
readiness: {
|
|
206
|
+
ready: boolean;
|
|
207
|
+
capabilities: string[];
|
|
208
|
+
issues: {
|
|
209
|
+
code: string;
|
|
210
|
+
message: string;
|
|
211
|
+
severity: "BLOCKER" | "WARNING" | "INFO";
|
|
212
|
+
}[];
|
|
213
|
+
coverage: {
|
|
214
|
+
wage: number;
|
|
215
|
+
availability: number;
|
|
216
|
+
position: number;
|
|
217
|
+
targetHours: number;
|
|
218
|
+
};
|
|
219
|
+
};
|
|
220
|
+
explanations: string[];
|
|
221
|
+
solver: string;
|
|
222
|
+
week: {
|
|
223
|
+
from: string;
|
|
224
|
+
to: string;
|
|
225
|
+
};
|
|
226
|
+
timing: {
|
|
227
|
+
totalMs: number;
|
|
228
|
+
modelMs: number | null;
|
|
229
|
+
};
|
|
230
|
+
} | null>;
|
|
231
|
+
gapCount: import("vue").ComputedRef<number>;
|
|
232
|
+
hasDemand: import("vue").ComputedRef<boolean>;
|
|
233
|
+
noDemandOpen: import("vue").Ref<boolean, boolean>;
|
|
234
|
+
rangeLabel: import("vue").ComputedRef<string>;
|
|
235
|
+
openWizard: (fromSetup?: boolean) => void;
|
|
236
|
+
closeWizard: () => void;
|
|
237
|
+
next: () => void;
|
|
238
|
+
back: () => void;
|
|
239
|
+
generate: () => Promise<void>;
|
|
240
|
+
reviewMode: import("vue").ComputedRef<boolean>;
|
|
241
|
+
hasPendingChanges: import("vue").ComputedRef<boolean>;
|
|
242
|
+
proposals: import("vue").ComputedRef<{
|
|
243
|
+
id: number;
|
|
244
|
+
empId: number;
|
|
245
|
+
dayIdx: number;
|
|
246
|
+
start: string;
|
|
247
|
+
end: string;
|
|
248
|
+
role: string;
|
|
249
|
+
positionId?: string | null | undefined;
|
|
250
|
+
openId?: number | undefined;
|
|
251
|
+
status: "pending" | "rejected";
|
|
252
|
+
weekKey?: string | undefined;
|
|
253
|
+
reason?: string | undefined;
|
|
254
|
+
rejectReason?: string | undefined;
|
|
255
|
+
}[]>;
|
|
256
|
+
weekHasProposals: import("vue").ComputedRef<boolean>;
|
|
257
|
+
unmetCount: import("vue").Ref<number, number>;
|
|
258
|
+
acceptedCount: import("vue").ComputedRef<number>;
|
|
259
|
+
rejectedCount: import("vue").ComputedRef<number>;
|
|
260
|
+
removedCount: import("vue").ComputedRef<number>;
|
|
261
|
+
changedCount: import("vue").ComputedRef<number>;
|
|
262
|
+
unqualifiedCount: import("vue").ComputedRef<number>;
|
|
263
|
+
conflictCount: import("vue").ComputedRef<number>;
|
|
264
|
+
projectedCost: import("vue").ComputedRef<number | null>;
|
|
265
|
+
proposalAt: (empId: number, dayIdx: number) => Proposal | undefined;
|
|
266
|
+
draggingId: import("vue").Ref<number | null, number | null>;
|
|
267
|
+
moveProposal: (id: number, empId: number, dayIdx: number) => string | null;
|
|
268
|
+
toggleReject: (id: number) => void;
|
|
269
|
+
rejectAll: () => void;
|
|
270
|
+
exitReview: () => void;
|
|
271
|
+
completionOpen: import("vue").Ref<boolean, boolean>;
|
|
272
|
+
completionCount: import("vue").Ref<number, number>;
|
|
273
|
+
completionPublished: import("vue").Ref<boolean, boolean>;
|
|
274
|
+
completionFromSetup: import("vue").Ref<boolean, boolean>;
|
|
275
|
+
closeCompletion: () => void;
|
|
276
|
+
leaveReviewOpen: import("vue").Ref<boolean, boolean>;
|
|
277
|
+
confirmLeaveReview: () => void;
|
|
278
|
+
cancelLeaveReview: () => void;
|
|
279
|
+
apply: (showCompletion?: boolean, status?: "DRAFT" | "PUBLISHED") => Promise<number | null>;
|
|
280
|
+
applying: import("vue").Ref<boolean, boolean>;
|
|
281
|
+
applyRejections: import("vue").Ref<{
|
|
282
|
+
employeeName: string;
|
|
283
|
+
day: string;
|
|
284
|
+
time: string;
|
|
285
|
+
message: string;
|
|
286
|
+
}[], {
|
|
287
|
+
employeeName: string;
|
|
288
|
+
day: string;
|
|
289
|
+
time: string;
|
|
290
|
+
message: string;
|
|
291
|
+
}[] | {
|
|
292
|
+
employeeName: string;
|
|
293
|
+
day: string;
|
|
294
|
+
time: string;
|
|
295
|
+
message: string;
|
|
296
|
+
}[]>;
|
|
297
|
+
applyError: import("vue").Ref<string | null, string | null>;
|
|
298
|
+
detailsOpen: import("vue").Ref<boolean, boolean>;
|
|
299
|
+
toggleDetails: () => void;
|
|
300
|
+
};
|
|
301
|
+
export type ScheduleAutoScheduleApi = ReturnType<typeof useScheduleAutoSchedule>;
|