@antv/g2plot
Version:
An interactive and responsive charting library
80 lines (79 loc) • 2.65 kB
TypeScript
import { Params } from '../../core/adaptor';
import { ColorAttr, Datum, Options, RawFields, ShapeAttr, SizeAttr, StyleAttr, TooltipAttr } from '../../types';
import { Label } from '../../types/label';
import { State } from '../../types/state';
/**
* 图形映射属性,按照优先级来的
*/
export type MappingOptions = {
/** color 映射 */
readonly color?: ColorAttr;
/** shape 映射 */
readonly shape?: ShapeAttr;
/** 大小映射, 提供回调的方式 */
readonly size?: SizeAttr;
/** 样式映射 */
readonly style?: StyleAttr;
/** tooltip 映射 */
readonly tooltip?: TooltipAttr;
};
/**
* 一个图形映射的逻辑,纯粹的图形语法
* // TODO 后续需要处理 adjust 的配置,然后通过 field 信息。比如 styleField,labelField 等一定是一个数组形式
*/
export type Geometry = {
/** geometry 类型, 'line' | 'interval' | 'point' | 'area' | 'polygon' */
readonly type?: string;
/** x 轴字段 */
readonly xField?: string;
/** y 轴字段 */
readonly yField?: string;
/** 分组字段 */
readonly colorField?: string;
/** shape 的映射字段 */
readonly shapeField?: string;
/** size 映射字段 */
readonly sizeField?: string;
/** style 的映射字段 */
readonly styleField?: string;
/** tooltip 的映射字段 */
readonly tooltipFields?: string[] | false;
/** 其他原始字段, 用于 mapping 回调参数 */
readonly rawFields?: RawFields;
/** 图形映射规则 */
readonly mapping?: MappingOptions;
/** 自定义映射字段 */
readonly customMappingField?: string;
/** label 映射通道,因为历史原因导致实现略有区别 */
readonly label?: Label;
/** 不同状态的样式 */
readonly state?: State;
/** 自定义信息,一般在 registerShape 中使用 */
readonly customInfo?: any;
/** geometry params */
readonly args?: any;
};
/**
* geometry options
*/
export type GeometryOptions = Geometry & Partial<Options>;
/**
* 获得映射的字段列表
* @param options
* @param field
*/
export declare function getMappingField(o: GeometryOptions, field: 'color' | 'shape' | 'size' | 'style'): {
mappingFields: string[];
tileMappingField: string;
};
/**
* 获得映射函数
* @param mappingFields
* @param func
*/
export declare function getMappingFunction(mappingFields: string[], func: (datum: Datum) => any): (...args: any[]) => any;
/**
* 通用 geometry 的配置处理的 adaptor
* @param params
*/
export declare function geometry<O extends GeometryOptions>(params: Params<O>): Params<O>;