UNPKG

@antv/s2

Version:

effective spreadsheet render core lib

103 lines (102 loc) 4.55 kB
import { ColCell, CornerCell, RowCell, SeriesNumberCell } from '../cell'; import { type IconTheme, type ViewMeta } from '../common'; import { CellType } from '../common/constant/interaction'; import type { CellCallbackParams, LayoutResult } from '../common/interface'; import { FrozenFacet } from './frozen-facet'; import type { Hierarchy } from './layout/hierarchy'; import { Node } from './layout/node'; export declare class PivotFacet extends FrozenFacet { get rowCellTheme(): import("../common").DeepRequired<import("../common").CellTheme>; protected getCornerCellInstance(...args: CellCallbackParams): CornerCell; protected getRowCellInstance(...args: CellCallbackParams): RowCell; protected getColCellInstance(...args: CellCallbackParams): ColCell; protected doLayout(): LayoutResult; protected buildAllHeaderHierarchy(): { rowLeafNodes: Node[]; colLeafNodes: Node[]; rowsHierarchy: Hierarchy; colsHierarchy: Hierarchy; }; private getDataQueryInfo; /** * 根据行列索引获取单元格元数据 */ getCellMeta(rowIndex?: number, colIndex?: number): ViewMeta | null; protected getPreLevelSampleNode(colNode: Node, colsHierarchy: Hierarchy): Node | undefined; protected calculateHeaderNodesCoordinate(layoutResult: LayoutResult): void; protected calculateColNodesCoordinate(layoutResult: LayoutResult): void; protected calculateRowOffsets(): void; protected adjustColTotalNodesCoordinate(colsHierarchy: Hierarchy): void; protected calculateColLeafNodesWidth(layoutResult: LayoutResult): void; protected calculateColNodesHeight(colsHierarchy: Hierarchy): void; protected getMultipleMap(hierarchy: Hierarchy, isRowHeader?: boolean, isSubTotal?: boolean): number[]; protected adjustTotalNodesCoordinate(params: { hierarchy: Hierarchy; isRowHeader?: boolean; isSubTotal?: boolean; }): void; protected getColLeafNodesWidth(colNode: Node, colLeafNodes: Node[], rowLeafNodes: Node[], rowHeaderWidth: number): number; protected getRowNodeHeight(rowNode: Node): number; /** * 获得图标区域预估宽度 * 不考虑用户自定义的 displayCondition 条件 * @param iconStyle 图标样式 * @returns 宽度 */ protected getExpectedCellIconWidth(cellType: CellType, useDefaultIcon: boolean, iconStyle: IconTheme): number; protected calculateRowNodesAllLevelSampleNodes(layoutResult: LayoutResult): void; protected getRowLeafNodeHeight(rowLeafNode: Node): number; protected calculateRowNodesBBox(rowsHierarchy: Hierarchy): void; protected calculateRowNodesCoordinate(layoutResult: LayoutResult): void; protected adjustRowTotalNodesCoordinate(rowsHierarchy: Hierarchy): void; /** * @description Auto calculate row no-leaf node's height and y coordinate * @param rowLeafNodes */ protected calculateRowNodeHeightAndY(rowLeafNodes: Node[]): void; /** * 计算 grid 模式下 node 宽度 */ protected getGridRowNodesWidth(node: Node, colLeafNodes: Node[]): number; /** * 计算树状模式等宽条件下的列宽 */ protected getAdaptTreeColWidth(col: Node, colLeafNodes: Node[], rowLeafNodes: Node[]): number; protected getColLabelLength(col: Node, rowLeafNodes: Node[]): number; /** * 计算平铺模式等宽条件下的列宽 */ protected getAdaptGridColWidth(colLeafNodes: Node[], colNode?: Node, rowHeaderWidth?: number): number; /** * 计算树状结构行头宽度 */ protected getTreeRowHeaderWidth(): number; /** * 计算 compact 模式下 node 宽度 * * | fieldName | * _______________ * | label - icon | <- node * | label - icon | * | label - icon | */ protected getCompactGridRowNodeWidth(node: Node): number; protected getCompactGridColNodeWidth(colNode: Node, rowLeafNodes: Node[]): number; getViewCellHeights(): { getTotalHeight: () => number; getCellOffsetY: (index: number) => number; getTotalLength: () => number; getIndexRange: (minHeight: number, maxHeight: number) => { start: number; end: number; }; }; /** * 获取序号单元格 * @description 对于透视表, 序号属于 RowCell */ getSeriesNumberCells(): SeriesNumberCell[]; getFrozenOptions(): Required<import("../common").S2BaseFrozenOptions>; getContentWidth(): number; getContentHeight(): number; }