UNPKG

@antv/s2

Version:

effective spreadsheet render core lib

97 lines (96 loc) 2.4 kB
import type { QueryDataType } from '../common'; import type { RawData, SortParam } from '../common/interface'; import type { Node } from '../facet/layout/node'; import type { CellData } from './cell-data'; import type { PivotDataSet } from './pivot-data-set'; export type Query = Record<string, any>; export type PivotMetaValue = { id: string; dimensions: string[]; value: string; level: number; children: PivotMeta; childField?: string; }; export type PivotMeta = Map<string, PivotMetaValue>; export type SortedDimensionValues = Record<string, string[]>; export interface OnFirstCreateParams { careRepeated?: boolean; dimension: string; dimensionPath: string; } export type DataPath = (number | string | undefined)[]; export type DataPathParams = { rowDimensionValues: string[]; colDimensionValues: string[]; rowPivotMeta: PivotMeta; colPivotMeta: PivotMeta; rowFields: string[]; colFields: string[]; isFirstCreate?: boolean; onFirstCreate?: (params: OnFirstCreateParams) => void; prefix?: string; }; export interface GetCellDataParams { /** * 查询条件 */ query: Query; /** * 是否是汇总节点 */ isTotals?: boolean; /** * 行头节点,用于下钻场景 */ rowNode?: Node; /** * 是否是行头 */ isRow?: boolean; /** * 汇总信息 */ totalStatus?: TotalStatus; } export interface CheckAccordQueryParams { dimensionValues: string; query: Query; dimensions: string[]; field: string; } export interface TotalStatus { isRowGrandTotal: boolean; isRowSubTotal: boolean; isColGrandTotal: boolean; isColSubTotal: boolean; } export interface GetCellMultiDataParams { /** * 查询条件 */ query?: Query; /** * 查询类型 */ queryType?: QueryDataType; /** * 下钻 */ drillDownFields?: string[]; } export interface SortActionParams { dataSet?: PivotDataSet; sortParam?: SortParam; originValues?: string[]; measureValues?: string[] | CellData[]; sortByValues?: string[]; isSortByMeasure?: boolean; } export interface SortPivotMetaParams { pivotMeta: PivotMeta; dimensions: string[]; sortedDimensionValues: string[]; sortFieldId: string; } export type FlattingIndexesData = RawData[][] | RawData[] | RawData;