@antv/s2
Version:
effective spreadsheet render core lib
64 lines (63 loc) • 2.49 kB
TypeScript
import { Group } from '@antv/g';
import { TableSeriesNumberCell } from '../cell';
import type { CellCallbackParams, LayoutResult, ViewMeta } from '../common/interface';
import type { SpreadSheet } from '../sheet-type';
import { FrozenFacet } from './frozen-facet';
export declare class TableFacet extends FrozenFacet {
emptyPlaceholderGroup: Group;
private lastRowOffset;
constructor(spreadsheet: SpreadSheet);
protected getCornerCellInstance(): null;
protected getRowCellInstance(node: ViewMeta): import("../cell").DataCell;
protected getColCellInstance(...args: CellCallbackParams): import("../cell").ColCell;
protected initGroups(): void;
protected shouldRender(): boolean;
render(): void;
clearAllGroup(): void;
private initEmptyPlaceholderGroup;
private renderEmptyPlaceholder;
private getDataCellAdaptiveHeight;
private getCellHeightByRowIndex;
/**
* 开启换行后, 需要自适应调整高度, 明细表通过 rowCell.heightByField 调整, 同时还有一个 rowOffsets 控制行高, 所以要提前设置好, 保证渲染正确.
*/
private presetRowCellHeightIfNeeded;
protected calculateRowOffsets(): void;
private onSortHandler;
private onFilterHandler;
destroy(): void;
protected calculateCornerBBox(): void;
protected doLayout(): LayoutResult;
private buildColHeaderHierarchy;
getCellMeta(rowIndex?: number, colIndex?: number): ViewMeta | null;
private getAdaptiveColWidth;
private calculateColLeafNodesWidth;
private calculateColNodesHeight;
private calculateColNodesCoordinate;
private getCompactColNodeWidth;
private getColLeafNodesWidth;
getViewCellHeights(): {
getTotalHeight: () => number;
getCellOffsetY: (offset: number) => number;
getTotalLength: () => number;
getIndexRange: (minHeight: number, maxHeight: number) => {
start: number;
end: number;
};
};
protected renderRowResizeArea(): void;
protected getRowHeader(): null;
protected getColHeader(): import("./header").ColHeader;
protected getSeriesNumberHeader(): null;
protected getScrollbarPosition(): {
maxY: number;
maxX: number;
};
/**
* 获取序号单元格
* @description 明细表序号单元格是基于 DataCell 实现
*/
getSeriesNumberCells(): TableSeriesNumberCell[];
getContentWidth(): number;
getContentHeight(): number;
}