@visactor/vchart 1.5.1-alpha.5 → 1.5.1

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 (611) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +1598 -590
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/base-chart.js +4 -1
  6. package/cjs/chart/base-chart.js.map +1 -1
  7. package/cjs/chart/common/interface.d.ts +2 -1
  8. package/cjs/chart/common/interface.js.map +1 -1
  9. package/cjs/chart/correlation/correlation.d.ts +11 -0
  10. package/cjs/chart/correlation/correlation.js +53 -0
  11. package/cjs/chart/correlation/correlation.js.map +1 -0
  12. package/cjs/chart/correlation/index.d.ts +2 -0
  13. package/cjs/chart/correlation/index.js +21 -0
  14. package/cjs/chart/correlation/index.js.map +1 -0
  15. package/cjs/chart/correlation/interface.d.ts +6 -0
  16. package/cjs/chart/correlation/interface.js +6 -0
  17. package/cjs/chart/correlation/interface.js.map +1 -0
  18. package/cjs/chart/index.d.ts +5 -3
  19. package/cjs/chart/index.js +16 -2
  20. package/cjs/chart/index.js.map +1 -1
  21. package/cjs/chart/interface/type.d.ts +2 -1
  22. package/cjs/chart/interface/type.js +2 -1
  23. package/cjs/chart/interface/type.js.map +1 -1
  24. package/cjs/chart/sequence/sequence.js +0 -1
  25. package/cjs/chart/sequence/sequence.js.map +1 -1
  26. package/cjs/chart/waterfall/waterfall.js.map +1 -1
  27. package/cjs/compile/util.js +2 -1
  28. package/cjs/component/axis/base-axis.d.ts +2 -2
  29. package/cjs/component/axis/base-axis.js.map +1 -1
  30. package/cjs/component/axis/cartesian/axis.d.ts +4 -0
  31. package/cjs/component/axis/cartesian/axis.js +51 -9
  32. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  33. package/cjs/component/axis/cartesian/interface/common.d.ts +6 -1
  34. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  35. package/cjs/component/axis/cartesian/interface/spec.d.ts +2 -1
  36. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  37. package/cjs/component/axis/cartesian/interface/theme.d.ts +2 -1
  38. package/cjs/component/axis/cartesian/interface/theme.js.map +1 -1
  39. package/cjs/component/base/base-component.d.ts +1 -1
  40. package/cjs/component/base/base-component.js.map +1 -1
  41. package/cjs/component/brush/brush.d.ts +2 -2
  42. package/cjs/component/brush/brush.js.map +1 -1
  43. package/cjs/component/brush/interface.d.ts +1 -1
  44. package/cjs/component/brush/interface.js.map +1 -1
  45. package/cjs/component/common/trigger/desktop.d.ts +1 -0
  46. package/cjs/component/common/trigger/desktop.js +1 -0
  47. package/cjs/component/common/trigger/desktop.js.map +1 -1
  48. package/cjs/component/common/trigger/mobile.d.ts +1 -0
  49. package/cjs/component/common/trigger/mobile.js +1 -0
  50. package/cjs/component/common/trigger/mobile.js.map +1 -1
  51. package/cjs/component/crosshair/cartesian.d.ts +2 -2
  52. package/cjs/component/crosshair/cartesian.js.map +1 -1
  53. package/cjs/component/crosshair/polar.d.ts +2 -2
  54. package/cjs/component/crosshair/polar.js.map +1 -1
  55. package/cjs/component/custom-mark/custom-mark.d.ts +2 -2
  56. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  57. package/cjs/component/data-zoom/data-filter-base-component.d.ts +26 -9
  58. package/cjs/component/data-zoom/data-filter-base-component.js +92 -20
  59. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  60. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +2 -3
  61. package/cjs/component/data-zoom/data-zoom/data-zoom.js +16 -8
  62. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  63. package/cjs/component/data-zoom/interface.d.ts +36 -2
  64. package/cjs/component/data-zoom/interface.js.map +1 -1
  65. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +3 -3
  66. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +17 -9
  67. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  68. package/cjs/component/geo/geo-coordinate.d.ts +2 -2
  69. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  70. package/cjs/component/index.js +1 -2
  71. package/cjs/component/indicator/indicator.d.ts +2 -2
  72. package/cjs/component/indicator/indicator.js.map +1 -1
  73. package/cjs/component/interface/common.d.ts +2 -2
  74. package/cjs/component/interface/common.js.map +1 -1
  75. package/cjs/component/label/base-label.d.ts +2 -2
  76. package/cjs/component/label/base-label.js.map +1 -1
  77. package/cjs/component/legend/base-legend.d.ts +2 -2
  78. package/cjs/component/legend/base-legend.js.map +1 -1
  79. package/cjs/component/legend/continuous/legend.d.ts +1 -1
  80. package/cjs/component/legend/discrete/legend.d.ts +1 -1
  81. package/cjs/component/legend/interface.d.ts +3 -0
  82. package/cjs/component/legend/interface.js.map +1 -1
  83. package/cjs/component/map-label/component.d.ts +3 -3
  84. package/cjs/component/map-label/component.js.map +1 -1
  85. package/cjs/component/marker/base-marker.d.ts +2 -2
  86. package/cjs/component/marker/base-marker.js.map +1 -1
  87. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  88. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  89. package/cjs/component/player/player.d.ts +2 -2
  90. package/cjs/component/player/player.js.map +1 -1
  91. package/cjs/component/title/title.d.ts +2 -2
  92. package/cjs/component/title/title.js.map +1 -1
  93. package/cjs/component/tooltip/handler/base.d.ts +1 -1
  94. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  95. package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
  96. package/cjs/component/tooltip/handler/utils/compose.js +2 -1
  97. package/cjs/component/tooltip/handler/utils/compose.js.map +1 -1
  98. package/cjs/component/tooltip/tooltip.d.ts +2 -2
  99. package/cjs/component/tooltip/tooltip.js.map +1 -1
  100. package/cjs/constant/correlation.d.ts +3 -0
  101. package/cjs/constant/correlation.js +11 -0
  102. package/cjs/constant/correlation.js.map +1 -0
  103. package/cjs/constant/index.d.ts +1 -0
  104. package/cjs/constant/index.js +2 -1
  105. package/cjs/constant/index.js.map +1 -1
  106. package/cjs/constant/word-cloud.js +1 -2
  107. package/cjs/core/factory.js +2 -1
  108. package/cjs/core/index.d.ts +1 -1
  109. package/cjs/core/index.js +1 -1
  110. package/cjs/core/index.js.map +1 -1
  111. package/cjs/data/transforms/correlation-center.d.ts +4 -0
  112. package/cjs/data/transforms/correlation-center.js +18 -0
  113. package/cjs/data/transforms/correlation-center.js.map +1 -0
  114. package/cjs/data/transforms/correlation.d.ts +17 -0
  115. package/cjs/data/transforms/correlation.js +58 -0
  116. package/cjs/data/transforms/correlation.js.map +1 -0
  117. package/cjs/interaction/dimension-trigger.js +1 -2
  118. package/cjs/interaction/interaction.js +2 -1
  119. package/cjs/interaction/zoom/zoomable.d.ts +20 -12
  120. package/cjs/interaction/zoom/zoomable.js +94 -74
  121. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  122. package/cjs/layout/base-layout.d.ts +7 -1
  123. package/cjs/layout/base-layout.js +24 -10
  124. package/cjs/layout/base-layout.js.map +1 -1
  125. package/cjs/layout/layout3d/index.d.ts +6 -0
  126. package/cjs/layout/layout3d/index.js +14 -0
  127. package/cjs/layout/layout3d/index.js.map +1 -1
  128. package/cjs/mark/arc-3d.js +1 -1
  129. package/cjs/mark/index.d.ts +3 -2
  130. package/cjs/mark/index.js +10 -1
  131. package/cjs/mark/index.js.map +1 -1
  132. package/cjs/mark/interface/type.d.ts +1 -0
  133. package/cjs/mark/interface/type.js +1 -1
  134. package/cjs/mark/interface/type.js.map +1 -1
  135. package/cjs/mark/ripple.d.ts +12 -0
  136. package/cjs/mark/ripple.js +29 -0
  137. package/cjs/mark/ripple.js.map +1 -0
  138. package/cjs/model/base-model.d.ts +0 -3
  139. package/cjs/model/base-model.js +0 -3
  140. package/cjs/model/base-model.js.map +1 -1
  141. package/cjs/model/interface.d.ts +0 -2
  142. package/cjs/model/interface.js.map +1 -1
  143. package/cjs/series/area/area.js +4 -2
  144. package/cjs/series/area/area.js.map +1 -1
  145. package/cjs/series/bar/bar.d.ts +1 -0
  146. package/cjs/series/bar/bar.js +4 -3
  147. package/cjs/series/bar/bar.js.map +1 -1
  148. package/cjs/series/base/base-series.js +6 -9
  149. package/cjs/series/base/base-series.js.map +1 -1
  150. package/cjs/series/box-plot/box-plot.js +9 -9
  151. package/cjs/series/box-plot/box-plot.js.map +1 -1
  152. package/cjs/series/circle-packing/circle-packing.js +7 -6
  153. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  154. package/cjs/series/correlation/animation.d.ts +8 -0
  155. package/cjs/series/correlation/animation.js +22 -0
  156. package/cjs/series/correlation/animation.js.map +1 -0
  157. package/cjs/series/correlation/constant.d.ts +2 -0
  158. package/cjs/series/correlation/constant.js +27 -0
  159. package/cjs/series/correlation/constant.js.map +1 -0
  160. package/cjs/series/correlation/correlation.d.ts +57 -0
  161. package/cjs/series/correlation/correlation.js +215 -0
  162. package/cjs/series/correlation/correlation.js.map +1 -0
  163. package/cjs/series/correlation/interface.d.ts +37 -0
  164. package/cjs/series/correlation/interface.js +6 -0
  165. package/cjs/series/correlation/interface.js.map +1 -0
  166. package/cjs/series/dot/dot.js +2 -4
  167. package/cjs/series/dot/dot.js.map +1 -1
  168. package/cjs/series/funnel/funnel.js +4 -6
  169. package/cjs/series/funnel/funnel.js.map +1 -1
  170. package/cjs/series/gauge/gauge-pointer.d.ts +1 -0
  171. package/cjs/series/gauge/gauge-pointer.js +4 -2
  172. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  173. package/cjs/series/gauge/gauge.d.ts +1 -0
  174. package/cjs/series/gauge/gauge.js +5 -3
  175. package/cjs/series/gauge/gauge.js.map +1 -1
  176. package/cjs/series/heatmap/heatmap.js +2 -4
  177. package/cjs/series/heatmap/heatmap.js.map +1 -1
  178. package/cjs/series/index.d.ts +4 -2
  179. package/cjs/series/index.js +11 -2
  180. package/cjs/series/index.js.map +1 -1
  181. package/cjs/series/interface/series.d.ts +1 -1
  182. package/cjs/series/interface/series.js.map +1 -1
  183. package/cjs/series/interface/theme.d.ts +2 -0
  184. package/cjs/series/interface/theme.js +3 -2
  185. package/cjs/series/interface/theme.js.map +1 -1
  186. package/cjs/series/interface/type.d.ts +7 -2
  187. package/cjs/series/interface/type.js +4 -2
  188. package/cjs/series/interface/type.js.map +1 -1
  189. package/cjs/series/line/line.d.ts +1 -0
  190. package/cjs/series/line/line.js +4 -0
  191. package/cjs/series/line/line.js.map +1 -1
  192. package/cjs/series/link/link.js +6 -7
  193. package/cjs/series/link/link.js.map +1 -1
  194. package/cjs/series/map/map.js +2 -4
  195. package/cjs/series/map/map.js.map +1 -1
  196. package/cjs/series/mixin/line-mixin.js +2 -5
  197. package/cjs/series/mixin/line-mixin.js.map +1 -1
  198. package/cjs/series/pie/interface.d.ts +2 -0
  199. package/cjs/series/pie/interface.js.map +1 -1
  200. package/cjs/series/pie/pie-3d.js +6 -6
  201. package/cjs/series/pie/pie-3d.js.map +1 -1
  202. package/cjs/series/pie/pie.d.ts +2 -0
  203. package/cjs/series/pie/pie.js +18 -3
  204. package/cjs/series/pie/pie.js.map +1 -1
  205. package/cjs/series/progress/circular/circular.d.ts +1 -0
  206. package/cjs/series/progress/circular/circular.js +5 -3
  207. package/cjs/series/progress/circular/circular.js.map +1 -1
  208. package/cjs/series/progress/linear/linear.js +6 -6
  209. package/cjs/series/progress/linear/linear.js.map +1 -1
  210. package/cjs/series/radar/animation.js.map +1 -1
  211. package/cjs/series/radar/radar.d.ts +1 -0
  212. package/cjs/series/radar/radar.js +6 -2
  213. package/cjs/series/radar/radar.js.map +1 -1
  214. package/cjs/series/range-area/range-area.js +2 -3
  215. package/cjs/series/range-area/range-area.js.map +1 -1
  216. package/cjs/series/range-column/range-column.d.ts +1 -0
  217. package/cjs/series/range-column/range-column.js +11 -11
  218. package/cjs/series/range-column/range-column.js.map +1 -1
  219. package/cjs/series/rose/rose.d.ts +1 -0
  220. package/cjs/series/rose/rose.js +4 -2
  221. package/cjs/series/rose/rose.js.map +1 -1
  222. package/cjs/series/sankey/sankey.js +7 -9
  223. package/cjs/series/sankey/sankey.js.map +1 -1
  224. package/cjs/series/scatter/scatter.d.ts +1 -0
  225. package/cjs/series/scatter/scatter.js +4 -3
  226. package/cjs/series/scatter/scatter.js.map +1 -1
  227. package/cjs/series/sunburst/sunburst.js +4 -6
  228. package/cjs/series/sunburst/sunburst.js.map +1 -1
  229. package/cjs/series/treemap/treemap.js +10 -9
  230. package/cjs/series/treemap/treemap.js.map +1 -1
  231. package/cjs/series/word-cloud/base.d.ts +1 -0
  232. package/cjs/series/word-cloud/base.js +6 -3
  233. package/cjs/series/word-cloud/base.js.map +1 -1
  234. package/cjs/series/word-cloud/word-cloud-3d.js +2 -3
  235. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  236. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js +31 -3
  237. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  238. package/cjs/theme/builtin/common/component/indicator.js +1 -1
  239. package/cjs/theme/builtin/common/component/indicator.js.map +1 -1
  240. package/cjs/theme/builtin/common/component/legend/continuous.js +1 -1
  241. package/cjs/theme/builtin/common/component/legend/continuous.js.map +1 -1
  242. package/cjs/theme/builtin/common/component/legend/discrete-legend.js +1 -1
  243. package/cjs/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  244. package/cjs/theme/builtin/common/component/mark-area.js +12 -10
  245. package/cjs/theme/builtin/common/component/mark-area.js.map +1 -1
  246. package/cjs/theme/builtin/common/component/mark-line.js +19 -12
  247. package/cjs/theme/builtin/common/component/mark-line.js.map +1 -1
  248. package/cjs/theme/builtin/common/component/mark-point.js +8 -2
  249. package/cjs/theme/builtin/common/component/mark-point.js.map +1 -1
  250. package/cjs/theme/builtin/common/component/poptip.js +1 -1
  251. package/cjs/theme/builtin/common/component/poptip.js.map +1 -1
  252. package/cjs/theme/builtin/common/component/title.js +1 -1
  253. package/cjs/theme/builtin/common/component/title.js.map +1 -1
  254. package/cjs/theme/builtin/common/component/tooltip.js +2 -2
  255. package/cjs/theme/builtin/common/component/tooltip.js.map +1 -1
  256. package/cjs/theme/builtin/common/component/total-label.js +1 -1
  257. package/cjs/theme/builtin/common/component/total-label.js.map +1 -1
  258. package/cjs/theme/builtin/common/series/area.js +4 -1
  259. package/cjs/theme/builtin/common/series/area.js.map +1 -1
  260. package/cjs/theme/builtin/common/series/bar.js +4 -1
  261. package/cjs/theme/builtin/common/series/bar.js.map +1 -1
  262. package/cjs/theme/builtin/common/series/circle-packing.js +4 -1
  263. package/cjs/theme/builtin/common/series/circle-packing.js.map +1 -1
  264. package/cjs/theme/builtin/common/series/correlation.d.ts +2 -0
  265. package/cjs/theme/builtin/common/series/correlation.js +22 -0
  266. package/cjs/theme/builtin/common/series/correlation.js.map +1 -0
  267. package/cjs/theme/builtin/common/series/funnel.js +12 -3
  268. package/cjs/theme/builtin/common/series/funnel.js.map +1 -1
  269. package/cjs/theme/builtin/common/series/index.js +3 -2
  270. package/cjs/theme/builtin/common/series/index.js.map +1 -1
  271. package/cjs/theme/builtin/common/series/line.js +4 -1
  272. package/cjs/theme/builtin/common/series/line.js.map +1 -1
  273. package/cjs/theme/builtin/common/series/map.js +4 -1
  274. package/cjs/theme/builtin/common/series/map.js.map +1 -1
  275. package/cjs/theme/builtin/common/series/pie.js +9 -1
  276. package/cjs/theme/builtin/common/series/pie.js.map +1 -1
  277. package/cjs/theme/builtin/common/series/radar.js +4 -1
  278. package/cjs/theme/builtin/common/series/radar.js.map +1 -1
  279. package/cjs/theme/builtin/common/series/rose.js +5 -1
  280. package/cjs/theme/builtin/common/series/rose.js.map +1 -1
  281. package/cjs/theme/builtin/common/series/scatter.js +4 -1
  282. package/cjs/theme/builtin/common/series/scatter.js.map +1 -1
  283. package/cjs/theme/builtin/common/series/treemap.js +4 -1
  284. package/cjs/theme/builtin/common/series/treemap.js.map +1 -1
  285. package/cjs/theme/builtin/dark/color-scheme.js +1 -1
  286. package/cjs/theme/builtin/dark/color-scheme.js.map +1 -1
  287. package/cjs/theme/builtin/light/color-scheme.js +3 -3
  288. package/cjs/theme/builtin/light/color-scheme.js.map +1 -1
  289. package/cjs/theme/color-scheme/builtin/interface.d.ts +1 -1
  290. package/cjs/theme/color-scheme/builtin/interface.js.map +1 -1
  291. package/cjs/theme/color-scheme/interface.d.ts +1 -1
  292. package/cjs/theme/color-scheme/interface.js.map +1 -1
  293. package/cjs/theme/color-scheme/util.js +3 -7
  294. package/cjs/theme/color-scheme/util.js.map +1 -1
  295. package/cjs/typings/event.d.ts +1 -0
  296. package/cjs/typings/event.js +6 -0
  297. package/cjs/typings/event.js.map +1 -0
  298. package/cjs/typings/spec/chart.d.ts +2 -0
  299. package/cjs/typings/spec/chart.js.map +1 -1
  300. package/cjs/typings/spec/common.d.ts +8 -6
  301. package/cjs/typings/spec/common.js.map +1 -1
  302. package/cjs/typings/tooltip/line.d.ts +1 -0
  303. package/cjs/typings/tooltip/line.js.map +1 -1
  304. package/cjs/typings/visual.d.ts +4 -0
  305. package/cjs/typings/visual.js.map +1 -1
  306. package/cjs/vchart-all.js +2 -2
  307. package/cjs/vchart-all.js.map +1 -1
  308. package/esm/chart/base-chart.js +4 -1
  309. package/esm/chart/base-chart.js.map +1 -1
  310. package/esm/chart/common/interface.d.ts +2 -1
  311. package/esm/chart/common/interface.js.map +1 -1
  312. package/esm/chart/correlation/correlation.d.ts +11 -0
  313. package/esm/chart/correlation/correlation.js +52 -0
  314. package/esm/chart/correlation/correlation.js.map +1 -0
  315. package/esm/chart/correlation/index.d.ts +2 -0
  316. package/esm/chart/correlation/index.js +4 -0
  317. package/esm/chart/correlation/index.js.map +1 -0
  318. package/esm/chart/correlation/interface.d.ts +6 -0
  319. package/esm/chart/correlation/interface.js +2 -0
  320. package/esm/chart/correlation/interface.js.map +1 -0
  321. package/esm/chart/index.d.ts +5 -3
  322. package/esm/chart/index.js +4 -2
  323. package/esm/chart/index.js.map +1 -1
  324. package/esm/chart/interface/type.d.ts +2 -1
  325. package/esm/chart/interface/type.js +2 -1
  326. package/esm/chart/interface/type.js.map +1 -1
  327. package/esm/chart/sequence/sequence.js +0 -1
  328. package/esm/chart/sequence/sequence.js.map +1 -1
  329. package/esm/chart/waterfall/waterfall.js.map +1 -1
  330. package/esm/compile/util.js +2 -1
  331. package/esm/component/axis/base-axis.d.ts +2 -2
  332. package/esm/component/axis/base-axis.js.map +1 -1
  333. package/esm/component/axis/cartesian/axis.d.ts +4 -0
  334. package/esm/component/axis/cartesian/axis.js +52 -8
  335. package/esm/component/axis/cartesian/axis.js.map +1 -1
  336. package/esm/component/axis/cartesian/interface/common.d.ts +6 -1
  337. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  338. package/esm/component/axis/cartesian/interface/spec.d.ts +2 -1
  339. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  340. package/esm/component/axis/cartesian/interface/theme.d.ts +2 -1
  341. package/esm/component/axis/cartesian/interface/theme.js.map +1 -1
  342. package/esm/component/base/base-component.d.ts +1 -1
  343. package/esm/component/base/base-component.js.map +1 -1
  344. package/esm/component/brush/brush.d.ts +2 -2
  345. package/esm/component/brush/brush.js.map +1 -1
  346. package/esm/component/brush/interface.d.ts +1 -1
  347. package/esm/component/brush/interface.js.map +1 -1
  348. package/esm/component/common/trigger/desktop.d.ts +1 -0
  349. package/esm/component/common/trigger/desktop.js +1 -0
  350. package/esm/component/common/trigger/desktop.js.map +1 -1
  351. package/esm/component/common/trigger/mobile.d.ts +1 -0
  352. package/esm/component/common/trigger/mobile.js +1 -0
  353. package/esm/component/common/trigger/mobile.js.map +1 -1
  354. package/esm/component/crosshair/cartesian.d.ts +2 -2
  355. package/esm/component/crosshair/cartesian.js.map +1 -1
  356. package/esm/component/crosshair/polar.d.ts +2 -2
  357. package/esm/component/crosshair/polar.js.map +1 -1
  358. package/esm/component/custom-mark/custom-mark.d.ts +2 -2
  359. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  360. package/esm/component/data-zoom/data-filter-base-component.d.ts +26 -9
  361. package/esm/component/data-zoom/data-filter-base-component.js +91 -20
  362. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  363. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +2 -3
  364. package/esm/component/data-zoom/data-zoom/data-zoom.js +17 -9
  365. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  366. package/esm/component/data-zoom/interface.d.ts +36 -2
  367. package/esm/component/data-zoom/interface.js.map +1 -1
  368. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +3 -3
  369. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +18 -10
  370. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  371. package/esm/component/geo/geo-coordinate.d.ts +2 -2
  372. package/esm/component/geo/geo-coordinate.js.map +1 -1
  373. package/esm/component/index.js +1 -2
  374. package/esm/component/indicator/indicator.d.ts +2 -2
  375. package/esm/component/indicator/indicator.js.map +1 -1
  376. package/esm/component/interface/common.d.ts +2 -2
  377. package/esm/component/interface/common.js.map +1 -1
  378. package/esm/component/label/base-label.d.ts +2 -2
  379. package/esm/component/label/base-label.js.map +1 -1
  380. package/esm/component/legend/base-legend.d.ts +2 -2
  381. package/esm/component/legend/base-legend.js.map +1 -1
  382. package/esm/component/legend/continuous/legend.d.ts +1 -1
  383. package/esm/component/legend/discrete/legend.d.ts +1 -1
  384. package/esm/component/legend/interface.d.ts +3 -0
  385. package/esm/component/legend/interface.js.map +1 -1
  386. package/esm/component/map-label/component.d.ts +3 -3
  387. package/esm/component/map-label/component.js.map +1 -1
  388. package/esm/component/marker/base-marker.d.ts +2 -2
  389. package/esm/component/marker/base-marker.js.map +1 -1
  390. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  391. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  392. package/esm/component/player/player.d.ts +2 -2
  393. package/esm/component/player/player.js.map +1 -1
  394. package/esm/component/title/title.d.ts +2 -2
  395. package/esm/component/title/title.js.map +1 -1
  396. package/esm/component/tooltip/handler/base.d.ts +1 -1
  397. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  398. package/esm/component/tooltip/handler/utils/common.js.map +1 -1
  399. package/esm/component/tooltip/handler/utils/compose.js +2 -1
  400. package/esm/component/tooltip/handler/utils/compose.js.map +1 -1
  401. package/esm/component/tooltip/tooltip.d.ts +2 -2
  402. package/esm/component/tooltip/tooltip.js.map +1 -1
  403. package/esm/constant/correlation.d.ts +3 -0
  404. package/esm/constant/correlation.js +8 -0
  405. package/esm/constant/correlation.js.map +1 -0
  406. package/esm/constant/index.d.ts +1 -0
  407. package/esm/constant/index.js +2 -0
  408. package/esm/constant/index.js.map +1 -1
  409. package/esm/constant/word-cloud.js +1 -2
  410. package/esm/core/factory.js +2 -1
  411. package/esm/core/index.d.ts +1 -1
  412. package/esm/core/index.js +1 -1
  413. package/esm/core/index.js.map +1 -1
  414. package/esm/data/transforms/correlation-center.d.ts +4 -0
  415. package/esm/data/transforms/correlation-center.js +14 -0
  416. package/esm/data/transforms/correlation-center.js.map +1 -0
  417. package/esm/data/transforms/correlation.d.ts +17 -0
  418. package/esm/data/transforms/correlation.js +49 -0
  419. package/esm/data/transforms/correlation.js.map +1 -0
  420. package/esm/interaction/dimension-trigger.js +1 -2
  421. package/esm/interaction/interaction.js +2 -1
  422. package/esm/interaction/zoom/zoomable.d.ts +20 -12
  423. package/esm/interaction/zoom/zoomable.js +96 -74
  424. package/esm/interaction/zoom/zoomable.js.map +1 -1
  425. package/esm/layout/base-layout.d.ts +7 -1
  426. package/esm/layout/base-layout.js +24 -10
  427. package/esm/layout/base-layout.js.map +1 -1
  428. package/esm/layout/layout3d/index.d.ts +6 -0
  429. package/esm/layout/layout3d/index.js +14 -0
  430. package/esm/layout/layout3d/index.js.map +1 -1
  431. package/esm/mark/arc-3d.js +1 -1
  432. package/esm/mark/index.d.ts +3 -2
  433. package/esm/mark/index.js +3 -1
  434. package/esm/mark/index.js.map +1 -1
  435. package/esm/mark/interface/type.d.ts +1 -0
  436. package/esm/mark/interface/type.js +1 -1
  437. package/esm/mark/interface/type.js.map +1 -1
  438. package/esm/mark/ripple.d.ts +12 -0
  439. package/esm/mark/ripple.js +27 -0
  440. package/esm/mark/ripple.js.map +1 -0
  441. package/esm/model/base-model.d.ts +0 -3
  442. package/esm/model/base-model.js +0 -3
  443. package/esm/model/base-model.js.map +1 -1
  444. package/esm/model/interface.d.ts +0 -2
  445. package/esm/model/interface.js.map +1 -1
  446. package/esm/series/area/area.js +4 -3
  447. package/esm/series/area/area.js.map +1 -1
  448. package/esm/series/bar/bar.d.ts +1 -0
  449. package/esm/series/bar/bar.js +4 -2
  450. package/esm/series/bar/bar.js.map +1 -1
  451. package/esm/series/base/base-series.js +5 -7
  452. package/esm/series/base/base-series.js.map +1 -1
  453. package/esm/series/box-plot/box-plot.js +10 -8
  454. package/esm/series/box-plot/box-plot.js.map +1 -1
  455. package/esm/series/circle-packing/circle-packing.js +7 -6
  456. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  457. package/esm/series/correlation/animation.d.ts +8 -0
  458. package/esm/series/correlation/animation.js +16 -0
  459. package/esm/series/correlation/animation.js.map +1 -0
  460. package/esm/series/correlation/constant.d.ts +2 -0
  461. package/esm/series/correlation/constant.js +25 -0
  462. package/esm/series/correlation/constant.js.map +1 -0
  463. package/esm/series/correlation/correlation.d.ts +57 -0
  464. package/esm/series/correlation/correlation.js +237 -0
  465. package/esm/series/correlation/correlation.js.map +1 -0
  466. package/esm/series/correlation/interface.d.ts +37 -0
  467. package/esm/series/correlation/interface.js +2 -0
  468. package/esm/series/correlation/interface.js.map +1 -0
  469. package/esm/series/dot/dot.js +2 -3
  470. package/esm/series/dot/dot.js.map +1 -1
  471. package/esm/series/funnel/funnel.js +4 -5
  472. package/esm/series/funnel/funnel.js.map +1 -1
  473. package/esm/series/gauge/gauge-pointer.d.ts +1 -0
  474. package/esm/series/gauge/gauge-pointer.js +4 -2
  475. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  476. package/esm/series/gauge/gauge.d.ts +1 -0
  477. package/esm/series/gauge/gauge.js +5 -3
  478. package/esm/series/gauge/gauge.js.map +1 -1
  479. package/esm/series/heatmap/heatmap.js +2 -4
  480. package/esm/series/heatmap/heatmap.js.map +1 -1
  481. package/esm/series/index.d.ts +4 -2
  482. package/esm/series/index.js +3 -1
  483. package/esm/series/index.js.map +1 -1
  484. package/esm/series/interface/series.d.ts +1 -1
  485. package/esm/series/interface/series.js.map +1 -1
  486. package/esm/series/interface/theme.d.ts +2 -0
  487. package/esm/series/interface/theme.js +4 -1
  488. package/esm/series/interface/theme.js.map +1 -1
  489. package/esm/series/interface/type.d.ts +7 -2
  490. package/esm/series/interface/type.js +4 -2
  491. package/esm/series/interface/type.js.map +1 -1
  492. package/esm/series/line/line.d.ts +1 -0
  493. package/esm/series/line/line.js +4 -0
  494. package/esm/series/line/line.js.map +1 -1
  495. package/esm/series/link/link.js +6 -5
  496. package/esm/series/link/link.js.map +1 -1
  497. package/esm/series/map/map.js +2 -3
  498. package/esm/series/map/map.js.map +1 -1
  499. package/esm/series/mixin/line-mixin.js +3 -5
  500. package/esm/series/mixin/line-mixin.js.map +1 -1
  501. package/esm/series/pie/interface.d.ts +2 -0
  502. package/esm/series/pie/interface.js.map +1 -1
  503. package/esm/series/pie/pie-3d.js +6 -6
  504. package/esm/series/pie/pie-3d.js.map +1 -1
  505. package/esm/series/pie/pie.d.ts +2 -0
  506. package/esm/series/pie/pie.js +16 -2
  507. package/esm/series/pie/pie.js.map +1 -1
  508. package/esm/series/progress/circular/circular.d.ts +1 -0
  509. package/esm/series/progress/circular/circular.js +5 -2
  510. package/esm/series/progress/circular/circular.js.map +1 -1
  511. package/esm/series/progress/linear/linear.js +5 -5
  512. package/esm/series/progress/linear/linear.js.map +1 -1
  513. package/esm/series/radar/animation.js.map +1 -1
  514. package/esm/series/radar/radar.d.ts +1 -0
  515. package/esm/series/radar/radar.js +6 -2
  516. package/esm/series/radar/radar.js.map +1 -1
  517. package/esm/series/range-area/range-area.js +2 -2
  518. package/esm/series/range-area/range-area.js.map +1 -1
  519. package/esm/series/range-column/range-column.d.ts +1 -0
  520. package/esm/series/range-column/range-column.js +10 -11
  521. package/esm/series/range-column/range-column.js.map +1 -1
  522. package/esm/series/rose/rose.d.ts +1 -0
  523. package/esm/series/rose/rose.js +4 -2
  524. package/esm/series/rose/rose.js.map +1 -1
  525. package/esm/series/sankey/sankey.js +7 -9
  526. package/esm/series/sankey/sankey.js.map +1 -1
  527. package/esm/series/scatter/scatter.d.ts +1 -0
  528. package/esm/series/scatter/scatter.js +4 -3
  529. package/esm/series/scatter/scatter.js.map +1 -1
  530. package/esm/series/sunburst/sunburst.js +4 -6
  531. package/esm/series/sunburst/sunburst.js.map +1 -1
  532. package/esm/series/treemap/treemap.js +10 -9
  533. package/esm/series/treemap/treemap.js.map +1 -1
  534. package/esm/series/word-cloud/base.d.ts +1 -0
  535. package/esm/series/word-cloud/base.js +6 -3
  536. package/esm/series/word-cloud/base.js.map +1 -1
  537. package/esm/series/word-cloud/word-cloud-3d.js +2 -3
  538. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  539. package/esm/theme/builtin/common/component/axis/cartesian-axis.js +28 -2
  540. package/esm/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  541. package/esm/theme/builtin/common/component/indicator.js +1 -1
  542. package/esm/theme/builtin/common/component/indicator.js.map +1 -1
  543. package/esm/theme/builtin/common/component/legend/continuous.js +1 -1
  544. package/esm/theme/builtin/common/component/legend/continuous.js.map +1 -1
  545. package/esm/theme/builtin/common/component/legend/discrete-legend.js +1 -1
  546. package/esm/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  547. package/esm/theme/builtin/common/component/mark-area.js +12 -10
  548. package/esm/theme/builtin/common/component/mark-area.js.map +1 -1
  549. package/esm/theme/builtin/common/component/mark-line.js +19 -12
  550. package/esm/theme/builtin/common/component/mark-line.js.map +1 -1
  551. package/esm/theme/builtin/common/component/mark-point.js +8 -2
  552. package/esm/theme/builtin/common/component/mark-point.js.map +1 -1
  553. package/esm/theme/builtin/common/component/poptip.js +1 -1
  554. package/esm/theme/builtin/common/component/poptip.js.map +1 -1
  555. package/esm/theme/builtin/common/component/title.js +1 -1
  556. package/esm/theme/builtin/common/component/title.js.map +1 -1
  557. package/esm/theme/builtin/common/component/tooltip.js +2 -2
  558. package/esm/theme/builtin/common/component/tooltip.js.map +1 -1
  559. package/esm/theme/builtin/common/component/total-label.js +1 -1
  560. package/esm/theme/builtin/common/component/total-label.js.map +1 -1
  561. package/esm/theme/builtin/common/series/area.js +4 -1
  562. package/esm/theme/builtin/common/series/area.js.map +1 -1
  563. package/esm/theme/builtin/common/series/bar.js +4 -1
  564. package/esm/theme/builtin/common/series/bar.js.map +1 -1
  565. package/esm/theme/builtin/common/series/circle-packing.js +4 -1
  566. package/esm/theme/builtin/common/series/circle-packing.js.map +1 -1
  567. package/esm/theme/builtin/common/series/correlation.d.ts +2 -0
  568. package/esm/theme/builtin/common/series/correlation.js +18 -0
  569. package/esm/theme/builtin/common/series/correlation.js.map +1 -0
  570. package/esm/theme/builtin/common/series/funnel.js +12 -3
  571. package/esm/theme/builtin/common/series/funnel.js.map +1 -1
  572. package/esm/theme/builtin/common/series/index.js +4 -1
  573. package/esm/theme/builtin/common/series/index.js.map +1 -1
  574. package/esm/theme/builtin/common/series/line.js +4 -1
  575. package/esm/theme/builtin/common/series/line.js.map +1 -1
  576. package/esm/theme/builtin/common/series/map.js +4 -1
  577. package/esm/theme/builtin/common/series/map.js.map +1 -1
  578. package/esm/theme/builtin/common/series/pie.js +9 -1
  579. package/esm/theme/builtin/common/series/pie.js.map +1 -1
  580. package/esm/theme/builtin/common/series/radar.js +4 -1
  581. package/esm/theme/builtin/common/series/radar.js.map +1 -1
  582. package/esm/theme/builtin/common/series/rose.js +5 -1
  583. package/esm/theme/builtin/common/series/rose.js.map +1 -1
  584. package/esm/theme/builtin/common/series/scatter.js +4 -1
  585. package/esm/theme/builtin/common/series/scatter.js.map +1 -1
  586. package/esm/theme/builtin/common/series/treemap.js +4 -1
  587. package/esm/theme/builtin/common/series/treemap.js.map +1 -1
  588. package/esm/theme/builtin/dark/color-scheme.js +1 -1
  589. package/esm/theme/builtin/dark/color-scheme.js.map +1 -1
  590. package/esm/theme/builtin/light/color-scheme.js +3 -3
  591. package/esm/theme/builtin/light/color-scheme.js.map +1 -1
  592. package/esm/theme/color-scheme/builtin/interface.d.ts +1 -1
  593. package/esm/theme/color-scheme/builtin/interface.js.map +1 -1
  594. package/esm/theme/color-scheme/interface.d.ts +1 -1
  595. package/esm/theme/color-scheme/interface.js.map +1 -1
  596. package/esm/theme/color-scheme/util.js +4 -7
  597. package/esm/theme/color-scheme/util.js.map +1 -1
  598. package/esm/typings/event.d.ts +1 -0
  599. package/esm/typings/event.js +2 -0
  600. package/esm/typings/event.js.map +1 -0
  601. package/esm/typings/spec/chart.d.ts +2 -0
  602. package/esm/typings/spec/chart.js.map +1 -1
  603. package/esm/typings/spec/common.d.ts +8 -6
  604. package/esm/typings/spec/common.js.map +1 -1
  605. package/esm/typings/tooltip/line.d.ts +1 -0
  606. package/esm/typings/tooltip/line.js.map +1 -1
  607. package/esm/typings/visual.d.ts +4 -0
  608. package/esm/typings/visual.js.map +1 -1
  609. package/esm/vchart-all.js +4 -2
  610. package/esm/vchart-all.js.map +1 -1
  611. package/package.json +11 -8
@@ -2,6 +2,8 @@ import type { LegendTitle } from '@visactor/vrender-components';
2
2
  import type { Datum, IOrientType, IPadding, IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec, StringOrNumber } from '../../typings';
3
3
  import type { IComponent } from '../interface';
4
4
  import type { IComponentSpec } from '../base/interface';
5
+ import type { IDiscreteLegendSpec } from './discrete';
6
+ import type { IColorLegendSpec, ISizeLegendSpec } from './continuous';
5
7
  export type ILegend = IComponent & {
6
8
  getLegendData: () => Datum[];
7
9
  getSelectedData: () => StringOrNumber[];
@@ -34,3 +36,4 @@ export type ILegendCommonSpec = {
34
36
  style?: Omit<NoVisibleMarkStyle<IRectMarkSpec>, 'visible' | 'width' | 'height'>;
35
37
  };
36
38
  } & Omit<IComponentSpec, 'orient'>;
39
+ export type ILegendSpec = IDiscreteLegendSpec | IColorLegendSpec | ISizeLegendSpec;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/legend/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { LegendTitle } from '@visactor/vrender-components';\nimport type {\n Datum,\n IOrientType,\n IPadding,\n IRectMarkSpec,\n ISymbolMarkSpec,\n ITextMarkSpec,\n StringOrNumber\n} from '../../typings';\nimport type { IComponent } from '../interface';\nimport type { IComponentSpec } from '../base/interface';\n\nexport type ILegend = IComponent & {\n getLegendData: () => Datum[];\n getSelectedData: () => StringOrNumber[];\n setSelectedData: (d: StringOrNumber[]) => void;\n};\n\nexport type NoVisibleMarkStyle<T> = Omit<T, 'visible'>;\n\nexport type ITitle = {\n /** 标题文本样式 */\n textStyle?: NoVisibleMarkStyle<ITextMarkSpec>;\n /**\n * @deprecated 请使用 textStyle 配置文本样式\n */\n style?: NoVisibleMarkStyle<ITextMarkSpec>;\n /** 文本前 mark 图元 */\n shape?: {\n /**\n * 是否展示 shape\n */\n visible?: boolean;\n /**\n * shape 同 文本的间距\n */\n space?: number;\n style?: NoVisibleMarkStyle<ISymbolMarkSpec>;\n };\n /**\n * 标题的背景面板配置\n */\n background?: {\n /**\n * 是否绘制背景层\n */\n visible?: boolean;\n /**\n * 背景层样式\n */\n style?: Omit<NoVisibleMarkStyle<IRectMarkSpec>, 'visible' | 'width' | 'height'>;\n };\n} & Omit<LegendTitle, 'textStyle' | 'style' | 'background'>;\n\n// 图例组件通用配置\nexport type ILegendCommonSpec = {\n /**\n * 是否显示图例\n * @default true\n */\n visible?: boolean;\n /**\n * 图例位置\n * @default 'left'\n */\n orient?: IOrientType;\n /**\n * 图例在当前行列的对齐方式,起始 | 居中 | 末尾\n * @default 'middle'\n */\n position?: 'start' | 'middle' | 'end';\n /**\n * 图例组件的布局配置,默认自动跟随显示位置进行调整。\n * 1. `orient` 为 'top' 或者 'bottom' 时,默认为 'horizontal' 水平布局\n * 2. `orient` 为 'left' 或者 'right' 时,默认为 'vertical' 垂直布局\n */\n layout?: 'horizontal' | 'vertical';\n\n /**\n * 是否进行数据筛选,默认为 true\n */\n filter?: boolean;\n\n /**\n * 图例标题配置\n */\n title?: ITitle;\n\n /**\n * 图例背景配置\n */\n background?: {\n /**\n * 是否绘制背景层\n */\n visible?: boolean;\n /**\n * 背景内边距\n */\n padding?: IPadding | number | number[];\n /**\n * 背景层样式\n */\n style?: Omit<NoVisibleMarkStyle<IRectMarkSpec>, 'visible' | 'width' | 'height'>;\n };\n} & Omit<IComponentSpec, 'orient'>;\n"]}
1
+ {"version":3,"sources":["../src/component/legend/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { LegendTitle } from '@visactor/vrender-components';\nimport type {\n Datum,\n IOrientType,\n IPadding,\n IRectMarkSpec,\n ISymbolMarkSpec,\n ITextMarkSpec,\n StringOrNumber\n} from '../../typings';\nimport type { IComponent } from '../interface';\nimport type { IComponentSpec } from '../base/interface';\nimport type { IDiscreteLegendSpec } from './discrete';\nimport type { IColorLegendSpec, ISizeLegendSpec } from './continuous';\n\nexport type ILegend = IComponent & {\n getLegendData: () => Datum[];\n getSelectedData: () => StringOrNumber[];\n setSelectedData: (d: StringOrNumber[]) => void;\n};\n\nexport type NoVisibleMarkStyle<T> = Omit<T, 'visible'>;\n\nexport type ITitle = {\n /** 标题文本样式 */\n textStyle?: NoVisibleMarkStyle<ITextMarkSpec>;\n /**\n * @deprecated 请使用 textStyle 配置文本样式\n */\n style?: NoVisibleMarkStyle<ITextMarkSpec>;\n /** 文本前 mark 图元 */\n shape?: {\n /**\n * 是否展示 shape\n */\n visible?: boolean;\n /**\n * shape 同 文本的间距\n */\n space?: number;\n style?: NoVisibleMarkStyle<ISymbolMarkSpec>;\n };\n /**\n * 标题的背景面板配置\n */\n background?: {\n /**\n * 是否绘制背景层\n */\n visible?: boolean;\n /**\n * 背景层样式\n */\n style?: Omit<NoVisibleMarkStyle<IRectMarkSpec>, 'visible' | 'width' | 'height'>;\n };\n} & Omit<LegendTitle, 'textStyle' | 'style' | 'background'>;\n\n// 图例组件通用配置\nexport type ILegendCommonSpec = {\n /**\n * 是否显示图例\n * @default true\n */\n visible?: boolean;\n /**\n * 图例位置\n * @default 'left'\n */\n orient?: IOrientType;\n /**\n * 图例在当前行列的对齐方式,起始 | 居中 | 末尾\n * @default 'middle'\n */\n position?: 'start' | 'middle' | 'end';\n /**\n * 图例组件的布局配置,默认自动跟随显示位置进行调整。\n * 1. `orient` 为 'top' 或者 'bottom' 时,默认为 'horizontal' 水平布局\n * 2. `orient` 为 'left' 或者 'right' 时,默认为 'vertical' 垂直布局\n */\n layout?: 'horizontal' | 'vertical';\n\n /**\n * 是否进行数据筛选,默认为 true\n */\n filter?: boolean;\n\n /**\n * 图例标题配置\n */\n title?: ITitle;\n\n /**\n * 图例背景配置\n */\n background?: {\n /**\n * 是否绘制背景层\n */\n visible?: boolean;\n /**\n * 背景内边距\n */\n padding?: IPadding | number | number[];\n /**\n * 背景层样式\n */\n style?: Omit<NoVisibleMarkStyle<IRectMarkSpec>, 'visible' | 'width' | 'height'>;\n };\n} & Omit<IComponentSpec, 'orient'>;\n\nexport type ILegendSpec = IDiscreteLegendSpec | IColorLegendSpec | ISizeLegendSpec;\n"]}
@@ -9,7 +9,7 @@ import type { IPoint, Datum } from '../../typings';
9
9
  import type { IPairInfo } from './layout';
10
10
  import type { LayoutItem } from '../../model/layout-item';
11
11
  import { MarkPoint } from '@visactor/vrender-components';
12
- import type { IGroup } from '@visactor/vrender-core';
12
+ import type { IGraphic } from '@visactor/vrender-core';
13
13
  import type { PanEventParam, ZoomEventParam } from '../../event/interface';
14
14
  export declare class MapLabelComponent extends BaseComponent<IMapLabelSpec> {
15
15
  static type: ComponentTypeEnum;
@@ -40,7 +40,7 @@ export declare class MapLabelComponent extends BaseComponent<IMapLabelSpec> {
40
40
  protected _updateMarkerLayoutAttribute(): void;
41
41
  protected _evaluateMarker(data: Datum, index: number): {
42
42
  pairInfo: IPairInfo;
43
- contentMarks: Partial<Record<import("./interface").IMapLabelNodes, import("@visactor/vrender-core").IGraphic<Partial<import("@visactor/vrender-core").IGraphicAttribute>>>>;
43
+ contentMarks: Partial<Record<import("./interface").IMapLabelNodes, IGraphic<Partial<import("@visactor/vrender-core").IGraphicAttribute>>>>;
44
44
  };
45
45
  protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]): void;
46
46
  protected _renderMarkers(): void;
@@ -49,6 +49,6 @@ export declare class MapLabelComponent extends BaseComponent<IMapLabelSpec> {
49
49
  private _isRelativeSeries;
50
50
  onRender(ctx: any): void;
51
51
  changeRegions(): void;
52
- getVRenderComponents(): IGroup[];
52
+ getVRenderComponents(): IGraphic[];
53
53
  }
54
54
  export declare const registerMapLabel: () => void;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/map-label/component.ts"],"names":[],"mappings":"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","file":"component.js","sourcesContent":["import type { IPadding, IRect, IOrientType } from '../../typings/space';\nimport { DataView } from '@visactor/vdataset';\nimport { BaseComponent } from '../base';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport { LayoutZIndex } from '../../constant';\nimport type { IMapLabelSpec, MapLabelSceneNodeMap } from './interface';\nimport type { ICartesianSeries, IGeoSeries } from '../../series/interface';\nimport type { IPoint, Datum } from '../../typings';\nimport type { IPairInfo } from './layout';\n// eslint-disable-next-line no-duplicate-imports\nimport { layoutByPosition, layoutOuter, placeRectByOrient } from './layout';\nimport { CompilableData } from '../../compile/data';\nimport { normalizeLayoutPaddingSpec } from '../../util/space';\nimport type { LayoutItem } from '../../model/layout-item';\nimport { MarkPoint } from '@visactor/vrender-components';\nimport type { IGroup, INode, IRect as IRectGraphic } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { createGroup, createRect, createSymbol, createText } from '@visactor/vrender-core';\nimport { transformToGraphic } from '../../util/style';\nimport { isValid } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel } from '../../model/interface';\nimport { Factory } from '../../core/factory';\n\nexport class MapLabelComponent extends BaseComponent<IMapLabelSpec> {\n static type = ComponentTypeEnum.mapLabel;\n type = ComponentTypeEnum.mapLabel;\n name: string = ComponentTypeEnum.mapLabel;\n\n layoutType: LayoutItem['layoutType'] = 'absolute';\n\n static speckey = 'mapLabel';\n\n layoutZIndex = LayoutZIndex.MarkPoint;\n\n protected nameField: string;\n protected valueField?: string;\n\n protected _series: ICartesianSeries | IGeoSeries;\n protected _map: any[];\n protected _longitudeField: string;\n protected _latitudeField: string;\n\n protected _markerComponents: MarkPoint[];\n\n private _activeDatum: Datum[] = [];\n\n static createComponent(spec: any, options: IComponentOption) {\n // TODO: 限制mapSeries使用\n const labelSpec = spec.mapLabel;\n if (!labelSpec || !labelSpec.visible || isValid(labelSpec.series)) {\n return null;\n }\n return new MapLabelComponent(labelSpec, options);\n }\n\n setAttrFromSpec(): void {\n this.nameField = this._spec.nameField ?? this._series?.getDimensionField()[0];\n this.valueField = this._spec.valueField ?? this._series?.getMeasureField()[0];\n }\n\n created() {\n super.created();\n if (!!this._spec.visible === false) {\n return;\n }\n this.initRelatedInfo();\n this.initData();\n this.initEvent();\n }\n\n initRelatedInfo(): void {\n this._series = this._option.getSeriesInUserIdOrIndex([this._spec.seriesId])[0] as ICartesianSeries;\n if (this._spec.position === 'outer') {\n // 需要获取region上的地理坐标系\n this._map = (this._regions[0].getSeriesInType('map')[0] as IGeoSeries)?.getMapViewData()?.latestData;\n\n this._longitudeField = this._regions[0].getSpec?.()?.longitudeField;\n this._latitudeField = this._regions[0].getSpec?.()?.latitudeField;\n }\n }\n\n initData() {\n const series = this._series;\n if (!series) {\n return;\n }\n const seriesData = series.getViewData();\n if (seriesData) {\n const data = new DataView(this._option.dataSet);\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({ type: 'copyDataView' }, false);\n data.name = `${this.name}_data`;\n\n this._data = new CompilableData(this._option, data);\n data.target.addListener('change', () => {\n if (this._spec.trigger !== 'hover' && this._spec.trigger !== 'click') {\n this._activeDatum = this._data.getLatestData();\n }\n });\n }\n }\n\n initEvent() {\n this.event.on('zoom', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handleZoom(e as unknown as ZoomEventParam);\n return true;\n });\n\n this.event.on('panmove', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handlePan(e as unknown as PanEventParam);\n return true;\n });\n\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (trigger === 'hover') {\n this.event.on('hovered', { filter: params => this._isRelativeSeries(params.model) }, params => {\n this._updateDatum(params.value);\n });\n this.event.on('unhovered', () => {\n this._updateDatum([]);\n });\n } else if (trigger === 'click') {\n this.event.on('selected', { filter: params => this._isRelativeSeries(params.model) }, params => {\n this._updateDatum(params.value);\n });\n this.event.on('unselected', () => {\n this._updateDatum([]);\n });\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n this._markerComponents.forEach(marker => {\n marker.translate(delta[0], delta[1]);\n });\n }\n\n handleZoom(e: ZoomEventParam) {\n this._updateMarkerLayoutAttribute();\n }\n\n private _updateDatum(datum: Datum[]) {\n this._activeDatum = datum;\n this._markerComponents.forEach((marker, index) => {\n const markerDatum = this._data?.getLatestData()[index];\n if (this._activeDatum.includes(markerDatum)) {\n marker.setAttribute('visible', true);\n } else {\n marker.setAttribute('visible', false);\n }\n });\n }\n\n dataToPosition(datum: any) {\n return this._series.dataToPosition(datum);\n }\n\n updateLayoutAttribute() {\n const markData = this._data?.getLatestData();\n if (!markData || markData.length === 0) {\n return;\n }\n super.updateLayoutAttribute();\n this._updateMarkerLayoutAttribute();\n }\n\n protected _updateMarkerLayoutAttribute() {\n const layoutPairInfo: IPairInfo[] = [];\n const markerMarks: MapLabelSceneNodeMap[] = [];\n if (!this._markerComponents) {\n this._markerComponents = this._data?.getLatestData().map((data: Datum, index: number) => {\n const cmp = new MarkPoint({\n position: undefined\n });\n if (cmp) {\n cmp.name = `${this.name}_marker_${index}`;\n cmp.id = this._spec.id ?? `${this.name}_marker_${this.id}`;\n cmp.setAttribute('zIndex', this.layoutZIndex);\n }\n return cmp;\n });\n }\n\n const markerComponents = this._markerComponents;\n markerComponents.forEach((marker, index) => {\n marker.removeAllChild();\n const { pairInfo, contentMarks } = this._evaluateMarker(this._data.getLatestData()[index], index);\n pairInfo && layoutPairInfo.push(pairInfo);\n contentMarks && markerMarks.push(contentMarks);\n });\n\n const positionedRects = this._layoutLabels(layoutPairInfo);\n this._layoutMarkers(positionedRects, markerMarks);\n this._renderMarkers();\n }\n\n protected _evaluateMarker(data: Datum, index: number) {\n let contentItemCount = 0;\n let paddingWidth = 0;\n let paddingHeight = 0;\n let contentWidth = 0;\n let contentHeight = 0;\n\n const position = this._spec.position || 'top';\n const offset = this._spec.offset;\n\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n paddingWidth += (padding?.left || 0) + (padding?.right || 0);\n paddingHeight += (padding?.top || 0) + (padding?.bottom || 0);\n\n const contentMarks: MapLabelSceneNodeMap = {};\n const positionAttr = this.dataToPosition(data);\n\n const container = createGroup({});\n container.name = `${this.name}_marker_itemContainer_${index}`;\n contentMarks.container = container;\n\n if (this._spec.background?.visible) {\n const labelBackground = createRect(transformToGraphic({ ...this._spec.background.style }));\n labelBackground.setAttributes(positionAttr);\n contentMarks.labelBackground = labelBackground;\n container.appendChild(labelBackground);\n }\n\n if (this._spec.icon?.visible) {\n const icon = createSymbol(transformToGraphic({ ...this._spec.icon.style }));\n icon.setAttributes(positionAttr);\n icon.setAttribute('symbolType', this._spec.icon.style?.shape);\n const iconBound = icon.AABBBounds;\n const iconHeight = iconBound?.y2 - iconBound?.y1 ?? 0;\n const iconWidth = iconBound?.x2 - iconBound?.x1 ?? 0;\n contentMarks.icon = icon;\n container.appendChild(icon);\n\n contentHeight = iconHeight;\n contentWidth += iconWidth;\n contentItemCount++;\n }\n\n if (this._spec.nameLabel?.visible) {\n const nameLabel = createText(transformToGraphic({ ...this._spec.nameLabel.style }));\n nameLabel.setAttributes(positionAttr);\n nameLabel.setAttribute('text', data[this.nameField]);\n const nameLabelBound = nameLabel.AABBBounds;\n const nameLabelHeight = nameLabelBound?.y2 - nameLabelBound?.y1 ?? 0;\n const nameLabelWidth = nameLabelBound?.x2 - nameLabelBound?.x1 ?? 0;\n contentMarks.nameLabel = nameLabel;\n container.appendChild(nameLabel);\n\n contentHeight = Math.max(contentHeight, nameLabelHeight);\n contentWidth += nameLabelWidth;\n contentItemCount++;\n }\n\n if (this._spec.valueLabel?.visible && isValid(data[this.valueField])) {\n const valueLabel = createText(transformToGraphic({ ...this._spec.valueLabel.style }));\n valueLabel.setAttributes(positionAttr);\n valueLabel.setAttribute('text', data[this.valueField]);\n const valueLabelBound = valueLabel.AABBBounds;\n const valueLabelHeight = valueLabelBound?.y2 - valueLabelBound?.y1 ?? 0;\n const valueLabelWidth = valueLabelBound?.x2 - valueLabelBound?.x1 ?? 0;\n contentMarks.valueLabel = valueLabel;\n container.appendChild(valueLabel);\n\n contentHeight = Math.max(contentHeight, valueLabelHeight);\n contentWidth += valueLabelWidth;\n contentItemCount++;\n }\n\n const firstValidMark = Object.values(contentMarks).find(m => !!m && m.type !== 'group');\n\n const anchor: IPoint = {\n x: firstValidMark?.getComputedAttribute('x'),\n y: firstValidMark?.getComputedAttribute('y')\n };\n const itemRect = {\n x: anchor.x,\n y: anchor.y,\n width: 0,\n height: 0\n };\n\n itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space;\n itemRect.height = paddingHeight + contentHeight;\n\n const pairInfo: IPairInfo = {\n rect: itemRect,\n point: anchor,\n index\n };\n // 计算得到最终所有元素包围盒的布局位置\n if (position !== 'outer') {\n const anchors = ['top', 'right', 'left', 'bottom'].filter(a => a !== position);\n pairInfo.rect = placeRectByOrient(itemRect, position, offset);\n pairInfo.anchors = anchors as IOrientType[];\n pairInfo.offset = offset;\n } else {\n pairInfo.pointCoord = {\n x: +data?.[this._longitudeField],\n y: +data?.[this._latitudeField]\n };\n }\n return { pairInfo, contentMarks };\n }\n\n protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]) {\n for (let i = 0; i < contentMarks.length; i++) {\n if (!positionedRects[i] || !contentMarks[i]) {\n return;\n }\n const { icon, nameLabel, valueLabel, labelBackground, container } = contentMarks[i];\n\n const itemRect = positionedRects[i];\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n\n const curY = itemRect.height / 2;\n let curX = padding?.left || 0;\n [icon, nameLabel, valueLabel].forEach((item, index) => {\n if (item) {\n const bounds = item.AABBBounds;\n let offset = 0;\n if (item.type === 'symbol') {\n // 文字的锚点在文字左侧,baseline在中心\n // symbol的锚点[0,0]在图形中心。所以x方向要偏移半个bound。\n offset += (bounds.x2 - bounds.x1 ?? 0) / 2;\n }\n item.setAttributes({\n x: curX + offset,\n y: curY\n });\n\n curX += bounds.x2 - bounds.x1 ?? 0;\n if (index !== 2) {\n curX += space;\n }\n }\n });\n (labelBackground as IRectGraphic)?.setAttributes({\n x: 0,\n y: 0,\n width: itemRect.width,\n height: itemRect.height\n });\n container?.setAttributes({\n dx: -itemRect.width / 2,\n dy: -itemRect.height / 2\n });\n const datum = this._data.getLatestData()[i];\n const anchor = this.dataToPosition(datum);\n const showLeader = !!(this._spec.leader?.visible && (icon || nameLabel || valueLabel));\n this._markerComponents[i].setAttributes({\n x: this.getRegions()[0].getLayoutStartPoint().x,\n y: this.getRegions()[0].getLayoutStartPoint().y,\n position: anchor,\n visible: this._activeDatum.includes(datum),\n itemContent: {\n refX: 0,\n type: 'custom',\n renderCustomCallback: () => container as unknown as IGroup,\n autoRotate: false,\n offsetX: itemRect.x + itemRect.width / 2 - anchor.x,\n offsetY: itemRect.y + itemRect.height / 2 - anchor.y\n },\n itemLine: {\n visible: showLeader,\n type: 'type-po',\n lineStyle: transformToGraphic({ ...this._spec.leader?.style }),\n startSymbol: { visible: false }\n }\n });\n }\n }\n\n protected _renderMarkers() {\n if (!this._markerComponents || !this._markerComponents.length) {\n return;\n }\n\n for (let i = 0; i < this._markerComponents.length; i++) {\n this.getContainer().add(this._markerComponents[i] as unknown as INode);\n }\n }\n\n protected _layoutLabels(rects: IPairInfo[]) {\n const result =\n this._spec.position === 'outer' && this._map\n ? layoutOuter(rects, this._map, (coord: number[]) =>\n this._series.dataToPosition({\n [this._longitudeField]: coord[0],\n [this._latitudeField]: coord[1]\n })\n )\n : layoutByPosition(rects);\n\n return result;\n }\n\n private _isRelativeModel(model: IModel) {\n const id =\n (this._series as ICartesianSeries).getXAxisHelper()?.getAxisId() ??\n (this._series as IGeoSeries).getCoordinateHelper()?.getCoordinateId();\n return model?.id === id;\n }\n\n private _isRelativeSeries(model: IModel) {\n return model?.id === this._series.id;\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n\n getVRenderComponents(): IGroup[] {\n return [];\n }\n}\n\nexport const registerMapLabel = () => {\n Factory.registerComponent(MapLabelComponent.type, MapLabelComponent);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/map-label/component.ts"],"names":[],"mappings":"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","file":"component.js","sourcesContent":["import type { IPadding, IRect, IOrientType } from '../../typings/space';\nimport { DataView } from '@visactor/vdataset';\nimport { BaseComponent } from '../base';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport { LayoutZIndex } from '../../constant';\nimport type { IMapLabelSpec, MapLabelSceneNodeMap } from './interface';\nimport type { ICartesianSeries, IGeoSeries } from '../../series/interface';\nimport type { IPoint, Datum } from '../../typings';\nimport type { IPairInfo } from './layout';\n// eslint-disable-next-line no-duplicate-imports\nimport { layoutByPosition, layoutOuter, placeRectByOrient } from './layout';\nimport { CompilableData } from '../../compile/data';\nimport { normalizeLayoutPaddingSpec } from '../../util/space';\nimport type { LayoutItem } from '../../model/layout-item';\nimport { MarkPoint } from '@visactor/vrender-components';\nimport type { IGraphic, IGroup, INode, IRect as IRectGraphic } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { createGroup, createRect, createSymbol, createText } from '@visactor/vrender-core';\nimport { transformToGraphic } from '../../util/style';\nimport { isValid } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel } from '../../model/interface';\nimport { Factory } from '../../core/factory';\n\nexport class MapLabelComponent extends BaseComponent<IMapLabelSpec> {\n static type = ComponentTypeEnum.mapLabel;\n type = ComponentTypeEnum.mapLabel;\n name: string = ComponentTypeEnum.mapLabel;\n\n layoutType: LayoutItem['layoutType'] = 'absolute';\n\n static speckey = 'mapLabel';\n\n layoutZIndex = LayoutZIndex.MarkPoint;\n\n protected nameField: string;\n protected valueField?: string;\n\n protected _series: ICartesianSeries | IGeoSeries;\n protected _map: any[];\n protected _longitudeField: string;\n protected _latitudeField: string;\n\n protected _markerComponents: MarkPoint[];\n\n private _activeDatum: Datum[] = [];\n\n static createComponent(spec: any, options: IComponentOption) {\n // TODO: 限制mapSeries使用\n const labelSpec = spec.mapLabel;\n if (!labelSpec || !labelSpec.visible || isValid(labelSpec.series)) {\n return null;\n }\n return new MapLabelComponent(labelSpec, options);\n }\n\n setAttrFromSpec(): void {\n this.nameField = this._spec.nameField ?? this._series?.getDimensionField()[0];\n this.valueField = this._spec.valueField ?? this._series?.getMeasureField()[0];\n }\n\n created() {\n super.created();\n if (!!this._spec.visible === false) {\n return;\n }\n this.initRelatedInfo();\n this.initData();\n this.initEvent();\n }\n\n initRelatedInfo(): void {\n this._series = this._option.getSeriesInUserIdOrIndex([this._spec.seriesId])[0] as ICartesianSeries;\n if (this._spec.position === 'outer') {\n // 需要获取region上的地理坐标系\n this._map = (this._regions[0].getSeriesInType('map')[0] as IGeoSeries)?.getMapViewData()?.latestData;\n\n this._longitudeField = this._regions[0].getSpec?.()?.longitudeField;\n this._latitudeField = this._regions[0].getSpec?.()?.latitudeField;\n }\n }\n\n initData() {\n const series = this._series;\n if (!series) {\n return;\n }\n const seriesData = series.getViewData();\n if (seriesData) {\n const data = new DataView(this._option.dataSet);\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({ type: 'copyDataView' }, false);\n data.name = `${this.name}_data`;\n\n this._data = new CompilableData(this._option, data);\n data.target.addListener('change', () => {\n if (this._spec.trigger !== 'hover' && this._spec.trigger !== 'click') {\n this._activeDatum = this._data.getLatestData();\n }\n });\n }\n }\n\n initEvent() {\n this.event.on('zoom', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handleZoom(e as unknown as ZoomEventParam);\n return true;\n });\n\n this.event.on('panmove', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handlePan(e as unknown as PanEventParam);\n return true;\n });\n\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (trigger === 'hover') {\n this.event.on('hovered', { filter: params => this._isRelativeSeries(params.model) }, params => {\n this._updateDatum(params.value);\n });\n this.event.on('unhovered', () => {\n this._updateDatum([]);\n });\n } else if (trigger === 'click') {\n this.event.on('selected', { filter: params => this._isRelativeSeries(params.model) }, params => {\n this._updateDatum(params.value);\n });\n this.event.on('unselected', () => {\n this._updateDatum([]);\n });\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n this._markerComponents.forEach(marker => {\n marker.translate(delta[0], delta[1]);\n });\n }\n\n handleZoom(e: ZoomEventParam) {\n this._updateMarkerLayoutAttribute();\n }\n\n private _updateDatum(datum: Datum[]) {\n this._activeDatum = datum;\n this._markerComponents.forEach((marker, index) => {\n const markerDatum = this._data?.getLatestData()[index];\n if (this._activeDatum.includes(markerDatum)) {\n marker.setAttribute('visible', true);\n } else {\n marker.setAttribute('visible', false);\n }\n });\n }\n\n dataToPosition(datum: any) {\n return this._series.dataToPosition(datum);\n }\n\n updateLayoutAttribute() {\n const markData = this._data?.getLatestData();\n if (!markData || markData.length === 0) {\n return;\n }\n super.updateLayoutAttribute();\n this._updateMarkerLayoutAttribute();\n }\n\n protected _updateMarkerLayoutAttribute() {\n const layoutPairInfo: IPairInfo[] = [];\n const markerMarks: MapLabelSceneNodeMap[] = [];\n if (!this._markerComponents) {\n this._markerComponents = this._data?.getLatestData().map((data: Datum, index: number) => {\n const cmp = new MarkPoint({\n position: undefined\n });\n if (cmp) {\n cmp.name = `${this.name}_marker_${index}`;\n cmp.id = this._spec.id ?? `${this.name}_marker_${this.id}`;\n cmp.setAttribute('zIndex', this.layoutZIndex);\n }\n return cmp;\n });\n }\n\n const markerComponents = this._markerComponents;\n markerComponents.forEach((marker, index) => {\n marker.removeAllChild();\n const { pairInfo, contentMarks } = this._evaluateMarker(this._data.getLatestData()[index], index);\n pairInfo && layoutPairInfo.push(pairInfo);\n contentMarks && markerMarks.push(contentMarks);\n });\n\n const positionedRects = this._layoutLabels(layoutPairInfo);\n this._layoutMarkers(positionedRects, markerMarks);\n this._renderMarkers();\n }\n\n protected _evaluateMarker(data: Datum, index: number) {\n let contentItemCount = 0;\n let paddingWidth = 0;\n let paddingHeight = 0;\n let contentWidth = 0;\n let contentHeight = 0;\n\n const position = this._spec.position || 'top';\n const offset = this._spec.offset;\n\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n paddingWidth += (padding?.left || 0) + (padding?.right || 0);\n paddingHeight += (padding?.top || 0) + (padding?.bottom || 0);\n\n const contentMarks: MapLabelSceneNodeMap = {};\n const positionAttr = this.dataToPosition(data);\n\n const container = createGroup({});\n container.name = `${this.name}_marker_itemContainer_${index}`;\n contentMarks.container = container;\n\n if (this._spec.background?.visible) {\n const labelBackground = createRect(transformToGraphic({ ...this._spec.background.style }));\n labelBackground.setAttributes(positionAttr);\n contentMarks.labelBackground = labelBackground;\n container.appendChild(labelBackground);\n }\n\n if (this._spec.icon?.visible) {\n const icon = createSymbol(transformToGraphic({ ...this._spec.icon.style }));\n icon.setAttributes(positionAttr);\n icon.setAttribute('symbolType', this._spec.icon.style?.shape);\n const iconBound = icon.AABBBounds;\n const iconHeight = iconBound?.y2 - iconBound?.y1 ?? 0;\n const iconWidth = iconBound?.x2 - iconBound?.x1 ?? 0;\n contentMarks.icon = icon;\n container.appendChild(icon);\n\n contentHeight = iconHeight;\n contentWidth += iconWidth;\n contentItemCount++;\n }\n\n if (this._spec.nameLabel?.visible) {\n const nameLabel = createText(transformToGraphic({ ...this._spec.nameLabel.style }));\n nameLabel.setAttributes(positionAttr);\n nameLabel.setAttribute('text', data[this.nameField]);\n const nameLabelBound = nameLabel.AABBBounds;\n const nameLabelHeight = nameLabelBound?.y2 - nameLabelBound?.y1 ?? 0;\n const nameLabelWidth = nameLabelBound?.x2 - nameLabelBound?.x1 ?? 0;\n contentMarks.nameLabel = nameLabel;\n container.appendChild(nameLabel);\n\n contentHeight = Math.max(contentHeight, nameLabelHeight);\n contentWidth += nameLabelWidth;\n contentItemCount++;\n }\n\n if (this._spec.valueLabel?.visible && isValid(data[this.valueField])) {\n const valueLabel = createText(transformToGraphic({ ...this._spec.valueLabel.style }));\n valueLabel.setAttributes(positionAttr);\n valueLabel.setAttribute('text', data[this.valueField]);\n const valueLabelBound = valueLabel.AABBBounds;\n const valueLabelHeight = valueLabelBound?.y2 - valueLabelBound?.y1 ?? 0;\n const valueLabelWidth = valueLabelBound?.x2 - valueLabelBound?.x1 ?? 0;\n contentMarks.valueLabel = valueLabel;\n container.appendChild(valueLabel);\n\n contentHeight = Math.max(contentHeight, valueLabelHeight);\n contentWidth += valueLabelWidth;\n contentItemCount++;\n }\n\n const firstValidMark = Object.values(contentMarks).find(m => !!m && m.type !== 'group');\n\n const anchor: IPoint = {\n x: firstValidMark?.getComputedAttribute('x'),\n y: firstValidMark?.getComputedAttribute('y')\n };\n const itemRect = {\n x: anchor.x,\n y: anchor.y,\n width: 0,\n height: 0\n };\n\n itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space;\n itemRect.height = paddingHeight + contentHeight;\n\n const pairInfo: IPairInfo = {\n rect: itemRect,\n point: anchor,\n index\n };\n // 计算得到最终所有元素包围盒的布局位置\n if (position !== 'outer') {\n const anchors = ['top', 'right', 'left', 'bottom'].filter(a => a !== position);\n pairInfo.rect = placeRectByOrient(itemRect, position, offset);\n pairInfo.anchors = anchors as IOrientType[];\n pairInfo.offset = offset;\n } else {\n pairInfo.pointCoord = {\n x: +data?.[this._longitudeField],\n y: +data?.[this._latitudeField]\n };\n }\n return { pairInfo, contentMarks };\n }\n\n protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]) {\n for (let i = 0; i < contentMarks.length; i++) {\n if (!positionedRects[i] || !contentMarks[i]) {\n return;\n }\n const { icon, nameLabel, valueLabel, labelBackground, container } = contentMarks[i];\n\n const itemRect = positionedRects[i];\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n\n const curY = itemRect.height / 2;\n let curX = padding?.left || 0;\n [icon, nameLabel, valueLabel].forEach((item, index) => {\n if (item) {\n const bounds = item.AABBBounds;\n let offset = 0;\n if (item.type === 'symbol') {\n // 文字的锚点在文字左侧,baseline在中心\n // symbol的锚点[0,0]在图形中心。所以x方向要偏移半个bound。\n offset += (bounds.x2 - bounds.x1 ?? 0) / 2;\n }\n item.setAttributes({\n x: curX + offset,\n y: curY\n });\n\n curX += bounds.x2 - bounds.x1 ?? 0;\n if (index !== 2) {\n curX += space;\n }\n }\n });\n (labelBackground as IRectGraphic)?.setAttributes({\n x: 0,\n y: 0,\n width: itemRect.width,\n height: itemRect.height\n });\n container?.setAttributes({\n dx: -itemRect.width / 2,\n dy: -itemRect.height / 2\n });\n const datum = this._data.getLatestData()[i];\n const anchor = this.dataToPosition(datum);\n const showLeader = !!(this._spec.leader?.visible && (icon || nameLabel || valueLabel));\n this._markerComponents[i].setAttributes({\n x: this.getRegions()[0].getLayoutStartPoint().x,\n y: this.getRegions()[0].getLayoutStartPoint().y,\n position: anchor,\n visible: this._activeDatum.includes(datum),\n itemContent: {\n refX: 0,\n type: 'custom',\n renderCustomCallback: () => container as unknown as IGroup,\n autoRotate: false,\n offsetX: itemRect.x + itemRect.width / 2 - anchor.x,\n offsetY: itemRect.y + itemRect.height / 2 - anchor.y\n },\n itemLine: {\n visible: showLeader,\n type: 'type-po',\n lineStyle: transformToGraphic({ ...this._spec.leader?.style }),\n startSymbol: { visible: false }\n }\n });\n }\n }\n\n protected _renderMarkers() {\n if (!this._markerComponents || !this._markerComponents.length) {\n return;\n }\n\n for (let i = 0; i < this._markerComponents.length; i++) {\n this.getContainer().add(this._markerComponents[i] as unknown as INode);\n }\n }\n\n protected _layoutLabels(rects: IPairInfo[]) {\n const result =\n this._spec.position === 'outer' && this._map\n ? layoutOuter(rects, this._map, (coord: number[]) =>\n this._series.dataToPosition({\n [this._longitudeField]: coord[0],\n [this._latitudeField]: coord[1]\n })\n )\n : layoutByPosition(rects);\n\n return result;\n }\n\n private _isRelativeModel(model: IModel) {\n const id =\n (this._series as ICartesianSeries).getXAxisHelper()?.getAxisId() ??\n (this._series as IGeoSeries).getCoordinateHelper()?.getCoordinateId();\n return model?.id === id;\n }\n\n private _isRelativeSeries(model: IModel) {\n return model?.id === this._series.id;\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n\n getVRenderComponents(): IGraphic[] {\n return [];\n }\n}\n\nexport const registerMapLabel = () => {\n Factory.registerComponent(MapLabelComponent.type, MapLabelComponent);\n};\n"]}
@@ -6,7 +6,7 @@ import type { ICartesianSeries } from '../../series/interface';
6
6
  import type { StringOrNumber } from '../../typings';
7
7
  import { BaseComponent } from '../base';
8
8
  import type { IAggrType, IDataPos, IDataPosCallback, IMarkerAxisSpec, IMarkerSpec } from './interface';
9
- import type { IGroup } from '@visactor/vrender-core';
9
+ import type { IGraphic } from '@visactor/vrender-core';
10
10
  export declare abstract class BaseMarker<T extends IMarkerSpec & IMarkerAxisSpec> extends BaseComponent<T> {
11
11
  layoutType: LayoutItem['layoutType'];
12
12
  protected _startRelativeSeries: ICartesianSeries;
@@ -62,5 +62,5 @@ export declare abstract class BaseMarker<T extends IMarkerSpec & IMarkerAxisSpec
62
62
  onRender(ctx: IModelRenderOption): void;
63
63
  changeRegions(regions: IRegion[]): void;
64
64
  protected getFirstSeries(): ICartesianSeries;
65
- getVRenderComponents(): IGroup[];
65
+ getVRenderComponents(): IGraphic[];
66
66
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/base-marker.ts"],"names":[],"mappings":"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","file":"base-marker.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { array } from '@visactor/vutils';\nimport { AGGR_TYPE } from '../../constant/marker';\nimport type { IOptionAggr } from '../../data/transforms/aggregation';\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { LayoutItem } from '../../model/layout-item';\nimport type { IRegion } from '../../region/interface';\nimport type { ICartesianSeries } from '../../series/interface';\nimport type { StringOrNumber } from '../../typings';\nimport { BaseComponent } from '../base';\nimport type { IAggrType, IDataPointSpec, IDataPos, IDataPosCallback, IMarkerAxisSpec, IMarkerSpec } from './interface';\nimport type { IRegressType } from './mark-area/interface';\nimport type { IGraphic, INode, IGroup } from '@visactor/vrender-core';\n\nexport abstract class BaseMarker<T extends IMarkerSpec & IMarkerAxisSpec> extends BaseComponent<T> {\n layoutType: LayoutItem['layoutType'] = 'absolute';\n\n protected _startRelativeSeries!: ICartesianSeries;\n protected _endRelativeSeries!: ICartesianSeries;\n protected _relativeSeries!: ICartesianSeries;\n\n // marker 组件数据\n protected _markerData!: DataView;\n // marker 组件\n protected _markerComponent!: any;\n\n created() {\n super.created();\n // event\n this.initEvent();\n this._bindSeries();\n this._initDataView();\n }\n\n private _isSpecAggr(spec: IDataPos | IDataPosCallback) {\n return AGGR_TYPE.includes(spec as any);\n }\n\n private _getAllRelativeSeries() {\n return {\n getRelativeSeries: () => this._relativeSeries,\n getStartRelativeSeries: () => this._startRelativeSeries,\n getEndRelativeSeries: () => this._endRelativeSeries\n };\n }\n\n protected _processSpecX(specX: IDataPos | IDataPosCallback) {\n const relativeSeries = this._relativeSeries;\n let processType: IAggrType | IRegressType;\n if (this._isSpecAggr(specX)) {\n processType = specX as unknown as IAggrType;\n return {\n x: {\n field: relativeSeries.getSpec().xField,\n aggrType: processType\n },\n ...this._getAllRelativeSeries()\n };\n }\n return { x: specX, ...this._getAllRelativeSeries() };\n }\n\n protected _processSpecY(specY: IDataPos | IDataPosCallback) {\n const relativeSeries = this._relativeSeries;\n let processType: IAggrType | IRegressType;\n if (this._isSpecAggr(specY)) {\n processType = specY as unknown as IAggrType;\n return {\n y: {\n field: relativeSeries.getSpec().yField,\n aggrType: processType\n },\n ...this._getAllRelativeSeries()\n };\n }\n return { y: specY, ...this._getAllRelativeSeries() };\n }\n\n protected _processSpecCoo(spec: any) {\n const coordinates = spec.coordinates ?? array(spec.coordinate);\n return coordinates.map((coordinate: IDataPointSpec) => {\n const refRelativeSeries = this._getSeriesByIdOrIndex(\n coordinate.refRelativeSeriesId,\n coordinate.refRelativeSeriesIndex\n );\n\n const { xField, yField } = refRelativeSeries.getSpec();\n const { [xField]: coordinateX, [yField]: coordinateY } = coordinate;\n const option: IOptionAggr = {\n x: undefined,\n y: undefined,\n ...this._getAllRelativeSeries()\n };\n if (this._isSpecAggr(coordinateX)) {\n option.x = { field: xField, aggrType: coordinateX as IAggrType };\n } else {\n option.x = coordinateX;\n }\n\n if (this._isSpecAggr(coordinateY)) {\n option.y = { field: yField, aggrType: coordinateY as IAggrType };\n } else {\n option.y = coordinateY;\n }\n option.getRefRelativeSeries = () => refRelativeSeries;\n return option;\n });\n }\n\n updateLayoutAttribute(): void {\n const markerVisible = this._spec.visible ?? true;\n if (markerVisible) {\n // 创建marker组件\n if (!this._markerComponent) {\n this._createMarkerComponent();\n // 代理 marker 组件上的事件\n this._markerComponent.on('*', (event: any, type: string) =>\n this._delegateEvent(this._markerComponent as unknown as IGraphic, event, type)\n );\n }\n this._markerLayout();\n }\n\n super.updateLayoutAttribute();\n }\n\n protected _getSeriesByIdOrIndex(seriesUserId: StringOrNumber, seriesIndex: number) {\n let series: ICartesianSeries;\n series = this._option.getSeriesInUserIdOrIndex(array(seriesUserId), [seriesIndex])?.[0] as ICartesianSeries;\n if (!series) {\n series = this._relativeSeries ?? this.getFirstSeries();\n }\n return series;\n }\n\n protected _bindSeries() {\n const spec = this._spec;\n this._relativeSeries = this._getSeriesByIdOrIndex(spec.relativeSeriesId, spec.relativeSeriesIndex);\n this._startRelativeSeries = this._getSeriesByIdOrIndex(spec.startRelativeSeriesId, spec.startRelativeSeriesIndex);\n this._endRelativeSeries = this._getSeriesByIdOrIndex(spec.endRelativeSeriesId, spec.endRelativeSeriesIndex);\n }\n\n protected _computeClipRange(regions: IRegion[]) {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n regions.forEach((region: IRegion) => {\n if (region.getLayoutStartPoint().x < minX) {\n minX = region.getLayoutStartPoint().x;\n }\n if (region.getLayoutStartPoint().x + region.getLayoutRect().width > maxX) {\n maxX = region.getLayoutStartPoint().x + region.getLayoutRect().width;\n }\n if (region.getLayoutStartPoint().y < minY) {\n minY = region.getLayoutStartPoint().y;\n }\n if (region.getLayoutStartPoint().y + region.getLayoutRect().height > maxY) {\n maxY = region.getLayoutStartPoint().y + region.getLayoutRect().height;\n }\n });\n return { minX, maxX, minY, maxY };\n }\n\n protected abstract _initDataView(): void;\n protected abstract _createMarkerComponent(): void;\n protected abstract _markerLayout(): void;\n\n protected initEvent() {\n // do nothing\n }\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n protected getFirstSeries(): ICartesianSeries {\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 ICartesianSeries;\n }\n }\n }\n this._option?.onError('need at least one series');\n return null;\n }\n\n getVRenderComponents(): IGroup[] {\n return [this._markerComponent] as unknown as IGroup[];\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/marker/base-marker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAOlD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAKxC,MAAM,OAAgB,UAAoD,SAAQ,aAAgB;IAAlG;;QACE,eAAU,GAA6B,UAAU,CAAC;IAqLpD,CAAC;IA1KC,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,WAAW,CAAC,IAAiC;QACnD,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAW,CAAC,CAAC;IACzC,CAAC;IAEO,qBAAqB;QAC3B,OAAO;YACL,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe;YAC7C,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB;YACvD,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB;SACpD,CAAC;IACJ,CAAC;IAES,aAAa,CAAC,KAAkC;QACxD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,WAAqC,CAAC;QAC1C,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YAC3B,WAAW,GAAG,KAA6B,CAAC;YAC5C,uBACE,CAAC,EAAE;oBACD,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,MAAM;oBACtC,QAAQ,EAAE,WAAW;iBACtB,IACE,IAAI,CAAC,qBAAqB,EAAE,EAC/B;SACH;QACD,uBAAS,CAAC,EAAE,KAAK,IAAK,IAAI,CAAC,qBAAqB,EAAE,EAAG;IACvD,CAAC;IAES,aAAa,CAAC,KAAkC;QACxD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,WAAqC,CAAC;QAC1C,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YAC3B,WAAW,GAAG,KAA6B,CAAC;YAC5C,uBACE,CAAC,EAAE;oBACD,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,MAAM;oBACtC,QAAQ,EAAE,WAAW;iBACtB,IACE,IAAI,CAAC,qBAAqB,EAAE,EAC/B;SACH;QACD,uBAAS,CAAC,EAAE,KAAK,IAAK,IAAI,CAAC,qBAAqB,EAAE,EAAG;IACvD,CAAC;IAES,eAAe,CAAC,IAAS;;QACjC,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/D,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAA0B,EAAE,EAAE;YACpD,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAClD,UAAU,CAAC,mBAAmB,EAC9B,UAAU,CAAC,sBAAsB,CAClC,CAAC;YAEF,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAC;YACvD,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;YACpE,MAAM,MAAM,mBACV,CAAC,EAAE,SAAS,EACZ,CAAC,EAAE,SAAS,IACT,IAAI,CAAC,qBAAqB,EAAE,CAChC,CAAC;YACF,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;gBACjC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAwB,EAAE,CAAC;aAClE;iBAAM;gBACL,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC;aACxB;YAED,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;gBACjC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAwB,EAAE,CAAC;aAClE;iBAAM;gBACL,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC;aACxB;YACD,MAAM,CAAC,oBAAoB,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC;YACtD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;;QACnB,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,mCAAI,IAAI,CAAC;QACjD,IAAI,aAAa,EAAE;YAEjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAE9B,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAU,EAAE,IAAY,EAAE,EAAE,CACzD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAuC,EAAE,KAAK,EAAE,IAAI,CAAC,CAC/E,CAAC;aACH;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QAED,KAAK,CAAC,qBAAqB,EAAE,CAAC;IAChC,CAAC;IAES,qBAAqB,CAAC,YAA4B,EAAE,WAAmB;;QAC/E,IAAI,MAAwB,CAAC;QAC7B,MAAM,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,0CAAG,CAAC,CAAqB,CAAC;QAC5G,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,MAAA,IAAI,CAAC,eAAe,mCAAI,IAAI,CAAC,cAAc,EAAE,CAAC;SACxD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,WAAW;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAClH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC9G,CAAC;IAES,iBAAiB,CAAC,OAAkB;QAC5C,IAAI,IAAI,GAAG,QAAQ,CAAC;QACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;QACrB,IAAI,IAAI,GAAG,QAAQ,CAAC;QACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;QACrB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAe,EAAE,EAAE;YAClC,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;gBACzC,IAAI,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;aACvC;YACD,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE;gBACxE,IAAI,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC;aACtE;YACD,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;gBACzC,IAAI,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;aACvC;YACD,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,IAAI,EAAE;gBACzE,IAAI,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;aACvE;QACH,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;IAMS,SAAS;IAEnB,CAAC;IACD,QAAQ,CAAC,GAAuB;IAEhC,CAAC;IACD,aAAa,CAAC,OAAkB;IAEhC,CAAC;IAES,cAAc;;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,EAAE;oBACL,OAAO,CAAqB,CAAC;iBAC9B;aACF;SACF;QACD,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB;QAClB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAwB,CAAC;IACxD,CAAC;CACF","file":"base-marker.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { array } from '@visactor/vutils';\nimport { AGGR_TYPE } from '../../constant/marker';\nimport type { IOptionAggr } from '../../data/transforms/aggregation';\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { LayoutItem } from '../../model/layout-item';\nimport type { IRegion } from '../../region/interface';\nimport type { ICartesianSeries } from '../../series/interface';\nimport type { StringOrNumber } from '../../typings';\nimport { BaseComponent } from '../base';\nimport type { IAggrType, IDataPointSpec, IDataPos, IDataPosCallback, IMarkerAxisSpec, IMarkerSpec } from './interface';\nimport type { IRegressType } from './mark-area/interface';\nimport type { IGraphic, INode, IGroup } from '@visactor/vrender-core';\n\nexport abstract class BaseMarker<T extends IMarkerSpec & IMarkerAxisSpec> extends BaseComponent<T> {\n layoutType: LayoutItem['layoutType'] = 'absolute';\n\n protected _startRelativeSeries!: ICartesianSeries;\n protected _endRelativeSeries!: ICartesianSeries;\n protected _relativeSeries!: ICartesianSeries;\n\n // marker 组件数据\n protected _markerData!: DataView;\n // marker 组件\n protected _markerComponent!: any;\n\n created() {\n super.created();\n // event\n this.initEvent();\n this._bindSeries();\n this._initDataView();\n }\n\n private _isSpecAggr(spec: IDataPos | IDataPosCallback) {\n return AGGR_TYPE.includes(spec as any);\n }\n\n private _getAllRelativeSeries() {\n return {\n getRelativeSeries: () => this._relativeSeries,\n getStartRelativeSeries: () => this._startRelativeSeries,\n getEndRelativeSeries: () => this._endRelativeSeries\n };\n }\n\n protected _processSpecX(specX: IDataPos | IDataPosCallback) {\n const relativeSeries = this._relativeSeries;\n let processType: IAggrType | IRegressType;\n if (this._isSpecAggr(specX)) {\n processType = specX as unknown as IAggrType;\n return {\n x: {\n field: relativeSeries.getSpec().xField,\n aggrType: processType\n },\n ...this._getAllRelativeSeries()\n };\n }\n return { x: specX, ...this._getAllRelativeSeries() };\n }\n\n protected _processSpecY(specY: IDataPos | IDataPosCallback) {\n const relativeSeries = this._relativeSeries;\n let processType: IAggrType | IRegressType;\n if (this._isSpecAggr(specY)) {\n processType = specY as unknown as IAggrType;\n return {\n y: {\n field: relativeSeries.getSpec().yField,\n aggrType: processType\n },\n ...this._getAllRelativeSeries()\n };\n }\n return { y: specY, ...this._getAllRelativeSeries() };\n }\n\n protected _processSpecCoo(spec: any) {\n const coordinates = spec.coordinates ?? array(spec.coordinate);\n return coordinates.map((coordinate: IDataPointSpec) => {\n const refRelativeSeries = this._getSeriesByIdOrIndex(\n coordinate.refRelativeSeriesId,\n coordinate.refRelativeSeriesIndex\n );\n\n const { xField, yField } = refRelativeSeries.getSpec();\n const { [xField]: coordinateX, [yField]: coordinateY } = coordinate;\n const option: IOptionAggr = {\n x: undefined,\n y: undefined,\n ...this._getAllRelativeSeries()\n };\n if (this._isSpecAggr(coordinateX)) {\n option.x = { field: xField, aggrType: coordinateX as IAggrType };\n } else {\n option.x = coordinateX;\n }\n\n if (this._isSpecAggr(coordinateY)) {\n option.y = { field: yField, aggrType: coordinateY as IAggrType };\n } else {\n option.y = coordinateY;\n }\n option.getRefRelativeSeries = () => refRelativeSeries;\n return option;\n });\n }\n\n updateLayoutAttribute(): void {\n const markerVisible = this._spec.visible ?? true;\n if (markerVisible) {\n // 创建marker组件\n if (!this._markerComponent) {\n this._createMarkerComponent();\n // 代理 marker 组件上的事件\n this._markerComponent.on('*', (event: any, type: string) =>\n this._delegateEvent(this._markerComponent as unknown as IGraphic, event, type)\n );\n }\n this._markerLayout();\n }\n\n super.updateLayoutAttribute();\n }\n\n protected _getSeriesByIdOrIndex(seriesUserId: StringOrNumber, seriesIndex: number) {\n let series: ICartesianSeries;\n series = this._option.getSeriesInUserIdOrIndex(array(seriesUserId), [seriesIndex])?.[0] as ICartesianSeries;\n if (!series) {\n series = this._relativeSeries ?? this.getFirstSeries();\n }\n return series;\n }\n\n protected _bindSeries() {\n const spec = this._spec;\n this._relativeSeries = this._getSeriesByIdOrIndex(spec.relativeSeriesId, spec.relativeSeriesIndex);\n this._startRelativeSeries = this._getSeriesByIdOrIndex(spec.startRelativeSeriesId, spec.startRelativeSeriesIndex);\n this._endRelativeSeries = this._getSeriesByIdOrIndex(spec.endRelativeSeriesId, spec.endRelativeSeriesIndex);\n }\n\n protected _computeClipRange(regions: IRegion[]) {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n regions.forEach((region: IRegion) => {\n if (region.getLayoutStartPoint().x < minX) {\n minX = region.getLayoutStartPoint().x;\n }\n if (region.getLayoutStartPoint().x + region.getLayoutRect().width > maxX) {\n maxX = region.getLayoutStartPoint().x + region.getLayoutRect().width;\n }\n if (region.getLayoutStartPoint().y < minY) {\n minY = region.getLayoutStartPoint().y;\n }\n if (region.getLayoutStartPoint().y + region.getLayoutRect().height > maxY) {\n maxY = region.getLayoutStartPoint().y + region.getLayoutRect().height;\n }\n });\n return { minX, maxX, minY, maxY };\n }\n\n protected abstract _initDataView(): void;\n protected abstract _createMarkerComponent(): void;\n protected abstract _markerLayout(): void;\n\n protected initEvent() {\n // do nothing\n }\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n protected getFirstSeries(): ICartesianSeries {\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 ICartesianSeries;\n }\n }\n }\n this._option?.onError('need at least one series');\n return null;\n }\n\n getVRenderComponents(): IGraphic[] {\n return [this._markerComponent] as unknown as IGroup[];\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-line/mark-line.ts"],"names":[],"mappings":"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","file":"mark-line.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IMarkLine, IMarkLineSpec, IMarkLineTheme, IStepMarkLineSpec } from './interface';\nimport { isArray } from '../../../util';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IOptionAggr } from '../../../data/transforms/aggregation';\nimport { markerAggregation } from '../../../data/transforms/aggregation';\nimport { xLayout, yLayout, coordinateLayout } from '../utils';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { MarkLine as MarkLineComponent } from '@visactor/vrender-components';\nimport type { IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isValid } from '@visactor/vutils';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport type { INode } from '@visactor/vrender-core';\nimport type { LayoutItem } from '../../../model/layout-item';\nimport type { IDataPos } from '../interface';\nimport type { IOptionRegr } from '../../../data/transforms/regression';\n// eslint-disable-next-line no-duplicate-imports\nimport { markerRegression } from '../../../data/transforms/regression';\nimport { LayoutZIndex } from '../../../constant';\nimport { getInsertPoints, getTextOffset } from './util';\nimport { Factory } from '../../../core/factory';\n\nexport class MarkLine extends BaseMarker<IMarkLineSpec & IMarkLineTheme> implements IMarkLine {\n static type = ComponentTypeEnum.markLine;\n type = ComponentTypeEnum.markLine;\n name: string = ComponentTypeEnum.markLine;\n\n layoutZIndex: LayoutItem['layoutZIndex'] = LayoutZIndex.MarkLine;\n\n static speckey = 'markLine';\n\n protected declare _theme: IMarkLineTheme;\n\n protected declare _markerComponent: MarkLineComponent;\n\n static createComponent(spec: any, options: IComponentOption) {\n const markLineSpec = spec.markLine || options.defaultSpec;\n if (isEmpty(markLineSpec)) {\n return undefined;\n }\n if (!isArray(markLineSpec) && markLineSpec.visible !== false) {\n return new MarkLine(markLineSpec, { ...options, specKey: MarkLine.speckey });\n }\n const markLines: MarkLine[] = [];\n markLineSpec.forEach((m: any, i: number) => {\n if (m.visible !== false) {\n markLines.push(new MarkLine(m, { ...options, specIndex: i, specKey: MarkLine.speckey }));\n }\n });\n return markLines;\n }\n\n protected _createMarkerComponent() {\n const markLine = new MarkLineComponent({\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? false,\n points: [\n {\n x: 0,\n y: 0\n },\n {\n x: 0,\n y: 0\n }\n ],\n lineStyle: this._spec?.line.style as unknown as any,\n startSymbol: {\n ...this._spec?.startSymbol,\n visible: this._spec.startSymbol?.visible,\n style: transformToGraphic(this._spec.startSymbol?.style)\n },\n endSymbol: {\n ...this._spec?.endSymbol,\n visible: this._spec.endSymbol?.visible,\n style: transformToGraphic(this._spec.endSymbol?.style)\n },\n label: {\n ...this._spec.label,\n padding: this._spec.label?.labelBackground?.padding,\n shape: {\n ...transformToGraphic(this._spec.label?.shape),\n visible: this._spec.label?.shape?.visible ?? false\n },\n panel: {\n ...transformToGraphic(this._spec.label?.labelBackground.style),\n visible: this._spec.label?.labelBackground?.visible ?? true\n },\n textStyle: transformToGraphic(this._spec.label?.style)\n },\n clipInRange: this._spec.clip ?? false\n });\n this._markerComponent = markLine;\n this._markerComponent.name = 'markLine';\n this._markerComponent.id = this._spec.id ?? `markLine-${this.id}`;\n this.getContainer().add(this._markerComponent as unknown as INode);\n }\n\n protected _markerLayout() {\n const spec = this._spec as any;\n const data = this._markerData;\n const startRelativeSeries = this._startRelativeSeries;\n const endRelativeSeries = this._endRelativeSeries;\n const relativeSeries = this._relativeSeries;\n\n // eslint-disable-next-line max-len\n const isXLayout =\n isValid(spec.x) || (isValid(spec.coordinates) && isValid(spec.process) && isValid(spec.process.x));\n // eslint-disable-next-line max-len\n const isYLayout =\n isValid(spec.y) || (isValid(spec.coordinates) && isValid(spec.process) && isValid(spec.process.y));\n const isCoordinateLayout =\n isValid(spec.coordinates) && (!isValid(spec.process) || ('process' in spec && 'xy' in spec.process));\n const isPositionLayout = isValid(spec.positions);\n const autoRange = spec.autoRange ?? false;\n\n let points: IPointLike[] = [];\n if (isXLayout) {\n points = xLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange)[0];\n } else if (isYLayout) {\n points = yLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange)[0];\n } else if (isCoordinateLayout) {\n points = coordinateLayout(data, relativeSeries, autoRange);\n } else if (isPositionLayout) {\n points = spec.positions;\n }\n const seriesData = this._relativeSeries.getViewData().latestData;\n const dataPoints = data\n ? data.latestData[0].latestData\n ? data.latestData[0].latestData\n : data.latestData\n : seriesData;\n\n let limitRect;\n if (spec.clip || spec.label?.confine) {\n const { minX, maxX, minY, maxY } = this._computeClipRange([\n startRelativeSeries.getRegion(),\n endRelativeSeries.getRegion(),\n relativeSeries.getRegion()\n ]);\n limitRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n }\n\n const labelAttrs = {\n ...this._markerComponent?.attribute?.label,\n text: this._spec.label.formatMethod\n ? this._spec.label.formatMethod(dataPoints, seriesData)\n : this._markerComponent?.attribute?.label?.text\n };\n\n if ((this._spec as IStepMarkLineSpec).type === 'type-step') {\n const { multiSegment, mainSegmentIndex } = (this._spec as IStepMarkLineSpec).line || {};\n const { connectDirection, expandDistance = 0 } = this._spec as IStepMarkLineSpec;\n\n const joinPoints = getInsertPoints(points[0], points[1], connectDirection, expandDistance);\n\n let labelPositionAttrs: any;\n if (multiSegment && isValid(mainSegmentIndex)) {\n // 如果用户配置了主线段,则不进行 label 的偏移处理,直接显示在主线段中间\n labelPositionAttrs = {\n position: 'middle',\n autoRotate: false,\n refX: 0,\n refY: 0\n };\n } else {\n labelPositionAttrs = {\n position: 'start',\n autoRotate: false,\n ...getTextOffset(points[0], points[1], connectDirection, expandDistance),\n efX: 0,\n refY: 0\n };\n }\n\n this._markerComponent?.setAttributes({\n points: multiSegment\n ? [\n [joinPoints[0], joinPoints[1]],\n [joinPoints[1], joinPoints[2]],\n [joinPoints[2], joinPoints[3]]\n ]\n : joinPoints,\n label: {\n ...labelAttrs,\n ...labelPositionAttrs,\n textStyle: {\n ...this._markerComponent?.attribute?.label.textStyle,\n textAlign: 'center',\n textBaseline: 'middle'\n }\n },\n limitRect,\n multiSegment,\n mainSegmentIndex,\n dx: this.layoutOffsetX,\n dy: this.layoutOffsetY\n });\n } else {\n this._markerComponent?.setAttributes({\n points: points,\n label: labelAttrs,\n limitRect,\n dx: this.layoutOffsetX,\n dy: this.layoutOffsetY\n });\n }\n }\n\n protected _initDataView(): void {\n const spec = this._spec;\n const relativeSeries = this._relativeSeries;\n const isXProcess = 'x' in spec;\n const isYProcess = 'y' in spec;\n const isCoordinateProcess = 'coordinates' in spec;\n\n if (!isXProcess && !isYProcess && !isCoordinateProcess) {\n return;\n }\n\n let options: IOptionAggr[] | IOptionRegr;\n let processData: DataView;\n let needAgggr: boolean = false;\n let needRegr: boolean = false;\n\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n // eslint-disable-next-line no-undef\n registerDataSetInstanceTransform(this._option.dataSet, 'markerRegression', markerRegression);\n\n if (isXProcess) {\n options = [this._processSpecX(spec.x as unknown as IDataPos)];\n processData = relativeSeries.getViewData();\n needAgggr = true;\n } else if (isYProcess) {\n options = [this._processSpecY(spec.y as unknown as IDataPos)];\n processData = relativeSeries.getViewData();\n needAgggr = true;\n } else if (isCoordinateProcess) {\n options = this._processSpecCoo(spec);\n\n processData = new DataView(this._option.dataSet)\n .parse([relativeSeries.getViewData()], {\n type: 'dataview'\n })\n .transform({\n type: 'markerAggregation',\n options\n });\n if (spec.process && 'x' in spec.process) {\n options = [this._processSpecX(spec.process.x as unknown as IDataPos)];\n needAgggr = true;\n }\n if (spec.process && 'y' in spec.process) {\n options = [this._processSpecY(spec.process.y as unknown as IDataPos)];\n needAgggr = true;\n }\n if (spec.process && 'xy' in spec.process) {\n const { xField, yField } = relativeSeries.getSpec();\n options = {\n fieldX: xField,\n fieldY: yField\n };\n needRegr = true;\n }\n }\n\n const data = new DataView(this._option.dataSet);\n data.parse([processData], {\n type: 'dataview'\n });\n if (needAgggr) {\n data.transform({\n type: 'markerAggregation',\n options\n });\n }\n if (needRegr) {\n data.transform({\n type: 'markerRegression',\n options\n });\n }\n\n data.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n\nexport const registerMarkLine = () => {\n Factory.registerComponent(MarkLine.type, MarkLine);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-line/mark-line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAG7E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAM5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,MAAM,OAAO,QAAS,SAAQ,UAA0C;IAAxE;;QAEE,SAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC;QAClC,SAAI,GAAW,iBAAiB,CAAC,QAAQ,CAAC;QAE1C,iBAAY,GAA+B,YAAY,CAAC,QAAQ,CAAC;IA0QnE,CAAC;IAlQC,MAAM,CAAC,eAAe,CAAC,IAAS,EAAE,OAAyB;QACzD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;QAC1D,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE;YACzB,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,OAAO,KAAK,KAAK,EAAE;YAC5D,OAAO,IAAI,QAAQ,CAAC,YAAY,kCAAO,OAAO,KAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAG,CAAC;SAC9E;QACD,MAAM,SAAS,GAAe,EAAE,CAAC;QACjC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,CAAS,EAAE,EAAE;YACzC,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,EAAE;gBACvB,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,kCAAO,OAAO,KAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAG,CAAC,CAAC;aAC1F;QACH,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,sBAAsB;;QAC9B,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC;YACrC,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,WAAW,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,KAAK;YAC5C,MAAM,EAAE;gBACN;oBACE,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;iBACL;gBACD;oBACE,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;iBACL;aACF;YACD,SAAS,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,CAAC,KAAuB;YACnD,WAAW,kCACN,MAAA,IAAI,CAAC,KAAK,0CAAE,WAAW,KAC1B,OAAO,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,OAAO,EACxC,KAAK,EAAE,kBAAkB,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,KAAK,CAAC,GACzD;YACD,SAAS,kCACJ,MAAA,IAAI,CAAC,KAAK,0CAAE,SAAS,KACxB,OAAO,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,OAAO,EACtC,KAAK,EAAE,kBAAkB,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,KAAK,CAAC,GACvD;YACD,KAAK,kCACA,IAAI,CAAC,KAAK,CAAC,KAAK,KACnB,OAAO,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,eAAe,0CAAE,OAAO,EACnD,KAAK,kCACA,kBAAkB,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,CAAC,KAC9C,OAAO,EAAE,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,0CAAE,OAAO,mCAAI,KAAK,KAEpD,KAAK,kCACA,kBAAkB,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,eAAe,CAAC,KAAK,CAAC,KAC9D,OAAO,EAAE,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,eAAe,0CAAE,OAAO,mCAAI,IAAI,KAE7D,SAAS,EAAE,kBAAkB,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,CAAC,GACvD;YACD,WAAW,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,KAAK;SACtC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,UAAU,CAAC;QACxC,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,YAAY,IAAI,CAAC,EAAE,EAAE,CAAC;QAClE,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAoC,CAAC,CAAC;IACrE,CAAC;IAES,aAAa;;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAY,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAG5C,MAAM,SAAS,GACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAErG,MAAM,SAAS,GACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,MAAM,kBAAkB,GACtB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACvG,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,KAAK,CAAC;QAE1C,IAAI,MAAM,GAAiB,EAAE,CAAC;QAC9B,IAAI,SAAS,EAAE;YACb,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9F;aAAM,IAAI,SAAS,EAAE;YACpB,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9F;aAAM,IAAI,kBAAkB,EAAE;YAC7B,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;SAC5D;aAAM,IAAI,gBAAgB,EAAE;YAC3B,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;SACzB;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI;YACrB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU;gBAC7B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU;gBAC/B,CAAC,CAAC,IAAI,CAAC,UAAU;YACnB,CAAC,CAAC,UAAU,CAAC;QAEf,IAAI,SAAS,CAAC;QACd,IAAI,IAAI,CAAC,IAAI,KAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,CAAA,EAAE;YACpC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBACxD,mBAAmB,CAAC,SAAS,EAAE;gBAC/B,iBAAiB,CAAC,SAAS,EAAE;gBAC7B,cAAc,CAAC,SAAS,EAAE;aAC3B,CAAC,CAAC;YACH,SAAS,GAAG;gBACV,CAAC,EAAE,IAAI;gBACP,CAAC,EAAE,IAAI;gBACP,KAAK,EAAE,IAAI,GAAG,IAAI;gBAClB,MAAM,EAAE,IAAI,GAAG,IAAI;aACpB,CAAC;SACH;QAED,MAAM,UAAU,mCACX,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,0CAAE,KAAK,KAC1C,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;gBACjC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC;gBACvD,CAAC,CAAC,MAAA,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,0CAAE,KAAK,0CAAE,IAAI,GAClD,CAAC;QAEF,IAAK,IAAI,CAAC,KAA2B,CAAC,IAAI,KAAK,WAAW,EAAE;YAC1D,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAI,IAAI,CAAC,KAA2B,CAAC,IAAI,IAAI,EAAE,CAAC;YACxF,MAAM,EAAE,gBAAgB,EAAE,cAAc,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAA0B,CAAC;YAEjF,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;YAE3F,IAAI,kBAAuB,CAAC;YAC5B,IAAI,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC,EAAE;gBAE7C,kBAAkB,GAAG;oBACnB,QAAQ,EAAE,QAAQ;oBAClB,UAAU,EAAE,KAAK;oBACjB,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;iBACR,CAAC;aACH;iBAAM;gBACL,kBAAkB,iCAChB,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,KAAK,IACd,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,cAAc,CAAC,KACxE,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,GACR,CAAC;aACH;YAED,MAAA,IAAI,CAAC,gBAAgB,0CAAE,aAAa,CAAC;gBACnC,MAAM,EAAE,YAAY;oBAClB,CAAC,CAAC;wBACE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;wBAC9B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;wBAC9B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;qBAC/B;oBACH,CAAC,CAAC,UAAU;gBACd,KAAK,gDACA,UAAU,GACV,kBAAkB,KACrB,SAAS,kCACJ,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,0CAAE,KAAK,CAAC,SAAS,KACpD,SAAS,EAAE,QAAQ,EACnB,YAAY,EAAE,QAAQ,MAEzB;gBACD,SAAS;gBACT,YAAY;gBACZ,gBAAgB;gBAChB,EAAE,EAAE,IAAI,CAAC,aAAa;gBACtB,EAAE,EAAE,IAAI,CAAC,aAAa;aACvB,CAAC,CAAC;SACJ;aAAM;YACL,MAAA,IAAI,CAAC,gBAAgB,0CAAE,aAAa,CAAC;gBACnC,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,UAAU;gBACjB,SAAS;gBACT,EAAE,EAAE,IAAI,CAAC,aAAa;gBACtB,EAAE,EAAE,IAAI,CAAC,aAAa;aACvB,CAAC,CAAC;SACJ;IACH,CAAC;IAES,aAAa;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC;QAC/B,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC;QAC/B,MAAM,mBAAmB,GAAG,aAAa,IAAI,IAAI,CAAC;QAElD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,mBAAmB,EAAE;YACtD,OAAO;SACR;QAED,IAAI,OAAoC,CAAC;QACzC,IAAI,WAAqB,CAAC;QAC1B,IAAI,SAAS,GAAY,KAAK,CAAC;QAC/B,IAAI,QAAQ,GAAY,KAAK,CAAC;QAE9B,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QAE/F,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAE7F,IAAI,UAAU,EAAE;YACd,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAwB,CAAC,CAAC,CAAC;YAC9D,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;YAC3C,SAAS,GAAG,IAAI,CAAC;SAClB;aAAM,IAAI,UAAU,EAAE;YACrB,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAwB,CAAC,CAAC,CAAC;YAC9D,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;YAC3C,SAAS,GAAG,IAAI,CAAC;SAClB;aAAM,IAAI,mBAAmB,EAAE;YAC9B,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAErC,WAAW,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;iBAC7C,KAAK,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,EAAE;gBACrC,IAAI,EAAE,UAAU;aACjB,CAAC;iBACD,SAAS,CAAC;gBACT,IAAI,EAAE,mBAAmB;gBACzB,OAAO;aACR,CAAC,CAAC;YACL,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;gBACvC,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAwB,CAAC,CAAC,CAAC;gBACtE,SAAS,GAAG,IAAI,CAAC;aAClB;YACD,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;gBACvC,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAwB,CAAC,CAAC,CAAC;gBACtE,SAAS,GAAG,IAAI,CAAC;aAClB;YACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;gBACxC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;gBACpD,OAAO,GAAG;oBACR,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,MAAM;iBACf,CAAC;gBACF,QAAQ,GAAG,IAAI,CAAC;aACjB;SACF;QAED,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE;YACxB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,mBAAmB;gBACzB,OAAO;aACR,CAAC,CAAC;SACJ;QACD,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,kBAAkB;gBACxB,OAAO;aACR,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;;AA7QM,aAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC;AAMlC,gBAAO,GAAG,UAAU,CAAC;AA0Q9B,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC,CAAC","file":"mark-line.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IMarkLine, IMarkLineSpec, IMarkLineTheme, IStepMarkLineSpec } from './interface';\nimport { isArray } from '../../../util';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IOptionAggr } from '../../../data/transforms/aggregation';\n// eslint-disable-next-line no-duplicate-imports\nimport { markerAggregation } from '../../../data/transforms/aggregation';\nimport { xLayout, yLayout, coordinateLayout } from '../utils';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { MarkLine as MarkLineComponent } from '@visactor/vrender-components';\nimport type { IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isValid } from '@visactor/vutils';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport type { INode } from '@visactor/vrender-core';\nimport type { LayoutItem } from '../../../model/layout-item';\nimport type { IDataPos } from '../interface';\nimport type { IOptionRegr } from '../../../data/transforms/regression';\n// eslint-disable-next-line no-duplicate-imports\nimport { markerRegression } from '../../../data/transforms/regression';\nimport { LayoutZIndex } from '../../../constant';\nimport { getInsertPoints, getTextOffset } from './util';\nimport { Factory } from '../../../core/factory';\n\nexport class MarkLine extends BaseMarker<IMarkLineSpec & IMarkLineTheme> implements IMarkLine {\n static type = ComponentTypeEnum.markLine;\n type = ComponentTypeEnum.markLine;\n name: string = ComponentTypeEnum.markLine;\n\n layoutZIndex: LayoutItem['layoutZIndex'] = LayoutZIndex.MarkLine;\n\n static speckey = 'markLine';\n\n protected declare _theme: IMarkLineTheme;\n\n protected declare _markerComponent: MarkLineComponent;\n\n static createComponent(spec: any, options: IComponentOption) {\n const markLineSpec = spec.markLine || options.defaultSpec;\n if (isEmpty(markLineSpec)) {\n return undefined;\n }\n if (!isArray(markLineSpec) && markLineSpec.visible !== false) {\n return new MarkLine(markLineSpec, { ...options, specKey: MarkLine.speckey });\n }\n const markLines: MarkLine[] = [];\n markLineSpec.forEach((m: any, i: number) => {\n if (m.visible !== false) {\n markLines.push(new MarkLine(m, { ...options, specIndex: i, specKey: MarkLine.speckey }));\n }\n });\n return markLines;\n }\n\n protected _createMarkerComponent() {\n const markLine = new MarkLineComponent({\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? false,\n points: [\n {\n x: 0,\n y: 0\n },\n {\n x: 0,\n y: 0\n }\n ],\n lineStyle: this._spec?.line.style as unknown as any,\n startSymbol: {\n ...this._spec?.startSymbol,\n visible: this._spec.startSymbol?.visible,\n style: transformToGraphic(this._spec.startSymbol?.style)\n },\n endSymbol: {\n ...this._spec?.endSymbol,\n visible: this._spec.endSymbol?.visible,\n style: transformToGraphic(this._spec.endSymbol?.style)\n },\n label: {\n ...this._spec.label,\n padding: this._spec.label?.labelBackground?.padding,\n shape: {\n ...transformToGraphic(this._spec.label?.shape),\n visible: this._spec.label?.shape?.visible ?? false\n },\n panel: {\n ...transformToGraphic(this._spec.label?.labelBackground.style),\n visible: this._spec.label?.labelBackground?.visible ?? true\n },\n textStyle: transformToGraphic(this._spec.label?.style)\n },\n clipInRange: this._spec.clip ?? false\n });\n this._markerComponent = markLine;\n this._markerComponent.name = 'markLine';\n this._markerComponent.id = this._spec.id ?? `markLine-${this.id}`;\n this.getContainer().add(this._markerComponent as unknown as INode);\n }\n\n protected _markerLayout() {\n const spec = this._spec as any;\n const data = this._markerData;\n const startRelativeSeries = this._startRelativeSeries;\n const endRelativeSeries = this._endRelativeSeries;\n const relativeSeries = this._relativeSeries;\n\n // eslint-disable-next-line max-len\n const isXLayout =\n isValid(spec.x) || (isValid(spec.coordinates) && isValid(spec.process) && isValid(spec.process.x));\n // eslint-disable-next-line max-len\n const isYLayout =\n isValid(spec.y) || (isValid(spec.coordinates) && isValid(spec.process) && isValid(spec.process.y));\n const isCoordinateLayout =\n isValid(spec.coordinates) && (!isValid(spec.process) || ('process' in spec && 'xy' in spec.process));\n const isPositionLayout = isValid(spec.positions);\n const autoRange = spec.autoRange ?? false;\n\n let points: IPointLike[] = [];\n if (isXLayout) {\n points = xLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange)[0];\n } else if (isYLayout) {\n points = yLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange)[0];\n } else if (isCoordinateLayout) {\n points = coordinateLayout(data, relativeSeries, autoRange);\n } else if (isPositionLayout) {\n points = spec.positions;\n }\n const seriesData = this._relativeSeries.getViewData().latestData;\n const dataPoints = data\n ? data.latestData[0].latestData\n ? data.latestData[0].latestData\n : data.latestData\n : seriesData;\n\n let limitRect;\n if (spec.clip || spec.label?.confine) {\n const { minX, maxX, minY, maxY } = this._computeClipRange([\n startRelativeSeries.getRegion(),\n endRelativeSeries.getRegion(),\n relativeSeries.getRegion()\n ]);\n limitRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n }\n\n const labelAttrs = {\n ...this._markerComponent?.attribute?.label,\n text: this._spec.label.formatMethod\n ? this._spec.label.formatMethod(dataPoints, seriesData)\n : this._markerComponent?.attribute?.label?.text\n };\n\n if ((this._spec as IStepMarkLineSpec).type === 'type-step') {\n const { multiSegment, mainSegmentIndex } = (this._spec as IStepMarkLineSpec).line || {};\n const { connectDirection, expandDistance = 0 } = this._spec as IStepMarkLineSpec;\n\n const joinPoints = getInsertPoints(points[0], points[1], connectDirection, expandDistance);\n\n let labelPositionAttrs: any;\n if (multiSegment && isValid(mainSegmentIndex)) {\n // 如果用户配置了主线段,则不进行 label 的偏移处理,直接显示在主线段中间\n labelPositionAttrs = {\n position: 'middle',\n autoRotate: false,\n refX: 0,\n refY: 0\n };\n } else {\n labelPositionAttrs = {\n position: 'start',\n autoRotate: false,\n ...getTextOffset(points[0], points[1], connectDirection, expandDistance),\n efX: 0,\n refY: 0\n };\n }\n\n this._markerComponent?.setAttributes({\n points: multiSegment\n ? [\n [joinPoints[0], joinPoints[1]],\n [joinPoints[1], joinPoints[2]],\n [joinPoints[2], joinPoints[3]]\n ]\n : joinPoints,\n label: {\n ...labelAttrs,\n ...labelPositionAttrs,\n textStyle: {\n ...this._markerComponent?.attribute?.label.textStyle,\n textAlign: 'center',\n textBaseline: 'middle'\n }\n },\n limitRect,\n multiSegment,\n mainSegmentIndex,\n dx: this.layoutOffsetX,\n dy: this.layoutOffsetY\n });\n } else {\n this._markerComponent?.setAttributes({\n points: points,\n label: labelAttrs,\n limitRect,\n dx: this.layoutOffsetX,\n dy: this.layoutOffsetY\n });\n }\n }\n\n protected _initDataView(): void {\n const spec = this._spec;\n const relativeSeries = this._relativeSeries;\n const isXProcess = 'x' in spec;\n const isYProcess = 'y' in spec;\n const isCoordinateProcess = 'coordinates' in spec;\n\n if (!isXProcess && !isYProcess && !isCoordinateProcess) {\n return;\n }\n\n let options: IOptionAggr[] | IOptionRegr;\n let processData: DataView;\n let needAgggr: boolean = false;\n let needRegr: boolean = false;\n\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n // eslint-disable-next-line no-undef\n registerDataSetInstanceTransform(this._option.dataSet, 'markerRegression', markerRegression);\n\n if (isXProcess) {\n options = [this._processSpecX(spec.x as unknown as IDataPos)];\n processData = relativeSeries.getViewData();\n needAgggr = true;\n } else if (isYProcess) {\n options = [this._processSpecY(spec.y as unknown as IDataPos)];\n processData = relativeSeries.getViewData();\n needAgggr = true;\n } else if (isCoordinateProcess) {\n options = this._processSpecCoo(spec);\n\n processData = new DataView(this._option.dataSet)\n .parse([relativeSeries.getViewData()], {\n type: 'dataview'\n })\n .transform({\n type: 'markerAggregation',\n options\n });\n if (spec.process && 'x' in spec.process) {\n options = [this._processSpecX(spec.process.x as unknown as IDataPos)];\n needAgggr = true;\n }\n if (spec.process && 'y' in spec.process) {\n options = [this._processSpecY(spec.process.y as unknown as IDataPos)];\n needAgggr = true;\n }\n if (spec.process && 'xy' in spec.process) {\n const { xField, yField } = relativeSeries.getSpec();\n options = {\n fieldX: xField,\n fieldY: yField\n };\n needRegr = true;\n }\n }\n\n const data = new DataView(this._option.dataSet);\n data.parse([processData], {\n type: 'dataview'\n });\n if (needAgggr) {\n data.transform({\n type: 'markerAggregation',\n options\n });\n }\n if (needRegr) {\n data.transform({\n type: 'markerRegression',\n options\n });\n }\n\n data.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n\nexport const registerMarkLine = () => {\n Factory.registerComponent(MarkLine.type, MarkLine);\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-point/mark-point.ts"],"names":[],"mappings":"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","file":"mark-point.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IMarkPoint, IMarkPointSpec, IMarkPointTheme } from './interface';\nimport { isArray } from '../../../util';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { markerAggregation } from '../../../data/transforms/aggregation';\nimport { coordinateLayout } from '../utils';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { MarkPoint as MarkPointComponent } from '@visactor/vrender-components';\nimport type { IPointLike } from '@visactor/vutils';\nimport { isEmpty, isValid } from '@visactor/vutils';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport { LayoutZIndex } from '../../../constant';\nimport type { LayoutItem } from '../../../model/layout-item';\nimport { Factory } from '../../../core/factory';\nimport type { INode } from '@visactor/vrender-core';\n\nexport class MarkPoint extends BaseMarker<IMarkPointSpec & IMarkPointTheme> implements IMarkPoint {\n static type = ComponentTypeEnum.markPoint;\n type = ComponentTypeEnum.markPoint;\n name: string = ComponentTypeEnum.markPoint;\n\n layoutZIndex: LayoutItem['layoutZIndex'] = LayoutZIndex.MarkPoint;\n\n static speckey = 'markPoint';\n\n protected declare _theme: IMarkPointTheme;\n\n // markPoint组件\n protected declare _markerComponent: MarkPointComponent;\n\n static createComponent(spec: any, options: IComponentOption) {\n const markPointSpec = spec.markPoint || options.defaultSpec;\n if (isEmpty(markPointSpec)) {\n return undefined;\n }\n if (!isArray(markPointSpec) && markPointSpec.visible !== false) {\n return new MarkPoint(markPointSpec, { ...options, specKey: MarkPoint.speckey });\n }\n const markPoints: MarkPoint[] = [];\n markPointSpec.forEach((m: any, i: number) => {\n if (m.visible !== false) {\n markPoints.push(new MarkPoint(m, { ...options, specIndex: i, specKey: MarkPoint.speckey }));\n }\n });\n return markPoints;\n }\n\n protected _createMarkerComponent() {\n const markPoint = new MarkPointComponent({\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? false,\n position: { x: 0, y: 0 },\n itemLine: {\n lineStyle: transformToGraphic(this._spec.itemLine?.line?.style),\n ...this._spec.itemLine\n },\n itemContent: {\n symbolStyle: transformToGraphic(this._spec.itemContent?.symbol?.style),\n imageStyle: this._spec.itemContent?.image?.style,\n textStyle: {\n ...this._spec.itemContent?.text,\n padding: this._spec.itemContent?.text?.labelBackground?.padding,\n shape: {\n ...transformToGraphic(this._spec.itemContent?.text?.shape),\n visible: this._spec.itemContent?.text?.shape?.visible ?? false\n },\n panel: {\n ...transformToGraphic(this._spec.itemContent?.text?.labelBackground?.style),\n visible: this._spec.itemContent?.text?.labelBackground?.visible ?? true\n },\n textStyle: transformToGraphic(this._spec.itemContent?.text?.style)\n },\n richTextStyle: this._spec.itemContent?.richText?.style,\n ...this._spec.itemContent\n },\n clipInRange: this._spec.clip ?? false\n });\n this._markerComponent = markPoint;\n this._markerComponent.name = 'markPoint';\n this._markerComponent.id = this._spec.id ?? `markPoint-${this.id}`;\n this.getContainer().add(this._markerComponent as unknown as INode);\n }\n\n protected _markerLayout() {\n const spec = this._spec;\n const data = this._markerData;\n const relativeSeries = this._relativeSeries;\n const isCoordinateLayout = 'coordinate' in spec;\n const isPositionLayout = 'position' in spec;\n const autoRange = spec?.autoRange ?? false;\n\n let point: IPointLike;\n if (isCoordinateLayout) {\n point = coordinateLayout(data, relativeSeries, autoRange)[0];\n } else if (isPositionLayout) {\n point = spec.position;\n }\n\n const seriesData = this._relativeSeries.getViewData().latestData;\n const dataPoints = data\n ? data.latestData[0].latestData\n ? data.latestData[0].latestData\n : data.latestData\n : seriesData;\n\n let limitRect;\n if (spec.clip) {\n const { minX, maxX, minY, maxY } = this._computeClipRange([relativeSeries.getRegion()]);\n limitRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n }\n\n this._markerComponent?.setAttributes({\n position: point,\n itemContent: {\n ...this._markerComponent?.attribute?.itemContent,\n textStyle: {\n ...this._markerComponent?.attribute?.itemContent?.textStyle,\n text: this._spec.itemContent.text?.formatMethod\n ? this._spec.itemContent.text.formatMethod(dataPoints, seriesData)\n : this._markerComponent?.attribute?.itemContent?.textStyle?.text\n }\n },\n limitRect,\n dx: this.layoutOffsetX,\n dy: this.layoutOffsetY\n });\n }\n\n protected _initDataView(): void {\n const spec = this._spec as any;\n const relativeSeries = this._relativeSeries;\n const isCoordinateProcess = isValid(spec.coordinate);\n if (!isCoordinateProcess) {\n return;\n }\n\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n\n const options = this._processSpecCoo(spec);\n\n const data = new DataView(this._option.dataSet);\n data.parse([relativeSeries.getViewData()], {\n type: 'dataview'\n });\n data.transform({\n type: 'markerAggregation',\n options\n });\n\n data.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n\nexport const registerMarkPoint = () => {\n Factory.registerComponent(MarkPoint.type, MarkPoint);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-point/mark-point.ts"],"names":[],"mappings":"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","file":"mark-point.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IMarkPoint, IMarkPointSpec, IMarkPointTheme } from './interface';\nimport { isArray } from '../../../util';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { markerAggregation } from '../../../data/transforms/aggregation';\nimport { coordinateLayout } from '../utils';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { MarkPoint as MarkPointComponent } from '@visactor/vrender-components';\nimport type { IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isValid } from '@visactor/vutils';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport { LayoutZIndex } from '../../../constant';\nimport type { LayoutItem } from '../../../model/layout-item';\nimport { Factory } from '../../../core/factory';\nimport type { INode } from '@visactor/vrender-core';\n\nexport class MarkPoint extends BaseMarker<IMarkPointSpec & IMarkPointTheme> implements IMarkPoint {\n static type = ComponentTypeEnum.markPoint;\n type = ComponentTypeEnum.markPoint;\n name: string = ComponentTypeEnum.markPoint;\n\n layoutZIndex: LayoutItem['layoutZIndex'] = LayoutZIndex.MarkPoint;\n\n static speckey = 'markPoint';\n\n protected declare _theme: IMarkPointTheme;\n\n // markPoint组件\n protected declare _markerComponent: MarkPointComponent;\n\n static createComponent(spec: any, options: IComponentOption) {\n const markPointSpec = spec.markPoint || options.defaultSpec;\n if (isEmpty(markPointSpec)) {\n return undefined;\n }\n if (!isArray(markPointSpec) && markPointSpec.visible !== false) {\n return new MarkPoint(markPointSpec, { ...options, specKey: MarkPoint.speckey });\n }\n const markPoints: MarkPoint[] = [];\n markPointSpec.forEach((m: any, i: number) => {\n if (m.visible !== false) {\n markPoints.push(new MarkPoint(m, { ...options, specIndex: i, specKey: MarkPoint.speckey }));\n }\n });\n return markPoints;\n }\n\n protected _createMarkerComponent() {\n const markPoint = new MarkPointComponent({\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? false,\n position: { x: 0, y: 0 },\n itemLine: {\n lineStyle: transformToGraphic(this._spec.itemLine?.line?.style),\n ...this._spec.itemLine\n },\n itemContent: {\n symbolStyle: transformToGraphic(this._spec.itemContent?.symbol?.style),\n imageStyle: this._spec.itemContent?.image?.style,\n textStyle: {\n ...this._spec.itemContent?.text,\n padding: this._spec.itemContent?.text?.labelBackground?.padding,\n shape: {\n ...transformToGraphic(this._spec.itemContent?.text?.shape),\n visible: this._spec.itemContent?.text?.shape?.visible ?? false\n },\n panel: {\n ...transformToGraphic(this._spec.itemContent?.text?.labelBackground?.style),\n visible: this._spec.itemContent?.text?.labelBackground?.visible ?? true\n },\n textStyle: transformToGraphic(this._spec.itemContent?.text?.style)\n },\n richTextStyle: this._spec.itemContent?.richText?.style,\n ...this._spec.itemContent\n },\n clipInRange: this._spec.clip ?? false\n });\n this._markerComponent = markPoint;\n this._markerComponent.name = 'markPoint';\n this._markerComponent.id = this._spec.id ?? `markPoint-${this.id}`;\n this.getContainer().add(this._markerComponent as unknown as INode);\n }\n\n protected _markerLayout() {\n const spec = this._spec;\n const data = this._markerData;\n const relativeSeries = this._relativeSeries;\n const isCoordinateLayout = 'coordinate' in spec;\n const isPositionLayout = 'position' in spec;\n const autoRange = spec?.autoRange ?? false;\n\n let point: IPointLike;\n if (isCoordinateLayout) {\n point = coordinateLayout(data, relativeSeries, autoRange)[0];\n } else if (isPositionLayout) {\n point = spec.position;\n }\n\n const seriesData = this._relativeSeries.getViewData().latestData;\n const dataPoints = data\n ? data.latestData[0].latestData\n ? data.latestData[0].latestData\n : data.latestData\n : seriesData;\n\n let limitRect;\n if (spec.clip) {\n const { minX, maxX, minY, maxY } = this._computeClipRange([relativeSeries.getRegion()]);\n limitRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n }\n\n this._markerComponent?.setAttributes({\n position: point,\n itemContent: {\n ...this._markerComponent?.attribute?.itemContent,\n textStyle: {\n ...this._markerComponent?.attribute?.itemContent?.textStyle,\n text: this._spec.itemContent.text?.formatMethod\n ? this._spec.itemContent.text.formatMethod(dataPoints, seriesData)\n : this._markerComponent?.attribute?.itemContent?.textStyle?.text\n }\n },\n limitRect,\n dx: this.layoutOffsetX,\n dy: this.layoutOffsetY\n });\n }\n\n protected _initDataView(): void {\n const spec = this._spec as any;\n const relativeSeries = this._relativeSeries;\n const isCoordinateProcess = isValid(spec.coordinate);\n if (!isCoordinateProcess) {\n return;\n }\n\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n\n const options = this._processSpecCoo(spec);\n\n const data = new DataView(this._option.dataSet);\n data.parse([relativeSeries.getViewData()], {\n type: 'dataview'\n });\n data.transform({\n type: 'markerAggregation',\n options\n });\n\n data.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n\nexport const registerMarkPoint = () => {\n Factory.registerComponent(MarkPoint.type, MarkPoint);\n};\n"]}
@@ -1,4 +1,4 @@
1
- import type { IGroup } from '@visactor/vrender-core';
1
+ import type { IGraphic } from '@visactor/vrender-core';
2
2
  import type { ILayoutRect, IModelRenderOption } from '../../model/interface';
3
3
  import type { IRegion } from '../../region/interface';
4
4
  import type { IComponentOption } from '../interface';
@@ -39,7 +39,7 @@ export declare class Player extends BaseComponent<IPlayer> implements IComponent
39
39
  };
40
40
  changeRegions(regions: IRegion[]): void;
41
41
  onRender(ctx: IModelRenderOption): void;
42
- getVRenderComponents(): IGroup[];
42
+ getVRenderComponents(): IGraphic[];
43
43
  private _getPlayerAttrs;
44
44
  private _createOrUpdatePlayerComponent;
45
45
  private _computeLayoutRect;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/player/player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAK/C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACjG,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAa5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEvE,MAAM,OAAO,MAAO,SAAQ,aAAsB;IAAlD;;QACE,iBAAY,GAAW,YAAY,CAAC,MAAM,CAAC;QAC3C,gBAAW,GAAW,WAAW,CAAC,MAAM,CAAC;QAGzC,SAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAChC,YAAO,GAAG,QAAQ,CAAC;QACX,YAAO,GAAgB,QAAQ,CAAC;QAiGhC,oBAAe,GAAG,GAAG,EAAE;;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAC7B,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE;oBACJ,KAAK,EAAE,IAAI,CAAC,MAAM;oBAClB,MAAM,EAAE,IAAI,CAAC,OAAO;iBACrB;gBACD,EAAE,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,CAAC,GAAG,IAAI,CAAC,GAAG;gBACjC,EAAE,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,CAAC,GAAG,IAAI,CAAC,GAAG;aAClC,CAAC;YAEF,IAAI,IAAI,KAAK,UAAU,EAAE;gBACvB,uCAAY,4BAA4B,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAK,WAAW,EAAG;aACrF;YAED,uCAAY,8BAA8B,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAK,WAAW,EAAG;QACxF,CAAC,CAAC;QAKM,mCAA8B,GAAG,GAAG,EAAE;YAC5C,MAAM,KAAK,qBAAQ,IAAI,CAAC,eAAe,EAAE,CAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;oBACrC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;oBACzB,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;iBAC5C;aACF;iBAAM;gBACL,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;oBAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;iBACnD;qBAAM;oBACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;iBACrD;gBAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,QAAQ,CAAC;gBAEtC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAoC,CAAC,CAAC;gBAEzD,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;QACH,CAAC,CAAC;QAoGM,aAAQ,GAAG,GAAG,EAAE;;YACtB,OAAO,IAAI,CAAC,GAAG,CACb,GAAG,KAAK,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,0CAAE,KAAK,0CAAE,IAAI,CAAC,EAClD,GAAG,KAAK,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,0CAAE,KAAK,0CAAE,IAAI,CAAC,EAClD,GAAG,KAAK,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,0CAAE,KAAK,0CAAE,IAAI,CAAC,EACrD,GAAG,KAAK,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,0CAAE,KAAK,0CAAE,IAAI,CAAC,EACpD,MAAA,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAI,EAAE,CAC1G,CAAC;QACJ,CAAC,CAAC;QAKM,wBAAmB,GAAG,GAAG,EAAE;;YACjC,MAAM,YAAY,GAChB,MAAA,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;YAC5G,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAChC,GAAG,KAAK,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,0CAAE,KAAK,0CAAE,IAAI,CAAC,EAClD,GAAG,KAAK,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,0CAAE,KAAK,0CAAE,IAAI,CAAC,EAClD,GAAG,KAAK,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,0CAAE,KAAK,0CAAE,IAAI,CAAC,EACrD,GAAG,KAAK,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,0CAAE,KAAK,0CAAE,IAAI,CAAC,CACrD,CAAC;YACF,IAAI,YAAY,IAAI,iBAAiB,EAAE;gBACrC,OAAO,YAAY,GAAG,iBAAiB,CAAC;aACzC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QAKM,eAAU,GAAG,GAAG,EAAE;YAExB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE;;gBACvD,IAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,EAAE;oBACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;iBAC9B;YACH,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;;gBACjE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAGvD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;oBACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;oBACxE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;wBAClC,SAAS,EAAE,IAAI,CAAC,UAAU;wBAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;qBACtE,CAAC,CAAC;iBACJ;gBAGD,IAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,EAAE;oBACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;iBAC9B;YACH,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAgC,EAAE,EAAE;gBAEpG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;;oBACjD,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,cAAc,0CAAE,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjE,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;oBACvC,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,IAAI,CAAC,MAAM;qBACnB;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAgC,EAAE,EAAE;gBACtG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;oBACzC,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,IAAI,CAAC,MAAM;qBACnB;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAgC,EAAE,EAAE;gBACrG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;oBACxC,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,IAAI,CAAC,MAAM;qBACnB;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAgC,EAAE,EAAE;gBAClG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;oBACrC,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,IAAI,CAAC,MAAM;qBACnB;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAgC,EAAE,EAAE;gBACnG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;oBACtC,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,IAAI,CAAC,MAAM;qBACnB;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAvWC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,YAAY,CAAC,CAAc;QAC7B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACnB,CAAC;IAaD,eAAe;;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,mCAAI,QAAQ,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,mCAAI,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,SAAS,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,KAAK,CAAC;QAChD,IAAI,CAAC,GAAG,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,mCAAI,QAAQ,CAAC;IACnD,CAAC;IAMD,sBAAsB,CAAC,GAAoB;QACzC,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACxB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SAC3E;QACD,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACxB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SAC3E;IACH,CAAC;IAOD,aAAa,CAAC,IAAiB,EAAE,SAAsB;QACrD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAExE,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAEtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,OAAkB;IAEhC,CAAC;IAED,QAAQ,CAAC,GAAuB;IAEhC,CAAC;IAED,oBAAoB;QAClB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAwB,CAAC;IACxD,CAAC;IAqDO,kBAAkB,CAAC,IAAiB,EAAE,KAAa,EAAE,MAAc;QACzE,QAAQ,IAAI,CAAC,OAAO,EAAE;YACpB,KAAK,KAAK,CAAC,CAAC;gBACV,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;aAChD;YACD,KAAK,OAAO,CAAC,CAAC;gBACZ,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;aAC3E;YACD,KAAK,MAAM,CAAC,CAAC;gBACX,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;aAChD;YACD,KAAK,QAAQ,CAAC;YACd,OAAO,CAAC,CAAC;gBACP,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;aAC7E;SACF;IACH,CAAC;IAKO,aAAa,CAAC,IAAiB;QAErC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;SACvD;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;SACxB;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAKO,cAAc,CAAC,IAAiB;QAEtC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACjC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;SACzD;QAED,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;SACxB;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAKO,UAAU,CAAC,IAAiB;QAElC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC5B,OAAO,CAAC,CAAC;SACV;QAGD,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE;YAC9B,OAAO,CAAC,CAAC;SACV;aAEI,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;YACpC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACvC;QAED,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;IAClC,CAAC;IAKO,UAAU,CAAC,IAAiB;QAElC,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC9B,OAAO,CAAC,CAAC;SACV;QAGD,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE;YAC9B,OAAO,CAAC,CAAC;SACV;aAEI,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;YACpC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACzC;QAGD,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;IACpC,CAAC;;AA9OM,WAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC;AA6BhC,sBAAe,GAAG,CAAC,IAAgB,EAAE,OAAyB,EAAE,EAAE;IACvE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAiB,CAAC;IAC1C,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,EAAE;QACrD,OAAO,IAAI,CAAC;KACb;IACD,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC,CAAC;AAuVJ,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC,CAAC","file":"player.js","sourcesContent":["import { Factory } from './../../core/factory';\nimport type { INode, IGroup } from '@visactor/vrender-core';\nimport type { ContinuousPlayerAttributes, DiscretePlayerAttributes } from '@visactor/vrender-components';\n\n// eslint-disable-next-line no-duplicate-imports\nimport { DiscretePlayer, ContinuousPlayer, PlayerEventEnum } from '@visactor/vrender-components';\nimport { isNumber, array, isEqual } from '@visactor/vutils';\n\nimport type { ILayoutRect, IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { IComponentOption } from '../interface';\n\nimport type { DirectionType, IPlayer } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IComponent } from '../interface';\nimport type { IPoint, IOrientType } from '../../typings';\nimport { type IChartSpec, type IDataValues } from '../..';\n\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport { BaseComponent } from '../base';\nimport { isNil, isValidNumber } from '../../util';\nimport { transformContinuousSpecToAttrs, transformDiscreteSpecToAttrs } from './utils';\nimport { isHorizontal, isVertical } from './utils/orient';\nimport { ChartEvent, LayoutLevel, LayoutZIndex } from '../../constant';\n\nexport class Player extends BaseComponent<IPlayer> implements IComponent {\n layoutZIndex: number = LayoutZIndex.Player;\n layoutLevel: number = LayoutLevel.Player;\n\n static type = ComponentTypeEnum.player;\n type = ComponentTypeEnum.player;\n specKey = 'player';\n private _orient: IOrientType = 'bottom';\n private _specs: Partial<IChartSpec>[];\n\n private _playerComponent: DiscretePlayer | ContinuousPlayer;\n private _cacheAttrs: ContinuousPlayerAttributes | DiscretePlayerAttributes;\n\n private _direction: DirectionType;\n private _alternate: boolean;\n private _dx: number;\n private _dy: number;\n private _width: number;\n private _height: number;\n private _position: 'start' | 'middle' | 'end';\n\n get orient() {\n return this._orient;\n }\n\n get layoutOrient() {\n return this._orient;\n }\n\n set layoutOrient(v: IOrientType) {\n this._orient = v;\n }\n\n static createComponent = (spec: IChartSpec, options: IComponentOption) => {\n const playerSpec = spec.player as IPlayer;\n if (isNil(playerSpec) || playerSpec.visible === false) {\n return null;\n }\n return new Player(playerSpec, options);\n };\n\n /**\n * 设置Attr\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._orient = this._spec.orient ?? 'bottom';\n this._specs = this._spec.specs ?? [];\n this._direction = this._spec.direction ?? 'default';\n this._alternate = this._spec.alternate ?? false;\n this._dx = this._spec.dx ?? 0;\n this._dy = this._spec.dy ?? 0;\n this._position = this._spec.position ?? 'middle';\n }\n\n /**\n * 计算组件位置(布局的左上角起点)\n * @param pos\n */\n setLayoutStartPosition(pos: Partial<IPoint>) {\n super.setLayoutStartPosition(pos);\n if (isValidNumber(pos.x)) {\n const offsetX = isVertical(this._orient) ? pos.x + this._sliderExceededSize() / 2 : pos.x;\n this._playerComponent && this._playerComponent.setAttribute('x', offsetX);\n }\n if (isValidNumber(pos.y)) {\n const offsetY = isHorizontal(this._orient) ? pos.y + this._sliderExceededSize() / 2 : pos.y;\n this._playerComponent && this._playerComponent.setAttribute('y', offsetY);\n }\n }\n\n /**\n * 计算组件占用的bound box\n * @param rect\n * @returns\n */\n _boundsInRect(rect: ILayoutRect, fullSpace: ILayoutRect) {\n this._width = this._computeWidth(rect);\n this._height = this._computeHeight(rect);\n this._dx = this._computeDx(fullSpace);\n this._dy = this._computeDy(fullSpace);\n\n const bounds = this._computeLayoutRect(rect, this._width, this._height);\n\n this._createOrUpdatePlayerComponent();\n\n return bounds;\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n\n getVRenderComponents(): IGroup[] {\n return [this._playerComponent] as unknown as IGroup[];\n }\n\n /**\n * 播放器属性\n */\n private _getPlayerAttrs = () => {\n const type = this._spec.type;\n const layoutAttrs = {\n size: {\n width: this._width,\n height: this._height\n },\n dx: this._spec.dx ?? 0 + this._dx,\n dy: this._spec.dy ?? 0 + this._dy\n };\n // 离散类型Attrs\n if (type === 'discrete') {\n return { ...transformDiscreteSpecToAttrs(this._spec, this._specs), ...layoutAttrs };\n }\n // 连续类型Attrs\n return { ...transformContinuousSpecToAttrs(this._spec, this._specs), ...layoutAttrs };\n };\n\n /**\n * 创建或更新播放器组件\n */\n private _createOrUpdatePlayerComponent = () => {\n const attrs = { ...this._getPlayerAttrs() };\n const container = this.getContainer();\n if (this._playerComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._cacheAttrs = attrs;\n this._playerComponent.setAttributes(attrs);\n }\n } else {\n if (attrs.type === 'discrete') {\n this._playerComponent = new DiscretePlayer(attrs);\n } else {\n this._playerComponent = new ContinuousPlayer(attrs);\n }\n\n this._cacheAttrs = attrs;\n this._playerComponent.name = `player`;\n\n container.add(this._playerComponent as unknown as INode);\n\n this._initEvent();\n }\n };\n\n /**\n * 计算起点\n */\n private _computeLayoutRect(rect: ILayoutRect, width: number, height: number) {\n switch (this._orient) {\n case 'top': {\n return { x1: 0, y1: 0, x2: width, y2: height };\n }\n case 'right': {\n return { x1: rect.width - width, y1: 0, x2: rect.width, y2: rect.height };\n }\n case 'left': {\n return { x1: 0, y1: 0, x2: width, y2: height };\n }\n case 'bottom':\n default: {\n return { x1: 0, y1: rect.height - height, x2: rect.width, y2: rect.height };\n }\n }\n }\n\n /**\n * 计算组件宽度\n */\n private _computeWidth(rect: ILayoutRect) {\n // 若设置的是数值则直接返回\n if (isNumber(this._spec.width)) {\n return Math.min(rect.width, Number(this._spec.width));\n }\n\n if (isVertical(this._orient)) {\n return this._maxSize();\n }\n return rect.width;\n }\n\n /**\n * 计算组件高度\n */\n private _computeHeight(rect: ILayoutRect) {\n // 若设置的是数值则直接返回\n if (isNumber(this._spec.height)) {\n this._height = this._spec.height;\n return Math.min(rect.height, Number(this._spec.height));\n }\n\n if (isHorizontal(this._orient)) {\n return this._maxSize();\n }\n return rect.height;\n }\n\n /**\n * 计算x方向的偏移, 用于实现对齐\n */\n private _computeDx(rect: ILayoutRect) {\n // 垂直时, x不偏移\n if (isVertical(this._orient)) {\n return 0;\n }\n\n // start\n if (this._position === 'start') {\n return 0;\n }\n // middle\n else if (this._position === 'middle') {\n return (rect.width - this._width) / 2;\n }\n // end\n return rect.width - this._width;\n }\n\n /**\n * 计算y方向的偏移, 用于实现对齐\n */\n private _computeDy(rect: ILayoutRect) {\n // 水平时, y不偏移\n if (isHorizontal(this._orient)) {\n return 0;\n }\n\n // start\n if (this._position === 'start') {\n return 0;\n }\n // middle\n else if (this._position === 'middle') {\n return (rect.height - this._height) / 2;\n }\n\n // end\n return rect.height - this._height;\n }\n\n /**\n * 播放器宽度取计算子组件中最高的一个\n */\n private _maxSize = () => {\n return Math.max(\n ...array(this._spec.controller.start?.style?.size),\n ...array(this._spec.controller.pause?.style?.size),\n ...array(this._spec.controller.backward?.style?.size),\n ...array(this._spec.controller.forward?.style?.size),\n (isVertical(this._orient) ? this._spec.slider.railStyle.width : this._spec.slider.railStyle.height) ?? 10\n );\n };\n\n /**\n * 滑动条超过按钮的高度\n */\n private _sliderExceededSize = () => {\n const sliderHeight =\n (isVertical(this._orient) ? this._spec.slider.railStyle.width : this._spec.slider.railStyle.height) ?? 10;\n const controllersHeight = Math.max(\n ...array(this._spec.controller.start?.style?.size),\n ...array(this._spec.controller.pause?.style?.size),\n ...array(this._spec.controller.backward?.style?.size),\n ...array(this._spec.controller.forward?.style?.size)\n );\n if (sliderHeight >= controllersHeight) {\n return sliderHeight - controllersHeight;\n }\n return 0;\n };\n\n /**\n * 事件\n */\n private _initEvent = () => {\n // 自动播放\n this._option.globalInstance.on(ChartEvent.rendered, () => {\n if (this._spec?.auto) {\n this._playerComponent.play();\n }\n });\n\n // 循环播放 与 交替方向\n this._playerComponent.addEventListener(PlayerEventEnum.OnEnd, () => {\n this.event.emit(ChartEvent.playerEnd, { model: this });\n\n // 交替方向, 仅离散轴支持\n if (this._alternate && this._spec.type === 'discrete') {\n this._direction = this._direction === 'default' ? 'reverse' : 'default';\n this._playerComponent.setAttributes({\n direction: this._direction,\n dataIndex: this._direction === 'reverse' ? this._specs.length - 2 : 1\n });\n }\n\n // 循环播放\n if (this._spec?.loop) {\n this._playerComponent.play();\n }\n });\n\n // 数据更新\n this._playerComponent.addEventListener(PlayerEventEnum.OnChange, (e: { detail: { index: number } }) => {\n // 更新data\n const { index } = e.detail;\n const spec = this._specs[index];\n (array(spec.data) as IDataValues[]).forEach(data => {\n this._option?.globalInstance?.updateData(data.id, data.values);\n });\n\n this.event.emit(ChartEvent.playerChange, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 后退\n this._playerComponent.addEventListener(PlayerEventEnum.OnBackward, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerBackward, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 前进\n this._playerComponent.addEventListener(PlayerEventEnum.OnForward, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerForward, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 播放\n this._playerComponent.addEventListener(PlayerEventEnum.OnPlay, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerPlay, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 暂停\n this._playerComponent.addEventListener(PlayerEventEnum.OnPause, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerPause, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n };\n}\n\nexport const registerPlayer = () => {\n Factory.registerComponent(Player.type, Player);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/player/player.ts"],"names":[],"mappings":"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","file":"player.js","sourcesContent":["import { Factory } from './../../core/factory';\nimport type { INode, IGroup, IGraphic } from '@visactor/vrender-core';\nimport type { ContinuousPlayerAttributes, DiscretePlayerAttributes } from '@visactor/vrender-components';\n\n// eslint-disable-next-line no-duplicate-imports\nimport { DiscretePlayer, ContinuousPlayer, PlayerEventEnum } from '@visactor/vrender-components';\nimport { isNumber, array, isEqual } from '@visactor/vutils';\n\nimport type { ILayoutRect, IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { IComponentOption } from '../interface';\n\nimport type { DirectionType, IPlayer } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IComponent } from '../interface';\nimport type { IPoint, IOrientType } from '../../typings';\nimport { type IChartSpec, type IDataValues } from '../..';\n\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport { BaseComponent } from '../base';\nimport { isNil, isValidNumber } from '../../util';\nimport { transformContinuousSpecToAttrs, transformDiscreteSpecToAttrs } from './utils';\nimport { isHorizontal, isVertical } from './utils/orient';\nimport { ChartEvent, LayoutLevel, LayoutZIndex } from '../../constant';\n\nexport class Player extends BaseComponent<IPlayer> implements IComponent {\n layoutZIndex: number = LayoutZIndex.Player;\n layoutLevel: number = LayoutLevel.Player;\n\n static type = ComponentTypeEnum.player;\n type = ComponentTypeEnum.player;\n specKey = 'player';\n private _orient: IOrientType = 'bottom';\n private _specs: Partial<IChartSpec>[];\n\n private _playerComponent: DiscretePlayer | ContinuousPlayer;\n private _cacheAttrs: ContinuousPlayerAttributes | DiscretePlayerAttributes;\n\n private _direction: DirectionType;\n private _alternate: boolean;\n private _dx: number;\n private _dy: number;\n private _width: number;\n private _height: number;\n private _position: 'start' | 'middle' | 'end';\n\n get orient() {\n return this._orient;\n }\n\n get layoutOrient() {\n return this._orient;\n }\n\n set layoutOrient(v: IOrientType) {\n this._orient = v;\n }\n\n static createComponent = (spec: IChartSpec, options: IComponentOption) => {\n const playerSpec = spec.player as IPlayer;\n if (isNil(playerSpec) || playerSpec.visible === false) {\n return null;\n }\n return new Player(playerSpec, options);\n };\n\n /**\n * 设置Attr\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._orient = this._spec.orient ?? 'bottom';\n this._specs = this._spec.specs ?? [];\n this._direction = this._spec.direction ?? 'default';\n this._alternate = this._spec.alternate ?? false;\n this._dx = this._spec.dx ?? 0;\n this._dy = this._spec.dy ?? 0;\n this._position = this._spec.position ?? 'middle';\n }\n\n /**\n * 计算组件位置(布局的左上角起点)\n * @param pos\n */\n setLayoutStartPosition(pos: Partial<IPoint>) {\n super.setLayoutStartPosition(pos);\n if (isValidNumber(pos.x)) {\n const offsetX = isVertical(this._orient) ? pos.x + this._sliderExceededSize() / 2 : pos.x;\n this._playerComponent && this._playerComponent.setAttribute('x', offsetX);\n }\n if (isValidNumber(pos.y)) {\n const offsetY = isHorizontal(this._orient) ? pos.y + this._sliderExceededSize() / 2 : pos.y;\n this._playerComponent && this._playerComponent.setAttribute('y', offsetY);\n }\n }\n\n /**\n * 计算组件占用的bound box\n * @param rect\n * @returns\n */\n _boundsInRect(rect: ILayoutRect, fullSpace: ILayoutRect) {\n this._width = this._computeWidth(rect);\n this._height = this._computeHeight(rect);\n this._dx = this._computeDx(fullSpace);\n this._dy = this._computeDy(fullSpace);\n\n const bounds = this._computeLayoutRect(rect, this._width, this._height);\n\n this._createOrUpdatePlayerComponent();\n\n return bounds;\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n\n getVRenderComponents(): IGraphic[] {\n return [this._playerComponent] as unknown as IGroup[];\n }\n\n /**\n * 播放器属性\n */\n private _getPlayerAttrs = () => {\n const type = this._spec.type;\n const layoutAttrs = {\n size: {\n width: this._width,\n height: this._height\n },\n dx: this._spec.dx ?? 0 + this._dx,\n dy: this._spec.dy ?? 0 + this._dy\n };\n // 离散类型Attrs\n if (type === 'discrete') {\n return { ...transformDiscreteSpecToAttrs(this._spec, this._specs), ...layoutAttrs };\n }\n // 连续类型Attrs\n return { ...transformContinuousSpecToAttrs(this._spec, this._specs), ...layoutAttrs };\n };\n\n /**\n * 创建或更新播放器组件\n */\n private _createOrUpdatePlayerComponent = () => {\n const attrs = { ...this._getPlayerAttrs() };\n const container = this.getContainer();\n if (this._playerComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._cacheAttrs = attrs;\n this._playerComponent.setAttributes(attrs);\n }\n } else {\n if (attrs.type === 'discrete') {\n this._playerComponent = new DiscretePlayer(attrs);\n } else {\n this._playerComponent = new ContinuousPlayer(attrs);\n }\n\n this._cacheAttrs = attrs;\n this._playerComponent.name = `player`;\n\n container.add(this._playerComponent as unknown as INode);\n\n this._initEvent();\n }\n };\n\n /**\n * 计算起点\n */\n private _computeLayoutRect(rect: ILayoutRect, width: number, height: number) {\n switch (this._orient) {\n case 'top': {\n return { x1: 0, y1: 0, x2: width, y2: height };\n }\n case 'right': {\n return { x1: rect.width - width, y1: 0, x2: rect.width, y2: rect.height };\n }\n case 'left': {\n return { x1: 0, y1: 0, x2: width, y2: height };\n }\n case 'bottom':\n default: {\n return { x1: 0, y1: rect.height - height, x2: rect.width, y2: rect.height };\n }\n }\n }\n\n /**\n * 计算组件宽度\n */\n private _computeWidth(rect: ILayoutRect) {\n // 若设置的是数值则直接返回\n if (isNumber(this._spec.width)) {\n return Math.min(rect.width, Number(this._spec.width));\n }\n\n if (isVertical(this._orient)) {\n return this._maxSize();\n }\n return rect.width;\n }\n\n /**\n * 计算组件高度\n */\n private _computeHeight(rect: ILayoutRect) {\n // 若设置的是数值则直接返回\n if (isNumber(this._spec.height)) {\n this._height = this._spec.height;\n return Math.min(rect.height, Number(this._spec.height));\n }\n\n if (isHorizontal(this._orient)) {\n return this._maxSize();\n }\n return rect.height;\n }\n\n /**\n * 计算x方向的偏移, 用于实现对齐\n */\n private _computeDx(rect: ILayoutRect) {\n // 垂直时, x不偏移\n if (isVertical(this._orient)) {\n return 0;\n }\n\n // start\n if (this._position === 'start') {\n return 0;\n }\n // middle\n else if (this._position === 'middle') {\n return (rect.width - this._width) / 2;\n }\n // end\n return rect.width - this._width;\n }\n\n /**\n * 计算y方向的偏移, 用于实现对齐\n */\n private _computeDy(rect: ILayoutRect) {\n // 水平时, y不偏移\n if (isHorizontal(this._orient)) {\n return 0;\n }\n\n // start\n if (this._position === 'start') {\n return 0;\n }\n // middle\n else if (this._position === 'middle') {\n return (rect.height - this._height) / 2;\n }\n\n // end\n return rect.height - this._height;\n }\n\n /**\n * 播放器宽度取计算子组件中最高的一个\n */\n private _maxSize = () => {\n return Math.max(\n ...array(this._spec.controller.start?.style?.size),\n ...array(this._spec.controller.pause?.style?.size),\n ...array(this._spec.controller.backward?.style?.size),\n ...array(this._spec.controller.forward?.style?.size),\n (isVertical(this._orient) ? this._spec.slider.railStyle.width : this._spec.slider.railStyle.height) ?? 10\n );\n };\n\n /**\n * 滑动条超过按钮的高度\n */\n private _sliderExceededSize = () => {\n const sliderHeight =\n (isVertical(this._orient) ? this._spec.slider.railStyle.width : this._spec.slider.railStyle.height) ?? 10;\n const controllersHeight = Math.max(\n ...array(this._spec.controller.start?.style?.size),\n ...array(this._spec.controller.pause?.style?.size),\n ...array(this._spec.controller.backward?.style?.size),\n ...array(this._spec.controller.forward?.style?.size)\n );\n if (sliderHeight >= controllersHeight) {\n return sliderHeight - controllersHeight;\n }\n return 0;\n };\n\n /**\n * 事件\n */\n private _initEvent = () => {\n // 自动播放\n this._option.globalInstance.on(ChartEvent.rendered, () => {\n if (this._spec?.auto) {\n this._playerComponent.play();\n }\n });\n\n // 循环播放 与 交替方向\n this._playerComponent.addEventListener(PlayerEventEnum.OnEnd, () => {\n this.event.emit(ChartEvent.playerEnd, { model: this });\n\n // 交替方向, 仅离散轴支持\n if (this._alternate && this._spec.type === 'discrete') {\n this._direction = this._direction === 'default' ? 'reverse' : 'default';\n this._playerComponent.setAttributes({\n direction: this._direction,\n dataIndex: this._direction === 'reverse' ? this._specs.length - 2 : 1\n });\n }\n\n // 循环播放\n if (this._spec?.loop) {\n this._playerComponent.play();\n }\n });\n\n // 数据更新\n this._playerComponent.addEventListener(PlayerEventEnum.OnChange, (e: { detail: { index: number } }) => {\n // 更新data\n const { index } = e.detail;\n const spec = this._specs[index];\n (array(spec.data) as IDataValues[]).forEach(data => {\n this._option?.globalInstance?.updateData(data.id, data.values);\n });\n\n this.event.emit(ChartEvent.playerChange, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 后退\n this._playerComponent.addEventListener(PlayerEventEnum.OnBackward, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerBackward, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 前进\n this._playerComponent.addEventListener(PlayerEventEnum.OnForward, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerForward, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 播放\n this._playerComponent.addEventListener(PlayerEventEnum.OnPlay, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerPlay, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 暂停\n this._playerComponent.addEventListener(PlayerEventEnum.OnPause, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerPause, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n };\n}\n\nexport const registerPlayer = () => {\n Factory.registerComponent(Player.type, Player);\n};\n"]}
@@ -4,7 +4,7 @@ import type { IComponentOption } from '../interface';
4
4
  import type { ITitle, ITitleSpec, ITitleTheme } from './interface';
5
5
  import type { IRegion } from '../../region/interface';
6
6
  import type { ILayoutRect } from '../../model/interface';
7
- import type { IGroup } from '@visactor/vrender-core';
7
+ import type { IGraphic } from '@visactor/vrender-core';
8
8
  import type { IPoint, IOrientType } from '../../typings';
9
9
  import type { LayoutItem } from '../../model/layout-item';
10
10
  export declare class Title extends BaseComponent<ITitleSpec> implements ITitle {
@@ -43,7 +43,7 @@ export declare class Title extends BaseComponent<ITitleSpec> implements ITitle {
43
43
  private _getTitleLayoutRect;
44
44
  private _getTitleAttrs;
45
45
  private _createOrUpdateTitleComponent;
46
- getVRenderComponents(): IGroup[];
46
+ getVRenderComponents(): IGraphic[];
47
47
  clear(): void;
48
48
  }
49
49
  export declare const registerTitle: () => void;