echarts 4.0.1 → 4.1.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 (918) hide show
  1. package/.jshintrc-dist +70 -0
  2. package/KEYS +74 -0
  3. package/LICENSE +223 -29
  4. package/NOTICE +5 -0
  5. package/README.md +22 -8
  6. package/build/addHeader.js +113 -0
  7. package/build/amd2common.js +19 -0
  8. package/build/build.js +19 -0
  9. package/build/config.js +25 -1
  10. package/build/mangleString.js +19 -0
  11. package/build/optimize.js +19 -0
  12. package/build/pre-publish.js +26 -3
  13. package/build/preamble.js +20 -0
  14. package/build/rollup-plugin-ec-lang.js +20 -0
  15. package/build/rollup-plugin-ec-remove-dev.js +19 -0
  16. package/dist/echarts-en.common.js +7106 -1621
  17. package/dist/echarts-en.common.min.js +21 -1
  18. package/dist/echarts-en.js +13949 -4217
  19. package/dist/echarts-en.js.map +1 -1
  20. package/dist/echarts-en.min.js +21 -1
  21. package/dist/echarts-en.simple.js +5206 -1375
  22. package/dist/echarts-en.simple.min.js +21 -1
  23. package/dist/echarts.common.js +7106 -1621
  24. package/dist/echarts.common.min.js +21 -1
  25. package/dist/echarts.js +13949 -4217
  26. package/dist/echarts.js.map +1 -1
  27. package/dist/echarts.min.js +21 -1
  28. package/dist/echarts.simple.js +5206 -1375
  29. package/dist/echarts.simple.min.js +21 -1
  30. package/dist/extension/bmap.js +76 -0
  31. package/dist/extension/bmap.js.map +1 -1
  32. package/dist/extension/bmap.min.js +20 -0
  33. package/dist/extension/dataTool.js +95 -0
  34. package/dist/extension/dataTool.js.map +1 -1
  35. package/dist/extension/dataTool.min.js +20 -0
  36. package/echarts.all.js +19 -0
  37. package/echarts.blank.js +19 -0
  38. package/echarts.common.js +19 -0
  39. package/echarts.simple.js +19 -0
  40. package/extension/bmap/BMapCoordSys.js +19 -0
  41. package/extension/bmap/BMapModel.js +18 -0
  42. package/extension/bmap/BMapView.js +18 -0
  43. package/extension/bmap/bmap.js +19 -0
  44. package/extension/dataTool/gexf.js +18 -0
  45. package/extension/dataTool/index.js +19 -0
  46. package/extension/dataTool/prepareBoxplotData.js +19 -0
  47. package/extension/dataTool/quantile.js +19 -0
  48. package/extension/echarts.js +19 -0
  49. package/extension/webpack.config.js +19 -0
  50. package/extension-src/bmap/BMapCoordSys.js +19 -0
  51. package/extension-src/bmap/BMapModel.js +19 -0
  52. package/extension-src/bmap/BMapView.js +19 -0
  53. package/extension-src/bmap/bmap.js +19 -0
  54. package/extension-src/dataTool/gexf.js +19 -0
  55. package/extension-src/dataTool/index.js +19 -0
  56. package/extension-src/dataTool/prepareBoxplotData.js +19 -0
  57. package/extension-src/dataTool/quantile.js +19 -0
  58. package/index.common.js +19 -0
  59. package/index.js +19 -0
  60. package/index.simple.js +19 -0
  61. package/lib/CoordinateSystem.js +18 -0
  62. package/lib/ExtensionAPI.js +18 -0
  63. package/lib/action/createDataSelectAction.js +18 -0
  64. package/lib/action/geoRoam.js +19 -0
  65. package/lib/action/roamHelper.js +19 -0
  66. package/lib/chart/bar/BarSeries.js +42 -1
  67. package/lib/chart/bar/BarView.js +120 -15
  68. package/lib/chart/bar/BaseBarSeries.js +22 -0
  69. package/lib/chart/bar/PictorialBarSeries.js +18 -0
  70. package/lib/chart/bar/PictorialBarView.js +19 -0
  71. package/lib/chart/bar/barItemStyle.js +18 -0
  72. package/lib/chart/bar/helper.js +18 -0
  73. package/lib/chart/bar.js +28 -7
  74. package/lib/chart/boxplot/BoxplotSeries.js +35 -1
  75. package/lib/chart/boxplot/BoxplotView.js +128 -21
  76. package/lib/chart/boxplot/boxplotLayout.js +70 -63
  77. package/lib/chart/boxplot/boxplotVisual.js +18 -0
  78. package/lib/chart/boxplot.js +18 -0
  79. package/lib/chart/candlestick/CandlestickSeries.js +38 -4
  80. package/lib/chart/candlestick/CandlestickView.js +236 -22
  81. package/lib/chart/candlestick/candlestickLayout.js +143 -83
  82. package/lib/chart/candlestick/candlestickVisual.js +59 -14
  83. package/lib/chart/candlestick/preprocessor.js +18 -0
  84. package/lib/chart/candlestick.js +18 -0
  85. package/lib/chart/chord/ChordSeries.js +18 -0
  86. package/lib/chart/chord/ChordView.js +18 -0
  87. package/lib/chart/chord/Ribbon.js +18 -0
  88. package/lib/chart/chord/chordCircularLayout.js +19 -0
  89. package/lib/chart/chord.js +18 -0
  90. package/lib/chart/custom.js +20 -2
  91. package/lib/chart/effectScatter/EffectScatterSeries.js +18 -0
  92. package/lib/chart/effectScatter/EffectScatterView.js +18 -0
  93. package/lib/chart/effectScatter.js +18 -0
  94. package/lib/chart/funnel/FunnelSeries.js +19 -0
  95. package/lib/chart/funnel/FunnelView.js +19 -0
  96. package/lib/chart/funnel/funnelLayout.js +18 -0
  97. package/lib/chart/funnel.js +18 -0
  98. package/lib/chart/gauge/GaugeSeries.js +18 -0
  99. package/lib/chart/gauge/GaugeView.js +18 -0
  100. package/lib/chart/gauge/PointerPath.js +18 -0
  101. package/lib/chart/graph/GraphSeries.js +25 -1
  102. package/lib/chart/graph/GraphView.js +18 -0
  103. package/lib/chart/graph/adjustEdge.js +18 -0
  104. package/lib/chart/graph/backwardCompat.js +18 -0
  105. package/lib/chart/graph/categoryFilter.js +18 -0
  106. package/lib/chart/graph/categoryVisual.js +18 -0
  107. package/lib/chart/graph/circularLayout.js +18 -0
  108. package/lib/chart/graph/circularLayoutHelper.js +18 -0
  109. package/lib/chart/graph/createView.js +18 -0
  110. package/lib/chart/graph/edgeVisual.js +18 -0
  111. package/lib/chart/graph/forceHelper.js +18 -0
  112. package/lib/chart/graph/forceLayout.js +18 -0
  113. package/lib/chart/graph/graphAction.js +19 -0
  114. package/lib/chart/graph/simpleLayout.js +18 -0
  115. package/lib/chart/graph/simpleLayoutHelper.js +18 -0
  116. package/lib/chart/graph.js +18 -0
  117. package/lib/chart/heatmap/HeatmapLayer.js +19 -0
  118. package/lib/chart/heatmap/HeatmapSeries.js +21 -1
  119. package/lib/chart/heatmap/HeatmapView.js +18 -0
  120. package/lib/chart/helper/EffectLine.js +19 -0
  121. package/lib/chart/helper/EffectPolyline.js +19 -0
  122. package/lib/chart/helper/EffectSymbol.js +19 -0
  123. package/lib/chart/helper/LargeLineDraw.js +18 -0
  124. package/lib/chart/helper/LargeSymbolDraw.js +18 -0
  125. package/lib/chart/helper/Line.js +31 -13
  126. package/lib/chart/helper/LineDraw.js +26 -1
  127. package/lib/chart/helper/LinePath.js +19 -0
  128. package/lib/chart/helper/Polyline.js +19 -0
  129. package/lib/chart/helper/Symbol.js +63 -12
  130. package/lib/chart/helper/SymbolDraw.js +65 -18
  131. package/lib/chart/helper/createGraphFromNodeEdge.js +27 -3
  132. package/lib/chart/helper/createGraphFromNodeMatrix.js +19 -0
  133. package/lib/chart/helper/createListFromArray.js +33 -8
  134. package/lib/chart/helper/createListSimply.js +19 -0
  135. package/lib/chart/helper/createRenderPlanner.js +22 -3
  136. package/lib/chart/helper/labelHelper.js +19 -0
  137. package/lib/chart/helper/treeHelper.js +18 -0
  138. package/lib/chart/helper/whiskerBoxCommon.js +20 -21
  139. package/lib/chart/line/LineSeries.js +32 -11
  140. package/lib/chart/line/LineView.js +165 -102
  141. package/lib/chart/line/helper.js +117 -0
  142. package/lib/chart/line/lineAnimationDiff.js +31 -32
  143. package/lib/chart/line/poly.js +136 -0
  144. package/lib/chart/line.js +18 -0
  145. package/lib/chart/lines/LinesSeries.js +25 -6
  146. package/lib/chart/lines/LinesView.js +20 -1
  147. package/lib/chart/lines/linesLayout.js +19 -1
  148. package/lib/chart/lines/linesVisual.js +18 -0
  149. package/lib/chart/lines.js +18 -0
  150. package/lib/chart/map/MapSeries.js +45 -8
  151. package/lib/chart/map/MapView.js +18 -0
  152. package/lib/chart/map/backwardCompat.js +18 -0
  153. package/lib/chart/map/mapDataStatistic.js +18 -0
  154. package/lib/chart/map/mapSymbolLayout.js +18 -0
  155. package/lib/chart/map/mapVisual.js +18 -0
  156. package/lib/chart/map.js +18 -0
  157. package/lib/chart/parallel/ParallelSeries.js +20 -7
  158. package/lib/chart/parallel/ParallelView.js +86 -55
  159. package/lib/chart/parallel/parallelVisual.js +38 -15
  160. package/lib/chart/parallel.js +18 -0
  161. package/lib/chart/pictorialBar.js +18 -0
  162. package/lib/chart/pie/PieSeries.js +39 -2
  163. package/lib/chart/pie/PieView.js +19 -0
  164. package/lib/chart/pie/labelLayout.js +18 -0
  165. package/lib/chart/pie/pieLayout.js +19 -1
  166. package/lib/chart/pie.js +18 -0
  167. package/lib/chart/radar/RadarSeries.js +21 -2
  168. package/lib/chart/radar/RadarView.js +18 -0
  169. package/lib/chart/radar/backwardCompat.js +18 -0
  170. package/lib/chart/radar/radarLayout.js +19 -1
  171. package/lib/chart/radar.js +18 -0
  172. package/lib/chart/sankey/SankeySeries.js +26 -0
  173. package/lib/chart/sankey/SankeyView.js +62 -10
  174. package/lib/chart/sankey/sankeyAction.js +34 -0
  175. package/lib/chart/sankey/sankeyLayout.js +68 -19
  176. package/lib/chart/sankey/sankeyVisual.js +49 -19
  177. package/lib/chart/sankey.js +20 -0
  178. package/lib/chart/scatter/ScatterSeries.js +20 -2
  179. package/lib/chart/scatter/ScatterView.js +18 -0
  180. package/lib/chart/scatter.js +18 -0
  181. package/lib/chart/sunburst/SunburstPiece.js +70 -19
  182. package/lib/chart/sunburst/SunburstSeries.js +18 -0
  183. package/lib/chart/sunburst/SunburstView.js +39 -20
  184. package/lib/chart/sunburst/sunburstAction.js +19 -0
  185. package/lib/chart/sunburst/sunburstLayout.js +18 -0
  186. package/lib/chart/sunburst.js +18 -0
  187. package/lib/chart/themeRiver/ThemeRiverSeries.js +19 -1
  188. package/lib/chart/themeRiver/ThemeRiverView.js +19 -0
  189. package/lib/chart/themeRiver/themeRiverLayout.js +19 -0
  190. package/lib/chart/themeRiver/themeRiverVisual.js +19 -0
  191. package/lib/chart/themeRiver.js +18 -0
  192. package/lib/chart/tree/TreeSeries.js +40 -3
  193. package/lib/chart/tree/TreeView.js +32 -6
  194. package/lib/chart/tree/layoutHelper.js +19 -0
  195. package/lib/chart/tree/traversalHelper.js +19 -0
  196. package/lib/chart/tree/treeAction.js +18 -0
  197. package/lib/chart/tree/treeLayout.js +137 -0
  198. package/lib/chart/tree.js +20 -5
  199. package/lib/chart/treemap/Breadcrumb.js +19 -0
  200. package/lib/chart/treemap/TreemapSeries.js +18 -0
  201. package/lib/chart/treemap/TreemapView.js +18 -0
  202. package/lib/chart/treemap/helper.js +18 -0
  203. package/lib/chart/treemap/treemapAction.js +19 -0
  204. package/lib/chart/treemap/treemapLayout.js +18 -0
  205. package/lib/chart/treemap/treemapVisual.js +18 -0
  206. package/lib/chart/treemap.js +18 -0
  207. package/lib/component/axis/AngleAxisView.js +59 -27
  208. package/lib/component/axis/AxisBuilder.js +59 -73
  209. package/lib/component/axis/AxisView.js +19 -0
  210. package/lib/component/axis/CartesianAxisView.js +71 -39
  211. package/lib/component/axis/ParallelAxisView.js +18 -0
  212. package/lib/component/axis/RadiusAxisView.js +26 -4
  213. package/lib/component/axis/SingleAxisView.js +25 -14
  214. package/lib/component/axis/parallelAxisAction.js +19 -0
  215. package/lib/component/axisPointer/AxisPointerModel.js +18 -0
  216. package/lib/component/axisPointer/AxisPointerView.js +18 -0
  217. package/lib/component/axisPointer/BaseAxisPointer.js +19 -0
  218. package/lib/component/axisPointer/CartesianAxisPointer.js +20 -2
  219. package/lib/component/axisPointer/PolarAxisPointer.js +19 -1
  220. package/lib/component/axisPointer/SingleAxisPointer.js +19 -1
  221. package/lib/component/axisPointer/axisTrigger.js +20 -1
  222. package/lib/component/axisPointer/findPointFromSeries.js +19 -0
  223. package/lib/component/axisPointer/globalListener.js +19 -0
  224. package/lib/component/axisPointer/modelHelper.js +20 -1
  225. package/lib/component/axisPointer/viewHelper.js +20 -0
  226. package/lib/component/axisPointer.js +18 -0
  227. package/lib/component/brush/BrushModel.js +25 -1
  228. package/lib/component/brush/BrushView.js +23 -0
  229. package/lib/component/brush/brushAction.js +19 -0
  230. package/lib/component/brush/preprocessor.js +18 -0
  231. package/lib/component/brush/selector.js +18 -0
  232. package/lib/component/brush/visualEncoding.js +18 -0
  233. package/lib/component/brush.js +19 -0
  234. package/lib/component/calendar/CalendarView.js +18 -0
  235. package/lib/component/dataZoom/AxisProxy.js +42 -23
  236. package/lib/component/dataZoom/DataZoomModel.js +18 -0
  237. package/lib/component/dataZoom/DataZoomView.js +18 -0
  238. package/lib/component/dataZoom/InsideZoomModel.js +18 -0
  239. package/lib/component/dataZoom/InsideZoomView.js +36 -13
  240. package/lib/component/dataZoom/SelectZoomModel.js +18 -0
  241. package/lib/component/dataZoom/SelectZoomView.js +18 -0
  242. package/lib/component/dataZoom/SliderZoomModel.js +18 -0
  243. package/lib/component/dataZoom/SliderZoomView.js +29 -6
  244. package/lib/component/dataZoom/dataZoomAction.js +18 -0
  245. package/lib/component/dataZoom/dataZoomProcessor.js +23 -1
  246. package/lib/component/dataZoom/helper.js +18 -0
  247. package/lib/component/dataZoom/history.js +18 -0
  248. package/lib/component/dataZoom/roams.js +19 -18
  249. package/lib/component/dataZoom/typeDefaulter.js +18 -0
  250. package/lib/component/dataset.js +56 -3
  251. package/lib/component/geo/GeoView.js +18 -0
  252. package/lib/component/geo.js +18 -0
  253. package/lib/component/graphic.js +18 -0
  254. package/lib/component/gridSimple.js +18 -0
  255. package/lib/component/helper/BrushController.js +18 -0
  256. package/lib/component/helper/BrushTargetManager.js +18 -0
  257. package/lib/component/helper/MapDraw.js +18 -0
  258. package/lib/component/helper/RoamController.js +19 -0
  259. package/lib/component/helper/brushHelper.js +18 -0
  260. package/lib/component/helper/cursorHelper.js +18 -0
  261. package/lib/component/helper/interactionMutex.js +18 -0
  262. package/lib/component/helper/listComponent.js +19 -0
  263. package/lib/component/helper/roamHelper.js +19 -0
  264. package/lib/component/helper/selectableMixin.js +21 -16
  265. package/lib/component/helper/sliderMove.js +19 -0
  266. package/lib/component/legend/LegendModel.js +25 -6
  267. package/lib/component/legend/LegendView.js +41 -12
  268. package/lib/component/legend/ScrollableLegendModel.js +19 -0
  269. package/lib/component/legend/ScrollableLegendView.js +19 -0
  270. package/lib/component/legend/legendAction.js +18 -0
  271. package/lib/component/legend/legendFilter.js +18 -0
  272. package/lib/component/legend/scrollableLegendAction.js +19 -0
  273. package/lib/component/legend.js +18 -0
  274. package/lib/component/markArea.js +18 -0
  275. package/lib/component/markLine.js +18 -0
  276. package/lib/component/markPoint.js +18 -0
  277. package/lib/component/marker/MarkAreaModel.js +18 -0
  278. package/lib/component/marker/MarkAreaView.js +20 -2
  279. package/lib/component/marker/MarkLineModel.js +18 -0
  280. package/lib/component/marker/MarkLineView.js +20 -2
  281. package/lib/component/marker/MarkPointModel.js +18 -0
  282. package/lib/component/marker/MarkPointView.js +20 -4
  283. package/lib/component/marker/MarkerModel.js +19 -1
  284. package/lib/component/marker/MarkerView.js +18 -0
  285. package/lib/component/marker/markerHelper.js +58 -17
  286. package/lib/component/parallel.js +18 -0
  287. package/lib/component/polar.js +18 -0
  288. package/lib/component/radar/RadarView.js +22 -4
  289. package/lib/component/singleAxis.js +18 -0
  290. package/lib/component/timeline/SliderTimelineModel.js +18 -0
  291. package/lib/component/timeline/SliderTimelineView.js +42 -33
  292. package/lib/component/timeline/TimelineAxis.js +24 -35
  293. package/lib/component/timeline/TimelineModel.js +18 -0
  294. package/lib/component/timeline/TimelineView.js +18 -0
  295. package/lib/component/timeline/preprocessor.js +18 -0
  296. package/lib/component/timeline/timelineAction.js +18 -0
  297. package/lib/component/timeline/typeDefaulter.js +18 -0
  298. package/lib/component/timeline.js +19 -0
  299. package/lib/component/title.js +19 -0
  300. package/lib/component/toolbox/ToolboxModel.js +20 -2
  301. package/lib/component/toolbox/ToolboxView.js +18 -0
  302. package/lib/component/toolbox/feature/Brush.js +18 -0
  303. package/lib/component/toolbox/feature/DataView.js +18 -0
  304. package/lib/component/toolbox/feature/DataZoom.js +22 -1
  305. package/lib/component/toolbox/feature/MagicType.js +18 -0
  306. package/lib/component/toolbox/feature/Restore.js +18 -0
  307. package/lib/component/toolbox/feature/SaveAsImage.js +18 -0
  308. package/lib/component/toolbox/featureManager.js +18 -0
  309. package/lib/component/tooltip/TooltipContent.js +18 -0
  310. package/lib/component/tooltip/TooltipModel.js +18 -0
  311. package/lib/component/tooltip/TooltipView.js +19 -1
  312. package/lib/component/tooltip.js +18 -0
  313. package/lib/component/visualMap/ContinuousModel.js +19 -1
  314. package/lib/component/visualMap/ContinuousView.js +18 -0
  315. package/lib/component/visualMap/PiecewiseModel.js +20 -1
  316. package/lib/component/visualMap/PiecewiseView.js +18 -0
  317. package/lib/component/visualMap/VisualMapModel.js +32 -1
  318. package/lib/component/visualMap/VisualMapView.js +18 -0
  319. package/lib/component/visualMap/helper.js +19 -0
  320. package/lib/component/visualMap/preprocessor.js +18 -0
  321. package/lib/component/visualMap/typeDefaulter.js +18 -0
  322. package/lib/component/visualMap/visualEncoding.js +21 -1
  323. package/lib/component/visualMap/visualMapAction.js +18 -0
  324. package/lib/component/visualMapContinuous.js +19 -0
  325. package/lib/component/visualMapPiecewise.js +19 -0
  326. package/lib/config.js +18 -0
  327. package/lib/coord/Axis.js +166 -87
  328. package/lib/coord/View.js +19 -0
  329. package/lib/coord/axisDefault.js +52 -42
  330. package/lib/coord/axisHelper.js +136 -89
  331. package/lib/coord/axisModelCommonMixin.js +18 -8
  332. package/lib/coord/axisModelCreator.js +26 -3
  333. package/lib/coord/axisTickLabelBuilder.js +350 -0
  334. package/lib/coord/calendar/Calendar.js +20 -2
  335. package/lib/coord/calendar/CalendarModel.js +19 -0
  336. package/lib/coord/calendar/prepareCustom.js +18 -0
  337. package/lib/coord/cartesian/Axis2D.js +24 -16
  338. package/lib/coord/cartesian/AxisModel.js +18 -0
  339. package/lib/coord/cartesian/Cartesian.js +19 -0
  340. package/lib/coord/cartesian/Cartesian2D.js +26 -4
  341. package/lib/coord/cartesian/Grid.js +71 -79
  342. package/lib/coord/cartesian/GridModel.js +18 -0
  343. package/lib/{component/axis → coord/cartesian}/cartesianAxisHelper.js +29 -9
  344. package/lib/coord/cartesian/prepareCustom.js +18 -0
  345. package/lib/coord/geo/Geo.js +18 -0
  346. package/lib/coord/geo/GeoModel.js +18 -0
  347. package/lib/coord/geo/Region.js +19 -0
  348. package/lib/coord/geo/fix/diaoyuIsland.js +18 -0
  349. package/lib/coord/geo/fix/geoCoord.js +18 -0
  350. package/lib/coord/geo/fix/nanhai.js +18 -0
  351. package/lib/coord/geo/fix/textCoord.js +18 -0
  352. package/lib/coord/geo/geoCreator.js +19 -0
  353. package/lib/coord/geo/parseGeoJson.js +19 -0
  354. package/lib/coord/geo/prepareCustom.js +23 -3
  355. package/lib/coord/parallel/AxisModel.js +31 -4
  356. package/lib/coord/parallel/Parallel.js +35 -12
  357. package/lib/coord/parallel/ParallelAxis.js +19 -0
  358. package/lib/coord/parallel/ParallelModel.js +18 -0
  359. package/lib/coord/parallel/parallelCreator.js +19 -0
  360. package/lib/coord/parallel/parallelPreprocessor.js +18 -0
  361. package/lib/coord/polar/AngleAxis.js +18 -0
  362. package/lib/coord/polar/AxisModel.js +18 -0
  363. package/lib/coord/polar/Polar.js +19 -0
  364. package/lib/coord/polar/PolarModel.js +18 -0
  365. package/lib/coord/polar/RadiusAxis.js +18 -0
  366. package/lib/coord/polar/polarCreator.js +24 -3
  367. package/lib/coord/polar/prepareCustom.js +18 -0
  368. package/lib/coord/radar/IndicatorAxis.js +18 -0
  369. package/lib/coord/radar/Radar.js +18 -0
  370. package/lib/coord/radar/RadarModel.js +18 -0
  371. package/lib/coord/single/AxisModel.js +18 -0
  372. package/lib/coord/single/Single.js +19 -0
  373. package/lib/coord/single/SingleAxis.js +19 -5
  374. package/lib/coord/single/prepareCustom.js +18 -0
  375. package/lib/{component/axis → coord/single}/singleAxisHelper.js +20 -2
  376. package/lib/coord/single/singleCreator.js +19 -0
  377. package/lib/data/DataDiffer.js +18 -0
  378. package/lib/data/Graph.js +19 -0
  379. package/lib/data/List.js +413 -201
  380. package/lib/data/OrdinalMeta.js +19 -0
  381. package/lib/data/Source.js +19 -0
  382. package/lib/data/Tree.js +19 -0
  383. package/lib/data/helper/completeDimensions.js +63 -22
  384. package/lib/data/helper/createDimensions.js +23 -4
  385. package/lib/data/helper/dataProvider.js +63 -6
  386. package/lib/data/helper/dataStackHelper.js +162 -0
  387. package/lib/data/helper/dimensionHelper.js +46 -10
  388. package/lib/data/helper/linkList.js +19 -0
  389. package/lib/data/helper/sourceHelper.js +19 -0
  390. package/lib/data/helper/sourceType.js +18 -0
  391. package/lib/echarts.js +128 -118
  392. package/lib/export.js +19 -0
  393. package/lib/helper.js +41 -0
  394. package/lib/lang.js +18 -0
  395. package/lib/langEN.js +18 -0
  396. package/lib/langFI.js +18 -0
  397. package/lib/langTH.js +18 -0
  398. package/lib/layout/barGrid.js +178 -53
  399. package/lib/layout/barPolar.js +88 -71
  400. package/lib/layout/points.js +39 -4
  401. package/lib/loading/default.js +18 -0
  402. package/lib/model/Component.js +19 -0
  403. package/lib/model/Global.js +30 -2
  404. package/lib/model/Model.js +19 -0
  405. package/lib/model/OptionManager.js +19 -0
  406. package/lib/model/Series.js +23 -5
  407. package/lib/model/globalDefault.js +21 -5
  408. package/lib/model/mixin/areaStyle.js +18 -0
  409. package/lib/model/mixin/boxLayout.js +18 -0
  410. package/lib/model/mixin/colorPalette.js +27 -0
  411. package/lib/model/mixin/dataFormat.js +20 -1
  412. package/lib/model/mixin/itemStyle.js +18 -0
  413. package/lib/model/mixin/lineStyle.js +18 -0
  414. package/lib/model/mixin/makeStyleMapper.js +18 -0
  415. package/lib/model/mixin/textStyle.js +18 -0
  416. package/lib/model/referHelper.js +19 -0
  417. package/lib/preprocessor/backwardCompat.js +18 -0
  418. package/lib/preprocessor/helper/compatStyle.js +42 -15
  419. package/lib/processor/dataFilter.js +19 -1
  420. package/lib/processor/dataSample.js +27 -5
  421. package/lib/processor/dataStack.js +118 -0
  422. package/lib/scale/Interval.js +19 -14
  423. package/lib/scale/Log.js +22 -3
  424. package/lib/scale/Ordinal.js +27 -2
  425. package/lib/scale/Scale.js +27 -16
  426. package/lib/scale/Time.js +18 -0
  427. package/lib/scale/helper.js +19 -0
  428. package/lib/stream/Scheduler.js +123 -37
  429. package/lib/stream/task.js +165 -14
  430. package/lib/theme/dark.js +18 -0
  431. package/lib/theme/light.js +18 -0
  432. package/lib/util/KDTree.js +19 -0
  433. package/lib/util/animation.js +19 -0
  434. package/lib/util/array/nest.js +19 -0
  435. package/lib/util/clazz.js +18 -0
  436. package/lib/util/component.js +19 -0
  437. package/lib/util/format.js +36 -11
  438. package/lib/util/graphic.js +19 -0
  439. package/lib/util/layout.js +18 -0
  440. package/lib/util/model.js +33 -6
  441. package/lib/util/number.js +18 -0
  442. package/lib/util/quickSelect.js +19 -0
  443. package/lib/util/symbol.js +18 -0
  444. package/lib/util/throttle.js +26 -1
  445. package/lib/view/Chart.js +44 -7
  446. package/lib/view/Component.js +18 -0
  447. package/lib/visual/VisualMapping.js +28 -0
  448. package/lib/visual/aria.js +18 -0
  449. package/lib/visual/dataColor.js +19 -1
  450. package/lib/visual/seriesColor.js +19 -1
  451. package/lib/visual/symbol.js +28 -2
  452. package/lib/visual/visualDefault.js +19 -0
  453. package/lib/visual/visualSolution.js +24 -3
  454. package/licenses/LICENSE-d3 +27 -0
  455. package/licenses/LICENSE-zrender +29 -0
  456. package/map/js/china-contour.js +19 -0
  457. package/map/js/china.js +19 -0
  458. package/map/js/province/anhui.js +19 -0
  459. package/map/js/province/aomen.js +19 -0
  460. package/map/js/province/beijing.js +19 -0
  461. package/map/js/province/chongqing.js +19 -0
  462. package/map/js/province/fujian.js +19 -0
  463. package/map/js/province/gansu.js +19 -0
  464. package/map/js/province/guangdong.js +19 -0
  465. package/map/js/province/guangxi.js +19 -0
  466. package/map/js/province/guizhou.js +19 -0
  467. package/map/js/province/hainan.js +19 -0
  468. package/map/js/province/hebei.js +19 -0
  469. package/map/js/province/heilongjiang.js +19 -0
  470. package/map/js/province/henan.js +19 -0
  471. package/map/js/province/hubei.js +19 -0
  472. package/map/js/province/hunan.js +19 -0
  473. package/map/js/province/jiangsu.js +19 -0
  474. package/map/js/province/jiangxi.js +19 -0
  475. package/map/js/province/jilin.js +19 -0
  476. package/map/js/province/liaoning.js +19 -0
  477. package/map/js/province/neimenggu.js +19 -0
  478. package/map/js/province/ningxia.js +19 -0
  479. package/map/js/province/qinghai.js +19 -0
  480. package/map/js/province/shandong.js +19 -0
  481. package/map/js/province/shanghai.js +19 -0
  482. package/map/js/province/shanxi.js +19 -0
  483. package/map/js/province/shanxi1.js +19 -0
  484. package/map/js/province/sichuan.js +19 -0
  485. package/map/js/province/taiwan.js +19 -0
  486. package/map/js/province/tianjin.js +19 -0
  487. package/map/js/province/xianggang.js +19 -0
  488. package/map/js/province/xinjiang.js +19 -0
  489. package/map/js/province/xizang.js +19 -0
  490. package/map/js/province/yunnan.js +19 -0
  491. package/map/js/province/zhejiang.js +19 -0
  492. package/map/js/world.js +19 -0
  493. package/package.json +3 -3
  494. package/src/CoordinateSystem.js +19 -0
  495. package/src/ExtensionAPI.js +19 -0
  496. package/src/action/createDataSelectAction.js +19 -0
  497. package/src/action/geoRoam.js +19 -0
  498. package/src/action/roamHelper.js +19 -0
  499. package/src/chart/bar/BarSeries.js +44 -1
  500. package/src/chart/bar/BarView.js +128 -17
  501. package/src/chart/bar/BaseBarSeries.js +24 -0
  502. package/src/chart/bar/PictorialBarSeries.js +19 -0
  503. package/src/chart/bar/PictorialBarView.js +19 -0
  504. package/src/chart/bar/barItemStyle.js +19 -0
  505. package/src/chart/bar/helper.js +20 -1
  506. package/src/chart/bar.js +28 -7
  507. package/src/chart/boxplot/BoxplotSeries.js +26 -1
  508. package/src/chart/boxplot/BoxplotView.js +152 -21
  509. package/src/chart/boxplot/boxplotLayout.js +75 -71
  510. package/src/chart/boxplot/boxplotVisual.js +19 -0
  511. package/src/chart/boxplot.js +19 -0
  512. package/src/chart/candlestick/CandlestickSeries.js +35 -4
  513. package/src/chart/candlestick/CandlestickView.js +272 -24
  514. package/src/chart/candlestick/candlestickLayout.js +151 -97
  515. package/src/chart/candlestick/candlestickVisual.js +66 -17
  516. package/src/chart/candlestick/preprocessor.js +19 -0
  517. package/src/chart/candlestick.js +19 -0
  518. package/src/chart/chord/ChordSeries.js +19 -0
  519. package/src/chart/chord/ChordView.js +19 -0
  520. package/src/chart/chord/Ribbon.js +19 -0
  521. package/src/chart/chord/chordCircularLayout.js +19 -0
  522. package/src/chart/chord.js +19 -0
  523. package/src/chart/custom.js +23 -6
  524. package/src/chart/effectScatter/EffectScatterSeries.js +19 -0
  525. package/src/chart/effectScatter/EffectScatterView.js +19 -0
  526. package/src/chart/effectScatter.js +19 -0
  527. package/src/chart/funnel/FunnelSeries.js +19 -0
  528. package/src/chart/funnel/FunnelView.js +19 -0
  529. package/src/chart/funnel/funnelLayout.js +19 -0
  530. package/src/chart/funnel.js +19 -0
  531. package/src/chart/gauge/GaugeSeries.js +19 -0
  532. package/src/chart/gauge/GaugeView.js +19 -0
  533. package/src/chart/gauge/PointerPath.js +19 -0
  534. package/src/chart/gauge.js +19 -0
  535. package/src/chart/graph/GraphSeries.js +27 -0
  536. package/src/chart/graph/GraphView.js +19 -0
  537. package/src/chart/graph/adjustEdge.js +19 -0
  538. package/src/chart/graph/backwardCompat.js +19 -0
  539. package/src/chart/graph/categoryFilter.js +19 -0
  540. package/src/chart/graph/categoryVisual.js +19 -0
  541. package/src/chart/graph/circularLayout.js +19 -0
  542. package/src/chart/graph/circularLayoutHelper.js +19 -0
  543. package/src/chart/graph/createView.js +19 -0
  544. package/src/chart/graph/edgeVisual.js +19 -0
  545. package/src/chart/graph/forceHelper.js +19 -0
  546. package/src/chart/graph/forceLayout.js +19 -0
  547. package/src/chart/graph/graphAction.js +19 -0
  548. package/src/chart/graph/simpleLayout.js +19 -0
  549. package/src/chart/graph/simpleLayoutHelper.js +19 -0
  550. package/src/chart/graph.js +19 -0
  551. package/src/chart/heatmap/HeatmapLayer.js +19 -0
  552. package/src/chart/heatmap/HeatmapSeries.js +22 -1
  553. package/src/chart/heatmap/HeatmapView.js +19 -0
  554. package/src/chart/heatmap.js +19 -0
  555. package/src/chart/helper/EffectLine.js +19 -0
  556. package/src/chart/helper/EffectPolyline.js +19 -0
  557. package/src/chart/helper/EffectSymbol.js +19 -0
  558. package/src/chart/helper/LargeLineDraw.js +20 -0
  559. package/src/chart/helper/LargeSymbolDraw.js +19 -0
  560. package/src/chart/helper/Line.js +38 -16
  561. package/src/chart/helper/LineDraw.js +27 -0
  562. package/src/chart/helper/LinePath.js +19 -0
  563. package/src/chart/helper/Polyline.js +19 -0
  564. package/src/chart/helper/Symbol.js +68 -15
  565. package/src/chart/helper/SymbolDraw.js +61 -18
  566. package/src/chart/helper/createGraphFromNodeEdge.js +29 -6
  567. package/src/chart/helper/createGraphFromNodeMatrix.js +19 -0
  568. package/src/chart/helper/createListFromArray.js +32 -7
  569. package/src/chart/helper/createListSimply.js +19 -0
  570. package/src/chart/helper/createRenderPlanner.js +22 -3
  571. package/src/chart/helper/labelHelper.js +19 -0
  572. package/src/chart/helper/treeHelper.js +19 -0
  573. package/src/chart/helper/whiskerBoxCommon.js +19 -24
  574. package/src/chart/line/LineSeries.js +35 -11
  575. package/src/chart/line/LineView.js +174 -105
  576. package/src/chart/line/helper.js +106 -0
  577. package/src/chart/line/lineAnimationDiff.js +32 -39
  578. package/src/chart/line/poly.js +149 -0
  579. package/src/chart/line.js +19 -0
  580. package/src/chart/lines/LinesSeries.js +27 -7
  581. package/src/chart/lines/LinesView.js +21 -1
  582. package/src/chart/lines/linesLayout.js +20 -1
  583. package/src/chart/lines/linesVisual.js +19 -0
  584. package/src/chart/lines.js +19 -0
  585. package/src/chart/map/MapSeries.js +42 -5
  586. package/src/chart/map/MapView.js +19 -0
  587. package/src/chart/map/backwardCompat.js +19 -0
  588. package/src/chart/map/mapDataStatistic.js +19 -0
  589. package/src/chart/map/mapSymbolLayout.js +19 -0
  590. package/src/chart/map/mapVisual.js +19 -0
  591. package/src/chart/map.js +19 -0
  592. package/src/chart/parallel/ParallelSeries.js +21 -7
  593. package/src/chart/parallel/ParallelView.js +90 -58
  594. package/src/chart/parallel/parallelVisual.js +39 -14
  595. package/src/chart/parallel.js +19 -0
  596. package/src/chart/pictorialBar.js +19 -0
  597. package/src/chart/pie/PieSeries.js +37 -2
  598. package/src/chart/pie/PieView.js +19 -0
  599. package/src/chart/pie/labelLayout.js +19 -0
  600. package/src/chart/pie/pieLayout.js +20 -1
  601. package/src/chart/pie.js +19 -0
  602. package/src/chart/radar/RadarSeries.js +21 -2
  603. package/src/chart/radar/RadarView.js +19 -0
  604. package/src/chart/radar/backwardCompat.js +19 -0
  605. package/src/chart/radar/radarLayout.js +20 -1
  606. package/src/chart/radar.js +19 -0
  607. package/src/chart/sankey/SankeySeries.js +28 -0
  608. package/src/chart/sankey/SankeyView.js +62 -11
  609. package/src/chart/sankey/sankeyAction.js +31 -0
  610. package/src/chart/sankey/sankeyLayout.js +71 -17
  611. package/src/chart/sankey/sankeyVisual.js +49 -25
  612. package/src/chart/sankey.js +20 -0
  613. package/src/chart/scatter/ScatterSeries.js +21 -2
  614. package/src/chart/scatter/ScatterView.js +19 -0
  615. package/src/chart/scatter.js +19 -0
  616. package/src/chart/sunburst/SunburstPiece.js +72 -20
  617. package/src/chart/sunburst/SunburstSeries.js +19 -0
  618. package/src/chart/sunburst/SunburstView.js +39 -17
  619. package/src/chart/sunburst/sunburstAction.js +19 -0
  620. package/src/chart/sunburst/sunburstLayout.js +19 -0
  621. package/src/chart/sunburst.js +19 -0
  622. package/src/chart/themeRiver/ThemeRiverSeries.js +19 -1
  623. package/src/chart/themeRiver/ThemeRiverView.js +19 -0
  624. package/src/chart/themeRiver/themeRiverLayout.js +19 -0
  625. package/src/chart/themeRiver/themeRiverVisual.js +19 -0
  626. package/src/chart/themeRiver.js +19 -0
  627. package/src/chart/tree/TreeSeries.js +38 -2
  628. package/src/chart/tree/TreeView.js +31 -5
  629. package/src/chart/tree/layoutHelper.js +19 -0
  630. package/src/chart/tree/traversalHelper.js +19 -0
  631. package/src/chart/tree/treeAction.js +19 -0
  632. package/src/chart/tree/treeLayout.js +128 -0
  633. package/src/chart/tree.js +21 -4
  634. package/src/chart/treemap/Breadcrumb.js +19 -0
  635. package/src/chart/treemap/TreemapSeries.js +19 -0
  636. package/src/chart/treemap/TreemapView.js +19 -0
  637. package/src/chart/treemap/helper.js +19 -0
  638. package/src/chart/treemap/treemapAction.js +19 -0
  639. package/src/chart/treemap/treemapLayout.js +19 -0
  640. package/src/chart/treemap/treemapVisual.js +19 -0
  641. package/src/chart/treemap.js +19 -0
  642. package/src/component/angleAxis.js +19 -0
  643. package/src/component/axis/AngleAxisView.js +62 -25
  644. package/src/component/axis/AxisBuilder.js +68 -94
  645. package/src/component/axis/AxisView.js +19 -0
  646. package/src/component/axis/CartesianAxisView.js +69 -54
  647. package/src/component/axis/ParallelAxisView.js +19 -0
  648. package/src/component/axis/RadiusAxisView.js +26 -4
  649. package/src/component/axis/SingleAxisView.js +26 -18
  650. package/src/component/axis/parallelAxisAction.js +19 -0
  651. package/src/component/axis.js +19 -0
  652. package/src/component/axisPointer/AxisPointerModel.js +19 -0
  653. package/src/component/axisPointer/AxisPointerView.js +19 -0
  654. package/src/component/axisPointer/BaseAxisPointer.js +19 -0
  655. package/src/component/axisPointer/CartesianAxisPointer.js +21 -2
  656. package/src/component/axisPointer/PolarAxisPointer.js +20 -1
  657. package/src/component/axisPointer/SingleAxisPointer.js +20 -1
  658. package/src/component/axisPointer/axisTrigger.js +21 -1
  659. package/src/component/axisPointer/findPointFromSeries.js +19 -0
  660. package/src/component/axisPointer/globalListener.js +19 -0
  661. package/src/component/axisPointer/modelHelper.js +21 -1
  662. package/src/component/axisPointer/viewHelper.js +20 -0
  663. package/src/component/axisPointer.js +19 -0
  664. package/src/component/brush/BrushModel.js +26 -1
  665. package/src/component/brush/BrushView.js +24 -0
  666. package/src/component/brush/brushAction.js +19 -0
  667. package/src/component/brush/preprocessor.js +19 -0
  668. package/src/component/brush/selector.js +19 -0
  669. package/src/component/brush/visualEncoding.js +19 -0
  670. package/src/component/brush.js +19 -0
  671. package/src/component/calendar/CalendarView.js +19 -0
  672. package/src/component/calendar.js +19 -0
  673. package/src/component/dataZoom/AxisProxy.js +42 -20
  674. package/src/component/dataZoom/DataZoomModel.js +19 -0
  675. package/src/component/dataZoom/DataZoomView.js +19 -0
  676. package/src/component/dataZoom/InsideZoomModel.js +19 -0
  677. package/src/component/dataZoom/InsideZoomView.js +37 -10
  678. package/src/component/dataZoom/SelectZoomModel.js +19 -0
  679. package/src/component/dataZoom/SelectZoomView.js +19 -0
  680. package/src/component/dataZoom/SliderZoomModel.js +19 -0
  681. package/src/component/dataZoom/SliderZoomView.js +30 -5
  682. package/src/component/dataZoom/dataZoomAction.js +19 -0
  683. package/src/component/dataZoom/dataZoomProcessor.js +24 -1
  684. package/src/component/dataZoom/helper.js +19 -0
  685. package/src/component/dataZoom/history.js +19 -0
  686. package/src/component/dataZoom/roams.js +20 -15
  687. package/src/component/dataZoom/typeDefaulter.js +19 -0
  688. package/src/component/dataZoom.js +19 -0
  689. package/src/component/dataZoomInside.js +19 -0
  690. package/src/component/dataZoomSelect.js +19 -0
  691. package/src/component/dataset.js +63 -3
  692. package/src/component/geo/GeoView.js +19 -0
  693. package/src/component/geo.js +19 -0
  694. package/src/component/graphic.js +19 -0
  695. package/src/component/grid.js +19 -0
  696. package/src/component/gridSimple.js +19 -0
  697. package/src/component/helper/BrushController.js +19 -0
  698. package/src/component/helper/BrushTargetManager.js +19 -0
  699. package/src/component/helper/MapDraw.js +19 -0
  700. package/src/component/helper/RoamController.js +19 -0
  701. package/src/component/helper/brushHelper.js +19 -0
  702. package/src/component/helper/cursorHelper.js +19 -0
  703. package/src/component/helper/interactionMutex.js +19 -0
  704. package/src/component/helper/listComponent.js +19 -0
  705. package/src/component/helper/roamHelper.js +19 -0
  706. package/src/component/helper/selectableMixin.js +22 -12
  707. package/src/component/helper/sliderMove.js +19 -0
  708. package/src/component/legend/LegendModel.js +25 -6
  709. package/src/component/legend/LegendView.js +51 -13
  710. package/src/component/legend/ScrollableLegendModel.js +19 -0
  711. package/src/component/legend/ScrollableLegendView.js +19 -0
  712. package/src/component/legend/legendAction.js +19 -0
  713. package/src/component/legend/legendFilter.js +19 -0
  714. package/src/component/legend/scrollableLegendAction.js +19 -0
  715. package/src/component/legend.js +19 -0
  716. package/src/component/legendScroll.js +19 -0
  717. package/src/component/markArea.js +19 -0
  718. package/src/component/markLine.js +19 -0
  719. package/src/component/markPoint.js +19 -0
  720. package/src/component/marker/MarkAreaModel.js +19 -0
  721. package/src/component/marker/MarkAreaView.js +22 -3
  722. package/src/component/marker/MarkLineModel.js +19 -0
  723. package/src/component/marker/MarkLineView.js +22 -3
  724. package/src/component/marker/MarkPointModel.js +19 -0
  725. package/src/component/marker/MarkPointView.js +21 -3
  726. package/src/component/marker/MarkerModel.js +20 -1
  727. package/src/component/marker/MarkerView.js +19 -0
  728. package/src/component/marker/markerHelper.js +60 -20
  729. package/src/component/parallel.js +19 -0
  730. package/src/component/parallelAxis.js +19 -0
  731. package/src/component/polar.js +19 -0
  732. package/src/component/radar/RadarView.js +23 -4
  733. package/src/component/radar.js +19 -0
  734. package/src/component/radiusAxis.js +19 -0
  735. package/src/component/singleAxis.js +19 -0
  736. package/src/component/timeline/SliderTimelineModel.js +19 -0
  737. package/src/component/timeline/SliderTimelineView.js +41 -33
  738. package/src/component/timeline/TimelineAxis.js +25 -43
  739. package/src/component/timeline/TimelineModel.js +19 -0
  740. package/src/component/timeline/TimelineView.js +19 -0
  741. package/src/component/timeline/preprocessor.js +19 -0
  742. package/src/component/timeline/timelineAction.js +19 -0
  743. package/src/component/timeline/typeDefaulter.js +19 -0
  744. package/src/component/timeline.js +19 -0
  745. package/src/component/title.js +19 -0
  746. package/src/component/toolbox/ToolboxModel.js +21 -2
  747. package/src/component/toolbox/ToolboxView.js +19 -0
  748. package/src/component/toolbox/feature/Brush.js +19 -0
  749. package/src/component/toolbox/feature/DataView.js +19 -0
  750. package/src/component/toolbox/feature/DataZoom.js +22 -0
  751. package/src/component/toolbox/feature/MagicType.js +19 -0
  752. package/src/component/toolbox/feature/Restore.js +19 -0
  753. package/src/component/toolbox/feature/SaveAsImage.js +19 -0
  754. package/src/component/toolbox/featureManager.js +19 -0
  755. package/src/component/toolbox.js +19 -0
  756. package/src/component/tooltip/TooltipContent.js +19 -0
  757. package/src/component/tooltip/TooltipModel.js +19 -0
  758. package/src/component/tooltip/TooltipView.js +20 -1
  759. package/src/component/tooltip.js +19 -0
  760. package/src/component/visualMap/ContinuousModel.js +20 -1
  761. package/src/component/visualMap/ContinuousView.js +19 -0
  762. package/src/component/visualMap/PiecewiseModel.js +20 -1
  763. package/src/component/visualMap/PiecewiseView.js +19 -0
  764. package/src/component/visualMap/VisualMapModel.js +31 -3
  765. package/src/component/visualMap/VisualMapView.js +19 -0
  766. package/src/component/visualMap/helper.js +19 -0
  767. package/src/component/visualMap/preprocessor.js +19 -0
  768. package/src/component/visualMap/typeDefaulter.js +19 -0
  769. package/src/component/visualMap/visualEncoding.js +23 -1
  770. package/src/component/visualMap/visualMapAction.js +19 -0
  771. package/src/component/visualMap.js +19 -0
  772. package/src/component/visualMapContinuous.js +19 -0
  773. package/src/component/visualMapPiecewise.js +19 -0
  774. package/src/config.js +19 -0
  775. package/src/coord/Axis.js +159 -100
  776. package/src/coord/View.js +19 -0
  777. package/src/coord/axisDefault.js +68 -41
  778. package/src/coord/axisHelper.js +142 -93
  779. package/src/coord/axisModelCommonMixin.js +19 -11
  780. package/src/coord/axisModelCreator.js +25 -2
  781. package/src/coord/axisTickLabelBuilder.js +369 -0
  782. package/src/coord/calendar/Calendar.js +24 -2
  783. package/src/coord/calendar/CalendarModel.js +19 -0
  784. package/src/coord/calendar/prepareCustom.js +20 -1
  785. package/src/coord/cartesian/Axis2D.js +25 -18
  786. package/src/coord/cartesian/AxisModel.js +19 -0
  787. package/src/coord/cartesian/Cartesian.js +19 -0
  788. package/src/coord/cartesian/Cartesian2D.js +27 -4
  789. package/src/coord/cartesian/Grid.js +65 -76
  790. package/src/coord/cartesian/GridModel.js +19 -0
  791. package/src/{component/axis → coord/cartesian}/cartesianAxisHelper.js +28 -9
  792. package/src/coord/cartesian/prepareCustom.js +19 -0
  793. package/src/coord/geo/Geo.js +19 -0
  794. package/src/coord/geo/GeoModel.js +19 -0
  795. package/src/coord/geo/Region.js +19 -0
  796. package/src/coord/geo/fix/diaoyuIsland.js +19 -0
  797. package/src/coord/geo/fix/geoCoord.js +19 -0
  798. package/src/coord/geo/fix/nanhai.js +19 -0
  799. package/src/coord/geo/fix/textCoord.js +19 -0
  800. package/src/coord/geo/geoCreator.js +19 -0
  801. package/src/coord/geo/parseGeoJson.js +19 -0
  802. package/src/coord/geo/prepareCustom.js +24 -3
  803. package/src/coord/parallel/AxisModel.js +32 -3
  804. package/src/coord/parallel/Parallel.js +38 -12
  805. package/src/coord/parallel/ParallelAxis.js +19 -0
  806. package/src/coord/parallel/ParallelModel.js +19 -0
  807. package/src/coord/parallel/parallelCreator.js +19 -0
  808. package/src/coord/parallel/parallelPreprocessor.js +19 -0
  809. package/src/coord/polar/AngleAxis.js +19 -0
  810. package/src/coord/polar/AxisModel.js +19 -0
  811. package/src/coord/polar/Polar.js +19 -0
  812. package/src/coord/polar/PolarModel.js +19 -0
  813. package/src/coord/polar/RadiusAxis.js +19 -0
  814. package/src/coord/polar/polarCreator.js +26 -3
  815. package/src/coord/polar/prepareCustom.js +19 -0
  816. package/src/coord/radar/IndicatorAxis.js +19 -0
  817. package/src/coord/radar/Radar.js +19 -0
  818. package/src/coord/radar/RadarModel.js +19 -0
  819. package/src/coord/single/AxisModel.js +19 -0
  820. package/src/coord/single/Single.js +19 -0
  821. package/src/coord/single/SingleAxis.js +19 -5
  822. package/src/coord/single/prepareCustom.js +19 -0
  823. package/src/{component/axis → coord/single}/singleAxisHelper.js +21 -4
  824. package/src/coord/single/singleCreator.js +19 -0
  825. package/src/data/DataDiffer.js +19 -0
  826. package/src/data/Graph.js +20 -1
  827. package/src/data/List.js +412 -207
  828. package/src/data/OrdinalMeta.js +19 -0
  829. package/src/data/Source.js +19 -0
  830. package/src/data/Tree.js +19 -0
  831. package/src/data/helper/completeDimensions.js +62 -29
  832. package/src/data/helper/createDimensions.js +23 -4
  833. package/src/data/helper/dataProvider.js +61 -6
  834. package/src/data/helper/dataStackHelper.js +162 -0
  835. package/src/data/helper/dimensionHelper.js +49 -10
  836. package/src/data/helper/linkList.js +19 -0
  837. package/src/data/helper/sourceHelper.js +19 -0
  838. package/src/data/helper/sourceType.js +19 -0
  839. package/src/echarts.js +127 -114
  840. package/src/export.js +19 -0
  841. package/src/helper.js +30 -1
  842. package/src/lang.js +19 -0
  843. package/src/langEN.js +19 -0
  844. package/src/langFI.js +19 -0
  845. package/src/langTH.js +19 -0
  846. package/src/layout/barGrid.js +174 -64
  847. package/src/layout/barPolar.js +81 -66
  848. package/src/layout/points.js +32 -4
  849. package/src/loading/default.js +19 -0
  850. package/src/model/Component.js +19 -0
  851. package/src/model/Global.js +29 -2
  852. package/src/model/Model.js +19 -0
  853. package/src/model/OptionManager.js +19 -0
  854. package/src/model/Series.js +23 -5
  855. package/src/model/globalDefault.js +23 -5
  856. package/src/model/mixin/areaStyle.js +19 -0
  857. package/src/model/mixin/boxLayout.js +19 -0
  858. package/src/model/mixin/colorPalette.js +26 -0
  859. package/src/model/mixin/dataFormat.js +20 -1
  860. package/src/model/mixin/itemStyle.js +19 -0
  861. package/src/model/mixin/lineStyle.js +19 -0
  862. package/src/model/mixin/makeStyleMapper.js +19 -0
  863. package/src/model/mixin/textStyle.js +19 -0
  864. package/src/model/referHelper.js +19 -0
  865. package/src/preprocessor/backwardCompat.js +19 -0
  866. package/src/preprocessor/helper/compatStyle.js +45 -15
  867. package/src/processor/dataFilter.js +20 -1
  868. package/src/processor/dataSample.js +29 -3
  869. package/src/processor/dataStack.js +129 -0
  870. package/src/scale/Interval.js +19 -12
  871. package/src/scale/Log.js +22 -3
  872. package/src/scale/Ordinal.js +28 -2
  873. package/src/scale/Scale.js +27 -13
  874. package/src/scale/Time.js +19 -0
  875. package/src/scale/helper.js +19 -0
  876. package/src/stream/Scheduler.js +124 -32
  877. package/src/stream/task.js +166 -16
  878. package/src/theme/dark.js +19 -0
  879. package/src/theme/light.js +19 -0
  880. package/src/util/KDTree.js +19 -0
  881. package/src/util/animation.js +19 -0
  882. package/src/util/array/nest.js +19 -0
  883. package/src/util/clazz.js +19 -0
  884. package/src/util/component.js +19 -0
  885. package/src/util/format.js +47 -20
  886. package/src/util/graphic.js +19 -0
  887. package/src/util/layout.js +19 -0
  888. package/src/util/model.js +33 -5
  889. package/src/util/number.js +19 -0
  890. package/src/util/quickSelect.js +19 -0
  891. package/src/util/symbol.js +19 -0
  892. package/src/util/throttle.js +27 -0
  893. package/src/view/Chart.js +48 -10
  894. package/src/view/Component.js +19 -0
  895. package/src/visual/VisualMapping.js +29 -0
  896. package/src/visual/aria.js +19 -0
  897. package/src/visual/dataColor.js +21 -1
  898. package/src/visual/seriesColor.js +20 -1
  899. package/src/visual/symbol.js +34 -2
  900. package/src/visual/visualDefault.js +19 -0
  901. package/src/visual/visualSolution.js +23 -3
  902. package/theme/dark.js +19 -0
  903. package/theme/infographic.js +19 -0
  904. package/theme/macarons.js +19 -0
  905. package/theme/roma.js +19 -0
  906. package/theme/shine.js +19 -0
  907. package/theme/vintage.js +19 -0
  908. package/build/rollup-plugin-ec-dev.js +0 -38
  909. package/lib/chart/helper/WhiskerBoxDraw.js +0 -201
  910. package/lib/chart/tree/commonLayout.js +0 -108
  911. package/lib/chart/tree/orthogonalLayout.js +0 -9
  912. package/lib/chart/tree/radialLayout.js +0 -9
  913. package/lib/component/dataset/DatasetModel.js +0 -29
  914. package/src/chart/helper/WhiskerBoxDraw.js +0 -213
  915. package/src/chart/tree/commonLayout.js +0 -96
  916. package/src/chart/tree/orthogonalLayout.js +0 -7
  917. package/src/chart/tree/radialLayout.js +0 -7
  918. package/src/component/dataset/DatasetModel.js +0 -31
@@ -1,8 +1,27 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an
14
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ * KIND, either express or implied. See the License for the
16
+ * specific language governing permissions and limitations
17
+ * under the License.
18
+ */
19
+
1
20
  /**
2
21
  * @module echarts/stream/Scheduler
3
22
  */
4
23
 
5
- import {each, isFunction, createHashMap, noop} from 'zrender/src/core/util';
24
+ import {each, map, isArray, isFunction, createHashMap, noop} from 'zrender/src/core/util';
6
25
  import {createTask} from './task';
7
26
  import {getUID} from '../util/component';
8
27
  import GlobalModel from '../model/Global';
@@ -12,13 +31,19 @@ import {normalizeToArray} from '../util/model';
12
31
  /**
13
32
  * @constructor
14
33
  */
15
- function Scheduler(ecInstance, api) {
16
- // this._pipelineMap = createHashMap();
17
-
34
+ function Scheduler(ecInstance, api, dataProcessorHandlers, visualHandlers) {
18
35
  this.ecInstance = ecInstance;
19
36
  this.api = api;
20
37
  this.unfinished;
21
38
 
39
+ // Fix current processors in case that in some rear cases that
40
+ // processors might be registered after echarts instance created.
41
+ // Register processors incrementally for a echarts instance is
42
+ // not supported by this stream architecture.
43
+ var dataProcessorHandlers = this._dataProcessorHandlers = dataProcessorHandlers.slice();
44
+ var visualHandlers = this._visualHandlers = visualHandlers.slice();
45
+ this._allHandlers = dataProcessorHandlers.concat(visualHandlers);
46
+
22
47
  /**
23
48
  * @private
24
49
  * @type {
@@ -35,6 +60,44 @@ function Scheduler(ecInstance, api) {
35
60
 
36
61
  var proto = Scheduler.prototype;
37
62
 
63
+ /**
64
+ * @param {module:echarts/model/Global} ecModel
65
+ * @param {Object} payload
66
+ */
67
+ proto.restoreData = function (ecModel, payload) {
68
+ // TODO: Only restroe needed series and components, but not all components.
69
+ // Currently `restoreData` of all of the series and component will be called.
70
+ // But some independent components like `title`, `legend`, `graphic`, `toolbox`,
71
+ // `tooltip`, `axisPointer`, etc, do not need series refresh when `setOption`,
72
+ // and some components like coordinate system, axes, dataZoom, visualMap only
73
+ // need their target series refresh.
74
+ // (1) If we are implementing this feature some day, we should consider these cases:
75
+ // if a data processor depends on a component (e.g., dataZoomProcessor depends
76
+ // on the settings of `dataZoom`), it should be re-performed if the component
77
+ // is modified by `setOption`.
78
+ // (2) If a processor depends on sevral series, speicified by its `getTargetSeries`,
79
+ // it should be re-performed when the result array of `getTargetSeries` changed.
80
+ // We use `dependencies` to cover these issues.
81
+ // (3) How to update target series when coordinate system related components modified.
82
+
83
+ // TODO: simply the dirty mechanism? Check whether only the case here can set tasks dirty,
84
+ // and this case all of the tasks will be set as dirty.
85
+
86
+ ecModel.restoreData(payload);
87
+
88
+ // Theoretically an overall task not only depends on each of its target series, but also
89
+ // depends on all of the series.
90
+ // The overall task is not in pipeline, and `ecModel.restoreData` only set pipeline tasks
91
+ // dirty. If `getTargetSeries` of an overall task returns nothing, we should also ensure
92
+ // that the overall task is set as dirty and to be performed, otherwise it probably cause
93
+ // state chaos. So we have to set dirty of all of the overall tasks manually, otherwise it
94
+ // probably cause state chaos (consider `dataZoomProcessor`).
95
+ this._stageTaskMap.each(function (taskRecord) {
96
+ var overallTask = taskRecord.overallTask;
97
+ overallTask && overallTask.dirty();
98
+ });
99
+ };
100
+
38
101
  // If seriesModel provided, incremental threshold is check by series data.
39
102
  proto.getPerformArgs = function (task, isBlock) {
40
103
  // For overall task
@@ -46,10 +109,14 @@ proto.getPerformArgs = function (task, isBlock) {
46
109
  var pCtx = pipeline.context;
47
110
  var incremental = !isBlock
48
111
  && pipeline.progressiveEnabled
49
- && (!pCtx || pCtx.incrementalRender)
50
- && task.__idxInPipeline > pipeline.bockIndex;
112
+ && (!pCtx || pCtx.progressiveRender)
113
+ && task.__idxInPipeline > pipeline.blockIndex;
114
+
115
+ var step = incremental ? pipeline.step : null;
116
+ var modDataCount = pCtx && pCtx.modDataCount;
117
+ var modBy = modDataCount != null ? Math.ceil(modDataCount / step): null;
51
118
 
52
- return {step: incremental ? pipeline.step : null};
119
+ return {step: step, modBy: modBy, modDataCount: modDataCount};
53
120
  };
54
121
 
55
122
  proto.getPipeline = function (pipelineId) {
@@ -67,13 +134,25 @@ proto.updateStreamModes = function (seriesModel, view) {
67
134
  var pipeline = this._pipelineMap.get(seriesModel.uid);
68
135
  var data = seriesModel.getData();
69
136
  var dataLen = data.count();
70
- var incrementalRender = pipeline.progressiveEnabled
137
+
138
+ // `progressiveRender` means that can render progressively in each
139
+ // animation frame. Note that some types of series do not provide
140
+ // `view.incrementalPrepareRender` but support `chart.appendData`. We
141
+ // use the term `incremental` but not `progressive` to describe the
142
+ // case that `chart.appendData`.
143
+ var progressiveRender = pipeline.progressiveEnabled
71
144
  && view.incrementalPrepareRender
72
145
  && dataLen >= pipeline.threshold;
146
+
73
147
  var large = seriesModel.get('large') && dataLen >= seriesModel.get('largeThreshold');
74
148
 
149
+ // TODO: modDataCount should not updated if `appendData`, otherwise cause whole repaint.
150
+ // see `test/candlestick-large3.html`
151
+ var modDataCount = seriesModel.get('progressiveChunkMode') === 'mod' ? dataLen : null;
152
+
75
153
  seriesModel.pipelineContext = pipeline.context = {
76
- incrementalRender: incrementalRender,
154
+ progressiveRender: progressiveRender,
155
+ modDataCount: modDataCount,
77
156
  large: large
78
157
  };
79
158
  };
@@ -81,6 +160,7 @@ proto.updateStreamModes = function (seriesModel, view) {
81
160
  proto.restorePipelines = function (ecModel) {
82
161
  var scheduler = this;
83
162
  var pipelineMap = scheduler._pipelineMap = createHashMap();
163
+
84
164
  ecModel.eachSeries(function (seriesModel) {
85
165
  var progressive = seriesModel.getProgressive();
86
166
  var pipelineId = seriesModel.uid;
@@ -92,8 +172,8 @@ proto.restorePipelines = function (ecModel) {
92
172
  threshold: seriesModel.getProgressiveThreshold(),
93
173
  progressiveEnabled: progressive
94
174
  && !(seriesModel.preventIncremental && seriesModel.preventIncremental()),
95
- bockIndex: -1,
96
- step: progressive || 700, // ??? Temporarily number
175
+ blockIndex: -1,
176
+ step: Math.round(progressive || 700),
97
177
  count: 0
98
178
  });
99
179
 
@@ -101,12 +181,12 @@ proto.restorePipelines = function (ecModel) {
101
181
  });
102
182
  };
103
183
 
104
- proto.prepareStageTasks = function (stageHandlers, useClearVisual) {
184
+ proto.prepareStageTasks = function () {
105
185
  var stageTaskMap = this._stageTaskMap;
106
186
  var ecModel = this.ecInstance.getModel();
107
187
  var api = this.api;
108
188
 
109
- each(stageHandlers, function (handler) {
189
+ each(this._allHandlers, function (handler) {
110
190
  var record = stageTaskMap.get(handler.uid) || stageTaskMap.set(handler.uid, []);
111
191
 
112
192
  handler.reset && createSeriesStageTask(this, handler, record, ecModel, api);
@@ -128,16 +208,16 @@ proto.prepareView = function (view, model, ecModel, api) {
128
208
  };
129
209
 
130
210
 
131
- proto.performDataProcessorTasks = function (stageHandlers, ecModel, payload) {
211
+ proto.performDataProcessorTasks = function (ecModel, payload) {
132
212
  // If we do not use `block` here, it should be considered when to update modes.
133
- performStageTasks(this, stageHandlers, ecModel, payload, {block: true});
213
+ performStageTasks(this, this._dataProcessorHandlers, ecModel, payload, {block: true});
134
214
  };
135
215
 
136
216
  // opt
137
217
  // opt.visualType: 'visual' or 'layout'
138
218
  // opt.setDirty
139
- proto.performVisualTasks = function (stageHandlers, ecModel, payload, opt) {
140
- performStageTasks(this, stageHandlers, ecModel, payload, opt);
219
+ proto.performVisualTasks = function (ecModel, payload, opt) {
220
+ performStageTasks(this, this._visualHandlers, ecModel, payload, opt);
141
221
  };
142
222
 
143
223
  function performStageTasks(scheduler, stageHandlers, ecModel, payload, opt) {
@@ -212,7 +292,7 @@ proto.plan = function () {
212
292
  var task = pipeline.tail;
213
293
  do {
214
294
  if (task.__block) {
215
- pipeline.bockIndex = task.__idxInPipeline;
295
+ pipeline.blockIndex = task.__idxInPipeline;
216
296
  break;
217
297
  }
218
298
  task = task.getUpstream();
@@ -295,7 +375,7 @@ function createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecM
295
375
  var seriesType = stageHandler.seriesType;
296
376
  var getTargetSeries = stageHandler.getTargetSeries;
297
377
  var overallProgress = true;
298
- var isOverallFilter = stageHandler.isOverallFilter;
378
+ var modifyOutputEnd = stageHandler.modifyOutputEnd;
299
379
 
300
380
  // An overall task with seriesType detected or has `getTargetSeries`, we add
301
381
  // stub in each pipelines, it will set the overall task dirty when the pipeline
@@ -318,13 +398,19 @@ function createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecM
318
398
 
319
399
  function createStub(seriesModel) {
320
400
  var pipelineId = seriesModel.uid;
321
- var stub = agentStubMap.get(pipelineId) || agentStubMap.set(pipelineId, createTask(
322
- {reset: stubReset, onDirty: stubOnDirty}
323
- ));
401
+ var stub = agentStubMap.get(pipelineId);
402
+ if (!stub) {
403
+ stub = agentStubMap.set(pipelineId, createTask(
404
+ {reset: stubReset, onDirty: stubOnDirty}
405
+ ));
406
+ // When the result of `getTargetSeries` changed, the overallTask
407
+ // should be set as dirty and re-performed.
408
+ overallTask.dirty();
409
+ }
324
410
  stub.context = {
325
411
  model: seriesModel,
326
412
  overallProgress: overallProgress,
327
- isOverallFilter: isOverallFilter
413
+ modifyOutputEnd: modifyOutputEnd
328
414
  };
329
415
  stub.agent = overallTask;
330
416
  stub.__block = overallProgress;
@@ -337,6 +423,9 @@ function createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecM
337
423
  agentStubMap.each(function (stub, pipelineId) {
338
424
  if (!pipelineMap.get(pipelineId)) {
339
425
  stub.dispose();
426
+ // When the result of `getTargetSeries` changed, the overallTask
427
+ // should be set as dirty and re-performed.
428
+ overallTask.dirty();
340
429
  agentStubMap.removeKey(pipelineId);
341
430
  }
342
431
  });
@@ -374,17 +463,20 @@ function seriesTaskReset(context) {
374
463
  var resetDefines = context.resetDefines = normalizeToArray(context.reset(
375
464
  context.model, context.ecModel, context.api, context.payload
376
465
  ));
377
- if (resetDefines.length) {
378
- return seriesTaskProgress;
379
- }
466
+ return resetDefines.length > 1
467
+ ? map(resetDefines, function (v, idx) {
468
+ return makeSeriesTaskProgress(idx);
469
+ })
470
+ : singleSeriesTaskProgress;
380
471
  }
381
472
 
382
- function seriesTaskProgress(params, context) {
383
- var data = context.data;
384
- var resetDefines = context.resetDefines;
473
+ var singleSeriesTaskProgress = makeSeriesTaskProgress(0);
474
+
475
+ function makeSeriesTaskProgress(resetDefineIdx) {
476
+ return function (params, context) {
477
+ var data = context.data;
478
+ var resetDefine = context.resetDefines[resetDefineIdx];
385
479
 
386
- for (var k = 0; k < resetDefines.length; k++) {
387
- var resetDefine = resetDefines[k];
388
480
  if (resetDefine && resetDefine.dataEach) {
389
481
  for (var i = params.start; i < params.end; i++) {
390
482
  resetDefine.dataEach(data, i);
@@ -393,7 +485,7 @@ function seriesTaskProgress(params, context) {
393
485
  else if (resetDefine && resetDefine.progress) {
394
486
  resetDefine.progress(params, data);
395
487
  }
396
- }
488
+ };
397
489
  }
398
490
 
399
491
  function seriesTaskCount(context) {
@@ -1,4 +1,23 @@
1
- import {assert} from 'zrender/src/core/util';
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an
14
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ * KIND, either express or implied. See the License for the
16
+ * specific language governing permissions and limitations
17
+ * under the License.
18
+ */
19
+
20
+ import {assert, isArray} from 'zrender/src/core/util';
2
21
  import { __DEV__ } from '../config';
3
22
 
4
23
  /**
@@ -38,9 +57,10 @@ var taskProto = Task.prototype;
38
57
  * @param {Object} performArgs
39
58
  * @param {number} [performArgs.step] Specified step.
40
59
  * @param {number} [performArgs.skip] Skip customer perform call.
60
+ * @param {number} [performArgs.modBy] Sampling window size.
61
+ * @param {number} [performArgs.modDataCount] Sampling count.
41
62
  */
42
63
  taskProto.perform = function (performArgs) {
43
-
44
64
  var upTask = this._upstream;
45
65
  var skip = performArgs && performArgs.skip;
46
66
 
@@ -61,11 +81,30 @@ taskProto.perform = function (performArgs) {
61
81
  planResult = this._plan(this.context);
62
82
  }
63
83
 
84
+ // Support sharding by mod, which changes the render sequence and makes the rendered graphic
85
+ // elements uniformed distributed when progress, especially when moving or zooming.
86
+ var lastModBy = normalizeModBy(this._modBy);
87
+ var lastModDataCount = this._modDataCount || 0;
88
+ var modBy = normalizeModBy(performArgs && performArgs.modBy);
89
+ var modDataCount = performArgs && performArgs.modDataCount || 0;
90
+ if (lastModBy !== modBy || lastModDataCount !== modDataCount) {
91
+ planResult = 'reset';
92
+ }
93
+
94
+ function normalizeModBy(val) {
95
+ !(val >= 1) && (val = 1); // jshint ignore:line
96
+ return val;
97
+ }
98
+
99
+ var forceFirstProgress;
64
100
  if (this._dirty || planResult === 'reset') {
65
101
  this._dirty = false;
66
- reset(this, skip);
102
+ forceFirstProgress = reset(this, skip);
67
103
  }
68
104
 
105
+ this._modBy = modBy;
106
+ this._modDataCount = modDataCount;
107
+
69
108
  var step = performArgs && performArgs.step;
70
109
 
71
110
  if (upTask) {
@@ -73,8 +112,6 @@ taskProto.perform = function (performArgs) {
73
112
  if (__DEV__) {
74
113
  assert(upTask._outputDueEnd != null);
75
114
  }
76
- // ??? FIXME move to schedueler?
77
- // this._dueEnd = Math.max(upTask._outputDueEnd, this._dueEnd);
78
115
  this._dueEnd = upTask._outputDueEnd;
79
116
  }
80
117
  // DataTask or overallTask
@@ -94,9 +131,17 @@ taskProto.perform = function (performArgs) {
94
131
  this._dueEnd
95
132
  );
96
133
 
97
- !skip && start < end && (
98
- this._progress({start: start, end: end}, this.context)
99
- );
134
+ if (!skip && (forceFirstProgress || start < end)) {
135
+ var progress = this._progress;
136
+ if (isArray(progress)) {
137
+ for (var i = 0; i < progress.length; i++) {
138
+ doProgress(this, progress[i], start, end, modBy, modDataCount);
139
+ }
140
+ }
141
+ else {
142
+ doProgress(this, progress, start, end, modBy, modDataCount);
143
+ }
144
+ }
100
145
 
101
146
  this._dueIndex = end;
102
147
  // If no `outputDueEnd`, assume that output data and
@@ -122,24 +167,86 @@ taskProto.perform = function (performArgs) {
122
167
  return this.unfinished();
123
168
  };
124
169
 
170
+ var iterator = (function () {
171
+
172
+ var end;
173
+ var current;
174
+ var modBy;
175
+ var modDataCount;
176
+ var winCount;
177
+
178
+ var it = {
179
+ reset: function (s, e, sStep, sCount) {
180
+ current = s;
181
+ end = e;
182
+
183
+ modBy = sStep;
184
+ modDataCount = sCount;
185
+ winCount = Math.ceil(modDataCount / modBy);
186
+
187
+ it.next = (modBy > 1 && modDataCount > 0) ? modNext : sequentialNext;
188
+ }
189
+ };
190
+
191
+ return it;
192
+
193
+ function sequentialNext() {
194
+ return current < end ? current++ : null;
195
+ }
196
+
197
+ function modNext() {
198
+ var dataIndex = (current % winCount) * modBy + Math.ceil(current / winCount);
199
+ var result = current >= end
200
+ ? null
201
+ : dataIndex < modDataCount
202
+ ? dataIndex
203
+ // If modDataCount is smaller than data.count() (consider `appendData` case),
204
+ // Use normal linear rendering mode.
205
+ : current;
206
+ current++;
207
+ return result;
208
+ }
209
+ })();
210
+
125
211
  taskProto.dirty = function () {
126
212
  this._dirty = true;
127
213
  this._onDirty && this._onDirty(this.context);
128
214
  };
129
215
 
130
- /**
131
- * @param {Object} [params]
132
- */
216
+ function doProgress(taskIns, progress, start, end, modBy, modDataCount) {
217
+ iterator.reset(start, end, modBy, modDataCount);
218
+ taskIns._callingProgress = progress;
219
+ taskIns._callingProgress({
220
+ start: start, end: end, count: end - start, next: iterator.next
221
+ }, taskIns.context);
222
+ }
223
+
133
224
  function reset(taskIns, skip) {
134
225
  taskIns._dueIndex = taskIns._outputDueEnd = taskIns._dueEnd = 0;
135
226
  taskIns._settedOutputEnd = null;
136
227
 
137
- taskIns._progress = !skip && taskIns._reset && taskIns._reset(
138
- taskIns.context
139
- );
228
+ var progress;
229
+ var forceFirstProgress;
230
+
231
+ if (!skip && taskIns._reset) {
232
+ progress = taskIns._reset(taskIns.context);
233
+ if (progress && progress.progress) {
234
+ forceFirstProgress = progress.forceFirstProgress;
235
+ progress = progress.progress;
236
+ }
237
+ // To simplify no progress checking, array must has item.
238
+ if (isArray(progress) && !progress.length) {
239
+ progress = null;
240
+ }
241
+ }
242
+
243
+ taskIns._progress = progress;
244
+ taskIns._modBy = taskIns._modDataCount = null;
140
245
 
141
246
  var downstream = taskIns._downstream;
142
247
  downstream && downstream.dirty();
248
+
249
+ return forceFirstProgress;
143
250
  }
144
251
 
145
252
  /**
@@ -187,12 +294,55 @@ taskProto.getDownstream = function () {
187
294
  };
188
295
 
189
296
  taskProto.setOutputEnd = function (end) {
190
- // ??? FIXME: check
191
297
  // This only happend in dataTask, dataZoom, map, currently.
192
298
  // where dataZoom do not set end each time, but only set
193
299
  // when reset. So we should record the setted end, in case
194
300
  // that the stub of dataZoom perform again and earse the
195
301
  // setted end by upstream.
196
302
  this._outputDueEnd = this._settedOutputEnd = end;
197
- // this._outputDueEnd = end;
198
303
  };
304
+
305
+
306
+ ///////////////////////////////////////////////////////////
307
+ // For stream debug (Should be commented out after used!)
308
+ // Usage: printTask(this, 'begin');
309
+ // Usage: printTask(this, null, {someExtraProp});
310
+ // function printTask(task, prefix, extra) {
311
+ // window.ecTaskUID == null && (window.ecTaskUID = 0);
312
+ // task.uidDebug == null && (task.uidDebug = `task_${window.ecTaskUID++}`);
313
+ // task.agent && task.agent.uidDebug == null && (task.agent.uidDebug = `task_${window.ecTaskUID++}`);
314
+ // var props = [];
315
+ // if (task.__pipeline) {
316
+ // var val = `${task.__idxInPipeline}/${task.__pipeline.tail.__idxInPipeline} ${task.agent ? '(stub)' : ''}`;
317
+ // props.push({text: 'idx', value: val});
318
+ // } else {
319
+ // var stubCount = 0;
320
+ // task.agentStubMap.each(() => stubCount++);
321
+ // props.push({text: 'idx', value: `overall (stubs: ${stubCount})`});
322
+ // }
323
+ // props.push({text: 'uid', value: task.uidDebug});
324
+ // if (task.__pipeline) {
325
+ // props.push({text: 'pid', value: task.__pipeline.id});
326
+ // task.agent && props.push(
327
+ // {text: 'stubFor', value: task.agent.uidDebug}
328
+ // );
329
+ // }
330
+ // props.push(
331
+ // {text: 'dirty', value: task._dirty},
332
+ // {text: 'dueIndex', value: task._dueIndex},
333
+ // {text: 'dueEnd', value: task._dueEnd},
334
+ // {text: 'outputDueEnd', value: task._outputDueEnd}
335
+ // );
336
+ // if (extra) {
337
+ // Object.keys(extra).forEach(key => {
338
+ // props.push({text: key, value: extra[key]});
339
+ // });
340
+ // }
341
+ // var args = ['color: blue'];
342
+ // var msg = `%c[${prefix || 'T'}] %c` + props.map(item => (
343
+ // args.push('color: black', 'color: red'),
344
+ // `${item.text}: %c${item.value}`
345
+ // )).join('%c, ');
346
+ // console.log.apply(console, [msg].concat(args));
347
+ // // console.log(this);
348
+ // }
package/src/theme/dark.js CHANGED
@@ -1,3 +1,22 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an
14
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ * KIND, either express or implied. See the License for the
16
+ * specific language governing permissions and limitations
17
+ * under the License.
18
+ */
19
+
1
20
  var contrastColor = '#eee';
2
21
  var axisCommon = function () {
3
22
  return {
@@ -1,3 +1,22 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an
14
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ * KIND, either express or implied. See the License for the
16
+ * specific language governing permissions and limitations
17
+ * under the License.
18
+ */
19
+
1
20
  var colorAll = ['#37A2DA', '#32C5E9', '#67E0E3', '#9FE6B8', '#FFDB5C','#ff9f7f', '#fb7293', '#E062AE', '#E690D1', '#e7bcf3', '#9d96f5', '#8378EA', '#96BFFF'];
2
21
 
3
22
  export default {
@@ -1,3 +1,22 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an
14
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ * KIND, either express or implied. See the License for the
16
+ * specific language governing permissions and limitations
17
+ * under the License.
18
+ */
19
+
1
20
  /**
2
21
  * K-Dimension Tree
3
22
  *
@@ -1,3 +1,22 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an
14
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ * KIND, either express or implied. See the License for the
16
+ * specific language governing permissions and limitations
17
+ * under the License.
18
+ */
19
+
1
20
  import * as zrUtil from 'zrender/src/core/util';
2
21
 
3
22
  /**
@@ -1,3 +1,22 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an
14
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ * KIND, either express or implied. See the License for the
16
+ * specific language governing permissions and limitations
17
+ * under the License.
18
+ */
19
+
1
20
  import * as zrUtil from 'zrender/src/core/util';
2
21
 
3
22
  /**
package/src/util/clazz.js CHANGED
@@ -1,3 +1,22 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an
14
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ * KIND, either express or implied. See the License for the
16
+ * specific language governing permissions and limitations
17
+ * under the License.
18
+ */
19
+
1
20
  import {__DEV__} from '../config';
2
21
  import * as zrUtil from 'zrender/src/core/util';
3
22