-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.d.ts
79 lines (73 loc) · 2.98 KB
/
main.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import { BaseComponent, ScrollGridProps, VNode, ScrollGridSectionConfig, ScrollGridChunkConfig, CssDimValue, ColProps, PluginDef } from '@fullcalendar/common';
import '@fullcalendar/premium-common';
interface ScrollGridState {
shrinkWidths: number[];
forceYScrollbars: boolean;
forceXScrollbars: boolean;
scrollerClientWidths: {
[index: string]: number;
};
scrollerClientHeights: {
[index: string]: number;
};
sectionRowMaxHeights: number[][][];
}
interface ColGroupStat {
hasShrinkCol: boolean;
totalColWidth: number;
totalColMinWidth: number;
allowXScrolling: boolean;
width?: CssDimValue;
cols: ColProps[];
}
declare class ScrollGrid extends BaseComponent<ScrollGridProps, ScrollGridState> {
private compileColGroupStats;
private renderMicroColGroups;
private clippedScrollerRefs;
private scrollerElRefs;
private chunkElRefs;
private getStickyScrolling;
private getScrollSyncersBySection;
private getScrollSyncersByColumn;
private stickyScrollings;
private scrollSyncersBySection;
private scrollSyncersByColumn;
private rowUnstableMap;
private rowInnerMaxHeightMap;
private anyRowHeightsChanged;
state: ScrollGridState;
render(): VNode;
renderSection(sectionConfig: ScrollGridSectionConfig, sectionIndex: number, colGroupStats: ColGroupStat[], microColGroupNodes: VNode[], sectionRowMaxHeights: number[][][]): VNode;
renderChunk(sectionConfig: ScrollGridSectionConfig, sectionIndex: number, colGroupStat: ColGroupStat | undefined, microColGroupNode: VNode | undefined, chunkConfig: ScrollGridChunkConfig, chunkIndex: number, rowHeights: number[]): VNode;
componentDidMount(): void;
componentDidUpdate(prevProps: ScrollGridProps, prevState: ScrollGridState): void;
componentWillUnmount(): void;
handleSizing: (sectionRowMaxHeightsChanged?: boolean) => void;
handleRowHeightChange: (rowEl: HTMLTableRowElement, isStable: boolean) => void;
computeShrinkWidths(): number[];
private computeSectionRowMaxHeights;
computeScrollerDims(): {
forceYScrollbars: boolean;
forceXScrollbars: boolean;
scrollerClientWidths: {
[index: string]: number;
};
scrollerClientHeights: {
[index: string]: number;
};
};
updateStickyScrolling(): void;
destroyStickyScrolling(): void;
updateScrollSyncers(): void;
destroyScrollSyncers(): void;
getChunkConfigByIndex(index: number): ScrollGridChunkConfig;
forceScrollLeft(col: number, scrollLeft: number): void;
forceScrollTop(sectionI: number, scrollTop: number): void;
_handleChunkEl(chunkEl: HTMLTableCellElement | null, key: string): void;
_handleScrollerEl(scrollerEl: HTMLElement | null, key: string): void;
getDims(): number[];
}
declare function setScrollFromStartingEdge(el: HTMLElement, val: number): void;
declare const _default: PluginDef;
export default _default;
export { ScrollGrid, setScrollFromStartingEdge };