@visactor/vchart 1.12.7 → 1.12.8

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 (309) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +1117 -1665
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/base/base-chart.js.map +1 -1
  6. package/cjs/chart/gauge/interface.d.ts +1 -1
  7. package/cjs/chart/gauge/interface.js.map +1 -1
  8. package/cjs/chart/treemap/interface.d.ts +1 -1
  9. package/cjs/chart/treemap/interface.js.map +1 -1
  10. package/cjs/chart/venn/interface.d.ts +2 -2
  11. package/cjs/chart/venn/interface.js.map +1 -1
  12. package/cjs/compile/compilable-base.js +1 -2
  13. package/cjs/compile/util.js +2 -1
  14. package/cjs/component/axis/base-axis.js +1 -1
  15. package/cjs/component/axis/base-axis.js.map +1 -1
  16. package/cjs/component/axis/cartesian/axis.js +5 -4
  17. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  18. package/cjs/component/axis/cartesian/interface/common.d.ts +1 -0
  19. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  20. package/cjs/component/axis/polar/axis.js.map +1 -1
  21. package/cjs/component/geo/geo-coordinate.js +5 -2
  22. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  23. package/cjs/component/interface/index.d.ts +0 -1
  24. package/cjs/component/interface/index.js +1 -1
  25. package/cjs/component/interface/index.js.map +1 -1
  26. package/cjs/component/label/util.js +1 -1
  27. package/cjs/component/label/util.js.map +1 -1
  28. package/cjs/component/title/interface/spec.d.ts +3 -3
  29. package/cjs/component/title/interface/spec.js.map +1 -1
  30. package/cjs/component/tooltip/constant.d.ts +5 -4
  31. package/cjs/component/tooltip/constant.js +7 -7
  32. package/cjs/component/tooltip/constant.js.map +1 -1
  33. package/cjs/component/tooltip/interface/common.d.ts +1 -1
  34. package/cjs/component/tooltip/interface/common.js.map +1 -1
  35. package/cjs/component/tooltip/interface/spec.d.ts +8 -0
  36. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  37. package/cjs/component/tooltip/interface/theme.d.ts +2 -2
  38. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  39. package/cjs/component/tooltip/processor/base.d.ts +3 -5
  40. package/cjs/component/tooltip/processor/base.js +24 -27
  41. package/cjs/component/tooltip/processor/base.js.map +1 -1
  42. package/cjs/component/tooltip/processor/group-tooltip.js +1 -1
  43. package/cjs/component/tooltip/processor/group-tooltip.js.map +1 -1
  44. package/cjs/component/tooltip/processor/mark-tooltip.js +2 -2
  45. package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
  46. package/cjs/component/tooltip/tooltip-transformer.js +0 -1
  47. package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
  48. package/cjs/component/tooltip/tooltip.d.ts +9 -4
  49. package/cjs/component/tooltip/tooltip.js +64 -53
  50. package/cjs/component/tooltip/tooltip.js.map +1 -1
  51. package/cjs/component/tooltip/utils/common.d.ts +6 -4
  52. package/cjs/component/tooltip/utils/common.js +52 -7
  53. package/cjs/component/tooltip/utils/common.js.map +1 -1
  54. package/cjs/component/tooltip/utils/get-spec.d.ts +4 -4
  55. package/cjs/component/tooltip/utils/get-spec.js +20 -82
  56. package/cjs/component/tooltip/utils/get-spec.js.map +1 -1
  57. package/cjs/component/tooltip/utils/get-value.d.ts +1 -2
  58. package/cjs/component/tooltip/utils/get-value.js +2 -12
  59. package/cjs/component/tooltip/utils/get-value.js.map +1 -1
  60. package/cjs/component/tooltip/utils/index.d.ts +0 -1
  61. package/cjs/component/tooltip/utils/index.js +1 -2
  62. package/cjs/component/tooltip/utils/index.js.map +1 -1
  63. package/cjs/constant/correlation.js +2 -1
  64. package/cjs/constant/layout.js +1 -2
  65. package/cjs/core/index.d.ts +1 -1
  66. package/cjs/core/index.js +1 -1
  67. package/cjs/core/index.js.map +1 -1
  68. package/cjs/core/vchart.js +14 -11
  69. package/cjs/core/vchart.js.map +1 -1
  70. package/cjs/data/transforms/pie.d.ts +3 -0
  71. package/cjs/data/transforms/pie.js +8 -3
  72. package/cjs/data/transforms/pie.js.map +1 -1
  73. package/cjs/model/interface.d.ts +14 -0
  74. package/cjs/model/interface.js.map +1 -1
  75. package/cjs/plugin/components/tooltip-handler/base.d.ts +1 -13
  76. package/cjs/plugin/components/tooltip-handler/base.js +83 -220
  77. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  78. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js +1 -1
  79. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  80. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +0 -1
  81. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +7 -19
  82. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  83. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +16 -14
  84. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  85. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
  86. package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  87. package/cjs/plugin/components/tooltip-handler/interface/style.d.ts +1 -2
  88. package/cjs/plugin/components/tooltip-handler/interface/style.js.map +1 -1
  89. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +7 -7
  90. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  91. package/cjs/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  92. package/cjs/plugin/components/tooltip-handler/utils/position.d.ts +3 -5
  93. package/cjs/plugin/components/tooltip-handler/utils/position.js +22 -29
  94. package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  95. package/cjs/region/interface.d.ts +3 -1
  96. package/cjs/region/interface.js.map +1 -1
  97. package/cjs/series/base/base-series.js +1 -1
  98. package/cjs/series/base/base-series.js.map +1 -1
  99. package/cjs/series/base/tooltip-helper.d.ts +30 -6
  100. package/cjs/series/base/tooltip-helper.js +80 -73
  101. package/cjs/series/base/tooltip-helper.js.map +1 -1
  102. package/cjs/series/box-plot/tooltip-helper.d.ts +2 -2
  103. package/cjs/series/box-plot/tooltip-helper.js +26 -67
  104. package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
  105. package/cjs/series/cartesian/cartesian.d.ts +1 -1
  106. package/cjs/series/circle-packing/circle-packing.js +1 -2
  107. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  108. package/cjs/series/dot/tooltip-helper.d.ts +8 -2
  109. package/cjs/series/dot/tooltip-helper.js +42 -41
  110. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  111. package/cjs/series/gauge/pointer-tooltip-helper.d.ts +2 -1
  112. package/cjs/series/gauge/pointer-tooltip-helper.js +3 -8
  113. package/cjs/series/gauge/pointer-tooltip-helper.js.map +1 -1
  114. package/cjs/series/heatmap/tooltip-helper.d.ts +2 -3
  115. package/cjs/series/heatmap/tooltip-helper.js +3 -5
  116. package/cjs/series/heatmap/tooltip-helper.js.map +1 -1
  117. package/cjs/series/interface/tooltip-helper.d.ts +5 -4
  118. package/cjs/series/interface/tooltip-helper.js.map +1 -1
  119. package/cjs/series/link/tooltip-helper.d.ts +5 -2
  120. package/cjs/series/link/tooltip-helper.js +26 -27
  121. package/cjs/series/link/tooltip-helper.js.map +1 -1
  122. package/cjs/series/liquid/tooltip-helper.d.ts +4 -5
  123. package/cjs/series/liquid/tooltip-helper.js +2 -22
  124. package/cjs/series/liquid/tooltip-helper.js.map +1 -1
  125. package/cjs/series/pie/pie.js +6 -2
  126. package/cjs/series/pie/pie.js.map +1 -1
  127. package/cjs/series/progress/linear/tooltip-helper.d.ts +2 -3
  128. package/cjs/series/progress/linear/tooltip-helper.js +2 -11
  129. package/cjs/series/progress/linear/tooltip-helper.js.map +1 -1
  130. package/cjs/series/range-area/tooltip-helper.d.ts +1 -3
  131. package/cjs/series/range-area/tooltip-helper.js +2 -50
  132. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  133. package/cjs/series/range-column/tooltip-helper.d.ts +1 -2
  134. package/cjs/series/range-column/tooltip-helper.js +2 -19
  135. package/cjs/series/range-column/tooltip-helper.js.map +1 -1
  136. package/cjs/series/sankey/sankey.d.ts +1 -1
  137. package/cjs/series/sankey/tooltip-helper.d.ts +3 -3
  138. package/cjs/series/sankey/tooltip-helper.js +10 -57
  139. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  140. package/cjs/typings/spec/common.d.ts +3 -3
  141. package/cjs/typings/spec/common.js.map +1 -1
  142. package/cjs/typings/tooltip/position.d.ts +1 -0
  143. package/cjs/typings/tooltip/position.js.map +1 -1
  144. package/cjs/typings/tooltip/shape.d.ts +0 -1
  145. package/cjs/typings/tooltip/shape.js.map +1 -1
  146. package/cjs/typings/tooltip/tooltip.d.ts +7 -0
  147. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  148. package/esm/chart/base/base-chart.js.map +1 -1
  149. package/esm/chart/gauge/interface.d.ts +1 -1
  150. package/esm/chart/gauge/interface.js.map +1 -1
  151. package/esm/chart/treemap/interface.d.ts +1 -1
  152. package/esm/chart/treemap/interface.js.map +1 -1
  153. package/esm/chart/venn/interface.d.ts +2 -2
  154. package/esm/chart/venn/interface.js.map +1 -1
  155. package/esm/compile/compilable-base.js +1 -2
  156. package/esm/compile/util.js +2 -1
  157. package/esm/component/axis/base-axis.js +1 -1
  158. package/esm/component/axis/base-axis.js.map +1 -1
  159. package/esm/component/axis/cartesian/axis.js +5 -4
  160. package/esm/component/axis/cartesian/axis.js.map +1 -1
  161. package/esm/component/axis/cartesian/interface/common.d.ts +1 -0
  162. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  163. package/esm/component/axis/polar/axis.js.map +1 -1
  164. package/esm/component/geo/geo-coordinate.js +5 -2
  165. package/esm/component/geo/geo-coordinate.js.map +1 -1
  166. package/esm/component/interface/index.d.ts +0 -1
  167. package/esm/component/interface/index.js +0 -2
  168. package/esm/component/interface/index.js.map +1 -1
  169. package/esm/component/label/util.js +1 -1
  170. package/esm/component/label/util.js.map +1 -1
  171. package/esm/component/title/interface/spec.d.ts +3 -3
  172. package/esm/component/title/interface/spec.js.map +1 -1
  173. package/esm/component/tooltip/constant.d.ts +5 -4
  174. package/esm/component/tooltip/constant.js +6 -3
  175. package/esm/component/tooltip/constant.js.map +1 -1
  176. package/esm/component/tooltip/interface/common.d.ts +1 -1
  177. package/esm/component/tooltip/interface/common.js.map +1 -1
  178. package/esm/component/tooltip/interface/spec.d.ts +8 -0
  179. package/esm/component/tooltip/interface/spec.js.map +1 -1
  180. package/esm/component/tooltip/interface/theme.d.ts +2 -2
  181. package/esm/component/tooltip/interface/theme.js.map +1 -1
  182. package/esm/component/tooltip/processor/base.d.ts +3 -5
  183. package/esm/component/tooltip/processor/base.js +24 -28
  184. package/esm/component/tooltip/processor/base.js.map +1 -1
  185. package/esm/component/tooltip/processor/group-tooltip.js +1 -1
  186. package/esm/component/tooltip/processor/group-tooltip.js.map +1 -1
  187. package/esm/component/tooltip/processor/mark-tooltip.js +2 -2
  188. package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
  189. package/esm/component/tooltip/tooltip-transformer.js +0 -1
  190. package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
  191. package/esm/component/tooltip/tooltip.d.ts +9 -4
  192. package/esm/component/tooltip/tooltip.js +66 -54
  193. package/esm/component/tooltip/tooltip.js.map +1 -1
  194. package/esm/component/tooltip/utils/common.d.ts +6 -4
  195. package/esm/component/tooltip/utils/common.js +46 -5
  196. package/esm/component/tooltip/utils/common.js.map +1 -1
  197. package/esm/component/tooltip/utils/get-spec.d.ts +4 -4
  198. package/esm/component/tooltip/utils/get-spec.js +24 -80
  199. package/esm/component/tooltip/utils/get-spec.js.map +1 -1
  200. package/esm/component/tooltip/utils/get-value.d.ts +1 -2
  201. package/esm/component/tooltip/utils/get-value.js +1 -9
  202. package/esm/component/tooltip/utils/get-value.js.map +1 -1
  203. package/esm/component/tooltip/utils/index.d.ts +0 -1
  204. package/esm/component/tooltip/utils/index.js +0 -2
  205. package/esm/component/tooltip/utils/index.js.map +1 -1
  206. package/esm/constant/correlation.js +2 -1
  207. package/esm/constant/layout.js +1 -2
  208. package/esm/core/index.d.ts +1 -1
  209. package/esm/core/index.js +1 -1
  210. package/esm/core/index.js.map +1 -1
  211. package/esm/core/vchart.js +14 -10
  212. package/esm/core/vchart.js.map +1 -1
  213. package/esm/data/transforms/pie.d.ts +3 -0
  214. package/esm/data/transforms/pie.js +6 -3
  215. package/esm/data/transforms/pie.js.map +1 -1
  216. package/esm/model/interface.d.ts +14 -0
  217. package/esm/model/interface.js.map +1 -1
  218. package/esm/plugin/components/tooltip-handler/base.d.ts +1 -13
  219. package/esm/plugin/components/tooltip-handler/base.js +79 -212
  220. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  221. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js +1 -1
  222. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  223. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +0 -1
  224. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +6 -19
  225. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  226. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +16 -14
  227. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  228. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
  229. package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
  230. package/esm/plugin/components/tooltip-handler/interface/style.d.ts +1 -2
  231. package/esm/plugin/components/tooltip-handler/interface/style.js.map +1 -1
  232. package/esm/plugin/components/tooltip-handler/utils/attribute.js +7 -7
  233. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  234. package/esm/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  235. package/esm/plugin/components/tooltip-handler/utils/position.d.ts +3 -5
  236. package/esm/plugin/components/tooltip-handler/utils/position.js +20 -25
  237. package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  238. package/esm/region/interface.d.ts +3 -1
  239. package/esm/region/interface.js.map +1 -1
  240. package/esm/series/base/base-series.js +1 -1
  241. package/esm/series/base/base-series.js.map +1 -1
  242. package/esm/series/base/tooltip-helper.d.ts +30 -6
  243. package/esm/series/base/tooltip-helper.js +85 -74
  244. package/esm/series/base/tooltip-helper.js.map +1 -1
  245. package/esm/series/box-plot/tooltip-helper.d.ts +2 -2
  246. package/esm/series/box-plot/tooltip-helper.js +26 -67
  247. package/esm/series/box-plot/tooltip-helper.js.map +1 -1
  248. package/esm/series/cartesian/cartesian.d.ts +1 -1
  249. package/esm/series/circle-packing/circle-packing.js +1 -2
  250. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  251. package/esm/series/dot/tooltip-helper.d.ts +8 -2
  252. package/esm/series/dot/tooltip-helper.js +42 -41
  253. package/esm/series/dot/tooltip-helper.js.map +1 -1
  254. package/esm/series/gauge/pointer-tooltip-helper.d.ts +2 -1
  255. package/esm/series/gauge/pointer-tooltip-helper.js +2 -9
  256. package/esm/series/gauge/pointer-tooltip-helper.js.map +1 -1
  257. package/esm/series/heatmap/tooltip-helper.d.ts +2 -3
  258. package/esm/series/heatmap/tooltip-helper.js +2 -6
  259. package/esm/series/heatmap/tooltip-helper.js.map +1 -1
  260. package/esm/series/interface/tooltip-helper.d.ts +5 -4
  261. package/esm/series/interface/tooltip-helper.js.map +1 -1
  262. package/esm/series/link/tooltip-helper.d.ts +5 -2
  263. package/esm/series/link/tooltip-helper.js +26 -27
  264. package/esm/series/link/tooltip-helper.js.map +1 -1
  265. package/esm/series/liquid/tooltip-helper.d.ts +4 -5
  266. package/esm/series/liquid/tooltip-helper.js +2 -22
  267. package/esm/series/liquid/tooltip-helper.js.map +1 -1
  268. package/esm/series/pie/pie.js +7 -3
  269. package/esm/series/pie/pie.js.map +1 -1
  270. package/esm/series/progress/linear/tooltip-helper.d.ts +2 -3
  271. package/esm/series/progress/linear/tooltip-helper.js +2 -11
  272. package/esm/series/progress/linear/tooltip-helper.js.map +1 -1
  273. package/esm/series/range-area/tooltip-helper.d.ts +1 -3
  274. package/esm/series/range-area/tooltip-helper.js +2 -50
  275. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  276. package/esm/series/range-column/tooltip-helper.d.ts +1 -2
  277. package/esm/series/range-column/tooltip-helper.js +2 -19
  278. package/esm/series/range-column/tooltip-helper.js.map +1 -1
  279. package/esm/series/sankey/sankey.d.ts +1 -1
  280. package/esm/series/sankey/tooltip-helper.d.ts +3 -3
  281. package/esm/series/sankey/tooltip-helper.js +10 -57
  282. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  283. package/esm/typings/spec/common.d.ts +3 -3
  284. package/esm/typings/spec/common.js.map +1 -1
  285. package/esm/typings/tooltip/position.d.ts +1 -0
  286. package/esm/typings/tooltip/position.js.map +1 -1
  287. package/esm/typings/tooltip/shape.d.ts +0 -1
  288. package/esm/typings/tooltip/shape.js.map +1 -1
  289. package/esm/typings/tooltip/tooltip.d.ts +7 -0
  290. package/esm/typings/tooltip/tooltip.js.map +1 -1
  291. package/package.json +13 -13
  292. package/cjs/component/interface/tooltip-helper.d.ts +0 -5
  293. package/cjs/component/interface/tooltip-helper.js +0 -6
  294. package/cjs/component/interface/tooltip-helper.js.map +0 -1
  295. package/cjs/component/tooltip/utils/compose.d.ts +0 -4
  296. package/cjs/component/tooltip/utils/compose.js +0 -120
  297. package/cjs/component/tooltip/utils/compose.js.map +0 -1
  298. package/cjs/model/tooltip-helper.d.ts +0 -29
  299. package/cjs/model/tooltip-helper.js +0 -19
  300. package/cjs/model/tooltip-helper.js.map +0 -1
  301. package/esm/component/interface/tooltip-helper.d.ts +0 -5
  302. package/esm/component/interface/tooltip-helper.js +0 -2
  303. package/esm/component/interface/tooltip-helper.js.map +0 -1
  304. package/esm/component/tooltip/utils/compose.d.ts +0 -4
  305. package/esm/component/tooltip/utils/compose.js +0 -105
  306. package/esm/component/tooltip/utils/compose.js.map +0 -1
  307. package/esm/model/tooltip-helper.d.ts +0 -29
  308. package/esm/model/tooltip-helper.js +0 -11
  309. package/esm/model/tooltip-helper.js.map +0 -1
@@ -4,110 +4,48 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.getTooltipSpecForShow = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), common_1 = require("./common"), getTooltipSpecForShow = (activeType, globalSpec, series, dimensionInfo) => {
8
- var _a, _b, _c, _d, _e, _f;
9
- const finalSpec = Object.assign(Object.assign({}, globalSpec), {
7
+ const vutils_1 = require("@visactor/vutils"), common_1 = require("./common"), pick_keys = [ "updateTitle", "updateContent", "updatePosition", "maxLineCount", "othersLine" ], getTooltipSpecForShow = (activeType, globalSpec, series, data, params) => {
8
+ var _a, _b, _c;
9
+ const finalSpec = {
10
10
  activeType: activeType
11
- }), {style: style = {}} = globalSpec;
11
+ };
12
12
  switch (activeType) {
13
13
  case "mark":
14
14
  case "group":
15
15
  if (series) {
16
16
  const seriesSpec = null === (_a = series.getSpec()) || void 0 === _a ? void 0 : _a.tooltip;
17
- if (finalSpec.visible = !0, finalSpec.handler = null !== (_b = null == seriesSpec ? void 0 : seriesSpec.handler) && void 0 !== _b ? _b : globalSpec.handler,
18
- null === (_c = finalSpec.handler) || void 0 === _c ? void 0 : _c.showTooltip) return finalSpec;
17
+ return finalSpec.visible = !0, (null == seriesSpec ? void 0 : seriesSpec.handler) && (finalSpec.handler = seriesSpec.handler),
18
+ (null === (_b = finalSpec.handler) || void 0 === _b ? void 0 : _b.showTooltip) ? finalSpec : ((null == seriesSpec ? void 0 : seriesSpec[activeType]) && pick_keys.forEach((k => {
19
+ (0, vutils_1.isValid)(seriesSpec[activeType][k]) && (finalSpec[k] = seriesSpec[activeType][k]);
20
+ })), Object.assign(Object.assign({}, finalSpec), series.tooltipHelper.getTooltipData(activeType, globalSpec, data, data[0].datum, params)));
19
21
  }
20
22
  break;
21
23
 
22
24
  case "dimension":
23
- if (null == dimensionInfo ? void 0 : dimensionInfo.length) {
24
- if (getSeriesListFromDimensionInfo(dimensionInfo).every((series => {
25
+ if (null == data ? void 0 : data.length) {
26
+ if (getSeriesListFromDimensionInfo(data).every((series => {
25
27
  var _a;
26
28
  return !(0, common_1.isActiveTypeVisible)("dimension", null === (_a = series.tooltipHelper) || void 0 === _a ? void 0 : _a.spec);
27
- })) ? finalSpec.visible = !1 : finalSpec.visible = !0, finalSpec.handler = null !== (_d = globalSpec.handler) && void 0 !== _d ? _d : void 0,
28
- null === (_e = finalSpec.handler) || void 0 === _e ? void 0 : _e.showTooltip) return finalSpec;
29
+ })) ? finalSpec.visible = !1 : finalSpec.visible = !0, finalSpec.handler = globalSpec.handler,
30
+ null === (_c = finalSpec.handler) || void 0 === _c ? void 0 : _c.showTooltip) return finalSpec;
31
+ const patternList = [];
32
+ return data.forEach((info => info.data.forEach((datum => {
33
+ const {series: series} = datum, pattern = series.tooltipHelper.getTooltipData(activeType, globalSpec, data, datum.datum, params);
34
+ pattern && patternList.push(pattern);
35
+ })))), (0, common_1.combineContents)(patternList);
29
36
  }
30
37
  }
31
- const defaultPattern = null !== (_f = getDefaultTooltipPattern(activeType, series, dimensionInfo)) && void 0 !== _f ? _f : {}, userPattern = getSeriesTooltipPattern(activeType, globalSpec, series, dimensionInfo);
32
- if (userPattern) {
33
- const defaultPatternTitle = defaultPattern.title, defaultTitleShape = getShapePattern(void 0, userPattern, style.shape, void 0, defaultPatternTitle);
34
- (0, vutils_1.isValid)(userPattern.title) ? userPattern.title = addExtraInfoToTooltipTitlePattern(userPattern.title, Object.assign(Object.assign({}, defaultPatternTitle), defaultTitleShape)) : userPattern.title = addExtraInfoToTooltipTitlePattern(defaultPatternTitle, defaultTitleShape, !0);
35
- const defaultPatternContent = (0, vutils_1.array)(defaultPattern.content);
36
- if ((0, vutils_1.isValid)(userPattern.content)) {
37
- const shapePatternMap = getShapePatternMapOfEachSeries(defaultPatternContent);
38
- userPattern.content = addExtraInfoToTooltipContentPattern(userPattern.content, (userLine => getShapePattern(userLine, userPattern, style.shape, shapePatternMap)));
39
- } else userPattern.content = addExtraInfoToTooltipContentPattern(defaultPatternContent, (line => getShapePattern(void 0, userPattern, style.shape, void 0, line)), !0);
40
- }
41
- return finalSpec[activeType] = Object.assign(Object.assign(Object.assign({}, defaultPattern), userPattern), {
42
- activeType: activeType
43
- }), finalSpec;
38
+ return null;
44
39
  };
45
40
 
46
41
  exports.getTooltipSpecForShow = getTooltipSpecForShow;
47
42
 
48
- const getDefaultTooltipPattern = (activeType, series, dimensionInfo) => {
49
- switch (activeType) {
50
- case "mark":
51
- case "group":
52
- if (series) return series.tooltipHelper.getDefaultTooltipPattern(activeType);
53
- break;
54
-
55
- case "dimension":
56
- if (null == dimensionInfo ? void 0 : dimensionInfo.length) {
57
- const patternList = [];
58
- return dimensionInfo.forEach((info => info.data.forEach((datum => {
59
- const {series: series} = datum, mockDimensionInfo = [ Object.assign(Object.assign({}, info), {
60
- data: [ datum ]
61
- }) ], pattern = series.tooltipHelper.getDefaultTooltipPattern(activeType, mockDimensionInfo);
62
- pattern && patternList.push(pattern);
63
- })))), (0, common_1.combinePattern)(patternList);
64
- }
65
- }
66
- }, getSeriesTooltipPattern = (activeType, globalSpec, series, dimensionInfo) => {
67
- const allSeries = "dimension" === activeType && (null == dimensionInfo ? void 0 : dimensionInfo.length) ? getSeriesListFromDimensionInfo(dimensionInfo) : "mark" !== activeType && "group" !== activeType || !series ? null : [ series ];
68
- if (allSeries && allSeries.length) {
69
- const seriesPatternList = [];
70
- return allSeries.forEach((s => {
71
- var _a;
72
- const seriesSpec = null === (_a = s.tooltipHelper) || void 0 === _a ? void 0 : _a.spec;
73
- if ((0, common_1.isActiveTypeVisible)(activeType, seriesSpec)) {
74
- let finalPattern = seriesSpec && seriesSpec[activeType] ? Object.assign(Object.assign({}, globalSpec[activeType]), seriesSpec[activeType]) : globalSpec[activeType];
75
- finalPattern && (finalPattern = (0, vutils_1.cloneDeep)(finalPattern), finalPattern.title && (finalPattern.title = addExtraInfoToTooltipTitlePattern(finalPattern.title, {
76
- seriesId: s.id
77
- }, !0)), finalPattern.content && (finalPattern.content = addExtraInfoToTooltipContentPattern(finalPattern.content, {
78
- seriesId: s.id
79
- }, !0)), seriesPatternList.push(finalPattern));
80
- }
81
- })), seriesPatternList && seriesPatternList.length ? (0, common_1.combinePattern)(seriesPatternList) : null;
82
- }
83
- }, getSeriesListFromDimensionInfo = dimensionInfo => {
43
+ const getSeriesListFromDimensionInfo = dimensionInfo => {
84
44
  const list = [];
85
45
  return dimensionInfo.forEach((info => {
86
46
  info.data.forEach((datum => {
87
47
  (0, vutils_1.isValid)(datum.series) && list.push(datum.series);
88
48
  }));
89
49
  })), list;
90
- }, getShapePatternMapOfEachSeries = content => {
91
- const shapePatternMap = {};
92
- return content.forEach((line => {
93
- const key = line.seriesId;
94
- (0, vutils_1.isValid)(key) && !shapePatternMap[key] && (shapePatternMap[key] = line),
95
- shapePatternMap[-1] || (shapePatternMap[-1] = line);
96
- })), shapePatternMap;
97
- }, isShapeKey = key => key.toLowerCase().includes("shape"), getShapePattern = (userLinePattern, userPattern, userStyle, shapePatternMap, defaultShapePattern) => {
98
- var _a, _b;
99
- userStyle && (userStyle.shapeSize = null !== (_a = userStyle.shapeSize) && void 0 !== _a ? _a : userStyle.size);
100
- const shapePatternFromMap = shapePatternMap ? null !== (_b = shapePatternMap[null == userLinePattern ? void 0 : userLinePattern.seriesId]) && void 0 !== _b ? _b : shapePatternMap[-1] : null, shapePattern = {};
101
- return [ userLinePattern, userPattern, userStyle, shapePatternFromMap, defaultShapePattern ].forEach((cfg => {
102
- (0, vutils_1.isValid)(cfg) && Object.keys(cfg).forEach((key => {
103
- isShapeKey(key) && (0, vutils_1.isNil)(shapePattern[key]) && !(0, vutils_1.isNil)(cfg[key]) && (shapePattern[key] = cfg[key]);
104
- }));
105
- })), shapePattern;
106
- }, merge = (source, extraInfo, overwrite) => {
107
- const info = (0, vutils_1.isFunction)(extraInfo) ? extraInfo(source) : extraInfo;
108
- return overwrite ? Object.assign(Object.assign({}, source), info) : Object.assign(Object.assign({}, info), source);
109
- }, addExtraInfoToTooltipTitlePattern = (pattern, extraInfo, overwrite) => (0, vutils_1.isValid)(pattern) ? (0,
110
- vutils_1.isFunction)(pattern) ? (...args) => merge(pattern(...args), extraInfo, overwrite) : merge(pattern, extraInfo, overwrite) : void 0, addExtraInfoToTooltipContentPattern = (pattern, extraInfo, overwrite) => (0,
111
- vutils_1.isValid)(pattern) ? (0, vutils_1.array)(pattern).map((patternItem => (0,
112
- vutils_1.isFunction)(patternItem) ? (...args) => (0, vutils_1.array)(patternItem(...args)).map((line => merge(line, extraInfo, overwrite))) : merge(patternItem, extraInfo, overwrite))) : void 0;
50
+ };
113
51
  //# sourceMappingURL=get-spec.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/utils/get-spec.ts"],"names":[],"mappings":";;;AAGA,6CAAgF;AAEhF,qCAA+D;AAExD,MAAM,qBAAqB,GAAG,CACnC,UAA6B,EAC7B,UAAwB,EACxB,MAAgB,EAChB,aAAgC,EAClB,EAAE;;IAEhB,MAAM,SAAS,GAAG,gCACb,UAAU,KACb,UAAU,GACK,CAAC;IAElB,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC;IAElC,QAAQ,UAAU,EAAE;QAClB,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,IAAI,MAAM,EAAE;gBAEV,MAAM,UAAU,GAAG,MAAA,MAAM,CAAC,OAAO,EAAE,0CAAE,OAAuB,CAAC;gBAC7D,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;gBAGzB,SAAS,CAAC,OAAO,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,mCAAI,UAAU,CAAC,OAAO,CAAC;gBAC9D,IAAI,MAAA,SAAS,CAAC,OAAO,0CAAE,WAAW,EAAE;oBAClC,OAAO,SAAS,CAAC;iBAClB;aACF;YACD,MAAM;QACR,KAAK,WAAW;YACd,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,EAAE;gBAEzB,MAAM,UAAU,GAAG,8BAA8B,CAAC,aAAa,CAAC,CAAC;gBAGjE,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAC,OAAA,CAAC,IAAA,4BAAmB,EAAC,WAAW,EAAE,MAAA,MAAM,CAAC,aAAa,0CAAE,IAAI,CAAC,CAAA,EAAA,CAAC,EAAE;oBAC7F,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;iBAC3B;qBAAM;oBACL,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;iBAC1B;gBAGD,SAAS,CAAC,OAAO,GAAG,MAAA,UAAU,CAAC,OAAO,mCAAI,SAAS,CAAC;gBACpD,IAAI,MAAA,SAAS,CAAC,OAAO,0CAAE,WAAW,EAAE;oBAClC,OAAO,SAAS,CAAC;iBAClB;aACF;YACD,MAAM;KACT;IAGD,MAAM,cAAc,GAAG,MAAA,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,mCAAI,EAAE,CAAC;IAEzF,MAAM,WAAW,GAAG,uBAAuB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAE3F,IAAI,WAAW,EAAE;QAGf,MAAM,mBAAmB,GAAG,cAAc,CAAC,KAAwC,CAAC;QACpF,MAAM,iBAAiB,GAAyB,eAAe,CAC7D,SAAS,EACT,WAAW,EACX,KAAK,CAAC,KAAK,EACX,SAAS,EACT,mBAAmB,CACpB,CAAC;QACF,IAAI,IAAA,gBAAO,EAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YAC9B,WAAW,CAAC,KAAK,GAAG,iCAAiC,CAAC,WAAW,CAAC,KAAK,kCAClE,mBAAmB,GACnB,iBAAiB,EACpB,CAAC;SACJ;aAAM;YACL,WAAW,CAAC,KAAK,GAAG,iCAAiC,CACnD,mBAAmB,EACnB,iBAAiB,EACjB,IAAI,CACL,CAAC;SACH;QAGD,MAAM,qBAAqB,GAAG,IAAA,cAAK,EAAC,cAAc,CAAC,OAAO,CAA0B,CAAC;QACrF,IAAI,IAAA,gBAAO,EAAC,WAAW,CAAC,OAAO,CAAC,EAAE;YAChC,MAAM,eAAe,GAAG,8BAA8B,CAAC,qBAAqB,CAAC,CAAC;YAC9E,WAAW,CAAC,OAAO,GAAG,mCAAmC,CACvD,WAAW,CAAC,OAAO,EAEnB,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,CACjF,CAAC;SACH;aAAM;YACL,WAAW,CAAC,OAAO,GAAG,mCAAmC,CACvD,qBAAqB,EAErB,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAC7E,IAAI,CACL,CAAC;SACH;KACF;IAED,SAAS,CAAC,UAAU,CAAC,iDAChB,cAAc,GACd,WAAW,KACd,UAAU,GACX,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAzGW,QAAA,qBAAqB,yBAyGhC;AAGF,MAAM,wBAAwB,GAAG,CAC/B,UAA6B,EAC7B,MAAgB,EAChB,aAAgC,EACf,EAAE;IACnB,QAAQ,UAAU,EAAE;QAClB,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,IAAI,MAAM,EAAE;gBACV,OAAO,MAAM,CAAC,aAAa,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;aAClE;YACD,MAAM;QACR,KAAK,WAAW;YACd,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,EAAE;gBACzB,MAAM,WAAW,GAAsB,EAAE,CAAC;gBAC1C,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACxB,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;oBACzB,MAAM,iBAAiB,GAAG;wDAEnB,IAAI,KACP,IAAI,EAAE,CAAC,KAAK,CAAC;qBAEI,CAAC;oBACtB,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,wBAAwB,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;oBAC7F,IAAI,OAAO,EAAE;wBACX,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBAC3B;gBACH,CAAC,CAAC,CACH,CAAC;gBACF,OAAO,IAAA,uBAAc,EAAC,WAAW,CAAC,CAAC;aACpC;YACD,MAAM;KACT;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAGF,MAAM,uBAAuB,GAAG,CAC9B,UAA6B,EAC7B,UAAwB,EACxB,MAAgB,EAChB,aAAgC,EACf,EAAE;IACnB,MAAM,SAAS,GACb,UAAU,KAAK,WAAW,KAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAA;QACjD,CAAC,CAAC,8BAA8B,CAAC,aAAa,CAAC;QAC/C,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,OAAO,CAAC,IAAI,MAAM;YAC7D,CAAC,CAAC,CAAC,MAAM,CAAC;YACV,CAAC,CAAC,IAAI,CAAC;IAEX,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE;QACjC,MAAM,iBAAiB,GAAsB,EAAE,CAAC;QAEhD,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;YACpB,MAAM,UAAU,GAAG,MAAA,CAAC,CAAC,aAAa,0CAAE,IAAoB,CAAC;YAEzD,IAAI,IAAA,4BAAmB,EAAC,UAAU,EAAE,UAAU,CAAC,EAAE;gBAC/C,IAAI,YAAY,GACd,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC;oBAClC,CAAC,iCACM,UAAU,CAAC,UAAU,CAAC,GACtB,UAAU,CAAC,UAAU,CAAC,EAE7B,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAE7B,IAAI,YAAY,EAAE;oBAChB,YAAY,GAAG,IAAA,kBAAS,EAAC,YAAY,CAAC,CAAC;oBAEvC,IAAI,YAAY,CAAC,KAAK,EAAE;wBACtB,YAAY,CAAC,KAAK,GAAG,iCAAiC,CACpD,YAAY,CAAC,KAAK,EAClB;4BACE,QAAQ,EAAE,CAAC,CAAC,EAAE;yBACf,EACD,IAAI,CACL,CAAC;qBACH;oBACD,IAAI,YAAY,CAAC,OAAO,EAAE;wBACxB,YAAY,CAAC,OAAO,GAAG,mCAAmC,CACxD,YAAY,CAAC,OAAO,EACpB;4BACE,QAAQ,EAAE,CAAC,CAAC,EAAE;yBACf,EACD,IAAI,CACL,CAAC;qBACH;oBAED,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBACtC;aACF;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,uBAAc,EAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KACjG;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CAAC,aAA+B,EAAa,EAAE;IACpF,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBACzB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAGF,MAAM,8BAA8B,GAAG,CAAC,OAA8B,EAAwC,EAAE;IAC9G,MAAM,eAAe,GAAyC,EAAE,CAAC;IAEjE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE1B,IAAI,IAAA,gBAAO,EAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;YACzC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;SAC7B;QAED,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;YACxB,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;SAC5B;IACH,CAAC,CAAC,CAAC;IACH,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAGxE,MAAM,eAAe,GAAG,CACtB,eAAqC,EACrC,WAA6B,EAC7B,SAAkC,EAClC,eAAsD,EACtD,mBAA0C,EACpB,EAAE;;IACxB,IAAI,SAAS,EAAE;QACb,SAAS,CAAC,SAAS,GAAG,MAAA,SAAS,CAAC,SAAS,mCAAI,SAAS,CAAC,IAAI,CAAC;KAC7D;IACD,MAAM,mBAAmB,GAAG,eAAe;QACzC,CAAC,CAAC,MAAA,eAAe,CAAC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,CAAC,mCAAI,eAAe,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,YAAY,GAAyB,EAAE,CAAC;IAE9C,CAAC,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAChG,IAAI,IAAA,gBAAO,EAAC,GAAG,CAAC,EAAE;YAChB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC7B,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,IAAA,cAAK,EAAE,YAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAA,cAAK,EAAE,GAAW,CAAC,GAAG,CAAC,CAAC,EAAE;oBACpF,YAAoB,CAAC,GAAG,CAAC,GAAI,GAAW,CAAC,GAAG,CAAC,CAAC;iBAChD;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAO,MAAS,EAAE,SAAiC,EAAE,SAAmB,EAAE,EAAE;IACxF,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,OAAO,SAAS,CAAC,CAAC,iCAAM,MAAM,GAAK,IAAI,EAAG,CAAC,iCAAM,IAAI,GAAK,MAAM,CAAE,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,iCAAiC,GAAG,CACxC,OAAiC,EACjC,SAAiD,EACjD,SAAmB,EACmB,EAAE;IACxC,MAAM,MAAM,GAAG,IAAA,gBAAO,EAAC,OAAO,CAAC;QAC7B,CAAC,CAAC,IAAA,mBAAU,EAAC,OAAO,CAAC;YACnB,CAAC,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC;YACnE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;QACxC,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,mCAAmC,GAAG,CAC1C,OAAmC,EACnC,SAAiD,EACjD,SAAmB,EACqB,EAAE;IAC1C,MAAM,MAAM,GAAG,IAAA,gBAAO,EAAC,OAAO,CAAC;QAC7B,CAAC,CAAC,IAAA,cAAK,EAAC,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAC/B,IAAA,mBAAU,EAAC,WAAW,CAAC;YACrB,CAAC,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,IAAA,cAAK,EAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAChG,CAAC,CAAC,KAAK,CAAC,WAAkC,EAAE,SAAS,EAAE,SAAS,CAAC,CACpE;QACH,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC","file":"get-spec.js","sourcesContent":["import type { ITooltipLinePattern, ITooltipPattern, ITooltipShapePattern, TooltipActiveType } from '../../../typings';\nimport type { ISeries } from '../../../series/interface';\nimport type { IDimensionInfo } from '../../../event/events/dimension/interface';\nimport { isValid, array, isNil, cloneDeep, isFunction } from '@visactor/vutils';\nimport type { ITooltipSpec, ITooltipTheme } from '..';\nimport { combinePattern, isActiveTypeVisible } from './common';\n\nexport const getTooltipSpecForShow = (\n activeType: TooltipActiveType,\n globalSpec: ITooltipSpec,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipSpec => {\n // 组装tooltip spec\n const finalSpec = {\n ...globalSpec,\n activeType\n } as ITooltipSpec;\n\n const { style = {} } = globalSpec;\n\n switch (activeType) {\n case 'mark':\n case 'group':\n if (series) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesSpec = series.getSpec()?.tooltip as ITooltipSpec;\n finalSpec.visible = true;\n\n // 优先使用自定义handler\n finalSpec.handler = seriesSpec?.handler ?? globalSpec.handler;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n }\n break;\n case 'dimension':\n if (dimensionInfo?.length) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesList = getSeriesListFromDimensionInfo(dimensionInfo);\n\n // visible\n if (seriesList.every(series => !isActiveTypeVisible('dimension', series.tooltipHelper?.spec))) {\n finalSpec.visible = false;\n } else {\n finalSpec.visible = true;\n }\n\n // 优先使用自定义handler\n finalSpec.handler = globalSpec.handler ?? undefined;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n }\n break;\n }\n\n // 默认的 pattern\n const defaultPattern = getDefaultTooltipPattern(activeType, series, dimensionInfo) ?? {};\n // 来自系列的 pattern\n const userPattern = getSeriesTooltipPattern(activeType, globalSpec, series, dimensionInfo);\n\n if (userPattern) {\n // 对pattern进行组装\n // 组装 title\n const defaultPatternTitle = defaultPattern.title as ITooltipLinePattern | undefined;\n const defaultTitleShape: ITooltipShapePattern = getShapePattern(\n undefined,\n userPattern,\n style.shape,\n undefined,\n defaultPatternTitle\n );\n if (isValid(userPattern.title)) {\n userPattern.title = addExtraInfoToTooltipTitlePattern(userPattern.title, {\n ...defaultPatternTitle,\n ...defaultTitleShape // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n });\n } else {\n userPattern.title = addExtraInfoToTooltipTitlePattern(\n defaultPatternTitle,\n defaultTitleShape, // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n true\n );\n }\n\n // 组装 content\n const defaultPatternContent = array(defaultPattern.content) as ITooltipLinePattern[];\n if (isValid(userPattern.content)) {\n const shapePatternMap = getShapePatternMapOfEachSeries(defaultPatternContent);\n userPattern.content = addExtraInfoToTooltipContentPattern(\n userPattern.content,\n // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n userLine => getShapePattern(userLine, userPattern, style.shape, shapePatternMap)\n );\n } else {\n userPattern.content = addExtraInfoToTooltipContentPattern(\n defaultPatternContent,\n // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n line => getShapePattern(undefined, userPattern, style.shape, undefined, line),\n true\n );\n }\n }\n\n finalSpec[activeType] = {\n ...defaultPattern,\n ...userPattern,\n activeType\n };\n\n return finalSpec;\n};\n\n/** 获取默认 tooltip pattern */\nconst getDefaultTooltipPattern = (\n activeType: TooltipActiveType,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipPattern => {\n switch (activeType) {\n case 'mark':\n case 'group':\n if (series) {\n return series.tooltipHelper.getDefaultTooltipPattern(activeType);\n }\n break;\n case 'dimension':\n if (dimensionInfo?.length) {\n const patternList: ITooltipPattern[] = [];\n dimensionInfo.forEach(info =>\n info.data.forEach(datum => {\n const { series } = datum;\n const mockDimensionInfo = [\n {\n ...info,\n data: [datum]\n }\n ] as IDimensionInfo[];\n const pattern = series.tooltipHelper.getDefaultTooltipPattern(activeType, mockDimensionInfo);\n if (pattern) {\n patternList.push(pattern);\n }\n })\n );\n return combinePattern(patternList);\n }\n break;\n }\n return undefined;\n};\n\n/** 获取来自系列 spec 的 tooltip pattern */\nconst getSeriesTooltipPattern = (\n activeType: TooltipActiveType,\n globalSpec: ITooltipSpec,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipPattern => {\n const allSeries =\n activeType === 'dimension' && dimensionInfo?.length\n ? getSeriesListFromDimensionInfo(dimensionInfo)\n : (activeType === 'mark' || activeType === 'group') && series\n ? [series]\n : null;\n\n if (allSeries && allSeries.length) {\n const seriesPatternList: ITooltipPattern[] = [];\n\n allSeries.forEach(s => {\n const seriesSpec = s.tooltipHelper?.spec as ITooltipSpec;\n\n if (isActiveTypeVisible(activeType, seriesSpec)) {\n let finalPattern =\n seriesSpec && seriesSpec[activeType]\n ? {\n ...globalSpec[activeType],\n ...seriesSpec[activeType]\n }\n : globalSpec[activeType];\n\n if (finalPattern) {\n finalPattern = cloneDeep(finalPattern);\n\n if (finalPattern.title) {\n finalPattern.title = addExtraInfoToTooltipTitlePattern(\n finalPattern.title,\n {\n seriesId: s.id\n },\n true\n );\n }\n if (finalPattern.content) {\n finalPattern.content = addExtraInfoToTooltipContentPattern(\n finalPattern.content,\n {\n seriesId: s.id\n },\n true\n );\n }\n\n seriesPatternList.push(finalPattern);\n }\n }\n });\n\n return seriesPatternList && seriesPatternList.length ? combinePattern(seriesPatternList) : null;\n }\n\n return undefined;\n};\n\nconst getSeriesListFromDimensionInfo = (dimensionInfo: IDimensionInfo[]): ISeries[] => {\n const list: ISeries[] = [];\n dimensionInfo.forEach(info => {\n info.data.forEach(datum => {\n if (isValid(datum.series)) {\n list.push(datum.series);\n }\n });\n });\n\n return list;\n};\n\n/** 获取每个系列对应的 shape pattern */\nconst getShapePatternMapOfEachSeries = (content: ITooltipLinePattern[]): Record<number, ITooltipShapePattern> => {\n const shapePatternMap: Record<number, ITooltipShapePattern> = {};\n\n content.forEach(line => {\n const key = line.seriesId;\n\n if (isValid(key) && !shapePatternMap[key]) {\n shapePatternMap[key] = line;\n }\n\n if (!shapePatternMap[-1]) {\n shapePatternMap[-1] = line;\n }\n });\n return shapePatternMap;\n};\n\nconst isShapeKey = (key: string) => key.toLowerCase().includes('shape');\n\n/** 根据优先级获取形状配置 */\nconst getShapePattern = (\n userLinePattern?: ITooltipLinePattern,\n userPattern?: ITooltipPattern,\n userStyle?: ITooltipTheme['shape'],\n shapePatternMap?: Record<number, ITooltipShapePattern>,\n defaultShapePattern?: ITooltipShapePattern\n): ITooltipShapePattern => {\n if (userStyle) {\n userStyle.shapeSize = userStyle.shapeSize ?? userStyle.size; // 兼容旧配置\n }\n const shapePatternFromMap = shapePatternMap\n ? shapePatternMap[userLinePattern?.seriesId] ?? shapePatternMap[-1]\n : null;\n const shapePattern: ITooltipShapePattern = {};\n\n [userLinePattern, userPattern, userStyle, shapePatternFromMap, defaultShapePattern].forEach(cfg => {\n if (isValid(cfg)) {\n Object.keys(cfg).forEach(key => {\n if (isShapeKey(key) && isNil((shapePattern as any)[key]) && !isNil((cfg as any)[key])) {\n (shapePattern as any)[key] = (cfg as any)[key];\n }\n });\n }\n });\n\n return shapePattern;\n};\n\nconst merge = <T, K>(source: K, extraInfo: T | ((source: K) => T), overwrite?: boolean) => {\n const info = isFunction(extraInfo) ? extraInfo(source) : extraInfo;\n return overwrite ? { ...source, ...info } : { ...info, ...source };\n};\n\nconst addExtraInfoToTooltipTitlePattern = <T>(\n pattern: ITooltipPattern['title'],\n extraInfo: T | ((line: ITooltipLinePattern) => T),\n overwrite?: boolean\n): ITooltipPattern['title'] | undefined => {\n const result = isValid(pattern)\n ? isFunction(pattern)\n ? (...args: any[]) => merge(pattern(...args), extraInfo, overwrite)\n : merge(pattern, extraInfo, overwrite)\n : undefined;\n return result;\n};\n\nconst addExtraInfoToTooltipContentPattern = <T>(\n pattern: ITooltipPattern['content'],\n extraInfo: T | ((line: ITooltipLinePattern) => T),\n overwrite?: boolean\n): ITooltipPattern['content'] | undefined => {\n const result = isValid(pattern)\n ? array(pattern).map(patternItem =>\n isFunction(patternItem)\n ? (...args: any[]) => array(patternItem(...args)).map(line => merge(line, extraInfo, overwrite))\n : merge(patternItem as ITooltipLinePattern, extraInfo, overwrite)\n )\n : undefined;\n return result;\n};\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/utils/get-spec.ts"],"names":[],"mappings":"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","file":"get-spec.js","sourcesContent":["import type { ITooltipActual, TooltipActiveType, TooltipData } from '../../../typings';\nimport type { ISeries } from '../../../series/interface';\nimport type { IDimensionData, IDimensionInfo } from '../../../event/events/dimension/interface';\nimport { isValid } from '@visactor/vutils';\nimport type { TooltipHandlerParams } from '../interface/common';\nimport { combineContents, isActiveTypeVisible } from './common';\nimport type { ITooltipSpec } from '../interface/spec';\n\nconst pick_keys = ['updateTitle', 'updateContent', 'updatePosition', 'maxLineCount', 'othersLine'];\n\nexport const getTooltipSpecForShow = (\n activeType: TooltipActiveType,\n globalSpec: ITooltipSpec,\n series?: ISeries,\n data?: TooltipData,\n params?: TooltipHandlerParams\n): ITooltipActual => {\n // 组装tooltip spec\n const finalSpec = {\n activeType\n } as ITooltipActual;\n\n switch (activeType) {\n case 'mark':\n case 'group':\n if (series) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesSpec = series.getSpec()?.tooltip as ITooltipSpec;\n\n finalSpec.visible = true;\n\n if (seriesSpec?.handler) {\n // 优先使用自定义handler\n finalSpec.handler = seriesSpec.handler;\n }\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n if (seriesSpec?.[activeType]) {\n pick_keys.forEach(k => {\n if (isValid((seriesSpec[activeType] as any)[k])) {\n (finalSpec as any)[k] = (seriesSpec as any)[activeType][k];\n }\n });\n }\n\n return {\n ...finalSpec,\n ...series.tooltipHelper.getTooltipData(\n activeType,\n globalSpec,\n data as IDimensionData[],\n (data as IDimensionData[])[0].datum,\n params\n )\n };\n }\n break;\n case 'dimension':\n if ((data as IDimensionInfo[])?.length) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesList = getSeriesListFromDimensionInfo(data as IDimensionInfo[]);\n\n // visible\n if (seriesList.every(series => !isActiveTypeVisible('dimension', series.tooltipHelper?.spec))) {\n finalSpec.visible = false;\n } else {\n finalSpec.visible = true;\n }\n\n // 优先使用自定义handler\n finalSpec.handler = globalSpec.handler;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n\n const patternList: ITooltipActual[] = [];\n (data as IDimensionInfo[]).forEach(info =>\n info.data.forEach(datum => {\n const { series } = datum;\n const pattern = series.tooltipHelper.getTooltipData(activeType, globalSpec, data, datum.datum, params);\n if (pattern) {\n patternList.push(pattern);\n }\n })\n );\n\n return combineContents(patternList);\n }\n break;\n }\n\n return null;\n};\n\nconst getSeriesListFromDimensionInfo = (dimensionInfo: IDimensionInfo[]): ISeries[] => {\n const list: ISeries[] = [];\n dimensionInfo.forEach(info => {\n info.data.forEach(datum => {\n if (isValid(datum.series)) {\n list.push(datum.series);\n }\n });\n });\n\n return list;\n};\n"]}
@@ -1,6 +1,5 @@
1
- import type { Datum, ITooltipLinePattern, ITooltipPattern, TooltipContentProperty, TooltipData, TooltipPatternProperty } from '../../../typings';
1
+ import type { Datum, TooltipContentProperty, TooltipData, TooltipPatternProperty } from '../../../typings';
2
2
  import type { TooltipHandlerParams } from '../interface';
3
3
  export declare const getTooltipContentValue: <T>(field?: TooltipContentProperty<T>, datum?: any, params?: TooltipHandlerParams, formatter?: string) => T;
4
4
  export declare const getTooltipPatternValue: <T>(field?: TooltipPatternProperty<T>, data?: TooltipData, params?: TooltipHandlerParams) => T;
5
- export declare const getTooltipContentPattern: (field?: ITooltipPattern['content'], data?: TooltipData, params?: TooltipHandlerParams) => Array<ITooltipLinePattern> | undefined;
6
5
  export declare function getFirstDatumFromTooltipData(data: TooltipData): Datum;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.getFirstDatumFromTooltipData = exports.getTooltipContentPattern = exports.getTooltipPatternValue = exports.getTooltipContentValue = void 0;
5
+ }), exports.getFirstDatumFromTooltipData = exports.getTooltipPatternValue = exports.getTooltipContentValue = void 0;
6
6
 
7
7
  const vutils_1 = require("@visactor/vutils"), util_1 = require("../../util"), getTooltipContentValue = (field, datum, params, formatter) => {
8
8
  let value;
@@ -18,16 +18,6 @@ exports.getTooltipContentValue = getTooltipContentValue;
18
18
  const getTooltipPatternValue = (field, data, params) => (0, vutils_1.isNil)(field) ? field : (0,
19
19
  vutils_1.isFunction)(field) ? field(data, params) : field;
20
20
 
21
- exports.getTooltipPatternValue = getTooltipPatternValue;
22
-
23
- const getTooltipContentPattern = (field, data, params) => {
24
- if ((0, vutils_1.isNil)(field)) return field;
25
- let result = [];
26
- return (0, vutils_1.array)(field).forEach((patternItem => {
27
- (0, vutils_1.isFunction)(patternItem) ? result = result.concat((0, vutils_1.array)(patternItem(data, params))) : result.push(patternItem);
28
- })), result;
29
- };
30
-
31
21
  function getFirstDatumFromTooltipData(data) {
32
22
  var _a;
33
23
  const dimInfoList = (null === (_a = data[0]) || void 0 === _a ? void 0 : _a.series) ? [ {
@@ -37,5 +27,5 @@ function getFirstDatumFromTooltipData(data) {
37
27
  for (const {data: dataList} of dimInfoList) for (const {datum: datumList} of dataList) for (const datumItem of null != datumList ? datumList : []) if (datumItem) return datumItem;
38
28
  }
39
29
 
40
- exports.getTooltipContentPattern = getTooltipContentPattern, exports.getFirstDatumFromTooltipData = getFirstDatumFromTooltipData;
30
+ exports.getTooltipPatternValue = getTooltipPatternValue, exports.getFirstDatumFromTooltipData = getFirstDatumFromTooltipData;
41
31
  //# sourceMappingURL=get-value.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/utils/get-value.ts"],"names":[],"mappings":";;;AAAA,6CAA4D;AAU5D,qCAA+C;AAGxC,MAAM,sBAAsB,GAAG,CACpC,KAAiC,EACjC,KAAW,EACX,MAA6B,EAC7B,SAAkB,EACH,EAAE;IACjB,IAAI,KAAQ,CAAC;IACb,IAAI,IAAA,mBAAU,EAAC,KAAK,CAAC,EAAE;QACrB,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KAC9B;SAAM;QACL,KAAK,GAAG,KAAK,CAAC;KACf;IAED,IAAI,SAAS,EAAE;QACb,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,IAAA,wBAAiB,EAAC,SAAS,EAAE,SAAS,EAAE,KAAe,EAAE,KAAK,CAAC,CAAC;QAC7F,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,KAAK,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;SAC7B;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AArBW,QAAA,sBAAsB,0BAqBjC;AAEK,MAAM,sBAAsB,GAAG,CACpC,KAAiC,EACjC,IAAkB,EAClB,MAA6B,EACd,EAAE;IACjB,IAAI,IAAA,cAAK,EAAC,KAAK,CAAC,EAAE;QAChB,OAAO,KAAK,CAAC;KACd;IACD,IAAI,IAAA,mBAAU,EAAC,KAAK,CAAC,EAAE;QACrB,OAAO,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC5B;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAZW,QAAA,sBAAsB,0BAYjC;AAEK,MAAM,wBAAwB,GAAG,CACtC,KAAkC,EAClC,IAAkB,EAClB,MAA6B,EACW,EAAE;IAC1C,IAAI,IAAA,cAAK,EAAC,KAAK,CAAC,EAAE;QAChB,OAAO,KAAK,CAAC;KACd;IACD,IAAI,MAAM,GAA0B,EAAE,CAAC;IACvC,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QACjC,IAAI,IAAA,mBAAU,EAAC,WAAW,CAAC,EAAE;YAC3B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAA,cAAK,EAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;SAC1D;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,WAAkC,CAAC,CAAC;SACjD;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAjBW,QAAA,wBAAwB,4BAiBnC;AAEF,SAAgB,4BAA4B,CAAC,IAAiB;;IAE5D,MAAM,WAAW,GAAqB,CAAA,MAAC,IAAyB,CAAC,CAAC,CAAC,0CAAE,MAAM;QACzE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAwB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACjD,CAAC,CAAE,IAAyB,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,WAAW,EAAE;QAC5C,KAAK,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,QAAQ,EAAE;YAC3C,KAAK,MAAM,SAAS,IAAI,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,EAAE;gBACvC,IAAI,SAAS,EAAE;oBACb,OAAO,SAAS,CAAC;iBAClB;aACF;SACF;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAfD,oEAeC","file":"get-value.js","sourcesContent":["import { array, isFunction, isNil } from '@visactor/vutils';\nimport type {\n Datum,\n ITooltipLinePattern,\n ITooltipPattern,\n TooltipContentProperty,\n TooltipData,\n TooltipPatternProperty\n} from '../../../typings';\nimport type { TooltipHandlerParams } from '../interface';\nimport { getFormatFunction } from '../../util';\nimport type { IDimensionData, IDimensionInfo } from '../../../event';\n\nexport const getTooltipContentValue = <T>(\n field?: TooltipContentProperty<T>,\n datum?: any,\n params?: TooltipHandlerParams,\n formatter?: string\n): T | undefined => {\n let value: T;\n if (isFunction(field)) {\n value = field(datum, params);\n } else {\n value = field;\n }\n\n if (formatter) {\n const { formatFunc, args } = getFormatFunction(undefined, formatter, field as string, datum);\n if (formatFunc && args) {\n value = formatFunc(...args);\n }\n }\n\n return value;\n};\n\nexport const getTooltipPatternValue = <T>(\n field?: TooltipPatternProperty<T>,\n data?: TooltipData,\n params?: TooltipHandlerParams\n): T | undefined => {\n if (isNil(field)) {\n return field;\n }\n if (isFunction(field)) {\n return field(data, params);\n }\n return field;\n};\n\nexport const getTooltipContentPattern = (\n field?: ITooltipPattern['content'],\n data?: TooltipData,\n params?: TooltipHandlerParams\n): Array<ITooltipLinePattern> | undefined => {\n if (isNil(field)) {\n return field;\n }\n let result: ITooltipLinePattern[] = [];\n array(field).forEach(patternItem => {\n if (isFunction(patternItem)) {\n result = result.concat(array(patternItem(data, params)));\n } else {\n result.push(patternItem as ITooltipLinePattern);\n }\n });\n return result;\n};\n\nexport function getFirstDatumFromTooltipData(data: TooltipData): Datum {\n // 找到第一个可用的datum\n const dimInfoList: IDimensionInfo[] = (data as IDimensionData[])[0]?.series\n ? [{ data: data as IDimensionData[], value: '' }]\n : (data as IDimensionInfo[]);\n for (const { data: dataList } of dimInfoList) {\n for (const { datum: datumList } of dataList) {\n for (const datumItem of datumList ?? []) {\n if (datumItem) {\n return datumItem;\n }\n }\n }\n }\n return undefined;\n}\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/utils/get-value.ts"],"names":[],"mappings":";;;AAAA,6CAAqD;AASrD,qCAA+C;AAGxC,MAAM,sBAAsB,GAAG,CACpC,KAAiC,EACjC,KAAW,EACX,MAA6B,EAC7B,SAAkB,EACH,EAAE;IACjB,IAAI,KAAQ,CAAC;IACb,IAAI,IAAA,mBAAU,EAAC,KAAK,CAAC,EAAE;QACrB,KAAK,GAAI,KAAmC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KAC7D;SAAM;QACL,KAAK,GAAG,KAAU,CAAC;KACpB;IAED,IAAI,SAAS,EAAE;QACb,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,IAAA,wBAAiB,EAAC,SAAS,EAAE,SAAS,EAAE,KAAe,EAAE,KAAK,CAAC,CAAC;QAC7F,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,KAAK,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;SAC7B;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AArBW,QAAA,sBAAsB,0BAqBjC;AAEK,MAAM,sBAAsB,GAAG,CACpC,KAAiC,EACjC,IAAkB,EAClB,MAA6B,EACd,EAAE;IACjB,IAAI,IAAA,cAAK,EAAC,KAAK,CAAC,EAAE;QAChB,OAAO,KAAkB,CAAC;KAC3B;IACD,IAAI,IAAA,mBAAU,EAAC,KAAK,CAAC,EAAE;QACrB,OAAQ,KAAmC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC3D;IACD,OAAO,KAAU,CAAC;AACpB,CAAC,CAAC;AAZW,QAAA,sBAAsB,0BAYjC;AAEF,SAAgB,4BAA4B,CAAC,IAAiB;;IAE5D,MAAM,WAAW,GAAqB,CAAA,MAAC,IAAyB,CAAC,CAAC,CAAC,0CAAE,MAAM;QACzE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAwB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACjD,CAAC,CAAE,IAAyB,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,WAAW,EAAE;QAC5C,KAAK,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,QAAQ,EAAE;YAC3C,KAAK,MAAM,SAAS,IAAI,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,EAAE;gBACvC,IAAI,SAAS,EAAE;oBACb,OAAO,SAAS,CAAC;iBAClB;aACF;SACF;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAfD,oEAeC","file":"get-value.js","sourcesContent":["import { isFunction, isNil } from '@visactor/vutils';\nimport type {\n Datum,\n TooltipContentCallback,\n TooltipContentProperty,\n TooltipData,\n TooltipPatternProperty\n} from '../../../typings';\nimport type { TooltipHandlerParams } from '../interface';\nimport { getFormatFunction } from '../../util';\nimport type { IDimensionData, IDimensionInfo } from '../../../event';\n\nexport const getTooltipContentValue = <T>(\n field?: TooltipContentProperty<T>,\n datum?: any,\n params?: TooltipHandlerParams,\n formatter?: string\n): T | undefined => {\n let value: T;\n if (isFunction(field)) {\n value = (field as TooltipContentCallback<T>)(datum, params);\n } else {\n value = field as T;\n }\n\n if (formatter) {\n const { formatFunc, args } = getFormatFunction(undefined, formatter, field as string, datum);\n if (formatFunc && args) {\n value = formatFunc(...args);\n }\n }\n\n return value;\n};\n\nexport const getTooltipPatternValue = <T>(\n field?: TooltipPatternProperty<T>,\n data?: TooltipData,\n params?: TooltipHandlerParams\n): T | undefined => {\n if (isNil(field)) {\n return field as undefined;\n }\n if (isFunction(field)) {\n return (field as TooltipContentCallback<T>)(data, params);\n }\n return field as T;\n};\n\nexport function getFirstDatumFromTooltipData(data: TooltipData): Datum {\n // 找到第一个可用的datum\n const dimInfoList: IDimensionInfo[] = (data as IDimensionData[])[0]?.series\n ? [{ data: data as IDimensionData[], value: '' }]\n : (data as IDimensionInfo[]);\n for (const { data: dataList } of dimInfoList) {\n for (const { datum: datumList } of dataList) {\n for (const datumItem of datumList ?? []) {\n if (datumItem) {\n return datumItem;\n }\n }\n }\n }\n return undefined;\n}\n"]}
@@ -2,4 +2,3 @@ export * from './show-tooltip';
2
2
  export * from './common';
3
3
  export * from './get-spec';
4
4
  export * from './get-value';
5
- export * from './compose';
@@ -18,6 +18,5 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
18
18
  Object.defineProperty(exports, "__esModule", {
19
19
  value: !0
20
20
  }), __exportStar(require("./show-tooltip"), exports), __exportStar(require("./common"), exports),
21
- __exportStar(require("./get-spec"), exports), __exportStar(require("./get-value"), exports),
22
- __exportStar(require("./compose"), exports);
21
+ __exportStar(require("./get-spec"), exports), __exportStar(require("./get-value"), exports);
23
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,2CAAyB;AACzB,6CAA2B;AAC3B,8CAA4B;AAC5B,4CAA0B","file":"index.js","sourcesContent":["export * from './show-tooltip';\nexport * from './common';\nexport * from './get-spec';\nexport * from './get-value';\nexport * from './compose';\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,2CAAyB;AACzB,6CAA2B;AAC3B,8CAA4B","file":"index.js","sourcesContent":["export * from './show-tooltip';\nexport * from './common';\nexport * from './get-spec';\nexport * from './get-value';\n"]}
@@ -7,4 +7,5 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const base_1 = require("./base");
8
8
 
9
9
  exports.CORRELATION_X = `${base_1.PREFIX}_CORRELATION_X`, exports.CORRELATION_Y = `${base_1.PREFIX}_CORRELATION_Y`,
10
- exports.CORRELATION_SIZE = `${base_1.PREFIX}_CORRELATION_SIZE`;
10
+ exports.CORRELATION_SIZE = `${base_1.PREFIX}_CORRELATION_SIZE`;
11
+ //# sourceMappingURL=correlation.js.map
@@ -24,5 +24,4 @@ function(LayoutZIndex) {
24
24
  LayoutLevel[LayoutLevel.Player = 40] = "Player", LayoutLevel[LayoutLevel.ScrollBar = 40] = "ScrollBar",
25
25
  LayoutLevel[LayoutLevel.Legend = 50] = "Legend", LayoutLevel[LayoutLevel.Title = 70] = "Title",
26
26
  LayoutLevel[LayoutLevel.CustomMark = 70] = "CustomMark";
27
- }(LayoutLevel = exports.LayoutLevel || (exports.LayoutLevel = {}));
28
- //# sourceMappingURL=layout.js.map
27
+ }(LayoutLevel = exports.LayoutLevel || (exports.LayoutLevel = {}));
@@ -1,7 +1,7 @@
1
1
  import { VChart } from './vchart';
2
2
  import { Factory } from './factory';
3
3
  export { VChart, Factory };
4
- export declare const version = "1.12.7";
4
+ export declare const version = "1.12.8";
5
5
  export type { IVChart } from './interface';
6
6
  export type { IStateSpec, StateValueType } from '../compile/mark';
7
7
  export * from '../typings/spec/common';
package/cjs/core/index.js CHANGED
@@ -35,7 +35,7 @@ Object.defineProperty(exports, "Factory", {
35
35
  get: function() {
36
36
  return factory_1.Factory;
37
37
  }
38
- }), exports.version = "1.12.7", __exportStar(require("../typings/spec/common"), exports),
38
+ }), exports.version = "1.12.8", __exportStar(require("../typings/spec/common"), exports),
39
39
  __exportStar(require("../event/interface"), exports), __exportStar(require("../theme/interface"), exports),
40
40
  __exportStar(require("./interface"), exports), __exportStar(require("../constant/base"), exports),
41
41
  __exportStar(require("../typings/spec/index"), exports), __exportStar(require("../typings/tooltip"), exports),
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,qCAAkC;AAGzB,uFAHA,eAAM,OAGA;AAFf,uCAAoC;AAEnB,wFAFR,iBAAO,OAEQ;AAGX,QAAA,OAAO,GAAG,QAAQ,CAAC;AAMhC,yDAAuC;AACvC,qDAAmC;AACnC,qDAAmC;AACnC,8CAA4B;AAG5B,mDAAiC;AAKjC,wDAAsC;AAGtC,qDAAmC;AAGnC,iDAA+B;AAG/B,uDAAiD;AAAxC,uGAAA,OAAO,OAAA","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.12.7\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\n\nexport * from '../typings/spec/common';\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from './interface';\n\n// some constants\nexport * from '../constant/base';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport { vglobal } from '@visactor/vrender-core';\n"]}
1
+ {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,qCAAkC;AAGzB,uFAHA,eAAM,OAGA;AAFf,uCAAoC;AAEnB,wFAFR,iBAAO,OAEQ;AAGX,QAAA,OAAO,GAAG,QAAQ,CAAC;AAMhC,yDAAuC;AACvC,qDAAmC;AACnC,qDAAmC;AACnC,8CAA4B;AAG5B,mDAAiC;AAKjC,wDAAsC;AAGtC,qDAAmC;AAGnC,iDAA+B;AAG/B,uDAAiD;AAAxC,uGAAA,OAAO,OAAA","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.12.8\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\n\nexport * from '../typings/spec/common';\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from './interface';\n\n// some constants\nexport * from '../constant/base';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport { vglobal } from '@visactor/vrender-core';\n"]}
@@ -536,26 +536,29 @@ class VChart {
536
536
  this._chart && this._chart.clearHovered();
537
537
  }
538
538
  _updateCurrentTheme(nextThemeName) {
539
- var _a, _b, _c, _d, _e, _f;
539
+ var _a, _b, _c;
540
540
  const optionTheme = this._option.theme, specTheme = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.theme, chartType = null === (_b = this._spec) || void 0 === _b ? void 0 : _b.type;
541
+ nextThemeName && (this._currentThemeName = nextThemeName);
542
+ const processThemeByChartType = (type, theme) => {
543
+ var _a;
544
+ return (null === (_a = theme.chart) || void 0 === _a ? void 0 : _a[type]) && (theme = (0,
545
+ theme_1.mergeTheme)({}, theme, theme.chart[type])), theme;
546
+ };
541
547
  let currentTheme;
542
- if (nextThemeName && (this._currentThemeName = nextThemeName), (0, vutils_1.isEmpty)(optionTheme) && (0,
543
- vutils_1.isEmpty)(specTheme)) currentTheme = (0, common_2.getThemeObject)(this._currentThemeName, !0),
544
- this._currentTheme = (0, theme_1.mergeTheme)({}, currentTheme, null === (_e = currentTheme.chart) || void 0 === _e ? void 0 : _e[chartType]); else if ((0,
548
+ if ((0, vutils_1.isEmpty)(optionTheme) && (0, vutils_1.isEmpty)(specTheme)) currentTheme = (0,
549
+ common_2.getThemeObject)(this._currentThemeName, !0), this._currentTheme = processThemeByChartType(chartType, currentTheme); else if ((0,
545
550
  util_1.isString)(optionTheme) && (!specTheme || (0, util_1.isString)(specTheme)) || (0,
546
551
  util_1.isString)(specTheme) && (!optionTheme || (0, util_1.isString)(optionTheme))) {
547
- currentTheme = (0, common_2.getThemeObject)(this._currentThemeName, !0);
548
- const finalTheme = (0, theme_1.mergeTheme)({}, currentTheme, null === (_c = currentTheme.chart) || void 0 === _c ? void 0 : _c[chartType], (0,
552
+ const finalTheme = (0, theme_1.mergeTheme)({}, (0, common_2.getThemeObject)(this._currentThemeName, !0), (0,
549
553
  common_2.getThemeObject)(optionTheme, !0), (0, common_2.getThemeObject)(specTheme, !0));
550
- this._currentTheme = finalTheme;
554
+ this._currentTheme = processThemeByChartType(chartType, finalTheme);
551
555
  } else {
552
- currentTheme = (0, common_2.getThemeObject)(this._currentThemeName);
553
- const finalTheme = (0, theme_1.mergeTheme)({}, currentTheme, null === (_d = currentTheme.chart) || void 0 === _d ? void 0 : _d[chartType], (0,
556
+ const finalTheme = (0, theme_1.mergeTheme)({}, (0, common_2.getThemeObject)(this._currentThemeName), (0,
554
557
  common_2.getThemeObject)(optionTheme), (0, common_2.getThemeObject)(specTheme));
555
- this._currentTheme = (0, theme_1.preprocessTheme)(finalTheme);
558
+ this._currentTheme = (0, theme_1.preprocessTheme)(processThemeByChartType(chartType, finalTheme));
556
559
  }
557
560
  (0, vrender_components_1.setPoptipTheme)((0, vutils_1.get)(this._currentTheme, "component.poptip")),
558
- null === (_f = this._compiler) || void 0 === _f || _f.setBackground(this._getBackground());
561
+ null === (_c = this._compiler) || void 0 === _c || _c.setBackground(this._getBackground());
559
562
  }
560
563
  _shouldChartResize(oldSpec) {
561
564
  var _a, _b;