@visactor/vchart-extension 2.0.7-alpha.1 → 2.0.7-alpha.10

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 (295) hide show
  1. package/build/index.js +7327 -26054
  2. package/build/index.min.js +13 -12
  3. package/cjs/charts/3d/arc-3d.js +4 -5
  4. package/cjs/charts/3d/arc-3d.js.map +1 -1
  5. package/cjs/charts/3d/layout.d.ts +1 -1
  6. package/cjs/charts/3d/layout.js.map +1 -1
  7. package/cjs/charts/3d/plugin.js +4 -4
  8. package/cjs/charts/3d/plugin.js.map +1 -1
  9. package/cjs/charts/3d/pyramid-3d.js +4 -5
  10. package/cjs/charts/3d/pyramid-3d.js.map +1 -1
  11. package/cjs/charts/3d/rect-3d.js +4 -4
  12. package/cjs/charts/3d/rect-3d.js.map +1 -1
  13. package/cjs/charts/axis-3d/band-axis.js +2 -2
  14. package/cjs/charts/axis-3d/band-axis.js.map +1 -1
  15. package/cjs/charts/axis-3d/linear-axis.js +2 -2
  16. package/cjs/charts/axis-3d/linear-axis.js.map +1 -1
  17. package/cjs/charts/axis-3d/log-axis.js +2 -2
  18. package/cjs/charts/axis-3d/log-axis.js.map +1 -1
  19. package/cjs/charts/axis-3d/symlog-axis.js +2 -2
  20. package/cjs/charts/axis-3d/symlog-axis.js.map +1 -1
  21. package/cjs/charts/axis-3d/time-axis.js +2 -2
  22. package/cjs/charts/axis-3d/time-axis.js.map +1 -1
  23. package/cjs/charts/candlestick/candlestick.d.ts +1 -1
  24. package/cjs/charts/candlestick/candlestick.js.map +1 -1
  25. package/cjs/charts/candlestick/mark/candlestick.d.ts +2 -1
  26. package/cjs/charts/candlestick/mark/candlestick.js +4 -4
  27. package/cjs/charts/candlestick/mark/candlestick.js.map +1 -1
  28. package/cjs/charts/candlestick/series/animation.d.ts +2 -2
  29. package/cjs/charts/candlestick/series/animation.js +17 -17
  30. package/cjs/charts/candlestick/series/animation.js.map +1 -1
  31. package/cjs/charts/candlestick/series/candlestick.d.ts +2 -1
  32. package/cjs/charts/candlestick/series/candlestick.js +4 -4
  33. package/cjs/charts/candlestick/series/candlestick.js.map +1 -1
  34. package/cjs/charts/combination-candlestick/combination-candlestick-transformer.js +13 -13
  35. package/cjs/charts/combination-candlestick/combination-candlestick-transformer.js.map +1 -1
  36. package/cjs/charts/combination-candlestick/combination-candlestick.js +2 -2
  37. package/cjs/charts/combination-candlestick/combination-candlestick.js.map +1 -1
  38. package/cjs/charts/conversion-funnel/arrow-data-transform.d.ts +1 -1
  39. package/cjs/charts/conversion-funnel/arrow-data-transform.js +5 -5
  40. package/cjs/charts/conversion-funnel/arrow-data-transform.js.map +1 -1
  41. package/cjs/charts/conversion-funnel/conversion-funnel-transformer.js +2 -2
  42. package/cjs/charts/conversion-funnel/conversion-funnel-transformer.js.map +1 -1
  43. package/cjs/charts/conversion-funnel/conversion-funnel.d.ts +1 -1
  44. package/cjs/charts/conversion-funnel/conversion-funnel.js +2 -2
  45. package/cjs/charts/conversion-funnel/conversion-funnel.js.map +1 -1
  46. package/cjs/charts/image-cloud/series/animation.d.ts +2 -2
  47. package/cjs/charts/image-cloud/series/animation.js +8 -8
  48. package/cjs/charts/image-cloud/series/animation.js.map +1 -1
  49. package/cjs/charts/image-cloud/series/image-cloud.d.ts +4 -4
  50. package/cjs/charts/image-cloud/series/image-cloud.js +16 -16
  51. package/cjs/charts/image-cloud/series/image-cloud.js.map +1 -1
  52. package/cjs/charts/image-cloud/series/interface.d.ts +1 -1
  53. package/cjs/charts/image-cloud/series/interface.js.map +1 -1
  54. package/cjs/charts/pictogram/element-highlight-by-graphic-name.js +2 -2
  55. package/cjs/charts/pictogram/element-highlight-by-graphic-name.js.map +1 -1
  56. package/cjs/charts/pictogram/series/pictogram-transformer.js +3 -3
  57. package/cjs/charts/pictogram/series/pictogram-transformer.js.map +1 -1
  58. package/cjs/charts/pictogram/series/pictogram.d.ts +3 -3
  59. package/cjs/charts/pictogram/series/pictogram.js +27 -27
  60. package/cjs/charts/pictogram/series/pictogram.js.map +1 -1
  61. package/cjs/charts/pictogram/series/svg-source.d.ts +1 -2
  62. package/cjs/charts/pictogram/series/svg-source.js +3 -3
  63. package/cjs/charts/pictogram/series/svg-source.js.map +1 -1
  64. package/cjs/charts/pictogram/series/transform.d.ts +1 -1
  65. package/cjs/charts/pictogram/series/transform.js +6 -6
  66. package/cjs/charts/pictogram/series/transform.js.map +1 -1
  67. package/cjs/charts/ranking-bar/interface.d.ts +1 -1
  68. package/cjs/charts/ranking-bar/interface.js.map +1 -1
  69. package/cjs/charts/ranking-bar/ranking-bar-transformer.js +2 -2
  70. package/cjs/charts/ranking-bar/ranking-bar-transformer.js.map +1 -1
  71. package/cjs/charts/ranking-list/interface.d.ts +4 -4
  72. package/cjs/charts/ranking-list/interface.js.map +1 -1
  73. package/cjs/charts/ranking-list/ranking-list-transformer.d.ts +37 -37
  74. package/cjs/charts/ranking-list/ranking-list-transformer.js +5 -5
  75. package/cjs/charts/ranking-list/ranking-list-transformer.js.map +1 -1
  76. package/cjs/charts/ranking-list/utils.js +2 -2
  77. package/cjs/charts/ranking-list/utils.js.map +1 -1
  78. package/cjs/charts/sequence-scatter-kde/interface.d.ts +3 -3
  79. package/cjs/charts/sequence-scatter-kde/interface.js.map +1 -1
  80. package/cjs/charts/sequence-scatter-link/interface.d.ts +2 -2
  81. package/cjs/charts/sequence-scatter-link/interface.js.map +1 -1
  82. package/cjs/charts/sequence-scatter-pixel/interface.d.ts +3 -3
  83. package/cjs/charts/sequence-scatter-pixel/interface.js.map +1 -1
  84. package/cjs/charts/word-cloud-3d/animation.js +3 -3
  85. package/cjs/charts/word-cloud-3d/animation.js.map +1 -1
  86. package/cjs/components/bar-link/bar-link.d.ts +1 -1
  87. package/cjs/components/bar-link/bar-link.js +11 -11
  88. package/cjs/components/bar-link/bar-link.js.map +1 -1
  89. package/cjs/components/bar-link/type.d.ts +1 -6
  90. package/cjs/components/bar-link/type.js.map +1 -1
  91. package/cjs/components/bar-link/util.d.ts +1 -1
  92. package/cjs/components/bar-link/util.js +2 -2
  93. package/cjs/components/bar-link/util.js.map +1 -1
  94. package/cjs/components/bar-regression-line/index.d.ts +26 -0
  95. package/cjs/components/bar-regression-line/index.js +87 -0
  96. package/cjs/components/bar-regression-line/index.js.map +1 -0
  97. package/cjs/components/bar-regression-line/type.d.ts +8 -0
  98. package/cjs/components/bar-regression-line/type.js +6 -0
  99. package/cjs/components/bar-regression-line/type.js.map +1 -0
  100. package/cjs/components/histogram-regression-line/index.d.ts +22 -0
  101. package/cjs/components/histogram-regression-line/index.js +79 -0
  102. package/cjs/components/histogram-regression-line/index.js.map +1 -0
  103. package/cjs/components/histogram-regression-line/type.d.ts +8 -0
  104. package/cjs/components/histogram-regression-line/type.js +6 -0
  105. package/cjs/components/histogram-regression-line/type.js.map +1 -0
  106. package/cjs/components/map-label/layout.d.ts +1 -1
  107. package/cjs/components/map-label/layout.js +4 -4
  108. package/cjs/components/map-label/layout.js.map +1 -1
  109. package/cjs/components/map-label/map-label.d.ts +3 -4
  110. package/cjs/components/map-label/map-label.js +21 -21
  111. package/cjs/components/map-label/map-label.js.map +1 -1
  112. package/cjs/components/map-label/type.d.ts +1 -1
  113. package/cjs/components/map-label/type.js.map +1 -1
  114. package/cjs/components/regression-line/index.d.ts +2 -0
  115. package/cjs/components/regression-line/index.js +21 -0
  116. package/cjs/components/regression-line/index.js.map +1 -0
  117. package/cjs/components/regression-line/regression-line.d.ts +8 -0
  118. package/cjs/components/regression-line/regression-line.js +58 -0
  119. package/cjs/components/regression-line/regression-line.js.map +1 -0
  120. package/cjs/components/regression-line/type.d.ts +30 -0
  121. package/cjs/components/regression-line/type.js +6 -0
  122. package/cjs/components/regression-line/type.js.map +1 -0
  123. package/cjs/components/scatter-regression-line/index.d.ts +25 -0
  124. package/cjs/components/scatter-regression-line/index.js +103 -0
  125. package/cjs/components/scatter-regression-line/index.js.map +1 -0
  126. package/cjs/components/scatter-regression-line/type.d.ts +9 -0
  127. package/cjs/components/scatter-regression-line/type.js +6 -0
  128. package/cjs/components/scatter-regression-line/type.js.map +1 -0
  129. package/cjs/components/series-break/series-break.d.ts +2 -2
  130. package/cjs/components/series-break/series-break.js +10 -10
  131. package/cjs/components/series-break/series-break.js.map +1 -1
  132. package/cjs/components/series-break/type.d.ts +1 -2
  133. package/cjs/components/series-break/type.js.map +1 -1
  134. package/cjs/components/series-break/util.js +7 -7
  135. package/cjs/components/series-break/util.js.map +1 -1
  136. package/cjs/components/series-label/series-label.d.ts +2 -2
  137. package/cjs/components/series-label/series-label.js +8 -8
  138. package/cjs/components/series-label/series-label.js.map +1 -1
  139. package/cjs/components/series-label/type.d.ts +1 -2
  140. package/cjs/components/series-label/type.js.map +1 -1
  141. package/cjs/components/series-label/util.d.ts +4 -4
  142. package/cjs/components/series-label/util.js +5 -5
  143. package/cjs/components/series-label/util.js.map +1 -1
  144. package/cjs/index.d.ts +4 -0
  145. package/cjs/index.js +3 -1
  146. package/cjs/index.js.map +1 -1
  147. package/cjs/type/type.d.ts +1 -1
  148. package/cjs/type/type.js.map +1 -1
  149. package/esm/charts/3d/arc-3d.js +1 -3
  150. package/esm/charts/3d/arc-3d.js.map +1 -1
  151. package/esm/charts/3d/layout.d.ts +1 -1
  152. package/esm/charts/3d/layout.js.map +1 -1
  153. package/esm/charts/3d/plugin.js +1 -1
  154. package/esm/charts/3d/plugin.js.map +1 -1
  155. package/esm/charts/3d/pyramid-3d.js +1 -3
  156. package/esm/charts/3d/pyramid-3d.js.map +1 -1
  157. package/esm/charts/3d/rect-3d.js +1 -3
  158. package/esm/charts/3d/rect-3d.js.map +1 -1
  159. package/esm/charts/axis-3d/band-axis.js +1 -1
  160. package/esm/charts/axis-3d/band-axis.js.map +1 -1
  161. package/esm/charts/axis-3d/linear-axis.js +1 -1
  162. package/esm/charts/axis-3d/linear-axis.js.map +1 -1
  163. package/esm/charts/axis-3d/log-axis.js +1 -1
  164. package/esm/charts/axis-3d/log-axis.js.map +1 -1
  165. package/esm/charts/axis-3d/symlog-axis.js +1 -1
  166. package/esm/charts/axis-3d/symlog-axis.js.map +1 -1
  167. package/esm/charts/axis-3d/time-axis.js +1 -1
  168. package/esm/charts/axis-3d/time-axis.js.map +1 -1
  169. package/esm/charts/candlestick/candlestick.d.ts +1 -1
  170. package/esm/charts/candlestick/candlestick.js.map +1 -1
  171. package/esm/charts/candlestick/mark/candlestick.d.ts +2 -1
  172. package/esm/charts/candlestick/mark/candlestick.js +1 -5
  173. package/esm/charts/candlestick/mark/candlestick.js.map +1 -1
  174. package/esm/charts/candlestick/series/animation.d.ts +2 -2
  175. package/esm/charts/candlestick/series/animation.js +2 -2
  176. package/esm/charts/candlestick/series/animation.js.map +1 -1
  177. package/esm/charts/candlestick/series/candlestick.d.ts +2 -1
  178. package/esm/charts/candlestick/series/candlestick.js +1 -1
  179. package/esm/charts/candlestick/series/candlestick.js.map +1 -1
  180. package/esm/charts/combination-candlestick/combination-candlestick-transformer.js +1 -1
  181. package/esm/charts/combination-candlestick/combination-candlestick-transformer.js.map +1 -1
  182. package/esm/charts/combination-candlestick/combination-candlestick.js +1 -1
  183. package/esm/charts/combination-candlestick/combination-candlestick.js.map +1 -1
  184. package/esm/charts/conversion-funnel/arrow-data-transform.d.ts +1 -1
  185. package/esm/charts/conversion-funnel/arrow-data-transform.js +1 -1
  186. package/esm/charts/conversion-funnel/arrow-data-transform.js.map +1 -1
  187. package/esm/charts/conversion-funnel/conversion-funnel-transformer.js +1 -1
  188. package/esm/charts/conversion-funnel/conversion-funnel-transformer.js.map +1 -1
  189. package/esm/charts/conversion-funnel/conversion-funnel.d.ts +1 -1
  190. package/esm/charts/conversion-funnel/conversion-funnel.js +1 -1
  191. package/esm/charts/conversion-funnel/conversion-funnel.js.map +1 -1
  192. package/esm/charts/image-cloud/series/animation.d.ts +2 -2
  193. package/esm/charts/image-cloud/series/animation.js +2 -2
  194. package/esm/charts/image-cloud/series/animation.js.map +1 -1
  195. package/esm/charts/image-cloud/series/image-cloud.d.ts +4 -4
  196. package/esm/charts/image-cloud/series/image-cloud.js +3 -3
  197. package/esm/charts/image-cloud/series/image-cloud.js.map +1 -1
  198. package/esm/charts/image-cloud/series/interface.d.ts +1 -1
  199. package/esm/charts/image-cloud/series/interface.js.map +1 -1
  200. package/esm/charts/pictogram/element-highlight-by-graphic-name.js +1 -1
  201. package/esm/charts/pictogram/element-highlight-by-graphic-name.js.map +1 -1
  202. package/esm/charts/pictogram/series/pictogram-transformer.js +1 -1
  203. package/esm/charts/pictogram/series/pictogram-transformer.js.map +1 -1
  204. package/esm/charts/pictogram/series/pictogram.d.ts +3 -3
  205. package/esm/charts/pictogram/series/pictogram.js +3 -3
  206. package/esm/charts/pictogram/series/pictogram.js.map +1 -1
  207. package/esm/charts/pictogram/series/svg-source.d.ts +1 -2
  208. package/esm/charts/pictogram/series/svg-source.js +1 -1
  209. package/esm/charts/pictogram/series/svg-source.js.map +1 -1
  210. package/esm/charts/pictogram/series/transform.d.ts +1 -1
  211. package/esm/charts/pictogram/series/transform.js +1 -1
  212. package/esm/charts/pictogram/series/transform.js.map +1 -1
  213. package/esm/charts/ranking-bar/interface.d.ts +1 -1
  214. package/esm/charts/ranking-bar/interface.js.map +1 -1
  215. package/esm/charts/ranking-bar/ranking-bar-transformer.js +1 -3
  216. package/esm/charts/ranking-bar/ranking-bar-transformer.js.map +1 -1
  217. package/esm/charts/ranking-list/interface.d.ts +4 -4
  218. package/esm/charts/ranking-list/interface.js.map +1 -1
  219. package/esm/charts/ranking-list/ranking-list-transformer.d.ts +37 -37
  220. package/esm/charts/ranking-list/ranking-list-transformer.js +1 -1
  221. package/esm/charts/ranking-list/ranking-list-transformer.js.map +1 -1
  222. package/esm/charts/ranking-list/utils.js +1 -1
  223. package/esm/charts/ranking-list/utils.js.map +1 -1
  224. package/esm/charts/sequence-scatter-kde/interface.d.ts +3 -3
  225. package/esm/charts/sequence-scatter-kde/interface.js.map +1 -1
  226. package/esm/charts/sequence-scatter-link/interface.d.ts +2 -2
  227. package/esm/charts/sequence-scatter-link/interface.js.map +1 -1
  228. package/esm/charts/sequence-scatter-pixel/interface.d.ts +3 -3
  229. package/esm/charts/sequence-scatter-pixel/interface.js.map +1 -1
  230. package/esm/charts/word-cloud-3d/animation.js +1 -1
  231. package/esm/charts/word-cloud-3d/animation.js.map +1 -1
  232. package/esm/components/bar-link/bar-link.d.ts +1 -1
  233. package/esm/components/bar-link/bar-link.js +2 -4
  234. package/esm/components/bar-link/bar-link.js.map +1 -1
  235. package/esm/components/bar-link/type.d.ts +1 -6
  236. package/esm/components/bar-link/type.js.map +1 -1
  237. package/esm/components/bar-link/util.d.ts +1 -1
  238. package/esm/components/bar-link/util.js +1 -1
  239. package/esm/components/bar-link/util.js.map +1 -1
  240. package/esm/components/bar-regression-line/index.d.ts +26 -0
  241. package/esm/components/bar-regression-line/index.js +80 -0
  242. package/esm/components/bar-regression-line/index.js.map +1 -0
  243. package/esm/components/bar-regression-line/type.d.ts +8 -0
  244. package/esm/components/bar-regression-line/type.js +2 -0
  245. package/esm/components/bar-regression-line/type.js.map +1 -0
  246. package/esm/components/histogram-regression-line/index.d.ts +22 -0
  247. package/esm/components/histogram-regression-line/index.js +75 -0
  248. package/esm/components/histogram-regression-line/index.js.map +1 -0
  249. package/esm/components/histogram-regression-line/type.d.ts +8 -0
  250. package/esm/components/histogram-regression-line/type.js +2 -0
  251. package/esm/components/histogram-regression-line/type.js.map +1 -0
  252. package/esm/components/map-label/layout.d.ts +1 -1
  253. package/esm/components/map-label/layout.js +1 -1
  254. package/esm/components/map-label/layout.js.map +1 -1
  255. package/esm/components/map-label/map-label.d.ts +3 -4
  256. package/esm/components/map-label/map-label.js +3 -5
  257. package/esm/components/map-label/map-label.js.map +1 -1
  258. package/esm/components/map-label/type.d.ts +1 -1
  259. package/esm/components/map-label/type.js.map +1 -1
  260. package/esm/components/regression-line/index.d.ts +2 -0
  261. package/esm/components/regression-line/index.js +4 -0
  262. package/esm/components/regression-line/index.js.map +1 -0
  263. package/esm/components/regression-line/regression-line.d.ts +8 -0
  264. package/esm/components/regression-line/regression-line.js +52 -0
  265. package/esm/components/regression-line/regression-line.js.map +1 -0
  266. package/esm/components/regression-line/type.d.ts +30 -0
  267. package/esm/components/regression-line/type.js +2 -0
  268. package/esm/components/regression-line/type.js.map +1 -0
  269. package/esm/components/scatter-regression-line/index.d.ts +25 -0
  270. package/esm/components/scatter-regression-line/index.js +99 -0
  271. package/esm/components/scatter-regression-line/index.js.map +1 -0
  272. package/esm/components/scatter-regression-line/type.d.ts +9 -0
  273. package/esm/components/scatter-regression-line/type.js +2 -0
  274. package/esm/components/scatter-regression-line/type.js.map +1 -0
  275. package/esm/components/series-break/series-break.d.ts +2 -2
  276. package/esm/components/series-break/series-break.js +2 -4
  277. package/esm/components/series-break/series-break.js.map +1 -1
  278. package/esm/components/series-break/type.d.ts +1 -2
  279. package/esm/components/series-break/type.js.map +1 -1
  280. package/esm/components/series-break/util.js +1 -1
  281. package/esm/components/series-break/util.js.map +1 -1
  282. package/esm/components/series-label/series-label.d.ts +2 -2
  283. package/esm/components/series-label/series-label.js +2 -4
  284. package/esm/components/series-label/series-label.js.map +1 -1
  285. package/esm/components/series-label/type.d.ts +1 -2
  286. package/esm/components/series-label/type.js.map +1 -1
  287. package/esm/components/series-label/util.d.ts +4 -4
  288. package/esm/components/series-label/util.js +1 -1
  289. package/esm/components/series-label/util.js.map +1 -1
  290. package/esm/index.d.ts +4 -0
  291. package/esm/index.js +9 -1
  292. package/esm/index.js.map +1 -1
  293. package/esm/type/type.d.ts +1 -1
  294. package/esm/type/type.js.map +1 -1
  295. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/charts/ranking-list/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import { IMarkStateSpec, IMarkStateStyleSpec } from '@visactor/vchart';\nimport { StateValue } from '@visactor/vchart/src/compile/mark';\nimport { Datum } from '@visactor/vchart/src/typings/common';\nimport {\n ITextGraphicAttribute,\n ISymbolGraphicAttribute,\n IRectGraphicAttribute,\n EasingType\n} from '@visactor/vrender-core';\n\ntype IRankingListData = Datum[];\n\nexport interface IRankingListSpec {\n /**\n * 图表类型\n */\n type: 'rankingList';\n /**\n * 数据\n */\n data: IRankingListData;\n /**\n * x轴字段\n */\n xField: string;\n /**\n * y轴字段\n */\n yField: string;\n width?: number;\n height?: number;\n /**\n * 标签布局\n * @default 'top'\n */\n labelLayout?: 'top' | 'bothEnd';\n /**\n * 柱样式\n */\n bar?: {\n height?: number;\n style?: IRectGraphicAttribute;\n state?: Record<StateValue, IMarkStateSpec<IRectGraphicAttribute> | IMarkStateStyleSpec<IRectGraphicAttribute>>;\n };\n /**\n * 柱图背景\n */\n barBackground?: {\n visible?: boolean;\n type?: string;\n style?: ISymbolGraphicAttribute | IRectGraphicAttribute;\n state?: Record<\n StateValue,\n | IMarkStateSpec<ISymbolGraphicAttribute | IRectGraphicAttribute>\n | IMarkStateStyleSpec<ISymbolGraphicAttribute | IRectGraphicAttribute>\n >;\n };\n /**\n * 排名图标\n */\n rankingIcon?: {\n visible?: boolean;\n style?: ISymbolGraphicAttribute;\n state?: Record<StateValue, IMarkStateSpec<ISymbolGraphicAttribute> | IMarkStateStyleSpec<ISymbolGraphicAttribute>>;\n };\n /**\n * 装饰图元\n */\n decorateHaloIcons?: [\n {\n visible?: boolean;\n // type?: 'circle' | 'square' | 'emptyCircle' | 'diamond' | 'halo' | 'concentric' | 'custom';\n style?: ISymbolGraphicAttribute;\n state?: Record<\n StateValue,\n IMarkStateSpec<ISymbolGraphicAttribute> | IMarkStateStyleSpec<ISymbolGraphicAttribute>\n >;\n }\n ];\n /**\n * 排名序号\n */\n orderLabel?: {\n visible?: boolean;\n style?: ITextGraphicAttribute;\n formatMethod?: (text: string, datum: Datum) => string;\n state?: Record<StateValue, IMarkStateSpec<ITextGraphicAttribute> | IMarkStateStyleSpec<ITextGraphicAttribute>>;\n };\n /**\n * 名称标签(yField对应的标签)\n */\n nameLabel?: {\n visible?: boolean;\n style?: ITextGraphicAttribute;\n formatMethod?: (text: string, datum: Datum) => string;\n state?: Record<StateValue, IMarkStateSpec<ITextGraphicAttribute> | IMarkStateStyleSpec<ITextGraphicAttribute>>;\n };\n /**\n * 值标签(xField对应的标签)\n */\n valueLabel?: {\n visible?: boolean;\n style?: ITextGraphicAttribute;\n formatMethod?: (text: string, datum: Datum) => string;\n state?: Record<StateValue, IMarkStateSpec<ITextGraphicAttribute> | IMarkStateStyleSpec<ITextGraphicAttribute>>;\n };\n /**\n * 每页行数\n */\n pageSize?: number;\n /**\n * 滚动行数\n */\n scrollSize?: number;\n /**\n * 排行榜动画效果的定义和普通图表不甚相同\n * animationNormal动画代表由player控制其更新数据时执行的滚动效果的动画, 本质上是由普通图表的 update + enter + exit 共同构成的\n */\n /**\n * 出现动画\n */\n animationAppear?: {\n /**\n * 是否开启\n * @default true\n */\n enable?: boolean;\n /**\n * 动画类型\n * @default 'grow'\n * 'grow' 伸展\n */\n type?: 'grow';\n /**\n * 动画时长\n */\n duration?: number;\n /**\n * 动画缓动效果\n */\n easing?: EasingType;\n /**\n * @param spec 经过rankingList转化后的vchart原始spec\n * @description 获取vchart原始spec, 并根据业务自行添加转换逻辑\n */\n customTransformSpec?: (spec: any) => void;\n };\n\n /**\n * 更新动画\n */\n animationUpdate?: {\n /**\n * 是否开启\n * @default true\n */\n enable?: boolean;\n /**\n * 动画类型\n * @default 'grow'\n * 'grow' 伸展\n */\n type?: 'grow';\n /**\n * 动画时长\n */\n duration?: number;\n /**\n * 动画缓动效果\n */\n easing?: EasingType;\n };\n\n /**\n * 循环滚动动画\n */\n animationNormal?: {\n // /**\n // * 是否开启\n // * @default true\n // */\n // enable?: boolean;\n // /**\n // * 动画类型\n // * @default 'scroll'\n // * 'scroll' 伸展\n // */\n // type?: 'scroll';\n /**\n * 动画间隔\n */\n interval?: number;\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/charts/ranking-list/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IMarkStateSpec, IMarkStateStyleSpec } from '@visactor/vchart';\nimport type { StateValue } from '@visactor/vchart/src/compile/mark';\nimport type { Datum } from '@visactor/vchart/src/typings/common';\nimport type {\n ITextGraphicAttribute,\n ISymbolGraphicAttribute,\n IRectGraphicAttribute,\n EasingType\n} from '@visactor/vchart';\n\ntype IRankingListData = Datum[];\n\nexport interface IRankingListSpec {\n /**\n * 图表类型\n */\n type: 'rankingList';\n /**\n * 数据\n */\n data: IRankingListData;\n /**\n * x轴字段\n */\n xField: string;\n /**\n * y轴字段\n */\n yField: string;\n width?: number;\n height?: number;\n /**\n * 标签布局\n * @default 'top'\n */\n labelLayout?: 'top' | 'bothEnd';\n /**\n * 柱样式\n */\n bar?: {\n height?: number;\n style?: IRectGraphicAttribute;\n state?: Record<StateValue, IMarkStateSpec<IRectGraphicAttribute> | IMarkStateStyleSpec<IRectGraphicAttribute>>;\n };\n /**\n * 柱图背景\n */\n barBackground?: {\n visible?: boolean;\n type?: string;\n style?: ISymbolGraphicAttribute | IRectGraphicAttribute;\n state?: Record<\n StateValue,\n | IMarkStateSpec<ISymbolGraphicAttribute | IRectGraphicAttribute>\n | IMarkStateStyleSpec<ISymbolGraphicAttribute | IRectGraphicAttribute>\n >;\n };\n /**\n * 排名图标\n */\n rankingIcon?: {\n visible?: boolean;\n style?: ISymbolGraphicAttribute;\n state?: Record<StateValue, IMarkStateSpec<ISymbolGraphicAttribute> | IMarkStateStyleSpec<ISymbolGraphicAttribute>>;\n };\n /**\n * 装饰图元\n */\n decorateHaloIcons?: [\n {\n visible?: boolean;\n // type?: 'circle' | 'square' | 'emptyCircle' | 'diamond' | 'halo' | 'concentric' | 'custom';\n style?: ISymbolGraphicAttribute;\n state?: Record<\n StateValue,\n IMarkStateSpec<ISymbolGraphicAttribute> | IMarkStateStyleSpec<ISymbolGraphicAttribute>\n >;\n }\n ];\n /**\n * 排名序号\n */\n orderLabel?: {\n visible?: boolean;\n style?: ITextGraphicAttribute;\n formatMethod?: (text: string, datum: Datum) => string;\n state?: Record<StateValue, IMarkStateSpec<ITextGraphicAttribute> | IMarkStateStyleSpec<ITextGraphicAttribute>>;\n };\n /**\n * 名称标签(yField对应的标签)\n */\n nameLabel?: {\n visible?: boolean;\n style?: ITextGraphicAttribute;\n formatMethod?: (text: string, datum: Datum) => string;\n state?: Record<StateValue, IMarkStateSpec<ITextGraphicAttribute> | IMarkStateStyleSpec<ITextGraphicAttribute>>;\n };\n /**\n * 值标签(xField对应的标签)\n */\n valueLabel?: {\n visible?: boolean;\n style?: ITextGraphicAttribute;\n formatMethod?: (text: string, datum: Datum) => string;\n state?: Record<StateValue, IMarkStateSpec<ITextGraphicAttribute> | IMarkStateStyleSpec<ITextGraphicAttribute>>;\n };\n /**\n * 每页行数\n */\n pageSize?: number;\n /**\n * 滚动行数\n */\n scrollSize?: number;\n /**\n * 排行榜动画效果的定义和普通图表不甚相同\n * animationNormal动画代表由player控制其更新数据时执行的滚动效果的动画, 本质上是由普通图表的 update + enter + exit 共同构成的\n */\n /**\n * 出现动画\n */\n animationAppear?: {\n /**\n * 是否开启\n * @default true\n */\n enable?: boolean;\n /**\n * 动画类型\n * @default 'grow'\n * 'grow' 伸展\n */\n type?: 'grow';\n /**\n * 动画时长\n */\n duration?: number;\n /**\n * 动画缓动效果\n */\n easing?: EasingType;\n /**\n * @param spec 经过rankingList转化后的vchart原始spec\n * @description 获取vchart原始spec, 并根据业务自行添加转换逻辑\n */\n customTransformSpec?: (spec: any) => void;\n };\n\n /**\n * 更新动画\n */\n animationUpdate?: {\n /**\n * 是否开启\n * @default true\n */\n enable?: boolean;\n /**\n * 动画类型\n * @default 'grow'\n * 'grow' 伸展\n */\n type?: 'grow';\n /**\n * 动画时长\n */\n duration?: number;\n /**\n * 动画缓动效果\n */\n easing?: EasingType;\n };\n\n /**\n * 循环滚动动画\n */\n animationNormal?: {\n // /**\n // * 是否开启\n // * @default true\n // */\n // enable?: boolean;\n // /**\n // * 动画类型\n // * @default 'scroll'\n // * 'scroll' 伸展\n // */\n // type?: 'scroll';\n /**\n * 动画间隔\n */\n interval?: number;\n };\n}\n"]}
@@ -2,7 +2,7 @@ import type { Datum } from '@visactor/vchart/src/typings';
2
2
  import type { IRankingListSpec } from './interface';
3
3
  import type { IMarkGraphic } from '@visactor/vchart';
4
4
  import { CommonChartSpecTransformer } from '@visactor/vchart';
5
- import { TextMeasure } from '@visactor/vutils';
5
+ import { TextMeasure } from '@visactor/vchart';
6
6
  export declare class RankingListChartSpecTransformer extends CommonChartSpecTransformer {
7
7
  protected nameLabelTextMeasure: TextMeasure<any>;
8
8
  protected valueLabelTextMeasure: TextMeasure<any>;
@@ -43,7 +43,7 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
43
43
  };
44
44
  };
45
45
  duration: number;
46
- easing: import("@visactor/vrender-core").EasingType;
46
+ easing: import("@visactor/vchart").EasingType;
47
47
  };
48
48
  animationExit: boolean | {
49
49
  type: string;
@@ -56,13 +56,13 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
56
56
  };
57
57
  };
58
58
  duration: number;
59
- easing: import("@visactor/vrender-core").EasingType;
59
+ easing: import("@visactor/vchart").EasingType;
60
60
  };
61
61
  animationAppear: boolean | {
62
62
  type: string;
63
63
  oneByOne: boolean;
64
64
  duration: number;
65
- easing: import("@visactor/vrender-core").EasingType;
65
+ easing: import("@visactor/vchart").EasingType;
66
66
  options: {};
67
67
  channel?: undefined;
68
68
  } | {
@@ -74,7 +74,7 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
74
74
  opacity?: undefined;
75
75
  };
76
76
  duration: number;
77
- easing: import("@visactor/vrender-core").EasingType;
77
+ easing: import("@visactor/vchart").EasingType;
78
78
  type?: undefined;
79
79
  oneByOne?: undefined;
80
80
  options?: undefined;
@@ -87,14 +87,14 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
87
87
  x?: undefined;
88
88
  };
89
89
  duration: number;
90
- easing: import("@visactor/vrender-core").EasingType;
90
+ easing: import("@visactor/vchart").EasingType;
91
91
  type?: undefined;
92
92
  oneByOne?: undefined;
93
93
  options?: undefined;
94
94
  };
95
95
  animationUpdate: boolean | {
96
96
  duration: number;
97
- easing: import("@visactor/vrender-core").EasingType;
97
+ easing: import("@visactor/vchart").EasingType;
98
98
  };
99
99
  };
100
100
  generateDecorateHaloIcons(spec: any): any;
@@ -117,7 +117,7 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
117
117
  };
118
118
  };
119
119
  duration: number;
120
- easing: import("@visactor/vrender-core").EasingType;
120
+ easing: import("@visactor/vchart").EasingType;
121
121
  };
122
122
  animationExit: boolean | {
123
123
  type: string;
@@ -130,13 +130,13 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
130
130
  };
131
131
  };
132
132
  duration: number;
133
- easing: import("@visactor/vrender-core").EasingType;
133
+ easing: import("@visactor/vchart").EasingType;
134
134
  };
135
135
  animationAppear: boolean | {
136
136
  type: string;
137
137
  oneByOne: boolean;
138
138
  duration: number;
139
- easing: import("@visactor/vrender-core").EasingType;
139
+ easing: import("@visactor/vchart").EasingType;
140
140
  options: {};
141
141
  channel?: undefined;
142
142
  } | {
@@ -148,7 +148,7 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
148
148
  opacity?: undefined;
149
149
  };
150
150
  duration: number;
151
- easing: import("@visactor/vrender-core").EasingType;
151
+ easing: import("@visactor/vchart").EasingType;
152
152
  type?: undefined;
153
153
  oneByOne?: undefined;
154
154
  options?: undefined;
@@ -161,14 +161,14 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
161
161
  x?: undefined;
162
162
  };
163
163
  duration: number;
164
- easing: import("@visactor/vrender-core").EasingType;
164
+ easing: import("@visactor/vchart").EasingType;
165
165
  type?: undefined;
166
166
  oneByOne?: undefined;
167
167
  options?: undefined;
168
168
  };
169
169
  animationUpdate: boolean | {
170
170
  duration: number;
171
- easing: import("@visactor/vrender-core").EasingType;
171
+ easing: import("@visactor/vchart").EasingType;
172
172
  };
173
173
  };
174
174
  generateNameLabel(spec: any): {
@@ -189,7 +189,7 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
189
189
  };
190
190
  };
191
191
  duration: number;
192
- easing: import("@visactor/vrender-core").EasingType;
192
+ easing: import("@visactor/vchart").EasingType;
193
193
  };
194
194
  animationExit: boolean | {
195
195
  type: string;
@@ -202,13 +202,13 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
202
202
  };
203
203
  };
204
204
  duration: number;
205
- easing: import("@visactor/vrender-core").EasingType;
205
+ easing: import("@visactor/vchart").EasingType;
206
206
  };
207
207
  animationAppear: boolean | {
208
208
  type: string;
209
209
  oneByOne: boolean;
210
210
  duration: number;
211
- easing: import("@visactor/vrender-core").EasingType;
211
+ easing: import("@visactor/vchart").EasingType;
212
212
  options: {};
213
213
  channel?: undefined;
214
214
  } | {
@@ -220,7 +220,7 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
220
220
  opacity?: undefined;
221
221
  };
222
222
  duration: number;
223
- easing: import("@visactor/vrender-core").EasingType;
223
+ easing: import("@visactor/vchart").EasingType;
224
224
  type?: undefined;
225
225
  oneByOne?: undefined;
226
226
  options?: undefined;
@@ -233,14 +233,14 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
233
233
  x?: undefined;
234
234
  };
235
235
  duration: number;
236
- easing: import("@visactor/vrender-core").EasingType;
236
+ easing: import("@visactor/vchart").EasingType;
237
237
  type?: undefined;
238
238
  oneByOne?: undefined;
239
239
  options?: undefined;
240
240
  };
241
241
  animationUpdate: boolean | {
242
242
  duration: number;
243
- easing: import("@visactor/vrender-core").EasingType;
243
+ easing: import("@visactor/vchart").EasingType;
244
244
  };
245
245
  };
246
246
  generateOrderLabel(spec: any): {
@@ -261,7 +261,7 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
261
261
  };
262
262
  };
263
263
  duration: number;
264
- easing: import("@visactor/vrender-core").EasingType;
264
+ easing: import("@visactor/vchart").EasingType;
265
265
  };
266
266
  animationExit: boolean | {
267
267
  type: string;
@@ -274,13 +274,13 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
274
274
  };
275
275
  };
276
276
  duration: number;
277
- easing: import("@visactor/vrender-core").EasingType;
277
+ easing: import("@visactor/vchart").EasingType;
278
278
  };
279
279
  animationAppear: boolean | {
280
280
  type: string;
281
281
  oneByOne: boolean;
282
282
  duration: number;
283
- easing: import("@visactor/vrender-core").EasingType;
283
+ easing: import("@visactor/vchart").EasingType;
284
284
  options: {};
285
285
  channel?: undefined;
286
286
  } | {
@@ -292,7 +292,7 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
292
292
  opacity?: undefined;
293
293
  };
294
294
  duration: number;
295
- easing: import("@visactor/vrender-core").EasingType;
295
+ easing: import("@visactor/vchart").EasingType;
296
296
  type?: undefined;
297
297
  oneByOne?: undefined;
298
298
  options?: undefined;
@@ -305,14 +305,14 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
305
305
  x?: undefined;
306
306
  };
307
307
  duration: number;
308
- easing: import("@visactor/vrender-core").EasingType;
308
+ easing: import("@visactor/vchart").EasingType;
309
309
  type?: undefined;
310
310
  oneByOne?: undefined;
311
311
  options?: undefined;
312
312
  };
313
313
  animationUpdate: boolean | {
314
314
  duration: number;
315
- easing: import("@visactor/vrender-core").EasingType;
315
+ easing: import("@visactor/vchart").EasingType;
316
316
  };
317
317
  };
318
318
  generateValueLabel(spec: any): {
@@ -334,7 +334,7 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
334
334
  };
335
335
  };
336
336
  duration: number;
337
- easing: import("@visactor/vrender-core").EasingType;
337
+ easing: import("@visactor/vchart").EasingType;
338
338
  };
339
339
  animationExit: boolean | {
340
340
  type: string;
@@ -347,13 +347,13 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
347
347
  };
348
348
  };
349
349
  duration: number;
350
- easing: import("@visactor/vrender-core").EasingType;
350
+ easing: import("@visactor/vchart").EasingType;
351
351
  };
352
352
  animationAppear: boolean | {
353
353
  type: string;
354
354
  oneByOne: boolean;
355
355
  duration: number;
356
- easing: import("@visactor/vrender-core").EasingType;
356
+ easing: import("@visactor/vchart").EasingType;
357
357
  options: {};
358
358
  channel?: undefined;
359
359
  } | {
@@ -365,7 +365,7 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
365
365
  opacity?: undefined;
366
366
  };
367
367
  duration: number;
368
- easing: import("@visactor/vrender-core").EasingType;
368
+ easing: import("@visactor/vchart").EasingType;
369
369
  type?: undefined;
370
370
  oneByOne?: undefined;
371
371
  options?: undefined;
@@ -378,14 +378,14 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
378
378
  x?: undefined;
379
379
  };
380
380
  duration: number;
381
- easing: import("@visactor/vrender-core").EasingType;
381
+ easing: import("@visactor/vchart").EasingType;
382
382
  type?: undefined;
383
383
  oneByOne?: undefined;
384
384
  options?: undefined;
385
385
  };
386
386
  animationUpdate: boolean | {
387
387
  duration: number;
388
- easing: import("@visactor/vrender-core").EasingType;
388
+ easing: import("@visactor/vchart").EasingType;
389
389
  };
390
390
  };
391
391
  transformPaddingSpec(spec: any): void;
@@ -410,7 +410,7 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
410
410
  };
411
411
  };
412
412
  duration: number;
413
- easing: import("@visactor/vrender-core").EasingType;
413
+ easing: import("@visactor/vchart").EasingType;
414
414
  };
415
415
  getAnimationEnter(spec: IRankingListSpec): false | {
416
416
  type: string;
@@ -423,13 +423,13 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
423
423
  };
424
424
  };
425
425
  duration: number;
426
- easing: import("@visactor/vrender-core").EasingType;
426
+ easing: import("@visactor/vchart").EasingType;
427
427
  };
428
428
  getAnimationAppear(spec: IRankingListSpec, markType: 'rect' | 'text' | 'symbol' | 'barBack'): false | {
429
429
  type: string;
430
430
  oneByOne: boolean;
431
431
  duration: number;
432
- easing: import("@visactor/vrender-core").EasingType;
432
+ easing: import("@visactor/vchart").EasingType;
433
433
  options: {};
434
434
  channel?: undefined;
435
435
  } | {
@@ -441,7 +441,7 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
441
441
  opacity?: undefined;
442
442
  };
443
443
  duration: number;
444
- easing: import("@visactor/vrender-core").EasingType;
444
+ easing: import("@visactor/vchart").EasingType;
445
445
  type?: undefined;
446
446
  oneByOne?: undefined;
447
447
  options?: undefined;
@@ -454,13 +454,13 @@ export declare class RankingListChartSpecTransformer extends CommonChartSpecTran
454
454
  x?: undefined;
455
455
  };
456
456
  duration: number;
457
- easing: import("@visactor/vrender-core").EasingType;
457
+ easing: import("@visactor/vchart").EasingType;
458
458
  type?: undefined;
459
459
  oneByOne?: undefined;
460
460
  options?: undefined;
461
461
  };
462
462
  getAnimationUpdate(spec: IRankingListSpec): false | {
463
463
  duration: number;
464
- easing: import("@visactor/vrender-core").EasingType;
464
+ easing: import("@visactor/vchart").EasingType;
465
465
  };
466
466
  }
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.RankingListChartSpecTransformer = void 0;
6
6
 
7
- const vchart_1 = require("@visactor/vchart"), vutils_1 = require("@visactor/vutils"), constant_1 = require("./constant"), utils_1 = require("./utils"), DATA_KEY = "dataKey", ORDER_KEY = "VCHART_ORDER", SUPPLY_DATA_KEY = "SUPPLY_DATA_KEY", NAME_LABEL_PADDING_RIGHT = 10, NAME_ORDER_PADDING_RIGHT = 5, NAME_SYMBOL_PADDING_RIGHT = 8, CHART_PADDING_LEFT = 5, CHART_PADDING_RIGHT = 5, VALUE_LABEL_PADDING_LEFT = 5, LABEL_PADDING_BOTTOM = 5;
7
+ const vchart_1 = require("@visactor/vchart"), vchart_2 = require("@visactor/vchart"), constant_1 = require("./constant"), utils_1 = require("./utils"), DATA_KEY = "dataKey", ORDER_KEY = "VCHART_ORDER", SUPPLY_DATA_KEY = "SUPPLY_DATA_KEY", NAME_LABEL_PADDING_RIGHT = 10, NAME_ORDER_PADDING_RIGHT = 5, NAME_SYMBOL_PADDING_RIGHT = 8, CHART_PADDING_LEFT = 5, CHART_PADDING_RIGHT = 5, VALUE_LABEL_PADDING_LEFT = 5, LABEL_PADDING_BOTTOM = 5;
8
8
 
9
9
  class RankingListChartSpecTransformer extends vchart_1.CommonChartSpecTransformer {
10
10
  constructor() {
@@ -73,11 +73,11 @@ class RankingListChartSpecTransformer extends vchart_1.CommonChartSpecTransforme
73
73
  upgradeTextMeasure(spec) {
74
74
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
75
75
  null === (_a = this.nameLabelTextMeasure) || void 0 === _a || _a.release(), null === (_b = this.valueLabelTextMeasure) || void 0 === _b || _b.release(),
76
- null === (_c = this.orderLabelTextMeasure) || void 0 === _c || _c.release(), this.nameLabelTextMeasure = new vutils_1.TextMeasure({
76
+ null === (_c = this.orderLabelTextMeasure) || void 0 === _c || _c.release(), this.nameLabelTextMeasure = new vchart_2.TextMeasure({
77
77
  defaultFontParams: null !== (_e = null === (_d = spec.nameLabel) || void 0 === _d ? void 0 : _d.style) && void 0 !== _e ? _e : {}
78
- }), this.valueLabelTextMeasure = new vutils_1.TextMeasure({
78
+ }), this.valueLabelTextMeasure = new vchart_2.TextMeasure({
79
79
  defaultFontParams: null !== (_g = null === (_f = spec.valueLabel) || void 0 === _f ? void 0 : _f.style) && void 0 !== _g ? _g : {}
80
- }), this.orderLabelTextMeasure = new vutils_1.TextMeasure({
80
+ }), this.orderLabelTextMeasure = new vchart_2.TextMeasure({
81
81
  defaultFontParams: null !== (_j = null === (_h = spec.orderLabel) || void 0 === _h ? void 0 : _h.style) && void 0 !== _j ? _j : {}
82
82
  });
83
83
  }
@@ -88,7 +88,7 @@ class RankingListChartSpecTransformer extends vchart_1.CommonChartSpecTransforme
88
88
  processData(spec) {
89
89
  var _a;
90
90
  (null === (_a = spec.data[0]) || void 0 === _a ? void 0 : _a.values) || (this.originalData = spec.data,
91
- this.originalSpec = (0, vutils_1.cloneDeep)(spec), this.dataSpecs = this.processRankingData(spec),
91
+ this.originalSpec = (0, vchart_2.cloneDeep)(spec), this.dataSpecs = this.processRankingData(spec),
92
92
  spec.data = this.dataSpecs[0].data);
93
93
  }
94
94
  transformBaseSpec(spec) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/charts/ranking-list/ranking-list-transformer.ts"],"names":[],"mappings":"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","file":"ranking-list-transformer.js","sourcesContent":["import type { Datum } from '@visactor/vchart/src/typings';\nimport type { IRankingListSpec } from './interface';\nimport type { IMarkGraphic } from '@visactor/vchart';\nimport { CommonChartSpecTransformer } from '@visactor/vchart';\nimport { cloneDeep, TextMeasure } from '@visactor/vutils';\nimport { defaultSpec } from './constant';\nimport { applyVisible, computeDataRange, mergeObjects } from './utils';\n\nconst DATA_KEY = 'dataKey';\nconst ORDER_KEY = 'VCHART_ORDER';\nconst SUPPLY_DATA_KEY = 'SUPPLY_DATA_KEY';\nconst NAME_LABEL_PADDING_RIGHT = 10;\nconst NAME_ORDER_PADDING_RIGHT = 5;\nconst NAME_SYMBOL_PADDING_RIGHT = 8;\nconst CHART_PADDING_LEFT = 5;\nconst CHART_PADDING_RIGHT = 5;\nconst VALUE_LABEL_PADDING_LEFT = 5;\n\nconst LABEL_PADDING_BOTTOM = 5;\n\nexport class RankingListChartSpecTransformer extends CommonChartSpecTransformer {\n protected nameLabelTextMeasure: TextMeasure<any>;\n protected valueLabelTextMeasure: TextMeasure<any>;\n protected orderLabelTextMeasure: TextMeasure<any>;\n protected originalData: Datum[];\n protected originalSpec: IRankingListSpec;\n protected dataSpecs: any[];\n protected formatMap: { [key: string]: (text: string, ctx: any) => string } = {};\n protected orderCount: number;\n\n protected isSpecValid(spec: any) {\n const { xField, yField, data } = spec;\n if (!xField || !yField || !data || data.length === 0) {\n return false;\n }\n return true;\n }\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n if (!this.isSpecValid(spec)) {\n spec.series = [];\n return;\n }\n\n this.normalizeSpec(spec);\n this.upgradeTextMeasure(spec);\n this.upgradeFormatMap(spec);\n this.processData(spec);\n\n // rankingList spec -> vchart spec\n this.transformBaseSpec(spec);\n this.transformAnimationSpec(spec);\n this.transformAxesSpec(spec);\n\n spec.extensionMark = [\n // 柱图背景\n this.generateBarBackground(spec),\n // 辅助图标\n ...this.generateDecorateHaloIcons(spec),\n // 左侧图标\n this.generateRankingIcon(spec),\n // 左侧label\n this.generateNameLabel(spec),\n // 左侧序号label\n this.generateOrderLabel(spec),\n // 右侧label\n this.generateValueLabel(spec)\n ];\n\n this.transformPaddingSpec(spec);\n\n // console.log('spec', spec);\n\n spec.customTransformSpec?.(spec);\n\n super.transformSpec(spec);\n }\n\n normalizeSpec(spec: any) {\n // 处理配置\n mergeObjects(spec, defaultSpec);\n applyVisible(spec, [\n 'barBackground',\n 'rankingIcon',\n 'decorateHaloIcons',\n 'orderLabel',\n 'nameLabel',\n 'valueLabel'\n // 'bar'\n ]);\n }\n\n upgradeTextMeasure(spec: any) {\n // 初始化文字测量\n this.nameLabelTextMeasure?.release();\n this.valueLabelTextMeasure?.release();\n this.orderLabelTextMeasure?.release();\n this.nameLabelTextMeasure = new TextMeasure({\n defaultFontParams: spec.nameLabel?.style ?? {}\n });\n this.valueLabelTextMeasure = new TextMeasure({\n defaultFontParams: spec.valueLabel?.style ?? {}\n });\n this.orderLabelTextMeasure = new TextMeasure({\n defaultFontParams: spec.orderLabel?.style ?? {}\n });\n }\n\n upgradeFormatMap(spec: any) {\n this.formatMap[spec.yField] = spec.nameLabel.formatMethod;\n this.formatMap[spec.xField] = spec.valueLabel.formatMethod;\n this.formatMap[ORDER_KEY] = spec.orderLabel.formatMethod;\n }\n\n processData(spec: any) {\n // ps: 如果updateSpec后, 同时执行2次processData会有问题, 在这里用比较hack的方式绕过第2次\n if (!spec.data[0]?.values) {\n this.originalData = spec.data;\n this.originalSpec = cloneDeep(spec);\n this.dataSpecs = this.processRankingData(spec as unknown as IRankingListSpec);\n spec.data = this.dataSpecs[0].data;\n }\n }\n\n transformBaseSpec(spec: any) {\n spec.type = 'common';\n spec.dataKey = DATA_KEY;\n spec.series = [\n {\n type: 'bar',\n direction: 'horizontal',\n xField: spec.xField,\n yField: spec.yField,\n barWidth: spec.bar?.height ?? 10,\n bar: {\n ...spec.bar,\n style: {\n ...spec.bar?.style,\n x1: 0,\n visible: (datum: Datum) => {\n if (datum[SUPPLY_DATA_KEY]) {\n return false;\n }\n return spec.bar?.style ?? true;\n }\n }\n }\n }\n ];\n }\n\n transformAnimationSpec(spec: any) {\n if (spec.animationUpdate.enable && this.orderCount > 1) {\n spec.player = {\n specs: this.dataSpecs,\n auto: true,\n visible: false,\n interval: (spec.animationNormal?.interval ?? 1000) + (spec.animationUpdate.duration ?? 1000) / 2,\n loop: true,\n ...spec.player\n };\n\n spec.animationExit = this.getAnimationExit(this.originalSpec);\n spec.animationEnter = this.getAnimationEnter(this.originalSpec);\n spec.animationUpdate = this.getAnimationUpdate(this.originalSpec);\n }\n spec.animationNormal = this.originalSpec.animationNormal;\n spec.animationAppear = this.getAnimationAppear(this.originalSpec, 'rect');\n }\n\n transformAxesSpec(spec: any) {\n const { min, max } = computeDataRange(this.originalData, spec.xField);\n spec.axes = [\n {\n orient: 'left',\n type: 'band',\n visible: false,\n inverse: true,\n // paddingInner: 0.5,\n paddingOuter: 0.5\n },\n {\n orient: 'bottom',\n label: { visible: true },\n type: 'linear',\n visible: false,\n min,\n max\n }\n ];\n }\n\n generateBarBackground(spec: any) {\n return {\n type: spec.barBackground.type,\n dataId: 'data',\n visible: true,\n dataKey: DATA_KEY,\n zIndex: -99,\n state: spec.barBackground?.state,\n style: {\n x: (datum: Datum, ctx: any) =>\n spec.barBackground.type === 'symbol' ? ctx.getRegion().getLayoutRect().width / 2 : 0,\n y: (datum: Datum, ctx: any) => {\n return (\n ctx.valueToY([datum[spec.yField]]) +\n ctx.yBandwidth() / 2 -\n (spec.barBackground.type === 'symbol' ? 0 : spec.bar.height / 2)\n );\n },\n size: (datum: Datum, ctx: any) => [ctx.getRegion().getLayoutRect().width, spec.bar.height],\n width: (datum: Datum, ctx: any) => ctx.getRegion().getLayoutRect().width,\n height: spec.bar.height,\n ...spec.barBackground.style,\n visible: (datum: Datum) => {\n if (datum[SUPPLY_DATA_KEY]) {\n return false;\n }\n return spec.barBackground.style.visible;\n }\n },\n animation: true,\n animationEnter: this.getAnimationEnter(this.originalSpec),\n animationExit: this.getAnimationExit(this.originalSpec),\n animationAppear: this.getAnimationAppear(this.originalSpec, 'barBack'),\n animationUpdate: this.getAnimationUpdate(this.originalSpec)\n };\n }\n\n generateDecorateHaloIcons(spec: any) {\n return spec.decorateHaloIcons?.map((decorateHaloIcon: any) => {\n return {\n type: 'symbol',\n dataId: 'data',\n visible: true,\n dataKey: DATA_KEY,\n state: decorateHaloIcon?.state,\n style: {\n x: (datum: Datum, ctx: any) => {\n if (datum[spec.xField] === undefined || datum[spec.xField] === null) {\n return undefined;\n }\n return ctx.valueToX([datum[spec.xField]]);\n },\n y: (datum: Datum, ctx: any) => {\n return ctx.valueToY([datum[spec.yField]]) + ctx.yBandwidth() / 2;\n },\n ...decorateHaloIcon.style,\n visible: (datum: Datum) => {\n if (datum[SUPPLY_DATA_KEY]) {\n return false;\n }\n return decorateHaloIcon.style.visible;\n }\n },\n animation: true,\n animationEnter: this.getAnimationEnter(this.originalSpec),\n animationExit: this.getAnimationExit(this.originalSpec),\n animationAppear: this.getAnimationAppear(this.originalSpec, 'symbol'),\n animationUpdate: this.getAnimationUpdate(this.originalSpec)\n };\n });\n }\n\n generateRankingIcon(spec: any) {\n return {\n type: 'symbol',\n dataId: 'data',\n visible: true,\n dataKey: DATA_KEY,\n state: spec.rankingIcon.state,\n style: {\n x: (datum: Datum) => {\n if (spec.labelLayout === 'bothEnd') {\n return -(\n NAME_LABEL_PADDING_RIGHT +\n this.nameLabelTextMeasure.fullMeasure(this.formatDatum(spec.yField, datum)).width +\n (spec.orderLabel.style.visible\n ? NAME_ORDER_PADDING_RIGHT +\n this.orderLabelTextMeasure.fullMeasure(this.formatDatum(ORDER_KEY, datum)).width\n : 0) +\n NAME_SYMBOL_PADDING_RIGHT\n );\n }\n return CHART_PADDING_LEFT;\n },\n y: (datum: Datum, ctx: any) => {\n if (spec.labelLayout === 'bothEnd') {\n return ctx.valueToY([datum[spec.yField]]) + ctx.yBandwidth() / 2;\n }\n return (\n ctx.valueToY([datum[spec.yField]]) +\n ctx.yBandwidth() / 2 -\n spec.bar.height / 2 -\n LABEL_PADDING_BOTTOM -\n Math.max(\n this.nameLabelTextMeasure.fullMeasure(this.formatDatum(spec.yField, datum)).height,\n this.orderLabelTextMeasure.fullMeasure(this.formatDatum(ORDER_KEY, datum)).height\n ) /\n 2\n );\n },\n ...spec.rankingIcon.style,\n lineWidth: 0,\n stroke: null,\n visible: (datum: Datum) => {\n if (datum[SUPPLY_DATA_KEY]) {\n return false;\n }\n return spec.rankingIcon.style.visible;\n }\n },\n animation: true,\n animationEnter: this.getAnimationEnter(this.originalSpec),\n animationExit: this.getAnimationExit(this.originalSpec),\n animationAppear: this.getAnimationAppear(this.originalSpec, 'text'),\n animationUpdate: this.getAnimationUpdate(this.originalSpec)\n };\n }\n\n generateNameLabel(spec: any) {\n return {\n type: 'text',\n dataId: 'data',\n dataKey: DATA_KEY,\n state: spec.nameLabel?.state,\n style: {\n text: (datum: Datum) => this.formatDatum(spec.yField, datum),\n x: () => {\n if (spec.labelLayout === 'bothEnd') {\n return -NAME_LABEL_PADDING_RIGHT;\n }\n return (\n (spec.rankingIcon.style.visible ? NAME_SYMBOL_PADDING_RIGHT + (spec.rankingIcon.style.size ?? 10) : 0) +\n (spec.orderLabel.style.visible\n ? NAME_ORDER_PADDING_RIGHT + this.getMaxDataLabelLens(spec, ORDER_KEY, this.orderLabelTextMeasure)\n : 0)\n );\n },\n y: (datum: Datum, ctx: any) => {\n if (spec.labelLayout === 'bothEnd') {\n return ctx.valueToY([datum[spec.yField]]) + ctx.yBandwidth() / 2;\n }\n return ctx.valueToY([datum[spec.yField]]) + ctx.yBandwidth() / 2 - spec.bar.height / 2 - LABEL_PADDING_BOTTOM;\n },\n ...spec.nameLabel.style,\n textAlign: spec.labelLayout === 'bothEnd' ? 'right' : 'left',\n textBaseline: spec.labelLayout === 'bothEnd' ? 'middle' : 'bottom',\n visible: (datum: Datum) => {\n if (datum[SUPPLY_DATA_KEY]) {\n return false;\n }\n return spec.nameLabel.style.visible;\n }\n },\n animation: true,\n animationEnter: this.getAnimationEnter(this.originalSpec),\n animationExit: this.getAnimationExit(this.originalSpec),\n animationAppear: this.getAnimationAppear(this.originalSpec, 'text'),\n animationUpdate: this.getAnimationUpdate(this.originalSpec)\n };\n }\n\n generateOrderLabel(spec: any) {\n return {\n type: 'text',\n dataId: 'data',\n dataKey: DATA_KEY,\n state: spec.orderLabel?.state,\n style: {\n text: (datum: Datum) => this.formatDatum(ORDER_KEY, datum),\n x: (datum: Datum) => {\n if (spec.labelLayout === 'bothEnd') {\n return -(\n NAME_LABEL_PADDING_RIGHT +\n this.nameLabelTextMeasure.fullMeasure(this.formatDatum(spec.yField, datum)).width +\n NAME_ORDER_PADDING_RIGHT\n );\n }\n return spec.rankingIcon.style.visible ? NAME_SYMBOL_PADDING_RIGHT + (spec.rankingIcon.style.size ?? 10) : 0;\n },\n y: (datum: Datum, ctx: any) => {\n if (spec.labelLayout === 'bothEnd') {\n return ctx.valueToY([datum[spec.yField]]) + ctx.yBandwidth() / 2;\n }\n return ctx.valueToY([datum[spec.yField]]) + ctx.yBandwidth() / 2 - spec.bar.height / 2 - LABEL_PADDING_BOTTOM;\n },\n ...spec.orderLabel.style,\n textAlign: spec.labelLayout === 'bothEnd' ? 'right' : 'left',\n textBaseline: spec.labelLayout === 'bothEnd' ? 'middle' : 'bottom',\n visible: (datum: Datum) => {\n if (datum[SUPPLY_DATA_KEY]) {\n return false;\n }\n return spec.orderLabel.style.visible;\n }\n },\n animation: true,\n animationEnter: this.getAnimationEnter(this.originalSpec),\n animationExit: this.getAnimationExit(this.originalSpec),\n animationAppear: this.getAnimationAppear(this.originalSpec, 'text'),\n animationUpdate: this.getAnimationUpdate(this.originalSpec)\n };\n }\n\n generateValueLabel(spec: any) {\n return {\n type: 'text',\n dataId: 'data',\n visible: true,\n dataKey: DATA_KEY,\n state: spec.valueLabel?.state,\n style: {\n text: (datum: Datum) => this.formatDatum(spec.xField, datum),\n x: (datum: Datum, ctx: any) => {\n if (spec.labelLayout === 'bothEnd') {\n return (\n ctx.getRegion().getLayoutRect().width +\n // this.getMaxDataLabelLens(spec, spec.xField, this.valueLabelTextMeasure) +\n VALUE_LABEL_PADDING_LEFT\n );\n }\n return ctx.getRegion().getLayoutRect().width;\n },\n y: (datum: Datum, ctx: any) => {\n if (spec.labelLayout === 'bothEnd') {\n return ctx.valueToY([datum[spec.yField]]) + ctx.yBandwidth() / 2;\n }\n return ctx.valueToY([datum[spec.yField]]) + ctx.yBandwidth() / 2 - spec.bar.height / 2 - LABEL_PADDING_BOTTOM;\n },\n ...spec.valueLabel.style,\n textAlign: spec.labelLayout === 'bothEnd' ? 'left' : 'right',\n textBaseline: spec.labelLayout === 'bothEnd' ? 'middle' : 'bottom',\n visible: (datum: Datum) => {\n if (datum[SUPPLY_DATA_KEY]) {\n return false;\n }\n return spec.valueLabel.style.visible;\n }\n },\n animation: true,\n animationEnter: this.getAnimationEnter(this.originalSpec),\n animationExit: this.getAnimationExit(this.originalSpec),\n animationAppear: this.getAnimationAppear(this.originalSpec, 'text'),\n animationUpdate: this.getAnimationUpdate(this.originalSpec)\n };\n }\n\n transformPaddingSpec(spec: any) {\n const maxHaloIconSize =\n spec.decorateHaloIcons.length > 0\n ? Math.max(...spec.decorateHaloIcons.map((icon: any) => icon.style?.size ?? 18))\n : 0;\n spec.padding = {\n left:\n spec.labelLayout === 'bothEnd'\n ? NAME_LABEL_PADDING_RIGHT +\n this.getMaxDataLabelLens(spec, spec.yField, this.nameLabelTextMeasure) +\n (spec.orderLabel.style.visible\n ? NAME_ORDER_PADDING_RIGHT + this.getMaxDataLabelLens(spec, ORDER_KEY, this.orderLabelTextMeasure)\n : 0) +\n (spec.rankingIcon.style.visible ? NAME_SYMBOL_PADDING_RIGHT + (spec.rankingIcon.style.size ?? 10) : 0) +\n CHART_PADDING_LEFT\n : CHART_PADDING_LEFT + maxHaloIconSize / 2,\n right:\n spec.labelLayout === 'bothEnd'\n ? VALUE_LABEL_PADDING_LEFT +\n this.getMaxDataLabelLens(spec, spec.xField, this.valueLabelTextMeasure) +\n CHART_PADDING_RIGHT\n : CHART_PADDING_RIGHT + 10,\n top: 0,\n bottom: 0,\n ...spec.padding\n };\n }\n\n paginateDataArr = (spec: IRankingListSpec) => {\n const { scrollSize = 1, pageSize = 5 } = spec;\n const arr = this.originalData;\n const result: { [key: string]: Datum[] } = {};\n let pageOrder = 0;\n for (let i = 0; i < arr.length; i += scrollSize) {\n pageOrder++;\n result[`page${pageOrder}`] = arr.slice(i, i + pageSize);\n if (i + pageSize - 1 >= arr.length - 1) {\n arr.push(\n ...Array.from({ length: i + pageSize - arr.length }, _ => {\n return {\n [spec.yField]: Math.random() * 100,\n [spec.xField]: null,\n [SUPPLY_DATA_KEY]: true\n };\n })\n );\n break;\n }\n }\n return {\n orderCount: pageOrder,\n result: result\n };\n };\n\n processRankingData = (spec: IRankingListSpec) => {\n const result: any[] = [];\n spec.data.forEach((datum, index) => (datum[ORDER_KEY] = index + 1 < 10 ? `0${index + 1}` : index + 1));\n const pagerData = this.paginateDataArr(spec).result;\n const orderCount = this.paginateDataArr(spec).orderCount;\n this.orderCount = orderCount;\n const supplyCount = spec.pageSize - pagerData[`page${orderCount}`].length;\n pagerData[`page${orderCount}`].push(\n ...Array.from({ length: supplyCount }, (_: any) => {\n return {\n [spec.yField]: Math.random() * 100,\n [spec.xField]: null,\n [SUPPLY_DATA_KEY]: true\n };\n })\n );\n\n Object.keys(pagerData).forEach(order => {\n result.push({\n data: [\n {\n id: 'datas',\n values: pagerData[order].map(d => {\n return { ...d, [DATA_KEY]: d[spec.yField] };\n })\n },\n {\n id: 'order',\n values: [\n {\n order\n }\n ]\n }\n ]\n });\n });\n\n // // 只有1页时, player循环播放时, prePage和curPage data一致, 导致没有动画效果\n // // 在此手动复制1页, 且prePage和curPage dataKey不一致, 保证动画效果\n // if (result.length === 1) {\n // result.push({\n // data: [\n // {\n // id: 'datas',\n // values: pagerData['page1'].map(d => {\n // return { ...d, [DATA_KEY]: 'page2_' + d['y'] };\n // })\n // },\n // {\n // id: 'order',\n // values: [\n // {\n // order: 'page2'\n // }\n // ]\n // }\n // ]\n // });\n // }\n\n return result;\n };\n\n getMaxDataLabelLens(spec: IRankingListSpec, field: string, textMeasure: TextMeasure<any>) {\n const textWidths = this.originalData.map(datum =>\n datum[SUPPLY_DATA_KEY] ? 0 : textMeasure.fullMeasure(this.formatDatum(field, datum)).width\n );\n return Math.max(...textWidths);\n }\n\n formatDatum(field: string, datum: Datum) {\n if (this.formatMap?.[field]) {\n return this.formatMap[field](datum[field], datum);\n }\n return datum[field];\n }\n\n getLabelWidth(padding: number, width: number) {\n return width + padding;\n }\n\n getAnimationExit(spec: IRankingListSpec) {\n if (spec.animationUpdate?.enable === false) {\n return false;\n }\n return {\n type: 'moveOut',\n options: {\n direction: 'y',\n\n orient: 'negative',\n excludeChannels: ['x'],\n point: (datum: Datum, graphic: IMarkGraphic) => {\n const channelAttr = graphic.getGraphicAttribute('y');\n const barSpace = spec.height / (spec.pageSize + 1);\n return { y: channelAttr - barSpace * Math.min(spec.scrollSize, spec.pageSize) };\n }\n },\n duration: spec.animationUpdate?.duration ?? 1000,\n easing: spec.animationUpdate?.easing ?? 'linear'\n };\n }\n\n getAnimationEnter(spec: IRankingListSpec) {\n if (spec.animationUpdate?.enable === false) {\n return false;\n }\n return {\n type: 'moveIn',\n options: {\n direction: 'y',\n orient: 'negative',\n excludeChannels: ['x'],\n point: (datum: Datum, graphic: IMarkGraphic) => {\n const channelAttr = graphic.getGraphicAttribute('y');\n return { y: channelAttr + (spec.height / (spec.pageSize + 1)) * Math.min(spec.scrollSize, spec.pageSize) };\n }\n },\n duration: spec.animationUpdate?.duration ?? 1000,\n easing: spec.animationUpdate?.easing ?? 'linear'\n };\n }\n\n getAnimationAppear(spec: IRankingListSpec, markType: 'rect' | 'text' | 'symbol' | 'barBack') {\n if (spec.animationAppear?.enable === false) {\n return false;\n }\n if (markType === 'rect') {\n return {\n type: 'growWidthIn',\n oneByOne: false,\n duration: spec.animationAppear?.duration ?? 1000,\n easing: spec.animationAppear?.easing ?? 'linear',\n options: {}\n };\n } else if (markType === 'symbol') {\n return {\n channel: {\n x: {\n from: 0,\n to: (datum: Datum, graphic: IMarkGraphic) => {\n return graphic.getGraphicAttribute('x');\n }\n }\n },\n duration: spec.animationAppear?.duration ?? 1000,\n easing: spec.animationAppear?.easing ?? 'linear'\n };\n }\n return {\n channel: {\n opacity: {\n from: 0,\n to: 1\n }\n },\n duration: spec.animationAppear?.duration ?? 1000,\n easing: spec.animationAppear?.easing ?? 'linear'\n };\n }\n\n getAnimationUpdate(spec: IRankingListSpec) {\n if (spec.animationUpdate.enable === false) {\n return false;\n }\n return {\n duration: spec.animationUpdate?.duration ?? 1000,\n easing: spec.animationUpdate?.easing ?? 'linear'\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/charts/ranking-list/ranking-list-transformer.ts"],"names":[],"mappings":"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","file":"ranking-list-transformer.js","sourcesContent":["import type { Datum } from '@visactor/vchart/src/typings';\nimport type { IRankingListSpec } from './interface';\nimport type { IMarkGraphic } from '@visactor/vchart';\nimport { CommonChartSpecTransformer } from '@visactor/vchart';\nimport { cloneDeep, TextMeasure } from '@visactor/vchart';\nimport { defaultSpec } from './constant';\nimport { applyVisible, computeDataRange, mergeObjects } from './utils';\n\nconst DATA_KEY = 'dataKey';\nconst ORDER_KEY = 'VCHART_ORDER';\nconst SUPPLY_DATA_KEY = 'SUPPLY_DATA_KEY';\nconst NAME_LABEL_PADDING_RIGHT = 10;\nconst NAME_ORDER_PADDING_RIGHT = 5;\nconst NAME_SYMBOL_PADDING_RIGHT = 8;\nconst CHART_PADDING_LEFT = 5;\nconst CHART_PADDING_RIGHT = 5;\nconst VALUE_LABEL_PADDING_LEFT = 5;\n\nconst LABEL_PADDING_BOTTOM = 5;\n\nexport class RankingListChartSpecTransformer extends CommonChartSpecTransformer {\n protected nameLabelTextMeasure: TextMeasure<any>;\n protected valueLabelTextMeasure: TextMeasure<any>;\n protected orderLabelTextMeasure: TextMeasure<any>;\n protected originalData: Datum[];\n protected originalSpec: IRankingListSpec;\n protected dataSpecs: any[];\n protected formatMap: { [key: string]: (text: string, ctx: any) => string } = {};\n protected orderCount: number;\n\n protected isSpecValid(spec: any) {\n const { xField, yField, data } = spec;\n if (!xField || !yField || !data || data.length === 0) {\n return false;\n }\n return true;\n }\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n if (!this.isSpecValid(spec)) {\n spec.series = [];\n return;\n }\n\n this.normalizeSpec(spec);\n this.upgradeTextMeasure(spec);\n this.upgradeFormatMap(spec);\n this.processData(spec);\n\n // rankingList spec -> vchart spec\n this.transformBaseSpec(spec);\n this.transformAnimationSpec(spec);\n this.transformAxesSpec(spec);\n\n spec.extensionMark = [\n // 柱图背景\n this.generateBarBackground(spec),\n // 辅助图标\n ...this.generateDecorateHaloIcons(spec),\n // 左侧图标\n this.generateRankingIcon(spec),\n // 左侧label\n this.generateNameLabel(spec),\n // 左侧序号label\n this.generateOrderLabel(spec),\n // 右侧label\n this.generateValueLabel(spec)\n ];\n\n this.transformPaddingSpec(spec);\n\n // console.log('spec', spec);\n\n spec.customTransformSpec?.(spec);\n\n super.transformSpec(spec);\n }\n\n normalizeSpec(spec: any) {\n // 处理配置\n mergeObjects(spec, defaultSpec);\n applyVisible(spec, [\n 'barBackground',\n 'rankingIcon',\n 'decorateHaloIcons',\n 'orderLabel',\n 'nameLabel',\n 'valueLabel'\n // 'bar'\n ]);\n }\n\n upgradeTextMeasure(spec: any) {\n // 初始化文字测量\n this.nameLabelTextMeasure?.release();\n this.valueLabelTextMeasure?.release();\n this.orderLabelTextMeasure?.release();\n this.nameLabelTextMeasure = new TextMeasure({\n defaultFontParams: spec.nameLabel?.style ?? {}\n });\n this.valueLabelTextMeasure = new TextMeasure({\n defaultFontParams: spec.valueLabel?.style ?? {}\n });\n this.orderLabelTextMeasure = new TextMeasure({\n defaultFontParams: spec.orderLabel?.style ?? {}\n });\n }\n\n upgradeFormatMap(spec: any) {\n this.formatMap[spec.yField] = spec.nameLabel.formatMethod;\n this.formatMap[spec.xField] = spec.valueLabel.formatMethod;\n this.formatMap[ORDER_KEY] = spec.orderLabel.formatMethod;\n }\n\n processData(spec: any) {\n // ps: 如果updateSpec后, 同时执行2次processData会有问题, 在这里用比较hack的方式绕过第2次\n if (!spec.data[0]?.values) {\n this.originalData = spec.data;\n this.originalSpec = cloneDeep(spec);\n this.dataSpecs = this.processRankingData(spec as unknown as IRankingListSpec);\n spec.data = this.dataSpecs[0].data;\n }\n }\n\n transformBaseSpec(spec: any) {\n spec.type = 'common';\n spec.dataKey = DATA_KEY;\n spec.series = [\n {\n type: 'bar',\n direction: 'horizontal',\n xField: spec.xField,\n yField: spec.yField,\n barWidth: spec.bar?.height ?? 10,\n bar: {\n ...spec.bar,\n style: {\n ...spec.bar?.style,\n x1: 0,\n visible: (datum: Datum) => {\n if (datum[SUPPLY_DATA_KEY]) {\n return false;\n }\n return spec.bar?.style ?? true;\n }\n }\n }\n }\n ];\n }\n\n transformAnimationSpec(spec: any) {\n if (spec.animationUpdate.enable && this.orderCount > 1) {\n spec.player = {\n specs: this.dataSpecs,\n auto: true,\n visible: false,\n interval: (spec.animationNormal?.interval ?? 1000) + (spec.animationUpdate.duration ?? 1000) / 2,\n loop: true,\n ...spec.player\n };\n\n spec.animationExit = this.getAnimationExit(this.originalSpec);\n spec.animationEnter = this.getAnimationEnter(this.originalSpec);\n spec.animationUpdate = this.getAnimationUpdate(this.originalSpec);\n }\n spec.animationNormal = this.originalSpec.animationNormal;\n spec.animationAppear = this.getAnimationAppear(this.originalSpec, 'rect');\n }\n\n transformAxesSpec(spec: any) {\n const { min, max } = computeDataRange(this.originalData, spec.xField);\n spec.axes = [\n {\n orient: 'left',\n type: 'band',\n visible: false,\n inverse: true,\n // paddingInner: 0.5,\n paddingOuter: 0.5\n },\n {\n orient: 'bottom',\n label: { visible: true },\n type: 'linear',\n visible: false,\n min,\n max\n }\n ];\n }\n\n generateBarBackground(spec: any) {\n return {\n type: spec.barBackground.type,\n dataId: 'data',\n visible: true,\n dataKey: DATA_KEY,\n zIndex: -99,\n state: spec.barBackground?.state,\n style: {\n x: (datum: Datum, ctx: any) =>\n spec.barBackground.type === 'symbol' ? ctx.getRegion().getLayoutRect().width / 2 : 0,\n y: (datum: Datum, ctx: any) => {\n return (\n ctx.valueToY([datum[spec.yField]]) +\n ctx.yBandwidth() / 2 -\n (spec.barBackground.type === 'symbol' ? 0 : spec.bar.height / 2)\n );\n },\n size: (datum: Datum, ctx: any) => [ctx.getRegion().getLayoutRect().width, spec.bar.height],\n width: (datum: Datum, ctx: any) => ctx.getRegion().getLayoutRect().width,\n height: spec.bar.height,\n ...spec.barBackground.style,\n visible: (datum: Datum) => {\n if (datum[SUPPLY_DATA_KEY]) {\n return false;\n }\n return spec.barBackground.style.visible;\n }\n },\n animation: true,\n animationEnter: this.getAnimationEnter(this.originalSpec),\n animationExit: this.getAnimationExit(this.originalSpec),\n animationAppear: this.getAnimationAppear(this.originalSpec, 'barBack'),\n animationUpdate: this.getAnimationUpdate(this.originalSpec)\n };\n }\n\n generateDecorateHaloIcons(spec: any) {\n return spec.decorateHaloIcons?.map((decorateHaloIcon: any) => {\n return {\n type: 'symbol',\n dataId: 'data',\n visible: true,\n dataKey: DATA_KEY,\n state: decorateHaloIcon?.state,\n style: {\n x: (datum: Datum, ctx: any) => {\n if (datum[spec.xField] === undefined || datum[spec.xField] === null) {\n return undefined;\n }\n return ctx.valueToX([datum[spec.xField]]);\n },\n y: (datum: Datum, ctx: any) => {\n return ctx.valueToY([datum[spec.yField]]) + ctx.yBandwidth() / 2;\n },\n ...decorateHaloIcon.style,\n visible: (datum: Datum) => {\n if (datum[SUPPLY_DATA_KEY]) {\n return false;\n }\n return decorateHaloIcon.style.visible;\n }\n },\n animation: true,\n animationEnter: this.getAnimationEnter(this.originalSpec),\n animationExit: this.getAnimationExit(this.originalSpec),\n animationAppear: this.getAnimationAppear(this.originalSpec, 'symbol'),\n animationUpdate: this.getAnimationUpdate(this.originalSpec)\n };\n });\n }\n\n generateRankingIcon(spec: any) {\n return {\n type: 'symbol',\n dataId: 'data',\n visible: true,\n dataKey: DATA_KEY,\n state: spec.rankingIcon.state,\n style: {\n x: (datum: Datum) => {\n if (spec.labelLayout === 'bothEnd') {\n return -(\n NAME_LABEL_PADDING_RIGHT +\n this.nameLabelTextMeasure.fullMeasure(this.formatDatum(spec.yField, datum)).width +\n (spec.orderLabel.style.visible\n ? NAME_ORDER_PADDING_RIGHT +\n this.orderLabelTextMeasure.fullMeasure(this.formatDatum(ORDER_KEY, datum)).width\n : 0) +\n NAME_SYMBOL_PADDING_RIGHT\n );\n }\n return CHART_PADDING_LEFT;\n },\n y: (datum: Datum, ctx: any) => {\n if (spec.labelLayout === 'bothEnd') {\n return ctx.valueToY([datum[spec.yField]]) + ctx.yBandwidth() / 2;\n }\n return (\n ctx.valueToY([datum[spec.yField]]) +\n ctx.yBandwidth() / 2 -\n spec.bar.height / 2 -\n LABEL_PADDING_BOTTOM -\n Math.max(\n this.nameLabelTextMeasure.fullMeasure(this.formatDatum(spec.yField, datum)).height,\n this.orderLabelTextMeasure.fullMeasure(this.formatDatum(ORDER_KEY, datum)).height\n ) /\n 2\n );\n },\n ...spec.rankingIcon.style,\n lineWidth: 0,\n stroke: null,\n visible: (datum: Datum) => {\n if (datum[SUPPLY_DATA_KEY]) {\n return false;\n }\n return spec.rankingIcon.style.visible;\n }\n },\n animation: true,\n animationEnter: this.getAnimationEnter(this.originalSpec),\n animationExit: this.getAnimationExit(this.originalSpec),\n animationAppear: this.getAnimationAppear(this.originalSpec, 'text'),\n animationUpdate: this.getAnimationUpdate(this.originalSpec)\n };\n }\n\n generateNameLabel(spec: any) {\n return {\n type: 'text',\n dataId: 'data',\n dataKey: DATA_KEY,\n state: spec.nameLabel?.state,\n style: {\n text: (datum: Datum) => this.formatDatum(spec.yField, datum),\n x: () => {\n if (spec.labelLayout === 'bothEnd') {\n return -NAME_LABEL_PADDING_RIGHT;\n }\n return (\n (spec.rankingIcon.style.visible ? NAME_SYMBOL_PADDING_RIGHT + (spec.rankingIcon.style.size ?? 10) : 0) +\n (spec.orderLabel.style.visible\n ? NAME_ORDER_PADDING_RIGHT + this.getMaxDataLabelLens(spec, ORDER_KEY, this.orderLabelTextMeasure)\n : 0)\n );\n },\n y: (datum: Datum, ctx: any) => {\n if (spec.labelLayout === 'bothEnd') {\n return ctx.valueToY([datum[spec.yField]]) + ctx.yBandwidth() / 2;\n }\n return ctx.valueToY([datum[spec.yField]]) + ctx.yBandwidth() / 2 - spec.bar.height / 2 - LABEL_PADDING_BOTTOM;\n },\n ...spec.nameLabel.style,\n textAlign: spec.labelLayout === 'bothEnd' ? 'right' : 'left',\n textBaseline: spec.labelLayout === 'bothEnd' ? 'middle' : 'bottom',\n visible: (datum: Datum) => {\n if (datum[SUPPLY_DATA_KEY]) {\n return false;\n }\n return spec.nameLabel.style.visible;\n }\n },\n animation: true,\n animationEnter: this.getAnimationEnter(this.originalSpec),\n animationExit: this.getAnimationExit(this.originalSpec),\n animationAppear: this.getAnimationAppear(this.originalSpec, 'text'),\n animationUpdate: this.getAnimationUpdate(this.originalSpec)\n };\n }\n\n generateOrderLabel(spec: any) {\n return {\n type: 'text',\n dataId: 'data',\n dataKey: DATA_KEY,\n state: spec.orderLabel?.state,\n style: {\n text: (datum: Datum) => this.formatDatum(ORDER_KEY, datum),\n x: (datum: Datum) => {\n if (spec.labelLayout === 'bothEnd') {\n return -(\n NAME_LABEL_PADDING_RIGHT +\n this.nameLabelTextMeasure.fullMeasure(this.formatDatum(spec.yField, datum)).width +\n NAME_ORDER_PADDING_RIGHT\n );\n }\n return spec.rankingIcon.style.visible ? NAME_SYMBOL_PADDING_RIGHT + (spec.rankingIcon.style.size ?? 10) : 0;\n },\n y: (datum: Datum, ctx: any) => {\n if (spec.labelLayout === 'bothEnd') {\n return ctx.valueToY([datum[spec.yField]]) + ctx.yBandwidth() / 2;\n }\n return ctx.valueToY([datum[spec.yField]]) + ctx.yBandwidth() / 2 - spec.bar.height / 2 - LABEL_PADDING_BOTTOM;\n },\n ...spec.orderLabel.style,\n textAlign: spec.labelLayout === 'bothEnd' ? 'right' : 'left',\n textBaseline: spec.labelLayout === 'bothEnd' ? 'middle' : 'bottom',\n visible: (datum: Datum) => {\n if (datum[SUPPLY_DATA_KEY]) {\n return false;\n }\n return spec.orderLabel.style.visible;\n }\n },\n animation: true,\n animationEnter: this.getAnimationEnter(this.originalSpec),\n animationExit: this.getAnimationExit(this.originalSpec),\n animationAppear: this.getAnimationAppear(this.originalSpec, 'text'),\n animationUpdate: this.getAnimationUpdate(this.originalSpec)\n };\n }\n\n generateValueLabel(spec: any) {\n return {\n type: 'text',\n dataId: 'data',\n visible: true,\n dataKey: DATA_KEY,\n state: spec.valueLabel?.state,\n style: {\n text: (datum: Datum) => this.formatDatum(spec.xField, datum),\n x: (datum: Datum, ctx: any) => {\n if (spec.labelLayout === 'bothEnd') {\n return (\n ctx.getRegion().getLayoutRect().width +\n // this.getMaxDataLabelLens(spec, spec.xField, this.valueLabelTextMeasure) +\n VALUE_LABEL_PADDING_LEFT\n );\n }\n return ctx.getRegion().getLayoutRect().width;\n },\n y: (datum: Datum, ctx: any) => {\n if (spec.labelLayout === 'bothEnd') {\n return ctx.valueToY([datum[spec.yField]]) + ctx.yBandwidth() / 2;\n }\n return ctx.valueToY([datum[spec.yField]]) + ctx.yBandwidth() / 2 - spec.bar.height / 2 - LABEL_PADDING_BOTTOM;\n },\n ...spec.valueLabel.style,\n textAlign: spec.labelLayout === 'bothEnd' ? 'left' : 'right',\n textBaseline: spec.labelLayout === 'bothEnd' ? 'middle' : 'bottom',\n visible: (datum: Datum) => {\n if (datum[SUPPLY_DATA_KEY]) {\n return false;\n }\n return spec.valueLabel.style.visible;\n }\n },\n animation: true,\n animationEnter: this.getAnimationEnter(this.originalSpec),\n animationExit: this.getAnimationExit(this.originalSpec),\n animationAppear: this.getAnimationAppear(this.originalSpec, 'text'),\n animationUpdate: this.getAnimationUpdate(this.originalSpec)\n };\n }\n\n transformPaddingSpec(spec: any) {\n const maxHaloIconSize =\n spec.decorateHaloIcons.length > 0\n ? Math.max(...spec.decorateHaloIcons.map((icon: any) => icon.style?.size ?? 18))\n : 0;\n spec.padding = {\n left:\n spec.labelLayout === 'bothEnd'\n ? NAME_LABEL_PADDING_RIGHT +\n this.getMaxDataLabelLens(spec, spec.yField, this.nameLabelTextMeasure) +\n (spec.orderLabel.style.visible\n ? NAME_ORDER_PADDING_RIGHT + this.getMaxDataLabelLens(spec, ORDER_KEY, this.orderLabelTextMeasure)\n : 0) +\n (spec.rankingIcon.style.visible ? NAME_SYMBOL_PADDING_RIGHT + (spec.rankingIcon.style.size ?? 10) : 0) +\n CHART_PADDING_LEFT\n : CHART_PADDING_LEFT + maxHaloIconSize / 2,\n right:\n spec.labelLayout === 'bothEnd'\n ? VALUE_LABEL_PADDING_LEFT +\n this.getMaxDataLabelLens(spec, spec.xField, this.valueLabelTextMeasure) +\n CHART_PADDING_RIGHT\n : CHART_PADDING_RIGHT + 10,\n top: 0,\n bottom: 0,\n ...spec.padding\n };\n }\n\n paginateDataArr = (spec: IRankingListSpec) => {\n const { scrollSize = 1, pageSize = 5 } = spec;\n const arr = this.originalData;\n const result: { [key: string]: Datum[] } = {};\n let pageOrder = 0;\n for (let i = 0; i < arr.length; i += scrollSize) {\n pageOrder++;\n result[`page${pageOrder}`] = arr.slice(i, i + pageSize);\n if (i + pageSize - 1 >= arr.length - 1) {\n arr.push(\n ...Array.from({ length: i + pageSize - arr.length }, _ => {\n return {\n [spec.yField]: Math.random() * 100,\n [spec.xField]: null,\n [SUPPLY_DATA_KEY]: true\n };\n })\n );\n break;\n }\n }\n return {\n orderCount: pageOrder,\n result: result\n };\n };\n\n processRankingData = (spec: IRankingListSpec) => {\n const result: any[] = [];\n spec.data.forEach((datum, index) => (datum[ORDER_KEY] = index + 1 < 10 ? `0${index + 1}` : index + 1));\n const pagerData = this.paginateDataArr(spec).result;\n const orderCount = this.paginateDataArr(spec).orderCount;\n this.orderCount = orderCount;\n const supplyCount = spec.pageSize - pagerData[`page${orderCount}`].length;\n pagerData[`page${orderCount}`].push(\n ...Array.from({ length: supplyCount }, (_: any) => {\n return {\n [spec.yField]: Math.random() * 100,\n [spec.xField]: null,\n [SUPPLY_DATA_KEY]: true\n };\n })\n );\n\n Object.keys(pagerData).forEach(order => {\n result.push({\n data: [\n {\n id: 'datas',\n values: pagerData[order].map(d => {\n return { ...d, [DATA_KEY]: d[spec.yField] };\n })\n },\n {\n id: 'order',\n values: [\n {\n order\n }\n ]\n }\n ]\n });\n });\n\n // // 只有1页时, player循环播放时, prePage和curPage data一致, 导致没有动画效果\n // // 在此手动复制1页, 且prePage和curPage dataKey不一致, 保证动画效果\n // if (result.length === 1) {\n // result.push({\n // data: [\n // {\n // id: 'datas',\n // values: pagerData['page1'].map(d => {\n // return { ...d, [DATA_KEY]: 'page2_' + d['y'] };\n // })\n // },\n // {\n // id: 'order',\n // values: [\n // {\n // order: 'page2'\n // }\n // ]\n // }\n // ]\n // });\n // }\n\n return result;\n };\n\n getMaxDataLabelLens(spec: IRankingListSpec, field: string, textMeasure: TextMeasure<any>) {\n const textWidths = this.originalData.map(datum =>\n datum[SUPPLY_DATA_KEY] ? 0 : textMeasure.fullMeasure(this.formatDatum(field, datum)).width\n );\n return Math.max(...textWidths);\n }\n\n formatDatum(field: string, datum: Datum) {\n if (this.formatMap?.[field]) {\n return this.formatMap[field](datum[field], datum);\n }\n return datum[field];\n }\n\n getLabelWidth(padding: number, width: number) {\n return width + padding;\n }\n\n getAnimationExit(spec: IRankingListSpec) {\n if (spec.animationUpdate?.enable === false) {\n return false;\n }\n return {\n type: 'moveOut',\n options: {\n direction: 'y',\n\n orient: 'negative',\n excludeChannels: ['x'],\n point: (datum: Datum, graphic: IMarkGraphic) => {\n const channelAttr = graphic.getGraphicAttribute('y');\n const barSpace = spec.height / (spec.pageSize + 1);\n return { y: channelAttr - barSpace * Math.min(spec.scrollSize, spec.pageSize) };\n }\n },\n duration: spec.animationUpdate?.duration ?? 1000,\n easing: spec.animationUpdate?.easing ?? 'linear'\n };\n }\n\n getAnimationEnter(spec: IRankingListSpec) {\n if (spec.animationUpdate?.enable === false) {\n return false;\n }\n return {\n type: 'moveIn',\n options: {\n direction: 'y',\n orient: 'negative',\n excludeChannels: ['x'],\n point: (datum: Datum, graphic: IMarkGraphic) => {\n const channelAttr = graphic.getGraphicAttribute('y');\n return { y: channelAttr + (spec.height / (spec.pageSize + 1)) * Math.min(spec.scrollSize, spec.pageSize) };\n }\n },\n duration: spec.animationUpdate?.duration ?? 1000,\n easing: spec.animationUpdate?.easing ?? 'linear'\n };\n }\n\n getAnimationAppear(spec: IRankingListSpec, markType: 'rect' | 'text' | 'symbol' | 'barBack') {\n if (spec.animationAppear?.enable === false) {\n return false;\n }\n if (markType === 'rect') {\n return {\n type: 'growWidthIn',\n oneByOne: false,\n duration: spec.animationAppear?.duration ?? 1000,\n easing: spec.animationAppear?.easing ?? 'linear',\n options: {}\n };\n } else if (markType === 'symbol') {\n return {\n channel: {\n x: {\n from: 0,\n to: (datum: Datum, graphic: IMarkGraphic) => {\n return graphic.getGraphicAttribute('x');\n }\n }\n },\n duration: spec.animationAppear?.duration ?? 1000,\n easing: spec.animationAppear?.easing ?? 'linear'\n };\n }\n return {\n channel: {\n opacity: {\n from: 0,\n to: 1\n }\n },\n duration: spec.animationAppear?.duration ?? 1000,\n easing: spec.animationAppear?.easing ?? 'linear'\n };\n }\n\n getAnimationUpdate(spec: IRankingListSpec) {\n if (spec.animationUpdate.enable === false) {\n return false;\n }\n return {\n duration: spec.animationUpdate?.duration ?? 1000,\n easing: spec.animationUpdate?.easing ?? 'linear'\n };\n }\n}\n"]}
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.computeDataRange = exports.mergeObjects = exports.applyVisible = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), applyVisible = (spec, keyList) => {
7
+ const vchart_1 = require("@visactor/vchart"), applyVisible = (spec, keyList) => {
8
8
  keyList.forEach((key => {
9
9
  var _a, _b, _c, _d, _e, _f, _g;
10
- (0, vutils_1.isArray)(spec[key]) ? null === (_a = spec[key]) || void 0 === _a || _a.forEach(((s, i) => {
10
+ (0, vchart_1.isArray)(spec[key]) ? null === (_a = spec[key]) || void 0 === _a || _a.forEach(((s, i) => {
11
11
  var _a, _b, _c;
12
12
  spec[key][i] = Object.assign(Object.assign({}, s), {
13
13
  style: Object.assign(Object.assign({}, null == s ? void 0 : s.style), {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/charts/ranking-list/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import type { Datum } from '@visactor/vchart/src/typings';\nimport { isArray } from '@visactor/vutils';\n\nexport const applyVisible = (spec: any, keyList: string[]) => {\n keyList.forEach(key => {\n if (isArray(spec[key])) {\n spec[key]?.forEach((s: any, i: number) => {\n spec[key][i] = {\n ...s,\n style: {\n ...s?.style,\n visible: s?.style?.visible ?? s?.visible ?? true\n }\n };\n });\n } else {\n spec[key] = {\n ...spec[key],\n style: {\n ...spec[key]?.style,\n visible: spec[key]?.style?.visible ?? spec[key]?.visible ?? true\n }\n };\n }\n });\n};\n\nexport const mergeObjects = (objA: any, objB: any) => {\n function recursiveMerge(target: any, source: any) {\n for (const key in source) {\n if (\n key !== '__proto__' &&\n key !== 'constructor' &&\n key !== 'prototype' &&\n typeof source[key] === 'object' &&\n source[key] !== null\n ) {\n if (!target.hasOwnProperty(key)) {\n target[key] = Array.isArray(source[key]) ? [] : {};\n }\n recursiveMerge(target[key], source[key]);\n } else if (!target.hasOwnProperty(key) && typeof target === 'object') {\n target[key] = source[key];\n }\n }\n return target;\n }\n return recursiveMerge(objA, objB);\n};\n\nexport const computeDataRange = (data: Datum[], field: string) => {\n let dataMin: number;\n let dataMax: number;\n const datumX = data.map(d => d[field]).filter(d => typeof d !== 'undefined' && d !== null);\n\n // 避免数据都为null, 即xField都为null, 导致scale异常, 图表为空\n // 这里只要设置dataMin和dataMax为任意数字并保证其不想等, 即可达到只显示yField而不显示xField的效果\n if (datumX.length === 0) {\n dataMin = 0;\n dataMax = 1;\n } else {\n dataMin = Math.min(...datumX) - (Math.max(...datumX) - Math.min(...datumX)) / 3;\n dataMax = (Math.max(...datumX) - dataMin) / 0.8 + dataMin;\n const delta_value = 10; // 可以是任意值, 只要大于0就行, 目的是为了让最小值和最大值不一样, 便于scale做插值计算\n const data = dataMin;\n if (dataMin === dataMax) {\n // 避免domain[0] = domain[1], 导致scale映射有问题\n // 数学计算:\n // 1.保证 (dataMax - data) / (data - dataMin) = 4\n // 2. dataMax > data & dataMin < data => delta_value > 0\n dataMin = data - delta_value;\n dataMax = (4 * data + delta_value) / 4;\n }\n }\n return { min: dataMin, max: dataMax };\n};\n"]}
1
+ {"version":3,"sources":["../src/charts/ranking-list/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import type { Datum } from '@visactor/vchart/src/typings';\nimport { isArray } from '@visactor/vchart';\n\nexport const applyVisible = (spec: any, keyList: string[]) => {\n keyList.forEach(key => {\n if (isArray(spec[key])) {\n spec[key]?.forEach((s: any, i: number) => {\n spec[key][i] = {\n ...s,\n style: {\n ...s?.style,\n visible: s?.style?.visible ?? s?.visible ?? true\n }\n };\n });\n } else {\n spec[key] = {\n ...spec[key],\n style: {\n ...spec[key]?.style,\n visible: spec[key]?.style?.visible ?? spec[key]?.visible ?? true\n }\n };\n }\n });\n};\n\nexport const mergeObjects = (objA: any, objB: any) => {\n function recursiveMerge(target: any, source: any) {\n for (const key in source) {\n if (\n key !== '__proto__' &&\n key !== 'constructor' &&\n key !== 'prototype' &&\n typeof source[key] === 'object' &&\n source[key] !== null\n ) {\n if (!target.hasOwnProperty(key)) {\n target[key] = Array.isArray(source[key]) ? [] : {};\n }\n recursiveMerge(target[key], source[key]);\n } else if (!target.hasOwnProperty(key) && typeof target === 'object') {\n target[key] = source[key];\n }\n }\n return target;\n }\n return recursiveMerge(objA, objB);\n};\n\nexport const computeDataRange = (data: Datum[], field: string) => {\n let dataMin: number;\n let dataMax: number;\n const datumX = data.map(d => d[field]).filter(d => typeof d !== 'undefined' && d !== null);\n\n // 避免数据都为null, 即xField都为null, 导致scale异常, 图表为空\n // 这里只要设置dataMin和dataMax为任意数字并保证其不想等, 即可达到只显示yField而不显示xField的效果\n if (datumX.length === 0) {\n dataMin = 0;\n dataMax = 1;\n } else {\n dataMin = Math.min(...datumX) - (Math.max(...datumX) - Math.min(...datumX)) / 3;\n dataMax = (Math.max(...datumX) - dataMin) / 0.8 + dataMin;\n const delta_value = 10; // 可以是任意值, 只要大于0就行, 目的是为了让最小值和最大值不一样, 便于scale做插值计算\n const data = dataMin;\n if (dataMin === dataMax) {\n // 避免domain[0] = domain[1], 导致scale映射有问题\n // 数学计算:\n // 1.保证 (dataMax - data) / (data - dataMin) = 4\n // 2. dataMax > data & dataMin < data => delta_value > 0\n dataMin = data - delta_value;\n dataMax = (4 * data + delta_value) / 4;\n }\n }\n return { min: dataMin, max: dataMax };\n};\n"]}