{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/plots/mix/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { View } from '@antv/g2';\nimport { get } from '@antv/util';\nimport { Options } from '../../types';\nimport { deepAssign } from '../../utils';\nimport { Area, AreaOptions } from '../area';\nimport { adaptor as areaAdaptor } from '../area/adaptor';\nimport { Bar, BarOptions } from '../bar';\nimport { adaptor as barAdaptor } from '../bar/adaptor';\nimport { Column, ColumnOptions } from '../column';\nimport { adaptor as columnAdaptor } from '../column/adaptor';\nimport { Funnel, FunnelOptions } from '../funnel';\nimport { adaptor as funnelAdaptor } from '../funnel/adaptor';\nimport { Gauge, GaugeOptions } from '../gauge';\nimport { adaptor as gaugeAdaptor } from '../gauge/adaptor';\nimport { Histogram, HistogramOptions } from '../histogram';\nimport { adaptor as histogramAdaptor } from '../histogram/adaptor';\nimport { Line, LineOptions } from '../line';\nimport { adaptor as lineAdaptor } from '../line/adaptor';\nimport { Pie, PieOptions } from '../pie';\nimport { adaptor as pieAdaptor } from '../pie/adaptor';\nimport { Progress, ProgressOptions } from '../progress';\nimport { adaptor as progressAdaptor } from '../progress/adaptor';\nimport { RingProgress, RingProgressOptions } from '../ring-progress';\nimport { adaptor as ringProgressAdaptor } from '../ring-progress/adaptor';\nimport { Scatter, ScatterOptions } from '../scatter';\nimport { adaptor as scatterAdaptor } from '../scatter/adaptor';\nimport { Stock, StockOptions } from '../stock';\nimport { adaptor as stockAdaptor } from '../stock/adaptor';\nimport { TinyArea, TinyAreaOptions } from '../tiny-area';\nimport { adaptor as tinyAreaAdaptor } from '../tiny-area/adaptor';\nimport { TinyColumn, TinyColumnOptions } from '../tiny-column';\nimport { adaptor as tinyColumnAdaptor } from '../tiny-column/adaptor';\nimport { TinyLine, TinyLineOptions } from '../tiny-line';\nimport { adaptor as tinyLineAdaptor } from '../tiny-line/adaptor';\n\n/**\n * 移除 options 中的 width、height 设置, 将 options 的 data 设置为可选\n */\ntype PlotOptions = Omit & Partial>;\n\n/**\n * multi-view 中的支持的 plots 类型(带 options 定义)\n */\nexport type IPlotTypes =\n | {\n /**\n * plot 类型\n */\n readonly type: 'line';\n /**\n * plot 配置\n */\n readonly options: PlotOptions;\n }\n | {\n readonly type: 'pie';\n readonly options: PlotOptions;\n }\n | {\n readonly type: 'bar';\n readonly options: PlotOptions;\n }\n | {\n readonly type: 'column';\n readonly options: PlotOptions;\n }\n | {\n readonly type: 'area';\n readonly options: PlotOptions;\n }\n | {\n readonly type: 'gauge';\n readonly options: PlotOptions;\n }\n | {\n readonly type: 'tiny-line';\n readonly options: PlotOptions;\n }\n | {\n readonly type: 'tiny-area';\n readonly options: PlotOptions;\n }\n | {\n readonly type: 'tiny-column';\n readonly options: PlotOptions;\n }\n | {\n readonly type: 'ring-progress';\n readonly options: PlotOptions;\n }\n | {\n readonly type: 'progress';\n readonly options: PlotOptions;\n }\n | {\n readonly type: 'histogram';\n readonly options: PlotOptions;\n }\n | {\n readonly type: 'scatter';\n readonly options: PlotOptions;\n }\n | {\n readonly type: 'funnel';\n readonly options: PlotOptions;\n }\n | {\n readonly type: 'stock';\n readonly options: PlotOptions;\n };\n\n/**\n * 可在 multi-view 中使用的 plots\n */\nconst PLOT_ADAPTORS = {\n line: lineAdaptor,\n pie: pieAdaptor,\n column: columnAdaptor,\n bar: barAdaptor,\n area: areaAdaptor,\n gauge: gaugeAdaptor,\n 'tiny-line': tinyLineAdaptor,\n 'tiny-column': tinyColumnAdaptor,\n 'tiny-area': tinyAreaAdaptor,\n 'ring-progress': ringProgressAdaptor,\n progress: progressAdaptor,\n scatter: scatterAdaptor,\n histogram: histogramAdaptor,\n funnel: funnelAdaptor,\n stock: stockAdaptor,\n};\n\n/**\n * 获取指定 plot 的 class contructor\n * @param {string} plot\n */\nconst PLOT_CONSTRUCTOR = {\n line: Line,\n pie: Pie,\n column: Column,\n bar: Bar,\n area: Area,\n gauge: Gauge,\n 'tiny-line': TinyLine,\n 'tiny-column': TinyColumn,\n 'tiny-area': TinyArea,\n 'ring-progress': RingProgress,\n progress: Progress,\n scatter: Scatter,\n histogram: Histogram,\n funnel: Funnel,\n stock: Stock,\n};\n\n/**\n * 在 mix 图表以及 facet 图表中,defaultOptions 进行复写简化\n */\nconst DEFAULT_OPTIONS_MAP = {\n pie: { label: false },\n column: { tooltip: { showMarkers: false } },\n bar: { tooltip: { showMarkers: false } },\n};\n\n/**\n * 执行 plot 的 adaptor, 默认都带上 defaultOptions\n * @param {string} plot\n */\nexport function execPlotAdaptor(\n plot: T,\n view: View,\n options: IPlotTypes['options']\n): void {\n const cls = PLOT_CONSTRUCTOR[plot];\n if (!cls) {\n console.error(`could not find ${plot} plot`);\n return;\n }\n const module = PLOT_ADAPTORS[plot];\n module({\n chart: view,\n options: deepAssign({}, cls.getDefaultOptions(), get(DEFAULT_OPTIONS_MAP, plot, {}), options),\n });\n}\n"]}