@visactor/vchart 1.7.1 → 1.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +17050 -13892
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/utils.d.ts +1 -0
  6. package/cjs/animation/utils.js +16 -8
  7. package/cjs/animation/utils.js.map +1 -1
  8. package/cjs/chart/bar/bar-3d.d.ts +2 -2
  9. package/cjs/chart/bar/bar-3d.js +2 -2
  10. package/cjs/chart/bar/bar-3d.js.map +1 -1
  11. package/cjs/chart/base-chart.d.ts +2 -5
  12. package/cjs/chart/base-chart.js +8 -46
  13. package/cjs/chart/base-chart.js.map +1 -1
  14. package/cjs/chart/cartesian/interface.d.ts +1 -1
  15. package/cjs/chart/cartesian/interface.js.map +1 -1
  16. package/cjs/chart/index.js +1 -2
  17. package/cjs/chart/interface/chart.d.ts +3 -3
  18. package/cjs/chart/interface/chart.js.map +1 -1
  19. package/cjs/chart/sequence/sequence.js +1 -0
  20. package/cjs/chart/sequence/sequence.js.map +1 -1
  21. package/cjs/compile/compiler.js +2 -1
  22. package/cjs/compile/mark/compilable-mark.js +6 -9
  23. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  24. package/cjs/component/axis/base-axis.d.ts +2 -1
  25. package/cjs/component/axis/base-axis.js +5 -1
  26. package/cjs/component/axis/base-axis.js.map +1 -1
  27. package/cjs/component/axis/cartesian/axis.d.ts +1 -1
  28. package/cjs/component/axis/cartesian/axis.js +5 -3
  29. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  30. package/cjs/component/axis/cartesian/band-axis.js +2 -2
  31. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  32. package/cjs/component/axis/cartesian/util/common.d.ts +0 -2
  33. package/cjs/component/axis/cartesian/util/common.js +2 -14
  34. package/cjs/component/axis/cartesian/util/common.js.map +1 -1
  35. package/cjs/component/axis/interface/common.d.ts +1 -0
  36. package/cjs/component/axis/interface/common.js.map +1 -1
  37. package/cjs/component/axis/polar/axis.js +3 -1
  38. package/cjs/component/axis/polar/axis.js.map +1 -1
  39. package/cjs/component/axis/polar/interface/common.d.ts +2 -3
  40. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  41. package/cjs/component/base/base-component.d.ts +2 -7
  42. package/cjs/component/base/base-component.js +5 -5
  43. package/cjs/component/base/base-component.js.map +1 -1
  44. package/cjs/component/brush/brush.d.ts +1 -1
  45. package/cjs/component/brush/brush.js +1 -1
  46. package/cjs/component/brush/brush.js.map +1 -1
  47. package/cjs/component/crosshair/base.d.ts +4 -5
  48. package/cjs/component/crosshair/base.js +38 -25
  49. package/cjs/component/crosshair/base.js.map +1 -1
  50. package/cjs/component/crosshair/cartesian.d.ts +12 -35
  51. package/cjs/component/crosshair/cartesian.js +119 -110
  52. package/cjs/component/crosshair/cartesian.js.map +1 -1
  53. package/cjs/component/crosshair/config.d.ts +6 -0
  54. package/cjs/component/crosshair/config.js +8 -2
  55. package/cjs/component/crosshair/config.js.map +1 -1
  56. package/cjs/component/crosshair/interface/spec.d.ts +7 -3
  57. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  58. package/cjs/component/crosshair/polar.d.ts +13 -55
  59. package/cjs/component/crosshair/polar.js +110 -83
  60. package/cjs/component/crosshair/polar.js.map +1 -1
  61. package/cjs/component/custom-mark/custom-mark.d.ts +1 -1
  62. package/cjs/component/custom-mark/custom-mark.js +1 -1
  63. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  64. package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -1
  65. package/cjs/component/data-zoom/data-filter-base-component.js +1 -1
  66. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  67. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
  68. package/cjs/component/data-zoom/data-zoom/data-zoom.js +1 -1
  69. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  70. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
  71. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +1 -1
  72. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  73. package/cjs/component/geo/geo-coordinate.d.ts +1 -1
  74. package/cjs/component/geo/geo-coordinate.js +1 -1
  75. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  76. package/cjs/component/indicator/indicator.d.ts +1 -1
  77. package/cjs/component/indicator/indicator.js +1 -1
  78. package/cjs/component/indicator/indicator.js.map +1 -1
  79. package/cjs/component/label/base-label.d.ts +1 -1
  80. package/cjs/component/label/base-label.js +1 -1
  81. package/cjs/component/label/base-label.js.map +1 -1
  82. package/cjs/component/label/label.d.ts +1 -0
  83. package/cjs/component/label/label.js +7 -0
  84. package/cjs/component/label/label.js.map +1 -1
  85. package/cjs/component/label/totalLabel.d.ts +1 -0
  86. package/cjs/component/label/totalLabel.js +7 -0
  87. package/cjs/component/label/totalLabel.js.map +1 -1
  88. package/cjs/component/legend/base-legend.d.ts +1 -1
  89. package/cjs/component/legend/base-legend.js +1 -1
  90. package/cjs/component/legend/base-legend.js.map +1 -1
  91. package/cjs/component/legend/continuous/interface.d.ts +1 -0
  92. package/cjs/component/legend/continuous/interface.js.map +1 -1
  93. package/cjs/component/legend/continuous/legend.js +5 -3
  94. package/cjs/component/legend/continuous/legend.js.map +1 -1
  95. package/cjs/component/map-label/component.d.ts +1 -1
  96. package/cjs/component/map-label/component.js +2 -2
  97. package/cjs/component/map-label/component.js.map +1 -1
  98. package/cjs/component/marker/base-marker.d.ts +23 -25
  99. package/cjs/component/marker/base-marker.js +40 -51
  100. package/cjs/component/marker/base-marker.js.map +1 -1
  101. package/cjs/component/marker/interface.d.ts +19 -9
  102. package/cjs/component/marker/interface.js.map +1 -1
  103. package/cjs/component/marker/mark-area/interface/spec.d.ts +10 -12
  104. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  105. package/cjs/component/marker/mark-area/mark-area.d.ts +3 -2
  106. package/cjs/component/marker/mark-area/mark-area.js +12 -22
  107. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  108. package/cjs/component/marker/mark-line/interface/spec.d.ts +20 -9
  109. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  110. package/cjs/component/marker/mark-line/mark-line.d.ts +4 -2
  111. package/cjs/component/marker/mark-line/mark-line.js +60 -60
  112. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  113. package/cjs/component/marker/mark-point/interface/spec.d.ts +8 -6
  114. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  115. package/cjs/component/marker/mark-point/mark-point.d.ts +3 -2
  116. package/cjs/component/marker/mark-point/mark-point.js +15 -19
  117. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  118. package/cjs/component/marker/utils.d.ts +13 -2
  119. package/cjs/component/marker/utils.js +108 -39
  120. package/cjs/component/marker/utils.js.map +1 -1
  121. package/cjs/component/player/player.d.ts +1 -1
  122. package/cjs/component/player/player.js +1 -1
  123. package/cjs/component/player/player.js.map +1 -1
  124. package/cjs/component/title/title.d.ts +1 -1
  125. package/cjs/component/title/title.js +1 -1
  126. package/cjs/component/title/title.js.map +1 -1
  127. package/cjs/component/tooltip/tooltip.d.ts +1 -1
  128. package/cjs/component/tooltip/tooltip.js +4 -3
  129. package/cjs/component/tooltip/tooltip.js.map +1 -1
  130. package/cjs/core/index.d.ts +1 -1
  131. package/cjs/core/index.js +1 -1
  132. package/cjs/core/index.js.map +1 -1
  133. package/cjs/core/vchart.js +5 -4
  134. package/cjs/core/vchart.js.map +1 -1
  135. package/cjs/data/transforms/aggregation.d.ts +3 -3
  136. package/cjs/data/transforms/aggregation.js +5 -7
  137. package/cjs/data/transforms/aggregation.js.map +1 -1
  138. package/cjs/event/events/dimension/util/polar.js +2 -2
  139. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  140. package/cjs/layout/layout3d/index.js +1 -1
  141. package/cjs/layout/layout3d/index.js.map +1 -1
  142. package/cjs/mark/base/base-mark.js +2 -5
  143. package/cjs/mark/base/base-mark.js.map +1 -1
  144. package/cjs/model/base-model.d.ts +1 -1
  145. package/cjs/model/base-model.js +6 -38
  146. package/cjs/model/base-model.js.map +1 -1
  147. package/cjs/model/interface.d.ts +2 -1
  148. package/cjs/model/interface.js.map +1 -1
  149. package/cjs/region/region.js +4 -2
  150. package/cjs/region/region.js.map +1 -1
  151. package/cjs/series/bar/bar.js +6 -11
  152. package/cjs/series/bar/bar.js.map +1 -1
  153. package/cjs/series/base/base-series.js +12 -9
  154. package/cjs/series/base/base-series.js.map +1 -1
  155. package/cjs/series/box-plot/box-plot.js +4 -12
  156. package/cjs/series/box-plot/box-plot.js.map +1 -1
  157. package/cjs/series/gauge/gauge-pointer.d.ts +2 -1
  158. package/cjs/series/gauge/gauge-pointer.js +16 -9
  159. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  160. package/cjs/series/gauge/gauge.js +13 -1
  161. package/cjs/series/gauge/gauge.js.map +1 -1
  162. package/cjs/series/gauge/interface.d.ts +2 -0
  163. package/cjs/series/gauge/interface.js.map +1 -1
  164. package/cjs/series/heatmap/heatmap.js +4 -9
  165. package/cjs/series/heatmap/heatmap.js.map +1 -1
  166. package/cjs/series/pie/pie.js +1 -1
  167. package/cjs/series/pie/pie.js.map +1 -1
  168. package/cjs/series/range-column/range-column.js +7 -15
  169. package/cjs/series/range-column/range-column.js.map +1 -1
  170. package/cjs/series/util/utils.d.ts +5 -0
  171. package/cjs/series/util/utils.js +18 -2
  172. package/cjs/series/util/utils.js.map +1 -1
  173. package/cjs/series/waterfall/waterfall.js +7 -11
  174. package/cjs/series/waterfall/waterfall.js.map +1 -1
  175. package/cjs/theme/builtin/common/component/crosshair.js +0 -8
  176. package/cjs/theme/builtin/common/component/crosshair.js.map +1 -1
  177. package/cjs/typings/visual.d.ts +3 -2
  178. package/cjs/typings/visual.js.map +1 -1
  179. package/esm/animation/utils.d.ts +1 -0
  180. package/esm/animation/utils.js +12 -7
  181. package/esm/animation/utils.js.map +1 -1
  182. package/esm/chart/bar/bar-3d.d.ts +2 -2
  183. package/esm/chart/bar/bar-3d.js +3 -3
  184. package/esm/chart/bar/bar-3d.js.map +1 -1
  185. package/esm/chart/base-chart.d.ts +2 -5
  186. package/esm/chart/base-chart.js +8 -46
  187. package/esm/chart/base-chart.js.map +1 -1
  188. package/esm/chart/cartesian/interface.d.ts +1 -1
  189. package/esm/chart/cartesian/interface.js.map +1 -1
  190. package/esm/chart/index.js +1 -2
  191. package/esm/chart/interface/chart.d.ts +3 -3
  192. package/esm/chart/interface/chart.js.map +1 -1
  193. package/esm/chart/sequence/sequence.js +1 -0
  194. package/esm/chart/sequence/sequence.js.map +1 -1
  195. package/esm/compile/compiler.js +2 -1
  196. package/esm/compile/mark/compilable-mark.js +6 -10
  197. package/esm/compile/mark/compilable-mark.js.map +1 -1
  198. package/esm/component/axis/base-axis.d.ts +2 -1
  199. package/esm/component/axis/base-axis.js +5 -1
  200. package/esm/component/axis/base-axis.js.map +1 -1
  201. package/esm/component/axis/cartesian/axis.d.ts +1 -1
  202. package/esm/component/axis/cartesian/axis.js +5 -3
  203. package/esm/component/axis/cartesian/axis.js.map +1 -1
  204. package/esm/component/axis/cartesian/band-axis.js +1 -3
  205. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  206. package/esm/component/axis/cartesian/util/common.d.ts +0 -2
  207. package/esm/component/axis/cartesian/util/common.js +0 -11
  208. package/esm/component/axis/cartesian/util/common.js.map +1 -1
  209. package/esm/component/axis/interface/common.d.ts +1 -0
  210. package/esm/component/axis/interface/common.js.map +1 -1
  211. package/esm/component/axis/polar/axis.js +3 -1
  212. package/esm/component/axis/polar/axis.js.map +1 -1
  213. package/esm/component/axis/polar/interface/common.d.ts +2 -3
  214. package/esm/component/axis/polar/interface/common.js.map +1 -1
  215. package/esm/component/base/base-component.d.ts +2 -7
  216. package/esm/component/base/base-component.js +5 -5
  217. package/esm/component/base/base-component.js.map +1 -1
  218. package/esm/component/brush/brush.d.ts +1 -1
  219. package/esm/component/brush/brush.js +1 -1
  220. package/esm/component/brush/brush.js.map +1 -1
  221. package/esm/component/crosshair/base.d.ts +4 -5
  222. package/esm/component/crosshair/base.js +37 -25
  223. package/esm/component/crosshair/base.js.map +1 -1
  224. package/esm/component/crosshair/cartesian.d.ts +12 -35
  225. package/esm/component/crosshair/cartesian.js +112 -103
  226. package/esm/component/crosshair/cartesian.js.map +1 -1
  227. package/esm/component/crosshair/config.d.ts +6 -0
  228. package/esm/component/crosshair/config.js +7 -0
  229. package/esm/component/crosshair/config.js.map +1 -1
  230. package/esm/component/crosshair/interface/spec.d.ts +7 -3
  231. package/esm/component/crosshair/interface/spec.js.map +1 -1
  232. package/esm/component/crosshair/polar.d.ts +13 -55
  233. package/esm/component/crosshair/polar.js +110 -79
  234. package/esm/component/crosshair/polar.js.map +1 -1
  235. package/esm/component/custom-mark/custom-mark.d.ts +1 -1
  236. package/esm/component/custom-mark/custom-mark.js +1 -1
  237. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  238. package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -1
  239. package/esm/component/data-zoom/data-filter-base-component.js +1 -1
  240. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  241. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
  242. package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -1
  243. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  244. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
  245. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +1 -1
  246. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  247. package/esm/component/geo/geo-coordinate.d.ts +1 -1
  248. package/esm/component/geo/geo-coordinate.js +1 -1
  249. package/esm/component/geo/geo-coordinate.js.map +1 -1
  250. package/esm/component/indicator/indicator.d.ts +1 -1
  251. package/esm/component/indicator/indicator.js +1 -1
  252. package/esm/component/indicator/indicator.js.map +1 -1
  253. package/esm/component/label/base-label.d.ts +1 -1
  254. package/esm/component/label/base-label.js +1 -1
  255. package/esm/component/label/base-label.js.map +1 -1
  256. package/esm/component/label/label.d.ts +1 -0
  257. package/esm/component/label/label.js +7 -0
  258. package/esm/component/label/label.js.map +1 -1
  259. package/esm/component/label/totalLabel.d.ts +1 -0
  260. package/esm/component/label/totalLabel.js +7 -0
  261. package/esm/component/label/totalLabel.js.map +1 -1
  262. package/esm/component/legend/base-legend.d.ts +1 -1
  263. package/esm/component/legend/base-legend.js +1 -1
  264. package/esm/component/legend/base-legend.js.map +1 -1
  265. package/esm/component/legend/continuous/interface.d.ts +1 -0
  266. package/esm/component/legend/continuous/interface.js.map +1 -1
  267. package/esm/component/legend/continuous/legend.js +5 -3
  268. package/esm/component/legend/continuous/legend.js.map +1 -1
  269. package/esm/component/map-label/component.d.ts +1 -1
  270. package/esm/component/map-label/component.js +2 -2
  271. package/esm/component/map-label/component.js.map +1 -1
  272. package/esm/component/marker/base-marker.d.ts +23 -25
  273. package/esm/component/marker/base-marker.js +42 -53
  274. package/esm/component/marker/base-marker.js.map +1 -1
  275. package/esm/component/marker/interface.d.ts +19 -9
  276. package/esm/component/marker/interface.js.map +1 -1
  277. package/esm/component/marker/mark-area/interface/spec.d.ts +10 -12
  278. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  279. package/esm/component/marker/mark-area/mark-area.d.ts +3 -2
  280. package/esm/component/marker/mark-area/mark-area.js +10 -22
  281. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  282. package/esm/component/marker/mark-line/interface/spec.d.ts +20 -9
  283. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  284. package/esm/component/marker/mark-line/mark-line.d.ts +4 -2
  285. package/esm/component/marker/mark-line/mark-line.js +58 -54
  286. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  287. package/esm/component/marker/mark-point/interface/spec.d.ts +8 -6
  288. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  289. package/esm/component/marker/mark-point/mark-point.d.ts +3 -2
  290. package/esm/component/marker/mark-point/mark-point.js +12 -20
  291. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  292. package/esm/component/marker/utils.d.ts +13 -2
  293. package/esm/component/marker/utils.js +103 -35
  294. package/esm/component/marker/utils.js.map +1 -1
  295. package/esm/component/player/player.d.ts +1 -1
  296. package/esm/component/player/player.js +1 -1
  297. package/esm/component/player/player.js.map +1 -1
  298. package/esm/component/title/title.d.ts +1 -1
  299. package/esm/component/title/title.js +1 -1
  300. package/esm/component/title/title.js.map +1 -1
  301. package/esm/component/tooltip/tooltip.d.ts +1 -1
  302. package/esm/component/tooltip/tooltip.js +4 -2
  303. package/esm/component/tooltip/tooltip.js.map +1 -1
  304. package/esm/core/index.d.ts +1 -1
  305. package/esm/core/index.js +1 -1
  306. package/esm/core/index.js.map +1 -1
  307. package/esm/core/vchart.js +5 -4
  308. package/esm/core/vchart.js.map +1 -1
  309. package/esm/data/transforms/aggregation.d.ts +3 -3
  310. package/esm/data/transforms/aggregation.js +6 -8
  311. package/esm/data/transforms/aggregation.js.map +1 -1
  312. package/esm/event/events/dimension/util/polar.js +2 -2
  313. package/esm/event/events/dimension/util/polar.js.map +1 -1
  314. package/esm/layout/layout3d/index.js +1 -1
  315. package/esm/layout/layout3d/index.js.map +1 -1
  316. package/esm/mark/base/base-mark.js +1 -4
  317. package/esm/mark/base/base-mark.js.map +1 -1
  318. package/esm/model/base-model.d.ts +1 -1
  319. package/esm/model/base-model.js +6 -39
  320. package/esm/model/base-model.js.map +1 -1
  321. package/esm/model/interface.d.ts +2 -1
  322. package/esm/model/interface.js.map +1 -1
  323. package/esm/region/region.js +5 -1
  324. package/esm/region/region.js.map +1 -1
  325. package/esm/series/bar/bar.js +5 -9
  326. package/esm/series/bar/bar.js.map +1 -1
  327. package/esm/series/base/base-series.js +10 -7
  328. package/esm/series/base/base-series.js.map +1 -1
  329. package/esm/series/box-plot/box-plot.js +5 -11
  330. package/esm/series/box-plot/box-plot.js.map +1 -1
  331. package/esm/series/gauge/gauge-pointer.d.ts +2 -1
  332. package/esm/series/gauge/gauge-pointer.js +16 -9
  333. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  334. package/esm/series/gauge/gauge.js +13 -1
  335. package/esm/series/gauge/gauge.js.map +1 -1
  336. package/esm/series/gauge/interface.d.ts +2 -0
  337. package/esm/series/gauge/interface.js.map +1 -1
  338. package/esm/series/heatmap/heatmap.js +4 -8
  339. package/esm/series/heatmap/heatmap.js.map +1 -1
  340. package/esm/series/pie/pie.js +1 -1
  341. package/esm/series/pie/pie.js.map +1 -1
  342. package/esm/series/range-column/range-column.js +6 -12
  343. package/esm/series/range-column/range-column.js.map +1 -1
  344. package/esm/series/util/utils.d.ts +5 -0
  345. package/esm/series/util/utils.js +15 -0
  346. package/esm/series/util/utils.js.map +1 -1
  347. package/esm/series/waterfall/waterfall.js +6 -9
  348. package/esm/series/waterfall/waterfall.js.map +1 -1
  349. package/esm/theme/builtin/common/component/crosshair.js +0 -8
  350. package/esm/theme/builtin/common/component/crosshair.js.map +1 -1
  351. package/esm/typings/visual.d.ts +3 -2
  352. package/esm/typings/visual.js.map +1 -1
  353. package/package.json +15 -15
@@ -23,8 +23,8 @@ class MarkLine extends base_marker_1.BaseMarker {
23
23
  })), markLines;
24
24
  }
25
25
  _createMarkerComponent() {
26
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
27
- const markLine = new vrender_components_1.MarkLine({
26
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
27
+ return new vrender_components_1.MarkLine({
28
28
  zIndex: this.layoutZIndex,
29
29
  interactive: null !== (_a = this._spec.interactive) && void 0 !== _a && _a,
30
30
  points: [ {
@@ -34,54 +34,44 @@ class MarkLine extends base_marker_1.BaseMarker {
34
34
  x: 0,
35
35
  y: 0
36
36
  } ],
37
- lineStyle: null === (_b = this._spec) || void 0 === _b ? void 0 : _b.line.style,
38
- startSymbol: Object.assign(Object.assign({}, null === (_c = this._spec) || void 0 === _c ? void 0 : _c.startSymbol), {
39
- visible: null === (_d = this._spec.startSymbol) || void 0 === _d ? void 0 : _d.visible,
40
- style: (0, style_1.transformToGraphic)(null === (_e = this._spec.startSymbol) || void 0 === _e ? void 0 : _e.style)
37
+ lineStyle: null === (_b = this._spec.line) || void 0 === _b ? void 0 : _b.style,
38
+ startSymbol: Object.assign(Object.assign({}, this._spec.startSymbol), {
39
+ visible: null === (_c = this._spec.startSymbol) || void 0 === _c ? void 0 : _c.visible,
40
+ style: (0, style_1.transformToGraphic)(null === (_d = this._spec.startSymbol) || void 0 === _d ? void 0 : _d.style)
41
41
  }),
42
- endSymbol: Object.assign(Object.assign({}, null === (_f = this._spec) || void 0 === _f ? void 0 : _f.endSymbol), {
43
- visible: null === (_g = this._spec.endSymbol) || void 0 === _g ? void 0 : _g.visible,
44
- style: (0, style_1.transformToGraphic)(null === (_h = this._spec.endSymbol) || void 0 === _h ? void 0 : _h.style)
42
+ endSymbol: Object.assign(Object.assign({}, this._spec.endSymbol), {
43
+ visible: null === (_e = this._spec.endSymbol) || void 0 === _e ? void 0 : _e.visible,
44
+ style: (0, style_1.transformToGraphic)(null === (_f = this._spec.endSymbol) || void 0 === _f ? void 0 : _f.style)
45
45
  }),
46
46
  label: Object.assign(Object.assign({}, this._spec.label), {
47
- padding: null === (_k = null === (_j = this._spec.label) || void 0 === _j ? void 0 : _j.labelBackground) || void 0 === _k ? void 0 : _k.padding,
48
- shape: Object.assign(Object.assign({}, (0, style_1.transformToGraphic)(null === (_l = this._spec.label) || void 0 === _l ? void 0 : _l.shape)), {
49
- visible: null !== (_p = null === (_o = null === (_m = this._spec.label) || void 0 === _m ? void 0 : _m.shape) || void 0 === _o ? void 0 : _o.visible) && void 0 !== _p && _p
47
+ padding: null === (_h = null === (_g = this._spec.label) || void 0 === _g ? void 0 : _g.labelBackground) || void 0 === _h ? void 0 : _h.padding,
48
+ shape: Object.assign(Object.assign({}, (0, style_1.transformToGraphic)(null === (_j = this._spec.label) || void 0 === _j ? void 0 : _j.shape)), {
49
+ visible: null !== (_m = null === (_l = null === (_k = this._spec.label) || void 0 === _k ? void 0 : _k.shape) || void 0 === _l ? void 0 : _l.visible) && void 0 !== _m && _m
50
50
  }),
51
- panel: Object.assign(Object.assign({}, (0, style_1.transformToGraphic)(null === (_q = this._spec.label) || void 0 === _q ? void 0 : _q.labelBackground.style)), {
52
- visible: null === (_t = null === (_s = null === (_r = this._spec.label) || void 0 === _r ? void 0 : _r.labelBackground) || void 0 === _s ? void 0 : _s.visible) || void 0 === _t || _t
51
+ panel: Object.assign(Object.assign({}, (0, style_1.transformToGraphic)(null === (_o = this._spec.label) || void 0 === _o ? void 0 : _o.labelBackground.style)), {
52
+ visible: null === (_r = null === (_q = null === (_p = this._spec.label) || void 0 === _p ? void 0 : _p.labelBackground) || void 0 === _q ? void 0 : _q.visible) || void 0 === _r || _r
53
53
  }),
54
- textStyle: (0, style_1.transformToGraphic)(null === (_u = this._spec.label) || void 0 === _u ? void 0 : _u.style)
54
+ textStyle: (0, style_1.transformToGraphic)(null === (_s = this._spec.label) || void 0 === _s ? void 0 : _s.style)
55
55
  }),
56
- clipInRange: null !== (_v = this._spec.clip) && void 0 !== _v && _v
56
+ clipInRange: null !== (_t = this._spec.clip) && void 0 !== _t && _t
57
57
  });
58
- this._markerComponent = markLine, this._markerComponent.name = null !== (_w = this._spec.name) && void 0 !== _w ? _w : this.type,
59
- this._markerComponent.id = null !== (_x = this._spec.id) && void 0 !== _x ? _x : `${this.type}-${this.id}`,
60
- this.getContainer().add(this._markerComponent);
61
58
  }
62
59
  _markerLayout() {
63
60
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
64
- const spec = this._spec, data = this._markerData, startRelativeSeries = this._startRelativeSeries, endRelativeSeries = this._endRelativeSeries, relativeSeries = this._relativeSeries, isXLayout = (0,
65
- vutils_1.isValid)(spec.x) || (0, vutils_1.isValid)(spec.coordinates) && (0, vutils_1.isValid)(spec.process) && (0,
66
- vutils_1.isValid)(spec.process.x), isYLayout = (0, vutils_1.isValid)(spec.y) || (0,
67
- vutils_1.isValid)(spec.coordinates) && (0, vutils_1.isValid)(spec.process) && (0,
68
- vutils_1.isValid)(spec.process.y), isCoordinateLayout = (0, vutils_1.isValid)(spec.coordinates) && (!(0,
69
- vutils_1.isValid)(spec.process) || "process" in spec && "xy" in spec.process), isPositionLayout = (0,
61
+ const spec = this._spec, data = this._markerData, startRelativeSeries = this._startRelativeSeries, endRelativeSeries = this._endRelativeSeries, relativeSeries = this._relativeSeries, isValidCoordinates = (0,
62
+ vutils_1.isValid)(spec.coordinates), isValidProcess = (0, vutils_1.isValid)(spec.process), isValidProcessX = isValidProcess && (0,
63
+ vutils_1.isValid)(spec.process.x), isValidProcessY = isValidProcess && (0, vutils_1.isValid)(spec.process.y), isCoordinateLayout = isValidCoordinates && (!isValidProcess || "process" in spec && "xy" in spec.process), isPositionLayout = (0,
70
64
  vutils_1.isValid)(spec.positions), autoRange = null !== (_a = spec.autoRange) && void 0 !== _a && _a;
71
65
  let points = [];
72
- if (isXLayout) points = (0, utils_1.xyLayout)(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange)[0]; else if (isYLayout) points = (0,
73
- utils_1.xyLayout)(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange)[0]; else if (isCoordinateLayout) points = (0,
74
- utils_1.coordinateLayout)(data, relativeSeries, autoRange); else if (isPositionLayout) if (spec.regionRelative) {
75
- const region = relativeSeries.getRegion(), {x: regionStartX, y: regionStartY} = region.getLayoutStartPoint();
76
- points = spec.positions.map((point => ({
77
- x: point.x + regionStartX,
78
- y: point.y + regionStartY
79
- })));
80
- } else points = spec.positions;
81
- const seriesData = this._relativeSeries.getViewData().latestData, dataPoints = data ? data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData : seriesData;
66
+ if (this._isXYLayout || isValidCoordinates && isValidProcessX || isValidCoordinates && isValidProcessY) {
67
+ const xyPoints = (0, utils_1.xyLayout)(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange);
68
+ points = 1 === xyPoints.length ? xyPoints[0] : xyPoints.map((point => point[0]));
69
+ } else isCoordinateLayout ? points = (0, utils_1.coordinateLayout)(data, relativeSeries, autoRange, spec.coordinatesOffset) : isPositionLayout && (points = (0,
70
+ utils_1.positionLayout)(spec.positions, relativeSeries, spec.regionRelative));
71
+ const seriesData = this._relativeSeries.getViewData().latestData, dataPoints = data.latestData[0].latestData || data.latestData;
82
72
  let limitRect;
83
73
  if (spec.clip || (null === (_b = spec.label) || void 0 === _b ? void 0 : _b.confine)) {
84
- const {minX: minX, maxX: maxX, minY: minY, maxY: maxY} = this._computeClipRange([ startRelativeSeries.getRegion(), endRelativeSeries.getRegion(), relativeSeries.getRegion() ]);
74
+ const {minX: minX, maxX: maxX, minY: minY, maxY: maxY} = (0, utils_1.computeClipRange)([ startRelativeSeries.getRegion(), endRelativeSeries.getRegion(), relativeSeries.getRegion() ]);
85
75
  limitRect = {
86
76
  x: minX,
87
77
  y: minY,
@@ -141,34 +131,44 @@ class MarkLine extends base_marker_1.BaseMarker {
141
131
  });
142
132
  }
143
133
  _initDataView() {
144
- const spec = this._spec, relativeSeries = this._relativeSeries, isXProcess = "x" in spec, isYProcess = "y" in spec, isCoordinateProcess = "coordinates" in spec;
145
- if (!isXProcess && !isYProcess && !isCoordinateProcess) return;
146
- let options, processData, needAgggr = !1, needRegr = !1;
147
- if ((0, register_1.registerDataSetInstanceTransform)(this._option.dataSet, "markerAggregation", aggregation_1.markerAggregation),
134
+ const spec = this._spec, relativeSeries = this._relativeSeries, isXProcess = "x" in spec, isYProcess = "y" in spec, isX1Process = "x1" in spec, isY1Process = "y1" in spec, isCoordinateProcess = "coordinates" in spec, doXProcess = isXProcess && !isYProcess && !isY1Process, doXYY1Process = isXProcess && isYProcess && isY1Process, doYProcess = isYProcess && !isXProcess && !isX1Process, doYXX1Process = isYProcess && isXProcess && isX1Process, doXYProcess = isXProcess && isYProcess && isX1Process && isY1Process;
135
+ if (this._markerData = relativeSeries.getViewData(), !(doXProcess || doYProcess || doXYY1Process || doYXX1Process || doXYProcess || isCoordinateProcess)) return;
136
+ let options;
137
+ (0, register_1.registerDataSetInstanceTransform)(this._option.dataSet, "markerAggregation", aggregation_1.markerAggregation),
148
138
  (0, register_1.registerDataSetInstanceTransform)(this._option.dataSet, "markerRegression", regression_1.markerRegression),
149
- isXProcess) options = [ this._processSpecX(spec.x) ], processData = relativeSeries.getViewData(),
150
- needAgggr = !0; else if (isYProcess) options = [ this._processSpecY(spec.y) ], processData = relativeSeries.getViewData(),
151
- needAgggr = !0; else if (isCoordinateProcess && (options = this._processSpecCoo(spec),
152
- processData = new vdataset_1.DataView(this._option.dataSet, {
153
- name: `${this.type}_${this.id}_data`
154
- }).parse([ relativeSeries.getViewData() ], {
155
- type: "dataview"
156
- }).transform({
157
- type: "markerAggregation",
158
- options: options
159
- }), spec.process && "x" in spec.process && (options = [ this._processSpecX(spec.process.x) ],
160
- needAgggr = !0), spec.process && "y" in spec.process && (options = [ this._processSpecY(spec.process.y) ],
161
- needAgggr = !0), spec.process && "xy" in spec.process)) {
162
- const {xField: xField, yField: yField} = relativeSeries.getSpec();
163
- options = {
164
- fieldX: xField,
165
- fieldY: yField
166
- }, needRegr = !0;
167
- }
139
+ this._isXYLayout = doXProcess || doXYY1Process || doYProcess || doYXX1Process || doXYProcess;
140
+ let processData = relativeSeries.getViewData(), needAggr = !0, needRegr = !1;
141
+ if (doXYProcess) {
142
+ const {x: x, x1: x1, y: y, y1: y1} = spec;
143
+ options = [ this._processSpecXY(x, y), this._processSpecXY(x1, y1) ];
144
+ } else if (doXProcess) options = [ this._processSpecX(spec.x) ]; else if (doYProcess) options = [ this._processSpecY(spec.y) ]; else if (doXYY1Process) {
145
+ const {x: x, y: y, y1: y1} = spec;
146
+ options = [ this._processSpecXY(x, y), this._processSpecXY(x, y1) ];
147
+ } else if (doYXX1Process) {
148
+ const {x: x, x1: x1, y: y} = spec;
149
+ options = [ this._processSpecXY(x, y), this._processSpecXY(x1, y) ];
150
+ } else if (isCoordinateProcess) {
151
+ if (options = this._processSpecCoo(spec), needAggr = !1, processData = new vdataset_1.DataView(this._option.dataSet, {
152
+ name: `${this.type}_${this.id}_data`
153
+ }).parse([ relativeSeries.getViewData() ], {
154
+ type: "dataview"
155
+ }).transform({
156
+ type: "markerAggregation",
157
+ options: options
158
+ }), spec.process && "x" in spec.process && (options = [ this._processSpecX(spec.process.x) ],
159
+ needAggr = !0), spec.process && "y" in spec.process && (options = [ this._processSpecY(spec.process.y) ],
160
+ needAggr = !0), spec.process && "xy" in spec.process) {
161
+ const {xField: xField, yField: yField} = relativeSeries.getSpec();
162
+ options = {
163
+ fieldX: xField,
164
+ fieldY: yField
165
+ }, needRegr = !0;
166
+ }
167
+ } else needAggr = !1;
168
168
  const data = new vdataset_1.DataView(this._option.dataSet);
169
169
  data.parse([ processData ], {
170
170
  type: "dataview"
171
- }), needAgggr && data.transform({
171
+ }), needAggr && data.transform({
172
172
  type: "markerAggregation",
173
173
  options: options
174
174
  }), needRegr && data.transform({
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-line/mark-line.ts"],"names":[],"mappings":"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","file":"mark-line.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IMarkLine, IMarkLineSpec, IMarkLineTheme, IStepMarkLineSpec } from './interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IOptionAggr } from '../../../data/transforms/aggregation';\n// eslint-disable-next-line no-duplicate-imports\nimport { markerAggregation } from '../../../data/transforms/aggregation';\nimport { coordinateLayout, xyLayout } from '../utils';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { MarkLine as MarkLineComponent } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isValid, isArray } from '@visactor/vutils';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport type { INode } from '@visactor/vrender-core';\nimport type { IDataPos } from '../interface';\nimport type { IOptionRegr } from '../../../data/transforms/regression';\n// eslint-disable-next-line no-duplicate-imports\nimport { markerRegression } from '../../../data/transforms/regression';\nimport { LayoutZIndex } from '../../../constant';\nimport { getInsertPoints, getTextOffset } from './util';\nimport { Factory } from '../../../core/factory';\nimport { isPercent } from '../../../util';\nimport type { IPoint } from '../../../typings';\n\nexport class MarkLine extends BaseMarker<IMarkLineSpec & IMarkLineTheme> implements IMarkLine {\n static type = ComponentTypeEnum.markLine;\n type = ComponentTypeEnum.markLine;\n name: string = ComponentTypeEnum.markLine;\n\n layoutZIndex: number = LayoutZIndex.MarkLine;\n\n protected declare _theme: IMarkLineTheme;\n\n protected declare _markerComponent: MarkLineComponent;\n\n static createComponent(spec: any, options: IComponentOption) {\n const markLineSpec = spec.markLine;\n if (isEmpty(markLineSpec)) {\n return undefined;\n }\n if (!isArray(markLineSpec) && markLineSpec.visible !== false) {\n return new MarkLine(markLineSpec, { ...options });\n }\n const markLines: MarkLine[] = [];\n markLineSpec.forEach((m: any, i: number) => {\n if (m.visible !== false) {\n markLines.push(new MarkLine(m, { ...options, specIndex: i }));\n }\n });\n return markLines;\n }\n\n protected _createMarkerComponent() {\n const markLine = new MarkLineComponent({\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? false,\n points: [\n {\n x: 0,\n y: 0\n },\n {\n x: 0,\n y: 0\n }\n ],\n lineStyle: this._spec?.line.style as unknown as any,\n startSymbol: {\n ...this._spec?.startSymbol,\n visible: this._spec.startSymbol?.visible,\n style: transformToGraphic(this._spec.startSymbol?.style)\n },\n endSymbol: {\n ...this._spec?.endSymbol,\n visible: this._spec.endSymbol?.visible,\n style: transformToGraphic(this._spec.endSymbol?.style)\n },\n label: {\n ...this._spec.label,\n padding: this._spec.label?.labelBackground?.padding,\n shape: {\n ...transformToGraphic(this._spec.label?.shape),\n visible: this._spec.label?.shape?.visible ?? false\n },\n panel: {\n ...transformToGraphic(this._spec.label?.labelBackground.style),\n visible: this._spec.label?.labelBackground?.visible ?? true\n },\n textStyle: transformToGraphic(this._spec.label?.style)\n },\n clipInRange: this._spec.clip ?? false\n });\n this._markerComponent = markLine;\n this._markerComponent.name = this._spec.name ?? this.type;\n this._markerComponent.id = this._spec.id ?? `${this.type}-${this.id}`;\n this.getContainer().add(this._markerComponent as unknown as INode);\n }\n\n protected _markerLayout() {\n const spec = this._spec as any;\n const data = this._markerData;\n const startRelativeSeries = this._startRelativeSeries;\n const endRelativeSeries = this._endRelativeSeries;\n const relativeSeries = this._relativeSeries;\n\n // eslint-disable-next-line max-len\n const isXLayout =\n isValid(spec.x) || (isValid(spec.coordinates) && isValid(spec.process) && isValid(spec.process.x));\n // eslint-disable-next-line max-len\n const isYLayout =\n isValid(spec.y) || (isValid(spec.coordinates) && isValid(spec.process) && isValid(spec.process.y));\n const isCoordinateLayout =\n isValid(spec.coordinates) && (!isValid(spec.process) || ('process' in spec && 'xy' in spec.process));\n const isPositionLayout = isValid(spec.positions);\n const autoRange = spec.autoRange ?? false;\n\n let points: IPoint[] = [];\n if (isXLayout) {\n points = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange)[0];\n } else if (isYLayout) {\n points = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange)[0];\n } else if (isCoordinateLayout) {\n points = coordinateLayout(data, relativeSeries, autoRange);\n } else if (isPositionLayout) {\n if (spec.regionRelative) {\n const region = relativeSeries.getRegion();\n const { x: regionStartX, y: regionStartY } = region.getLayoutStartPoint();\n points = spec.positions.map((point: IPoint) => {\n return {\n x: point.x + regionStartX,\n y: point.y + regionStartY\n };\n });\n } else {\n points = spec.positions;\n }\n }\n const seriesData = this._relativeSeries.getViewData().latestData;\n const dataPoints = data\n ? data.latestData[0].latestData\n ? data.latestData[0].latestData\n : data.latestData\n : seriesData;\n\n let limitRect;\n if (spec.clip || spec.label?.confine) {\n const { minX, maxX, minY, maxY } = this._computeClipRange([\n startRelativeSeries.getRegion(),\n endRelativeSeries.getRegion(),\n relativeSeries.getRegion()\n ]);\n limitRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n }\n\n const labelAttrs = {\n ...this._markerComponent?.attribute?.label,\n text: this._spec.label.formatMethod\n ? this._spec.label.formatMethod(dataPoints, seriesData)\n : this._markerComponent?.attribute?.label?.text\n };\n\n if ((this._spec as IStepMarkLineSpec).type === 'type-step') {\n const { multiSegment, mainSegmentIndex } = (this._spec as IStepMarkLineSpec).line || {};\n const { connectDirection, expandDistance = 0 } = this._spec as IStepMarkLineSpec;\n\n let expandDistanceValue: number;\n if (isPercent(expandDistance)) {\n const regionStart = startRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n const regionEnd = endRelativeSeries.getRegion();\n const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint();\n\n if (connectDirection === 'bottom' || connectDirection === 'top') {\n const regionHeight = Math.abs(\n Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y) -\n Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height\n )\n );\n expandDistanceValue = (Number(expandDistance.substring(0, expandDistance.length - 1)) * regionHeight) / 100;\n } else {\n const regionWidth = Math.abs(\n Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x) -\n Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width\n )\n );\n expandDistanceValue = (Number(expandDistance.substring(0, expandDistance.length - 1)) * regionWidth) / 100;\n }\n } else {\n expandDistanceValue = expandDistance as number;\n }\n\n const joinPoints = getInsertPoints(points[0], points[1], connectDirection, expandDistanceValue);\n\n let labelPositionAttrs: any;\n if (multiSegment && isValid(mainSegmentIndex)) {\n // 如果用户配置了主线段,则不进行 label 的偏移处理,直接显示在主线段中间\n labelPositionAttrs = {\n position: 'middle',\n autoRotate: false,\n refX: 0,\n refY: 0\n };\n } else {\n labelPositionAttrs = {\n position: 'start',\n autoRotate: false,\n ...getTextOffset(points[0], points[1], connectDirection, expandDistanceValue),\n refX: 0,\n refY: 0\n };\n }\n\n this._markerComponent?.setAttributes({\n points: multiSegment\n ? [\n [joinPoints[0], joinPoints[1]],\n [joinPoints[1], joinPoints[2]],\n [joinPoints[2], joinPoints[3]]\n ]\n : joinPoints,\n label: {\n ...labelAttrs,\n ...labelPositionAttrs,\n textStyle: {\n ...this._markerComponent?.attribute?.label.textStyle,\n textAlign: 'center',\n textBaseline: 'middle'\n }\n },\n limitRect,\n multiSegment,\n mainSegmentIndex,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n });\n } else {\n this._markerComponent?.setAttributes({\n points: points,\n label: labelAttrs,\n limitRect,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n });\n }\n }\n\n protected _initDataView(): void {\n const spec = this._spec;\n const relativeSeries = this._relativeSeries;\n const isXProcess = 'x' in spec;\n const isYProcess = 'y' in spec;\n const isCoordinateProcess = 'coordinates' in spec;\n\n if (!isXProcess && !isYProcess && !isCoordinateProcess) {\n return;\n }\n\n let options: IOptionAggr[] | IOptionRegr;\n let processData: DataView;\n let needAgggr: boolean = false;\n let needRegr: boolean = false;\n\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n // eslint-disable-next-line no-undef\n registerDataSetInstanceTransform(this._option.dataSet, 'markerRegression', markerRegression);\n\n if (isXProcess) {\n options = [this._processSpecX(spec.x as unknown as IDataPos)] as unknown as any;\n processData = relativeSeries.getViewData();\n needAgggr = true;\n } else if (isYProcess) {\n options = [this._processSpecY(spec.y as unknown as IDataPos)] as unknown as any;\n processData = relativeSeries.getViewData();\n needAgggr = true;\n } else if (isCoordinateProcess) {\n options = this._processSpecCoo(spec);\n\n processData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` })\n .parse([relativeSeries.getViewData()], {\n type: 'dataview'\n })\n .transform({\n type: 'markerAggregation',\n options\n });\n if (spec.process && 'x' in spec.process) {\n options = [this._processSpecX(spec.process.x as unknown as IDataPos)] as unknown as any;\n needAgggr = true;\n }\n if (spec.process && 'y' in spec.process) {\n options = [this._processSpecY(spec.process.y as unknown as IDataPos)] as unknown as any;\n needAgggr = true;\n }\n if (spec.process && 'xy' in spec.process) {\n const { xField, yField } = relativeSeries.getSpec();\n options = {\n fieldX: xField,\n fieldY: yField\n };\n needRegr = true;\n }\n }\n\n const data = new DataView(this._option.dataSet);\n data.parse([processData], {\n type: 'dataview'\n });\n if (needAgggr) {\n data.transform({\n type: 'markerAggregation',\n options\n });\n }\n if (needRegr) {\n data.transform({\n type: 'markerRegression',\n options\n });\n }\n\n data.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n\nexport const registerMarkLine = () => {\n Factory.registerComponent(MarkLine.type, MarkLine);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-line/mark-line.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAY9C,+CAAyD;AAIzD,sEAAyE;AACzE,oCAAwF;AACxF,qDAA0E;AAC1E,qEAA6E;AAE7E,6CAA6D;AAC7D,+CAAyD;AACzD,gDAA4C;AAK5C,oEAAuE;AACvE,gDAAiD;AACjD,iCAAwD;AACxD,mDAAgD;AAChD,wCAA0C;AAG1C,MAAa,QAAS,SAAQ,wBAAyB;IAAvD;;QAEE,SAAI,GAAG,wBAAiB,CAAC,QAAQ,CAAC;QAClC,SAAI,GAAW,wBAAiB,CAAC,QAAQ,CAAC;QAE1C,iBAAY,GAAW,uBAAY,CAAC,QAAQ,CAAC;IAgT/C,CAAC;IAzSC,MAAM,CAAC,eAAe,CAAC,IAAS,EAAE,OAAyB;QACzD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnC,IAAI,IAAA,gBAAO,EAAC,YAAY,CAAC,EAAE;YACzB,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,CAAC,IAAA,gBAAO,EAAC,YAAY,CAAC,IAAI,YAAY,CAAC,OAAO,KAAK,KAAK,EAAE;YAC5D,OAAO,IAAI,QAAQ,CAAC,YAAY,oBAAO,OAAO,EAAG,CAAC;SACnD;QACD,MAAM,SAAS,GAAe,EAAE,CAAC;QACjC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,CAAS,EAAE,EAAE;YACzC,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,EAAE;gBACvB,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,kCAAO,OAAO,KAAE,SAAS,EAAE,CAAC,IAAG,CAAC,CAAC;aAC/D;QACH,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,sBAAsB;;QAC9B,MAAM,QAAQ,GAAG,IAAI,6BAAiB,CAAC;YACrC,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,WAAW,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,KAAK;YAC5C,MAAM,EAAE;gBACN;oBACE,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;iBACL;gBACD;oBACE,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;iBACL;aACF;YACD,SAAS,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAuB;YACnD,WAAW,kCACN,IAAI,CAAC,KAAK,CAAC,WAAW,KACzB,OAAO,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,OAAO,EACxC,KAAK,EAAE,IAAA,0BAAkB,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,KAAK,CAAC,GACzD;YACD,SAAS,kCACJ,IAAI,CAAC,KAAK,CAAC,SAAS,KACvB,OAAO,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,OAAO,EACtC,KAAK,EAAE,IAAA,0BAAkB,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,KAAK,CAAC,GACvD;YACD,KAAK,kCACA,IAAI,CAAC,KAAK,CAAC,KAAK,KACnB,OAAO,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,eAAe,0CAAE,OAAO,EACnD,KAAK,kCACA,IAAA,0BAAkB,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,CAAC,KAC9C,OAAO,EAAE,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,0CAAE,OAAO,mCAAI,KAAK,KAEpD,KAAK,kCACA,IAAA,0BAAkB,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,eAAe,CAAC,KAAK,CAAC,KAC9D,OAAO,EAAE,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,eAAe,0CAAE,OAAO,mCAAI,IAAI,KAE7D,SAAS,EAAE,IAAA,0BAAkB,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,CAAC,GACvD;YACD,WAAW,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,KAAK;SACtC,CAAC,CAAC;QACH,OAAO,QAA6B,CAAC;IACvC,CAAC;IAES,aAAa;;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAY,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAE5C,MAAM,kBAAkB,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,eAAe,GAAG,cAAc,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,eAAe,GAAG,cAAc,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,kBAAkB,GAAG,kBAAkB,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAClH,MAAM,gBAAgB,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,KAAK,CAAC;QAE1C,IAAI,MAAM,GAAa,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,kBAAkB,IAAI,eAAe,CAAC,IAAI,CAAC,kBAAkB,IAAI,eAAe,CAAC,EAAE;YAC1G,MAAM,QAAQ,GAAG,IAAA,gBAAQ,EAAC,IAAI,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;YAEnG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;SAC9F;aAAM,IAAI,kBAAkB,EAAE;YAC7B,MAAM,GAAG,IAAA,wBAAgB,EAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACpF;aAAM,IAAI,gBAAgB,EAAE;YAC3B,MAAM,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SAC9E;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;QAEpE,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,IAAA,wBAAgB,EAAC;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;QAED,MAAM,UAAU,mCACX,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,0CAAE,KAAK,KAC1C,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;gBACjC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC;gBACvD,CAAC,CAAC,MAAA,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,0CAAE,KAAK,0CAAE,IAAI,GAClD,CAAC;QAEF,IAAK,IAAI,CAAC,KAA2B,CAAC,IAAI,KAAK,WAAW,EAAE;YAC1D,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAI,IAAI,CAAC,KAA2B,CAAC,IAAI,IAAI,EAAE,CAAC;YACxF,MAAM,EAAE,gBAAgB,EAAE,cAAc,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAA0B,CAAC;YAEjF,IAAI,mBAA2B,CAAC;YAChC,IAAI,IAAA,gBAAS,EAAC,cAAc,CAAC,EAAE;gBAC7B,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC;gBACpD,MAAM,2BAA2B,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC;gBACtE,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC;gBAChD,MAAM,yBAAyB,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC;gBAElE,IAAI,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,KAAK,KAAK,EAAE;oBAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC;wBAClE,IAAI,CAAC,GAAG,CACN,2BAA2B,CAAC,CAAC,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,MAAM,EAClE,yBAAyB,CAAC,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,MAAM,CAC/D,CACJ,CAAC;oBACF,mBAAmB,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;iBAC7G;qBAAM;oBACL,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC;wBAClE,IAAI,CAAC,GAAG,CACN,2BAA2B,CAAC,CAAC,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,KAAK,EACjE,yBAAyB,CAAC,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,CAC9D,CACJ,CAAC;oBACF,mBAAmB,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC;iBAC5G;aACF;iBAAM;gBACL,mBAAmB,GAAG,cAAwB,CAAC;aAChD;YAED,MAAM,UAAU,GAAG,IAAA,sBAAe,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;YAEhG,IAAI,kBAAuB,CAAC;YAC5B,IAAI,YAAY,IAAI,IAAA,gBAAO,EAAC,gBAAgB,CAAC,EAAE;gBAE7C,kBAAkB,GAAG;oBACnB,QAAQ,EAAE,QAAQ;oBAClB,UAAU,EAAE,KAAK;oBACjB,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;iBACR,CAAC;aACH;iBAAM;gBACL,kBAAkB,iCAChB,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,KAAK,IACd,IAAA,oBAAa,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,KAC7E,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,CAAC,GACR,CAAC;aACH;YAED,MAAA,IAAI,CAAC,gBAAgB,0CAAE,aAAa,CAAC;gBACnC,MAAM,EAAE,YAAY;oBAClB,CAAC,CAAC;wBACE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;wBAC9B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;wBAC9B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;qBAC/B;oBACH,CAAC,CAAC,UAAU;gBACd,KAAK,gDACA,UAAU,GACV,kBAAkB,KACrB,SAAS,kCACJ,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,0CAAE,KAAK,CAAC,SAAS,KACpD,SAAS,EAAE,QAAQ,EACnB,YAAY,EAAE,QAAQ,MAEzB;gBACD,SAAS;gBACT,YAAY;gBACZ,gBAAgB;gBAChB,EAAE,EAAE,IAAI,CAAC,cAAc;gBACvB,EAAE,EAAE,IAAI,CAAC,cAAc;aACxB,CAAC,CAAC;SACJ;aAAM;YACL,MAAA,IAAI,CAAC,gBAAgB,0CAAE,aAAa,CAAC;gBACnC,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,UAAU;gBACjB,SAAS;gBACT,EAAE,EAAE,IAAI,CAAC,cAAc;gBACvB,EAAE,EAAE,IAAI,CAAC,cAAc;aACxB,CAAC,CAAC;SACJ;IACH,CAAC;IAES,aAAa;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC;QAC/B,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC;QAC/B,MAAM,WAAW,GAAG,IAAI,IAAI,IAAI,CAAC;QACjC,MAAM,WAAW,GAAG,IAAI,IAAI,IAAI,CAAC;QACjC,MAAM,mBAAmB,GAAG,aAAa,IAAI,IAAI,CAAC;QAElD,MAAM,UAAU,GAAG,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,CAAC;QAC7D,MAAM,aAAa,GAAG,UAAU,IAAI,UAAU,IAAI,WAAW,CAAC;QAC9D,MAAM,UAAU,GAAG,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,CAAC;QAC7D,MAAM,aAAa,GAAG,UAAU,IAAI,UAAU,IAAI,WAAW,CAAC;QAC9D,MAAM,WAAW,GAAG,UAAU,IAAI,UAAU,IAAI,WAAW,IAAI,WAAW,CAAC;QAE3E,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;QAEhD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,IAAI,CAAC,mBAAmB,EAAE;YAC1G,OAAO;SACR;QAED,IAAA,2CAAgC,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,+BAAiB,CAAC,CAAC;QAC/F,IAAA,2CAAgC,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,EAAE,6BAAgB,CAAC,CAAC;QAE7F,IAAI,CAAC,WAAW,GAAG,UAAU,IAAI,aAAa,IAAI,UAAU,IAAI,aAAa,IAAI,WAAW,CAAC;QAE7F,IAAI,OAAoC,CAAC;QACzC,IAAI,WAAW,GAAa,cAAc,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,QAAQ,GAAY,IAAI,CAAC;QAC7B,IAAI,QAAQ,GAAY,KAAK,CAAC;QAE9B,IAAI,WAAW,EAAE;YACf,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,IAAuB,CAAC;YACjD,OAAO,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;SACpE;aAAM,IAAI,UAAU,EAAE;YACrB,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACxC;aAAM,IAAI,UAAU,EAAE;YACrB,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACxC;aAAM,IAAI,aAAa,EAAE;YACxB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,IAAyB,CAAC;YAC/C,OAAO,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACnE;aAAM,IAAI,aAAa,EAAE;YACxB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,IAAyB,CAAC;YAC/C,OAAO,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;SACnE;aAAM,IAAI,mBAAmB,EAAE;YAC9B,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACrC,QAAQ,GAAG,KAAK,CAAC;YACjB,WAAW,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;iBACvF,KAAK,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,EAAE;gBACrC,IAAI,EAAE,UAAU;aACjB,CAAC;iBACD,SAAS,CAAC;gBACT,IAAI,EAAE,mBAAmB;gBACzB,OAAO;aACR,CAAC,CAAC;YACL,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;gBACvC,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAwB,CAAC,CAAmB,CAAC;gBACxF,QAAQ,GAAG,IAAI,CAAC;aACjB;YACD,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;gBACvC,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAwB,CAAC,CAAmB,CAAC;gBACxF,QAAQ,GAAG,IAAI,CAAC;aACjB;YACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;gBACxC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;gBACpD,OAAO,GAAG;oBACR,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,MAAM;iBACf,CAAC;gBACF,QAAQ,GAAG,IAAI,CAAC;aACjB;SACF;aAAM;YACL,QAAQ,GAAG,KAAK,CAAC;SAClB;QAED,MAAM,IAAI,GAAG,IAAI,mBAAQ,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,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;;AApTH,4BAqTC;AApTQ,aAAI,GAAG,wBAAiB,CAAC,QAAQ,CAAC;AAsTpC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,iBAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B","file":"mark-line.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type {\n IMarkLine,\n IMarkLineSpec,\n IMarkLineTheme,\n IMarkLineXYSpec,\n IMarkLineXYY1Spec,\n IMarkLineYXX1Spec,\n IStepMarkLineSpec\n} from './interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IOptionAggr } from '../../../data/transforms/aggregation';\n// eslint-disable-next-line no-duplicate-imports\nimport { markerAggregation } from '../../../data/transforms/aggregation';\nimport { computeClipRange, coordinateLayout, positionLayout, xyLayout } from '../utils';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { MarkLine as MarkLineComponent } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isValid, isArray } from '@visactor/vutils';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport type { IGroup } from '@visactor/vrender-core';\nimport type { IDataPos } from '../interface';\nimport type { IOptionRegr } from '../../../data/transforms/regression';\n// eslint-disable-next-line no-duplicate-imports\nimport { markerRegression } from '../../../data/transforms/regression';\nimport { LayoutZIndex } from '../../../constant';\nimport { getInsertPoints, getTextOffset } from './util';\nimport { Factory } from '../../../core/factory';\nimport { isPercent } from '../../../util';\nimport type { IPoint } from '../../../typings';\n\nexport class MarkLine extends BaseMarker<IMarkLineSpec> implements IMarkLine {\n static type = ComponentTypeEnum.markLine;\n type = ComponentTypeEnum.markLine;\n name: string = ComponentTypeEnum.markLine;\n\n layoutZIndex: number = LayoutZIndex.MarkLine;\n\n protected declare _theme: IMarkLineTheme;\n protected declare _markerComponent: MarkLineComponent;\n\n private _isXYLayout: boolean;\n\n static createComponent(spec: any, options: IComponentOption) {\n const markLineSpec = spec.markLine;\n if (isEmpty(markLineSpec)) {\n return undefined;\n }\n if (!isArray(markLineSpec) && markLineSpec.visible !== false) {\n return new MarkLine(markLineSpec, { ...options });\n }\n const markLines: MarkLine[] = [];\n markLineSpec.forEach((m: any, i: number) => {\n if (m.visible !== false) {\n markLines.push(new MarkLine(m, { ...options, specIndex: i }));\n }\n });\n return markLines;\n }\n\n protected _createMarkerComponent() {\n const markLine = new MarkLineComponent({\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? false,\n points: [\n {\n x: 0,\n y: 0\n },\n {\n x: 0,\n y: 0\n }\n ],\n lineStyle: this._spec.line?.style as unknown as any,\n startSymbol: {\n ...this._spec.startSymbol,\n visible: this._spec.startSymbol?.visible,\n style: transformToGraphic(this._spec.startSymbol?.style)\n },\n endSymbol: {\n ...this._spec.endSymbol,\n visible: this._spec.endSymbol?.visible,\n style: transformToGraphic(this._spec.endSymbol?.style)\n },\n label: {\n ...this._spec.label,\n padding: this._spec.label?.labelBackground?.padding,\n shape: {\n ...transformToGraphic(this._spec.label?.shape),\n visible: this._spec.label?.shape?.visible ?? false\n },\n panel: {\n ...transformToGraphic(this._spec.label?.labelBackground.style),\n visible: this._spec.label?.labelBackground?.visible ?? true\n },\n textStyle: transformToGraphic(this._spec.label?.style)\n },\n clipInRange: this._spec.clip ?? false\n });\n return markLine 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 isValidCoordinates = isValid(spec.coordinates);\n const isValidProcess = isValid(spec.process);\n const isValidProcessX = isValidProcess && isValid(spec.process.x);\n const isValidProcessY = isValidProcess && isValid(spec.process.y);\n const isCoordinateLayout = isValidCoordinates && (!isValidProcess || ('process' in spec && 'xy' in spec.process));\n const isPositionLayout = isValid(spec.positions);\n const autoRange = spec.autoRange ?? false;\n\n let points: IPoint[] = [];\n if (this._isXYLayout || (isValidCoordinates && isValidProcessX) || (isValidCoordinates && isValidProcessY)) {\n const xyPoints = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange);\n // 这里不同的场景返回的值不同,如果同时声明了 x x1 y y1,会返回两个数值的数组(如 [[{}], [{}]]),所以需要分别处理下\n points = (xyPoints.length === 1 ? xyPoints[0] : xyPoints.map(point => point[0])) as IPoint[];\n } else if (isCoordinateLayout) {\n points = coordinateLayout(data, relativeSeries, autoRange, spec.coordinatesOffset);\n } else if (isPositionLayout) {\n points = positionLayout(spec.positions, relativeSeries, spec.regionRelative);\n }\n\n const seriesData = this._relativeSeries.getViewData().latestData;\n const dataPoints = 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\n const labelAttrs = {\n ...this._markerComponent?.attribute?.label,\n text: this._spec.label.formatMethod\n ? this._spec.label.formatMethod(dataPoints, seriesData)\n : this._markerComponent?.attribute?.label?.text\n };\n\n if ((this._spec as IStepMarkLineSpec).type === 'type-step') {\n const { multiSegment, mainSegmentIndex } = (this._spec as IStepMarkLineSpec).line || {};\n const { connectDirection, expandDistance = 0 } = this._spec as IStepMarkLineSpec;\n\n let expandDistanceValue: number;\n if (isPercent(expandDistance)) {\n const regionStart = startRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n const regionEnd = endRelativeSeries.getRegion();\n const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint();\n\n if (connectDirection === 'bottom' || connectDirection === 'top') {\n const regionHeight = Math.abs(\n Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y) -\n Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height\n )\n );\n expandDistanceValue = (Number(expandDistance.substring(0, expandDistance.length - 1)) * regionHeight) / 100;\n } else {\n const regionWidth = Math.abs(\n Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x) -\n Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width\n )\n );\n expandDistanceValue = (Number(expandDistance.substring(0, expandDistance.length - 1)) * regionWidth) / 100;\n }\n } else {\n expandDistanceValue = expandDistance as number;\n }\n\n const joinPoints = getInsertPoints(points[0], points[1], connectDirection, expandDistanceValue);\n\n let labelPositionAttrs: any;\n if (multiSegment && isValid(mainSegmentIndex)) {\n // 如果用户配置了主线段,则不进行 label 的偏移处理,直接显示在主线段中间\n labelPositionAttrs = {\n position: 'middle',\n autoRotate: false,\n refX: 0,\n refY: 0\n };\n } else {\n labelPositionAttrs = {\n position: 'start',\n autoRotate: false,\n ...getTextOffset(points[0], points[1], connectDirection, expandDistanceValue),\n refX: 0,\n refY: 0\n };\n }\n\n this._markerComponent?.setAttributes({\n points: multiSegment\n ? [\n [joinPoints[0], joinPoints[1]],\n [joinPoints[1], joinPoints[2]],\n [joinPoints[2], joinPoints[3]]\n ]\n : joinPoints,\n label: {\n ...labelAttrs,\n ...labelPositionAttrs,\n textStyle: {\n ...this._markerComponent?.attribute?.label.textStyle,\n textAlign: 'center',\n textBaseline: 'middle'\n }\n },\n limitRect,\n multiSegment,\n mainSegmentIndex,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n });\n } else {\n this._markerComponent?.setAttributes({\n points: points,\n label: labelAttrs,\n limitRect,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n });\n }\n }\n\n protected _initDataView(): void {\n const spec = this._spec;\n const relativeSeries = this._relativeSeries;\n const isXProcess = 'x' in spec;\n const isYProcess = 'y' in spec;\n const isX1Process = 'x1' in spec;\n const isY1Process = 'y1' in spec;\n const isCoordinateProcess = 'coordinates' in spec;\n\n const doXProcess = isXProcess && !isYProcess && !isY1Process;\n const doXYY1Process = isXProcess && isYProcess && isY1Process;\n const doYProcess = isYProcess && !isXProcess && !isX1Process;\n const doYXX1Process = isYProcess && isXProcess && isX1Process;\n const doXYProcess = isXProcess && isYProcess && isX1Process && isY1Process;\n\n this._markerData = relativeSeries.getViewData();\n\n if (!doXProcess && !doYProcess && !doXYY1Process && !doYXX1Process && !doXYProcess && !isCoordinateProcess) {\n return;\n }\n\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n registerDataSetInstanceTransform(this._option.dataSet, 'markerRegression', markerRegression);\n\n this._isXYLayout = doXProcess || doXYY1Process || doYProcess || doYXX1Process || doXYProcess;\n\n let options: IOptionAggr[] | IOptionRegr;\n let processData: DataView = relativeSeries.getViewData();\n let needAggr: boolean = true;\n let needRegr: boolean = false;\n\n if (doXYProcess) {\n const { x, x1, y, y1 } = spec as IMarkLineXYSpec;\n options = [this._processSpecXY(x, y), this._processSpecXY(x1, y1)];\n } else if (doXProcess) {\n options = [this._processSpecX(spec.x)];\n } else if (doYProcess) {\n options = [this._processSpecY(spec.y)];\n } else if (doXYY1Process) {\n const { x, y, y1 } = spec as IMarkLineXYY1Spec;\n options = [this._processSpecXY(x, y), this._processSpecXY(x, y1)];\n } else if (doYXX1Process) {\n const { x, x1, y } = spec as IMarkLineYXX1Spec;\n options = [this._processSpecXY(x, y), this._processSpecXY(x1, y)];\n } else if (isCoordinateProcess) {\n options = this._processSpecCoo(spec);\n needAggr = false;\n processData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` })\n .parse([relativeSeries.getViewData()], {\n type: 'dataview'\n })\n .transform({\n type: 'markerAggregation',\n options\n });\n if (spec.process && 'x' in spec.process) {\n options = [this._processSpecX(spec.process.x as unknown as IDataPos)] as unknown as any;\n needAggr = true;\n }\n if (spec.process && 'y' in spec.process) {\n options = [this._processSpecY(spec.process.y as unknown as IDataPos)] as unknown as any;\n needAggr = true;\n }\n if (spec.process && 'xy' in spec.process) {\n const { xField, yField } = relativeSeries.getSpec();\n options = {\n fieldX: xField,\n fieldY: yField\n };\n needRegr = true;\n }\n } else {\n needAggr = false;\n }\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.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n\nexport const registerMarkLine = () => {\n Factory.registerComponent(MarkLine.type, MarkLine);\n};\n"]}
@@ -1,15 +1,17 @@
1
- import type { IPoint } from '../../../../typings';
2
1
  import type { IComponent } from '../../../interface';
3
- import type { IDataPointSpec, IMarkerSpec, IMarkerSymbol } from '../../interface';
2
+ import type { IDataPointSpec, IDataPos, IDataPosCallback, IMarkerSpec, IMarkerSymbol, MarkerPositionPoint, OffsetPoint } from '../../interface';
4
3
  import type { IMarkPointTheme } from './theme';
5
4
  export type IMarkPoint = IComponent;
6
- export type IMarkPointSpec = IMarkerSpec & (IMarkPointCoordinateSpec | IMarkPointPositionsSpec) & IMarkPointTheme<IMarkerSymbol>;
5
+ export type IMarkPointSpec = IMarkerSpec & (IMarkPointXYSpec | IMarkPointCoordinateSpec | IMarkPointPositionsSpec) & IMarkPointTheme<IMarkerSymbol>;
6
+ export type IMarkPointXYSpec = {
7
+ y: IDataPos | IDataPosCallback;
8
+ x: IDataPos | IDataPosCallback;
9
+ };
7
10
  export type IMarkPointCoordinateSpec = {
8
11
  coordinates: IDataPointSpec;
9
- relativeRelativeSeriesIndex?: number;
10
- relativeRelativeSeriesId?: string;
12
+ coordinatesOffset?: OffsetPoint;
11
13
  };
12
14
  export type IMarkPointPositionsSpec = {
13
- position: IPoint;
15
+ position: MarkerPositionPoint;
14
16
  regionRelative?: boolean;
15
17
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-point/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IPoint } from '../../../../typings';\nimport type { IComponent } from '../../../interface';\nimport type { IDataPointSpec, IMarkerSpec, IMarkerSymbol } from '../../interface';\nimport type { IMarkPointTheme } from './theme';\n\nexport type IMarkPoint = IComponent;\n\nexport type IMarkPointSpec = IMarkerSpec &\n (\n | IMarkPointCoordinateSpec // 标注目标:数据元素\n | IMarkPointPositionsSpec\n ) &\n IMarkPointTheme<IMarkerSymbol>; // 标注目标:任意位置\n\nexport type IMarkPointCoordinateSpec = {\n /**\n * 指定数据点的参考线。基于指定数据点进行参考线的绘制,可以对数据点进行数据处理\n */\n coordinates: IDataPointSpec;\n /**\n * 被标注数据关联的series\n */\n relativeRelativeSeriesIndex?: number;\n relativeRelativeSeriesId?: string;\n};\n\n/**\n * 指定坐标点的参考线。基于指定坐标进行参考线的绘制\n */\nexport type IMarkPointPositionsSpec = {\n position: IPoint;\n /**\n * 是否为相对 region 的坐标,默认为 false,即相对画布的坐标\n * @default false\n * @since 1.7.0\n */\n regionRelative?: boolean;\n};\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-point/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IComponent } from '../../../interface';\nimport type {\n IDataPointSpec,\n IDataPos,\n IDataPosCallback,\n IMarkerSpec,\n IMarkerSymbol,\n MarkerPositionPoint,\n OffsetPoint\n} from '../../interface';\nimport type { IMarkPointTheme } from './theme';\n\nexport type IMarkPoint = IComponent;\n\nexport type IMarkPointSpec = IMarkerSpec &\n (\n | IMarkPointXYSpec\n | IMarkPointCoordinateSpec // 标注目标:数据元素\n | IMarkPointPositionsSpec\n ) &\n IMarkPointTheme<IMarkerSymbol>; // 标注目标:任意位置\n\nexport type IMarkPointXYSpec = {\n /**\n * 参考点在 y 轴上位置,可以配置参考线在 y 轴上的值,或者聚合计算类型,或者以回调的形式通过数据自行计算。\n * 可以将 y 配置为 '15%' 百分比的形式,表示该位置位于 region 纵轴(从上到下)的百分之 15 位置处。\n */\n y: IDataPos | IDataPosCallback;\n /**\n * 参考点在 x 轴的起点位置,可以配置 x 轴上的值,或者聚合计算类型,或者以回调的形式通过数据自行计算。\n * 可以将 x 配置为 '15%' 百分比的形式,表示该位置位于 region 横轴(从左往右)的百分之 15 位置处。\n */\n x: IDataPos | IDataPosCallback;\n};\n\nexport type IMarkPointCoordinateSpec = {\n /**\n * 指定数据点的参考线。基于指定数据点进行参考线的绘制,可以对数据点进行数据处理\n */\n coordinates: IDataPointSpec;\n /**\n * 对每个数据点转化后的画布坐标点进行偏移,该偏移值可以是像素值,也可以是 string 类型,如 '20%' 代表百分比\n * 每个元素对应一个坐标点的偏移量\n * @since 1.7.3\n */\n coordinatesOffset?: OffsetPoint;\n};\n\n/**\n * 指定坐标点的参考线。基于指定坐标进行参考线的绘制\n */\nexport type IMarkPointPositionsSpec = {\n position: MarkerPositionPoint;\n /**\n * 是否为相对 region 的坐标,默认为 false,即相对画布的坐标\n * @default false\n * @since 1.7.0\n */\n regionRelative?: boolean;\n};\n"]}
@@ -3,7 +3,8 @@ import type { IComponentOption } from '../../interface';
3
3
  import { ComponentTypeEnum } from '../../interface/type';
4
4
  import { MarkPoint as MarkPointComponent } from '@visactor/vrender-components';
5
5
  import { BaseMarker } from '../base-marker';
6
- export declare class MarkPoint extends BaseMarker<IMarkPointSpec & IMarkPointTheme> implements IMarkPoint {
6
+ import type { IGroup } from '@visactor/vrender-core';
7
+ export declare class MarkPoint extends BaseMarker<IMarkPointSpec> implements IMarkPoint {
7
8
  static type: ComponentTypeEnum;
8
9
  type: ComponentTypeEnum;
9
10
  name: string;
@@ -11,7 +12,7 @@ export declare class MarkPoint extends BaseMarker<IMarkPointSpec & IMarkPointThe
11
12
  protected _theme: IMarkPointTheme;
12
13
  protected _markerComponent: MarkPointComponent;
13
14
  static createComponent(spec: any, options: IComponentOption): MarkPoint | MarkPoint[];
14
- protected _createMarkerComponent(): void;
15
+ protected _createMarkerComponent(): IGroup;
15
16
  protected _markerLayout(): void;
16
17
  protected _initDataView(): void;
17
18
  }
@@ -23,8 +23,8 @@ class MarkPoint extends base_marker_1.BaseMarker {
23
23
  })), markPoints;
24
24
  }
25
25
  _createMarkerComponent() {
26
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;
27
- const markPoint = new vrender_components_1.MarkPoint({
26
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
27
+ return new vrender_components_1.MarkPoint({
28
28
  zIndex: this.layoutZIndex,
29
29
  interactive: null !== (_a = this._spec.interactive) && void 0 !== _a && _a,
30
30
  position: {
@@ -51,26 +51,18 @@ class MarkPoint extends base_marker_1.BaseMarker {
51
51
  }, this._spec.itemContent),
52
52
  clipInRange: null !== (_4 = this._spec.clip) && void 0 !== _4 && _4
53
53
  });
54
- this._markerComponent = markPoint, this._markerComponent.name = null !== (_5 = this._spec.name) && void 0 !== _5 ? _5 : this.type,
55
- this._markerComponent.id = null !== (_6 = this._spec.id) && void 0 !== _6 ? _6 : `${this.type}-${this.id}`,
56
- this.getContainer().add(this._markerComponent);
57
54
  }
58
55
  _markerLayout() {
59
56
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
60
- const spec = this._spec, data = this._markerData, relativeSeries = this._relativeSeries, isCoordinateLayout = "coordinate" in spec, isPositionLayout = "position" in spec, autoRange = null !== (_a = null == spec ? void 0 : spec.autoRange) && void 0 !== _a && _a;
57
+ const spec = this._spec, data = this._markerData, relativeSeries = this._relativeSeries, isXYLayout = "x" in spec && "y" in spec, isCoordinateLayout = "coordinate" in spec, isPositionLayout = "position" in spec, autoRange = null !== (_a = null == spec ? void 0 : spec.autoRange) && void 0 !== _a && _a;
61
58
  let point;
62
- if (isCoordinateLayout) point = (0, utils_1.coordinateLayout)(data, relativeSeries, autoRange)[0]; else if (isPositionLayout) if (point = spec.position,
63
- spec.regionRelative) {
64
- const region = relativeSeries.getRegion(), {x: regionStartX, y: regionStartY} = region.getLayoutStartPoint();
65
- point = {
66
- x: point.x + regionStartX,
67
- y: point.y + regionStartY
68
- };
69
- } else point = spec.position;
59
+ isXYLayout ? point = (0, utils_1.xyLayout)(data, relativeSeries, relativeSeries, relativeSeries, autoRange)[0][0] : isCoordinateLayout ? point = (0,
60
+ utils_1.coordinateLayout)(data, relativeSeries, autoRange, spec.coordinatesOffset)[0] : isPositionLayout && (point = (0,
61
+ utils_1.positionLayout)([ spec.position ], relativeSeries, spec.regionRelative)[0]);
70
62
  const seriesData = this._relativeSeries.getViewData().latestData, dataPoints = data ? data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData : seriesData;
71
63
  let limitRect;
72
64
  if (spec.clip) {
73
- const {minX: minX, maxX: maxX, minY: minY, maxY: maxY} = this._computeClipRange([ relativeSeries.getRegion() ]);
65
+ const {minX: minX, maxX: maxX, minY: minY, maxY: maxY} = (0, utils_1.computeClipRange)([ relativeSeries.getRegion() ]);
74
66
  limitRect = {
75
67
  x: minX,
76
68
  y: minY,
@@ -91,10 +83,14 @@ class MarkPoint extends base_marker_1.BaseMarker {
91
83
  });
92
84
  }
93
85
  _initDataView() {
94
- const spec = this._spec, relativeSeries = this._relativeSeries;
95
- if (!(0, vutils_1.isValid)(spec.coordinate)) return;
96
- (0, register_1.registerDataSetInstanceTransform)(this._option.dataSet, "markerAggregation", aggregation_1.markerAggregation);
97
- const options = this._processSpecCoo(spec), data = new vdataset_1.DataView(this._option.dataSet, {
86
+ const spec = this._spec, relativeSeries = this._relativeSeries, isXYProcess = (0,
87
+ vutils_1.isValid)(spec.x) && (0, vutils_1.isValid)(spec.y), isCoordinateProcess = (0,
88
+ vutils_1.isValid)(spec.coordinate);
89
+ if (!isCoordinateProcess && !isXYProcess) return;
90
+ let options;
91
+ (0, register_1.registerDataSetInstanceTransform)(this._option.dataSet, "markerAggregation", aggregation_1.markerAggregation),
92
+ isXYProcess ? options = [ this._processSpecXY(spec.x, spec.y) ] : isCoordinateProcess && (options = this._processSpecCoo(spec));
93
+ const data = new vdataset_1.DataView(this._option.dataSet, {
98
94
  name: `${this.type}_${this.id}_data`
99
95
  });
100
96
  data.parse([ relativeSeries.getViewData() ], {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-point/mark-point.ts"],"names":[],"mappings":"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","file":"mark-point.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IMarkPoint, IMarkPointSpec, IMarkPointTheme } from './interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport { markerAggregation } from '../../../data/transforms/aggregation';\nimport { coordinateLayout } from '../utils';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { MarkPoint as MarkPointComponent } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isValid, isArray } from '@visactor/vutils';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport { LayoutZIndex } from '../../../constant';\nimport { Factory } from '../../../core/factory';\nimport type { INode } from '@visactor/vrender-core';\nimport type { IPoint } from '../../../typings';\n\nexport class MarkPoint extends BaseMarker<IMarkPointSpec & IMarkPointTheme> implements IMarkPoint {\n static type = ComponentTypeEnum.markPoint;\n type = ComponentTypeEnum.markPoint;\n name: string = ComponentTypeEnum.markPoint;\n\n layoutZIndex: number = LayoutZIndex.MarkPoint;\n\n protected declare _theme: IMarkPointTheme;\n\n // markPoint组件\n protected declare _markerComponent: MarkPointComponent;\n\n static createComponent(spec: any, options: IComponentOption) {\n const markPointSpec = spec.markPoint;\n if (isEmpty(markPointSpec)) {\n return undefined;\n }\n if (!isArray(markPointSpec) && markPointSpec.visible !== false) {\n return new MarkPoint(markPointSpec, options);\n }\n const markPoints: MarkPoint[] = [];\n markPointSpec.forEach((m: any, i: number) => {\n if (m.visible !== false) {\n markPoints.push(new MarkPoint(m, { ...options, specIndex: i }));\n }\n });\n return markPoints;\n }\n\n protected _createMarkerComponent() {\n const markPoint = new MarkPointComponent({\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? false,\n position: { x: 0, y: 0 },\n itemLine: {\n lineStyle: transformToGraphic(this._spec.itemLine?.line?.style),\n ...this._spec.itemLine\n },\n itemContent: {\n symbolStyle: transformToGraphic(this._spec.itemContent?.symbol?.style),\n imageStyle: this._spec.itemContent?.image?.style,\n textStyle: {\n ...this._spec.itemContent?.text,\n padding: this._spec.itemContent?.text?.labelBackground?.padding,\n shape: {\n ...transformToGraphic(this._spec.itemContent?.text?.shape),\n visible: this._spec.itemContent?.text?.shape?.visible ?? false\n },\n panel: {\n ...transformToGraphic(this._spec.itemContent?.text?.labelBackground?.style),\n visible: this._spec.itemContent?.text?.labelBackground?.visible ?? true\n },\n textStyle: transformToGraphic(this._spec.itemContent?.text?.style)\n },\n richTextStyle: this._spec.itemContent?.richText?.style,\n ...this._spec.itemContent\n },\n clipInRange: this._spec.clip ?? false\n });\n this._markerComponent = markPoint;\n this._markerComponent.name = this._spec.name ?? this.type;\n this._markerComponent.id = this._spec.id ?? `${this.type}-${this.id}`;\n this.getContainer().add(this._markerComponent as unknown as INode);\n }\n\n protected _markerLayout() {\n const spec = this._spec;\n const data = this._markerData;\n const relativeSeries = this._relativeSeries;\n const isCoordinateLayout = 'coordinate' in spec;\n const isPositionLayout = 'position' in spec;\n const autoRange = spec?.autoRange ?? false;\n\n let point: IPoint;\n if (isCoordinateLayout) {\n point = coordinateLayout(data, relativeSeries, autoRange)[0];\n } else if (isPositionLayout) {\n point = spec.position;\n\n if (spec.regionRelative) {\n const region = relativeSeries.getRegion();\n const { x: regionStartX, y: regionStartY } = region.getLayoutStartPoint();\n point = {\n x: point.x + regionStartX,\n y: point.y + regionStartY\n };\n } else {\n point = spec.position;\n }\n }\n\n const seriesData = this._relativeSeries.getViewData().latestData;\n const dataPoints = data\n ? data.latestData[0].latestData\n ? data.latestData[0].latestData\n : data.latestData\n : seriesData;\n\n let limitRect;\n if (spec.clip) {\n const { minX, maxX, minY, maxY } = this._computeClipRange([relativeSeries.getRegion()]);\n limitRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n }\n\n this._markerComponent?.setAttributes({\n position: point,\n itemContent: {\n ...this._markerComponent?.attribute?.itemContent,\n textStyle: {\n ...this._markerComponent?.attribute?.itemContent?.textStyle,\n text: this._spec.itemContent.text?.formatMethod\n ? this._spec.itemContent.text.formatMethod(dataPoints, seriesData)\n : this._markerComponent?.attribute?.itemContent?.textStyle?.text\n }\n },\n limitRect,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n });\n }\n\n protected _initDataView(): void {\n const spec = this._spec as any;\n const relativeSeries = this._relativeSeries;\n const isCoordinateProcess = isValid(spec.coordinate);\n if (!isCoordinateProcess) {\n return;\n }\n\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n\n const options = this._processSpecCoo(spec);\n\n const data = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n data.parse([relativeSeries.getViewData()], {\n type: 'dataview'\n });\n data.transform({\n type: 'markerAggregation',\n options\n });\n\n data.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n\nexport const registerMarkPoint = () => {\n Factory.registerComponent(MarkPoint.type, MarkPoint);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-point/mark-point.ts"],"names":[],"mappings":"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","file":"mark-point.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IMarkPoint, IMarkPointCoordinateSpec, IMarkPointSpec, IMarkPointTheme } from './interface';\nimport type { IComponentOption } from '../../interface';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { markerAggregation } from '../../../data/transforms/aggregation';\nimport { computeClipRange, coordinateLayout, positionLayout, xyLayout } from '../utils';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { MarkPoint as MarkPointComponent } from '@visactor/vrender-components';\nimport { isEmpty, isValid, isArray } from '@visactor/vutils';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport { LayoutZIndex } from '../../../constant';\nimport { Factory } from '../../../core/factory';\nimport type { IGroup } from '@visactor/vrender-core';\nimport type { IPoint } from '../../../typings';\n\nexport class MarkPoint extends BaseMarker<IMarkPointSpec> implements IMarkPoint {\n static type = ComponentTypeEnum.markPoint;\n type = ComponentTypeEnum.markPoint;\n name: string = ComponentTypeEnum.markPoint;\n\n layoutZIndex: number = LayoutZIndex.MarkPoint;\n\n protected declare _theme: IMarkPointTheme;\n\n // markPoint组件\n protected declare _markerComponent: MarkPointComponent;\n\n static createComponent(spec: any, options: IComponentOption) {\n const markPointSpec = spec.markPoint;\n if (isEmpty(markPointSpec)) {\n return undefined;\n }\n if (!isArray(markPointSpec) && markPointSpec.visible !== false) {\n return new MarkPoint(markPointSpec, options);\n }\n const markPoints: MarkPoint[] = [];\n markPointSpec.forEach((m: any, i: number) => {\n if (m.visible !== false) {\n markPoints.push(new MarkPoint(m, { ...options, specIndex: i }));\n }\n });\n return markPoints;\n }\n\n protected _createMarkerComponent() {\n const markPoint = new MarkPointComponent({\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? false,\n position: { x: 0, y: 0 },\n itemLine: {\n lineStyle: transformToGraphic(this._spec.itemLine?.line?.style),\n ...this._spec.itemLine\n },\n itemContent: {\n symbolStyle: transformToGraphic(this._spec.itemContent?.symbol?.style),\n imageStyle: this._spec.itemContent?.image?.style,\n textStyle: {\n ...this._spec.itemContent?.text,\n padding: this._spec.itemContent?.text?.labelBackground?.padding,\n shape: {\n ...transformToGraphic(this._spec.itemContent?.text?.shape),\n visible: this._spec.itemContent?.text?.shape?.visible ?? false\n },\n panel: {\n ...transformToGraphic(this._spec.itemContent?.text?.labelBackground?.style),\n visible: this._spec.itemContent?.text?.labelBackground?.visible ?? true\n },\n textStyle: transformToGraphic(this._spec.itemContent?.text?.style)\n },\n richTextStyle: this._spec.itemContent?.richText?.style,\n ...this._spec.itemContent\n },\n clipInRange: this._spec.clip ?? false\n });\n return markPoint as unknown as IGroup;\n }\n\n protected _markerLayout() {\n const spec = this._spec;\n const data = this._markerData;\n const relativeSeries = this._relativeSeries;\n const isXYLayout = 'x' in spec && 'y' in spec;\n const isCoordinateLayout = 'coordinate' in spec;\n const isPositionLayout = 'position' in spec;\n const autoRange = spec?.autoRange ?? false;\n\n let point: IPoint;\n if (isXYLayout) {\n point = xyLayout(data, relativeSeries, relativeSeries, relativeSeries, autoRange)[0][0];\n } else if (isCoordinateLayout) {\n point = coordinateLayout(\n data,\n relativeSeries,\n autoRange,\n (spec as IMarkPointCoordinateSpec).coordinatesOffset\n )[0];\n } else if (isPositionLayout) {\n point = positionLayout([spec.position], relativeSeries, spec.regionRelative)[0];\n }\n\n const seriesData = this._relativeSeries.getViewData().latestData;\n const dataPoints = data\n ? data.latestData[0].latestData\n ? data.latestData[0].latestData\n : data.latestData\n : seriesData;\n\n let limitRect;\n if (spec.clip) {\n const { minX, maxX, minY, maxY } = computeClipRange([relativeSeries.getRegion()]);\n limitRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n }\n\n this._markerComponent?.setAttributes({\n position: point,\n itemContent: {\n ...this._markerComponent?.attribute?.itemContent,\n textStyle: {\n ...this._markerComponent?.attribute?.itemContent?.textStyle,\n text: this._spec.itemContent.text?.formatMethod\n ? this._spec.itemContent.text.formatMethod(dataPoints, seriesData)\n : this._markerComponent?.attribute?.itemContent?.textStyle?.text\n }\n },\n limitRect,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n });\n }\n\n protected _initDataView(): void {\n const spec = this._spec as any;\n const relativeSeries = this._relativeSeries;\n const isXYProcess = isValid(spec.x) && isValid(spec.y);\n const isCoordinateProcess = isValid(spec.coordinate);\n if (!isCoordinateProcess && !isXYProcess) {\n return;\n }\n\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n\n let options;\n if (isXYProcess) {\n options = [this._processSpecXY(spec.x, spec.y)];\n } else if (isCoordinateProcess) {\n options = this._processSpecCoo(spec);\n }\n\n const data = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n data.parse([relativeSeries.getViewData()], {\n type: 'dataview'\n });\n data.transform({\n type: 'markerAggregation',\n options\n });\n\n data.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n\nexport const registerMarkPoint = () => {\n Factory.registerComponent(MarkPoint.type, MarkPoint);\n};\n"]}
@@ -1,5 +1,16 @@
1
- import type { ICartesianSeries } from '../../series/interface';
1
+ import type { ICartesianSeries, ISeries } from '../../series/interface';
2
2
  import type { DataView } from '@visactor/vdataset';
3
3
  import type { IPoint } from '../../typings';
4
+ import type { IDataPos, MarkerPositionPoint } from './interface';
5
+ import type { IRegion } from '../../region/interface';
6
+ import type { OffsetPoint } from './interface';
7
+ export declare function isAggrSpec(spec: IDataPos): boolean;
4
8
  export declare function xyLayout(data: DataView, startRelativeSeries: ICartesianSeries, endRelativeSeries: ICartesianSeries, relativeSeries: ICartesianSeries, autoRange: boolean): IPoint[][];
5
- export declare function coordinateLayout(data: DataView, relativeSeries: ICartesianSeries, autoRange: boolean): IPoint[];
9
+ export declare function coordinateLayout(data: DataView, relativeSeries: ICartesianSeries, autoRange: boolean, coordinatesOffset: OffsetPoint[] | OffsetPoint): IPoint[];
10
+ export declare function positionLayout(positions: MarkerPositionPoint[], series: ISeries, regionRelative: boolean): IPoint[];
11
+ export declare function computeClipRange(regions: IRegion[]): {
12
+ minX: number;
13
+ maxX: number;
14
+ minY: number;
15
+ maxY: number;
16
+ };