UNPKG

pivot-chart

Version:

pivot table react component

85 lines (84 loc) 1.85 kB
import { AggFC } from 'cube-core/built/types'; export interface Record { [key: string]: any; } export declare type DataSource = Record[]; export interface NestTree { id: string; children?: NestTree[]; expanded?: boolean; path?: number[]; valuePath?: any[]; isHighlight?: boolean; } export interface Field { /** * id: key in data record */ id: string; /** * display name for field */ name: string; /** * aggregator's name */ aggName?: string; [key: string]: any; cmp?: (a: any, b: any) => number; } export interface Measure extends Field { aggregator?: AggFC; minWidth?: number; formatter?: (value: number | undefined) => number | string; } export declare type VisType = 'number' | 'bar' | 'line' | 'scatter'; export { AggFC }; export interface Filter extends Field { /** * choosen values */ values: any[]; /** * all avaiable values */ domain: any[]; } export declare enum DimensionArea { row = "row", column = "column" } export declare type AggNodeConfig = { [key in DimensionArea]: boolean; }; export interface PivotBaseProps { /** * dimensions in row */ rows: Field[]; /** * dimensions in columns */ columns: Field[]; /** * measures(or indicators) are values to be aggregated, apply statistic functions. */ measures: Measure[]; /** * visualization type display in table cell. */ visType?: VisType; /** * default expanded level for dimension nest tree in row or column. */ defaultExpandedDepth?: { rowDepth: number; columnDepth: number; }; /** * whether show aggregated node for each level. */ showAggregatedNode?: { [key in DimensionArea]: boolean; }; }