@visactor/vchart 1.13.3-alpha.0 → 1.13.3-alpha.2

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 (344) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.es.js +550 -492
  3. package/build/index.js +550 -492
  4. package/build/index.min.js +1 -1
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/chart/area/area-transformer.js +1 -13
  7. package/cjs/chart/area/area-transformer.js.map +1 -1
  8. package/cjs/chart/bar/3d/bar-3d-transformer.js +4 -6
  9. package/cjs/chart/bar/3d/bar-3d-transformer.js.map +1 -1
  10. package/cjs/chart/bar/bar-transformer.js +1 -11
  11. package/cjs/chart/bar/bar-transformer.js.map +1 -1
  12. package/cjs/chart/base/base-chart-transformer.d.ts +2 -1
  13. package/cjs/chart/base/base-chart-transformer.js +21 -18
  14. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  15. package/cjs/chart/base/base-chart.d.ts +2 -3
  16. package/cjs/chart/base/base-chart.js +8 -11
  17. package/cjs/chart/base/base-chart.js.map +1 -1
  18. package/cjs/chart/box-plot/box-plot-transformer.js +3 -12
  19. package/cjs/chart/box-plot/box-plot-transformer.js.map +1 -1
  20. package/cjs/chart/cartesian/cartesian-transformer.d.ts +1 -1
  21. package/cjs/chart/cartesian/cartesian-transformer.js +3 -23
  22. package/cjs/chart/cartesian/cartesian-transformer.js.map +1 -1
  23. package/cjs/chart/circle-packing/circle-packing-transformer.js +2 -12
  24. package/cjs/chart/circle-packing/circle-packing-transformer.js.map +1 -1
  25. package/cjs/chart/correlation/correlation-transformer.js +2 -20
  26. package/cjs/chart/correlation/correlation-transformer.js.map +1 -1
  27. package/cjs/chart/funnel/funnel-transformer.js +2 -28
  28. package/cjs/chart/funnel/funnel-transformer.js.map +1 -1
  29. package/cjs/chart/gauge/gauge-transformer.js +4 -9
  30. package/cjs/chart/gauge/gauge-transformer.js.map +1 -1
  31. package/cjs/chart/heatmap/heatmap-transformer.js +1 -5
  32. package/cjs/chart/heatmap/heatmap-transformer.js.map +1 -1
  33. package/cjs/chart/histogram/base/histogram-base-transformer.js +1 -6
  34. package/cjs/chart/histogram/base/histogram-base-transformer.js.map +1 -1
  35. package/cjs/chart/interface/chart.d.ts +2 -2
  36. package/cjs/chart/interface/chart.js.map +1 -1
  37. package/cjs/chart/line/line-transformer.js +3 -12
  38. package/cjs/chart/line/line-transformer.js.map +1 -1
  39. package/cjs/chart/liquid/liquid-transformer.js +2 -13
  40. package/cjs/chart/liquid/liquid-transformer.js.map +1 -1
  41. package/cjs/chart/map/map-transformer.js +2 -20
  42. package/cjs/chart/map/map-transformer.js.map +1 -1
  43. package/cjs/chart/mosaic/mosaic-transformer.js +1 -10
  44. package/cjs/chart/mosaic/mosaic-transformer.js.map +1 -1
  45. package/cjs/chart/pictogram/pictogram-transformer.d.ts +1 -1
  46. package/cjs/chart/pictogram/pictogram-transformer.js +2 -16
  47. package/cjs/chart/pictogram/pictogram-transformer.js.map +1 -1
  48. package/cjs/chart/pie/base/pie-transformer.js +4 -14
  49. package/cjs/chart/pie/base/pie-transformer.js.map +1 -1
  50. package/cjs/chart/polar/polar-transformer.d.ts +1 -1
  51. package/cjs/chart/polar/polar-transformer.js +2 -11
  52. package/cjs/chart/polar/polar-transformer.js.map +1 -1
  53. package/cjs/chart/polar/progress-like/progress-like-transformer.js +3 -11
  54. package/cjs/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  55. package/cjs/chart/polar/rose-like/rose-like-transformer.js +3 -4
  56. package/cjs/chart/polar/rose-like/rose-like-transformer.js.map +1 -1
  57. package/cjs/chart/progress/circular/circular-progress-transformer.js +3 -7
  58. package/cjs/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  59. package/cjs/chart/progress/linear/linear-progress-transformer.js +4 -8
  60. package/cjs/chart/progress/linear/linear-progress-transformer.js.map +1 -1
  61. package/cjs/chart/radar/radar-transformer.js +7 -15
  62. package/cjs/chart/radar/radar-transformer.js.map +1 -1
  63. package/cjs/chart/range-area/range-area-transformer.js +1 -1
  64. package/cjs/chart/range-area/range-area-transformer.js.map +1 -1
  65. package/cjs/chart/range-column/3d/range-column-3d-transformer.js +2 -4
  66. package/cjs/chart/range-column/3d/range-column-3d-transformer.js.map +1 -1
  67. package/cjs/chart/range-column/range-column-transformer.js +2 -10
  68. package/cjs/chart/range-column/range-column-transformer.js.map +1 -1
  69. package/cjs/chart/rose/rose-transformer.js +5 -8
  70. package/cjs/chart/rose/rose-transformer.js.map +1 -1
  71. package/cjs/chart/sankey/sankey-transformer.js +1 -35
  72. package/cjs/chart/sankey/sankey-transformer.js.map +1 -1
  73. package/cjs/chart/scatter/scatter-transformer.js +1 -7
  74. package/cjs/chart/scatter/scatter-transformer.js.map +1 -1
  75. package/cjs/chart/sunburst/sunburst-transformer.js +3 -21
  76. package/cjs/chart/sunburst/sunburst-transformer.js.map +1 -1
  77. package/cjs/chart/treemap/treemap-transformer.js +1 -21
  78. package/cjs/chart/treemap/treemap-transformer.js.map +1 -1
  79. package/cjs/chart/venn/venn-transformer.js +1 -10
  80. package/cjs/chart/venn/venn-transformer.js.map +1 -1
  81. package/cjs/chart/waterfall/waterfall-transformer.js +3 -6
  82. package/cjs/chart/waterfall/waterfall-transformer.js.map +1 -1
  83. package/cjs/chart/word-cloud/3d/word-cloud-3d-transformer.js +2 -24
  84. package/cjs/chart/word-cloud/3d/word-cloud-3d-transformer.js.map +1 -1
  85. package/cjs/chart/word-cloud/base/word-cloud-base-transformer.d.ts +1 -0
  86. package/cjs/chart/word-cloud/base/word-cloud-base-transformer.js +3 -0
  87. package/cjs/chart/word-cloud/base/word-cloud-base-transformer.js.map +1 -1
  88. package/cjs/chart/word-cloud/index.d.ts +0 -1
  89. package/cjs/chart/word-cloud/index.js +1 -1
  90. package/cjs/chart/word-cloud/index.js.map +1 -1
  91. package/cjs/chart/word-cloud/word-cloud.d.ts +8 -4
  92. package/cjs/chart/word-cloud/word-cloud.js +3 -3
  93. package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
  94. package/cjs/compile/compiler.js +1 -0
  95. package/cjs/compile/compiler.js.map +1 -1
  96. package/cjs/component/axis/base-axis.d.ts +1 -0
  97. package/cjs/component/axis/base-axis.js +4 -0
  98. package/cjs/component/axis/base-axis.js.map +1 -1
  99. package/cjs/component/axis/cartesian/axis.d.ts +1 -1
  100. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  101. package/cjs/component/base/base-component.d.ts +3 -2
  102. package/cjs/component/base/base-component.js +1 -0
  103. package/cjs/component/base/base-component.js.map +1 -1
  104. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +0 -1
  105. package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -4
  106. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  107. package/cjs/component/interface/common.d.ts +1 -0
  108. package/cjs/component/interface/common.js.map +1 -1
  109. package/cjs/component/marker/base-marker.d.ts +3 -1
  110. package/cjs/component/marker/base-marker.js +20 -1
  111. package/cjs/component/marker/base-marker.js.map +1 -1
  112. package/cjs/component/marker/mark-area/base-mark-area.d.ts +0 -2
  113. package/cjs/component/marker/mark-area/base-mark-area.js +2 -18
  114. package/cjs/component/marker/mark-area/base-mark-area.js.map +1 -1
  115. package/cjs/component/marker/mark-line/base-mark-line.d.ts +0 -2
  116. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -1
  117. package/cjs/component/marker/mark-point/base-mark-point.d.ts +0 -2
  118. package/cjs/component/marker/mark-point/base-mark-point.js +2 -18
  119. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
  120. package/cjs/core/index.d.ts +1 -1
  121. package/cjs/core/index.js +1 -1
  122. package/cjs/core/index.js.map +1 -1
  123. package/cjs/core/vchart.d.ts +5 -1
  124. package/cjs/core/vchart.js +33 -43
  125. package/cjs/core/vchart.js.map +1 -1
  126. package/cjs/event/event-dispatcher.js +5 -2
  127. package/cjs/event/event-dispatcher.js.map +1 -1
  128. package/cjs/mark/utils/common.d.ts +1 -0
  129. package/cjs/mark/utils/common.js +6 -2
  130. package/cjs/mark/utils/common.js.map +1 -1
  131. package/cjs/series/bar/bar-3d-transformer.d.ts +5 -0
  132. package/cjs/series/bar/bar-3d-transformer.js +16 -0
  133. package/cjs/series/bar/bar-3d-transformer.js.map +1 -0
  134. package/cjs/series/bar/bar-3d.d.ts +2 -0
  135. package/cjs/series/bar/bar-3d.js +3 -3
  136. package/cjs/series/bar/bar-3d.js.map +1 -1
  137. package/cjs/series/base/base-series.js +2 -2
  138. package/cjs/series/base/base-series.js.map +1 -1
  139. package/cjs/series/circle-packing/circle-packing.js +2 -14
  140. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  141. package/cjs/series/pie/3d/pie-3d.js +3 -14
  142. package/cjs/series/pie/3d/pie-3d.js.map +1 -1
  143. package/cjs/series/polar/polar.d.ts +2 -1
  144. package/cjs/series/polar/polar.js.map +1 -1
  145. package/cjs/series/radar/radar.js +4 -5
  146. package/cjs/series/radar/radar.js.map +1 -1
  147. package/cjs/series/range-column/range-column.d.ts +1 -0
  148. package/cjs/series/range-column/range-column.js +13 -22
  149. package/cjs/series/range-column/range-column.js.map +1 -1
  150. package/cjs/series/scatter/scatter.js +1 -11
  151. package/cjs/series/scatter/scatter.js.map +1 -1
  152. package/cjs/series/sunburst/sunburst.d.ts +1 -1
  153. package/cjs/series/sunburst/sunburst.js +2 -14
  154. package/cjs/series/sunburst/sunburst.js.map +1 -1
  155. package/cjs/series/treemap/treemap.d.ts +1 -0
  156. package/cjs/series/treemap/treemap.js +11 -24
  157. package/cjs/series/treemap/treemap.js.map +1 -1
  158. package/cjs/series/util/hierarchy.d.ts +8 -0
  159. package/cjs/series/util/hierarchy.js +22 -0
  160. package/cjs/series/util/hierarchy.js.map +1 -0
  161. package/cjs/series/word-cloud/animation.js +1 -1
  162. package/cjs/series/word-cloud/animation.js.map +1 -1
  163. package/cjs/theme/builtin/common/component/mark-area.js +6 -30
  164. package/cjs/theme/builtin/common/component/mark-area.js.map +1 -1
  165. package/cjs/theme/builtin/common/component/mark-line.js +4 -33
  166. package/cjs/theme/builtin/common/component/mark-line.js.map +1 -1
  167. package/cjs/theme/builtin/common/component/mark.d.ts +2 -0
  168. package/cjs/theme/builtin/common/component/mark.js +38 -0
  169. package/cjs/theme/builtin/common/component/mark.js.map +1 -0
  170. package/cjs/typings/spec/common.d.ts +1 -0
  171. package/cjs/typings/spec/common.js.map +1 -1
  172. package/esm/chart/area/area-transformer.js +1 -13
  173. package/esm/chart/area/area-transformer.js.map +1 -1
  174. package/esm/chart/bar/3d/bar-3d-transformer.js +4 -6
  175. package/esm/chart/bar/3d/bar-3d-transformer.js.map +1 -1
  176. package/esm/chart/bar/bar-transformer.js +1 -11
  177. package/esm/chart/bar/bar-transformer.js.map +1 -1
  178. package/esm/chart/base/base-chart-transformer.d.ts +2 -1
  179. package/esm/chart/base/base-chart-transformer.js +20 -17
  180. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  181. package/esm/chart/base/base-chart.d.ts +2 -3
  182. package/esm/chart/base/base-chart.js +8 -11
  183. package/esm/chart/base/base-chart.js.map +1 -1
  184. package/esm/chart/box-plot/box-plot-transformer.js +3 -12
  185. package/esm/chart/box-plot/box-plot-transformer.js.map +1 -1
  186. package/esm/chart/cartesian/cartesian-transformer.d.ts +1 -1
  187. package/esm/chart/cartesian/cartesian-transformer.js +3 -23
  188. package/esm/chart/cartesian/cartesian-transformer.js.map +1 -1
  189. package/esm/chart/circle-packing/circle-packing-transformer.js +1 -13
  190. package/esm/chart/circle-packing/circle-packing-transformer.js.map +1 -1
  191. package/esm/chart/correlation/correlation-transformer.js +1 -21
  192. package/esm/chart/correlation/correlation-transformer.js.map +1 -1
  193. package/esm/chart/funnel/funnel-transformer.js +2 -28
  194. package/esm/chart/funnel/funnel-transformer.js.map +1 -1
  195. package/esm/chart/gauge/gauge-transformer.js +4 -9
  196. package/esm/chart/gauge/gauge-transformer.js.map +1 -1
  197. package/esm/chart/heatmap/heatmap-transformer.js +1 -5
  198. package/esm/chart/heatmap/heatmap-transformer.js.map +1 -1
  199. package/esm/chart/histogram/base/histogram-base-transformer.js +1 -6
  200. package/esm/chart/histogram/base/histogram-base-transformer.js.map +1 -1
  201. package/esm/chart/interface/chart.d.ts +2 -2
  202. package/esm/chart/interface/chart.js.map +1 -1
  203. package/esm/chart/line/line-transformer.js +3 -12
  204. package/esm/chart/line/line-transformer.js.map +1 -1
  205. package/esm/chart/liquid/liquid-transformer.js +1 -14
  206. package/esm/chart/liquid/liquid-transformer.js.map +1 -1
  207. package/esm/chart/map/map-transformer.js +2 -20
  208. package/esm/chart/map/map-transformer.js.map +1 -1
  209. package/esm/chart/mosaic/mosaic-transformer.js +1 -10
  210. package/esm/chart/mosaic/mosaic-transformer.js.map +1 -1
  211. package/esm/chart/pictogram/pictogram-transformer.d.ts +1 -1
  212. package/esm/chart/pictogram/pictogram-transformer.js +2 -16
  213. package/esm/chart/pictogram/pictogram-transformer.js.map +1 -1
  214. package/esm/chart/pie/base/pie-transformer.js +4 -14
  215. package/esm/chart/pie/base/pie-transformer.js.map +1 -1
  216. package/esm/chart/polar/polar-transformer.d.ts +1 -1
  217. package/esm/chart/polar/polar-transformer.js +2 -11
  218. package/esm/chart/polar/polar-transformer.js.map +1 -1
  219. package/esm/chart/polar/progress-like/progress-like-transformer.js +3 -11
  220. package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  221. package/esm/chart/polar/rose-like/rose-like-transformer.js +3 -4
  222. package/esm/chart/polar/rose-like/rose-like-transformer.js.map +1 -1
  223. package/esm/chart/progress/circular/circular-progress-transformer.js +3 -7
  224. package/esm/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  225. package/esm/chart/progress/linear/linear-progress-transformer.js +4 -8
  226. package/esm/chart/progress/linear/linear-progress-transformer.js.map +1 -1
  227. package/esm/chart/radar/radar-transformer.js +7 -15
  228. package/esm/chart/radar/radar-transformer.js.map +1 -1
  229. package/esm/chart/range-area/range-area-transformer.js +1 -1
  230. package/esm/chart/range-area/range-area-transformer.js.map +1 -1
  231. package/esm/chart/range-column/3d/range-column-3d-transformer.js +2 -4
  232. package/esm/chart/range-column/3d/range-column-3d-transformer.js.map +1 -1
  233. package/esm/chart/range-column/range-column-transformer.js +2 -10
  234. package/esm/chart/range-column/range-column-transformer.js.map +1 -1
  235. package/esm/chart/rose/rose-transformer.js +5 -8
  236. package/esm/chart/rose/rose-transformer.js.map +1 -1
  237. package/esm/chart/sankey/sankey-transformer.js +1 -35
  238. package/esm/chart/sankey/sankey-transformer.js.map +1 -1
  239. package/esm/chart/scatter/scatter-transformer.js +1 -7
  240. package/esm/chart/scatter/scatter-transformer.js.map +1 -1
  241. package/esm/chart/sunburst/sunburst-transformer.js +2 -22
  242. package/esm/chart/sunburst/sunburst-transformer.js.map +1 -1
  243. package/esm/chart/treemap/treemap-transformer.js +1 -21
  244. package/esm/chart/treemap/treemap-transformer.js.map +1 -1
  245. package/esm/chart/venn/venn-transformer.js +1 -10
  246. package/esm/chart/venn/venn-transformer.js.map +1 -1
  247. package/esm/chart/waterfall/waterfall-transformer.js +3 -6
  248. package/esm/chart/waterfall/waterfall-transformer.js.map +1 -1
  249. package/esm/chart/word-cloud/3d/word-cloud-3d-transformer.js +2 -24
  250. package/esm/chart/word-cloud/3d/word-cloud-3d-transformer.js.map +1 -1
  251. package/esm/chart/word-cloud/base/word-cloud-base-transformer.d.ts +1 -0
  252. package/esm/chart/word-cloud/base/word-cloud-base-transformer.js +3 -0
  253. package/esm/chart/word-cloud/base/word-cloud-base-transformer.js.map +1 -1
  254. package/esm/chart/word-cloud/index.d.ts +0 -1
  255. package/esm/chart/word-cloud/index.js +0 -2
  256. package/esm/chart/word-cloud/index.js.map +1 -1
  257. package/esm/chart/word-cloud/word-cloud.d.ts +8 -4
  258. package/esm/chart/word-cloud/word-cloud.js +3 -3
  259. package/esm/chart/word-cloud/word-cloud.js.map +1 -1
  260. package/esm/compile/compiler.js +1 -0
  261. package/esm/compile/compiler.js.map +1 -1
  262. package/esm/component/axis/base-axis.d.ts +1 -0
  263. package/esm/component/axis/base-axis.js +5 -1
  264. package/esm/component/axis/base-axis.js.map +1 -1
  265. package/esm/component/axis/cartesian/axis.d.ts +1 -1
  266. package/esm/component/axis/cartesian/axis.js.map +1 -1
  267. package/esm/component/base/base-component.d.ts +3 -2
  268. package/esm/component/base/base-component.js +1 -0
  269. package/esm/component/base/base-component.js.map +1 -1
  270. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +0 -1
  271. package/esm/component/data-zoom/data-zoom/data-zoom.js +3 -4
  272. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  273. package/esm/component/interface/common.d.ts +1 -0
  274. package/esm/component/interface/common.js.map +1 -1
  275. package/esm/component/marker/base-marker.d.ts +3 -1
  276. package/esm/component/marker/base-marker.js +25 -0
  277. package/esm/component/marker/base-marker.js.map +1 -1
  278. package/esm/component/marker/mark-area/base-mark-area.d.ts +0 -2
  279. package/esm/component/marker/mark-area/base-mark-area.js +1 -25
  280. package/esm/component/marker/mark-area/base-mark-area.js.map +1 -1
  281. package/esm/component/marker/mark-line/base-mark-line.d.ts +0 -2
  282. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -1
  283. package/esm/component/marker/mark-point/base-mark-point.d.ts +0 -2
  284. package/esm/component/marker/mark-point/base-mark-point.js +1 -25
  285. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
  286. package/esm/core/index.d.ts +1 -1
  287. package/esm/core/index.js +1 -1
  288. package/esm/core/index.js.map +1 -1
  289. package/esm/core/vchart.d.ts +5 -1
  290. package/esm/core/vchart.js +33 -43
  291. package/esm/core/vchart.js.map +1 -1
  292. package/esm/event/event-dispatcher.js +5 -2
  293. package/esm/event/event-dispatcher.js.map +1 -1
  294. package/esm/mark/utils/common.d.ts +1 -0
  295. package/esm/mark/utils/common.js +4 -0
  296. package/esm/mark/utils/common.js.map +1 -1
  297. package/esm/series/bar/bar-3d-transformer.d.ts +5 -0
  298. package/esm/series/bar/bar-3d-transformer.js +8 -0
  299. package/esm/series/bar/bar-3d-transformer.js.map +1 -0
  300. package/esm/series/bar/bar-3d.d.ts +2 -0
  301. package/esm/series/bar/bar-3d.js +4 -2
  302. package/esm/series/bar/bar-3d.js.map +1 -1
  303. package/esm/series/base/base-series.js +3 -1
  304. package/esm/series/base/base-series.js.map +1 -1
  305. package/esm/series/circle-packing/circle-packing.js +4 -14
  306. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  307. package/esm/series/pie/3d/pie-3d.js +2 -17
  308. package/esm/series/pie/3d/pie-3d.js.map +1 -1
  309. package/esm/series/polar/polar.d.ts +2 -1
  310. package/esm/series/polar/polar.js.map +1 -1
  311. package/esm/series/radar/radar.js +2 -5
  312. package/esm/series/radar/radar.js.map +1 -1
  313. package/esm/series/range-column/range-column.d.ts +1 -0
  314. package/esm/series/range-column/range-column.js +13 -22
  315. package/esm/series/range-column/range-column.js.map +1 -1
  316. package/esm/series/scatter/scatter.js +1 -11
  317. package/esm/series/scatter/scatter.js.map +1 -1
  318. package/esm/series/sunburst/sunburst.d.ts +1 -1
  319. package/esm/series/sunburst/sunburst.js +4 -14
  320. package/esm/series/sunburst/sunburst.js.map +1 -1
  321. package/esm/series/treemap/treemap.d.ts +1 -0
  322. package/esm/series/treemap/treemap.js +13 -24
  323. package/esm/series/treemap/treemap.js.map +1 -1
  324. package/esm/series/util/hierarchy.d.ts +8 -0
  325. package/esm/series/util/hierarchy.js +16 -0
  326. package/esm/series/util/hierarchy.js.map +1 -0
  327. package/esm/series/word-cloud/animation.js +1 -1
  328. package/esm/series/word-cloud/animation.js.map +1 -1
  329. package/esm/theme/builtin/common/component/mark-area.js +3 -29
  330. package/esm/theme/builtin/common/component/mark-area.js.map +1 -1
  331. package/esm/theme/builtin/common/component/mark-line.js +6 -31
  332. package/esm/theme/builtin/common/component/mark-line.js.map +1 -1
  333. package/esm/theme/builtin/common/component/mark.d.ts +2 -0
  334. package/esm/theme/builtin/common/component/mark.js +30 -0
  335. package/esm/theme/builtin/common/component/mark.js.map +1 -0
  336. package/esm/typings/spec/common.d.ts +1 -0
  337. package/esm/typings/spec/common.js.map +1 -1
  338. package/package.json +4 -4
  339. package/cjs/chart/word-cloud/word-cloud-transformer.d.ts +0 -5
  340. package/cjs/chart/word-cloud/word-cloud-transformer.js +0 -39
  341. package/cjs/chart/word-cloud/word-cloud-transformer.js.map +0 -1
  342. package/esm/chart/word-cloud/word-cloud-transformer.d.ts +0 -5
  343. package/esm/chart/word-cloud/word-cloud-transformer.js +0 -31
  344. package/esm/chart/word-cloud/word-cloud-transformer.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/data-zoom/data-zoom/data-zoom.ts"],"names":[],"mappings":"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","file":"data-zoom.js","sourcesContent":["// eslint-disable-next-line no-duplicate-imports\nimport {\n isBoolean,\n isFunction,\n isNil,\n isNumber,\n isValid,\n last,\n maxInArray,\n minInArray,\n uniqArray\n} from '@visactor/vutils';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { DataFilterBaseComponent } from '../data-filter-base-component';\n// eslint-disable-next-line no-duplicate-imports\nimport type { DataZoomAttributes } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataZoom as DataZoomComponent } from '@visactor/vrender-components';\nimport { transformToGraphic } from '../../../util/style';\nimport type { IRectGraphicAttribute, INode, ISymbolGraphicAttribute, IGroup, IGraphic } from '@visactor/vrender-core';\nimport type { Datum, ILayoutType } from '../../../typings';\nimport type { ILinearScale, IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { LinearScale, isContinuous, isDiscrete } from '@visactor/vscale';\nimport { LayoutLevel, LayoutZIndex } from '../../../constant/layout';\nimport { ChartEvent } from '../../../constant/event';\nimport type { IDataZoomSpec } from './interface';\nimport { Factory } from '../../../core/factory';\nimport type { IZoomable } from '../../../interaction/zoom';\nimport type { CartesianAxis } from '../../axis/cartesian';\nimport { DataZoomSpecTransformer } from './data-zoom-transformer';\nimport { getFormatFunction } from '../../util';\n\nexport class DataZoom<T extends IDataZoomSpec = IDataZoomSpec> extends DataFilterBaseComponent<T> {\n static type = ComponentTypeEnum.dataZoom;\n static readonly transformerConstructor = DataZoomSpecTransformer as any;\n type = ComponentTypeEnum.dataZoom;\n name: string = ComponentTypeEnum.dataZoom;\n readonly transformerConstructor = DataZoomSpecTransformer;\n\n static specKey = 'dataZoom';\n specKey = 'dataZoom';\n\n layoutZIndex: number = LayoutZIndex.DataZoom;\n layoutLevel: number = LayoutLevel.DataZoom;\n layoutType: ILayoutType = 'region-relative';\n\n // datazoom组件\n protected _component!: DataZoomComponent;\n\n protected _valueScale!: ILinearScale;\n\n protected _backgroundSize!: number;\n protected _middleHandlerSize!: number;\n protected _startHandlerSize!: number;\n protected _endHandlerSize!: number;\n\n protected _isReverseCache: boolean = false;\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n\n this._valueField = 'y';\n this._filterMode = spec.filterMode ?? 'filter';\n }\n\n created() {\n super.created();\n this._initValueScale();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n if (isBoolean((this._spec as any).roam)) {\n this._zoomAttr.enable = (this._spec as any).roam;\n this._dragAttr.enable = (this._spec as any).roam;\n this._scrollAttr.enable = (this._spec as any).roam;\n }\n\n if (this._zoomAttr.enable || this._dragAttr.enable || this._scrollAttr.enable) {\n (this as unknown as IZoomable).initZoomable(this.event, this._option.mode);\n }\n\n // size相关\n this._backgroundSize = this._spec.background?.size ?? 30;\n this._middleHandlerSize = this._computeMiddleHandlerSize();\n this._width = this._computeWidth();\n this._height = this._computeHeight();\n // startHandler和endHandler size如果没有配置,则默认跟随background宽 or 高\n if (isNil(this._spec?.startHandler?.style?.size)) {\n this._spec.startHandler.style.size = this._isHorizontal\n ? this._height - this._middleHandlerSize\n : this._width - this._middleHandlerSize;\n }\n if (isNil(this._spec?.endHandler?.style?.size)) {\n this._spec.endHandler.style.size = this._isHorizontal\n ? this._height - this._middleHandlerSize\n : this._width - this._middleHandlerSize;\n }\n const startHandlerVisble = this._spec.startHandler.style.visible ?? true;\n const endHandlerVisble = this._spec.endHandler.style.visible ?? true;\n this._startHandlerSize = startHandlerVisble ? this._spec.startHandler.style.size : 0;\n this._endHandlerSize = endHandlerVisble ? this._spec.endHandler.style.size : 0;\n }\n\n /** LifeCycle API**/\n onLayoutEnd(ctx: any): void {\n this._updateScaleRange();\n // 初始时reverse判断并不准确,导致start和end颠倒, 保险起见在layoutend之后触发该逻辑\n // FIXME: 牺牲了一定性能,有待优化\n if (this._isReverse() && !this._isReverseCache) {\n this._isReverseCache = this._isReverse();\n this.effect.onZoomChange();\n }\n if (this._cacheVisibility !== false) {\n super.onLayoutEnd(ctx);\n }\n }\n\n protected _initValueScale() {\n const domain = this._computeDomainOfValueScale();\n\n if (domain) {\n const valueScale = new LinearScale();\n valueScale.domain(domain);\n this._valueScale = valueScale;\n }\n }\n\n protected _updateScaleRange() {\n const handlerSize = this._startHandlerSize + this._endHandlerSize;\n if (!this._stateScale || !this._valueScale) {\n return;\n }\n\n // visible为false时, 计算stateScale的兜底range\n let stateScaleRange;\n const defaultSize = this._isHorizontal\n ? this.getLayoutRect().width - handlerSize\n : this.getLayoutRect().height - handlerSize;\n\n const defaultRange = (this._relatedAxisComponent as CartesianAxis<any>)?.getScale().range() ?? [\n this._startHandlerSize / 2,\n defaultSize + this._startHandlerSize / 2\n ];\n\n const compWidth = this._computeWidth();\n const compHeight = this._computeHeight();\n\n if (this._isHorizontal) {\n stateScaleRange = this._visible\n ? [this._startHandlerSize / 2, compWidth - handlerSize + this._startHandlerSize / 2]\n : defaultRange;\n this._stateScale.range(stateScaleRange);\n this._valueScale.range([compHeight - this._middleHandlerSize, 0]);\n } else {\n stateScaleRange = this._visible\n ? [this._startHandlerSize / 2, compHeight - handlerSize + this._startHandlerSize / 2]\n : defaultRange;\n\n this._stateScale.range(stateScaleRange);\n\n if (this.layoutOrient === 'left') {\n this._valueScale.range([compWidth - this._middleHandlerSize, 0]);\n } else {\n this._valueScale.range([0, compWidth - this._middleHandlerSize]);\n }\n }\n if (this._component && this._cacheVisibility !== false) {\n this._component.setAttributes({\n size: {\n width: compWidth,\n height: compHeight\n },\n position: {\n x: this.getLayoutStartPoint().x,\n y: this.getLayoutStartPoint().y\n }\n });\n }\n }\n\n protected _computeDomainOfValueScale() {\n const domain = this._data.getLatestData().map((d: any) => d[this._valueField]);\n\n const domainNum = domain.map((n: any) => n * 1);\n return domain.length ? [minInArray(domainNum), maxInArray(domainNum)] : null;\n }\n\n protected _computeMiddleHandlerSize(): number {\n let size = 0;\n if (this._spec?.middleHandler?.visible) {\n const middleHandlerIconSize = this._spec.middleHandler.icon.style.size ?? 8;\n const middleHandlerBackSize = this._spec.middleHandler.background.size ?? 40;\n size += Math.max(middleHandlerIconSize as number, middleHandlerBackSize);\n }\n return size;\n }\n\n protected _computeWidth(): number {\n if (this._visible === false) {\n return 0;\n }\n\n if (isNumber(this._spec.width)) {\n return this._spec.width;\n }\n\n if (this._isHorizontal) {\n return this.getLayoutRect().width;\n }\n\n return this._backgroundSize + this._middleHandlerSize;\n }\n\n protected _computeHeight(): number {\n if (this._visible === false) {\n return 0;\n }\n\n if (isNumber(this._spec.height)) {\n return this._spec.height;\n }\n\n if (this._isHorizontal) {\n return this._backgroundSize + this._middleHandlerSize;\n }\n return this.getLayoutRect().height;\n }\n\n protected _isScaleValid(scale: IBaseScale | ILinearScale) {\n if (!scale || !scale.domain()) {\n return false;\n }\n const domain = scale.domain();\n if (isContinuous(scale.type) && domain[0] === last(domain)) {\n return false;\n }\n if (isDiscrete(scale.type) && uniqArray(domain).length === 1) {\n return false;\n }\n return true;\n }\n\n protected _dataToPositionX = (datum: Datum): number => {\n const offsetLeft = this._orient === 'left' ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? this._startHandlerSize / 2 : 0;\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n const xField = this._isHorizontal ? this._stateField : this._valueField;\n return xScale.scale(datum[xField]) + this.getLayoutStartPoint().x + offsetLeft + offsetHandler;\n };\n\n protected _dataToPositionX2 = (datum: Datum): number => {\n const offsetLeft = this._orient === 'left' ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? this._startHandlerSize / 2 : 0;\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n const min = xScale.domain()[0];\n return xScale.scale(min) + this.getLayoutStartPoint().x + offsetLeft + offsetHandler;\n };\n\n protected _dataToPositionY = (datum: Datum): number => {\n const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? 0 : this._startHandlerSize / 2;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n const yField = this._isHorizontal ? this._valueField : this._stateField;\n return yScale.scale(datum[yField]) + this.getLayoutStartPoint().y + offsetTop + offsetHandler;\n };\n\n protected _dataToPositionY2 = (datum: Datum): number => {\n const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? 0 : this._startHandlerSize / 2;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n const min = yScale.domain()[0];\n return yScale.scale(min) + this.getLayoutStartPoint().y + offsetTop + offsetHandler;\n };\n\n private _getAttrs(isNeedPreview: boolean) {\n const spec = this._spec ?? ({} as T);\n return {\n zIndex: this.layoutZIndex,\n start: this._start,\n end: this._end,\n position: {\n x: this.getLayoutStartPoint().x,\n y: this.getLayoutStartPoint().y\n },\n orient: this._orient,\n size: {\n width: this._computeWidth(),\n height: this._computeHeight()\n },\n showDetail: spec.showDetail,\n brushSelect: spec.brushSelect ?? false,\n zoomLock: spec.zoomLock ?? false,\n minSpan: this._minSpan,\n maxSpan: this._maxSpan,\n delayType: spec.delayType,\n delayTime: isValid(spec.delayType) ? spec.delayTime ?? 30 : 0,\n realTime: spec.realTime ?? true,\n previewData: isNeedPreview && this._data.getLatestData(),\n previewPointsX: isNeedPreview && this._dataToPositionX,\n previewPointsY: isNeedPreview && this._dataToPositionY,\n tolerance: this._spec.tolerance,\n ...(this._getComponentAttrs(isNeedPreview) as any)\n } as DataZoomAttributes;\n }\n\n protected _createOrUpdateComponent() {\n if (this._visible) {\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n const isNeedPreview =\n this._isScaleValid(xScale) && this._isScaleValid(yScale) && this._spec.showBackgroundChart !== false;\n const attrs = this._getAttrs(isNeedPreview);\n\n if (this._component) {\n this._component.setAttributes(attrs);\n } else {\n const container = this.getContainer();\n this._component = new DataZoomComponent(attrs);\n\n if (this._isHorizontal) {\n isNeedPreview && this._component.setPreviewPointsY1(this._dataToPositionY2);\n } else {\n isNeedPreview && this._component.setPreviewPointsX1(this._dataToPositionX2);\n }\n this._component.setStatePointToData((state: number) => this._statePointToData(state));\n\n this._component.addEventListener('change', (e: any) => {\n const { start, end, tag } = e.detail;\n // 传入tag后, datazoom每次只更新 startHandler / endHandler, 如果快速拖动会出现handler更新不及时的情况\n // 追溯上下文发现tag逻辑与auto有关(pull#1492), 所以在此做判断, 尽量不产生额外影响, 如果有额外影响应当再做处理\n this._handleChange(start, end, undefined, this._auto ? tag : undefined);\n });\n container.add(this._component as unknown as INode);\n\n this._updateScaleRange();\n }\n }\n }\n\n protected _handleChange(start: number, end: number, updateComponent?: boolean, tag?: string) {\n super._handleChange(start, end, updateComponent);\n\n if (this._shouldChange) {\n if (updateComponent && this._component) {\n this._component.setStartAndEnd(start, end);\n }\n\n this._start = start;\n this._end = end;\n const startValue = this._statePointToData(start);\n const endValue = this._statePointToData(end);\n const hasChange = isFunction(this._spec.updateDataAfterChange)\n ? this._spec.updateDataAfterChange(start, end, startValue, endValue)\n : this._handleStateChange(startValue, endValue, tag);\n if (hasChange) {\n this.event.emit(ChartEvent.dataZoomChange, {\n model: this,\n value: {\n filterData: this._filterMode !== 'axis',\n start,\n end,\n startValue: this._startValue,\n endValue: this._endValue,\n newDomain: this._newDomain\n }\n });\n }\n }\n }\n\n protected _handleDataCollectionChange() {\n const data = this._data.getDataView();\n data.reRunAllTransform();\n this._component?.setPreviewData(data.latestData);\n\n if (this._valueScale) {\n const domain = this._computeDomainOfValueScale();\n\n if (domain) {\n this._valueScale.domain(domain);\n }\n }\n }\n\n protected _getComponentAttrs(isNeedPreview: boolean) {\n const {\n middleHandler = {},\n startText = {},\n endText = {},\n backgroundChart = {},\n selectedBackgroundChart = {}\n } = this._spec as T;\n return {\n backgroundStyle: transformToGraphic(this._spec.background?.style) as unknown as IRectGraphicAttribute,\n startHandlerStyle: transformToGraphic(this._spec.startHandler?.style) as unknown as ISymbolGraphicAttribute,\n middleHandlerStyle: middleHandler.visible\n ? {\n visible: true,\n icon: transformToGraphic(middleHandler.icon?.style) as unknown as ISymbolGraphicAttribute,\n background: {\n size: middleHandler.background?.size,\n style: transformToGraphic(middleHandler.background?.style)\n } as any\n }\n : { visible: false },\n endHandlerStyle: transformToGraphic(this._spec.endHandler?.style) as unknown as ISymbolGraphicAttribute,\n startTextStyle: {\n padding: startText.padding,\n formatMethod: this._getHandlerTextFormatMethod(startText),\n textStyle: transformToGraphic(startText.style)\n } as unknown,\n endTextStyle: {\n padding: endText.padding,\n formatMethod: this._getHandlerTextFormatMethod(endText),\n textStyle: transformToGraphic(endText.style)\n } as unknown,\n selectedBackgroundStyle: transformToGraphic(\n this._spec.selectedBackground.style\n ) as unknown as IRectGraphicAttribute,\n dragMaskStyle: transformToGraphic(this._spec.dragMask?.style) as unknown as IRectGraphicAttribute,\n backgroundChartStyle: isNeedPreview\n ? {\n line: mergeSpec(transformToGraphic(backgroundChart.line?.style), { fill: false }),\n area: {\n curveType: 'basis',\n visible: true,\n ...transformToGraphic(backgroundChart.area?.style)\n }\n }\n : {\n line: { visible: false },\n area: { visible: false }\n },\n selectedBackgroundChartStyle: isNeedPreview\n ? {\n line: mergeSpec(transformToGraphic(selectedBackgroundChart.line?.style), { fill: false }),\n area: {\n curveType: 'basis',\n visible: true,\n ...transformToGraphic(selectedBackgroundChart.area?.style)\n }\n }\n : {\n line: { visible: false },\n area: { visible: false }\n },\n disableTriggerEvent: this._option.disableTriggerEvent,\n disableDispatchOutSide: (this._spec as any).disableDispatchOutSide ?? false\n };\n }\n\n protected _getHandlerTextFormatMethod(spec: IDataZoomSpec['startText']) {\n const { formatMethod, formatter } = spec;\n const { formatFunc } = getFormatFunction(formatMethod, formatter);\n return formatFunc ? (text: any) => formatFunc(text, { label: text }, formatter) : undefined;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._component] as unknown as IGroup[];\n }\n\n clear(): void {\n if (this._component) {\n const container = this.getContainer();\n this._component.removeAllChild();\n if (container) {\n container.removeChild(this._component as unknown as INode);\n }\n\n this._component = null;\n }\n super.clear();\n }\n}\n\nexport const registerDataZoom = () => {\n Factory.registerComponent(DataZoom.type, DataZoom);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/data-zoom/data-zoom/data-zoom.ts"],"names":[],"mappings":"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","file":"data-zoom.js","sourcesContent":["// eslint-disable-next-line no-duplicate-imports\nimport {\n isBoolean,\n isFunction,\n isNil,\n isNumber,\n isValid,\n last,\n maxInArray,\n minInArray,\n uniqArray\n} from '@visactor/vutils';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { DataFilterBaseComponent } from '../data-filter-base-component';\n// eslint-disable-next-line no-duplicate-imports\nimport type { DataZoomAttributes } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataZoom as DataZoomComponent } from '@visactor/vrender-components';\nimport { transformToGraphic } from '../../../util/style';\nimport type { IRectGraphicAttribute, INode, ISymbolGraphicAttribute, IGroup, IGraphic } from '@visactor/vrender-core';\nimport type { Datum, ILayoutType } from '../../../typings';\nimport type { ILinearScale, IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { LinearScale, isContinuous, isDiscrete } from '@visactor/vscale';\nimport { LayoutLevel, LayoutZIndex } from '../../../constant/layout';\nimport { ChartEvent } from '../../../constant/event';\nimport type { IDataZoomSpec } from './interface';\nimport { Factory } from '../../../core/factory';\nimport type { IZoomable } from '../../../interaction/zoom';\nimport type { CartesianAxis } from '../../axis/cartesian';\nimport { DataZoomSpecTransformer } from './data-zoom-transformer';\nimport { getFormatFunction } from '../../util';\n\nexport class DataZoom<T extends IDataZoomSpec = IDataZoomSpec> extends DataFilterBaseComponent<T> {\n static type = ComponentTypeEnum.dataZoom;\n static readonly transformerConstructor = DataZoomSpecTransformer as any;\n type = ComponentTypeEnum.dataZoom;\n name: string = ComponentTypeEnum.dataZoom;\n readonly transformerConstructor = DataZoomSpecTransformer;\n\n static specKey = 'dataZoom';\n specKey = 'dataZoom';\n\n layoutZIndex: number = LayoutZIndex.DataZoom;\n layoutLevel: number = LayoutLevel.DataZoom;\n layoutType: ILayoutType = 'region-relative';\n\n // datazoom组件\n protected _component!: DataZoomComponent;\n\n protected _valueScale!: ILinearScale;\n\n protected _backgroundSize!: number;\n protected _middleHandlerSize!: number;\n protected _startHandlerSize!: number;\n protected _endHandlerSize!: number;\n\n protected _isReverseCache: boolean = false;\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n\n this._valueField = 'y';\n this._filterMode = spec.filterMode ?? 'filter';\n }\n\n created() {\n super.created();\n this._initValueScale();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n if (isBoolean((this._spec as any).roam)) {\n this._zoomAttr.enable = (this._spec as any).roam;\n this._dragAttr.enable = (this._spec as any).roam;\n this._scrollAttr.enable = (this._spec as any).roam;\n }\n\n if (this._zoomAttr.enable || this._dragAttr.enable || this._scrollAttr.enable) {\n (this as unknown as IZoomable).initZoomable(this.event, this._option.mode);\n }\n\n // size相关\n this._backgroundSize = this._spec.background?.size ?? 30;\n this._middleHandlerSize = this._computeMiddleHandlerSize();\n this._width = this._computeWidth();\n this._height = this._computeHeight();\n // startHandler和endHandler size如果没有配置,则默认跟随background宽 or 高\n if (isNil(this._spec?.startHandler?.style?.size)) {\n this._spec.startHandler.style.size = this._isHorizontal\n ? this._height - this._middleHandlerSize\n : this._width - this._middleHandlerSize;\n }\n if (isNil(this._spec?.endHandler?.style?.size)) {\n this._spec.endHandler.style.size = this._isHorizontal\n ? this._height - this._middleHandlerSize\n : this._width - this._middleHandlerSize;\n }\n const startHandlerVisble = this._spec.startHandler.style.visible ?? true;\n const endHandlerVisble = this._spec.endHandler.style.visible ?? true;\n this._startHandlerSize = startHandlerVisble ? this._spec.startHandler.style.size : 0;\n this._endHandlerSize = endHandlerVisble ? this._spec.endHandler.style.size : 0;\n }\n\n /** LifeCycle API**/\n onLayoutEnd(ctx: any): void {\n this._updateScaleRange();\n // 初始时reverse判断并不准确,导致start和end颠倒, 保险起见在layoutend之后触发该逻辑\n // FIXME: 牺牲了一定性能,有待优化\n if (this._isReverse() && !this._isReverseCache) {\n this._isReverseCache = this._isReverse();\n this.effect.onZoomChange();\n }\n if (this._cacheVisibility !== false) {\n super.onLayoutEnd(ctx);\n }\n }\n\n protected _initValueScale() {\n const domain = this._computeDomainOfValueScale();\n\n if (domain) {\n const valueScale = new LinearScale();\n valueScale.domain(domain);\n this._valueScale = valueScale;\n }\n }\n\n protected _updateScaleRange() {\n const handlerSize = this._startHandlerSize + this._endHandlerSize;\n if (!this._stateScale || !this._valueScale) {\n return;\n }\n\n // visible为false时, 计算stateScale的兜底range\n let stateScaleRange;\n const defaultSize = this._isHorizontal\n ? this.getLayoutRect().width - handlerSize\n : this.getLayoutRect().height - handlerSize;\n\n const defaultRange = (this._relatedAxisComponent as CartesianAxis<any>)?.getScale().range() ?? [\n this._startHandlerSize / 2,\n defaultSize + this._startHandlerSize / 2\n ];\n\n const compWidth = this._computeWidth();\n const compHeight = this._computeHeight();\n\n if (this._isHorizontal) {\n stateScaleRange = this._visible\n ? [this._startHandlerSize / 2, compWidth - handlerSize + this._startHandlerSize / 2]\n : defaultRange;\n this._stateScale.range(stateScaleRange);\n this._valueScale.range([compHeight - this._middleHandlerSize, 0]);\n } else {\n stateScaleRange = this._visible\n ? [this._startHandlerSize / 2, compHeight - handlerSize + this._startHandlerSize / 2]\n : defaultRange;\n\n this._stateScale.range(stateScaleRange);\n\n if (this.layoutOrient === 'left') {\n this._valueScale.range([compWidth - this._middleHandlerSize, 0]);\n } else {\n this._valueScale.range([0, compWidth - this._middleHandlerSize]);\n }\n }\n if (this._component && this._cacheVisibility !== false) {\n this._component.setAttributes({\n size: {\n width: compWidth,\n height: compHeight\n },\n position: {\n x: this.getLayoutStartPoint().x,\n y: this.getLayoutStartPoint().y\n }\n });\n }\n }\n\n protected _computeDomainOfValueScale() {\n const domain = this._data.getLatestData().map((d: any) => d[this._valueField]);\n\n const domainNum = domain.map((n: any) => n * 1);\n return domain.length ? [minInArray(domainNum), maxInArray(domainNum)] : null;\n }\n\n protected _computeMiddleHandlerSize(): number {\n let size = 0;\n if (this._spec?.middleHandler?.visible) {\n const middleHandlerIconSize = this._spec.middleHandler.icon.style.size ?? 8;\n const middleHandlerBackSize = this._spec.middleHandler.background.size ?? 40;\n size += Math.max(middleHandlerIconSize as number, middleHandlerBackSize);\n }\n return size;\n }\n\n protected _computeWidth(): number {\n if (this._visible === false) {\n return 0;\n }\n\n if (isNumber(this._spec.width)) {\n return this._spec.width;\n }\n\n if (this._isHorizontal) {\n return this.getLayoutRect().width;\n }\n\n return this._backgroundSize + this._middleHandlerSize;\n }\n\n protected _computeHeight(): number {\n if (this._visible === false) {\n return 0;\n }\n\n if (isNumber(this._spec.height)) {\n return this._spec.height;\n }\n\n if (this._isHorizontal) {\n return this._backgroundSize + this._middleHandlerSize;\n }\n return this.getLayoutRect().height;\n }\n\n protected _isScaleValid(scale: IBaseScale | ILinearScale) {\n if (!scale || !scale.domain()) {\n return false;\n }\n const domain = scale.domain();\n if (isContinuous(scale.type) && domain[0] === last(domain)) {\n return false;\n }\n if (isDiscrete(scale.type) && uniqArray(domain).length === 1) {\n return false;\n }\n return true;\n }\n\n protected _dataToPositionX = (datum: Datum): number => {\n const offsetLeft = this._orient === 'left' ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? this._startHandlerSize / 2 : 0;\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n const xField = this._isHorizontal ? this._stateField : this._valueField;\n return xScale.scale(datum[xField]) + this.getLayoutStartPoint().x + offsetLeft + offsetHandler;\n };\n\n protected _dataToPositionX2 = (datum: Datum): number => {\n const offsetLeft = this._orient === 'left' ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? this._startHandlerSize / 2 : 0;\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n const min = xScale.domain()[0];\n return xScale.scale(min) + this.getLayoutStartPoint().x + offsetLeft + offsetHandler;\n };\n\n protected _dataToPositionY = (datum: Datum): number => {\n const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? 0 : this._startHandlerSize / 2;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n const yField = this._isHorizontal ? this._valueField : this._stateField;\n return yScale.scale(datum[yField]) + this.getLayoutStartPoint().y + offsetTop + offsetHandler;\n };\n\n protected _dataToPositionY2 = (datum: Datum): number => {\n const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? 0 : this._startHandlerSize / 2;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n const min = yScale.domain()[0];\n return yScale.scale(min) + this.getLayoutStartPoint().y + offsetTop + offsetHandler;\n };\n\n private _getAttrs(isNeedPreview: boolean) {\n const spec = this._spec ?? ({} as T);\n return {\n zIndex: this.layoutZIndex,\n start: this._start,\n end: this._end,\n position: {\n x: this.getLayoutStartPoint().x,\n y: this.getLayoutStartPoint().y\n },\n orient: this._orient,\n size: {\n width: this._computeWidth(),\n height: this._computeHeight()\n },\n showDetail: spec.showDetail,\n brushSelect: spec.brushSelect ?? false,\n zoomLock: spec.zoomLock ?? false,\n minSpan: this._minSpan,\n maxSpan: this._maxSpan,\n delayType: spec.delayType,\n delayTime: isValid(spec.delayType) ? spec.delayTime ?? 30 : 0,\n realTime: spec.realTime ?? true,\n previewData: isNeedPreview && this._data.getLatestData(),\n previewPointsX: isNeedPreview && this._dataToPositionX,\n previewPointsY: isNeedPreview && this._dataToPositionY,\n tolerance: this._spec.tolerance,\n ...(this._getComponentAttrs(isNeedPreview) as any)\n } as DataZoomAttributes;\n }\n\n protected _createOrUpdateComponent() {\n if (this._visible) {\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n const isNeedPreview =\n this._isScaleValid(xScale) && this._isScaleValid(yScale) && this._spec.showBackgroundChart !== false;\n const attrs = this._getAttrs(isNeedPreview);\n\n if (this._component) {\n this._component.setAttributes(attrs);\n } else {\n const container = this.getContainer();\n this._component = new DataZoomComponent(attrs);\n\n if (this._isHorizontal) {\n isNeedPreview && this._component.setPreviewPointsY1(this._dataToPositionY2);\n } else {\n isNeedPreview && this._component.setPreviewPointsX1(this._dataToPositionX2);\n }\n this._component.setStatePointToData((state: number) => this._statePointToData(state));\n\n this._component.addEventListener('change', (e: any) => {\n const { start, end, tag } = e.detail;\n this._handleChange(start, end, undefined, tag);\n });\n container.add(this._component as unknown as INode);\n\n this._updateScaleRange();\n }\n }\n }\n\n protected _handleChange(start: number, end: number, updateComponent?: boolean, tag?: string) {\n super._handleChange(start, end, updateComponent);\n\n if (this._shouldChange) {\n if (updateComponent && this._component) {\n this._component.setStartAndEnd(start, end);\n }\n\n this._start = start;\n this._end = end;\n const startValue = this._statePointToData(start);\n const endValue = this._statePointToData(end);\n const hasChange = isFunction(this._spec.updateDataAfterChange)\n ? this._spec.updateDataAfterChange(start, end, startValue, endValue)\n : this._handleStateChange(startValue, endValue, tag);\n if (hasChange) {\n this.event.emit(ChartEvent.dataZoomChange, {\n model: this,\n value: {\n filterData: this._filterMode !== 'axis',\n start,\n end,\n startValue: this._startValue,\n endValue: this._endValue,\n newDomain: this._newDomain\n }\n });\n }\n }\n }\n\n protected _handleDataCollectionChange() {\n const data = this._data.getDataView();\n data.reRunAllTransform();\n this._component?.setPreviewData(data.latestData);\n\n if (this._valueScale) {\n const domain = this._computeDomainOfValueScale();\n\n if (domain) {\n this._valueScale.domain(domain);\n }\n }\n }\n\n protected _getComponentAttrs(isNeedPreview: boolean) {\n const {\n middleHandler = {},\n startText = {},\n endText = {},\n backgroundChart = {},\n selectedBackgroundChart = {}\n } = this._spec as T;\n return {\n backgroundStyle: transformToGraphic(this._spec.background?.style) as unknown as IRectGraphicAttribute,\n startHandlerStyle: transformToGraphic(this._spec.startHandler?.style) as unknown as ISymbolGraphicAttribute,\n middleHandlerStyle: middleHandler.visible\n ? {\n visible: true,\n icon: transformToGraphic(middleHandler.icon?.style) as unknown as ISymbolGraphicAttribute,\n background: {\n size: middleHandler.background?.size,\n style: transformToGraphic(middleHandler.background?.style)\n } as any\n }\n : { visible: false },\n endHandlerStyle: transformToGraphic(this._spec.endHandler?.style) as unknown as ISymbolGraphicAttribute,\n startTextStyle: {\n padding: startText.padding,\n formatMethod: this._getHandlerTextFormatMethod(startText),\n textStyle: transformToGraphic(startText.style)\n } as unknown,\n endTextStyle: {\n padding: endText.padding,\n formatMethod: this._getHandlerTextFormatMethod(endText),\n textStyle: transformToGraphic(endText.style)\n } as unknown,\n selectedBackgroundStyle: transformToGraphic(\n this._spec.selectedBackground.style\n ) as unknown as IRectGraphicAttribute,\n dragMaskStyle: transformToGraphic(this._spec.dragMask?.style) as unknown as IRectGraphicAttribute,\n backgroundChartStyle: isNeedPreview\n ? {\n line: mergeSpec(transformToGraphic(backgroundChart.line?.style), { fill: false }),\n area: {\n curveType: 'basis',\n visible: true,\n ...transformToGraphic(backgroundChart.area?.style)\n }\n }\n : {\n line: { visible: false },\n area: { visible: false }\n },\n selectedBackgroundChartStyle: isNeedPreview\n ? {\n line: mergeSpec(transformToGraphic(selectedBackgroundChart.line?.style), { fill: false }),\n area: {\n curveType: 'basis',\n visible: true,\n ...transformToGraphic(selectedBackgroundChart.area?.style)\n }\n }\n : {\n line: { visible: false },\n area: { visible: false }\n },\n disableTriggerEvent: this._option.disableTriggerEvent\n };\n }\n\n protected _getHandlerTextFormatMethod(spec: IDataZoomSpec['startText']) {\n const { formatMethod, formatter } = spec;\n const { formatFunc } = getFormatFunction(formatMethod, formatter);\n return formatFunc ? (text: any) => formatFunc(text, { label: text }, formatter) : undefined;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._component] as unknown as IGroup[];\n }\n\n clear(): void {\n if (this._component) {\n const container = this.getContainer();\n this._component.removeAllChild();\n if (container) {\n container.removeChild(this._component as unknown as INode);\n }\n\n this._component = null;\n }\n super.clear();\n }\n}\n\nexport const registerDataZoom = () => {\n Factory.registerComponent(DataZoom.type, DataZoom);\n};\n"]}
@@ -29,6 +29,7 @@ export interface IComponent extends ILayoutModel {
29
29
  changeRegions: (regions: IRegion[]) => void;
30
30
  getVRenderComponents: () => IGraphic[];
31
31
  clear: () => void;
32
+ getDatum: (childGraphic?: IGraphic) => any | undefined;
32
33
  }
33
34
  export interface IComponentConstructor extends IModelConstructor {
34
35
  type: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { ISeriesFilter } from '../../region/interface';\nimport type { IAnimate } from '../../animation/interface';\nimport type { ILayoutModel, IModelConstructor, IModelOption, IModelSpecInfo } from '../../model/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IRegion } from '../../region/interface';\nimport type { ISeries } from '../../series/interface';\nimport type { Maybe, StringOrNumber } from '../../typings';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport type { IChartSpecInfo } from '../../chart/interface';\n/**\n * 组件作为图表辅助阅读等功能的模块,除了model提供的能力之外,还有以下功能特点\n * 支持对多region的绑定。\n * 能够在resize时正常的重新对内部元素布局。\n * 保持数据独立,模块间的依赖关系,能从数据上处理的应当从数据上处理。\n */\n\nexport interface IComponentOption extends IModelOption {\n // 区域\n getAllRegions: () => IRegion[];\n getRegionsInIndex: (index?: number[]) => IRegion[];\n getRegionsInIds: (ids: number[]) => IRegion[];\n getRegionsInUserIdOrIndex: (user_ids?: StringOrNumber[], index?: number[]) => IRegion[];\n // series\n getAllSeries: () => ISeries[];\n getSeriesInIndex: (index?: number[]) => ISeries[];\n getSeriesInIds: (ids?: number[]) => ISeries[];\n getSeriesInUserIdOrIndex: (user_ids?: StringOrNumber[], index?: number[]) => ISeries[];\n // component\n getAllComponents: () => IComponent[];\n getComponentByIndex: (key: string, index: number) => IComponent | undefined;\n getComponentByUserId: (userId: StringOrNumber) => IComponent | undefined;\n getComponentsByKey: (key: string) => IComponent[];\n getComponentsByType: (type: string) => IComponent[];\n}\n\nexport interface IComponent extends ILayoutModel {\n readonly name: string;\n readonly animate?: IAnimate;\n\n // 区域\n getRegions: () => IRegion[];\n getBindSeriesFilter?: () => ISeriesFilter;\n changeRegions: (regions: IRegion[]) => void;\n getVRenderComponents: () => IGraphic[];\n\n // 清空,用于更新等场景\n clear: () => void;\n}\n\nexport interface IComponentConstructor extends IModelConstructor {\n type: string;\n specKey?: string;\n getSpecInfo?: (chartSpec: any, chartSpecInfo?: IChartSpecInfo) => Maybe<IModelSpecInfo[]>;\n createComponent: (specInfo: IModelSpecInfo, options: IComponentOption) => IComponent;\n new (spec: any, options: IComponentOption): IComponent;\n}\n"]}
1
+ {"version":3,"sources":["../src/component/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { ISeriesFilter } from '../../region/interface';\nimport type { IAnimate } from '../../animation/interface';\nimport type { ILayoutModel, IModelConstructor, IModelOption, IModelSpecInfo } from '../../model/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IRegion } from '../../region/interface';\nimport type { ISeries } from '../../series/interface';\nimport type { Maybe, StringOrNumber } from '../../typings';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport type { IChartSpecInfo } from '../../chart/interface';\n/**\n * 组件作为图表辅助阅读等功能的模块,除了model提供的能力之外,还有以下功能特点\n * 支持对多region的绑定。\n * 能够在resize时正常的重新对内部元素布局。\n * 保持数据独立,模块间的依赖关系,能从数据上处理的应当从数据上处理。\n */\n\nexport interface IComponentOption extends IModelOption {\n // 区域\n getAllRegions: () => IRegion[];\n getRegionsInIndex: (index?: number[]) => IRegion[];\n getRegionsInIds: (ids: number[]) => IRegion[];\n getRegionsInUserIdOrIndex: (user_ids?: StringOrNumber[], index?: number[]) => IRegion[];\n // series\n getAllSeries: () => ISeries[];\n getSeriesInIndex: (index?: number[]) => ISeries[];\n getSeriesInIds: (ids?: number[]) => ISeries[];\n getSeriesInUserIdOrIndex: (user_ids?: StringOrNumber[], index?: number[]) => ISeries[];\n // component\n getAllComponents: () => IComponent[];\n getComponentByIndex: (key: string, index: number) => IComponent | undefined;\n getComponentByUserId: (userId: StringOrNumber) => IComponent | undefined;\n getComponentsByKey: (key: string) => IComponent[];\n getComponentsByType: (type: string) => IComponent[];\n}\n\nexport interface IComponent extends ILayoutModel {\n readonly name: string;\n readonly animate?: IAnimate;\n\n // 区域\n getRegions: () => IRegion[];\n getBindSeriesFilter?: () => ISeriesFilter;\n changeRegions: (regions: IRegion[]) => void;\n getVRenderComponents: () => IGraphic[];\n\n // 清空,用于更新等场景\n clear: () => void;\n\n // 数据\n getDatum: (childGraphic?: IGraphic) => any | undefined;\n}\n\nexport interface IComponentConstructor extends IModelConstructor {\n type: string;\n specKey?: string;\n getSpecInfo?: (chartSpec: any, chartSpecInfo?: IChartSpecInfo) => Maybe<IModelSpecInfo[]>;\n createComponent: (specInfo: IModelSpecInfo, options: IComponentOption) => IComponent;\n new (spec: any, options: IComponentOption): IComponent;\n}\n"]}
@@ -4,7 +4,7 @@ import type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';
4
4
  import type { IRegion } from '../../region/interface';
5
5
  import type { CoordinateType, ILayoutRect, ILayoutType, IRect } from '../../typings';
6
6
  import { BaseComponent } from '../base/base-component';
7
- import type { IDataPos, IDataPosCallback, IMarkerAttributeContext, IMarkerSpec, IMarkerSupportSeries } from './interface';
7
+ import type { IDataPos, IDataPosCallback, IMarkerAttributeContext, IMarkerSpec, IMarkerSupportSeries, IMarkProcessOptions } from './interface';
8
8
  import type { IGraphic, IGroup } from '@visactor/vrender-core';
9
9
  import type { IOptionWithCoordinates } from '../../data/transforms/interface';
10
10
  export declare abstract class BaseMarker<T extends IMarkerSpec> extends BaseComponent<T> {
@@ -27,6 +27,7 @@ export declare abstract class BaseMarker<T extends IMarkerSpec> extends BaseComp
27
27
  protected abstract _initDataView(): void;
28
28
  protected abstract _createMarkerComponent(): IGroup;
29
29
  protected abstract _markerLayout(): void;
30
+ protected abstract _computeOptions(): IMarkProcessOptions;
30
31
  static _getMarkerCoordinateType(markerSpec: any): string;
31
32
  static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]>;
32
33
  protected _markAttributeContext: IMarkerAttributeContext;
@@ -66,4 +67,5 @@ export declare abstract class BaseMarker<T extends IMarkerSpec> extends BaseComp
66
67
  reSize: boolean;
67
68
  reCompile: boolean;
68
69
  };
70
+ _initCommonDataView(): void;
69
71
  }
@@ -14,6 +14,12 @@ import { arrayParser } from "../../data/parser/array";
14
14
 
15
15
  import { getSpecInfo } from "../util";
16
16
 
17
+ import { registerDataSetInstanceTransform } from "../../data/register";
18
+
19
+ import { markerAggregation } from "../../data/transforms/aggregation";
20
+
21
+ import { markerFilter } from "../../data/transforms/marker-filter";
22
+
17
23
  export class BaseMarker extends BaseComponent {
18
24
  constructor() {
19
25
  super(...arguments), this.layoutType = "none", this._layoutOffsetX = 0, this._layoutOffsetY = 0;
@@ -149,5 +155,24 @@ export class BaseMarker extends BaseComponent {
149
155
  return isEqual(prevSpec, spec) || (result.reRender = !0, result.reMake = !0, result.change = !0),
150
156
  result;
151
157
  }
158
+ _initCommonDataView() {
159
+ const {options: options} = this._computeOptions(), seriesData = this._getRelativeDataView();
160
+ registerDataSetInstanceTransform(this._option.dataSet, "markerAggregation", markerAggregation),
161
+ registerDataSetInstanceTransform(this._option.dataSet, "markerFilter", markerFilter);
162
+ const data = new DataView(this._option.dataSet, {
163
+ name: `${this.type}_${this.id}_data`
164
+ });
165
+ data.parse([ seriesData ], {
166
+ type: "dataview"
167
+ }), data.transform({
168
+ type: "markerAggregation",
169
+ options: options
170
+ }), data.transform({
171
+ type: "markerFilter",
172
+ options: this._getAllRelativeSeries()
173
+ }), data.target.on("change", (() => {
174
+ this._markerLayout();
175
+ })), this._markerData = data;
176
+ }
152
177
  }
153
178
  //# sourceMappingURL=base-marker.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/base-marker.ts"],"names":[],"mappings":"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","file":"base-marker.js","sourcesContent":["import { DataSet, DataView } from '@visactor/vdataset';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, isValid, isNil, isString, isEqual } from '@visactor/vutils';\nimport type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { ICartesianSeries } from '../../series/interface';\nimport type { CoordinateType, ILayoutRect, ILayoutType, IRect, StringOrNumber } from '../../typings';\nimport { BaseComponent } from '../base/base-component';\nimport type {\n IAggrType,\n IDataPos,\n IDataPosCallback,\n IMarkerAttributeContext,\n IMarkerSpec,\n IMarkerSupportSeries\n} from './interface';\nimport type { IGraphic, IGroup } from '@visactor/vrender-core';\nimport { calcLayoutNumber } from '../../util/space';\nimport { isAggrSpec } from './utils';\nimport { getFirstSeries } from '../../util';\nimport { arrayParser } from '../../data/parser/array';\nimport { getSpecInfo } from '../util';\nimport type { IOptionWithCoordinates } from '../../data/transforms/interface';\n\nexport abstract class BaseMarker<T extends IMarkerSpec> extends BaseComponent<T> {\n layoutType: ILayoutType | 'none' = 'none';\n\n // 下面三个属性需要子组件复写\n static specKey: string;\n static type: string;\n static coordinateType: string;\n coordinateType: CoordinateType;\n\n protected _startRelativeSeries!: IMarkerSupportSeries;\n protected _endRelativeSeries!: IMarkerSupportSeries;\n protected _relativeSeries!: IMarkerSupportSeries;\n protected _specifiedDataSeries!: IMarkerSupportSeries | IMarkerSupportSeries[];\n getRelativeSeries() {\n return this._relativeSeries;\n }\n\n // marker 组件数据\n protected _markerData!: DataView;\n getMarkerData() {\n return this._markerData;\n }\n // marker 组件\n protected _markerComponent!: any;\n\n protected _layoutOffsetX: number = 0;\n protected _layoutOffsetY: number = 0;\n\n private _firstSeries: ICartesianSeries;\n\n protected abstract _initDataView(): void;\n protected abstract _createMarkerComponent(): IGroup;\n protected abstract _markerLayout(): void;\n // 该方法需要子组件复写\n static _getMarkerCoordinateType(markerSpec: any): string {\n return 'cartesian';\n }\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n return getSpecInfo<IMarkerSpec>(chartSpec, this.specKey, this.type, (s: IMarkerSpec) => {\n return s.visible !== false && this._getMarkerCoordinateType(s) === this.coordinateType;\n });\n }\n\n protected _markAttributeContext: IMarkerAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkerAttributeContext() {\n this._markAttributeContext = {\n relativeSeries: this._relativeSeries,\n startRelativeSeries: this._startRelativeSeries,\n endRelativeSeries: this._endRelativeSeries,\n vchart: this._option.globalInstance\n };\n }\n\n created() {\n super.created();\n this._bindSeries();\n this._initDataView();\n this.initEvent();\n this._buildMarkerAttributeContext();\n }\n\n protected _getAllRelativeSeries() {\n return {\n getRelativeSeries: () => this._relativeSeries,\n getStartRelativeSeries: () => this._startRelativeSeries,\n getEndRelativeSeries: () => this._endRelativeSeries\n };\n }\n\n private _getFieldInfoFromSpec(\n dim: 'x' | 'y' | 'angle' | 'radius' | 'areaName',\n spec: IDataPos | IDataPosCallback,\n relativeSeries: IMarkerSupportSeries\n ) {\n const specKeyByDim = {\n x: 'xField',\n y: 'yField',\n radius: 'valueField',\n angle: 'categoryField',\n areaName: 'nameField'\n };\n\n if (isString(spec) && isAggrSpec(spec)) {\n return {\n field: relativeSeries.getSpec()[specKeyByDim[dim]],\n aggrType: spec as unknown as IAggrType\n };\n }\n return spec;\n }\n\n protected _processSpecByDims(\n dimSpec: {\n dim: 'x' | 'y' | 'angle' | 'radius' | 'areaName';\n specValue: IDataPos | IDataPosCallback;\n }[]\n ) {\n const relativeSeries = this._relativeSeries;\n const dimMap = {};\n dimSpec.forEach(d => (dimMap[d.dim] = this._getFieldInfoFromSpec(d.dim, d.specValue, relativeSeries)));\n return {\n ...dimMap,\n ...this._getAllRelativeSeries()\n };\n }\n\n protected _processSpecCoo(spec: any): IOptionWithCoordinates {\n return {\n coordinates: spec.coordinates || spec.coordinate,\n ...this._getAllRelativeSeries(),\n getSeriesByIdOrIndex: (seriesUserId: StringOrNumber, seriesIndex: number) =>\n this._getSeriesByIdOrIndex(seriesUserId, seriesIndex),\n coordinateType: this.coordinateType\n };\n }\n\n protected _getRelativeDataView() {\n if (this._specifiedDataSeries) {\n let resultData: any[] = [];\n array(this._specifiedDataSeries).forEach(series => {\n resultData = resultData.concat(series.getViewData().latestData);\n });\n const dataSet = new DataSet();\n dataSet.registerParser('array', arrayParser);\n return new DataView(dataSet).parse(resultData, { type: 'array' });\n }\n return this._relativeSeries.getViewData();\n }\n\n updateLayoutAttribute(): void {\n const markerVisible = this._spec.visible ?? true;\n if (markerVisible) {\n // 创建marker组件\n if (!this._markerComponent) {\n const markerComponent = this._createMarkerComponent();\n markerComponent.name = this._spec.name ?? this.type;\n markerComponent.id = this._spec.id ?? `${this.type}-${this.id}`;\n this._markerComponent = markerComponent;\n\n this.getContainer().add(this._markerComponent);\n // 代理 marker 组件上的事件\n this._markerComponent.on('*', (event: any, type: string) => {\n this._delegateEvent(\n this._markerComponent as unknown as IGraphic,\n event,\n type,\n null,\n this.getMarkerData.bind(this)\n );\n });\n }\n this._markerLayout();\n }\n\n super.updateLayoutAttribute();\n }\n\n private _getSeriesByIdOrIndex(seriesUserId: StringOrNumber, seriesIndex: number) {\n let series: IMarkerSupportSeries;\n series = this._option.getSeriesInUserIdOrIndex(isValid(seriesUserId) ? [seriesUserId] : [], [\n seriesIndex\n ])?.[0] as IMarkerSupportSeries;\n if (!series) {\n series = this._relativeSeries ?? this._getFirstSeries();\n }\n return series;\n }\n\n protected _bindSeries() {\n const spec: any = 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 if (\n (spec.specifiedDataSeriesIndex && spec.specifiedDataSeriesIndex === 'all') ||\n (spec.specifiedDataSeriesId && spec.specifiedDataSeriesId === 'all')\n ) {\n this._specifiedDataSeries = this._option.getAllSeries() as IMarkerSupportSeries[];\n } else if (spec.specifiedDataSeriesIndex || spec.specifiedDataSeriesId) {\n this._specifiedDataSeries = this._getSeriesByIdOrIndex(spec.specifiedDataSeriesId, spec.specifiedDataSeriesIndex);\n }\n }\n\n protected initEvent() {\n // 在极坐标系/地理坐标系中, 滚动或缩放画布不会update layout, 所以需要通过事件监听来更新标注的位置\n // 在直角坐标系中, update layout中已经更新标注位置, 在这里不需要重复监听\n if (this._relativeSeries.coordinate !== 'cartesian') {\n this._relativeSeries.event.on('zoom', this._markerLayout.bind(this));\n this._relativeSeries.event.on('panmove', this._markerLayout.bind(this));\n this._relativeSeries.event.on('scroll', this._markerLayout.bind(this));\n }\n }\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n clear(): void {\n super.clear();\n this._firstSeries = null;\n }\n\n private _getFirstSeries(): ICartesianSeries {\n if (this._firstSeries) {\n return this._firstSeries;\n }\n const firstSeries = getFirstSeries(this._regions) as ICartesianSeries;\n if (firstSeries) {\n this._firstSeries = firstSeries;\n return firstSeries;\n }\n this._option?.onError('need at least one series');\n return null;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._markerComponent] as unknown as IGroup[];\n }\n\n onLayoutStart(layoutRect: IRect, chartViewRect: ILayoutRect, ctx: any): void {\n // offset\n if (!isNil(this._spec.offsetX)) {\n this._layoutOffsetX = calcLayoutNumber(this._spec.offsetX, chartViewRect.width, chartViewRect);\n }\n if (!isNil(this._spec.offsetY)) {\n this._layoutOffsetY = calcLayoutNumber(this._spec.offsetY, chartViewRect.height, chartViewRect);\n }\n super.onLayoutStart(layoutRect, chartViewRect, ctx);\n }\n\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reRender = true;\n result.reMake = true;\n result.change = true;\n }\n return result;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/marker/base-marker.ts"],"names":[],"mappings":"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","file":"base-marker.js","sourcesContent":["import { DataSet, DataView } from '@visactor/vdataset';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, isValid, isNil, isString, isEqual } from '@visactor/vutils';\nimport type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { ICartesianSeries } from '../../series/interface';\nimport type { CoordinateType, ILayoutRect, ILayoutType, IRect, StringOrNumber } from '../../typings';\nimport { BaseComponent } from '../base/base-component';\nimport type {\n IAggrType,\n IDataPos,\n IDataPosCallback,\n IMarkerAttributeContext,\n IMarkerSpec,\n IMarkerSupportSeries,\n IMarkProcessOptions\n} from './interface';\nimport type { IGraphic, IGroup } from '@visactor/vrender-core';\nimport { calcLayoutNumber } from '../../util/space';\nimport { isAggrSpec } from './utils';\nimport { getFirstSeries } from '../../util';\nimport { arrayParser } from '../../data/parser/array';\nimport { getSpecInfo } from '../util';\nimport type { IOptionWithCoordinates } from '../../data/transforms/interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { markerAggregation } from '../../data/transforms/aggregation';\nimport { markerFilter } from '../../data/transforms/marker-filter';\n\nexport abstract class BaseMarker<T extends IMarkerSpec> extends BaseComponent<T> {\n layoutType: ILayoutType | 'none' = 'none';\n\n // 下面三个属性需要子组件复写\n static specKey: string;\n static type: string;\n static coordinateType: string;\n coordinateType: CoordinateType;\n\n protected _startRelativeSeries!: IMarkerSupportSeries;\n protected _endRelativeSeries!: IMarkerSupportSeries;\n protected _relativeSeries!: IMarkerSupportSeries;\n protected _specifiedDataSeries!: IMarkerSupportSeries | IMarkerSupportSeries[];\n getRelativeSeries() {\n return this._relativeSeries;\n }\n\n // marker 组件数据\n protected _markerData!: DataView;\n getMarkerData() {\n return this._markerData;\n }\n // marker 组件\n protected _markerComponent!: any;\n\n protected _layoutOffsetX: number = 0;\n protected _layoutOffsetY: number = 0;\n\n private _firstSeries: ICartesianSeries;\n\n protected abstract _initDataView(): void;\n protected abstract _createMarkerComponent(): IGroup;\n protected abstract _markerLayout(): void;\n protected abstract _computeOptions(): IMarkProcessOptions;\n // 该方法需要子组件复写\n static _getMarkerCoordinateType(markerSpec: any): string {\n return 'cartesian';\n }\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n return getSpecInfo<IMarkerSpec>(chartSpec, this.specKey, this.type, (s: IMarkerSpec) => {\n return s.visible !== false && this._getMarkerCoordinateType(s) === this.coordinateType;\n });\n }\n\n protected _markAttributeContext: IMarkerAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkerAttributeContext() {\n this._markAttributeContext = {\n relativeSeries: this._relativeSeries,\n startRelativeSeries: this._startRelativeSeries,\n endRelativeSeries: this._endRelativeSeries,\n vchart: this._option.globalInstance\n };\n }\n\n created() {\n super.created();\n this._bindSeries();\n this._initDataView();\n this.initEvent();\n this._buildMarkerAttributeContext();\n }\n\n protected _getAllRelativeSeries() {\n return {\n getRelativeSeries: () => this._relativeSeries,\n getStartRelativeSeries: () => this._startRelativeSeries,\n getEndRelativeSeries: () => this._endRelativeSeries\n };\n }\n\n private _getFieldInfoFromSpec(\n dim: 'x' | 'y' | 'angle' | 'radius' | 'areaName',\n spec: IDataPos | IDataPosCallback,\n relativeSeries: IMarkerSupportSeries\n ) {\n const specKeyByDim = {\n x: 'xField',\n y: 'yField',\n radius: 'valueField',\n angle: 'categoryField',\n areaName: 'nameField'\n };\n\n if (isString(spec) && isAggrSpec(spec)) {\n return {\n field: relativeSeries.getSpec()[specKeyByDim[dim]],\n aggrType: spec as unknown as IAggrType\n };\n }\n return spec;\n }\n\n protected _processSpecByDims(\n dimSpec: {\n dim: 'x' | 'y' | 'angle' | 'radius' | 'areaName';\n specValue: IDataPos | IDataPosCallback;\n }[]\n ) {\n const relativeSeries = this._relativeSeries;\n const dimMap = {};\n dimSpec.forEach(d => (dimMap[d.dim] = this._getFieldInfoFromSpec(d.dim, d.specValue, relativeSeries)));\n return {\n ...dimMap,\n ...this._getAllRelativeSeries()\n };\n }\n\n protected _processSpecCoo(spec: any): IOptionWithCoordinates {\n return {\n coordinates: spec.coordinates || spec.coordinate,\n ...this._getAllRelativeSeries(),\n getSeriesByIdOrIndex: (seriesUserId: StringOrNumber, seriesIndex: number) =>\n this._getSeriesByIdOrIndex(seriesUserId, seriesIndex),\n coordinateType: this.coordinateType\n };\n }\n\n protected _getRelativeDataView() {\n if (this._specifiedDataSeries) {\n let resultData: any[] = [];\n array(this._specifiedDataSeries).forEach(series => {\n resultData = resultData.concat(series.getViewData().latestData);\n });\n const dataSet = new DataSet();\n dataSet.registerParser('array', arrayParser);\n return new DataView(dataSet).parse(resultData, { type: 'array' });\n }\n return this._relativeSeries.getViewData();\n }\n\n updateLayoutAttribute(): void {\n const markerVisible = this._spec.visible ?? true;\n if (markerVisible) {\n // 创建marker组件\n if (!this._markerComponent) {\n const markerComponent = this._createMarkerComponent();\n markerComponent.name = this._spec.name ?? this.type;\n markerComponent.id = this._spec.id ?? `${this.type}-${this.id}`;\n this._markerComponent = markerComponent;\n\n this.getContainer().add(this._markerComponent);\n // 代理 marker 组件上的事件\n this._markerComponent.on('*', (event: any, type: string) => {\n this._delegateEvent(\n this._markerComponent as unknown as IGraphic,\n event,\n type,\n null,\n this.getMarkerData.bind(this)\n );\n });\n }\n this._markerLayout();\n }\n\n super.updateLayoutAttribute();\n }\n\n private _getSeriesByIdOrIndex(seriesUserId: StringOrNumber, seriesIndex: number) {\n let series: IMarkerSupportSeries;\n series = this._option.getSeriesInUserIdOrIndex(isValid(seriesUserId) ? [seriesUserId] : [], [\n seriesIndex\n ])?.[0] as IMarkerSupportSeries;\n if (!series) {\n series = this._relativeSeries ?? this._getFirstSeries();\n }\n return series;\n }\n\n protected _bindSeries() {\n const spec: any = 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 if (\n (spec.specifiedDataSeriesIndex && spec.specifiedDataSeriesIndex === 'all') ||\n (spec.specifiedDataSeriesId && spec.specifiedDataSeriesId === 'all')\n ) {\n this._specifiedDataSeries = this._option.getAllSeries() as IMarkerSupportSeries[];\n } else if (spec.specifiedDataSeriesIndex || spec.specifiedDataSeriesId) {\n this._specifiedDataSeries = this._getSeriesByIdOrIndex(spec.specifiedDataSeriesId, spec.specifiedDataSeriesIndex);\n }\n }\n\n protected initEvent() {\n // 在极坐标系/地理坐标系中, 滚动或缩放画布不会update layout, 所以需要通过事件监听来更新标注的位置\n // 在直角坐标系中, update layout中已经更新标注位置, 在这里不需要重复监听\n if (this._relativeSeries.coordinate !== 'cartesian') {\n this._relativeSeries.event.on('zoom', this._markerLayout.bind(this));\n this._relativeSeries.event.on('panmove', this._markerLayout.bind(this));\n this._relativeSeries.event.on('scroll', this._markerLayout.bind(this));\n }\n }\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n clear(): void {\n super.clear();\n this._firstSeries = null;\n }\n\n private _getFirstSeries(): ICartesianSeries {\n if (this._firstSeries) {\n return this._firstSeries;\n }\n const firstSeries = getFirstSeries(this._regions) as ICartesianSeries;\n if (firstSeries) {\n this._firstSeries = firstSeries;\n return firstSeries;\n }\n this._option?.onError('need at least one series');\n return null;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._markerComponent] as unknown as IGroup[];\n }\n\n onLayoutStart(layoutRect: IRect, chartViewRect: ILayoutRect, ctx: any): void {\n // offset\n if (!isNil(this._spec.offsetX)) {\n this._layoutOffsetX = calcLayoutNumber(this._spec.offsetX, chartViewRect.width, chartViewRect);\n }\n if (!isNil(this._spec.offsetY)) {\n this._layoutOffsetY = calcLayoutNumber(this._spec.offsetY, chartViewRect.height, chartViewRect);\n }\n super.onLayoutStart(layoutRect, chartViewRect, ctx);\n }\n\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reRender = true;\n result.reMake = true;\n result.change = true;\n }\n return result;\n }\n\n _initCommonDataView() {\n const { options } = this._computeOptions();\n\n const seriesData = this._getRelativeDataView();\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n registerDataSetInstanceTransform(this._option.dataSet, 'markerFilter', markerFilter);\n const data = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({\n type: 'markerAggregation',\n options\n });\n\n data.transform({\n type: 'markerFilter',\n options: this._getAllRelativeSeries()\n });\n\n data.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n"]}
@@ -3,14 +3,12 @@ import type { MarkArcAreaAttrs, MarkAreaAttrs } from '@visactor/vrender-componen
3
3
  import type { MarkArea as MarkAreaComponent, MarkArcArea as MarkArcAreaComponent } from '@visactor/vrender-components';
4
4
  import { BaseMarker } from '../base-marker';
5
5
  import type { IGroup } from '@visactor/vrender-core';
6
- import type { IMarkProcessOptions } from '../interface';
7
6
  export declare abstract class BaseMarkArea extends BaseMarker<IMarkAreaSpec> implements IMarkArea {
8
7
  static specKey: string;
9
8
  specKey: string;
10
9
  layoutZIndex: number;
11
10
  protected abstract _newMarkAreaComponent(attr: MarkAreaAttrs | MarkArcAreaAttrs): MarkAreaComponent | MarkArcAreaComponent;
12
11
  protected abstract _computePointsAttr(): any;
13
- protected abstract _computeOptions(): IMarkProcessOptions;
14
12
  static _getMarkerCoordinateType(markerSpec: any): string;
15
13
  protected _createMarkerComponent(): IGroup;
16
14
  protected _markerLayout(): void;
@@ -1,19 +1,11 @@
1
- import { DataView } from "@visactor/vdataset";
2
-
3
- import { markerAggregation } from "../../../data/transforms/aggregation";
4
-
5
1
  import { computeClipRange, transformLabelAttributes, transformState, transformStyle, getMarkAreaProcessInfo } from "../utils";
6
2
 
7
- import { registerDataSetInstanceTransform } from "../../../data/register";
8
-
9
3
  import { transformToGraphic } from "../../../util/style";
10
4
 
11
5
  import { BaseMarker } from "../base-marker";
12
6
 
13
7
  import { LayoutZIndex } from "../../../constant/layout";
14
8
 
15
- import { markerFilter } from "../../../data/transforms/marker-filter";
16
-
17
9
  export class BaseMarkArea extends BaseMarker {
18
10
  constructor() {
19
11
  super(...arguments), this.specKey = "markArea", this.layoutZIndex = LayoutZIndex.MarkArea;
@@ -81,23 +73,7 @@ export class BaseMarkArea extends BaseMarker {
81
73
  _initDataView() {
82
74
  const spec = this._spec, {doXProcess: doXProcess, doYProcess: doYProcess, doXYProcess: doXYProcess, doAngleProcess: doAngleProcess, doRadiusProcess: doRadiusProcess, doRadAngProcess: doRadAngProcess, doCoordinatesProcess: doCoordinatesProcess} = getMarkAreaProcessInfo(spec);
83
75
  if (!(doXProcess || doYProcess || doXYProcess || doAngleProcess || doRadiusProcess || doRadAngProcess || doCoordinatesProcess)) return null;
84
- const {options: options} = this._computeOptions(), seriesData = this._getRelativeDataView();
85
- registerDataSetInstanceTransform(this._option.dataSet, "markerAggregation", markerAggregation),
86
- registerDataSetInstanceTransform(this._option.dataSet, "markerFilter", markerFilter);
87
- const data = new DataView(this._option.dataSet, {
88
- name: `${this.type}_${this.id}_data`
89
- });
90
- data.parse([ seriesData ], {
91
- type: "dataview"
92
- }), data.transform({
93
- type: "markerAggregation",
94
- options: options
95
- }), data.transform({
96
- type: "markerFilter",
97
- options: this._getAllRelativeSeries()
98
- }), data.target.on("change", (() => {
99
- this._markerLayout();
100
- })), this._markerData = data;
76
+ this._initCommonDataView();
101
77
  }
102
78
  }
103
79
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-area/base-mark-area.ts"],"names":[],"mappings":"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","file":"base-mark-area.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IMarkArea, IMarkAreaSpec } from './interface';\nimport { markerAggregation } from '../../../data/transforms/aggregation';\nimport {\n computeClipRange,\n transformLabelAttributes,\n transformState,\n transformStyle,\n getMarkAreaProcessInfo\n} from '../utils';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport type { MarkArcAreaAttrs, MarkAreaAttrs } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { MarkArea as MarkAreaComponent, MarkArcArea as MarkArcAreaComponent } from '@visactor/vrender-components';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport { LayoutZIndex } from '../../../constant/layout';\nimport type { IGroup } from '@visactor/vrender-core';\nimport { markerFilter } from '../../../data/transforms/marker-filter';\nimport type { IMarkProcessOptions } from '../interface';\n\nexport abstract class BaseMarkArea extends BaseMarker<IMarkAreaSpec> implements IMarkArea {\n static specKey = 'markArea';\n specKey = 'markArea';\n\n layoutZIndex: number = LayoutZIndex.MarkArea;\n\n // eslint-disable-next-line max-len\n protected abstract _newMarkAreaComponent(\n attr: MarkAreaAttrs | MarkArcAreaAttrs\n ): MarkAreaComponent | MarkArcAreaComponent;\n protected abstract _computePointsAttr(): any;\n protected abstract _computeOptions(): IMarkProcessOptions;\n\n static _getMarkerCoordinateType(markerSpec: any): string {\n const { doAngleProcess, doRadiusProcess, doRadAngProcess } = getMarkAreaProcessInfo(markerSpec);\n\n if (markerSpec.coordinateType === 'polar' || doAngleProcess || doRadiusProcess || doRadAngProcess) {\n return 'polar';\n }\n return 'cartesian';\n }\n\n protected _createMarkerComponent() {\n const label = this._spec.label ?? {};\n const markAreaAttrs: MarkAreaAttrs | MarkArcAreaAttrs = {\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? true,\n hover: this._spec.interactive ?? true,\n select: this._spec.interactive ?? true,\n points: [\n {\n x: 0,\n y: 0\n }\n ],\n center: {\n x: 0,\n y: 0\n },\n innerRadius: 0,\n outerRadius: 0,\n startAngle: 0,\n endAngle: 0,\n areaStyle: transformStyle(\n transformToGraphic(this._spec.area?.style),\n this._markerData,\n this._markAttributeContext\n ),\n clipInRange: this._spec.clip ?? false,\n label: transformLabelAttributes(label, this._markerData, this._markAttributeContext),\n state: {\n area: transformState(this._spec.area?.state, this._markerData, this._markAttributeContext),\n label: transformState(this._spec.label?.state, this._markerData, this._markAttributeContext),\n labelBackground: transformState(\n this._spec?.label?.labelBackground?.state,\n this._markerData,\n this._markAttributeContext\n )\n },\n animation: this._spec.animation ?? false,\n animationEnter: this._spec.animationEnter,\n animationExit: this._spec.animationExit,\n animationUpdate: this._spec.animationUpdate\n };\n\n const markArea = this._newMarkAreaComponent(markAreaAttrs);\n return markArea as unknown as IGroup;\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 const pointsAttr = this._computePointsAttr();\n\n const seriesData = this._getRelativeDataView().latestData;\n const dataPoints = data\n ? data.latestData[0] && 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 } = 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 if (this._markerComponent) {\n this._markerComponent.setAttributes({\n ...pointsAttr,\n label: {\n ...this._markerComponent.attribute?.label,\n text: this._spec.label.formatMethod\n ? // type error here will be fixed in components\n (this._spec.label.formatMethod(dataPoints, seriesData) as any)\n : this._markerComponent.attribute?.label?.text\n },\n limitRect,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n } as any);\n }\n }\n\n protected _initDataView(): void {\n const spec = this._spec as any;\n const {\n doXProcess,\n doYProcess,\n doXYProcess,\n doAngleProcess,\n doRadiusProcess,\n doRadAngProcess,\n doCoordinatesProcess\n } = getMarkAreaProcessInfo(spec);\n if (\n !doXProcess &&\n !doYProcess &&\n !doXYProcess &&\n !doAngleProcess &&\n !doRadiusProcess &&\n !doRadAngProcess &&\n !doCoordinatesProcess\n ) {\n return null;\n }\n\n const { options } = this._computeOptions();\n\n const seriesData = this._getRelativeDataView();\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n registerDataSetInstanceTransform(this._option.dataSet, 'markerFilter', markerFilter);\n const data = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({\n type: 'markerAggregation',\n options\n });\n\n data.transform({\n type: 'markerFilter',\n options: this._getAllRelativeSeries()\n });\n\n data.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-area/base-mark-area.ts"],"names":[],"mappings":"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","file":"base-mark-area.js","sourcesContent":["import type { IMarkArea, IMarkAreaSpec } from './interface';\nimport {\n computeClipRange,\n transformLabelAttributes,\n transformState,\n transformStyle,\n getMarkAreaProcessInfo\n} from '../utils';\nimport type { MarkArcAreaAttrs, MarkAreaAttrs } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { MarkArea as MarkAreaComponent, MarkArcArea as MarkArcAreaComponent } from '@visactor/vrender-components';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport { LayoutZIndex } from '../../../constant/layout';\nimport type { IGroup } from '@visactor/vrender-core';\nexport abstract class BaseMarkArea extends BaseMarker<IMarkAreaSpec> implements IMarkArea {\n static specKey = 'markArea';\n specKey = 'markArea';\n\n layoutZIndex: number = LayoutZIndex.MarkArea;\n\n // eslint-disable-next-line max-len\n protected abstract _newMarkAreaComponent(\n attr: MarkAreaAttrs | MarkArcAreaAttrs\n ): MarkAreaComponent | MarkArcAreaComponent;\n protected abstract _computePointsAttr(): any;\n\n static _getMarkerCoordinateType(markerSpec: any): string {\n const { doAngleProcess, doRadiusProcess, doRadAngProcess } = getMarkAreaProcessInfo(markerSpec);\n\n if (markerSpec.coordinateType === 'polar' || doAngleProcess || doRadiusProcess || doRadAngProcess) {\n return 'polar';\n }\n return 'cartesian';\n }\n\n protected _createMarkerComponent() {\n const label = this._spec.label ?? {};\n const markAreaAttrs: MarkAreaAttrs | MarkArcAreaAttrs = {\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? true,\n hover: this._spec.interactive ?? true,\n select: this._spec.interactive ?? true,\n points: [\n {\n x: 0,\n y: 0\n }\n ],\n center: {\n x: 0,\n y: 0\n },\n innerRadius: 0,\n outerRadius: 0,\n startAngle: 0,\n endAngle: 0,\n areaStyle: transformStyle(\n transformToGraphic(this._spec.area?.style),\n this._markerData,\n this._markAttributeContext\n ),\n clipInRange: this._spec.clip ?? false,\n label: transformLabelAttributes(label, this._markerData, this._markAttributeContext),\n state: {\n area: transformState(this._spec.area?.state, this._markerData, this._markAttributeContext),\n label: transformState(this._spec.label?.state, this._markerData, this._markAttributeContext),\n labelBackground: transformState(\n this._spec?.label?.labelBackground?.state,\n this._markerData,\n this._markAttributeContext\n )\n },\n animation: this._spec.animation ?? false,\n animationEnter: this._spec.animationEnter,\n animationExit: this._spec.animationExit,\n animationUpdate: this._spec.animationUpdate\n };\n\n const markArea = this._newMarkAreaComponent(markAreaAttrs);\n return markArea as unknown as IGroup;\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 const pointsAttr = this._computePointsAttr();\n\n const seriesData = this._getRelativeDataView().latestData;\n const dataPoints = data\n ? data.latestData[0] && 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 } = 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 if (this._markerComponent) {\n this._markerComponent.setAttributes({\n ...pointsAttr,\n label: {\n ...this._markerComponent.attribute?.label,\n text: this._spec.label.formatMethod\n ? // type error here will be fixed in components\n (this._spec.label.formatMethod(dataPoints, seriesData) as any)\n : this._markerComponent.attribute?.label?.text\n },\n limitRect,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n } as any);\n }\n }\n\n protected _initDataView(): void {\n const spec = this._spec as any;\n const {\n doXProcess,\n doYProcess,\n doXYProcess,\n doAngleProcess,\n doRadiusProcess,\n doRadAngProcess,\n doCoordinatesProcess\n } = getMarkAreaProcessInfo(spec);\n if (\n !doXProcess &&\n !doYProcess &&\n !doXYProcess &&\n !doAngleProcess &&\n !doRadiusProcess &&\n !doRadAngProcess &&\n !doCoordinatesProcess\n ) {\n return null;\n }\n\n this._initCommonDataView();\n }\n}\n"]}
@@ -3,14 +3,12 @@ import type { MarkArcLineAttrs, MarkLineAttrs } from '@visactor/vrender-componen
3
3
  import type { MarkLine as MarkLineComponent, MarkArcLine as MarkArcLineComponent } from '@visactor/vrender-components';
4
4
  import { BaseMarker } from '../base-marker';
5
5
  import type { IGroup } from '@visactor/vrender-core';
6
- import type { IMarkProcessOptions } from '../interface';
7
6
  export declare abstract class BaseMarkLine extends BaseMarker<IMarkLineSpec> implements IMarkLine {
8
7
  static specKey: string;
9
8
  specKey: string;
10
9
  layoutZIndex: number;
11
10
  protected abstract _newMarkLineComponent(attr: MarkLineAttrs | MarkArcLineAttrs): MarkLineComponent | MarkArcLineComponent;
12
11
  protected abstract _computePointsAttr(): any;
13
- protected abstract _computeOptions(): IMarkProcessOptions;
14
12
  static _getMarkerCoordinateType(markerSpec: any): string;
15
13
  protected _createMarkerComponent(): IGroup;
16
14
  protected _getUpdateMarkerAttrs(): any;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-line/base-mark-line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,cAAc,EACd,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAI1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAEtE,MAAM,OAAgB,YAAa,SAAQ,UAAyB;IAApE;;QAEE,YAAO,GAAG,UAAU,CAAC;QACrB,iBAAY,GAAW,YAAY,CAAC,QAAQ,CAAC;IA4N/C,CAAC;IAnNC,MAAM,CAAC,wBAAwB,CAAC,UAAe;QAC7C,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,GAClG,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAErC,IACE,UAAU,CAAC,cAAc,KAAK,OAAO;YACrC,cAAc;YACd,eAAe;YACf,mBAAmB;YACnB,mBAAmB;YACnB,eAAe,EACf;YACA,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAES,sBAAsB;;QAC9B,MAAM,EACJ,KAAK,GAAG,EAAE,EACV,WAAW,GAAG,EAAmB,EACjC,SAAS,GAAG,EAAmB,EAChC,GAAG,IAAI,CAAC,KAAsB,CAAC;QAEhC,MAAM,aAAa,GAAqC;YACtD,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,WAAW,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,IAAI;YAC3C,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,IAAI;YACrC,MAAM,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,IAAI;YACtC,MAAM,EAAE;gBACN,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACd,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;aACf;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;aACL;YACD,MAAM,EAAE,CAAC;YACT,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,cAAc,CACvB,kBAAkB,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,CAAC,EAC1C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,CAC3B;YACD,WAAW,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,KAAK;YACrC,KAAK,EAAE,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC;YACpF,KAAK,EAAE;gBACL,IAAI,EAAE,cAAc,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,mCAAI,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC;gBAChG,eAAe,EAAE,cAAc,CAC7B,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,KAAK,mCAAI,EAAE,EACnC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,CAC3B;gBACD,aAAa,EAAE,cAAc,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,KAAK,mCAAI,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC;gBAC9G,KAAK,EAAE,cAAc,CAAC,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,0CAAE,KAAK,mCAAI,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC;gBACnG,eAAe,EAAE,cAAc,CAC7B,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,0CAAE,eAAe,0CAAE,KAAK,mCAAI,EAAE,EAC/C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,CAC3B;aACF;YACD,SAAS,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,KAAK;YACxC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;YACzC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;YACvC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;SAC5C,CAAC;QAEF,IAAI,WAAW,CAAC,OAAO,EAAE;YACvB,aAAa,CAAC,WAAW,mCACpB,WAAW,KACd,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,cAAc,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,GAC3G,CAAC;SACH;aAAM;YACL,aAAa,CAAC,WAAW,GAAG;gBAC1B,OAAO,EAAE,KAAK;aACf,CAAC;SACH;QAED,IAAI,SAAS,CAAC,OAAO,EAAE;YACrB,aAAa,CAAC,SAAS,mCAClB,SAAS,KACZ,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,cAAc,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,GACzG,CAAC;SACH;aAAM;YACL,aAAa,CAAC,SAAS,GAAG;gBACxB,OAAO,EAAE,KAAK;aACf,CAAC;SACH;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAC3D,OAAO,QAA6B,CAAC;IACvC,CAAC;IAES,qBAAqB;;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,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;QAE5C,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE7C,MAAM,UAAU,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC;QAC3D,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAExG,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,gBAAgB,CAAC;gBAClD,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;QACD,MAAM,mBAAmB,GAAG,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,mCAAI,EAAE,CAAC;QACnE,MAAM,UAAU,mCACX,mBAAmB,CAAC,KAAK,KAC5B,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,mBAAmB,CAAC,KAAK,0CAAE,IAAI,GACpC,CAAC;QAEF,uCACK,UAAU,KACb,KAAK,EAAE,UAAqD,EAC5D,SAAS,EACT,EAAE,EAAE,IAAI,CAAC,cAAc,EACvB,EAAE,EAAE,IAAI,CAAC,cAAc,IACvB;IACJ,CAAC;IAES,aAAa;;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACjD,MAAA,IAAI,CAAC,gBAAgB,0CAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAES,aAAa;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,MAAM,mBAAmB,GAAG,aAAa,IAAI,IAAI,CAAC;QAElD,MAAM,EACJ,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EAChB,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE/C,IACE,CAAC,UAAU;YACX,CAAC,UAAU;YACX,CAAC,aAAa;YACd,CAAC,aAAa;YACd,CAAC,WAAW;YACZ,CAAC,cAAc;YACf,CAAC,eAAe;YAChB,CAAC,mBAAmB;YACpB,CAAC,mBAAmB;YACpB,CAAC,eAAe;YAChB,CAAC,mBAAmB,EACpB;YACA,OAAO;SACR;QAED,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QAC/F,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAC7F,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;QAErF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAE5E,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,QAAQ,EAAE;YACZ,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,SAAS,CAAC;YACb,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE;SACtC,CAAC,CAAC;QAEH,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;;AA7NM,oBAAO,GAAG,UAAU,CAAC","file":"base-mark-line.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IMarkLine, IMarkLineSpec } from './interface';\nimport { markerAggregation } from '../../../data/transforms/aggregation';\nimport {\n computeClipRange,\n transformLabelAttributes,\n transformState,\n transformStyle,\n getMarkLineProcessInfo\n} from '../utils';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport type { MarkArcLineAttrs, MarkLineAttrs } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { MarkLine as MarkLineComponent, MarkArcLine as MarkArcLineComponent } from '@visactor/vrender-components';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport type { IGroup } from '@visactor/vrender-core';\nimport type { IMarkProcessOptions, IMarkerSymbol } from '../interface';\nimport { markerRegression } from '../../../data/transforms/regression';\nimport { LayoutZIndex } from '../../../constant/layout';\nimport { markerFilter } from '../../../data/transforms/marker-filter';\n\nexport abstract class BaseMarkLine extends BaseMarker<IMarkLineSpec> implements IMarkLine {\n static specKey = 'markLine';\n specKey = 'markLine';\n layoutZIndex: number = LayoutZIndex.MarkLine;\n\n // eslint-disable-next-line max-len\n protected abstract _newMarkLineComponent(\n attr: MarkLineAttrs | MarkArcLineAttrs\n ): MarkLineComponent | MarkArcLineComponent;\n protected abstract _computePointsAttr(): any;\n protected abstract _computeOptions(): IMarkProcessOptions;\n\n static _getMarkerCoordinateType(markerSpec: any): string {\n const { doAngleProcess, doRadiusProcess, doAngRadRad1Process, doRadAngAng1Process, doRadAngProcess } =\n getMarkLineProcessInfo(markerSpec);\n\n if (\n markerSpec.coordinateType === 'polar' ||\n doAngleProcess ||\n doRadiusProcess ||\n doAngRadRad1Process ||\n doRadAngAng1Process ||\n doRadAngProcess\n ) {\n return 'polar';\n }\n return 'cartesian';\n }\n\n protected _createMarkerComponent() {\n const {\n label = {},\n startSymbol = {} as IMarkerSymbol,\n endSymbol = {} as IMarkerSymbol\n } = this._spec as IMarkLineSpec;\n\n const markLineAttrs: MarkLineAttrs | MarkArcLineAttrs = {\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? true,\n hover: this._spec.interactive ?? true,\n select: this._spec.interactive ?? true,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: 0 }\n ],\n center: {\n x: 0,\n y: 0\n },\n radius: 0,\n startAngle: 0,\n endAngle: 0,\n lineStyle: transformStyle(\n transformToGraphic(this._spec.line?.style),\n this._markerData,\n this._markAttributeContext\n ),\n clipInRange: this._spec.clip ?? false,\n label: transformLabelAttributes(label, this._markerData, this._markAttributeContext),\n state: {\n line: transformState(this._spec.line?.state ?? {}, this._markerData, this._markAttributeContext),\n lineStartSymbol: transformState(\n this._spec.startSymbol?.state ?? {},\n this._markerData,\n this._markAttributeContext\n ),\n lineEndSymbol: transformState(this._spec.endSymbol?.state ?? {}, this._markerData, this._markAttributeContext),\n label: transformState(this._spec?.label?.state ?? {}, this._markerData, this._markAttributeContext),\n labelBackground: transformState(\n this._spec?.label?.labelBackground?.state ?? {},\n this._markerData,\n this._markAttributeContext\n )\n },\n animation: this._spec.animation ?? false,\n animationEnter: this._spec.animationEnter,\n animationExit: this._spec.animationExit,\n animationUpdate: this._spec.animationUpdate\n };\n\n if (startSymbol.visible) {\n markLineAttrs.startSymbol = {\n ...startSymbol,\n visible: true,\n style: transformStyle(transformToGraphic(startSymbol.style), this._markerData, this._markAttributeContext)\n };\n } else {\n markLineAttrs.startSymbol = {\n visible: false\n };\n }\n\n if (endSymbol.visible) {\n markLineAttrs.endSymbol = {\n ...endSymbol,\n visible: true,\n style: transformStyle(transformToGraphic(endSymbol.style), this._markerData, this._markAttributeContext)\n };\n } else {\n markLineAttrs.endSymbol = {\n visible: false\n };\n }\n const markLine = this._newMarkLineComponent(markLineAttrs);\n return markLine as unknown as IGroup;\n }\n\n protected _getUpdateMarkerAttrs() {\n const spec = this._spec;\n const data = this._markerData;\n const startRelativeSeries = this._startRelativeSeries;\n const endRelativeSeries = this._endRelativeSeries;\n const relativeSeries = this._relativeSeries;\n\n const pointsAttr = this._computePointsAttr();\n\n const seriesData = relativeSeries.getViewData().latestData;\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n\n let limitRect;\n if (spec.clip || spec.label?.confine) {\n const { minX, maxX, minY, maxY } = 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 const markerComponentAttr = this._markerComponent?.attribute ?? {};\n const labelAttrs = {\n ...markerComponentAttr.label,\n text: this._spec.label.formatMethod\n ? this._spec.label.formatMethod(dataPoints, seriesData)\n : markerComponentAttr.label?.text\n };\n\n return {\n ...pointsAttr,\n label: labelAttrs as MarkLineComponent['attribute']['label'],\n limitRect,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n };\n }\n\n protected _markerLayout() {\n const updateAttrs = this._getUpdateMarkerAttrs();\n this._markerComponent?.setAttributes(updateAttrs);\n }\n\n protected _initDataView(): void {\n const spec = this._spec;\n const isCoordinateProcess = 'coordinates' in spec;\n\n const {\n doXProcess,\n doYProcess,\n doXYY1Process,\n doYXX1Process,\n doXYProcess,\n doAngleProcess,\n doRadiusProcess,\n doAngRadRad1Process,\n doRadAngAng1Process,\n doRadAngProcess\n } = getMarkLineProcessInfo(spec);\n this._markerData = this._getRelativeDataView();\n\n if (\n !doXProcess &&\n !doYProcess &&\n !doXYY1Process &&\n !doYXX1Process &&\n !doXYProcess &&\n !doAngleProcess &&\n !doRadiusProcess &&\n !doAngRadRad1Process &&\n !doRadAngAng1Process &&\n !doRadAngProcess &&\n !isCoordinateProcess\n ) {\n return;\n }\n\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n registerDataSetInstanceTransform(this._option.dataSet, 'markerRegression', markerRegression);\n registerDataSetInstanceTransform(this._option.dataSet, 'markerFilter', markerFilter);\n\n const { options, needAggr, needRegr, processData } = this._computeOptions();\n\n const data = new DataView(this._option.dataSet);\n data.parse([processData], {\n type: 'dataview'\n });\n if (needAggr) {\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.transform({\n type: 'markerFilter',\n options: this._getAllRelativeSeries()\n });\n\n data.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-line/base-mark-line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,cAAc,EACd,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAI1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAEtE,MAAM,OAAgB,YAAa,SAAQ,UAAyB;IAApE;;QAEE,YAAO,GAAG,UAAU,CAAC;QACrB,iBAAY,GAAW,YAAY,CAAC,QAAQ,CAAC;IA2N/C,CAAC;IAnNC,MAAM,CAAC,wBAAwB,CAAC,UAAe;QAC7C,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,GAClG,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAErC,IACE,UAAU,CAAC,cAAc,KAAK,OAAO;YACrC,cAAc;YACd,eAAe;YACf,mBAAmB;YACnB,mBAAmB;YACnB,eAAe,EACf;YACA,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAES,sBAAsB;;QAC9B,MAAM,EACJ,KAAK,GAAG,EAAE,EACV,WAAW,GAAG,EAAmB,EACjC,SAAS,GAAG,EAAmB,EAChC,GAAG,IAAI,CAAC,KAAsB,CAAC;QAEhC,MAAM,aAAa,GAAqC;YACtD,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,WAAW,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,IAAI;YAC3C,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,IAAI;YACrC,MAAM,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,IAAI;YACtC,MAAM,EAAE;gBACN,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACd,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;aACf;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;aACL;YACD,MAAM,EAAE,CAAC;YACT,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,cAAc,CACvB,kBAAkB,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,CAAC,EAC1C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,CAC3B;YACD,WAAW,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,KAAK;YACrC,KAAK,EAAE,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC;YACpF,KAAK,EAAE;gBACL,IAAI,EAAE,cAAc,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,mCAAI,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC;gBAChG,eAAe,EAAE,cAAc,CAC7B,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,KAAK,mCAAI,EAAE,EACnC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,CAC3B;gBACD,aAAa,EAAE,cAAc,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,KAAK,mCAAI,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC;gBAC9G,KAAK,EAAE,cAAc,CAAC,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,0CAAE,KAAK,mCAAI,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC;gBACnG,eAAe,EAAE,cAAc,CAC7B,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,0CAAE,eAAe,0CAAE,KAAK,mCAAI,EAAE,EAC/C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,CAC3B;aACF;YACD,SAAS,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,KAAK;YACxC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;YACzC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;YACvC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;SAC5C,CAAC;QAEF,IAAI,WAAW,CAAC,OAAO,EAAE;YACvB,aAAa,CAAC,WAAW,mCACpB,WAAW,KACd,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,cAAc,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,GAC3G,CAAC;SACH;aAAM;YACL,aAAa,CAAC,WAAW,GAAG;gBAC1B,OAAO,EAAE,KAAK;aACf,CAAC;SACH;QAED,IAAI,SAAS,CAAC,OAAO,EAAE;YACrB,aAAa,CAAC,SAAS,mCAClB,SAAS,KACZ,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,cAAc,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,GACzG,CAAC;SACH;aAAM;YACL,aAAa,CAAC,SAAS,GAAG;gBACxB,OAAO,EAAE,KAAK;aACf,CAAC;SACH;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAC3D,OAAO,QAA6B,CAAC;IACvC,CAAC;IAES,qBAAqB;;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,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;QAE5C,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE7C,MAAM,UAAU,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC;QAC3D,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAExG,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,gBAAgB,CAAC;gBAClD,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;QACD,MAAM,mBAAmB,GAAG,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,mCAAI,EAAE,CAAC;QACnE,MAAM,UAAU,mCACX,mBAAmB,CAAC,KAAK,KAC5B,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,mBAAmB,CAAC,KAAK,0CAAE,IAAI,GACpC,CAAC;QAEF,uCACK,UAAU,KACb,KAAK,EAAE,UAAqD,EAC5D,SAAS,EACT,EAAE,EAAE,IAAI,CAAC,cAAc,EACvB,EAAE,EAAE,IAAI,CAAC,cAAc,IACvB;IACJ,CAAC;IAES,aAAa;;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACjD,MAAA,IAAI,CAAC,gBAAgB,0CAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAES,aAAa;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,MAAM,mBAAmB,GAAG,aAAa,IAAI,IAAI,CAAC;QAElD,MAAM,EACJ,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EAChB,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE/C,IACE,CAAC,UAAU;YACX,CAAC,UAAU;YACX,CAAC,aAAa;YACd,CAAC,aAAa;YACd,CAAC,WAAW;YACZ,CAAC,cAAc;YACf,CAAC,eAAe;YAChB,CAAC,mBAAmB;YACpB,CAAC,mBAAmB;YACpB,CAAC,eAAe;YAChB,CAAC,mBAAmB,EACpB;YACA,OAAO;SACR;QAED,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QAC/F,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAC7F,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;QAErF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAE5E,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,QAAQ,EAAE;YACZ,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,SAAS,CAAC;YACb,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE;SACtC,CAAC,CAAC;QAEH,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;;AA5NM,oBAAO,GAAG,UAAU,CAAC","file":"base-mark-line.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IMarkLine, IMarkLineSpec } from './interface';\nimport { markerAggregation } from '../../../data/transforms/aggregation';\nimport {\n computeClipRange,\n transformLabelAttributes,\n transformState,\n transformStyle,\n getMarkLineProcessInfo\n} from '../utils';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport type { MarkArcLineAttrs, MarkLineAttrs } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { MarkLine as MarkLineComponent, MarkArcLine as MarkArcLineComponent } from '@visactor/vrender-components';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport type { IGroup } from '@visactor/vrender-core';\nimport type { IMarkerSymbol } from '../interface';\nimport { markerRegression } from '../../../data/transforms/regression';\nimport { LayoutZIndex } from '../../../constant/layout';\nimport { markerFilter } from '../../../data/transforms/marker-filter';\n\nexport abstract class BaseMarkLine extends BaseMarker<IMarkLineSpec> implements IMarkLine {\n static specKey = 'markLine';\n specKey = 'markLine';\n layoutZIndex: number = LayoutZIndex.MarkLine;\n\n // eslint-disable-next-line max-len\n protected abstract _newMarkLineComponent(\n attr: MarkLineAttrs | MarkArcLineAttrs\n ): MarkLineComponent | MarkArcLineComponent;\n protected abstract _computePointsAttr(): any;\n\n static _getMarkerCoordinateType(markerSpec: any): string {\n const { doAngleProcess, doRadiusProcess, doAngRadRad1Process, doRadAngAng1Process, doRadAngProcess } =\n getMarkLineProcessInfo(markerSpec);\n\n if (\n markerSpec.coordinateType === 'polar' ||\n doAngleProcess ||\n doRadiusProcess ||\n doAngRadRad1Process ||\n doRadAngAng1Process ||\n doRadAngProcess\n ) {\n return 'polar';\n }\n return 'cartesian';\n }\n\n protected _createMarkerComponent() {\n const {\n label = {},\n startSymbol = {} as IMarkerSymbol,\n endSymbol = {} as IMarkerSymbol\n } = this._spec as IMarkLineSpec;\n\n const markLineAttrs: MarkLineAttrs | MarkArcLineAttrs = {\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? true,\n hover: this._spec.interactive ?? true,\n select: this._spec.interactive ?? true,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: 0 }\n ],\n center: {\n x: 0,\n y: 0\n },\n radius: 0,\n startAngle: 0,\n endAngle: 0,\n lineStyle: transformStyle(\n transformToGraphic(this._spec.line?.style),\n this._markerData,\n this._markAttributeContext\n ),\n clipInRange: this._spec.clip ?? false,\n label: transformLabelAttributes(label, this._markerData, this._markAttributeContext),\n state: {\n line: transformState(this._spec.line?.state ?? {}, this._markerData, this._markAttributeContext),\n lineStartSymbol: transformState(\n this._spec.startSymbol?.state ?? {},\n this._markerData,\n this._markAttributeContext\n ),\n lineEndSymbol: transformState(this._spec.endSymbol?.state ?? {}, this._markerData, this._markAttributeContext),\n label: transformState(this._spec?.label?.state ?? {}, this._markerData, this._markAttributeContext),\n labelBackground: transformState(\n this._spec?.label?.labelBackground?.state ?? {},\n this._markerData,\n this._markAttributeContext\n )\n },\n animation: this._spec.animation ?? false,\n animationEnter: this._spec.animationEnter,\n animationExit: this._spec.animationExit,\n animationUpdate: this._spec.animationUpdate\n };\n\n if (startSymbol.visible) {\n markLineAttrs.startSymbol = {\n ...startSymbol,\n visible: true,\n style: transformStyle(transformToGraphic(startSymbol.style), this._markerData, this._markAttributeContext)\n };\n } else {\n markLineAttrs.startSymbol = {\n visible: false\n };\n }\n\n if (endSymbol.visible) {\n markLineAttrs.endSymbol = {\n ...endSymbol,\n visible: true,\n style: transformStyle(transformToGraphic(endSymbol.style), this._markerData, this._markAttributeContext)\n };\n } else {\n markLineAttrs.endSymbol = {\n visible: false\n };\n }\n const markLine = this._newMarkLineComponent(markLineAttrs);\n return markLine as unknown as IGroup;\n }\n\n protected _getUpdateMarkerAttrs() {\n const spec = this._spec;\n const data = this._markerData;\n const startRelativeSeries = this._startRelativeSeries;\n const endRelativeSeries = this._endRelativeSeries;\n const relativeSeries = this._relativeSeries;\n\n const pointsAttr = this._computePointsAttr();\n\n const seriesData = relativeSeries.getViewData().latestData;\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n\n let limitRect;\n if (spec.clip || spec.label?.confine) {\n const { minX, maxX, minY, maxY } = 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 const markerComponentAttr = this._markerComponent?.attribute ?? {};\n const labelAttrs = {\n ...markerComponentAttr.label,\n text: this._spec.label.formatMethod\n ? this._spec.label.formatMethod(dataPoints, seriesData)\n : markerComponentAttr.label?.text\n };\n\n return {\n ...pointsAttr,\n label: labelAttrs as MarkLineComponent['attribute']['label'],\n limitRect,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n };\n }\n\n protected _markerLayout() {\n const updateAttrs = this._getUpdateMarkerAttrs();\n this._markerComponent?.setAttributes(updateAttrs);\n }\n\n protected _initDataView(): void {\n const spec = this._spec;\n const isCoordinateProcess = 'coordinates' in spec;\n\n const {\n doXProcess,\n doYProcess,\n doXYY1Process,\n doYXX1Process,\n doXYProcess,\n doAngleProcess,\n doRadiusProcess,\n doAngRadRad1Process,\n doRadAngAng1Process,\n doRadAngProcess\n } = getMarkLineProcessInfo(spec);\n this._markerData = this._getRelativeDataView();\n\n if (\n !doXProcess &&\n !doYProcess &&\n !doXYY1Process &&\n !doYXX1Process &&\n !doXYProcess &&\n !doAngleProcess &&\n !doRadiusProcess &&\n !doAngRadRad1Process &&\n !doRadAngAng1Process &&\n !doRadAngProcess &&\n !isCoordinateProcess\n ) {\n return;\n }\n\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n registerDataSetInstanceTransform(this._option.dataSet, 'markerRegression', markerRegression);\n registerDataSetInstanceTransform(this._option.dataSet, 'markerFilter', markerFilter);\n\n const { options, needAggr, needRegr, processData } = this._computeOptions();\n\n const data = new DataView(this._option.dataSet);\n data.parse([processData], {\n type: 'dataview'\n });\n if (needAggr) {\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.transform({\n type: 'markerFilter',\n options: this._getAllRelativeSeries()\n });\n\n data.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n"]}
@@ -2,14 +2,12 @@ import type { IMarkPoint, IMarkPointSpec } from './interface';
2
2
  import { MarkPoint as MarkPointComponent } from '@visactor/vrender-components';
3
3
  import { BaseMarker } from '../base-marker';
4
4
  import type { IGroup } from '@visactor/vrender-core';
5
- import type { IMarkProcessOptions } from '../interface';
6
5
  export declare abstract class BaseMarkPoint extends BaseMarker<IMarkPointSpec> implements IMarkPoint {
7
6
  static specKey: string;
8
7
  specKey: string;
9
8
  layoutZIndex: number;
10
9
  protected _markerComponent: MarkPointComponent;
11
10
  protected abstract _computePointsAttr(): any;
12
- protected abstract _computeOptions(): IMarkProcessOptions;
13
11
  static _getMarkerCoordinateType(markerSpec: any): string;
14
12
  protected _createMarkerComponent(): IGroup;
15
13
  protected _markerLayout(): void;
@@ -8,14 +8,8 @@ var __rest = this && this.__rest || function(s, e) {
8
8
  return t;
9
9
  };
10
10
 
11
- import { DataView } from "@visactor/vdataset";
12
-
13
- import { markerAggregation } from "../../../data/transforms/aggregation";
14
-
15
11
  import { computeClipRange, computeOffsetFromRegion, getMarkPointProcessInfo, transformLabelAttributes, transformOffset, transformState, transformStyle } from "../utils";
16
12
 
17
- import { registerDataSetInstanceTransform } from "../../../data/register";
18
-
19
13
  import { MarkPoint as MarkPointComponent } from "@visactor/vrender-components";
20
14
 
21
15
  import { isValid } from "@visactor/vutils";
@@ -26,8 +20,6 @@ import { BaseMarker } from "../base-marker";
26
20
 
27
21
  import { LayoutZIndex } from "../../../constant/layout";
28
22
 
29
- import { markerFilter } from "../../../data/transforms/marker-filter";
30
-
31
23
  export class BaseMarkPoint extends BaseMarker {
32
24
  constructor() {
33
25
  super(...arguments), this.specKey = "markPoint", this.layoutZIndex = LayoutZIndex.MarkPoint;
@@ -123,23 +115,7 @@ export class BaseMarkPoint extends BaseMarker {
123
115
  }
124
116
  _initDataView() {
125
117
  const spec = this._spec, {doXYProcess: doXYProcess, doPolarProcess: doPolarProcess, doGeoProcess: doGeoProcess} = getMarkPointProcessInfo(spec);
126
- if (!(isValid(spec.coordinate) || doXYProcess || doPolarProcess || doGeoProcess)) return;
127
- registerDataSetInstanceTransform(this._option.dataSet, "markerAggregation", markerAggregation),
128
- registerDataSetInstanceTransform(this._option.dataSet, "markerFilter", markerFilter);
129
- const {options: options} = this._computeOptions(), data = new DataView(this._option.dataSet, {
130
- name: `${this.type}_${this.id}_data`
131
- });
132
- data.parse([ this._getRelativeDataView() ], {
133
- type: "dataview"
134
- }), data.transform({
135
- type: "markerAggregation",
136
- options: options
137
- }), data.transform({
138
- type: "markerFilter",
139
- options: this._getAllRelativeSeries()
140
- }), data.target.on("change", (() => {
141
- this._markerLayout();
142
- })), this._markerData = data;
118
+ (isValid(spec.coordinate) || doXYProcess || doPolarProcess || doGeoProcess) && this._initCommonDataView();
143
119
  }
144
120
  }
145
121