virtualizedtableforantd-temp
Version:
The virtualized table component for ant design, using typescript.
117 lines (116 loc) • 2.69 kB
TypeScript
import * as React from "react";
import { TableComponents } from "antd/lib/table/interface";
export interface vt_opts extends Object {
readonly id: number;
/**
* @default 5
*/
overscanRowCount?: number;
/**
* @deprecated
*/
reflection?: string[] | string;
/**
* wheel event(only works on native events).
*/
onScroll?: ({ left, top, isEnd, }: {
top: number;
left: number;
isEnd: boolean;
}) => void;
/**
* @summary it can help you to optimize your next rendering.
* @default false
*/
destroy?: boolean;
/**
* @default false
*/
debug?: boolean;
}
/**
* `INIT` -> `LOADED` -> `RUNNING` -> `SUSPENDED`
* `SUSPENDED` -> `WAITING` -> `RUNNING`
*/
declare enum e_VT_STATE {
INIT = 1,
LOADED = 2,
RUNNING = 4,
SUSPENDED = 8,
WAITING = 16,
PROTECTION = 128
}
/**
* `L`: fixed: "left", `R`: fixed: "right"
*/
declare enum e_FIXED {
UNKNOW = -1,
NEITHER = 0,
L = 1,
R = 2
}
interface vt_ctx {
fixed: e_FIXED;
}
interface VT_CONTEXT extends vt_opts {
_y: number;
_raw_y: number | string;
_vtcomponents: TableComponents;
components: TableComponents;
computed_h: number;
vt_state: e_VT_STATE;
possible_hight_per_tr: number;
re_computed: number;
row_height: number[];
row_count: number;
prev_row_count: number;
wrap_inst: React.RefObject<HTMLDivElement>;
_store: React.Context<vt_ctx>;
VTScroll?: (param?: {
top: number;
left: number;
}) => {
top: number;
left: number;
};
_React_ptr: any;
_lvt_ctx: VT_CONTEXT;
_rvt_ctx: VT_CONTEXT;
WH: number;
HND_PAINT: number;
PAINT_ADD: Map<number, HTMLTableRowElement>;
PAINT_SADD: Map<number, number>;
PAINT_FREE: Set<number>;
PAINT_SFREE: Set<number>;
PSRA: number[];
PSRB: number[];
_keys2free: Set<string>;
_keys2insert: number;
_prev_keys: Set<string>;
_index_persister: Set<number>;
_offset_top: number;
_offset_head: number;
_offset_tail: number;
}
/**
* @global
*/
export declare const vt_context: Map<number, VT_CONTEXT>;
export declare function VTComponents(vt_opts: vt_opts): TableComponents;
/**
* @deprecated
*/
export declare function getVTContext(id: number): React.Context<vt_ctx>;
export declare function setComponents(id: number, components: TableComponents): void;
/**
* @deprecated
*/
export declare function getVTComponents(id: number): TableComponents;
export declare function VTScroll(id: number, param?: {
top: number;
left: number;
}): {
top: number;
left: number;
};
export {};