@visactor/vtable
Version:
canvas table width high performance
80 lines (79 loc) • 3 kB
TypeScript
import type { BaseTableAPI } from '../../../ts-types/base-table';
import { Group } from '../../graphic/group';
import type { ColumnInfo, RowInfo } from '../../../ts-types';
export declare class SceneProxy {
table: BaseTableAPI;
isRelease: boolean;
mode: 'column' | 'row' | 'pivot';
isProgressing: boolean;
rowLimit: number;
currentRow: number;
totalRow: number;
yLimitTop: number;
yLimitBottom: number;
rowStart: number;
rowEnd: number;
referenceRow: number;
bodyBottomRow: number;
screenRowCount: number;
firstScreenRowLimit: number;
taskRowCount: number;
rowUpdatePos: number;
rowUpdateDirection: 'up' | 'down';
screenTopRow: number;
totalActualBodyRowCount: number;
deltaY: number;
deltaHeight: number;
colLimit: number;
bodyRightCol: number;
totalCol: number;
colStart: number;
colEnd: number;
taskColCount: number;
xLimitLeft: number;
xLimitRight: number;
screenColCount: number;
firstScreenColLimit: number;
colUpdatePos: number;
currentCol: number;
referenceCol: number;
screenLeftCol: number;
colUpdateDirection: 'left' | 'right';
totalActualBodyColCount: number;
deltaX: number;
deltaWidth: number;
cellCache: Map<number, Group>;
constructor(table: BaseTableAPI);
get bodyLeftCol(): number;
get bodyTopRow(): number;
setParamsForColumn(): void;
setParamsForRow(): void;
refreshRowCount(): void;
refreshColCount(): void;
resize(): void;
createGroupForFirstScreen(cornerHeaderGroup: Group, colHeaderGroup: Group, rowHeaderGroup: Group, rightFrozenGroup: Group, bottomFrozenGroup: Group, bodyGroup: Group, xOrigin: number, yOrigin: number): void;
progress(): Promise<void>;
createRow(): Promise<void>;
createCol(): Promise<void>;
createRowCellGroup(onceCount: number): void;
createColGroup(onceCount: number): void;
setY(y: number, isEnd?: boolean): Promise<void>;
setX(x: number, isEnd?: boolean): Promise<void>;
dynamicSetY(y: number, screenTop: RowInfo | null, isEnd?: boolean): Promise<void>;
dynamicSetX(x: number, screenLeft: ColumnInfo | null, isEnd?: boolean): Promise<void>;
updateBody(y: number): void;
updateRowCellGroupsAsync(): Promise<void>;
updateCellGroups(count: number): void;
updateBottomFrozenCellGroups(): void;
updateRightFrozenCellGroups(): void;
updateColCellGroupsAsync(): Promise<void>;
updateColGroups(count: number): void;
updateCellGroupPosition(cellGroup: Group, newRow: number, y: number): void;
updateCellGroupContent(cellGroup: Group): Group;
sortCellVertical(): Promise<void>;
sortCellHorizontal(): Promise<void>;
highPerformanceGetCell(col: number, row: number, getShadow?: boolean): Group;
updateDeltaY(y: number, screenTopY?: number, screenTopRow?: number): void;
updateDeltaX(x: number, screenLeftX?: number, screenLeftCol?: number): void;
release(): void;
}