UNPKG

@orca-fe/antd-plus

Version:
30 lines (29 loc) 1.17 kB
import moment from 'moment'; import type { DataPositionInfoType, DataPositionType, WeeklyCalendarDataType } from './def'; export type UseScheduleDataOptions<T> = { /** 当前视图所包含的日期 */ current: moment.Moment; /** 展示模式:周视图/日视图 */ mode: 'week' | 'day'; /** 日程数据 */ data: T[]; /** 时间精度(分钟) */ precision: number; }; export declare function hourPercent(m: moment.Moment): number; /** * 根据日程的起止时间,计算日程的位置信息 */ export declare function schedulePositions(start: moment.Moment, end: moment.Moment, current: moment.Moment, precision: number, mode: 'week' | 'day'): DataPositionType[]; /** * 根据当前日期、原始日程数据、时间精度等配置,处理日程数据 * 将会得到本周/本日的日程数据及日程在视图中的位置信息 */ export default function useScheduleData<T extends WeeklyCalendarDataType>(options: UseScheduleDataOptions<T>): { positionInfo: Map<T, DataPositionInfoType>; dataInRange: (T & { start: moment.Moment; end: moment.Moment; _index: number; })[]; };