UNPKG

@gem-mine/rmc-calendar

Version:

React Mobile Calendar Component(web and react-native)

43 lines (42 loc) 1.6 kB
import * as React from 'react'; import { Models } from './DataTypes'; import PropsType from './CalendarPanelProps'; export interface StateType { months: Models.MonthData[]; slideIndex: number; } export default abstract class CalendarPanel extends React.Component<PropsType, StateType> { static defaultProps: PropsType; visibleMonth: Models.MonthData[]; touchParams: { startY: number; startTime: number; endTime: number; lastY: number; lastTime: number; }; abstract genMonthComponent: (data: Models.MonthData) => React.ReactNode; constructor(props: PropsType); shouldComponentUpdate(nextProps: PropsType, nextState: StateType, nextContext: any): boolean; componentWillReceiveProps(nextProps: PropsType): void; componentWillMount(): void; genMonth(): void; getMonthDate(date?: Date, addMonth?: number): { firstDate: Date; lastDate: Date; }; canLoadPrev(): boolean; canLoadNext(): boolean; getDateWithoutTime: (date?: Date | undefined) => number; genWeekData: (firstDate: Date) => Models.CellData[][]; genMonthData(date?: Date, addMonth?: number, isSwiper?: boolean): Models.MonthData; inDate(date: number, tick: number): boolean; selectDateRange: (startDate: Date, endDate?: Date | undefined, clear?: boolean) => void; computeVisible: (clientHeight: number, scrollTop: number) => boolean; createOnScroll: () => (data: { full: number; client: number; top: number; }) => void; onCellClick: (day: Models.CellData) => void; }