echarts 4.5.0 → 4.9.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.
Files changed (329) hide show
  1. package/.DS_Store +0 -0
  2. package/.gitattributes +3 -0
  3. package/.github/pull_request_template.md +66 -0
  4. package/.github/workflows/nodejs.yml +15 -3
  5. package/.huskyrc +5 -0
  6. package/CONTRIBUTING.md +16 -160
  7. package/NOTICE +1 -1
  8. package/README.md +3 -3
  9. package/asset/.DS_Store +0 -0
  10. package/build/.DS_Store +0 -0
  11. package/dist/echarts-en.common.js +3072 -1261
  12. package/dist/echarts-en.common.min.js +1 -1
  13. package/dist/echarts-en.js +4339 -1685
  14. package/dist/echarts-en.js.map +1 -1
  15. package/dist/echarts-en.min.js +1 -1
  16. package/dist/echarts-en.simple.js +2496 -1011
  17. package/dist/echarts-en.simple.min.js +1 -1
  18. package/dist/echarts.common.js +3046 -1261
  19. package/dist/echarts.common.min.js +1 -1
  20. package/dist/echarts.js +4313 -1685
  21. package/dist/echarts.js.map +1 -1
  22. package/dist/echarts.min.js +1 -1
  23. package/dist/echarts.simple.js +2470 -1011
  24. package/dist/echarts.simple.min.js +1 -1
  25. package/dist/extension/bmap.js +33 -11
  26. package/dist/extension/bmap.js.map +1 -1
  27. package/dist/extension/bmap.min.js +1 -1
  28. package/dist/extension/dataTool.js.map +1 -1
  29. package/extension/.DS_Store +0 -0
  30. package/extension/bmap/BMapCoordSys.js +14 -4
  31. package/extension/bmap/BMapModel.js +4 -0
  32. package/extension/bmap/BMapView.js +18 -10
  33. package/extension-src/bmap/BMapCoordSys.js +14 -4
  34. package/extension-src/bmap/BMapModel.js +6 -1
  35. package/extension-src/bmap/BMapView.js +16 -9
  36. package/lib/chart/bar/BarSeries.js +14 -1
  37. package/lib/chart/bar/BarView.js +196 -18
  38. package/lib/chart/bar/BaseBarSeries.js +3 -1
  39. package/lib/chart/bar/PictorialBarSeries.js +1 -1
  40. package/lib/chart/candlestick/candlestickVisual.js +1 -1
  41. package/lib/chart/effectScatter/EffectScatterSeries.js +3 -1
  42. package/lib/chart/funnel/FunnelSeries.js +14 -5
  43. package/lib/chart/funnel/funnelLayout.js +162 -46
  44. package/lib/chart/gauge/GaugeSeries.js +0 -2
  45. package/lib/chart/graph/GraphSeries.js +23 -7
  46. package/lib/chart/graph/GraphView.js +30 -12
  47. package/lib/chart/graph/circularLayoutHelper.js +8 -2
  48. package/lib/chart/graph/forceLayout.js +6 -1
  49. package/lib/chart/graph/simpleLayout.js +1 -1
  50. package/lib/chart/graph/simpleLayoutHelper.js +10 -4
  51. package/lib/chart/heatmap/HeatmapView.js +4 -4
  52. package/lib/chart/helper/EffectLine.js +23 -1
  53. package/lib/chart/helper/EffectSymbol.js +2 -1
  54. package/lib/chart/helper/Line.js +129 -42
  55. package/lib/chart/helper/LineDraw.js +5 -1
  56. package/lib/chart/helper/Symbol.js +2 -3
  57. package/lib/chart/helper/createClipPathFromCoordSys.js +4 -1
  58. package/lib/chart/helper/createListFromArray.js +14 -8
  59. package/lib/chart/helper/createRenderPlanner.js +6 -3
  60. package/lib/chart/helper/multipleGraphEdgeHelper.js +258 -0
  61. package/lib/chart/helper/whiskerBoxCommon.js +22 -16
  62. package/lib/chart/line/LineSeries.js +3 -1
  63. package/lib/chart/line/LineView.js +41 -2
  64. package/lib/chart/lines/LinesSeries.js +0 -2
  65. package/lib/chart/map/MapSeries.js +14 -5
  66. package/lib/chart/pie/PieSeries.js +27 -6
  67. package/lib/chart/pie/PieView.js +22 -15
  68. package/lib/chart/pie/labelLayout.js +102 -19
  69. package/lib/chart/pie/pieLayout.js +19 -7
  70. package/lib/chart/radar/RadarSeries.js +27 -6
  71. package/lib/chart/radar/RadarView.js +3 -1
  72. package/lib/chart/sankey/SankeySeries.js +13 -1
  73. package/lib/chart/sankey/SankeyView.js +70 -32
  74. package/lib/chart/sankey/sankeyLayout.js +22 -3
  75. package/lib/chart/scatter/ScatterSeries.js +3 -1
  76. package/lib/chart/sunburst/SunburstPiece.js +5 -1
  77. package/lib/chart/sunburst/SunburstSeries.js +29 -12
  78. package/lib/chart/sunburst/SunburstView.js +5 -1
  79. package/lib/chart/themeRiver/ThemeRiverSeries.js +24 -33
  80. package/lib/chart/tree/TreeSeries.js +20 -3
  81. package/lib/chart/tree/TreeView.js +149 -23
  82. package/lib/chart/treemap/TreemapSeries.js +25 -4
  83. package/lib/chart/treemap/TreemapView.js +80 -38
  84. package/lib/chart/treemap/treemapLayout.js +1 -1
  85. package/lib/chart/treemap/treemapVisual.js +9 -15
  86. package/lib/component/axis/AngleAxisView.js +64 -7
  87. package/lib/component/axis/AxisBuilder.js +62 -24
  88. package/lib/component/axis/CartesianAxisView.js +52 -85
  89. package/lib/component/axis/RadiusAxisView.js +36 -4
  90. package/lib/component/axis/SingleAxisView.js +21 -6
  91. package/lib/component/axis/axisSplitHelper.js +132 -0
  92. package/lib/component/axisPointer/axisTrigger.js +1 -1
  93. package/lib/component/brush/BrushView.js +11 -1
  94. package/lib/component/brush/visualEncoding.js +13 -2
  95. package/lib/component/dataZoom/SliderZoomView.js +4 -10
  96. package/lib/component/helper/BrushController.js +33 -43
  97. package/lib/component/helper/MapDraw.js +30 -4
  98. package/lib/component/legend/LegendModel.js +3 -3
  99. package/lib/component/legend/LegendView.js +17 -13
  100. package/lib/component/legend/ScrollableLegendView.js +18 -18
  101. package/lib/component/marker/MarkAreaView.js +53 -15
  102. package/lib/component/marker/MarkLineModel.js +2 -1
  103. package/lib/component/marker/MarkLineView.js +3 -0
  104. package/lib/component/marker/MarkPointView.js +8 -1
  105. package/lib/component/marker/MarkerModel.js +3 -2
  106. package/lib/component/marker/markerHelper.js +7 -4
  107. package/lib/component/timeline/SliderTimelineView.js +7 -1
  108. package/lib/component/title.js +6 -2
  109. package/lib/component/toolbox/ToolboxView.js +5 -1
  110. package/lib/component/toolbox/feature/DataView.js +23 -8
  111. package/lib/component/toolbox/feature/DataZoom.js +6 -6
  112. package/lib/component/toolbox/feature/MagicType.js +20 -14
  113. package/lib/component/toolbox/feature/SaveAsImage.js +4 -2
  114. package/lib/component/tooltip/TooltipContent.js +101 -30
  115. package/lib/component/tooltip/TooltipRichContent.js +56 -8
  116. package/lib/component/tooltip/TooltipView.js +11 -12
  117. package/lib/component/visualMap/PiecewiseModel.js +3 -6
  118. package/lib/component/visualMap/VisualMapModel.js +1 -1
  119. package/lib/coord/Axis.js +30 -2
  120. package/lib/coord/View.js +9 -0
  121. package/lib/coord/axisDefault.js +22 -3
  122. package/lib/coord/axisHelper.js +24 -18
  123. package/lib/coord/calendar/Calendar.js +8 -4
  124. package/lib/coord/geo/GeoModel.js +2 -1
  125. package/lib/coord/geo/geoJSONLoader.js +3 -2
  126. package/lib/coord/geo/geoSourceManager.js +3 -2
  127. package/lib/coord/geo/parseGeoJson.js +3 -2
  128. package/lib/coord/radar/Radar.js +5 -5
  129. package/lib/data/DataDimensionInfo.js +157 -0
  130. package/lib/data/Graph.js +1 -6
  131. package/lib/data/List.js +26 -20
  132. package/lib/data/Tree.js +5 -42
  133. package/lib/data/helper/completeDimensions.js +43 -32
  134. package/lib/data/helper/createDimensions.js +2 -0
  135. package/lib/data/helper/sourceHelper.js +214 -114
  136. package/lib/echarts.js +57 -34
  137. package/lib/langEN.js +26 -0
  138. package/lib/layout/barGrid.js +19 -13
  139. package/lib/layout/barPolar.js +1 -6
  140. package/lib/loading/default.js +43 -27
  141. package/lib/model/Series.js +4 -4
  142. package/lib/model/referHelper.js +40 -12
  143. package/lib/processor/dataSample.js +1 -1
  144. package/lib/scale/Interval.js +87 -2
  145. package/lib/scale/Log.js +9 -2
  146. package/lib/scale/helper.js +1 -43
  147. package/lib/stream/Scheduler.js +10 -2
  148. package/lib/theme/dark.js +3 -0
  149. package/lib/util/format.js +19 -2
  150. package/lib/util/graphic.js +14 -12
  151. package/lib/visual/LegendVisualProvider.js +75 -0
  152. package/lib/visual/VisualMapping.js +1 -1
  153. package/lib/visual/dataColor.js +2 -12
  154. package/lib/visual/seriesColor.js +15 -7
  155. package/lib/visual/symbol.js +12 -2
  156. package/map/.DS_Store +0 -0
  157. package/map/js/.DS_Store +0 -0
  158. package/map/js/china.js +1 -1
  159. package/map/js/province/.DS_Store +0 -0
  160. package/map/js/province/chongqing.js +1 -1
  161. package/map/js/province/gansu.js +2 -2
  162. package/map/js/province/tianjin.js +1 -28
  163. package/map/json/.DS_Store +0 -0
  164. package/map/json/china.json +1 -1
  165. package/map/json/province/chongqing.json +1 -1
  166. package/map/json/province/tianjin.json +1 -1
  167. package/package.json +12 -6
  168. package/src/.DS_Store +0 -0
  169. package/src/chart/.DS_Store +0 -0
  170. package/src/chart/bar/BarSeries.js +15 -1
  171. package/src/chart/bar/BarView.js +198 -17
  172. package/src/chart/bar/BaseBarSeries.js +1 -1
  173. package/src/chart/bar/PictorialBarSeries.js +2 -2
  174. package/src/chart/candlestick/candlestickVisual.js +1 -1
  175. package/src/chart/effectScatter/EffectScatterSeries.js +1 -1
  176. package/src/chart/funnel/FunnelSeries.js +11 -4
  177. package/src/chart/funnel/funnelLayout.js +179 -53
  178. package/src/chart/gauge/GaugeSeries.js +0 -1
  179. package/src/chart/graph/GraphSeries.js +19 -7
  180. package/src/chart/graph/GraphView.js +28 -10
  181. package/src/chart/graph/circularLayoutHelper.js +8 -2
  182. package/src/chart/graph/forceLayout.js +7 -1
  183. package/src/chart/graph/simpleLayout.js +1 -1
  184. package/src/chart/graph/simpleLayoutHelper.js +12 -5
  185. package/src/chart/heatmap/HeatmapView.js +4 -4
  186. package/src/chart/helper/EffectLine.js +23 -1
  187. package/src/chart/helper/EffectSymbol.js +2 -1
  188. package/src/chart/helper/Line.js +122 -37
  189. package/src/chart/helper/LineDraw.js +5 -1
  190. package/src/chart/helper/Symbol.js +4 -4
  191. package/src/chart/helper/createClipPathFromCoordSys.js +4 -0
  192. package/src/chart/helper/createGraphFromNodeEdge.js +2 -1
  193. package/src/chart/helper/createListFromArray.js +13 -8
  194. package/src/chart/helper/createRenderPlanner.js +5 -2
  195. package/src/chart/helper/multipleGraphEdgeHelper.js +229 -0
  196. package/src/chart/helper/whiskerBoxCommon.js +21 -16
  197. package/src/chart/line/LineSeries.js +1 -1
  198. package/src/chart/line/LineView.js +45 -1
  199. package/src/chart/lines/LinesSeries.js +1 -3
  200. package/src/chart/map/MapSeries.js +11 -5
  201. package/src/chart/pie/PieSeries.js +26 -5
  202. package/src/chart/pie/PieView.js +20 -15
  203. package/src/chart/pie/labelLayout.js +114 -22
  204. package/src/chart/pie/pieLayout.js +20 -7
  205. package/src/chart/radar/RadarSeries.js +31 -6
  206. package/src/chart/radar/RadarView.js +4 -2
  207. package/src/chart/sankey/SankeySeries.js +12 -1
  208. package/src/chart/sankey/SankeyView.js +75 -30
  209. package/src/chart/sankey/sankeyLayout.js +25 -5
  210. package/src/chart/scatter/ScatterSeries.js +1 -1
  211. package/src/chart/sunburst/SunburstPiece.js +7 -1
  212. package/src/chart/sunburst/SunburstSeries.js +28 -15
  213. package/src/chart/sunburst/SunburstView.js +2 -1
  214. package/src/chart/themeRiver/ThemeRiverSeries.js +25 -30
  215. package/src/chart/tree/TreeSeries.js +19 -6
  216. package/src/chart/tree/TreeView.js +156 -23
  217. package/src/chart/treemap/TreemapSeries.js +23 -5
  218. package/src/chart/treemap/TreemapView.js +77 -41
  219. package/src/chart/treemap/treemapLayout.js +2 -2
  220. package/src/chart/treemap/treemapVisual.js +8 -25
  221. package/src/component/axis/AngleAxisView.js +75 -7
  222. package/src/component/axis/AxisBuilder.js +77 -32
  223. package/src/component/axis/CartesianAxisView.js +47 -83
  224. package/src/component/axis/RadiusAxisView.js +37 -4
  225. package/src/component/axis/SingleAxisView.js +21 -4
  226. package/src/component/axis/axisSplitHelper.js +114 -0
  227. package/src/component/axisPointer/axisTrigger.js +1 -1
  228. package/src/component/brush/BrushView.js +8 -1
  229. package/src/component/brush/visualEncoding.js +6 -3
  230. package/src/component/dataZoom/SliderZoomView.js +4 -9
  231. package/src/component/helper/BrushController.js +40 -47
  232. package/src/component/helper/MapDraw.js +27 -4
  233. package/src/component/legend/LegendModel.js +3 -3
  234. package/src/component/legend/LegendView.js +18 -12
  235. package/src/component/legend/ScrollableLegendView.js +18 -16
  236. package/src/component/marker/MarkAreaView.js +53 -15
  237. package/src/component/marker/MarkLineModel.js +2 -1
  238. package/src/component/marker/MarkLineView.js +3 -1
  239. package/src/component/marker/MarkPointView.js +7 -1
  240. package/src/component/marker/MarkerModel.js +3 -2
  241. package/src/component/marker/markerHelper.js +8 -5
  242. package/src/component/timeline/SliderTimelineView.js +9 -6
  243. package/src/component/title.js +4 -3
  244. package/src/component/toolbox/.DS_Store +0 -0
  245. package/src/component/toolbox/ToolboxView.js +5 -0
  246. package/src/component/toolbox/feature/DataView.js +20 -8
  247. package/src/component/toolbox/feature/DataZoom.js +6 -6
  248. package/src/component/toolbox/feature/MagicType.js +19 -13
  249. package/src/component/toolbox/feature/SaveAsImage.js +4 -2
  250. package/src/component/tooltip/TooltipContent.js +94 -28
  251. package/src/component/tooltip/TooltipRichContent.js +52 -9
  252. package/src/component/tooltip/TooltipView.js +14 -12
  253. package/src/component/visualMap/PiecewiseModel.js +5 -9
  254. package/src/component/visualMap/VisualMapModel.js +1 -1
  255. package/src/coord/Axis.js +29 -2
  256. package/src/coord/View.js +10 -1
  257. package/src/coord/axisDefault.js +26 -2
  258. package/src/coord/axisHelper.js +30 -21
  259. package/src/coord/calendar/Calendar.js +12 -5
  260. package/src/coord/geo/GeoModel.js +3 -6
  261. package/src/coord/geo/geoJSONLoader.js +3 -2
  262. package/src/coord/geo/geoSourceManager.js +3 -2
  263. package/src/coord/geo/parseGeoJson.js +3 -2
  264. package/src/coord/radar/Radar.js +6 -8
  265. package/src/data/DataDimensionInfo.js +135 -0
  266. package/src/data/Graph.js +0 -5
  267. package/src/data/List.js +30 -17
  268. package/src/data/Tree.js +6 -39
  269. package/src/data/helper/completeDimensions.js +49 -30
  270. package/src/data/helper/createDimensions.js +2 -0
  271. package/src/data/helper/sourceHelper.js +216 -124
  272. package/src/echarts.js +60 -36
  273. package/src/langEN.js +26 -0
  274. package/src/layout/barGrid.js +22 -10
  275. package/src/layout/barPolar.js +4 -6
  276. package/src/loading/default.js +46 -34
  277. package/src/model/.DS_Store +0 -0
  278. package/src/model/Series.js +4 -4
  279. package/src/model/referHelper.js +34 -11
  280. package/src/preprocessor/.DS_Store +0 -0
  281. package/src/processor/dataSample.js +1 -1
  282. package/src/scale/Interval.js +84 -4
  283. package/src/scale/Log.js +9 -2
  284. package/src/scale/helper.js +1 -39
  285. package/src/stream/Scheduler.js +9 -1
  286. package/src/theme/dark.js +3 -0
  287. package/src/util/.DS_Store +0 -0
  288. package/src/util/format.js +17 -1
  289. package/src/util/graphic.js +13 -11
  290. package/src/visual/LegendVisualProvider.js +55 -0
  291. package/src/visual/VisualMapping.js +1 -1
  292. package/src/visual/dataColor.js +0 -13
  293. package/src/visual/seriesColor.js +13 -7
  294. package/src/visual/symbol.js +11 -2
  295. package/theme/.DS_Store +0 -0
  296. package/theme/azul.js +163 -0
  297. package/theme/bee-inspired.js +178 -0
  298. package/theme/blue.js +178 -0
  299. package/theme/caravan.js +178 -0
  300. package/theme/carp.js +163 -0
  301. package/theme/cool.js +180 -0
  302. package/theme/dark-blue.js +168 -0
  303. package/theme/dark-bold.js +168 -0
  304. package/theme/dark-digerati.js +168 -0
  305. package/theme/dark-fresh-cut.js +168 -0
  306. package/theme/dark-mushroom.js +168 -0
  307. package/theme/dark.js +69 -62
  308. package/theme/eduardo.js +178 -0
  309. package/theme/forest.js +163 -0
  310. package/theme/fresh-cut.js +163 -0
  311. package/theme/fruit.js +178 -0
  312. package/theme/gray.js +220 -0
  313. package/theme/green.js +222 -0
  314. package/theme/helianthus.js +263 -0
  315. package/theme/infographic.js +72 -57
  316. package/theme/inspired.js +163 -0
  317. package/theme/jazz.js +163 -0
  318. package/theme/london.js +163 -0
  319. package/theme/macarons.js +80 -57
  320. package/theme/macarons2.js +251 -0
  321. package/theme/mint.js +155 -0
  322. package/theme/red-velvet.js +163 -0
  323. package/theme/red.js +225 -0
  324. package/theme/roma.js +55 -22
  325. package/theme/royal.js +163 -0
  326. package/theme/sakura.js +140 -0
  327. package/theme/shine.js +52 -45
  328. package/theme/tech-blue.js +180 -0
  329. package/theme/vintage.js +37 -23
@@ -248,9 +248,10 @@ var builders = {
248
248
  axisTickLabel: function () {
249
249
  var axisModel = this.axisModel;
250
250
  var opt = this.opt;
251
- var tickEls = buildAxisTick(this, axisModel, opt);
251
+ var ticksEls = buildAxisMajorTicks(this, axisModel, opt);
252
252
  var labelEls = buildAxisLabel(this, axisModel, opt);
253
- fixMinMaxLabelShow(axisModel, labelEls, tickEls);
253
+ fixMinMaxLabelShow(axisModel, labelEls, ticksEls);
254
+ buildAxisMinorTicks(this, axisModel, opt);
254
255
  },
255
256
 
256
257
  /**
@@ -519,38 +520,27 @@ function isNameLocationCenter(nameLocation) {
519
520
  return nameLocation === 'middle' || nameLocation === 'center';
520
521
  }
521
522
 
522
- function buildAxisTick(axisBuilder, axisModel, opt) {
523
- var axis = axisModel.axis;
524
-
525
- if (!axisModel.get('axisTick.show') || axis.scale.isBlank()) {
526
- return;
527
- }
528
-
529
- var tickModel = axisModel.getModel('axisTick');
530
- var lineStyleModel = tickModel.getModel('lineStyle');
531
- var tickLen = tickModel.get('length');
532
- var ticksCoords = axis.getTicksCoords();
523
+ function createTicks(ticksCoords, tickTransform, tickEndCoord, tickLineStyle, aniid) {
524
+ var tickEls = [];
533
525
  var pt1 = [];
534
526
  var pt2 = [];
535
- var matrix = axisBuilder._transform;
536
- var tickEls = [];
537
527
 
538
528
  for (var i = 0; i < ticksCoords.length; i++) {
539
529
  var tickCoord = ticksCoords[i].coord;
540
530
  pt1[0] = tickCoord;
541
531
  pt1[1] = 0;
542
532
  pt2[0] = tickCoord;
543
- pt2[1] = opt.tickDirection * tickLen;
533
+ pt2[1] = tickEndCoord;
544
534
 
545
- if (matrix) {
546
- v2ApplyTransform(pt1, pt1, matrix);
547
- v2ApplyTransform(pt2, pt2, matrix);
535
+ if (tickTransform) {
536
+ v2ApplyTransform(pt1, pt1, tickTransform);
537
+ v2ApplyTransform(pt2, pt2, tickTransform);
548
538
  } // Tick line, Not use group transform to have better line draw
549
539
 
550
540
 
551
541
  var tickEl = new graphic.Line({
552
542
  // Id for animation
553
- anid: 'tick_' + ticksCoords[i].tickValue,
543
+ anid: aniid + '_' + ticksCoords[i].tickValue,
554
544
  subPixelOptimize: true,
555
545
  shape: {
556
546
  x1: pt1[0],
@@ -558,19 +548,67 @@ function buildAxisTick(axisBuilder, axisModel, opt) {
558
548
  x2: pt2[0],
559
549
  y2: pt2[1]
560
550
  },
561
- style: defaults(lineStyleModel.getLineStyle(), {
562
- stroke: axisModel.get('axisLine.lineStyle.color')
563
- }),
551
+ style: tickLineStyle,
564
552
  z2: 2,
565
553
  silent: true
566
554
  });
567
- axisBuilder.group.add(tickEl);
568
555
  tickEls.push(tickEl);
569
556
  }
570
557
 
571
558
  return tickEls;
572
559
  }
573
560
 
561
+ function buildAxisMajorTicks(axisBuilder, axisModel, opt) {
562
+ var axis = axisModel.axis;
563
+ var tickModel = axisModel.getModel('axisTick');
564
+
565
+ if (!tickModel.get('show') || axis.scale.isBlank()) {
566
+ return;
567
+ }
568
+
569
+ var lineStyleModel = tickModel.getModel('lineStyle');
570
+ var tickEndCoord = opt.tickDirection * tickModel.get('length');
571
+ var ticksCoords = axis.getTicksCoords();
572
+ var ticksEls = createTicks(ticksCoords, axisBuilder._transform, tickEndCoord, defaults(lineStyleModel.getLineStyle(), {
573
+ stroke: axisModel.get('axisLine.lineStyle.color')
574
+ }), 'ticks');
575
+
576
+ for (var i = 0; i < ticksEls.length; i++) {
577
+ axisBuilder.group.add(ticksEls[i]);
578
+ }
579
+
580
+ return ticksEls;
581
+ }
582
+
583
+ function buildAxisMinorTicks(axisBuilder, axisModel, opt) {
584
+ var axis = axisModel.axis;
585
+ var minorTickModel = axisModel.getModel('minorTick');
586
+
587
+ if (!minorTickModel.get('show') || axis.scale.isBlank()) {
588
+ return;
589
+ }
590
+
591
+ var minorTicksCoords = axis.getMinorTicksCoords();
592
+
593
+ if (!minorTicksCoords.length) {
594
+ return;
595
+ }
596
+
597
+ var lineStyleModel = minorTickModel.getModel('lineStyle');
598
+ var tickEndCoord = opt.tickDirection * minorTickModel.get('length');
599
+ var minorTickLineStyle = defaults(lineStyleModel.getLineStyle(), defaults(axisModel.getModel('axisTick').getLineStyle(), {
600
+ stroke: axisModel.get('axisLine.lineStyle.color')
601
+ }));
602
+
603
+ for (var i = 0; i < minorTicksCoords.length; i++) {
604
+ var minorTicksEls = createTicks(minorTicksCoords[i], axisBuilder._transform, tickEndCoord, minorTickLineStyle, 'minorticks_' + i);
605
+
606
+ for (var k = 0; k < minorTicksEls.length; k++) {
607
+ axisBuilder.group.add(minorTicksEls[k]);
608
+ }
609
+ }
610
+ }
611
+
574
612
  function buildAxisLabel(axisBuilder, axisModel, opt) {
575
613
  var axis = axisModel.axis;
576
614
  var show = retrieve(opt.axisLabelShow, axisModel.get('axisLabel.show'));
@@ -28,6 +28,11 @@ var AxisView = require("./AxisView");
28
28
 
29
29
  var cartesianAxisHelper = require("../../coord/cartesian/cartesianAxisHelper");
30
30
 
31
+ var _axisSplitHelper = require("./axisSplitHelper");
32
+
33
+ var rectCoordAxisBuildSplitArea = _axisSplitHelper.rectCoordAxisBuildSplitArea;
34
+ var rectCoordAxisHandleRemove = _axisSplitHelper.rectCoordAxisHandleRemove;
35
+
31
36
  /*
32
37
  * Licensed to the Apache Software Foundation (ASF) under one
33
38
  * or more contributor license agreements. See the NOTICE file
@@ -47,14 +52,7 @@ var cartesianAxisHelper = require("../../coord/cartesian/cartesianAxisHelper");
47
52
  * under the License.
48
53
  */
49
54
  var axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];
50
- var selfBuilderAttrs = ['splitArea', 'splitLine']; // function getAlignWithLabel(model, axisModel) {
51
- // var alignWithLabel = model.get('alignWithLabel');
52
- // if (alignWithLabel === 'auto') {
53
- // alignWithLabel = axisModel.get('axisTick.alignWithLabel');
54
- // }
55
- // return alignWithLabel;
56
- // }
57
-
55
+ var selfBuilderAttrs = ['splitArea', 'splitLine', 'minorSplitLine'];
58
56
  var CartesianAxisView = AxisView.extend({
59
57
  type: 'cartesianAxis',
60
58
  axisPointerClass: 'CartesianAxisPointer',
@@ -88,7 +86,7 @@ var CartesianAxisView = AxisView.extend({
88
86
  CartesianAxisView.superCall(this, 'render', axisModel, ecModel, api, payload);
89
87
  },
90
88
  remove: function () {
91
- this._splitAreaColors = null;
89
+ rectCoordAxisHandleRemove(this);
92
90
  },
93
91
 
94
92
  /**
@@ -114,9 +112,7 @@ var CartesianAxisView = AxisView.extend({
114
112
  tickModel: splitLineModel
115
113
  });
116
114
  var p1 = [];
117
- var p2 = []; // Simple optimization
118
- // Batching the lines if color are the same
119
-
115
+ var p2 = [];
120
116
  var lineStyle = lineStyleModel.getLineStyle();
121
117
 
122
118
  for (var i = 0; i < ticksCoords.length; i++) {
@@ -159,90 +155,61 @@ var CartesianAxisView = AxisView.extend({
159
155
  * @param {module:echarts/coord/cartesian/GridModel} gridModel
160
156
  * @private
161
157
  */
162
- _splitArea: function (axisModel, gridModel) {
158
+ _minorSplitLine: function (axisModel, gridModel) {
163
159
  var axis = axisModel.axis;
164
-
165
- if (axis.scale.isBlank()) {
166
- return;
167
- }
168
-
169
- var splitAreaModel = axisModel.getModel('splitArea');
170
- var areaStyleModel = splitAreaModel.getModel('areaStyle');
171
- var areaColors = areaStyleModel.get('color');
160
+ var minorSplitLineModel = axisModel.getModel('minorSplitLine');
161
+ var lineStyleModel = minorSplitLineModel.getModel('lineStyle');
172
162
  var gridRect = gridModel.coordinateSystem.getRect();
173
- var ticksCoords = axis.getTicksCoords({
174
- tickModel: splitAreaModel,
175
- clamp: true
176
- });
163
+ var isHorizontal = axis.isHorizontal();
164
+ var minorTicksCoords = axis.getMinorTicksCoords();
177
165
 
178
- if (!ticksCoords.length) {
166
+ if (!minorTicksCoords.length) {
179
167
  return;
180
- } // For Making appropriate splitArea animation, the color and anid
181
- // should be corresponding to previous one if possible.
182
-
183
-
184
- var areaColorsLen = areaColors.length;
185
- var lastSplitAreaColors = this._splitAreaColors;
186
- var newSplitAreaColors = zrUtil.createHashMap();
187
- var colorIndex = 0;
168
+ }
188
169
 
189
- if (lastSplitAreaColors) {
190
- for (var i = 0; i < ticksCoords.length; i++) {
191
- var cIndex = lastSplitAreaColors.get(ticksCoords[i].tickValue);
170
+ var p1 = [];
171
+ var p2 = [];
172
+ var lineStyle = lineStyleModel.getLineStyle();
192
173
 
193
- if (cIndex != null) {
194
- colorIndex = (cIndex + (areaColorsLen - 1) * i) % areaColorsLen;
195
- break;
174
+ for (var i = 0; i < minorTicksCoords.length; i++) {
175
+ for (var k = 0; k < minorTicksCoords[i].length; k++) {
176
+ var tickCoord = axis.toGlobalCoord(minorTicksCoords[i][k].coord);
177
+
178
+ if (isHorizontal) {
179
+ p1[0] = tickCoord;
180
+ p1[1] = gridRect.y;
181
+ p2[0] = tickCoord;
182
+ p2[1] = gridRect.y + gridRect.height;
183
+ } else {
184
+ p1[0] = gridRect.x;
185
+ p1[1] = tickCoord;
186
+ p2[0] = gridRect.x + gridRect.width;
187
+ p2[1] = tickCoord;
196
188
  }
197
- }
198
- }
199
-
200
- var prev = axis.toGlobalCoord(ticksCoords[0].coord);
201
- var areaStyle = areaStyleModel.getAreaStyle();
202
- areaColors = zrUtil.isArray(areaColors) ? areaColors : [areaColors];
203
189
 
204
- for (var i = 1; i < ticksCoords.length; i++) {
205
- var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);
206
- var x;
207
- var y;
208
- var width;
209
- var height;
210
-
211
- if (axis.isHorizontal()) {
212
- x = prev;
213
- y = gridRect.y;
214
- width = tickCoord - x;
215
- height = gridRect.height;
216
- prev = x + width;
217
- } else {
218
- x = gridRect.x;
219
- y = prev;
220
- width = gridRect.width;
221
- height = tickCoord - y;
222
- prev = y + height;
190
+ this._axisGroup.add(new graphic.Line({
191
+ anid: 'minor_line_' + minorTicksCoords[i][k].tickValue,
192
+ subPixelOptimize: true,
193
+ shape: {
194
+ x1: p1[0],
195
+ y1: p1[1],
196
+ x2: p2[0],
197
+ y2: p2[1]
198
+ },
199
+ style: lineStyle,
200
+ silent: true
201
+ }));
223
202
  }
224
-
225
- var tickValue = ticksCoords[i - 1].tickValue;
226
- tickValue != null && newSplitAreaColors.set(tickValue, colorIndex);
227
-
228
- this._axisGroup.add(new graphic.Rect({
229
- anid: tickValue != null ? 'area_' + tickValue : null,
230
- shape: {
231
- x: x,
232
- y: y,
233
- width: width,
234
- height: height
235
- },
236
- style: zrUtil.defaults({
237
- fill: areaColors[colorIndex]
238
- }, areaStyle),
239
- silent: true
240
- }));
241
-
242
- colorIndex = (colorIndex + 1) % areaColorsLen;
243
203
  }
204
+ },
244
205
 
245
- this._splitAreaColors = newSplitAreaColors;
206
+ /**
207
+ * @param {module:echarts/coord/cartesian/AxisModel} axisModel
208
+ * @param {module:echarts/coord/cartesian/GridModel} gridModel
209
+ * @private
210
+ */
211
+ _splitArea: function (axisModel, gridModel) {
212
+ rectCoordAxisBuildSplitArea(this, this._axisGroup, axisModel, gridModel);
246
213
  }
247
214
  });
248
215
  CartesianAxisView.extend({
@@ -45,7 +45,7 @@ var AxisView = require("./AxisView");
45
45
  * under the License.
46
46
  */
47
47
  var axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];
48
- var selfBuilderAttrs = ['splitLine', 'splitArea'];
48
+ var selfBuilderAttrs = ['splitLine', 'splitArea', 'minorSplitLine'];
49
49
 
50
50
  var _default = AxisView.extend({
51
51
  type: 'radiusAxis',
@@ -61,6 +61,7 @@ var _default = AxisView.extend({
61
61
  var polar = radiusAxis.polar;
62
62
  var angleAxis = polar.getAngleAxis();
63
63
  var ticksCoords = radiusAxis.getTicksCoords();
64
+ var minorTicksCoords = radiusAxis.getMinorTicksCoords();
64
65
  var axisAngle = angleAxis.getExtent()[0];
65
66
  var radiusExtent = radiusAxis.getExtent();
66
67
  var layout = layoutAxis(polar, radiusAxisModel, axisAngle);
@@ -69,7 +70,7 @@ var _default = AxisView.extend({
69
70
  this.group.add(axisBuilder.getGroup());
70
71
  zrUtil.each(selfBuilderAttrs, function (name) {
71
72
  if (radiusAxisModel.get(name + '.show') && !radiusAxis.scale.isBlank()) {
72
- this['_' + name](radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords);
73
+ this['_' + name](radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords, minorTicksCoords);
73
74
  }
74
75
  }, this);
75
76
  },
@@ -93,8 +94,7 @@ var _default = AxisView.extend({
93
94
  cx: polar.cx,
94
95
  cy: polar.cy,
95
96
  r: ticksCoords[i].coord
96
- },
97
- silent: true
97
+ }
98
98
  }));
99
99
  } // Simple optimization
100
100
  // Batching the lines if color are the same
@@ -111,6 +111,38 @@ var _default = AxisView.extend({
111
111
  }
112
112
  },
113
113
 
114
+ /**
115
+ * @private
116
+ */
117
+ _minorSplitLine: function (radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords, minorTicksCoords) {
118
+ if (!minorTicksCoords.length) {
119
+ return;
120
+ }
121
+
122
+ var minorSplitLineModel = radiusAxisModel.getModel('minorSplitLine');
123
+ var lineStyleModel = minorSplitLineModel.getModel('lineStyle');
124
+ var lines = [];
125
+
126
+ for (var i = 0; i < minorTicksCoords.length; i++) {
127
+ for (var k = 0; k < minorTicksCoords[i].length; k++) {
128
+ lines.push(new graphic.Circle({
129
+ shape: {
130
+ cx: polar.cx,
131
+ cy: polar.cy,
132
+ r: minorTicksCoords[i][k].coord
133
+ }
134
+ }));
135
+ }
136
+ }
137
+
138
+ this.group.add(graphic.mergePath(lines, {
139
+ style: zrUtil.defaults({
140
+ fill: null
141
+ }, lineStyleModel.getLineStyle()),
142
+ silent: true
143
+ }));
144
+ },
145
+
114
146
  /**
115
147
  * @private
116
148
  */
@@ -28,6 +28,11 @@ var singleAxisHelper = require("../../coord/single/singleAxisHelper");
28
28
 
29
29
  var AxisView = require("./AxisView");
30
30
 
31
+ var _axisSplitHelper = require("./axisSplitHelper");
32
+
33
+ var rectCoordAxisBuildSplitArea = _axisSplitHelper.rectCoordAxisBuildSplitArea;
34
+ var rectCoordAxisHandleRemove = _axisSplitHelper.rectCoordAxisHandleRemove;
35
+
31
36
  /*
32
37
  * Licensed to the Apache Software Foundation (ASF) under one
33
38
  * or more contributor license agreements. See the NOTICE file
@@ -47,24 +52,31 @@ var AxisView = require("./AxisView");
47
52
  * under the License.
48
53
  */
49
54
  var axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];
50
- var selfBuilderAttr = 'splitLine';
55
+ var selfBuilderAttrs = ['splitArea', 'splitLine'];
51
56
  var SingleAxisView = AxisView.extend({
52
57
  type: 'singleAxis',
53
58
  axisPointerClass: 'SingleAxisPointer',
54
59
  render: function (axisModel, ecModel, api, payload) {
55
60
  var group = this.group;
56
61
  group.removeAll();
62
+ var oldAxisGroup = this._axisGroup;
63
+ this._axisGroup = new graphic.Group();
57
64
  var layout = singleAxisHelper.layout(axisModel);
58
65
  var axisBuilder = new AxisBuilder(axisModel, layout);
59
66
  zrUtil.each(axisBuilderAttrs, axisBuilder.add, axisBuilder);
67
+ group.add(this._axisGroup);
60
68
  group.add(axisBuilder.getGroup());
61
-
62
- if (axisModel.get(selfBuilderAttr + '.show')) {
63
- this['_' + selfBuilderAttr](axisModel);
64
- }
65
-
69
+ zrUtil.each(selfBuilderAttrs, function (name) {
70
+ if (axisModel.get(name + '.show')) {
71
+ this['_' + name](axisModel);
72
+ }
73
+ }, this);
74
+ graphic.groupTransition(oldAxisGroup, this._axisGroup, axisModel);
66
75
  SingleAxisView.superCall(this, 'render', axisModel, ecModel, api, payload);
67
76
  },
77
+ remove: function () {
78
+ rectCoordAxisHandleRemove(this);
79
+ },
68
80
  _splitLine: function (axisModel) {
69
81
  var axis = axisModel.axis;
70
82
 
@@ -129,6 +141,9 @@ var SingleAxisView = AxisView.extend({
129
141
  silent: true
130
142
  }));
131
143
  }
144
+ },
145
+ _splitArea: function (axisModel) {
146
+ rectCoordAxisBuildSplitArea(this, this._axisGroup, axisModel, axisModel);
132
147
  }
133
148
  });
134
149
  var _default = SingleAxisView;
@@ -0,0 +1,132 @@
1
+
2
+ /*
3
+ * Licensed to the Apache Software Foundation (ASF) under one
4
+ * or more contributor license agreements. See the NOTICE file
5
+ * distributed with this work for additional information
6
+ * regarding copyright ownership. The ASF licenses this file
7
+ * to you under the Apache License, Version 2.0 (the
8
+ * "License"); you may not use this file except in compliance
9
+ * with the License. You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing,
14
+ * software distributed under the License is distributed on an
15
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ * KIND, either express or implied. See the License for the
17
+ * specific language governing permissions and limitations
18
+ * under the License.
19
+ */
20
+
21
+ var zrUtil = require("zrender/lib/core/util");
22
+
23
+ var graphic = require("../../util/graphic");
24
+
25
+ /*
26
+ * Licensed to the Apache Software Foundation (ASF) under one
27
+ * or more contributor license agreements. See the NOTICE file
28
+ * distributed with this work for additional information
29
+ * regarding copyright ownership. The ASF licenses this file
30
+ * to you under the Apache License, Version 2.0 (the
31
+ * "License"); you may not use this file except in compliance
32
+ * with the License. You may obtain a copy of the License at
33
+ *
34
+ * http://www.apache.org/licenses/LICENSE-2.0
35
+ *
36
+ * Unless required by applicable law or agreed to in writing,
37
+ * software distributed under the License is distributed on an
38
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
39
+ * KIND, either express or implied. See the License for the
40
+ * specific language governing permissions and limitations
41
+ * under the License.
42
+ */
43
+ function rectCoordAxisBuildSplitArea(axisView, axisGroup, axisModel, gridModel) {
44
+ var axis = axisModel.axis;
45
+
46
+ if (axis.scale.isBlank()) {
47
+ return;
48
+ }
49
+
50
+ var splitAreaModel = axisModel.getModel('splitArea');
51
+ var areaStyleModel = splitAreaModel.getModel('areaStyle');
52
+ var areaColors = areaStyleModel.get('color');
53
+ var gridRect = gridModel.coordinateSystem.getRect();
54
+ var ticksCoords = axis.getTicksCoords({
55
+ tickModel: splitAreaModel,
56
+ clamp: true
57
+ });
58
+
59
+ if (!ticksCoords.length) {
60
+ return;
61
+ } // For Making appropriate splitArea animation, the color and anid
62
+ // should be corresponding to previous one if possible.
63
+
64
+
65
+ var areaColorsLen = areaColors.length;
66
+ var lastSplitAreaColors = axisView.__splitAreaColors;
67
+ var newSplitAreaColors = zrUtil.createHashMap();
68
+ var colorIndex = 0;
69
+
70
+ if (lastSplitAreaColors) {
71
+ for (var i = 0; i < ticksCoords.length; i++) {
72
+ var cIndex = lastSplitAreaColors.get(ticksCoords[i].tickValue);
73
+
74
+ if (cIndex != null) {
75
+ colorIndex = (cIndex + (areaColorsLen - 1) * i) % areaColorsLen;
76
+ break;
77
+ }
78
+ }
79
+ }
80
+
81
+ var prev = axis.toGlobalCoord(ticksCoords[0].coord);
82
+ var areaStyle = areaStyleModel.getAreaStyle();
83
+ areaColors = zrUtil.isArray(areaColors) ? areaColors : [areaColors];
84
+
85
+ for (var i = 1; i < ticksCoords.length; i++) {
86
+ var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);
87
+ var x;
88
+ var y;
89
+ var width;
90
+ var height;
91
+
92
+ if (axis.isHorizontal()) {
93
+ x = prev;
94
+ y = gridRect.y;
95
+ width = tickCoord - x;
96
+ height = gridRect.height;
97
+ prev = x + width;
98
+ } else {
99
+ x = gridRect.x;
100
+ y = prev;
101
+ width = gridRect.width;
102
+ height = tickCoord - y;
103
+ prev = y + height;
104
+ }
105
+
106
+ var tickValue = ticksCoords[i - 1].tickValue;
107
+ tickValue != null && newSplitAreaColors.set(tickValue, colorIndex);
108
+ axisGroup.add(new graphic.Rect({
109
+ anid: tickValue != null ? 'area_' + tickValue : null,
110
+ shape: {
111
+ x: x,
112
+ y: y,
113
+ width: width,
114
+ height: height
115
+ },
116
+ style: zrUtil.defaults({
117
+ fill: areaColors[colorIndex]
118
+ }, areaStyle),
119
+ silent: true
120
+ }));
121
+ colorIndex = (colorIndex + 1) % areaColorsLen;
122
+ }
123
+
124
+ axisView.__splitAreaColors = newSplitAreaColors;
125
+ }
126
+
127
+ function rectCoordAxisHandleRemove(axisView) {
128
+ axisView.__splitAreaColors = null;
129
+ }
130
+
131
+ exports.rectCoordAxisBuildSplitArea = rectCoordAxisBuildSplitArea;
132
+ exports.rectCoordAxisHandleRemove = rectCoordAxisHandleRemove;
@@ -179,7 +179,7 @@ function processOnAxis(axisInfo, newValue, updaters, dontSnap, outputFinder) {
179
179
  var payloadInfo = buildPayloadsBySeries(newValue, axisInfo);
180
180
  var payloadBatch = payloadInfo.payloadBatch;
181
181
  var snapToValue = payloadInfo.snapToValue; // Fill content of event obj for echarts.connect.
182
- // By defualt use the first involved series data as a sample to connect.
182
+ // By default use the first involved series data as a sample to connect.
183
183
 
184
184
  if (payloadBatch[0] && outputFinder.seriesIndex == null) {
185
185
  zrUtil.extend(outputFinder, payloadBatch[0]);
@@ -24,6 +24,10 @@ var zrUtil = require("zrender/lib/core/util");
24
24
 
25
25
  var BrushController = require("../helper/BrushController");
26
26
 
27
+ var _visualEncoding = require("./visualEncoding");
28
+
29
+ var layoutCovers = _visualEncoding.layoutCovers;
30
+
27
31
  /*
28
32
  * Licensed to the Apache Software Foundation (ASF) under one
29
33
  * or more contributor license agreements. See the NOTICE file
@@ -81,7 +85,13 @@ var _default = echarts.extendComponentView({
81
85
  /**
82
86
  * @override
83
87
  */
84
- updateTransform: updateController,
88
+ updateTransform: function (brushModel, ecModel) {
89
+ // PENDING: `updateTransform` is a little tricky, whose layout need
90
+ // to be calculate mandatorily and other stages will not be performed.
91
+ // Take care the correctness of the logic. See #11754 .
92
+ layoutCovers(ecModel);
93
+ return updateController.apply(this, arguments);
94
+ },
85
95
 
86
96
  /**
87
97
  * @override
@@ -65,14 +65,23 @@ echarts.registerLayout(PRIORITY_BRUSH, function (ecModel, api, payload) {
65
65
  payload && payload.type === 'takeGlobalCursor' && brushModel.setBrushOption(payload.key === 'brush' ? payload.brushOption : {
66
66
  brushType: false
67
67
  });
68
+ });
69
+ layoutCovers(ecModel);
70
+ });
71
+
72
+ function layoutCovers(ecModel) {
73
+ ecModel.eachComponent({
74
+ mainType: 'brush'
75
+ }, function (brushModel) {
68
76
  var brushTargetManager = brushModel.brushTargetManager = new BrushTargetManager(brushModel.option, ecModel);
69
77
  brushTargetManager.setInputRanges(brushModel.areas, ecModel);
70
78
  });
71
- });
79
+ }
72
80
  /**
73
81
  * Register the visual encoding if this modules required.
74
82
  */
75
83
 
84
+
76
85
  echarts.registerVisual(PRIORITY_BRUSH, function (ecModel, api, payload) {
77
86
  var brushSelected = [];
78
87
  var throttleType;
@@ -314,4 +323,6 @@ var boundingRectBuilders = {
314
323
 
315
324
  function getBoundingRectFromMinMax(minMax) {
316
325
  return new BoundingRect(minMax[0][0], minMax[1][0], minMax[0][1] - minMax[0][0], minMax[1][1] - minMax[1][0]);
317
- }
326
+ }
327
+
328
+ exports.layoutCovers = layoutCovers;
@@ -435,10 +435,6 @@ var SliderZoomView = DataZoomView.extend({
435
435
  draggable: true,
436
436
  cursor: getCursor(this._orient),
437
437
  drift: bind(this._onDragMove, this, 'all'),
438
- onmousemove: function (e) {
439
- // Fot mobile devicem, prevent screen slider on the button.
440
- eventTool.stop(e.event);
441
- },
442
438
  ondragstart: bind(this._showDataInfo, this, true),
443
439
  ondragend: bind(this._onDragEnd, this),
444
440
  onmouseover: bind(this._showDataInfo, this, true),
@@ -469,10 +465,6 @@ var SliderZoomView = DataZoomView.extend({
469
465
  cursor: getCursor(this._orient),
470
466
  draggable: true,
471
467
  drift: bind(this._onDragMove, this, handleIndex),
472
- onmousemove: function (e) {
473
- // Fot mobile devicem, prevent screen slider on the button.
474
- eventTool.stop(e.event);
475
- },
476
468
  ondragend: bind(this._onDragEnd, this),
477
469
  onmouseover: bind(this._showDataInfo, this, true),
478
470
  onmouseout: bind(this._showDataInfo, this, false)
@@ -647,8 +639,10 @@ var SliderZoomView = DataZoomView.extend({
647
639
  handleLabels[0].attr('invisible', !showOrHide);
648
640
  handleLabels[1].attr('invisible', !showOrHide);
649
641
  },
650
- _onDragMove: function (handleIndex, dx, dy) {
651
- this._dragging = true; // Transform dx, dy to bar coordination.
642
+ _onDragMove: function (handleIndex, dx, dy, event) {
643
+ this._dragging = true; // For mobile device, prevent screen slider on the button.
644
+
645
+ eventTool.stop(event.event); // Transform dx, dy to bar coordination.
652
646
 
653
647
  var barTransform = this._displayables.barGroup.getLocalTransform();
654
648