@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
@@ -1,120 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.getOneLineData = exports.getShowContent = void 0;
6
-
7
- const vutils_1 = require("@visactor/vutils"), get_value_1 = require("./get-value"), constant_1 = require("../constant"), common_1 = require("./common"), getTimeString = (value, timeFormat, timeFormatMode) => {
8
- if (!timeFormat && !timeFormatMode) return "object" != typeof value ? null == value ? void 0 : value.toString() : value;
9
- const timeUtil = vutils_1.TimeUtil.getInstance();
10
- timeFormat = timeFormat || "%Y%m%d";
11
- return ("local" === (timeFormatMode = timeFormatMode || "local") ? timeUtil.timeFormat : timeUtil.timeUTCFormat)(timeFormat, value);
12
- }, getShowContent = (pattern, data, params) => {
13
- var _a, _b, _c, _d;
14
- if (!data || "mouseout" === (null === (_a = null == params ? void 0 : params.event) || void 0 === _a ? void 0 : _a.type)) return null;
15
- const tooltipActualTitleContent = {
16
- title: {},
17
- content: []
18
- }, patternTitle = (0, get_value_1.getTooltipPatternValue)(pattern.title, data, params), {visible: visible, value: value, valueTimeFormat: valueTimeFormat, valueTimeFormatMode: valueTimeFormatMode, valueStyle: valueStyle, hasShape: hasShape, valueFormatter: valueFormatter} = null != patternTitle ? patternTitle : {}, patternTitleVisible = !1 !== (0,
19
- get_value_1.getTooltipContentValue)(visible, data, params);
20
- if (patternTitle && patternTitleVisible) {
21
- const datum = (0, get_value_1.getFirstDatumFromTooltipData)(data);
22
- tooltipActualTitleContent.title = {
23
- value: getTimeString((0, get_value_1.getTooltipContentValue)(value, datum, params, valueFormatter), valueTimeFormat, valueTimeFormatMode),
24
- valueStyle: (0, get_value_1.getTooltipContentValue)(valueStyle, datum, params),
25
- hasShape: hasShape
26
- };
27
- } else tooltipActualTitleContent.title = {
28
- hasShape: !1,
29
- visible: !1
30
- };
31
- const patternContent = (0, get_value_1.getTooltipContentPattern)(pattern.content, data, params), {maxLineCount: maxLineCount = constant_1.TOOLTIP_MAX_LINE_COUNT} = pattern, othersLine = pattern.othersLine ? Object.assign(Object.assign({}, constant_1.TOOLTIP_OTHERS_LINE), pattern.othersLine) : constant_1.TOOLTIP_OTHERS_LINE, getTooltipContentFromDatumList = datumList => {
32
- if (null == datumList ? void 0 : datumList.length) for (const datum of datumList) for (const content of null != patternContent ? patternContent : []) {
33
- const oneLineData = (0, exports.getOneLineData)(datum, content, params);
34
- if (!1 !== oneLineData.visible) {
35
- if (tooltipActualTitleContent.content.length === maxLineCount - 1) {
36
- tooltipActualTitleContent.content.push(Object.assign(Object.assign({}, oneLineData), othersLine));
37
- break;
38
- }
39
- if (!(tooltipActualTitleContent.content.length < maxLineCount)) break;
40
- tooltipActualTitleContent.content.push(oneLineData);
41
- }
42
- }
43
- };
44
- switch (pattern.activeType) {
45
- case "mark":
46
- getTooltipContentFromDatumList(null === (_b = data[0]) || void 0 === _b ? void 0 : _b.datum);
47
- break;
48
-
49
- case "group":
50
- getTooltipContentFromDatumList(params.groupDatum);
51
- break;
52
-
53
- case "dimension":
54
- for (const {data: d} of data) {
55
- for (const {datum: datumList, series: series} of d) {
56
- if (!(0, common_1.isActiveTypeVisible)("dimension", null === (_c = series.tooltipHelper) || void 0 === _c ? void 0 : _c.spec)) continue;
57
- const contentPatterns = null !== (_d = null == patternContent ? void 0 : patternContent.filter((c => (0,
58
- vutils_1.isNil)(c.seriesId) || c.seriesId === series.id))) && void 0 !== _d ? _d : [];
59
- for (const datum of datumList) {
60
- for (const linePattern of contentPatterns) {
61
- const oneLineData = (0, exports.getOneLineData)(datum, linePattern, params);
62
- if (!1 !== oneLineData.visible) {
63
- if (tooltipActualTitleContent.content.length === maxLineCount - 1) {
64
- tooltipActualTitleContent.content.push(Object.assign(Object.assign({}, oneLineData), othersLine));
65
- break;
66
- }
67
- if (!(tooltipActualTitleContent.content.length < maxLineCount)) break;
68
- tooltipActualTitleContent.content.push(oneLineData);
69
- }
70
- }
71
- if (tooltipActualTitleContent.content.length >= maxLineCount) break;
72
- }
73
- if (tooltipActualTitleContent.content.length >= maxLineCount) break;
74
- }
75
- if (tooltipActualTitleContent.content.length >= maxLineCount) break;
76
- }
77
- }
78
- return tooltipActualTitleContent.title && (tooltipActualTitleContent.content.length > 0 && tooltipActualTitleContent.content[0].shapeType ? ((0,
79
- vutils_1.isNil)(tooltipActualTitleContent.title.shapeType) && (tooltipActualTitleContent.title.shapeType = tooltipActualTitleContent.content[0].shapeType),
80
- (0, vutils_1.isNil)(tooltipActualTitleContent.title.shapeColor) && (tooltipActualTitleContent.title.shapeColor = tooltipActualTitleContent.content[0].shapeColor)) : tooltipActualTitleContent.title.hasShape = !1),
81
- tooltipActualTitleContent;
82
- };
83
-
84
- exports.getShowContent = getShowContent;
85
-
86
- const getOneLineData = (datum, config, params) => {
87
- const key = getTimeString((0, get_value_1.getTooltipContentValue)(config.key, datum, params, config.keyFormatter), config.keyTimeFormat, config.keyTimeFormatMode), value = getTimeString((0,
88
- get_value_1.getTooltipContentValue)(config.value, datum, params, config.valueFormatter), config.valueTimeFormat, config.valueTimeFormatMode), visible = !1 !== (0,
89
- get_value_1.getTooltipContentValue)(config.visible, datum, params) && ((0, vutils_1.isValid)(key) || (0,
90
- vutils_1.isValid)(value)), isKeyAdaptive = (0, get_value_1.getTooltipContentValue)(config.isKeyAdaptive, datum, params), spaceRow = (0,
91
- get_value_1.getTooltipContentValue)(config.spaceRow, datum, params), shapeType = (0,
92
- get_value_1.getTooltipContentValue)(config.shapeType, datum, params), shapeColor = (0,
93
- get_value_1.getTooltipContentValue)(config.shapeColor, datum, params), shapeFill = (0,
94
- get_value_1.getTooltipContentValue)(config.shapeFill, datum, params), shapeStroke = (0,
95
- get_value_1.getTooltipContentValue)(config.shapeStroke, datum, params), shapeLineWidth = (0,
96
- get_value_1.getTooltipContentValue)(config.shapeLineWidth, datum, params), shapeHollow = (0,
97
- get_value_1.getTooltipContentValue)(config.shapeHollow, datum, params), keyStyle = (0,
98
- get_value_1.getTooltipContentValue)(config.keyStyle, datum, params), valueStyle = (0,
99
- get_value_1.getTooltipContentValue)(config.valueStyle, datum, params);
100
- return {
101
- key: key,
102
- value: value,
103
- visible: visible,
104
- isKeyAdaptive: isKeyAdaptive,
105
- hasShape: config.hasShape,
106
- shapeType: shapeType,
107
- shapeFill: shapeFill,
108
- shapeStroke: shapeStroke,
109
- shapeLineWidth: shapeLineWidth,
110
- shapeHollow: shapeHollow,
111
- shapeColor: shapeColor,
112
- keyStyle: keyStyle,
113
- valueStyle: valueStyle,
114
- spaceRow: spaceRow,
115
- datum: datum
116
- };
117
- };
118
-
119
- exports.getOneLineData = getOneLineData;
120
- //# sourceMappingURL=compose.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/component/tooltip/utils/compose.ts"],"names":[],"mappings":"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","file":"compose.js","sourcesContent":["import { isValid, isNil, TimeUtil } from '@visactor/vutils';\nimport type {\n ITooltipLinePattern,\n ITooltipPattern,\n TooltipData,\n ITooltipLineActual,\n TooltipActualTitleContent\n} from '../../../typings/tooltip';\nimport {\n getFirstDatumFromTooltipData,\n getTooltipContentPattern,\n getTooltipContentValue,\n getTooltipPatternValue\n} from './get-value';\nimport type { IDimensionData, IDimensionInfo } from '../../../event';\nimport { TOOLTIP_MAX_LINE_COUNT, TOOLTIP_OTHERS_LINE } from '../constant';\nimport { isActiveTypeVisible } from './common';\nimport type { TooltipHandlerParams } from '../interface/common';\nimport type { Datum } from '../../../typings';\n\nconst getTimeString = (value: any, timeFormat?: string, timeFormatMode?: 'local' | 'utc') => {\n if (!timeFormat && !timeFormatMode) {\n if (typeof value !== 'object') {\n return value?.toString();\n }\n return value;\n }\n\n const timeUtil = TimeUtil.getInstance();\n timeFormat = timeFormat || '%Y%m%d';\n timeFormatMode = timeFormatMode || 'local';\n const timeFormatter = timeFormatMode === 'local' ? timeUtil.timeFormat : timeUtil.timeUTCFormat;\n return timeFormatter(timeFormat, value);\n};\n\n/**\n * 获得tooltip的实际显示内容\n * @param pattern\n * @param data\n * @param event\n * @returns\n */\nexport const getShowContent = (\n pattern: ITooltipPattern,\n data: TooltipData,\n params: TooltipHandlerParams\n): TooltipActualTitleContent | null => {\n if (\n !data ||\n // data.key === undefined ||\n params?.event?.type === 'mouseout'\n ) {\n return null;\n }\n\n const tooltipActualTitleContent: Required<TooltipActualTitleContent> = {\n title: {},\n content: []\n };\n\n /** title */\n const patternTitle = getTooltipPatternValue(pattern.title, data, params);\n const { visible, value, valueTimeFormat, valueTimeFormatMode, valueStyle, hasShape, valueFormatter } =\n patternTitle ?? {};\n const patternTitleVisible = getTooltipContentValue(visible, data, params) !== false;\n\n if (!patternTitle || !patternTitleVisible) {\n tooltipActualTitleContent.title = {\n hasShape: false,\n visible: false\n };\n } else {\n // 找到第一个可用的datum\n const datum = getFirstDatumFromTooltipData(data);\n tooltipActualTitleContent.title = {\n value: getTimeString(\n getTooltipContentValue(value, datum, params, valueFormatter),\n valueTimeFormat,\n valueTimeFormatMode\n ),\n valueStyle: getTooltipContentValue(valueStyle, datum, params),\n hasShape\n };\n }\n\n /** content */\n const patternContent = getTooltipContentPattern(pattern.content, data, params);\n const { maxLineCount = TOOLTIP_MAX_LINE_COUNT } = pattern;\n const othersLine = pattern.othersLine\n ? {\n ...TOOLTIP_OTHERS_LINE,\n ...pattern.othersLine\n }\n : TOOLTIP_OTHERS_LINE;\n\n const getTooltipContentFromDatumList = (datumList?: Datum[]) => {\n if (datumList?.length) {\n for (const datum of datumList) {\n for (const content of patternContent ?? []) {\n const oneLineData = getOneLineData(datum, content, params);\n if (oneLineData.visible !== false) {\n if (tooltipActualTitleContent.content.length === maxLineCount - 1) {\n tooltipActualTitleContent.content.push({\n ...oneLineData,\n ...othersLine\n });\n break;\n } else if (tooltipActualTitleContent.content.length < maxLineCount) {\n tooltipActualTitleContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n }\n }\n }\n };\n\n switch (pattern.activeType) {\n case 'mark':\n getTooltipContentFromDatumList((data as IDimensionData[])[0]?.datum);\n break;\n case 'group':\n getTooltipContentFromDatumList(params.groupDatum);\n break;\n case 'dimension':\n for (const { data: d } of data as IDimensionInfo[]) {\n for (const { datum: datumList, series } of d) {\n if (!isActiveTypeVisible('dimension', series.tooltipHelper?.spec)) {\n continue;\n }\n const contentPatterns =\n patternContent?.filter(\n c => isNil(c.seriesId) || c.seriesId === series.id // 匹配对应series\n ) ?? [];\n for (const datum of datumList) {\n for (const linePattern of contentPatterns) {\n const oneLineData = getOneLineData(datum, linePattern, params);\n if (oneLineData.visible === false) {\n continue;\n }\n if (tooltipActualTitleContent.content.length === maxLineCount - 1) {\n tooltipActualTitleContent.content.push({\n ...oneLineData,\n ...othersLine\n });\n break;\n } else if (tooltipActualTitleContent.content.length < maxLineCount) {\n tooltipActualTitleContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n break;\n }\n\n if (tooltipActualTitleContent.title) {\n // TODO:对 title shape 的支持目前还不完整,尚没有相关需求\n if (tooltipActualTitleContent.content.length > 0 && tooltipActualTitleContent.content[0].shapeType) {\n if (isNil(tooltipActualTitleContent.title.shapeType)) {\n tooltipActualTitleContent.title.shapeType = tooltipActualTitleContent.content[0].shapeType;\n }\n if (isNil(tooltipActualTitleContent.title.shapeColor)) {\n tooltipActualTitleContent.title.shapeColor = tooltipActualTitleContent.content[0].shapeColor;\n }\n } else {\n tooltipActualTitleContent.title.hasShape = false;\n }\n }\n\n return tooltipActualTitleContent;\n};\n\n/**\n * 获得tooltip的单行实际显示内容\n * @param datum\n * @param config\n * @returns\n */\nexport const getOneLineData = (\n datum: any,\n config: ITooltipLinePattern,\n params: TooltipHandlerParams\n): ITooltipLineActual => {\n const key = getTimeString(\n getTooltipContentValue(config.key, datum, params, config.keyFormatter),\n config.keyTimeFormat,\n config.keyTimeFormatMode\n );\n const value = getTimeString(\n getTooltipContentValue(config.value, datum, params, config.valueFormatter),\n config.valueTimeFormat,\n config.valueTimeFormatMode\n );\n const visible: boolean =\n getTooltipContentValue(config.visible, datum, params) !== false && (isValid(key) || isValid(value));\n const isKeyAdaptive = getTooltipContentValue(config.isKeyAdaptive, datum, params);\n const spaceRow = getTooltipContentValue(config.spaceRow, datum, params);\n\n const shapeType = getTooltipContentValue(config.shapeType, datum, params);\n const shapeColor = getTooltipContentValue(config.shapeColor, datum, params);\n const shapeFill = getTooltipContentValue(config.shapeFill, datum, params);\n const shapeStroke = getTooltipContentValue(config.shapeStroke, datum, params);\n const shapeLineWidth = getTooltipContentValue(config.shapeLineWidth, datum, params);\n const shapeHollow = getTooltipContentValue(config.shapeHollow, datum, params);\n const keyStyle = getTooltipContentValue(config.keyStyle, datum, params);\n const valueStyle = getTooltipContentValue(config.valueStyle, datum, params);\n\n return {\n key,\n value,\n visible,\n isKeyAdaptive,\n hasShape: config.hasShape,\n shapeType,\n shapeFill,\n shapeStroke,\n shapeLineWidth,\n shapeHollow,\n shapeColor,\n keyStyle,\n valueStyle,\n spaceRow,\n datum\n };\n};\n"]}
@@ -1,29 +0,0 @@
1
- import type { ITooltipSpec } from '../component/tooltip/interface';
2
- import type { TooltipActiveType } from '../typings';
3
- import type { IModel } from './interface';
4
- import type { IMark } from '../mark/interface';
5
- export type TooltipTrigger = IModel | IMark;
6
- export interface ITooltipHelper {
7
- spec: ITooltipSpec | undefined;
8
- activeType: TooltipActiveType[];
9
- activeTriggerSet: {
10
- mark?: Set<TooltipTrigger>;
11
- group?: Set<TooltipTrigger>;
12
- };
13
- ignoreTriggerSet: {
14
- mark?: Set<TooltipTrigger>;
15
- };
16
- updateTooltipSpec: () => void;
17
- }
18
- export declare abstract class BaseTooltipHelper implements ITooltipHelper {
19
- spec: ITooltipSpec | undefined;
20
- activeType: TooltipActiveType[];
21
- activeTriggerSet: {
22
- mark: Set<TooltipTrigger>;
23
- group: Set<TooltipTrigger>;
24
- };
25
- ignoreTriggerSet: {
26
- mark: Set<TooltipTrigger>;
27
- };
28
- abstract updateTooltipSpec(): void;
29
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.BaseTooltipHelper = void 0;
6
-
7
- class BaseTooltipHelper {
8
- constructor() {
9
- this.activeTriggerSet = {
10
- mark: new Set,
11
- group: new Set
12
- }, this.ignoreTriggerSet = {
13
- mark: new Set
14
- };
15
- }
16
- }
17
-
18
- exports.BaseTooltipHelper = BaseTooltipHelper;
19
- //# sourceMappingURL=tooltip-helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/model/tooltip-helper.ts"],"names":[],"mappings":";;;AA4BA,MAAsB,iBAAiB;IAAvC;QAIE,qBAAgB,GAAG;YACjB,IAAI,EAAE,IAAI,GAAG,EAAkB;YAC/B,KAAK,EAAE,IAAI,GAAG,EAAkB;SACjC,CAAC;QACF,qBAAgB,GAAG;YACjB,IAAI,EAAE,IAAI,GAAG,EAAkB;SAChC,CAAC;IAGJ,CAAC;CAAA;AAbD,8CAaC","file":"tooltip-helper.js","sourcesContent":["import type { ITooltipActiveTypeAsKeys, ITooltipSpec } from '../component/tooltip/interface';\nimport type { TooltipActiveType } from '../typings';\nimport type { IModel } from './interface';\nimport type { IMark } from '../mark/interface';\n\nexport type TooltipTrigger = IModel | IMark;\n\nexport interface ITooltipHelper {\n /** tooltip对应spec */\n spec: ITooltipSpec | undefined;\n\n /** 实际生效的tooltip activeType */\n activeType: TooltipActiveType[];\n\n /** 可以响应mark tooltip或者dimension tooltip的对象 */\n activeTriggerSet: {\n mark?: Set<TooltipTrigger>;\n group?: Set<TooltipTrigger>;\n };\n /** 不响应tooltip且不会影响已有tooltip的对象 */\n ignoreTriggerSet: {\n mark?: Set<TooltipTrigger>;\n };\n\n /** 更新spec */\n updateTooltipSpec: () => void;\n}\n\nexport abstract class BaseTooltipHelper implements ITooltipHelper {\n spec: ITooltipSpec | undefined;\n activeType: TooltipActiveType[];\n\n activeTriggerSet = {\n mark: new Set<TooltipTrigger>(),\n group: new Set<TooltipTrigger>()\n };\n ignoreTriggerSet = {\n mark: new Set<TooltipTrigger>()\n };\n\n abstract updateTooltipSpec(): void;\n}\n"]}
@@ -1,5 +0,0 @@
1
- import type { ITooltipHelper } from '../../model/tooltip-helper';
2
- import type { IComponent } from './common';
3
- export interface IComponentTooltipHelper extends ITooltipHelper {
4
- component: IComponent;
5
- }
@@ -1,2 +0,0 @@
1
- export { };
2
- //# sourceMappingURL=tooltip-helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/component/interface/tooltip-helper.ts"],"names":[],"mappings":"","file":"tooltip-helper.js","sourcesContent":["import type { ITooltipHelper } from '../../model/tooltip-helper';\nimport type { IComponent } from './common';\n\nexport interface IComponentTooltipHelper extends ITooltipHelper {\n component: IComponent;\n}\n"]}
@@ -1,4 +0,0 @@
1
- import type { ITooltipLinePattern, ITooltipPattern, TooltipData, ITooltipLineActual, TooltipActualTitleContent } from '../../../typings/tooltip';
2
- import type { TooltipHandlerParams } from '../interface/common';
3
- export declare const getShowContent: (pattern: ITooltipPattern, data: TooltipData, params: TooltipHandlerParams) => TooltipActualTitleContent | null;
4
- export declare const getOneLineData: (datum: any, config: ITooltipLinePattern, params: TooltipHandlerParams) => ITooltipLineActual;
@@ -1,105 +0,0 @@
1
- import { isValid, isNil, TimeUtil } from "@visactor/vutils";
2
-
3
- import { getFirstDatumFromTooltipData, getTooltipContentPattern, getTooltipContentValue, getTooltipPatternValue } from "./get-value";
4
-
5
- import { TOOLTIP_MAX_LINE_COUNT, TOOLTIP_OTHERS_LINE } from "../constant";
6
-
7
- import { isActiveTypeVisible } from "./common";
8
-
9
- const getTimeString = (value, timeFormat, timeFormatMode) => {
10
- if (!timeFormat && !timeFormatMode) return "object" != typeof value ? null == value ? void 0 : value.toString() : value;
11
- const timeUtil = TimeUtil.getInstance();
12
- timeFormat = timeFormat || "%Y%m%d";
13
- return ("local" === (timeFormatMode = timeFormatMode || "local") ? timeUtil.timeFormat : timeUtil.timeUTCFormat)(timeFormat, value);
14
- };
15
-
16
- export const getShowContent = (pattern, data, params) => {
17
- var _a, _b, _c, _d;
18
- if (!data || "mouseout" === (null === (_a = null == params ? void 0 : params.event) || void 0 === _a ? void 0 : _a.type)) return null;
19
- const tooltipActualTitleContent = {
20
- title: {},
21
- content: []
22
- }, patternTitle = getTooltipPatternValue(pattern.title, data, params), {visible: visible, value: value, valueTimeFormat: valueTimeFormat, valueTimeFormatMode: valueTimeFormatMode, valueStyle: valueStyle, hasShape: hasShape, valueFormatter: valueFormatter} = null != patternTitle ? patternTitle : {}, patternTitleVisible = !1 !== getTooltipContentValue(visible, data, params);
23
- if (patternTitle && patternTitleVisible) {
24
- const datum = getFirstDatumFromTooltipData(data);
25
- tooltipActualTitleContent.title = {
26
- value: getTimeString(getTooltipContentValue(value, datum, params, valueFormatter), valueTimeFormat, valueTimeFormatMode),
27
- valueStyle: getTooltipContentValue(valueStyle, datum, params),
28
- hasShape: hasShape
29
- };
30
- } else tooltipActualTitleContent.title = {
31
- hasShape: !1,
32
- visible: !1
33
- };
34
- const patternContent = getTooltipContentPattern(pattern.content, data, params), {maxLineCount: maxLineCount = TOOLTIP_MAX_LINE_COUNT} = pattern, othersLine = pattern.othersLine ? Object.assign(Object.assign({}, TOOLTIP_OTHERS_LINE), pattern.othersLine) : TOOLTIP_OTHERS_LINE, getTooltipContentFromDatumList = datumList => {
35
- if (null == datumList ? void 0 : datumList.length) for (const datum of datumList) for (const content of null != patternContent ? patternContent : []) {
36
- const oneLineData = getOneLineData(datum, content, params);
37
- if (!1 !== oneLineData.visible) {
38
- if (tooltipActualTitleContent.content.length === maxLineCount - 1) {
39
- tooltipActualTitleContent.content.push(Object.assign(Object.assign({}, oneLineData), othersLine));
40
- break;
41
- }
42
- if (!(tooltipActualTitleContent.content.length < maxLineCount)) break;
43
- tooltipActualTitleContent.content.push(oneLineData);
44
- }
45
- }
46
- };
47
- switch (pattern.activeType) {
48
- case "mark":
49
- getTooltipContentFromDatumList(null === (_b = data[0]) || void 0 === _b ? void 0 : _b.datum);
50
- break;
51
-
52
- case "group":
53
- getTooltipContentFromDatumList(params.groupDatum);
54
- break;
55
-
56
- case "dimension":
57
- for (const {data: d} of data) {
58
- for (const {datum: datumList, series: series} of d) {
59
- if (!isActiveTypeVisible("dimension", null === (_c = series.tooltipHelper) || void 0 === _c ? void 0 : _c.spec)) continue;
60
- const contentPatterns = null !== (_d = null == patternContent ? void 0 : patternContent.filter((c => isNil(c.seriesId) || c.seriesId === series.id))) && void 0 !== _d ? _d : [];
61
- for (const datum of datumList) {
62
- for (const linePattern of contentPatterns) {
63
- const oneLineData = getOneLineData(datum, linePattern, params);
64
- if (!1 !== oneLineData.visible) {
65
- if (tooltipActualTitleContent.content.length === maxLineCount - 1) {
66
- tooltipActualTitleContent.content.push(Object.assign(Object.assign({}, oneLineData), othersLine));
67
- break;
68
- }
69
- if (!(tooltipActualTitleContent.content.length < maxLineCount)) break;
70
- tooltipActualTitleContent.content.push(oneLineData);
71
- }
72
- }
73
- if (tooltipActualTitleContent.content.length >= maxLineCount) break;
74
- }
75
- if (tooltipActualTitleContent.content.length >= maxLineCount) break;
76
- }
77
- if (tooltipActualTitleContent.content.length >= maxLineCount) break;
78
- }
79
- }
80
- return tooltipActualTitleContent.title && (tooltipActualTitleContent.content.length > 0 && tooltipActualTitleContent.content[0].shapeType ? (isNil(tooltipActualTitleContent.title.shapeType) && (tooltipActualTitleContent.title.shapeType = tooltipActualTitleContent.content[0].shapeType),
81
- isNil(tooltipActualTitleContent.title.shapeColor) && (tooltipActualTitleContent.title.shapeColor = tooltipActualTitleContent.content[0].shapeColor)) : tooltipActualTitleContent.title.hasShape = !1),
82
- tooltipActualTitleContent;
83
- };
84
-
85
- export const getOneLineData = (datum, config, params) => {
86
- const key = getTimeString(getTooltipContentValue(config.key, datum, params, config.keyFormatter), config.keyTimeFormat, config.keyTimeFormatMode), value = getTimeString(getTooltipContentValue(config.value, datum, params, config.valueFormatter), config.valueTimeFormat, config.valueTimeFormatMode), visible = !1 !== getTooltipContentValue(config.visible, datum, params) && (isValid(key) || isValid(value)), isKeyAdaptive = getTooltipContentValue(config.isKeyAdaptive, datum, params), spaceRow = getTooltipContentValue(config.spaceRow, datum, params), shapeType = getTooltipContentValue(config.shapeType, datum, params), shapeColor = getTooltipContentValue(config.shapeColor, datum, params), shapeFill = getTooltipContentValue(config.shapeFill, datum, params), shapeStroke = getTooltipContentValue(config.shapeStroke, datum, params), shapeLineWidth = getTooltipContentValue(config.shapeLineWidth, datum, params), shapeHollow = getTooltipContentValue(config.shapeHollow, datum, params), keyStyle = getTooltipContentValue(config.keyStyle, datum, params), valueStyle = getTooltipContentValue(config.valueStyle, datum, params);
87
- return {
88
- key: key,
89
- value: value,
90
- visible: visible,
91
- isKeyAdaptive: isKeyAdaptive,
92
- hasShape: config.hasShape,
93
- shapeType: shapeType,
94
- shapeFill: shapeFill,
95
- shapeStroke: shapeStroke,
96
- shapeLineWidth: shapeLineWidth,
97
- shapeHollow: shapeHollow,
98
- shapeColor: shapeColor,
99
- keyStyle: keyStyle,
100
- valueStyle: valueStyle,
101
- spaceRow: spaceRow,
102
- datum: datum
103
- };
104
- };
105
- //# sourceMappingURL=compose.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/component/tooltip/utils/compose.ts"],"names":[],"mappings":"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","file":"compose.js","sourcesContent":["import { isValid, isNil, TimeUtil } from '@visactor/vutils';\nimport type {\n ITooltipLinePattern,\n ITooltipPattern,\n TooltipData,\n ITooltipLineActual,\n TooltipActualTitleContent\n} from '../../../typings/tooltip';\nimport {\n getFirstDatumFromTooltipData,\n getTooltipContentPattern,\n getTooltipContentValue,\n getTooltipPatternValue\n} from './get-value';\nimport type { IDimensionData, IDimensionInfo } from '../../../event';\nimport { TOOLTIP_MAX_LINE_COUNT, TOOLTIP_OTHERS_LINE } from '../constant';\nimport { isActiveTypeVisible } from './common';\nimport type { TooltipHandlerParams } from '../interface/common';\nimport type { Datum } from '../../../typings';\n\nconst getTimeString = (value: any, timeFormat?: string, timeFormatMode?: 'local' | 'utc') => {\n if (!timeFormat && !timeFormatMode) {\n if (typeof value !== 'object') {\n return value?.toString();\n }\n return value;\n }\n\n const timeUtil = TimeUtil.getInstance();\n timeFormat = timeFormat || '%Y%m%d';\n timeFormatMode = timeFormatMode || 'local';\n const timeFormatter = timeFormatMode === 'local' ? timeUtil.timeFormat : timeUtil.timeUTCFormat;\n return timeFormatter(timeFormat, value);\n};\n\n/**\n * 获得tooltip的实际显示内容\n * @param pattern\n * @param data\n * @param event\n * @returns\n */\nexport const getShowContent = (\n pattern: ITooltipPattern,\n data: TooltipData,\n params: TooltipHandlerParams\n): TooltipActualTitleContent | null => {\n if (\n !data ||\n // data.key === undefined ||\n params?.event?.type === 'mouseout'\n ) {\n return null;\n }\n\n const tooltipActualTitleContent: Required<TooltipActualTitleContent> = {\n title: {},\n content: []\n };\n\n /** title */\n const patternTitle = getTooltipPatternValue(pattern.title, data, params);\n const { visible, value, valueTimeFormat, valueTimeFormatMode, valueStyle, hasShape, valueFormatter } =\n patternTitle ?? {};\n const patternTitleVisible = getTooltipContentValue(visible, data, params) !== false;\n\n if (!patternTitle || !patternTitleVisible) {\n tooltipActualTitleContent.title = {\n hasShape: false,\n visible: false\n };\n } else {\n // 找到第一个可用的datum\n const datum = getFirstDatumFromTooltipData(data);\n tooltipActualTitleContent.title = {\n value: getTimeString(\n getTooltipContentValue(value, datum, params, valueFormatter),\n valueTimeFormat,\n valueTimeFormatMode\n ),\n valueStyle: getTooltipContentValue(valueStyle, datum, params),\n hasShape\n };\n }\n\n /** content */\n const patternContent = getTooltipContentPattern(pattern.content, data, params);\n const { maxLineCount = TOOLTIP_MAX_LINE_COUNT } = pattern;\n const othersLine = pattern.othersLine\n ? {\n ...TOOLTIP_OTHERS_LINE,\n ...pattern.othersLine\n }\n : TOOLTIP_OTHERS_LINE;\n\n const getTooltipContentFromDatumList = (datumList?: Datum[]) => {\n if (datumList?.length) {\n for (const datum of datumList) {\n for (const content of patternContent ?? []) {\n const oneLineData = getOneLineData(datum, content, params);\n if (oneLineData.visible !== false) {\n if (tooltipActualTitleContent.content.length === maxLineCount - 1) {\n tooltipActualTitleContent.content.push({\n ...oneLineData,\n ...othersLine\n });\n break;\n } else if (tooltipActualTitleContent.content.length < maxLineCount) {\n tooltipActualTitleContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n }\n }\n }\n };\n\n switch (pattern.activeType) {\n case 'mark':\n getTooltipContentFromDatumList((data as IDimensionData[])[0]?.datum);\n break;\n case 'group':\n getTooltipContentFromDatumList(params.groupDatum);\n break;\n case 'dimension':\n for (const { data: d } of data as IDimensionInfo[]) {\n for (const { datum: datumList, series } of d) {\n if (!isActiveTypeVisible('dimension', series.tooltipHelper?.spec)) {\n continue;\n }\n const contentPatterns =\n patternContent?.filter(\n c => isNil(c.seriesId) || c.seriesId === series.id // 匹配对应series\n ) ?? [];\n for (const datum of datumList) {\n for (const linePattern of contentPatterns) {\n const oneLineData = getOneLineData(datum, linePattern, params);\n if (oneLineData.visible === false) {\n continue;\n }\n if (tooltipActualTitleContent.content.length === maxLineCount - 1) {\n tooltipActualTitleContent.content.push({\n ...oneLineData,\n ...othersLine\n });\n break;\n } else if (tooltipActualTitleContent.content.length < maxLineCount) {\n tooltipActualTitleContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n break;\n }\n\n if (tooltipActualTitleContent.title) {\n // TODO:对 title shape 的支持目前还不完整,尚没有相关需求\n if (tooltipActualTitleContent.content.length > 0 && tooltipActualTitleContent.content[0].shapeType) {\n if (isNil(tooltipActualTitleContent.title.shapeType)) {\n tooltipActualTitleContent.title.shapeType = tooltipActualTitleContent.content[0].shapeType;\n }\n if (isNil(tooltipActualTitleContent.title.shapeColor)) {\n tooltipActualTitleContent.title.shapeColor = tooltipActualTitleContent.content[0].shapeColor;\n }\n } else {\n tooltipActualTitleContent.title.hasShape = false;\n }\n }\n\n return tooltipActualTitleContent;\n};\n\n/**\n * 获得tooltip的单行实际显示内容\n * @param datum\n * @param config\n * @returns\n */\nexport const getOneLineData = (\n datum: any,\n config: ITooltipLinePattern,\n params: TooltipHandlerParams\n): ITooltipLineActual => {\n const key = getTimeString(\n getTooltipContentValue(config.key, datum, params, config.keyFormatter),\n config.keyTimeFormat,\n config.keyTimeFormatMode\n );\n const value = getTimeString(\n getTooltipContentValue(config.value, datum, params, config.valueFormatter),\n config.valueTimeFormat,\n config.valueTimeFormatMode\n );\n const visible: boolean =\n getTooltipContentValue(config.visible, datum, params) !== false && (isValid(key) || isValid(value));\n const isKeyAdaptive = getTooltipContentValue(config.isKeyAdaptive, datum, params);\n const spaceRow = getTooltipContentValue(config.spaceRow, datum, params);\n\n const shapeType = getTooltipContentValue(config.shapeType, datum, params);\n const shapeColor = getTooltipContentValue(config.shapeColor, datum, params);\n const shapeFill = getTooltipContentValue(config.shapeFill, datum, params);\n const shapeStroke = getTooltipContentValue(config.shapeStroke, datum, params);\n const shapeLineWidth = getTooltipContentValue(config.shapeLineWidth, datum, params);\n const shapeHollow = getTooltipContentValue(config.shapeHollow, datum, params);\n const keyStyle = getTooltipContentValue(config.keyStyle, datum, params);\n const valueStyle = getTooltipContentValue(config.valueStyle, datum, params);\n\n return {\n key,\n value,\n visible,\n isKeyAdaptive,\n hasShape: config.hasShape,\n shapeType,\n shapeFill,\n shapeStroke,\n shapeLineWidth,\n shapeHollow,\n shapeColor,\n keyStyle,\n valueStyle,\n spaceRow,\n datum\n };\n};\n"]}
@@ -1,29 +0,0 @@
1
- import type { ITooltipSpec } from '../component/tooltip/interface';
2
- import type { TooltipActiveType } from '../typings';
3
- import type { IModel } from './interface';
4
- import type { IMark } from '../mark/interface';
5
- export type TooltipTrigger = IModel | IMark;
6
- export interface ITooltipHelper {
7
- spec: ITooltipSpec | undefined;
8
- activeType: TooltipActiveType[];
9
- activeTriggerSet: {
10
- mark?: Set<TooltipTrigger>;
11
- group?: Set<TooltipTrigger>;
12
- };
13
- ignoreTriggerSet: {
14
- mark?: Set<TooltipTrigger>;
15
- };
16
- updateTooltipSpec: () => void;
17
- }
18
- export declare abstract class BaseTooltipHelper implements ITooltipHelper {
19
- spec: ITooltipSpec | undefined;
20
- activeType: TooltipActiveType[];
21
- activeTriggerSet: {
22
- mark: Set<TooltipTrigger>;
23
- group: Set<TooltipTrigger>;
24
- };
25
- ignoreTriggerSet: {
26
- mark: Set<TooltipTrigger>;
27
- };
28
- abstract updateTooltipSpec(): void;
29
- }
@@ -1,11 +0,0 @@
1
- export class BaseTooltipHelper {
2
- constructor() {
3
- this.activeTriggerSet = {
4
- mark: new Set,
5
- group: new Set
6
- }, this.ignoreTriggerSet = {
7
- mark: new Set
8
- };
9
- }
10
- }
11
- //# sourceMappingURL=tooltip-helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/model/tooltip-helper.ts"],"names":[],"mappings":"AA4BA,MAAM,OAAgB,iBAAiB;IAAvC;QAIE,qBAAgB,GAAG;YACjB,IAAI,EAAE,IAAI,GAAG,EAAkB;YAC/B,KAAK,EAAE,IAAI,GAAG,EAAkB;SACjC,CAAC;QACF,qBAAgB,GAAG;YACjB,IAAI,EAAE,IAAI,GAAG,EAAkB;SAChC,CAAC;IAGJ,CAAC;CAAA","file":"tooltip-helper.js","sourcesContent":["import type { ITooltipActiveTypeAsKeys, ITooltipSpec } from '../component/tooltip/interface';\nimport type { TooltipActiveType } from '../typings';\nimport type { IModel } from './interface';\nimport type { IMark } from '../mark/interface';\n\nexport type TooltipTrigger = IModel | IMark;\n\nexport interface ITooltipHelper {\n /** tooltip对应spec */\n spec: ITooltipSpec | undefined;\n\n /** 实际生效的tooltip activeType */\n activeType: TooltipActiveType[];\n\n /** 可以响应mark tooltip或者dimension tooltip的对象 */\n activeTriggerSet: {\n mark?: Set<TooltipTrigger>;\n group?: Set<TooltipTrigger>;\n };\n /** 不响应tooltip且不会影响已有tooltip的对象 */\n ignoreTriggerSet: {\n mark?: Set<TooltipTrigger>;\n };\n\n /** 更新spec */\n updateTooltipSpec: () => void;\n}\n\nexport abstract class BaseTooltipHelper implements ITooltipHelper {\n spec: ITooltipSpec | undefined;\n activeType: TooltipActiveType[];\n\n activeTriggerSet = {\n mark: new Set<TooltipTrigger>(),\n group: new Set<TooltipTrigger>()\n };\n ignoreTriggerSet = {\n mark: new Set<TooltipTrigger>()\n };\n\n abstract updateTooltipSpec(): void;\n}\n"]}