echarts 3.5.1 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -18
- package/README.md +10 -0
- package/dist/echarts.common.js +11010 -9830
- package/dist/echarts.common.min.js +13 -13
- package/dist/echarts.js +13291 -10852
- package/dist/echarts.min.js +22 -21
- package/dist/echarts.simple.js +9904 -8990
- package/dist/echarts.simple.min.js +9 -10
- package/index.js +1 -0
- package/lib/ExtensionAPI.js +2 -4
- package/lib/chart/bar/BarView.js +141 -49
- package/lib/chart/bar/BaseBarSeries.js +2 -6
- package/lib/chart/bar.js +1 -0
- package/lib/chart/boxplot/BoxplotSeries.js +1 -1
- package/lib/chart/boxplot/boxplotLayout.js +23 -7
- package/lib/chart/candlestick/CandlestickSeries.js +3 -22
- package/lib/chart/candlestick/candlestickLayout.js +23 -7
- package/lib/chart/custom.js +442 -0
- package/lib/chart/funnel/funnelLayout.js +10 -3
- package/lib/chart/gauge/GaugeView.js +1 -1
- package/lib/chart/graph/GraphView.js +15 -9
- package/lib/chart/graph/categoryVisual.js +3 -2
- package/lib/chart/heatmap/HeatmapLayer.js +1 -1
- package/lib/chart/heatmap/HeatmapView.js +75 -73
- package/lib/chart/helper/Symbol.js +8 -31
- package/lib/chart/helper/createListFromArray.js +15 -10
- package/lib/chart/helper/labelHelper.js +48 -0
- package/lib/chart/helper/whiskerBoxCommon.js +25 -44
- package/lib/chart/map/mapDataStatistic.js +9 -8
- package/lib/chart/parallel/ParallelSeries.js +2 -0
- package/lib/chart/parallel/ParallelView.js +13 -12
- package/lib/chart/parallel/parallelVisual.js +9 -1
- package/lib/chart/pie/pieLayout.js +25 -17
- package/lib/chart/radar/RadarSeries.js +1 -1
- package/lib/chart/sankey/sankeyLayout.js +1 -1
- package/lib/chart/scatter/ScatterSeries.js +2 -3
- package/lib/chart/themeRiver/ThemeRiverSeries.js +6 -5
- package/lib/chart/themeRiver/themeRiverVisual.js +1 -1
- package/lib/chart/treemap/TreemapSeries.js +3 -3
- package/lib/chart/treemap/TreemapView.js +1 -1
- package/lib/chart/treemap/treemapLayout.js +6 -1
- package/lib/component/axis/AxisBuilder.js +53 -34
- package/lib/component/axis/ParallelAxisView.js +45 -37
- package/lib/component/axisPointer/AxisPointerModel.js +1 -1
- package/lib/component/axisPointer/BaseAxisPointer.js +20 -15
- package/lib/component/axisPointer/CartesianAxisPointer.js +9 -6
- package/lib/component/axisPointer/PolarAxisPointer.js +10 -8
- package/lib/component/axisPointer/SingleAxisPointer.js +11 -7
- package/lib/component/axisPointer/axisTrigger.js +87 -72
- package/lib/component/axisPointer/viewHelper.js +6 -3
- package/lib/component/axisPointer.js +2 -2
- package/lib/component/brush/BrushModel.js +6 -4
- package/lib/component/brush/BrushView.js +1 -1
- package/lib/component/brush/visualEncoding.js +6 -4
- package/lib/component/calendar/CalendarView.js +5 -5
- package/lib/component/dataZoom/AxisProxy.js +76 -13
- package/lib/component/dataZoom/DataZoomModel.js +21 -5
- package/lib/component/dataZoom/InsideZoomModel.js +4 -1
- package/lib/component/dataZoom/InsideZoomView.js +17 -27
- package/lib/component/dataZoom/SliderZoomView.js +63 -26
- package/lib/component/dataZoom/roams.js +9 -4
- package/lib/component/graphic.js +13 -12
- package/lib/component/helper/BrushController.js +75 -114
- package/lib/component/helper/BrushTargetManager.js +16 -8
- package/lib/component/helper/MapDraw.js +25 -11
- package/lib/component/helper/RoamController.js +111 -139
- package/lib/component/helper/brushHelper.js +25 -213
- package/lib/component/helper/cursorHelper.js +21 -0
- package/lib/component/helper/roamHelper.js +54 -0
- package/lib/component/helper/selectableMixin.js +7 -7
- package/lib/component/helper/sliderMove.js +66 -37
- package/lib/component/legend/LegendView.js +6 -6
- package/lib/component/legend/legendAction.js +1 -1
- package/lib/component/marker/MarkAreaView.js +3 -6
- package/lib/component/marker/MarkLineView.js +3 -5
- package/lib/component/marker/MarkPointView.js +3 -5
- package/lib/component/marker/MarkerView.js +10 -12
- package/lib/component/marker/markerHelper.js +1 -1
- package/lib/component/parallel.js +94 -29
- package/lib/component/polar.js +5 -0
- package/lib/component/timeline/SliderTimelineView.js +1 -1
- package/lib/component/toolbox/feature/Brush.js +7 -0
- package/lib/component/toolbox/feature/DataZoom.js +17 -4
- package/lib/component/tooltip/TooltipView.js +92 -20
- package/lib/component/visualMap/ContinuousView.js +6 -4
- package/lib/coord/Axis.js +34 -2
- package/lib/coord/axisDefault.js +4 -1
- package/lib/coord/axisHelper.js +32 -26
- package/lib/coord/axisModelCommonMixin.js +1 -1
- package/lib/coord/calendar/Calendar.js +14 -17
- package/lib/coord/calendar/prepareCustom.js +31 -0
- package/lib/coord/cartesian/Axis2D.js +0 -12
- package/lib/coord/cartesian/Cartesian2D.js +1 -0
- package/lib/coord/cartesian/Grid.js +5 -2
- package/lib/coord/cartesian/prepareCustom.js +36 -0
- package/lib/coord/geo/Geo.js +9 -14
- package/lib/coord/geo/GeoModel.js +5 -5
- package/lib/coord/geo/geoCreator.js +3 -3
- package/lib/coord/geo/parseGeoJson.js +11 -4
- package/lib/coord/geo/prepareCustom.js +36 -0
- package/lib/coord/parallel/Parallel.js +225 -101
- package/lib/coord/parallel/ParallelModel.js +7 -1
- package/lib/coord/polar/Polar.js +2 -1
- package/lib/coord/polar/prepareCustom.js +53 -0
- package/lib/coord/single/Single.js +9 -8
- package/lib/coord/single/SingleAxis.js +0 -27
- package/lib/coord/single/prepareCustom.js +33 -0
- package/lib/data/DataDiffer.js +2 -1
- package/lib/data/Graph.js +11 -7
- package/lib/data/List.js +59 -20
- package/lib/data/helper/completeDimensions.js +184 -23
- package/lib/echarts.js +68 -36
- package/lib/helper.js +1 -8
- package/lib/layout/barGrid.js +91 -19
- package/lib/layout/barPolar.js +286 -0
- package/lib/layout/points.js +22 -16
- package/lib/model/Global.js +34 -31
- package/lib/model/Series.js +41 -29
- package/lib/model/globalDefault.js +4 -1
- package/lib/model/mixin/colorPalette.js +2 -1
- package/lib/model/mixin/textStyle.js +7 -13
- package/lib/scale/Interval.js +46 -76
- package/lib/scale/Log.js +5 -7
- package/lib/scale/Scale.js +10 -1
- package/lib/scale/Time.js +34 -12
- package/lib/scale/helper.js +93 -0
- package/lib/util/format.js +20 -9
- package/lib/util/graphic.js +70 -8
- package/lib/util/layout.js +7 -3
- package/lib/util/model.js +63 -7
- package/lib/util/number.js +59 -19
- package/lib/util/throttle.js +14 -3
- package/map/js/world.js +1 -1
- package/map/json/world.json +1 -1
- package/package.json +3 -3
- package/src/ExtensionAPI.js +2 -4
- package/src/chart/bar/BarView.js +141 -49
- package/src/chart/bar/BaseBarSeries.js +2 -6
- package/src/chart/bar.js +1 -0
- package/src/chart/boxplot/BoxplotSeries.js +1 -1
- package/src/chart/boxplot/boxplotLayout.js +23 -7
- package/src/chart/candlestick/CandlestickSeries.js +3 -22
- package/src/chart/candlestick/candlestickLayout.js +23 -7
- package/src/chart/custom.js +442 -0
- package/src/chart/funnel/funnelLayout.js +10 -4
- package/src/chart/gauge/GaugeView.js +1 -1
- package/src/chart/graph/GraphView.js +15 -9
- package/src/chart/graph/categoryVisual.js +3 -2
- package/src/chart/heatmap/HeatmapLayer.js +1 -1
- package/src/chart/heatmap/HeatmapView.js +75 -73
- package/src/chart/helper/Symbol.js +8 -31
- package/src/chart/helper/createListFromArray.js +15 -10
- package/src/chart/helper/labelHelper.js +49 -0
- package/src/chart/helper/whiskerBoxCommon.js +25 -44
- package/src/chart/map/mapDataStatistic.js +9 -8
- package/src/chart/parallel/ParallelSeries.js +2 -0
- package/src/chart/parallel/ParallelView.js +13 -12
- package/src/chart/parallel/parallelVisual.js +9 -1
- package/src/chart/pie/pieLayout.js +25 -17
- package/src/chart/radar/RadarSeries.js +1 -1
- package/src/chart/sankey/sankeyLayout.js +1 -1
- package/src/chart/scatter/ScatterSeries.js +2 -3
- package/src/chart/themeRiver/ThemeRiverSeries.js +6 -5
- package/src/chart/themeRiver/themeRiverVisual.js +1 -1
- package/src/chart/treemap/TreemapSeries.js +3 -3
- package/src/chart/treemap/TreemapView.js +1 -1
- package/src/chart/treemap/treemapLayout.js +6 -1
- package/src/component/axis/AxisBuilder.js +53 -34
- package/src/component/axis/ParallelAxisView.js +45 -37
- package/src/component/axisPointer/AxisPointerModel.js +1 -1
- package/src/component/axisPointer/BaseAxisPointer.js +20 -15
- package/src/component/axisPointer/CartesianAxisPointer.js +9 -6
- package/src/component/axisPointer/PolarAxisPointer.js +10 -8
- package/src/component/axisPointer/SingleAxisPointer.js +11 -7
- package/src/component/axisPointer/axisTrigger.js +87 -72
- package/src/component/axisPointer/viewHelper.js +6 -3
- package/src/component/axisPointer.js +2 -2
- package/src/component/brush/BrushModel.js +6 -4
- package/src/component/brush/BrushView.js +1 -1
- package/src/component/brush/visualEncoding.js +6 -4
- package/src/component/calendar/CalendarView.js +5 -5
- package/src/component/dataZoom/AxisProxy.js +76 -13
- package/src/component/dataZoom/DataZoomModel.js +21 -5
- package/src/component/dataZoom/InsideZoomModel.js +4 -1
- package/src/component/dataZoom/InsideZoomView.js +17 -27
- package/src/component/dataZoom/SliderZoomView.js +63 -26
- package/src/component/dataZoom/roams.js +9 -4
- package/src/component/graphic.js +13 -12
- package/src/component/helper/BrushController.js +75 -114
- package/src/component/helper/BrushTargetManager.js +16 -8
- package/src/component/helper/MapDraw.js +25 -11
- package/src/component/helper/RoamController.js +111 -139
- package/src/component/helper/brushHelper.js +41 -0
- package/src/component/helper/cursorHelper.js +22 -0
- package/src/component/helper/roamHelper.js +55 -0
- package/src/component/helper/selectableMixin.js +7 -7
- package/src/component/helper/sliderMove.js +66 -37
- package/src/component/legend/LegendView.js +6 -6
- package/src/component/legend/legendAction.js +1 -1
- package/src/component/marker/MarkAreaView.js +3 -6
- package/src/component/marker/MarkLineView.js +3 -5
- package/src/component/marker/MarkPointView.js +3 -5
- package/src/component/marker/MarkerView.js +10 -12
- package/src/component/marker/markerHelper.js +1 -1
- package/src/component/parallel.js +94 -29
- package/src/component/polar.js +5 -0
- package/src/component/timeline/SliderTimelineView.js +1 -1
- package/src/component/toolbox/feature/Brush.js +7 -0
- package/src/component/toolbox/feature/DataZoom.js +17 -4
- package/src/component/tooltip/TooltipView.js +92 -20
- package/src/component/visualMap/ContinuousView.js +6 -4
- package/src/coord/Axis.js +34 -2
- package/src/coord/axisDefault.js +4 -1
- package/src/coord/axisHelper.js +32 -26
- package/src/coord/axisModelCommonMixin.js +1 -1
- package/src/coord/calendar/Calendar.js +14 -17
- package/src/coord/calendar/prepareCustom.js +32 -0
- package/src/coord/cartesian/Axis2D.js +0 -12
- package/src/coord/cartesian/Cartesian2D.js +1 -0
- package/src/coord/cartesian/Grid.js +5 -2
- package/src/coord/cartesian/prepareCustom.js +37 -0
- package/src/coord/geo/Geo.js +9 -14
- package/src/coord/geo/GeoModel.js +5 -5
- package/src/coord/geo/geoCreator.js +3 -3
- package/src/coord/geo/parseGeoJson.js +11 -4
- package/src/coord/geo/prepareCustom.js +37 -0
- package/src/coord/parallel/Parallel.js +225 -101
- package/src/coord/parallel/ParallelModel.js +7 -1
- package/src/coord/polar/Polar.js +2 -1
- package/src/coord/polar/prepareCustom.js +54 -0
- package/src/coord/single/Single.js +9 -8
- package/src/coord/single/SingleAxis.js +0 -27
- package/src/coord/single/prepareCustom.js +34 -0
- package/src/data/DataDiffer.js +2 -1
- package/src/data/Graph.js +11 -7
- package/src/data/List.js +59 -20
- package/src/data/helper/completeDimensions.js +184 -23
- package/src/echarts.js +68 -36
- package/src/helper.js +1 -8
- package/src/layout/barGrid.js +91 -19
- package/src/layout/barPolar.js +287 -0
- package/src/layout/points.js +22 -16
- package/src/model/Global.js +34 -31
- package/src/model/Series.js +41 -29
- package/src/model/globalDefault.js +4 -1
- package/src/model/mixin/colorPalette.js +2 -1
- package/src/model/mixin/textStyle.js +7 -13
- package/src/scale/Interval.js +46 -76
- package/src/scale/Log.js +5 -7
- package/src/scale/Scale.js +10 -1
- package/src/scale/Time.js +34 -12
- package/src/scale/helper.js +94 -0
- package/src/util/format.js +20 -9
- package/src/util/graphic.js +70 -8
- package/src/util/layout.js +7 -3
- package/src/util/model.js +63 -7
- package/src/util/number.js +59 -19
- package/src/util/throttle.js +14 -3
- package/src/coord/cartesian/axisLabelInterval.js +0 -26
- package/theme/default.js +0 -23
- package/theme/halloween.js +0 -528
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module echarts/component/helper/RoamController
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
4
|
define(function (require) {
|
|
6
5
|
|
|
7
6
|
var Eventful = require('zrender/mixin/Eventful');
|
|
@@ -9,157 +8,29 @@ define(function (require) {
|
|
|
9
8
|
var eventTool = require('zrender/core/event');
|
|
10
9
|
var interactionMutex = require('./interactionMutex');
|
|
11
10
|
|
|
12
|
-
function mousedown(e) {
|
|
13
|
-
if (e.target && e.target.draggable) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
var x = e.offsetX;
|
|
18
|
-
var y = e.offsetY;
|
|
19
|
-
|
|
20
|
-
if (this.containsPoint && this.containsPoint(x, y)) {
|
|
21
|
-
this._x = x;
|
|
22
|
-
this._y = y;
|
|
23
|
-
this._dragging = true;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function mousemove(e) {
|
|
28
|
-
if (!this._dragging) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
eventTool.stop(e.event);
|
|
33
|
-
|
|
34
|
-
if (e.gestureEvent !== 'pinch') {
|
|
35
|
-
|
|
36
|
-
if (interactionMutex.isTaken(this._zr, 'globalPan')) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
var x = e.offsetX;
|
|
41
|
-
var y = e.offsetY;
|
|
42
|
-
|
|
43
|
-
var oldX = this._x;
|
|
44
|
-
var oldY = this._y;
|
|
45
|
-
|
|
46
|
-
var dx = x - oldX;
|
|
47
|
-
var dy = y - oldY;
|
|
48
|
-
|
|
49
|
-
this._x = x;
|
|
50
|
-
this._y = y;
|
|
51
|
-
|
|
52
|
-
var target = this.target;
|
|
53
|
-
|
|
54
|
-
if (target) {
|
|
55
|
-
var pos = target.position;
|
|
56
|
-
pos[0] += dx;
|
|
57
|
-
pos[1] += dy;
|
|
58
|
-
target.dirty();
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
eventTool.stop(e.event);
|
|
62
|
-
this.trigger('pan', dx, dy, oldX, oldY, x, y);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
function mouseup(e) {
|
|
67
|
-
this._dragging = false;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
function mousewheel(e) {
|
|
71
|
-
// wheelDelta maybe -0 in chrome mac.
|
|
72
|
-
if (e.wheelDelta === 0) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
// Convenience:
|
|
76
|
-
// Mac and VM Windows on Mac: scroll up: zoom out.
|
|
77
|
-
// Windows: scroll up: zoom in.
|
|
78
|
-
var zoomDelta = e.wheelDelta > 0 ? 1.1 : 1 / 1.1;
|
|
79
|
-
zoom.call(this, e, zoomDelta, e.offsetX, e.offsetY);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function pinch(e) {
|
|
83
|
-
if (interactionMutex.isTaken(this._zr, 'globalPan')) {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
var zoomDelta = e.pinchScale > 1 ? 1.1 : 1 / 1.1;
|
|
87
|
-
zoom.call(this, e, zoomDelta, e.pinchX, e.pinchY);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
function zoom(e, zoomDelta, zoomX, zoomY) {
|
|
91
|
-
if (this.containsPoint && this.containsPoint(zoomX, zoomY)) {
|
|
92
|
-
// When mouse is out of roamController rect,
|
|
93
|
-
// default befavoius should be be disabled, otherwise
|
|
94
|
-
// page sliding is disabled, contrary to expectation.
|
|
95
|
-
eventTool.stop(e.event);
|
|
96
|
-
|
|
97
|
-
var target = this.target;
|
|
98
|
-
var zoomLimit = this.zoomLimit;
|
|
99
|
-
|
|
100
|
-
if (target) {
|
|
101
|
-
var pos = target.position;
|
|
102
|
-
var scale = target.scale;
|
|
103
|
-
|
|
104
|
-
var newZoom = this.zoom = this.zoom || 1;
|
|
105
|
-
newZoom *= zoomDelta;
|
|
106
|
-
if (zoomLimit) {
|
|
107
|
-
var zoomMin = zoomLimit.min || 0;
|
|
108
|
-
var zoomMax = zoomLimit.max || Infinity;
|
|
109
|
-
newZoom = Math.max(
|
|
110
|
-
Math.min(zoomMax, newZoom),
|
|
111
|
-
zoomMin
|
|
112
|
-
);
|
|
113
|
-
}
|
|
114
|
-
var zoomScale = newZoom / this.zoom;
|
|
115
|
-
this.zoom = newZoom;
|
|
116
|
-
// Keep the mouse center when scaling
|
|
117
|
-
pos[0] -= (zoomX - pos[0]) * (zoomScale - 1);
|
|
118
|
-
pos[1] -= (zoomY - pos[1]) * (zoomScale - 1);
|
|
119
|
-
scale[0] *= zoomScale;
|
|
120
|
-
scale[1] *= zoomScale;
|
|
121
|
-
|
|
122
|
-
target.dirty();
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
this.trigger('zoom', zoomDelta, zoomX, zoomY);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
11
|
/**
|
|
130
12
|
* @alias module:echarts/component/helper/RoamController
|
|
131
13
|
* @constructor
|
|
132
14
|
* @mixin {module:zrender/mixin/Eventful}
|
|
133
15
|
*
|
|
134
16
|
* @param {module:zrender/zrender~ZRender} zr
|
|
135
|
-
* @param {module:zrender/Element} target
|
|
136
17
|
*/
|
|
137
|
-
function RoamController(zr
|
|
138
|
-
|
|
139
|
-
/**
|
|
140
|
-
* @type {module:zrender/Element}
|
|
141
|
-
*/
|
|
142
|
-
this.target = target;
|
|
18
|
+
function RoamController(zr) {
|
|
143
19
|
|
|
144
20
|
/**
|
|
145
21
|
* @type {Function}
|
|
146
22
|
*/
|
|
147
|
-
this.
|
|
23
|
+
this.pointerChecker;
|
|
148
24
|
|
|
149
25
|
/**
|
|
150
|
-
* {
|
|
151
|
-
* @type {Object}
|
|
26
|
+
* @type {module:zrender}
|
|
152
27
|
*/
|
|
153
|
-
this.
|
|
28
|
+
this._zr = zr;
|
|
154
29
|
|
|
155
30
|
/**
|
|
156
|
-
* @type {
|
|
157
|
-
*/
|
|
158
|
-
this.zoom;
|
|
159
|
-
/**
|
|
160
|
-
* @type {module:zrender}
|
|
31
|
+
* @type {Object}
|
|
161
32
|
*/
|
|
162
|
-
this.
|
|
33
|
+
this._opt = {};
|
|
163
34
|
|
|
164
35
|
// Avoid two roamController bind the same handler
|
|
165
36
|
var bind = zrUtil.bind;
|
|
@@ -172,12 +43,12 @@ define(function (require) {
|
|
|
172
43
|
Eventful.call(this);
|
|
173
44
|
|
|
174
45
|
/**
|
|
175
|
-
* @param {Function}
|
|
46
|
+
* @param {Function} pointerChecker
|
|
176
47
|
* input: x, y
|
|
177
48
|
* output: boolean
|
|
178
49
|
*/
|
|
179
|
-
this.
|
|
180
|
-
this.
|
|
50
|
+
this.setPointerChecker = function (pointerChecker) {
|
|
51
|
+
this.pointerChecker = pointerChecker;
|
|
181
52
|
};
|
|
182
53
|
|
|
183
54
|
/**
|
|
@@ -188,11 +59,22 @@ define(function (require) {
|
|
|
188
59
|
* @param {boolean|string} [controlType=true] Specify the control type,
|
|
189
60
|
* which can be null/undefined or true/false
|
|
190
61
|
* or 'pan/move' or 'zoom'/'scale'
|
|
62
|
+
* @param {Object} [opt]
|
|
63
|
+
* @param {Object} [opt.zoomOnMouseWheel=true]
|
|
64
|
+
* @param {Object} [opt.moveOnMouseMove=true]
|
|
65
|
+
* @param {Object} [opt.preventDefaultMouseMove=true] When pan.
|
|
191
66
|
*/
|
|
192
|
-
this.enable = function (controlType) {
|
|
67
|
+
this.enable = function (controlType, opt) {
|
|
68
|
+
|
|
193
69
|
// Disable previous first
|
|
194
70
|
this.disable();
|
|
195
71
|
|
|
72
|
+
this._opt = zrUtil.defaults(zrUtil.clone(opt) || {}, {
|
|
73
|
+
zoomOnMouseWheel: true,
|
|
74
|
+
moveOnMouseMove: true,
|
|
75
|
+
preventDefaultMouseMove: true
|
|
76
|
+
});
|
|
77
|
+
|
|
196
78
|
if (controlType == null) {
|
|
197
79
|
controlType = true;
|
|
198
80
|
}
|
|
@@ -229,5 +111,95 @@ define(function (require) {
|
|
|
229
111
|
|
|
230
112
|
zrUtil.mixin(RoamController, Eventful);
|
|
231
113
|
|
|
114
|
+
|
|
115
|
+
function mousedown(e) {
|
|
116
|
+
if (e.target && e.target.draggable) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
var x = e.offsetX;
|
|
121
|
+
var y = e.offsetY;
|
|
122
|
+
|
|
123
|
+
// Only check on mosedown, but not mousemove.
|
|
124
|
+
// Mouse can be out of target when mouse moving.
|
|
125
|
+
if (this.pointerChecker && this.pointerChecker(e, x, y)) {
|
|
126
|
+
this._x = x;
|
|
127
|
+
this._y = y;
|
|
128
|
+
this._dragging = true;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
function mousemove(e) {
|
|
133
|
+
if (!checkKeyBinding(this, 'moveOnMouseMove', e) || !this._dragging) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
if (e.gestureEvent === 'pinch') {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
if (interactionMutex.isTaken(this._zr, 'globalPan')) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
var x = e.offsetX;
|
|
146
|
+
var y = e.offsetY;
|
|
147
|
+
|
|
148
|
+
var oldX = this._x;
|
|
149
|
+
var oldY = this._y;
|
|
150
|
+
|
|
151
|
+
var dx = x - oldX;
|
|
152
|
+
var dy = y - oldY;
|
|
153
|
+
|
|
154
|
+
this._x = x;
|
|
155
|
+
this._y = y;
|
|
156
|
+
|
|
157
|
+
this._opt.preventDefaultMouseMove && eventTool.stop(e.event);
|
|
158
|
+
|
|
159
|
+
this.trigger('pan', dx, dy, oldX, oldY, x, y);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
function mouseup(e) {
|
|
163
|
+
this._dragging = false;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
function mousewheel(e) {
|
|
167
|
+
// wheelDelta maybe -0 in chrome mac.
|
|
168
|
+
if (!checkKeyBinding(this, 'zoomOnMouseWheel', e) || e.wheelDelta === 0) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// Convenience:
|
|
173
|
+
// Mac and VM Windows on Mac: scroll up: zoom out.
|
|
174
|
+
// Windows: scroll up: zoom in.
|
|
175
|
+
var zoomDelta = e.wheelDelta > 0 ? 1.1 : 1 / 1.1;
|
|
176
|
+
zoom.call(this, e, zoomDelta, e.offsetX, e.offsetY);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
function pinch(e) {
|
|
180
|
+
if (interactionMutex.isTaken(this._zr, 'globalPan')) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
var zoomDelta = e.pinchScale > 1 ? 1.1 : 1 / 1.1;
|
|
184
|
+
zoom.call(this, e, zoomDelta, e.pinchX, e.pinchY);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
function zoom(e, zoomDelta, zoomX, zoomY) {
|
|
188
|
+
if (this.pointerChecker && this.pointerChecker(e, zoomX, zoomY)) {
|
|
189
|
+
// When mouse is out of roamController rect,
|
|
190
|
+
// default befavoius should not be be disabled, otherwise
|
|
191
|
+
// page sliding is disabled, contrary to expectation.
|
|
192
|
+
eventTool.stop(e.event);
|
|
193
|
+
|
|
194
|
+
this.trigger('zoom', zoomDelta, zoomX, zoomY);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
function checkKeyBinding(roamController, prop, e) {
|
|
199
|
+
var setting = roamController._opt[prop];
|
|
200
|
+
return setting
|
|
201
|
+
&& (!zrUtil.isString(setting) || e.event[setting + 'Key']);
|
|
202
|
+
}
|
|
203
|
+
|
|
232
204
|
return RoamController;
|
|
233
205
|
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
define(function (require) {
|
|
2
|
+
|
|
3
|
+
var cursorHelper = require('./cursorHelper');
|
|
4
|
+
var BoundingRect = require('zrender/core/BoundingRect');
|
|
5
|
+
var graphicUtil = require('../../util/graphic');
|
|
6
|
+
|
|
7
|
+
var helper = {};
|
|
8
|
+
|
|
9
|
+
helper.makeRectPanelClipPath = function (rect) {
|
|
10
|
+
rect = normalizeRect(rect);
|
|
11
|
+
return function (localPoints, transform) {
|
|
12
|
+
return graphicUtil.clipPointsByRect(localPoints, rect);
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
helper.makeLinearBrushOtherExtent = function (rect, specifiedXYIndex) {
|
|
17
|
+
rect = normalizeRect(rect);
|
|
18
|
+
return function (xyIndex) {
|
|
19
|
+
var idx = specifiedXYIndex != null ? specifiedXYIndex : xyIndex;
|
|
20
|
+
var brushWidth = idx ? rect.width : rect.height;
|
|
21
|
+
var base = idx ? rect.x : rect.y;
|
|
22
|
+
return [base, base + (brushWidth || 0)];
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
helper.makeRectIsTargetByCursor = function (rect, api, targetModel) {
|
|
27
|
+
rect = normalizeRect(rect);
|
|
28
|
+
return function (e, localCursorPoint, transform) {
|
|
29
|
+
return rect.contain(localCursorPoint[0], localCursorPoint[1])
|
|
30
|
+
&& !cursorHelper.onIrrelevantElement(e, api, targetModel);
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
// Consider width/height is negative.
|
|
35
|
+
function normalizeRect(rect) {
|
|
36
|
+
return BoundingRect.create(rect);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return helper;
|
|
40
|
+
|
|
41
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
define(function (require) {
|
|
2
|
+
|
|
3
|
+
var helper = {};
|
|
4
|
+
|
|
5
|
+
var IRRELEVANT_EXCLUDES = {'axisPointer': 1, 'tooltip': 1, 'brush': 1};
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Avoid that: mouse click on a elements that is over geo or graph,
|
|
9
|
+
* but roam is triggered.
|
|
10
|
+
*/
|
|
11
|
+
helper.onIrrelevantElement = function (e, api, targetCoordSysModel) {
|
|
12
|
+
var model = api.getComponentByElement(e.topTarget);
|
|
13
|
+
// If model is axisModel, it works only if it is injected with coordinateSystem.
|
|
14
|
+
var coordSys = model && model.coordinateSystem;
|
|
15
|
+
return model
|
|
16
|
+
&& model !== targetCoordSysModel
|
|
17
|
+
&& !IRRELEVANT_EXCLUDES[model.mainType]
|
|
18
|
+
&& (coordSys && coordSys.model !== targetCoordSysModel);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
return helper;
|
|
22
|
+
});
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
define(function (require) {
|
|
2
|
+
|
|
3
|
+
var helper = {};
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* For geo and graph.
|
|
7
|
+
*
|
|
8
|
+
* @param {Object} controllerHost
|
|
9
|
+
* @param {module:zrender/Element} controllerHost.target
|
|
10
|
+
*/
|
|
11
|
+
helper.updateViewOnPan = function (controllerHost, dx, dy) {
|
|
12
|
+
var target = controllerHost.target;
|
|
13
|
+
var pos = target.position;
|
|
14
|
+
pos[0] += dx;
|
|
15
|
+
pos[1] += dy;
|
|
16
|
+
target.dirty();
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* For geo and graph.
|
|
21
|
+
*
|
|
22
|
+
* @param {Object} controllerHost
|
|
23
|
+
* @param {module:zrender/Element} controllerHost.target
|
|
24
|
+
* @param {number} controllerHost.zoom
|
|
25
|
+
* @param {number} controllerHost.zoomLimit like: {min: 1, max: 2}
|
|
26
|
+
*/
|
|
27
|
+
helper.updateViewOnZoom = function (controllerHost, zoomDelta, zoomX, zoomY) {
|
|
28
|
+
var target = controllerHost.target;
|
|
29
|
+
var zoomLimit = controllerHost.zoomLimit;
|
|
30
|
+
var pos = target.position;
|
|
31
|
+
var scale = target.scale;
|
|
32
|
+
|
|
33
|
+
var newZoom = controllerHost.zoom = controllerHost.zoom || 1;
|
|
34
|
+
newZoom *= zoomDelta;
|
|
35
|
+
if (zoomLimit) {
|
|
36
|
+
var zoomMin = zoomLimit.min || 0;
|
|
37
|
+
var zoomMax = zoomLimit.max || Infinity;
|
|
38
|
+
newZoom = Math.max(
|
|
39
|
+
Math.min(zoomMax, newZoom),
|
|
40
|
+
zoomMin
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
var zoomScale = newZoom / controllerHost.zoom;
|
|
44
|
+
controllerHost.zoom = newZoom;
|
|
45
|
+
// Keep the mouse center when scaling
|
|
46
|
+
pos[0] -= (zoomX - pos[0]) * (zoomScale - 1);
|
|
47
|
+
pos[1] -= (zoomY - pos[1]) * (zoomScale - 1);
|
|
48
|
+
scale[0] *= zoomScale;
|
|
49
|
+
scale[1] *= zoomScale;
|
|
50
|
+
|
|
51
|
+
target.dirty();
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
return helper;
|
|
55
|
+
});
|
|
@@ -13,9 +13,9 @@ define(function (require) {
|
|
|
13
13
|
|
|
14
14
|
updateSelectedMap: function (targetList) {
|
|
15
15
|
this._selectTargetMap = zrUtil.reduce(targetList || [], function (targetMap, target) {
|
|
16
|
-
targetMap
|
|
16
|
+
targetMap.set(target.name, target);
|
|
17
17
|
return targetMap;
|
|
18
|
-
},
|
|
18
|
+
}, zrUtil.createHashMap());
|
|
19
19
|
},
|
|
20
20
|
/**
|
|
21
21
|
* @param {string} name
|
|
@@ -23,10 +23,10 @@ define(function (require) {
|
|
|
23
23
|
// PENGING If selectedMode is null ?
|
|
24
24
|
select: function (name) {
|
|
25
25
|
var targetMap = this._selectTargetMap;
|
|
26
|
-
var target = targetMap
|
|
26
|
+
var target = targetMap.get(name);
|
|
27
27
|
var selectedMode = this.get('selectedMode');
|
|
28
28
|
if (selectedMode === 'single') {
|
|
29
|
-
|
|
29
|
+
targetMap.each(function (target) {
|
|
30
30
|
target.selected = false;
|
|
31
31
|
});
|
|
32
32
|
}
|
|
@@ -37,7 +37,7 @@ define(function (require) {
|
|
|
37
37
|
* @param {string} name
|
|
38
38
|
*/
|
|
39
39
|
unSelect: function (name) {
|
|
40
|
-
var target = this._selectTargetMap
|
|
40
|
+
var target = this._selectTargetMap.get(name);
|
|
41
41
|
// var selectedMode = this.get('selectedMode');
|
|
42
42
|
// selectedMode !== 'single' && target && (target.selected = false);
|
|
43
43
|
target && (target.selected = false);
|
|
@@ -47,7 +47,7 @@ define(function (require) {
|
|
|
47
47
|
* @param {string} name
|
|
48
48
|
*/
|
|
49
49
|
toggleSelected: function (name) {
|
|
50
|
-
var target = this._selectTargetMap
|
|
50
|
+
var target = this._selectTargetMap.get(name);
|
|
51
51
|
if (target != null) {
|
|
52
52
|
this[target.selected ? 'unSelect' : 'select'](name);
|
|
53
53
|
return target.selected;
|
|
@@ -58,7 +58,7 @@ define(function (require) {
|
|
|
58
58
|
* @param {string} name
|
|
59
59
|
*/
|
|
60
60
|
isSelected: function (name) {
|
|
61
|
-
var target = this._selectTargetMap
|
|
61
|
+
var target = this._selectTargetMap.get(name);
|
|
62
62
|
return target && target.selected;
|
|
63
63
|
}
|
|
64
64
|
};
|
|
@@ -2,53 +2,82 @@ define(function (require) {
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Calculate slider move result.
|
|
5
|
+
* Usage:
|
|
6
|
+
* (1) If both handle0 and handle1 are needed to be moved, set minSpan the same as
|
|
7
|
+
* maxSpan and the same as `Math.abs(handleEnd[1] - handleEnds[0])`.
|
|
8
|
+
* (2) If handle0 is forbidden to cross handle1, set minSpan as `0`.
|
|
5
9
|
*
|
|
6
10
|
* @param {number} delta Move length.
|
|
7
|
-
* @param {Array.<number>} handleEnds handleEnds[0]
|
|
8
|
-
*
|
|
11
|
+
* @param {Array.<number>} handleEnds handleEnds[0] can be bigger then handleEnds[1].
|
|
12
|
+
* handleEnds will be modified in this method.
|
|
9
13
|
* @param {Array.<number>} extent handleEnds is restricted by extent.
|
|
10
|
-
*
|
|
11
|
-
* @param {string}
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
14
|
+
* extent[0] should less or equals than extent[1].
|
|
15
|
+
* @param {number|string} handleIndex Can be 'all', means that both move the two handleEnds,
|
|
16
|
+
* where the input minSpan and maxSpan will not work.
|
|
17
|
+
* @param {number} [minSpan] The range of dataZoom can not be smaller than that.
|
|
18
|
+
* If not set, handle0 and cross handle1. If set as a non-negative
|
|
19
|
+
* number (including `0`), handles will push each other when reaching
|
|
20
|
+
* the minSpan.
|
|
21
|
+
* @param {number} [maxSpan] The range of dataZoom can not be larger than that.
|
|
22
|
+
* @return {Array.<number>} The input handleEnds.
|
|
17
23
|
*/
|
|
18
|
-
return function (delta, handleEnds, extent,
|
|
19
|
-
|
|
20
|
-
|
|
24
|
+
return function (delta, handleEnds, extent, handleIndex, minSpan, maxSpan) {
|
|
25
|
+
// Normalize firstly.
|
|
26
|
+
handleEnds[0] = restrict(handleEnds[0], extent);
|
|
27
|
+
handleEnds[1] = restrict(handleEnds[1], extent);
|
|
28
|
+
|
|
29
|
+
delta = delta || 0;
|
|
30
|
+
|
|
31
|
+
var extentSpan = extent[1] - extent[0];
|
|
32
|
+
|
|
33
|
+
// Notice maxSpan and minSpan can be null/undefined.
|
|
34
|
+
if (minSpan != null) {
|
|
35
|
+
minSpan = restrict(minSpan, [0, extentSpan]);
|
|
21
36
|
}
|
|
37
|
+
if (maxSpan != null) {
|
|
38
|
+
maxSpan = Math.max(maxSpan, minSpan != null ? minSpan : 0);
|
|
39
|
+
}
|
|
40
|
+
if (handleIndex === 'all') {
|
|
41
|
+
minSpan = maxSpan = Math.abs(handleEnds[1] - handleEnds[0]);
|
|
42
|
+
handleIndex = 0;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
var originalDistSign = getSpanSign(handleEnds, handleIndex);
|
|
22
46
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
47
|
+
handleEnds[handleIndex] += delta;
|
|
48
|
+
|
|
49
|
+
// Restrict in extent.
|
|
50
|
+
var extentMinSpan = minSpan || 0;
|
|
51
|
+
var realExtent = extent.slice();
|
|
52
|
+
originalDistSign.sign < 0 ? (realExtent[0] += extentMinSpan) : (realExtent[1] -= extentMinSpan);
|
|
53
|
+
handleEnds[handleIndex] = restrict(handleEnds[handleIndex], realExtent);
|
|
54
|
+
|
|
55
|
+
// Expand span.
|
|
56
|
+
var currDistSign = getSpanSign(handleEnds, handleIndex);
|
|
57
|
+
if (minSpan != null && (
|
|
58
|
+
currDistSign.sign !== originalDistSign.sign || currDistSign.span < minSpan
|
|
59
|
+
)) {
|
|
60
|
+
// If minSpan exists, 'cross' is forbinden.
|
|
61
|
+
handleEnds[1 - handleIndex] = handleEnds[handleIndex] + originalDistSign.sign * minSpan;
|
|
27
62
|
}
|
|
28
|
-
else {
|
|
29
|
-
delta = getRealDelta(delta, handleEnds[handleIndex], extent);
|
|
30
|
-
handleEnds[handleIndex] += delta;
|
|
31
63
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
64
|
+
// Shrink span.
|
|
65
|
+
var currDistSign = getSpanSign(handleEnds, handleIndex);
|
|
66
|
+
if (maxSpan != null && currDistSign.span > maxSpan) {
|
|
67
|
+
handleEnds[1 - handleIndex] = handleEnds[handleIndex] + currDistSign.sign * maxSpan;
|
|
35
68
|
}
|
|
36
69
|
|
|
37
70
|
return handleEnds;
|
|
38
|
-
|
|
39
|
-
function getRealDelta(delta, handleEnds, extent) {
|
|
40
|
-
var handleMinMax = !handleEnds.length
|
|
41
|
-
? [handleEnds, handleEnds]
|
|
42
|
-
: handleEnds.slice();
|
|
43
|
-
handleEnds[0] > handleEnds[1] && handleMinMax.reverse();
|
|
44
|
-
|
|
45
|
-
if (delta < 0 && handleMinMax[0] + delta < extent[0]) {
|
|
46
|
-
delta = extent[0] - handleMinMax[0];
|
|
47
|
-
}
|
|
48
|
-
if (delta > 0 && handleMinMax[1] + delta > extent[1]) {
|
|
49
|
-
delta = extent[1] - handleMinMax[1];
|
|
50
|
-
}
|
|
51
|
-
return delta;
|
|
52
|
-
}
|
|
53
71
|
};
|
|
72
|
+
|
|
73
|
+
function getSpanSign(handleEnds, handleIndex) {
|
|
74
|
+
var dist = handleEnds[handleIndex] - handleEnds[1 - handleIndex];
|
|
75
|
+
// If `handleEnds[0] === handleEnds[1]`, always believe that handleEnd[0]
|
|
76
|
+
// is at left of handleEnds[1] for non-cross case.
|
|
77
|
+
return {span: Math.abs(dist), sign: dist > 0 ? -1 : dist < 0 ? 1 : handleIndex ? -1 : 1};
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function restrict(value, extend) {
|
|
81
|
+
return Math.min(extend[1], Math.max(extend[0], value));
|
|
82
|
+
}
|
|
54
83
|
});
|
|
@@ -63,7 +63,7 @@ define(function (require) {
|
|
|
63
63
|
? 'right' : 'left';
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
var legendDrawedMap =
|
|
66
|
+
var legendDrawedMap = zrUtil.createHashMap();
|
|
67
67
|
|
|
68
68
|
zrUtil.each(legendModel.getData(), function (itemModel) {
|
|
69
69
|
var name = itemModel.get('name');
|
|
@@ -78,7 +78,7 @@ define(function (require) {
|
|
|
78
78
|
|
|
79
79
|
var seriesModel = ecModel.getSeriesByName(name)[0];
|
|
80
80
|
|
|
81
|
-
if (legendDrawedMap
|
|
81
|
+
if (legendDrawedMap.get(name)) {
|
|
82
82
|
// Have been drawed
|
|
83
83
|
return;
|
|
84
84
|
}
|
|
@@ -109,13 +109,13 @@ define(function (require) {
|
|
|
109
109
|
.on('mouseover', curry(dispatchHighlightAction, seriesModel, null, api))
|
|
110
110
|
.on('mouseout', curry(dispatchDownplayAction, seriesModel, null, api));
|
|
111
111
|
|
|
112
|
-
legendDrawedMap
|
|
112
|
+
legendDrawedMap.set(name, true);
|
|
113
113
|
}
|
|
114
114
|
else {
|
|
115
115
|
// Data legend of pie, funnel
|
|
116
116
|
ecModel.eachRawSeries(function (seriesModel) {
|
|
117
117
|
// In case multiple series has same data name
|
|
118
|
-
if (legendDrawedMap
|
|
118
|
+
if (legendDrawedMap.get(name)) {
|
|
119
119
|
return;
|
|
120
120
|
}
|
|
121
121
|
if (seriesModel.legendDataProvider) {
|
|
@@ -141,13 +141,13 @@ define(function (require) {
|
|
|
141
141
|
.on('mouseover', curry(dispatchHighlightAction, seriesModel, name, api))
|
|
142
142
|
.on('mouseout', curry(dispatchDownplayAction, seriesModel, name, api));
|
|
143
143
|
|
|
144
|
-
legendDrawedMap
|
|
144
|
+
legendDrawedMap.set(name, true);
|
|
145
145
|
}
|
|
146
146
|
}, this);
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
if (__DEV__) {
|
|
150
|
-
if (!legendDrawedMap
|
|
150
|
+
if (!legendDrawedMap.get(name)) {
|
|
151
151
|
console.warn(name + ' series not exists. Legend data should be same with series name or data name.');
|
|
152
152
|
}
|
|
153
153
|
}
|
|
@@ -31,7 +31,7 @@ define(function(require) {
|
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
33
|
var isItemSelected = legendModel.isSelected(name);
|
|
34
|
-
if (name
|
|
34
|
+
if (selectedMap.hasOwnProperty(name)) {
|
|
35
35
|
// Unselected if any legend is unselected
|
|
36
36
|
selectedMap[name] = selectedMap[name] && isItemSelected;
|
|
37
37
|
}
|
|
@@ -155,12 +155,9 @@ define(function (require) {
|
|
|
155
155
|
var seriesData = seriesModel.getData();
|
|
156
156
|
|
|
157
157
|
var areaGroupMap = this.markerGroupMap;
|
|
158
|
-
var polygonGroup = areaGroupMap
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
group: new graphic.Group()
|
|
162
|
-
};
|
|
163
|
-
}
|
|
158
|
+
var polygonGroup = areaGroupMap.get(seriesName)
|
|
159
|
+
|| areaGroupMap.set(seriesName, {group: new graphic.Group()});
|
|
160
|
+
|
|
164
161
|
this.group.add(polygonGroup.group);
|
|
165
162
|
polygonGroup.__keep = true;
|
|
166
163
|
|