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
|
@@ -45,19 +45,27 @@ define(function (require) {
|
|
|
45
45
|
|
|
46
46
|
zrUtil.each(coordInfoList, function (coordInfo) {
|
|
47
47
|
var coordModel = coordInfo.model;
|
|
48
|
+
var dataZoomOption = dataZoomModel.option;
|
|
48
49
|
|
|
49
50
|
roams.register(
|
|
50
51
|
api,
|
|
51
52
|
{
|
|
52
53
|
coordId: roams.generateCoordId(coordModel),
|
|
53
54
|
allCoordIds: allCoordIds,
|
|
54
|
-
containsPoint: function (x, y) {
|
|
55
|
+
containsPoint: function (e, x, y) {
|
|
55
56
|
return coordModel.coordinateSystem.containPoint([x, y]);
|
|
56
57
|
},
|
|
57
58
|
dataZoomId: dataZoomModel.id,
|
|
58
59
|
throttleRate: dataZoomModel.get('throttle', true),
|
|
59
60
|
panGetRange: bind(this._onPan, this, coordInfo, coordSysName),
|
|
60
|
-
zoomGetRange: bind(this._onZoom, this, coordInfo, coordSysName)
|
|
61
|
+
zoomGetRange: bind(this._onZoom, this, coordInfo, coordSysName),
|
|
62
|
+
zoomLock: dataZoomOption.zoomLock,
|
|
63
|
+
disabled: dataZoomOption.disabled,
|
|
64
|
+
roamControllerOpt: {
|
|
65
|
+
zoomOnMouseWheel: dataZoomOption.zoomOnMouseWheel,
|
|
66
|
+
moveOnMouseMove: dataZoomOption.moveOnMouseMove,
|
|
67
|
+
preventDefaultMouseMove: dataZoomOption.preventDefaultMouseMove
|
|
68
|
+
}
|
|
61
69
|
}
|
|
62
70
|
);
|
|
63
71
|
}, this);
|
|
@@ -78,10 +86,6 @@ define(function (require) {
|
|
|
78
86
|
* @private
|
|
79
87
|
*/
|
|
80
88
|
_onPan: function (coordInfo, coordSysName, controller, dx, dy, oldX, oldY, newX, newY) {
|
|
81
|
-
if (this.dataZoomModel.option.disabled) {
|
|
82
|
-
return this._range;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
89
|
var range = this._range.slice();
|
|
86
90
|
|
|
87
91
|
// Calculate transform by the first axis.
|
|
@@ -98,7 +102,7 @@ define(function (require) {
|
|
|
98
102
|
* (range[1] - range[0])
|
|
99
103
|
* directionInfo.pixel / directionInfo.pixelLength;
|
|
100
104
|
|
|
101
|
-
sliderMove(percentDelta, range, [0, 100], '
|
|
105
|
+
sliderMove(percentDelta, range, [0, 100], 'all');
|
|
102
106
|
|
|
103
107
|
return (this._range = range);
|
|
104
108
|
},
|
|
@@ -107,12 +111,6 @@ define(function (require) {
|
|
|
107
111
|
* @private
|
|
108
112
|
*/
|
|
109
113
|
_onZoom: function (coordInfo, coordSysName, controller, scale, mouseX, mouseY) {
|
|
110
|
-
var option = this.dataZoomModel.option;
|
|
111
|
-
|
|
112
|
-
if (option.disabled || option.zoomLock) {
|
|
113
|
-
return this._range;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
114
|
var range = this._range.slice();
|
|
117
115
|
|
|
118
116
|
// Calculate transform by the first axis.
|
|
@@ -131,7 +129,12 @@ define(function (require) {
|
|
|
131
129
|
scale = Math.max(1 / scale, 0);
|
|
132
130
|
range[0] = (range[0] - percentPoint) * scale + percentPoint;
|
|
133
131
|
range[1] = (range[1] - percentPoint) * scale + percentPoint;
|
|
134
|
-
|
|
132
|
+
|
|
133
|
+
// Restrict range.
|
|
134
|
+
var minMaxSpan = this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();
|
|
135
|
+
sliderMove(0, range, [0, 100], 0, minMaxSpan.minSpan, minMaxSpan.maxSpan);
|
|
136
|
+
|
|
137
|
+
return (this._range = range);
|
|
135
138
|
}
|
|
136
139
|
|
|
137
140
|
});
|
|
@@ -214,18 +217,5 @@ define(function (require) {
|
|
|
214
217
|
}
|
|
215
218
|
};
|
|
216
219
|
|
|
217
|
-
function fixRange(range) {
|
|
218
|
-
// Clamp, using !(<= or >=) to handle NaN.
|
|
219
|
-
// jshint ignore:start
|
|
220
|
-
var bound = [0, 100];
|
|
221
|
-
!(range[0] <= bound[1]) && (range[0] = bound[1]);
|
|
222
|
-
!(range[1] <= bound[1]) && (range[1] = bound[1]);
|
|
223
|
-
!(range[0] >= bound[0]) && (range[0] = bound[0]);
|
|
224
|
-
!(range[1] >= bound[0]) && (range[1] = bound[0]);
|
|
225
|
-
// jshint ignore:end
|
|
226
|
-
|
|
227
|
-
return range;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
220
|
return InsideZoomView;
|
|
231
221
|
});
|
|
@@ -248,11 +248,12 @@ define(function (require) {
|
|
|
248
248
|
return [0, this._size[0]];
|
|
249
249
|
},
|
|
250
250
|
|
|
251
|
-
_renderBackground
|
|
251
|
+
_renderBackground: function () {
|
|
252
252
|
var dataZoomModel = this.dataZoomModel;
|
|
253
253
|
var size = this._size;
|
|
254
|
+
var barGroup = this._displayables.barGroup;
|
|
254
255
|
|
|
255
|
-
|
|
256
|
+
barGroup.add(new Rect({
|
|
256
257
|
silent: true,
|
|
257
258
|
shape: {
|
|
258
259
|
x: 0, y: 0, width: size[0], height: size[1]
|
|
@@ -262,6 +263,18 @@ define(function (require) {
|
|
|
262
263
|
},
|
|
263
264
|
z2: -40
|
|
264
265
|
}));
|
|
266
|
+
|
|
267
|
+
// Click panel, over shadow, below handles.
|
|
268
|
+
barGroup.add(new Rect({
|
|
269
|
+
shape: {
|
|
270
|
+
x: 0, y: 0, width: size[0], height: size[1]
|
|
271
|
+
},
|
|
272
|
+
style: {
|
|
273
|
+
fill: 'transparent'
|
|
274
|
+
},
|
|
275
|
+
z2: 0,
|
|
276
|
+
onclick: zrUtil.bind(this._onClickPanelClick, this)
|
|
277
|
+
}));
|
|
265
278
|
},
|
|
266
279
|
|
|
267
280
|
_renderDataShadow: function () {
|
|
@@ -450,7 +463,7 @@ define(function (require) {
|
|
|
450
463
|
|
|
451
464
|
var iconStr = dataZoomModel.get('handleIcon');
|
|
452
465
|
each([0, 1], function (handleIndex) {
|
|
453
|
-
var
|
|
466
|
+
var iconOpt = {
|
|
454
467
|
style: {
|
|
455
468
|
strokeNoScale: true
|
|
456
469
|
},
|
|
@@ -465,12 +478,21 @@ define(function (require) {
|
|
|
465
478
|
ondragend: bind(this._onDragEnd, this),
|
|
466
479
|
onmouseover: bind(this._showDataInfo, this, true),
|
|
467
480
|
onmouseout: bind(this._showDataInfo, this, false)
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
481
|
+
};
|
|
482
|
+
var iconStyle = {x: -1, y: 0, width: 2, height: 2};
|
|
483
|
+
|
|
484
|
+
var path = iconStr.indexOf('image://') === 0
|
|
485
|
+
? (
|
|
486
|
+
iconStyle.image = iconStr.slice(8),
|
|
487
|
+
iconOpt.style = iconStyle,
|
|
488
|
+
new graphic.Image(iconOpt)
|
|
489
|
+
)
|
|
490
|
+
: graphic.makePath(
|
|
491
|
+
iconStr.replace('path://', ''),
|
|
492
|
+
iconOpt,
|
|
493
|
+
iconStyle,
|
|
494
|
+
'center'
|
|
495
|
+
);
|
|
474
496
|
|
|
475
497
|
var bRect = path.getBoundingRect();
|
|
476
498
|
this._handleHeight = numberUtil.parsePercent(dataZoomModel.get('handleSize'), this._size[1]);
|
|
@@ -520,25 +542,29 @@ define(function (require) {
|
|
|
520
542
|
/**
|
|
521
543
|
* @private
|
|
522
544
|
* @param {(number|string)} handleIndex 0 or 1 or 'all'
|
|
523
|
-
* @param {number}
|
|
524
|
-
* @param {number} dy
|
|
545
|
+
* @param {number} delta
|
|
525
546
|
*/
|
|
526
547
|
_updateInterval: function (handleIndex, delta) {
|
|
548
|
+
var dataZoomModel = this.dataZoomModel;
|
|
527
549
|
var handleEnds = this._handleEnds;
|
|
528
550
|
var viewExtend = this._getViewExtent();
|
|
551
|
+
var minMaxSpan = dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();
|
|
552
|
+
var percentExtent = [0, 100];
|
|
529
553
|
|
|
530
554
|
sliderMove(
|
|
531
555
|
delta,
|
|
532
556
|
handleEnds,
|
|
533
557
|
viewExtend,
|
|
534
|
-
(
|
|
535
|
-
|
|
536
|
-
|
|
558
|
+
dataZoomModel.get('zoomLock') ? 'all' : handleIndex,
|
|
559
|
+
minMaxSpan.minSpan != null
|
|
560
|
+
? linearMap(minMaxSpan.minSpan, percentExtent, viewExtend, true) : null,
|
|
561
|
+
minMaxSpan.maxSpan != null
|
|
562
|
+
? linearMap(minMaxSpan.maxSpan, percentExtent, viewExtend, true) : null
|
|
537
563
|
);
|
|
538
564
|
|
|
539
565
|
this._range = asc([
|
|
540
|
-
linearMap(handleEnds[0], viewExtend,
|
|
541
|
-
linearMap(handleEnds[1], viewExtend,
|
|
566
|
+
linearMap(handleEnds[0], viewExtend, percentExtent, true),
|
|
567
|
+
linearMap(handleEnds[1], viewExtend, percentExtent, true)
|
|
542
568
|
]);
|
|
543
569
|
},
|
|
544
570
|
|
|
@@ -556,7 +582,7 @@ define(function (require) {
|
|
|
556
582
|
var handle = displaybles.handles[handleIndex];
|
|
557
583
|
var handleHeight = this._handleHeight;
|
|
558
584
|
handle.attr({
|
|
559
|
-
scale: [handleHeight, handleHeight],
|
|
585
|
+
scale: [handleHeight / 2, handleHeight / 2],
|
|
560
586
|
position: [handleEnds[handleIndex], size[1] / 2 - handleHeight / 2]
|
|
561
587
|
});
|
|
562
588
|
}, this);
|
|
@@ -682,7 +708,8 @@ define(function (require) {
|
|
|
682
708
|
this._dragging = true;
|
|
683
709
|
|
|
684
710
|
// Transform dx, dy to bar coordination.
|
|
685
|
-
var
|
|
711
|
+
var barTransform = this._displayables.barGroup.getLocalTransform();
|
|
712
|
+
var vertex = graphic.applyTransform([dx, dy], barTransform, true);
|
|
686
713
|
|
|
687
714
|
this._updateInterval(handleIndex, vertex[0]);
|
|
688
715
|
|
|
@@ -701,6 +728,24 @@ define(function (require) {
|
|
|
701
728
|
this._dispatchZoomAction();
|
|
702
729
|
},
|
|
703
730
|
|
|
731
|
+
_onClickPanelClick: function (e) {
|
|
732
|
+
var size = this._size;
|
|
733
|
+
var localPoint = this._displayables.barGroup.transformCoordToLocal(e.offsetX, e.offsetY);
|
|
734
|
+
|
|
735
|
+
if (localPoint[0] < 0 || localPoint[0] > size[0]
|
|
736
|
+
|| localPoint[1] < 0 || localPoint[1] > size[1]
|
|
737
|
+
) {
|
|
738
|
+
return;
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
var handleEnds = this._handleEnds;
|
|
742
|
+
var center = (handleEnds[0] + handleEnds[1]) / 2;
|
|
743
|
+
|
|
744
|
+
this._updateInterval('all', localPoint[0] - center);
|
|
745
|
+
this._updateView();
|
|
746
|
+
this._dispatchZoomAction();
|
|
747
|
+
},
|
|
748
|
+
|
|
704
749
|
/**
|
|
705
750
|
* This action will be throttled.
|
|
706
751
|
* @private
|
|
@@ -717,14 +762,6 @@ define(function (require) {
|
|
|
717
762
|
});
|
|
718
763
|
},
|
|
719
764
|
|
|
720
|
-
/**
|
|
721
|
-
* @private
|
|
722
|
-
*/
|
|
723
|
-
_applyBarTransform: function (vertex, inverse) {
|
|
724
|
-
var barTransform = this._displayables.barGroup.getLocalTransform();
|
|
725
|
-
return graphic.applyTransform(vertex, barTransform, inverse);
|
|
726
|
-
},
|
|
727
|
-
|
|
728
765
|
/**
|
|
729
766
|
* @private
|
|
730
767
|
*/
|
|
@@ -29,6 +29,8 @@ define(function(require) {
|
|
|
29
29
|
* @param {number} dataZoomInfo.throttleRate
|
|
30
30
|
* @param {Function} dataZoomInfo.panGetRange
|
|
31
31
|
* @param {Function} dataZoomInfo.zoomGetRange
|
|
32
|
+
* @param {boolean} [dataZoomInfo.zoomLock]
|
|
33
|
+
* @param {boolean} [dataZoomInfo.disabled]
|
|
32
34
|
*/
|
|
33
35
|
register: function (api, dataZoomInfo) {
|
|
34
36
|
var store = giveStore(api);
|
|
@@ -57,12 +59,16 @@ define(function(require) {
|
|
|
57
59
|
dataZoomInfos: {},
|
|
58
60
|
count: 0
|
|
59
61
|
};
|
|
60
|
-
record.controller = createController(api,
|
|
62
|
+
record.controller = createController(api, record);
|
|
61
63
|
record.dispatchAction = zrUtil.curry(dispatchAction, api);
|
|
62
64
|
}
|
|
65
|
+
record.controller.enable(
|
|
66
|
+
dataZoomInfo.disabled ? false : dataZoomInfo.zoomLock ? 'move' : true,
|
|
67
|
+
dataZoomInfo.roamControllerOpt
|
|
68
|
+
);
|
|
63
69
|
|
|
64
70
|
// Consider resize, area should be always updated.
|
|
65
|
-
record.controller.
|
|
71
|
+
record.controller.setPointerChecker(dataZoomInfo.containsPoint);
|
|
66
72
|
|
|
67
73
|
// Update throttle.
|
|
68
74
|
throttle.createOrUpdate(
|
|
@@ -130,9 +136,8 @@ define(function(require) {
|
|
|
130
136
|
return zr[ATTR] || (zr[ATTR] = {});
|
|
131
137
|
}
|
|
132
138
|
|
|
133
|
-
function createController(api,
|
|
139
|
+
function createController(api, newRecord) {
|
|
134
140
|
var controller = new RoamController(api.getZr());
|
|
135
|
-
controller.enable();
|
|
136
141
|
controller.on('pan', curry(onPan, newRecord));
|
|
137
142
|
controller.on('zoom', curry(onZoom, newRecord));
|
|
138
143
|
|
package/src/component/graphic.js
CHANGED
|
@@ -214,9 +214,9 @@ define(function (require) {
|
|
|
214
214
|
|
|
215
215
|
/**
|
|
216
216
|
* @private
|
|
217
|
-
* @type {
|
|
217
|
+
* @type {module:zrender/core/util.HashMap}
|
|
218
218
|
*/
|
|
219
|
-
this._elMap =
|
|
219
|
+
this._elMap = zrUtil.createHashMap();
|
|
220
220
|
|
|
221
221
|
/**
|
|
222
222
|
* @private
|
|
@@ -270,9 +270,9 @@ define(function (require) {
|
|
|
270
270
|
zrUtil.each(elOptionsToUpdate, function (elOption) {
|
|
271
271
|
var $action = elOption.$action;
|
|
272
272
|
var id = elOption.id;
|
|
273
|
-
var existEl = elMap
|
|
273
|
+
var existEl = elMap.get(id);
|
|
274
274
|
var parentId = elOption.parentId;
|
|
275
|
-
var targetElParent = parentId != null ? elMap
|
|
275
|
+
var targetElParent = parentId != null ? elMap.get(parentId) : rootGroup;
|
|
276
276
|
|
|
277
277
|
// In top/bottom mode, textVertical should not be used. And textBaseline
|
|
278
278
|
// should not be 'alphabetic', which cause inaccurately locating.
|
|
@@ -305,9 +305,10 @@ define(function (require) {
|
|
|
305
305
|
removeEl(existEl, elMap);
|
|
306
306
|
}
|
|
307
307
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
308
|
+
var el = elMap.get(id);
|
|
309
|
+
if (el) {
|
|
310
|
+
el.__ecGraphicWidth = elOption.width;
|
|
311
|
+
el.__ecGraphicHeight = elOption.height;
|
|
311
312
|
}
|
|
312
313
|
});
|
|
313
314
|
},
|
|
@@ -327,7 +328,7 @@ define(function (require) {
|
|
|
327
328
|
// Bottom-up tranvese all elements (consider ec resize) to locate elements.
|
|
328
329
|
for (var i = elOptions.length - 1; i >= 0; i--) {
|
|
329
330
|
var elOption = elOptions[i];
|
|
330
|
-
var el = elMap
|
|
331
|
+
var el = elMap.get(elOption.id);
|
|
331
332
|
|
|
332
333
|
if (!el) {
|
|
333
334
|
continue;
|
|
@@ -358,10 +359,10 @@ define(function (require) {
|
|
|
358
359
|
*/
|
|
359
360
|
_clear: function () {
|
|
360
361
|
var elMap = this._elMap;
|
|
361
|
-
|
|
362
|
+
elMap.each(function (el) {
|
|
362
363
|
removeEl(el, elMap);
|
|
363
364
|
});
|
|
364
|
-
this._elMap =
|
|
365
|
+
this._elMap = zrUtil.createHashMap();
|
|
365
366
|
},
|
|
366
367
|
|
|
367
368
|
/**
|
|
@@ -387,7 +388,7 @@ define(function (require) {
|
|
|
387
388
|
|
|
388
389
|
var el = new Clz(elOption);
|
|
389
390
|
targetElParent.add(el);
|
|
390
|
-
elMap
|
|
391
|
+
elMap.set(id, el);
|
|
391
392
|
el.__ecGraphicId = id;
|
|
392
393
|
}
|
|
393
394
|
|
|
@@ -397,7 +398,7 @@ define(function (require) {
|
|
|
397
398
|
existEl.type === 'group' && existEl.traverse(function (el) {
|
|
398
399
|
removeEl(el, elMap);
|
|
399
400
|
});
|
|
400
|
-
|
|
401
|
+
elMap.removeKey(existEl.__ecGraphicId);
|
|
401
402
|
existElParent.remove(existEl);
|
|
402
403
|
}
|
|
403
404
|
}
|