UNPKG

3.93 kBTypeScriptView Raw
1
2import * as _fullcalendar_common from '@fullcalendar/common';
3import { Dictionary, DateComponent, ViewProps, RefObject, ChunkConfigRowContent, ChunkContentCallbackArgs, VNode, createElement, DateProfile, DateProfileGenerator, DayTableModel, ViewContext, Duration, EventStore, EventUiHash, DateSpan, EventInteractionState, CssDimValue, Seg, Slicer, DateRange, Hit, DayTableCell, EventSegUiInteractionState } from '@fullcalendar/common';
4
5declare abstract class TableView<State = Dictionary> extends DateComponent<ViewProps, State> {
6 protected headerElRef: RefObject<HTMLTableCellElement>;
7 renderSimpleLayout(headerRowContent: ChunkConfigRowContent, bodyContent: (contentArg: ChunkContentCallbackArgs) => VNode): createElement.JSX.Element;
8 renderHScrollLayout(headerRowContent: ChunkConfigRowContent, bodyContent: (contentArg: ChunkContentCallbackArgs) => VNode, colCnt: number, dayMinWidth: number): createElement.JSX.Element;
9}
10
11declare class DayTableView extends TableView {
12 private buildDayTableModel;
13 private headerRef;
14 private tableRef;
15 render(): createElement.JSX.Element;
16}
17declare function buildDayTableModel(dateProfile: DateProfile, dateProfileGenerator: DateProfileGenerator): DayTableModel;
18
19interface DayTableProps {
20 dateProfile: DateProfile;
21 dayTableModel: DayTableModel;
22 nextDayThreshold: Duration;
23 businessHours: EventStore;
24 eventStore: EventStore;
25 eventUiBases: EventUiHash;
26 dateSelection: DateSpan | null;
27 eventSelection: string;
28 eventDrag: EventInteractionState | null;
29 eventResize: EventInteractionState | null;
30 colGroupNode: VNode;
31 tableMinWidth: CssDimValue;
32 renderRowIntro?: () => VNode;
33 dayMaxEvents: boolean | number;
34 dayMaxEventRows: boolean | number;
35 expandRows: boolean;
36 showWeekNumbers: boolean;
37 headerAlignElRef?: RefObject<HTMLElement>;
38 clientWidth: number | null;
39 clientHeight: number | null;
40 forPrint: boolean;
41}
42declare class DayTable extends DateComponent<DayTableProps, ViewContext> {
43 private slicer;
44 private tableRef;
45 render(): createElement.JSX.Element;
46}
47
48interface TableSeg extends Seg {
49 row: number;
50 firstCol: number;
51 lastCol: number;
52}
53
54declare class DayTableSlicer extends Slicer<TableSeg, [DayTableModel]> {
55 forceDayIfListItem: boolean;
56 sliceRange(dateRange: DateRange, dayTableModel: DayTableModel): TableSeg[];
57}
58
59interface TableProps {
60 dateProfile: DateProfile;
61 cells: DayTableCell[][];
62 renderRowIntro?: () => VNode;
63 colGroupNode: VNode;
64 tableMinWidth: CssDimValue;
65 expandRows: boolean;
66 showWeekNumbers: boolean;
67 clientWidth: number | null;
68 clientHeight: number | null;
69 businessHourSegs: TableSeg[];
70 bgEventSegs: TableSeg[];
71 fgEventSegs: TableSeg[];
72 dateSelectionSegs: TableSeg[];
73 eventSelection: string;
74 eventDrag: EventSegUiInteractionState | null;
75 eventResize: EventSegUiInteractionState | null;
76 dayMaxEvents: boolean | number;
77 dayMaxEventRows: boolean | number;
78 headerAlignElRef?: RefObject<HTMLElement>;
79 forPrint: boolean;
80 isHitComboAllowed?: (hit0: Hit, hit1: Hit) => boolean;
81}
82declare class Table extends DateComponent<TableProps> {
83 private splitBusinessHourSegs;
84 private splitBgEventSegs;
85 private splitFgEventSegs;
86 private splitDateSelectionSegs;
87 private splitEventDrag;
88 private splitEventResize;
89 private rootEl;
90 private rowRefs;
91 private rowPositions;
92 private colPositions;
93 render(): createElement.JSX.Element;
94 handleRootEl: (rootEl: HTMLElement | null) => void;
95 prepareHits(): void;
96 queryHit(positionLeft: number, positionTop: number): Hit;
97 private getCellEl;
98 private getCellRange;
99}
100
101declare const _default: _fullcalendar_common.PluginDef;
102
103
104export default _default;
105export { DayTableView as DayGridView, DayTable, DayTableSlicer, Table, TableSeg, TableView, buildDayTableModel };