echarts 4.5.0 → 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/.DS_Store +0 -0
  2. package/.gitattributes +3 -0
  3. package/.github/pull_request_template.md +66 -0
  4. package/.github/workflows/nodejs.yml +15 -3
  5. package/.huskyrc +5 -0
  6. package/CONTRIBUTING.md +16 -160
  7. package/NOTICE +1 -1
  8. package/README.md +3 -3
  9. package/asset/.DS_Store +0 -0
  10. package/build/.DS_Store +0 -0
  11. package/dist/echarts-en.common.js +3072 -1261
  12. package/dist/echarts-en.common.min.js +1 -1
  13. package/dist/echarts-en.js +4339 -1685
  14. package/dist/echarts-en.js.map +1 -1
  15. package/dist/echarts-en.min.js +1 -1
  16. package/dist/echarts-en.simple.js +2496 -1011
  17. package/dist/echarts-en.simple.min.js +1 -1
  18. package/dist/echarts.common.js +3046 -1261
  19. package/dist/echarts.common.min.js +1 -1
  20. package/dist/echarts.js +4313 -1685
  21. package/dist/echarts.js.map +1 -1
  22. package/dist/echarts.min.js +1 -1
  23. package/dist/echarts.simple.js +2470 -1011
  24. package/dist/echarts.simple.min.js +1 -1
  25. package/dist/extension/bmap.js +33 -11
  26. package/dist/extension/bmap.js.map +1 -1
  27. package/dist/extension/bmap.min.js +1 -1
  28. package/dist/extension/dataTool.js.map +1 -1
  29. package/extension/.DS_Store +0 -0
  30. package/extension/bmap/BMapCoordSys.js +14 -4
  31. package/extension/bmap/BMapModel.js +4 -0
  32. package/extension/bmap/BMapView.js +18 -10
  33. package/extension-src/bmap/BMapCoordSys.js +14 -4
  34. package/extension-src/bmap/BMapModel.js +6 -1
  35. package/extension-src/bmap/BMapView.js +16 -9
  36. package/lib/chart/bar/BarSeries.js +14 -1
  37. package/lib/chart/bar/BarView.js +196 -18
  38. package/lib/chart/bar/BaseBarSeries.js +3 -1
  39. package/lib/chart/bar/PictorialBarSeries.js +1 -1
  40. package/lib/chart/candlestick/candlestickVisual.js +1 -1
  41. package/lib/chart/effectScatter/EffectScatterSeries.js +3 -1
  42. package/lib/chart/funnel/FunnelSeries.js +14 -5
  43. package/lib/chart/funnel/funnelLayout.js +162 -46
  44. package/lib/chart/gauge/GaugeSeries.js +0 -2
  45. package/lib/chart/graph/GraphSeries.js +23 -7
  46. package/lib/chart/graph/GraphView.js +30 -12
  47. package/lib/chart/graph/circularLayoutHelper.js +8 -2
  48. package/lib/chart/graph/forceLayout.js +6 -1
  49. package/lib/chart/graph/simpleLayout.js +1 -1
  50. package/lib/chart/graph/simpleLayoutHelper.js +10 -4
  51. package/lib/chart/heatmap/HeatmapView.js +4 -4
  52. package/lib/chart/helper/EffectLine.js +23 -1
  53. package/lib/chart/helper/EffectSymbol.js +2 -1
  54. package/lib/chart/helper/Line.js +129 -42
  55. package/lib/chart/helper/LineDraw.js +5 -1
  56. package/lib/chart/helper/Symbol.js +2 -3
  57. package/lib/chart/helper/createClipPathFromCoordSys.js +4 -1
  58. package/lib/chart/helper/createListFromArray.js +14 -8
  59. package/lib/chart/helper/createRenderPlanner.js +6 -3
  60. package/lib/chart/helper/multipleGraphEdgeHelper.js +258 -0
  61. package/lib/chart/helper/whiskerBoxCommon.js +22 -16
  62. package/lib/chart/line/LineSeries.js +3 -1
  63. package/lib/chart/line/LineView.js +41 -2
  64. package/lib/chart/lines/LinesSeries.js +0 -2
  65. package/lib/chart/map/MapSeries.js +14 -5
  66. package/lib/chart/pie/PieSeries.js +27 -6
  67. package/lib/chart/pie/PieView.js +22 -15
  68. package/lib/chart/pie/labelLayout.js +102 -19
  69. package/lib/chart/pie/pieLayout.js +19 -7
  70. package/lib/chart/radar/RadarSeries.js +27 -6
  71. package/lib/chart/radar/RadarView.js +3 -1
  72. package/lib/chart/sankey/SankeySeries.js +13 -1
  73. package/lib/chart/sankey/SankeyView.js +70 -32
  74. package/lib/chart/sankey/sankeyLayout.js +22 -3
  75. package/lib/chart/scatter/ScatterSeries.js +3 -1
  76. package/lib/chart/sunburst/SunburstPiece.js +5 -1
  77. package/lib/chart/sunburst/SunburstSeries.js +29 -12
  78. package/lib/chart/sunburst/SunburstView.js +5 -1
  79. package/lib/chart/themeRiver/ThemeRiverSeries.js +24 -33
  80. package/lib/chart/tree/TreeSeries.js +20 -3
  81. package/lib/chart/tree/TreeView.js +149 -23
  82. package/lib/chart/treemap/TreemapSeries.js +25 -4
  83. package/lib/chart/treemap/TreemapView.js +80 -38
  84. package/lib/chart/treemap/treemapLayout.js +1 -1
  85. package/lib/chart/treemap/treemapVisual.js +9 -15
  86. package/lib/component/axis/AngleAxisView.js +64 -7
  87. package/lib/component/axis/AxisBuilder.js +62 -24
  88. package/lib/component/axis/CartesianAxisView.js +52 -85
  89. package/lib/component/axis/RadiusAxisView.js +36 -4
  90. package/lib/component/axis/SingleAxisView.js +21 -6
  91. package/lib/component/axis/axisSplitHelper.js +132 -0
  92. package/lib/component/axisPointer/axisTrigger.js +1 -1
  93. package/lib/component/brush/BrushView.js +11 -1
  94. package/lib/component/brush/visualEncoding.js +13 -2
  95. package/lib/component/dataZoom/SliderZoomView.js +4 -10
  96. package/lib/component/helper/BrushController.js +33 -43
  97. package/lib/component/helper/MapDraw.js +30 -4
  98. package/lib/component/legend/LegendModel.js +3 -3
  99. package/lib/component/legend/LegendView.js +17 -13
  100. package/lib/component/legend/ScrollableLegendView.js +18 -18
  101. package/lib/component/marker/MarkAreaView.js +53 -15
  102. package/lib/component/marker/MarkLineModel.js +2 -1
  103. package/lib/component/marker/MarkLineView.js +3 -0
  104. package/lib/component/marker/MarkPointView.js +8 -1
  105. package/lib/component/marker/MarkerModel.js +3 -2
  106. package/lib/component/marker/markerHelper.js +7 -4
  107. package/lib/component/timeline/SliderTimelineView.js +7 -1
  108. package/lib/component/title.js +6 -2
  109. package/lib/component/toolbox/ToolboxView.js +5 -1
  110. package/lib/component/toolbox/feature/DataView.js +23 -8
  111. package/lib/component/toolbox/feature/DataZoom.js +6 -6
  112. package/lib/component/toolbox/feature/MagicType.js +20 -14
  113. package/lib/component/toolbox/feature/SaveAsImage.js +4 -2
  114. package/lib/component/tooltip/TooltipContent.js +101 -30
  115. package/lib/component/tooltip/TooltipRichContent.js +56 -8
  116. package/lib/component/tooltip/TooltipView.js +11 -12
  117. package/lib/component/visualMap/PiecewiseModel.js +3 -6
  118. package/lib/component/visualMap/VisualMapModel.js +1 -1
  119. package/lib/coord/Axis.js +30 -2
  120. package/lib/coord/View.js +9 -0
  121. package/lib/coord/axisDefault.js +22 -3
  122. package/lib/coord/axisHelper.js +24 -18
  123. package/lib/coord/calendar/Calendar.js +8 -4
  124. package/lib/coord/geo/GeoModel.js +2 -1
  125. package/lib/coord/geo/geoJSONLoader.js +3 -2
  126. package/lib/coord/geo/geoSourceManager.js +3 -2
  127. package/lib/coord/geo/parseGeoJson.js +3 -2
  128. package/lib/coord/radar/Radar.js +5 -5
  129. package/lib/data/DataDimensionInfo.js +157 -0
  130. package/lib/data/Graph.js +1 -6
  131. package/lib/data/List.js +26 -20
  132. package/lib/data/Tree.js +5 -42
  133. package/lib/data/helper/completeDimensions.js +43 -32
  134. package/lib/data/helper/createDimensions.js +2 -0
  135. package/lib/data/helper/sourceHelper.js +214 -114
  136. package/lib/echarts.js +57 -34
  137. package/lib/langEN.js +26 -0
  138. package/lib/layout/barGrid.js +19 -13
  139. package/lib/layout/barPolar.js +1 -6
  140. package/lib/loading/default.js +43 -27
  141. package/lib/model/Series.js +4 -4
  142. package/lib/model/referHelper.js +40 -12
  143. package/lib/processor/dataSample.js +1 -1
  144. package/lib/scale/Interval.js +87 -2
  145. package/lib/scale/Log.js +9 -2
  146. package/lib/scale/helper.js +1 -43
  147. package/lib/stream/Scheduler.js +10 -2
  148. package/lib/theme/dark.js +3 -0
  149. package/lib/util/format.js +19 -2
  150. package/lib/util/graphic.js +14 -12
  151. package/lib/visual/LegendVisualProvider.js +75 -0
  152. package/lib/visual/VisualMapping.js +1 -1
  153. package/lib/visual/dataColor.js +2 -12
  154. package/lib/visual/seriesColor.js +15 -7
  155. package/lib/visual/symbol.js +12 -2
  156. package/map/.DS_Store +0 -0
  157. package/map/js/.DS_Store +0 -0
  158. package/map/js/china.js +1 -1
  159. package/map/js/province/.DS_Store +0 -0
  160. package/map/js/province/chongqing.js +1 -1
  161. package/map/js/province/gansu.js +2 -2
  162. package/map/js/province/tianjin.js +1 -28
  163. package/map/json/.DS_Store +0 -0
  164. package/map/json/china.json +1 -1
  165. package/map/json/province/chongqing.json +1 -1
  166. package/map/json/province/tianjin.json +1 -1
  167. package/package.json +12 -6
  168. package/src/.DS_Store +0 -0
  169. package/src/chart/.DS_Store +0 -0
  170. package/src/chart/bar/BarSeries.js +15 -1
  171. package/src/chart/bar/BarView.js +198 -17
  172. package/src/chart/bar/BaseBarSeries.js +1 -1
  173. package/src/chart/bar/PictorialBarSeries.js +2 -2
  174. package/src/chart/candlestick/candlestickVisual.js +1 -1
  175. package/src/chart/effectScatter/EffectScatterSeries.js +1 -1
  176. package/src/chart/funnel/FunnelSeries.js +11 -4
  177. package/src/chart/funnel/funnelLayout.js +179 -53
  178. package/src/chart/gauge/GaugeSeries.js +0 -1
  179. package/src/chart/graph/GraphSeries.js +19 -7
  180. package/src/chart/graph/GraphView.js +28 -10
  181. package/src/chart/graph/circularLayoutHelper.js +8 -2
  182. package/src/chart/graph/forceLayout.js +7 -1
  183. package/src/chart/graph/simpleLayout.js +1 -1
  184. package/src/chart/graph/simpleLayoutHelper.js +12 -5
  185. package/src/chart/heatmap/HeatmapView.js +4 -4
  186. package/src/chart/helper/EffectLine.js +23 -1
  187. package/src/chart/helper/EffectSymbol.js +2 -1
  188. package/src/chart/helper/Line.js +122 -37
  189. package/src/chart/helper/LineDraw.js +5 -1
  190. package/src/chart/helper/Symbol.js +4 -4
  191. package/src/chart/helper/createClipPathFromCoordSys.js +4 -0
  192. package/src/chart/helper/createGraphFromNodeEdge.js +2 -1
  193. package/src/chart/helper/createListFromArray.js +13 -8
  194. package/src/chart/helper/createRenderPlanner.js +5 -2
  195. package/src/chart/helper/multipleGraphEdgeHelper.js +229 -0
  196. package/src/chart/helper/whiskerBoxCommon.js +21 -16
  197. package/src/chart/line/LineSeries.js +1 -1
  198. package/src/chart/line/LineView.js +45 -1
  199. package/src/chart/lines/LinesSeries.js +1 -3
  200. package/src/chart/map/MapSeries.js +11 -5
  201. package/src/chart/pie/PieSeries.js +26 -5
  202. package/src/chart/pie/PieView.js +20 -15
  203. package/src/chart/pie/labelLayout.js +114 -22
  204. package/src/chart/pie/pieLayout.js +20 -7
  205. package/src/chart/radar/RadarSeries.js +31 -6
  206. package/src/chart/radar/RadarView.js +4 -2
  207. package/src/chart/sankey/SankeySeries.js +12 -1
  208. package/src/chart/sankey/SankeyView.js +75 -30
  209. package/src/chart/sankey/sankeyLayout.js +25 -5
  210. package/src/chart/scatter/ScatterSeries.js +1 -1
  211. package/src/chart/sunburst/SunburstPiece.js +7 -1
  212. package/src/chart/sunburst/SunburstSeries.js +28 -15
  213. package/src/chart/sunburst/SunburstView.js +2 -1
  214. package/src/chart/themeRiver/ThemeRiverSeries.js +25 -30
  215. package/src/chart/tree/TreeSeries.js +19 -6
  216. package/src/chart/tree/TreeView.js +156 -23
  217. package/src/chart/treemap/TreemapSeries.js +23 -5
  218. package/src/chart/treemap/TreemapView.js +77 -41
  219. package/src/chart/treemap/treemapLayout.js +2 -2
  220. package/src/chart/treemap/treemapVisual.js +8 -25
  221. package/src/component/axis/AngleAxisView.js +75 -7
  222. package/src/component/axis/AxisBuilder.js +77 -32
  223. package/src/component/axis/CartesianAxisView.js +47 -83
  224. package/src/component/axis/RadiusAxisView.js +37 -4
  225. package/src/component/axis/SingleAxisView.js +21 -4
  226. package/src/component/axis/axisSplitHelper.js +114 -0
  227. package/src/component/axisPointer/axisTrigger.js +1 -1
  228. package/src/component/brush/BrushView.js +8 -1
  229. package/src/component/brush/visualEncoding.js +6 -3
  230. package/src/component/dataZoom/SliderZoomView.js +4 -9
  231. package/src/component/helper/BrushController.js +40 -47
  232. package/src/component/helper/MapDraw.js +27 -4
  233. package/src/component/legend/LegendModel.js +3 -3
  234. package/src/component/legend/LegendView.js +18 -12
  235. package/src/component/legend/ScrollableLegendView.js +18 -16
  236. package/src/component/marker/MarkAreaView.js +53 -15
  237. package/src/component/marker/MarkLineModel.js +2 -1
  238. package/src/component/marker/MarkLineView.js +3 -1
  239. package/src/component/marker/MarkPointView.js +7 -1
  240. package/src/component/marker/MarkerModel.js +3 -2
  241. package/src/component/marker/markerHelper.js +8 -5
  242. package/src/component/timeline/SliderTimelineView.js +9 -6
  243. package/src/component/title.js +4 -3
  244. package/src/component/toolbox/.DS_Store +0 -0
  245. package/src/component/toolbox/ToolboxView.js +5 -0
  246. package/src/component/toolbox/feature/DataView.js +20 -8
  247. package/src/component/toolbox/feature/DataZoom.js +6 -6
  248. package/src/component/toolbox/feature/MagicType.js +19 -13
  249. package/src/component/toolbox/feature/SaveAsImage.js +4 -2
  250. package/src/component/tooltip/TooltipContent.js +94 -28
  251. package/src/component/tooltip/TooltipRichContent.js +52 -9
  252. package/src/component/tooltip/TooltipView.js +14 -12
  253. package/src/component/visualMap/PiecewiseModel.js +5 -9
  254. package/src/component/visualMap/VisualMapModel.js +1 -1
  255. package/src/coord/Axis.js +29 -2
  256. package/src/coord/View.js +10 -1
  257. package/src/coord/axisDefault.js +26 -2
  258. package/src/coord/axisHelper.js +30 -21
  259. package/src/coord/calendar/Calendar.js +12 -5
  260. package/src/coord/geo/GeoModel.js +3 -6
  261. package/src/coord/geo/geoJSONLoader.js +3 -2
  262. package/src/coord/geo/geoSourceManager.js +3 -2
  263. package/src/coord/geo/parseGeoJson.js +3 -2
  264. package/src/coord/radar/Radar.js +6 -8
  265. package/src/data/DataDimensionInfo.js +135 -0
  266. package/src/data/Graph.js +0 -5
  267. package/src/data/List.js +30 -17
  268. package/src/data/Tree.js +6 -39
  269. package/src/data/helper/completeDimensions.js +49 -30
  270. package/src/data/helper/createDimensions.js +2 -0
  271. package/src/data/helper/sourceHelper.js +216 -124
  272. package/src/echarts.js +60 -36
  273. package/src/langEN.js +26 -0
  274. package/src/layout/barGrid.js +22 -10
  275. package/src/layout/barPolar.js +4 -6
  276. package/src/loading/default.js +46 -34
  277. package/src/model/.DS_Store +0 -0
  278. package/src/model/Series.js +4 -4
  279. package/src/model/referHelper.js +34 -11
  280. package/src/preprocessor/.DS_Store +0 -0
  281. package/src/processor/dataSample.js +1 -1
  282. package/src/scale/Interval.js +84 -4
  283. package/src/scale/Log.js +9 -2
  284. package/src/scale/helper.js +1 -39
  285. package/src/stream/Scheduler.js +9 -1
  286. package/src/theme/dark.js +3 -0
  287. package/src/util/.DS_Store +0 -0
  288. package/src/util/format.js +17 -1
  289. package/src/util/graphic.js +13 -11
  290. package/src/visual/LegendVisualProvider.js +55 -0
  291. package/src/visual/VisualMapping.js +1 -1
  292. package/src/visual/dataColor.js +0 -13
  293. package/src/visual/seriesColor.js +13 -7
  294. package/src/visual/symbol.js +11 -2
  295. package/theme/.DS_Store +0 -0
  296. package/theme/azul.js +163 -0
  297. package/theme/bee-inspired.js +178 -0
  298. package/theme/blue.js +178 -0
  299. package/theme/caravan.js +178 -0
  300. package/theme/carp.js +163 -0
  301. package/theme/cool.js +180 -0
  302. package/theme/dark-blue.js +168 -0
  303. package/theme/dark-bold.js +168 -0
  304. package/theme/dark-digerati.js +168 -0
  305. package/theme/dark-fresh-cut.js +168 -0
  306. package/theme/dark-mushroom.js +168 -0
  307. package/theme/dark.js +69 -62
  308. package/theme/eduardo.js +178 -0
  309. package/theme/forest.js +163 -0
  310. package/theme/fresh-cut.js +163 -0
  311. package/theme/fruit.js +178 -0
  312. package/theme/gray.js +220 -0
  313. package/theme/green.js +222 -0
  314. package/theme/helianthus.js +263 -0
  315. package/theme/infographic.js +72 -57
  316. package/theme/inspired.js +163 -0
  317. package/theme/jazz.js +163 -0
  318. package/theme/london.js +163 -0
  319. package/theme/macarons.js +80 -57
  320. package/theme/macarons2.js +251 -0
  321. package/theme/mint.js +155 -0
  322. package/theme/red-velvet.js +163 -0
  323. package/theme/red.js +225 -0
  324. package/theme/roma.js +55 -22
  325. package/theme/royal.js +163 -0
  326. package/theme/sakura.js +140 -0
  327. package/theme/shine.js +52 -45
  328. package/theme/tech-blue.js +180 -0
  329. package/theme/vintage.js +37 -23
@@ -652,11 +652,13 @@ export function getHighlightDigit(highlightKey) {
652
652
  * @param {Object} opt Check `opt` of `setTextStyleCommon` to find other props.
653
653
  * @param {string|Function} [opt.defaultText]
654
654
  * @param {module:echarts/model/Model} [opt.labelFetcher] Fetch text by
655
- * `opt.labelFetcher.getFormattedLabel(opt.labelDataIndex, 'normal'/'emphasis', null, opt.labelDimIndex)`
656
- * @param {module:echarts/model/Model} [opt.labelDataIndex] Fetch text by
657
- * `opt.textFetcher.getFormattedLabel(opt.labelDataIndex, 'normal'/'emphasis', null, opt.labelDimIndex)`
658
- * @param {module:echarts/model/Model} [opt.labelDimIndex] Fetch text by
659
- * `opt.textFetcher.getFormattedLabel(opt.labelDataIndex, 'normal'/'emphasis', null, opt.labelDimIndex)`
655
+ * `opt.labelFetcher.getFormattedLabel(opt.labelDataIndex, 'normal'/'emphasis', null, opt.labelDimIndex, opt.labelProp)`
656
+ * @param {number} [opt.labelDataIndex] Fetch text by
657
+ * `opt.textFetcher.getFormattedLabel(opt.labelDataIndex, 'normal'/'emphasis', null, opt.labelDimIndex, opt.labelProp)`
658
+ * @param {number} [opt.labelDimIndex] Fetch text by
659
+ * `opt.textFetcher.getFormattedLabel(opt.labelDataIndex, 'normal'/'emphasis', null, opt.labelDimIndex, opt.labelProp)`
660
+ * @param {string} [opt.labelProp] Fetch text by
661
+ * `opt.textFetcher.getFormattedLabel(opt.labelDataIndex, 'normal'/'emphasis', null, opt.labelDimIndex, opt.labelProp)`
660
662
  * @param {Object} [normalSpecified]
661
663
  * @param {Object} [emphasisSpecified]
662
664
  */
@@ -670,6 +672,7 @@ export function setLabelStyle(
670
672
  var labelFetcher = opt.labelFetcher;
671
673
  var labelDataIndex = opt.labelDataIndex;
672
674
  var labelDimIndex = opt.labelDimIndex;
675
+ var labelProp = opt.labelProp;
673
676
 
674
677
  // This scenario, `label.normal.show = true; label.emphasis.show = false`,
675
678
  // is not supported util someone requests.
@@ -683,7 +686,7 @@ export function setLabelStyle(
683
686
  var baseText;
684
687
  if (showNormal || showEmphasis) {
685
688
  if (labelFetcher) {
686
- baseText = labelFetcher.getFormattedLabel(labelDataIndex, 'normal', null, labelDimIndex);
689
+ baseText = labelFetcher.getFormattedLabel(labelDataIndex, 'normal', null, labelDimIndex, labelProp);
687
690
  }
688
691
  if (baseText == null) {
689
692
  baseText = zrUtil.isFunction(opt.defaultText) ? opt.defaultText(labelDataIndex, opt) : opt.defaultText;
@@ -693,7 +696,7 @@ export function setLabelStyle(
693
696
  var emphasisStyleText = showEmphasis
694
697
  ? zrUtil.retrieve2(
695
698
  labelFetcher
696
- ? labelFetcher.getFormattedLabel(labelDataIndex, 'emphasis', null, labelDimIndex)
699
+ ? labelFetcher.getFormattedLabel(labelDataIndex, 'emphasis', null, labelDimIndex, labelProp)
697
700
  : null,
698
701
  baseText
699
702
  )
@@ -1071,8 +1074,7 @@ function rollbackDefaultTextStyle(style) {
1071
1074
  }
1072
1075
 
1073
1076
  export function getFont(opt, ecModel) {
1074
- // ecModel or default text style model.
1075
- var gTextStyleModel = ecModel || ecModel.getModel('textStyle');
1077
+ var gTextStyleModel = ecModel && ecModel.getModel('textStyle');
1076
1078
  return zrUtil.trim([
1077
1079
  // FIXME in node-canvas fontWeight is before fontStyle
1078
1080
  opt.fontStyle || gTextStyleModel && gTextStyleModel.getShallow('fontStyle') || '',
@@ -1125,7 +1127,7 @@ function animateOrSetProps(isUpdate, el, props, animatableModel, dataIndex, cb)
1125
1127
  * configuration in series.
1126
1128
  *
1127
1129
  * Caution: this method will stop previous animation.
1128
- * So if do not use this method to one element twice before
1130
+ * So do not use this method to one element twice before
1129
1131
  * animation starts, unless you know what you are doing.
1130
1132
  *
1131
1133
  * @param {module:zrender/Element} el
@@ -1151,7 +1153,7 @@ export function updateProps(el, props, animatableModel, dataIndex, cb) {
1151
1153
  * configuration in series.
1152
1154
  *
1153
1155
  * Caution: this method will stop previous animation.
1154
- * So if do not use this method to one element twice before
1156
+ * So do not use this method to one element twice before
1155
1157
  * animation starts, unless you know what you are doing.
1156
1158
  *
1157
1159
  * @param {module:zrender/Element} el
@@ -0,0 +1,55 @@
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
+
21
+ /**
22
+ * LegendVisualProvider is an bridge that pick encoded color from data and
23
+ * provide to the legend component.
24
+ * @param {Function} getDataWithEncodedVisual Function to get data after filtered. It stores all the encoding info
25
+ * @param {Function} getRawData Function to get raw data before filtered.
26
+ */
27
+ function LegendVisualProvider(getDataWithEncodedVisual, getRawData) {
28
+ this.getAllNames = function () {
29
+ var rawData = getRawData();
30
+ // We find the name from the raw data. In case it's filtered by the legend component.
31
+ // Normally, the name can be found in rawData, but can't be found in filtered data will display as gray.
32
+ return rawData.mapArray(rawData.getName);
33
+ };
34
+
35
+ this.containName = function (name) {
36
+ var rawData = getRawData();
37
+ return rawData.indexOfName(name) >= 0;
38
+ };
39
+
40
+ this.indexOfName = function (name) {
41
+ // Only get data when necessary.
42
+ // Because LegendVisualProvider constructor may be new in the stage that data is not prepared yet.
43
+ // Invoking Series#getData immediately will throw an error.
44
+ var dataWithEncodedVisual = getDataWithEncodedVisual();
45
+ return dataWithEncodedVisual.indexOfName(name);
46
+ };
47
+
48
+ this.getItemVisual = function (dataIndex, key) {
49
+ // Get encoded visual properties from final filtered data.
50
+ var dataWithEncodedVisual = getDataWithEncodedVisual();
51
+ return dataWithEncodedVisual.getItemVisual(dataIndex, key);
52
+ };
53
+ }
54
+
55
+ export default LegendVisualProvider;
@@ -49,7 +49,7 @@ var CATEGORY_DEFAULT_VISUAL_INDEX = -1;
49
49
  * visual data can be array or object
50
50
  * (like: {cate1: '#222', none: '#fff'})
51
51
  * or primary types (which represents
52
- * defualt category visual), otherwise visual
52
+ * default category visual), otherwise visual
53
53
  * can be array or primary (which will be
54
54
  * normalized to array).
55
55
  *
@@ -68,33 +68,20 @@ export default function (seriesType) {
68
68
  dataAll.getName(rawIdx) || (rawIdx + ''), seriesModel.__paletteScope,
69
69
  dataAll.count()
70
70
  );
71
- // Legend may use the visual info in data before processed
72
- dataAll.setItemVisual(rawIdx, 'color', color);
73
-
74
71
  // Data is not filtered
75
72
  if (filteredIdx != null) {
76
73
  data.setItemVisual(filteredIdx, 'color', color);
77
74
  }
78
75
  }
79
- else {
80
- // Set data all color for legend
81
- dataAll.setItemVisual(rawIdx, 'color', singleDataColor);
82
- }
83
76
 
84
77
  if (!singleDataBorderColor) {
85
78
  var borderColor = itemModel.get('itemStyle.borderColor');
86
- // Legend may use the visual info in data before processed
87
- dataAll.setItemVisual(rawIdx, 'borderColor', borderColor);
88
79
 
89
80
  // Data is not filtered
90
81
  if (filteredIdx != null) {
91
82
  data.setItemVisual(filteredIdx, 'borderColor', borderColor);
92
83
  }
93
84
  }
94
- else {
95
- // Set data all borderColor for legend
96
- dataAll.setItemVisual(rawIdx, 'borderColor', singleDataBorderColor);
97
- }
98
85
  });
99
86
  }
100
87
  };
@@ -18,6 +18,7 @@
18
18
  */
19
19
 
20
20
  import Gradient from 'zrender/src/graphic/Gradient';
21
+ import {isFunction} from 'zrender/src/core/util';
21
22
 
22
23
  export default {
23
24
  createOnAllSeries: true,
@@ -25,25 +26,30 @@ export default {
25
26
  reset: function (seriesModel, ecModel) {
26
27
  var data = seriesModel.getData();
27
28
  var colorAccessPath = (seriesModel.visualColorAccessPath || 'itemStyle.color').split('.');
28
- var color = seriesModel.get(colorAccessPath) // Set in itemStyle
29
- || seriesModel.getColorFromPalette(
29
+ // Set in itemStyle
30
+ var color = seriesModel.get(colorAccessPath);
31
+ var colorCallback = (isFunction(color) && !(color instanceof Gradient))
32
+ ? color : null;
33
+ // Default color
34
+ if (!color || colorCallback) {
35
+ color = seriesModel.getColorFromPalette(
30
36
  // TODO series count changed.
31
37
  seriesModel.name, null, ecModel.getSeriesCount()
32
- ); // Default color
38
+ );
39
+ }
33
40
 
34
- // FIXME Set color function or use the platte color
35
41
  data.setVisual('color', color);
36
-
42
+
37
43
  var borderColorAccessPath = (seriesModel.visualBorderColorAccessPath || 'itemStyle.borderColor').split('.');
38
44
  var borderColor = seriesModel.get(borderColorAccessPath);
39
45
  data.setVisual('borderColor', borderColor);
40
46
 
41
47
  // Only visible series has each data be visual encoded
42
48
  if (!ecModel.isSeriesFiltered(seriesModel)) {
43
- if (typeof color === 'function' && !(color instanceof Gradient)) {
49
+ if (colorCallback) {
44
50
  data.each(function (idx) {
45
51
  data.setItemVisual(
46
- idx, 'color', color(seriesModel.getDataParams(idx))
52
+ idx, 'color', colorCallback(seriesModel.getDataParams(idx))
47
53
  );
48
54
  });
49
55
  }
@@ -33,12 +33,15 @@ export default function (seriesType, defaultSymbolType, legendSymbol) {
33
33
  var symbolType = seriesModel.get('symbol');
34
34
  var symbolSize = seriesModel.get('symbolSize');
35
35
  var keepAspect = seriesModel.get('symbolKeepAspect');
36
+ var symbolRotate = seriesModel.get('symbolRotate');
36
37
 
37
38
  var hasSymbolTypeCallback = isFunction(symbolType);
38
39
  var hasSymbolSizeCallback = isFunction(symbolSize);
39
- var hasCallback = hasSymbolTypeCallback || hasSymbolSizeCallback;
40
+ var hasSymbolRotateCallback = isFunction(symbolRotate);
41
+ var hasCallback = hasSymbolTypeCallback || hasSymbolSizeCallback || hasSymbolRotateCallback;
40
42
  var seriesSymbol = (!hasSymbolTypeCallback && symbolType) ? symbolType : defaultSymbolType;
41
43
  var seriesSymbolSize = !hasSymbolSizeCallback ? symbolSize : null;
44
+ var seriesSymbolRotate = !hasSymbolRotateCallback ? seriesSymbolRotate : null;
42
45
 
43
46
  data.setVisual({
44
47
  legendSymbol: legendSymbol || seriesSymbol,
@@ -48,7 +51,8 @@ export default function (seriesType, defaultSymbolType, legendSymbol) {
48
51
  // some cases but generally it is not recommanded.
49
52
  symbol: seriesSymbol,
50
53
  symbolSize: seriesSymbolSize,
51
- symbolKeepAspect: keepAspect
54
+ symbolKeepAspect: keepAspect,
55
+ symbolRotate: symbolRotate
52
56
  });
53
57
 
54
58
  // Only visible series has each data be visual encoded
@@ -62,12 +66,14 @@ export default function (seriesType, defaultSymbolType, legendSymbol) {
62
66
  var params = seriesModel.getDataParams(idx);
63
67
  hasSymbolTypeCallback && data.setItemVisual(idx, 'symbol', symbolType(rawValue, params));
64
68
  hasSymbolSizeCallback && data.setItemVisual(idx, 'symbolSize', symbolSize(rawValue, params));
69
+ hasSymbolRotateCallback && data.setItemVisual(idx, 'symbolRotate', symbolRotate(rawValue, params));
65
70
  }
66
71
 
67
72
  if (data.hasItemOption) {
68
73
  var itemModel = data.getItemModel(idx);
69
74
  var itemSymbolType = itemModel.getShallow('symbol', true);
70
75
  var itemSymbolSize = itemModel.getShallow('symbolSize', true);
76
+ var itemSymbolRotate = itemModel.getShallow('symbolRotate', true);
71
77
  var itemSymbolKeepAspect = itemModel.getShallow('symbolKeepAspect', true);
72
78
 
73
79
  // If has item symbol
@@ -78,6 +84,9 @@ export default function (seriesType, defaultSymbolType, legendSymbol) {
78
84
  // PENDING Transform symbolSize ?
79
85
  data.setItemVisual(idx, 'symbolSize', itemSymbolSize);
80
86
  }
87
+ if (itemSymbolRotate != null) {
88
+ data.setItemVisual(idx, 'symbolRotate', itemSymbolRotate);
89
+ }
81
90
  if (itemSymbolKeepAspect != null) {
82
91
  data.setItemVisual(idx, 'symbolKeepAspect', itemSymbolKeepAspect);
83
92
  }
Binary file
package/theme/azul.js ADDED
@@ -0,0 +1,163 @@
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
+ (function(root, factory) {
21
+ if (typeof define === 'function' && define.amd) {
22
+ // AMD. Register as an anonymous module.
23
+ define(['exports', 'echarts'], factory);
24
+ } else if (
25
+ typeof exports === 'object' &&
26
+ typeof exports.nodeName !== 'string'
27
+ ) {
28
+ // CommonJS
29
+ factory(exports, require('echarts'));
30
+ } else {
31
+ // Browser globals
32
+ factory({}, root.echarts);
33
+ }
34
+ })(this, function(exports, echarts) {
35
+ var log = function(msg) {
36
+ if (typeof console !== 'undefined') {
37
+ console && console.error && console.error(msg);
38
+ }
39
+ };
40
+ if (!echarts) {
41
+ log('ECharts is not Loaded');
42
+ return;
43
+ }
44
+
45
+ var colorPalette = [
46
+ '#f2385a',
47
+ '#f5a503',
48
+ '#4ad9d9',
49
+ '#f7879c',
50
+ '#c1d7a8',
51
+ '#4dffd2',
52
+ '#fccfd7',
53
+ '#d5f6f6'
54
+ ];
55
+
56
+ var theme = {
57
+ color: colorPalette,
58
+
59
+ title: {
60
+ textStyle: {
61
+ fontWeight: 'normal',
62
+ color: '#f2385a'
63
+ }
64
+ },
65
+
66
+ visualMap: {
67
+ color: ['#f2385a', '#f5a503']
68
+ },
69
+
70
+ toolbox: {
71
+ color: ['#f2385a', '#f2385a', '#f2385a', '#f2385a']
72
+ },
73
+
74
+ tooltip: {
75
+ backgroundColor: 'rgba(0,0,0,0.5)',
76
+ axisPointer: {
77
+ // Axis indicator, coordinate trigger effective
78
+ type: 'line', // The default is a straight line: 'line' | 'shadow'
79
+ lineStyle: {
80
+ // Straight line indicator style settings
81
+ color: '#f2385a',
82
+ type: 'dashed'
83
+ },
84
+ crossStyle: {
85
+ color: '#f2385a'
86
+ },
87
+ shadowStyle: {
88
+ // Shadow indicator style settings
89
+ color: 'rgba(200,200,200,0.3)'
90
+ }
91
+ }
92
+ },
93
+
94
+ // Area scaling controller
95
+ dataZoom: {
96
+ dataBackgroundColor: '#eee', // Data background color
97
+ fillerColor: 'rgba(200,200,200,0.2)', // Fill the color
98
+ handleColor: '#f2385a' // Handle color
99
+ },
100
+
101
+ timeline: {
102
+ lineStyle: {
103
+ color: '#f2385a'
104
+ },
105
+ controlStyle: {
106
+ color: '#f2385a',
107
+ borderColor: '#f2385a'
108
+ }
109
+ },
110
+
111
+ candlestick: {
112
+ itemStyle: {
113
+ color: '#f2385a',
114
+ color0: '#f5a503'
115
+ },
116
+ lineStyle: {
117
+ width: 1,
118
+ color: '#f2385a',
119
+ color0: '#f5a503'
120
+ },
121
+ areaStyle: {
122
+ color: '#c1d7a8',
123
+ color0: '#4ad9d9'
124
+ }
125
+ },
126
+
127
+ map: {
128
+ itemStyle: {
129
+ color: '#f2385a'
130
+ },
131
+ areaStyle: {
132
+ color: '#ddd'
133
+ },
134
+ label: {
135
+ color: '#c12e34'
136
+ }
137
+ },
138
+
139
+ graph: {
140
+ itemStyle: {
141
+ color: '#f2385a'
142
+ },
143
+ linkStyle: {
144
+ color: '#f2385a'
145
+ }
146
+ },
147
+
148
+ gauge: {
149
+ axisLine: {
150
+ lineStyle: {
151
+ color: [
152
+ [0.2, '#f5a503'],
153
+ [0.8, '#f2385a'],
154
+ [1, '#c1d7a8']
155
+ ],
156
+ width: 8
157
+ }
158
+ }
159
+ }
160
+ };
161
+
162
+ echarts.registerTheme('azul', theme);
163
+ });
@@ -0,0 +1,178 @@
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
+ (function(root, factory) {
21
+ if (typeof define === 'function' && define.amd) {
22
+ // AMD. Register as an anonymous module.
23
+ define(['exports', 'echarts'], factory);
24
+ } else if (
25
+ typeof exports === 'object' &&
26
+ typeof exports.nodeName !== 'string'
27
+ ) {
28
+ // CommonJS
29
+ factory(exports, require('echarts'));
30
+ } else {
31
+ // Browser globals
32
+ factory({}, root.echarts);
33
+ }
34
+ })(this, function(exports, echarts) {
35
+ var log = function(msg) {
36
+ if (typeof console !== 'undefined') {
37
+ console && console.error && console.error(msg);
38
+ }
39
+ };
40
+ if (!echarts) {
41
+ log('ECharts is not Loaded');
42
+ return;
43
+ }
44
+
45
+ var colorPalette = [
46
+ '#001727',
47
+ '#805500',
48
+ '#ffff00',
49
+ '#ffd11a',
50
+ '#f2d71f',
51
+ '#f2be19',
52
+ '#f3a81a',
53
+ '#fff5cc'
54
+ ];
55
+
56
+ var theme = {
57
+ color: colorPalette,
58
+
59
+ title: {
60
+ textStyle: {
61
+ fontWeight: 'normal',
62
+ color: '#001727'
63
+ }
64
+ },
65
+
66
+ visualMap: {
67
+ color: ['#001727', '#805500']
68
+ },
69
+
70
+ toolbox: {
71
+ color: ['#001727', '#001727', '#001727', '#001727']
72
+ },
73
+
74
+ tooltip: {
75
+ backgroundColor: 'rgba(0,0,0,0.5)',
76
+ axisPointer: {
77
+ // Axis indicator, coordinate trigger effective
78
+ type: 'line', // The default is a straight line: 'line' | 'shadow'
79
+ lineStyle: {
80
+ // Straight line indicator style settings
81
+ color: '#001727',
82
+ type: 'dashed'
83
+ },
84
+ crossStyle: {
85
+ color: '#001727'
86
+ },
87
+ shadowStyle: {
88
+ // Shadow indicator style settings
89
+ color: 'rgba(200,200,200,0.3)'
90
+ }
91
+ }
92
+ },
93
+
94
+ // Area scaling controller
95
+ dataZoom: {
96
+ dataBackgroundColor: '#eee', // Data background color
97
+ fillerColor: 'rgba(200,200,200,0.2)', // Fill the color
98
+ handleColor: '#001727' // Handle color
99
+ },
100
+
101
+ timeline: {
102
+ lineStyle: {
103
+ color: '#001727'
104
+ },
105
+ controlStyle: {
106
+ color: '#001727',
107
+ borderColor: '#001727'
108
+ }
109
+ },
110
+
111
+ candlestick: {
112
+ itemStyle: {
113
+ color: '#f3a81a',
114
+ color0: '#ffff00'
115
+ },
116
+ lineStyle: {
117
+ width: 1,
118
+ color: '#ffff00',
119
+ color0: '#f3a81a'
120
+ },
121
+ areaStyle: {
122
+ color: '#805500',
123
+ color0: '#ffff00'
124
+ }
125
+ },
126
+
127
+ chord: {
128
+ padding: 4,
129
+ itemStyle: {
130
+ color: '#f3a81a',
131
+ borderWidth: 1,
132
+ borderColor: 'rgba(128, 128, 128, 0.5)'
133
+ },
134
+ lineStyle: {
135
+ color: 'rgba(128, 128, 128, 0.5)'
136
+ },
137
+ areaStyle: {
138
+ color: '#805500'
139
+ }
140
+ },
141
+
142
+ map: {
143
+ itemStyle: {
144
+ color: '#ffd11a'
145
+ },
146
+ areaStyle: {
147
+ color: '#f2be19'
148
+ },
149
+ label: {
150
+ color: '#ffd11a'
151
+ }
152
+ },
153
+
154
+ graph: {
155
+ itemStyle: {
156
+ color: '#001727'
157
+ },
158
+ linkStyle: {
159
+ color: '#001727'
160
+ }
161
+ },
162
+
163
+ gauge: {
164
+ axisLine: {
165
+ lineStyle: {
166
+ color: [
167
+ [0.2, '#f2d71f'],
168
+ [0.8, '#001727'],
169
+ [1, '#ffff00']
170
+ ],
171
+ width: 8
172
+ }
173
+ }
174
+ }
175
+ };
176
+
177
+ echarts.registerTheme('bee-inspired', theme);
178
+ });