@antv/s2
Version:
effective spreadsheet render core lib
97 lines (96 loc) • 2.4 kB
TypeScript
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;