@feedmepos/mf-hrm-portal 2.2.5-dev → 2.2.5-dev.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ApprovalCodeList-DgcWZ3SZ.js → ApprovalCodeList-BsDMMSIz.js} +4 -4
- package/dist/{AuditLogList-vWKMMGvd.js → AuditLogList-CGNZdtmn.js} +18 -17
- package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-DuhXogXK.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-C6MoToqi.js} +2 -2
- package/dist/EmployeeList-B_OuDWWQ.js +787 -0
- package/dist/{FormItem.vue_vue_type_script_setup_true_lang-DPT2FoIc.js → FormItem.vue_vue_type_script_setup_true_lang-CUnlKsxk.js} +1 -1
- package/dist/{GrantUserList-BAW0C1bA.js → GrantUserList-Bd0lXmFo.js} +5 -5
- package/dist/{Main-NzpdRNB3.js → Main-B66lSeOv.js} +5 -5
- package/dist/{Main-Wr6cTqfM.js → Main-CzHSNHsH.js} +2 -2
- package/dist/{Main-B7Nn8CLQ.js → Main-njRQ1tFk.js} +9 -9
- package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-CqG0v0Sz.js +243 -0
- package/dist/{PermissionSetList-D6AFOleD.js → PermissionSetList-GTI6Cwj5.js} +18 -18
- package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Bzq2_BMn.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-C-QEQ-js.js} +1052 -1052
- package/dist/{RoleList-BuqpmXn_.js → RoleList-CmHgtM0m.js} +7 -7
- package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-SFqxftRx.js +426 -0
- package/dist/ScheduleButton.vue_vue_type_script_setup_true_lang-CrWfo-zF.js +690 -0
- package/dist/ScheduleGeneralPage-DxFxJN5j.js +320 -0
- package/dist/SchedulePage-cJDI3-E7.js +14647 -0
- package/dist/SchedulePositionPage-n1wUShIM.js +293 -0
- package/dist/ScheduleSelect.vue_vue_type_script_setup_true_lang-B8W4sTsA.js +242 -0
- package/dist/SelectFilter-CG13h83-.js +264 -0
- package/dist/TeamMemberList-ByZt3VqN.js +1154 -0
- package/dist/{TimesheetList-B5FyVyCz.js → TimesheetList-Dv0-W--W.js} +54 -53
- package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-C99Jr6Ax.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-DIo6h5-a.js} +2 -2
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
- package/dist/{app-8samJY5z.js → app-SCXGJ95F.js} +3146 -2553
- package/dist/app.js +1 -1
- package/dist/{dayjs.min-Ba4X_9nY.js → dayjs.min-DqMLPYv-.js} +1 -1
- package/dist/{employee-BcFgm8Rt.js → employee-DT_xYQkz.js} +3 -3
- package/dist/{iteration-Dhdew1jW.js → iteration-B5dB9ecy.js} +1 -1
- package/dist/{lodash-CJ3mHku0.js → lodash-CRHFapxI.js} +1 -1
- package/dist/{role-BViYS7RK.js → role-CJm8pXaw.js} +1 -1
- package/dist/{rule-Dxt1ZSQS.js → rule-AJm-eVzJ.js} +276 -272
- package/dist/src/api/schedule/index.d.ts +41 -0
- package/dist/src/components/form/OutletRoleAssignment.vue.d.ts +16 -0
- package/dist/src/components/layout/AppSidebar.vue.d.ts +2 -0
- package/dist/src/components/layout/PortalShell.vue.d.ts +12 -0
- package/dist/src/components/layout/withShell.d.ts +14 -0
- package/dist/src/helpers/outlet-role-assignment.d.ts +40 -0
- package/dist/src/helpers/rule.d.ts +15 -0
- package/dist/src/router/shared.d.ts +4 -1
- package/dist/src/types/schedule.d.ts +232 -0
- package/dist/src/views/scheduling/ScheduleGeneralPage.vue.d.ts +3 -0
- package/dist/src/views/scheduling/SchedulePage.vue.d.ts +3 -0
- package/dist/src/views/scheduling/SchedulePositionPage.vue.d.ts +3 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeIdentitySection.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeModal.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeModeStep.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeePosAccessSection.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeePositionsSection.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeSchedulingSection.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddPickPopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddPositionModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAllShiftsRow.vue.d.ts +22 -0
- package/dist/src/views/scheduling/components/ScheduleAreaRows.vue.d.ts +34 -0
- package/dist/src/views/scheduling/components/ScheduleAssignEmployeePopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAutoScheduleModal.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleButton.vue.d.ts +23 -0
- package/dist/src/views/scheduling/components/ScheduleChangeEmployeeModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleConfirmModal.vue.d.ts +24 -0
- package/dist/src/views/scheduling/components/ScheduleCostRail.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleDateRangePopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleDayNotePopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleDayTimeline.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleDemandRow.vue.d.ts +23 -0
- package/dist/src/views/scheduling/components/ScheduleDemandSheet.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleDotsIcon.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleEmployeeDetailPanel.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleEmployeeIdentity.vue.d.ts +17 -0
- package/dist/src/views/scheduling/components/ScheduleEmployeeMenu.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleFilterBar.vue.d.ts +18 -0
- package/dist/src/views/scheduling/components/ScheduleGapPopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleGridHeader.vue.d.ts +18 -0
- package/dist/src/views/scheduling/components/ScheduleGridSkeleton.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleLeaveEditModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleLegendBar.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWelcome.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWizard.vue.d.ts +9 -0
- package/dist/src/views/scheduling/components/ScheduleOpenShiftCardMenu.vue.d.ts +14 -0
- package/dist/src/views/scheduling/components/SchedulePdfPreview.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/SchedulePublishModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleReviewBar.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleSelect.vue.d.ts +54 -0
- package/dist/src/views/scheduling/components/ScheduleSelectExistingEmployeeModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleShiftCardMenu.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleShiftCell.vue.d.ts +35 -0
- package/dist/src/views/scheduling/components/ScheduleShiftHeadcountEditor.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleShiftImpact.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleShiftMoreOptions.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleShiftPopover.vue.d.ts +16 -0
- package/dist/src/views/scheduling/components/ScheduleShiftRepeatDaysRow.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleShiftSegmentsEditor.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleShiftWhoPicker.vue.d.ts +25 -0
- package/dist/src/views/scheduling/components/ScheduleStackPopover.vue.d.ts +14 -0
- package/dist/src/views/scheduling/components/ScheduleStaffRail.vue.d.ts +18 -0
- package/dist/src/views/scheduling/components/ScheduleStaffRows.vue.d.ts +60 -0
- package/dist/src/views/scheduling/components/ScheduleStatsRow.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleSwapShiftsModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleTimePickerPopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleTopbar.vue.d.ts +20 -0
- package/dist/src/views/scheduling/composables/schedule-add-employee-form.d.ts +72 -0
- package/dist/src/views/scheduling/composables/schedule-board-helpers.d.ts +38 -0
- package/dist/src/views/scheduling/composables/schedule-day-meta.d.ts +29 -0
- package/dist/src/views/scheduling/composables/schedule-employee-profile.d.ts +7 -0
- package/dist/src/views/scheduling/composables/schedule-popover-position.d.ts +16 -0
- package/dist/src/views/scheduling/composables/schedule-shift-time.d.ts +14 -0
- package/dist/src/views/scheduling/composables/schedule-week-cache.d.ts +10 -0
- package/dist/src/views/scheduling/composables/scheduleAutoSolver.d.ts +21 -0
- package/dist/src/views/scheduling/composables/useCollapsedList.d.ts +9 -0
- package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +98 -0
- package/dist/src/views/scheduling/composables/useScheduleAddPick.d.ts +73 -0
- package/dist/src/views/scheduling/composables/useScheduleAllShiftsRow.d.ts +77 -0
- package/dist/src/views/scheduling/composables/useScheduleAreaBoard.d.ts +50 -0
- package/dist/src/views/scheduling/composables/useScheduleAreaDragDrop.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useScheduleAssign.d.ts +122 -0
- package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +143 -0
- package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +426 -0
- package/dist/src/views/scheduling/composables/useScheduleCellState.d.ts +27 -0
- package/dist/src/views/scheduling/composables/useScheduleClashDetection.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useScheduleCopyWeek.d.ts +19 -0
- package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +43 -0
- package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +48 -0
- package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +77 -0
- package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +76 -0
- package/dist/src/views/scheduling/composables/useScheduleDemandRow.d.ts +45 -0
- package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +145 -0
- package/dist/src/views/scheduling/composables/useScheduleDragDrop.d.ts +22 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeIdentity.d.ts +41 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeMenu.d.ts +35 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeProfile.d.ts +16 -0
- package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +26 -0
- package/dist/src/views/scheduling/composables/useScheduleFilterBar.d.ts +14 -0
- package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +82 -0
- package/dist/src/views/scheduling/composables/useScheduleLeave.d.ts +70 -0
- package/dist/src/views/scheduling/composables/useScheduleLegend.d.ts +15 -0
- package/dist/src/views/scheduling/composables/useScheduleLegendBar.d.ts +35 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +1316 -0
- package/dist/src/views/scheduling/composables/useScheduleOpenShiftCard.d.ts +23 -0
- package/dist/src/views/scheduling/composables/useScheduleOutlet.d.ts +20 -0
- package/dist/src/views/scheduling/composables/useSchedulePositionModal.d.ts +50 -0
- package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +32 -0
- package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +93 -0
- package/dist/src/views/scheduling/composables/useScheduleRangeCalendar.d.ts +27 -0
- package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +189 -0
- package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +54 -0
- package/dist/src/views/scheduling/composables/useScheduleSetupBanner.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +163 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +181 -0
- package/dist/src/views/scheduling/composables/useScheduleStaffRail.d.ts +23 -0
- package/dist/src/views/scheduling/composables/useScheduleStatsRow.d.ts +25 -0
- package/dist/src/views/scheduling/composables/useScheduleTimePicker.d.ts +49 -0
- package/dist/src/views/scheduling/composables/useScheduleTopbar.d.ts +10 -0
- package/dist/src/views/scheduling/composables/useScheduleViewportFit.d.ts +9 -0
- package/dist/src/views/scheduling/data.d.ts +110 -0
- package/dist/src/views/scheduling/locales/index.d.ts +496 -0
- package/dist/src/views/scheduling/schedule-store.d.ts +151 -0
- package/dist/src/views/scheduling/types.d.ts +324 -0
- package/dist/src/views/team/components/PortalConditionForm.vue.d.ts +2 -2
- package/dist/src/views/team/condition-builders/ConditionBuilderForm.vue.d.ts +2 -2
- package/dist/src/views/team/member/TeamMemberMasterUser.vue.d.ts +12 -3
- package/dist/style.css +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{useReportPermissions-BiyAfGvZ.js → useReportPermissions-Cg3lV70m.js} +3 -3
- package/package.json +1 -1
- package/dist/EmployeeList-Cu4RxVQX.js +0 -889
- package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-BUI0Xsgc.js +0 -85
- package/dist/SelectFilter-ATOm0hdn.js +0 -269
- package/dist/TeamMemberList-M6HA9BWu.js +0 -1248
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { CoverageSegment } from '../types';
|
|
2
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
3
|
+
import type { ScheduleDemandApi } from './useScheduleDemand';
|
|
4
|
+
import type { ScheduleAssignApi } from './useScheduleAssign';
|
|
5
|
+
export interface ScheduleGapActions {
|
|
6
|
+
/** Open the shift editor on a brand new shift for this day and these hours. */
|
|
7
|
+
addShift: (dayIdx: number, position: string, start: string, end: string) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function useScheduleGapPopover(board: ScheduleBoardApi, demand: ScheduleDemandApi, assign: ScheduleAssignApi, actions: ScheduleGapActions): {
|
|
10
|
+
state: {
|
|
11
|
+
open: boolean;
|
|
12
|
+
pinned: boolean;
|
|
13
|
+
peek: boolean;
|
|
14
|
+
wide: boolean;
|
|
15
|
+
left: number;
|
|
16
|
+
top: number;
|
|
17
|
+
};
|
|
18
|
+
ctx: import("vue").Ref<{
|
|
19
|
+
from: number;
|
|
20
|
+
to: number;
|
|
21
|
+
required: number;
|
|
22
|
+
scheduled: number;
|
|
23
|
+
short: number;
|
|
24
|
+
over: number;
|
|
25
|
+
roles: {
|
|
26
|
+
position: string;
|
|
27
|
+
n: number;
|
|
28
|
+
required: number;
|
|
29
|
+
got: number;
|
|
30
|
+
short: number;
|
|
31
|
+
}[];
|
|
32
|
+
anyReq: number;
|
|
33
|
+
anyGot: number;
|
|
34
|
+
none: boolean;
|
|
35
|
+
dayIdx: number;
|
|
36
|
+
} | null, (CoverageSegment & {
|
|
37
|
+
dayIdx: number;
|
|
38
|
+
}) | {
|
|
39
|
+
from: number;
|
|
40
|
+
to: number;
|
|
41
|
+
required: number;
|
|
42
|
+
scheduled: number;
|
|
43
|
+
short: number;
|
|
44
|
+
over: number;
|
|
45
|
+
roles: {
|
|
46
|
+
position: string;
|
|
47
|
+
n: number;
|
|
48
|
+
required: number;
|
|
49
|
+
got: number;
|
|
50
|
+
short: number;
|
|
51
|
+
}[];
|
|
52
|
+
anyReq: number;
|
|
53
|
+
anyGot: number;
|
|
54
|
+
none: boolean;
|
|
55
|
+
dayIdx: number;
|
|
56
|
+
} | null>;
|
|
57
|
+
view: import("vue").ComputedRef<{
|
|
58
|
+
crew: number;
|
|
59
|
+
peak: number;
|
|
60
|
+
when: string;
|
|
61
|
+
day: string;
|
|
62
|
+
none: boolean;
|
|
63
|
+
required: number;
|
|
64
|
+
scheduled: number;
|
|
65
|
+
short: number;
|
|
66
|
+
over: number;
|
|
67
|
+
missing: {
|
|
68
|
+
short: number;
|
|
69
|
+
position: string;
|
|
70
|
+
}[];
|
|
71
|
+
missingNote: string;
|
|
72
|
+
} | null>;
|
|
73
|
+
segEnter: (dayIdx: number, from: number, to: number, anchor: HTMLElement) => void;
|
|
74
|
+
segLeave: () => void;
|
|
75
|
+
hold: () => void;
|
|
76
|
+
segClick: (dayIdx: number, from: number, to: number, anchor: HTMLElement) => void;
|
|
77
|
+
segFocus: (dayIdx: number, from: number, to: number, anchor: HTMLElement) => void;
|
|
78
|
+
addShift: () => void;
|
|
79
|
+
suggestStaffing: () => void;
|
|
80
|
+
close: () => void;
|
|
81
|
+
};
|
|
82
|
+
export type ScheduleGapPopoverApi = ReturnType<typeof useScheduleGapPopover>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { LeaveSlot } from '../types';
|
|
2
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
3
|
+
/** What a day off can be booked as. "Rest Day" leads: it is the most-used reason a day is not
|
|
4
|
+
* worked. */
|
|
5
|
+
export declare const LEAVE_REASONS: string[];
|
|
6
|
+
/** The type the menu's plain "Leave" row books. */
|
|
7
|
+
export declare const DEFAULT_LEAVE_REASON = "Annual Leave";
|
|
8
|
+
export type ScheduleLeaveMode = 'all' | 'am' | 'pm' | 'custom';
|
|
9
|
+
export interface ScheduleLeaveState {
|
|
10
|
+
open: boolean;
|
|
11
|
+
empId: number | null;
|
|
12
|
+
dayIdx: number | null;
|
|
13
|
+
/** Booking a new record, rather than editing one that is already on the day. */
|
|
14
|
+
isNew: boolean;
|
|
15
|
+
reason: string;
|
|
16
|
+
mode: ScheduleLeaveMode;
|
|
17
|
+
/** The hours when mode is 'custom'. */
|
|
18
|
+
from: string;
|
|
19
|
+
to: string;
|
|
20
|
+
}
|
|
21
|
+
/** The leave editor — V6.2's "Book leave" dialog: a reason, how much of the day it covers, and
|
|
22
|
+
* what that does to the person's availability. Opened from the add popup's Rest Day / Leave rows
|
|
23
|
+
* (booking) and from an existing leave card (editing, or approving a pending request). */
|
|
24
|
+
export declare function useScheduleLeave(board: ScheduleBoardApi): {
|
|
25
|
+
state: {
|
|
26
|
+
open: boolean;
|
|
27
|
+
empId: number | null;
|
|
28
|
+
dayIdx: number | null;
|
|
29
|
+
isNew: boolean;
|
|
30
|
+
reason: string;
|
|
31
|
+
mode: ScheduleLeaveMode;
|
|
32
|
+
from: string;
|
|
33
|
+
to: string;
|
|
34
|
+
};
|
|
35
|
+
employee: import("vue").ComputedRef<import("../types").Employee | undefined>;
|
|
36
|
+
activeSlot: import("vue").ComputedRef<LeaveSlot | null>;
|
|
37
|
+
options: import("vue").ComputedRef<({
|
|
38
|
+
hrs: string;
|
|
39
|
+
mode: "custom";
|
|
40
|
+
name: "Specific hours";
|
|
41
|
+
} | {
|
|
42
|
+
hrs: string;
|
|
43
|
+
mode: "all";
|
|
44
|
+
name: "All day";
|
|
45
|
+
} | {
|
|
46
|
+
hrs: string;
|
|
47
|
+
mode: "am";
|
|
48
|
+
name: "Morning";
|
|
49
|
+
} | {
|
|
50
|
+
hrs: string;
|
|
51
|
+
mode: "pm";
|
|
52
|
+
name: "Afternoon";
|
|
53
|
+
})[]>;
|
|
54
|
+
span: import("vue").ComputedRef<{
|
|
55
|
+
from: string;
|
|
56
|
+
to: string;
|
|
57
|
+
hours: number;
|
|
58
|
+
}>;
|
|
59
|
+
valid: import("vue").ComputedRef<boolean>;
|
|
60
|
+
dayLabel: import("vue").ComputedRef<string>;
|
|
61
|
+
hoursText: import("vue").ComputedRef<string>;
|
|
62
|
+
coverText: import("vue").ComputedRef<string>;
|
|
63
|
+
openFor: (empId: number, dayIdx: number, reason?: string | null) => void;
|
|
64
|
+
close: () => void;
|
|
65
|
+
save: () => void;
|
|
66
|
+
approve: () => void;
|
|
67
|
+
reject: () => void;
|
|
68
|
+
remove: () => void;
|
|
69
|
+
};
|
|
70
|
+
export type ScheduleLeaveApi = ReturnType<typeof useScheduleLeave>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
export interface ScheduleCoverageBadge {
|
|
3
|
+
position: string;
|
|
4
|
+
required: number;
|
|
5
|
+
scheduled: number;
|
|
6
|
+
short: boolean;
|
|
7
|
+
}
|
|
8
|
+
/** Coverage badges for a day's header card — required vs. scheduled headcount per
|
|
9
|
+
* position, from the single active shift template's coverage matrix. */
|
|
10
|
+
export declare function useScheduleLegend(board: ScheduleBoardApi): {
|
|
11
|
+
coveragePositions: import("vue").ComputedRef<string[]>;
|
|
12
|
+
coverageForDay: (dayIdx: number) => ScheduleCoverageBadge[];
|
|
13
|
+
dayIsShort: (dayIdx: number) => boolean;
|
|
14
|
+
dayCardTitle: (dayIdx: number) => string;
|
|
15
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
import type { ScheduleAreaBoardApi } from './useScheduleAreaBoard';
|
|
3
|
+
export type ScheduleLegendKey = 'empty' | 'draft' | 'pub' | 'open' | 'warn' | 'ot' | 'leave';
|
|
4
|
+
export interface ScheduleLegendItem {
|
|
5
|
+
key: ScheduleLegendKey;
|
|
6
|
+
count: number;
|
|
7
|
+
label: string;
|
|
8
|
+
/** The warnings figure is the one worth acting on, so it renders as a control that
|
|
9
|
+
* cycles the grid through each conflict — see jumpToConflict(). */
|
|
10
|
+
action: boolean;
|
|
11
|
+
title?: string;
|
|
12
|
+
}
|
|
13
|
+
interface ScheduleConflictRef {
|
|
14
|
+
empId: number;
|
|
15
|
+
dayIdx: number;
|
|
16
|
+
name: string;
|
|
17
|
+
}
|
|
18
|
+
export interface ScheduleLegendBarOptions {
|
|
19
|
+
/** Toast for the conflict cycle — "Conflict 2 of 5 · Nadia, Wed". */
|
|
20
|
+
onJump?: (message: string) => void;
|
|
21
|
+
}
|
|
22
|
+
/** The footer legend under the scheduler: every state a card can be in, counted off the
|
|
23
|
+
* same records the grid renders. Ported from the mockup's renderLegend(). Every figure is
|
|
24
|
+
* scoped to the days currently on screen, except warnings — which counts the whole week, so
|
|
25
|
+
* the number stays stable while jumpToConflict() pages through days one at a time (the
|
|
26
|
+
* mockup's conflictCount() is likewise whole-data rather than span-scoped).
|
|
27
|
+
*
|
|
28
|
+
* Distinct from useScheduleLegend, which is the day header's coverage badges. */
|
|
29
|
+
export declare function useScheduleLegendBar(board: ScheduleBoardApi, areaBoard: ScheduleAreaBoardApi, opts?: ScheduleLegendBarOptions): {
|
|
30
|
+
items: import("vue").ComputedRef<ScheduleLegendItem[]>;
|
|
31
|
+
conflicts: import("vue").ComputedRef<ScheduleConflictRef[]>;
|
|
32
|
+
jumpToConflict: () => void;
|
|
33
|
+
};
|
|
34
|
+
export type ScheduleLegendBarApi = ReturnType<typeof useScheduleLegendBar>;
|
|
35
|
+
export {};
|