UNPKG

@fesjs/fes-design

Version:
64 lines (63 loc) 1.81 kB
declare enum DIRECTION_TYPE { FRONT = "FRONT", BEHIND = "BEHIND" } declare enum CALC_TYPE { INIT = "INIT", FIXED = "FIXED", DYNAMIC = "DYNAMIC" } interface Range { start: number; end: number; padFront: number; padBehind: number; } interface VirtualParams { slotHeaderSize?: number; slotFooterSize?: number; keeps?: number; estimateSize?: number; buffer?: number; uniqueIds?: (string | number)[]; } export default class Virtual { param: VirtualParams; sizes: Map<number | string, number>; firstRangeTotalSize: number; firstRangeAverageSize: number; fixedSizeValue: number; calcType: CALC_TYPE; offset: number; direction: DIRECTION_TYPE; range: Range; callUpdate: (range: Range) => void; private _scrollRAF; private _scrollPositionCache; constructor(param: VirtualParams, callUpdate: (range: Range) => void); init(param?: VirtualParams, callUpdate?: (range: Range) => void): void; destroy(): void; getRange(): any; isBehind(): boolean; isFront(): boolean; getOffset(start: number): number; updateParam(key: keyof VirtualParams, value: any): void; saveSize(id: number | string, size: number): void; handleDataSourcesChange(): void; handleSlotSizeChange(): void; handleScroll(offset: number): void; handleFront(): void; handleBehind(): void; getScrollOvers(): number; getIndexOffset(givenIndex: number): number; isFixedType(): boolean; getLastIndex(): number; checkRange(start: number, end: number): void; updateRange(start: number, end: number): void; getEndByStart(start: number): number; getPadFront(): number; getPadBehind(): number; getEstimateSize(): number; getTotalSize(): number; } export {};