1
+ import { Geometry } from '@antv/g2' ;
1
2
import { deepMix , isNil } from '@antv/util' ;
2
3
import { Params } from '../../core/adaptor' ;
3
- import { findGeometry } from '../../utils' ;
4
4
import { GeometryOptions , MappingOptions , geometry } from './base' ;
5
5
6
6
export interface IntervalGeometryOptions extends GeometryOptions {
@@ -27,10 +27,10 @@ export interface IntervalGeometryOptions extends GeometryOptions {
27
27
* @param params
28
28
*/
29
29
function otherAdaptor < O extends IntervalGeometryOptions > ( params : Params < O > ) : Params < O > {
30
- const { chart, options } = params ;
30
+ const { chart, options, ext } = params ;
31
31
const { seriesField, isGroup, isStack, marginRatio, widthRatio } = options ;
32
32
33
- const g = findGeometry ( chart , 'interval' ) ;
33
+ const g = ext . geometry as Geometry ;
34
34
/**
35
35
* adjust
36
36
*/
@@ -64,18 +64,21 @@ export function interval<O extends IntervalGeometryOptions>(params: Params<O>):
64
64
const { options } = params ;
65
65
const { interval, seriesField } = options ;
66
66
67
- // 如果存在映射才处理
68
- if ( interval ) {
69
- geometry (
70
- deepMix ( { } , params , {
71
- options : {
72
- type : 'interval' ,
73
- colorField : seriesField ,
74
- mapping : interval ,
75
- } ,
76
- } )
77
- ) ;
78
- }
67
+ // 保障一定要存在 interval 映射
68
+ const { ext } = interval
69
+ ? geometry (
70
+ deepMix ( { } , params , {
71
+ options : {
72
+ type : 'interval' ,
73
+ colorField : seriesField ,
74
+ mapping : interval ,
75
+ } ,
76
+ } )
77
+ )
78
+ : params ;
79
79
80
- return otherAdaptor ( params ) ;
80
+ return otherAdaptor ( {
81
+ ...params ,
82
+ ext,
83
+ } ) ;
81
84
}
0 commit comments