echarts 4.0.4 → 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 +1 -1
  2. package/KEYS +74 -0
  3. package/LICENSE +223 -29
  4. package/NOTICE +5 -0
  5. package/README.md +8 -1
  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 +5624 -1049
  17. package/dist/echarts-en.common.min.js +21 -1
  18. package/dist/echarts-en.js +10720 -1979
  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 +3835 -869
  22. package/dist/echarts-en.simple.min.js +21 -1
  23. package/dist/echarts.common.js +5624 -1049
  24. package/dist/echarts.common.min.js +21 -1
  25. package/dist/echarts.js +10720 -1979
  26. package/dist/echarts.js.map +1 -1
  27. package/dist/echarts.min.js +21 -1
  28. package/dist/echarts.simple.js +3835 -869
  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 +112 -14
  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 +18 -0
  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 +18 -0
  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 +53 -12
  130. package/lib/chart/helper/SymbolDraw.js +22 -2
  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 +19 -0
  134. package/lib/chart/helper/createListSimply.js +19 -0
  135. package/lib/chart/helper/createRenderPlanner.js +21 -2
  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 -27
  139. package/lib/chart/line/LineSeries.js +25 -10
  140. package/lib/chart/line/LineView.js +122 -41
  141. package/lib/chart/line/helper.js +39 -4
  142. package/lib/chart/line/lineAnimationDiff.js +18 -0
  143. package/lib/chart/line/poly.js +62 -36
  144. package/lib/chart/line.js +18 -0
  145. package/lib/chart/lines/LinesSeries.js +25 -4
  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 +18 -0
  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 +19 -0
  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 +18 -0
  166. package/lib/chart/pie.js +18 -0
  167. package/lib/chart/radar/RadarSeries.js +19 -0
  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 +24 -0
  182. package/lib/chart/sunburst/SunburstSeries.js +18 -0
  183. package/lib/chart/sunburst/SunburstView.js +27 -9
  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 +39 -69
  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 +18 -0
  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 +18 -0
  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 +18 -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 +18 -0
  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 +19 -0
  265. package/lib/component/helper/sliderMove.js +19 -0
  266. package/lib/component/legend/LegendModel.js +19 -0
  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 +18 -0
  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 +25 -1
  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 +41 -31
  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 +18 -0
  314. package/lib/component/visualMap/ContinuousView.js +18 -0
  315. package/lib/component/visualMap/PiecewiseModel.js +19 -0
  316. package/lib/component/visualMap/PiecewiseView.js +18 -0
  317. package/lib/component/visualMap/VisualMapModel.js +18 -0
  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 +164 -85
  328. package/lib/coord/View.js +19 -0
  329. package/lib/coord/axisDefault.js +52 -42
  330. package/lib/coord/axisHelper.js +120 -85
  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 +19 -1
  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 +18 -0
  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 +184 -121
  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 +26 -2
  384. package/lib/data/helper/createDimensions.js +19 -0
  385. package/lib/data/helper/dataProvider.js +22 -4
  386. package/lib/data/helper/dataStackHelper.js +50 -5
  387. package/lib/data/helper/dimensionHelper.js +26 -1
  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 +38 -16
  392. package/lib/export.js +19 -0
  393. package/lib/helper.js +21 -1
  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 +139 -22
  399. package/lib/layout/barPolar.js +21 -1
  400. package/lib/layout/points.js +30 -7
  401. package/lib/loading/default.js +18 -0
  402. package/lib/model/Component.js +19 -0
  403. package/lib/model/Global.js +19 -1
  404. package/lib/model/Model.js +19 -0
  405. package/lib/model/OptionManager.js +19 -0
  406. package/lib/model/Series.js +21 -2
  407. package/lib/model/globalDefault.js +18 -0
  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 +19 -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 +20 -0
  419. package/lib/processor/dataFilter.js +18 -0
  420. package/lib/processor/dataSample.js +27 -5
  421. package/lib/processor/dataStack.js +18 -0
  422. package/lib/scale/Interval.js +19 -14
  423. package/lib/scale/Log.js +19 -0
  424. package/lib/scale/Ordinal.js +26 -1
  425. package/lib/scale/Scale.js +26 -15
  426. package/lib/scale/Time.js +18 -0
  427. package/lib/scale/helper.js +19 -0
  428. package/lib/stream/Scheduler.js +110 -37
  429. package/lib/stream/task.js +104 -11
  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 +30 -1
  438. package/lib/util/graphic.js +19 -0
  439. package/lib/util/layout.js +18 -0
  440. package/lib/util/model.js +19 -0
  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 +20 -2
  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 +18 -0
  450. package/lib/visual/seriesColor.js +18 -0
  451. package/lib/visual/symbol.js +28 -2
  452. package/lib/visual/visualDefault.js +19 -0
  453. package/lib/visual/visualSolution.js +22 -1
  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 +120 -16
  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 +19 -0
  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 +19 -0
  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 +60 -14
  565. package/src/chart/helper/SymbolDraw.js +23 -2
  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 +19 -0
  569. package/src/chart/helper/createListSimply.js +19 -0
  570. package/src/chart/helper/createRenderPlanner.js +21 -2
  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 -32
  574. package/src/chart/line/LineSeries.js +28 -10
  575. package/src/chart/line/LineView.js +127 -38
  576. package/src/chart/line/helper.js +31 -5
  577. package/src/chart/line/lineAnimationDiff.js +19 -0
  578. package/src/chart/line/poly.js +64 -39
  579. package/src/chart/line.js +19 -0
  580. package/src/chart/lines/LinesSeries.js +27 -4
  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 +19 -0
  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 +19 -0
  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 +19 -0
  601. package/src/chart/pie.js +19 -0
  602. package/src/chart/radar/RadarSeries.js +19 -0
  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 +24 -0
  617. package/src/chart/sunburst/SunburstSeries.js +19 -0
  618. package/src/chart/sunburst/SunburstView.js +28 -9
  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 +43 -88
  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 +19 -0
  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 +19 -0
  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 +19 -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 +19 -0
  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 +19 -0
  707. package/src/component/helper/sliderMove.js +19 -0
  708. package/src/component/legend/LegendModel.js +19 -0
  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 +19 -0
  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 +24 -1
  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 +40 -31
  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 +19 -0
  761. package/src/component/visualMap/ContinuousView.js +19 -0
  762. package/src/component/visualMap/PiecewiseModel.js +19 -0
  763. package/src/component/visualMap/PiecewiseView.js +19 -0
  764. package/src/component/visualMap/VisualMapModel.js +19 -0
  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 +157 -98
  776. package/src/coord/View.js +19 -0
  777. package/src/coord/axisDefault.js +68 -41
  778. package/src/coord/axisHelper.js +127 -86
  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 +23 -1
  783. package/src/coord/calendar/CalendarModel.js +19 -0
  784. package/src/coord/calendar/prepareCustom.js +19 -0
  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 +19 -0
  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 +163 -87
  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 +24 -2
  832. package/src/data/helper/createDimensions.js +19 -0
  833. package/src/data/helper/dataProvider.js +23 -4
  834. package/src/data/helper/dataStackHelper.js +46 -9
  835. package/src/data/helper/dimensionHelper.js +26 -1
  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 +37 -20
  840. package/src/export.js +19 -0
  841. package/src/helper.js +26 -2
  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 +135 -23
  847. package/src/layout/barPolar.js +20 -1
  848. package/src/layout/points.js +27 -7
  849. package/src/loading/default.js +19 -0
  850. package/src/model/Component.js +19 -0
  851. package/src/model/Global.js +19 -2
  852. package/src/model/Model.js +19 -0
  853. package/src/model/OptionManager.js +19 -0
  854. package/src/model/Series.js +21 -2
  855. package/src/model/globalDefault.js +19 -0
  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 +19 -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 +22 -0
  867. package/src/processor/dataFilter.js +19 -0
  868. package/src/processor/dataSample.js +29 -3
  869. package/src/processor/dataStack.js +19 -0
  870. package/src/scale/Interval.js +19 -12
  871. package/src/scale/Log.js +19 -0
  872. package/src/scale/Ordinal.js +27 -1
  873. package/src/scale/Scale.js +26 -12
  874. package/src/scale/Time.js +19 -0
  875. package/src/scale/helper.js +19 -0
  876. package/src/stream/Scheduler.js +110 -34
  877. package/src/stream/task.js +105 -11
  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 +34 -6
  886. package/src/util/graphic.js +19 -0
  887. package/src/util/layout.js +19 -0
  888. package/src/util/model.js +20 -0
  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 +21 -2
  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 +19 -0
  898. package/src/visual/seriesColor.js +19 -0
  899. package/src/visual/symbol.js +34 -2
  900. package/src/visual/visualDefault.js +19 -0
  901. package/src/visual/visualSolution.js +21 -1
  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 -222
  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 -233
  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';
@@ -13,8 +32,6 @@ import {normalizeToArray} from '../util/model';
13
32
  * @constructor
14
33
  */
15
34
  function Scheduler(ecInstance, api, dataProcessorHandlers, visualHandlers) {
16
- // this._pipelineMap = createHashMap();
17
-
18
35
  this.ecInstance = ecInstance;
19
36
  this.api = api;
20
37
  this.unfinished;
@@ -23,8 +40,9 @@ function Scheduler(ecInstance, api, dataProcessorHandlers, visualHandlers) {
23
40
  // processors might be registered after echarts instance created.
24
41
  // Register processors incrementally for a echarts instance is
25
42
  // not supported by this stream architecture.
26
- this._dataProcessorHandlers = dataProcessorHandlers.slice();
27
- this._visualHandlers = visualHandlers.slice();
43
+ var dataProcessorHandlers = this._dataProcessorHandlers = dataProcessorHandlers.slice();
44
+ var visualHandlers = this._visualHandlers = visualHandlers.slice();
45
+ this._allHandlers = dataProcessorHandlers.concat(visualHandlers);
28
46
 
29
47
  /**
30
48
  * @private
@@ -42,6 +60,44 @@ function Scheduler(ecInstance, api, dataProcessorHandlers, visualHandlers) {
42
60
 
43
61
  var proto = Scheduler.prototype;
44
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
+
45
101
  // If seriesModel provided, incremental threshold is check by series data.
46
102
  proto.getPerformArgs = function (task, isBlock) {
47
103
  // For overall task
@@ -53,10 +109,14 @@ proto.getPerformArgs = function (task, isBlock) {
53
109
  var pCtx = pipeline.context;
54
110
  var incremental = !isBlock
55
111
  && pipeline.progressiveEnabled
56
- && (!pCtx || pCtx.canProgressiveRender)
57
- && 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;
58
118
 
59
- return {step: incremental ? pipeline.step : null};
119
+ return {step: step, modBy: modBy, modDataCount: modDataCount};
60
120
  };
61
121
 
62
122
  proto.getPipeline = function (pipelineId) {
@@ -75,19 +135,24 @@ proto.updateStreamModes = function (seriesModel, view) {
75
135
  var data = seriesModel.getData();
76
136
  var dataLen = data.count();
77
137
 
78
- // `canProgressiveRender` means that can render progressively in each
138
+ // `progressiveRender` means that can render progressively in each
79
139
  // animation frame. Note that some types of series do not provide
80
140
  // `view.incrementalPrepareRender` but support `chart.appendData`. We
81
141
  // use the term `incremental` but not `progressive` to describe the
82
142
  // case that `chart.appendData`.
83
- var canProgressiveRender = pipeline.progressiveEnabled
143
+ var progressiveRender = pipeline.progressiveEnabled
84
144
  && view.incrementalPrepareRender
85
145
  && dataLen >= pipeline.threshold;
86
146
 
87
147
  var large = seriesModel.get('large') && dataLen >= seriesModel.get('largeThreshold');
88
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
+
89
153
  seriesModel.pipelineContext = pipeline.context = {
90
- canProgressiveRender: canProgressiveRender,
154
+ progressiveRender: progressiveRender,
155
+ modDataCount: modDataCount,
91
156
  large: large
92
157
  };
93
158
  };
@@ -95,6 +160,7 @@ proto.updateStreamModes = function (seriesModel, view) {
95
160
  proto.restorePipelines = function (ecModel) {
96
161
  var scheduler = this;
97
162
  var pipelineMap = scheduler._pipelineMap = createHashMap();
163
+
98
164
  ecModel.eachSeries(function (seriesModel) {
99
165
  var progressive = seriesModel.getProgressive();
100
166
  var pipelineId = seriesModel.uid;
@@ -106,8 +172,8 @@ proto.restorePipelines = function (ecModel) {
106
172
  threshold: seriesModel.getProgressiveThreshold(),
107
173
  progressiveEnabled: progressive
108
174
  && !(seriesModel.preventIncremental && seriesModel.preventIncremental()),
109
- bockIndex: -1,
110
- step: progressive || 700, // ??? Temporarily number
175
+ blockIndex: -1,
176
+ step: Math.round(progressive || 700),
111
177
  count: 0
112
178
  });
113
179
 
@@ -120,13 +186,11 @@ proto.prepareStageTasks = function () {
120
186
  var ecModel = this.ecInstance.getModel();
121
187
  var api = this.api;
122
188
 
123
- each([this._dataProcessorHandlers, this._visualHandlers], function (stageHandlers) {
124
- each(stageHandlers, function (handler) {
125
- var record = stageTaskMap.get(handler.uid) || stageTaskMap.set(handler.uid, []);
189
+ each(this._allHandlers, function (handler) {
190
+ var record = stageTaskMap.get(handler.uid) || stageTaskMap.set(handler.uid, []);
126
191
 
127
- handler.reset && createSeriesStageTask(this, handler, record, ecModel, api);
128
- handler.overallReset && createOverallStageTask(this, handler, record, ecModel, api);
129
- }, this);
192
+ handler.reset && createSeriesStageTask(this, handler, record, ecModel, api);
193
+ handler.overallReset && createOverallStageTask(this, handler, record, ecModel, api);
130
194
  }, this);
131
195
  };
132
196
 
@@ -228,7 +292,7 @@ proto.plan = function () {
228
292
  var task = pipeline.tail;
229
293
  do {
230
294
  if (task.__block) {
231
- pipeline.bockIndex = task.__idxInPipeline;
295
+ pipeline.blockIndex = task.__idxInPipeline;
232
296
  break;
233
297
  }
234
298
  task = task.getUpstream();
@@ -311,7 +375,7 @@ function createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecM
311
375
  var seriesType = stageHandler.seriesType;
312
376
  var getTargetSeries = stageHandler.getTargetSeries;
313
377
  var overallProgress = true;
314
- var isOverallFilter = stageHandler.isOverallFilter;
378
+ var modifyOutputEnd = stageHandler.modifyOutputEnd;
315
379
 
316
380
  // An overall task with seriesType detected or has `getTargetSeries`, we add
317
381
  // stub in each pipelines, it will set the overall task dirty when the pipeline
@@ -334,13 +398,19 @@ function createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecM
334
398
 
335
399
  function createStub(seriesModel) {
336
400
  var pipelineId = seriesModel.uid;
337
- var stub = agentStubMap.get(pipelineId) || agentStubMap.set(pipelineId, createTask(
338
- {reset: stubReset, onDirty: stubOnDirty}
339
- ));
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
+ }
340
410
  stub.context = {
341
411
  model: seriesModel,
342
412
  overallProgress: overallProgress,
343
- isOverallFilter: isOverallFilter
413
+ modifyOutputEnd: modifyOutputEnd
344
414
  };
345
415
  stub.agent = overallTask;
346
416
  stub.__block = overallProgress;
@@ -353,6 +423,9 @@ function createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecM
353
423
  agentStubMap.each(function (stub, pipelineId) {
354
424
  if (!pipelineMap.get(pipelineId)) {
355
425
  stub.dispose();
426
+ // When the result of `getTargetSeries` changed, the overallTask
427
+ // should be set as dirty and re-performed.
428
+ overallTask.dirty();
356
429
  agentStubMap.removeKey(pipelineId);
357
430
  }
358
431
  });
@@ -390,17 +463,20 @@ function seriesTaskReset(context) {
390
463
  var resetDefines = context.resetDefines = normalizeToArray(context.reset(
391
464
  context.model, context.ecModel, context.api, context.payload
392
465
  ));
393
- if (resetDefines.length) {
394
- return seriesTaskProgress;
395
- }
466
+ return resetDefines.length > 1
467
+ ? map(resetDefines, function (v, idx) {
468
+ return makeSeriesTaskProgress(idx);
469
+ })
470
+ : singleSeriesTaskProgress;
396
471
  }
397
472
 
398
- function seriesTaskProgress(params, context) {
399
- var data = context.data;
400
- 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];
401
479
 
402
- for (var k = 0; k < resetDefines.length; k++) {
403
- var resetDefine = resetDefines[k];
404
480
  if (resetDefine && resetDefine.dataEach) {
405
481
  for (var i = params.start; i < params.end; i++) {
406
482
  resetDefine.dataEach(data, i);
@@ -409,7 +485,7 @@ function seriesTaskProgress(params, context) {
409
485
  else if (resetDefine && resetDefine.progress) {
410
486
  resetDefine.progress(params, data);
411
487
  }
412
- }
488
+ };
413
489
  }
414
490
 
415
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,6 +57,8 @@ 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
64
  var upTask = this._upstream;
@@ -60,12 +81,30 @@ taskProto.perform = function (performArgs) {
60
81
  planResult = this._plan(this.context);
61
82
  }
62
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
+
63
99
  var forceFirstProgress;
64
100
  if (this._dirty || planResult === 'reset') {
65
101
  this._dirty = false;
66
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 && (forceFirstProgress || 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,14 +167,60 @@ 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;
@@ -143,9 +234,14 @@ function reset(taskIns, skip) {
143
234
  forceFirstProgress = progress.forceFirstProgress;
144
235
  progress = progress.progress;
145
236
  }
237
+ // To simplify no progress checking, array must has item.
238
+ if (isArray(progress) && !progress.length) {
239
+ progress = null;
240
+ }
146
241
  }
147
242
 
148
243
  taskIns._progress = progress;
244
+ taskIns._modBy = taskIns._modDataCount = null;
149
245
 
150
246
  var downstream = taskIns._downstream;
151
247
  downstream && downstream.dirty();
@@ -198,14 +294,12 @@ taskProto.getDownstream = function () {
198
294
  };
199
295
 
200
296
  taskProto.setOutputEnd = function (end) {
201
- // ??? FIXME: check
202
297
  // This only happend in dataTask, dataZoom, map, currently.
203
298
  // where dataZoom do not set end each time, but only set
204
299
  // when reset. So we should record the setted end, in case
205
300
  // that the stub of dataZoom perform again and earse the
206
301
  // setted end by upstream.
207
302
  this._outputDueEnd = this._settedOutputEnd = end;
208
- // this._outputDueEnd = end;
209
303
  };
210
304
 
211
305
 
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
 
@@ -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
  import {parseClassType} from './clazz';
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
  import * as textContain from 'zrender/src/contain/text';
3
22
  import * as numberUtil from './number';
@@ -35,13 +54,22 @@ export function toCamelCase(str, upperCaseFirst) {
35
54
 
36
55
  export var normalizeCssArray = zrUtil.normalizeCssArray;
37
56
 
57
+
58
+ var replaceReg = /([&<>"'])/g;
59
+ var replaceMap = {
60
+ '&': '&amp;',
61
+ '<': '&lt;',
62
+ '>': '&gt;',
63
+ '"': '&quot;',
64
+ '\'': '&#39;'
65
+ };
66
+
38
67
  export function encodeHTML(source) {
39
- return String(source)
40
- .replace(/&/g, '&amp;')
41
- .replace(/</g, '&lt;')
42
- .replace(/>/g, '&gt;')
43
- .replace(/"/g, '&quot;')
44
- .replace(/'/g, '&#39;');
68
+ return source == null
69
+ ? ''
70
+ : (source + '').replace(replaceReg, function (str, c) {
71
+ return replaceMap[c];
72
+ });
45
73
  }
46
74
 
47
75
  var TPL_VAR_ALIAS = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];