@visactor/vchart 2.1.0-alpha.18 → 2.1.0-alpha.19

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 (690) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.es.js +60472 -64304
  3. package/build/index.js +60474 -64306
  4. package/build/index.min.js +2 -2
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/animation/callback-disappear.d.ts +1 -1
  7. package/cjs/animation/callback-disappear.js +2 -2
  8. package/cjs/animation/callback-disappear.js.map +1 -1
  9. package/cjs/animation/config.js +34 -34
  10. package/cjs/animation/config.js.map +1 -1
  11. package/cjs/animation/index.js +1 -2
  12. package/cjs/chart/base/base-chart-transformer.d.ts +0 -3
  13. package/cjs/chart/base/base-chart-transformer.js +3 -23
  14. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  15. package/cjs/chart/base/base-chart.d.ts +9 -27
  16. package/cjs/chart/base/base-chart.js +28 -209
  17. package/cjs/chart/base/base-chart.js.map +1 -1
  18. package/cjs/chart/gauge/gauge-transformer.js +2 -3
  19. package/cjs/chart/gauge/gauge-transformer.js.map +1 -1
  20. package/cjs/chart/interface/chart.d.ts +0 -1
  21. package/cjs/chart/interface/chart.js.map +1 -1
  22. package/cjs/chart/pie/base/pie-transformer.js +2 -2
  23. package/cjs/chart/pie/base/pie-transformer.js.map +1 -1
  24. package/cjs/chart/polar/polar-transformer.js +1 -1
  25. package/cjs/chart/polar/polar-transformer.js.map +1 -1
  26. package/cjs/chart/polar/progress-like/progress-like-transformer.js +1 -1
  27. package/cjs/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  28. package/cjs/chart/progress/circular/circular-progress-transformer.js +1 -2
  29. package/cjs/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  30. package/cjs/chart/progress/linear/linear-progress-transformer.js +1 -1
  31. package/cjs/chart/progress/linear/linear-progress-transformer.js.map +1 -1
  32. package/cjs/chart/radar/radar-transformer.js +2 -3
  33. package/cjs/chart/radar/radar-transformer.js.map +1 -1
  34. package/cjs/chart/range-area/range-area-transformer.js +2 -2
  35. package/cjs/chart/range-area/range-area-transformer.js.map +1 -1
  36. package/cjs/chart/rose/rose-transformer.js +1 -2
  37. package/cjs/chart/rose/rose-transformer.js.map +1 -1
  38. package/cjs/chart/util.d.ts +1 -4
  39. package/cjs/chart/util.js +4 -40
  40. package/cjs/chart/util.js.map +1 -1
  41. package/cjs/chart/waterfall/waterfall-transformer.js +1 -2
  42. package/cjs/chart/waterfall/waterfall-transformer.js.map +1 -1
  43. package/cjs/compile/compiler.d.ts +0 -2
  44. package/cjs/compile/compiler.js +48 -68
  45. package/cjs/compile/compiler.js.map +1 -1
  46. package/cjs/compile/data/compilable-data.d.ts +1 -1
  47. package/cjs/compile/data/compilable-data.js +1 -1
  48. package/cjs/compile/data/compilable-data.js.map +1 -1
  49. package/cjs/compile/grammar-item.d.ts +1 -1
  50. package/cjs/compile/grammar-item.js.map +1 -1
  51. package/cjs/compile/interface/compilable-item.d.ts +1 -1
  52. package/cjs/compile/interface/compilable-item.js.map +1 -1
  53. package/cjs/compile/interface/compiler.d.ts +1 -2
  54. package/cjs/compile/interface/compiler.js.map +1 -1
  55. package/cjs/compile/morph.js +6 -5
  56. package/cjs/compile/morph.js.map +1 -1
  57. package/cjs/component/axis/base-axis.d.ts +8 -3
  58. package/cjs/component/axis/base-axis.js +7 -27
  59. package/cjs/component/axis/base-axis.js.map +1 -1
  60. package/cjs/component/axis/cartesian/band-axis.d.ts +7 -1
  61. package/cjs/component/axis/cartesian/band-axis.js +4 -4
  62. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  63. package/cjs/component/axis/cartesian/linear-axis.d.ts +1 -1
  64. package/cjs/component/axis/cartesian/linear-axis.js +4 -4
  65. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  66. package/cjs/component/axis/mixin/linear-axis-mixin.js +10 -7
  67. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  68. package/cjs/component/axis/polar/band-axis.d.ts +0 -2
  69. package/cjs/component/axis/polar/band-axis.js +0 -3
  70. package/cjs/component/axis/polar/band-axis.js.map +1 -1
  71. package/cjs/component/axis/polar/linear-axis.js +0 -3
  72. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  73. package/cjs/component/base/base-component.d.ts +7 -7
  74. package/cjs/component/base/base-component.js +6 -41
  75. package/cjs/component/base/base-component.js.map +1 -1
  76. package/cjs/component/brush/brush.d.ts +7 -3
  77. package/cjs/component/brush/brush.js +16 -34
  78. package/cjs/component/brush/brush.js.map +1 -1
  79. package/cjs/component/crosshair/base.d.ts +8 -5
  80. package/cjs/component/crosshair/base.js +5 -33
  81. package/cjs/component/crosshair/base.js.map +1 -1
  82. package/cjs/component/crosshair/cartesian.js +3 -3
  83. package/cjs/component/crosshair/cartesian.js.map +1 -1
  84. package/cjs/component/custom-mark/custom-mark.d.ts +7 -4
  85. package/cjs/component/custom-mark/custom-mark.js +3 -27
  86. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  87. package/cjs/component/data-zoom/data-filter-base-component.d.ts +7 -3
  88. package/cjs/component/data-zoom/data-filter-base-component.js +2 -15
  89. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  90. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +0 -1
  91. package/cjs/component/data-zoom/data-zoom/data-zoom.js +1 -19
  92. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  93. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +0 -1
  94. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +1 -12
  95. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  96. package/cjs/component/geo/geo-coordinate.d.ts +7 -1
  97. package/cjs/component/indicator/indicator.d.ts +0 -1
  98. package/cjs/component/indicator/indicator.js +2 -11
  99. package/cjs/component/indicator/indicator.js.map +1 -1
  100. package/cjs/component/indicator/util.d.ts +3 -4
  101. package/cjs/component/indicator/util.js +1 -1
  102. package/cjs/component/indicator/util.js.map +1 -1
  103. package/cjs/component/label/base-label.d.ts +7 -1
  104. package/cjs/component/label/base-label.js +2 -6
  105. package/cjs/component/label/base-label.js.map +1 -1
  106. package/cjs/component/label/label.js +3 -3
  107. package/cjs/component/label/label.js.map +1 -1
  108. package/cjs/component/legend/base-legend.d.ts +7 -2
  109. package/cjs/component/legend/base-legend.js +3 -20
  110. package/cjs/component/legend/base-legend.js.map +1 -1
  111. package/cjs/component/legend/discrete/legend.d.ts +1 -1
  112. package/cjs/component/legend/discrete/legend.js +7 -7
  113. package/cjs/component/legend/discrete/legend.js.map +1 -1
  114. package/cjs/component/marker/base-marker.d.ts +7 -14
  115. package/cjs/component/marker/base-marker.js +12 -112
  116. package/cjs/component/marker/base-marker.js.map +1 -1
  117. package/cjs/component/marker/mark-area/cartesian-mark-area.js +3 -3
  118. package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  119. package/cjs/component/marker/mark-area/polar-mark-area.js +2 -2
  120. package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -1
  121. package/cjs/component/marker/mark-line/base-mark-line.js +4 -2
  122. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -1
  123. package/cjs/component/marker/mark-line/cartesian-mark-line.js +2 -2
  124. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  125. package/cjs/component/marker/mark-line/polar-mark-line.js +2 -2
  126. package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -1
  127. package/cjs/component/marker/mark-point/base-mark-point.js +11 -26
  128. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
  129. package/cjs/component/marker/mark-point/cartesian-mark-point.js +2 -2
  130. package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  131. package/cjs/component/marker/mark-point/polar-mark-point.js +1 -1
  132. package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -1
  133. package/cjs/component/marker/utils.d.ts +4 -4
  134. package/cjs/component/marker/utils.js +23 -27
  135. package/cjs/component/marker/utils.js.map +1 -1
  136. package/cjs/component/player/player.d.ts +0 -1
  137. package/cjs/component/player/player.js +0 -10
  138. package/cjs/component/player/player.js.map +1 -1
  139. package/cjs/component/title/title.d.ts +7 -1
  140. package/cjs/component/title/title.js +2 -6
  141. package/cjs/component/title/title.js.map +1 -1
  142. package/cjs/component/tooltip/tooltip.d.ts +0 -1
  143. package/cjs/component/tooltip/tooltip.js +0 -8
  144. package/cjs/component/tooltip/tooltip.js.map +1 -1
  145. package/cjs/component/util.js +1 -2
  146. package/cjs/constant/correlation.js +2 -1
  147. package/cjs/constant/marker.js +1 -1
  148. package/cjs/constant/polar.js +1 -1
  149. package/cjs/constant/scatter.js +1 -1
  150. package/cjs/constant/scroll-bar.js +1 -2
  151. package/cjs/constant/sunburst.js +1 -1
  152. package/cjs/constant/waterfall.js +1 -1
  153. package/cjs/constant/word-cloud.js +1 -1
  154. package/cjs/core/expression-function.js +2 -1
  155. package/cjs/core/index.d.ts +1 -2
  156. package/cjs/core/index.js +4 -8
  157. package/cjs/core/index.js.map +1 -1
  158. package/cjs/core/interface.js +1 -1
  159. package/cjs/core/util.js +1 -1
  160. package/cjs/core/vchart.d.ts +1 -5
  161. package/cjs/core/vchart.js +21 -38
  162. package/cjs/core/vchart.js.map +1 -1
  163. package/cjs/data/transforms/box-plot.d.ts +1 -4
  164. package/cjs/data/transforms/box-plot.js +3 -3
  165. package/cjs/data/transforms/box-plot.js.map +1 -1
  166. package/cjs/data/transforms/correlation-center.d.ts +4 -11
  167. package/cjs/data/transforms/correlation-center.js +2 -3
  168. package/cjs/data/transforms/correlation-center.js.map +1 -1
  169. package/cjs/data/transforms/correlation.d.ts +15 -18
  170. package/cjs/data/transforms/correlation.js +17 -22
  171. package/cjs/data/transforms/correlation.js.map +1 -1
  172. package/cjs/data/transforms/funnel.d.ts +8 -10
  173. package/cjs/data/transforms/funnel.js +3 -4
  174. package/cjs/data/transforms/funnel.js.map +1 -1
  175. package/cjs/data/transforms/lookup.d.ts +3 -3
  176. package/cjs/data/transforms/lookup.js +7 -12
  177. package/cjs/data/transforms/lookup.js.map +1 -1
  178. package/cjs/data/transforms/map.d.ts +2 -8
  179. package/cjs/data/transforms/map.js +6 -9
  180. package/cjs/data/transforms/map.js.map +1 -1
  181. package/cjs/data/transforms/sankey.d.ts +4 -12
  182. package/cjs/data/transforms/sankey.js +13 -18
  183. package/cjs/data/transforms/sankey.js.map +1 -1
  184. package/cjs/data/transforms/stack-split.d.ts +1 -2
  185. package/cjs/data/transforms/stack-split.js +1 -1
  186. package/cjs/data/transforms/stack-split.js.map +1 -1
  187. package/cjs/data/transforms/treemap.d.ts +3 -5
  188. package/cjs/data/transforms/treemap.js +6 -7
  189. package/cjs/data/transforms/treemap.js.map +1 -1
  190. package/cjs/data/transforms/venn.d.ts +2 -4
  191. package/cjs/data/transforms/venn.js +4 -4
  192. package/cjs/data/transforms/venn.js.map +1 -1
  193. package/cjs/data/transforms/waterfall.d.ts +2 -4
  194. package/cjs/data/transforms/waterfall.js +7 -7
  195. package/cjs/data/transforms/waterfall.js.map +1 -1
  196. package/cjs/env/env.js +11 -11
  197. package/cjs/env/env.js.map +1 -1
  198. package/cjs/env/index.js +1 -1
  199. package/cjs/event/event.d.ts +0 -4
  200. package/cjs/event/event.js +7 -26
  201. package/cjs/event/event.js.map +1 -1
  202. package/cjs/interaction/interaction.js +8 -11
  203. package/cjs/interaction/interaction.js.map +1 -1
  204. package/cjs/interaction/triggers/element-active-by-legend.js +2 -3
  205. package/cjs/interaction/triggers/element-active-by-legend.js.map +1 -1
  206. package/cjs/interaction/triggers/element-active.js +3 -4
  207. package/cjs/interaction/triggers/element-active.js.map +1 -1
  208. package/cjs/interaction/triggers/element-highlight-by-group.js +2 -3
  209. package/cjs/interaction/triggers/element-highlight-by-group.js.map +1 -1
  210. package/cjs/interaction/triggers/element-highlight-by-legend.js +2 -2
  211. package/cjs/interaction/triggers/element-highlight-by-legend.js.map +1 -1
  212. package/cjs/interaction/triggers/element-highlight-by-name.js +2 -2
  213. package/cjs/interaction/triggers/element-highlight-by-name.js.map +1 -1
  214. package/cjs/interaction/triggers/element-highlight.js +2 -2
  215. package/cjs/interaction/triggers/element-highlight.js.map +1 -1
  216. package/cjs/interaction/triggers/element-select.js +3 -3
  217. package/cjs/interaction/triggers/element-select.js.map +1 -1
  218. package/cjs/mark/arc.js +4 -4
  219. package/cjs/mark/arc.js.map +1 -1
  220. package/cjs/mark/area.js +5 -4
  221. package/cjs/mark/area.js.map +1 -1
  222. package/cjs/mark/base/base-mark.d.ts +2 -12
  223. package/cjs/mark/base/base-mark.js +29 -98
  224. package/cjs/mark/base/base-mark.js.map +1 -1
  225. package/cjs/mark/component.d.ts +0 -9
  226. package/cjs/mark/component.js +3 -51
  227. package/cjs/mark/component.js.map +1 -1
  228. package/cjs/mark/glyph.js +1 -1
  229. package/cjs/mark/glyph.js.map +1 -1
  230. package/cjs/mark/group.js +6 -6
  231. package/cjs/mark/group.js.map +1 -1
  232. package/cjs/mark/interface/common.js.map +1 -1
  233. package/cjs/mark/interface/mark.d.ts +0 -2
  234. package/cjs/mark/interface/mark.js.map +1 -1
  235. package/cjs/mark/line.js +5 -4
  236. package/cjs/mark/line.js.map +1 -1
  237. package/cjs/mark/rect.js +3 -3
  238. package/cjs/mark/rect.js.map +1 -1
  239. package/cjs/mark/symbol.js +3 -3
  240. package/cjs/mark/symbol.js.map +1 -1
  241. package/cjs/mark/text.js +4 -4
  242. package/cjs/mark/text.js.map +1 -1
  243. package/cjs/mark/utils/glyph.js +2 -3
  244. package/cjs/mark/utils/glyph.js.map +1 -1
  245. package/cjs/model/base-model.d.ts +15 -3
  246. package/cjs/model/base-model.js.map +1 -1
  247. package/cjs/model/interface.d.ts +0 -13
  248. package/cjs/model/interface.js.map +1 -1
  249. package/cjs/plugin/components/axis-sync/tick-align-transform.js +2 -2
  250. package/cjs/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  251. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.d.ts +2 -2
  252. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.js +2 -2
  253. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
  254. package/cjs/plugin/other.js +5 -5
  255. package/cjs/plugin/other.js.map +1 -1
  256. package/cjs/region/region.d.ts +7 -1
  257. package/cjs/scale/color-ordinal-scale.d.ts +0 -1
  258. package/cjs/scale/color-ordinal-scale.js +0 -3
  259. package/cjs/scale/color-ordinal-scale.js.map +1 -1
  260. package/cjs/scale/global-scale.js +2 -9
  261. package/cjs/scale/global-scale.js.map +1 -1
  262. package/cjs/series/area/area.d.ts +0 -2
  263. package/cjs/series/area/area.js +0 -6
  264. package/cjs/series/area/area.js.map +1 -1
  265. package/cjs/series/bar/bar.d.ts +0 -3
  266. package/cjs/series/bar/bar.js +4 -30
  267. package/cjs/series/bar/bar.js.map +1 -1
  268. package/cjs/series/base/base-series.d.ts +7 -11
  269. package/cjs/series/base/base-series.js +23 -93
  270. package/cjs/series/base/base-series.js.map +1 -1
  271. package/cjs/series/base/constant.d.ts +0 -3
  272. package/cjs/series/base/constant.js +1 -9
  273. package/cjs/series/base/constant.js.map +1 -1
  274. package/cjs/series/box-plot/box-plot.d.ts +0 -2
  275. package/cjs/series/box-plot/box-plot.js +4 -16
  276. package/cjs/series/box-plot/box-plot.js.map +1 -1
  277. package/cjs/series/correlation/correlation.js +11 -13
  278. package/cjs/series/correlation/correlation.js.map +1 -1
  279. package/cjs/series/dot/dot.d.ts +0 -12
  280. package/cjs/series/dot/dot.js +1 -16
  281. package/cjs/series/dot/dot.js.map +1 -1
  282. package/cjs/series/funnel/funnel.js +8 -5
  283. package/cjs/series/funnel/funnel.js.map +1 -1
  284. package/cjs/series/heatmap/heatmap.d.ts +0 -2
  285. package/cjs/series/heatmap/heatmap.js +0 -10
  286. package/cjs/series/heatmap/heatmap.js.map +1 -1
  287. package/cjs/series/line/line.d.ts +0 -2
  288. package/cjs/series/line/line.js +3 -9
  289. package/cjs/series/line/line.js.map +1 -1
  290. package/cjs/series/map/map.js +3 -3
  291. package/cjs/series/map/map.js.map +1 -1
  292. package/cjs/series/mixin/line-mixin.d.ts +0 -1
  293. package/cjs/series/mixin/line-mixin.js +1 -6
  294. package/cjs/series/mixin/line-mixin.js.map +1 -1
  295. package/cjs/series/pie/pie.d.ts +7 -3
  296. package/cjs/series/pie/pie.js +1 -16
  297. package/cjs/series/pie/pie.js.map +1 -1
  298. package/cjs/series/polar/progress-like/progress-like.d.ts +0 -2
  299. package/cjs/series/polar/progress-like/progress-like.js +1 -16
  300. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  301. package/cjs/series/polar/rose-like/rose-like.d.ts +0 -2
  302. package/cjs/series/polar/rose-like/rose-like.js +1 -15
  303. package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
  304. package/cjs/series/progress/circular/circular.d.ts +0 -2
  305. package/cjs/series/progress/circular/circular.js +1 -10
  306. package/cjs/series/progress/circular/circular.js.map +1 -1
  307. package/cjs/series/progress/linear/linear.d.ts +0 -2
  308. package/cjs/series/progress/linear/linear.js +1 -19
  309. package/cjs/series/progress/linear/linear.js.map +1 -1
  310. package/cjs/series/sankey/sankey.js +57 -67
  311. package/cjs/series/sankey/sankey.js.map +1 -1
  312. package/cjs/series/scatter/scatter.d.ts +0 -2
  313. package/cjs/series/scatter/scatter.js +1 -9
  314. package/cjs/series/scatter/scatter.js.map +1 -1
  315. package/cjs/series/treemap/treemap.js +20 -23
  316. package/cjs/series/treemap/treemap.js.map +1 -1
  317. package/cjs/series/venn/venn.js +2 -2
  318. package/cjs/series/venn/venn.js.map +1 -1
  319. package/cjs/series/waterfall/waterfall.d.ts +0 -2
  320. package/cjs/series/waterfall/waterfall.js +20 -36
  321. package/cjs/series/waterfall/waterfall.js.map +1 -1
  322. package/cjs/series/word-cloud/animation.js +0 -3
  323. package/cjs/series/word-cloud/animation.js.map +1 -1
  324. package/cjs/theme/builtin/common/series/word-cloud.js +6 -2
  325. package/cjs/theme/builtin/common/series/word-cloud.js.map +1 -1
  326. package/cjs/util/mark.js +3 -7
  327. package/cjs/util/mark.js.map +1 -1
  328. package/cjs/util/math.d.ts +1 -1
  329. package/cjs/util/math.js +2 -2
  330. package/cjs/util/math.js.map +1 -1
  331. package/cjs/util/text.js +2 -2
  332. package/cjs/util/text.js.map +1 -1
  333. package/esm/animation/callback-disappear.d.ts +1 -1
  334. package/esm/animation/callback-disappear.js +1 -1
  335. package/esm/animation/callback-disappear.js.map +1 -1
  336. package/esm/animation/config.js +1 -33
  337. package/esm/animation/config.js.map +1 -1
  338. package/esm/animation/index.js +1 -2
  339. package/esm/chart/base/base-chart-transformer.d.ts +0 -3
  340. package/esm/chart/base/base-chart-transformer.js +2 -24
  341. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  342. package/esm/chart/base/base-chart.d.ts +9 -27
  343. package/esm/chart/base/base-chart.js +27 -202
  344. package/esm/chart/base/base-chart.js.map +1 -1
  345. package/esm/chart/gauge/gauge-transformer.js +2 -3
  346. package/esm/chart/gauge/gauge-transformer.js.map +1 -1
  347. package/esm/chart/interface/chart.d.ts +0 -1
  348. package/esm/chart/interface/chart.js.map +1 -1
  349. package/esm/chart/pie/base/pie-transformer.js +2 -2
  350. package/esm/chart/pie/base/pie-transformer.js.map +1 -1
  351. package/esm/chart/polar/polar-transformer.js +1 -1
  352. package/esm/chart/polar/polar-transformer.js.map +1 -1
  353. package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
  354. package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  355. package/esm/chart/progress/circular/circular-progress-transformer.js +1 -2
  356. package/esm/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  357. package/esm/chart/progress/linear/linear-progress-transformer.js +1 -1
  358. package/esm/chart/progress/linear/linear-progress-transformer.js.map +1 -1
  359. package/esm/chart/radar/radar-transformer.js +2 -3
  360. package/esm/chart/radar/radar-transformer.js.map +1 -1
  361. package/esm/chart/range-area/range-area-transformer.js +2 -2
  362. package/esm/chart/range-area/range-area-transformer.js.map +1 -1
  363. package/esm/chart/rose/rose-transformer.js +1 -2
  364. package/esm/chart/rose/rose-transformer.js.map +1 -1
  365. package/esm/chart/util.d.ts +1 -4
  366. package/esm/chart/util.js +1 -34
  367. package/esm/chart/util.js.map +1 -1
  368. package/esm/chart/waterfall/waterfall-transformer.js +1 -2
  369. package/esm/chart/waterfall/waterfall-transformer.js.map +1 -1
  370. package/esm/compile/compiler.d.ts +0 -2
  371. package/esm/compile/compiler.js +47 -69
  372. package/esm/compile/compiler.js.map +1 -1
  373. package/esm/compile/data/compilable-data.d.ts +1 -1
  374. package/esm/compile/data/compilable-data.js +1 -1
  375. package/esm/compile/data/compilable-data.js.map +1 -1
  376. package/esm/compile/grammar-item.d.ts +1 -1
  377. package/esm/compile/grammar-item.js.map +1 -1
  378. package/esm/compile/interface/compilable-item.d.ts +1 -1
  379. package/esm/compile/interface/compilable-item.js.map +1 -1
  380. package/esm/compile/interface/compiler.d.ts +1 -2
  381. package/esm/compile/interface/compiler.js.map +1 -1
  382. package/esm/compile/morph.js +3 -2
  383. package/esm/compile/morph.js.map +1 -1
  384. package/esm/component/axis/base-axis.d.ts +8 -3
  385. package/esm/component/axis/base-axis.js +6 -27
  386. package/esm/component/axis/base-axis.js.map +1 -1
  387. package/esm/component/axis/cartesian/band-axis.d.ts +7 -1
  388. package/esm/component/axis/cartesian/band-axis.js +2 -4
  389. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  390. package/esm/component/axis/cartesian/linear-axis.d.ts +1 -1
  391. package/esm/component/axis/cartesian/linear-axis.js +1 -5
  392. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  393. package/esm/component/axis/mixin/linear-axis-mixin.js +10 -7
  394. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  395. package/esm/component/axis/polar/band-axis.d.ts +0 -2
  396. package/esm/component/axis/polar/band-axis.js +0 -3
  397. package/esm/component/axis/polar/band-axis.js.map +1 -1
  398. package/esm/component/axis/polar/linear-axis.js +0 -3
  399. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  400. package/esm/component/base/base-component.d.ts +7 -7
  401. package/esm/component/base/base-component.js +5 -41
  402. package/esm/component/base/base-component.js.map +1 -1
  403. package/esm/component/brush/brush.d.ts +7 -3
  404. package/esm/component/brush/brush.js +11 -29
  405. package/esm/component/brush/brush.js.map +1 -1
  406. package/esm/component/crosshair/base.d.ts +8 -5
  407. package/esm/component/crosshair/base.js +3 -27
  408. package/esm/component/crosshair/base.js.map +1 -1
  409. package/esm/component/crosshair/cartesian.js +1 -3
  410. package/esm/component/crosshair/cartesian.js.map +1 -1
  411. package/esm/component/custom-mark/custom-mark.d.ts +7 -4
  412. package/esm/component/custom-mark/custom-mark.js +2 -27
  413. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  414. package/esm/component/data-zoom/data-filter-base-component.d.ts +7 -3
  415. package/esm/component/data-zoom/data-filter-base-component.js +2 -14
  416. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  417. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +0 -1
  418. package/esm/component/data-zoom/data-zoom/data-zoom.js +0 -20
  419. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  420. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +0 -1
  421. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +1 -12
  422. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  423. package/esm/component/geo/geo-coordinate.d.ts +7 -1
  424. package/esm/component/indicator/indicator.d.ts +0 -1
  425. package/esm/component/indicator/indicator.js +2 -11
  426. package/esm/component/indicator/indicator.js.map +1 -1
  427. package/esm/component/indicator/util.d.ts +3 -4
  428. package/esm/component/indicator/util.js +2 -2
  429. package/esm/component/indicator/util.js.map +1 -1
  430. package/esm/component/label/base-label.d.ts +7 -1
  431. package/esm/component/label/base-label.js +1 -5
  432. package/esm/component/label/base-label.js.map +1 -1
  433. package/esm/component/label/label.js +2 -2
  434. package/esm/component/label/label.js.map +1 -1
  435. package/esm/component/legend/base-legend.d.ts +7 -2
  436. package/esm/component/legend/base-legend.js +2 -20
  437. package/esm/component/legend/base-legend.js.map +1 -1
  438. package/esm/component/legend/discrete/legend.d.ts +1 -1
  439. package/esm/component/legend/discrete/legend.js +2 -2
  440. package/esm/component/legend/discrete/legend.js.map +1 -1
  441. package/esm/component/marker/base-marker.d.ts +7 -14
  442. package/esm/component/marker/base-marker.js +11 -113
  443. package/esm/component/marker/base-marker.js.map +1 -1
  444. package/esm/component/marker/mark-area/cartesian-mark-area.js +3 -3
  445. package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  446. package/esm/component/marker/mark-area/polar-mark-area.js +2 -2
  447. package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -1
  448. package/esm/component/marker/mark-line/base-mark-line.js +4 -2
  449. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -1
  450. package/esm/component/marker/mark-line/cartesian-mark-line.js +2 -2
  451. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  452. package/esm/component/marker/mark-line/polar-mark-line.js +2 -2
  453. package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -1
  454. package/esm/component/marker/mark-point/base-mark-point.js +11 -24
  455. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
  456. package/esm/component/marker/mark-point/cartesian-mark-point.js +1 -1
  457. package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  458. package/esm/component/marker/mark-point/polar-mark-point.js +1 -1
  459. package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -1
  460. package/esm/component/marker/utils.d.ts +4 -4
  461. package/esm/component/marker/utils.js +23 -27
  462. package/esm/component/marker/utils.js.map +1 -1
  463. package/esm/component/player/player.d.ts +0 -1
  464. package/esm/component/player/player.js +0 -10
  465. package/esm/component/player/player.js.map +1 -1
  466. package/esm/component/title/title.d.ts +7 -1
  467. package/esm/component/title/title.js +2 -6
  468. package/esm/component/title/title.js.map +1 -1
  469. package/esm/component/tooltip/tooltip.d.ts +0 -1
  470. package/esm/component/tooltip/tooltip.js +1 -9
  471. package/esm/component/tooltip/tooltip.js.map +1 -1
  472. package/esm/component/util.js +1 -2
  473. package/esm/constant/correlation.js +2 -1
  474. package/esm/constant/marker.js +1 -1
  475. package/esm/constant/polar.js +1 -1
  476. package/esm/constant/scatter.js +1 -1
  477. package/esm/constant/scroll-bar.js +1 -2
  478. package/esm/constant/sunburst.js +1 -1
  479. package/esm/constant/waterfall.js +1 -1
  480. package/esm/constant/word-cloud.js +1 -1
  481. package/esm/core/expression-function.js +2 -1
  482. package/esm/core/index.d.ts +1 -2
  483. package/esm/core/index.js +1 -3
  484. package/esm/core/index.js.map +1 -1
  485. package/esm/core/interface.js +1 -1
  486. package/esm/core/util.js +1 -1
  487. package/esm/core/vchart.d.ts +1 -5
  488. package/esm/core/vchart.js +21 -39
  489. package/esm/core/vchart.js.map +1 -1
  490. package/esm/data/transforms/box-plot.d.ts +1 -4
  491. package/esm/data/transforms/box-plot.js +4 -4
  492. package/esm/data/transforms/box-plot.js.map +1 -1
  493. package/esm/data/transforms/correlation-center.d.ts +4 -11
  494. package/esm/data/transforms/correlation-center.js +2 -4
  495. package/esm/data/transforms/correlation-center.js.map +1 -1
  496. package/esm/data/transforms/correlation.d.ts +15 -18
  497. package/esm/data/transforms/correlation.js +8 -13
  498. package/esm/data/transforms/correlation.js.map +1 -1
  499. package/esm/data/transforms/funnel.d.ts +8 -10
  500. package/esm/data/transforms/funnel.js +3 -5
  501. package/esm/data/transforms/funnel.js.map +1 -1
  502. package/esm/data/transforms/lookup.d.ts +3 -3
  503. package/esm/data/transforms/lookup.js +6 -12
  504. package/esm/data/transforms/lookup.js.map +1 -1
  505. package/esm/data/transforms/map.d.ts +2 -8
  506. package/esm/data/transforms/map.js +6 -11
  507. package/esm/data/transforms/map.js.map +1 -1
  508. package/esm/data/transforms/sankey.d.ts +4 -12
  509. package/esm/data/transforms/sankey.js +14 -19
  510. package/esm/data/transforms/sankey.js.map +1 -1
  511. package/esm/data/transforms/stack-split.d.ts +1 -2
  512. package/esm/data/transforms/stack-split.js +2 -2
  513. package/esm/data/transforms/stack-split.js.map +1 -1
  514. package/esm/data/transforms/treemap.d.ts +3 -5
  515. package/esm/data/transforms/treemap.js +5 -8
  516. package/esm/data/transforms/treemap.js.map +1 -1
  517. package/esm/data/transforms/venn.d.ts +2 -4
  518. package/esm/data/transforms/venn.js +3 -5
  519. package/esm/data/transforms/venn.js.map +1 -1
  520. package/esm/data/transforms/waterfall.d.ts +2 -4
  521. package/esm/data/transforms/waterfall.js +8 -7
  522. package/esm/data/transforms/waterfall.js.map +1 -1
  523. package/esm/env/env.js +2 -2
  524. package/esm/env/env.js.map +1 -1
  525. package/esm/env/index.js +1 -1
  526. package/esm/event/event.d.ts +0 -4
  527. package/esm/event/event.js +7 -26
  528. package/esm/event/event.js.map +1 -1
  529. package/esm/interaction/interaction.js +8 -10
  530. package/esm/interaction/interaction.js.map +1 -1
  531. package/esm/interaction/triggers/element-active-by-legend.js +1 -3
  532. package/esm/interaction/triggers/element-active-by-legend.js.map +1 -1
  533. package/esm/interaction/triggers/element-active.js +2 -4
  534. package/esm/interaction/triggers/element-active.js.map +1 -1
  535. package/esm/interaction/triggers/element-highlight-by-group.js +1 -4
  536. package/esm/interaction/triggers/element-highlight-by-group.js.map +1 -1
  537. package/esm/interaction/triggers/element-highlight-by-legend.js +1 -3
  538. package/esm/interaction/triggers/element-highlight-by-legend.js.map +1 -1
  539. package/esm/interaction/triggers/element-highlight-by-name.js +1 -3
  540. package/esm/interaction/triggers/element-highlight-by-name.js.map +1 -1
  541. package/esm/interaction/triggers/element-highlight.js +1 -3
  542. package/esm/interaction/triggers/element-highlight.js.map +1 -1
  543. package/esm/interaction/triggers/element-select.js +2 -4
  544. package/esm/interaction/triggers/element-select.js.map +1 -1
  545. package/esm/mark/arc.js +2 -4
  546. package/esm/mark/arc.js.map +1 -1
  547. package/esm/mark/area.js +2 -6
  548. package/esm/mark/area.js.map +1 -1
  549. package/esm/mark/base/base-mark.d.ts +2 -12
  550. package/esm/mark/base/base-mark.js +28 -99
  551. package/esm/mark/base/base-mark.js.map +1 -1
  552. package/esm/mark/component.d.ts +0 -9
  553. package/esm/mark/component.js +2 -51
  554. package/esm/mark/component.js.map +1 -1
  555. package/esm/mark/glyph.js +1 -1
  556. package/esm/mark/glyph.js.map +1 -1
  557. package/esm/mark/group.js +5 -6
  558. package/esm/mark/group.js.map +1 -1
  559. package/esm/mark/interface/common.js.map +1 -1
  560. package/esm/mark/interface/mark.d.ts +0 -2
  561. package/esm/mark/interface/mark.js.map +1 -1
  562. package/esm/mark/line.js +2 -6
  563. package/esm/mark/line.js.map +1 -1
  564. package/esm/mark/rect.js +2 -4
  565. package/esm/mark/rect.js.map +1 -1
  566. package/esm/mark/symbol.js +2 -4
  567. package/esm/mark/symbol.js.map +1 -1
  568. package/esm/mark/text.js +1 -5
  569. package/esm/mark/text.js.map +1 -1
  570. package/esm/mark/utils/glyph.js +1 -3
  571. package/esm/mark/utils/glyph.js.map +1 -1
  572. package/esm/model/base-model.d.ts +15 -3
  573. package/esm/model/base-model.js.map +1 -1
  574. package/esm/model/interface.d.ts +0 -13
  575. package/esm/model/interface.js.map +1 -1
  576. package/esm/plugin/components/axis-sync/tick-align-transform.js +1 -1
  577. package/esm/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  578. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.d.ts +2 -2
  579. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.js +1 -1
  580. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
  581. package/esm/plugin/other.js +2 -2
  582. package/esm/plugin/other.js.map +1 -1
  583. package/esm/region/region.d.ts +7 -1
  584. package/esm/scale/color-ordinal-scale.d.ts +0 -1
  585. package/esm/scale/color-ordinal-scale.js +0 -3
  586. package/esm/scale/color-ordinal-scale.js.map +1 -1
  587. package/esm/scale/global-scale.js +1 -9
  588. package/esm/scale/global-scale.js.map +1 -1
  589. package/esm/series/area/area.d.ts +0 -2
  590. package/esm/series/area/area.js +1 -7
  591. package/esm/series/area/area.js.map +1 -1
  592. package/esm/series/bar/bar.d.ts +0 -3
  593. package/esm/series/bar/bar.js +4 -30
  594. package/esm/series/bar/bar.js.map +1 -1
  595. package/esm/series/base/base-series.d.ts +7 -11
  596. package/esm/series/base/base-series.js +21 -89
  597. package/esm/series/base/base-series.js.map +1 -1
  598. package/esm/series/base/constant.d.ts +0 -3
  599. package/esm/series/base/constant.js +0 -10
  600. package/esm/series/base/constant.js.map +1 -1
  601. package/esm/series/box-plot/box-plot.d.ts +0 -2
  602. package/esm/series/box-plot/box-plot.js +4 -15
  603. package/esm/series/box-plot/box-plot.js.map +1 -1
  604. package/esm/series/correlation/correlation.js +11 -13
  605. package/esm/series/correlation/correlation.js.map +1 -1
  606. package/esm/series/dot/dot.d.ts +0 -12
  607. package/esm/series/dot/dot.js +0 -17
  608. package/esm/series/dot/dot.js.map +1 -1
  609. package/esm/series/funnel/funnel.js +8 -5
  610. package/esm/series/funnel/funnel.js.map +1 -1
  611. package/esm/series/heatmap/heatmap.d.ts +0 -2
  612. package/esm/series/heatmap/heatmap.js +0 -10
  613. package/esm/series/heatmap/heatmap.js.map +1 -1
  614. package/esm/series/line/line.d.ts +0 -2
  615. package/esm/series/line/line.js +2 -10
  616. package/esm/series/line/line.js.map +1 -1
  617. package/esm/series/map/map.js +3 -3
  618. package/esm/series/map/map.js.map +1 -1
  619. package/esm/series/mixin/line-mixin.d.ts +0 -1
  620. package/esm/series/mixin/line-mixin.js +0 -5
  621. package/esm/series/mixin/line-mixin.js.map +1 -1
  622. package/esm/series/pie/pie.d.ts +7 -3
  623. package/esm/series/pie/pie.js +0 -17
  624. package/esm/series/pie/pie.js.map +1 -1
  625. package/esm/series/polar/progress-like/progress-like.d.ts +0 -2
  626. package/esm/series/polar/progress-like/progress-like.js +0 -17
  627. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  628. package/esm/series/polar/rose-like/rose-like.d.ts +0 -2
  629. package/esm/series/polar/rose-like/rose-like.js +0 -16
  630. package/esm/series/polar/rose-like/rose-like.js.map +1 -1
  631. package/esm/series/progress/circular/circular.d.ts +0 -2
  632. package/esm/series/progress/circular/circular.js +0 -11
  633. package/esm/series/progress/circular/circular.js.map +1 -1
  634. package/esm/series/progress/linear/linear.d.ts +0 -2
  635. package/esm/series/progress/linear/linear.js +0 -20
  636. package/esm/series/progress/linear/linear.js.map +1 -1
  637. package/esm/series/sankey/sankey.js +54 -60
  638. package/esm/series/sankey/sankey.js.map +1 -1
  639. package/esm/series/scatter/scatter.d.ts +0 -2
  640. package/esm/series/scatter/scatter.js +0 -10
  641. package/esm/series/scatter/scatter.js.map +1 -1
  642. package/esm/series/treemap/treemap.js +20 -23
  643. package/esm/series/treemap/treemap.js.map +1 -1
  644. package/esm/series/venn/venn.js +2 -2
  645. package/esm/series/venn/venn.js.map +1 -1
  646. package/esm/series/waterfall/waterfall.d.ts +0 -2
  647. package/esm/series/waterfall/waterfall.js +20 -36
  648. package/esm/series/waterfall/waterfall.js.map +1 -1
  649. package/esm/series/word-cloud/animation.js +0 -3
  650. package/esm/series/word-cloud/animation.js.map +1 -1
  651. package/esm/theme/builtin/common/series/word-cloud.js +6 -2
  652. package/esm/theme/builtin/common/series/word-cloud.js.map +1 -1
  653. package/esm/util/mark.js +2 -8
  654. package/esm/util/mark.js.map +1 -1
  655. package/esm/util/math.d.ts +1 -1
  656. package/esm/util/math.js +1 -1
  657. package/esm/util/math.js.map +1 -1
  658. package/esm/util/text.js +1 -1
  659. package/esm/util/text.js.map +1 -1
  660. package/package.json +8 -11
  661. package/cjs/compile/stage-app.d.ts +0 -17
  662. package/cjs/compile/stage-app.js +0 -82
  663. package/cjs/compile/stage-app.js.map +0 -1
  664. package/cjs/component/base/release-vrender-component.d.ts +0 -10
  665. package/cjs/component/base/release-vrender-component.js +0 -37
  666. package/cjs/component/base/release-vrender-component.js.map +0 -1
  667. package/cjs/data/data-view-utils.d.ts +0 -5
  668. package/cjs/data/data-view-utils.js +0 -58
  669. package/cjs/data/data-view-utils.js.map +0 -1
  670. package/cjs/util/graphic-state.d.ts +0 -4
  671. package/cjs/util/graphic-state.js +0 -40
  672. package/cjs/util/graphic-state.js.map +0 -1
  673. package/cjs/vchart-line.d.ts +0 -4
  674. package/cjs/vchart-line.js +0 -35
  675. package/cjs/vchart-line.js.map +0 -1
  676. package/esm/compile/stage-app.d.ts +0 -17
  677. package/esm/compile/stage-app.js +0 -77
  678. package/esm/compile/stage-app.js.map +0 -1
  679. package/esm/component/base/release-vrender-component.d.ts +0 -10
  680. package/esm/component/base/release-vrender-component.js +0 -24
  681. package/esm/component/base/release-vrender-component.js.map +0 -1
  682. package/esm/data/data-view-utils.d.ts +0 -5
  683. package/esm/data/data-view-utils.js +0 -46
  684. package/esm/data/data-view-utils.js.map +0 -1
  685. package/esm/util/graphic-state.d.ts +0 -4
  686. package/esm/util/graphic-state.js +0 -30
  687. package/esm/util/graphic-state.js.map +0 -1
  688. package/esm/vchart-line.d.ts +0 -4
  689. package/esm/vchart-line.js +0 -28
  690. package/esm/vchart-line.js.map +0 -1
@@ -4,19 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.registerLineSeries = exports.LineSeries = void 0;
6
6
 
7
- const cartesian_1 = require("../cartesian/cartesian"), type_1 = require("../interface/type"), line_mixin_1 = require("../mixin/line-mixin"), vutils_1 = require("@visactor/vutils"), utils_1 = require("../../animation/utils"), config_1 = require("../../animation/config"), constant_1 = require("./constant"), line_1 = require("../../mark/line"), symbol_1 = require("../../mark/symbol"), factory_1 = require("../../core/factory"), line_mixin_transformer_1 = require("../mixin/line-mixin-transformer"), utils_2 = require("../util/utils"), band_axis_1 = require("../../component/axis/cartesian/band-axis"), linear_axis_1 = require("../../component/axis/cartesian/linear-axis"), symbol_overlap_1 = require("../../mark/transform/symbol-overlap"), data_sampling_1 = require("../../mark/transform/data-sampling"), line_2 = require("../../theme/builtin/common/series/line");
7
+ const cartesian_1 = require("../cartesian/cartesian"), type_1 = require("../interface/type"), line_mixin_1 = require("../mixin/line-mixin"), vutils_1 = require("@visactor/vutils"), utils_1 = require("../../animation/utils"), config_1 = require("../../animation/config"), constant_1 = require("./constant"), line_1 = require("../../mark/line"), symbol_1 = require("../../mark/symbol"), factory_1 = require("../../core/factory"), line_mixin_transformer_1 = require("../mixin/line-mixin-transformer"), utils_2 = require("../util/utils"), cartesian_2 = require("../../component/axis/cartesian"), symbol_overlap_1 = require("../../mark/transform/symbol-overlap"), data_sampling_1 = require("../../mark/transform/data-sampling"), line_2 = require("../../theme/builtin/common/series/line");
8
8
 
9
9
  class LineSeries extends cartesian_1.CartesianSeries {
10
10
  constructor() {
11
11
  super(...arguments), this.type = type_1.SeriesTypeEnum.line, this.transformerConstructor = line_mixin_transformer_1.LineLikeSeriesSpecTransformer,
12
12
  this._sortDataByAxis = !1;
13
13
  }
14
- _getSpecUpdatePolicy() {
15
- const policy = super._getSpecUpdatePolicy();
16
- return Object.assign(Object.assign({}, policy), {
17
- dataRelatedKeys: Object.assign(Object.assign({}, policy.dataRelatedKeys), line_mixin_1.LINE_LIKE_SERIES_DATA_RELATED_KEYS)
18
- });
19
- }
20
14
  compile() {
21
15
  super.compile(), this.addSamplingCompile(), this.addOverlapCompile();
22
16
  }
@@ -75,8 +69,8 @@ LineSeries.builtInTheme = {
75
69
  const registerLineSeries = () => {
76
70
  (0, data_sampling_1.registerDataSamplingTransform)(), (0, symbol_overlap_1.registerSymbolOverlapTransform)(),
77
71
  (0, line_1.registerLineMark)(), (0, symbol_1.registerSymbolMark)(), (0, config_1.registerLineAnimation)(),
78
- (0, config_1.registerScaleInOutAnimation)(), (0, band_axis_1.registerCartesianBandAxis)(),
79
- (0, linear_axis_1.registerCartesianLinearAxis)(), factory_1.Factory.registerSeries(LineSeries.type, LineSeries);
72
+ (0, config_1.registerScaleInOutAnimation)(), (0, cartesian_2.registerCartesianBandAxis)(),
73
+ (0, cartesian_2.registerCartesianLinearAxis)(), factory_1.Factory.registerSeries(LineSeries.type, LineSeries);
80
74
  };
81
75
 
82
76
  exports.registerLineSeries = registerLineSeries;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/line/line.ts"],"names":[],"mappings":"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","file":"line.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { LINE_LIKE_SERIES_DATA_RELATED_KEYS, LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport { mixin } from '@visactor/vutils';\nimport type { Datum } from '../../typings';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { registerLineAnimation, registerScaleInOutAnimation } from '../../animation/config';\nimport type { ILineSeriesSpec, LineAppearPreset } from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { lineSeriesMark } from './constant';\nimport { registerLineMark } from '../../mark/line';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { Factory } from '../../core/factory';\nimport type { IMark } from '../../mark/interface';\nimport { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';\nimport { getGroupAnimationParams } from '../util/utils';\nimport { registerCartesianBandAxis } from '../../component/axis/cartesian/band-axis';\nimport { registerCartesianLinearAxis } from '../../component/axis/cartesian/linear-axis';\nimport { registerSymbolOverlapTransform } from '../../mark/transform/symbol-overlap';\nimport { registerDataSamplingTransform } from '../../mark/transform/data-sampling';\nimport { line } from '../../theme/builtin/common/series/line';\nimport type { ISeriesSpecUpdatePolicy } from '../base/base-series';\n\nexport interface LineSeries<T extends ILineSeriesSpec = ILineSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | '_lineMark'\n | '_symbolMark'\n | 'addSamplingCompile'\n | 'addOverlapCompile'\n | 'reCompileSampling'\n >,\n CartesianSeries<T> {}\n\nexport class LineSeries<T extends ILineSeriesSpec = ILineSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.line;\n type = SeriesTypeEnum.line;\n\n static readonly mark: SeriesMarkMap = lineSeriesMark;\n static readonly builtInTheme = { line };\n static readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n\n protected _sortDataByAxis: boolean = false;\n\n protected _getSpecUpdatePolicy(): ISeriesSpecUpdatePolicy {\n const policy = super._getSpecUpdatePolicy();\n return {\n ...policy,\n dataRelatedKeys: {\n ...policy.dataRelatedKeys,\n ...LINE_LIKE_SERIES_DATA_RELATED_KEYS\n }\n };\n }\n\n compile(): void {\n super.compile();\n this.addSamplingCompile();\n this.addOverlapCompile();\n }\n\n initMark(): void {\n const seriesMark = this._spec.seriesMark ?? 'line';\n this.initLineMark(seriesMark === 'line');\n this.initSymbolMark(seriesMark === 'point');\n }\n\n protected initTooltip() {\n super.initTooltip();\n const { group, mark } = this._tooltipHelper.activeTriggerSet;\n if (this._lineMark) {\n group.add(this._lineMark);\n }\n if (this._symbolMark) {\n mark.add(this._symbolMark);\n group.add(this._symbolMark);\n }\n }\n\n initMarkStyle(): void {\n this.initLineMarkStyle(this._direction);\n this.initSymbolMarkStyle();\n }\n\n initAnimation() {\n const lineAnimationParams = { direction: this.direction };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<LineAppearPreset>)?.preset;\n this._lineMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('line')?.(lineAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec, this._markAttributeContext)\n )\n );\n\n if (this._symbolMark) {\n const animationParams = getGroupAnimationParams(this);\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scaleInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n }\n\n onLayoutEnd(): void {\n super.onLayoutEnd();\n this.reCompileSampling();\n }\n\n getSeriesStyle(datum: Datum) {\n const isLineAsSeriesMark = this._spec?.seriesMark !== 'point'; // 加判空防止某些特殊时刻(如 updateSpec 时)鼠标滑过图表导致报错\n return (attribute: string) => {\n if (isLineAsSeriesMark) {\n // 增加一个标识位,用于是否替换,因为图例获取颜色的时候是不需要替换的\n attribute === 'fill' && (attribute = 'stroke');\n }\n return this._seriesMark?.getAttribute(attribute as any, datum) ?? undefined;\n };\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n\n getActiveMarks(): IMark[] {\n return [this._lineMark, this._symbolMark];\n }\n}\n\nmixin(LineSeries, LineLikeSeriesMixin);\n\nexport const registerLineSeries = () => {\n registerDataSamplingTransform();\n registerSymbolOverlapTransform();\n registerLineMark();\n registerSymbolMark();\n registerLineAnimation();\n registerScaleInOutAnimation();\n registerCartesianBandAxis();\n registerCartesianLinearAxis();\n Factory.registerSeries(LineSeries.type, LineSeries);\n};\n"]}
1
+ {"version":3,"sources":["../src/series/line/line.ts"],"names":[],"mappings":"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","file":"line.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport { mixin } from '@visactor/vutils';\nimport type { Datum } from '../../typings';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { registerLineAnimation, registerScaleInOutAnimation } from '../../animation/config';\nimport type { ILineSeriesSpec, LineAppearPreset } from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { lineSeriesMark } from './constant';\nimport { registerLineMark } from '../../mark/line';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { Factory } from '../../core/factory';\nimport type { IMark } from '../../mark/interface';\nimport { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';\nimport { getGroupAnimationParams } from '../util/utils';\nimport { registerCartesianLinearAxis, registerCartesianBandAxis } from '../../component/axis/cartesian';\nimport { registerSymbolOverlapTransform } from '../../mark/transform/symbol-overlap';\nimport { registerDataSamplingTransform } from '../../mark/transform/data-sampling';\nimport { line } from '../../theme/builtin/common/series/line';\n\nexport interface LineSeries<T extends ILineSeriesSpec = ILineSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | '_lineMark'\n | '_symbolMark'\n | 'addSamplingCompile'\n | 'addOverlapCompile'\n | 'reCompileSampling'\n >,\n CartesianSeries<T> {}\n\nexport class LineSeries<T extends ILineSeriesSpec = ILineSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.line;\n type = SeriesTypeEnum.line;\n\n static readonly mark: SeriesMarkMap = lineSeriesMark;\n static readonly builtInTheme = { line };\n static readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n\n protected _sortDataByAxis: boolean = false;\n\n compile(): void {\n super.compile();\n this.addSamplingCompile();\n this.addOverlapCompile();\n }\n\n initMark(): void {\n const seriesMark = this._spec.seriesMark ?? 'line';\n this.initLineMark(seriesMark === 'line');\n this.initSymbolMark(seriesMark === 'point');\n }\n\n protected initTooltip() {\n super.initTooltip();\n const { group, mark } = this._tooltipHelper.activeTriggerSet;\n if (this._lineMark) {\n group.add(this._lineMark);\n }\n if (this._symbolMark) {\n mark.add(this._symbolMark);\n group.add(this._symbolMark);\n }\n }\n\n initMarkStyle(): void {\n this.initLineMarkStyle(this._direction);\n this.initSymbolMarkStyle();\n }\n\n initAnimation() {\n const lineAnimationParams = { direction: this.direction };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<LineAppearPreset>)?.preset;\n this._lineMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('line')?.(lineAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec, this._markAttributeContext)\n )\n );\n\n if (this._symbolMark) {\n const animationParams = getGroupAnimationParams(this);\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scaleInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n }\n\n onLayoutEnd(): void {\n super.onLayoutEnd();\n this.reCompileSampling();\n }\n\n getSeriesStyle(datum: Datum) {\n const isLineAsSeriesMark = this._spec?.seriesMark !== 'point'; // 加判空防止某些特殊时刻(如 updateSpec 时)鼠标滑过图表导致报错\n return (attribute: string) => {\n if (isLineAsSeriesMark) {\n // 增加一个标识位,用于是否替换,因为图例获取颜色的时候是不需要替换的\n attribute === 'fill' && (attribute = 'stroke');\n }\n return this._seriesMark?.getAttribute(attribute as any, datum) ?? undefined;\n };\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n\n getActiveMarks(): IMark[] {\n return [this._lineMark, this._symbolMark];\n }\n}\n\nmixin(LineSeries, LineLikeSeriesMixin);\n\nexport const registerLineSeries = () => {\n registerDataSamplingTransform();\n registerSymbolOverlapTransform();\n registerLineMark();\n registerSymbolMark();\n registerLineAnimation();\n registerScaleInOutAnimation();\n registerCartesianBandAxis();\n registerCartesianLinearAxis();\n Factory.registerSeries(LineSeries.type, LineSeries);\n};\n"]}
@@ -45,10 +45,10 @@ class MapSeries extends geo_1.GeoSeries {
45
45
  level: initialize_1.TransformLevel.copyDataView
46
46
  }).transform({
47
47
  type: "map",
48
- options: () => ({
48
+ options: {
49
49
  nameMap: this._nameMap,
50
50
  nameProperty: this._nameProperty
51
- })
51
+ }
52
52
  }).transform({
53
53
  type: "lookup",
54
54
  options: {
@@ -57,7 +57,7 @@ class MapSeries extends geo_1.GeoSeries {
57
57
  return null === (_a = this._data) || void 0 === _a ? void 0 : _a.getLatestData();
58
58
  },
59
59
  key: data_1.DEFAULT_MAP_LOOK_UP_KEY,
60
- fields: () => this._nameField,
60
+ fields: this._nameField,
61
61
  set: (feature, datum) => {
62
62
  datum && Object.keys(datum).forEach((key => {
63
63
  key in feature || (feature[key] = datum[key]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/map/map.ts"],"names":[],"mappings":"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","file":"map.js","sourcesContent":["import { Matrix, isValid, isValidNumber } from '@visactor/vutils';\nimport { DataView } from '@visactor/vdataset';\nimport { geoSourceMap, registerMapSource, unregisterMapSource } from './geo-source';\nimport { lookup } from '../../data/transforms/lookup';\nimport type { Datum, StringOrNumber } from '../../typings';\nimport { GeoSeries } from '../geo/geo';\nimport { map } from '../../data/transforms/map';\nimport { copyDataView } from '../../data/transforms/copy-data-view';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { MapSeriesTooltipHelper } from './tooltip-helper';\nimport { DEFAULT_DATA_SERIES_FIELD, DEFAULT_DATA_INDEX, DEFAULT_MAP_LOOK_UP_KEY } from '../../constant/data';\nimport { AttributeLevel } from '../../constant/attribute';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { FeatureData, IMapSeriesSpec } from './interface';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport { animationConfig, shouldMarkDoMorph, userAnimationConfig } from '../../animation/utils';\nimport { registerFadeInOutAnimation } from '../../animation/config';\nimport { registerPathMark } from '../../mark/path';\nimport { mapSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerGeoCoordinate } from '../../component/geo';\nimport type { ILabelMark, IMark, IPathMark } from '../../mark/interface';\nimport { TransformLevel } from '../../data/initialize';\nimport { MapSeriesSpecTransformer } from './map-transformer';\nimport { CompilableData } from '../../compile/data';\nimport { map as mapTheme } from '../../theme/builtin/common/series/map';\n\nexport class MapSeries<T extends IMapSeriesSpec = IMapSeriesSpec> extends GeoSeries<T> {\n static readonly type: string = SeriesTypeEnum.map;\n type = SeriesTypeEnum.map;\n\n static readonly mark: SeriesMarkMap = mapSeriesMark;\n static readonly builtInTheme = { map: mapTheme };\n static readonly transformerConstructor = MapSeriesSpecTransformer as any;\n readonly transformerConstructor = MapSeriesSpecTransformer;\n\n map!: string;\n\n protected _nameMap!: { [key: StringOrNumber]: StringOrNumber };\n getNameMap() {\n return this._nameMap;\n }\n\n private _areaCache: Map<string, { shape: string }> = new Map();\n get areaPath() {\n return this._areaCache;\n }\n\n private _pathMark: IPathMark;\n private _labelMark: ILabelMark;\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.map = this._spec.map;\n this._nameMap = this._spec.nameMap;\n this._nameField = this._spec.nameField;\n this._valueField = this._spec.valueField;\n this._spec.nameProperty && (this._nameProperty = this._spec.nameProperty);\n this._spec.centroidProperty && (this._centroidProperty = this._spec.centroidProperty);\n\n if (!this.map) {\n this._option?.onError(`map type '${this.map}' is not specified !`);\n }\n\n if (!geoSourceMap.get(this.map)) {\n this._option?.onError(`'${this.map}' data is not registered !`);\n }\n }\n\n // data\n initData(): void {\n super.initData();\n\n registerDataSetInstanceTransform(this._dataSet, 'copyDataView', copyDataView);\n registerDataSetInstanceTransform(this._dataSet, 'map', map);\n registerDataSetInstanceTransform(this._dataSet, 'lookup', lookup);\n\n // 初始化地图数据\n const features = geoSourceMap.get(this.map);\n if (!features) {\n this._option?.onError('no valid map data found!');\n }\n const mapData = new DataView(this._dataSet, { name: `map_${this.id}_data` });\n\n mapData\n .parse([features], {\n type: 'dataview'\n })\n .transform({ type: 'copyDataView', options: { deep: true }, level: TransformLevel.copyDataView })\n .transform({\n type: 'map',\n options: () => ({\n nameMap: this._nameMap,\n nameProperty: this._nameProperty\n })\n })\n .transform({\n type: 'lookup',\n options: {\n from: () => this._data?.getLatestData(),\n key: DEFAULT_MAP_LOOK_UP_KEY,\n fields: () => this._nameField,\n set: (feature: FeatureData, datum: Datum) => {\n if (datum) {\n Object.keys(datum).forEach(key => {\n if (!(key in feature)) {\n (feature as any)[key] = datum[key];\n }\n });\n }\n }\n }\n });\n this._data?.getDataView().target.addListener('change', mapData.reRunAllTransform);\n this._mapViewData = new CompilableData(this._option, mapData);\n }\n\n compileData() {\n super.compileData();\n this._mapViewData?.compile();\n }\n\n // mark\n initMark() {\n this._pathMark = this._createMark(\n MapSeries.mark.area,\n {\n groupKey: this.getDimensionField()[0],\n isSeriesMark: true\n },\n {\n morph: shouldMarkDoMorph(this._spec, MapSeries.mark.area.name),\n morphElementKey: this.getDimensionField()[0]\n }\n ) as IPathMark;\n\n this._pathMark.setData(this._mapViewData);\n }\n\n initMarkStyle() {\n const pathMark = this._pathMark;\n if (pathMark) {\n this.setMarkStyle(\n pathMark,\n {\n fill: (datum: any) => {\n if (isValid(datum[this._seriesField ?? DEFAULT_DATA_SERIES_FIELD])) {\n return (this._option.globalScale.getScale('color') ?? this._getDefaultColorScale()).scale(\n datum[this._seriesField ?? DEFAULT_DATA_SERIES_FIELD]\n );\n }\n return this._spec?.defaultFillColor;\n },\n path: this.getPath.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n\n pathMark.setPostProcess('fill', result => {\n if (!isValid(result)) {\n return this._spec.defaultFillColor;\n }\n return result;\n });\n\n this.setMarkStyle(\n pathMark,\n {\n smoothScale: true\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n }\n\n initLabelMarkStyle(labelMark: ILabelMark) {\n if (!labelMark) {\n return;\n }\n this._labelMark = labelMark;\n this.setMarkStyle(labelMark, {\n text: (datum: Datum) => {\n const text = this.getDatumName(datum);\n return text;\n },\n x: (datum: Datum) => this.dataToPosition(datum)?.x,\n y: (datum: Datum) => this.dataToPosition(datum)?.y\n });\n }\n\n initAnimation() {\n this._pathMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('fadeInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.area, this._spec, this._markAttributeContext)\n )\n );\n }\n\n protected initTooltip() {\n this._tooltipHelper = new MapSeriesTooltipHelper(this);\n this._pathMark && this._tooltipHelper.activeTriggerSet.mark.add(this._pathMark);\n }\n\n protected getPath(datum: any) {\n const area = this._areaCache.get(datum[DEFAULT_DATA_INDEX]);\n if (area) {\n return area.shape;\n }\n const shape = this._coordinateHelper?.shape(datum);\n this._areaCache.set(datum[DEFAULT_DATA_INDEX], {\n shape\n });\n return shape;\n }\n\n // life cycle\n onEvaluateEnd() {\n this._mapViewData.updateData();\n }\n\n getDimensionField(): string[] {\n return [this.nameField];\n }\n\n getMeasureField(): string[] {\n return [this.valueField];\n }\n\n release() {\n super.release();\n this._areaCache.clear();\n this._nameMap = {};\n this._mapViewData = null as any;\n }\n\n handleZoom(e: ZoomEventParam) {\n const { scale, scaleCenter } = e;\n if (scale === 1) {\n return;\n }\n\n const pathGroup = this.getRootMark().getProduct();\n if (pathGroup) {\n if (!pathGroup.attribute.postMatrix) {\n pathGroup.setAttributes({\n postMatrix: new Matrix()\n });\n }\n pathGroup.scale(scale, scale, scaleCenter);\n }\n const vgrammarLabel = this._labelMark?.getComponent();\n\n if (vgrammarLabel) {\n vgrammarLabel.renderInner();\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n if (delta[0] === 0 && delta[1] === 0) {\n return;\n }\n const pathGroup = this.getRootMark().getProduct();\n if (pathGroup) {\n if (!pathGroup.attribute.postMatrix) {\n pathGroup.setAttributes({\n postMatrix: new Matrix()\n });\n }\n pathGroup.translate(delta[0], delta[1]);\n }\n const vgrammarLabel = this._labelMark?.getComponent();\n\n if (vgrammarLabel) {\n vgrammarLabel.renderInner();\n }\n }\n\n getDatumCenter(datum: any): [number, number] {\n if (this._centroidProperty && datum.properties?.[this._centroidProperty]) {\n return datum.properties?.[this._centroidProperty];\n }\n\n if (isValidNumber(datum.centroidX * datum.centroidY)) {\n return [datum.centroidX, datum.centroidY];\n }\n\n if (datum.properties?.center) {\n return datum.properties.center;\n }\n\n if (datum.properties?.centroid) {\n return datum.properties.centroid;\n }\n\n return [Number.NaN, Number.NaN];\n }\n\n getDatumName(datum: any): string {\n if (datum[this.nameField]) {\n return datum[this.nameField];\n }\n const name = datum.properties?.[this._nameProperty];\n if (name) {\n if (this._spec.nameMap) {\n if (this._spec.nameMap[name]) {\n return this._spec.nameMap[name];\n }\n }\n // TODO:\n // 1. showDefaultName 是一个考虑配置兼容的产物,不然会有 break-change\n // 2. 后续大版本升级,这里无需判断条件,直接返回 name 是更合理的\n if (this._spec.showDefaultName || !this._spec.nameMap) {\n return name;\n }\n }\n return '';\n }\n\n dataToPositionX(data: any): number {\n this._option?.onError('Method not implemented.');\n return 0;\n }\n dataToPositionY(data: any): number {\n this._option?.onError('Method not implemented.');\n return 0;\n }\n\n viewDataUpdate(d: DataView): void {\n super.viewDataUpdate(d);\n this._mapViewData?.getDataView()?.reRunAllTransform();\n this._mapViewData?.updateData();\n }\n\n protected _getDataIdKey() {\n return DEFAULT_DATA_INDEX;\n }\n\n getActiveMarks(): IMark[] {\n return [this._pathMark];\n }\n}\n\nexport const registerMapSeries = () => {\n // 注册语法元素\n registerGeoCoordinate();\n registerPathMark();\n Factory.registerSeries(MapSeries.type, MapSeries);\n Factory.registerImplement('registerMap', registerMapSource);\n Factory.registerImplement('unregisterMap', unregisterMapSource);\n registerFadeInOutAnimation();\n};\n"]}
1
+ {"version":3,"sources":["../src/series/map/map.ts"],"names":[],"mappings":"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","file":"map.js","sourcesContent":["import { Matrix, isValid, isValidNumber } from '@visactor/vutils';\nimport { DataView } from '@visactor/vdataset';\nimport { geoSourceMap, registerMapSource, unregisterMapSource } from './geo-source';\nimport { lookup } from '../../data/transforms/lookup';\nimport type { Datum, StringOrNumber } from '../../typings';\nimport { GeoSeries } from '../geo/geo';\nimport { map } from '../../data/transforms/map';\nimport { copyDataView } from '../../data/transforms/copy-data-view';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { MapSeriesTooltipHelper } from './tooltip-helper';\nimport { DEFAULT_DATA_SERIES_FIELD, DEFAULT_DATA_INDEX, DEFAULT_MAP_LOOK_UP_KEY } from '../../constant/data';\nimport { AttributeLevel } from '../../constant/attribute';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { FeatureData, IMapSeriesSpec } from './interface';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport { animationConfig, shouldMarkDoMorph, userAnimationConfig } from '../../animation/utils';\nimport { registerFadeInOutAnimation } from '../../animation/config';\nimport { registerPathMark } from '../../mark/path';\nimport { mapSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerGeoCoordinate } from '../../component/geo';\nimport type { ILabelMark, IMark, IPathMark } from '../../mark/interface';\nimport { TransformLevel } from '../../data/initialize';\nimport { MapSeriesSpecTransformer } from './map-transformer';\nimport { CompilableData } from '../../compile/data';\nimport { map as mapTheme } from '../../theme/builtin/common/series/map';\n\nexport class MapSeries<T extends IMapSeriesSpec = IMapSeriesSpec> extends GeoSeries<T> {\n static readonly type: string = SeriesTypeEnum.map;\n type = SeriesTypeEnum.map;\n\n static readonly mark: SeriesMarkMap = mapSeriesMark;\n static readonly builtInTheme = { map: mapTheme };\n static readonly transformerConstructor = MapSeriesSpecTransformer as any;\n readonly transformerConstructor = MapSeriesSpecTransformer;\n\n map!: string;\n\n protected _nameMap!: { [key: StringOrNumber]: StringOrNumber };\n getNameMap() {\n return this._nameMap;\n }\n\n private _areaCache: Map<string, { shape: string }> = new Map();\n get areaPath() {\n return this._areaCache;\n }\n\n private _pathMark: IPathMark;\n private _labelMark: ILabelMark;\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.map = this._spec.map;\n this._nameMap = this._spec.nameMap;\n this._nameField = this._spec.nameField;\n this._valueField = this._spec.valueField;\n this._spec.nameProperty && (this._nameProperty = this._spec.nameProperty);\n this._spec.centroidProperty && (this._centroidProperty = this._spec.centroidProperty);\n\n if (!this.map) {\n this._option?.onError(`map type '${this.map}' is not specified !`);\n }\n\n if (!geoSourceMap.get(this.map)) {\n this._option?.onError(`'${this.map}' data is not registered !`);\n }\n }\n\n // data\n initData(): void {\n super.initData();\n\n registerDataSetInstanceTransform(this._dataSet, 'copyDataView', copyDataView);\n registerDataSetInstanceTransform(this._dataSet, 'map', map);\n registerDataSetInstanceTransform(this._dataSet, 'lookup', lookup);\n\n // 初始化地图数据\n const features = geoSourceMap.get(this.map);\n if (!features) {\n this._option?.onError('no valid map data found!');\n }\n const mapData = new DataView(this._dataSet, { name: `map_${this.id}_data` });\n\n mapData\n .parse([features], {\n type: 'dataview'\n })\n .transform({ type: 'copyDataView', options: { deep: true }, level: TransformLevel.copyDataView })\n .transform({\n type: 'map',\n options: {\n nameMap: this._nameMap,\n nameProperty: this._nameProperty\n }\n })\n .transform({\n type: 'lookup',\n options: {\n from: () => this._data?.getLatestData(),\n key: DEFAULT_MAP_LOOK_UP_KEY,\n fields: this._nameField,\n set: (feature: FeatureData, datum: Datum) => {\n if (datum) {\n Object.keys(datum).forEach(key => {\n if (!(key in feature)) {\n (feature as any)[key] = datum[key];\n }\n });\n }\n }\n }\n });\n this._data?.getDataView().target.addListener('change', mapData.reRunAllTransform);\n this._mapViewData = new CompilableData(this._option, mapData);\n }\n\n compileData() {\n super.compileData();\n this._mapViewData?.compile();\n }\n\n // mark\n initMark() {\n this._pathMark = this._createMark(\n MapSeries.mark.area,\n {\n groupKey: this.getDimensionField()[0],\n isSeriesMark: true\n },\n {\n morph: shouldMarkDoMorph(this._spec, MapSeries.mark.area.name),\n morphElementKey: this.getDimensionField()[0]\n }\n ) as IPathMark;\n\n this._pathMark.setData(this._mapViewData);\n }\n\n initMarkStyle() {\n const pathMark = this._pathMark;\n if (pathMark) {\n this.setMarkStyle(\n pathMark,\n {\n fill: (datum: any) => {\n if (isValid(datum[this._seriesField ?? DEFAULT_DATA_SERIES_FIELD])) {\n return (this._option.globalScale.getScale('color') ?? this._getDefaultColorScale()).scale(\n datum[this._seriesField ?? DEFAULT_DATA_SERIES_FIELD]\n );\n }\n return this._spec?.defaultFillColor;\n },\n path: this.getPath.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n\n pathMark.setPostProcess('fill', result => {\n if (!isValid(result)) {\n return this._spec.defaultFillColor;\n }\n return result;\n });\n\n this.setMarkStyle(\n pathMark,\n {\n smoothScale: true\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n }\n\n initLabelMarkStyle(labelMark: ILabelMark) {\n if (!labelMark) {\n return;\n }\n this._labelMark = labelMark;\n this.setMarkStyle(labelMark, {\n text: (datum: Datum) => {\n const text = this.getDatumName(datum);\n return text;\n },\n x: (datum: Datum) => this.dataToPosition(datum)?.x,\n y: (datum: Datum) => this.dataToPosition(datum)?.y\n });\n }\n\n initAnimation() {\n this._pathMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('fadeInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.area, this._spec, this._markAttributeContext)\n )\n );\n }\n\n protected initTooltip() {\n this._tooltipHelper = new MapSeriesTooltipHelper(this);\n this._pathMark && this._tooltipHelper.activeTriggerSet.mark.add(this._pathMark);\n }\n\n protected getPath(datum: any) {\n const area = this._areaCache.get(datum[DEFAULT_DATA_INDEX]);\n if (area) {\n return area.shape;\n }\n const shape = this._coordinateHelper?.shape(datum);\n this._areaCache.set(datum[DEFAULT_DATA_INDEX], {\n shape\n });\n return shape;\n }\n\n // life cycle\n onEvaluateEnd() {\n this._mapViewData.updateData();\n }\n\n getDimensionField(): string[] {\n return [this.nameField];\n }\n\n getMeasureField(): string[] {\n return [this.valueField];\n }\n\n release() {\n super.release();\n this._areaCache.clear();\n this._nameMap = {};\n this._mapViewData = null as any;\n }\n\n handleZoom(e: ZoomEventParam) {\n const { scale, scaleCenter } = e;\n if (scale === 1) {\n return;\n }\n\n const pathGroup = this.getRootMark().getProduct();\n if (pathGroup) {\n if (!pathGroup.attribute.postMatrix) {\n pathGroup.setAttributes({\n postMatrix: new Matrix()\n });\n }\n pathGroup.scale(scale, scale, scaleCenter);\n }\n const vgrammarLabel = this._labelMark?.getComponent();\n\n if (vgrammarLabel) {\n vgrammarLabel.renderInner();\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n if (delta[0] === 0 && delta[1] === 0) {\n return;\n }\n const pathGroup = this.getRootMark().getProduct();\n if (pathGroup) {\n if (!pathGroup.attribute.postMatrix) {\n pathGroup.setAttributes({\n postMatrix: new Matrix()\n });\n }\n pathGroup.translate(delta[0], delta[1]);\n }\n const vgrammarLabel = this._labelMark?.getComponent();\n\n if (vgrammarLabel) {\n vgrammarLabel.renderInner();\n }\n }\n\n getDatumCenter(datum: any): [number, number] {\n if (this._centroidProperty && datum.properties?.[this._centroidProperty]) {\n return datum.properties?.[this._centroidProperty];\n }\n\n if (isValidNumber(datum.centroidX * datum.centroidY)) {\n return [datum.centroidX, datum.centroidY];\n }\n\n if (datum.properties?.center) {\n return datum.properties.center;\n }\n\n if (datum.properties?.centroid) {\n return datum.properties.centroid;\n }\n\n return [Number.NaN, Number.NaN];\n }\n\n getDatumName(datum: any): string {\n if (datum[this.nameField]) {\n return datum[this.nameField];\n }\n const name = datum.properties?.[this._nameProperty];\n if (name) {\n if (this._spec.nameMap) {\n if (this._spec.nameMap[name]) {\n return this._spec.nameMap[name];\n }\n }\n // TODO:\n // 1. showDefaultName 是一个考虑配置兼容的产物,不然会有 break-change\n // 2. 后续大版本升级,这里无需判断条件,直接返回 name 是更合理的\n if (this._spec.showDefaultName || !this._spec.nameMap) {\n return name;\n }\n }\n return '';\n }\n\n dataToPositionX(data: any): number {\n this._option?.onError('Method not implemented.');\n return 0;\n }\n dataToPositionY(data: any): number {\n this._option?.onError('Method not implemented.');\n return 0;\n }\n\n viewDataUpdate(d: DataView): void {\n super.viewDataUpdate(d);\n this._mapViewData?.getDataView()?.reRunAllTransform();\n this._mapViewData?.updateData();\n }\n\n protected _getDataIdKey() {\n return DEFAULT_DATA_INDEX;\n }\n\n getActiveMarks(): IMark[] {\n return [this._pathMark];\n }\n}\n\nexport const registerMapSeries = () => {\n // 注册语法元素\n registerGeoCoordinate();\n registerPathMark();\n Factory.registerSeries(MapSeries.type, MapSeries);\n Factory.registerImplement('registerMap', registerMapSource);\n Factory.registerImplement('unregisterMap', unregisterMapSource);\n registerFadeInOutAnimation();\n};\n"]}
@@ -7,7 +7,6 @@ import type { DimensionEventParams } from '../../event/events/dimension';
7
7
  import type { IRegion } from '../../region/interface';
8
8
  import type { ILineLikeSeriesTheme } from './interface';
9
9
  import type { ICompilableData } from '../../compile/data';
10
- export declare const LINE_LIKE_SERIES_DATA_RELATED_KEYS: Record<string, true>;
11
10
  export interface LineLikeSeriesMixin extends ISeries {
12
11
  _spec: any;
13
12
  _option: ISeriesOption;
@@ -2,15 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.LineLikeSeriesMixin = exports.LINE_LIKE_SERIES_DATA_RELATED_KEYS = void 0;
5
+ }), exports.LineLikeSeriesMixin = void 0;
6
6
 
7
7
  const base_1 = require("../../constant/base"), vdataset_1 = require("@visactor/vdataset"), event_1 = require("../../constant/event"), attribute_1 = require("../../constant/attribute"), interpolate_1 = require("../../typings/interpolate"), line_stroke_1 = require("../../typings/line-stroke"), utils_1 = require("../../animation/utils"), dimension_1 = require("../../event/events/dimension"), interface_1 = require("../../compile/mark/interface"), constant_1 = require("./constant"), vutils_extension_1 = require("@visactor/vutils-extension");
8
8
 
9
- exports.LINE_LIKE_SERIES_DATA_RELATED_KEYS = {
10
- sampling: !0,
11
- samplingFactor: !0
12
- };
13
-
14
9
  class LineLikeSeriesMixin {
15
10
  addSamplingCompile() {
16
11
  if (this._spec.sampling) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/mixin/line-mixin.ts"],"names":[],"mappings":"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","file":"line-mixin.js","sourcesContent":["import { PREFIX } from '../../constant/base';\nimport type { ISeriesOption } from '../interface/common';\nimport { DataView } from '@visactor/vdataset';\nimport { ChartEvent } from '../../constant/event';\nimport type { ISeries } from '../interface/series';\nimport { AttributeLevel } from '../../constant/attribute';\n\nimport type {\n ICompileMarkConfig,\n IMark,\n IMarkProgressiveConfig,\n ILabelMark,\n ILineMark,\n ISymbolMark,\n ITextMark\n} from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from '../../mark/interface/type';\nimport type { DirectionType, IInvalidType, InterpolateType, Maybe, Datum, ILayoutRect } from '../../typings';\nimport { DEFAULT_LINEAR_INTERPOLATE, DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport { Direction } from '../../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport { DEFAULT_CLOSE_STROKE_JOIN } from '../../typings/line-stroke';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ISeriesMarkInfo, ISeriesMarkInitOption, ISeriesTooltipHelper } from '../interface';\nimport { shouldMarkDoMorph } from '../../animation/utils';\nimport type { DimensionEventParams } from '../../event/events/dimension';\n// eslint-disable-next-line no-duplicate-imports\nimport { DimensionEventEnum } from '../../event/events/dimension';\nimport type { EventCallback, EventParams } from '../../event/interface';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport { lineLikeSeriesMark } from './constant';\nimport type { IRegion } from '../../region/interface';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport type { ILineLikeSeriesTheme } from './interface';\nimport type { ICompilableData } from '../../compile/data';\n\nexport const LINE_LIKE_SERIES_DATA_RELATED_KEYS: Record<string, true> = {\n sampling: true,\n samplingFactor: true\n};\n\nexport interface LineLikeSeriesMixin extends ISeries {\n _spec: any;\n _option: ISeriesOption;\n _seriesField: string;\n _theme: Maybe<ILineLikeSeriesTheme>;\n _tooltipHelper: ISeriesTooltipHelper;\n _invalidType: IInvalidType;\n _region: IRegion;\n _direction: DirectionType;\n _data: ICompilableData;\n\n _lineMark: ILineMark;\n _symbolMark: ISymbolMark;\n _symbolActiveMark: ISymbolMark;\n _labelMark: ITextMark;\n _fieldX?: string[];\n _fieldY?: string[];\n _fieldZ?: string[];\n\n _createMark: (markInfo: ISeriesMarkInfo, option?: ISeriesMarkInitOption, config?: ICompileMarkConfig) => IMark;\n _getInvalidDefined: (datum: Datum) => boolean;\n _getInvalidConnectType: () => IInvalidType;\n\n getLayoutRect: () => ILayoutRect;\n}\n\nexport class LineLikeSeriesMixin {\n addSamplingCompile(): void {\n if (this._spec.sampling) {\n const { width, height } = this._region.getLayoutRect();\n const fieldsY = this._fieldY;\n const fieldsX = this._fieldX;\n\n if (this._data) {\n this._data.setTransform([\n {\n type: 'dataSampling',\n size: this._direction === Direction.horizontal ? height : width,\n factor: this._spec.samplingFactor,\n yfield: this._direction === Direction.horizontal ? fieldsX[0] : fieldsY[0],\n groupBy: this._seriesField,\n mode: this._spec.sampling\n }\n ]);\n }\n }\n }\n\n addOverlapCompile(): void {\n if (this._spec.markOverlap) {\n const overlapTrans = [];\n overlapTrans.push({\n type: 'symbolOverlap',\n direction: this._direction === Direction.horizontal && this.coordinate === 'cartesian' ? 2 : 1,\n delta: this._spec.pointDis,\n deltaMul: this._spec.pointDisMul,\n groupBy: this._seriesField\n });\n this._symbolMark?.setTransform(overlapTrans);\n }\n }\n\n reCompileSampling(): void {\n if (this._spec.sampling) {\n this.compile();\n }\n }\n\n initLineMark(isSeriesMark?: boolean) {\n this._lineMark = this._createMark(\n lineLikeSeriesMark.line,\n {\n groupKey: this._seriesField,\n isSeriesMark: isSeriesMark ?? true\n },\n {\n morphElementKey: this.getDimensionField()[0]\n }\n ) as ILineMark;\n return this._lineMark;\n }\n\n initLineMarkStyle(direction?: DirectionType, areaCurveType?: InterpolateType) {\n const lineMark = this._lineMark;\n if (lineMark) {\n this.setMarkStyle(\n lineMark,\n {\n stroke: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n lineMark,\n {\n defined: this._getInvalidDefined.bind(this),\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(lineMark, 'defined');\n });\n if (this.coordinate === 'polar') {\n // 极坐标系下需要关闭\n this.setMarkStyle(\n lineMark,\n {\n lineJoin: DEFAULT_CLOSE_STROKE_JOIN,\n curveType: DEFAULT_LINEAR_INTERPOLATE,\n closePath: true\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n const userCurveType = areaCurveType ?? this.getSpec().line?.style?.curveType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? direction === Direction.horizontal\n ? 'monotoneY'\n : 'monotoneX'\n : userCurveType;\n\n this.setMarkStyle(\n lineMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n\n this.setMarkStyle(\n lineMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n return lineMark;\n }\n\n protected _getEventElement(params: DimensionEventParams, reverse: boolean = false): Datum[] {\n // items 修改遍历方法从 mark\n let data: Datum[] = [];\n params.dimensionInfo.some(df => {\n df.data.some(dd => {\n if (dd.series === this) {\n data = dd.datum;\n return true;\n }\n return false;\n });\n return !data.length;\n });\n return data;\n }\n\n protected _dimensionTrigger(params: DimensionEventParams) {\n const elements = this._getEventElement(params);\n\n switch (params.action) {\n case 'enter':\n this._symbolActiveMark.getDataView().parse(elements);\n this._symbolActiveMark.getData().updateData(false);\n break;\n case 'leave':\n this._symbolActiveMark.getDataView().parse([]);\n this._symbolActiveMark.getData().updateData(false);\n case 'click':\n case 'move':\n default:\n break;\n }\n }\n\n initSymbolMark(isSeriesMark?: boolean) {\n const pointSpec = this._spec.point || {};\n\n if (pointSpec.visible !== false) {\n this._symbolMark = this._createMark(\n lineLikeSeriesMark.point,\n {\n groupKey: this._seriesField,\n isSeriesMark: !!isSeriesMark\n },\n {\n morph: shouldMarkDoMorph(this._spec, lineLikeSeriesMark.point.name),\n morphElementKey: this.getDimensionField()[0]\n }\n ) as ISymbolMark;\n }\n\n if (this._spec.activePoint === true) {\n const activeData = new DataView(this._option.dataSet, { name: `${PREFIX}_series_${this.id}_active_point` });\n activeData.parse([]);\n this._symbolActiveMark = this._createMark(\n { name: `active_point_${this.id}`, type: MarkTypeEnum.symbol },\n {\n groupKey: this._seriesField,\n isSeriesMark: false,\n dataView: activeData,\n parent: this._region.getInteractionMark()\n },\n {\n morph: false\n }\n ) as ISymbolMark;\n this._symbolActiveMark.setVisible(false);\n }\n\n return this._symbolMark;\n }\n\n initSymbolMarkStyle() {\n const symbolMark = this._symbolMark;\n if (!symbolMark) {\n this._initSymbolActiveMarkAlone();\n return symbolMark;\n }\n // 设置基础样式\n this._initSymbolMark(symbolMark);\n\n // setStyle to active point\n if (this._symbolActiveMark && this._symbolMark.stateStyle.dimension_hover) {\n // active point will show\n this._symbolActiveMark.setVisible(true);\n this.event.on(DimensionEventEnum.dimensionHover, this._dimensionTrigger.bind(this) as EventCallback<EventParams>);\n // set style with referer\n for (const state in this._symbolMark.stateStyle) {\n this._symbolActiveMark.stateStyle[state] = {};\n for (const key in this._symbolMark.stateStyle[state]) {\n // symbolActiveMark 的 visible 具有额外逻辑,不要使用原始 symbol 的 visible\n if (key === 'visible') {\n continue;\n }\n this._symbolActiveMark.stateStyle[state][key] = {\n style: null,\n level: AttributeLevel.Series,\n referer: symbolMark\n };\n }\n }\n // make sure activeMark in state\n this._symbolActiveMark.state.changeStateInfo({\n stateValue: STATE_VALUE_ENUM.STATE_DIMENSION_HOVER,\n filter: () => true\n });\n }\n\n return symbolMark;\n }\n\n private _initSymbolMark(symbolMark: ISymbolMark) {\n if (!symbolMark) {\n return;\n }\n this.setMarkStyle(\n symbolMark,\n {\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n\n this.setMarkStyle(\n symbolMark,\n {\n x: (datum: Datum) => {\n // 对于symbol而言,如果undefined 的元素还进行scale机会,Null/undefined 会被当成0,导致交互误显示的问题\n return this._invalidType !== 'zero' && !this._getInvalidDefined(datum)\n ? Number.NaN\n : this.dataToPositionX(datum);\n },\n y: (datum: Datum) => {\n return this._invalidType !== 'zero' && !this._getInvalidDefined(datum)\n ? Number.NaN\n : this.dataToPositionY(datum);\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n private _initSymbolActiveMarkAlone() {\n const symbolMark = this._symbolActiveMark;\n if (!symbolMark) {\n return;\n }\n this._initSymbolMark(symbolMark);\n\n // 这里应该不能讲trigger-mark改为activeMark,activeMark数据会变,并且目前不支持selected等操作改变它的数据\n // this._trigger.registerMark(symbolMark);\n\n // setStyle to active point\n if (symbolMark && this._spec[lineLikeSeriesMark.point.name]?.state?.dimension_hover) {\n // active point will show\n symbolMark.setVisible(true);\n this.event.on(DimensionEventEnum.dimensionHover, this._dimensionTrigger.bind(this) as EventCallback<EventParams>);\n // set style with referer\n this.initMarkStyleWithSpec(\n symbolMark,\n mergeSpec({}, this._spec[lineLikeSeriesMark.point.name], { visible: true })\n );\n // make sure activeMark in state\n this._symbolActiveMark.state.changeStateInfo({\n stateValue: STATE_VALUE_ENUM.STATE_DIMENSION_HOVER,\n filter: () => true\n });\n }\n }\n\n initLabelMarkStyle(labelMark?: ILabelMark) {\n if (!labelMark) {\n return;\n }\n if (labelMark.getTarget()?.type !== 'symbol') {\n labelMark.setRule('line-data');\n }\n this.setMarkStyle(labelMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n labelMark,\n {\n visible: this._getInvalidDefined.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(labelMark, 'visible');\n });\n }\n\n initLineLabelMarkStyle(labelMark?: ILabelMark) {\n if (!labelMark) {\n return;\n }\n\n this.setMarkStyle(labelMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getSeriesField()] ?? this.getSeriesKeys()[0];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n }\n\n encodeDefined(mark: IMark, attr: string) {\n if (!mark) {\n return;\n }\n const allValid = this._isFieldAllValid();\n if (this._invalidType === 'zero' || allValid) {\n if (mark.stateStyle.normal?.[attr]?.style === true) {\n // no change\n return;\n }\n this.setMarkStyle(mark, { [attr]: true }, 'normal', AttributeLevel.Series);\n } else {\n if (mark.stateStyle.normal?.[attr]?.style !== true) {\n // no change\n return;\n }\n this.setMarkStyle(mark, { [attr]: this._getInvalidDefined.bind(this) }, 'normal', AttributeLevel.Series);\n }\n // if has produce, reCompile encode to set attribute to product\n mark.compileEncode();\n }\n\n protected _isFieldAllValid() {\n const viewStatistics = this.getViewDataStatistics();\n const field = this.getStackValueField();\n if (viewStatistics && viewStatistics.latestData && field) {\n return viewStatistics.latestData[field] && viewStatistics.latestData[field].allValid;\n }\n return false;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/mixin/line-mixin.ts"],"names":[],"mappings":"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","file":"line-mixin.js","sourcesContent":["import { PREFIX } from '../../constant/base';\nimport type { ISeriesOption } from '../interface/common';\nimport { DataView } from '@visactor/vdataset';\nimport { ChartEvent } from '../../constant/event';\nimport type { ISeries } from '../interface/series';\nimport { AttributeLevel } from '../../constant/attribute';\n\nimport type {\n ICompileMarkConfig,\n IMark,\n IMarkProgressiveConfig,\n ILabelMark,\n ILineMark,\n ISymbolMark,\n ITextMark\n} from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from '../../mark/interface/type';\nimport type { DirectionType, IInvalidType, InterpolateType, Maybe, Datum, ILayoutRect } from '../../typings';\nimport { DEFAULT_LINEAR_INTERPOLATE, DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport { Direction } from '../../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport { DEFAULT_CLOSE_STROKE_JOIN } from '../../typings/line-stroke';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ISeriesMarkInfo, ISeriesMarkInitOption, ISeriesTooltipHelper } from '../interface';\nimport { shouldMarkDoMorph } from '../../animation/utils';\nimport type { DimensionEventParams } from '../../event/events/dimension';\n// eslint-disable-next-line no-duplicate-imports\nimport { DimensionEventEnum } from '../../event/events/dimension';\nimport type { EventCallback, EventParams } from '../../event/interface';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport { lineLikeSeriesMark } from './constant';\nimport type { IRegion } from '../../region/interface';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport type { ILineLikeSeriesTheme } from './interface';\nimport type { ICompilableData } from '../../compile/data';\n\nexport interface LineLikeSeriesMixin extends ISeries {\n _spec: any;\n _option: ISeriesOption;\n _seriesField: string;\n _theme: Maybe<ILineLikeSeriesTheme>;\n _tooltipHelper: ISeriesTooltipHelper;\n _invalidType: IInvalidType;\n _region: IRegion;\n _direction: DirectionType;\n _data: ICompilableData;\n\n _lineMark: ILineMark;\n _symbolMark: ISymbolMark;\n _symbolActiveMark: ISymbolMark;\n _labelMark: ITextMark;\n _fieldX?: string[];\n _fieldY?: string[];\n _fieldZ?: string[];\n\n _createMark: (markInfo: ISeriesMarkInfo, option?: ISeriesMarkInitOption, config?: ICompileMarkConfig) => IMark;\n _getInvalidDefined: (datum: Datum) => boolean;\n _getInvalidConnectType: () => IInvalidType;\n\n getLayoutRect: () => ILayoutRect;\n}\n\nexport class LineLikeSeriesMixin {\n addSamplingCompile(): void {\n if (this._spec.sampling) {\n const { width, height } = this._region.getLayoutRect();\n const fieldsY = this._fieldY;\n const fieldsX = this._fieldX;\n\n if (this._data) {\n this._data.setTransform([\n {\n type: 'dataSampling',\n size: this._direction === Direction.horizontal ? height : width,\n factor: this._spec.samplingFactor,\n yfield: this._direction === Direction.horizontal ? fieldsX[0] : fieldsY[0],\n groupBy: this._seriesField,\n mode: this._spec.sampling\n }\n ]);\n }\n }\n }\n\n addOverlapCompile(): void {\n if (this._spec.markOverlap) {\n const overlapTrans = [];\n overlapTrans.push({\n type: 'symbolOverlap',\n direction: this._direction === Direction.horizontal && this.coordinate === 'cartesian' ? 2 : 1,\n delta: this._spec.pointDis,\n deltaMul: this._spec.pointDisMul,\n groupBy: this._seriesField\n });\n this._symbolMark?.setTransform(overlapTrans);\n }\n }\n\n reCompileSampling(): void {\n if (this._spec.sampling) {\n this.compile();\n }\n }\n\n initLineMark(isSeriesMark?: boolean) {\n this._lineMark = this._createMark(\n lineLikeSeriesMark.line,\n {\n groupKey: this._seriesField,\n isSeriesMark: isSeriesMark ?? true\n },\n {\n morphElementKey: this.getDimensionField()[0]\n }\n ) as ILineMark;\n return this._lineMark;\n }\n\n initLineMarkStyle(direction?: DirectionType, areaCurveType?: InterpolateType) {\n const lineMark = this._lineMark;\n if (lineMark) {\n this.setMarkStyle(\n lineMark,\n {\n stroke: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n lineMark,\n {\n defined: this._getInvalidDefined.bind(this),\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(lineMark, 'defined');\n });\n if (this.coordinate === 'polar') {\n // 极坐标系下需要关闭\n this.setMarkStyle(\n lineMark,\n {\n lineJoin: DEFAULT_CLOSE_STROKE_JOIN,\n curveType: DEFAULT_LINEAR_INTERPOLATE,\n closePath: true\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n const userCurveType = areaCurveType ?? this.getSpec().line?.style?.curveType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? direction === Direction.horizontal\n ? 'monotoneY'\n : 'monotoneX'\n : userCurveType;\n\n this.setMarkStyle(\n lineMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n\n this.setMarkStyle(\n lineMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n return lineMark;\n }\n\n protected _getEventElement(params: DimensionEventParams, reverse: boolean = false): Datum[] {\n // items 修改遍历方法从 mark\n let data: Datum[] = [];\n params.dimensionInfo.some(df => {\n df.data.some(dd => {\n if (dd.series === this) {\n data = dd.datum;\n return true;\n }\n return false;\n });\n return !data.length;\n });\n return data;\n }\n\n protected _dimensionTrigger(params: DimensionEventParams) {\n const elements = this._getEventElement(params);\n\n switch (params.action) {\n case 'enter':\n this._symbolActiveMark.getDataView().parse(elements);\n this._symbolActiveMark.getData().updateData(false);\n break;\n case 'leave':\n this._symbolActiveMark.getDataView().parse([]);\n this._symbolActiveMark.getData().updateData(false);\n case 'click':\n case 'move':\n default:\n break;\n }\n }\n\n initSymbolMark(isSeriesMark?: boolean) {\n const pointSpec = this._spec.point || {};\n\n if (pointSpec.visible !== false) {\n this._symbolMark = this._createMark(\n lineLikeSeriesMark.point,\n {\n groupKey: this._seriesField,\n isSeriesMark: !!isSeriesMark\n },\n {\n morph: shouldMarkDoMorph(this._spec, lineLikeSeriesMark.point.name),\n morphElementKey: this.getDimensionField()[0]\n }\n ) as ISymbolMark;\n }\n\n if (this._spec.activePoint === true) {\n const activeData = new DataView(this._option.dataSet, { name: `${PREFIX}_series_${this.id}_active_point` });\n activeData.parse([]);\n this._symbolActiveMark = this._createMark(\n { name: `active_point_${this.id}`, type: MarkTypeEnum.symbol },\n {\n groupKey: this._seriesField,\n isSeriesMark: false,\n dataView: activeData,\n parent: this._region.getInteractionMark()\n },\n {\n morph: false\n }\n ) as ISymbolMark;\n this._symbolActiveMark.setVisible(false);\n }\n\n return this._symbolMark;\n }\n\n initSymbolMarkStyle() {\n const symbolMark = this._symbolMark;\n if (!symbolMark) {\n this._initSymbolActiveMarkAlone();\n return symbolMark;\n }\n // 设置基础样式\n this._initSymbolMark(symbolMark);\n\n // setStyle to active point\n if (this._symbolActiveMark && this._symbolMark.stateStyle.dimension_hover) {\n // active point will show\n this._symbolActiveMark.setVisible(true);\n this.event.on(DimensionEventEnum.dimensionHover, this._dimensionTrigger.bind(this) as EventCallback<EventParams>);\n // set style with referer\n for (const state in this._symbolMark.stateStyle) {\n this._symbolActiveMark.stateStyle[state] = {};\n for (const key in this._symbolMark.stateStyle[state]) {\n // symbolActiveMark 的 visible 具有额外逻辑,不要使用原始 symbol 的 visible\n if (key === 'visible') {\n continue;\n }\n this._symbolActiveMark.stateStyle[state][key] = {\n style: null,\n level: AttributeLevel.Series,\n referer: symbolMark\n };\n }\n }\n // make sure activeMark in state\n this._symbolActiveMark.state.changeStateInfo({\n stateValue: STATE_VALUE_ENUM.STATE_DIMENSION_HOVER,\n filter: () => true\n });\n }\n\n return symbolMark;\n }\n\n private _initSymbolMark(symbolMark: ISymbolMark) {\n if (!symbolMark) {\n return;\n }\n this.setMarkStyle(\n symbolMark,\n {\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n\n this.setMarkStyle(\n symbolMark,\n {\n x: (datum: Datum) => {\n // 对于symbol而言,如果undefined 的元素还进行scale机会,Null/undefined 会被当成0,导致交互误显示的问题\n return this._invalidType !== 'zero' && !this._getInvalidDefined(datum)\n ? Number.NaN\n : this.dataToPositionX(datum);\n },\n y: (datum: Datum) => {\n return this._invalidType !== 'zero' && !this._getInvalidDefined(datum)\n ? Number.NaN\n : this.dataToPositionY(datum);\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n private _initSymbolActiveMarkAlone() {\n const symbolMark = this._symbolActiveMark;\n if (!symbolMark) {\n return;\n }\n this._initSymbolMark(symbolMark);\n\n // 这里应该不能讲trigger-mark改为activeMark,activeMark数据会变,并且目前不支持selected等操作改变它的数据\n // this._trigger.registerMark(symbolMark);\n\n // setStyle to active point\n if (symbolMark && this._spec[lineLikeSeriesMark.point.name]?.state?.dimension_hover) {\n // active point will show\n symbolMark.setVisible(true);\n this.event.on(DimensionEventEnum.dimensionHover, this._dimensionTrigger.bind(this) as EventCallback<EventParams>);\n // set style with referer\n this.initMarkStyleWithSpec(\n symbolMark,\n mergeSpec({}, this._spec[lineLikeSeriesMark.point.name], { visible: true })\n );\n // make sure activeMark in state\n this._symbolActiveMark.state.changeStateInfo({\n stateValue: STATE_VALUE_ENUM.STATE_DIMENSION_HOVER,\n filter: () => true\n });\n }\n }\n\n initLabelMarkStyle(labelMark?: ILabelMark) {\n if (!labelMark) {\n return;\n }\n if (labelMark.getTarget()?.type !== 'symbol') {\n labelMark.setRule('line-data');\n }\n this.setMarkStyle(labelMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n labelMark,\n {\n visible: this._getInvalidDefined.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(labelMark, 'visible');\n });\n }\n\n initLineLabelMarkStyle(labelMark?: ILabelMark) {\n if (!labelMark) {\n return;\n }\n\n this.setMarkStyle(labelMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getSeriesField()] ?? this.getSeriesKeys()[0];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n }\n\n encodeDefined(mark: IMark, attr: string) {\n if (!mark) {\n return;\n }\n const allValid = this._isFieldAllValid();\n if (this._invalidType === 'zero' || allValid) {\n if (mark.stateStyle.normal?.[attr]?.style === true) {\n // no change\n return;\n }\n this.setMarkStyle(mark, { [attr]: true }, 'normal', AttributeLevel.Series);\n } else {\n if (mark.stateStyle.normal?.[attr]?.style !== true) {\n // no change\n return;\n }\n this.setMarkStyle(mark, { [attr]: this._getInvalidDefined.bind(this) }, 'normal', AttributeLevel.Series);\n }\n // if has produce, reCompile encode to set attribute to product\n mark.compileEncode();\n }\n\n protected _isFieldAllValid() {\n const viewStatistics = this.getViewDataStatistics();\n const field = this.getStackValueField();\n if (viewStatistics && viewStatistics.latestData && field) {\n return viewStatistics.latestData[field] && viewStatistics.latestData[field].allValid;\n }\n return false;\n }\n}\n"]}
@@ -1,6 +1,5 @@
1
1
  import type { IPoint, Datum, StateValueType } from '../../typings';
2
2
  import { PolarSeries } from '../polar/polar';
3
- import type { ISeriesSpecUpdatePolicy } from '../base/base-series';
4
3
  import type { IArcMark, IMark, IPathMark, ITextMark } from '../../mark/interface';
5
4
  import type { IArcSeries, SeriesMarkMap } from '../interface';
6
5
  import { SeriesTypeEnum } from '../interface/type';
@@ -57,10 +56,15 @@ export declare class BasePieSeries<T extends IBasePieSeriesSpec> extends PolarSe
57
56
  getInnerRadius(state?: StateValueType): number;
58
57
  computeRadius(r: number, k?: number): number;
59
58
  computeDatumRadius(datum: Datum, state?: string): number;
60
- protected _getSpecUpdatePolicy(): ISeriesSpecUpdatePolicy;
61
59
  _compareSpec(spec: T, prevSpec: T, ignoreCheckKeys?: {
62
60
  [key: string]: true;
63
- }): import("../..").IUpdateSpecResult;
61
+ }): {
62
+ change: boolean;
63
+ reMake: boolean;
64
+ reRender: boolean;
65
+ reSize: boolean;
66
+ reCompile: boolean;
67
+ };
64
68
  computeDatumInnerRadius(datum: Datum, state?: string): number;
65
69
  dataToPosition(datum: Datum, checkInViewData?: boolean): IPoint | null;
66
70
  dataToCentralPosition: (datum: Datum) => IPoint | null;
@@ -4,15 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.registerPieSeries = exports.PieSeries = exports.BasePieSeries = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), vdataset_1 = require("@visactor/vdataset"), polar_1 = require("../../constant/polar"), attribute_1 = require("../../constant/attribute"), data_1 = require("../../constant/data"), base_1 = require("../../constant/base"), math_1 = require("../../util/math"), scale_1 = require("../../util/scale"), object_1 = require("../../util/object"), polar_2 = require("../polar/polar"), type_1 = require("../interface/type"), pie_1 = require("../../data/transforms/pie"), register_1 = require("../../data/register"), animation_1 = require("./animation/animation"), utils_1 = require("../../animation/utils"), interface_1 = require("../../animation/interface"), centerOffset_1 = require("./animation/centerOffset"), arc_1 = require("../../mark/arc"), constant_1 = require("./constant"), factory_1 = require("../../core/factory"), vutils_2 = require("@visactor/vutils"), pie_transformer_1 = require("./pie-transformer"), label_1 = require("../../constant/label"), event_1 = require("../../constant/event"), common_1 = require("../../component/axis/polar/util/common"), space_1 = require("../../util/space"), data_2 = require("../../compile/data"), pie_2 = require("../../theme/builtin/common/series/pie"), PIE_SERIES_DATA_RELATED_KEYS = {
8
- valueField: !0,
9
- angleField: !0,
10
- startAngle: !0,
11
- endAngle: !0,
12
- minAngle: !0
13
- }, PIE_SERIES_COMPILE_ONLY_KEYS = {
14
- outerRadius: !0
15
- };
7
+ const vutils_1 = require("@visactor/vutils"), vdataset_1 = require("@visactor/vdataset"), polar_1 = require("../../constant/polar"), attribute_1 = require("../../constant/attribute"), data_1 = require("../../constant/data"), base_1 = require("../../constant/base"), math_1 = require("../../util/math"), scale_1 = require("../../util/scale"), object_1 = require("../../util/object"), polar_2 = require("../polar/polar"), type_1 = require("../interface/type"), pie_1 = require("../../data/transforms/pie"), register_1 = require("../../data/register"), animation_1 = require("./animation/animation"), utils_1 = require("../../animation/utils"), interface_1 = require("../../animation/interface"), centerOffset_1 = require("./animation/centerOffset"), arc_1 = require("../../mark/arc"), constant_1 = require("./constant"), factory_1 = require("../../core/factory"), vutils_2 = require("@visactor/vutils"), pie_transformer_1 = require("./pie-transformer"), label_1 = require("../../constant/label"), event_1 = require("../../constant/event"), common_1 = require("../../component/axis/polar/util/common"), space_1 = require("../../util/space"), data_2 = require("../../compile/data"), pie_2 = require("../../theme/builtin/common/series/pie");
16
8
 
17
9
  class BasePieSeries extends polar_2.PolarSeries {
18
10
  constructor() {
@@ -216,13 +208,6 @@ class BasePieSeries extends polar_2.PolarSeries {
216
208
  computeDatumRadius(datum, state) {
217
209
  return this._computeLayoutRadius() * this.getRadius(state) + this._centerOffset;
218
210
  }
219
- _getSpecUpdatePolicy() {
220
- const policy = super._getSpecUpdatePolicy();
221
- return Object.assign(Object.assign({}, policy), {
222
- compileOnlyKeys: Object.assign(Object.assign({}, policy.compileOnlyKeys), PIE_SERIES_COMPILE_ONLY_KEYS),
223
- dataRelatedKeys: Object.assign(Object.assign({}, policy.dataRelatedKeys), PIE_SERIES_DATA_RELATED_KEYS)
224
- });
225
- }
226
211
  _compareSpec(spec, prevSpec, ignoreCheckKeys) {
227
212
  ignoreCheckKeys = null != ignoreCheckKeys ? ignoreCheckKeys : {
228
213
  data: !0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/pie/pie.ts"],"names":[],"mappings":"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","file":"pie.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { degreeToRadian, isValid } from '@visactor/vutils';\nimport { DataView } from '@visactor/vdataset';\nimport {\n ARC_START_ANGLE,\n ARC_END_ANGLE,\n ARC_RATIO,\n ARC_MIDDLE_ANGLE,\n ARC_RADIAN,\n ARC_QUADRANT,\n ARC_K,\n POLAR_START_RADIAN,\n POLAR_END_RADIAN\n} from '../../constant/polar';\nimport { AttributeLevel } from '../../constant/attribute';\nimport { DEFAULT_DATA_KEY, DEFAULT_DATA_INDEX } from '../../constant/data';\nimport { PREFIX } from '../../constant/base';\nimport type { IPoint, Datum, StateValueType, IArcMarkSpec, ILayoutNumber } from '../../typings';\nimport { normalizeStartEndAngle } from '../../util/math';\nimport { isSpecValueWithScale } from '../../util/scale';\nimport { field } from '../../util/object';\nimport { PolarSeries } from '../polar/polar';\nimport type { ISeriesSpecUpdatePolicy } from '../base/base-series';\nimport type { IArcMark, IMark, IMarkStyle, IPathMark, ITextMark } from '../../mark/interface';\nimport { MarkTypeEnum } from '../../mark/interface/type';\nimport type { IArcSeries, SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IPieOpt } from '../../data/transforms/pie';\n// eslint-disable-next-line no-duplicate-imports\nimport { pie } from '../../data/transforms/pie';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { registerEmptyCircleAnimation, registerPieAnimation } from './animation/animation';\nimport { animationConfig, shouldMarkDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { IAnimationTypeConfig, TypeAnimationConfig } from '../../animation/interface';\nimport { AnimationStateEnum } from '../../animation/interface';\nimport type {\n IBasePieSeriesSpec,\n IPieAnimationParams,\n IPieSeriesSpec,\n IPieSeriesTheme,\n PieAppearPreset\n} from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { centerOffsetConfig } from './animation/centerOffset';\nimport { registerArcMark } from '../../mark/arc';\nimport { pieSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { isNil, polarToCartesian } from '@visactor/vutils';\nimport { PieSeriesSpecTransformer } from './pie-transformer';\nimport { DEFAULT_LABEL_VISIBLE } from '../../constant/label';\nimport { ChartEvent } from '../../constant/event';\nimport { computeLayoutRadius } from '../../component/axis/polar/util/common';\nimport { calcLayoutNumber } from '../../util/space';\nimport type { ICompilableData } from '../../compile/data';\nimport { CompilableData } from '../../compile/data';\nimport { pie as pieTheme } from '../../theme/builtin/common/series/pie';\n\nconst PIE_SERIES_DATA_RELATED_KEYS: Record<'valueField' | 'angleField' | 'startAngle' | 'endAngle' | 'minAngle', true> =\n {\n valueField: true,\n angleField: true,\n startAngle: true,\n endAngle: true,\n minAngle: true\n };\n\nconst PIE_SERIES_COMPILE_ONLY_KEYS: Record<'outerRadius', true> = {\n outerRadius: true\n};\n\nexport class BasePieSeries<T extends IBasePieSeriesSpec> extends PolarSeries<T> implements IArcSeries {\n static readonly transformerConstructor = PieSeriesSpecTransformer as any;\n readonly transformerConstructor = PieSeriesSpecTransformer;\n\n protected _pieMarkName: string = SeriesMarkNameEnum.pie;\n protected _pieMarkType: string = MarkTypeEnum.arc;\n\n static readonly mark: SeriesMarkMap = pieSeriesMark;\n static readonly builtInTheme: Record<string, IPieSeriesTheme> = { pie: pieTheme };\n\n protected _viewDataLabel!: ICompilableData;\n\n // 饼图渲染不依赖于极坐标系轴,因此由 series 自己存储相关配置信息\n getCenter = (): IPoint => {\n const layoutRect = this._region.getLayoutRect();\n\n return {\n x: calcLayoutNumber(this._spec?.centerX as ILayoutNumber, layoutRect.width, layoutRect, layoutRect.width / 2),\n y: calcLayoutNumber(this._spec?.centerY as ILayoutNumber, layoutRect.height, layoutRect, layoutRect.height / 2)\n };\n };\n protected _centerOffset!: number;\n\n protected _cornerRadius!: number;\n\n protected _startAngle: number = POLAR_START_RADIAN;\n protected _endAngle: number = POLAR_END_RADIAN;\n protected _padAngle!: number;\n\n protected _pieMark: IArcMark | null = null;\n protected _labelMark: ITextMark | null = null;\n protected _labelLineMark: IPathMark | null = null;\n\n protected _showEmptyCircle: boolean;\n protected _emptyArcMark: IArcMark | null = null;\n\n protected _showAllZero: boolean;\n protected _supportNegative: boolean;\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n // center\n this._markAttributeContext.getCenter = () => ({\n x: () => this.getCenter().x,\n y: () => this.getCenter().y\n });\n\n // angle scale\n this._markAttributeContext.startAngleScale = (datum: Datum) => this.startAngleScale(datum);\n this._markAttributeContext.endAngleScale = (datum: Datum) => this.endAngleScale(datum);\n }\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this._centerOffset = this._spec.centerOffset ?? 0;\n this._cornerRadius = this._spec.cornerRadius ?? 0;\n\n const normalized = normalizeStartEndAngle(\n isValid(this._spec.startAngle) ? degreeToRadian(this._spec.startAngle) : this._startAngle,\n isValid(this._spec.endAngle) ? degreeToRadian(this._spec.endAngle) : this._endAngle\n );\n this._startAngle = normalized.startAngle;\n this._endAngle = normalized.endAngle;\n this._padAngle = isValid(this._spec.padAngle) ? degreeToRadian(this._spec.padAngle) : 0;\n\n // 值信息给角度,angleField 是为了兼容小组件用法,因为 spec 改造前已经开放了\n this.setAngleField(this._spec.valueField || this._spec.angleField);\n if (this._spec.categoryField) {\n this.setSeriesField(this._spec.categoryField);\n }\n this._radiusField = [];\n\n this._specAngleField = this._angleField.slice();\n this._specRadiusField = [];\n\n this._showEmptyCircle = this._spec.emptyPlaceholder?.showEmptyCircle ?? false;\n\n this._showAllZero = this._spec.showAllZero ?? false;\n this._supportNegative = this._spec.supportNegative ?? false;\n }\n\n initData() {\n super.initData();\n\n const viewData = this.getViewData();\n if (!viewData) {\n return;\n }\n\n registerDataSetInstanceTransform(this._dataSet, 'pie', pie);\n\n viewData.transform(\n {\n type: 'pie',\n options: {\n angleField: () => this._angleField[0],\n startAngle: () => this._startAngle,\n endAngle: () => this._endAngle,\n minAngle: () => (isValid(this._spec.minAngle) ? degreeToRadian(this._spec.minAngle) : 0),\n asStartAngle: ARC_START_ANGLE,\n asEndAngle: ARC_END_ANGLE,\n asRatio: ARC_RATIO,\n asMiddleAngle: ARC_MIDDLE_ANGLE,\n asRadian: ARC_RADIAN,\n asQuadrant: ARC_QUADRANT,\n asK: ARC_K,\n showAllZero: this._showAllZero,\n supportNegative: this._supportNegative,\n showEmptyCircle: this._showEmptyCircle\n } as IPieOpt\n },\n false\n );\n\n const viewDataLabel = new DataView(this._dataSet, { name: `${PREFIX}_series_${this.id}_viewDataLabel` });\n viewDataLabel.parse([this.getViewData()], {\n type: 'dataview'\n });\n\n this._viewDataLabel = new CompilableData(this._option, viewDataLabel);\n }\n\n compileData() {\n super.compileData();\n this._viewDataLabel?.compile();\n }\n\n initMark(): void {\n this._pieMark = this._createMark(\n {\n ...BasePieSeries.mark.pie,\n name: this._pieMarkName,\n type: this._pieMarkType\n },\n {\n key: DEFAULT_DATA_KEY,\n groupKey: this._seriesField,\n isSeriesMark: true\n },\n {\n morph: shouldMarkDoMorph(this._spec, this._pieMarkName),\n morphElementKey: this._seriesField\n }\n ) as IArcMark;\n\n if (this._showEmptyCircle) {\n this._emptyArcMark = this._createMark(\n {\n name: 'emptyCircle',\n type: 'arc'\n },\n {\n dataView: false\n }\n ) as IArcMark;\n\n this._data.addRelatedMark(this._emptyArcMark);\n }\n }\n\n private startAngleScale(datum: Datum) {\n return field(ARC_START_ANGLE)(datum);\n }\n\n private endAngleScale(datum: Datum) {\n return field(ARC_END_ANGLE)(datum);\n }\n\n protected _computeLayoutRadius() {\n return computeLayoutRadius(\n () => this._spec.layoutRadius,\n this.getLayoutRect,\n this.getCenter,\n () => ({ startAngle: this._startAngle, endAngle: this._endAngle })\n );\n }\n\n initMarkStyle(): void {\n const initialStyle: Partial<IMarkStyle<IArcMarkSpec>> = {\n x: () => this.getCenter().x,\n y: () => this.getCenter().y,\n fill: this.getColorAttribute(),\n outerRadius: isSpecValueWithScale(this._outerRadius)\n ? this._outerRadius\n : () => this._computeLayoutRadius() * this._outerRadius,\n innerRadius: isSpecValueWithScale(this._innerRadius)\n ? this._innerRadius\n : () => this._computeLayoutRadius() * this._innerRadius,\n cornerRadius: () => this._computeLayoutRadius() * this._cornerRadius,\n startAngle: datum => this.startAngleScale(datum),\n endAngle: datum => this.endAngleScale(datum),\n padAngle: this._padAngle,\n centerOffset: this._centerOffset\n };\n\n const pieMark = this._pieMark;\n if (pieMark) {\n this.setMarkStyle(pieMark, initialStyle, 'normal', AttributeLevel.Series);\n }\n\n /**\n * !important\n * !TODO: isDataEmpty执行了2次, 需要结构上优化, 保存isEmpty的状态, 尝试将2次执行优化为1次\n */\n const emptyPieMark = this._emptyArcMark;\n if (emptyPieMark) {\n this.setMarkStyle(\n emptyPieMark,\n {\n ...initialStyle,\n visible: () => {\n const data = this.getViewData().latestData;\n return !data || !data.length;\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n getInteractionTriggers() {\n return this._parseInteractionConfig(this._pieMark ? [this._pieMark] : []);\n }\n\n protected initTooltip() {\n super.initTooltip();\n\n this._pieMark && this._tooltipHelper.activeTriggerSet.mark.add(this._pieMark);\n }\n\n initMarkStyleWithSpec(mark?: IMark, spec?: any): void {\n super.initMarkStyleWithSpec(mark, spec);\n if (mark.name === this._pieMarkName) {\n // radius 配置需要额外处理比例值\n const pieSpec = this.getSpec()[mark.name as 'pie'];\n if (pieSpec) {\n for (const state in pieSpec.state || {}) {\n this.setMarkStyle(mark, this.generateRadiusStyle(pieSpec.state[state]), state, AttributeLevel.User_Mark);\n }\n }\n }\n if (mark.name === 'emptyCircle') {\n // 使用emptyCircle的radius比例值进行覆盖\n this.setMarkStyle(mark, this.generateRadiusStyle(spec.style), 'normal', AttributeLevel.User_Mark);\n }\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n visible: field(DEFAULT_LABEL_VISIBLE).bind(this),\n text: (datum: Datum) => {\n return datum[this.getDimensionField()[0]];\n },\n fill: this.getColorAttribute(),\n z: this.dataToPositionZ.bind(this)\n });\n }\n\n afterInitMark(): void {\n super.afterInitMark();\n }\n\n initEvent(): void {\n super.initEvent();\n this._viewDataLabel.getDataView()?.target.addListener('change', this.viewDataLabelUpdate.bind(this));\n }\n\n // 饼图不支持分组\n initGroups() {\n return;\n }\n\n /**\n * @override\n * @param ctx\n */\n onLayoutEnd(): void {\n this._viewDataLabel.getDataView().reRunAllTransform();\n this.onMarkPositionUpdate();\n super.onLayoutEnd();\n }\n\n getDimensionField(): string[] {\n return this._seriesField ? [this._seriesField] : [];\n }\n getMeasureField(): string[] {\n return this._specAngleField;\n }\n\n private viewDataLabelUpdate() {\n this.event.emit(ChartEvent.viewDataLabelUpdate, { model: this });\n this._viewDataLabel.updateData();\n }\n\n protected generateRadiusStyle(spec: any) {\n if (!spec) {\n return;\n }\n const style: any = {};\n spec.outerRadius && (style.outerRadius = () => this._computeLayoutRadius() * spec.outerRadius);\n spec.innerRadius && (style.innerRadius = () => this._computeLayoutRadius() * spec.innerRadius);\n spec.cornerRadius && (style.cornerRadius = () => this._computeLayoutRadius() * spec.cornerRadius);\n return style;\n }\n\n computeCenter(datum: Datum): IPoint {\n return {\n x: this._pieMark.getAttribute('x', datum, 'normal') as number,\n y: this._pieMark.getAttribute('y', datum, 'normal') as number\n };\n }\n\n getRadius(state: StateValueType = 'normal'): number {\n const styleRadius =\n state === 'normal'\n ? (this.getSpec() as any)[this._pieMark?.name || 'pie']?.style?.outerRadius\n : (this.getSpec() as any)[this._pieMark?.name || 'pie']?.state?.[state]?.outerRadius;\n return styleRadius ?? this._outerRadius;\n }\n\n getInnerRadius(state: StateValueType = 'normal'): number {\n const styleRadius =\n state === 'normal'\n ? (this.getSpec() as any)[this._pieMark?.name || 'pie']?.style?.innerRadius\n : (this.getSpec() as any)[this._pieMark?.name || 'pie']?.state?.[state]?.innerRadius;\n return styleRadius ?? this._innerRadius;\n }\n\n computeRadius(r: number, k?: number): number {\n return this._computeLayoutRadius() * r * (isNil(k) ? 1 : k) + this._centerOffset;\n }\n\n computeDatumRadius(datum: Datum, state?: string): number {\n return this._computeLayoutRadius() * this.getRadius(state) + this._centerOffset;\n }\n\n protected _getSpecUpdatePolicy(): ISeriesSpecUpdatePolicy {\n const policy = super._getSpecUpdatePolicy();\n return {\n ...policy,\n compileOnlyKeys: {\n ...policy.compileOnlyKeys,\n ...PIE_SERIES_COMPILE_ONLY_KEYS\n },\n dataRelatedKeys: {\n ...policy.dataRelatedKeys,\n ...PIE_SERIES_DATA_RELATED_KEYS\n }\n };\n }\n\n _compareSpec(spec: T, prevSpec: T, ignoreCheckKeys?: { [key: string]: true }) {\n ignoreCheckKeys = ignoreCheckKeys ?? { data: true };\n const defaultIgnoreKeys: string[] = [\n 'centerX',\n 'centerY',\n 'centerOffset',\n 'radius',\n 'innerRadius',\n 'cornerRadius',\n 'startAngle',\n 'endAngle',\n 'padAngle'\n ];\n defaultIgnoreKeys.forEach(key => {\n ignoreCheckKeys[key] = true;\n });\n\n const result = super._compareSpec(spec, prevSpec, ignoreCheckKeys);\n spec = spec ?? ({} as T);\n if (defaultIgnoreKeys.some(key => (spec as any)[key] !== (prevSpec as any)[key])) {\n result.reRender = true;\n result.change = true;\n }\n return result;\n }\n\n computeDatumInnerRadius(datum: Datum, state?: string): number {\n return this._computeLayoutRadius() * this.getInnerRadius(state) + this._centerOffset;\n }\n\n dataToPosition(datum: Datum, checkInViewData?: boolean): IPoint | null {\n const angle = datum[ARC_MIDDLE_ANGLE];\n if (isNil(angle)) {\n return null;\n }\n if (checkInViewData && !this.isDatumInViewData(datum)) {\n return null;\n }\n const radius = this.computeDatumRadius(datum);\n const center = this.computeCenter(datum);\n\n return polarToCartesian(center, radius, angle);\n }\n\n dataToCentralPosition = (datum: Datum): IPoint | null => {\n // 和 PieSeries.dataToPosition 实现不同,这里考虑了美观性,返回的位置是曲边梯形的中心\n const angle = datum[ARC_MIDDLE_ANGLE];\n if (isNil(angle)) {\n return null;\n }\n const radius = this.computeDatumRadius(datum);\n const innerRadius = this.computeDatumInnerRadius(datum);\n const center = this.computeCenter(datum);\n\n return polarToCartesian(center, (radius + innerRadius) / 2, angle);\n };\n\n initAnimation() {\n const animationParams: IPieAnimationParams = {\n growFrom: (datum, graphic, state) => {\n if (state === AnimationStateEnum.appear) {\n return this._startAngle;\n }\n if (state === AnimationStateEnum.disappear) {\n return this._endAngle;\n }\n const outState = [AnimationStateEnum.disappear, AnimationStateEnum.exit];\n const markElements = this._pieMark.getGraphics();\n const data = datum;\n const dataIndex = data?.[DEFAULT_DATA_INDEX];\n // 当前 mark 在上个状态是否处于第一个\n if (markElements.find(e => e.context.data[0]?.[DEFAULT_DATA_INDEX] < dataIndex) === undefined) {\n return this._startAngle;\n }\n // 当前 mark 在上个状态是否处于最后一个\n if (markElements.find(e => e.context.data[0]?.[DEFAULT_DATA_INDEX] > dataIndex) === undefined) {\n return this._endAngle;\n }\n // 扇形不在边缘时,获取扇形生长点:获取相邻状态下相邻扇形的边缘\n const prevMarkElement = [...markElements]\n .reverse()\n .find(e => e.context.data[0]?.[DEFAULT_DATA_INDEX] < dataIndex);\n if (outState.includes(state)) {\n return prevMarkElement?.getFinalAttribute()?.endAngle;\n }\n return (prevMarkElement?.attribute as any)?.endAngle;\n }\n };\n const appearPreset = (this._spec.animationAppear as IStateAnimateSpec<PieAppearPreset>)?.preset;\n if (this._pieMark) {\n const pieAnimationConfig = animationConfig(\n Factory.getAnimationInKey('pie')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.pie, this._spec, this._markAttributeContext)\n );\n if (pieAnimationConfig.normal && (pieAnimationConfig.normal as TypeAnimationConfig).type) {\n pieAnimationConfig.normal = centerOffsetConfig(\n this._pieMark,\n pieAnimationConfig.normal as IAnimationTypeConfig\n );\n }\n this._pieMark.setAnimationConfig(pieAnimationConfig);\n }\n if (this._emptyArcMark) {\n const pieAnimationConfig = animationConfig(\n Factory.getAnimationInKey('emptyCircle')?.(animationParams, appearPreset ?? 'fadeIn')\n );\n this._emptyArcMark.setAnimationConfig(pieAnimationConfig);\n }\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n\n getGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackValueField(): string {\n // do nothing\n return '';\n }\n\n // make sure this function fast\n protected _noAnimationDataKey(datum: Datum, index: number) {\n return index;\n }\n\n getActiveMarks(): IMark[] {\n return [this._pieMark];\n }\n}\n\nexport class PieSeries<T extends IPieSeriesSpec = IPieSeriesSpec> extends BasePieSeries<T> implements IArcSeries {\n static readonly type: string = SeriesTypeEnum.pie;\n type = SeriesTypeEnum.pie;\n}\n\nexport const registerPieSeries = () => {\n registerArcMark();\n registerPieAnimation();\n registerEmptyCircleAnimation();\n Factory.registerSeries(PieSeries.type, PieSeries);\n};\n"]}
1
+ {"version":3,"sources":["../src/series/pie/pie.ts"],"names":[],"mappings":"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","file":"pie.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { degreeToRadian, isValid } from '@visactor/vutils';\nimport { DataView } from '@visactor/vdataset';\nimport {\n ARC_START_ANGLE,\n ARC_END_ANGLE,\n ARC_RATIO,\n ARC_MIDDLE_ANGLE,\n ARC_RADIAN,\n ARC_QUADRANT,\n ARC_K,\n POLAR_START_RADIAN,\n POLAR_END_RADIAN\n} from '../../constant/polar';\nimport { AttributeLevel } from '../../constant/attribute';\nimport { DEFAULT_DATA_KEY, DEFAULT_DATA_INDEX } from '../../constant/data';\nimport { PREFIX } from '../../constant/base';\nimport type { IPoint, Datum, StateValueType, IArcMarkSpec, ILayoutNumber } from '../../typings';\nimport { normalizeStartEndAngle } from '../../util/math';\nimport { isSpecValueWithScale } from '../../util/scale';\nimport { field } from '../../util/object';\nimport { PolarSeries } from '../polar/polar';\nimport type { IArcMark, IMark, IMarkStyle, IPathMark, ITextMark } from '../../mark/interface';\nimport { MarkTypeEnum } from '../../mark/interface/type';\nimport type { IArcSeries, SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IPieOpt } from '../../data/transforms/pie';\n// eslint-disable-next-line no-duplicate-imports\nimport { pie } from '../../data/transforms/pie';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { registerEmptyCircleAnimation, registerPieAnimation } from './animation/animation';\nimport { animationConfig, shouldMarkDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { IAnimationTypeConfig, TypeAnimationConfig } from '../../animation/interface';\nimport { AnimationStateEnum } from '../../animation/interface';\nimport type {\n IBasePieSeriesSpec,\n IPieAnimationParams,\n IPieSeriesSpec,\n IPieSeriesTheme,\n PieAppearPreset\n} from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { centerOffsetConfig } from './animation/centerOffset';\nimport { registerArcMark } from '../../mark/arc';\nimport { pieSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { isNil, polarToCartesian } from '@visactor/vutils';\nimport { PieSeriesSpecTransformer } from './pie-transformer';\nimport { DEFAULT_LABEL_VISIBLE } from '../../constant/label';\nimport { ChartEvent } from '../../constant/event';\nimport { computeLayoutRadius } from '../../component/axis/polar/util/common';\nimport { calcLayoutNumber } from '../../util/space';\nimport type { ICompilableData } from '../../compile/data';\nimport { CompilableData } from '../../compile/data';\nimport { pie as pieTheme } from '../../theme/builtin/common/series/pie';\n\nexport class BasePieSeries<T extends IBasePieSeriesSpec> extends PolarSeries<T> implements IArcSeries {\n static readonly transformerConstructor = PieSeriesSpecTransformer as any;\n readonly transformerConstructor = PieSeriesSpecTransformer;\n\n protected _pieMarkName: string = SeriesMarkNameEnum.pie;\n protected _pieMarkType: string = MarkTypeEnum.arc;\n\n static readonly mark: SeriesMarkMap = pieSeriesMark;\n static readonly builtInTheme: Record<string, IPieSeriesTheme> = { pie: pieTheme };\n\n protected _viewDataLabel!: ICompilableData;\n\n // 饼图渲染不依赖于极坐标系轴,因此由 series 自己存储相关配置信息\n getCenter = (): IPoint => {\n const layoutRect = this._region.getLayoutRect();\n\n return {\n x: calcLayoutNumber(this._spec?.centerX as ILayoutNumber, layoutRect.width, layoutRect, layoutRect.width / 2),\n y: calcLayoutNumber(this._spec?.centerY as ILayoutNumber, layoutRect.height, layoutRect, layoutRect.height / 2)\n };\n };\n protected _centerOffset!: number;\n\n protected _cornerRadius!: number;\n\n protected _startAngle: number = POLAR_START_RADIAN;\n protected _endAngle: number = POLAR_END_RADIAN;\n protected _padAngle!: number;\n\n protected _pieMark: IArcMark | null = null;\n protected _labelMark: ITextMark | null = null;\n protected _labelLineMark: IPathMark | null = null;\n\n protected _showEmptyCircle: boolean;\n protected _emptyArcMark: IArcMark | null = null;\n\n protected _showAllZero: boolean;\n protected _supportNegative: boolean;\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n // center\n this._markAttributeContext.getCenter = () => ({\n x: () => this.getCenter().x,\n y: () => this.getCenter().y\n });\n\n // angle scale\n this._markAttributeContext.startAngleScale = (datum: Datum) => this.startAngleScale(datum);\n this._markAttributeContext.endAngleScale = (datum: Datum) => this.endAngleScale(datum);\n }\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this._centerOffset = this._spec.centerOffset ?? 0;\n this._cornerRadius = this._spec.cornerRadius ?? 0;\n\n const normalized = normalizeStartEndAngle(\n isValid(this._spec.startAngle) ? degreeToRadian(this._spec.startAngle) : this._startAngle,\n isValid(this._spec.endAngle) ? degreeToRadian(this._spec.endAngle) : this._endAngle\n );\n this._startAngle = normalized.startAngle;\n this._endAngle = normalized.endAngle;\n this._padAngle = isValid(this._spec.padAngle) ? degreeToRadian(this._spec.padAngle) : 0;\n\n // 值信息给角度,angleField 是为了兼容小组件用法,因为 spec 改造前已经开放了\n this.setAngleField(this._spec.valueField || this._spec.angleField);\n if (this._spec.categoryField) {\n this.setSeriesField(this._spec.categoryField);\n }\n this._radiusField = [];\n\n this._specAngleField = this._angleField.slice();\n this._specRadiusField = [];\n\n this._showEmptyCircle = this._spec.emptyPlaceholder?.showEmptyCircle ?? false;\n\n this._showAllZero = this._spec.showAllZero ?? false;\n this._supportNegative = this._spec.supportNegative ?? false;\n }\n\n initData() {\n super.initData();\n\n const viewData = this.getViewData();\n if (!viewData) {\n return;\n }\n\n registerDataSetInstanceTransform(this._dataSet, 'pie', pie);\n\n viewData.transform(\n {\n type: 'pie',\n options: {\n angleField: () => this._angleField[0],\n startAngle: () => this._startAngle,\n endAngle: () => this._endAngle,\n minAngle: () => (isValid(this._spec.minAngle) ? degreeToRadian(this._spec.minAngle) : 0),\n asStartAngle: ARC_START_ANGLE,\n asEndAngle: ARC_END_ANGLE,\n asRatio: ARC_RATIO,\n asMiddleAngle: ARC_MIDDLE_ANGLE,\n asRadian: ARC_RADIAN,\n asQuadrant: ARC_QUADRANT,\n asK: ARC_K,\n showAllZero: this._showAllZero,\n supportNegative: this._supportNegative,\n showEmptyCircle: this._showEmptyCircle\n } as IPieOpt\n },\n false\n );\n\n const viewDataLabel = new DataView(this._dataSet, { name: `${PREFIX}_series_${this.id}_viewDataLabel` });\n viewDataLabel.parse([this.getViewData()], {\n type: 'dataview'\n });\n\n this._viewDataLabel = new CompilableData(this._option, viewDataLabel);\n }\n\n compileData() {\n super.compileData();\n this._viewDataLabel?.compile();\n }\n\n initMark(): void {\n this._pieMark = this._createMark(\n {\n ...BasePieSeries.mark.pie,\n name: this._pieMarkName,\n type: this._pieMarkType\n },\n {\n key: DEFAULT_DATA_KEY,\n groupKey: this._seriesField,\n isSeriesMark: true\n },\n {\n morph: shouldMarkDoMorph(this._spec, this._pieMarkName),\n morphElementKey: this._seriesField\n }\n ) as IArcMark;\n\n if (this._showEmptyCircle) {\n this._emptyArcMark = this._createMark(\n {\n name: 'emptyCircle',\n type: 'arc'\n },\n {\n dataView: false\n }\n ) as IArcMark;\n\n this._data.addRelatedMark(this._emptyArcMark);\n }\n }\n\n private startAngleScale(datum: Datum) {\n return field(ARC_START_ANGLE)(datum);\n }\n\n private endAngleScale(datum: Datum) {\n return field(ARC_END_ANGLE)(datum);\n }\n\n protected _computeLayoutRadius() {\n return computeLayoutRadius(\n () => this._spec.layoutRadius,\n this.getLayoutRect,\n this.getCenter,\n () => ({ startAngle: this._startAngle, endAngle: this._endAngle })\n );\n }\n\n initMarkStyle(): void {\n const initialStyle: Partial<IMarkStyle<IArcMarkSpec>> = {\n x: () => this.getCenter().x,\n y: () => this.getCenter().y,\n fill: this.getColorAttribute(),\n outerRadius: isSpecValueWithScale(this._outerRadius)\n ? this._outerRadius\n : () => this._computeLayoutRadius() * this._outerRadius,\n innerRadius: isSpecValueWithScale(this._innerRadius)\n ? this._innerRadius\n : () => this._computeLayoutRadius() * this._innerRadius,\n cornerRadius: () => this._computeLayoutRadius() * this._cornerRadius,\n startAngle: datum => this.startAngleScale(datum),\n endAngle: datum => this.endAngleScale(datum),\n padAngle: this._padAngle,\n centerOffset: this._centerOffset\n };\n\n const pieMark = this._pieMark;\n if (pieMark) {\n this.setMarkStyle(pieMark, initialStyle, 'normal', AttributeLevel.Series);\n }\n\n /**\n * !important\n * !TODO: isDataEmpty执行了2次, 需要结构上优化, 保存isEmpty的状态, 尝试将2次执行优化为1次\n */\n const emptyPieMark = this._emptyArcMark;\n if (emptyPieMark) {\n this.setMarkStyle(\n emptyPieMark,\n {\n ...initialStyle,\n visible: () => {\n const data = this.getViewData().latestData;\n return !data || !data.length;\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n getInteractionTriggers() {\n return this._parseInteractionConfig(this._pieMark ? [this._pieMark] : []);\n }\n\n protected initTooltip() {\n super.initTooltip();\n\n this._pieMark && this._tooltipHelper.activeTriggerSet.mark.add(this._pieMark);\n }\n\n initMarkStyleWithSpec(mark?: IMark, spec?: any): void {\n super.initMarkStyleWithSpec(mark, spec);\n if (mark.name === this._pieMarkName) {\n // radius 配置需要额外处理比例值\n const pieSpec = this.getSpec()[mark.name as 'pie'];\n if (pieSpec) {\n for (const state in pieSpec.state || {}) {\n this.setMarkStyle(mark, this.generateRadiusStyle(pieSpec.state[state]), state, AttributeLevel.User_Mark);\n }\n }\n }\n if (mark.name === 'emptyCircle') {\n // 使用emptyCircle的radius比例值进行覆盖\n this.setMarkStyle(mark, this.generateRadiusStyle(spec.style), 'normal', AttributeLevel.User_Mark);\n }\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n visible: field(DEFAULT_LABEL_VISIBLE).bind(this),\n text: (datum: Datum) => {\n return datum[this.getDimensionField()[0]];\n },\n fill: this.getColorAttribute(),\n z: this.dataToPositionZ.bind(this)\n });\n }\n\n afterInitMark(): void {\n super.afterInitMark();\n }\n\n initEvent(): void {\n super.initEvent();\n this._viewDataLabel.getDataView()?.target.addListener('change', this.viewDataLabelUpdate.bind(this));\n }\n\n // 饼图不支持分组\n initGroups() {\n return;\n }\n\n /**\n * @override\n * @param ctx\n */\n onLayoutEnd(): void {\n this._viewDataLabel.getDataView().reRunAllTransform();\n this.onMarkPositionUpdate();\n super.onLayoutEnd();\n }\n\n getDimensionField(): string[] {\n return this._seriesField ? [this._seriesField] : [];\n }\n getMeasureField(): string[] {\n return this._specAngleField;\n }\n\n private viewDataLabelUpdate() {\n this.event.emit(ChartEvent.viewDataLabelUpdate, { model: this });\n this._viewDataLabel.updateData();\n }\n\n protected generateRadiusStyle(spec: any) {\n if (!spec) {\n return;\n }\n const style: any = {};\n spec.outerRadius && (style.outerRadius = () => this._computeLayoutRadius() * spec.outerRadius);\n spec.innerRadius && (style.innerRadius = () => this._computeLayoutRadius() * spec.innerRadius);\n spec.cornerRadius && (style.cornerRadius = () => this._computeLayoutRadius() * spec.cornerRadius);\n return style;\n }\n\n computeCenter(datum: Datum): IPoint {\n return {\n x: this._pieMark.getAttribute('x', datum, 'normal') as number,\n y: this._pieMark.getAttribute('y', datum, 'normal') as number\n };\n }\n\n getRadius(state: StateValueType = 'normal'): number {\n const styleRadius =\n state === 'normal'\n ? (this.getSpec() as any)[this._pieMark?.name || 'pie']?.style?.outerRadius\n : (this.getSpec() as any)[this._pieMark?.name || 'pie']?.state?.[state]?.outerRadius;\n return styleRadius ?? this._outerRadius;\n }\n\n getInnerRadius(state: StateValueType = 'normal'): number {\n const styleRadius =\n state === 'normal'\n ? (this.getSpec() as any)[this._pieMark?.name || 'pie']?.style?.innerRadius\n : (this.getSpec() as any)[this._pieMark?.name || 'pie']?.state?.[state]?.innerRadius;\n return styleRadius ?? this._innerRadius;\n }\n\n computeRadius(r: number, k?: number): number {\n return this._computeLayoutRadius() * r * (isNil(k) ? 1 : k) + this._centerOffset;\n }\n\n computeDatumRadius(datum: Datum, state?: string): number {\n return this._computeLayoutRadius() * this.getRadius(state) + this._centerOffset;\n }\n\n _compareSpec(spec: T, prevSpec: T, ignoreCheckKeys?: { [key: string]: true }) {\n ignoreCheckKeys = ignoreCheckKeys ?? { data: true };\n const defaultIgnoreKeys: string[] = [\n 'centerX',\n 'centerY',\n 'centerOffset',\n 'radius',\n 'innerRadius',\n 'cornerRadius',\n 'startAngle',\n 'endAngle',\n 'padAngle'\n ];\n defaultIgnoreKeys.forEach(key => {\n ignoreCheckKeys[key] = true;\n });\n\n const result = super._compareSpec(spec, prevSpec, ignoreCheckKeys);\n spec = spec ?? ({} as T);\n if (defaultIgnoreKeys.some(key => (spec as any)[key] !== (prevSpec as any)[key])) {\n result.reRender = true;\n result.change = true;\n }\n return result;\n }\n\n computeDatumInnerRadius(datum: Datum, state?: string): number {\n return this._computeLayoutRadius() * this.getInnerRadius(state) + this._centerOffset;\n }\n\n dataToPosition(datum: Datum, checkInViewData?: boolean): IPoint | null {\n const angle = datum[ARC_MIDDLE_ANGLE];\n if (isNil(angle)) {\n return null;\n }\n if (checkInViewData && !this.isDatumInViewData(datum)) {\n return null;\n }\n const radius = this.computeDatumRadius(datum);\n const center = this.computeCenter(datum);\n\n return polarToCartesian(center, radius, angle);\n }\n\n dataToCentralPosition = (datum: Datum): IPoint | null => {\n // 和 PieSeries.dataToPosition 实现不同,这里考虑了美观性,返回的位置是曲边梯形的中心\n const angle = datum[ARC_MIDDLE_ANGLE];\n if (isNil(angle)) {\n return null;\n }\n const radius = this.computeDatumRadius(datum);\n const innerRadius = this.computeDatumInnerRadius(datum);\n const center = this.computeCenter(datum);\n\n return polarToCartesian(center, (radius + innerRadius) / 2, angle);\n };\n\n initAnimation() {\n const animationParams: IPieAnimationParams = {\n growFrom: (datum, graphic, state) => {\n if (state === AnimationStateEnum.appear) {\n return this._startAngle;\n }\n if (state === AnimationStateEnum.disappear) {\n return this._endAngle;\n }\n const outState = [AnimationStateEnum.disappear, AnimationStateEnum.exit];\n const markElements = this._pieMark.getGraphics();\n const data = datum;\n const dataIndex = data?.[DEFAULT_DATA_INDEX];\n // 当前 mark 在上个状态是否处于第一个\n if (markElements.find(e => e.context.data[0]?.[DEFAULT_DATA_INDEX] < dataIndex) === undefined) {\n return this._startAngle;\n }\n // 当前 mark 在上个状态是否处于最后一个\n if (markElements.find(e => e.context.data[0]?.[DEFAULT_DATA_INDEX] > dataIndex) === undefined) {\n return this._endAngle;\n }\n // 扇形不在边缘时,获取扇形生长点:获取相邻状态下相邻扇形的边缘\n const prevMarkElement = [...markElements]\n .reverse()\n .find(e => e.context.data[0]?.[DEFAULT_DATA_INDEX] < dataIndex);\n if (outState.includes(state)) {\n return prevMarkElement?.getFinalAttribute()?.endAngle;\n }\n return (prevMarkElement?.attribute as any)?.endAngle;\n }\n };\n const appearPreset = (this._spec.animationAppear as IStateAnimateSpec<PieAppearPreset>)?.preset;\n if (this._pieMark) {\n const pieAnimationConfig = animationConfig(\n Factory.getAnimationInKey('pie')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.pie, this._spec, this._markAttributeContext)\n );\n if (pieAnimationConfig.normal && (pieAnimationConfig.normal as TypeAnimationConfig).type) {\n pieAnimationConfig.normal = centerOffsetConfig(\n this._pieMark,\n pieAnimationConfig.normal as IAnimationTypeConfig\n );\n }\n this._pieMark.setAnimationConfig(pieAnimationConfig);\n }\n if (this._emptyArcMark) {\n const pieAnimationConfig = animationConfig(\n Factory.getAnimationInKey('emptyCircle')?.(animationParams, appearPreset ?? 'fadeIn')\n );\n this._emptyArcMark.setAnimationConfig(pieAnimationConfig);\n }\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n\n getGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackValueField(): string {\n // do nothing\n return '';\n }\n\n // make sure this function fast\n protected _noAnimationDataKey(datum: Datum, index: number) {\n return index;\n }\n\n getActiveMarks(): IMark[] {\n return [this._pieMark];\n }\n}\n\nexport class PieSeries<T extends IPieSeriesSpec = IPieSeriesSpec> extends BasePieSeries<T> implements IArcSeries {\n static readonly type: string = SeriesTypeEnum.pie;\n type = SeriesTypeEnum.pie;\n}\n\nexport const registerPieSeries = () => {\n registerArcMark();\n registerPieAnimation();\n registerEmptyCircleAnimation();\n Factory.registerSeries(PieSeries.type, PieSeries);\n};\n"]}
@@ -4,13 +4,11 @@ import { PolarSeries } from '../polar';
4
4
  import type { IContinuousTickData, IProgressLikeSeriesSpec } from './interface';
5
5
  import type { IPolarAxis } from '../../../component/axis';
6
6
  import type { SeriesMarkMap } from '../../interface';
7
- import type { ISeriesSpecUpdatePolicy } from '../../base/base-series';
8
7
  export declare abstract class ProgressLikeSeries<T extends IProgressLikeSeriesSpec> extends PolarSeries<T> {
9
8
  static readonly mark: SeriesMarkMap;
10
9
  protected _startAngle: number;
11
10
  protected _endAngle: number;
12
11
  protected _arcGroupMark: IGroupMark | null;
13
- protected _getSpecUpdatePolicy(): ISeriesSpecUpdatePolicy;
14
12
  setAttrFromSpec(): void;
15
13
  getStackGroupFields(): string[];
16
14
  getStackValueField(): string;