@orca-fe/antd-plus
Version:
Transformer Container
30 lines (29 loc) • 1.17 kB
TypeScript
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;
})[];
};