@univerjs-pro/engine-pivot
Version:
[](https://npmjs.org/packages/@univerjs-pro/engine-pivot) [](https://img.shields.io/npm/l/@univerjs-pro/engine-pivot)
29 lines (28 loc) • 2.24 kB
TypeScript
import { PivotTable } from '../pivot/pivot-table';
import { NodeTree } from '../summary/node-tree';
import { SummaryManager } from '../summary/summary-manager';
import { INodeSizeInfo, IPivotLayoutCtx, IPivotTableQueryData, IPivotTableValueFieldQueryData, IPivotViewInfo, IRowNodeSizeInfo } from '../types';
import { PivotView } from './pivot-view';
import { BaseLayout } from './base-layout';
export declare class TabularLayout extends BaseLayout {
static layout(pivotTable: PivotTable, summaryManager: SummaryManager, queryData: IPivotTableQueryData): PivotView;
static layoutCorner(ctx: IPivotLayoutCtx): void;
static layoutRowFields(ctx: IPivotLayoutCtx): void;
static doRowLeafNode(ctx: IPivotLayoutCtx, nodeTree: NodeTree, row: number, valueIds: string[]): IRowNodeSizeInfo;
/**
* - layout the data area of the pivot table
* @param {IPivotLayoutCtx} ctx the context of layout
* @param {NodeTree} nodeTree the current node
* @param {number} row the current row index
* @param {number} measureIndex the current measure index, if the row does not have multiple measures, the measureIndex is -1
*/
static startContent(ctx: IPivotLayoutCtx, nodeTree: NodeTree, row: number, measureIndex: number): void;
static layoutValueNode(ctx: IPivotLayoutCtx, nodeTree: NodeTree, row: number, measureIndex: number, paths: string[]): void;
static layoutValueNodeSubtotal(ctx: IPivotLayoutCtx, row: number): void;
static getMeasureInfoByIndex(ctx: IPivotLayoutCtx, valueQueryInfo: IPivotTableValueFieldQueryData[], rowInfo: IPivotViewInfo, colInfo: IPivotViewInfo): IPivotTableValueFieldQueryData;
static layoutValueLeafNode(ctx: IPivotLayoutCtx, nodeTree: NodeTree, row: number, paths: string[], measureIndex: number): void;
static getColIndexForRowHeader(nodeLevel: number, valueIndex: number, hasMultiValue: boolean): number;
static doRowBrachNode(ctx: IPivotLayoutCtx, nodeTree: NodeTree, row: number, valueIds: string[]): INodeSizeInfo;
static layoutRowNode(ctx: IPivotLayoutCtx, nodeTree: NodeTree, row: number, valueIds: string[]): INodeSizeInfo;
static updateRowSubtotal(ctx: IPivotLayoutCtx, row: number, nodeTree: NodeTree, valueIds: string[]): void;
}