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,6 +1,8 @@
1
1
  var _util = require("zrender/lib/core/util");
2
2
 
3
3
  var each = _util.each;
4
+ var map = _util.map;
5
+ var isArray = _util.isArray;
4
6
  var isFunction = _util.isFunction;
5
7
  var createHashMap = _util.createHashMap;
6
8
  var noop = _util.noop;
@@ -21,6 +23,25 @@ var _model = require("../util/model");
21
23
 
22
24
  var normalizeToArray = _model.normalizeToArray;
23
25
 
26
+ /*
27
+ * Licensed to the Apache Software Foundation (ASF) under one
28
+ * or more contributor license agreements. See the NOTICE file
29
+ * distributed with this work for additional information
30
+ * regarding copyright ownership. The ASF licenses this file
31
+ * to you under the Apache License, Version 2.0 (the
32
+ * "License"); you may not use this file except in compliance
33
+ * with the License. You may obtain a copy of the License at
34
+ *
35
+ * http://www.apache.org/licenses/LICENSE-2.0
36
+ *
37
+ * Unless required by applicable law or agreed to in writing,
38
+ * software distributed under the License is distributed on an
39
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
40
+ * KIND, either express or implied. See the License for the
41
+ * specific language governing permissions and limitations
42
+ * under the License.
43
+ */
44
+
24
45
  /**
25
46
  * @module echarts/stream/Scheduler
26
47
  */
@@ -29,7 +50,6 @@ var normalizeToArray = _model.normalizeToArray;
29
50
  * @constructor
30
51
  */
31
52
  function Scheduler(ecInstance, api, dataProcessorHandlers, visualHandlers) {
32
- // this._pipelineMap = createHashMap();
33
53
  this.ecInstance = ecInstance;
34
54
  this.api = api;
35
55
  this.unfinished; // Fix current processors in case that in some rear cases that
@@ -37,8 +57,9 @@ function Scheduler(ecInstance, api, dataProcessorHandlers, visualHandlers) {
37
57
  // Register processors incrementally for a echarts instance is
38
58
  // not supported by this stream architecture.
39
59
 
40
- this._dataProcessorHandlers = dataProcessorHandlers.slice();
41
- this._visualHandlers = visualHandlers.slice();
60
+ var dataProcessorHandlers = this._dataProcessorHandlers = dataProcessorHandlers.slice();
61
+ var visualHandlers = this._visualHandlers = visualHandlers.slice();
62
+ this._allHandlers = dataProcessorHandlers.concat(visualHandlers);
42
63
  /**
43
64
  * @private
44
65
  * @type {
@@ -54,7 +75,43 @@ function Scheduler(ecInstance, api, dataProcessorHandlers, visualHandlers) {
54
75
  this._stageTaskMap = createHashMap();
55
76
  }
56
77
 
57
- var proto = Scheduler.prototype; // If seriesModel provided, incremental threshold is check by series data.
78
+ var proto = Scheduler.prototype;
79
+ /**
80
+ * @param {module:echarts/model/Global} ecModel
81
+ * @param {Object} payload
82
+ */
83
+
84
+ proto.restoreData = function (ecModel, payload) {
85
+ // TODO: Only restroe needed series and components, but not all components.
86
+ // Currently `restoreData` of all of the series and component will be called.
87
+ // But some independent components like `title`, `legend`, `graphic`, `toolbox`,
88
+ // `tooltip`, `axisPointer`, etc, do not need series refresh when `setOption`,
89
+ // and some components like coordinate system, axes, dataZoom, visualMap only
90
+ // need their target series refresh.
91
+ // (1) If we are implementing this feature some day, we should consider these cases:
92
+ // if a data processor depends on a component (e.g., dataZoomProcessor depends
93
+ // on the settings of `dataZoom`), it should be re-performed if the component
94
+ // is modified by `setOption`.
95
+ // (2) If a processor depends on sevral series, speicified by its `getTargetSeries`,
96
+ // it should be re-performed when the result array of `getTargetSeries` changed.
97
+ // We use `dependencies` to cover these issues.
98
+ // (3) How to update target series when coordinate system related components modified.
99
+ // TODO: simply the dirty mechanism? Check whether only the case here can set tasks dirty,
100
+ // and this case all of the tasks will be set as dirty.
101
+ ecModel.restoreData(payload); // Theoretically an overall task not only depends on each of its target series, but also
102
+ // depends on all of the series.
103
+ // The overall task is not in pipeline, and `ecModel.restoreData` only set pipeline tasks
104
+ // dirty. If `getTargetSeries` of an overall task returns nothing, we should also ensure
105
+ // that the overall task is set as dirty and to be performed, otherwise it probably cause
106
+ // state chaos. So we have to set dirty of all of the overall tasks manually, otherwise it
107
+ // probably cause state chaos (consider `dataZoomProcessor`).
108
+
109
+ this._stageTaskMap.each(function (taskRecord) {
110
+ var overallTask = taskRecord.overallTask;
111
+ overallTask && overallTask.dirty();
112
+ });
113
+ }; // If seriesModel provided, incremental threshold is check by series data.
114
+
58
115
 
59
116
  proto.getPerformArgs = function (task, isBlock) {
60
117
  // For overall task
@@ -65,9 +122,14 @@ proto.getPerformArgs = function (task, isBlock) {
65
122
  var pipeline = this._pipelineMap.get(task.__pipeline.id);
66
123
 
67
124
  var pCtx = pipeline.context;
68
- var incremental = !isBlock && pipeline.progressiveEnabled && (!pCtx || pCtx.canProgressiveRender) && task.__idxInPipeline > pipeline.bockIndex;
125
+ var incremental = !isBlock && pipeline.progressiveEnabled && (!pCtx || pCtx.progressiveRender) && task.__idxInPipeline > pipeline.blockIndex;
126
+ var step = incremental ? pipeline.step : null;
127
+ var modDataCount = pCtx && pCtx.modDataCount;
128
+ var modBy = modDataCount != null ? Math.ceil(modDataCount / step) : null;
69
129
  return {
70
- step: incremental ? pipeline.step : null
130
+ step: step,
131
+ modBy: modBy,
132
+ modDataCount: modDataCount
71
133
  };
72
134
  };
73
135
 
@@ -87,16 +149,20 @@ proto.updateStreamModes = function (seriesModel, view) {
87
149
  var pipeline = this._pipelineMap.get(seriesModel.uid);
88
150
 
89
151
  var data = seriesModel.getData();
90
- var dataLen = data.count(); // `canProgressiveRender` means that can render progressively in each
152
+ var dataLen = data.count(); // `progressiveRender` means that can render progressively in each
91
153
  // animation frame. Note that some types of series do not provide
92
154
  // `view.incrementalPrepareRender` but support `chart.appendData`. We
93
155
  // use the term `incremental` but not `progressive` to describe the
94
156
  // case that `chart.appendData`.
95
157
 
96
- var canProgressiveRender = pipeline.progressiveEnabled && view.incrementalPrepareRender && dataLen >= pipeline.threshold;
97
- var large = seriesModel.get('large') && dataLen >= seriesModel.get('largeThreshold');
158
+ var progressiveRender = pipeline.progressiveEnabled && view.incrementalPrepareRender && dataLen >= pipeline.threshold;
159
+ var large = seriesModel.get('large') && dataLen >= seriesModel.get('largeThreshold'); // TODO: modDataCount should not updated if `appendData`, otherwise cause whole repaint.
160
+ // see `test/candlestick-large3.html`
161
+
162
+ var modDataCount = seriesModel.get('progressiveChunkMode') === 'mod' ? dataLen : null;
98
163
  seriesModel.pipelineContext = pipeline.context = {
99
- canProgressiveRender: canProgressiveRender,
164
+ progressiveRender: progressiveRender,
165
+ modDataCount: modDataCount,
100
166
  large: large
101
167
  };
102
168
  };
@@ -113,9 +179,8 @@ proto.restorePipelines = function (ecModel) {
113
179
  tail: null,
114
180
  threshold: seriesModel.getProgressiveThreshold(),
115
181
  progressiveEnabled: progressive && !(seriesModel.preventIncremental && seriesModel.preventIncremental()),
116
- bockIndex: -1,
117
- step: progressive || 700,
118
- // ??? Temporarily number
182
+ blockIndex: -1,
183
+ step: Math.round(progressive || 700),
119
184
  count: 0
120
185
  });
121
186
  pipe(scheduler, seriesModel, seriesModel.dataTask);
@@ -126,12 +191,10 @@ proto.prepareStageTasks = function () {
126
191
  var stageTaskMap = this._stageTaskMap;
127
192
  var ecModel = this.ecInstance.getModel();
128
193
  var api = this.api;
129
- each([this._dataProcessorHandlers, this._visualHandlers], function (stageHandlers) {
130
- each(stageHandlers, function (handler) {
131
- var record = stageTaskMap.get(handler.uid) || stageTaskMap.set(handler.uid, []);
132
- handler.reset && createSeriesStageTask(this, handler, record, ecModel, api);
133
- handler.overallReset && createOverallStageTask(this, handler, record, ecModel, api);
134
- }, this);
194
+ each(this._allHandlers, function (handler) {
195
+ var record = stageTaskMap.get(handler.uid) || stageTaskMap.set(handler.uid, []);
196
+ handler.reset && createSeriesStageTask(this, handler, record, ecModel, api);
197
+ handler.overallReset && createOverallStageTask(this, handler, record, ecModel, api);
135
198
  }, this);
136
199
  };
137
200
 
@@ -229,7 +292,7 @@ proto.plan = function () {
229
292
 
230
293
  do {
231
294
  if (task.__block) {
232
- pipeline.bockIndex = task.__idxInPipeline;
295
+ pipeline.blockIndex = task.__idxInPipeline;
233
296
  break;
234
297
  }
235
298
 
@@ -304,7 +367,7 @@ function createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecM
304
367
  var seriesType = stageHandler.seriesType;
305
368
  var getTargetSeries = stageHandler.getTargetSeries;
306
369
  var overallProgress = true;
307
- var isOverallFilter = stageHandler.isOverallFilter; // An overall task with seriesType detected or has `getTargetSeries`, we add
370
+ var modifyOutputEnd = stageHandler.modifyOutputEnd; // An overall task with seriesType detected or has `getTargetSeries`, we add
308
371
  // stub in each pipelines, it will set the overall task dirty when the pipeline
309
372
  // progress. Moreover, to avoid call the overall task each frame (too frequent),
310
373
  // we set the pipeline block.
@@ -324,14 +387,22 @@ function createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecM
324
387
 
325
388
  function createStub(seriesModel) {
326
389
  var pipelineId = seriesModel.uid;
327
- var stub = agentStubMap.get(pipelineId) || agentStubMap.set(pipelineId, createTask({
328
- reset: stubReset,
329
- onDirty: stubOnDirty
330
- }));
390
+ var stub = agentStubMap.get(pipelineId);
391
+
392
+ if (!stub) {
393
+ stub = agentStubMap.set(pipelineId, createTask({
394
+ reset: stubReset,
395
+ onDirty: stubOnDirty
396
+ })); // When the result of `getTargetSeries` changed, the overallTask
397
+ // should be set as dirty and re-performed.
398
+
399
+ overallTask.dirty();
400
+ }
401
+
331
402
  stub.context = {
332
403
  model: seriesModel,
333
404
  overallProgress: overallProgress,
334
- isOverallFilter: isOverallFilter
405
+ modifyOutputEnd: modifyOutputEnd
335
406
  };
336
407
  stub.agent = overallTask;
337
408
  stub.__block = overallProgress;
@@ -342,7 +413,10 @@ function createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecM
342
413
  var pipelineMap = scheduler._pipelineMap;
343
414
  agentStubMap.each(function (stub, pipelineId) {
344
415
  if (!pipelineMap.get(pipelineId)) {
345
- stub.dispose();
416
+ stub.dispose(); // When the result of `getTargetSeries` changed, the overallTask
417
+ // should be set as dirty and re-performed.
418
+
419
+ overallTask.dirty();
346
420
  agentStubMap.removeKey(pipelineId);
347
421
  }
348
422
  });
@@ -375,18 +449,17 @@ function seriesTaskReset(context) {
375
449
  }
376
450
 
377
451
  var resetDefines = context.resetDefines = normalizeToArray(context.reset(context.model, context.ecModel, context.api, context.payload));
378
-
379
- if (resetDefines.length) {
380
- return seriesTaskProgress;
381
- }
452
+ return resetDefines.length > 1 ? map(resetDefines, function (v, idx) {
453
+ return makeSeriesTaskProgress(idx);
454
+ }) : singleSeriesTaskProgress;
382
455
  }
383
456
 
384
- function seriesTaskProgress(params, context) {
385
- var data = context.data;
386
- var resetDefines = context.resetDefines;
457
+ var singleSeriesTaskProgress = makeSeriesTaskProgress(0);
387
458
 
388
- for (var k = 0; k < resetDefines.length; k++) {
389
- var resetDefine = resetDefines[k];
459
+ function makeSeriesTaskProgress(resetDefineIdx) {
460
+ return function (params, context) {
461
+ var data = context.data;
462
+ var resetDefine = context.resetDefines[resetDefineIdx];
390
463
 
391
464
  if (resetDefine && resetDefine.dataEach) {
392
465
  for (var i = params.start; i < params.end; i++) {
@@ -395,7 +468,7 @@ function seriesTaskProgress(params, context) {
395
468
  } else if (resetDefine && resetDefine.progress) {
396
469
  resetDefine.progress(params, data);
397
470
  }
398
- }
471
+ };
399
472
  }
400
473
 
401
474
  function seriesTaskCount(context) {
@@ -1,11 +1,31 @@
1
1
  var _util = require("zrender/lib/core/util");
2
2
 
3
3
  var assert = _util.assert;
4
+ var isArray = _util.isArray;
4
5
 
5
6
  var _config = require("../config");
6
7
 
7
8
  var __DEV__ = _config.__DEV__;
8
9
 
10
+ /*
11
+ * Licensed to the Apache Software Foundation (ASF) under one
12
+ * or more contributor license agreements. See the NOTICE file
13
+ * distributed with this work for additional information
14
+ * regarding copyright ownership. The ASF licenses this file
15
+ * to you under the Apache License, Version 2.0 (the
16
+ * "License"); you may not use this file except in compliance
17
+ * with the License. You may obtain a copy of the License at
18
+ *
19
+ * http://www.apache.org/licenses/LICENSE-2.0
20
+ *
21
+ * Unless required by applicable law or agreed to in writing,
22
+ * software distributed under the License is distributed on an
23
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
24
+ * KIND, either express or implied. See the License for the
25
+ * specific language governing permissions and limitations
26
+ * under the License.
27
+ */
28
+
9
29
  /**
10
30
  * @param {Object} define
11
31
  * @return See the return of `createTask`.
@@ -40,6 +60,8 @@ var taskProto = Task.prototype;
40
60
  * @param {Object} performArgs
41
61
  * @param {number} [performArgs.step] Specified step.
42
62
  * @param {number} [performArgs.skip] Skip customer perform call.
63
+ * @param {number} [performArgs.modBy] Sampling window size.
64
+ * @param {number} [performArgs.modDataCount] Sampling count.
43
65
  */
44
66
 
45
67
  taskProto.perform = function (performArgs) {
@@ -61,6 +83,23 @@ taskProto.perform = function (performArgs) {
61
83
 
62
84
  if (this._plan && !skip) {
63
85
  planResult = this._plan(this.context);
86
+ } // Support sharding by mod, which changes the render sequence and makes the rendered graphic
87
+ // elements uniformed distributed when progress, especially when moving or zooming.
88
+
89
+
90
+ var lastModBy = normalizeModBy(this._modBy);
91
+ var lastModDataCount = this._modDataCount || 0;
92
+ var modBy = normalizeModBy(performArgs && performArgs.modBy);
93
+ var modDataCount = performArgs && performArgs.modDataCount || 0;
94
+
95
+ if (lastModBy !== modBy || lastModDataCount !== modDataCount) {
96
+ planResult = 'reset';
97
+ }
98
+
99
+ function normalizeModBy(val) {
100
+ !(val >= 1) && (val = 1); // jshint ignore:line
101
+
102
+ return val;
64
103
  }
65
104
 
66
105
  var forceFirstProgress;
@@ -70,11 +109,11 @@ taskProto.perform = function (performArgs) {
70
109
  forceFirstProgress = reset(this, skip);
71
110
  }
72
111
 
112
+ this._modBy = modBy;
113
+ this._modDataCount = modDataCount;
73
114
  var step = performArgs && performArgs.step;
74
115
 
75
116
  if (upTask) {
76
- // ??? FIXME move to schedueler?
77
- // this._dueEnd = Math.max(upTask._outputDueEnd, this._dueEnd);
78
117
  this._dueEnd = upTask._outputDueEnd;
79
118
  } // DataTask or overallTask
80
119
  else {
@@ -86,10 +125,19 @@ taskProto.perform = function (performArgs) {
86
125
  if (this._progress) {
87
126
  var start = this._dueIndex;
88
127
  var end = Math.min(step != null ? this._dueIndex + step : Infinity, this._dueEnd);
89
- !skip && (forceFirstProgress || start < end) && this._progress({
90
- start: start,
91
- end: end
92
- }, this.context);
128
+
129
+ if (!skip && (forceFirstProgress || start < end)) {
130
+ var progress = this._progress;
131
+
132
+ if (isArray(progress)) {
133
+ for (var i = 0; i < progress.length; i++) {
134
+ doProgress(this, progress[i], start, end, modBy, modDataCount);
135
+ }
136
+ } else {
137
+ doProgress(this, progress, start, end, modBy, modDataCount);
138
+ }
139
+ }
140
+
93
141
  this._dueIndex = end; // If no `outputDueEnd`, assume that output data and
94
142
  // input data is the same, so use `dueIndex` as `outputDueEnd`.
95
143
 
@@ -105,14 +153,54 @@ taskProto.perform = function (performArgs) {
105
153
  return this.unfinished();
106
154
  };
107
155
 
156
+ var iterator = function () {
157
+ var end;
158
+ var current;
159
+ var modBy;
160
+ var modDataCount;
161
+ var winCount;
162
+ var it = {
163
+ reset: function (s, e, sStep, sCount) {
164
+ current = s;
165
+ end = e;
166
+ modBy = sStep;
167
+ modDataCount = sCount;
168
+ winCount = Math.ceil(modDataCount / modBy);
169
+ it.next = modBy > 1 && modDataCount > 0 ? modNext : sequentialNext;
170
+ }
171
+ };
172
+ return it;
173
+
174
+ function sequentialNext() {
175
+ return current < end ? current++ : null;
176
+ }
177
+
178
+ function modNext() {
179
+ var dataIndex = current % winCount * modBy + Math.ceil(current / winCount);
180
+ var result = current >= end ? null : dataIndex < modDataCount ? dataIndex // If modDataCount is smaller than data.count() (consider `appendData` case),
181
+ // Use normal linear rendering mode.
182
+ : current;
183
+ current++;
184
+ return result;
185
+ }
186
+ }();
187
+
108
188
  taskProto.dirty = function () {
109
189
  this._dirty = true;
110
190
  this._onDirty && this._onDirty(this.context);
111
191
  };
112
- /**
113
- * @param {Object} [params]
114
- */
115
192
 
193
+ function doProgress(taskIns, progress, start, end, modBy, modDataCount) {
194
+ iterator.reset(start, end, modBy, modDataCount);
195
+ taskIns._callingProgress = progress;
196
+
197
+ taskIns._callingProgress({
198
+ start: start,
199
+ end: end,
200
+ count: end - start,
201
+ next: iterator.next
202
+ }, taskIns.context);
203
+ }
116
204
 
117
205
  function reset(taskIns, skip) {
118
206
  taskIns._dueIndex = taskIns._outputDueEnd = taskIns._dueEnd = 0;
@@ -126,10 +214,16 @@ function reset(taskIns, skip) {
126
214
  if (progress && progress.progress) {
127
215
  forceFirstProgress = progress.forceFirstProgress;
128
216
  progress = progress.progress;
217
+ } // To simplify no progress checking, array must has item.
218
+
219
+
220
+ if (isArray(progress) && !progress.length) {
221
+ progress = null;
129
222
  }
130
223
  }
131
224
 
132
225
  taskIns._progress = progress;
226
+ taskIns._modBy = taskIns._modDataCount = null;
133
227
  var downstream = taskIns._downstream;
134
228
  downstream && downstream.dirty();
135
229
  return forceFirstProgress;
@@ -177,13 +271,12 @@ taskProto.getDownstream = function () {
177
271
  };
178
272
 
179
273
  taskProto.setOutputEnd = function (end) {
180
- // ??? FIXME: check
181
274
  // This only happend in dataTask, dataZoom, map, currently.
182
275
  // where dataZoom do not set end each time, but only set
183
276
  // when reset. So we should record the setted end, in case
184
277
  // that the stub of dataZoom perform again and earse the
185
278
  // setted end by upstream.
186
- this._outputDueEnd = this._settedOutputEnd = end; // this._outputDueEnd = end;
279
+ this._outputDueEnd = this._settedOutputEnd = end;
187
280
  }; ///////////////////////////////////////////////////////////
188
281
  // For stream debug (Should be commented out after used!)
189
282
  // Usage: printTask(this, 'begin');
package/lib/theme/dark.js CHANGED
@@ -1,3 +1,21 @@
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
+ */
1
19
  var contrastColor = '#eee';
2
20
 
3
21
  var axisCommon = function () {
@@ -1,3 +1,21 @@
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
+ */
1
19
  var colorAll = ['#37A2DA', '#32C5E9', '#67E0E3', '#9FE6B8', '#FFDB5C', '#ff9f7f', '#fb7293', '#E062AE', '#E690D1', '#e7bcf3', '#9d96f5', '#8378EA', '#96BFFF'];
2
20
  var _default = {
3
21
  color: colorAll,
@@ -1,5 +1,24 @@
1
1
  var quickSelect = require("./quickSelect");
2
2
 
3
+ /*
4
+ * Licensed to the Apache Software Foundation (ASF) under one
5
+ * or more contributor license agreements. See the NOTICE file
6
+ * distributed with this work for additional information
7
+ * regarding copyright ownership. The ASF licenses this file
8
+ * to you under the Apache License, Version 2.0 (the
9
+ * "License"); you may not use this file except in compliance
10
+ * with the License. You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing,
15
+ * software distributed under the License is distributed on an
16
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17
+ * KIND, either express or implied. See the License for the
18
+ * specific language governing permissions and limitations
19
+ * under the License.
20
+ */
21
+
3
22
  /**
4
23
  * K-Dimension Tree
5
24
  *
@@ -1,5 +1,24 @@
1
1
  var zrUtil = require("zrender/lib/core/util");
2
2
 
3
+ /*
4
+ * Licensed to the Apache Software Foundation (ASF) under one
5
+ * or more contributor license agreements. See the NOTICE file
6
+ * distributed with this work for additional information
7
+ * regarding copyright ownership. The ASF licenses this file
8
+ * to you under the Apache License, Version 2.0 (the
9
+ * "License"); you may not use this file except in compliance
10
+ * with the License. You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing,
15
+ * software distributed under the License is distributed on an
16
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17
+ * KIND, either express or implied. See the License for the
18
+ * specific language governing permissions and limitations
19
+ * under the License.
20
+ */
21
+
3
22
  /**
4
23
  * @param {number} [time=500] Time in ms
5
24
  * @param {string} [easing='linear']
@@ -1,5 +1,24 @@
1
1
  var zrUtil = require("zrender/lib/core/util");
2
2
 
3
+ /*
4
+ * Licensed to the Apache Software Foundation (ASF) under one
5
+ * or more contributor license agreements. See the NOTICE file
6
+ * distributed with this work for additional information
7
+ * regarding copyright ownership. The ASF licenses this file
8
+ * to you under the Apache License, Version 2.0 (the
9
+ * "License"); you may not use this file except in compliance
10
+ * with the License. You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing,
15
+ * software distributed under the License is distributed on an
16
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17
+ * KIND, either express or implied. See the License for the
18
+ * specific language governing permissions and limitations
19
+ * under the License.
20
+ */
21
+
3
22
  /**
4
23
  * nest helper used to group by the array.
5
24
  * can specified the keys and sort the keys.
package/lib/util/clazz.js CHANGED
@@ -4,6 +4,24 @@ var __DEV__ = _config.__DEV__;
4
4
 
5
5
  var zrUtil = require("zrender/lib/core/util");
6
6
 
7
+ /*
8
+ * Licensed to the Apache Software Foundation (ASF) under one
9
+ * or more contributor license agreements. See the NOTICE file
10
+ * distributed with this work for additional information
11
+ * regarding copyright ownership. The ASF licenses this file
12
+ * to you under the Apache License, Version 2.0 (the
13
+ * "License"); you may not use this file except in compliance
14
+ * with the License. You may obtain a copy of the License at
15
+ *
16
+ * http://www.apache.org/licenses/LICENSE-2.0
17
+ *
18
+ * Unless required by applicable law or agreed to in writing,
19
+ * software distributed under the License is distributed on an
20
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
+ * KIND, either express or implied. See the License for the
22
+ * specific language governing permissions and limitations
23
+ * under the License.
24
+ */
7
25
  var TYPE_DELIMITER = '.';
8
26
  var IS_CONTAINER = '___EC__COMPONENT__CONTAINER___';
9
27
  /**
@@ -3,6 +3,25 @@ var zrUtil = require("zrender/lib/core/util");
3
3
  var _clazz = require("./clazz");
4
4
 
5
5
  var parseClassType = _clazz.parseClassType;
6
+
7
+ /*
8
+ * Licensed to the Apache Software Foundation (ASF) under one
9
+ * or more contributor license agreements. See the NOTICE file
10
+ * distributed with this work for additional information
11
+ * regarding copyright ownership. The ASF licenses this file
12
+ * to you under the Apache License, Version 2.0 (the
13
+ * "License"); you may not use this file except in compliance
14
+ * with the License. You may obtain a copy of the License at
15
+ *
16
+ * http://www.apache.org/licenses/LICENSE-2.0
17
+ *
18
+ * Unless required by applicable law or agreed to in writing,
19
+ * software distributed under the License is distributed on an
20
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
+ * KIND, either express or implied. See the License for the
22
+ * specific language governing permissions and limitations
23
+ * under the License.
24
+ */
6
25
  var base = 0;
7
26
  /**
8
27
  * @public
@@ -4,6 +4,25 @@ var textContain = require("zrender/lib/contain/text");
4
4
 
5
5
  var numberUtil = require("./number");
6
6
 
7
+ /*
8
+ * Licensed to the Apache Software Foundation (ASF) under one
9
+ * or more contributor license agreements. See the NOTICE file
10
+ * distributed with this work for additional information
11
+ * regarding copyright ownership. The ASF licenses this file
12
+ * to you under the Apache License, Version 2.0 (the
13
+ * "License"); you may not use this file except in compliance
14
+ * with the License. You may obtain a copy of the License at
15
+ *
16
+ * http://www.apache.org/licenses/LICENSE-2.0
17
+ *
18
+ * Unless required by applicable law or agreed to in writing,
19
+ * software distributed under the License is distributed on an
20
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
+ * KIND, either express or implied. See the License for the
22
+ * specific language governing permissions and limitations
23
+ * under the License.
24
+ */
25
+
7
26
  /**
8
27
  * 每三位默认加,格式化
9
28
  * @param {string|number} x
@@ -37,9 +56,19 @@ function toCamelCase(str, upperCaseFirst) {
37
56
  }
38
57
 
39
58
  var normalizeCssArray = zrUtil.normalizeCssArray;
59
+ var replaceReg = /([&<>"'])/g;
60
+ var replaceMap = {
61
+ '&': '&amp;',
62
+ '<': '&lt;',
63
+ '>': '&gt;',
64
+ '"': '&quot;',
65
+ '\'': '&#39;'
66
+ };
40
67
 
41
68
  function encodeHTML(source) {
42
- return String(source).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#39;');
69
+ return source == null ? '' : (source + '').replace(replaceReg, function (str, c) {
70
+ return replaceMap[c];
71
+ });
43
72
  }
44
73
 
45
74
  var TPL_VAR_ALIAS = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];