{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/plots/mix/utils.ts"],"names":[],"mappings":";;;AACA,mCAAiC;AAEjC,qCAAyC;AACzC,gCAA4C;AAC5C,2CAAyD;AACzD,8BAAyC;AACzC,0CAAuD;AACvD,oCAAkD;AAClD,6CAA6D;AAC7D,oCAAkD;AAClD,6CAA6D;AAC7D,kCAA+C;AAC/C,4CAA2D;AAC3D,0CAA2D;AAC3D,gDAAmE;AACnE,gCAA4C;AAC5C,2CAAyD;AACzD,8BAAyC;AACzC,0CAAuD;AACvD,wCAAwD;AACxD,+CAAiE;AACjE,kDAAqE;AACrE,qDAA0E;AAC1E,sCAAqD;AACrD,+CAA+D;AAC/D,kCAA+C;AAC/C,6CAA2D;AAC3D,0CAAyD;AACzD,iDAAkE;AAClE,8CAA+D;AAC/D,mDAAsE;AACtE,0CAAyD;AACzD,iDAAkE;AA8ElE;;GAEG;AACH,IAAM,aAAa,GAAG;IACpB,IAAI,EAAE,iBAAW;IACjB,GAAG,EAAE,iBAAU;IACf,MAAM,EAAE,iBAAa;IACrB,GAAG,EAAE,iBAAU;IACf,IAAI,EAAE,iBAAW;IACjB,KAAK,EAAE,iBAAY;IACnB,WAAW,EAAE,kBAAe;IAC5B,aAAa,EAAE,kBAAiB;IAChC,WAAW,EAAE,kBAAe;IAC5B,eAAe,EAAE,kBAAmB;IACpC,QAAQ,EAAE,iBAAe;IACzB,OAAO,EAAE,kBAAc;IACvB,SAAS,EAAE,iBAAgB;IAC3B,MAAM,EAAE,iBAAa;IACrB,KAAK,EAAE,kBAAY;CACpB,CAAC;AAEF;;;GAGG;AACH,IAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,WAAI;IACV,GAAG,EAAE,SAAG;IACR,MAAM,EAAE,eAAM;IACd,GAAG,EAAE,SAAG;IACR,IAAI,EAAE,WAAI;IACV,KAAK,EAAE,aAAK;IACZ,WAAW,EAAE,oBAAQ;IACrB,aAAa,EAAE,wBAAU;IACzB,WAAW,EAAE,oBAAQ;IACrB,eAAe,EAAE,4BAAY;IAC7B,QAAQ,EAAE,mBAAQ;IAClB,OAAO,EAAE,iBAAO;IAChB,SAAS,EAAE,qBAAS;IACpB,MAAM,EAAE,eAAM;IACd,KAAK,EAAE,aAAK;CACb,CAAC;AAEF;;GAEG;AACH,IAAM,mBAAmB,GAAG;IAC1B,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;IACrB,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE;IAC3C,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE;CACzC,CAAC;AAEF;;;GAGG;AACH,SAAgB,eAAe,CAC7B,IAAO,EACP,IAAU,EACV,OAA8B;IAE9B,IAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,yBAAkB,IAAI,UAAO,CAAC,CAAC;QAC7C,OAAO;KACR;IACD,IAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC;QACL,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAA,kBAAU,EAAC,EAAE,EAAE,GAAG,CAAC,iBAAiB,EAAE,EAAE,IAAA,UAAG,EAAC,mBAAmB,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC;KAC9F,CAAC,CAAC;AACL,CAAC;AAfD,0CAeC","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"]}