Files
ionic-framework/core/src/components/virtual-scroll/virtual-scroll-interface.ts
2022-04-04 11:12:53 -04:00

27 lines
796 B
TypeScript

export interface Cell {
i: number;
index: number;
value: any;
type: CellType;
height: number;
reads: number;
visible: boolean;
}
export interface VirtualNode {
cell: Cell;
top: number;
change: NodeChange;
d: boolean;
visible: boolean;
}
export type CellType = 'item' | 'header' | 'footer';
export type NodeChange = number;
export type HeaderFn = (item: any, index: number, items: any[]) => string | null | undefined;
export type ItemHeightFn = (item: any, index: number) => number;
export type HeaderHeightFn = (item: any, index: number) => number;
export type FooterHeightFn = (item: any, index: number) => number;
export type ItemRenderFn = (el: HTMLElement | null, cell: Cell, domIndex: number) => HTMLElement;
export type DomRenderFn = (dom: VirtualNode[]) => void;