@visactor/vchart 1.3.1 → 1.4.0-alpha.3

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 (420) hide show
  1. package/build/es5/index.js +2 -4
  2. package/build/index.js +24610 -22089
  3. package/build/index.min.js +2 -2
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/base-chart.d.ts +5 -0
  6. package/cjs/chart/base-chart.js +43 -24
  7. package/cjs/chart/base-chart.js.map +1 -1
  8. package/cjs/chart/common/common.d.ts +2 -0
  9. package/cjs/chart/common/common.js +15 -1
  10. package/cjs/chart/common/common.js.map +1 -1
  11. package/cjs/chart/interface/chart.d.ts +5 -0
  12. package/cjs/chart/interface/chart.js.map +1 -1
  13. package/cjs/chart/rose/rose.js.map +1 -1
  14. package/cjs/chart/sequence/sequence.d.ts +1 -0
  15. package/cjs/chart/sequence/sequence.js +120 -76
  16. package/cjs/chart/sequence/sequence.js.map +1 -1
  17. package/cjs/compile/compiler.d.ts +2 -2
  18. package/cjs/compile/compiler.js +32 -13
  19. package/cjs/compile/compiler.js.map +1 -1
  20. package/cjs/compile/data/compilable-data.d.ts +1 -1
  21. package/cjs/compile/data/compilable-data.js +1 -1
  22. package/cjs/compile/data/compilable-data.js.map +1 -1
  23. package/cjs/compile/mark/compilable-mark.d.ts +9 -4
  24. package/cjs/compile/mark/compilable-mark.js +20 -6
  25. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  26. package/cjs/compile/mark/interface.d.ts +4 -2
  27. package/cjs/compile/mark/interface.js.map +1 -1
  28. package/cjs/compile/signal/state-manager.d.ts +1 -1
  29. package/cjs/compile/signal/state-manager.js +1 -1
  30. package/cjs/compile/signal/state-manager.js.map +1 -1
  31. package/cjs/component/axis/base-axis.d.ts +14 -13
  32. package/cjs/component/axis/base-axis.js +46 -37
  33. package/cjs/component/axis/base-axis.js.map +1 -1
  34. package/cjs/component/axis/cartesian/axis.js +64 -32
  35. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  36. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  37. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  38. package/cjs/component/axis/interface.d.ts +1 -0
  39. package/cjs/component/axis/interface.js.map +1 -1
  40. package/cjs/component/axis/mixin/linear-axis-mixin.js +1 -1
  41. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  42. package/cjs/component/axis/polar/axis.d.ts +2 -1
  43. package/cjs/component/axis/polar/axis.js +69 -51
  44. package/cjs/component/axis/polar/axis.js.map +1 -1
  45. package/cjs/component/base/base-component.js +2 -2
  46. package/cjs/component/base/base-component.js.map +1 -1
  47. package/cjs/component/crosshair/base.d.ts +1 -1
  48. package/cjs/component/crosshair/base.js +4 -2
  49. package/cjs/component/crosshair/base.js.map +1 -1
  50. package/cjs/component/crosshair/cartesian.d.ts +1 -1
  51. package/cjs/component/crosshair/cartesian.js +2 -2
  52. package/cjs/component/crosshair/cartesian.js.map +1 -1
  53. package/cjs/component/crosshair/interface/spec.d.ts +1 -0
  54. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  55. package/cjs/component/crosshair/polar.d.ts +1 -1
  56. package/cjs/component/crosshair/polar.js +2 -2
  57. package/cjs/component/crosshair/polar.js.map +1 -1
  58. package/cjs/component/label/label.d.ts +12 -6
  59. package/cjs/component/label/label.js +73 -58
  60. package/cjs/component/label/label.js.map +1 -1
  61. package/cjs/component/label/totalLabel.js +4 -3
  62. package/cjs/component/label/totalLabel.js.map +1 -1
  63. package/cjs/component/label/util.d.ts +44 -6
  64. package/cjs/component/label/util.js +123 -7
  65. package/cjs/component/label/util.js.map +1 -1
  66. package/cjs/component/legend/base-legend.d.ts +1 -1
  67. package/cjs/component/legend/util.d.ts +1 -1
  68. package/cjs/component/tooltip/handler/base.d.ts +2 -2
  69. package/cjs/component/tooltip/handler/base.js +15 -14
  70. package/cjs/component/tooltip/handler/base.js.map +1 -1
  71. package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  72. package/cjs/component/tooltip/handler/dom/model/interface.d.ts +3 -3
  73. package/cjs/component/tooltip/handler/dom/model/interface.js.map +1 -1
  74. package/cjs/component/tooltip/handler/dom/util.d.ts +1 -1
  75. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  76. package/cjs/component/tooltip/handler/utils/attribute.d.ts +1 -1
  77. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  78. package/cjs/component/tooltip/tooltip.d.ts +1 -1
  79. package/cjs/component/tooltip/tooltip.js +11 -12
  80. package/cjs/component/tooltip/tooltip.js.map +1 -1
  81. package/cjs/constant/event.d.ts +2 -1
  82. package/cjs/constant/event.js +1 -1
  83. package/cjs/constant/event.js.map +1 -1
  84. package/cjs/constant/index.d.ts +1 -1
  85. package/cjs/constant/index.js +1 -1
  86. package/cjs/constant/index.js.map +1 -1
  87. package/cjs/core/index.d.ts +1 -1
  88. package/cjs/core/index.js +1 -1
  89. package/cjs/core/index.js.map +1 -1
  90. package/cjs/core/interface.d.ts +8 -0
  91. package/cjs/core/interface.js.map +1 -1
  92. package/cjs/core/vchart.d.ts +12 -2
  93. package/cjs/core/vchart.js +51 -17
  94. package/cjs/core/vchart.js.map +1 -1
  95. package/cjs/data/transforms/dimension-data.js +6 -4
  96. package/cjs/data/transforms/dimension-data.js.map +1 -1
  97. package/cjs/data/transforms/dimension-statistics.d.ts +0 -29
  98. package/cjs/data/transforms/dimension-statistics.js +31 -73
  99. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  100. package/cjs/data/transforms/waterfall.js +4 -3
  101. package/cjs/data/transforms/waterfall.js.map +1 -1
  102. package/cjs/event/event-dispatcher.d.ts +2 -0
  103. package/cjs/event/event-dispatcher.js +13 -2
  104. package/cjs/event/event-dispatcher.js.map +1 -1
  105. package/cjs/event/events/dimension/dimension-hover.js +1 -1
  106. package/cjs/event/events/dimension/dimension-hover.js.map +1 -1
  107. package/cjs/mark/base/base-mark.js +4 -4
  108. package/cjs/mark/base/base-mark.js.map +1 -1
  109. package/cjs/mark/interface/type.d.ts +2 -1
  110. package/cjs/mark/interface/type.js +1 -1
  111. package/cjs/mark/interface/type.js.map +1 -1
  112. package/cjs/mark/label.d.ts +26 -0
  113. package/cjs/mark/label.js +34 -0
  114. package/cjs/mark/label.js.map +1 -0
  115. package/cjs/model/base-model.d.ts +1 -1
  116. package/cjs/model/interface.d.ts +1 -1
  117. package/cjs/model/interface.js.map +1 -1
  118. package/cjs/plugin/components/axis-sync-plugin/tick-align-transform.js +3 -4
  119. package/cjs/plugin/components/axis-sync-plugin/tick-align-transform.js.map +1 -1
  120. package/cjs/series/area/area.js +1 -1
  121. package/cjs/series/area/area.js.map +1 -1
  122. package/cjs/series/base/base-series.d.ts +5 -6
  123. package/cjs/series/base/base-series.js +16 -10
  124. package/cjs/series/base/base-series.js.map +1 -1
  125. package/cjs/series/base/group.d.ts +2 -1
  126. package/cjs/series/base/group.js.map +1 -1
  127. package/cjs/series/funnel/funnel-3d.d.ts +2 -0
  128. package/cjs/series/funnel/funnel-3d.js +15 -21
  129. package/cjs/series/funnel/funnel-3d.js.map +1 -1
  130. package/cjs/series/funnel/funnel.d.ts +4 -2
  131. package/cjs/series/funnel/funnel.js +55 -53
  132. package/cjs/series/funnel/funnel.js.map +1 -1
  133. package/cjs/series/gauge/gauge.js +2 -2
  134. package/cjs/series/gauge/gauge.js.map +1 -1
  135. package/cjs/series/interface/series.d.ts +4 -5
  136. package/cjs/series/interface/series.js.map +1 -1
  137. package/cjs/series/line/line.js +1 -1
  138. package/cjs/series/line/line.js.map +1 -1
  139. package/cjs/series/pie/pie-3d.js +2 -2
  140. package/cjs/series/pie/pie-3d.js.map +1 -1
  141. package/cjs/series/pie/pie.js +3 -3
  142. package/cjs/series/pie/pie.js.map +1 -1
  143. package/cjs/series/polar/progress-like/progress-like.js +5 -6
  144. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  145. package/cjs/series/radar/radar.js +4 -4
  146. package/cjs/series/radar/radar.js.map +1 -1
  147. package/cjs/series/sunburst/sunburst.d.ts +1 -1
  148. package/cjs/series/waterfall/waterfall.d.ts +6 -2
  149. package/cjs/series/waterfall/waterfall.js +47 -46
  150. package/cjs/series/waterfall/waterfall.js.map +1 -1
  151. package/cjs/theme/builtin/common/series/waterfall.js +1 -0
  152. package/cjs/theme/builtin/common/series/waterfall.js.map +1 -1
  153. package/cjs/theme/theme-manager.d.ts +1 -1
  154. package/cjs/theme/theme-manager.js +2 -2
  155. package/cjs/theme/theme-manager.js.map +1 -1
  156. package/cjs/typings/group.d.ts +8 -0
  157. package/cjs/{data/transforms/tick-data/interface.js → typings/group.js} +1 -1
  158. package/cjs/typings/group.js.map +1 -0
  159. package/cjs/typings/index.d.ts +1 -0
  160. package/cjs/typings/index.js +1 -1
  161. package/cjs/typings/index.js.map +1 -1
  162. package/cjs/typings/visual.d.ts +3 -3
  163. package/cjs/typings/visual.js.map +1 -1
  164. package/cjs/util/data.js.map +1 -1
  165. package/cjs/util/env.js +1 -1
  166. package/cjs/util/env.js.map +1 -1
  167. package/cjs/util/math.d.ts +5 -19
  168. package/cjs/util/math.js +22 -120
  169. package/cjs/util/math.js.map +1 -1
  170. package/cjs/util/spec/common.d.ts +2 -0
  171. package/cjs/util/spec/common.js +8 -3
  172. package/cjs/util/spec/common.js.map +1 -1
  173. package/cjs/util/spec/merge-spec.d.ts +4 -0
  174. package/cjs/util/spec/merge-spec.js +12 -2
  175. package/cjs/util/spec/merge-spec.js.map +1 -1
  176. package/cjs/util/style.js +1 -1
  177. package/cjs/util/style.js.map +1 -1
  178. package/cjs/util/text.d.ts +4 -3
  179. package/cjs/util/text.js +5 -8
  180. package/cjs/util/text.js.map +1 -1
  181. package/cjs/vchart-all.js +1 -1
  182. package/cjs/vchart-all.js.map +1 -1
  183. package/esm/chart/base-chart.d.ts +5 -0
  184. package/esm/chart/base-chart.js +44 -24
  185. package/esm/chart/base-chart.js.map +1 -1
  186. package/esm/chart/common/common.d.ts +2 -0
  187. package/esm/chart/common/common.js +16 -0
  188. package/esm/chart/common/common.js.map +1 -1
  189. package/esm/chart/interface/chart.d.ts +5 -0
  190. package/esm/chart/interface/chart.js.map +1 -1
  191. package/esm/chart/rose/rose.js.map +1 -1
  192. package/esm/chart/sequence/sequence.d.ts +1 -0
  193. package/esm/chart/sequence/sequence.js +125 -75
  194. package/esm/chart/sequence/sequence.js.map +1 -1
  195. package/esm/compile/compiler.d.ts +2 -2
  196. package/esm/compile/compiler.js +31 -14
  197. package/esm/compile/compiler.js.map +1 -1
  198. package/esm/compile/data/compilable-data.d.ts +1 -1
  199. package/esm/compile/data/compilable-data.js +1 -1
  200. package/esm/compile/data/compilable-data.js.map +1 -1
  201. package/esm/compile/mark/compilable-mark.d.ts +9 -4
  202. package/esm/compile/mark/compilable-mark.js +20 -6
  203. package/esm/compile/mark/compilable-mark.js.map +1 -1
  204. package/esm/compile/mark/interface.d.ts +4 -2
  205. package/esm/compile/mark/interface.js.map +1 -1
  206. package/esm/compile/signal/state-manager.d.ts +1 -1
  207. package/esm/compile/signal/state-manager.js +1 -1
  208. package/esm/compile/signal/state-manager.js.map +1 -1
  209. package/esm/component/axis/base-axis.d.ts +14 -13
  210. package/esm/component/axis/base-axis.js +43 -34
  211. package/esm/component/axis/base-axis.js.map +1 -1
  212. package/esm/component/axis/cartesian/axis.js +62 -28
  213. package/esm/component/axis/cartesian/axis.js.map +1 -1
  214. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  215. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  216. package/esm/component/axis/interface.d.ts +1 -0
  217. package/esm/component/axis/interface.js.map +1 -1
  218. package/esm/component/axis/mixin/linear-axis-mixin.js +1 -1
  219. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  220. package/esm/component/axis/polar/axis.d.ts +2 -1
  221. package/esm/component/axis/polar/axis.js +70 -53
  222. package/esm/component/axis/polar/axis.js.map +1 -1
  223. package/esm/component/base/base-component.js +2 -2
  224. package/esm/component/base/base-component.js.map +1 -1
  225. package/esm/component/crosshair/base.d.ts +1 -1
  226. package/esm/component/crosshair/base.js +4 -2
  227. package/esm/component/crosshair/base.js.map +1 -1
  228. package/esm/component/crosshair/cartesian.d.ts +1 -1
  229. package/esm/component/crosshair/cartesian.js +2 -2
  230. package/esm/component/crosshair/cartesian.js.map +1 -1
  231. package/esm/component/crosshair/interface/spec.d.ts +1 -0
  232. package/esm/component/crosshair/interface/spec.js.map +1 -1
  233. package/esm/component/crosshair/polar.d.ts +1 -1
  234. package/esm/component/crosshair/polar.js +2 -2
  235. package/esm/component/crosshair/polar.js.map +1 -1
  236. package/esm/component/label/label.d.ts +12 -6
  237. package/esm/component/label/label.js +77 -58
  238. package/esm/component/label/label.js.map +1 -1
  239. package/esm/component/label/totalLabel.js +4 -3
  240. package/esm/component/label/totalLabel.js.map +1 -1
  241. package/esm/component/label/util.d.ts +44 -6
  242. package/esm/component/label/util.js +121 -5
  243. package/esm/component/label/util.js.map +1 -1
  244. package/esm/component/legend/base-legend.d.ts +1 -1
  245. package/esm/component/legend/util.d.ts +1 -1
  246. package/esm/component/tooltip/handler/base.d.ts +2 -2
  247. package/esm/component/tooltip/handler/base.js +15 -14
  248. package/esm/component/tooltip/handler/base.js.map +1 -1
  249. package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
  250. package/esm/component/tooltip/handler/dom/model/interface.d.ts +3 -3
  251. package/esm/component/tooltip/handler/dom/model/interface.js.map +1 -1
  252. package/esm/component/tooltip/handler/dom/util.d.ts +1 -1
  253. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  254. package/esm/component/tooltip/handler/utils/attribute.d.ts +1 -1
  255. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  256. package/esm/component/tooltip/tooltip.d.ts +1 -1
  257. package/esm/component/tooltip/tooltip.js +11 -12
  258. package/esm/component/tooltip/tooltip.js.map +1 -1
  259. package/esm/constant/event.d.ts +2 -1
  260. package/esm/constant/event.js +1 -1
  261. package/esm/constant/event.js.map +1 -1
  262. package/esm/constant/index.d.ts +1 -1
  263. package/esm/constant/index.js +1 -1
  264. package/esm/constant/index.js.map +1 -1
  265. package/esm/core/index.d.ts +1 -1
  266. package/esm/core/index.js +1 -1
  267. package/esm/core/index.js.map +1 -1
  268. package/esm/core/interface.d.ts +8 -0
  269. package/esm/core/interface.js.map +1 -1
  270. package/esm/core/vchart.d.ts +12 -2
  271. package/esm/core/vchart.js +49 -18
  272. package/esm/core/vchart.js.map +1 -1
  273. package/esm/data/transforms/dimension-data.js +6 -4
  274. package/esm/data/transforms/dimension-data.js.map +1 -1
  275. package/esm/data/transforms/dimension-statistics.d.ts +0 -29
  276. package/esm/data/transforms/dimension-statistics.js +28 -69
  277. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  278. package/esm/data/transforms/waterfall.js +4 -4
  279. package/esm/data/transforms/waterfall.js.map +1 -1
  280. package/esm/event/event-dispatcher.d.ts +2 -0
  281. package/esm/event/event-dispatcher.js +13 -2
  282. package/esm/event/event-dispatcher.js.map +1 -1
  283. package/esm/event/events/dimension/dimension-hover.js +1 -1
  284. package/esm/event/events/dimension/dimension-hover.js.map +1 -1
  285. package/esm/mark/base/base-mark.js +5 -5
  286. package/esm/mark/base/base-mark.js.map +1 -1
  287. package/esm/mark/interface/type.d.ts +2 -1
  288. package/esm/mark/interface/type.js +1 -1
  289. package/esm/mark/interface/type.js.map +1 -1
  290. package/esm/mark/label.d.ts +26 -0
  291. package/esm/mark/label.js +30 -0
  292. package/esm/mark/label.js.map +1 -0
  293. package/esm/model/base-model.d.ts +1 -1
  294. package/esm/model/interface.d.ts +1 -1
  295. package/esm/model/interface.js.map +1 -1
  296. package/esm/plugin/components/axis-sync-plugin/tick-align-transform.js +3 -4
  297. package/esm/plugin/components/axis-sync-plugin/tick-align-transform.js.map +1 -1
  298. package/esm/series/area/area.js +1 -1
  299. package/esm/series/area/area.js.map +1 -1
  300. package/esm/series/base/base-series.d.ts +5 -6
  301. package/esm/series/base/base-series.js +16 -11
  302. package/esm/series/base/base-series.js.map +1 -1
  303. package/esm/series/base/group.d.ts +2 -1
  304. package/esm/series/base/group.js.map +1 -1
  305. package/esm/series/funnel/funnel-3d.d.ts +2 -0
  306. package/esm/series/funnel/funnel-3d.js +15 -21
  307. package/esm/series/funnel/funnel-3d.js.map +1 -1
  308. package/esm/series/funnel/funnel.d.ts +4 -2
  309. package/esm/series/funnel/funnel.js +56 -53
  310. package/esm/series/funnel/funnel.js.map +1 -1
  311. package/esm/series/gauge/gauge.js +4 -2
  312. package/esm/series/gauge/gauge.js.map +1 -1
  313. package/esm/series/interface/series.d.ts +4 -5
  314. package/esm/series/interface/series.js.map +1 -1
  315. package/esm/series/line/line.js +1 -1
  316. package/esm/series/line/line.js.map +1 -1
  317. package/esm/series/pie/pie-3d.js +4 -2
  318. package/esm/series/pie/pie-3d.js.map +1 -1
  319. package/esm/series/pie/pie.js +4 -4
  320. package/esm/series/pie/pie.js.map +1 -1
  321. package/esm/series/polar/progress-like/progress-like.js +7 -6
  322. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  323. package/esm/series/radar/radar.js +6 -6
  324. package/esm/series/radar/radar.js.map +1 -1
  325. package/esm/series/sunburst/sunburst.d.ts +1 -1
  326. package/esm/series/waterfall/waterfall.d.ts +6 -2
  327. package/esm/series/waterfall/waterfall.js +49 -45
  328. package/esm/series/waterfall/waterfall.js.map +1 -1
  329. package/esm/theme/builtin/common/series/waterfall.js +1 -0
  330. package/esm/theme/builtin/common/series/waterfall.js.map +1 -1
  331. package/esm/theme/theme-manager.d.ts +1 -1
  332. package/esm/theme/theme-manager.js +3 -1
  333. package/esm/theme/theme-manager.js.map +1 -1
  334. package/esm/typings/group.d.ts +8 -0
  335. package/esm/typings/group.js +2 -0
  336. package/esm/typings/group.js.map +1 -0
  337. package/esm/typings/index.d.ts +1 -0
  338. package/esm/typings/index.js +2 -0
  339. package/esm/typings/index.js.map +1 -1
  340. package/esm/typings/visual.d.ts +3 -3
  341. package/esm/typings/visual.js.map +1 -1
  342. package/esm/util/data.js.map +1 -1
  343. package/esm/util/env.js +1 -1
  344. package/esm/util/env.js.map +1 -1
  345. package/esm/util/math.d.ts +5 -19
  346. package/esm/util/math.js +5 -107
  347. package/esm/util/math.js.map +1 -1
  348. package/esm/util/spec/common.d.ts +2 -0
  349. package/esm/util/spec/common.js +8 -0
  350. package/esm/util/spec/common.js.map +1 -1
  351. package/esm/util/spec/merge-spec.d.ts +4 -0
  352. package/esm/util/spec/merge-spec.js +10 -1
  353. package/esm/util/spec/merge-spec.js.map +1 -1
  354. package/esm/util/style.js +1 -1
  355. package/esm/util/style.js.map +1 -1
  356. package/esm/util/text.d.ts +4 -3
  357. package/esm/util/text.js +6 -12
  358. package/esm/util/text.js.map +1 -1
  359. package/esm/vchart-all.js +1 -1
  360. package/esm/vchart-all.js.map +1 -1
  361. package/package.json +16 -15
  362. package/cjs/component/label/bar.d.ts +0 -9
  363. package/cjs/component/label/bar.js +0 -47
  364. package/cjs/component/label/bar.js.map +0 -1
  365. package/cjs/component/label/pie.d.ts +0 -5
  366. package/cjs/component/label/pie.js +0 -21
  367. package/cjs/component/label/pie.js.map +0 -1
  368. package/cjs/component/label/symbol.d.ts +0 -9
  369. package/cjs/component/label/symbol.js +0 -26
  370. package/cjs/component/label/symbol.js.map +0 -1
  371. package/cjs/data/transforms/tick-data/config.d.ts +0 -1
  372. package/cjs/data/transforms/tick-data/config.js +0 -6
  373. package/cjs/data/transforms/tick-data/config.js.map +0 -1
  374. package/cjs/data/transforms/tick-data/continuous.d.ts +0 -3
  375. package/cjs/data/transforms/tick-data/continuous.js +0 -44
  376. package/cjs/data/transforms/tick-data/continuous.js.map +0 -1
  377. package/cjs/data/transforms/tick-data/discrete/linear.d.ts +0 -3
  378. package/cjs/data/transforms/tick-data/discrete/linear.js +0 -90
  379. package/cjs/data/transforms/tick-data/discrete/linear.js.map +0 -1
  380. package/cjs/data/transforms/tick-data/discrete/polar-angle.d.ts +0 -3
  381. package/cjs/data/transforms/tick-data/discrete/polar-angle.js +0 -46
  382. package/cjs/data/transforms/tick-data/discrete/polar-angle.js.map +0 -1
  383. package/cjs/data/transforms/tick-data/index.d.ts +0 -4
  384. package/cjs/data/transforms/tick-data/index.js +0 -36
  385. package/cjs/data/transforms/tick-data/index.js.map +0 -1
  386. package/cjs/data/transforms/tick-data/interface.d.ts +0 -31
  387. package/cjs/data/transforms/tick-data/interface.js.map +0 -1
  388. package/cjs/data/transforms/tick-data/util.d.ts +0 -15
  389. package/cjs/data/transforms/tick-data/util.js +0 -80
  390. package/cjs/data/transforms/tick-data/util.js.map +0 -1
  391. package/esm/component/label/bar.d.ts +0 -9
  392. package/esm/component/label/bar.js +0 -39
  393. package/esm/component/label/bar.js.map +0 -1
  394. package/esm/component/label/pie.d.ts +0 -5
  395. package/esm/component/label/pie.js +0 -13
  396. package/esm/component/label/pie.js.map +0 -1
  397. package/esm/component/label/symbol.d.ts +0 -9
  398. package/esm/component/label/symbol.js +0 -20
  399. package/esm/component/label/symbol.js.map +0 -1
  400. package/esm/data/transforms/tick-data/config.d.ts +0 -1
  401. package/esm/data/transforms/tick-data/config.js +0 -2
  402. package/esm/data/transforms/tick-data/config.js.map +0 -1
  403. package/esm/data/transforms/tick-data/continuous.d.ts +0 -3
  404. package/esm/data/transforms/tick-data/continuous.js +0 -43
  405. package/esm/data/transforms/tick-data/continuous.js.map +0 -1
  406. package/esm/data/transforms/tick-data/discrete/linear.d.ts +0 -3
  407. package/esm/data/transforms/tick-data/discrete/linear.js +0 -81
  408. package/esm/data/transforms/tick-data/discrete/linear.js.map +0 -1
  409. package/esm/data/transforms/tick-data/discrete/polar-angle.d.ts +0 -3
  410. package/esm/data/transforms/tick-data/discrete/polar-angle.js +0 -41
  411. package/esm/data/transforms/tick-data/discrete/polar-angle.js.map +0 -1
  412. package/esm/data/transforms/tick-data/index.d.ts +0 -4
  413. package/esm/data/transforms/tick-data/index.js +0 -21
  414. package/esm/data/transforms/tick-data/index.js.map +0 -1
  415. package/esm/data/transforms/tick-data/interface.d.ts +0 -31
  416. package/esm/data/transforms/tick-data/interface.js +0 -2
  417. package/esm/data/transforms/tick-data/interface.js.map +0 -1
  418. package/esm/data/transforms/tick-data/util.d.ts +0 -15
  419. package/esm/data/transforms/tick-data/util.js +0 -70
  420. package/esm/data/transforms/tick-data/util.js.map +0 -1
@@ -1,12 +1,10 @@
1
1
  import { isContinuous } from "@visactor/vscale";
2
2
 
3
- import { AXIS_ELEMENT_NAME } from "@visactor/vrender-components";
4
-
5
3
  import { BaseComponent } from "../base";
6
4
 
7
5
  import { array, eachSeries, get, getSeries, isArray, isBoolean, isFunction, isNil, isValid, mergeSpec } from "../../util";
8
6
 
9
- import { ChartEvent } from "../../constant";
7
+ import { ChartEvent, LayoutZIndex } from "../../constant";
10
8
 
11
9
  import { animationConfig } from "../../animation/utils";
12
10
 
@@ -18,6 +16,8 @@ import { DEFAULT_TITLE_STYLE, transformAxisLineStyle } from "./util";
18
16
 
19
17
  import { transformAxisLabelStateStyle, transformStateStyle, transformToGraphic } from "../../util/style";
20
18
 
19
+ import { GridEnum } from "@visactor/vgrammar";
20
+
21
21
  export class AxisComponent extends BaseComponent {
22
22
  getOrient() {
23
23
  return this._orient;
@@ -61,7 +61,7 @@ export class AxisComponent extends BaseComponent {
61
61
  }, this._visible = null === (_a = spec.visible) || void 0 === _a || _a;
62
62
  }
63
63
  created() {
64
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
64
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
65
65
  if (super.created(), this.setSeriesAndRegionsFromSpec(), this.initEvent(), this.initScales(),
66
66
  this.updateSeriesScale(), this._initData(), this._visible) {
67
67
  const axisMark = this._createMark({
@@ -71,19 +71,30 @@ export class AxisComponent extends BaseComponent {
71
71
  componentType: "angle" === this.getOrient() ? "circleAxis" : "axis",
72
72
  mode: this._spec.mode
73
73
  });
74
- if (this._marks.addMark(axisMark), axisMark.setZIndex(this.layoutZIndex), isValid(this._spec.id) && axisMark.setUserId(this._spec.id),
75
- isBoolean(this._spec.interactive) && axisMark.setInteractive(this._spec.interactive),
74
+ if (this._axisMark = axisMark, axisMark.setZIndex(this.layoutZIndex), isValid(this._spec.id) && axisMark.setUserId(this._spec.id),
75
+ this._marks.addMark(axisMark), null === (_a = this._spec.grid) || void 0 === _a ? void 0 : _a.visible) {
76
+ const gridMark = this._createMark({
77
+ type: "component",
78
+ name: `axis-${this.getOrient()}-grid`
79
+ }, {
80
+ componentType: "angle" === this.getOrient() ? GridEnum.circleAxisGrid : GridEnum.lineAxisGrid,
81
+ mode: this._spec.mode
82
+ });
83
+ gridMark.setZIndex(null !== (_f = null !== (_d = null === (_c = null === (_b = this._spec.grid) || void 0 === _b ? void 0 : _b.style) || void 0 === _c ? void 0 : _c.zIndex) && void 0 !== _d ? _d : null === (_e = this._spec.grid) || void 0 === _e ? void 0 : _e.zIndex) && void 0 !== _f ? _f : LayoutZIndex.Axis_Grid),
84
+ this._marks.addMark(gridMark), this._gridMark = gridMark;
85
+ }
86
+ if (isBoolean(this._spec.interactive) && this._marks.forEach((m => m.setInteractive(this._spec.interactive))),
76
87
  !1 !== this._option.animation && !1 !== get(this._option.getChart().getSpec(), "animation") && !0 === this._spec.animation) {
77
88
  const axisAnimateConfig = animationConfig(DEFAULT_MARK_ANIMATION.axis(), {
78
- appear: null !== (_b = null !== (_a = this._spec.animationAppear) && void 0 !== _a ? _a : get(this._option.getChart().getSpec(), "animationAppear.axis")) && void 0 !== _b ? _b : get(this._option.getChart().getSpec(), "animationAppear"),
79
- disappear: null !== (_d = null !== (_c = this._spec.animationDisappear) && void 0 !== _c ? _c : get(this._option.getChart().getSpec(), "animationDisappear.axis")) && void 0 !== _d ? _d : get(this._option.getChart().getSpec(), "animationDisappear"),
80
- enter: null !== (_f = null !== (_e = this._spec.animationEnter) && void 0 !== _e ? _e : get(this._option.getChart().getSpec(), "animationEnter.axis")) && void 0 !== _f ? _f : get(this._option.getChart().getSpec(), "animationEnter"),
81
- exit: null !== (_h = null !== (_g = this._spec.animationExit) && void 0 !== _g ? _g : get(this._option.getChart().getSpec(), "animationExit.axis")) && void 0 !== _h ? _h : get(this._option.getChart().getSpec(), "animationExit"),
82
- update: null !== (_k = null !== (_j = this._spec.animationUpdate) && void 0 !== _j ? _j : get(this._option.getChart().getSpec(), "animationUpdate.axis")) && void 0 !== _k ? _k : get(this._option.getChart().getSpec(), "animationUpdate")
89
+ appear: null !== (_h = null !== (_g = this._spec.animationAppear) && void 0 !== _g ? _g : get(this._option.getChart().getSpec(), "animationAppear.axis")) && void 0 !== _h ? _h : get(this._option.getChart().getSpec(), "animationAppear"),
90
+ disappear: null !== (_k = null !== (_j = this._spec.animationDisappear) && void 0 !== _j ? _j : get(this._option.getChart().getSpec(), "animationDisappear.axis")) && void 0 !== _k ? _k : get(this._option.getChart().getSpec(), "animationDisappear"),
91
+ enter: null !== (_m = null !== (_l = this._spec.animationEnter) && void 0 !== _l ? _l : get(this._option.getChart().getSpec(), "animationEnter.axis")) && void 0 !== _m ? _m : get(this._option.getChart().getSpec(), "animationEnter"),
92
+ exit: null !== (_p = null !== (_o = this._spec.animationExit) && void 0 !== _o ? _o : get(this._option.getChart().getSpec(), "animationExit.axis")) && void 0 !== _p ? _p : get(this._option.getChart().getSpec(), "animationExit"),
93
+ update: null !== (_r = null !== (_q = this._spec.animationUpdate) && void 0 !== _q ? _q : get(this._option.getChart().getSpec(), "animationUpdate.axis")) && void 0 !== _r ? _r : get(this._option.getChart().getSpec(), "animationUpdate")
83
94
  });
84
95
  axisAnimateConfig.update[0].customParameters = {
85
96
  enter: axisAnimateConfig.enter[0]
86
- }, axisMark.setAnimationConfig(axisAnimateConfig);
97
+ }, this._marks.forEach((m => m.setAnimationConfig(axisAnimateConfig)));
87
98
  }
88
99
  }
89
100
  }
@@ -146,9 +157,7 @@ export class AxisComponent extends BaseComponent {
146
157
  updateSpec(spec) {
147
158
  const originalSpec = this._originalSpec, result = super.updateSpec(spec);
148
159
  return result.reRender = !0, originalSpec.type !== spec.type ? (result.reMake = !0,
149
- result) : (result.reMake = [ "seriesId", "seriesIndex", "regionId", "regionIndex" ].some((k => {
150
- JSON.stringify(originalSpec[k]), JSON.stringify(spec[k]);
151
- })) || result.reMake, result);
160
+ result) : result;
152
161
  }
153
162
  getLabelFormatMethod() {
154
163
  return this._spec.label.formatMethod ? (value, datum, index) => this._spec.label.formatMethod(datum.rawValue, datum) : null;
@@ -162,8 +171,7 @@ export class AxisComponent extends BaseComponent {
162
171
  }))).filter((entry => entry.value >= 0 && entry.value <= 1)) ] : [];
163
172
  }
164
173
  _delegateAxisContainerEvent(component) {
165
- const axisMainContainer = null == component ? void 0 : component.find((node => node.name === AXIS_ELEMENT_NAME.axisContainer), !0);
166
- axisMainContainer && axisMainContainer.addEventListener("*", ((event, type) => this._delegateEvent(component, event, type)));
174
+ component.addEventListener("*", ((event, type) => this._delegateEvent(component, event, type)));
167
175
  }
168
176
  _getAxisAttributes() {
169
177
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
@@ -211,23 +219,6 @@ export class AxisComponent extends BaseComponent {
211
219
  } : transformToGraphic(spec.subTick.style),
212
220
  state: transformStateStyle(spec.subTick.state)
213
221
  },
214
- grid: {
215
- type: "line",
216
- visible: spec.grid.visible,
217
- alternateColor: spec.grid.alternateColor,
218
- alignWithLabel: spec.grid.alignWithLabel,
219
- style: isFunction(spec.grid.style) ? (datum, index) => {
220
- var _a, _b;
221
- const style = spec.grid.style(null === (_a = datum.datum) || void 0 === _a ? void 0 : _a.rawValue, index, datum.datum);
222
- return transformToGraphic(this._prepareSpecAfterMergingTheme(mergeSpec({}, null === (_b = this._theme.grid) || void 0 === _b ? void 0 : _b.style, style)));
223
- } : transformToGraphic(spec.grid.style)
224
- },
225
- subGrid: {
226
- type: "line",
227
- visible: spec.subGrid.visible,
228
- alternateColor: spec.subGrid.alternateColor,
229
- style: transformToGraphic(spec.subGrid.style)
230
- },
231
222
  title: {
232
223
  visible: spec.title.visible,
233
224
  position: spec.title.position,
@@ -258,6 +249,24 @@ export class AxisComponent extends BaseComponent {
258
249
  }
259
250
  };
260
251
  }
252
+ _getGridAttributes() {
253
+ const spec = this._spec;
254
+ return {
255
+ alternateColor: spec.grid.alternateColor,
256
+ alignWithLabel: spec.grid.alignWithLabel,
257
+ style: isFunction(spec.grid.style) ? () => (datum, index) => {
258
+ var _a, _b;
259
+ const style = spec.grid.style(null === (_a = datum.datum) || void 0 === _a ? void 0 : _a.rawValue, index, datum.datum);
260
+ return transformToGraphic(this._prepareSpecAfterMergingTheme(mergeSpec({}, null === (_b = this._theme.grid) || void 0 === _b ? void 0 : _b.style, style)));
261
+ } : transformToGraphic(spec.grid.style),
262
+ subGrid: {
263
+ type: "line",
264
+ visible: spec.subGrid.visible,
265
+ alternateColor: spec.subGrid.alternateColor,
266
+ style: transformToGraphic(spec.subGrid.style)
267
+ }
268
+ };
269
+ }
261
270
  addTransformToTickData(options, execute) {
262
271
  var _a, _b;
263
272
  null === (_b = null === (_a = this._tickData) || void 0 === _a ? void 0 : _a.getDataView()) || void 0 === _b || _b.transform(options, execute);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/base-axis.ts"],"names":[],"mappings":"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","file":"base-axis.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { INode, IGroup, IGraphic } from '@visactor/vrender';\nimport { AXIS_ELEMENT_NAME } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { AxisItem } from '@visactor/vrender-components';\nimport type { IOrientType, IPolarOrientType, Datum, StringOrNumber } from '../../typings';\nimport { BaseComponent } from '../base';\nimport type { IPolarAxisCommonTheme } from './polar/interface';\nimport type { ICartesianAxisCommonTheme } from './cartesian/interface';\nimport type { CompilableData } from '../../compile/data';\nimport type { IAxis, ICommonAxisSpec, ITick, StatisticsDomain } from './interface';\nimport type { IComponentOption } from '../interface';\nimport {\n array,\n eachSeries,\n get,\n getSeries,\n isArray,\n isBoolean,\n isFunction,\n isNil,\n isValid,\n mergeSpec\n} from '../../util';\nimport type { ISeries } from '../../series/interface';\nimport { ChartEvent } from '../../constant';\nimport type { Group } from '../../series/base/group';\nimport { animationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { degreeToRadian, pickWithout, type LooseFunction } from '@visactor/vutils';\nimport { DEFAULT_TITLE_STYLE, transformAxisLineStyle } from './util';\nimport { transformAxisLabelStateStyle, transformStateStyle, transformToGraphic } from '../../util/style';\nimport type { ITransformOptions } from '@visactor/vdataset';\n\nexport abstract class AxisComponent<T extends ICommonAxisSpec & Record<string, any> = any> // FIXME: 补充公共类型,去掉 Record<string, any>\n extends BaseComponent<T>\n implements IAxis\n{\n static specKey = 'axes';\n\n protected _orient: IPolarOrientType | IOrientType;\n getOrient() {\n return this._orient;\n }\n\n protected _scale!: IBaseScale;\n getScale() {\n return this._scale;\n }\n\n protected _scales: IBaseScale[] = [];\n getScales() {\n return this._scales;\n }\n\n protected declare _theme: ICartesianAxisCommonTheme | IPolarAxisCommonTheme;\n\n protected _tickData!: CompilableData;\n getTickData() {\n return this._tickData;\n }\n\n protected _statisticsDomain: StatisticsDomain = { domain: [], index: {} };\n getStatisticsDomain() {\n return this._statisticsDomain;\n }\n\n // 与系列的关联关系\n // 优先级:id > index\n // 最终结果:series & region取交集\n protected _seriesUserId?: StringOrNumber[];\n protected _seriesIndex?: number[];\n protected _regionUserId?: StringOrNumber[];\n protected _regionIndex?: number[];\n\n /**\n * if axis will be shown\n */\n protected _visible: boolean = true;\n get visible() {\n return this._visible;\n }\n\n protected _tick: ITick | undefined = undefined;\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n abstract dataToPosition(values: any[], cfg?: any): number;\n abstract valueToPosition(value: any): number;\n protected abstract axisHelper(): any;\n protected abstract getSeriesStatisticsField(s: ISeries): string[];\n protected abstract updateSeriesScale(): void;\n protected abstract collectData(depth: number): { min: number; max: number; values: any[] }[];\n protected abstract _initData(): void;\n abstract transformScaleDomain(): void;\n\n protected _dataFieldText: string;\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, {\n ...options\n });\n this._visible = spec.visible ?? true;\n }\n\n created() {\n super.created();\n //series and regions\n this.setSeriesAndRegionsFromSpec();\n // event\n this.initEvent();\n // scales\n this.initScales();\n this.updateSeriesScale();\n // data\n this._initData();\n\n if (this._visible) {\n // 创建语法元素\n\n const axisMark = this._createMark(\n { type: 'component', name: `axis-${this.getOrient()}` },\n {\n componentType: this.getOrient() === 'angle' ? 'circleAxis' : 'axis',\n mode: this._spec.mode\n }\n );\n this._marks.addMark(axisMark);\n\n axisMark.setZIndex(this.layoutZIndex);\n if (isValid(this._spec.id)) {\n axisMark.setUserId(this._spec.id);\n }\n // interactive\n if (isBoolean(this._spec.interactive)) {\n axisMark.setInteractive(this._spec.interactive);\n }\n\n // Tip: 支持 spec.animationAppear.axis,并且坐标轴默认关闭动画\n if (\n this._option.animation !== false &&\n get(this._option.getChart().getSpec(), 'animation') !== false &&\n this._spec.animation === true\n ) {\n const axisAnimateConfig = animationConfig(DEFAULT_MARK_ANIMATION.axis(), {\n appear:\n this._spec.animationAppear ??\n get(this._option.getChart().getSpec(), 'animationAppear.axis') ??\n get(this._option.getChart().getSpec(), 'animationAppear'),\n disappear:\n this._spec.animationDisappear ??\n get(this._option.getChart().getSpec(), 'animationDisappear.axis') ??\n get(this._option.getChart().getSpec(), 'animationDisappear'),\n enter:\n this._spec.animationEnter ??\n get(this._option.getChart().getSpec(), 'animationEnter.axis') ??\n get(this._option.getChart().getSpec(), 'animationEnter'),\n exit:\n this._spec.animationExit ??\n get(this._option.getChart().getSpec(), 'animationExit.axis') ??\n get(this._option.getChart().getSpec(), 'animationExit'),\n update:\n this._spec.animationUpdate ??\n get(this._option.getChart().getSpec(), 'animationUpdate.axis') ??\n get(this._option.getChart().getSpec(), 'animationUpdate')\n });\n // 因为坐标轴的更新动画中处理了 enter,所以需要将 enter 的参数传入\n axisAnimateConfig.update[0].customParameters = {\n enter: axisAnimateConfig.enter[0]\n };\n axisMark.setAnimationConfig(axisAnimateConfig);\n }\n }\n }\n\n protected isSeriesDataEnable() {\n let enable = true;\n eachSeries(\n this._regions,\n s => {\n if (isArray(s.getViewDataStatistics()?.latestData)) {\n enable = false;\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return enable;\n }\n\n protected setSeriesAndRegionsFromSpec() {\n const { seriesId, seriesIndex, regionId, regionIndex } = this._spec;\n isValid(seriesId) && (this._seriesUserId = array(seriesId));\n isValid(regionId) && (this._regionUserId = array(regionId));\n isValid(seriesIndex) && (this._seriesIndex = array(seriesIndex));\n isValid(regionIndex) && (this._regionIndex = array(regionIndex));\n this._regions = this._option.getRegionsInUserIdOrIndex(this._regionUserId as string[], this._regionIndex);\n // _regions 被更新了,layoutBindRegionID 也要更新\n this.layoutBindRegionID = this._regions.map(x => x.id);\n }\n\n getBindSeriesFilter() {\n return {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n };\n }\n\n protected computeStatisticsDomain = () => {\n const data: { min: number; max: number; values: any[] }[] = [];\n eachSeries(\n this._regions,\n s => {\n const vd = s.getViewDataStatistics?.();\n vd &&\n this.getSeriesStatisticsField(s as ISeries).forEach(f => {\n vd.latestData?.[f] && data.push(vd.latestData[f]);\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n\n this._statisticsDomain.domain = this.computeDomain(data);\n if (!isContinuous(this._scale.type)) {\n this._statisticsDomain.index = {};\n for (let i = 0; i < this._statisticsDomain.domain.length; i++) {\n this._statisticsDomain.index[this._statisticsDomain.domain[i]] = i;\n }\n }\n };\n\n protected initEvent() {\n this.event.on(\n ChartEvent.scaleUpdate,\n { filter: ({ model }) => model?.id === this.id },\n this.effect.scaleUpdate.bind(this)\n );\n const viewStatistics = getSeries(this._regions, {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n })\n .map(s => s.getViewDataStatistics())\n .filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewStatistics, 'change', () => {\n this.updateScaleDomain();\n });\n }\n\n protected updateScaleDomain() {\n // 留给各个类型的 axis 来 override\n }\n\n protected computeData(): void {\n this._tickData.getDataView().reRunAllTransform();\n this._tickData.updateData();\n }\n\n protected initScales() {\n this._scales = [this._scale];\n const groups: Group[] = [];\n eachSeries(\n this._regions,\n s => {\n const g = s.getGroups();\n g && groups.push(g);\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n if (groups.length !== 0) {\n const depth = Math.max(...groups.map(g => g.fields.length));\n for (let i = 1; i < depth; i++) {\n const scale = this._scale.clone();\n this._scales.push(scale);\n }\n }\n // this.updateScaleDomain();\n }\n\n /** Update API **/\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const result = super.updateSpec(spec);\n result.reRender = true;\n if (originalSpec.type !== spec.type) {\n result.reMake = true;\n return result;\n }\n result.reMake =\n ['seriesId', 'seriesIndex', 'regionId', 'regionIndex'].some(k => {\n JSON.stringify(originalSpec[k]) !== JSON.stringify(spec[k]);\n }) || result.reMake;\n return result;\n }\n\n protected getLabelFormatMethod() {\n return this._spec.label.formatMethod\n ? (value: any, datum: any, index: number) => this._spec.label.formatMethod(datum.rawValue, datum)\n : null;\n }\n\n protected getLabelItems(length: number) {\n return isArray(this._tickData.getLatestData())\n ? [\n this._tickData\n .getLatestData()\n .map((obj: Datum) => {\n return {\n id: obj.value,\n label: obj.value,\n value: length === 0 ? 0 : this.dataToPosition([obj.value]) / length,\n rawValue: obj.value\n };\n })\n .filter((entry: AxisItem) => entry.value >= 0 && entry.value <= 1)\n ]\n : [];\n }\n\n protected _delegateAxisContainerEvent(component: IGroup) {\n const axisMainContainer = component?.find((node: INode) => node.name === AXIS_ELEMENT_NAME.axisContainer, true);\n if (axisMainContainer) {\n // 代理组件上的事件,目前坐标轴组件比较特殊,包含了网格线,但是事件这块只提供不包含网格线部分的响应\n axisMainContainer.addEventListener('*', ((event: any, type: string) =>\n this._delegateEvent(component as unknown as IGraphic, event, type)) as LooseFunction);\n }\n }\n\n protected _getAxisAttributes() {\n const spec = this._spec;\n let titleAngle = spec.title.angle;\n let titleTextStyle;\n if (spec.orient === 'left' || spec.orient === 'right') {\n // 处理纵轴的标题样式\n if (spec.title?.autoRotate && isNil(spec.title.angle)) {\n titleAngle = spec.orient === 'left' ? -90 : 90;\n titleTextStyle = DEFAULT_TITLE_STYLE[spec.orient];\n }\n }\n\n const labelSpec = pickWithout(spec.label, ['style', 'formatMethod', 'state']);\n\n return {\n orient: this.getOrient(),\n select: spec.select,\n hover: spec.hover,\n line: transformAxisLineStyle(spec.domainLine),\n label: {\n style: isFunction(spec.label.style)\n ? (datum: Datum, index: number, data: Datum[], layer?: number) => {\n const style = this._prepareSpecAfterMergingTheme(\n spec.label.style(datum.rawValue, index, datum, data, layer)\n );\n return transformToGraphic(\n this._prepareSpecAfterMergingTheme(mergeSpec({}, this._theme.label?.style, style))\n );\n }\n : transformToGraphic(spec.label.style),\n formatMethod: spec.label.formatMethod\n ? (value: any, datum: any, index: number) => {\n return spec.label.formatMethod(datum.rawValue, datum);\n }\n : null,\n state: transformAxisLabelStateStyle(spec.label.state),\n ...labelSpec\n },\n tick: {\n visible: spec.tick.visible,\n length: spec.tick.tickSize,\n inside: spec.tick.inside,\n alignWithLabel: spec.tick.alignWithLabel,\n style: isFunction(spec.tick.style)\n ? (value: number, index: number, datum: Datum, data: Datum[]) => {\n const style = this._prepareSpecAfterMergingTheme((spec.tick.style as any)(value, index, datum, data));\n return transformToGraphic(\n this._prepareSpecAfterMergingTheme(mergeSpec({}, this._theme.tick?.style, style))\n );\n }\n : transformToGraphic(spec.tick.style),\n state: transformStateStyle(spec.tick.state),\n dataFilter: spec.tick.dataFilter\n },\n subTick: {\n visible: spec.subTick.visible,\n length: spec.subTick.tickSize,\n inside: spec.subTick.inside,\n count: spec.subTick.tickCount,\n style: isFunction(spec.subTick.style)\n ? (value: number, index: number, datum: Datum, data: Datum[]) => {\n const style = (spec.subTick.style as any)(value, index, datum, data);\n return transformToGraphic(mergeSpec({}, this._theme.subTick?.style, style));\n }\n : transformToGraphic(spec.subTick.style),\n state: transformStateStyle(spec.subTick.state)\n },\n grid: {\n type: 'line',\n visible: spec.grid.visible,\n alternateColor: spec.grid.alternateColor,\n alignWithLabel: spec.grid.alignWithLabel,\n style: isFunction(spec.grid.style)\n ? (datum: Datum, index: number) => {\n const style = spec.grid.style(datum.datum?.rawValue, index, datum.datum);\n return transformToGraphic(\n this._prepareSpecAfterMergingTheme(mergeSpec({}, this._theme.grid?.style, style))\n );\n }\n : transformToGraphic(spec.grid.style)\n },\n subGrid: {\n type: 'line',\n visible: spec.subGrid.visible,\n alternateColor: spec.subGrid.alternateColor,\n style: transformToGraphic(spec.subGrid.style)\n },\n title: {\n visible: spec.title.visible,\n position: spec.title.position,\n space: spec.title.space,\n autoRotate: false, // 默认不对外提供该配置\n angle: titleAngle ? degreeToRadian(titleAngle) : null,\n textStyle: mergeSpec({}, titleTextStyle, transformToGraphic(spec.title.style)),\n padding: spec.title.padding,\n shape: {\n visible: spec.title.shape?.visible,\n space: spec.title.shape?.space,\n style: transformToGraphic(spec.title.shape?.style)\n },\n background: {\n visible: spec.title.background?.visible,\n style: transformToGraphic(spec.title.background?.style)\n },\n state: {\n text: transformStateStyle(spec.title.state),\n shape: transformStateStyle(spec.title.shape?.state),\n background: transformStateStyle(spec.title.background?.state)\n }\n },\n panel: {\n visible: spec.background?.visible,\n style: transformToGraphic(spec.background?.style),\n state: transformStateStyle(spec.background?.state)\n }\n };\n }\n\n addTransformToTickData(options: ITransformOptions, execute?: boolean) {\n this._tickData?.getDataView()?.transform(options, execute);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/axis/base-axis.ts"],"names":[],"mappings":"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","file":"base-axis.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { IGroup, IGraphic } from '@visactor/vrender';\n// eslint-disable-next-line no-duplicate-imports\nimport type { AxisItem } from '@visactor/vrender-components';\nimport type { IOrientType, IPolarOrientType, Datum, StringOrNumber, IGroup as ISeriesGroup } from '../../typings';\nimport { BaseComponent } from '../base';\nimport type { IPolarAxisCommonTheme } from './polar/interface';\nimport type { ICartesianAxisCommonTheme } from './cartesian/interface';\nimport type { CompilableData } from '../../compile/data';\nimport type { IAxis, ICommonAxisSpec, ITick, StatisticsDomain } from './interface';\nimport type { IComponentOption } from '../interface';\nimport {\n array,\n eachSeries,\n get,\n getSeries,\n isArray,\n isBoolean,\n isFunction,\n isNil,\n isValid,\n mergeSpec\n} from '../../util';\nimport type { ISeries } from '../../series/interface';\nimport { ChartEvent, LayoutZIndex } from '../../constant';\nimport { animationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { degreeToRadian, pickWithout, type LooseFunction } from '@visactor/vutils';\nimport { DEFAULT_TITLE_STYLE, transformAxisLineStyle } from './util';\nimport { transformAxisLabelStateStyle, transformStateStyle, transformToGraphic } from '../../util/style';\nimport type { ITransformOptions } from '@visactor/vdataset';\nimport { GridEnum } from '@visactor/vgrammar';\nimport type { IComponentMark } from '../../mark/component';\n\nexport abstract class AxisComponent<T extends ICommonAxisSpec & Record<string, any> = any> // FIXME: 补充公共类型,去掉 Record<string, any>\n extends BaseComponent<T>\n implements IAxis\n{\n static specKey = 'axes';\n\n protected _orient: IPolarOrientType | IOrientType;\n getOrient() {\n return this._orient;\n }\n\n protected _scale!: IBaseScale;\n getScale() {\n return this._scale;\n }\n\n protected _scales: IBaseScale[] = [];\n getScales() {\n return this._scales;\n }\n\n protected declare _theme: ICartesianAxisCommonTheme | IPolarAxisCommonTheme;\n\n protected _tickData!: CompilableData;\n getTickData() {\n return this._tickData;\n }\n\n protected _statisticsDomain: StatisticsDomain = { domain: [], index: {} };\n getStatisticsDomain() {\n return this._statisticsDomain;\n }\n\n // 与系列的关联关系\n // 优先级:id > index\n // 最终结果:series & region取交集\n protected _seriesUserId?: StringOrNumber[];\n protected _seriesIndex?: number[];\n protected _regionUserId?: StringOrNumber[];\n protected _regionIndex?: number[];\n\n /**\n * if axis will be shown\n */\n protected _visible: boolean = true;\n get visible() {\n return this._visible;\n }\n\n protected _tick: ITick | undefined = undefined;\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n abstract dataToPosition(values: any[], cfg?: any): number;\n abstract valueToPosition(value: any): number;\n protected abstract axisHelper(): any;\n protected abstract getSeriesStatisticsField(s: ISeries): string[];\n protected abstract updateSeriesScale(): void;\n protected abstract collectData(depth: number): { min: number; max: number; values: any[] }[];\n protected abstract _initData(): void;\n abstract transformScaleDomain(): void;\n\n protected _dataFieldText: string;\n protected _axisMark: IComponentMark;\n protected _gridMark: IComponentMark;\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, {\n ...options\n });\n this._visible = spec.visible ?? true;\n }\n\n created() {\n super.created();\n //series and regions\n this.setSeriesAndRegionsFromSpec();\n // event\n this.initEvent();\n // scales\n this.initScales();\n this.updateSeriesScale();\n // data\n this._initData();\n\n if (this._visible) {\n // 创建语法元素\n const axisMark = this._createMark(\n { type: 'component', name: `axis-${this.getOrient()}` },\n {\n componentType: this.getOrient() === 'angle' ? 'circleAxis' : 'axis',\n mode: this._spec.mode\n }\n );\n this._axisMark = axisMark;\n axisMark.setZIndex(this.layoutZIndex);\n if (isValid(this._spec.id)) {\n axisMark.setUserId(this._spec.id);\n }\n this._marks.addMark(axisMark);\n\n if (this._spec.grid?.visible) {\n const gridMark = this._createMark(\n { type: 'component', name: `axis-${this.getOrient()}-grid` },\n {\n componentType: this.getOrient() === 'angle' ? GridEnum.circleAxisGrid : GridEnum.lineAxisGrid,\n mode: this._spec.mode\n }\n );\n gridMark.setZIndex(this._spec.grid?.style?.zIndex ?? this._spec.grid?.zIndex ?? LayoutZIndex.Axis_Grid);\n this._marks.addMark(gridMark);\n this._gridMark = gridMark;\n }\n\n // interactive\n if (isBoolean(this._spec.interactive)) {\n this._marks.forEach(m => m.setInteractive(this._spec.interactive));\n }\n\n // Tip: 支持 spec.animationAppear.axis,并且坐标轴默认关闭动画\n if (\n this._option.animation !== false &&\n get(this._option.getChart().getSpec(), 'animation') !== false &&\n this._spec.animation === true\n ) {\n const axisAnimateConfig = animationConfig(DEFAULT_MARK_ANIMATION.axis(), {\n appear:\n this._spec.animationAppear ??\n get(this._option.getChart().getSpec(), 'animationAppear.axis') ??\n get(this._option.getChart().getSpec(), 'animationAppear'),\n disappear:\n this._spec.animationDisappear ??\n get(this._option.getChart().getSpec(), 'animationDisappear.axis') ??\n get(this._option.getChart().getSpec(), 'animationDisappear'),\n enter:\n this._spec.animationEnter ??\n get(this._option.getChart().getSpec(), 'animationEnter.axis') ??\n get(this._option.getChart().getSpec(), 'animationEnter'),\n exit:\n this._spec.animationExit ??\n get(this._option.getChart().getSpec(), 'animationExit.axis') ??\n get(this._option.getChart().getSpec(), 'animationExit'),\n update:\n this._spec.animationUpdate ??\n get(this._option.getChart().getSpec(), 'animationUpdate.axis') ??\n get(this._option.getChart().getSpec(), 'animationUpdate')\n });\n // 因为坐标轴的更新动画中处理了 enter,所以需要将 enter 的参数传入\n axisAnimateConfig.update[0].customParameters = {\n enter: axisAnimateConfig.enter[0]\n };\n this._marks.forEach(m => m.setAnimationConfig(axisAnimateConfig));\n }\n }\n }\n\n protected isSeriesDataEnable() {\n let enable = true;\n eachSeries(\n this._regions,\n s => {\n if (isArray(s.getViewDataStatistics()?.latestData)) {\n enable = false;\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return enable;\n }\n\n protected setSeriesAndRegionsFromSpec() {\n const { seriesId, seriesIndex, regionId, regionIndex } = this._spec;\n isValid(seriesId) && (this._seriesUserId = array(seriesId));\n isValid(regionId) && (this._regionUserId = array(regionId));\n isValid(seriesIndex) && (this._seriesIndex = array(seriesIndex));\n isValid(regionIndex) && (this._regionIndex = array(regionIndex));\n this._regions = this._option.getRegionsInUserIdOrIndex(this._regionUserId as string[], this._regionIndex);\n // _regions 被更新了,layoutBindRegionID 也要更新\n this.layoutBindRegionID = this._regions.map(x => x.id);\n }\n\n getBindSeriesFilter() {\n return {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n };\n }\n\n protected computeStatisticsDomain = () => {\n const data: { min: number; max: number; values: any[] }[] = [];\n eachSeries(\n this._regions,\n s => {\n const vd = s.getViewDataStatistics?.();\n vd &&\n this.getSeriesStatisticsField(s as ISeries).forEach(f => {\n vd.latestData?.[f] && data.push(vd.latestData[f]);\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n\n this._statisticsDomain.domain = this.computeDomain(data);\n if (!isContinuous(this._scale.type)) {\n this._statisticsDomain.index = {};\n for (let i = 0; i < this._statisticsDomain.domain.length; i++) {\n this._statisticsDomain.index[this._statisticsDomain.domain[i]] = i;\n }\n }\n };\n\n protected initEvent() {\n this.event.on(\n ChartEvent.scaleUpdate,\n { filter: ({ model }) => model?.id === this.id },\n this.effect.scaleUpdate.bind(this)\n );\n const viewStatistics = getSeries(this._regions, {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n })\n .map(s => s.getViewDataStatistics())\n .filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewStatistics, 'change', () => {\n this.updateScaleDomain();\n });\n }\n\n protected updateScaleDomain() {\n // 留给各个类型的 axis 来 override\n }\n\n protected computeData(): void {\n this._tickData.getDataView().reRunAllTransform();\n this._tickData.updateData();\n }\n\n protected initScales() {\n this._scales = [this._scale];\n const groups: ISeriesGroup[] = [];\n eachSeries(\n this._regions,\n s => {\n const g = s.getGroups();\n g && groups.push(g);\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n if (groups.length !== 0) {\n const depth = Math.max(...groups.map(g => g.fields.length));\n for (let i = 1; i < depth; i++) {\n const scale = this._scale.clone();\n this._scales.push(scale);\n }\n }\n // this.updateScaleDomain();\n }\n\n /** Update API **/\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const result = super.updateSpec(spec);\n result.reRender = true;\n if (originalSpec.type !== spec.type) {\n result.reMake = true;\n return result;\n }\n return result;\n }\n\n protected getLabelFormatMethod() {\n return this._spec.label.formatMethod\n ? (value: any, datum: any, index: number) => this._spec.label.formatMethod(datum.rawValue, datum)\n : null;\n }\n\n protected getLabelItems(length: number) {\n return isArray(this._tickData.getLatestData())\n ? [\n this._tickData\n .getLatestData()\n .map((obj: Datum) => {\n return {\n id: obj.value,\n label: obj.value,\n value: length === 0 ? 0 : this.dataToPosition([obj.value]) / length,\n rawValue: obj.value\n };\n })\n .filter((entry: AxisItem) => entry.value >= 0 && entry.value <= 1)\n ]\n : [];\n }\n\n protected _delegateAxisContainerEvent(component: IGroup) {\n component.addEventListener('*', ((event: any, type: string) =>\n this._delegateEvent(component as unknown as IGraphic, event, type)) as LooseFunction);\n }\n\n protected _getAxisAttributes() {\n const spec = this._spec;\n let titleAngle = spec.title.angle;\n let titleTextStyle;\n if (spec.orient === 'left' || spec.orient === 'right') {\n // 处理纵轴的标题样式\n if (spec.title?.autoRotate && isNil(spec.title.angle)) {\n titleAngle = spec.orient === 'left' ? -90 : 90;\n titleTextStyle = DEFAULT_TITLE_STYLE[spec.orient];\n }\n }\n\n const labelSpec = pickWithout(spec.label, ['style', 'formatMethod', 'state']);\n\n return {\n orient: this.getOrient(),\n select: spec.select,\n hover: spec.hover,\n line: transformAxisLineStyle(spec.domainLine),\n label: {\n style: isFunction(spec.label.style)\n ? (datum: Datum, index: number, data: Datum[], layer?: number) => {\n const style = this._prepareSpecAfterMergingTheme(\n spec.label.style(datum.rawValue, index, datum, data, layer)\n );\n return transformToGraphic(\n this._prepareSpecAfterMergingTheme(mergeSpec({}, this._theme.label?.style, style))\n );\n }\n : transformToGraphic(spec.label.style),\n formatMethod: spec.label.formatMethod\n ? (value: any, datum: any, index: number) => {\n return spec.label.formatMethod(datum.rawValue, datum);\n }\n : null,\n state: transformAxisLabelStateStyle(spec.label.state),\n ...labelSpec\n },\n tick: {\n visible: spec.tick.visible,\n length: spec.tick.tickSize,\n inside: spec.tick.inside,\n alignWithLabel: spec.tick.alignWithLabel,\n style: isFunction(spec.tick.style)\n ? (value: number, index: number, datum: Datum, data: Datum[]) => {\n const style = this._prepareSpecAfterMergingTheme((spec.tick.style as any)(value, index, datum, data));\n return transformToGraphic(\n this._prepareSpecAfterMergingTheme(mergeSpec({}, this._theme.tick?.style, style))\n );\n }\n : transformToGraphic(spec.tick.style),\n state: transformStateStyle(spec.tick.state),\n dataFilter: spec.tick.dataFilter\n },\n subTick: {\n visible: spec.subTick.visible,\n length: spec.subTick.tickSize,\n inside: spec.subTick.inside,\n count: spec.subTick.tickCount,\n style: isFunction(spec.subTick.style)\n ? (value: number, index: number, datum: Datum, data: Datum[]) => {\n const style = (spec.subTick.style as any)(value, index, datum, data);\n return transformToGraphic(mergeSpec({}, this._theme.subTick?.style, style));\n }\n : transformToGraphic(spec.subTick.style),\n state: transformStateStyle(spec.subTick.state)\n },\n title: {\n visible: spec.title.visible,\n position: spec.title.position,\n space: spec.title.space,\n autoRotate: false, // 默认不对外提供该配置\n angle: titleAngle ? degreeToRadian(titleAngle) : null,\n textStyle: mergeSpec({}, titleTextStyle, transformToGraphic(spec.title.style)),\n padding: spec.title.padding,\n shape: {\n visible: spec.title.shape?.visible,\n space: spec.title.shape?.space,\n style: transformToGraphic(spec.title.shape?.style)\n },\n background: {\n visible: spec.title.background?.visible,\n style: transformToGraphic(spec.title.background?.style)\n },\n state: {\n text: transformStateStyle(spec.title.state),\n shape: transformStateStyle(spec.title.shape?.state),\n background: transformStateStyle(spec.title.background?.state)\n }\n },\n panel: {\n visible: spec.background?.visible,\n style: transformToGraphic(spec.background?.style),\n state: transformStateStyle(spec.background?.state)\n }\n };\n }\n\n protected _getGridAttributes() {\n const spec = this._spec;\n return {\n alternateColor: spec.grid.alternateColor,\n alignWithLabel: spec.grid.alignWithLabel,\n style: isFunction(spec.grid.style)\n ? () => {\n return (datum: Datum, index: number) => {\n const style = spec.grid.style(datum.datum?.rawValue, index, datum.datum);\n return transformToGraphic(\n this._prepareSpecAfterMergingTheme(mergeSpec({}, this._theme.grid?.style, style))\n );\n };\n }\n : transformToGraphic(spec.grid.style),\n subGrid: {\n type: 'line',\n visible: spec.subGrid.visible,\n alternateColor: spec.subGrid.alternateColor,\n style: transformToGraphic(spec.subGrid.style)\n }\n };\n }\n\n addTransformToTickData(options: ITransformOptions, execute?: boolean) {\n this._tickData?.getDataView()?.transform(options, execute);\n }\n}\n"]}
@@ -1,3 +1,13 @@
1
+ var __rest = this && this.__rest || function(s, e) {
2
+ var t = {};
3
+ for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
4
+ if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
5
+ var i = 0;
6
+ for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);
7
+ }
8
+ return t;
9
+ };
10
+
1
11
  import { isArray, isValid, isValidNumber, mergeSpec, eachSeries, isNil, isUndefined } from "../../../util";
2
12
 
3
13
  import { Direction } from "../../../typings/space";
@@ -24,7 +34,7 @@ import { registerDataSetInstanceParser, registerDataSetInstanceTransform } from
24
34
 
25
35
  import { scaleParser } from "../../../data/parser/scale";
26
36
 
27
- import { ticks } from "../../../data/transforms/tick-data";
37
+ import { ticks } from "@visactor/vutils-extension";
28
38
 
29
39
  import { DataView } from "@visactor/vdataset";
30
40
 
@@ -89,7 +99,7 @@ export class CartesianAxis extends AxisComponent {
89
99
  isValidAxis(indexAxis) && (bindAxis = indexAxis);
90
100
  } else bindAxis = relativeAxes[0];
91
101
  if (bindAxis) {
92
- const axisMark = this.getMarks()[0].getProduct(), position = bindAxis.valueToPosition(0);
102
+ const axisMark = this._axisMark.getProduct(), position = bindAxis.valueToPosition(0);
93
103
  isX ? axisMark.encode({
94
104
  line: Object.assign(Object.assign({}, this._axisStyle.line), {
95
105
  dy: "bottom" === this._orient ? -(bindAxis.getScale().range()[0] - position) : position
@@ -161,11 +171,13 @@ export class CartesianAxis extends AxisComponent {
161
171
  }));
162
172
  }
163
173
  setAttrFromSpec() {
164
- super.setAttrFromSpec();
165
- isXAxis(this.getOrient()) ? isUndefined(this._spec.maxHeight) && (this._spec.maxHeight = "30%") : isUndefined(this._spec.maxWidth) && (this._spec.maxWidth = "30%");
166
- const axisStyle = this._getAxisAttributes();
167
- axisStyle.label.formatMethod = this.getLabelFormatMethod(), axisStyle.verticalFactor = "top" === this.getOrient() || "right" === this.getOrient() ? -1 : 1,
168
- this._axisStyle = axisStyle, this._tick = this._spec.tick;
174
+ if (super.setAttrFromSpec(), this.visible) {
175
+ isXAxis(this.getOrient()) ? isUndefined(this._spec.maxHeight) && (this._spec.maxHeight = "30%") : isUndefined(this._spec.maxWidth) && (this._spec.maxWidth = "30%");
176
+ const axisStyle = this._getAxisAttributes();
177
+ axisStyle.label.formatMethod = this.getLabelFormatMethod(), axisStyle.verticalFactor = "top" === this.getOrient() || "right" === this.getOrient() ? -1 : 1,
178
+ this._axisStyle = axisStyle;
179
+ }
180
+ this._tick = this._spec.tick;
169
181
  }
170
182
  getSeriesStatisticsField(s) {
171
183
  let f;
@@ -209,7 +221,7 @@ export class CartesianAxis extends AxisComponent {
209
221
  }
210
222
  afterCompile() {
211
223
  var _a;
212
- const product = null === (_a = this.getMarks()[0]) || void 0 === _a ? void 0 : _a.getProduct();
224
+ const product = null === (_a = this._axisMark) || void 0 === _a ? void 0 : _a.getProduct();
213
225
  product && product.addEventListener(HOOK_EVENT.AFTER_ELEMENT_ENCODE, (() => {
214
226
  !1 === this._isLayout && (isXAxis(this.getOrient()) ? this.callPlugin((plugin => {
215
227
  this.pluginService && plugin.onDidLayoutHorizontal && plugin.onDidLayoutHorizontal(this.pluginService, this);
@@ -316,7 +328,7 @@ export class CartesianAxis extends AxisComponent {
316
328
  })) : this.pluginService && this.callPlugin((plugin => {
317
329
  plugin.onWillLayoutVertical && plugin.onWillLayoutVertical(this.pluginService, context, this);
318
330
  }));
319
- const product = this.getMarks()[0].getProduct();
331
+ const product = this._axisMark.getProduct();
320
332
  if (this._latestBounds = product.getBounds(), !context.skipLayout) {
321
333
  const attrs = this._getUpdateAttribute(!0), updateBounds = product.getGroupGraphicItem().getBoundsWithoutRender(mergeSpec(Object.assign({}, this.getLayoutStartPoint()), this._axisStyle, attrs));
322
334
  isFinite(updateBounds.width()) && (result = updateBounds, this._latestBounds = updateBounds);
@@ -325,8 +337,11 @@ export class CartesianAxis extends AxisComponent {
325
337
  }
326
338
  updateLayoutAttribute() {
327
339
  if (!this.visible) return;
328
- const attrs = this._getUpdateAttribute(!1), product = this.getMarks()[0].getProduct(), axisAttrs = mergeSpec(Object.assign({}, this.getLayoutStartPoint()), this._axisStyle, attrs);
329
- product.encode(axisAttrs), super.updateLayoutAttribute();
340
+ const _a = this._getUpdateAttribute(!1), {grid: updateGridAttrs} = _a, updateAxisAttrs = __rest(_a, [ "grid" ]), axisProduct = this._axisMark.getProduct(), axisAttrs = mergeSpec(Object.assign({}, this.getLayoutStartPoint()), this._axisStyle, updateAxisAttrs);
341
+ if (axisProduct.encode(axisAttrs), this._gridMark) {
342
+ this._gridMark.getProduct().encode(mergeSpec(Object.assign({}, this.getLayoutStartPoint()), this._getGridAttributes(), updateGridAttrs));
343
+ }
344
+ super.updateLayoutAttribute();
330
345
  }
331
346
  _getTitleLimit(isX) {
332
347
  var _a, _b, _c, _d, _e;
@@ -369,8 +384,9 @@ export class CartesianAxis extends AxisComponent {
369
384
  }, gridLength = regionWidth, axisLength = height), isZ) {
370
385
  const directionStr = null !== (_a = this.directionStr) && void 0 !== _a ? _a : "r2l", depthZ = this.layout3dBox ? this.layout3dBox.width : 0;
371
386
  let anchor3d = [ 0, 0 ], alpha = -Math.PI / 2, z = 0;
372
- return "l2r" === directionStr && (z = this.layout3dBox.length, anchor3d = [ 0, 0, 0 ],
373
- alpha = Math.PI / 2), {
387
+ "l2r" === directionStr && (z = this.layout3dBox.length, anchor3d = [ 0, 0, 0 ],
388
+ alpha = Math.PI / 2);
389
+ const items = this.getLabelItems(width), axisAttrs = {
374
390
  start: {
375
391
  x: 0,
376
392
  y: 0
@@ -382,41 +398,59 @@ export class CartesianAxis extends AxisComponent {
382
398
  z: z,
383
399
  alpha: alpha,
384
400
  anchor3d: anchor3d,
385
- grid: {
386
- type: "line",
387
- depth: depthZ,
388
- length: regionHeight,
389
- visible: this._spec.grid.visible && !ignoreGrid
390
- },
391
401
  title: {
392
402
  text: this._spec.title.text || this._dataFieldText,
393
403
  maxWidth: this._getTitleLimit(isX)
394
404
  },
395
- items: this.getLabelItems(width)
405
+ items: items
396
406
  };
407
+ return ignoreGrid || (axisAttrs.grid = {
408
+ type: "line",
409
+ start: {
410
+ x: 0,
411
+ y: 0
412
+ },
413
+ end: {
414
+ x: depth,
415
+ y: 0
416
+ },
417
+ items: items[0],
418
+ verticalFactor: this._axisStyle.verticalFactor,
419
+ depth: depthZ,
420
+ length: regionHeight,
421
+ z: z,
422
+ alpha: alpha,
423
+ anchor3d: anchor3d
424
+ }), axisAttrs;
397
425
  }
398
426
  let verticalMinSize = isX ? this._minHeight : this._minWidth;
399
427
  (isX && this._layoutRectLevelMap.height === USER_LAYOUT_RECT_LEVEL || isY && this._layoutRectLevelMap.width === USER_LAYOUT_RECT_LEVEL) && (verticalMinSize = this._verticalLimitSize);
400
- return {
428
+ const items = this.getLabelItems(axisLength), attrs = {
401
429
  start: {
402
430
  x: 0,
403
431
  y: 0
404
432
  },
405
433
  end: end,
406
- grid: {
407
- type: "line",
408
- depth: depth,
409
- length: gridLength,
410
- visible: this._spec.grid.visible && !ignoreGrid
411
- },
412
434
  title: {
413
435
  text: this._spec.title.text || this._dataFieldText,
414
436
  maxWidth: this._getTitleLimit(isX)
415
437
  },
416
- items: this.getLabelItems(axisLength),
438
+ items: items,
417
439
  verticalLimitSize: this._verticalLimitSize,
418
440
  verticalMinSize: verticalMinSize
419
441
  };
442
+ return ignoreGrid || (attrs.grid = {
443
+ type: "line",
444
+ start: {
445
+ x: 0,
446
+ y: 0
447
+ },
448
+ end: end,
449
+ items: items[0],
450
+ verticalFactor: this._axisStyle.verticalFactor,
451
+ depth: depth,
452
+ length: gridLength
453
+ }), attrs;
420
454
  }
421
455
  initEvent() {
422
456
  super.initEvent(), this.visible && (this.event.on(ChartEvent.layoutEnd, this._fixAxisOnZero),