{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/adaptor/common.ts"],"names":[],"mappings":"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","sourcesContent":["import { Geometry, Types } from '@antv/g2';\nimport { each, isNil, isObject } from '@antv/util';\nimport { AXIS_META_CONFIG_KEYS } from '../constant';\nimport { Params } from '../core/adaptor';\nimport { Options } from '../types';\nimport { Axis } from '../types/axis';\nimport { Transformations } from '../types/coordinate';\nimport { Interaction } from '../types/interaction';\nimport { addViewAnimation, deepAssign, pick } from '../utils';\n\n/**\n * 通用 legend 配置, 适用于带 colorField 或 seriesField 的图表\n * @param params\n */\nexport function legend & { colorField?: string; seriesField?: string }>(\n params: Params\n): Params {\n const { chart, options } = params;\n const { legend, colorField, seriesField } = options;\n\n if (legend === false) {\n chart.legend(false);\n } else if (colorField || seriesField) {\n chart.legend(colorField || seriesField, legend);\n }\n\n return params;\n}\n\n/**\n * 通用 tooltip 配置\n * @param params\n */\nexport function tooltip>(params: Params): Params {\n const { chart, options } = params;\n const { tooltip } = options;\n\n if (tooltip !== undefined) {\n chart.tooltip(tooltip);\n }\n\n return params;\n}\n\n/**\n * Interaction 配置\n * @param params\n */\nexport function interaction>(params: Params): Params {\n const { chart, options } = params;\n const { interactions } = options;\n\n each(interactions, (i: Interaction) => {\n if (i.enable === false) {\n chart.removeInteraction(i.type);\n } else {\n chart.interaction(i.type, i.cfg || {});\n }\n });\n\n return params;\n}\n\n/**\n * 动画\n * @param params\n */\nexport function animation>(params: Params): Params {\n const { chart, options } = params;\n const { animation } = options;\n\n // 所有的 Geometry 都使用同一动画(各个图形如有区别,自行覆盖)\n addViewAnimation(chart, animation);\n\n return params;\n}\n\n/**\n * 设置全局主题配置\n * @param params\n */\nexport function theme>(params: Params): Params {\n const { chart, options } = params;\n const { theme } = options;\n\n // 存在主题才设置主题\n if (theme) {\n chart.theme(theme);\n }\n return params;\n}\n\n/**\n * 状态 state 配置\n * @param params\n */\nexport function state(params: Params): Params {\n const { chart, options } = params;\n const { state } = options;\n\n if (state) {\n each(chart.geometries, (geometry: Geometry) => {\n geometry.state(state);\n });\n }\n\n return params;\n}\n\n/**\n * 处理缩略轴的 adaptor\n * @param params\n */\nexport function slider(params: Params): Params {\n const { chart, options } = params;\n const { slider } = options;\n\n chart.option('slider', slider);\n\n return params;\n}\n\n/**\n * 处理缩略轴的 adaptor\n * @param params\n */\nexport function scrollbar(params: Params): Params {\n const { chart, options } = params;\n const { scrollbar } = options;\n\n chart.option('scrollbar', scrollbar);\n\n return params;\n}\n\n/**\n * scale 的 adaptor\n * @param axes\n */\nexport function scale(axes: Record, meta?: Options['meta']) {\n return function >(params: Params): Params {\n const { chart, options } = params;\n\n // 1. 轴配置中的 scale 信息\n let scales: Record = {};\n each(axes, (axis: Axis, field: string) => {\n scales[field] = pick(axis, AXIS_META_CONFIG_KEYS);\n });\n\n // 2. meta 直接是 scale 的信息\n scales = deepAssign({}, meta, options.meta, scales);\n\n chart.scale(scales);\n\n return params;\n };\n}\n\n/**\n * annotation 配置\n * @param params\n */\nexport function annotation(annotationOptions?: Options['annotations']) {\n return function >(params: Params): Params {\n const { chart, options } = params;\n\n const annotationController = chart.getController('annotation');\n\n /** 自定义 annotation */\n each([...(options.annotations || []), ...(annotationOptions || [])], (annotationOption) => {\n // @ts-ignore\n annotationController.annotation(annotationOption);\n });\n\n return params;\n };\n}\n\n/**\n * 自动设置 limitInPlot\n * @param params\n */\nexport function limitInPlot(params: Params): Params {\n const { chart, options } = params;\n const { yAxis, limitInPlot } = options;\n\n let value = limitInPlot;\n\n // 用户没有设置 limitInPlot,则自动根据 yAxis 是否有 min/max 来设置 limitInPlot\n if (isObject(yAxis) && isNil(limitInPlot)) {\n if (Object.values(pick(yAxis, ['min', 'max', 'minLimit', 'maxLimit'])).some((value) => !isNil(value))) {\n value = true;\n } else {\n value = false;\n }\n }\n chart.limitInPlot = value;\n\n return params;\n}\n\n/**\n * 坐标系转换\n */\nexport function transformations(coordinateType: Types.CoordinateOption['type'] = 'rect') {\n return (params: Params) => {\n const { chart, options } = params;\n const { coordinate } = options;\n\n const actions: Types.CoordinateActions[] = Array.from(coordinate || [])\n .map((cfg) => {\n if (cfg.type === 'reflectX') return ['reflect', 'x'] as Types.CoordinateActions;\n if (cfg.type === 'reflectY') return ['reflect', 'y'] as Types.CoordinateActions;\n if (cfg.type === 'transpose') return ['transpose'] as Types.CoordinateActions;\n\n return null;\n })\n .filter((d) => !!d);\n\n if (actions.length !== 0) {\n chart.coordinate({ type: coordinateType, actions });\n }\n\n return params;\n };\n}\n\nexport { pattern } from './pattern';\n"]}