UNPKG

@antv/s2

Version:

effective spreadsheet render core lib

69 lines (68 loc) 3 kB
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[]; }