@feedmepos/mf-hrm-portal 2.3.2-dev → 2.3.2-dev.2
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-sHnINTik.js} +14 -15
- package/dist/AuditLogList-C9C2emU9.js +1950 -0
- package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-Cixg_icC.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-BbsPesWY.js} +2 -2
- package/dist/{EmployeeList-BG2KPvOB.js → EmployeeList-D4oy5hXz.js} +196 -208
- package/dist/FormSection.vue_vue_type_script_setup_true_lang-Cl053Tg1.js +90 -0
- package/dist/{GrantUserList-CUkuf3VV.js → GrantUserList-LWpqhl-5.js} +15 -16
- package/dist/{Main-BcixH7R5.js → Main-BWKb-QIE.js} +11 -11
- package/dist/{Main-BSHf8gTE.js → Main-CVGiOYpC.js} +12 -11
- package/dist/{Main-Cg9SOzcz.js → Main-PBJjfzBg.js} +5 -5
- package/dist/{MyPosProfile-CN8Bj3aV.js → MyPosProfile-BQCBFMFw.js} +1 -1
- package/dist/{PermissionSetList-I3u2_qHR.js → PermissionSetList-D2qZVlF4.js} +32 -31
- package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-BBoRXQPn.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-ZSREAS1r.js} +927 -927
- package/dist/PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-DRGTxOMW.js +1831 -0
- package/dist/ResponsiveContextMenu.vue_vue_type_script_setup_true_lang-mSJFKo7r.js +132 -0
- package/dist/RoleForm.vue_vue_type_script_setup_true_lang-DFDTw0lj.js +547 -0
- package/dist/RoleList-DG0crFzW.js +274 -0
- package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-Cs0rhCa3.js +544 -0
- package/dist/ScheduleGeneralPage-C4J6jYtG.js +811 -0
- package/dist/ScheduleModal.vue_vue_type_script_setup_true_lang-3UqO6uPu.js +2557 -0
- package/dist/SchedulePage-ICzggri0.js +19458 -0
- package/dist/SchedulePositionPage-BshUCd_C.js +282 -0
- package/dist/SelectFilter-D9T0nFvG.js +264 -0
- package/dist/TeamMemberList-C970Iqlj.js +2086 -0
- package/dist/{TimesheetList-CECFKt7H.js → TimesheetList-nxhr0EWj.js} +10 -10
- package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-RIyoAmeb.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-BLqgALLe.js} +3 -3
- package/dist/{app-CdrnR_Pw.js → app-n6d4AmtP.js} +12373 -4651
- package/dist/app.js +1 -1
- package/dist/{approval-code-Bwvwehz9.js → approval-code-1j1OoXt1.js} +1 -1
- package/dist/{dayjs.min-BO8bcI17.js → dayjs.min-DdNivv4b.js} +26 -26
- package/dist/{employee-Dg-J9goA.js → employee-BlfleiCU.js} +40 -35
- package/dist/{grant-user-whFOaPZI.js → grant-user-BmTyexk3.js} +1 -1
- package/dist/{iteration-ZpERYj3o.js → iteration-y_jodvfN.js} +1 -1
- package/dist/{lodash-7SZBZ8VQ.js → lodash-B2eWEGH4.js} +1 -1
- package/dist/{member-grant-C46lvrh2.js → member-grant-CzZUdO_s.js} +2 -2
- package/dist/object-Dwyg2LgX.js +16 -0
- package/dist/restaurant-Dl6yx37M.js +51 -0
- package/dist/{role-C6hFKOfU.js → role-DfZi7Ssk.js} +3 -3
- package/dist/{rule-BlMymDXm.js → rule-ChmhcGgA.js} +13 -13
- 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/api/sso-provider/index.d.ts +5 -0
- package/dist/src/api/staff-invite/index.d.ts +1 -2
- package/dist/src/components/AppForm.vue.d.ts +2 -2
- package/dist/src/components/CheckboxInput.vue.d.ts +2 -2
- package/dist/src/components/layout/PortalShell.vue.d.ts +12 -0
- package/dist/src/components/layout/SchedulePromoBanner.vue.d.ts +2 -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/composables/useSsoProviders.d.ts +19 -0
- package/dist/src/composables/useStaffInviteProviders.d.ts +1 -12
- package/dist/src/helpers/pos-assignment-rows.d.ts +2 -0
- package/dist/src/helpers/staff-invite.d.ts +3 -0
- package/dist/src/router/shared.d.ts +3 -0
- package/dist/src/stores/employee.d.ts +12 -12
- package/dist/src/types/employee.d.ts +1 -0
- package/dist/src/types/schedule.d.ts +23 -0
- package/dist/src/types/sso-provider.d.ts +10 -0
- 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 +20 -0
- package/dist/src/views/hr/role/RoleForm.vue.d.ts +29 -2
- 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/scheduling/components/ScheduleAutoScheduleModal.vue.d.ts +10 -0
- 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/MemberGrantFields.vue.d.ts +2 -6
- package/dist/src/views/team/components/PortalConditionForm.vue.d.ts +2 -2
- package/dist/src/views/team/components/PosAssignmentRows.vue.d.ts +0 -2
- package/dist/src/views/team/condition-builders/ConditionBuilderForm.vue.d.ts +2 -2
- package/dist/src/views/team/member/AddMemberForm.vue.d.ts +0 -2
- package/dist/src/views/team/member/TeamMemberMasterUser.vue.d.ts +0 -2
- package/dist/style.css +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{useAppStore-CL6EEDuw.js → useAppStore-BPARQyvJ.js} +1 -1
- package/dist/useDiscardConfirm-CzZSPyvh.js +28 -0
- package/dist/{useLoading-BBjBUzGJ.js → useLoading-iPESFb6R.js} +1 -1
- package/dist/{useReportPermissions-Bg0fma6m.js → useReportPermissions-By-BoJZb.js} +5 -5
- package/package.json +5 -3
- package/dist/AuditLogList-Dd6HyFhk.js +0 -1777
- package/dist/FormItem.vue_vue_type_script_setup_true_lang-DPT2FoIc.js +0 -45
- package/dist/FormSection.vue_vue_type_script_setup_true_lang-DknXTYiK.js +0 -49
- package/dist/PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-B5QDOF0L.js +0 -1840
- package/dist/RoleList-ALmAwN0U.js +0 -739
- package/dist/SelectFilter-ATOm0hdn.js +0 -269
- package/dist/TeamMemberList-DZfEnOs1.js +0 -2097
- package/dist/restaurant-CKhT6kgj.js +0 -45
- package/dist/useDiscardConfirm-DPhEV6v0.js +0 -157
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ScheduleSelectOption } from '../components/ScheduleSelect.vue';
|
|
2
|
+
/** Which outlet the board is scheduling, and the picker that changes it.
|
|
3
|
+
*
|
|
4
|
+
* On entry the outlet last picked in the schedule wins, remembered per business in localStorage.
|
|
5
|
+
* The host shell (mf-common) resets its own `currentRestaurant` to the first manageable outlet
|
|
6
|
+
* and rewrites `?restaurantId=` on every reload, so neither the URL nor the shell's selection
|
|
7
|
+
* can carry the user's pick across a refresh. Only when nothing was ever picked here does the
|
|
8
|
+
* shell's selection decide, so arriving from elsewhere in the portal lands on the outlet that
|
|
9
|
+
* was already being looked at. Failing that it falls back to the first outlet in the business,
|
|
10
|
+
* which is better than an empty board. The picker offers only restaurants the user can manage.
|
|
11
|
+
*
|
|
12
|
+
* Switching from the picker saves the pick and writes the new id back into `?restaurantId=` too,
|
|
13
|
+
* via `router.replace`, not a navigation, so it does not reload the page or add a history entry.
|
|
14
|
+
* The picker already re-fetches everything the new outlet needs (see switchTo below); this just
|
|
15
|
+
* keeps the address bar honest about which one is on screen. */
|
|
16
|
+
export declare function useScheduleOutlet(): {
|
|
17
|
+
options: import("vue").ComputedRef<ScheduleSelectOption[]>;
|
|
18
|
+
ready: import("vue").Ref<boolean, boolean>;
|
|
19
|
+
outletId: import("vue").Ref<string, string>;
|
|
20
|
+
resolve: () => Promise<string>;
|
|
21
|
+
resolveOutlet: () => Promise<string>;
|
|
22
|
+
switchTo: (restaurantId: string, weekStart: Date) => Promise<boolean>;
|
|
23
|
+
setBeforeSwitch: (handler: (restaurantId: string) => boolean | Promise<boolean>) => void;
|
|
24
|
+
};
|
|
25
|
+
export type ScheduleOutletApi = ReturnType<typeof useScheduleOutlet>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
import type { ScheduleAutoScheduleApi } from './useScheduleAutoSchedule';
|
|
3
|
+
import type { SchedulePublishApi } from './useSchedulePublish';
|
|
4
|
+
interface UseSchedulePageActionsOptions {
|
|
5
|
+
board: ScheduleBoardApi;
|
|
6
|
+
autoSchedule: ScheduleAutoScheduleApi;
|
|
7
|
+
publish: SchedulePublishApi;
|
|
8
|
+
notify: (message: string, type: 'info' | 'success') => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function useSchedulePageActions(options: UseSchedulePageActionsOptions): {
|
|
11
|
+
comingSoon: () => void;
|
|
12
|
+
onSchedStatusClick: () => void;
|
|
13
|
+
onApplyProposals: (count: number) => void;
|
|
14
|
+
onApplyAndPublishProposals: (count: number) => Promise<void>;
|
|
15
|
+
onProposalDragStart: (id: number, event: DragEvent) => void;
|
|
16
|
+
onScroll: (delta: number) => void;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
import type { ScheduleDemandApi } from './useScheduleDemand';
|
|
3
|
+
import type { ScheduleOutletApi } from './useScheduleOutlet';
|
|
4
|
+
/** Owns SchedulePage's data bootstrap and loading lifecycle, separate from rendering concerns. */
|
|
5
|
+
export declare function useSchedulePageBootstrap(board: ScheduleBoardApi, demand: ScheduleDemandApi, outlet: ScheduleOutletApi): {
|
|
6
|
+
booting: import("vue").Ref<boolean, boolean>;
|
|
7
|
+
showSkeleton: import("vue").ComputedRef<boolean>;
|
|
8
|
+
applyStoredDemand: () => void;
|
|
9
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
import type { ScheduleClashDetectionApi } from './useScheduleClashDetection';
|
|
3
|
+
import type { ScheduleDemandApi } from './useScheduleDemand';
|
|
4
|
+
import type { ScheduleAddPickApi } from './useScheduleAddPick';
|
|
5
|
+
import type { ScheduleShiftPopoverApi } from './useScheduleShiftPopover';
|
|
6
|
+
import type { ScheduleDemandSheetApi } from './useScheduleDemandSheet';
|
|
7
|
+
interface UseSchedulePageCellActionsOptions {
|
|
8
|
+
board: ScheduleBoardApi;
|
|
9
|
+
clash: ScheduleClashDetectionApi;
|
|
10
|
+
demand: ScheduleDemandApi;
|
|
11
|
+
addPick: ScheduleAddPickApi;
|
|
12
|
+
popover: ScheduleShiftPopoverApi;
|
|
13
|
+
demandSheet: ScheduleDemandSheetApi;
|
|
14
|
+
}
|
|
15
|
+
export declare function useSchedulePageCellActions(options: UseSchedulePageCellActionsOptions): {
|
|
16
|
+
dayHasAnyShift: (dayIdx: number) => boolean;
|
|
17
|
+
onAddShift: (empId: number, dayIdx: number, anchor: HTMLElement) => void;
|
|
18
|
+
onEditShift: (empId: number, dayIdx: number, slotIndex?: number) => void;
|
|
19
|
+
onOpenDemandSheet: (dayIdx: number) => void;
|
|
20
|
+
};
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
import type { ScheduleClashDetectionApi } from './useScheduleClashDetection';
|
|
3
|
+
import type { ScheduleDragDropApi } from './useScheduleDragDrop';
|
|
4
|
+
import type { ScheduleShiftActionsApi } from './useScheduleShiftActions';
|
|
5
|
+
import type { ScheduleAutoScheduleApi } from './useScheduleAutoSchedule';
|
|
6
|
+
interface UseSchedulePageCellDropOptions {
|
|
7
|
+
board: ScheduleBoardApi;
|
|
8
|
+
autoSchedule: ScheduleAutoScheduleApi;
|
|
9
|
+
dragDrop: ScheduleDragDropApi;
|
|
10
|
+
shiftActions: ScheduleShiftActionsApi;
|
|
11
|
+
clash: ScheduleClashDetectionApi;
|
|
12
|
+
dayHasAnyShift: (dayIdx: number) => boolean;
|
|
13
|
+
notify: (message: string, type: 'error') => void;
|
|
14
|
+
}
|
|
15
|
+
export declare function useSchedulePageCellDrop(options: UseSchedulePageCellDropOptions): {
|
|
16
|
+
onCellDrop: (empId: number, dayIdx: number, event: DragEvent, targetSlotIndex?: number, kind?: "employee" | "position") => void;
|
|
17
|
+
confirmPositionSwap: (toEmpId: number, toDayIdx: number, onConfirm: () => void) => void;
|
|
18
|
+
confirmPositionDrop: (targetDayIdx: number, onConfirm: () => void) => void;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
import type { ScheduleDemandApi } from './useScheduleDemand';
|
|
3
|
+
export type ClearKind = 'both' | 'shifts' | 'demand';
|
|
4
|
+
export declare const CLEAR_COPY: Record<ClearKind, {
|
|
5
|
+
title: string;
|
|
6
|
+
message: string;
|
|
7
|
+
confirm: string;
|
|
8
|
+
}>;
|
|
9
|
+
/** i18n keys behind each confirm dialog — `CLEAR_COPY` above is the English fallback kept for
|
|
10
|
+
* existing callers; prefer the translated `clearCopy` the composable returns. */
|
|
11
|
+
export declare const CLEAR_COPY_KEYS: Record<ClearKind, {
|
|
12
|
+
title: string;
|
|
13
|
+
message: string;
|
|
14
|
+
confirm: string;
|
|
15
|
+
}>;
|
|
16
|
+
type Snackbar = {
|
|
17
|
+
open: (options: {
|
|
18
|
+
message: string;
|
|
19
|
+
type: 'error' | 'info' | 'success';
|
|
20
|
+
}) => void;
|
|
21
|
+
};
|
|
22
|
+
export declare function useSchedulePageClearActions(board: ScheduleBoardApi, demand: ScheduleDemandApi, snackbar: Snackbar): {
|
|
23
|
+
clearKind: import("vue").Ref<ClearKind | null, ClearKind | null>;
|
|
24
|
+
clearCopy: import("vue").ComputedRef<{
|
|
25
|
+
title: string;
|
|
26
|
+
message: string;
|
|
27
|
+
confirm: string;
|
|
28
|
+
} | null>;
|
|
29
|
+
clearing: import("vue").Ref<boolean, boolean>;
|
|
30
|
+
onConfirmClear: () => Promise<void>;
|
|
31
|
+
};
|
|
32
|
+
export type SchedulePageClearActionsApi = ReturnType<typeof useSchedulePageClearActions>;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
import type { Ref } from 'vue';
|
|
3
|
+
import { useScheduleEmployeeProfile } from './useScheduleEmployeeProfile';
|
|
4
|
+
import type { ScheduleAddEmployeeApi } from './useScheduleAddEmployee';
|
|
5
|
+
import type { ScheduleClashDetectionApi } from './useScheduleClashDetection';
|
|
6
|
+
type ScheduleEmployeeProfileApi = ReturnType<typeof useScheduleEmployeeProfile>;
|
|
7
|
+
interface UseSchedulePageEmployeeActionsOptions {
|
|
8
|
+
board: ScheduleBoardApi;
|
|
9
|
+
employeeProfile: ScheduleEmployeeProfileApi;
|
|
10
|
+
addEmployee: ScheduleAddEmployeeApi;
|
|
11
|
+
removeEmployeeId: Ref<number | null>;
|
|
12
|
+
clash: ScheduleClashDetectionApi;
|
|
13
|
+
notify: (message: string, type: 'error' | 'info' | 'success') => void;
|
|
14
|
+
}
|
|
15
|
+
export declare function useSchedulePageEmployeeActions(options: UseSchedulePageEmployeeActionsOptions): {
|
|
16
|
+
onOpenEmployeeMenu: (empId: number) => void;
|
|
17
|
+
onEditEmployee: () => void;
|
|
18
|
+
onClearAllShifts: (empId: number) => void;
|
|
19
|
+
onRemoveEmployee: () => void;
|
|
20
|
+
onConfirmRemoveEmployee: () => Promise<void>;
|
|
21
|
+
};
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ref } from 'vue';
|
|
2
|
+
import type { ScheduleAddPickApi } from './useScheduleAddPick';
|
|
3
|
+
import type { ScheduleDayNoteApi } from './useScheduleDayNote';
|
|
4
|
+
import type { ScheduleGapPopoverApi } from './useScheduleGapPopover';
|
|
5
|
+
import type { ScheduleShiftActionsApi } from './useScheduleShiftActions';
|
|
6
|
+
import type { ScheduleTimePickerApi } from './useScheduleTimePicker';
|
|
7
|
+
export type ScheduleTopbarMenu = 'actions' | 'export';
|
|
8
|
+
export interface ScheduleTopbarApi {
|
|
9
|
+
openMenu: ReturnType<typeof ref<ScheduleTopbarMenu | null>>;
|
|
10
|
+
toggleMenu: (id: ScheduleTopbarMenu) => void;
|
|
11
|
+
closeMenus: () => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function useSchedulePageOverlays(apis: {
|
|
14
|
+
dayNote: ScheduleDayNoteApi;
|
|
15
|
+
gap: ScheduleGapPopoverApi;
|
|
16
|
+
timePicker: ScheduleTimePickerApi;
|
|
17
|
+
addPick: ScheduleAddPickApi;
|
|
18
|
+
shiftActions: ScheduleShiftActionsApi;
|
|
19
|
+
}): {
|
|
20
|
+
topbar: ScheduleTopbarApi;
|
|
21
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ComputedRef, type Ref } from 'vue';
|
|
2
|
+
export interface SchedulePdfCanvas {
|
|
3
|
+
canvas: HTMLCanvasElement;
|
|
4
|
+
}
|
|
5
|
+
export interface SchedulePdfExportOptions {
|
|
6
|
+
subtitle: ComputedRef<string>;
|
|
7
|
+
title: ComputedRef<string>;
|
|
8
|
+
buildCanvas: () => SchedulePdfCanvas | null;
|
|
9
|
+
buildSheetImage: (onReady: () => void) => void;
|
|
10
|
+
jpgPreviewOpen: Ref<boolean>;
|
|
11
|
+
releaseSheetImage: () => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function useSchedulePdfExport(options: SchedulePdfExportOptions): {
|
|
14
|
+
previewOpen: Ref<boolean, boolean>;
|
|
15
|
+
barMeta: ComputedRef<string>;
|
|
16
|
+
openPreview: () => void;
|
|
17
|
+
closePreview: () => void;
|
|
18
|
+
printNow: () => void;
|
|
19
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export interface PositionModalPerson {
|
|
2
|
+
employeeId: string;
|
|
3
|
+
name: string;
|
|
4
|
+
initials: string;
|
|
5
|
+
/** Positions they already hold, main first — the row's second line. */
|
|
6
|
+
held: string[];
|
|
7
|
+
heldPositionIds: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface PositionModalDone {
|
|
10
|
+
name: string;
|
|
11
|
+
assigned: number;
|
|
12
|
+
failed: number;
|
|
13
|
+
}
|
|
14
|
+
/** The "Add position" popup: a name, plus who on this outlet's roster can work it.
|
|
15
|
+
*
|
|
16
|
+
* Saving creates the (business-wide) position, then adds it to each ticked person's profile —
|
|
17
|
+
* as their main position when they have none yet, otherwise as one more they are trained in.
|
|
18
|
+
* The profile write replaces `secondaryPositions` wholesale, so a person's existing ones are
|
|
19
|
+
* sent back with the new one rather than being dropped. */
|
|
20
|
+
export declare function useSchedulePositionModal(onCreated?: (positionName: string) => void, options?: {
|
|
21
|
+
notify?: (message: string, type?: 'success' | 'error' | 'info') => void;
|
|
22
|
+
}): {
|
|
23
|
+
open: import("vue").Ref<boolean, boolean>;
|
|
24
|
+
name: import("vue").Ref<string, string>;
|
|
25
|
+
search: import("vue").Ref<string, string>;
|
|
26
|
+
picks: Record<string, boolean>;
|
|
27
|
+
saving: import("vue").Ref<boolean, boolean>;
|
|
28
|
+
error: import("vue").Ref<string | null, string | null>;
|
|
29
|
+
done: import("vue").Ref<{
|
|
30
|
+
name: string;
|
|
31
|
+
assigned: number;
|
|
32
|
+
failed: number;
|
|
33
|
+
} | null, PositionModalDone | {
|
|
34
|
+
name: string;
|
|
35
|
+
assigned: number;
|
|
36
|
+
failed: number;
|
|
37
|
+
} | null>;
|
|
38
|
+
nameError: import("vue").Ref<boolean, boolean>;
|
|
39
|
+
people: import("vue").ComputedRef<PositionModalPerson[]>;
|
|
40
|
+
visible: import("vue").ComputedRef<PositionModalPerson[]>;
|
|
41
|
+
pickedIds: import("vue").ComputedRef<string[]>;
|
|
42
|
+
allPicked: import("vue").ComputedRef<boolean>;
|
|
43
|
+
nameTaken: import("vue").ComputedRef<boolean>;
|
|
44
|
+
canSave: import("vue").ComputedRef<boolean>;
|
|
45
|
+
editingId: import("vue").Ref<string | null, string | null>;
|
|
46
|
+
openNew: () => void;
|
|
47
|
+
openEdit: (id: string, currentName: string) => void;
|
|
48
|
+
close: () => void;
|
|
49
|
+
toggle: (employeeId: string) => void;
|
|
50
|
+
toggleAll: () => void;
|
|
51
|
+
save: () => Promise<boolean>;
|
|
52
|
+
saveAndAnother: () => Promise<void>;
|
|
53
|
+
another: () => void;
|
|
54
|
+
};
|
|
55
|
+
export type SchedulePositionModalApi = ReturnType<typeof useSchedulePositionModal>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface SchedulePositionRow {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function useSchedulePositions(options?: {
|
|
6
|
+
notify?: (message: string, type?: 'success' | 'error' | 'info') => void;
|
|
7
|
+
deferWrites?: boolean;
|
|
8
|
+
}): {
|
|
9
|
+
positions: import("vue").Ref<{
|
|
10
|
+
id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
}[], SchedulePositionRow[] | {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
}[]>;
|
|
16
|
+
pendingCreates: string[];
|
|
17
|
+
pendingDeletes: Set<string>;
|
|
18
|
+
count: import("vue").ComputedRef<number>;
|
|
19
|
+
isAdding: import("vue").Ref<boolean, boolean>;
|
|
20
|
+
newName: import("vue").Ref<string, string>;
|
|
21
|
+
pendingDeleteId: import("vue").Ref<string | null, string | null>;
|
|
22
|
+
saving: import("vue").Ref<boolean, boolean>;
|
|
23
|
+
error: import("vue").Ref<string | null, string | null>;
|
|
24
|
+
usageCountFor: (positionId: string) => number;
|
|
25
|
+
startAdd: () => void;
|
|
26
|
+
cancelAdd: () => void;
|
|
27
|
+
confirmAdd: () => Promise<void>;
|
|
28
|
+
askDelete: (id: string) => void;
|
|
29
|
+
cancelDelete: () => void;
|
|
30
|
+
confirmDelete: (id: string) => Promise<void>;
|
|
31
|
+
commitCreates: () => Promise<void>;
|
|
32
|
+
commitDeletes: () => Promise<void>;
|
|
33
|
+
discardPending: () => void;
|
|
34
|
+
};
|
|
35
|
+
export type SchedulePositionsApi = ReturnType<typeof useSchedulePositions>;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
import type { ScheduleVersion } from '../types';
|
|
3
|
+
export interface VersionDiffRow {
|
|
4
|
+
name: string;
|
|
5
|
+
day: string;
|
|
6
|
+
kind: 'add' | 'rem' | 'chg';
|
|
7
|
+
from: string | null;
|
|
8
|
+
to: string | null;
|
|
9
|
+
}
|
|
10
|
+
/** The mockup's Publish modal (openPublish/renderPublish/confirmPublish) — draft vs. published
|
|
11
|
+
* stamps, a conflict-acknowledgement gate, the pending-change list, and per-version diffing
|
|
12
|
+
* against the previous version. The mockup's WhatsApp/push/email notify-channel block is not
|
|
13
|
+
* ported: it depends on per-employee notification-preference data that doesn't exist anywhere
|
|
14
|
+
* in this mock model, and building it would mean inventing a whole notification-preferences
|
|
15
|
+
* concept with no other consumer — publish here just publishes. */
|
|
16
|
+
export declare function useSchedulePublish(board: ScheduleBoardApi): {
|
|
17
|
+
isOpen: import("vue").Ref<boolean, boolean>;
|
|
18
|
+
pubAcked: import("vue").Ref<boolean, boolean>;
|
|
19
|
+
showAllVersions: import("vue").Ref<boolean, boolean>;
|
|
20
|
+
expandedVersion: import("vue").Ref<number | null, number | null>;
|
|
21
|
+
open: () => void;
|
|
22
|
+
close: () => void;
|
|
23
|
+
conflicts: import("vue").ComputedRef<number>;
|
|
24
|
+
confirmDisabled: import("vue").ComputedRef<boolean>;
|
|
25
|
+
publishing: import("vue").Ref<boolean, boolean>;
|
|
26
|
+
visibleVersions: import("vue").ComputedRef<{
|
|
27
|
+
v: number;
|
|
28
|
+
at: Date;
|
|
29
|
+
by: string;
|
|
30
|
+
note: string;
|
|
31
|
+
changeCount: number;
|
|
32
|
+
staffAffected: number;
|
|
33
|
+
snapshot: {
|
|
34
|
+
id: number;
|
|
35
|
+
name: string;
|
|
36
|
+
weekHours: number;
|
|
37
|
+
shifts: ({
|
|
38
|
+
start: string;
|
|
39
|
+
end: string;
|
|
40
|
+
role: string;
|
|
41
|
+
positionId?: string | undefined;
|
|
42
|
+
status: import("../types").ShiftStatus;
|
|
43
|
+
clock?: {
|
|
44
|
+
in: string | null;
|
|
45
|
+
out: string | null;
|
|
46
|
+
status: "on-time" | "late" | "early-out" | "absent";
|
|
47
|
+
} | undefined;
|
|
48
|
+
conflict?: boolean | undefined;
|
|
49
|
+
conflictReason?: string | undefined;
|
|
50
|
+
openId?: number | undefined;
|
|
51
|
+
breakMins?: number | undefined;
|
|
52
|
+
breaks?: ({
|
|
53
|
+
type: "DURATION";
|
|
54
|
+
minutes: number;
|
|
55
|
+
breakPayType: "PAID" | "UNPAID";
|
|
56
|
+
} | {
|
|
57
|
+
type: "TIME_RANGE";
|
|
58
|
+
startTime: string;
|
|
59
|
+
endTime: string;
|
|
60
|
+
breakPayType: "PAID" | "UNPAID";
|
|
61
|
+
})[] | undefined;
|
|
62
|
+
assignmentId?: string | undefined;
|
|
63
|
+
updatedAt?: string | undefined;
|
|
64
|
+
splitGroupId?: string | undefined;
|
|
65
|
+
} | {
|
|
66
|
+
timeOff: "approved" | "pending";
|
|
67
|
+
requestId?: string | undefined;
|
|
68
|
+
type?: "OFF_DAY" | "LEAVE" | undefined;
|
|
69
|
+
leaveType?: "ANNUAL" | "MEDICAL" | "EMERGENCY" | "UNPAID" | undefined;
|
|
70
|
+
reason: string;
|
|
71
|
+
half?: boolean | undefined;
|
|
72
|
+
halfPart?: "AM" | "PM" | undefined;
|
|
73
|
+
from?: string | undefined;
|
|
74
|
+
to?: string | undefined;
|
|
75
|
+
appliedOn?: string | undefined;
|
|
76
|
+
note?: string | undefined;
|
|
77
|
+
cert?: {
|
|
78
|
+
name: string;
|
|
79
|
+
size: string;
|
|
80
|
+
} | null | undefined;
|
|
81
|
+
bal?: {
|
|
82
|
+
type: string;
|
|
83
|
+
entitled: number;
|
|
84
|
+
used: number;
|
|
85
|
+
} | undefined;
|
|
86
|
+
} | {
|
|
87
|
+
start: string;
|
|
88
|
+
end: string;
|
|
89
|
+
role: string;
|
|
90
|
+
positionId?: string | undefined;
|
|
91
|
+
status: import("../types").ShiftStatus;
|
|
92
|
+
clock?: {
|
|
93
|
+
in: string | null;
|
|
94
|
+
out: string | null;
|
|
95
|
+
status: "on-time" | "late" | "early-out" | "absent";
|
|
96
|
+
} | undefined;
|
|
97
|
+
conflict?: boolean | undefined;
|
|
98
|
+
conflictReason?: string | undefined;
|
|
99
|
+
openId?: number | undefined;
|
|
100
|
+
breakMins?: number | undefined;
|
|
101
|
+
breaks?: ({
|
|
102
|
+
type: "DURATION";
|
|
103
|
+
minutes: number;
|
|
104
|
+
breakPayType: "PAID" | "UNPAID";
|
|
105
|
+
} | {
|
|
106
|
+
type: "TIME_RANGE";
|
|
107
|
+
startTime: string;
|
|
108
|
+
endTime: string;
|
|
109
|
+
breakPayType: "PAID" | "UNPAID";
|
|
110
|
+
})[] | undefined;
|
|
111
|
+
assignmentId?: string | undefined;
|
|
112
|
+
updatedAt?: string | undefined;
|
|
113
|
+
splitGroupId?: string | undefined;
|
|
114
|
+
}[] | null)[];
|
|
115
|
+
}[];
|
|
116
|
+
}[]>;
|
|
117
|
+
toggleAllVersions: () => void;
|
|
118
|
+
toggleVersionDiff: (v: number) => void;
|
|
119
|
+
diffFor: (version: ScheduleVersion) => VersionDiffRow[];
|
|
120
|
+
confirm: () => Promise<void>;
|
|
121
|
+
shareOpen: import("vue").Ref<boolean, boolean>;
|
|
122
|
+
shareVersion: import("vue").Ref<number | null, number | null>;
|
|
123
|
+
shareStaffAffected: import("vue").Ref<number, number>;
|
|
124
|
+
showShareCompletion: (changeCount: number, staffAffected: number) => void;
|
|
125
|
+
closeShare: () => void;
|
|
126
|
+
};
|
|
127
|
+
export type SchedulePublishApi = ReturnType<typeof useSchedulePublish>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { WorkSlot } from '../types';
|
|
2
|
+
export interface SchedulePublishPersistenceOptions {
|
|
3
|
+
recoverPersistFailure: (error: unknown, fallback: string) => Promise<void>;
|
|
4
|
+
}
|
|
5
|
+
export declare function useSchedulePublishPersistence(options: SchedulePublishPersistenceOptions): {
|
|
6
|
+
persistPublish: (items: Array<{
|
|
7
|
+
empId: number;
|
|
8
|
+
dayIdx: number;
|
|
9
|
+
slot: WorkSlot;
|
|
10
|
+
}>) => Promise<boolean>;
|
|
11
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
/** Range-calendar popover behind the topbar's date label — month grid + Today/This
|
|
3
|
+
* week/Next week presets, matching the mockup's range calendar. */
|
|
4
|
+
export declare function useScheduleRangeCalendar(board: ScheduleBoardApi): {
|
|
5
|
+
open: import("vue").Ref<boolean, boolean>;
|
|
6
|
+
pos: {
|
|
7
|
+
left: number;
|
|
8
|
+
top: number;
|
|
9
|
+
};
|
|
10
|
+
toggle: (anchor?: HTMLElement) => void;
|
|
11
|
+
close: () => void;
|
|
12
|
+
cursorMonth: import("vue").Ref<Date, Date>;
|
|
13
|
+
shiftMonth: (delta: number) => void;
|
|
14
|
+
monthLabel: import("vue").ComputedRef<string>;
|
|
15
|
+
calendarDays: import("vue").ComputedRef<{
|
|
16
|
+
date: Date | null;
|
|
17
|
+
}[]>;
|
|
18
|
+
isInRange: (date: Date) => boolean;
|
|
19
|
+
isStart: (date: Date) => boolean;
|
|
20
|
+
isEnd: (date: Date) => boolean;
|
|
21
|
+
isToday: (date: Date) => boolean;
|
|
22
|
+
rangeLabel: import("vue").ComputedRef<string>;
|
|
23
|
+
rangeDays: import("vue").ComputedRef<number>;
|
|
24
|
+
pickDate: (date: Date) => void;
|
|
25
|
+
presetToday: () => void;
|
|
26
|
+
presetNextWeek: () => void;
|
|
27
|
+
};
|