@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
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/cartesian/linear-axis.ts"],"names":[],"mappings":"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","file":"linear-axis.js","sourcesContent":["import type { LogScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { LinearScale } from '@visactor/vscale';\nimport { CartesianAxis } from './axis';\nimport { isValid, isValidNumber, last, mixin } from '@visactor/vutils';\nimport type { IAxisHelper, ICartesianAxisCommonTheme, ICartesianLinearAxisSpec } from './interface';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport type { ICartesianTickDataOpt } from '@visactor/vrender-components/axis/type';\nimport { continuousTicks } from '@visactor/vrender-components/axis/tick-data/continuous';\nimport { LineAxisGrid } from '@visactor/vrender-components/axis/grid/line';\nimport { LineAxis } from '@visactor/vrender-components/axis/line';\nimport { isXAxis, isZAxis } from './util';\nimport { combineDomains, isPercent } from '../../../util';\nimport type { VRenderComponentOptions } from '../../../core/interface';\nimport type { IGroup } from '@visactor/vrender-core';\nimport { AxisEnum, GridEnum } from '../interface';\nimport { axisLinear } from '../../../theme/builtin/common/component/axis/linear-axis';\nimport { axisX, axisY } from '../../../theme/builtin/common/component/axis/cartesian-axis';\nimport { commonAxis } from '../../../theme/builtin/common/component/axis/common-axis';\n\nexport interface CartesianLinearAxis<T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec>\n extends Pick<\n LinearAxisMixin,\n | 'setExtraAttrFromSpec'\n | 'computeLinearDomain'\n | 'valueToPosition'\n | 'setScaleNice'\n | '_domain'\n | 'transformScaleDomain'\n | 'setExtendDomain'\n | '_break'\n >,\n CartesianAxis<T> {}\n\nexport class CartesianLinearAxis<\n T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec\n> extends CartesianAxis<T> {\n static type = ComponentTypeEnum.cartesianLinearAxis;\n type = ComponentTypeEnum.cartesianLinearAxis;\n\n static specKey = 'axes';\n static readonly builtInTheme: Record<string, ICartesianAxisCommonTheme> = {\n axis: commonAxis,\n axisLinear,\n axisX,\n axisY\n };\n\n protected _zero: boolean = true;\n protected _nice: boolean = true;\n protected _extend: { [key: string]: number } = {};\n\n protected _scale: LinearScale | LogScale = new LinearScale();\n protected declare _scales: LinearScale[] | LogScale[];\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setExtraAttrFromSpec();\n const tickTransform = this._tickData?.[0]\n ?.getDataView()\n .transformsArr.find(t => t.type === this.registerTicksTransform());\n tickTransform && (tickTransform.options = this._tickTransformOption());\n }\n\n /**\n * @override\n */\n protected initScales() {\n super.initScales();\n const range = [0, 1];\n if (isValid(this._domain?.min)) {\n range[0] = this._domain.min;\n }\n if (isValid(this._domain?.max)) {\n range[1] = this._domain.max;\n }\n this._scale.domain(range);\n // this.setScaleNice();\n }\n\n protected _tickTransformOption() {\n return {\n ...super._tickTransformOption(),\n breakData: this._spec.breaks?.length ? () => this._break : null\n } as ICartesianTickDataOpt;\n }\n\n protected _getUpdateAttribute(ignoreGrid: boolean) {\n const attrs = super._getUpdateAttribute(ignoreGrid);\n\n // get axis break configuration\n if (!isZAxis(this._orient) && this._break?.breaks?.length) {\n const { width, height } = this.getLayoutRect();\n const isX = isXAxis(this._orient);\n const axisLength = isX ? width : height;\n\n attrs.breaks = this._break.breaks.map(obj => {\n const { range, breakSymbol, gap = 6 } = obj;\n const position = this.valueToPosition((range[0] + range[1]) / 2);\n const ratio = position / axisLength;\n\n let gapRatio;\n if (isPercent(gap)) {\n gapRatio = Number(gap.substring(0, gap.length - 1)) / 100;\n } else {\n gapRatio = (gap as number) / axisLength;\n }\n const symbolAngle = isValidNumber(breakSymbol?.angle) ? breakSymbol.angle : isX ? 60 : 15;\n\n return {\n range: [ratio - gapRatio / 2, ratio + gapRatio / 2],\n breakSymbol: {\n visible: true,\n ...breakSymbol,\n angle: (symbolAngle * Math.PI) / 180\n },\n rawRange: range\n };\n });\n }\n\n return attrs;\n }\n\n protected getNewScaleRange() {\n let newRange = super.getNewScaleRange();\n if (this._spec.breaks?.length && this._break?.scope) {\n // get axis breaks\n newRange = combineDomains(this._break.scope).map(val => newRange[0] + (last(newRange) - newRange[0]) * val);\n }\n\n return newRange;\n }\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n return this.computeLinearDomain(data);\n }\n\n protected axisHelper() {\n const helper: IAxisHelper = super.axisHelper();\n helper.setExtendDomain = this.setExtendDomain.bind(this);\n helper.valueToPosition = this.valueToPosition.bind(this);\n return helper;\n }\n\n protected registerTicksTransform() {\n const name = `${this.type}-ticks`;\n registerDataSetInstanceTransform(this._option.dataSet, name, continuousTicks);\n\n return name;\n }\n}\n\nmixin(CartesianLinearAxis, LinearAxisMixin);\n\nexport const registerCartesianLinearAxis = () => {\n Factory.registerGraphicComponent(AxisEnum.lineAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.lineAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxisGrid(attrs, options) as unknown as IGroup;\n });\n registerAxis();\n Factory.registerComponent(CartesianLinearAxis.type, CartesianLinearAxis);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/axis/cartesian/linear-axis.ts"],"names":[],"mappings":"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","file":"linear-axis.js","sourcesContent":["import type { LogScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { LinearScale } from '@visactor/vscale';\nimport { CartesianAxis } from './axis';\nimport { isValid, isValidNumber, last, mixin } from '@visactor/vutils';\nimport type { IAxisHelper, ICartesianAxisCommonTheme, ICartesianLinearAxisSpec } from './interface';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport type { ICartesianTickDataOpt } from '@visactor/vrender-components';\nimport { continuousTicks, LineAxis, LineAxisGrid } from '@visactor/vrender-components';\nimport { isXAxis, isZAxis } from './util';\nimport { combineDomains, isPercent } from '../../../util';\nimport type { VRenderComponentOptions } from '../../../core/interface';\nimport type { IGroup } from '@visactor/vrender-core';\nimport { AxisEnum, GridEnum } from '../interface';\nimport { axisLinear } from '../../../theme/builtin/common/component/axis/linear-axis';\nimport { axisX, axisY } from '../../../theme/builtin/common/component/axis/cartesian-axis';\nimport { commonAxis } from '../../../theme/builtin/common/component/axis/common-axis';\n\nexport interface CartesianLinearAxis<T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec>\n extends Pick<\n LinearAxisMixin,\n | 'setExtraAttrFromSpec'\n | 'computeLinearDomain'\n | 'valueToPosition'\n | 'setScaleNice'\n | '_domain'\n | 'transformScaleDomain'\n | 'setExtendDomain'\n | '_break'\n >,\n CartesianAxis<T> {}\n\nexport class CartesianLinearAxis<\n T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec\n> extends CartesianAxis<T> {\n static type = ComponentTypeEnum.cartesianLinearAxis;\n type = ComponentTypeEnum.cartesianLinearAxis;\n\n static specKey = 'axes';\n static readonly builtInTheme: Record<string, ICartesianAxisCommonTheme> = {\n axis: commonAxis,\n axisLinear,\n axisX,\n axisY\n };\n\n protected _zero: boolean = true;\n protected _nice: boolean = true;\n protected _extend: { [key: string]: number } = {};\n\n protected _scale: LinearScale | LogScale = new LinearScale();\n protected declare _scales: LinearScale[] | LogScale[];\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setExtraAttrFromSpec();\n const tickTransform = this._tickData?.[0]\n ?.getDataView()\n .transformsArr.find(t => t.type === this.registerTicksTransform());\n tickTransform && (tickTransform.options = this._tickTransformOption());\n }\n\n /**\n * @override\n */\n protected initScales() {\n super.initScales();\n const range = [0, 1];\n if (isValid(this._domain?.min)) {\n range[0] = this._domain.min;\n }\n if (isValid(this._domain?.max)) {\n range[1] = this._domain.max;\n }\n this._scale.domain(range);\n // this.setScaleNice();\n }\n\n protected _tickTransformOption() {\n return {\n ...super._tickTransformOption(),\n breakData: this._spec.breaks?.length ? () => this._break : null\n } as ICartesianTickDataOpt;\n }\n\n protected _getUpdateAttribute(ignoreGrid: boolean) {\n const attrs = super._getUpdateAttribute(ignoreGrid);\n\n // get axis break configuration\n if (!isZAxis(this._orient) && this._break?.breaks?.length) {\n const { width, height } = this.getLayoutRect();\n const isX = isXAxis(this._orient);\n const axisLength = isX ? width : height;\n\n attrs.breaks = this._break.breaks.map(obj => {\n const { range, breakSymbol, gap = 6 } = obj;\n const position = this.valueToPosition((range[0] + range[1]) / 2);\n const ratio = position / axisLength;\n\n let gapRatio;\n if (isPercent(gap)) {\n gapRatio = Number(gap.substring(0, gap.length - 1)) / 100;\n } else {\n gapRatio = (gap as number) / axisLength;\n }\n const symbolAngle = isValidNumber(breakSymbol?.angle) ? breakSymbol.angle : isX ? 60 : 15;\n\n return {\n range: [ratio - gapRatio / 2, ratio + gapRatio / 2],\n breakSymbol: {\n visible: true,\n ...breakSymbol,\n angle: (symbolAngle * Math.PI) / 180\n },\n rawRange: range\n };\n });\n }\n\n return attrs;\n }\n\n protected getNewScaleRange() {\n let newRange = super.getNewScaleRange();\n if (this._spec.breaks?.length && this._break?.scope) {\n // get axis breaks\n newRange = combineDomains(this._break.scope).map(val => newRange[0] + (last(newRange) - newRange[0]) * val);\n }\n\n return newRange;\n }\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n return this.computeLinearDomain(data);\n }\n\n protected axisHelper() {\n const helper: IAxisHelper = super.axisHelper();\n helper.setExtendDomain = this.setExtendDomain.bind(this);\n helper.valueToPosition = this.valueToPosition.bind(this);\n return helper;\n }\n\n protected registerTicksTransform() {\n const name = `${this.type}-ticks`;\n registerDataSetInstanceTransform(this._option.dataSet, name, continuousTicks);\n\n return name;\n }\n}\n\nmixin(CartesianLinearAxis, LinearAxisMixin);\n\nexport const registerCartesianLinearAxis = () => {\n Factory.registerGraphicComponent(AxisEnum.lineAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.lineAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxisGrid(attrs, options) as unknown as IGroup;\n });\n registerAxis();\n Factory.registerComponent(CartesianLinearAxis.type, CartesianLinearAxis);\n};\n"]}
@@ -126,14 +126,17 @@ class LinearAxisMixin {
126
126
  vutils_1.last)(domain), 0));
127
127
  }
128
128
  setExtendDomain(key, value) {
129
- if (void 0 === value) {
130
- if (!Object.prototype.hasOwnProperty.call(this._extend, key)) return;
131
- delete this._extend[key];
132
- } else {
133
- if (this._extend[key] === value) return;
134
- this._extend[key] = value;
129
+ if (void 0 === value) return void delete this._extend[key];
130
+ this._extend[key] = value;
131
+ const domain = this._scale.domain();
132
+ if (this.extendDomain(domain), this.includeZero(domain), this.setDomainMinMax(domain),
133
+ this.niceDomain(domain), this._scale.domain(domain, this._nice), this._nice) {
134
+ !this.setScaleNice() && this._scale.rescale();
135
135
  }
136
- this.updateScaleDomain();
136
+ this.event.emit(event_1.ChartEvent.scaleUpdate, {
137
+ model: this,
138
+ value: "domain"
139
+ });
137
140
  }
138
141
  extendDomain(domain) {
139
142
  let temp;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/mixin/linear-axis-mixin.ts"],"names":[],"mappings":"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","file":"linear-axis-mixin.js","sourcesContent":["import { isValidNumber, isNil, isValid, isFunction, last } from '@visactor/vutils';\nimport type { LinearScale } from '@visactor/vscale';\nimport { combineDomains, maxInArr, minInArr } from '../../../util/array';\nimport { getLinearAxisSpecDomain } from '../util';\nimport type { IAxisLocationCfg, ILinearAxisBreakSpec, ITick } from '../interface';\nimport { ChartEvent } from '../../../constant/event';\nimport type { IEvent } from '../../../event/interface';\nimport { isXAxis } from '../cartesian/util/common';\nimport type { IOrientType } from '../../../typings/space';\nimport type { IComponentOption } from '../../interface/common';\nimport type { StringOrNumber } from '../../../typings';\nimport { breakData } from './util/break-data';\nimport type { IModel } from '../../../model/interface';\n\nexport const e10 = Math.sqrt(50);\nexport const e5 = Math.sqrt(10);\nexport const e2 = Math.sqrt(2);\nconst DEFAULT_TICK_COUNT = 5;\n\nexport interface LinearAxisMixin {\n _scale: LinearScale;\n _scales: LinearScale[];\n _spec: any;\n _nice: boolean;\n _zero: boolean;\n /**\n * spec中申明的min,max\n */\n _domain: { min?: number; max?: number };\n /**\n * 记录一下解析spec后,获取到的domain,\n * 用于在插件(如0值对齐等功能)中使用\n */\n _domainAfterSpec: number[];\n _softMinValue?: number;\n _softMaxValue?: number;\n _expand?: { max?: number; min?: number };\n _tick: ITick | undefined;\n isSeriesDataEnable: any;\n computeDomain: any;\n collectData: (depth?: number, rawData?: boolean) => { min: number; max: number; values: any[] }[];\n /**\n * 这个变量在其他break相关组件和扩展中都有使用\n */\n _break: {\n domain: [number, number][];\n scope: [number, number][];\n breakDomains: [number, number][];\n breaks: ILinearAxisBreakSpec[];\n };\n event: IEvent;\n _orient: IOrientType;\n _option: IComponentOption;\n niceLabelFormatter: (value: StringOrNumber) => StringOrNumber;\n _refreshVisibilityByData: () => boolean;\n}\n\nexport class LinearAxisMixin {\n protected _extend: { [key: string]: number } = {};\n protected _rawDomain: StringOrNumber[] = [];\n getRawDomain() {\n return this._rawDomain;\n }\n\n niceLabelFormatter: (value: StringOrNumber) => StringOrNumber = null;\n\n setExtraAttrFromSpec() {\n isValid(this._spec.nice) && (this._nice = this._spec.nice);\n isValid(this._spec.zero) && (this._zero = this._spec.zero);\n this._expand = this._spec.expand;\n this._domain = getLinearAxisSpecDomain(this._spec);\n }\n transformScaleDomain() {\n this.setScaleNice();\n }\n\n setLinearScaleNice() {\n if (!this._nice) {\n return false;\n }\n let tickCount: number = DEFAULT_TICK_COUNT;\n const tick = this._spec.tick || {};\n\n if (isValidNumber(tick.forceTickCount)) {\n tickCount = tick.forceTickCount;\n } else if (isFunction(tick.tickCount)) {\n const range = this._scale.range();\n let rangeSize = Math.abs(last(range) - range[0]);\n\n if (rangeSize === 1 && this._option) {\n // TODO: need to be optimized, when the range is not updated, use the size of view\n const isX = isXAxis(this._orient);\n rangeSize = isX ? this._option.getChartViewRect().width : this._option.getChartViewRect().height;\n }\n\n // tickCount需要一致,不然会导致效果不一致, fix #2050\n tickCount = tick.tickCount({\n axisLength: rangeSize,\n labelStyle: this._spec.label && this._spec.label.style\n });\n } else if (isValidNumber(tick.tickCount)) {\n tickCount = tick.tickCount;\n } else {\n tickCount = DEFAULT_TICK_COUNT;\n }\n // 如果配置了精度优先,那么最低是 5\n // 否则就直接使用tickCount即可\n if (this._spec.niceType === 'accurateFirst') {\n tickCount = Math.max(DEFAULT_TICK_COUNT, tickCount);\n }\n const { min, max } = this._domain ?? {};\n if (isNil(min) && isNil(max) && isNil(this._softMaxValue) && isNil(this._softMinValue)) {\n return this._scale.nice(tickCount);\n } else if ((isValid(min) || isValid(this._softMinValue)) && isNil(max) && isNil(this._softMaxValue)) {\n return this._scale.niceMax(tickCount);\n } else if (isNil(min) && isNil(this._softMinValue) && (isValid(max) || isValid(this._softMaxValue))) {\n return this._scale.niceMin(tickCount);\n }\n\n return false;\n }\n\n setLogScaleNice() {\n if (!this._nice) {\n return false;\n }\n\n const { min, max } = this._domain ?? {};\n if (isNil(min) && isNil(max) && isNil(this._softMaxValue) && isNil(this._softMinValue)) {\n return this._scale.nice();\n } else if ((isValid(min) || isValid(this._softMinValue)) && isNil(max) && isNil(this._softMaxValue)) {\n return this._scale.niceMax();\n } else if (isNil(min) && isNil(this._softMinValue) && (isValid(max) || isValid(this._softMaxValue))) {\n return this._scale.niceMin();\n }\n\n return false;\n }\n\n setScaleNice() {\n if (this._spec.type === 'log') {\n return this.setLogScaleNice();\n }\n return this.setLinearScaleNice();\n }\n\n dataToPosition(values: any[], cfg?: IAxisLocationCfg): number {\n return this.valueToPosition(values[0]);\n }\n\n valueToPosition(value: any): number {\n return this._scale.scale(value);\n }\n\n computeLinearDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n let domain: number[] = [];\n\n if (data.length) {\n const userSetBreaks = this._spec.breaks && this._spec.breaks.length;\n let values: any[] = [];\n let minDomain: number;\n let maxDomain: number;\n data.forEach(d => {\n const { min, max } = d;\n minDomain = minDomain === undefined ? min : Math.min(minDomain, min as number);\n maxDomain = maxDomain === undefined ? max : Math.max(maxDomain, max as number);\n if (userSetBreaks) {\n values = values.concat(d.values);\n }\n });\n\n if (userSetBreaks) {\n const breakRanges = [];\n const breaks = [];\n // 如果用户手动的手指了max,可以将break的最大值限制在用户设置的最大值范围内\n const breakMaxLimit = isNil(this._domain.max) ? maxDomain : this._domain.max;\n for (let index = 0; index < this._spec.breaks.length; index++) {\n const { range } = this._spec.breaks[index];\n if (range[0] <= range[1] && range[1] <= breakMaxLimit) {\n breakRanges.push(range);\n breaks.push(this._spec.breaks[index]);\n }\n }\n breakRanges.sort((a: [number, number], b: [number, number]) => a[0] - b[0]);\n if (breakRanges.length) {\n const { domain: breakDomains, scope: breakScopes } = breakData(\n values,\n combineDomains(breakRanges),\n this._spec.breaks[0].scopeType\n );\n\n domain = combineDomains(breakDomains);\n this._break = {\n domain: breakDomains,\n scope: breakScopes,\n breakDomains: breakRanges,\n breaks\n };\n } else {\n domain = [minDomain, maxDomain];\n }\n } else {\n domain = [minDomain, maxDomain];\n }\n } else {\n // default value for linear axis\n domain[0] = 0;\n domain[1] = 0;\n }\n this.setSoftDomainMinMax(domain);\n this.expandDomain(domain);\n this.includeZero(domain);\n this.setDomainMinMax(domain);\n return domain;\n }\n\n protected expandDomain(domain: number[]): void {\n if (!this._expand) {\n return;\n }\n\n let domainMin = domain[0];\n let domainMax = last(domain);\n\n if (domainMin === domainMax) {\n if (domainMax === 0) {\n domainMax = 1;\n } else if (domainMax > 0) {\n domainMin = 0;\n } else if (domainMax < 0) {\n domainMax = 0;\n }\n }\n\n if (isValid(this._expand.min)) {\n domain[0] = domainMin - (domainMax - domainMin) * this._expand.min;\n }\n if (isValid(this._expand.max)) {\n domain[domain.length - 1] = domainMax + (domainMax - domainMin) * this._expand.max;\n }\n }\n\n protected niceDomain(domain: number[]) {\n const { min: userMin, max: userMax } = getLinearAxisSpecDomain(this._spec);\n if (isValid(userMin) || isValid(userMax) || this._spec.type !== 'linear') {\n // 如果用户设置了 min 或者 max 则按照用户设置的为准\n // 如果是非 linear 类型也不处理\n return domain;\n }\n if (Math.abs(minInArr(domain) - maxInArr(domain)) <= 1e-12) {\n let num = domain[0];\n const flag = num >= 0 ? 1 : -1;\n num = Math.abs(num);\n if (num < 1) {\n domain[0] = 0;\n domain[domain.length - 1] = 1; // 在[0, 1) 区间变成[0, 1]\n } else {\n let step = num / DEFAULT_TICK_COUNT; // 默认5个ticks\n const power = Math.floor(Math.log(step) / Math.LN10);\n const err = step / Math.pow(10, power);\n step = (err >= e10 ? 10 : err >= e5 ? 5 : err >= e2 ? 2 : 1) * Math.pow(10, power);\n\n domain[0] = 0;\n domain[domain.length - 1] = step * 10;\n }\n if (flag < 0) {\n domain.reverse();\n domain[0] *= -1;\n domain[domain.length - 1] *= -1;\n }\n }\n return domain;\n }\n\n protected includeZero(domain: number[]): void {\n if (this._zero) {\n domain[0] = Math.min(domain[0], 0);\n domain[domain.length - 1] = Math.max(last(domain), 0);\n }\n }\n\n // 用户其他模块扩充轴scale的区间\n setExtendDomain(key: string, value: number | undefined) {\n if (value === undefined) {\n if (!Object.prototype.hasOwnProperty.call(this._extend, key)) {\n return;\n }\n delete this._extend[key];\n } else {\n if (this._extend[key] === value) {\n return;\n }\n this._extend[key] = value;\n }\n this.updateScaleDomain();\n }\n\n protected extendDomain(domain: number[]) {\n let temp;\n const domainLast = domain.length - 1;\n const reverse = domain[0] - domain[domainLast] > 0;\n const min = reverse ? domainLast : 0;\n const max = reverse ? 0 : domainLast;\n for (const key in this._extend) {\n temp = this._extend[key];\n temp > domain[max] && (domain[max] = temp);\n temp < domain[min] && (domain[min] = temp);\n }\n }\n\n getDomainSpec() {\n return this._domain;\n }\n\n protected setDomainMinMax(domain: number[]): void {\n if (!this._domain) {\n return;\n }\n const { min, max } = this._domain;\n isValid(min) && (domain[0] = min);\n isValid(max) && (domain[domain.length - 1] = max);\n }\n\n protected setSoftDomainMinMax(domain: number[]): void {\n const { softMin, softMax } = this._spec;\n\n if (isValid(softMin)) {\n let softMinValue = isFunction(softMin) ? softMin(domain) : (softMin as number);\n\n if (isNil(softMinValue)) {\n softMinValue = domain[0];\n }\n\n if (softMinValue <= domain[0]) {\n domain[0] = softMinValue;\n this._softMinValue = softMinValue;\n }\n }\n\n if (isValid(softMax)) {\n let softMaxValue = isFunction(softMax) ? softMax(domain) : (softMax as number);\n\n if (isNil(softMaxValue)) {\n softMaxValue = last(domain);\n }\n\n if (softMaxValue >= last(domain)) {\n domain[domain.length - 1] = softMaxValue;\n }\n\n this._softMaxValue = softMaxValue;\n }\n }\n\n setZero(zero: boolean) {\n if (this._zero !== zero) {\n this._zero = zero;\n this.updateScaleDomain();\n }\n }\n /**\n * @override\n * TODO event.emit是否可以考虑用decorator\n */\n protected updateScaleDomain() {\n if (!this.isSeriesDataEnable()) {\n return;\n }\n if (!this._rawDomain?.length && this._scale) {\n this._updateRawDomain();\n }\n const data = this.collectData();\n const domain: number[] = this.computeLinearDomain(data) as number[];\n this.updateScaleDomainByModel(domain);\n }\n\n /**\n * TODO event.emit是否可以考虑用decorator\n * 数据逻辑外,模块的设置更新对scale-domain的修改操作\n */\n protected updateScaleDomainByModel(domain?: number[]) {\n domain = domain ?? this._scale.domain();\n // 其他模块的设置 domain\n this.extendDomain(domain);\n this.includeZero(domain);\n // 用户 spec 的 min-max\n this.setDomainMinMax(domain);\n // nice 优先级最高\n this.niceDomain(domain);\n this._scale.domain(domain, this._nice);\n // 设置scale的nice-min-max\n if (this._nice) {\n const niced = this.setScaleNice();\n\n !niced && this._scale.rescale();\n }\n this._updateNiceLabelFormatter(domain);\n\n this._domainAfterSpec = this._scale.domain();\n this._refreshVisibilityByData();\n this.event.emit(ChartEvent.scaleDomainUpdate, { model: this as any });\n this.event.emit(ChartEvent.scaleUpdate, { model: this as any, value: 'domain' });\n }\n\n getDomainAfterSpec() {\n return this._domainAfterSpec;\n }\n\n protected _updateNiceLabelFormatter(domain: number[]) {\n // 根据轴 domain 范围做动态判断,取最多 n + 2 位小数\n const domainSpan = Math.abs(last(domain) - domain[0]);\n const n = Math.max(-Math.floor(Math.log10(domainSpan)), 0) + 2;\n const unit = Math.pow(10, n);\n this.niceLabelFormatter = (value: StringOrNumber) => {\n if (isValidNumber(+value)) {\n return Math.round((+value as number) * unit) / unit;\n }\n return value;\n };\n }\n\n protected _updateRawDomain() {\n const data = this.collectData(0, true);\n const domain: number[] = this.computeLinearDomain(data) as number[];\n this._rawDomain = domain;\n this.event.emit(ChartEvent.scaleRawDomainUpdate, { model: this as unknown as IModel });\n }\n\n protected _clearRawDomain() {\n this._rawDomain = [];\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/axis/mixin/linear-axis-mixin.ts"],"names":[],"mappings":"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","file":"linear-axis-mixin.js","sourcesContent":["import { isValidNumber, isNil, isValid, isFunction, last } from '@visactor/vutils';\nimport type { LinearScale } from '@visactor/vscale';\nimport { combineDomains, maxInArr, minInArr } from '../../../util/array';\nimport { getLinearAxisSpecDomain } from '../util';\nimport type { IAxisLocationCfg, ILinearAxisBreakSpec, ITick } from '../interface';\nimport { ChartEvent } from '../../../constant/event';\nimport type { IEvent } from '../../../event/interface';\nimport { isXAxis } from '../cartesian/util/common';\nimport type { IOrientType } from '../../../typings/space';\nimport type { IComponentOption } from '../../interface/common';\nimport type { StringOrNumber } from '../../../typings';\nimport { breakData } from './util/break-data';\nimport type { IModel } from '../../../model/interface';\n\nexport const e10 = Math.sqrt(50);\nexport const e5 = Math.sqrt(10);\nexport const e2 = Math.sqrt(2);\nconst DEFAULT_TICK_COUNT = 5;\n\nexport interface LinearAxisMixin {\n _scale: LinearScale;\n _scales: LinearScale[];\n _spec: any;\n _nice: boolean;\n _zero: boolean;\n /**\n * spec中申明的min,max\n */\n _domain: { min?: number; max?: number };\n /**\n * 记录一下解析spec后,获取到的domain,\n * 用于在插件(如0值对齐等功能)中使用\n */\n _domainAfterSpec: number[];\n _softMinValue?: number;\n _softMaxValue?: number;\n _expand?: { max?: number; min?: number };\n _tick: ITick | undefined;\n isSeriesDataEnable: any;\n computeDomain: any;\n collectData: (depth?: number, rawData?: boolean) => { min: number; max: number; values: any[] }[];\n /**\n * 这个变量在其他break相关组件和扩展中都有使用\n */\n _break: {\n domain: [number, number][];\n scope: [number, number][];\n breakDomains: [number, number][];\n breaks: ILinearAxisBreakSpec[];\n };\n event: IEvent;\n _orient: IOrientType;\n _option: IComponentOption;\n niceLabelFormatter: (value: StringOrNumber) => StringOrNumber;\n _refreshVisibilityByData: () => boolean;\n}\n\nexport class LinearAxisMixin {\n protected _extend: { [key: string]: number } = {};\n protected _rawDomain: StringOrNumber[] = [];\n getRawDomain() {\n return this._rawDomain;\n }\n\n niceLabelFormatter: (value: StringOrNumber) => StringOrNumber = null;\n\n setExtraAttrFromSpec() {\n isValid(this._spec.nice) && (this._nice = this._spec.nice);\n isValid(this._spec.zero) && (this._zero = this._spec.zero);\n this._expand = this._spec.expand;\n this._domain = getLinearAxisSpecDomain(this._spec);\n }\n transformScaleDomain() {\n this.setScaleNice();\n }\n\n setLinearScaleNice() {\n if (!this._nice) {\n return false;\n }\n let tickCount: number = DEFAULT_TICK_COUNT;\n const tick = this._spec.tick || {};\n\n if (isValidNumber(tick.forceTickCount)) {\n tickCount = tick.forceTickCount;\n } else if (isFunction(tick.tickCount)) {\n const range = this._scale.range();\n let rangeSize = Math.abs(last(range) - range[0]);\n\n if (rangeSize === 1 && this._option) {\n // TODO: need to be optimized, when the range is not updated, use the size of view\n const isX = isXAxis(this._orient);\n rangeSize = isX ? this._option.getChartViewRect().width : this._option.getChartViewRect().height;\n }\n\n // tickCount需要一致,不然会导致效果不一致, fix #2050\n tickCount = tick.tickCount({\n axisLength: rangeSize,\n labelStyle: this._spec.label && this._spec.label.style\n });\n } else if (isValidNumber(tick.tickCount)) {\n tickCount = tick.tickCount;\n } else {\n tickCount = DEFAULT_TICK_COUNT;\n }\n // 如果配置了精度优先,那么最低是 5\n // 否则就直接使用tickCount即可\n if (this._spec.niceType === 'accurateFirst') {\n tickCount = Math.max(DEFAULT_TICK_COUNT, tickCount);\n }\n const { min, max } = this._domain ?? {};\n if (isNil(min) && isNil(max) && isNil(this._softMaxValue) && isNil(this._softMinValue)) {\n return this._scale.nice(tickCount);\n } else if ((isValid(min) || isValid(this._softMinValue)) && isNil(max) && isNil(this._softMaxValue)) {\n return this._scale.niceMax(tickCount);\n } else if (isNil(min) && isNil(this._softMinValue) && (isValid(max) || isValid(this._softMaxValue))) {\n return this._scale.niceMin(tickCount);\n }\n\n return false;\n }\n\n setLogScaleNice() {\n if (!this._nice) {\n return false;\n }\n\n const { min, max } = this._domain ?? {};\n if (isNil(min) && isNil(max) && isNil(this._softMaxValue) && isNil(this._softMinValue)) {\n return this._scale.nice();\n } else if ((isValid(min) || isValid(this._softMinValue)) && isNil(max) && isNil(this._softMaxValue)) {\n return this._scale.niceMax();\n } else if (isNil(min) && isNil(this._softMinValue) && (isValid(max) || isValid(this._softMaxValue))) {\n return this._scale.niceMin();\n }\n\n return false;\n }\n\n setScaleNice() {\n if (this._spec.type === 'log') {\n return this.setLogScaleNice();\n }\n return this.setLinearScaleNice();\n }\n\n dataToPosition(values: any[], cfg?: IAxisLocationCfg): number {\n return this.valueToPosition(values[0]);\n }\n\n valueToPosition(value: any): number {\n return this._scale.scale(value);\n }\n\n computeLinearDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n let domain: number[] = [];\n\n if (data.length) {\n const userSetBreaks = this._spec.breaks && this._spec.breaks.length;\n let values: any[] = [];\n let minDomain: number;\n let maxDomain: number;\n data.forEach(d => {\n const { min, max } = d;\n minDomain = minDomain === undefined ? min : Math.min(minDomain, min as number);\n maxDomain = maxDomain === undefined ? max : Math.max(maxDomain, max as number);\n if (userSetBreaks) {\n values = values.concat(d.values);\n }\n });\n\n if (userSetBreaks) {\n const breakRanges = [];\n const breaks = [];\n // 如果用户手动的手指了max,可以将break的最大值限制在用户设置的最大值范围内\n const breakMaxLimit = isNil(this._domain.max) ? maxDomain : this._domain.max;\n for (let index = 0; index < this._spec.breaks.length; index++) {\n const { range } = this._spec.breaks[index];\n if (range[0] <= range[1] && range[1] <= breakMaxLimit) {\n breakRanges.push(range);\n breaks.push(this._spec.breaks[index]);\n }\n }\n breakRanges.sort((a: [number, number], b: [number, number]) => a[0] - b[0]);\n if (breakRanges.length) {\n const { domain: breakDomains, scope: breakScopes } = breakData(\n values,\n combineDomains(breakRanges),\n this._spec.breaks[0].scopeType\n );\n\n domain = combineDomains(breakDomains);\n this._break = {\n domain: breakDomains,\n scope: breakScopes,\n breakDomains: breakRanges,\n breaks\n };\n } else {\n domain = [minDomain, maxDomain];\n }\n } else {\n domain = [minDomain, maxDomain];\n }\n } else {\n // default value for linear axis\n domain[0] = 0;\n domain[1] = 0;\n }\n this.setSoftDomainMinMax(domain);\n this.expandDomain(domain);\n this.includeZero(domain);\n this.setDomainMinMax(domain);\n return domain;\n }\n\n protected expandDomain(domain: number[]): void {\n if (!this._expand) {\n return;\n }\n\n let domainMin = domain[0];\n let domainMax = last(domain);\n\n if (domainMin === domainMax) {\n if (domainMax === 0) {\n domainMax = 1;\n } else if (domainMax > 0) {\n domainMin = 0;\n } else if (domainMax < 0) {\n domainMax = 0;\n }\n }\n\n if (isValid(this._expand.min)) {\n domain[0] = domainMin - (domainMax - domainMin) * this._expand.min;\n }\n if (isValid(this._expand.max)) {\n domain[domain.length - 1] = domainMax + (domainMax - domainMin) * this._expand.max;\n }\n }\n\n protected niceDomain(domain: number[]) {\n const { min: userMin, max: userMax } = getLinearAxisSpecDomain(this._spec);\n if (isValid(userMin) || isValid(userMax) || this._spec.type !== 'linear') {\n // 如果用户设置了 min 或者 max 则按照用户设置的为准\n // 如果是非 linear 类型也不处理\n return domain;\n }\n if (Math.abs(minInArr(domain) - maxInArr(domain)) <= 1e-12) {\n let num = domain[0];\n const flag = num >= 0 ? 1 : -1;\n num = Math.abs(num);\n if (num < 1) {\n domain[0] = 0;\n domain[domain.length - 1] = 1; // 在[0, 1) 区间变成[0, 1]\n } else {\n let step = num / DEFAULT_TICK_COUNT; // 默认5个ticks\n const power = Math.floor(Math.log(step) / Math.LN10);\n const err = step / Math.pow(10, power);\n step = (err >= e10 ? 10 : err >= e5 ? 5 : err >= e2 ? 2 : 1) * Math.pow(10, power);\n\n domain[0] = 0;\n domain[domain.length - 1] = step * 10;\n }\n if (flag < 0) {\n domain.reverse();\n domain[0] *= -1;\n domain[domain.length - 1] *= -1;\n }\n }\n return domain;\n }\n\n protected includeZero(domain: number[]): void {\n if (this._zero) {\n domain[0] = Math.min(domain[0], 0);\n domain[domain.length - 1] = Math.max(last(domain), 0);\n }\n }\n\n // 用户其他模块扩充轴scale的区间\n setExtendDomain(key: string, value: number | undefined) {\n if (value === undefined) {\n delete this._extend[key];\n return;\n }\n this._extend[key] = value;\n const domain = this._scale.domain();\n this.extendDomain(domain);\n this.includeZero(domain);\n this.setDomainMinMax(domain);\n this.niceDomain(domain);\n this._scale.domain(domain, this._nice);\n\n if (this._nice) {\n const niced = this.setScaleNice();\n\n !niced && this._scale.rescale();\n }\n\n this.event.emit(ChartEvent.scaleUpdate, { model: this as any, value: 'domain' });\n }\n\n protected extendDomain(domain: number[]) {\n let temp;\n const domainLast = domain.length - 1;\n const reverse = domain[0] - domain[domainLast] > 0;\n const min = reverse ? domainLast : 0;\n const max = reverse ? 0 : domainLast;\n for (const key in this._extend) {\n temp = this._extend[key];\n temp > domain[max] && (domain[max] = temp);\n temp < domain[min] && (domain[min] = temp);\n }\n }\n\n getDomainSpec() {\n return this._domain;\n }\n\n protected setDomainMinMax(domain: number[]): void {\n if (!this._domain) {\n return;\n }\n const { min, max } = this._domain;\n isValid(min) && (domain[0] = min);\n isValid(max) && (domain[domain.length - 1] = max);\n }\n\n protected setSoftDomainMinMax(domain: number[]): void {\n const { softMin, softMax } = this._spec;\n\n if (isValid(softMin)) {\n let softMinValue = isFunction(softMin) ? softMin(domain) : (softMin as number);\n\n if (isNil(softMinValue)) {\n softMinValue = domain[0];\n }\n\n if (softMinValue <= domain[0]) {\n domain[0] = softMinValue;\n this._softMinValue = softMinValue;\n }\n }\n\n if (isValid(softMax)) {\n let softMaxValue = isFunction(softMax) ? softMax(domain) : (softMax as number);\n\n if (isNil(softMaxValue)) {\n softMaxValue = last(domain);\n }\n\n if (softMaxValue >= last(domain)) {\n domain[domain.length - 1] = softMaxValue;\n }\n\n this._softMaxValue = softMaxValue;\n }\n }\n\n setZero(zero: boolean) {\n if (this._zero !== zero) {\n this._zero = zero;\n this.updateScaleDomain();\n }\n }\n /**\n * @override\n * TODO event.emit是否可以考虑用decorator\n */\n protected updateScaleDomain() {\n if (!this.isSeriesDataEnable()) {\n return;\n }\n if (!this._rawDomain?.length && this._scale) {\n this._updateRawDomain();\n }\n const data = this.collectData();\n const domain: number[] = this.computeLinearDomain(data) as number[];\n this.updateScaleDomainByModel(domain);\n }\n\n /**\n * TODO event.emit是否可以考虑用decorator\n * 数据逻辑外,模块的设置更新对scale-domain的修改操作\n */\n protected updateScaleDomainByModel(domain?: number[]) {\n domain = domain ?? this._scale.domain();\n // 其他模块的设置 domain\n this.extendDomain(domain);\n this.includeZero(domain);\n // 用户 spec 的 min-max\n this.setDomainMinMax(domain);\n // nice 优先级最高\n this.niceDomain(domain);\n this._scale.domain(domain, this._nice);\n // 设置scale的nice-min-max\n if (this._nice) {\n const niced = this.setScaleNice();\n\n !niced && this._scale.rescale();\n }\n this._updateNiceLabelFormatter(domain);\n\n this._domainAfterSpec = this._scale.domain();\n this._refreshVisibilityByData();\n this.event.emit(ChartEvent.scaleDomainUpdate, { model: this as any });\n this.event.emit(ChartEvent.scaleUpdate, { model: this as any, value: 'domain' });\n }\n\n getDomainAfterSpec() {\n return this._domainAfterSpec;\n }\n\n protected _updateNiceLabelFormatter(domain: number[]) {\n // 根据轴 domain 范围做动态判断,取最多 n + 2 位小数\n const domainSpan = Math.abs(last(domain) - domain[0]);\n const n = Math.max(-Math.floor(Math.log10(domainSpan)), 0) + 2;\n const unit = Math.pow(10, n);\n this.niceLabelFormatter = (value: StringOrNumber) => {\n if (isValidNumber(+value)) {\n return Math.round((+value as number) * unit) / unit;\n }\n return value;\n };\n }\n\n protected _updateRawDomain() {\n const data = this.collectData(0, true);\n const domain: number[] = this.computeLinearDomain(data) as number[];\n this._rawDomain = domain;\n this.event.emit(ChartEvent.scaleRawDomainUpdate, { model: this as unknown as IModel });\n }\n\n protected _clearRawDomain() {\n this._rawDomain = [];\n }\n}\n"]}
@@ -18,7 +18,6 @@ export declare class PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxis
18
18
  };
19
19
  protected _scale: BandScale;
20
20
  protected _scales: BandScale[];
21
- protected _updateData: () => void;
22
21
  protected computeDomain(data: {
23
22
  min: number;
24
23
  max: number;
@@ -38,7 +37,6 @@ export declare class PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxis
38
37
  getSpec: () => T;
39
38
  };
40
39
  protected initScales(): void;
41
- reInit(spec?: T): void;
42
40
  protected registerTicksTransform(): string;
43
41
  transformScaleDomain(): void;
44
42
  }
@@ -26,9 +26,6 @@ class PolarBandAxis extends axis_1.PolarAxis {
26
26
  initScales() {
27
27
  super.initScales(), this.calcScales(this._defaultBandInnerPadding, this._defaultBandOuterPadding);
28
28
  }
29
- reInit(spec) {
30
- super.reInit(spec), this._updateData();
31
- }
32
29
  registerTicksTransform() {
33
30
  const name = `${this.type}-ticks`;
34
31
  return (0, register_1.registerDataSetInstanceTransform)(this._option.dataSet, name, vrender_components_1.polarAngleAxisDiscreteTicks),
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/polar/band-axis.ts"],"names":[],"mappings":"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","file":"band-axis.js","sourcesContent":["import { BandScale } from '@visactor/vscale';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { PolarAxis } from './axis';\nimport { mixin } from '@visactor/vutils';\nimport { BandAxisMixin } from '../mixin/band-axis-mixin';\nimport type { StringOrNumber } from '../../../typings';\nimport type { IPolarBandAxisSpec } from './interface';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport {\n CircleAxis,\n CircleAxisGrid,\n LineAxis,\n LineAxisGrid,\n polarAngleAxisDiscreteTicks\n} from '@visactor/vrender-components';\nimport type { IGroup } from '@visactor/vrender-core';\nimport type { VRenderComponentOptions } from '../../../core/interface';\nimport { GridEnum, AxisEnum } from '../interface';\nimport { commonAxis } from '../../../theme/builtin/common/component/axis/common-axis';\nimport { axisBand } from '../../../theme/builtin/common/component/axis/band-axis';\nimport { axisAngle, axisRadius } from '../../../theme/builtin/common/component/axis/polar-axis';\n\nexport interface PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxisSpec>\n extends Pick<\n BandAxisMixin,\n 'valueToPosition' | 'updateGroupScaleRange' | 'getPosition' | 'calcScales' | 'computeBandDomain'\n >,\n PolarAxis<T> {}\n\nexport class PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxisSpec> extends PolarAxis<T> {\n static type = ComponentTypeEnum.polarBandAxis;\n type = ComponentTypeEnum.polarBandAxis;\n\n static specKey = 'axes';\n static readonly builtInTheme = {\n axis: commonAxis,\n axisBand,\n axisAngle,\n axisRadius\n };\n\n protected _scale: BandScale = new BandScale();\n\n protected declare _scales: BandScale[];\n protected declare _updateData: () => void;\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[] {\n return this.computeBandDomain(data);\n }\n\n updateScaleRange() {\n const isChanged = super.updateScaleRange();\n this.updateGroupScaleRange();\n\n return isChanged;\n }\n\n // axisHelper\n protected axisHelper() {\n const helper = super.axisHelper();\n const getBandwidth = (depth: number) => {\n return (helper.getScale(depth) as BandScale).bandwidth();\n };\n\n return { ...helper, getBandwidth };\n }\n\n protected initScales() {\n super.initScales();\n this.calcScales(this._defaultBandInnerPadding, this._defaultBandOuterPadding);\n }\n\n reInit(spec?: T): void {\n super.reInit(spec);\n\n this._updateData();\n }\n\n protected registerTicksTransform() {\n const name = `${this.type}-ticks`;\n registerDataSetInstanceTransform(this._option.dataSet, name, polarAngleAxisDiscreteTicks);\n return name;\n }\n transformScaleDomain() {\n // do nothing\n }\n}\nmixin(PolarBandAxis, BandAxisMixin);\n\nexport const registerPolarBandAxis = () => {\n Factory.registerGraphicComponent(AxisEnum.lineAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.lineAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxisGrid(attrs, options) as unknown as IGroup;\n });\n\n Factory.registerGraphicComponent(AxisEnum.circleAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new CircleAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.circleAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new CircleAxisGrid(attrs, options) as unknown as IGroup;\n });\n registerAxis();\n Factory.registerComponent(PolarBandAxis.type, PolarBandAxis);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/axis/polar/band-axis.ts"],"names":[],"mappings":"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","file":"band-axis.js","sourcesContent":["import { BandScale } from '@visactor/vscale';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { PolarAxis } from './axis';\nimport { mixin } from '@visactor/vutils';\nimport { BandAxisMixin } from '../mixin/band-axis-mixin';\nimport type { StringOrNumber } from '../../../typings';\nimport type { IPolarBandAxisSpec } from './interface';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport {\n CircleAxis,\n CircleAxisGrid,\n LineAxis,\n LineAxisGrid,\n polarAngleAxisDiscreteTicks\n} from '@visactor/vrender-components';\nimport type { IGroup } from '@visactor/vrender-core';\nimport type { VRenderComponentOptions } from '../../../core/interface';\nimport { GridEnum, AxisEnum } from '../interface';\nimport { commonAxis } from '../../../theme/builtin/common/component/axis/common-axis';\nimport { axisBand } from '../../../theme/builtin/common/component/axis/band-axis';\nimport { axisAngle, axisRadius } from '../../../theme/builtin/common/component/axis/polar-axis';\n\nexport interface PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxisSpec>\n extends Pick<\n BandAxisMixin,\n 'valueToPosition' | 'updateGroupScaleRange' | 'getPosition' | 'calcScales' | 'computeBandDomain'\n >,\n PolarAxis<T> {}\n\nexport class PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxisSpec> extends PolarAxis<T> {\n static type = ComponentTypeEnum.polarBandAxis;\n type = ComponentTypeEnum.polarBandAxis;\n\n static specKey = 'axes';\n static readonly builtInTheme = {\n axis: commonAxis,\n axisBand,\n axisAngle,\n axisRadius\n };\n\n protected _scale: BandScale = new BandScale();\n\n protected declare _scales: BandScale[];\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[] {\n return this.computeBandDomain(data);\n }\n\n updateScaleRange() {\n const isChanged = super.updateScaleRange();\n this.updateGroupScaleRange();\n\n return isChanged;\n }\n\n // axisHelper\n protected axisHelper() {\n const helper = super.axisHelper();\n const getBandwidth = (depth: number) => {\n return (helper.getScale(depth) as BandScale).bandwidth();\n };\n\n return { ...helper, getBandwidth };\n }\n\n protected initScales() {\n super.initScales();\n this.calcScales(this._defaultBandInnerPadding, this._defaultBandOuterPadding);\n }\n\n protected registerTicksTransform() {\n const name = `${this.type}-ticks`;\n registerDataSetInstanceTransform(this._option.dataSet, name, polarAngleAxisDiscreteTicks);\n return name;\n }\n transformScaleDomain() {\n // do nothing\n }\n}\nmixin(PolarBandAxis, BandAxisMixin);\n\nexport const registerPolarBandAxis = () => {\n Factory.registerGraphicComponent(AxisEnum.lineAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.lineAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxisGrid(attrs, options) as unknown as IGroup;\n });\n\n Factory.registerGraphicComponent(AxisEnum.circleAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new CircleAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.circleAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new CircleAxisGrid(attrs, options) as unknown as IGroup;\n });\n registerAxis();\n Factory.registerComponent(PolarBandAxis.type, PolarBandAxis);\n};\n"]}
@@ -12,10 +12,7 @@ class PolarLinearAxis extends axis_1.PolarAxis {
12
12
  this._nice = !0, this._extend = {}, this._scale = new vscale_1.LinearScale;
13
13
  }
14
14
  setAttrFromSpec() {
15
- var _a, _b;
16
15
  super.setAttrFromSpec(), this.setExtraAttrFromSpec();
17
- const tickTransform = null === (_b = null === (_a = this._tickData) || void 0 === _a ? void 0 : _a[0]) || void 0 === _b ? void 0 : _b.getDataView().transformsArr.find((t => t.type === this.registerTicksTransform()));
18
- tickTransform && (tickTransform.options = this._tickTransformOption());
19
16
  }
20
17
  initScales() {
21
18
  super.initScales(), this.setScaleNice();
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/polar/linear-axis.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAC/C,+CAAyD;AACzD,iCAAmC;AAEnC,kEAA6D;AAC7D,6CAAyC;AACzC,mDAAgD;AAChD,4CAA4C;AAE5C,qEAAmH;AACnH,qDAA0E;AAG1E,4CAAkD;AAClD,0FAAsF;AACtF,0FAAsF;AACtF,wFAAgG;AAchG,MAAa,eAAuE,SAAQ,gBAAY;IAAxG;;QAEE,SAAI,GAAG,wBAAiB,CAAC,eAAe,CAAC;QAU/B,UAAK,GAAY,IAAI,CAAC;QACtB,UAAK,GAAY,IAAI,CAAC;QACtB,YAAO,GAA8B,EAAE,CAAC;QAExC,WAAM,GAAG,IAAI,oBAAW,EAAE,CAAC;IAiCvC,CAAC;IA9BC,eAAe;;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,MAAM,aAAa,GAAG,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAG,CAAC,CAAC,0CACrC,WAAW,GACZ,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QACrE,aAAa,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACzE,CAAC;IAES,UAAU;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAES,aAAa,CAAC,IAAmD;QACzE,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAES,UAAU;QAClB,MAAM,MAAM,GAAqB,KAAK,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,MAAa,CAAC;IACvB,CAAC;IAES,sBAAsB;QAC9B,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,QAAQ,CAAC;QAClC,IAAA,2CAAgC,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,oCAAe,CAAC,CAAC;QAE9E,OAAO,IAAI,CAAC;IACd,CAAC;;AAhDH,0CAiDC;AAhDQ,oBAAI,GAAG,wBAAiB,CAAC,eAAe,CAAC;AAGzC,uBAAO,GAAG,MAAM,CAAC;AACR,4BAAY,GAAG;IAC7B,IAAI,EAAE,wBAAU;IAChB,UAAU,EAAV,wBAAU;IACV,SAAS,EAAT,sBAAS;IACT,UAAU,EAAV,uBAAU;CACX,CAAC;AAyCJ,IAAA,cAAK,EAAC,eAAe,EAAE,mCAAe,CAAC,CAAC;AAEjC,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,iBAAO,CAAC,wBAAwB,CAAC,oBAAQ,CAAC,QAAQ,EAAE,CAAC,KAAU,EAAE,OAAgC,EAAE,EAAE;QACnG,OAAO,IAAI,6BAAQ,CAAC,KAAK,EAAE,OAAO,CAAsB,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,iBAAO,CAAC,wBAAwB,CAAC,oBAAQ,CAAC,YAAY,EAAE,CAAC,KAAU,EAAE,OAAgC,EAAE,EAAE;QACvG,OAAO,IAAI,iCAAY,CAAC,KAAK,EAAE,OAAO,CAAsB,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,iBAAO,CAAC,wBAAwB,CAAC,oBAAQ,CAAC,UAAU,EAAE,CAAC,KAAU,EAAE,OAAgC,EAAE,EAAE;QACrG,OAAO,IAAI,+BAAU,CAAC,KAAK,EAAE,OAAO,CAAsB,CAAC;IAC7D,CAAC,CAAC,CAAC;IACH,iBAAO,CAAC,wBAAwB,CAAC,oBAAQ,CAAC,cAAc,EAAE,CAAC,KAAU,EAAE,OAAgC,EAAE,EAAE;QACzG,OAAO,IAAI,mCAAc,CAAC,KAAK,EAAE,OAAO,CAAsB,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,IAAA,wBAAY,GAAE,CAAC;IACf,iBAAO,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AACnE,CAAC,CAAC;AAhBW,QAAA,uBAAuB,2BAgBlC","file":"linear-axis.js","sourcesContent":["import { LinearScale } from '@visactor/vscale';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { PolarAxis } from './axis';\nimport type { IPolarLinearAxisSpec } from './interface/spec';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { mixin } from '@visactor/vutils';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\nimport type { IPolarAxisHelper } from './interface';\nimport { CircleAxis, CircleAxisGrid, continuousTicks, LineAxis, LineAxisGrid } from '@visactor/vrender-components';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport type { IGroup } from '@visactor/vrender-core';\nimport type { VRenderComponentOptions } from '../../../core/interface';\nimport { GridEnum, AxisEnum } from '../interface';\nimport { axisLinear } from '../../../theme/builtin/common/component/axis/linear-axis';\nimport { commonAxis } from '../../../theme/builtin/common/component/axis/common-axis';\nimport { axisAngle, axisRadius } from '../../../theme/builtin/common/component/axis/polar-axis';\n\nexport interface PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec>\n extends Pick<\n LinearAxisMixin,\n | 'setExtraAttrFromSpec'\n | 'transformScaleDomain'\n | 'valueToPosition'\n | 'computeLinearDomain'\n | 'setScaleNice'\n | 'setExtendDomain'\n >,\n PolarAxis<T> {}\n\nexport class PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec> extends PolarAxis<T> {\n static type = ComponentTypeEnum.polarLinearAxis;\n type = ComponentTypeEnum.polarLinearAxis;\n\n static specKey = 'axes';\n static readonly builtInTheme = {\n axis: commonAxis,\n axisLinear,\n axisAngle,\n axisRadius\n };\n\n protected _zero: boolean = true;\n protected _nice: boolean = true;\n protected _extend: { [key: string]: number } = {};\n\n protected _scale = new LinearScale();\n protected declare _groupScales: LinearScale[];\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setExtraAttrFromSpec();\n const tickTransform = this._tickData?.[0]\n ?.getDataView()\n .transformsArr.find(t => t.type === this.registerTicksTransform());\n tickTransform && (tickTransform.options = this._tickTransformOption());\n }\n\n protected initScales() {\n super.initScales();\n this.setScaleNice();\n }\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n return this.computeLinearDomain(data);\n }\n\n protected axisHelper() {\n const helper: IPolarAxisHelper = super.axisHelper();\n helper.setExtendDomain = this.setExtendDomain.bind(this);\n return helper as any;\n }\n\n protected registerTicksTransform() {\n const name = `${this.type}-ticks`;\n registerDataSetInstanceTransform(this._option.dataSet, name, continuousTicks);\n\n return name;\n }\n}\n\nmixin(PolarLinearAxis, LinearAxisMixin);\n\nexport const registerPolarLinearAxis = () => {\n Factory.registerGraphicComponent(AxisEnum.lineAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.lineAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxisGrid(attrs, options) as unknown as IGroup;\n });\n\n Factory.registerGraphicComponent(AxisEnum.circleAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new CircleAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.circleAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new CircleAxisGrid(attrs, options) as unknown as IGroup;\n });\n registerAxis();\n Factory.registerComponent(PolarLinearAxis.type, PolarLinearAxis);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/axis/polar/linear-axis.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAC/C,+CAAyD;AACzD,iCAAmC;AAEnC,kEAA6D;AAC7D,6CAAyC;AACzC,mDAAgD;AAChD,4CAA4C;AAE5C,qEAAmH;AACnH,qDAA0E;AAG1E,4CAAkD;AAClD,0FAAsF;AACtF,0FAAsF;AACtF,wFAAgG;AAchG,MAAa,eAAuE,SAAQ,gBAAY;IAAxG;;QAEE,SAAI,GAAG,wBAAiB,CAAC,eAAe,CAAC;QAU/B,UAAK,GAAY,IAAI,CAAC;QACtB,UAAK,GAAY,IAAI,CAAC;QACtB,YAAO,GAA8B,EAAE,CAAC;QAExC,WAAM,GAAG,IAAI,oBAAW,EAAE,CAAC;IA6BvC,CAAC;IA1BC,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAES,UAAU;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAES,aAAa,CAAC,IAAmD;QACzE,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAES,UAAU;QAClB,MAAM,MAAM,GAAqB,KAAK,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,MAAa,CAAC;IACvB,CAAC;IAES,sBAAsB;QAC9B,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,QAAQ,CAAC;QAClC,IAAA,2CAAgC,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,oCAAe,CAAC,CAAC;QAE9E,OAAO,IAAI,CAAC;IACd,CAAC;;AA5CH,0CA6CC;AA5CQ,oBAAI,GAAG,wBAAiB,CAAC,eAAe,CAAC;AAGzC,uBAAO,GAAG,MAAM,CAAC;AACR,4BAAY,GAAG;IAC7B,IAAI,EAAE,wBAAU;IAChB,UAAU,EAAV,wBAAU;IACV,SAAS,EAAT,sBAAS;IACT,UAAU,EAAV,uBAAU;CACX,CAAC;AAqCJ,IAAA,cAAK,EAAC,eAAe,EAAE,mCAAe,CAAC,CAAC;AAEjC,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,iBAAO,CAAC,wBAAwB,CAAC,oBAAQ,CAAC,QAAQ,EAAE,CAAC,KAAU,EAAE,OAAgC,EAAE,EAAE;QACnG,OAAO,IAAI,6BAAQ,CAAC,KAAK,EAAE,OAAO,CAAsB,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,iBAAO,CAAC,wBAAwB,CAAC,oBAAQ,CAAC,YAAY,EAAE,CAAC,KAAU,EAAE,OAAgC,EAAE,EAAE;QACvG,OAAO,IAAI,iCAAY,CAAC,KAAK,EAAE,OAAO,CAAsB,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,iBAAO,CAAC,wBAAwB,CAAC,oBAAQ,CAAC,UAAU,EAAE,CAAC,KAAU,EAAE,OAAgC,EAAE,EAAE;QACrG,OAAO,IAAI,+BAAU,CAAC,KAAK,EAAE,OAAO,CAAsB,CAAC;IAC7D,CAAC,CAAC,CAAC;IACH,iBAAO,CAAC,wBAAwB,CAAC,oBAAQ,CAAC,cAAc,EAAE,CAAC,KAAU,EAAE,OAAgC,EAAE,EAAE;QACzG,OAAO,IAAI,mCAAc,CAAC,KAAK,EAAE,OAAO,CAAsB,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,IAAA,wBAAY,GAAE,CAAC;IACf,iBAAO,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AACnE,CAAC,CAAC;AAhBW,QAAA,uBAAuB,2BAgBlC","file":"linear-axis.js","sourcesContent":["import { LinearScale } from '@visactor/vscale';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { PolarAxis } from './axis';\nimport type { IPolarLinearAxisSpec } from './interface/spec';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { mixin } from '@visactor/vutils';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\nimport type { IPolarAxisHelper } from './interface';\nimport { CircleAxis, CircleAxisGrid, continuousTicks, LineAxis, LineAxisGrid } from '@visactor/vrender-components';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport type { IGroup } from '@visactor/vrender-core';\nimport type { VRenderComponentOptions } from '../../../core/interface';\nimport { GridEnum, AxisEnum } from '../interface';\nimport { axisLinear } from '../../../theme/builtin/common/component/axis/linear-axis';\nimport { commonAxis } from '../../../theme/builtin/common/component/axis/common-axis';\nimport { axisAngle, axisRadius } from '../../../theme/builtin/common/component/axis/polar-axis';\n\nexport interface PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec>\n extends Pick<\n LinearAxisMixin,\n | 'setExtraAttrFromSpec'\n | 'transformScaleDomain'\n | 'valueToPosition'\n | 'computeLinearDomain'\n | 'setScaleNice'\n | 'setExtendDomain'\n >,\n PolarAxis<T> {}\n\nexport class PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec> extends PolarAxis<T> {\n static type = ComponentTypeEnum.polarLinearAxis;\n type = ComponentTypeEnum.polarLinearAxis;\n\n static specKey = 'axes';\n static readonly builtInTheme = {\n axis: commonAxis,\n axisLinear,\n axisAngle,\n axisRadius\n };\n\n protected _zero: boolean = true;\n protected _nice: boolean = true;\n protected _extend: { [key: string]: number } = {};\n\n protected _scale = new LinearScale();\n protected declare _groupScales: LinearScale[];\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setExtraAttrFromSpec();\n }\n\n protected initScales() {\n super.initScales();\n this.setScaleNice();\n }\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n return this.computeLinearDomain(data);\n }\n\n protected axisHelper() {\n const helper: IPolarAxisHelper = super.axisHelper();\n helper.setExtendDomain = this.setExtendDomain.bind(this);\n return helper as any;\n }\n\n protected registerTicksTransform() {\n const name = `${this.type}-ticks`;\n registerDataSetInstanceTransform(this._option.dataSet, name, continuousTicks);\n\n return name;\n }\n}\n\nmixin(PolarLinearAxis, LinearAxisMixin);\n\nexport const registerPolarLinearAxis = () => {\n Factory.registerGraphicComponent(AxisEnum.lineAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.lineAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxisGrid(attrs, options) as unknown as IGroup;\n });\n\n Factory.registerGraphicComponent(AxisEnum.circleAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new CircleAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.circleAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new CircleAxisGrid(attrs, options) as unknown as IGroup;\n });\n registerAxis();\n Factory.registerComponent(PolarLinearAxis.type, PolarLinearAxis);\n};\n"]}
@@ -19,20 +19,20 @@ export declare class BaseComponent<T extends IComponentSpec = IComponentSpec> ex
19
19
  protected _regions: IRegion[];
20
20
  getRegions(): IRegion[];
21
21
  protected _container: IGroup;
22
- private _exitingVRenderComponents?;
23
- private _forceReleaseVRenderComponents;
24
22
  created(): void;
25
23
  initLayout(): void;
26
24
  protected _getNeedClearVRenderComponents(): IGraphic[];
27
25
  getVRenderComponents(): IGraphic<Partial<IGraphicAttribute>>[];
28
26
  protected callPlugin(cb: (plugin: IComponentPlugin) => void): void;
29
27
  protected getContainer(): IGroup;
30
- _compareSpec(spec: T, prevSpec: T): import("../../model/interface").IUpdateSpecResult;
31
- beforeRelease(): void;
28
+ _compareSpec(spec: T, prevSpec: T): {
29
+ change: boolean;
30
+ reMake: boolean;
31
+ reRender: boolean;
32
+ reSize: boolean;
33
+ reCompile: boolean;
34
+ };
32
35
  release(): void;
33
- protected _shouldReleaseVRenderComponentsImmediately(): boolean;
34
- protected _forceReleaseExitingVRenderComponents(): void;
35
- protected _releaseVRenderComponent(component: IGraphic): void;
36
36
  clear(): void;
37
37
  compile(): void;
38
38
  compileMarks(group?: IGroup): void;
@@ -14,12 +14,12 @@ Object.defineProperty(exports, "__esModule", {
14
14
  value: !0
15
15
  }), exports.BaseComponent = void 0;
16
16
 
17
- const vrender_core_1 = require("@visactor/vrender-core"), plugin_service_1 = require("../../plugin/components/plugin-service"), vutils_1 = require("@visactor/vutils"), event_1 = require("../../constant/event"), layout_model_1 = require("../../model/layout-model"), base_component_transformer_1 = require("./base-component-transformer"), release_vrender_component_1 = require("./release-vrender-component");
17
+ const vrender_core_1 = require("@visactor/vrender-core"), plugin_service_1 = require("../../plugin/components/plugin-service"), vutils_1 = require("@visactor/vutils"), event_1 = require("../../constant/event"), layout_model_1 = require("../../model/layout-model"), base_component_transformer_1 = require("./base-component-transformer");
18
18
 
19
19
  class BaseComponent extends layout_model_1.LayoutModel {
20
20
  constructor() {
21
21
  super(...arguments), this.name = "component", this.modelType = "component", this.transformerConstructor = base_component_transformer_1.BaseComponentSpecTransformer,
22
- this._forceReleaseVRenderComponents = !1, this._delegateEvent = (component, event, type, item = null, datum = null) => {
22
+ this._delegateEvent = (component, event, type, item = null, datum = null) => {
23
23
  var _a, _b;
24
24
  event instanceof vrender_core_1.CustomEvent || this.event.emit(type, {
25
25
  model: this,
@@ -67,53 +67,18 @@ class BaseComponent extends layout_model_1.LayoutModel {
67
67
  vutils_1.isEqual)(null == prevSpec ? void 0 : prevSpec[k], spec[k])))), (null == prevSpec ? void 0 : prevSpec.visible) !== spec.visible && (result.reCompile = !0),
68
68
  result;
69
69
  }
70
- beforeRelease() {
71
- super.beforeRelease(), this._forceReleaseVRenderComponents = !0, this._forceReleaseExitingVRenderComponents();
72
- }
73
70
  release() {
74
71
  var _a;
75
- this._shouldReleaseVRenderComponentsImmediately() && this._forceReleaseExitingVRenderComponents(),
76
- this.clear(), super.release(), null === (_a = this.pluginService) || void 0 === _a || _a.releaseAll(),
72
+ super.release(), this.clear(), null === (_a = this.pluginService) || void 0 === _a || _a.releaseAll(),
77
73
  this.pluginService = null;
78
74
  }
79
- _shouldReleaseVRenderComponentsImmediately() {
80
- return this._forceReleaseVRenderComponents;
81
- }
82
- _forceReleaseExitingVRenderComponents() {
83
- var _a;
84
- (null === (_a = this._exitingVRenderComponents) || void 0 === _a ? void 0 : _a.size) && (this._exitingVRenderComponents.forEach((component => {
85
- var _a, _b, _c;
86
- (0, release_vrender_component_1.releaseVRenderComponentSync)(component), null === (_c = null === (_b = null === (_a = this._option) || void 0 === _a ? void 0 : _a.globalInstance) || void 0 === _b ? void 0 : _b._unregisterExitingVRenderComponent) || void 0 === _c || _c.call(_b, component);
87
- })), this._exitingVRenderComponents.clear());
88
- }
89
- _releaseVRenderComponent(component) {
90
- var _a;
91
- if (!this._shouldReleaseVRenderComponentsImmediately()) {
92
- const exitingComponents = (0, release_vrender_component_1.collectVRenderComponents)(component), releasedWithExit = (0,
93
- release_vrender_component_1.releaseVRenderComponent)(component, {
94
- enableExitAnimation: !0,
95
- removeFromParent: !0,
96
- onComplete: () => {
97
- exitingComponents.forEach((exitingComponent => {
98
- var _a, _b, _c, _d;
99
- null === (_a = this._exitingVRenderComponents) || void 0 === _a || _a.delete(exitingComponent),
100
- null === (_d = null === (_c = null === (_b = this._option) || void 0 === _b ? void 0 : _b.globalInstance) || void 0 === _c ? void 0 : _c._unregisterExitingVRenderComponent) || void 0 === _d || _d.call(_c, exitingComponent);
101
- }));
102
- }
103
- });
104
- return releasedWithExit ? (this._exitingVRenderComponents = null !== (_a = this._exitingVRenderComponents) && void 0 !== _a ? _a : new Set,
105
- void exitingComponents.forEach((exitingComponent => {
106
- var _a, _b, _c;
107
- this._exitingVRenderComponents.add(exitingComponent), null === (_c = null === (_b = null === (_a = this._option) || void 0 === _a ? void 0 : _a.globalInstance) || void 0 === _b ? void 0 : _b._registerExitingVRenderComponent) || void 0 === _c || _c.call(_b, exitingComponent);
108
- }))) : void 0;
109
- }
110
- (0, release_vrender_component_1.releaseVRenderComponentSync)(component);
111
- }
112
75
  clear() {
113
76
  var _a;
114
77
  const components = this._getNeedClearVRenderComponents();
115
78
  components && components.length && components.forEach((c => {
116
- c && this._releaseVRenderComponent(c);
79
+ var _a;
80
+ c && (c.release(!0), null === (_a = this.getContainer()) || void 0 === _a || _a.removeChild(c),
81
+ c = null);
117
82
  })), this._container = null, null === (_a = this.pluginService) || void 0 === _a || _a.clearAll();
118
83
  }
119
84
  compile() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/base/base-component.ts"],"names":[],"mappings":"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","file":"base-component.js","sourcesContent":["import { CustomEvent, type IGraphicAttribute, type IGraphic, type IGroup, type INode } from '@visactor/vrender-core';\nimport type { IRegion } from '../../region/interface';\nimport type { IComponent, IComponentOption } from '../interface';\nimport { ComponentPluginService } from '../../plugin/components/plugin-service';\nimport type { IComponentPluginService, IComponentPlugin } from '../../plugin/components/interface';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual } from '@visactor/vutils';\nimport { Event_Source_Type } from '../../constant/event';\n// import { preprocessSpecOrTheme } from '../../util/spec/preprocess';\nimport type { Datum, ILayoutRect } from '../../typings';\nimport type { IComponentSpec } from './interface';\nimport { LayoutModel } from '../../model/layout-model';\nimport { BaseComponentSpecTransformer } from './base-component-transformer';\nimport type { IModelSpecInfo } from '../../model/interface';\nimport {\n collectVRenderComponents,\n releaseVRenderComponent,\n releaseVRenderComponentSync\n} from './release-vrender-component';\n\nexport class BaseComponent<T extends IComponentSpec = IComponentSpec> extends LayoutModel<T> implements IComponent {\n static transformerConstructor = BaseComponentSpecTransformer;\n name: string = 'component';\n readonly modelType: string = 'component';\n readonly transformerConstructor = BaseComponentSpecTransformer as any;\n pluginService?: IComponentPluginService;\n\n static createComponent(specInfo: IModelSpecInfo, options: IComponentOption): IComponent {\n const { spec, ...others } = specInfo;\n return new this(spec, {\n ...options,\n ...others\n });\n }\n\n protected declare _option: IComponentOption;\n\n protected _regions: IRegion[];\n getRegions() {\n return this._regions;\n }\n\n protected _container: IGroup;\n private _exitingVRenderComponents?: Set<IGraphic>;\n private _forceReleaseVRenderComponents: boolean = false;\n\n created() {\n super.created();\n this.initLayout();\n this.pluginService = new ComponentPluginService(this);\n }\n\n initLayout(): void {\n super.initLayout();\n this._regions = this._regions ?? this._option.getRegionsInIndex();\n this._layout && (this._layout.layoutBindRegionID = this._regions.map(x => x?.id));\n }\n /**\n * 当创建vrender组件时,reCompile 的时候需要清理老的组件,创建新的组件,需要通过这个返回\n * 注意,像label 组件比较特殊,现在是通过componentMark 管理的,所以不需要通过这个接口被清理\n */\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [];\n }\n\n getVRenderComponents() {\n return this._getNeedClearVRenderComponents();\n }\n\n protected callPlugin(cb: (plugin: IComponentPlugin) => void) {\n if (this.pluginService) {\n this.pluginService.getAll().forEach(plugin => cb(plugin));\n }\n }\n\n protected getContainer() {\n if (!this._container) {\n this._container = this._option?.globalInstance.getStage().find(node => node.name === 'root', true) as IGroup;\n }\n\n return this._container;\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!result.reMake) {\n result.reMake = ['seriesId', 'seriesIndex', 'regionId', 'regionIndex'].some(k => {\n return !isEqual(prevSpec?.[k], spec[k]);\n });\n }\n if ((prevSpec as any)?.visible !== (spec as any).visible) {\n result.reCompile = true;\n }\n return result;\n }\n\n beforeRelease() {\n super.beforeRelease();\n this._forceReleaseVRenderComponents = true;\n this._forceReleaseExitingVRenderComponents();\n }\n\n release() {\n if (this._shouldReleaseVRenderComponentsImmediately()) {\n this._forceReleaseExitingVRenderComponents();\n }\n this.clear();\n super.release();\n\n this.pluginService?.releaseAll();\n this.pluginService = null;\n }\n\n protected _shouldReleaseVRenderComponentsImmediately() {\n return this._forceReleaseVRenderComponents;\n }\n\n protected _forceReleaseExitingVRenderComponents() {\n if (!this._exitingVRenderComponents?.size) {\n return;\n }\n\n this._exitingVRenderComponents.forEach(component => {\n releaseVRenderComponentSync(component);\n (this._option?.globalInstance as any)?._unregisterExitingVRenderComponent?.(component);\n });\n this._exitingVRenderComponents.clear();\n }\n\n protected _releaseVRenderComponent(component: IGraphic) {\n const forceRelease = this._shouldReleaseVRenderComponentsImmediately();\n\n if (!forceRelease) {\n const exitingComponents = collectVRenderComponents(component);\n const releasedWithExit = releaseVRenderComponent(component, {\n enableExitAnimation: true,\n removeFromParent: true,\n onComplete: () => {\n exitingComponents.forEach(exitingComponent => {\n this._exitingVRenderComponents?.delete(exitingComponent);\n (this._option?.globalInstance as any)?._unregisterExitingVRenderComponent?.(exitingComponent);\n });\n }\n });\n\n if (releasedWithExit) {\n this._exitingVRenderComponents = this._exitingVRenderComponents ?? new Set();\n exitingComponents.forEach(exitingComponent => {\n this._exitingVRenderComponents.add(exitingComponent);\n (this._option?.globalInstance as any)?._registerExitingVRenderComponent?.(exitingComponent);\n });\n return;\n }\n\n return;\n }\n\n releaseVRenderComponentSync(component);\n }\n\n clear() {\n const components = this._getNeedClearVRenderComponents();\n if (components && components.length) {\n components.forEach(c => {\n if (c) {\n this._releaseVRenderComponent(c);\n }\n });\n }\n this._container = null;\n this.pluginService?.clearAll();\n }\n\n compile(): void {\n this.compileMarks();\n this.reAppendComponents();\n }\n\n compileMarks(group?: IGroup) {\n this.getMarks().forEach(m => {\n m.compile({ group, context: { model: this } });\n });\n }\n\n reAppendComponents() {\n const components = this._getNeedClearVRenderComponents();\n if (components && components.length) {\n components.forEach(c => {\n if (c && !c.stage) {\n // component is removed remove stage\n\n this.getContainer()?.appendChild(c as unknown as INode);\n }\n });\n }\n }\n\n // 代理组件本身的事件(非内部图形),如坐标轴整体的点击等\n protected _delegateEvent = (component: IGraphic, event: any, type: string, item: any = null, datum: Datum = null) => {\n // 组件这里只代理基础的事件,自定义事件不需要代理\n if (!(event instanceof CustomEvent)) {\n this.event.emit(\n type,\n {\n model: this,\n node: component,\n event,\n item: item,\n datum: datum,\n source: Event_Source_Type.chart,\n chart: this._option?.globalInstance?.getChart()\n },\n 'model'\n );\n }\n };\n\n getBoundsInRect(rect: ILayoutRect, fullRect: ILayoutRect): IBoundsLike {\n return { x1: 0, x2: 0, y1: 0, y2: 0 };\n }\n\n getDatum(graphic?: IGraphic<Partial<IGraphicAttribute>>) {\n // override\n return;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/base/base-component.ts"],"names":[],"mappings":"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","file":"base-component.js","sourcesContent":["import { CustomEvent, type IGraphicAttribute, type IGraphic, type IGroup, type INode } from '@visactor/vrender-core';\nimport type { IRegion } from '../../region/interface';\nimport type { IComponent, IComponentOption } from '../interface';\nimport { ComponentPluginService } from '../../plugin/components/plugin-service';\nimport type { IComponentPluginService, IComponentPlugin } from '../../plugin/components/interface';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual } from '@visactor/vutils';\nimport { Event_Source_Type } from '../../constant/event';\n// import { preprocessSpecOrTheme } from '../../util/spec/preprocess';\nimport type { Datum, ILayoutRect } from '../../typings';\nimport type { IComponentSpec } from './interface';\nimport { LayoutModel } from '../../model/layout-model';\nimport { BaseComponentSpecTransformer } from './base-component-transformer';\nimport type { IModelSpecInfo } from '../../model/interface';\n\nexport class BaseComponent<T extends IComponentSpec = IComponentSpec> extends LayoutModel<T> implements IComponent {\n static transformerConstructor = BaseComponentSpecTransformer;\n name: string = 'component';\n readonly modelType: string = 'component';\n readonly transformerConstructor = BaseComponentSpecTransformer as any;\n pluginService?: IComponentPluginService;\n\n static createComponent(specInfo: IModelSpecInfo, options: IComponentOption): IComponent {\n const { spec, ...others } = specInfo;\n return new this(spec, {\n ...options,\n ...others\n });\n }\n\n protected declare _option: IComponentOption;\n\n protected _regions: IRegion[];\n getRegions() {\n return this._regions;\n }\n\n protected _container: IGroup;\n\n created() {\n super.created();\n this.initLayout();\n this.pluginService = new ComponentPluginService(this);\n }\n\n initLayout(): void {\n super.initLayout();\n this._regions = this._regions ?? this._option.getRegionsInIndex();\n this._layout && (this._layout.layoutBindRegionID = this._regions.map(x => x?.id));\n }\n /**\n * 当创建vrender组件时,reCompile 的时候需要清理老的组件,创建新的组件,需要通过这个返回\n * 注意,像label 组件比较特殊,现在是通过componentMark 管理的,所以不需要通过这个接口被清理\n */\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [];\n }\n\n getVRenderComponents() {\n return this._getNeedClearVRenderComponents();\n }\n\n protected callPlugin(cb: (plugin: IComponentPlugin) => void) {\n if (this.pluginService) {\n this.pluginService.getAll().forEach(plugin => cb(plugin));\n }\n }\n\n protected getContainer() {\n if (!this._container) {\n this._container = this._option?.globalInstance.getStage().find(node => node.name === 'root', true) as IGroup;\n }\n\n return this._container;\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!result.reMake) {\n result.reMake = ['seriesId', 'seriesIndex', 'regionId', 'regionIndex'].some(k => {\n return !isEqual(prevSpec?.[k], spec[k]);\n });\n }\n if ((prevSpec as any)?.visible !== (spec as any).visible) {\n result.reCompile = true;\n }\n return result;\n }\n\n release() {\n super.release();\n this.clear();\n\n this.pluginService?.releaseAll();\n this.pluginService = null;\n }\n\n clear() {\n const components = this._getNeedClearVRenderComponents();\n if (components && components.length) {\n components.forEach(c => {\n if (c) {\n c.release(true);\n this.getContainer()?.removeChild(c as unknown as INode);\n c = null;\n }\n });\n }\n this._container = null;\n this.pluginService?.clearAll();\n }\n\n compile(): void {\n this.compileMarks();\n this.reAppendComponents();\n }\n\n compileMarks(group?: IGroup) {\n this.getMarks().forEach(m => {\n m.compile({ group, context: { model: this } });\n });\n }\n\n reAppendComponents() {\n const components = this._getNeedClearVRenderComponents();\n if (components && components.length) {\n components.forEach(c => {\n if (c && !c.stage) {\n // component is removed remove stage\n\n this.getContainer()?.appendChild(c as unknown as INode);\n }\n });\n }\n }\n\n // 代理组件本身的事件(非内部图形),如坐标轴整体的点击等\n protected _delegateEvent = (component: IGraphic, event: any, type: string, item: any = null, datum: Datum = null) => {\n // 组件这里只代理基础的事件,自定义事件不需要代理\n if (!(event instanceof CustomEvent)) {\n this.event.emit(\n type,\n {\n model: this,\n node: component,\n event,\n item: item,\n datum: datum,\n source: Event_Source_Type.chart,\n chart: this._option?.globalInstance?.getChart()\n },\n 'model'\n );\n }\n };\n\n getBoundsInRect(rect: ILayoutRect, fullRect: ILayoutRect): IBoundsLike {\n return { x1: 0, x2: 0, y1: 0, y2: 0 };\n }\n\n getDatum(graphic?: IGraphic<Partial<IGraphicAttribute>>) {\n // override\n return;\n }\n}\n"]}
@@ -48,7 +48,6 @@ export declare class Brush<T extends IBrushSpec = IBrushSpec> extends BaseCompon
48
48
  private _zoomRecord;
49
49
  static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]>;
50
50
  init(): void;
51
- reInit(spec?: T): void;
52
51
  private _initNeedOperatedItem;
53
52
  created(): void;
54
53
  protected _bindRegions(): void;
@@ -56,8 +55,13 @@ export declare class Brush<T extends IBrushSpec = IBrushSpec> extends BaseCompon
56
55
  private _initRegionAxisMap;
57
56
  private _initAxisDataZoomMap;
58
57
  protected initEvent(): void;
59
- _compareSpec(spec: T, prevSpec: T): import("../../model/interface").IUpdateSpecResult;
60
- protected _isComponentOnlySpecChange(spec: T, prevSpec: T): boolean;
58
+ _compareSpec(spec: T, prevSpec: T): {
59
+ change: boolean;
60
+ reMake: boolean;
61
+ reRender: boolean;
62
+ reSize: boolean;
63
+ reCompile: boolean;
64
+ };
61
65
  onLayoutEnd(): void;
62
66
  protected _updateBrushComponent(region: IRegion, componentIndex: number): void;
63
67
  protected _shouldEnableInteractive(): boolean;