123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- import { Duration, CssDimValue } from '@fullcalendar/core';
- import { DateComponent, ViewContext, DateProfile, DayTableModel, EventStore, EventUiHash, DateSpan, EventInteractionState, Seg, Slicer, DateRange, DateProfileGenerator, DateEnv, Hit, DayTableCell, EventSegUiInteractionState, Dictionary, ViewProps, ChunkConfigRowContent, ChunkContentCallbackArgs } from '@fullcalendar/core/internal';
- import { createElement, VNode, RefObject } from '@fullcalendar/core/preact';
- interface DayTableProps {
- dateProfile: DateProfile;
- dayTableModel: DayTableModel;
- nextDayThreshold: Duration;
- businessHours: EventStore;
- eventStore: EventStore;
- eventUiBases: EventUiHash;
- dateSelection: DateSpan | null;
- eventSelection: string;
- eventDrag: EventInteractionState | null;
- eventResize: EventInteractionState | null;
- colGroupNode: VNode;
- tableMinWidth: CssDimValue;
- renderRowIntro?: () => VNode;
- dayMaxEvents: boolean | number;
- dayMaxEventRows: boolean | number;
- expandRows: boolean;
- showWeekNumbers: boolean;
- headerAlignElRef?: RefObject<HTMLElement>;
- clientWidth: number | null;
- clientHeight: number | null;
- forPrint: boolean;
- }
- declare class DayTable extends DateComponent<DayTableProps, ViewContext> {
- private slicer;
- private tableRef;
- render(): createElement.JSX.Element;
- }
- interface TableSeg extends Seg {
- row: number;
- firstCol: number;
- lastCol: number;
- }
- declare class DayTableSlicer extends Slicer<TableSeg, [DayTableModel]> {
- forceDayIfListItem: boolean;
- sliceRange(dateRange: DateRange, dayTableModel: DayTableModel): TableSeg[];
- }
- declare class TableDateProfileGenerator extends DateProfileGenerator {
- buildRenderRange(currentRange: any, currentRangeUnit: any, isRangeAllDay: any): DateRange;
- }
- declare function buildDayTableRenderRange(props: {
- currentRange: DateRange;
- snapToWeek: boolean;
- fixedWeekCount: boolean;
- dateEnv: DateEnv;
- }): DateRange;
- interface TableRowsProps {
- dateProfile: DateProfile;
- cells: DayTableCell[][];
- renderRowIntro?: () => VNode;
- showWeekNumbers: boolean;
- clientWidth: number | null;
- clientHeight: number | null;
- businessHourSegs: TableSeg[];
- bgEventSegs: TableSeg[];
- fgEventSegs: TableSeg[];
- dateSelectionSegs: TableSeg[];
- eventSelection: string;
- eventDrag: EventSegUiInteractionState | null;
- eventResize: EventSegUiInteractionState | null;
- dayMaxEvents: boolean | number;
- dayMaxEventRows: boolean | number;
- forPrint: boolean;
- isHitComboAllowed?: (hit0: Hit, hit1: Hit) => boolean;
- }
- declare class TableRows extends DateComponent<TableRowsProps> {
- private splitBusinessHourSegs;
- private splitBgEventSegs;
- private splitFgEventSegs;
- private splitDateSelectionSegs;
- private splitEventDrag;
- private splitEventResize;
- private rootEl;
- private rowRefs;
- private rowPositions;
- private colPositions;
- render(): createElement.JSX.Element;
- componentDidMount(): void;
- componentDidUpdate(): void;
- registerInteractiveComponent(): void;
- componentWillUnmount(): void;
- prepareHits(): void;
- queryHit(positionLeft: number, positionTop: number): Hit;
- private getCellEl;
- private getCellRange;
- }
- interface TableProps extends TableRowsProps {
- colGroupNode: VNode;
- tableMinWidth: CssDimValue;
- expandRows: boolean;
- headerAlignElRef?: RefObject<HTMLElement>;
- }
- declare class Table extends DateComponent<TableProps> {
- private elRef;
- private needsScrollReset;
- render(): createElement.JSX.Element;
- componentDidMount(): void;
- componentDidUpdate(prevProps: TableProps): void;
- requestScrollReset(): void;
- flushScrollReset(): void;
- }
- declare abstract class TableView<State = Dictionary> extends DateComponent<ViewProps, State> {
- protected headerElRef: RefObject<HTMLTableCellElement>;
- renderSimpleLayout(headerRowContent: ChunkConfigRowContent, bodyContent: (contentArg: ChunkContentCallbackArgs) => VNode): createElement.JSX.Element;
- renderHScrollLayout(headerRowContent: ChunkConfigRowContent, bodyContent: (contentArg: ChunkContentCallbackArgs) => VNode, colCnt: number, dayMinWidth: number): createElement.JSX.Element;
- }
- declare class DayTableView extends TableView {
- private buildDayTableModel;
- private headerRef;
- private tableRef;
- render(): createElement.JSX.Element;
- }
- declare function buildDayTableModel(dateProfile: DateProfile, dateProfileGenerator: DateProfileGenerator): DayTableModel;
- export { DayTableView as DayGridView, DayTable, DayTableSlicer, Table, TableDateProfileGenerator, TableRows, TableSeg, TableView, buildDayTableModel, buildDayTableRenderRange };
|