@antv/s2
Version:
effective spreadsheet render core lib
69 lines (68 loc) • 3 kB
TypeScript
import { type CellMeta, type CustomHeaderFields } from '../common';
import type { Formatter, RawData, S2DataConfig, SimpleData, ViewMeta, ViewMetaData } from '../common/interface';
import { Node } from '../facet/layout/node';
import { type TransformResult } from '../utils/dataset/pivot-data-set';
import { BaseDataSet } from './base-data-set';
import { CellData } from './cell-data';
import type { GetCellDataParams, GetCellMultiDataParams, PivotMeta, Query, SortedDimensionValues, TotalStatus } from './interface';
export declare class PivotDataSet extends BaseDataSet {
rowPivotMeta: PivotMeta;
colPivotMeta: PivotMeta;
sortedDimensionValues: SortedDimensionValues;
private dimensionValuesCache;
getExistValuesByDataItem(data: RawData, values: string[]): string[];
/**
* When data related config changed, we need
* 1、re-process config
* 2、re-transform origin data
* 3、sort and other things
* @param dataCfg
*/
setDataCfg(dataCfg: S2DataConfig): void;
transformIndexesData(data: RawData[], rows?: CustomHeaderFields): TransformResult;
/**
* Provide a way to append some drill-down data in indexesData
* @param extraRowField
* @param drillDownData
* @param rowNode
*/
transformDrillDownData(extraRowField: string, drillDownData: RawData[], rowNode: Node): void;
/**
* Clear drill down data by rowNodeId
* rowNodeId is undefined => clear all
* @param rowNodeId
*/
clearDrillDownData(rowNodeId?: string): boolean;
/**
* 排序优先级:
* 1、sortParams里的条件优先级高于原始数据
* 2、sortParams多个item:按照顺序优先级,排在后面的优先级高
* 3、item中多个条件:sortByField > sortFunc > sortBy > sortMethod
*/
handleDimensionValuesSort: () => void;
protected handlePivotMetaSort(sortFieldId: string, sortedDimensionValues: string[]): void;
processDataCfg(dataCfg: S2DataConfig): S2DataConfig;
protected getFieldsAndPivotMetaByField(field: string): {
dimensions: string[];
pivotMeta: PivotMeta;
} | {
dimensions?: undefined;
pivotMeta?: undefined;
};
getDimensionValues(field: string, query?: Query): SimpleData[];
getTotalValue(query: Query, totalStatus?: TotalStatus): CellData | undefined;
getCellData(params: GetCellDataParams): ViewMetaData | undefined;
getTotalStatus: (query: Query) => TotalStatus;
protected getQueryExtraFields(query: Query): string[];
getCellMultiData(params: GetCellMultiDataParams): CellData[];
getFieldFormatter(field: string, cellMeta?: ViewMeta): Formatter;
private getFieldFormatterForTotalValue;
/**
* 自定义度量组位置值
* @param customValueOrder 用户配置度量组位置,从 0 开始
* @param fields Rows || Columns
*/
private handleCustomMeasuresOrder;
private isCustomMeasuresPosition;
getRowData(cellMeta: CellMeta): CellData[];
}