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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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,17 +217,4 @@
|
|
|
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
|
module.exports = InsideZoomView;
|
|
@@ -248,11 +248,12 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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/lib/component/graphic.js
CHANGED
|
@@ -214,9 +214,9 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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
|
}
|