@visactor/vchart 1.10.3-alpha.0 → 1.10.4

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 (363) hide show
  1. package/build/es5/index.js +2 -2
  2. package/build/index.js +13277 -13297
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/utils.js +2 -2
  6. package/cjs/animation/utils.js.map +1 -1
  7. package/cjs/chart/base/base-chart-transformer.js +5 -2
  8. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  9. package/cjs/chart/base/base-chart.d.ts +2 -1
  10. package/cjs/chart/base/base-chart.js +14 -6
  11. package/cjs/chart/base/base-chart.js.map +1 -1
  12. package/cjs/chart/cartesian/cartesian-transformer.js +2 -2
  13. package/cjs/chart/cartesian/cartesian-transformer.js.map +1 -1
  14. package/cjs/chart/common/common-transformer.js +3 -2
  15. package/cjs/chart/common/common-transformer.js.map +1 -1
  16. package/cjs/chart/common/interface.d.ts +2 -2
  17. package/cjs/chart/common/interface.js.map +1 -1
  18. package/cjs/chart/interface/chart.d.ts +4 -1
  19. package/cjs/chart/interface/chart.js.map +1 -1
  20. package/cjs/chart/polar/progress-like/progress-like-transformer.js +3 -3
  21. package/cjs/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  22. package/cjs/chart/radar/radar-transformer.js +3 -3
  23. package/cjs/chart/radar/radar-transformer.js.map +1 -1
  24. package/cjs/chart/rose/rose-transformer.js +2 -2
  25. package/cjs/chart/rose/rose-transformer.js.map +1 -1
  26. package/cjs/chart/stack.js +1 -2
  27. package/cjs/chart/util.js +2 -2
  28. package/cjs/chart/util.js.map +1 -1
  29. package/cjs/compile/grammar-item.js +2 -1
  30. package/cjs/compile/mark/compilable-mark.d.ts +2 -1
  31. package/cjs/compile/mark/compilable-mark.js +4 -0
  32. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  33. package/cjs/compile/mark/interface.d.ts +1 -0
  34. package/cjs/compile/mark/interface.js.map +1 -1
  35. package/cjs/component/axis/base-axis.js +6 -6
  36. package/cjs/component/axis/base-axis.js.map +1 -1
  37. package/cjs/component/axis/cartesian/axis.js +14 -13
  38. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  39. package/cjs/component/axis/cartesian/interface/common.d.ts +1 -0
  40. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  41. package/cjs/component/axis/cartesian/time-axis.js +2 -2
  42. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  43. package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +4 -0
  44. package/cjs/component/axis/mixin/linear-axis-mixin.js +7 -2
  45. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  46. package/cjs/component/axis/polar/axis.js +5 -4
  47. package/cjs/component/axis/polar/axis.js.map +1 -1
  48. package/cjs/component/axis/util.js +3 -3
  49. package/cjs/component/axis/util.js.map +1 -1
  50. package/cjs/component/base/util.js +12 -12
  51. package/cjs/component/base/util.js.map +1 -1
  52. package/cjs/component/crosshair/cartesian.js +1 -3
  53. package/cjs/component/crosshair/cartesian.js.map +1 -1
  54. package/cjs/component/crosshair/interface/cartesian.d.ts +11 -24
  55. package/cjs/component/crosshair/interface/cartesian.js.map +1 -1
  56. package/cjs/component/crosshair/interface/polar.d.ts +7 -5
  57. package/cjs/component/crosshair/interface/polar.js.map +1 -1
  58. package/cjs/component/crosshair/polar.js +2 -5
  59. package/cjs/component/crosshair/polar.js.map +1 -1
  60. package/cjs/component/crosshair/utils/cartesian.js +14 -14
  61. package/cjs/component/crosshair/utils/cartesian.js.map +1 -1
  62. package/cjs/component/crosshair/utils/common.js +6 -5
  63. package/cjs/component/crosshair/utils/common.js.map +1 -1
  64. package/cjs/component/crosshair/utils/polar.js +17 -11
  65. package/cjs/component/crosshair/utils/polar.js.map +1 -1
  66. package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -0
  67. package/cjs/component/data-zoom/data-filter-base-component.js +9 -7
  68. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  69. package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js +2 -2
  70. package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
  71. package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -3
  72. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  73. package/cjs/component/data-zoom/util.js.map +1 -1
  74. package/cjs/component/geo/geo-coordinate.js +2 -2
  75. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  76. package/cjs/component/indicator/indicator.js +2 -2
  77. package/cjs/component/indicator/indicator.js.map +1 -1
  78. package/cjs/component/label/label.js +4 -5
  79. package/cjs/component/label/label.js.map +1 -1
  80. package/cjs/component/label/total-label.js +10 -7
  81. package/cjs/component/label/total-label.js.map +1 -1
  82. package/cjs/component/legend/base-legend.js +6 -5
  83. package/cjs/component/legend/base-legend.js.map +1 -1
  84. package/cjs/component/legend/continuous/util.js +3 -3
  85. package/cjs/component/legend/continuous/util.js.map +1 -1
  86. package/cjs/component/legend/discrete/legend.js.map +1 -1
  87. package/cjs/component/legend/discrete/util.js +2 -2
  88. package/cjs/component/legend/discrete/util.js.map +1 -1
  89. package/cjs/component/legend/util.js +2 -2
  90. package/cjs/component/legend/util.js.map +1 -1
  91. package/cjs/component/tooltip/tooltip-transformer.js +3 -2
  92. package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
  93. package/cjs/component/tooltip/tooltip.js +4 -2
  94. package/cjs/component/tooltip/tooltip.js.map +1 -1
  95. package/cjs/core/index.d.ts +1 -1
  96. package/cjs/core/index.js +1 -1
  97. package/cjs/core/index.js.map +1 -1
  98. package/cjs/core/interface.d.ts +2 -0
  99. package/cjs/core/interface.js.map +1 -1
  100. package/cjs/core/vchart.d.ts +2 -2
  101. package/cjs/core/vchart.js +31 -15
  102. package/cjs/core/vchart.js.map +1 -1
  103. package/cjs/event/interface.d.ts +2 -0
  104. package/cjs/event/interface.js.map +1 -1
  105. package/cjs/layout/grid-layout/grid-layout.d.ts +1 -1
  106. package/cjs/layout/grid-layout/grid-layout.js +4 -4
  107. package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
  108. package/cjs/mark/base/base-mark.js +2 -2
  109. package/cjs/mark/base/base-mark.js.map +1 -1
  110. package/cjs/model/base-model-transformer.js +2 -2
  111. package/cjs/model/base-model-transformer.js.map +1 -1
  112. package/cjs/plugin/chart/media-query/media-query.js +4 -4
  113. package/cjs/plugin/chart/media-query/media-query.js.map +1 -1
  114. package/cjs/plugin/chart/media-query/util/action.js +4 -3
  115. package/cjs/plugin/chart/media-query/util/action.js.map +1 -1
  116. package/cjs/plugin/components/tooltip-handler/base.js +3 -3
  117. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  118. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  119. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +5 -5
  120. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  121. package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js +2 -2
  122. package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
  123. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
  124. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  125. package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js +2 -2
  126. package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
  127. package/cjs/plugin/components/tooltip-handler/dom/utils/style.js +4 -4
  128. package/cjs/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
  129. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +4 -4
  130. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  131. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js +2 -2
  132. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
  133. package/cjs/region/interface.d.ts +2 -0
  134. package/cjs/region/interface.js.map +1 -1
  135. package/cjs/region/region.d.ts +1 -0
  136. package/cjs/region/region.js +5 -1
  137. package/cjs/region/region.js.map +1 -1
  138. package/cjs/series/area/area-transformer.js +6 -5
  139. package/cjs/series/area/area-transformer.js.map +1 -1
  140. package/cjs/series/bar/bar.js.map +1 -1
  141. package/cjs/series/base/base-series-transformer.js +4 -4
  142. package/cjs/series/base/base-series-transformer.js.map +1 -1
  143. package/cjs/series/base/base-series.d.ts +1 -0
  144. package/cjs/series/base/base-series.js +7 -4
  145. package/cjs/series/base/base-series.js.map +1 -1
  146. package/cjs/series/dot/dot.js +2 -2
  147. package/cjs/series/dot/dot.js.map +1 -1
  148. package/cjs/series/interface/series.d.ts +1 -0
  149. package/cjs/series/interface/series.js.map +1 -1
  150. package/cjs/series/mixin/line-mixin.js +2 -2
  151. package/cjs/series/mixin/line-mixin.js.map +1 -1
  152. package/cjs/series/pie/pie-transformer.js +4 -4
  153. package/cjs/series/pie/pie-transformer.js.map +1 -1
  154. package/cjs/series/sankey/sankey.d.ts +2 -1
  155. package/cjs/series/sankey/sankey.js +50 -118
  156. package/cjs/series/sankey/sankey.js.map +1 -1
  157. package/cjs/series/util/stack.js +29 -15
  158. package/cjs/series/util/stack.js.map +1 -1
  159. package/cjs/series/word-cloud/base.js +3 -13
  160. package/cjs/series/word-cloud/base.js.map +1 -1
  161. package/cjs/typings/spec/common.d.ts +1 -0
  162. package/cjs/typings/spec/common.js.map +1 -1
  163. package/cjs/util/data.d.ts +21 -4
  164. package/cjs/util/data.js +42 -14
  165. package/cjs/util/data.js.map +1 -1
  166. package/cjs/util/index.d.ts +1 -0
  167. package/cjs/util/index.js +4 -4
  168. package/cjs/util/index.js.map +1 -1
  169. package/cjs/util/spec/index.d.ts +0 -5
  170. package/cjs/util/spec/index.js +1 -4
  171. package/cjs/util/spec/index.js.map +1 -1
  172. package/cjs/util/spec/transform.js.map +1 -1
  173. package/cjs/util/theme/merge-theme.js +3 -3
  174. package/cjs/util/theme/merge-theme.js.map +1 -1
  175. package/esm/animation/utils.js +1 -1
  176. package/esm/animation/utils.js.map +1 -1
  177. package/esm/chart/base/base-chart-transformer.js +5 -1
  178. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  179. package/esm/chart/base/base-chart.d.ts +2 -1
  180. package/esm/chart/base/base-chart.js +14 -6
  181. package/esm/chart/base/base-chart.js.map +1 -1
  182. package/esm/chart/cartesian/cartesian-transformer.js +3 -1
  183. package/esm/chart/cartesian/cartesian-transformer.js.map +1 -1
  184. package/esm/chart/common/common-transformer.js +3 -1
  185. package/esm/chart/common/common-transformer.js.map +1 -1
  186. package/esm/chart/common/interface.d.ts +2 -2
  187. package/esm/chart/common/interface.js.map +1 -1
  188. package/esm/chart/interface/chart.d.ts +4 -1
  189. package/esm/chart/interface/chart.js.map +1 -1
  190. package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
  191. package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  192. package/esm/chart/radar/radar-transformer.js +3 -1
  193. package/esm/chart/radar/radar-transformer.js.map +1 -1
  194. package/esm/chart/rose/rose-transformer.js +1 -1
  195. package/esm/chart/rose/rose-transformer.js.map +1 -1
  196. package/esm/chart/stack.js +1 -2
  197. package/esm/chart/util.js +3 -1
  198. package/esm/chart/util.js.map +1 -1
  199. package/esm/compile/grammar-item.js +2 -1
  200. package/esm/compile/mark/compilable-mark.d.ts +2 -1
  201. package/esm/compile/mark/compilable-mark.js +4 -0
  202. package/esm/compile/mark/compilable-mark.js.map +1 -1
  203. package/esm/compile/mark/interface.d.ts +1 -0
  204. package/esm/compile/mark/interface.js.map +1 -1
  205. package/esm/component/axis/base-axis.js +1 -1
  206. package/esm/component/axis/base-axis.js.map +1 -1
  207. package/esm/component/axis/cartesian/axis.js +13 -10
  208. package/esm/component/axis/cartesian/axis.js.map +1 -1
  209. package/esm/component/axis/cartesian/interface/common.d.ts +1 -0
  210. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  211. package/esm/component/axis/cartesian/time-axis.js +2 -2
  212. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  213. package/esm/component/axis/mixin/linear-axis-mixin.d.ts +4 -0
  214. package/esm/component/axis/mixin/linear-axis-mixin.js +7 -2
  215. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  216. package/esm/component/axis/polar/axis.js +4 -3
  217. package/esm/component/axis/polar/axis.js.map +1 -1
  218. package/esm/component/axis/util.js +1 -1
  219. package/esm/component/axis/util.js.map +1 -1
  220. package/esm/component/base/util.js +2 -2
  221. package/esm/component/base/util.js.map +1 -1
  222. package/esm/component/crosshair/cartesian.js +3 -5
  223. package/esm/component/crosshair/cartesian.js.map +1 -1
  224. package/esm/component/crosshair/interface/cartesian.d.ts +11 -24
  225. package/esm/component/crosshair/interface/cartesian.js.map +1 -1
  226. package/esm/component/crosshair/interface/polar.d.ts +7 -5
  227. package/esm/component/crosshair/interface/polar.js.map +1 -1
  228. package/esm/component/crosshair/polar.js +4 -7
  229. package/esm/component/crosshair/polar.js.map +1 -1
  230. package/esm/component/crosshair/utils/cartesian.js +14 -14
  231. package/esm/component/crosshair/utils/cartesian.js.map +1 -1
  232. package/esm/component/crosshair/utils/common.js +2 -2
  233. package/esm/component/crosshair/utils/common.js.map +1 -1
  234. package/esm/component/crosshair/utils/polar.js +15 -9
  235. package/esm/component/crosshair/utils/polar.js.map +1 -1
  236. package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -0
  237. package/esm/component/data-zoom/data-filter-base-component.js +9 -7
  238. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  239. package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js +3 -1
  240. package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
  241. package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -1
  242. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  243. package/esm/component/data-zoom/util.js.map +1 -1
  244. package/esm/component/geo/geo-coordinate.js +1 -1
  245. package/esm/component/geo/geo-coordinate.js.map +1 -1
  246. package/esm/component/indicator/indicator.js +1 -1
  247. package/esm/component/indicator/indicator.js.map +1 -1
  248. package/esm/component/label/label.js +3 -4
  249. package/esm/component/label/label.js.map +1 -1
  250. package/esm/component/label/total-label.js +9 -6
  251. package/esm/component/label/total-label.js.map +1 -1
  252. package/esm/component/legend/base-legend.js +3 -2
  253. package/esm/component/legend/base-legend.js.map +1 -1
  254. package/esm/component/legend/continuous/util.js +1 -1
  255. package/esm/component/legend/continuous/util.js.map +1 -1
  256. package/esm/component/legend/discrete/legend.js.map +1 -1
  257. package/esm/component/legend/discrete/util.js +1 -1
  258. package/esm/component/legend/discrete/util.js.map +1 -1
  259. package/esm/component/legend/util.js +1 -1
  260. package/esm/component/legend/util.js.map +1 -1
  261. package/esm/component/tooltip/tooltip-transformer.js +3 -1
  262. package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
  263. package/esm/component/tooltip/tooltip.js +4 -2
  264. package/esm/component/tooltip/tooltip.js.map +1 -1
  265. package/esm/core/index.d.ts +1 -1
  266. package/esm/core/index.js +1 -1
  267. package/esm/core/index.js.map +1 -1
  268. package/esm/core/interface.d.ts +2 -0
  269. package/esm/core/interface.js.map +1 -1
  270. package/esm/core/vchart.d.ts +2 -2
  271. package/esm/core/vchart.js +26 -12
  272. package/esm/core/vchart.js.map +1 -1
  273. package/esm/event/interface.d.ts +2 -0
  274. package/esm/event/interface.js.map +1 -1
  275. package/esm/layout/grid-layout/grid-layout.d.ts +1 -1
  276. package/esm/layout/grid-layout/grid-layout.js +4 -4
  277. package/esm/layout/grid-layout/grid-layout.js.map +1 -1
  278. package/esm/mark/base/base-mark.js +1 -1
  279. package/esm/mark/base/base-mark.js.map +1 -1
  280. package/esm/model/base-model-transformer.js +3 -1
  281. package/esm/model/base-model-transformer.js.map +1 -1
  282. package/esm/plugin/chart/media-query/media-query.js +3 -1
  283. package/esm/plugin/chart/media-query/media-query.js.map +1 -1
  284. package/esm/plugin/chart/media-query/util/action.js +2 -2
  285. package/esm/plugin/chart/media-query/util/action.js.map +1 -1
  286. package/esm/plugin/components/tooltip-handler/base.js +3 -3
  287. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  288. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  289. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +1 -1
  290. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  291. package/esm/plugin/components/tooltip-handler/dom/model/content-model.js +1 -1
  292. package/esm/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
  293. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js +1 -1
  294. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  295. package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js +1 -1
  296. package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
  297. package/esm/plugin/components/tooltip-handler/dom/utils/style.js +1 -1
  298. package/esm/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
  299. package/esm/plugin/components/tooltip-handler/utils/attribute.js +1 -1
  300. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  301. package/esm/plugin/components/tooltip-handler/utils/get-spec.js +1 -1
  302. package/esm/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
  303. package/esm/region/interface.d.ts +2 -0
  304. package/esm/region/interface.js.map +1 -1
  305. package/esm/region/region.d.ts +1 -0
  306. package/esm/region/region.js +5 -1
  307. package/esm/region/region.js.map +1 -1
  308. package/esm/series/area/area-transformer.js +1 -1
  309. package/esm/series/area/area-transformer.js.map +1 -1
  310. package/esm/series/bar/bar.js.map +1 -1
  311. package/esm/series/base/base-series-transformer.js +3 -1
  312. package/esm/series/base/base-series-transformer.js.map +1 -1
  313. package/esm/series/base/base-series.d.ts +1 -0
  314. package/esm/series/base/base-series.js +4 -1
  315. package/esm/series/base/base-series.js.map +1 -1
  316. package/esm/series/dot/dot.js +1 -1
  317. package/esm/series/dot/dot.js.map +1 -1
  318. package/esm/series/interface/series.d.ts +1 -0
  319. package/esm/series/interface/series.js.map +1 -1
  320. package/esm/series/mixin/line-mixin.js +1 -1
  321. package/esm/series/mixin/line-mixin.js.map +1 -1
  322. package/esm/series/pie/pie-transformer.js +1 -1
  323. package/esm/series/pie/pie-transformer.js.map +1 -1
  324. package/esm/series/sankey/sankey.d.ts +2 -1
  325. package/esm/series/sankey/sankey.js +51 -119
  326. package/esm/series/sankey/sankey.js.map +1 -1
  327. package/esm/series/util/stack.js +28 -15
  328. package/esm/series/util/stack.js.map +1 -1
  329. package/esm/series/word-cloud/base.js +4 -14
  330. package/esm/series/word-cloud/base.js.map +1 -1
  331. package/esm/typings/spec/common.d.ts +1 -0
  332. package/esm/typings/spec/common.js.map +1 -1
  333. package/esm/util/data.d.ts +21 -4
  334. package/esm/util/data.js +39 -10
  335. package/esm/util/data.js.map +1 -1
  336. package/esm/util/index.d.ts +1 -0
  337. package/esm/util/index.js +2 -0
  338. package/esm/util/index.js.map +1 -1
  339. package/esm/util/spec/index.d.ts +0 -5
  340. package/esm/util/spec/index.js +0 -10
  341. package/esm/util/spec/index.js.map +1 -1
  342. package/esm/util/spec/transform.js.map +1 -1
  343. package/esm/util/theme/merge-theme.js +1 -1
  344. package/esm/util/theme/merge-theme.js.map +1 -1
  345. package/package.json +15 -15
  346. package/cjs/util/spec/clone-deep.d.ts +0 -1
  347. package/cjs/util/spec/clone-deep.js +0 -27
  348. package/cjs/util/spec/clone-deep.js.map +0 -1
  349. package/cjs/util/spec/common.d.ts +0 -3
  350. package/cjs/util/spec/common.js +0 -23
  351. package/cjs/util/spec/common.js.map +0 -1
  352. package/cjs/util/spec/merge-spec.d.ts +0 -5
  353. package/cjs/util/spec/merge-spec.js +0 -69
  354. package/cjs/util/spec/merge-spec.js.map +0 -1
  355. package/esm/util/spec/clone-deep.d.ts +0 -1
  356. package/esm/util/spec/clone-deep.js +0 -20
  357. package/esm/util/spec/clone-deep.js.map +0 -1
  358. package/esm/util/spec/common.d.ts +0 -3
  359. package/esm/util/spec/common.js +0 -15
  360. package/esm/util/spec/common.js.map +0 -1
  361. package/esm/util/spec/merge-spec.d.ts +0 -5
  362. package/esm/util/spec/merge-spec.js +0 -57
  363. package/esm/util/spec/merge-spec.js.map +0 -1
@@ -18,7 +18,7 @@ import { STATE_VALUE_ENUM } from "../../compile/mark/interface";
18
18
 
19
19
  import { lineLikeSeriesMark } from "./constant";
20
20
 
21
- import { mergeSpec } from "../../util/spec";
21
+ import { mergeSpec } from "@visactor/vutils-extension";
22
22
 
23
23
  export class LineLikeSeriesMixin {
24
24
  addSamplingCompile() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/mixin/line-mixin.ts"],"names":[],"mappings":"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","file":"line-mixin.js","sourcesContent":["import { PREFIX } from '../../constant/base';\nimport type { ISeriesOption } from '../interface/common';\nimport { DataView } from '@visactor/vdataset';\nimport { ChartEvent } from '../../constant/event';\nimport type { ISeries } from '../interface/series';\nimport { AttributeLevel } from '../../constant';\n\nimport type { IMark, IMarkProgressiveConfig } from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from '../../mark/interface/type';\nimport type { ILineMark } from '../../mark/line';\nimport type { ISymbolMark } from '../../mark/symbol';\nimport type { ITextMark } from '../../mark/text';\nimport type {\n DirectionType,\n IInvalidType,\n InterpolateType,\n ILineMarkSpec,\n ISymbolMarkSpec,\n Maybe,\n Datum,\n IMarkTheme,\n ILayoutRect\n} from '../../typings';\nimport { DEFAULT_LINEAR_INTERPOLATE, DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport { Direction } from '../../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport { DEFAULT_CLOSE_STROKE_JOIN } from '../../typings/line-stroke';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ISeriesMarkInfo, ISeriesMarkInitOption, ISeriesTooltipHelper } from '../interface';\nimport type { ILabelSpec } from '../../component/label';\nimport { shouldMarkDoMorph } from '../../animation/utils';\nimport type { DimensionEventParams } from '../../event/events/dimension';\n// eslint-disable-next-line no-duplicate-imports\nimport { DimensionEventEnum } from '../../event/events/dimension';\nimport type { EventCallback, EventParams } from '../../event/interface';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport { lineLikeSeriesMark } from './constant';\nimport type { ILabelMark } from '../../mark/label';\nimport type { Functional } from '@visactor/vrender-components';\nimport type { IRegion } from '../../region/interface';\nimport type { SeriesData } from '../base/series-data';\nimport { mergeSpec } from '../../util/spec';\n\nexport interface ILineLikeSeriesTheme {\n line?: Partial<IMarkTheme<ILineMarkSpec>>;\n point?: Partial<IMarkTheme<ISymbolMarkSpec>> & { visibleInActive?: boolean };\n label?: Partial<ILineLikeLabelSpec>;\n}\n\nexport type ILineLikeLabelSpec = Omit<ILabelSpec, 'position'> & {\n /** 标签位置\n * @since 1.6.0\n * 支持以函数形式配置\n */\n position?: Functional<\n 'top' | 'bottom' | 'left' | 'right' | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'center'\n >;\n};\n\nexport interface LineLikeSeriesMixin extends ISeries {\n _spec: any;\n _option: ISeriesOption;\n _seriesField: string;\n _theme: Maybe<ILineLikeSeriesTheme>;\n _tooltipHelper: ISeriesTooltipHelper;\n _invalidType: IInvalidType;\n _region: IRegion;\n _direction: DirectionType;\n _data: SeriesData;\n\n _lineMark: ILineMark;\n _symbolMark: ISymbolMark;\n _symbolActiveMark: ISymbolMark;\n _labelMark: ITextMark;\n _fieldX?: string[];\n _fieldY?: string[];\n _fieldZ?: string[];\n\n _createMark: (markInfo: ISeriesMarkInfo, option?: ISeriesMarkInitOption) => IMark;\n _getInvalidDefined: () => boolean;\n _getInvalidConnectType: () => IInvalidType;\n\n getLayoutRect: () => ILayoutRect;\n}\n\nexport class LineLikeSeriesMixin {\n addSamplingCompile(): void {\n if (this._spec.sampling) {\n const { width, height } = this._region.getLayoutRect();\n const samplingTrans = [];\n const fieldsY = this._fieldY;\n const fieldsX = this._fieldX;\n\n samplingTrans.push({\n type: 'sampling',\n size: this._direction === Direction.horizontal ? height : width,\n factor: this._spec.samplingFactor,\n yfield: this._direction === Direction.horizontal ? fieldsX[0] : fieldsY[0],\n groupBy: this._seriesField,\n mode: this._spec.sampling\n });\n this._data.getProduct().transform(samplingTrans);\n }\n }\n\n addOverlapCompile(): void {\n if (this._spec.markOverlap) {\n const overlapTrans = [];\n overlapTrans.push({\n type: 'markoverlap',\n direction: this._direction === Direction.horizontal && this.coordinate === 'cartesian' ? 2 : 1,\n delta: this._spec.pointDis,\n deltaMul: this._spec.pointDisMul,\n groupBy: this._seriesField\n });\n this._symbolMark?.getProduct().transform(overlapTrans);\n }\n }\n\n reCompileSampling(): void {\n if (this._spec.sampling) {\n this.compile();\n }\n }\n\n initLineMark(progressive?: IMarkProgressiveConfig, isSeriesMark?: boolean) {\n this._lineMark = this._createMark(lineLikeSeriesMark.line, {\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n isSeriesMark: isSeriesMark ?? true,\n progressive,\n customShape: this._spec.line?.customShape,\n stateSort: this._spec.line?.stateSort\n }) as ILineMark;\n return this._lineMark;\n }\n\n initLineMarkStyle(direction?: DirectionType, areaCurveType?: InterpolateType) {\n const lineMark = this._lineMark;\n if (lineMark) {\n this.setMarkStyle(\n lineMark,\n {\n stroke: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n lineMark,\n {\n defined: this._getInvalidDefined.bind(this),\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(lineMark, 'defined');\n });\n if (this.coordinate === 'polar') {\n // 极坐标系下需要关闭\n this.setMarkStyle(\n lineMark,\n {\n lineJoin: DEFAULT_CLOSE_STROKE_JOIN,\n curveType: DEFAULT_LINEAR_INTERPOLATE,\n closePath: true\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n const userCurveType = areaCurveType ?? this.getSpec().line?.style?.curveType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? direction === Direction.horizontal\n ? 'monotoneY'\n : 'monotoneX'\n : userCurveType;\n\n this.setMarkStyle(\n lineMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n\n this.setMarkStyle(\n lineMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n return lineMark;\n }\n\n protected _getEventElement(params: DimensionEventParams, reverse: boolean = false): Datum[] {\n // items 修改遍历方法从 mark\n let data: Datum[] = [];\n params.dimensionInfo.some(df => {\n df.data.some(dd => {\n if (dd.series === this) {\n data = dd.datum;\n return true;\n }\n return false;\n });\n return !data.length;\n });\n return data;\n }\n\n protected _dimensionTrigger(params: DimensionEventParams) {\n const elements = this._getEventElement(params);\n\n switch (params.action) {\n case 'enter':\n this._symbolActiveMark.getDataView().parse(elements);\n this._symbolActiveMark.getData().updateData(false);\n break;\n case 'leave':\n this._symbolActiveMark.getDataView().parse([]);\n this._symbolActiveMark.getData().updateData(false);\n case 'click':\n case 'move':\n default:\n break;\n }\n }\n\n initSymbolMark(progressive?: IMarkProgressiveConfig, isSeriesMark?: boolean) {\n const pointSpec = this._spec.point || {};\n\n if (pointSpec.visible !== false) {\n this._symbolMark = this._createMark(lineLikeSeriesMark.point, {\n morph: shouldMarkDoMorph(this._spec, lineLikeSeriesMark.point.name),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n progressive,\n isSeriesMark: !!isSeriesMark,\n customShape: pointSpec.customShape,\n stateSort: pointSpec.stateSort\n }) as ISymbolMark;\n }\n\n if (this._spec.activePoint === true) {\n const activeData = new DataView(this._option.dataSet, { name: `${PREFIX}_series_${this.id}_active_point` });\n activeData.parse([]);\n this._symbolActiveMark = this._createMark(\n { name: `active_point_${this.id}`, type: MarkTypeEnum.symbol },\n {\n morph: false,\n groupKey: this._seriesField,\n isSeriesMark: false,\n dataView: activeData,\n parent: this._region.getInteractionMark(),\n customShape: pointSpec.customShape,\n stateSort: pointSpec.stateSort\n }\n ) as ISymbolMark;\n this._symbolActiveMark.setVisible(false);\n }\n\n return this._symbolMark;\n }\n\n initSymbolMarkStyle() {\n const symbolMark = this._symbolMark;\n if (!symbolMark) {\n this._initSymbolActiveMarkAlone();\n return symbolMark;\n }\n // 设置基础样式\n this._initSymbolMark(symbolMark);\n\n // setStyle to active point\n if (this._symbolActiveMark && this._symbolMark.stateStyle.dimension_hover) {\n // active point will show\n this._symbolActiveMark.setVisible(true);\n this.event.on(DimensionEventEnum.dimensionHover, this._dimensionTrigger.bind(this) as EventCallback<EventParams>);\n // set style with referer\n for (const state in this._symbolMark.stateStyle) {\n this._symbolActiveMark.stateStyle[state] = {};\n for (const key in this._symbolMark.stateStyle[state]) {\n this._symbolActiveMark.stateStyle[state][key] = {\n style: null,\n level: AttributeLevel.Series,\n referer: symbolMark\n };\n }\n }\n // make sure activeMark in state\n this._symbolActiveMark.state.changeStateInfo({\n stateValue: STATE_VALUE_ENUM.STATE_DIMENSION_HOVER,\n filter: () => true\n });\n }\n\n return symbolMark;\n }\n\n private _initSymbolMark(symbolMark: ISymbolMark) {\n if (!symbolMark) {\n return;\n }\n this.setMarkStyle(\n symbolMark,\n {\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n symbolMark,\n {\n visible: this._getInvalidDefined.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(symbolMark, 'visible');\n });\n\n this.setMarkStyle(\n symbolMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n private _initSymbolActiveMarkAlone() {\n const symbolMark = this._symbolActiveMark;\n if (!symbolMark) {\n return;\n }\n this._initSymbolMark(symbolMark);\n\n // 这里应该不能讲trigger-mark改为activeMark,activeMark数据会变,并且目前不支持selected等操作改变它的数据\n // this._trigger.registerMark(symbolMark);\n\n // setStyle to active point\n if (symbolMark && this._spec[lineLikeSeriesMark.point.name]?.state?.dimension_hover) {\n // active point will show\n symbolMark.setVisible(true);\n this.event.on(DimensionEventEnum.dimensionHover, this._dimensionTrigger.bind(this) as EventCallback<EventParams>);\n // set style with referer\n this.initMarkStyleWithSpec(\n symbolMark,\n mergeSpec({}, this._spec[lineLikeSeriesMark.point.name], { visible: true })\n );\n // make sure activeMark in state\n this._symbolActiveMark.state.changeStateInfo({\n stateValue: STATE_VALUE_ENUM.STATE_DIMENSION_HOVER,\n filter: () => true\n });\n }\n }\n\n initLabelMarkStyle(labelMark?: ILabelMark) {\n if (!labelMark) {\n return;\n }\n if (labelMark.getTarget()?.type !== 'symbol') {\n labelMark.setRule('line-data');\n }\n this.setMarkStyle(labelMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n labelMark,\n {\n visible: this._getInvalidDefined.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(labelMark, 'visible');\n });\n }\n\n initLineLabelMarkStyle(labelMark?: ILabelMark) {\n if (!labelMark) {\n return;\n }\n\n this.setMarkStyle(labelMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getSeriesField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n }\n\n encodeDefined(mark: IMark, attr: string) {\n if (!mark) {\n return;\n }\n const allValid = this._isFieldAllValid();\n if (this._invalidType === 'zero' || allValid) {\n if (mark.stateStyle.normal?.[attr]?.style === true) {\n // no change\n return;\n }\n this.setMarkStyle(mark, { [attr]: true }, 'normal', AttributeLevel.Series);\n } else {\n if (mark.stateStyle.normal?.[attr]?.style !== true) {\n // no change\n return;\n }\n this.setMarkStyle(mark, { [attr]: this._getInvalidDefined.bind(this) }, 'normal', AttributeLevel.Series);\n }\n // if has produce, reCompile encode to set attribute to product\n if (mark.getProduct()) {\n mark.compileEncode();\n }\n }\n\n protected _isFieldAllValid() {\n const viewStatistics = this.getViewDataStatistics();\n const field = this.getStackValueField();\n if (viewStatistics && viewStatistics.latestData && field) {\n return viewStatistics.latestData[field] && viewStatistics.latestData[field].allValid;\n }\n return false;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/mixin/line-mixin.ts"],"names":[],"mappings":"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","file":"line-mixin.js","sourcesContent":["import { PREFIX } from '../../constant/base';\nimport type { ISeriesOption } from '../interface/common';\nimport { DataView } from '@visactor/vdataset';\nimport { ChartEvent } from '../../constant/event';\nimport type { ISeries } from '../interface/series';\nimport { AttributeLevel } from '../../constant';\n\nimport type { IMark, IMarkProgressiveConfig } from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from '../../mark/interface/type';\nimport type { ILineMark } from '../../mark/line';\nimport type { ISymbolMark } from '../../mark/symbol';\nimport type { ITextMark } from '../../mark/text';\nimport type {\n DirectionType,\n IInvalidType,\n InterpolateType,\n ILineMarkSpec,\n ISymbolMarkSpec,\n Maybe,\n Datum,\n IMarkTheme,\n ILayoutRect\n} from '../../typings';\nimport { DEFAULT_LINEAR_INTERPOLATE, DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport { Direction } from '../../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport { DEFAULT_CLOSE_STROKE_JOIN } from '../../typings/line-stroke';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ISeriesMarkInfo, ISeriesMarkInitOption, ISeriesTooltipHelper } from '../interface';\nimport type { ILabelSpec } from '../../component/label';\nimport { shouldMarkDoMorph } from '../../animation/utils';\nimport type { DimensionEventParams } from '../../event/events/dimension';\n// eslint-disable-next-line no-duplicate-imports\nimport { DimensionEventEnum } from '../../event/events/dimension';\nimport type { EventCallback, EventParams } from '../../event/interface';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport { lineLikeSeriesMark } from './constant';\nimport type { ILabelMark } from '../../mark/label';\nimport type { Functional } from '@visactor/vrender-components';\nimport type { IRegion } from '../../region/interface';\nimport type { SeriesData } from '../base/series-data';\nimport { mergeSpec } from '@visactor/vutils-extension';\n\nexport interface ILineLikeSeriesTheme {\n line?: Partial<IMarkTheme<ILineMarkSpec>>;\n point?: Partial<IMarkTheme<ISymbolMarkSpec>> & { visibleInActive?: boolean };\n label?: Partial<ILineLikeLabelSpec>;\n}\n\nexport type ILineLikeLabelSpec = Omit<ILabelSpec, 'position'> & {\n /** 标签位置\n * @since 1.6.0\n * 支持以函数形式配置\n */\n position?: Functional<\n 'top' | 'bottom' | 'left' | 'right' | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'center'\n >;\n};\n\nexport interface LineLikeSeriesMixin extends ISeries {\n _spec: any;\n _option: ISeriesOption;\n _seriesField: string;\n _theme: Maybe<ILineLikeSeriesTheme>;\n _tooltipHelper: ISeriesTooltipHelper;\n _invalidType: IInvalidType;\n _region: IRegion;\n _direction: DirectionType;\n _data: SeriesData;\n\n _lineMark: ILineMark;\n _symbolMark: ISymbolMark;\n _symbolActiveMark: ISymbolMark;\n _labelMark: ITextMark;\n _fieldX?: string[];\n _fieldY?: string[];\n _fieldZ?: string[];\n\n _createMark: (markInfo: ISeriesMarkInfo, option?: ISeriesMarkInitOption) => IMark;\n _getInvalidDefined: () => boolean;\n _getInvalidConnectType: () => IInvalidType;\n\n getLayoutRect: () => ILayoutRect;\n}\n\nexport class LineLikeSeriesMixin {\n addSamplingCompile(): void {\n if (this._spec.sampling) {\n const { width, height } = this._region.getLayoutRect();\n const samplingTrans = [];\n const fieldsY = this._fieldY;\n const fieldsX = this._fieldX;\n\n samplingTrans.push({\n type: 'sampling',\n size: this._direction === Direction.horizontal ? height : width,\n factor: this._spec.samplingFactor,\n yfield: this._direction === Direction.horizontal ? fieldsX[0] : fieldsY[0],\n groupBy: this._seriesField,\n mode: this._spec.sampling\n });\n this._data.getProduct().transform(samplingTrans);\n }\n }\n\n addOverlapCompile(): void {\n if (this._spec.markOverlap) {\n const overlapTrans = [];\n overlapTrans.push({\n type: 'markoverlap',\n direction: this._direction === Direction.horizontal && this.coordinate === 'cartesian' ? 2 : 1,\n delta: this._spec.pointDis,\n deltaMul: this._spec.pointDisMul,\n groupBy: this._seriesField\n });\n this._symbolMark?.getProduct().transform(overlapTrans);\n }\n }\n\n reCompileSampling(): void {\n if (this._spec.sampling) {\n this.compile();\n }\n }\n\n initLineMark(progressive?: IMarkProgressiveConfig, isSeriesMark?: boolean) {\n this._lineMark = this._createMark(lineLikeSeriesMark.line, {\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n isSeriesMark: isSeriesMark ?? true,\n progressive,\n customShape: this._spec.line?.customShape,\n stateSort: this._spec.line?.stateSort\n }) as ILineMark;\n return this._lineMark;\n }\n\n initLineMarkStyle(direction?: DirectionType, areaCurveType?: InterpolateType) {\n const lineMark = this._lineMark;\n if (lineMark) {\n this.setMarkStyle(\n lineMark,\n {\n stroke: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n lineMark,\n {\n defined: this._getInvalidDefined.bind(this),\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(lineMark, 'defined');\n });\n if (this.coordinate === 'polar') {\n // 极坐标系下需要关闭\n this.setMarkStyle(\n lineMark,\n {\n lineJoin: DEFAULT_CLOSE_STROKE_JOIN,\n curveType: DEFAULT_LINEAR_INTERPOLATE,\n closePath: true\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n const userCurveType = areaCurveType ?? this.getSpec().line?.style?.curveType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? direction === Direction.horizontal\n ? 'monotoneY'\n : 'monotoneX'\n : userCurveType;\n\n this.setMarkStyle(\n lineMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n\n this.setMarkStyle(\n lineMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n return lineMark;\n }\n\n protected _getEventElement(params: DimensionEventParams, reverse: boolean = false): Datum[] {\n // items 修改遍历方法从 mark\n let data: Datum[] = [];\n params.dimensionInfo.some(df => {\n df.data.some(dd => {\n if (dd.series === this) {\n data = dd.datum;\n return true;\n }\n return false;\n });\n return !data.length;\n });\n return data;\n }\n\n protected _dimensionTrigger(params: DimensionEventParams) {\n const elements = this._getEventElement(params);\n\n switch (params.action) {\n case 'enter':\n this._symbolActiveMark.getDataView().parse(elements);\n this._symbolActiveMark.getData().updateData(false);\n break;\n case 'leave':\n this._symbolActiveMark.getDataView().parse([]);\n this._symbolActiveMark.getData().updateData(false);\n case 'click':\n case 'move':\n default:\n break;\n }\n }\n\n initSymbolMark(progressive?: IMarkProgressiveConfig, isSeriesMark?: boolean) {\n const pointSpec = this._spec.point || {};\n\n if (pointSpec.visible !== false) {\n this._symbolMark = this._createMark(lineLikeSeriesMark.point, {\n morph: shouldMarkDoMorph(this._spec, lineLikeSeriesMark.point.name),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n progressive,\n isSeriesMark: !!isSeriesMark,\n customShape: pointSpec.customShape,\n stateSort: pointSpec.stateSort\n }) as ISymbolMark;\n }\n\n if (this._spec.activePoint === true) {\n const activeData = new DataView(this._option.dataSet, { name: `${PREFIX}_series_${this.id}_active_point` });\n activeData.parse([]);\n this._symbolActiveMark = this._createMark(\n { name: `active_point_${this.id}`, type: MarkTypeEnum.symbol },\n {\n morph: false,\n groupKey: this._seriesField,\n isSeriesMark: false,\n dataView: activeData,\n parent: this._region.getInteractionMark(),\n customShape: pointSpec.customShape,\n stateSort: pointSpec.stateSort\n }\n ) as ISymbolMark;\n this._symbolActiveMark.setVisible(false);\n }\n\n return this._symbolMark;\n }\n\n initSymbolMarkStyle() {\n const symbolMark = this._symbolMark;\n if (!symbolMark) {\n this._initSymbolActiveMarkAlone();\n return symbolMark;\n }\n // 设置基础样式\n this._initSymbolMark(symbolMark);\n\n // setStyle to active point\n if (this._symbolActiveMark && this._symbolMark.stateStyle.dimension_hover) {\n // active point will show\n this._symbolActiveMark.setVisible(true);\n this.event.on(DimensionEventEnum.dimensionHover, this._dimensionTrigger.bind(this) as EventCallback<EventParams>);\n // set style with referer\n for (const state in this._symbolMark.stateStyle) {\n this._symbolActiveMark.stateStyle[state] = {};\n for (const key in this._symbolMark.stateStyle[state]) {\n this._symbolActiveMark.stateStyle[state][key] = {\n style: null,\n level: AttributeLevel.Series,\n referer: symbolMark\n };\n }\n }\n // make sure activeMark in state\n this._symbolActiveMark.state.changeStateInfo({\n stateValue: STATE_VALUE_ENUM.STATE_DIMENSION_HOVER,\n filter: () => true\n });\n }\n\n return symbolMark;\n }\n\n private _initSymbolMark(symbolMark: ISymbolMark) {\n if (!symbolMark) {\n return;\n }\n this.setMarkStyle(\n symbolMark,\n {\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n symbolMark,\n {\n visible: this._getInvalidDefined.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(symbolMark, 'visible');\n });\n\n this.setMarkStyle(\n symbolMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n private _initSymbolActiveMarkAlone() {\n const symbolMark = this._symbolActiveMark;\n if (!symbolMark) {\n return;\n }\n this._initSymbolMark(symbolMark);\n\n // 这里应该不能讲trigger-mark改为activeMark,activeMark数据会变,并且目前不支持selected等操作改变它的数据\n // this._trigger.registerMark(symbolMark);\n\n // setStyle to active point\n if (symbolMark && this._spec[lineLikeSeriesMark.point.name]?.state?.dimension_hover) {\n // active point will show\n symbolMark.setVisible(true);\n this.event.on(DimensionEventEnum.dimensionHover, this._dimensionTrigger.bind(this) as EventCallback<EventParams>);\n // set style with referer\n this.initMarkStyleWithSpec(\n symbolMark,\n mergeSpec({}, this._spec[lineLikeSeriesMark.point.name], { visible: true })\n );\n // make sure activeMark in state\n this._symbolActiveMark.state.changeStateInfo({\n stateValue: STATE_VALUE_ENUM.STATE_DIMENSION_HOVER,\n filter: () => true\n });\n }\n }\n\n initLabelMarkStyle(labelMark?: ILabelMark) {\n if (!labelMark) {\n return;\n }\n if (labelMark.getTarget()?.type !== 'symbol') {\n labelMark.setRule('line-data');\n }\n this.setMarkStyle(labelMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n labelMark,\n {\n visible: this._getInvalidDefined.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n this.event.on(ChartEvent.viewDataStatisticsUpdate, { filter: param => param.model === this }, () => {\n this.encodeDefined(labelMark, 'visible');\n });\n }\n\n initLineLabelMarkStyle(labelMark?: ILabelMark) {\n if (!labelMark) {\n return;\n }\n\n this.setMarkStyle(labelMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getSeriesField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n }\n\n encodeDefined(mark: IMark, attr: string) {\n if (!mark) {\n return;\n }\n const allValid = this._isFieldAllValid();\n if (this._invalidType === 'zero' || allValid) {\n if (mark.stateStyle.normal?.[attr]?.style === true) {\n // no change\n return;\n }\n this.setMarkStyle(mark, { [attr]: true }, 'normal', AttributeLevel.Series);\n } else {\n if (mark.stateStyle.normal?.[attr]?.style !== true) {\n // no change\n return;\n }\n this.setMarkStyle(mark, { [attr]: this._getInvalidDefined.bind(this) }, 'normal', AttributeLevel.Series);\n }\n // if has produce, reCompile encode to set attribute to product\n if (mark.getProduct()) {\n mark.compileEncode();\n }\n }\n\n protected _isFieldAllValid() {\n const viewStatistics = this.getViewDataStatistics();\n const field = this.getStackValueField();\n if (viewStatistics && viewStatistics.latestData && field) {\n return viewStatistics.latestData[field] && viewStatistics.latestData[field].allValid;\n }\n return false;\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { isArray, isValid } from "@visactor/vutils";
2
2
 
3
- import { mergeSpec } from "../../util";
3
+ import { mergeSpec } from "@visactor/vutils-extension";
4
4
 
5
5
  import { BaseSeriesSpecTransformer } from "../base";
6
6
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/pie/pie-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAIpD,MAAM,OAAO,wBAGX,SAAQ,yBAA+B;IAC7B,mBAAmB,CAAC,IAAO;QACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,QAAyB,CAAC;IACvD,CAAC;IAGS,iBAAiB,CAAC,IAAO,EAAE,SAAc;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE;YAClC,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAI/D,OAAO,GAAG,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAQ,CAAC;YAEjE,MAAM,kBAAkB,GAAG,CAAC,QAAmC,EAAE,KAAoB,EAAE,EAAE;gBACvF,IAAI,QAAQ,KAAK,QAAQ,EAAE;oBACzB,OAAO,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;iBACrD;gBACD,OAAO,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC,CAAC;YAEF,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC1B,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;aACvF;iBAAM;gBACL,OAAO,CAAC,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;aAC3E;SACF;QAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAES,wBAAwB,CAAC,SAAc;;QAC/C,MAAM,IAAI,GAAG,MAAC,KAAK,CAAC,wBAAwB,CAAC,SAAS,CAAS,mCAAI,EAAE,CAAC;QACtE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;QACvC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;QACD,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;CACF","file":"pie-transformer.js","sourcesContent":["import { isArray, isValid } from '@visactor/vutils';\nimport { mergeSpec } from '../../util';\nimport { BaseSeriesSpecTransformer } from '../base';\nimport { SeriesMarkNameEnum } from '../interface';\nimport type { IArcLabelSpec, IBasePieSeriesSpec, IPieSeriesTheme } from './interface';\n\nexport class PieSeriesSpecTransformer<\n T extends IBasePieSeriesSpec = IBasePieSeriesSpec,\n K extends IPieSeriesTheme = IPieSeriesTheme\n> extends BaseSeriesSpecTransformer<T, K> {\n protected _transformLabelSpec(spec: T): void {\n this._addMarkLabelSpec(spec, SeriesMarkNameEnum.pie);\n }\n\n /** 将 theme merge 到 spec 中 */\n protected _mergeThemeToSpec(spec: T, chartSpec: any): { spec: T; theme: K } {\n const theme = this._theme;\n let newSpec = spec;\n if (this._shouldMergeThemeToSpec()) {\n const specFromChart = this._getDefaultSpecFromChart(chartSpec);\n\n // this._originalSpec + specFromChart + this._theme = this._spec\n // 动态处理 label 样式,对于展示在内部的 label 默认使用 innerLabel 样式\n newSpec = mergeSpec({}, this._theme, specFromChart, spec) as any;\n\n const getMergedLabelSpec = (position: IArcLabelSpec['position'], label: IArcLabelSpec) => {\n if (position === 'inside') {\n return mergeSpec({}, this._theme.innerLabel, label);\n }\n return mergeSpec({}, this._theme.outerLabel, label);\n };\n\n if (isArray(newSpec.label)) {\n newSpec.label = newSpec.label.map(label => getMergedLabelSpec(label.position, label));\n } else {\n newSpec.label = getMergedLabelSpec(newSpec.label.position, newSpec.label);\n }\n }\n\n return { spec: newSpec, theme };\n }\n\n protected _getDefaultSpecFromChart(chartSpec: any): any {\n const spec = (super._getDefaultSpecFromChart(chartSpec) as any) ?? {};\n const { centerX, centerY } = chartSpec;\n if (isValid(centerX)) {\n spec.centerX = centerX;\n }\n if (isValid(centerY)) {\n spec.centerY = centerY;\n }\n return Object.keys(spec).length > 0 ? spec : undefined;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/pie/pie-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAIpD,MAAM,OAAO,wBAGX,SAAQ,yBAA+B;IAC7B,mBAAmB,CAAC,IAAO;QACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,QAAyB,CAAC;IACvD,CAAC;IAGS,iBAAiB,CAAC,IAAO,EAAE,SAAc;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE;YAClC,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAI/D,OAAO,GAAG,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAQ,CAAC;YAEjE,MAAM,kBAAkB,GAAG,CAAC,QAAmC,EAAE,KAAoB,EAAE,EAAE;gBACvF,IAAI,QAAQ,KAAK,QAAQ,EAAE;oBACzB,OAAO,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;iBACrD;gBACD,OAAO,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC,CAAC;YAEF,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC1B,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;aACvF;iBAAM;gBACL,OAAO,CAAC,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;aAC3E;SACF;QAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAES,wBAAwB,CAAC,SAAc;;QAC/C,MAAM,IAAI,GAAG,MAAC,KAAK,CAAC,wBAAwB,CAAC,SAAS,CAAS,mCAAI,EAAE,CAAC;QACtE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;QACvC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;QACD,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;CACF","file":"pie-transformer.js","sourcesContent":["import { isArray, isValid } from '@visactor/vutils';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport { BaseSeriesSpecTransformer } from '../base';\nimport { SeriesMarkNameEnum } from '../interface';\nimport type { IArcLabelSpec, IBasePieSeriesSpec, IPieSeriesTheme } from './interface';\n\nexport class PieSeriesSpecTransformer<\n T extends IBasePieSeriesSpec = IBasePieSeriesSpec,\n K extends IPieSeriesTheme = IPieSeriesTheme\n> extends BaseSeriesSpecTransformer<T, K> {\n protected _transformLabelSpec(spec: T): void {\n this._addMarkLabelSpec(spec, SeriesMarkNameEnum.pie);\n }\n\n /** 将 theme merge 到 spec 中 */\n protected _mergeThemeToSpec(spec: T, chartSpec: any): { spec: T; theme: K } {\n const theme = this._theme;\n let newSpec = spec;\n if (this._shouldMergeThemeToSpec()) {\n const specFromChart = this._getDefaultSpecFromChart(chartSpec);\n\n // this._originalSpec + specFromChart + this._theme = this._spec\n // 动态处理 label 样式,对于展示在内部的 label 默认使用 innerLabel 样式\n newSpec = mergeSpec({}, this._theme, specFromChart, spec) as any;\n\n const getMergedLabelSpec = (position: IArcLabelSpec['position'], label: IArcLabelSpec) => {\n if (position === 'inside') {\n return mergeSpec({}, this._theme.innerLabel, label);\n }\n return mergeSpec({}, this._theme.outerLabel, label);\n };\n\n if (isArray(newSpec.label)) {\n newSpec.label = newSpec.label.map(label => getMergedLabelSpec(label.position, label));\n } else {\n newSpec.label = getMergedLabelSpec(newSpec.label.position, newSpec.label);\n }\n }\n\n return { spec: newSpec, theme };\n }\n\n protected _getDefaultSpecFromChart(chartSpec: any): any {\n const spec = (super._getDefaultSpecFromChart(chartSpec) as any) ?? {};\n const { centerX, centerY } = chartSpec;\n if (isValid(centerX)) {\n spec.centerX = centerX;\n }\n if (isValid(centerY)) {\n spec.centerY = centerY;\n }\n return Object.keys(spec).length > 0 ? spec : undefined;\n }\n}\n"]}
@@ -5,7 +5,7 @@ import type { Datum } from '../../typings';
5
5
  import { SeriesData } from '../base/series-data';
6
6
  import type { ISankeySeriesSpec } from './interface';
7
7
  import type { ExtendEventParam } from '../../event/interface';
8
- import type { IElement, IGlyphElement } from '@visactor/vgrammar-core';
8
+ import type { IElement, IGlyphElement, IMark as IVgrammarMark } from '@visactor/vgrammar-core';
9
9
  import type { IMark } from '../../mark/interface';
10
10
  export declare class SankeySeries<T extends ISankeySeriesSpec = ISankeySeriesSpec> extends CartesianSeries<T> {
11
11
  static readonly type: string;
@@ -46,6 +46,7 @@ export declare class SankeySeries<T extends ISankeySeriesSpec = ISankeySeriesSpe
46
46
  protected _handleLinkAdjacencyClick: (element: IGlyphElement) => void;
47
47
  protected _handleNodeRelatedClick: (element: IElement) => void;
48
48
  protected _handleLinkRelatedClick: (element: IGlyphElement) => void;
49
+ protected _highLightElements(vGrammarElements: IVgrammarMark['elements'], highlightNodes: string[]): void;
49
50
  protected initTooltip(): void;
50
51
  _setNodeOrdinalColorScale(): void;
51
52
  getNodeList(): any;
@@ -20,7 +20,7 @@ import { STATE_VALUE_ENUM } from "../../compile/mark/interface";
20
20
 
21
21
  import { DataView } from "@visactor/vdataset";
22
22
 
23
- import { LayoutZIndex, AttributeLevel, Event_Bubble_Level, DEFAULT_DATA_INDEX } from "../../constant";
23
+ import { LayoutZIndex, AttributeLevel, Event_Bubble_Level } from "../../constant";
24
24
 
25
25
  import { SeriesData } from "../base/series-data";
26
26
 
@@ -58,26 +58,24 @@ export class SankeySeries extends CartesianSeries {
58
58
  const element = params.item;
59
59
  element && element.mark.id().includes("node") ? this._handleNodeRelatedClick(element) : element && element.mark.id().includes("link") ? this._handleLinkRelatedClick(element) : this._handleClearEmpty();
60
60
  }, this._handleClearEmpty = () => {
61
- const nodeVGrammarMark = this._nodeMark.getProduct();
62
- if (!nodeVGrammarMark || !nodeVGrammarMark.elements || !nodeVGrammarMark.elements.length) return;
63
- const allNodeElements = nodeVGrammarMark.elements, linkVGrammarMark = this._linkMark.getProduct();
64
- if (!linkVGrammarMark || !linkVGrammarMark.elements || !linkVGrammarMark.elements.length) return;
65
- const allLinkElements = linkVGrammarMark.elements, labelVGrammarMark = this._labelMark.getProduct();
66
- if (!labelVGrammarMark || !labelVGrammarMark.elements || !labelVGrammarMark.elements.length) return;
67
- const allLabelElements = labelVGrammarMark.elements;
68
- allNodeElements.forEach((el => {
61
+ const allNodeElements = this._nodeMark.getProductElements();
62
+ if (!allNodeElements || !allNodeElements.length) return;
63
+ const allLinkElements = this._linkMark.getProductElements();
64
+ if (!allLinkElements || !allLinkElements.length) return;
65
+ const allLabelElements = this._labelMark.getProductElements();
66
+ allLabelElements && allLabelElements.length && (allNodeElements.forEach((el => {
69
67
  el.clearStates();
70
68
  })), allLinkElements.forEach((el => {
71
69
  el.clearStates();
72
70
  })), allLabelElements.forEach((el => {
73
71
  el.clearStates();
74
- }));
72
+ })));
75
73
  }, this._handleNodeAdjacencyClick = element => {
76
74
  const nodeDatum = element.getDatum(), highlightNodes = [ nodeDatum.key ];
77
75
  if (this._linkMark) {
78
- const vGrammarMark = this._linkMark.getProduct();
79
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
80
- vGrammarMark.elements.forEach(((linkEl, i) => {
76
+ const allLinkElements = this._linkMark.getProductElements();
77
+ if (!allLinkElements || !allLinkElements.length) return;
78
+ allLinkElements.forEach(((linkEl, i) => {
81
79
  linkEl.clearStates();
82
80
  const linkDatum = linkEl.getDatum(), father = (null == linkDatum ? void 0 : linkDatum.parents) ? "parents" : "source";
83
81
  if (array(linkDatum[father]).includes(nodeDatum.key)) {
@@ -94,52 +92,27 @@ export class SankeySeries extends CartesianSeries {
94
92
  } else linkDatum.target === nodeDatum.key ? highlightNodes.includes(linkDatum.source) || highlightNodes.push(linkDatum.source) : linkEl.useStates([ "blur" ]);
95
93
  }));
96
94
  }
97
- if (this._nodeMark) {
98
- const vGrammarMark = this._nodeMark.getProduct();
99
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
100
- vGrammarMark.elements.forEach((el => {
101
- el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
102
- }));
103
- }
104
- if (this._labelMark) {
105
- const vGrammarMark = this._labelMark.getProduct();
106
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
107
- vGrammarMark.elements.forEach((el => {
108
- el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
109
- }));
110
- }
95
+ this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes),
96
+ this._labelMark && this._highLightElements(this._labelMark.getProductElements(), highlightNodes);
111
97
  }, this._handleLinkAdjacencyClick = element => {
112
98
  const curLinkDatum = element.getDatum(), highlightNodes = [ curLinkDatum.source, curLinkDatum.target ];
113
99
  if (this._linkMark) {
114
- const vGrammarMark = this._linkMark.getProduct();
115
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
116
- vGrammarMark.elements.forEach((linkEl => {
100
+ const allLinkElements = this._linkMark.getProductElements();
101
+ if (!allLinkElements || !allLinkElements.length) return;
102
+ allLinkElements.forEach((linkEl => {
117
103
  linkEl.clearStates(), linkEl === element ? linkEl.addState("selected", {
118
104
  ratio: 1
119
105
  }) : linkEl.useStates([ "blur" ]);
120
106
  }));
121
107
  }
122
- if (this._nodeMark) {
123
- const vGrammarMark = this._nodeMark.getProduct();
124
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
125
- vGrammarMark.elements.forEach((el => {
126
- el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
127
- }));
128
- }
129
- if (this._labelMark) {
130
- const vGrammarMark = this._labelMark.getProduct();
131
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
132
- vGrammarMark.elements.forEach((el => {
133
- el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
134
- }));
135
- }
108
+ this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes),
109
+ this._labelMark && this._highLightElements(this._labelMark.getProductElements(), highlightNodes);
136
110
  }, this._handleNodeRelatedClick = element => {
137
111
  var _a;
138
- const nodeDatum = element.getDatum(), nodeVGrammarMark = this._nodeMark.getProduct();
139
- if (!nodeVGrammarMark || !nodeVGrammarMark.elements || !nodeVGrammarMark.elements.length) return;
140
- const allNodeElements = nodeVGrammarMark.elements, linkVGrammarMark = this._linkMark.getProduct();
141
- if (!linkVGrammarMark || !linkVGrammarMark.elements || !linkVGrammarMark.elements.length) return;
142
- const allLinkElements = linkVGrammarMark.elements;
112
+ const nodeDatum = element.getDatum(), allNodeElements = this._nodeMark.getProductElements();
113
+ if (!allNodeElements || !allNodeElements.length) return;
114
+ const allLinkElements = this._linkMark.getProductElements();
115
+ if (!allLinkElements || !allLinkElements.length) return;
143
116
  if ("source" === ((null === (_a = allLinkElements[0].getDatum()) || void 0 === _a ? void 0 : _a.parents) ? "parents" : "source")) {
144
117
  const highlightNodes = [ nodeDatum.key ], highlightLinks = [];
145
118
  if (allLinkElements.forEach(((linkEl, i) => {
@@ -183,27 +156,15 @@ export class SankeySeries extends CartesianSeries {
183
156
  }
184
157
  }
185
158
  })), this._linkMark) {
186
- const vGrammarMark = this._linkMark.getProduct();
187
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
188
- vGrammarMark.elements.forEach(((linkEl, i) => {
159
+ const allLinkElements = this._linkMark.getProductElements();
160
+ if (!allLinkElements || !allLinkElements.length) return;
161
+ allLinkElements.forEach(((linkEl, i) => {
189
162
  var _a;
190
163
  linkEl.clearStates(), highlightLinks.includes(null !== (_a = linkEl.getDatum().key) && void 0 !== _a ? _a : linkEl.getDatum().index) ? linkEl.useStates([ "selected" ]) : linkEl.useStates([ "blur" ]);
191
164
  }));
192
165
  }
193
- if (this._nodeMark) {
194
- const vGrammarMark = this._nodeMark.getProduct();
195
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
196
- vGrammarMark.elements.forEach((el => {
197
- el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
198
- }));
199
- }
200
- if (this._labelMark) {
201
- const vGrammarMark = this._labelMark.getProduct();
202
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
203
- vGrammarMark.elements.forEach((el => {
204
- el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
205
- }));
206
- }
166
+ this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes),
167
+ this._labelMark && this._highLightElements(this._labelMark.getProductElements(), highlightNodes);
207
168
  } else {
208
169
  const highlightNodes = [ nodeDatum.key ], upstreamLinks = nodeDatum.targetLinks.reduce(((res, link) => (array(link.datum).forEach((dividedLink => {
209
170
  const parents = dividedLink.parents, len = parents.length;
@@ -216,7 +177,7 @@ export class SankeySeries extends CartesianSeries {
216
177
  });
217
178
  }
218
179
  })), res)), []);
219
- if (allLinkElements.forEach(((linkEl, i) => {
180
+ allLinkElements.forEach(((linkEl, i) => {
220
181
  linkEl.clearStates();
221
182
  const linkDatum = linkEl.getDatum(), father = (null == linkDatum ? void 0 : linkDatum.parents) ? "parents" : "source", originalDatum = linkDatum.datum, selectedDatum = originalDatum ? originalDatum.filter((entry => entry[father].some((par => par.key === nodeDatum.key)))) : null, upSelectedLink = upstreamLinks.find((upLink => upLink.source === linkDatum.source && upLink.target === linkDatum.target));
222
183
  if (selectedDatum && selectedDatum.length) {
@@ -233,53 +194,30 @@ export class SankeySeries extends CartesianSeries {
233
194
  ratio: upSelectedLink.value / linkDatum.value
234
195
  });
235
196
  linkEl.useStates([ "blur" ]);
236
- })), this._nodeMark) {
237
- const vGrammarMark = this._nodeMark.getProduct();
238
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
239
- vGrammarMark.elements.forEach((el => {
240
- el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
241
- }));
242
- }
243
- if (this._labelMark) {
244
- const vGrammarMark = this._labelMark.getProduct();
245
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
246
- vGrammarMark.elements.forEach((el => {
247
- el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
248
- }));
249
- }
197
+ })), this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes),
198
+ this._labelMark && this._highLightElements(this._labelMark.getProductElements(), highlightNodes);
250
199
  }
251
200
  }, this._handleLinkRelatedClick = element => {
252
201
  var _a;
253
- const nodeVGrammarMark = this._nodeMark.getProduct();
254
- if (!nodeVGrammarMark || !nodeVGrammarMark.elements || !nodeVGrammarMark.elements.length) return;
255
- const allNodeElements = nodeVGrammarMark.elements, linkVGrammarMark = this._linkMark.getProduct();
256
- if (!linkVGrammarMark || !linkVGrammarMark.elements || !linkVGrammarMark.elements.length) return;
257
- const allLinkElements = linkVGrammarMark.elements;
202
+ const allNodeElements = this._nodeMark.getProductElements();
203
+ if (!allNodeElements || !allNodeElements.length) return;
204
+ const allLinkElements = this._linkMark.getProductElements();
205
+ if (!allLinkElements || !allLinkElements.length) return;
258
206
  if ("source" === ((null === (_a = element.getDatum()) || void 0 === _a ? void 0 : _a.parents) ? "parents" : "source")) {
259
- if (this._linkMark) {
260
- const vGrammarMark = this._linkMark.getProduct();
261
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
262
- vGrammarMark.elements.forEach((linkEl => {
263
- linkEl.clearStates();
264
- }));
265
- }
266
- if (this._nodeMark) {
267
- const vGrammarMark = this._nodeMark.getProduct();
268
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
269
- vGrammarMark.elements.forEach((el => {
270
- el.clearStates();
271
- }));
272
- }
273
- if (this._labelMark) {
274
- const vGrammarMark = this._labelMark.getProduct();
275
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
276
- vGrammarMark.elements.forEach((el => {
207
+ if (this._linkMark && allLinkElements.forEach((linkEl => {
208
+ linkEl.clearStates();
209
+ })), this._nodeMark && allNodeElements.forEach((el => {
210
+ el.clearStates();
211
+ })), this._labelMark) {
212
+ const allLabelElements = this._labelMark.getProductElements();
213
+ if (!allLabelElements || !allLabelElements.length) return;
214
+ allLabelElements.forEach((el => {
277
215
  el.clearStates();
278
216
  }));
279
217
  }
280
218
  } else {
281
219
  const curLinkDatum = element.getDatum(), highlightNodes = [ curLinkDatum.source, curLinkDatum.target ], upstreamLinks = [];
282
- if (array(curLinkDatum.datum).forEach((dividedLink => {
220
+ array(curLinkDatum.datum).forEach((dividedLink => {
283
221
  const parents = dividedLink.parents, len = parents.length;
284
222
  for (let i = 0; i < len - 1; i++) {
285
223
  const source = parents[i].key, target = parents[i + 1].key, value = dividedLink.value, existingItem = upstreamLinks.find((item => item.source === source && item.target === target));
@@ -322,15 +260,7 @@ export class SankeySeries extends CartesianSeries {
322
260
  ratio: upSelectedLink.value / linkDatum.value
323
261
  });
324
262
  linkEl.useStates([ "blur" ]);
325
- })), allNodeElements.forEach((el => {
326
- el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
327
- })), this._labelMark) {
328
- const vGrammarMark = this._labelMark.getProduct();
329
- if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
330
- vGrammarMark.elements.forEach((el => {
331
- el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
332
- }));
333
- }
263
+ })), this._highLightElements(allNodeElements, highlightNodes), this._labelMark && this._highLightElements(this._labelMark.getProductElements(), highlightNodes);
334
264
  }
335
265
  };
336
266
  }
@@ -432,10 +362,9 @@ export class SankeySeries extends CartesianSeries {
432
362
  }
433
363
  }
434
364
  initMark() {
435
- var _a, _b, _c, _d, _e;
365
+ var _a, _b, _c, _d;
436
366
  const nodeMark = this._createMark(SankeySeries.mark.node, {
437
367
  isSeriesMark: !0,
438
- key: DEFAULT_DATA_INDEX,
439
368
  dataView: this._nodesSeriesData.getDataView(),
440
369
  dataProductId: this._nodesSeriesData.getProductId(),
441
370
  customShape: null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.customShape,
@@ -443,15 +372,13 @@ export class SankeySeries extends CartesianSeries {
443
372
  });
444
373
  nodeMark && (nodeMark.setZIndex(this._nodeLayoutZIndex), this._nodeMark = nodeMark);
445
374
  const linkMark = this._createMark(SankeySeries.mark.link, {
446
- key: DEFAULT_DATA_INDEX,
447
375
  dataView: this._linksSeriesData.getDataView(),
448
376
  dataProductId: this._linksSeriesData.getProductId(),
449
377
  customShape: null === (_c = this._spec.link) || void 0 === _c ? void 0 : _c.customShape,
450
378
  stateSort: null === (_d = this._spec.link) || void 0 === _d ? void 0 : _d.stateSort
451
379
  });
452
- if (linkMark && (this._linkMark = linkMark), null === (_e = this._spec.label) || void 0 === _e ? void 0 : _e.visible) {
380
+ if (linkMark && (this._linkMark = linkMark), this._spec.label && this._spec.label.visible) {
453
381
  const labelMark = this._createMark(SankeySeries.mark.label, {
454
- key: DEFAULT_DATA_INDEX,
455
382
  dataView: this._nodesSeriesData.getDataView(),
456
383
  dataProductId: this._nodesSeriesData.getProductId()
457
384
  });
@@ -647,6 +574,11 @@ export class SankeySeries extends CartesianSeries {
647
574
  linksSeriesDataUpdate() {
648
575
  this._linksSeriesData.updateData();
649
576
  }
577
+ _highLightElements(vGrammarElements, highlightNodes) {
578
+ vGrammarElements && vGrammarElements.length && vGrammarElements.forEach((el => {
579
+ el.clearStates(), highlightNodes.includes(el.getDatum().key) || el.useStates([ "blur" ]);
580
+ }));
581
+ }
650
582
  initTooltip() {
651
583
  this._tooltipHelper = new SankeySeriesTooltipHelper(this), this._nodeMark && this._tooltipHelper.activeTriggerSet.mark.add(this._nodeMark),
652
584
  this._linkMark && this._tooltipHelper.activeTriggerSet.mark.add(this._linkMark),