|
1 | 1 | import isEmpty from 'lodash/isEmpty'; |
2 | | -import isObject from 'lodash/isObject'; |
| 2 | +import isArray from 'lodash/isArray'; |
3 | 3 | import { |
4 | 4 | BarChart, |
5 | 5 | BoxplotChart, |
@@ -62,18 +62,10 @@ import { CanvasRenderer, SVGRenderer } from 'echarts/renderers'; |
62 | 62 | import type { EChartsOption } from 'echarts'; |
63 | 63 |
|
64 | 64 | const enableComponentBySeriesType = (series: object | any[], type: any) => |
65 | | - isObject(series) |
66 | | - ? // @ts-ignore |
67 | | - series?.type === type |
68 | | - : // @ts-ignore |
69 | | - series?.length > 0 && !!series?.find((v) => v.type === type); |
| 65 | + (isArray(series) ? series : [series]).find(({ type: t }) => t === type); |
70 | 66 |
|
71 | 67 | const enableComponentBySeriesProp = (series: object | any[], prop: any) => |
72 | | - isObject(series) |
73 | | - ? // @ts-ignore |
74 | | - series?.[prop] |
75 | | - : // @ts-ignore |
76 | | - series?.length > 0 && !!series?.map(v.prop); |
| 68 | + (isArray(series) ? series : [series]).map((v) => v[prop]); |
77 | 69 |
|
78 | 70 | export const getRegisterComponents = (option: EChartsOption, isCanvas: boolean) => { |
79 | 71 | // necessary Component |
@@ -120,11 +112,10 @@ export const getRegisterComponents = (option: EChartsOption, isCanvas: boolean) |
120 | 112 | } |
121 | 113 | // register polar Component |
122 | 114 | if ( |
123 | | - polar && |
124 | | - // @ts-ignore |
125 | | - ((isObject(series) && series?.coordinateSystem === 'polar') || |
126 | | - // @ts-ignore |
127 | | - (series?.length > 0 && series?.find((v) => v.coordinateSystem === 'polar'))) |
| 115 | + polar || |
| 116 | + !!(isArray(series) ? series : [series]).find( |
| 117 | + ({ coordinateSystem }) => coordinateSystem === 'polar', |
| 118 | + ) |
128 | 119 | ) { |
129 | 120 | registerComponents = [PolarComponent, ...registerComponents]; |
130 | 121 | } |
@@ -178,20 +169,20 @@ export const getRegisterComponents = (option: EChartsOption, isCanvas: boolean) |
178 | 169 | } |
179 | 170 | // register geo Component |
180 | 171 | if ( |
181 | | - geo || // @ts-ignore |
182 | | - (isObject(series) && series?.coordinateSystem === 'geo') || |
183 | | - // @ts-ignore |
184 | | - (series?.length > 0 && series?.find((v) => v.coordinateSystem === 'geo')) |
| 172 | + geo || |
| 173 | + !!(isArray(series) ? series : [series]).find( |
| 174 | + ({ coordinateSystem }) => coordinateSystem === 'geo', |
| 175 | + ) |
185 | 176 | ) { |
186 | 177 | registerComponents = [GeoComponent, ...registerComponents]; |
187 | 178 | } |
188 | 179 | // register parallel Component |
189 | 180 | if ( |
190 | 181 | parallel || |
191 | 182 | enableComponentBySeriesType(series, 'parallel') || // @ts-ignore |
192 | | - (isObject(series) && series?.coordinateSystem === 'parallel') || |
193 | | - // @ts-ignore |
194 | | - (series?.length > 0 && series?.find((v) => v.coordinateSystem === 'parallel')) |
| 183 | + !!(isArray(series) ? series : [series]).find( |
| 184 | + ({ coordinateSystem }) => coordinateSystem === 'parallel', |
| 185 | + ) |
195 | 186 | ) { |
196 | 187 | registerComponents = [ParallelChart, ParallelComponent, ...registerComponents]; |
197 | 188 | } |
@@ -224,7 +215,11 @@ export const getRegisterComponents = (option: EChartsOption, isCanvas: boolean) |
224 | 215 | // register components by series |
225 | 216 | // register line component |
226 | 217 | if (enableComponentBySeriesType(series, 'line')) { |
227 | | - registerComponents = [LinesChart, LineChart, ...registerComponents]; |
| 218 | + registerComponents = [LineChart, LinesChart, ...registerComponents]; |
| 219 | + } |
| 220 | + // register lines component |
| 221 | + if (enableComponentBySeriesType(series, 'lines')) { |
| 222 | + registerComponents = [LineChart, LinesChart, ...registerComponents]; |
228 | 223 | } |
229 | 224 | // register bar component |
230 | 225 | if (enableComponentBySeriesType(series, 'bar')) { |
@@ -270,10 +265,6 @@ export const getRegisterComponents = (option: EChartsOption, isCanvas: boolean) |
270 | 265 | if (enableComponentBySeriesType(series, 'map')) { |
271 | 266 | registerComponents = [MapChart, ...registerComponents]; |
272 | 267 | } |
273 | | - // register lines component |
274 | | - if (enableComponentBySeriesType(series, 'lines')) { |
275 | | - registerComponents = [LineChart, LinesChart, ...registerComponents]; |
276 | | - } |
277 | 268 | // register sankey component |
278 | 269 | if (enableComponentBySeriesType(series, 'sankey')) { |
279 | 270 | registerComponents = [SankeyChart, ...registerComponents]; |
|
0 commit comments