@visactor/vchart 1.10.0-alpha.4 → 1.10.0-alpha.5

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 (553) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +32729 -32038
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/utils.js +5 -5
  6. package/cjs/animation/utils.js.map +1 -1
  7. package/cjs/chart/base/base-chart-transformer.js +7 -9
  8. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  9. package/cjs/chart/base/base-chart.d.ts +1 -1
  10. package/cjs/chart/base/base-chart.js.map +1 -1
  11. package/cjs/chart/interface/chart.d.ts +1 -1
  12. package/cjs/chart/interface/chart.js.map +1 -1
  13. package/cjs/chart/progress/circular/circular-progress-transformer.js +2 -0
  14. package/cjs/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  15. package/cjs/compile/compiler.d.ts +1 -1
  16. package/cjs/compile/compiler.js +3 -3
  17. package/cjs/compile/compiler.js.map +1 -1
  18. package/cjs/compile/mark/interface.js.map +1 -1
  19. package/cjs/component/axis/base-axis.d.ts +9 -6
  20. package/cjs/component/axis/base-axis.js +37 -6
  21. package/cjs/component/axis/base-axis.js.map +1 -1
  22. package/cjs/component/axis/cartesian/axis.d.ts +1 -5
  23. package/cjs/component/axis/cartesian/axis.js +9 -31
  24. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  25. package/cjs/component/axis/cartesian/time-axis.d.ts +1 -1
  26. package/cjs/component/axis/cartesian/time-axis.js +3 -3
  27. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  28. package/cjs/component/axis/cartesian/util/index.d.ts +0 -1
  29. package/cjs/component/axis/cartesian/util/index.js +1 -1
  30. package/cjs/component/axis/cartesian/util/index.js.map +1 -1
  31. package/cjs/component/axis/interface/common.d.ts +2 -1
  32. package/cjs/component/axis/interface/common.js.map +1 -1
  33. package/cjs/component/axis/interface/spec.d.ts +2 -0
  34. package/cjs/component/axis/interface/spec.js.map +1 -1
  35. package/cjs/component/axis/polar/axis.d.ts +1 -5
  36. package/cjs/component/axis/polar/axis.js +5 -23
  37. package/cjs/component/axis/polar/axis.js.map +1 -1
  38. package/cjs/component/base/util.d.ts +5 -0
  39. package/cjs/component/base/util.js +24 -16
  40. package/cjs/component/base/util.js.map +1 -1
  41. package/cjs/component/crosshair/base.d.ts +4 -1
  42. package/cjs/component/crosshair/base.js +1 -10
  43. package/cjs/component/crosshair/base.js.map +1 -1
  44. package/cjs/component/crosshair/cartesian.d.ts +1 -7
  45. package/cjs/component/crosshair/cartesian.js +17 -208
  46. package/cjs/component/crosshair/cartesian.js.map +1 -1
  47. package/cjs/component/crosshair/config.js.map +1 -1
  48. package/cjs/component/crosshair/interface/cartesian.d.ts +46 -0
  49. package/cjs/component/crosshair/interface/cartesian.js +6 -0
  50. package/cjs/component/crosshair/interface/cartesian.js.map +1 -0
  51. package/cjs/component/crosshair/interface/common.d.ts +7 -0
  52. package/cjs/component/crosshair/interface/common.js +6 -0
  53. package/cjs/component/crosshair/interface/common.js.map +1 -0
  54. package/cjs/component/crosshair/interface/index.d.ts +3 -0
  55. package/cjs/component/crosshair/interface/index.js +3 -1
  56. package/cjs/component/crosshair/interface/index.js.map +1 -1
  57. package/cjs/component/crosshair/interface/polar.d.ts +23 -0
  58. package/cjs/component/crosshair/interface/polar.js +6 -0
  59. package/cjs/component/crosshair/interface/polar.js.map +1 -0
  60. package/cjs/component/crosshair/interface/spec.d.ts +1 -0
  61. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  62. package/cjs/component/crosshair/polar.d.ts +2 -2
  63. package/cjs/component/crosshair/polar.js +17 -114
  64. package/cjs/component/crosshair/polar.js.map +1 -1
  65. package/cjs/component/crosshair/utils/cartesian.d.ts +32 -0
  66. package/cjs/component/crosshair/utils/cartesian.js +238 -0
  67. package/cjs/component/crosshair/utils/cartesian.js.map +1 -0
  68. package/{esm/component/crosshair/util.d.ts → cjs/component/crosshair/utils/common.d.ts} +3 -3
  69. package/cjs/component/crosshair/{util.js → utils/common.js} +2 -2
  70. package/cjs/component/crosshair/utils/common.js.map +1 -0
  71. package/cjs/component/crosshair/utils/index.d.ts +1 -0
  72. package/cjs/component/crosshair/utils/index.js +21 -0
  73. package/cjs/component/crosshair/utils/index.js.map +1 -0
  74. package/cjs/component/crosshair/utils/polar.d.ts +37 -0
  75. package/cjs/component/crosshair/utils/polar.js +133 -0
  76. package/cjs/component/crosshair/utils/polar.js.map +1 -0
  77. package/cjs/component/custom-mark/custom-mark.js +2 -1
  78. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  79. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
  80. package/cjs/component/data-zoom/data-zoom/data-zoom.js +10 -3
  81. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  82. package/cjs/component/data-zoom/data-zoom/interface.d.ts +4 -5
  83. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  84. package/cjs/component/data-zoom/scroll-bar/interface.d.ts +2 -4
  85. package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
  86. package/cjs/component/data-zoom/util.d.ts +0 -4
  87. package/cjs/component/data-zoom/util.js +2 -10
  88. package/cjs/component/data-zoom/util.js.map +1 -1
  89. package/cjs/component/index.d.ts +1 -0
  90. package/cjs/component/index.js +16 -1
  91. package/cjs/component/index.js.map +1 -1
  92. package/cjs/component/interface/theme.d.ts +8 -0
  93. package/cjs/component/interface/theme.js.map +1 -1
  94. package/cjs/component/label/interface.d.ts +1 -1
  95. package/cjs/component/label/interface.js.map +1 -1
  96. package/cjs/component/label/util.js +4 -4
  97. package/cjs/component/label/util.js.map +1 -1
  98. package/cjs/component/legend/continuous/interface.d.ts +6 -12
  99. package/cjs/component/legend/continuous/interface.js.map +1 -1
  100. package/cjs/component/legend/discrete/interface.d.ts +17 -4
  101. package/cjs/component/legend/discrete/interface.js.map +1 -1
  102. package/cjs/component/legend/discrete/legend.d.ts +1 -0
  103. package/cjs/component/legend/discrete/legend.js +11 -2
  104. package/cjs/component/legend/discrete/legend.js.map +1 -1
  105. package/cjs/component/legend/discrete/util.js +6 -4
  106. package/cjs/component/legend/discrete/util.js.map +1 -1
  107. package/cjs/component/legend/util.d.ts +1 -2
  108. package/cjs/component/legend/util.js +2 -6
  109. package/cjs/component/legend/util.js.map +1 -1
  110. package/cjs/component/player/interface/theme.d.ts +1 -1
  111. package/cjs/component/player/interface/theme.js.map +1 -1
  112. package/cjs/component/player/utils/transform.js.map +1 -1
  113. package/cjs/component/tooltip/interface/common.d.ts +2 -2
  114. package/cjs/component/tooltip/interface/common.js.map +1 -1
  115. package/cjs/component/tooltip/interface/event.d.ts +0 -2
  116. package/cjs/component/tooltip/interface/event.js.map +1 -1
  117. package/cjs/component/tooltip/interface/index.d.ts +1 -0
  118. package/cjs/component/tooltip/interface/index.js +1 -1
  119. package/cjs/component/tooltip/interface/index.js.map +1 -1
  120. package/cjs/component/tooltip/interface/spec.d.ts +2 -2
  121. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  122. package/cjs/component/tooltip/interface/theme.d.ts +3 -3
  123. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  124. package/cjs/component/tooltip/processor/dimension-tooltip.js +2 -1
  125. package/cjs/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  126. package/cjs/component/tooltip/processor/mark-tooltip.js +2 -1
  127. package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
  128. package/cjs/component/tooltip/tooltip.d.ts +3 -3
  129. package/cjs/component/tooltip/tooltip.js +7 -5
  130. package/cjs/component/tooltip/tooltip.js.map +1 -1
  131. package/cjs/component/tooltip/utils/show-tooltip.js +3 -0
  132. package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
  133. package/cjs/component/util.d.ts +8 -0
  134. package/cjs/component/util.js +15 -3
  135. package/cjs/component/util.js.map +1 -1
  136. package/cjs/core/factory.d.ts +3 -0
  137. package/cjs/core/factory.js +6 -0
  138. package/cjs/core/factory.js.map +1 -1
  139. package/cjs/core/index.d.ts +2 -1
  140. package/cjs/core/index.js +3 -2
  141. package/cjs/core/index.js.map +1 -1
  142. package/cjs/core/interface.d.ts +1 -1
  143. package/cjs/core/interface.js.map +1 -1
  144. package/cjs/core/vchart.d.ts +2 -1
  145. package/cjs/core/vchart.js +2 -2
  146. package/cjs/core/vchart.js.map +1 -1
  147. package/cjs/data/initialize.js.map +1 -1
  148. package/cjs/event/events/dimension/interface.d.ts +3 -2
  149. package/cjs/event/events/dimension/interface.js.map +1 -1
  150. package/cjs/event/events/dimension/util/cartesian.js +1 -0
  151. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  152. package/cjs/event/events/dimension/util/polar.js +2 -0
  153. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  154. package/cjs/index-lark.js +2 -2
  155. package/cjs/index-lark.js.map +1 -1
  156. package/cjs/index-wx-simple.js +2 -2
  157. package/cjs/index-wx-simple.js.map +1 -1
  158. package/cjs/index-wx.js +2 -2
  159. package/cjs/index-wx.js.map +1 -1
  160. package/cjs/index.d.ts +1 -0
  161. package/cjs/index.js +1 -1
  162. package/cjs/index.js.map +1 -1
  163. package/cjs/mark/arc.js +3 -1
  164. package/cjs/mark/arc.js.map +1 -1
  165. package/cjs/mark/base/base-mark.d.ts +3 -3
  166. package/cjs/mark/base/base-mark.js +20 -13
  167. package/cjs/mark/base/base-mark.js.map +1 -1
  168. package/cjs/mark/index.d.ts +2 -3
  169. package/cjs/mark/index.js +1 -10
  170. package/cjs/mark/index.js.map +1 -1
  171. package/cjs/mark/interface/type.d.ts +0 -1
  172. package/cjs/mark/interface/type.js +2 -3
  173. package/cjs/mark/interface/type.js.map +1 -1
  174. package/cjs/plugin/chart/formatter/formatter.d.ts +28 -0
  175. package/cjs/plugin/chart/formatter/formatter.js +74 -0
  176. package/cjs/plugin/chart/formatter/formatter.js.map +1 -0
  177. package/cjs/plugin/chart/formatter/index.d.ts +1 -0
  178. package/cjs/plugin/chart/formatter/index.js +21 -0
  179. package/cjs/plugin/chart/formatter/index.js.map +1 -0
  180. package/cjs/plugin/components/index.d.ts +2 -5
  181. package/cjs/plugin/components/index.js +16 -7
  182. package/cjs/plugin/components/index.js.map +1 -1
  183. package/cjs/plugin/components/tooltip-handler/base.d.ts +6 -6
  184. package/cjs/plugin/components/tooltip-handler/base.js +112 -51
  185. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  186. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.d.ts +2 -2
  187. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  188. package/cjs/plugin/components/tooltip-handler/constants.d.ts +2 -2
  189. package/cjs/plugin/components/tooltip-handler/constants.js.map +1 -1
  190. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +8 -4
  191. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +31 -9
  192. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  193. package/cjs/plugin/components/tooltip-handler/dom/model/base-tooltip-model.d.ts +2 -2
  194. package/cjs/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -1
  195. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.d.ts +2 -2
  196. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +2 -3
  197. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  198. package/cjs/plugin/components/tooltip-handler/dom/model/interface.d.ts +2 -2
  199. package/cjs/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -1
  200. package/cjs/plugin/components/tooltip-handler/utils/attribute.d.ts +2 -2
  201. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +1 -1
  202. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  203. package/cjs/plugin/components/tooltip-handler/utils/common.d.ts +3 -3
  204. package/cjs/plugin/components/tooltip-handler/utils/common.js +9 -3
  205. package/cjs/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  206. package/cjs/plugin/components/tooltip-handler/utils/compose.d.ts +2 -2
  207. package/cjs/plugin/components/tooltip-handler/utils/compose.js +9 -8
  208. package/cjs/plugin/components/tooltip-handler/utils/compose.js.map +1 -1
  209. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js +12 -9
  210. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
  211. package/cjs/plugin/components/tooltip-handler/utils/position.d.ts +18 -3
  212. package/cjs/plugin/components/tooltip-handler/utils/position.js +49 -8
  213. package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  214. package/cjs/plugin/index.d.ts +1 -0
  215. package/cjs/plugin/index.js +1 -1
  216. package/cjs/plugin/index.js.map +1 -1
  217. package/cjs/series/base/base-series.js +2 -1
  218. package/cjs/series/base/base-series.js.map +1 -1
  219. package/cjs/series/base/tooltip-helper.d.ts +3 -3
  220. package/cjs/series/base/tooltip-helper.js.map +1 -1
  221. package/cjs/series/dot/tooltip-helper.js +2 -2
  222. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  223. package/cjs/series/gauge/constant.js +2 -2
  224. package/cjs/series/gauge/constant.js.map +1 -1
  225. package/cjs/series/gauge/gauge.js +2 -2
  226. package/cjs/series/gauge/gauge.js.map +1 -1
  227. package/cjs/series/gauge/interface.d.ts +3 -3
  228. package/cjs/series/gauge/interface.js.map +1 -1
  229. package/cjs/series/interface/common.d.ts +1 -1
  230. package/cjs/series/interface/common.js.map +1 -1
  231. package/cjs/series/link/tooltip-helper.js +2 -2
  232. package/cjs/series/link/tooltip-helper.js.map +1 -1
  233. package/cjs/series/polar/progress-like/progress-like.js +24 -26
  234. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  235. package/cjs/series/progress/circular/circular.js +3 -4
  236. package/cjs/series/progress/circular/circular.js.map +1 -1
  237. package/cjs/series/progress/circular/constant.js +2 -2
  238. package/cjs/series/progress/circular/constant.js.map +1 -1
  239. package/cjs/series/progress/circular/interface.d.ts +5 -5
  240. package/cjs/series/progress/circular/interface.js.map +1 -1
  241. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  242. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  243. package/cjs/series/sunburst/sunburst.d.ts +1 -1
  244. package/cjs/series/word-cloud/interface.js.map +1 -1
  245. package/cjs/theme/builtin/common/mark.js +2 -1
  246. package/cjs/theme/builtin/common/mark.js.map +1 -1
  247. package/cjs/theme/builtin/common/series/box-plot.js +5 -0
  248. package/cjs/theme/builtin/common/series/box-plot.js.map +1 -1
  249. package/cjs/theme/builtin/common/series/rangeColumn.js +1 -0
  250. package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -1
  251. package/cjs/theme/builtin/common/series/waterfall.js +4 -1
  252. package/cjs/theme/builtin/common/series/waterfall.js.map +1 -1
  253. package/cjs/typings/spec/common.d.ts +4 -3
  254. package/cjs/typings/spec/common.js.map +1 -1
  255. package/cjs/typings/tooltip/line.d.ts +5 -2
  256. package/cjs/typings/tooltip/line.js.map +1 -1
  257. package/cjs/typings/tooltip/position.d.ts +21 -10
  258. package/cjs/typings/tooltip/position.js.map +1 -1
  259. package/cjs/typings/tooltip/shape.d.ts +2 -2
  260. package/cjs/typings/tooltip/shape.js.map +1 -1
  261. package/cjs/typings/tooltip/tooltip.d.ts +8 -8
  262. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  263. package/cjs/typings/visual.d.ts +2 -4
  264. package/cjs/typings/visual.js.map +1 -1
  265. package/cjs/util/index.d.ts +1 -2
  266. package/cjs/util/index.js +2 -2
  267. package/cjs/util/index.js.map +1 -1
  268. package/cjs/vchart-all.js +2 -2
  269. package/cjs/vchart-all.js.map +1 -1
  270. package/cjs/vchart-simple.js +2 -2
  271. package/cjs/vchart-simple.js.map +1 -1
  272. package/esm/animation/utils.js +5 -5
  273. package/esm/animation/utils.js.map +1 -1
  274. package/esm/chart/base/base-chart-transformer.js +7 -9
  275. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  276. package/esm/chart/base/base-chart.d.ts +1 -1
  277. package/esm/chart/base/base-chart.js.map +1 -1
  278. package/esm/chart/interface/chart.d.ts +1 -1
  279. package/esm/chart/interface/chart.js.map +1 -1
  280. package/esm/chart/progress/circular/circular-progress-transformer.js +2 -0
  281. package/esm/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  282. package/esm/compile/compiler.d.ts +1 -1
  283. package/esm/compile/compiler.js +4 -4
  284. package/esm/compile/compiler.js.map +1 -1
  285. package/esm/compile/mark/interface.js.map +1 -1
  286. package/esm/component/axis/base-axis.d.ts +9 -6
  287. package/esm/component/axis/base-axis.js +39 -5
  288. package/esm/component/axis/base-axis.js.map +1 -1
  289. package/esm/component/axis/cartesian/axis.d.ts +1 -5
  290. package/esm/component/axis/cartesian/axis.js +8 -26
  291. package/esm/component/axis/cartesian/axis.js.map +1 -1
  292. package/esm/component/axis/cartesian/time-axis.d.ts +1 -1
  293. package/esm/component/axis/cartesian/time-axis.js +2 -2
  294. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  295. package/esm/component/axis/cartesian/util/index.d.ts +0 -1
  296. package/esm/component/axis/cartesian/util/index.js +0 -2
  297. package/esm/component/axis/cartesian/util/index.js.map +1 -1
  298. package/esm/component/axis/interface/common.d.ts +2 -1
  299. package/esm/component/axis/interface/common.js.map +1 -1
  300. package/esm/component/axis/interface/spec.d.ts +2 -0
  301. package/esm/component/axis/interface/spec.js.map +1 -1
  302. package/esm/component/axis/polar/axis.d.ts +1 -5
  303. package/esm/component/axis/polar/axis.js +5 -23
  304. package/esm/component/axis/polar/axis.js.map +1 -1
  305. package/esm/component/base/util.d.ts +5 -0
  306. package/esm/component/base/util.js +12 -9
  307. package/esm/component/base/util.js.map +1 -1
  308. package/esm/component/crosshair/base.d.ts +4 -1
  309. package/esm/component/crosshair/base.js +1 -10
  310. package/esm/component/crosshair/base.js.map +1 -1
  311. package/esm/component/crosshair/cartesian.d.ts +1 -7
  312. package/esm/component/crosshair/cartesian.js +20 -206
  313. package/esm/component/crosshair/cartesian.js.map +1 -1
  314. package/esm/component/crosshair/config.js.map +1 -1
  315. package/esm/component/crosshair/interface/cartesian.d.ts +46 -0
  316. package/esm/component/crosshair/interface/cartesian.js +2 -0
  317. package/esm/component/crosshair/interface/cartesian.js.map +1 -0
  318. package/esm/component/crosshair/interface/common.d.ts +7 -0
  319. package/esm/component/crosshair/interface/common.js +2 -0
  320. package/esm/component/crosshair/interface/common.js.map +1 -0
  321. package/esm/component/crosshair/interface/index.d.ts +3 -0
  322. package/esm/component/crosshair/interface/index.js +6 -0
  323. package/esm/component/crosshair/interface/index.js.map +1 -1
  324. package/esm/component/crosshair/interface/polar.d.ts +23 -0
  325. package/esm/component/crosshair/interface/polar.js +2 -0
  326. package/esm/component/crosshair/interface/polar.js.map +1 -0
  327. package/esm/component/crosshair/interface/spec.d.ts +1 -0
  328. package/esm/component/crosshair/interface/spec.js.map +1 -1
  329. package/esm/component/crosshair/polar.d.ts +2 -2
  330. package/esm/component/crosshair/polar.js +19 -116
  331. package/esm/component/crosshair/polar.js.map +1 -1
  332. package/esm/component/crosshair/utils/cartesian.d.ts +32 -0
  333. package/esm/component/crosshair/utils/cartesian.js +233 -0
  334. package/esm/component/crosshair/utils/cartesian.js.map +1 -0
  335. package/{cjs/component/crosshair/util.d.ts → esm/component/crosshair/utils/common.d.ts} +3 -3
  336. package/esm/component/crosshair/{util.js → utils/common.js} +6 -6
  337. package/esm/component/crosshair/utils/common.js.map +1 -0
  338. package/esm/component/crosshair/utils/index.d.ts +1 -0
  339. package/esm/component/crosshair/utils/index.js +2 -0
  340. package/esm/component/crosshair/utils/index.js.map +1 -0
  341. package/esm/component/crosshair/utils/polar.d.ts +37 -0
  342. package/esm/component/crosshair/utils/polar.js +125 -0
  343. package/esm/component/crosshair/utils/polar.js.map +1 -0
  344. package/esm/component/custom-mark/custom-mark.js +2 -1
  345. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  346. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
  347. package/esm/component/data-zoom/data-zoom/data-zoom.js +10 -2
  348. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  349. package/esm/component/data-zoom/data-zoom/interface.d.ts +4 -5
  350. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  351. package/esm/component/data-zoom/scroll-bar/interface.d.ts +2 -4
  352. package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
  353. package/esm/component/data-zoom/util.d.ts +0 -4
  354. package/esm/component/data-zoom/util.js +1 -10
  355. package/esm/component/data-zoom/util.js.map +1 -1
  356. package/esm/component/index.d.ts +1 -0
  357. package/esm/component/index.js +2 -0
  358. package/esm/component/index.js.map +1 -1
  359. package/esm/component/interface/theme.d.ts +8 -0
  360. package/esm/component/interface/theme.js.map +1 -1
  361. package/esm/component/label/interface.d.ts +1 -1
  362. package/esm/component/label/interface.js.map +1 -1
  363. package/esm/component/label/util.js +6 -3
  364. package/esm/component/label/util.js.map +1 -1
  365. package/esm/component/legend/continuous/interface.d.ts +6 -12
  366. package/esm/component/legend/continuous/interface.js.map +1 -1
  367. package/esm/component/legend/discrete/interface.d.ts +17 -4
  368. package/esm/component/legend/discrete/interface.js.map +1 -1
  369. package/esm/component/legend/discrete/legend.d.ts +1 -0
  370. package/esm/component/legend/discrete/legend.js +11 -1
  371. package/esm/component/legend/discrete/legend.js.map +1 -1
  372. package/esm/component/legend/discrete/util.js +3 -2
  373. package/esm/component/legend/discrete/util.js.map +1 -1
  374. package/esm/component/legend/util.d.ts +1 -2
  375. package/esm/component/legend/util.js +0 -4
  376. package/esm/component/legend/util.js.map +1 -1
  377. package/esm/component/player/interface/theme.d.ts +1 -1
  378. package/esm/component/player/interface/theme.js.map +1 -1
  379. package/esm/component/player/utils/transform.js.map +1 -1
  380. package/esm/component/tooltip/interface/common.d.ts +2 -2
  381. package/esm/component/tooltip/interface/common.js.map +1 -1
  382. package/esm/component/tooltip/interface/event.d.ts +0 -2
  383. package/esm/component/tooltip/interface/event.js.map +1 -1
  384. package/esm/component/tooltip/interface/index.d.ts +1 -0
  385. package/esm/component/tooltip/interface/index.js +2 -0
  386. package/esm/component/tooltip/interface/index.js.map +1 -1
  387. package/esm/component/tooltip/interface/spec.d.ts +2 -2
  388. package/esm/component/tooltip/interface/spec.js.map +1 -1
  389. package/esm/component/tooltip/interface/theme.d.ts +3 -3
  390. package/esm/component/tooltip/interface/theme.js.map +1 -1
  391. package/esm/component/tooltip/processor/dimension-tooltip.js +2 -1
  392. package/esm/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  393. package/esm/component/tooltip/processor/mark-tooltip.js +2 -1
  394. package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
  395. package/esm/component/tooltip/tooltip.d.ts +3 -3
  396. package/esm/component/tooltip/tooltip.js +8 -6
  397. package/esm/component/tooltip/tooltip.js.map +1 -1
  398. package/esm/component/tooltip/utils/show-tooltip.js +3 -0
  399. package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
  400. package/esm/component/util.d.ts +8 -0
  401. package/esm/component/util.js +14 -0
  402. package/esm/component/util.js.map +1 -1
  403. package/esm/core/factory.d.ts +3 -0
  404. package/esm/core/factory.js +6 -0
  405. package/esm/core/factory.js.map +1 -1
  406. package/esm/core/index.d.ts +2 -1
  407. package/esm/core/index.js +3 -1
  408. package/esm/core/index.js.map +1 -1
  409. package/esm/core/interface.d.ts +1 -1
  410. package/esm/core/interface.js.map +1 -1
  411. package/esm/core/vchart.d.ts +2 -1
  412. package/esm/core/vchart.js +3 -1
  413. package/esm/core/vchart.js.map +1 -1
  414. package/esm/data/initialize.js.map +1 -1
  415. package/esm/event/events/dimension/interface.d.ts +3 -2
  416. package/esm/event/events/dimension/interface.js.map +1 -1
  417. package/esm/event/events/dimension/util/cartesian.js +1 -0
  418. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  419. package/esm/event/events/dimension/util/polar.js +2 -0
  420. package/esm/event/events/dimension/util/polar.js.map +1 -1
  421. package/esm/index-lark.js +4 -2
  422. package/esm/index-lark.js.map +1 -1
  423. package/esm/index-wx-simple.js +4 -2
  424. package/esm/index-wx-simple.js.map +1 -1
  425. package/esm/index-wx.js +1 -1
  426. package/esm/index-wx.js.map +1 -1
  427. package/esm/index.d.ts +1 -0
  428. package/esm/index.js +2 -0
  429. package/esm/index.js.map +1 -1
  430. package/esm/mark/arc.js +3 -1
  431. package/esm/mark/arc.js.map +1 -1
  432. package/esm/mark/base/base-mark.d.ts +3 -3
  433. package/esm/mark/base/base-mark.js +20 -13
  434. package/esm/mark/base/base-mark.js.map +1 -1
  435. package/esm/mark/index.d.ts +2 -3
  436. package/esm/mark/index.js +1 -3
  437. package/esm/mark/index.js.map +1 -1
  438. package/esm/mark/interface/type.d.ts +0 -1
  439. package/esm/mark/interface/type.js +2 -3
  440. package/esm/mark/interface/type.js.map +1 -1
  441. package/esm/plugin/chart/formatter/formatter.d.ts +28 -0
  442. package/esm/plugin/chart/formatter/formatter.js +71 -0
  443. package/esm/plugin/chart/formatter/formatter.js.map +1 -0
  444. package/esm/plugin/chart/formatter/index.d.ts +1 -0
  445. package/esm/plugin/chart/formatter/index.js +2 -0
  446. package/esm/plugin/chart/formatter/index.js.map +1 -0
  447. package/esm/plugin/components/index.d.ts +2 -5
  448. package/esm/plugin/components/index.js +2 -4
  449. package/esm/plugin/components/index.js.map +1 -1
  450. package/esm/plugin/components/tooltip-handler/base.d.ts +6 -6
  451. package/esm/plugin/components/tooltip-handler/base.js +111 -50
  452. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  453. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.d.ts +2 -2
  454. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  455. package/esm/plugin/components/tooltip-handler/constants.d.ts +2 -2
  456. package/esm/plugin/components/tooltip-handler/constants.js.map +1 -1
  457. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +8 -4
  458. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +31 -8
  459. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  460. package/esm/plugin/components/tooltip-handler/dom/model/base-tooltip-model.d.ts +2 -2
  461. package/esm/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -1
  462. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.d.ts +2 -2
  463. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +2 -3
  464. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  465. package/esm/plugin/components/tooltip-handler/dom/model/interface.d.ts +2 -2
  466. package/esm/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -1
  467. package/esm/plugin/components/tooltip-handler/utils/attribute.d.ts +2 -2
  468. package/esm/plugin/components/tooltip-handler/utils/attribute.js +1 -1
  469. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  470. package/esm/plugin/components/tooltip-handler/utils/common.d.ts +3 -3
  471. package/esm/plugin/components/tooltip-handler/utils/common.js +10 -1
  472. package/esm/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  473. package/esm/plugin/components/tooltip-handler/utils/compose.d.ts +2 -2
  474. package/esm/plugin/components/tooltip-handler/utils/compose.js +5 -7
  475. package/esm/plugin/components/tooltip-handler/utils/compose.js.map +1 -1
  476. package/esm/plugin/components/tooltip-handler/utils/get-spec.js +12 -9
  477. package/esm/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
  478. package/esm/plugin/components/tooltip-handler/utils/position.d.ts +18 -3
  479. package/esm/plugin/components/tooltip-handler/utils/position.js +39 -7
  480. package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  481. package/esm/plugin/index.d.ts +1 -0
  482. package/esm/plugin/index.js +2 -0
  483. package/esm/plugin/index.js.map +1 -1
  484. package/esm/series/base/base-series.js +2 -1
  485. package/esm/series/base/base-series.js.map +1 -1
  486. package/esm/series/base/tooltip-helper.d.ts +3 -3
  487. package/esm/series/base/tooltip-helper.js.map +1 -1
  488. package/esm/series/dot/tooltip-helper.js +1 -3
  489. package/esm/series/dot/tooltip-helper.js.map +1 -1
  490. package/esm/series/gauge/constant.js +2 -2
  491. package/esm/series/gauge/constant.js.map +1 -1
  492. package/esm/series/gauge/gauge.js +3 -3
  493. package/esm/series/gauge/gauge.js.map +1 -1
  494. package/esm/series/gauge/interface.d.ts +3 -3
  495. package/esm/series/gauge/interface.js.map +1 -1
  496. package/esm/series/interface/common.d.ts +1 -1
  497. package/esm/series/interface/common.js.map +1 -1
  498. package/esm/series/link/tooltip-helper.js +1 -1
  499. package/esm/series/link/tooltip-helper.js.map +1 -1
  500. package/esm/series/polar/progress-like/progress-like.js +23 -25
  501. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  502. package/esm/series/progress/circular/circular.js +1 -3
  503. package/esm/series/progress/circular/circular.js.map +1 -1
  504. package/esm/series/progress/circular/constant.js +2 -2
  505. package/esm/series/progress/circular/constant.js.map +1 -1
  506. package/esm/series/progress/circular/interface.d.ts +5 -5
  507. package/esm/series/progress/circular/interface.js.map +1 -1
  508. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  509. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  510. package/esm/series/sunburst/sunburst.d.ts +1 -1
  511. package/esm/series/word-cloud/interface.js.map +1 -1
  512. package/esm/theme/builtin/common/mark.js +2 -1
  513. package/esm/theme/builtin/common/mark.js.map +1 -1
  514. package/esm/theme/builtin/common/series/box-plot.js +5 -0
  515. package/esm/theme/builtin/common/series/box-plot.js.map +1 -1
  516. package/esm/theme/builtin/common/series/rangeColumn.js +1 -0
  517. package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -1
  518. package/esm/theme/builtin/common/series/waterfall.js +4 -1
  519. package/esm/theme/builtin/common/series/waterfall.js.map +1 -1
  520. package/esm/typings/spec/common.d.ts +4 -3
  521. package/esm/typings/spec/common.js.map +1 -1
  522. package/esm/typings/tooltip/line.d.ts +5 -2
  523. package/esm/typings/tooltip/line.js.map +1 -1
  524. package/esm/typings/tooltip/position.d.ts +21 -10
  525. package/esm/typings/tooltip/position.js.map +1 -1
  526. package/esm/typings/tooltip/shape.d.ts +2 -2
  527. package/esm/typings/tooltip/shape.js.map +1 -1
  528. package/esm/typings/tooltip/tooltip.d.ts +8 -8
  529. package/esm/typings/tooltip/tooltip.js.map +1 -1
  530. package/esm/typings/visual.d.ts +2 -4
  531. package/esm/typings/visual.js.map +1 -1
  532. package/esm/util/index.d.ts +1 -2
  533. package/esm/util/index.js +1 -3
  534. package/esm/util/index.js.map +1 -1
  535. package/esm/vchart-all.js +4 -2
  536. package/esm/vchart-all.js.map +1 -1
  537. package/esm/vchart-simple.js +1 -1
  538. package/esm/vchart-simple.js.map +1 -1
  539. package/package.json +17 -17
  540. package/cjs/component/axis/cartesian/util/time.d.ts +0 -80
  541. package/cjs/component/axis/cartesian/util/time.js +0 -204
  542. package/cjs/component/axis/cartesian/util/time.js.map +0 -1
  543. package/cjs/component/crosshair/util.js.map +0 -1
  544. package/cjs/mark/progress-arc.d.ts +0 -14
  545. package/cjs/mark/progress-arc.js +0 -55
  546. package/cjs/mark/progress-arc.js.map +0 -1
  547. package/esm/component/axis/cartesian/util/time.d.ts +0 -80
  548. package/esm/component/axis/cartesian/util/time.js +0 -196
  549. package/esm/component/axis/cartesian/util/time.js.map +0 -1
  550. package/esm/component/crosshair/util.js.map +0 -1
  551. package/esm/mark/progress-arc.d.ts +0 -14
  552. package/esm/mark/progress-arc.js +0 -47
  553. package/esm/mark/progress-arc.js.map +0 -1
@@ -129,29 +129,11 @@ class PolarAxis extends base_axis_1.AxisComponent {
129
129
  (!prevRange || !newRange || prevRange[0] !== newRange[0] || prevRange[1] !== newRange[1]) && (this._scale.range(newRange),
130
130
  !0);
131
131
  }
132
- collectData(depth, rawData) {
133
- const data = [];
134
- return (0, model_1.eachSeries)(this._regions, (s => {
135
- var _a, _b, _c;
136
- let field;
137
- if (field = depth > 0 ? null === (_b = null === (_a = s.getGroups()) || void 0 === _a ? void 0 : _a.fields) || void 0 === _b ? void 0 : _b[depth] : "radius" === this.getOrient() ? s.getRadiusField() : s.getAngleField(),
138
- field = (0, vutils_1.isArray)(field) ? (0, vscale_1.isContinuous)(this._scale.type) ? field : [ field[0] ] : [ field ],
139
- depth || (this._dataFieldText = s.getFieldAlias(field[0])), field) {
140
- const viewData = s.getViewData();
141
- if (rawData) field.forEach((f => {
142
- data.push(s.getRawDataStatisticsByField(f, !1));
143
- })); else if (viewData && viewData.latestData && viewData.latestData.length) {
144
- const seriesData = null === (_c = s.getViewDataStatistics) || void 0 === _c ? void 0 : _c.call(s);
145
- field.forEach((f => {
146
- var _a;
147
- (null === (_a = null == seriesData ? void 0 : seriesData.latestData) || void 0 === _a ? void 0 : _a[f]) && data.push(seriesData.latestData[f]);
148
- }));
149
- }
150
- }
151
- }), {
152
- userId: this._seriesUserId,
153
- specIndex: this._seriesIndex
154
- }), data;
132
+ collectSeriesField(depth, series) {
133
+ var _a, _b;
134
+ let field;
135
+ return field = depth > 0 ? null === (_b = null === (_a = series.getGroups()) || void 0 === _a ? void 0 : _a.fields) || void 0 === _b ? void 0 : _b[depth] : "radius" === this.getOrient() ? series.getRadiusField() : series.getAngleField(),
136
+ field;
155
137
  }
156
138
  updateSeriesScale() {
157
139
  (0, model_1.eachSeries)(this._regions, (s => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/polar/axis.ts"],"names":[],"mappings":"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","file":"axis.js","sourcesContent":["import { POLAR_DEFAULT_RADIUS, POLAR_END_ANGLE, POLAR_END_RADIAN } from '../../../constant/polar';\nimport type { IBaseScale, BandScale, LinearScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport { ChartEvent, LayoutZIndex, POLAR_START_ANGLE, POLAR_START_RADIAN } from '../../../constant';\nimport type { IPolarAxis, IPolarAxisCommonSpec } from './interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { Factory } from '../../../core/factory';\nimport { mergeSpec } from '../../../util/spec/merge-spec';\nimport { eachSeries } from '../../../util/model';\nimport { polarToCartesian } from '../../../util/math';\nimport type { IPolarTickDataOpt } from '@visactor/vutils-extension';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IPolarSeries } from '../../../series/interface';\nimport type { IPoint, IPolarOrientType, IPolarPoint, Datum, StringOrNumber, ILayoutType } from '../../../typings';\nimport { isPolarAxisSeries } from '../../../series/util/utils';\nimport { getAxisItem, getAxisLabelOffset, isValidPolarAxis } from '../util';\n\nimport type { Dict, Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { PointService, degreeToRadian, isValid, isArray, isValidNumber } from '@visactor/vutils';\nimport type { IEffect, IModelSpecInfo } from '../../../model/interface';\nimport { AxisComponent } from '../base-axis';\nimport type { IBandAxisSpec, ITick } from '../interface';\nimport { HOOK_EVENT } from '@visactor/vgrammar-core';\nimport { getPolarAxisInfo } from './util';\n\nexport abstract class PolarAxis<T extends IPolarAxisCommonSpec = IPolarAxisCommonSpec>\n extends AxisComponent<T>\n implements IPolarAxis\n{\n static type = ComponentTypeEnum.polarAxis;\n type = ComponentTypeEnum.polarAxis;\n name: string = ComponentTypeEnum.polarAxis;\n\n static specKey = 'axes';\n\n protected readonly _defaultBandPosition = 0;\n protected readonly _defaultBandInnerPadding = 0;\n protected readonly _defaultBandOuterPadding = 0;\n\n layoutType: ILayoutType = 'absolute';\n layoutZIndex: number = LayoutZIndex.Axis;\n protected _tick: ITick | undefined = undefined;\n\n protected _center: IPoint | null = null;\n get center() {\n return this._center;\n }\n\n protected _startAngle: number = POLAR_START_RADIAN;\n get startAngle() {\n return this._startAngle;\n }\n\n protected _endAngle: number = POLAR_END_RADIAN;\n get endAngle() {\n return this._endAngle;\n }\n\n protected _orient: IPolarOrientType = 'radius';\n getOrient() {\n return this._orient;\n }\n\n protected _groupScales: IBaseScale[] = [];\n getGroupScales() {\n return this._groupScales;\n }\n\n private _axisStyle: any;\n private _gridStyle: any;\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const axesSpec = chartSpec[this.specKey];\n if (!axesSpec) {\n return null;\n }\n\n if (!isArray(axesSpec)) {\n if (!isValidPolarAxis(axesSpec)) {\n return null;\n }\n const { axisType, componentName, startAngle, endAngle, center, outerRadius } = getPolarAxisInfo(\n axesSpec,\n chartSpec\n );\n axesSpec.center = center;\n axesSpec.startAngle = startAngle;\n axesSpec.endAngle = endAngle;\n axesSpec.outerRadius = outerRadius;\n axesSpec.type = axisType;\n return [\n {\n spec: axesSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: componentName\n }\n ];\n }\n const specInfos: IModelSpecInfo[] = [];\n let angleAxisIndex: number;\n const radiusAxisSpecInfos: IModelSpecInfo[] = [];\n axesSpec.forEach((s: any, i: number) => {\n if (!isValidPolarAxis(s)) {\n return;\n }\n const { axisType, componentName, startAngle, endAngle, center, outerRadius } = getPolarAxisInfo(s, chartSpec);\n s.center = center;\n s.startAngle = startAngle;\n s.endAngle = endAngle;\n s.outerRadius = outerRadius;\n s.type = axisType;\n const info = {\n spec: s,\n specPath: [this.specKey, i],\n specInfoPath: ['component', this.specKey, i],\n type: componentName\n };\n specInfos.push(info);\n if (s.orient === 'radius') {\n radiusAxisSpecInfos.push(info);\n } else {\n angleAxisIndex = i;\n }\n });\n radiusAxisSpecInfos.forEach(info => {\n (info as any).angleAxisIndex = angleAxisIndex;\n });\n return specInfos;\n }\n\n static createComponent(specInfo: IModelSpecInfo, options: IComponentOption) {\n const { spec, ...others } = specInfo;\n const C = Factory.getComponentInKey(others.type);\n if (C) {\n return new C(spec, {\n ...options,\n ...others\n }) as IPolarAxis;\n }\n options.onError(`Component ${others.type} not found`);\n return null;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n\n this._coordinateType = 'polar';\n }\n\n effect: IEffect = {\n scaleUpdate: param => {\n this.computeData(param?.value);\n eachSeries(\n this._regions,\n s => {\n if (this.getOrient() === 'radius') {\n (s as IPolarSeries).radiusAxisHelper = this.axisHelper();\n } else {\n (s as IPolarSeries).angleAxisHelper = this.axisHelper();\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n };\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n if (this.visible) {\n this._axisStyle = this._getAxisAttributes();\n this._gridStyle = this._getGridAttributes();\n }\n\n this._tick = this._spec.tick;\n this._orient = this._spec.orient === 'angle' ? 'angle' : 'radius';\n this._center = this._spec.center;\n this._startAngle = degreeToRadian(this._spec.startAngle);\n this._endAngle = degreeToRadian(this._spec.endAngle);\n this._inverse = this._spec.inverse;\n }\n\n _transformLayoutPosition = (pos: Partial<IPoint>) => {\n const region = this.getRegions()?.[0];\n return region ? region.getLayoutStartPoint() : pos;\n };\n\n onLayoutEnd(ctx: any): void {\n const isChanged = this.updateScaleRange();\n\n if (isChanged) {\n this.updateSeriesScale();\n this.event.emit(ChartEvent.scaleUpdate, { model: this, value: 'range' });\n }\n\n super.onLayoutEnd(ctx);\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n\n protected _tickTransformOption() {\n return {\n ...super._tickTransformOption(),\n noDecimal: this._tick.noDecimals,\n startAngle: this.startAngle,\n labelOffset: getAxisLabelOffset(this._spec),\n getRadius: () => this.getOuterRadius()\n } as IPolarTickDataOpt;\n }\n\n afterCompile() {\n const product = this._axisMark?.getProduct();\n if (product) {\n product.addEventListener(HOOK_EVENT.AFTER_ELEMENT_ENCODE, () => {\n if (this._isLayout === false) {\n // 布局结束之后再进行插件的调用\n this._delegateAxisContainerEvent(product.getGroupGraphicItem());\n }\n });\n }\n }\n\n protected updateScaleRange() {\n const prevRange = this._scale.range();\n let newRange: [number, number];\n\n if (this.getOrient() === 'radius') {\n newRange = this._inverse\n ? [this.computeLayoutOuterRadius(), this.computeLayoutInnerRadius()]\n : [this.computeLayoutInnerRadius(), this.computeLayoutOuterRadius()];\n } else {\n newRange = this._inverse ? [this._endAngle, this._startAngle] : [this._startAngle, this._endAngle];\n }\n\n if (prevRange && newRange && prevRange[0] === newRange[0] && prevRange[1] === newRange[1]) {\n return false;\n }\n\n this._scale.range(newRange);\n\n return true;\n }\n\n protected collectData(depth: number, rawData?: boolean) {\n const data: { min: number; max: number; values: any[] }[] = [];\n eachSeries(\n this._regions,\n s => {\n let field: string | string[];\n if (depth > 0) {\n field = s.getGroups()?.fields?.[depth];\n } else {\n field =\n this.getOrient() === 'radius' ? (s as IPolarSeries).getRadiusField() : (s as IPolarSeries).getAngleField();\n }\n field = (isArray(field) ? (isContinuous(this._scale.type) ? field : [field[0]]) : [field]) as string[];\n if (!depth) {\n this._dataFieldText = s.getFieldAlias(field[0]);\n }\n\n if (field) {\n const viewData = s.getViewData();\n if (rawData) {\n field.forEach(f => {\n data.push(s.getRawDataStatisticsByField(f, false) as { min: number; max: number; values: any[] });\n });\n } else if (viewData && viewData.latestData && viewData.latestData.length) {\n const seriesData = s.getViewDataStatistics?.();\n\n field.forEach(f => {\n if (seriesData?.latestData?.[f]) {\n data.push(seriesData.latestData[f]);\n }\n });\n }\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return data;\n }\n\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n\n protected updateSeriesScale(): void {\n eachSeries(\n this._regions,\n s => {\n if (this.getOrient() === 'radius') {\n (s as IPolarSeries).setRadiusScale(this._scale);\n (s as IPolarSeries).radiusAxisHelper = this.axisHelper();\n } else {\n (s as IPolarSeries).setAngleScale(this._scale);\n (s as IPolarSeries).angleAxisHelper = this.axisHelper();\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected getSeriesStatisticsField(s: IPolarSeries) {\n const f = this.getOrient() === 'radius' ? s.getRadiusField() : s.getAngleField();\n if (isContinuous(this._scale.type)) {\n return f;\n }\n return [f[0]];\n }\n\n protected initGroupScales() {\n // do nothing\n }\n\n // axisHelper\n protected axisHelper() {\n const getScale = (depth: number) => {\n return this._scales[depth];\n };\n\n const helper = {\n isContinuous: isContinuous(this._scale.type),\n dataToPosition: this.dataToPosition.bind(this),\n coordToPoint: this.coordToPoint.bind(this),\n pointToCoord: this.pointToCoord.bind(this),\n center: this.getCenter.bind(this),\n getScale,\n getAxisId: () => this.id,\n getSpec: () => this._spec\n };\n return helper;\n }\n\n positionToData(position: IPoint) {\n const coord = this.pointToCoord(position);\n if (this.getOrient() === 'radius') {\n return this.invert(coord.radius);\n }\n return this.invert(coord.angle);\n }\n\n /**\n * 将半径和角度转换为笛卡尔坐标点\n * @param point 角度 & 弧度信息\n * @returns 笛卡尔坐标点 { x, y }\n */\n coordToPoint(point: IPolarPoint): IPoint {\n // center & startAngle 都是坐标系转换的配置,在 scale 中不生效,仅在最终转换时生效\n const angle = point.angle;\n const { x: centerX, y: centerY } = this.getCenter();\n const p = polarToCartesian({ angle, radius: point.radius });\n return {\n x: p.x + centerX,\n y: p.y + centerY\n };\n }\n\n /**\n * 将笛卡尔坐标转换为对应的半径和弧度\n * @param point 笛卡尔坐标点 { x, y }\n * @returns 角度 & 弧度信息 { radius, angle }\n */\n pointToCoord(point: IPoint): IPolarPoint {\n const { x: centerX, y: centerY } = this.getCenter();\n let dx = point.x - centerX;\n let dy = point.y - centerY;\n const startAngle = this._startAngle;\n const endAngle = this._endAngle;\n const radius = Math.sqrt(dx * dx + dy * dy);\n dx /= radius;\n dy /= radius;\n\n let radian = Math.atan2(dy, dx);\n if (radian < startAngle) {\n while (radian <= startAngle) {\n radian += Math.PI * 2;\n }\n }\n if (radian > endAngle) {\n while (radian >= endAngle) {\n radian -= Math.PI * 2;\n }\n }\n return {\n radius,\n angle: radian\n };\n }\n\n /**\n * 获取坐标轴圆心位置\n * @returns 圆心位置\n */\n getCenter(): IPoint {\n return {\n x: this._center?.x || this.getRefLayoutRect().width / 2,\n y: this._center?.y || this.getRefLayoutRect().height / 2\n };\n }\n\n /**\n * 获取极坐标半径值\n * @returns 半径数值\n */\n getOuterRadius(): number {\n return this.computeLayoutOuterRadius();\n }\n\n /**\n * 获取极坐标内半径值\n * @returns 内半径数值\n */\n getInnerRadius(): number {\n return this.computeLayoutInnerRadius();\n }\n\n updateLayoutAttribute(): void {\n if (this._visible) {\n if (this.getOrient() === 'radius') {\n this._layoutRadiusAxis();\n } else {\n this._layoutAngleAxis();\n }\n }\n\n super.updateLayoutAttribute();\n }\n\n protected _getNormalizedValue(values: any[], length: number) {\n return length === 0 ? 0 : (this.dataToPosition(values) - this._getStartValue()) / length;\n }\n\n protected getLabelItems(length: number) {\n const tickLatestData = this.getTickData()?.getLatestData();\n if (tickLatestData && tickLatestData.length) {\n return [\n tickLatestData.map((obj: Datum) => {\n return getAxisItem(obj.value, this._getNormalizedValue([obj.value], length));\n })\n ];\n }\n return [];\n }\n protected _getStartValue() {\n if (this.getOrient() === 'radius') {\n return this.computeLayoutInnerRadius();\n }\n\n return this._startAngle;\n }\n\n private _layoutAngleAxis(): void {\n const center = this.getCenter();\n const radius = this.computeLayoutOuterRadius();\n const innerRadius = this.computeLayoutInnerRadius();\n const angleRange = this._endAngle - this._startAngle;\n const items = this.getLabelItems(angleRange);\n const commonAttrs = {\n ...this.getLayoutStartPoint(),\n inside: this._spec.inside,\n center,\n radius,\n innerRadius,\n startAngle: this._startAngle,\n endAngle: this._endAngle\n };\n const attrs: any = {\n ...commonAttrs,\n title: {\n text: this._spec.title.text || this._dataFieldText\n },\n items,\n orient: 'angle'\n };\n if (this._spec.grid.visible) {\n attrs.grid = {\n type: 'line',\n smoothLink: true,\n items: items[0],\n ...commonAttrs\n };\n }\n this._update(attrs);\n }\n\n private _layoutRadiusAxis(): void {\n const center = this.getCenter();\n const radius = this.computeLayoutOuterRadius();\n const innerRadius = this.computeLayoutInnerRadius();\n const endPoint = this.coordToPoint({ angle: this._startAngle, radius });\n const startPoint = this.coordToPoint({ angle: this._startAngle, radius: innerRadius });\n const distance = PointService.distancePP(startPoint, endPoint);\n const items = this.getLabelItems(distance);\n const commonAttrs = {\n ...this.getLayoutStartPoint(),\n start: startPoint,\n end: endPoint,\n verticalFactor: -1\n };\n const attrs: any = {\n ...commonAttrs,\n title: {\n text: this._spec.title.text || this._dataFieldText\n },\n items,\n orient: 'radius'\n };\n if (this._spec.grid?.visible) {\n attrs.grid = {\n items: items[0],\n type: this._spec.grid?.smooth ? 'circle' : 'polygon',\n center,\n closed: true,\n sides: this._getRelatedAngleAxis()?.getScale().domain().length,\n startAngle: this._startAngle,\n endAngle: this._endAngle,\n ...commonAttrs\n };\n }\n this._update(attrs);\n }\n\n protected _getRelatedAngleAxis(): IPolarAxis | undefined {\n const index = (this._option as any).angleAxisIndex;\n if (isValid(index)) {\n return this._option.getComponentByIndex(this.specKey, index) as IPolarAxis;\n }\n return undefined;\n }\n\n private computeLayoutOuterRadius() {\n /**\n * 兼容radius旧配置\n * @deprecated use outerRadius instead\n */\n const radius = this._spec.outerRadius ?? this._spec.radius;\n const outerRadius = radius ?? this.getRefSeriesRadius().outerRadius;\n const { width, height } = this.getRefLayoutRect();\n return (Math.min(width, height) / 2) * outerRadius;\n }\n\n private computeLayoutInnerRadius() {\n const innerRadius = this._spec.innerRadius ?? this.getRefSeriesRadius().innerRadius;\n const { width, height } = this.getRefLayoutRect();\n return (Math.min(width, height) / 2) * innerRadius;\n }\n\n private getRefLayoutRect() {\n return this.getRegions()[0].getLayoutRect();\n }\n\n private getRefSeriesRadius() {\n let outerRadius: number = POLAR_DEFAULT_RADIUS;\n let innerRadius: number = 0;\n const chartSpec = this.getChart().getSpec() as any;\n // FIXME: 为了保证 common 图表能够应用系列的 radius 配置,当前从相应的 region 中取到 radius 信息\n eachSeries(\n this.getRegions(),\n s => {\n const series = s as IPolarSeries;\n if (isPolarAxisSeries(series.type)) {\n const {\n outerRadius: seriesRadius = chartSpec.outerRadius,\n innerRadius: seriesInnerRadius = chartSpec.innerRadius\n } = series;\n if (isValidNumber(seriesRadius)) {\n outerRadius = seriesRadius;\n }\n if (isValidNumber(seriesInnerRadius)) {\n innerRadius = seriesInnerRadius;\n }\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return { outerRadius, innerRadius };\n }\n\n private _update(attrs: Dict<unknown>) {\n const { grid: gridAttrs, ...axisAttrs } = attrs;\n const axisProduct = this._axisMark.getProduct(); // 获取语法元素并更新\n axisProduct.encode(mergeSpec({}, this._axisStyle, axisAttrs));\n\n if (this._gridMark) {\n const gridProduct = this._gridMark.getProduct(); // 获取语法元素并更新\n gridProduct.encode(mergeSpec({}, this._gridStyle, gridAttrs));\n }\n }\n\n invert(value: number): number {\n if (this.getOrient() === 'angle' && this._scale.type === 'band') {\n //极坐标轴需要手动取模,超出range时默认会截断\n const range = this._scale.range();\n const rangeValue = range[range.length - 1] - range[0];\n const bandPosition = (this.getSpec() as IBandAxisSpec).bandPosition ?? this._defaultBandPosition;\n const offset = bandPosition === 0.5 ? 0 : (this._scale as BandScale).bandwidth() / 2;\n if (range[0] < 0) {\n const angle = value + offset;\n const transformedAngle = ((angle + Math.abs(range[0])) % rangeValue) - Math.abs(range[0]);\n return this._scale.invert(transformedAngle);\n }\n return this._scale.invert((value + offset) % rangeValue);\n }\n\n return this._scale.invert(value);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/axis/polar/axis.ts"],"names":[],"mappings":"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","file":"axis.js","sourcesContent":["import { POLAR_DEFAULT_RADIUS, POLAR_END_ANGLE, POLAR_END_RADIAN } from '../../../constant/polar';\nimport type { IBaseScale, BandScale, LinearScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport { ChartEvent, LayoutZIndex, POLAR_START_ANGLE, POLAR_START_RADIAN } from '../../../constant';\nimport type { IPolarAxis, IPolarAxisCommonSpec } from './interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { Factory } from '../../../core/factory';\nimport { mergeSpec } from '../../../util/spec/merge-spec';\nimport { eachSeries } from '../../../util/model';\nimport { polarToCartesian } from '../../../util/math';\nimport type { IPolarTickDataOpt } from '@visactor/vutils-extension';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IPolarSeries } from '../../../series/interface';\nimport type { IPoint, IPolarOrientType, IPolarPoint, Datum, StringOrNumber, ILayoutType } from '../../../typings';\nimport { isPolarAxisSeries } from '../../../series/util/utils';\nimport { getAxisItem, getAxisLabelOffset, isValidPolarAxis } from '../util';\n\nimport type { Dict, Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { PointService, degreeToRadian, isValid, isArray, isValidNumber } from '@visactor/vutils';\nimport type { IEffect, IModelSpecInfo } from '../../../model/interface';\nimport { AxisComponent } from '../base-axis';\nimport type { IBandAxisSpec, ITick } from '../interface';\nimport { HOOK_EVENT } from '@visactor/vgrammar-core';\nimport { getPolarAxisInfo } from './util';\n\nexport abstract class PolarAxis<T extends IPolarAxisCommonSpec = IPolarAxisCommonSpec>\n extends AxisComponent<T>\n implements IPolarAxis\n{\n static type = ComponentTypeEnum.polarAxis;\n type = ComponentTypeEnum.polarAxis;\n name: string = ComponentTypeEnum.polarAxis;\n\n static specKey = 'axes';\n\n protected readonly _defaultBandPosition = 0;\n protected readonly _defaultBandInnerPadding = 0;\n protected readonly _defaultBandOuterPadding = 0;\n\n layoutType: ILayoutType = 'absolute';\n layoutZIndex: number = LayoutZIndex.Axis;\n protected _tick: ITick | undefined = undefined;\n\n protected _center: IPoint | null = null;\n get center() {\n return this._center;\n }\n\n protected _startAngle: number = POLAR_START_RADIAN;\n get startAngle() {\n return this._startAngle;\n }\n\n protected _endAngle: number = POLAR_END_RADIAN;\n get endAngle() {\n return this._endAngle;\n }\n\n protected _orient: IPolarOrientType = 'radius';\n getOrient() {\n return this._orient;\n }\n\n protected _groupScales: IBaseScale[] = [];\n getGroupScales() {\n return this._groupScales;\n }\n\n private _axisStyle: any;\n private _gridStyle: any;\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const axesSpec = chartSpec[this.specKey];\n if (!axesSpec) {\n return null;\n }\n\n if (!isArray(axesSpec)) {\n if (!isValidPolarAxis(axesSpec)) {\n return null;\n }\n const { axisType, componentName, startAngle, endAngle, center, outerRadius } = getPolarAxisInfo(\n axesSpec,\n chartSpec\n );\n axesSpec.center = center;\n axesSpec.startAngle = startAngle;\n axesSpec.endAngle = endAngle;\n axesSpec.outerRadius = outerRadius;\n axesSpec.type = axisType;\n return [\n {\n spec: axesSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: componentName\n }\n ];\n }\n const specInfos: IModelSpecInfo[] = [];\n let angleAxisIndex: number;\n const radiusAxisSpecInfos: IModelSpecInfo[] = [];\n axesSpec.forEach((s: any, i: number) => {\n if (!isValidPolarAxis(s)) {\n return;\n }\n const { axisType, componentName, startAngle, endAngle, center, outerRadius } = getPolarAxisInfo(s, chartSpec);\n s.center = center;\n s.startAngle = startAngle;\n s.endAngle = endAngle;\n s.outerRadius = outerRadius;\n s.type = axisType;\n const info = {\n spec: s,\n specPath: [this.specKey, i],\n specInfoPath: ['component', this.specKey, i],\n type: componentName\n };\n specInfos.push(info);\n if (s.orient === 'radius') {\n radiusAxisSpecInfos.push(info);\n } else {\n angleAxisIndex = i;\n }\n });\n radiusAxisSpecInfos.forEach(info => {\n (info as any).angleAxisIndex = angleAxisIndex;\n });\n return specInfos;\n }\n\n static createComponent(specInfo: IModelSpecInfo, options: IComponentOption) {\n const { spec, ...others } = specInfo;\n const C = Factory.getComponentInKey(others.type);\n if (C) {\n return new C(spec, {\n ...options,\n ...others\n }) as IPolarAxis;\n }\n options.onError(`Component ${others.type} not found`);\n return null;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n\n this._coordinateType = 'polar';\n }\n\n effect: IEffect = {\n scaleUpdate: param => {\n this.computeData(param?.value);\n eachSeries(\n this._regions,\n s => {\n if (this.getOrient() === 'radius') {\n (s as IPolarSeries).radiusAxisHelper = this.axisHelper();\n } else {\n (s as IPolarSeries).angleAxisHelper = this.axisHelper();\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n };\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n if (this.visible) {\n this._axisStyle = this._getAxisAttributes();\n this._gridStyle = this._getGridAttributes();\n }\n\n this._tick = this._spec.tick;\n this._orient = this._spec.orient === 'angle' ? 'angle' : 'radius';\n this._center = this._spec.center;\n this._startAngle = degreeToRadian(this._spec.startAngle);\n this._endAngle = degreeToRadian(this._spec.endAngle);\n this._inverse = this._spec.inverse;\n }\n\n _transformLayoutPosition = (pos: Partial<IPoint>) => {\n const region = this.getRegions()?.[0];\n return region ? region.getLayoutStartPoint() : pos;\n };\n\n onLayoutEnd(ctx: any): void {\n const isChanged = this.updateScaleRange();\n\n if (isChanged) {\n this.updateSeriesScale();\n this.event.emit(ChartEvent.scaleUpdate, { model: this, value: 'range' });\n }\n\n super.onLayoutEnd(ctx);\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n\n protected _tickTransformOption() {\n return {\n ...super._tickTransformOption(),\n noDecimal: this._tick.noDecimals,\n startAngle: this.startAngle,\n labelOffset: getAxisLabelOffset(this._spec),\n getRadius: () => this.getOuterRadius()\n } as IPolarTickDataOpt;\n }\n\n afterCompile() {\n const product = this._axisMark?.getProduct();\n if (product) {\n product.addEventListener(HOOK_EVENT.AFTER_ELEMENT_ENCODE, () => {\n if (this._isLayout === false) {\n // 布局结束之后再进行插件的调用\n this._delegateAxisContainerEvent(product.getGroupGraphicItem());\n }\n });\n }\n }\n\n protected updateScaleRange() {\n const prevRange = this._scale.range();\n let newRange: [number, number];\n\n if (this.getOrient() === 'radius') {\n newRange = this._inverse\n ? [this.computeLayoutOuterRadius(), this.computeLayoutInnerRadius()]\n : [this.computeLayoutInnerRadius(), this.computeLayoutOuterRadius()];\n } else {\n newRange = this._inverse ? [this._endAngle, this._startAngle] : [this._startAngle, this._endAngle];\n }\n\n if (prevRange && newRange && prevRange[0] === newRange[0] && prevRange[1] === newRange[1]) {\n return false;\n }\n\n this._scale.range(newRange);\n\n return true;\n }\n\n protected collectSeriesField(depth: number, series: IPolarSeries) {\n let field: string | string[];\n\n if (depth > 0) {\n field = series.getGroups()?.fields?.[depth];\n } else {\n field = this.getOrient() === 'radius' ? series.getRadiusField() : series.getAngleField();\n }\n return field;\n }\n\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n\n protected updateSeriesScale(): void {\n eachSeries(\n this._regions,\n s => {\n if (this.getOrient() === 'radius') {\n (s as IPolarSeries).setRadiusScale(this._scale);\n (s as IPolarSeries).radiusAxisHelper = this.axisHelper();\n } else {\n (s as IPolarSeries).setAngleScale(this._scale);\n (s as IPolarSeries).angleAxisHelper = this.axisHelper();\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected getSeriesStatisticsField(s: IPolarSeries) {\n const f = this.getOrient() === 'radius' ? s.getRadiusField() : s.getAngleField();\n if (isContinuous(this._scale.type)) {\n return f;\n }\n return [f[0]];\n }\n\n protected initGroupScales() {\n // do nothing\n }\n\n // axisHelper\n protected axisHelper() {\n const getScale = (depth: number) => {\n return this._scales[depth];\n };\n\n const helper = {\n isContinuous: isContinuous(this._scale.type),\n dataToPosition: this.dataToPosition.bind(this),\n coordToPoint: this.coordToPoint.bind(this),\n pointToCoord: this.pointToCoord.bind(this),\n center: this.getCenter.bind(this),\n getScale,\n getAxisId: () => this.id,\n getSpec: () => this._spec\n };\n return helper;\n }\n\n positionToData(position: IPoint) {\n const coord = this.pointToCoord(position);\n if (this.getOrient() === 'radius') {\n return this.invert(coord.radius);\n }\n return this.invert(coord.angle);\n }\n\n /**\n * 将半径和角度转换为笛卡尔坐标点\n * @param point 角度 & 弧度信息\n * @returns 笛卡尔坐标点 { x, y }\n */\n coordToPoint(point: IPolarPoint): IPoint {\n // center & startAngle 都是坐标系转换的配置,在 scale 中不生效,仅在最终转换时生效\n const angle = point.angle;\n const { x: centerX, y: centerY } = this.getCenter();\n const p = polarToCartesian({ angle, radius: point.radius });\n return {\n x: p.x + centerX,\n y: p.y + centerY\n };\n }\n\n /**\n * 将笛卡尔坐标转换为对应的半径和弧度\n * @param point 笛卡尔坐标点 { x, y }\n * @returns 角度 & 弧度信息 { radius, angle }\n */\n pointToCoord(point: IPoint): IPolarPoint {\n const { x: centerX, y: centerY } = this.getCenter();\n let dx = point.x - centerX;\n let dy = point.y - centerY;\n const startAngle = this._startAngle;\n const endAngle = this._endAngle;\n const radius = Math.sqrt(dx * dx + dy * dy);\n dx /= radius;\n dy /= radius;\n\n let radian = Math.atan2(dy, dx);\n if (radian < startAngle) {\n while (radian <= startAngle) {\n radian += Math.PI * 2;\n }\n }\n if (radian > endAngle) {\n while (radian >= endAngle) {\n radian -= Math.PI * 2;\n }\n }\n return {\n radius,\n angle: radian\n };\n }\n\n /**\n * 获取坐标轴圆心位置\n * @returns 圆心位置\n */\n getCenter(): IPoint {\n return {\n x: this._center?.x || this.getRefLayoutRect().width / 2,\n y: this._center?.y || this.getRefLayoutRect().height / 2\n };\n }\n\n /**\n * 获取极坐标半径值\n * @returns 半径数值\n */\n getOuterRadius(): number {\n return this.computeLayoutOuterRadius();\n }\n\n /**\n * 获取极坐标内半径值\n * @returns 内半径数值\n */\n getInnerRadius(): number {\n return this.computeLayoutInnerRadius();\n }\n\n updateLayoutAttribute(): void {\n if (this._visible) {\n if (this.getOrient() === 'radius') {\n this._layoutRadiusAxis();\n } else {\n this._layoutAngleAxis();\n }\n }\n\n super.updateLayoutAttribute();\n }\n\n protected _getNormalizedValue(values: any[], length: number) {\n return length === 0 ? 0 : (this.dataToPosition(values) - this._getStartValue()) / length;\n }\n\n protected getLabelItems(length: number) {\n const tickLatestData = this.getTickData()?.getLatestData();\n if (tickLatestData && tickLatestData.length) {\n return [\n tickLatestData.map((obj: Datum) => {\n return getAxisItem(obj.value, this._getNormalizedValue([obj.value], length));\n })\n ];\n }\n return [];\n }\n protected _getStartValue() {\n if (this.getOrient() === 'radius') {\n return this.computeLayoutInnerRadius();\n }\n\n return this._startAngle;\n }\n\n private _layoutAngleAxis(): void {\n const center = this.getCenter();\n const radius = this.computeLayoutOuterRadius();\n const innerRadius = this.computeLayoutInnerRadius();\n const angleRange = this._endAngle - this._startAngle;\n const items = this.getLabelItems(angleRange);\n const commonAttrs = {\n ...this.getLayoutStartPoint(),\n inside: this._spec.inside,\n center,\n radius,\n innerRadius,\n startAngle: this._startAngle,\n endAngle: this._endAngle\n };\n const attrs: any = {\n ...commonAttrs,\n title: {\n text: this._spec.title.text || this._dataFieldText\n },\n items,\n orient: 'angle'\n };\n if (this._spec.grid.visible) {\n attrs.grid = {\n type: 'line',\n smoothLink: true,\n items: items[0],\n ...commonAttrs\n };\n }\n this._update(attrs);\n }\n\n private _layoutRadiusAxis(): void {\n const center = this.getCenter();\n const radius = this.computeLayoutOuterRadius();\n const innerRadius = this.computeLayoutInnerRadius();\n const endPoint = this.coordToPoint({ angle: this._startAngle, radius });\n const startPoint = this.coordToPoint({ angle: this._startAngle, radius: innerRadius });\n const distance = PointService.distancePP(startPoint, endPoint);\n const items = this.getLabelItems(distance);\n const commonAttrs = {\n ...this.getLayoutStartPoint(),\n start: startPoint,\n end: endPoint,\n verticalFactor: -1\n };\n const attrs: any = {\n ...commonAttrs,\n title: {\n text: this._spec.title.text || this._dataFieldText\n },\n items,\n orient: 'radius'\n };\n if (this._spec.grid?.visible) {\n attrs.grid = {\n items: items[0],\n type: this._spec.grid?.smooth ? 'circle' : 'polygon',\n center,\n closed: true,\n sides: this._getRelatedAngleAxis()?.getScale().domain().length,\n startAngle: this._startAngle,\n endAngle: this._endAngle,\n ...commonAttrs\n };\n }\n this._update(attrs);\n }\n\n protected _getRelatedAngleAxis(): IPolarAxis | undefined {\n const index = (this._option as any).angleAxisIndex;\n if (isValid(index)) {\n return this._option.getComponentByIndex(this.specKey, index) as IPolarAxis;\n }\n return undefined;\n }\n\n private computeLayoutOuterRadius() {\n /**\n * 兼容radius旧配置\n * @deprecated use outerRadius instead\n */\n const radius = this._spec.outerRadius ?? this._spec.radius;\n const outerRadius = radius ?? this.getRefSeriesRadius().outerRadius;\n const { width, height } = this.getRefLayoutRect();\n return (Math.min(width, height) / 2) * outerRadius;\n }\n\n private computeLayoutInnerRadius() {\n const innerRadius = this._spec.innerRadius ?? this.getRefSeriesRadius().innerRadius;\n const { width, height } = this.getRefLayoutRect();\n return (Math.min(width, height) / 2) * innerRadius;\n }\n\n private getRefLayoutRect() {\n return this.getRegions()[0].getLayoutRect();\n }\n\n private getRefSeriesRadius() {\n let outerRadius: number = POLAR_DEFAULT_RADIUS;\n let innerRadius: number = 0;\n const chartSpec = this.getChart().getSpec() as any;\n // FIXME: 为了保证 common 图表能够应用系列的 radius 配置,当前从相应的 region 中取到 radius 信息\n eachSeries(\n this.getRegions(),\n s => {\n const series = s as IPolarSeries;\n if (isPolarAxisSeries(series.type)) {\n const {\n outerRadius: seriesRadius = chartSpec.outerRadius,\n innerRadius: seriesInnerRadius = chartSpec.innerRadius\n } = series;\n if (isValidNumber(seriesRadius)) {\n outerRadius = seriesRadius;\n }\n if (isValidNumber(seriesInnerRadius)) {\n innerRadius = seriesInnerRadius;\n }\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return { outerRadius, innerRadius };\n }\n\n private _update(attrs: Dict<unknown>) {\n const { grid: gridAttrs, ...axisAttrs } = attrs;\n const axisProduct = this._axisMark.getProduct(); // 获取语法元素并更新\n axisProduct.encode(mergeSpec({}, this._axisStyle, axisAttrs));\n\n if (this._gridMark) {\n const gridProduct = this._gridMark.getProduct(); // 获取语法元素并更新\n gridProduct.encode(mergeSpec({}, this._gridStyle, gridAttrs));\n }\n }\n\n invert(value: number): number {\n if (this.getOrient() === 'angle' && this._scale.type === 'band') {\n //极坐标轴需要手动取模,超出range时默认会截断\n const range = this._scale.range();\n const rangeValue = range[range.length - 1] - range[0];\n const bandPosition = (this.getSpec() as IBandAxisSpec).bandPosition ?? this._defaultBandPosition;\n const offset = bandPosition === 0.5 ? 0 : (this._scale as BandScale).bandwidth() / 2;\n if (range[0] < 0) {\n const angle = value + offset;\n const transformedAngle = ((angle + Math.abs(range[0])) % rangeValue) - Math.abs(range[0]);\n return this._scale.invert(transformedAngle);\n }\n return this._scale.invert((value + offset) % rangeValue);\n }\n\n return this._scale.invert(value);\n }\n}\n"]}
@@ -1,3 +1,8 @@
1
1
  import type { ITheme } from '../../theme';
2
+ import { type IOrientType } from '../../typings';
3
+ import type { ComponentThemeWithDirection } from '../interface';
2
4
  import { ComponentTypeEnum } from '../interface/type';
3
5
  export declare function getComponentThemeFromGlobalTheme(type: ComponentTypeEnum, chartTheme: ITheme, componentSpec: any, chartSpec: any): any;
6
+ export declare const getComponentThemeWithDirection: <T>(componentSpec: {
7
+ orient?: IOrientType;
8
+ }, originalTheme: ComponentThemeWithDirection<T>) => T;
@@ -2,55 +2,63 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.getComponentThemeFromGlobalTheme = void 0;
5
+ }), exports.getComponentThemeWithDirection = exports.getComponentThemeFromGlobalTheme = void 0;
6
6
 
7
- const common_1 = require("../axis/cartesian/util/common"), util_1 = require("../axis/util"), util_2 = require("../crosshair/util"), util_3 = require("../data-zoom/util"), type_1 = require("../interface/type"), util_4 = require("../legend/util"), util_5 = require("../util");
7
+ const util_1 = require("../../util"), common_1 = require("../axis/cartesian/util/common"), util_2 = require("../axis/util"), utils_1 = require("../crosshair/utils"), type_1 = require("../interface/type"), util_3 = require("../util");
8
8
 
9
9
  function getComponentThemeFromGlobalTheme(type, chartTheme, componentSpec, chartSpec) {
10
10
  switch (type) {
11
11
  case type_1.ComponentTypeEnum.cartesianBandAxis:
12
- return (0, util_1.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec, [ "z" ]), "band", chartTheme);
12
+ return (0, util_2.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec, [ "z" ]), "band", chartTheme);
13
13
 
14
14
  case type_1.ComponentTypeEnum.cartesianLinearAxis:
15
- return (0, util_1.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec, [ "z" ]), "linear", chartTheme);
15
+ return (0, util_2.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec, [ "z" ]), "linear", chartTheme);
16
16
 
17
17
  case type_1.ComponentTypeEnum.cartesianLogAxis:
18
- return (0, util_1.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec, [ "z" ]), "log", chartTheme);
18
+ return (0, util_2.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec, [ "z" ]), "log", chartTheme);
19
19
 
20
20
  case type_1.ComponentTypeEnum.cartesianSymlogAxis:
21
- return (0, util_1.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec, [ "z" ]), "symlog", chartTheme);
21
+ return (0, util_2.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec, [ "z" ]), "symlog", chartTheme);
22
22
 
23
23
  case type_1.ComponentTypeEnum.cartesianAxis:
24
24
  case type_1.ComponentTypeEnum.cartesianTimeAxis:
25
- return (0, util_1.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec), void 0, chartTheme);
25
+ return (0, util_2.getCartesianAxisTheme)((0, common_1.getOrient)(componentSpec), void 0, chartTheme);
26
26
 
27
27
  case type_1.ComponentTypeEnum.polarBandAxis:
28
- return (0, util_1.getPolarAxisTheme)(componentSpec.orient, "band", chartTheme);
28
+ return (0, util_2.getPolarAxisTheme)(componentSpec.orient, "band", chartTheme);
29
29
 
30
30
  case type_1.ComponentTypeEnum.polarLinearAxis:
31
- return (0, util_1.getPolarAxisTheme)(componentSpec.orient, "linear", chartTheme);
31
+ return (0, util_2.getPolarAxisTheme)(componentSpec.orient, "linear", chartTheme);
32
32
 
33
33
  case type_1.ComponentTypeEnum.polarAxis:
34
- return (0, util_1.getPolarAxisTheme)(componentSpec.orient, void 0, chartTheme);
34
+ return (0, util_2.getPolarAxisTheme)(componentSpec.orient, void 0, chartTheme);
35
35
 
36
36
  case type_1.ComponentTypeEnum.cartesianCrosshair:
37
- return (0, util_2.getCartesianCrosshairTheme)(chartTheme, chartSpec);
37
+ return (0, utils_1.getCartesianCrosshairTheme)(chartTheme, chartSpec);
38
38
 
39
39
  case type_1.ComponentTypeEnum.polarCrosshair:
40
- return (0, util_2.getPolarCrosshairTheme)(chartTheme, chartSpec);
40
+ return (0, utils_1.getPolarCrosshairTheme)(chartTheme, chartSpec);
41
41
 
42
42
  case type_1.ComponentTypeEnum.colorLegend:
43
43
  case type_1.ComponentTypeEnum.sizeLegend:
44
- return (0, util_5.getComponentThemeFromOption)(`${type}.${(0, util_4.getLayout)(componentSpec)}`, chartTheme);
45
-
44
+ case type_1.ComponentTypeEnum.discreteLegend:
46
45
  case type_1.ComponentTypeEnum.dataZoom:
47
46
  case type_1.ComponentTypeEnum.scrollBar:
48
- return (0, util_3.getDataFilterTheme)((0, common_1.getOrient)(componentSpec), type, chartTheme);
47
+ return (0, exports.getComponentThemeWithDirection)(componentSpec, (0, util_3.getComponentThemeFromOption)(type, chartTheme));
49
48
 
50
49
  default:
51
- return (0, util_5.getComponentThemeFromOption)(type, chartTheme);
50
+ return (0, util_3.getComponentThemeFromOption)(type, chartTheme);
52
51
  }
53
52
  }
54
53
 
55
54
  exports.getComponentThemeFromGlobalTheme = getComponentThemeFromGlobalTheme;
55
+
56
+ const getComponentThemeWithDirection = (componentSpec, originalTheme) => {
57
+ var _a;
58
+ const orient = null !== (_a = componentSpec.orient) && void 0 !== _a ? _a : originalTheme.orient, directionTheme = originalTheme[(0,
59
+ common_1.getDirectionByOrient)(orient)], finalTheme = (0, util_1.mergeSpec)({}, originalTheme, directionTheme);
60
+ return delete finalTheme.horizontal, delete finalTheme.vertical, finalTheme;
61
+ };
62
+
63
+ exports.getComponentThemeWithDirection = getComponentThemeWithDirection;
56
64
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/base/util.ts"],"names":[],"mappings":";;;AACA,0DAA0D;AAC1D,uCAAwE;AACxE,4CAAuF;AACvF,4CAAuD;AACvD,4CAAsD;AACtD,yCAA2C;AAC3C,kCAAsD;AAEtD,SAAgB,gCAAgC,CAC9C,IAAuB,EACvB,UAAkB,EAClB,aAAkB,EAClB,SAAc;IAEd,QAAQ,IAAI,EAAE;QACZ,KAAK,wBAAiB,CAAC,iBAAiB;YACtC,OAAO,IAAA,4BAAqB,EAAC,IAAA,kBAAS,EAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACpF,KAAK,wBAAiB,CAAC,mBAAmB;YACxC,OAAO,IAAA,4BAAqB,EAAC,IAAA,kBAAS,EAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACtF,KAAK,wBAAiB,CAAC,gBAAgB;YACrC,OAAO,IAAA,4BAAqB,EAAC,IAAA,kBAAS,EAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACnF,KAAK,wBAAiB,CAAC,mBAAmB;YACxC,OAAO,IAAA,4BAAqB,EAAC,IAAA,kBAAS,EAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACtF,KAAK,wBAAiB,CAAC,aAAa,CAAC;QACrC,KAAK,wBAAiB,CAAC,iBAAiB;YACtC,OAAO,IAAA,4BAAqB,EAAC,IAAA,kBAAS,EAAC,aAAa,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAChF,KAAK,wBAAiB,CAAC,aAAa;YAClC,OAAO,IAAA,wBAAiB,EAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACrE,KAAK,wBAAiB,CAAC,eAAe;YACpC,OAAO,IAAA,wBAAiB,EAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACvE,KAAK,wBAAiB,CAAC,SAAS;YAC9B,OAAO,IAAA,wBAAiB,EAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACxE,KAAK,wBAAiB,CAAC,kBAAkB;YACvC,OAAO,IAAA,iCAA0B,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC3D,KAAK,wBAAiB,CAAC,cAAc;YACnC,OAAO,IAAA,6BAAsB,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACvD,KAAK,wBAAiB,CAAC,WAAW,CAAC;QACnC,KAAK,wBAAiB,CAAC,UAAU;YAC/B,OAAO,IAAA,kCAA2B,EAAC,GAAG,IAAI,IAAI,IAAA,gBAAS,EAAC,aAAa,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACxF,KAAK,wBAAiB,CAAC,QAAQ,CAAC;QAChC,KAAK,wBAAiB,CAAC,SAAS;YAC9B,OAAO,IAAA,yBAAkB,EAAC,IAAA,kBAAS,EAAC,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACxE;YACE,OAAO,IAAA,kCAA2B,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;KACxD;AACH,CAAC;AArCD,4EAqCC","file":"util.js","sourcesContent":["import type { ITheme } from '../../theme';\nimport { getOrient } from '../axis/cartesian/util/common';\nimport { getCartesianAxisTheme, getPolarAxisTheme } from '../axis/util';\nimport { getCartesianCrosshairTheme, getPolarCrosshairTheme } from '../crosshair/util';\nimport { getDataFilterTheme } from '../data-zoom/util';\nimport { ComponentTypeEnum } from '../interface/type';\nimport { getLayout } from '../legend/util';\nimport { getComponentThemeFromOption } from '../util';\n\nexport function getComponentThemeFromGlobalTheme(\n type: ComponentTypeEnum,\n chartTheme: ITheme,\n componentSpec: any,\n chartSpec: any\n) {\n switch (type) {\n case ComponentTypeEnum.cartesianBandAxis:\n return getCartesianAxisTheme(getOrient(componentSpec, ['z']), 'band', chartTheme);\n case ComponentTypeEnum.cartesianLinearAxis:\n return getCartesianAxisTheme(getOrient(componentSpec, ['z']), 'linear', chartTheme);\n case ComponentTypeEnum.cartesianLogAxis:\n return getCartesianAxisTheme(getOrient(componentSpec, ['z']), 'log', chartTheme);\n case ComponentTypeEnum.cartesianSymlogAxis:\n return getCartesianAxisTheme(getOrient(componentSpec, ['z']), 'symlog', chartTheme);\n case ComponentTypeEnum.cartesianAxis:\n case ComponentTypeEnum.cartesianTimeAxis:\n return getCartesianAxisTheme(getOrient(componentSpec), undefined, chartTheme);\n case ComponentTypeEnum.polarBandAxis:\n return getPolarAxisTheme(componentSpec.orient, 'band', chartTheme);\n case ComponentTypeEnum.polarLinearAxis:\n return getPolarAxisTheme(componentSpec.orient, 'linear', chartTheme);\n case ComponentTypeEnum.polarAxis:\n return getPolarAxisTheme(componentSpec.orient, undefined, chartTheme);\n case ComponentTypeEnum.cartesianCrosshair:\n return getCartesianCrosshairTheme(chartTheme, chartSpec);\n case ComponentTypeEnum.polarCrosshair:\n return getPolarCrosshairTheme(chartTheme, chartSpec);\n case ComponentTypeEnum.colorLegend:\n case ComponentTypeEnum.sizeLegend:\n return getComponentThemeFromOption(`${type}.${getLayout(componentSpec)}`, chartTheme);\n case ComponentTypeEnum.dataZoom:\n case ComponentTypeEnum.scrollBar:\n return getDataFilterTheme(getOrient(componentSpec), type, chartTheme);\n default:\n return getComponentThemeFromOption(type, chartTheme);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/base/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import type { ITheme } from '../../theme';\nimport { Direction, type IOrientType } from '../../typings';\nimport { mergeSpec } from '../../util';\nimport { getDirectionByOrient, getOrient } from '../axis/cartesian/util/common';\nimport { getCartesianAxisTheme, getPolarAxisTheme } from '../axis/util';\nimport { getCartesianCrosshairTheme, getPolarCrosshairTheme } from '../crosshair/utils';\nimport type { ComponentThemeWithDirection } from '../interface';\nimport { ComponentTypeEnum } from '../interface/type';\nimport { getComponentThemeFromOption } from '../util';\n\nexport function getComponentThemeFromGlobalTheme(\n type: ComponentTypeEnum,\n chartTheme: ITheme,\n componentSpec: any,\n chartSpec: any\n) {\n switch (type) {\n case ComponentTypeEnum.cartesianBandAxis:\n return getCartesianAxisTheme(getOrient(componentSpec, ['z']), 'band', chartTheme);\n case ComponentTypeEnum.cartesianLinearAxis:\n return getCartesianAxisTheme(getOrient(componentSpec, ['z']), 'linear', chartTheme);\n case ComponentTypeEnum.cartesianLogAxis:\n return getCartesianAxisTheme(getOrient(componentSpec, ['z']), 'log', chartTheme);\n case ComponentTypeEnum.cartesianSymlogAxis:\n return getCartesianAxisTheme(getOrient(componentSpec, ['z']), 'symlog', chartTheme);\n case ComponentTypeEnum.cartesianAxis:\n case ComponentTypeEnum.cartesianTimeAxis:\n return getCartesianAxisTheme(getOrient(componentSpec), undefined, chartTheme);\n case ComponentTypeEnum.polarBandAxis:\n return getPolarAxisTheme(componentSpec.orient, 'band', chartTheme);\n case ComponentTypeEnum.polarLinearAxis:\n return getPolarAxisTheme(componentSpec.orient, 'linear', chartTheme);\n case ComponentTypeEnum.polarAxis:\n return getPolarAxisTheme(componentSpec.orient, undefined, chartTheme);\n case ComponentTypeEnum.cartesianCrosshair:\n return getCartesianCrosshairTheme(chartTheme, chartSpec);\n case ComponentTypeEnum.polarCrosshair:\n return getPolarCrosshairTheme(chartTheme, chartSpec);\n case ComponentTypeEnum.colorLegend:\n case ComponentTypeEnum.sizeLegend:\n case ComponentTypeEnum.discreteLegend:\n case ComponentTypeEnum.dataZoom:\n case ComponentTypeEnum.scrollBar:\n return getComponentThemeWithDirection(componentSpec, getComponentThemeFromOption(type, chartTheme));\n default:\n return getComponentThemeFromOption(type, chartTheme);\n }\n}\n\nexport const getComponentThemeWithDirection = <T>(\n componentSpec: { orient?: IOrientType },\n originalTheme: ComponentThemeWithDirection<T>\n): T => {\n const orient = componentSpec.orient ?? originalTheme.orient;\n const directionTheme = originalTheme[getDirectionByOrient(orient)];\n const finalTheme = mergeSpec({}, originalTheme, directionTheme);\n\n delete finalTheme[Direction.horizontal];\n delete finalTheme[Direction.vertical];\n return finalTheme;\n};\n"]}
@@ -22,6 +22,7 @@ export interface IHair {
22
22
  label?: {
23
23
  visible: boolean;
24
24
  formatMethod?: (text: StringOrNumber | string[], position: string) => string | string[];
25
+ formatter?: string | string[];
25
26
  textStyle?: Dict<any>;
26
27
  minWidth?: number;
27
28
  maxWidth?: number;
@@ -30,6 +31,9 @@ export interface IHair {
30
31
  zIndex?: number;
31
32
  };
32
33
  }
34
+ export interface IHairRadius extends IHair {
35
+ smooth?: boolean;
36
+ }
33
37
  export declare abstract class BaseCrossHair<T extends ICartesianCrosshairSpec | IPolarCrosshairSpec> extends BaseComponent<T> implements ICrossHair {
34
38
  static specKey: string;
35
39
  specKey: string;
@@ -75,7 +79,6 @@ export declare abstract class BaseCrossHair<T extends ICartesianCrosshairSpec |
75
79
  onLayoutEnd(ctx: IModelLayoutOption): void;
76
80
  onRender(ctx: IModelRenderOption): void;
77
81
  protected _releaseEvent(): void;
78
- protected _firstSeries<T>(): T | null;
79
82
  protected _parseCrosshairSpec(): void;
80
83
  protected _parseField(field: ICrosshairCategoryFieldSpec, fieldName: string): any;
81
84
  protected _filterAxisByPoint<T>(axisMap: IAxisInfo<T>, relativeX: number, relativeY: number): IAxisInfo<T>;
@@ -174,16 +174,6 @@ class BaseCrossHair extends base_component_1.BaseComponent {
174
174
  this._eventOff(cfg.in, !1, cfg.click), cfg.out && this._eventOff(cfg.out, !0);
175
175
  }));
176
176
  }
177
- _firstSeries() {
178
- for (let i = 0; i < this._regions.length; i++) {
179
- const series = this._regions[i].getSeries();
180
- for (let j = 0; j < series.length; j++) {
181
- const s = series[j];
182
- if (s) return s;
183
- }
184
- }
185
- return null;
186
- }
187
177
  _parseCrosshairSpec() {
188
178
  this._parseFieldInfo();
189
179
  const {trigger: trigger, triggerOff: triggerOff, labelZIndex: labelZIndex, gridZIndex: gridZIndex} = this._spec;
@@ -218,6 +208,7 @@ class BaseCrossHair extends base_component_1.BaseComponent {
218
208
  hair.label = {
219
209
  visible: !0,
220
210
  formatMethod: label.formatMethod,
211
+ formatter: label.formatter,
221
212
  minWidth: labelBackground.minWidth,
222
213
  maxWidth: labelBackground.maxWidth,
223
214
  padding: labelBackground.padding,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/crosshair/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["import type { Dict, IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { throttle, PointService, isEqual, array, isArray, isNumber, get, isBoolean } from '@visactor/vutils';\nimport { RenderModeEnum } from '../../typings/spec/common';\nimport type { BaseEventParams, EventType } from '../../event/interface';\nimport type { IModelLayoutOption, IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport { BaseComponent } from '../base/base-component';\nimport type { IPadding, Maybe, StringOrNumber } from '../../typings';\nimport { outOfBounds } from '../../util/math';\nimport type { IComponentOption } from '../interface';\nimport type {\n ICrossHair,\n CrossHairTrigger,\n ICartesianCrosshairSpec,\n IPolarCrosshairSpec,\n ICrosshairCategoryFieldSpec\n} from './interface';\nimport { Event_Bubble_Level, Event_Source_Type, LayoutZIndex } from '../../constant';\nimport { getDefaultCrosshairTriggerEventByMode } from './config';\nimport type { IPolarAxis } from '../axis/polar/interface';\nimport type { IAxis } from '../axis/interface';\n\nexport type IBound = { x1: number; y1: number; x2: number; y2: number };\nexport type IAxisInfo<T> = Map<number, IBound & { axis: T }>;\n\nexport interface IHair {\n /** 是否展示 crosshair 辅助图形 */\n visible: boolean;\n /** 类型 */\n type: 'rect' | 'line';\n /** 样式 */\n style?: Dict<any>;\n label?: {\n /** 文本是否可见 */\n visible: boolean;\n /** 格式化函数 */\n formatMethod?: (text: StringOrNumber | string[], position: string) => string | string[];\n /** 文本样式 */\n textStyle?: Dict<any>;\n minWidth?: number;\n maxWidth?: number;\n padding?: IPadding | number | number[];\n panel?: Dict<any>;\n zIndex?: number;\n };\n}\n\nconst ORIENT_MAP = {\n x: ['top', 'bottom'],\n y: ['left', 'right'],\n category: ['angle'],\n value: ['radius']\n};\n\nexport abstract class BaseCrossHair<T extends ICartesianCrosshairSpec | IPolarCrosshairSpec>\n extends BaseComponent<T>\n implements ICrossHair\n{\n static specKey = 'crosshair';\n specKey = 'crosshair';\n\n layoutType: 'none' = 'none';\n gridZIndex: number = LayoutZIndex.CrossHair_Grid;\n labelZIndex: number = LayoutZIndex.CrossHair;\n trigger: CrossHairTrigger = 'hover';\n enable: boolean;\n showDefault: boolean;\n triggerOff: 'none' | number; // 为none则不消失\n\n private _timer?: number;\n private _clickLock?: boolean;\n private _hasActive?: boolean;\n\n get enableRemain(): boolean {\n return this.triggerOff === 'none';\n }\n\n private _limitBounds: Maybe<IBoundsLike>;\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this.enable = true;\n this.showDefault = true;\n }\n\n protected abstract _showDefaultCrosshairBySpec(): void;\n protected abstract _layoutCrosshair(x: number, y: number): void;\n protected abstract _parseFieldInfo(): void;\n abstract hide(): void;\n\n protected _getLimitBounds() {\n if (!this._limitBounds) {\n const { width, height } = this._option.globalInstance.getChart()?.getCanvasRect() ?? {\n width: 0,\n height: 0\n };\n this._limitBounds = {\n x1: 0,\n y1: 0,\n x2: width,\n y2: height\n };\n }\n return this._limitBounds;\n }\n\n protected _showDefaultCrosshair() {\n if (!this.showDefault) {\n return;\n }\n\n this._showDefaultCrosshairBySpec();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._parseCrosshairSpec();\n }\n\n created() {\n super.created();\n // event\n this._initEvent();\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!result.reMake && !isEqual(prevSpec, spec)) {\n result.reRender = true;\n result.reMake = true;\n }\n return result;\n }\n\n protected _initEvent() {\n if (this._option.disableTriggerEvent) {\n return;\n }\n const triggerConfig = this._getTriggerEvent();\n\n if (triggerConfig) {\n triggerConfig.forEach(cfg => {\n this._registerEvent(cfg.in, false, cfg.click);\n cfg.out && this._registerEvent(cfg.out, true);\n });\n }\n }\n\n private _registerEvent(eventName: EventType | EventType[], isOut?: boolean, click?: boolean) {\n const handler = isOut ? this._handleOutEvent : click ? this._handleClickInEvent : this._handleHoverInEvent;\n const cfg = isOut ? { level: Event_Bubble_Level.chart } : { source: Event_Source_Type.chart };\n\n if (isArray(eventName)) {\n eventName.forEach(evt => {\n this.event.on(evt, cfg, handler);\n });\n } else {\n this.event.on(eventName, cfg, handler);\n }\n }\n\n private _eventOff(eventName: EventType | EventType[], isOut?: boolean, click?: boolean) {\n const handler = isOut ? this._handleOutEvent : click ? this._handleClickInEvent : this._handleHoverInEvent;\n if (isArray(eventName)) {\n eventName.forEach(evt => {\n this.event.off(evt, handler);\n });\n } else {\n this.event.off(eventName, handler);\n }\n }\n\n updateLayoutAttribute() {\n this._limitBounds = null;\n this._showDefaultCrosshair();\n }\n\n private _handleIn = (params: any) => {\n if (!this._option) {\n return;\n }\n const { event } = params as BaseEventParams;\n // compute layer offset\n const layer = this._option.getCompiler().getStage().getLayer(undefined);\n const point = { x: event.viewX, y: event.viewY };\n layer.globalTransMatrix.transformPoint({ x: event.viewX, y: event.viewY }, point);\n const x = point.x - this.getLayoutStartPoint().x;\n const y = point.y - this.getLayoutStartPoint().y;\n this.showDefault = false;\n this._layoutCrosshair(x, y);\n\n const components = this._getNeedClearVRenderComponents();\n this._hasActive = components.some(comp => comp && comp.attribute.visible);\n };\n\n private _handleClickInEvent = (params: any) => {\n this._handleIn(params);\n\n this._clickLock = this._hasActive && this._spec.lockAfterClick;\n\n if (this._clickLock && isNumber(this.triggerOff)) {\n if (this._timer) {\n clearTimeout(this._timer);\n }\n\n this._timer = setTimeout(() => {\n this._clickLock = false;\n this._handleOutEvent();\n }, this.triggerOff as number) as unknown as number;\n }\n };\n\n private _handleHoverInEvent = throttle((params: any) => {\n if (this._clickLock) {\n return;\n }\n\n this._handleIn(params);\n }, 10);\n\n private _handleOutEvent = () => {\n if (this.enableRemain || this._clickLock || !this._hasActive) {\n return;\n }\n this.clearEvent();\n\n this.hide();\n };\n\n private _getTriggerEvent() {\n const { mode = RenderModeEnum['desktop-browser'] } = this._option;\n const triggerConfig = getDefaultCrosshairTriggerEventByMode(mode);\n if (triggerConfig) {\n const trigger = this.trigger || 'hover';\n const outTrigger = (inTrigger: CrossHairTrigger) => {\n if (inTrigger === 'click') {\n return this.triggerOff === 'none' ? null : triggerConfig.clickOut;\n }\n return 'hoverOut';\n };\n if (isArray(trigger)) {\n // 同时配置了多个触发事件\n const res: { in: EventType | EventType[]; out: EventType | EventType[]; click: boolean }[] = [];\n trigger.forEach(item => {\n res.push({\n click: item === 'click',\n in: triggerConfig[item],\n out: outTrigger(item)\n });\n });\n return res;\n }\n return [\n {\n click: trigger === 'click',\n in: triggerConfig[trigger],\n out: outTrigger(trigger)\n }\n ];\n }\n return null;\n }\n\n protected _getAxisInfoByField<T = IAxis>(field: 'x' | 'y' | 'category' | 'value') {\n // 加判空防止某些特殊时刻(如 updateSpec 时)鼠标滑过图表导致报错\n const axesComponents = this._option.getComponentsByKey?.('axes') as IAxis[];\n if (!axesComponents?.length) {\n return null;\n }\n let bindingAxesIndex: number[] = get(this._spec, `${field}Field.bindingAxesIndex`);\n if (!bindingAxesIndex) {\n bindingAxesIndex = [];\n axesComponents.forEach((item, index) => {\n if (ORIENT_MAP[field].includes(item.getOrient())) {\n bindingAxesIndex.push(index);\n }\n });\n }\n if (!bindingAxesIndex.length) {\n return null;\n }\n\n const map: IAxisInfo<T> = new Map();\n let x1 = Infinity;\n let y1 = Infinity;\n let x2 = -Infinity;\n let y2 = -Infinity;\n const { x: sx, y: sy } = this.getLayoutStartPoint();\n bindingAxesIndex.forEach(idx => {\n (x1 = Infinity), (y1 = Infinity), (x2 = -Infinity), (y2 = -Infinity);\n const axis = axesComponents.find(axis => axis.getSpecIndex() === idx);\n if (!axis) {\n return;\n }\n const regions = axis.getRegions();\n regions.forEach(r => {\n const { x: regionStartX, y: regionStartY } = r.getLayoutStartPoint();\n x1 = Math.min(x1, regionStartX - sx);\n y1 = Math.min(y1, regionStartY - sy);\n x2 = Math.max(x2, regionStartX + r.getLayoutRect().width - sx);\n y2 = Math.max(y2, regionStartY + r.getLayoutRect().height - sy);\n });\n map.set(idx, { x1, y1, x2, y2, axis: axis as unknown as T });\n });\n\n return map;\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n onLayoutEnd(ctx: IModelLayoutOption): void {\n const region = this._regions[0];\n this.setLayoutRect(region.getLayoutRect());\n this.setLayoutStartPosition(region.getLayoutStartPoint());\n\n super.onLayoutEnd(ctx);\n }\n\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n\n protected _releaseEvent(): void {\n const triggerConfig = this._getTriggerEvent();\n if (triggerConfig) {\n triggerConfig.forEach(cfg => {\n this._eventOff(cfg.in, false, cfg.click);\n cfg.out && this._eventOff(cfg.out, true);\n });\n }\n }\n\n protected _firstSeries<T>(): T | null {\n for (let i = 0; i < this._regions.length; i++) {\n const r = this._regions[i];\n const series = r.getSeries();\n for (let j = 0; j < series.length; j++) {\n const s = series[j];\n if (s) {\n return s as unknown as T;\n }\n }\n }\n return null;\n }\n\n protected _parseCrosshairSpec() {\n this._parseFieldInfo();\n\n const { trigger, triggerOff, labelZIndex, gridZIndex } = this._spec;\n if (trigger) {\n this.trigger = trigger;\n }\n if (triggerOff === 'none' || (isNumber(triggerOff) && triggerOff > 0)) {\n this.triggerOff = triggerOff;\n }\n if (labelZIndex !== undefined) {\n this.labelZIndex = labelZIndex;\n }\n if (gridZIndex !== undefined) {\n this.gridZIndex = gridZIndex;\n }\n }\n\n protected _parseField(field: ICrosshairCategoryFieldSpec, fieldName: string) {\n const hair = {} as any;\n const { line = {}, label = {}, visible } = field;\n\n hair.visible = visible;\n hair.type = line.type || 'line';\n\n if (line.visible === false) {\n hair.style = { visible: false };\n } else {\n const style = line.style || {};\n const { strokeOpacity, fillOpacity, opacity, stroke, fill, lineWidth, ...restStyle } = style as any;\n const isLineType = hair.type === 'line';\n let finalOpacity = isLineType ? strokeOpacity : fillOpacity;\n if (isNumber(opacity)) {\n finalOpacity = (finalOpacity ?? 1) * opacity;\n }\n hair.style = {\n opacity: finalOpacity,\n pickable: false,\n visible: true,\n ...restStyle\n };\n\n if (isLineType) {\n hair.style.stroke = stroke || fill;\n hair.style.lineWidth = get(line, 'width', lineWidth || 2);\n } else {\n hair.style.fill = fill || stroke;\n if (this._spec[fieldName]?.line?.style?.stroke) {\n hair.style.stroke = this._spec[fieldName].line.style.stroke;\n }\n const rectSize = get(line, 'width');\n if (typeof rectSize === 'string') {\n const percent = parseInt(rectSize.substring(0, rectSize.length - 1), 10) / 100;\n hair.style.sizePercent = percent;\n } else if (typeof rectSize === 'number' || typeof rectSize === 'function') {\n hair.style.size = rectSize;\n }\n }\n }\n\n if (!!label.visible) {\n const labelBackground = label.labelBackground || {};\n const labelStyle = label.style || {};\n const {\n fill: rectFill = 'rgba(47, 59, 82, 0.9)',\n stroke: rectStroke,\n outerBorder,\n ...rectStyle\n } = labelBackground.style || {};\n hair.label = {\n visible: true,\n formatMethod: label.formatMethod,\n minWidth: labelBackground.minWidth,\n maxWidth: labelBackground.maxWidth,\n padding: labelBackground.padding,\n textStyle: {\n fontSize: 14,\n pickable: false,\n ...labelStyle,\n fill: labelStyle.fill || '#fff',\n stroke: get(labelStyle, 'stroke')\n },\n panel: (isBoolean(labelBackground.visible) ? labelBackground.visible : !!labelBackground)\n ? {\n visible: true,\n pickable: false,\n fill: rectFill,\n stroke: rectStroke,\n // Note: 通过这个配置可以保证 label 和 轴 label 对齐\n outerBorder: {\n stroke: rectFill,\n distance: 0,\n lineWidth: 3,\n ...outerBorder\n },\n ...rectStyle\n }\n : { visible: false },\n zIndex: this.labelZIndex,\n childrenPickable: false,\n pickable: false\n };\n } else {\n hair.label = { visible: false };\n }\n\n return hair;\n }\n\n protected _filterAxisByPoint<T>(axisMap: IAxisInfo<T>, relativeX: number, relativeY: number) {\n axisMap &&\n axisMap.forEach(item => {\n const axis = item.axis as unknown as IAxis | IPolarAxis;\n if (outOfBounds(item, relativeX, relativeY)) {\n axisMap.delete(axis.getSpecIndex());\n }\n if ((axis as IPolarAxis).type.startsWith('polarAxis')) {\n // 极坐标下需要判断是否在半径内\n const center = (axis as IPolarAxis).getCenter();\n const innerRadius = (axis as IPolarAxis).getInnerRadius();\n const outerRadius = (axis as IPolarAxis).getOuterRadius();\n const distance = PointService.distancePP({ x: relativeX, y: relativeY }, center);\n if (distance > outerRadius || distance < innerRadius) {\n axisMap.delete((axis as IPolarAxis).getSpecIndex());\n }\n }\n });\n return axisMap;\n }\n\n protected clearEvent() {\n if (this._timer) {\n clearTimeout(this._timer);\n this._timer = null;\n }\n if (this._clickLock) {\n this._clickLock = null;\n }\n\n if (this._hasActive) {\n this._hasActive = null;\n }\n }\n\n clear() {\n super.clear();\n this.clearEvent();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/crosshair/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["import type { Dict, IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { throttle, PointService, isEqual, isArray, isNumber, get, isBoolean } from '@visactor/vutils';\nimport { RenderModeEnum } from '../../typings/spec/common';\nimport type { BaseEventParams, EventType } from '../../event/interface';\nimport type { IModelLayoutOption, IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport { BaseComponent } from '../base/base-component';\nimport type { IPadding, Maybe, StringOrNumber } from '../../typings';\nimport { outOfBounds } from '../../util/math';\nimport type { IComponentOption } from '../interface';\nimport type {\n ICrossHair,\n CrossHairTrigger,\n ICartesianCrosshairSpec,\n IPolarCrosshairSpec,\n ICrosshairCategoryFieldSpec\n} from './interface';\nimport { Event_Bubble_Level, Event_Source_Type, LayoutZIndex } from '../../constant';\nimport { getDefaultCrosshairTriggerEventByMode } from './config';\nimport type { IPolarAxis } from '../axis/polar/interface';\nimport type { IAxis } from '../axis/interface';\n\nexport type IBound = { x1: number; y1: number; x2: number; y2: number };\nexport type IAxisInfo<T> = Map<number, IBound & { axis: T }>;\n\nexport interface IHair {\n /** 是否展示 crosshair 辅助图形 */\n visible: boolean;\n /** 类型 */\n type: 'rect' | 'line';\n /** 样式 */\n style?: Dict<any>;\n label?: {\n /** 文本是否可见 */\n visible: boolean;\n /** 格式化函数 */\n formatMethod?: (text: StringOrNumber | string[], position: string) => string | string[];\n /**\n * 格式化模板\n * @description 可以通过类似 `{value:.2f}%` 的形式对指定数据字段进行格式化\n * @since 1.10.0\n */\n formatter?: string | string[];\n /** 文本样式 */\n textStyle?: Dict<any>;\n minWidth?: number;\n maxWidth?: number;\n padding?: IPadding | number | number[];\n panel?: Dict<any>;\n zIndex?: number;\n };\n}\n\nexport interface IHairRadius extends IHair {\n smooth?: boolean;\n}\n\nconst ORIENT_MAP = {\n x: ['top', 'bottom'],\n y: ['left', 'right'],\n category: ['angle'],\n value: ['radius']\n};\n\nexport abstract class BaseCrossHair<T extends ICartesianCrosshairSpec | IPolarCrosshairSpec>\n extends BaseComponent<T>\n implements ICrossHair\n{\n static specKey = 'crosshair';\n specKey = 'crosshair';\n\n layoutType: 'none' = 'none';\n gridZIndex: number = LayoutZIndex.CrossHair_Grid;\n labelZIndex: number = LayoutZIndex.CrossHair;\n trigger: CrossHairTrigger = 'hover';\n enable: boolean;\n showDefault: boolean;\n triggerOff: 'none' | number; // 为none则不消失\n\n private _timer?: number;\n private _clickLock?: boolean;\n private _hasActive?: boolean;\n\n get enableRemain(): boolean {\n return this.triggerOff === 'none';\n }\n\n private _limitBounds: Maybe<IBoundsLike>;\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this.enable = true;\n this.showDefault = true;\n }\n\n protected abstract _showDefaultCrosshairBySpec(): void;\n protected abstract _layoutCrosshair(x: number, y: number): void;\n protected abstract _parseFieldInfo(): void;\n abstract hide(): void;\n\n protected _getLimitBounds() {\n if (!this._limitBounds) {\n const { width, height } = this._option.globalInstance.getChart()?.getCanvasRect() ?? {\n width: 0,\n height: 0\n };\n this._limitBounds = {\n x1: 0,\n y1: 0,\n x2: width,\n y2: height\n };\n }\n return this._limitBounds;\n }\n\n protected _showDefaultCrosshair() {\n if (!this.showDefault) {\n return;\n }\n\n this._showDefaultCrosshairBySpec();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._parseCrosshairSpec();\n }\n\n created() {\n super.created();\n // event\n this._initEvent();\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!result.reMake && !isEqual(prevSpec, spec)) {\n result.reRender = true;\n result.reMake = true;\n }\n return result;\n }\n\n protected _initEvent() {\n if (this._option.disableTriggerEvent) {\n return;\n }\n const triggerConfig = this._getTriggerEvent();\n\n if (triggerConfig) {\n triggerConfig.forEach(cfg => {\n this._registerEvent(cfg.in, false, cfg.click);\n cfg.out && this._registerEvent(cfg.out, true);\n });\n }\n }\n\n private _registerEvent(eventName: EventType | EventType[], isOut?: boolean, click?: boolean) {\n const handler = isOut ? this._handleOutEvent : click ? this._handleClickInEvent : this._handleHoverInEvent;\n const cfg = isOut ? { level: Event_Bubble_Level.chart } : { source: Event_Source_Type.chart };\n\n if (isArray(eventName)) {\n eventName.forEach(evt => {\n this.event.on(evt, cfg, handler);\n });\n } else {\n this.event.on(eventName, cfg, handler);\n }\n }\n\n private _eventOff(eventName: EventType | EventType[], isOut?: boolean, click?: boolean) {\n const handler = isOut ? this._handleOutEvent : click ? this._handleClickInEvent : this._handleHoverInEvent;\n if (isArray(eventName)) {\n eventName.forEach(evt => {\n this.event.off(evt, handler);\n });\n } else {\n this.event.off(eventName, handler);\n }\n }\n\n updateLayoutAttribute() {\n this._limitBounds = null;\n this._showDefaultCrosshair();\n }\n\n private _handleIn = (params: any) => {\n if (!this._option) {\n return;\n }\n const { event } = params as BaseEventParams;\n // compute layer offset\n const layer = this._option.getCompiler().getStage().getLayer(undefined);\n const point = { x: event.viewX, y: event.viewY };\n layer.globalTransMatrix.transformPoint({ x: event.viewX, y: event.viewY }, point);\n const x = point.x - this.getLayoutStartPoint().x;\n const y = point.y - this.getLayoutStartPoint().y;\n this.showDefault = false;\n this._layoutCrosshair(x, y);\n\n const components = this._getNeedClearVRenderComponents();\n this._hasActive = components.some(comp => comp && comp.attribute.visible);\n };\n\n private _handleClickInEvent = (params: any) => {\n this._handleIn(params);\n\n this._clickLock = this._hasActive && this._spec.lockAfterClick;\n\n if (this._clickLock && isNumber(this.triggerOff)) {\n if (this._timer) {\n clearTimeout(this._timer);\n }\n\n this._timer = setTimeout(() => {\n this._clickLock = false;\n this._handleOutEvent();\n }, this.triggerOff as number) as unknown as number;\n }\n };\n\n private _handleHoverInEvent = throttle((params: any) => {\n if (this._clickLock) {\n return;\n }\n\n this._handleIn(params);\n }, 10);\n\n private _handleOutEvent = () => {\n if (this.enableRemain || this._clickLock || !this._hasActive) {\n return;\n }\n this.clearEvent();\n\n this.hide();\n };\n\n private _getTriggerEvent() {\n const { mode = RenderModeEnum['desktop-browser'] } = this._option;\n const triggerConfig = getDefaultCrosshairTriggerEventByMode(mode);\n if (triggerConfig) {\n const trigger = this.trigger || 'hover';\n const outTrigger = (inTrigger: CrossHairTrigger) => {\n if (inTrigger === 'click') {\n return this.triggerOff === 'none' ? null : triggerConfig.clickOut;\n }\n return 'hoverOut';\n };\n if (isArray(trigger)) {\n // 同时配置了多个触发事件\n const res: { in: EventType | EventType[]; out: EventType | EventType[]; click: boolean }[] = [];\n trigger.forEach(item => {\n res.push({\n click: item === 'click',\n in: triggerConfig[item],\n out: outTrigger(item)\n });\n });\n return res;\n }\n return [\n {\n click: trigger === 'click',\n in: triggerConfig[trigger],\n out: outTrigger(trigger)\n }\n ];\n }\n return null;\n }\n\n protected _getAxisInfoByField<T = IAxis>(field: 'x' | 'y' | 'category' | 'value') {\n // 加判空防止某些特殊时刻(如 updateSpec 时)鼠标滑过图表导致报错\n const axesComponents = this._option.getComponentsByKey?.('axes') as IAxis[];\n if (!axesComponents?.length) {\n return null;\n }\n let bindingAxesIndex: number[] = get(this._spec, `${field}Field.bindingAxesIndex`);\n if (!bindingAxesIndex) {\n bindingAxesIndex = [];\n axesComponents.forEach((item, index) => {\n if (ORIENT_MAP[field].includes(item.getOrient())) {\n bindingAxesIndex.push(index);\n }\n });\n }\n if (!bindingAxesIndex.length) {\n return null;\n }\n\n const map: IAxisInfo<T> = new Map();\n let x1 = Infinity;\n let y1 = Infinity;\n let x2 = -Infinity;\n let y2 = -Infinity;\n const { x: sx, y: sy } = this.getLayoutStartPoint();\n bindingAxesIndex.forEach(idx => {\n (x1 = Infinity), (y1 = Infinity), (x2 = -Infinity), (y2 = -Infinity);\n const axis = axesComponents.find(axis => axis.getSpecIndex() === idx);\n if (!axis) {\n return;\n }\n const regions = axis.getRegions();\n regions.forEach(r => {\n const { x: regionStartX, y: regionStartY } = r.getLayoutStartPoint();\n x1 = Math.min(x1, regionStartX - sx);\n y1 = Math.min(y1, regionStartY - sy);\n x2 = Math.max(x2, regionStartX + r.getLayoutRect().width - sx);\n y2 = Math.max(y2, regionStartY + r.getLayoutRect().height - sy);\n });\n map.set(idx, { x1, y1, x2, y2, axis: axis as unknown as T });\n });\n\n return map;\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n onLayoutEnd(ctx: IModelLayoutOption): void {\n const region = this._regions[0];\n this.setLayoutRect(region.getLayoutRect());\n this.setLayoutStartPosition(region.getLayoutStartPoint());\n\n super.onLayoutEnd(ctx);\n }\n\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n\n protected _releaseEvent(): void {\n const triggerConfig = this._getTriggerEvent();\n if (triggerConfig) {\n triggerConfig.forEach(cfg => {\n this._eventOff(cfg.in, false, cfg.click);\n cfg.out && this._eventOff(cfg.out, true);\n });\n }\n }\n\n protected _parseCrosshairSpec() {\n this._parseFieldInfo();\n\n const { trigger, triggerOff, labelZIndex, gridZIndex } = this._spec;\n if (trigger) {\n this.trigger = trigger;\n }\n if (triggerOff === 'none' || (isNumber(triggerOff) && triggerOff > 0)) {\n this.triggerOff = triggerOff;\n }\n if (labelZIndex !== undefined) {\n this.labelZIndex = labelZIndex;\n }\n if (gridZIndex !== undefined) {\n this.gridZIndex = gridZIndex;\n }\n }\n\n protected _parseField(field: ICrosshairCategoryFieldSpec, fieldName: string) {\n const hair = {} as any;\n const { line = {}, label = {}, visible } = field;\n\n hair.visible = visible;\n hair.type = line.type || 'line';\n\n if (line.visible === false) {\n hair.style = { visible: false };\n } else {\n const style = line.style || {};\n const { strokeOpacity, fillOpacity, opacity, stroke, fill, lineWidth, ...restStyle } = style as any;\n const isLineType = hair.type === 'line';\n let finalOpacity = isLineType ? strokeOpacity : fillOpacity;\n if (isNumber(opacity)) {\n finalOpacity = (finalOpacity ?? 1) * opacity;\n }\n hair.style = {\n opacity: finalOpacity,\n pickable: false,\n visible: true,\n ...restStyle\n };\n\n if (isLineType) {\n hair.style.stroke = stroke || fill;\n hair.style.lineWidth = get(line, 'width', lineWidth || 2);\n } else {\n hair.style.fill = fill || stroke;\n if (this._spec[fieldName]?.line?.style?.stroke) {\n hair.style.stroke = this._spec[fieldName].line.style.stroke;\n }\n const rectSize = get(line, 'width');\n if (typeof rectSize === 'string') {\n const percent = parseInt(rectSize.substring(0, rectSize.length - 1), 10) / 100;\n hair.style.sizePercent = percent;\n } else if (typeof rectSize === 'number' || typeof rectSize === 'function') {\n hair.style.size = rectSize;\n }\n }\n }\n\n if (!!label.visible) {\n const labelBackground = label.labelBackground || {};\n const labelStyle = label.style || {};\n const {\n fill: rectFill = 'rgba(47, 59, 82, 0.9)',\n stroke: rectStroke,\n outerBorder,\n ...rectStyle\n } = labelBackground.style || {};\n hair.label = {\n visible: true,\n formatMethod: label.formatMethod,\n formatter: label.formatter,\n minWidth: labelBackground.minWidth,\n maxWidth: labelBackground.maxWidth,\n padding: labelBackground.padding,\n textStyle: {\n fontSize: 14,\n pickable: false,\n ...labelStyle,\n fill: labelStyle.fill || '#fff',\n stroke: get(labelStyle, 'stroke')\n },\n panel: (isBoolean(labelBackground.visible) ? labelBackground.visible : !!labelBackground)\n ? {\n visible: true,\n pickable: false,\n fill: rectFill,\n stroke: rectStroke,\n // Note: 通过这个配置可以保证 label 和 轴 label 对齐\n outerBorder: {\n stroke: rectFill,\n distance: 0,\n lineWidth: 3,\n ...outerBorder\n },\n ...rectStyle\n }\n : { visible: false },\n zIndex: this.labelZIndex,\n childrenPickable: false,\n pickable: false\n };\n } else {\n hair.label = { visible: false };\n }\n\n return hair;\n }\n\n protected _filterAxisByPoint<T>(axisMap: IAxisInfo<T>, relativeX: number, relativeY: number) {\n axisMap &&\n axisMap.forEach(item => {\n const axis = item.axis as unknown as IAxis | IPolarAxis;\n if (outOfBounds(item, relativeX, relativeY)) {\n axisMap.delete(axis.getSpecIndex());\n }\n if ((axis as IPolarAxis).type.startsWith('polarAxis')) {\n // 极坐标下需要判断是否在半径内\n const center = (axis as IPolarAxis).getCenter();\n const innerRadius = (axis as IPolarAxis).getInnerRadius();\n const outerRadius = (axis as IPolarAxis).getOuterRadius();\n const distance = PointService.distancePP({ x: relativeX, y: relativeY }, center);\n if (distance > outerRadius || distance < innerRadius) {\n axisMap.delete((axis as IPolarAxis).getSpecIndex());\n }\n }\n });\n return axisMap;\n }\n\n protected clearEvent() {\n if (this._timer) {\n clearTimeout(this._timer);\n this._timer = null;\n }\n if (this._clickLock) {\n this._clickLock = null;\n }\n\n if (this._hasActive) {\n this._hasActive = null;\n }\n }\n\n clear() {\n super.clear();\n this.clearEvent();\n }\n}\n"]}
@@ -2,7 +2,6 @@ import type { Maybe } from '@visactor/vutils';
2
2
  import type { IComponentOption } from '../interface';
3
3
  import { ComponentTypeEnum } from '../interface/type';
4
4
  import type { ICartesianCrosshairSpec } from './interface';
5
- import type { IBound } from './base';
6
5
  import { BaseCrossHair } from './base';
7
6
  import type { IGraphic } from '@visactor/vrender-core';
8
7
  import type { IAxis } from '../axis/interface';
@@ -32,18 +31,13 @@ export declare class CartesianCrossHair<T extends ICartesianCrosshairSpec = ICar
32
31
  private _findAllAxisContains;
33
32
  private _getValueAt;
34
33
  clearAxisValue(): void;
35
- setAxisValue(v: StringOrNumber, axis: IAxis): void;
34
+ setAxisValue(value: StringOrNumber, axis: IAxis): void;
36
35
  private _getAllAxisValues;
37
36
  protected _layoutCrosshair(relativeX: number, relativeY: number): void;
38
37
  hide(): void;
39
- _setRegionArea(outRegion: IBound, currentValue: Map<number, {
40
- v: StringOrNumber;
41
- axis: IAxis;
42
- }>): void;
43
38
  layoutByValue(tag?: number): void;
44
39
  private _layoutVertical;
45
40
  private _layoutHorizontal;
46
- private _getRectSize;
47
41
  protected _parseFieldInfo(): void;
48
42
  private _updateCrosshair;
49
43
  private _updateCrosshairLabel;