@visactor/vseed 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/dist/cjs/index.cjs +1 -1
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/builder/builder/builder.d.ts +1176 -0
  4. package/dist/esm/dataReshape/constant.d.ts +1 -0
  5. package/dist/esm/dataReshape/constant.js +2 -1
  6. package/dist/esm/dataReshape/constant.js.map +1 -1
  7. package/dist/esm/dataReshape/dataReshapeByEncoding.d.ts +1 -1
  8. package/dist/esm/dataReshape/dataReshapeByEncoding.js.map +1 -1
  9. package/dist/esm/dataReshape/foldMeasures.js +12 -11
  10. package/dist/esm/dataReshape/foldMeasures.js.map +1 -1
  11. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js +3 -1
  12. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js.map +1 -1
  13. package/dist/esm/pipeline/advanced/chart/pipes/config/column.js +1 -0
  14. package/dist/esm/pipeline/advanced/chart/pipes/config/column.js.map +1 -1
  15. package/dist/esm/pipeline/advanced/chart/pipes/config/heatmap.d.ts +2 -0
  16. package/dist/esm/pipeline/advanced/chart/pipes/config/heatmap.js +31 -0
  17. package/dist/esm/pipeline/advanced/chart/pipes/config/heatmap.js.map +1 -0
  18. package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.js +1 -0
  19. package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.js.map +1 -1
  20. package/dist/esm/pipeline/advanced/chart/pipes/config/index.d.ts +2 -2
  21. package/dist/esm/pipeline/advanced/chart/pipes/config/index.js +1 -1
  22. package/dist/esm/pipeline/advanced/chart/pipes/config/index.js.map +1 -1
  23. package/dist/esm/pipeline/advanced/chart/pipes/config/line.js +1 -0
  24. package/dist/esm/pipeline/advanced/chart/pipes/config/line.js.map +1 -1
  25. package/dist/esm/pipeline/advanced/chart/pipes/config/pie.js +2 -1
  26. package/dist/esm/pipeline/advanced/chart/pipes/config/pie.js.map +1 -1
  27. package/dist/esm/pipeline/advanced/chart/pipes/config/scatter.js +1 -0
  28. package/dist/esm/pipeline/advanced/chart/pipes/config/scatter.js.map +1 -1
  29. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/addPivotDimensionsForScatter.d.ts +2 -0
  30. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/addPivotDimensionsForScatter.js +29 -0
  31. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/addPivotDimensionsForScatter.js.map +1 -0
  32. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/index.d.ts +1 -0
  33. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/index.js +1 -0
  34. package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js +2 -1
  35. package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js.map +1 -1
  36. package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js +2 -1
  37. package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js.map +1 -1
  38. package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js +2 -1
  39. package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js.map +1 -1
  40. package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js +2 -1
  41. package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js.map +1 -1
  42. package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js +2 -1
  43. package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js.map +1 -1
  44. package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js +2 -6
  45. package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js.map +1 -1
  46. package/dist/esm/pipeline/advanced/chart/pipes/encoding/histogram.js +2 -1
  47. package/dist/esm/pipeline/advanced/chart/pipes/encoding/histogram.js.map +1 -1
  48. package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js +2 -1
  49. package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js.map +1 -1
  50. package/dist/esm/pipeline/advanced/chart/pipes/encoding/pie.js +2 -1
  51. package/dist/esm/pipeline/advanced/chart/pipes/encoding/pie.js.map +1 -1
  52. package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js +2 -1
  53. package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js.map +1 -1
  54. package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js +2 -1
  55. package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js.map +1 -1
  56. package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js +14 -4
  57. package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js.map +1 -1
  58. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js +16 -24
  59. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js.map +1 -1
  60. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js.map +1 -1
  61. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js +7 -1
  62. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js.map +1 -1
  63. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js.map +1 -1
  64. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js +2 -1
  65. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js.map +1 -1
  66. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js +10 -6
  67. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js.map +1 -1
  68. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js.map +1 -1
  69. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js +12 -3
  70. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js.map +1 -1
  71. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js +4 -2
  72. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js.map +1 -1
  73. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js +2 -1
  74. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js.map +1 -1
  75. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js +5 -2
  76. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js.map +1 -1
  77. package/dist/esm/pipeline/advanced/table/pipes/default/defaultDimensions.js.map +1 -1
  78. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasures.js.map +1 -1
  79. package/dist/esm/pipeline/spec/chart/pipeline/area.js +3 -1
  80. package/dist/esm/pipeline/spec/chart/pipeline/area.js.map +1 -1
  81. package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js +3 -1
  82. package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js.map +1 -1
  83. package/dist/esm/pipeline/spec/chart/pipeline/bar.js +3 -1
  84. package/dist/esm/pipeline/spec/chart/pipeline/bar.js.map +1 -1
  85. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js +3 -1
  86. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js.map +1 -1
  87. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js +3 -1
  88. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js.map +1 -1
  89. package/dist/esm/pipeline/spec/chart/pipeline/column.js +3 -1
  90. package/dist/esm/pipeline/spec/chart/pipeline/column.js.map +1 -1
  91. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js +3 -1
  92. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js.map +1 -1
  93. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js +3 -1
  94. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js.map +1 -1
  95. package/dist/esm/pipeline/spec/chart/pipeline/donut.js +3 -1
  96. package/dist/esm/pipeline/spec/chart/pipeline/donut.js.map +1 -1
  97. package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js +3 -1
  98. package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js.map +1 -1
  99. package/dist/esm/pipeline/spec/chart/pipeline/funnel.js +3 -2
  100. package/dist/esm/pipeline/spec/chart/pipeline/funnel.js.map +1 -1
  101. package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js +8 -5
  102. package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js.map +1 -1
  103. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js +3 -1
  104. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js.map +1 -1
  105. package/dist/esm/pipeline/spec/chart/pipeline/line.js +3 -1
  106. package/dist/esm/pipeline/spec/chart/pipeline/line.js.map +1 -1
  107. package/dist/esm/pipeline/spec/chart/pipeline/pie.js +3 -1
  108. package/dist/esm/pipeline/spec/chart/pipeline/pie.js.map +1 -1
  109. package/dist/esm/pipeline/spec/chart/pipeline/scatter.js +3 -1
  110. package/dist/esm/pipeline/spec/chart/pipeline/scatter.js.map +1 -1
  111. package/dist/esm/pipeline/spec/chart/pipes/axes/xBand.js +2 -2
  112. package/dist/esm/pipeline/spec/chart/pipes/axes/xBand.js.map +1 -1
  113. package/dist/esm/pipeline/spec/chart/pipes/axes/yBand.js +2 -2
  114. package/dist/esm/pipeline/spec/chart/pipes/axes/yBand.js.map +1 -1
  115. package/dist/esm/pipeline/spec/chart/pipes/brush/brush.d.ts +2 -0
  116. package/dist/esm/pipeline/spec/chart/pipes/brush/brush.js +37 -0
  117. package/dist/esm/pipeline/spec/chart/pipes/brush/brush.js.map +1 -0
  118. package/dist/esm/pipeline/spec/chart/pipes/brush/index.d.ts +1 -0
  119. package/dist/esm/pipeline/spec/chart/pipes/brush/index.js +1 -0
  120. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js +3 -3
  121. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js.map +1 -1
  122. package/dist/esm/pipeline/spec/chart/pipes/color/index.d.ts +0 -1
  123. package/dist/esm/pipeline/spec/chart/pipes/color/index.js +1 -2
  124. package/dist/esm/pipeline/spec/chart/pipes/dual/adjustXField.d.ts +2 -0
  125. package/dist/esm/pipeline/spec/chart/pipes/dual/adjustXField.js +17 -0
  126. package/dist/esm/pipeline/spec/chart/pipes/dual/adjustXField.js.map +1 -0
  127. package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.js +3 -5
  128. package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.js.map +1 -1
  129. package/dist/esm/pipeline/spec/chart/pipes/dual/index.d.ts +1 -0
  130. package/dist/esm/pipeline/spec/chart/pipes/dual/index.js +2 -1
  131. package/dist/esm/pipeline/spec/chart/pipes/index.d.ts +1 -0
  132. package/dist/esm/pipeline/spec/chart/pipes/index.js +1 -0
  133. package/dist/esm/pipeline/spec/chart/pipes/label/label.d.ts +1 -0
  134. package/dist/esm/pipeline/spec/chart/pipes/label/label.js +2 -0
  135. package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
  136. package/dist/esm/pipeline/spec/chart/pipes/legend/colorLegend.js.map +1 -1
  137. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js +2 -2
  138. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js.map +1 -1
  139. package/dist/esm/pipeline/spec/chart/pipes/markStyle/cellStyle.js +17 -8
  140. package/dist/esm/pipeline/spec/chart/pipes/markStyle/cellStyle.js.map +1 -1
  141. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/heatmapColorDomain.d.ts +2 -0
  142. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/heatmapColorDomain.js +18 -0
  143. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/heatmapColorDomain.js.map +1 -0
  144. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/index.d.ts +1 -0
  145. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/index.js +2 -1
  146. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js +13 -7
  147. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js.map +1 -1
  148. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.js +12 -3
  149. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.js.map +1 -1
  150. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js +2 -2
  151. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js.map +1 -1
  152. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js.map +1 -1
  153. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js +12 -3
  154. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js.map +1 -1
  155. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.js +4 -2
  156. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.js.map +1 -1
  157. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.d.ts +1 -1
  158. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js +14 -8
  159. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js.map +1 -1
  160. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js +8 -2
  161. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js.map +1 -1
  162. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js +2 -2
  163. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js.map +1 -1
  164. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.d.ts +1 -1
  165. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js +9 -2
  166. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js.map +1 -1
  167. package/dist/esm/pipeline/utils/chatType.js +24 -4
  168. package/dist/esm/pipeline/utils/chatType.js.map +1 -1
  169. package/dist/esm/pipeline/utils/measures/typeGuard.d.ts +1 -1
  170. package/dist/esm/pipeline/utils/measures/typeGuard.js +30 -6
  171. package/dist/esm/pipeline/utils/measures/typeGuard.js.map +1 -1
  172. package/dist/esm/theme/common/axes.js +0 -4
  173. package/dist/esm/theme/common/axes.js.map +1 -1
  174. package/dist/esm/theme/common/brush.d.ts +3 -0
  175. package/dist/esm/theme/common/brush.js +21 -0
  176. package/dist/esm/theme/common/brush.js.map +1 -0
  177. package/dist/esm/theme/common/heatmapCell.js +4 -2
  178. package/dist/esm/theme/common/heatmapCell.js.map +1 -1
  179. package/dist/esm/theme/common/index.d.ts +1 -0
  180. package/dist/esm/theme/common/index.js +1 -0
  181. package/dist/esm/theme/common/label.d.ts +18 -0
  182. package/dist/esm/theme/common/label.js +9 -1
  183. package/dist/esm/theme/common/label.js.map +1 -1
  184. package/dist/esm/theme/dark/dark.js +4 -2
  185. package/dist/esm/theme/dark/dark.js.map +1 -1
  186. package/dist/esm/theme/light/light.js +4 -2
  187. package/dist/esm/theme/light/light.js.map +1 -1
  188. package/dist/esm/types/advancedVSeed.d.ts +392 -0
  189. package/dist/esm/types/chartType/area/area.d.ts +6 -1
  190. package/dist/esm/types/chartType/area/zArea.d.ts +4 -0
  191. package/dist/esm/types/chartType/area/zArea.js +2 -1
  192. package/dist/esm/types/chartType/area/zArea.js.map +1 -1
  193. package/dist/esm/types/chartType/areaPercent/areaPercent.d.ts +6 -1
  194. package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +4 -0
  195. package/dist/esm/types/chartType/areaPercent/zAreaPercent.js +2 -1
  196. package/dist/esm/types/chartType/areaPercent/zAreaPercent.js.map +1 -1
  197. package/dist/esm/types/chartType/bar/bar.d.ts +6 -1
  198. package/dist/esm/types/chartType/bar/zBar.d.ts +4 -0
  199. package/dist/esm/types/chartType/bar/zBar.js +2 -1
  200. package/dist/esm/types/chartType/bar/zBar.js.map +1 -1
  201. package/dist/esm/types/chartType/barParallel/barParallel.d.ts +6 -1
  202. package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +4 -0
  203. package/dist/esm/types/chartType/barParallel/zBarParallel.js +2 -1
  204. package/dist/esm/types/chartType/barParallel/zBarParallel.js.map +1 -1
  205. package/dist/esm/types/chartType/barPercent/barPercent.d.ts +6 -1
  206. package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +4 -0
  207. package/dist/esm/types/chartType/barPercent/zBarPercent.js +2 -1
  208. package/dist/esm/types/chartType/barPercent/zBarPercent.js.map +1 -1
  209. package/dist/esm/types/chartType/boxPlot/boxPlot.d.ts +6 -1
  210. package/dist/esm/types/chartType/boxPlot/zBoxPlot.d.ts +4 -0
  211. package/dist/esm/types/chartType/boxPlot/zBoxPlot.js +2 -1
  212. package/dist/esm/types/chartType/boxPlot/zBoxPlot.js.map +1 -1
  213. package/dist/esm/types/chartType/column/column.d.ts +6 -1
  214. package/dist/esm/types/chartType/column/zColumn.d.ts +4 -0
  215. package/dist/esm/types/chartType/column/zColumn.js +2 -1
  216. package/dist/esm/types/chartType/column/zColumn.js.map +1 -1
  217. package/dist/esm/types/chartType/columnParallel/columnParallel.d.ts +6 -1
  218. package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +4 -0
  219. package/dist/esm/types/chartType/columnParallel/zColumnParallel.js +2 -1
  220. package/dist/esm/types/chartType/columnParallel/zColumnParallel.js.map +1 -1
  221. package/dist/esm/types/chartType/columnPercent/columnPercent.d.ts +6 -1
  222. package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +4 -0
  223. package/dist/esm/types/chartType/columnPercent/zColumnPercent.js +2 -1
  224. package/dist/esm/types/chartType/columnPercent/zColumnPercent.js.map +1 -1
  225. package/dist/esm/types/chartType/donut/donut.d.ts +6 -0
  226. package/dist/esm/types/chartType/donut/zDonut.d.ts +4 -0
  227. package/dist/esm/types/chartType/donut/zDonut.js +2 -1
  228. package/dist/esm/types/chartType/donut/zDonut.js.map +1 -1
  229. package/dist/esm/types/chartType/dualAxis/dualAxis.d.ts +6 -1
  230. package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +4 -0
  231. package/dist/esm/types/chartType/dualAxis/zDualAxis.js +2 -1
  232. package/dist/esm/types/chartType/dualAxis/zDualAxis.js.map +1 -1
  233. package/dist/esm/types/chartType/funnel/funnel.d.ts +6 -0
  234. package/dist/esm/types/chartType/funnel/zFunnel.d.ts +4 -0
  235. package/dist/esm/types/chartType/funnel/zFunnel.js +2 -1
  236. package/dist/esm/types/chartType/funnel/zFunnel.js.map +1 -1
  237. package/dist/esm/types/chartType/heatmap/heatmap.d.ts +6 -0
  238. package/dist/esm/types/chartType/heatmap/zHeatmap.d.ts +4 -0
  239. package/dist/esm/types/chartType/heatmap/zHeatmap.js +2 -1
  240. package/dist/esm/types/chartType/heatmap/zHeatmap.js.map +1 -1
  241. package/dist/esm/types/chartType/histogram/histogram.d.ts +6 -1
  242. package/dist/esm/types/chartType/histogram/zHistogram.d.ts +4 -0
  243. package/dist/esm/types/chartType/histogram/zHistogram.js +2 -1
  244. package/dist/esm/types/chartType/histogram/zHistogram.js.map +1 -1
  245. package/dist/esm/types/chartType/line/line.d.ts +6 -1
  246. package/dist/esm/types/chartType/line/zLine.d.ts +4 -0
  247. package/dist/esm/types/chartType/line/zLine.js +2 -1
  248. package/dist/esm/types/chartType/line/zLine.js.map +1 -1
  249. package/dist/esm/types/chartType/pie/pie.d.ts +6 -0
  250. package/dist/esm/types/chartType/pie/zPie.d.ts +4 -0
  251. package/dist/esm/types/chartType/pie/zPie.js +2 -1
  252. package/dist/esm/types/chartType/pie/zPie.js.map +1 -1
  253. package/dist/esm/types/chartType/radar/radar.d.ts +6 -0
  254. package/dist/esm/types/chartType/radar/zRadar.d.ts +4 -0
  255. package/dist/esm/types/chartType/radar/zRadar.js +2 -1
  256. package/dist/esm/types/chartType/radar/zRadar.js.map +1 -1
  257. package/dist/esm/types/chartType/rose/rose.d.ts +6 -0
  258. package/dist/esm/types/chartType/rose/zRose.d.ts +4 -0
  259. package/dist/esm/types/chartType/rose/zRose.js +2 -1
  260. package/dist/esm/types/chartType/rose/zRose.js.map +1 -1
  261. package/dist/esm/types/chartType/roseParallel/roseParallel.d.ts +6 -0
  262. package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +4 -0
  263. package/dist/esm/types/chartType/roseParallel/zRoseParallel.js +2 -1
  264. package/dist/esm/types/chartType/roseParallel/zRoseParallel.js.map +1 -1
  265. package/dist/esm/types/chartType/scatter/scatter.d.ts +6 -1
  266. package/dist/esm/types/chartType/scatter/zScatter.d.ts +4 -0
  267. package/dist/esm/types/chartType/scatter/zScatter.js +2 -1
  268. package/dist/esm/types/chartType/scatter/zScatter.js.map +1 -1
  269. package/dist/esm/types/properties/brush/brush.d.ts +13 -0
  270. package/dist/esm/types/properties/brush/brush.js +0 -0
  271. package/dist/esm/types/properties/brush/index.d.ts +4 -0
  272. package/dist/esm/types/properties/brush/index.js +2 -0
  273. package/dist/esm/types/properties/brush/zBrush.d.ts +19 -0
  274. package/dist/esm/types/properties/brush/zBrush.js +21 -0
  275. package/dist/esm/types/properties/brush/zBrush.js.map +1 -0
  276. package/dist/esm/types/properties/config/area.d.ts +26 -0
  277. package/dist/esm/types/properties/config/area.js +3 -1
  278. package/dist/esm/types/properties/config/area.js.map +1 -1
  279. package/dist/esm/types/properties/config/bar.d.ts +39 -0
  280. package/dist/esm/types/properties/config/bar.js +3 -1
  281. package/dist/esm/types/properties/config/bar.js.map +1 -1
  282. package/dist/esm/types/properties/config/column.d.ts +39 -0
  283. package/dist/esm/types/properties/config/column.js +3 -1
  284. package/dist/esm/types/properties/config/column.js.map +1 -1
  285. package/dist/esm/types/properties/config/config.d.ts +196 -0
  286. package/dist/esm/types/properties/config/heatmap/heatmap.d.ts +4 -0
  287. package/dist/esm/types/properties/config/heatmap/zHeatmap.d.ts +1 -0
  288. package/dist/esm/types/properties/config/heatmap/zHeatmap.js +2 -1
  289. package/dist/esm/types/properties/config/heatmap/zHeatmap.js.map +1 -1
  290. package/dist/esm/types/properties/config/heatmap.d.ts +14 -0
  291. package/dist/esm/types/properties/config/heatmap.js +3 -1
  292. package/dist/esm/types/properties/config/heatmap.js.map +1 -1
  293. package/dist/esm/types/properties/config/histogram.d.ts +13 -0
  294. package/dist/esm/types/properties/config/histogram.js +3 -1
  295. package/dist/esm/types/properties/config/histogram.js.map +1 -1
  296. package/dist/esm/types/properties/config/line.d.ts +13 -0
  297. package/dist/esm/types/properties/config/line.js +3 -1
  298. package/dist/esm/types/properties/config/line.js.map +1 -1
  299. package/dist/esm/types/properties/config/pie.d.ts +39 -0
  300. package/dist/esm/types/properties/config/pie.js +3 -1
  301. package/dist/esm/types/properties/config/pie.js.map +1 -1
  302. package/dist/esm/types/properties/config/scatter.d.ts +13 -0
  303. package/dist/esm/types/properties/config/scatter.js +3 -1
  304. package/dist/esm/types/properties/config/scatter.js.map +1 -1
  305. package/dist/esm/types/properties/index.d.ts +1 -0
  306. package/dist/esm/types/properties/index.js +1 -0
  307. package/dist/esm/types/properties/theme/customTheme.d.ts +392 -0
  308. package/dist/esm/types/zVseed.d.ts +80 -0
  309. package/dist/umd/index.js +528 -187
  310. package/dist/umd/index.js.map +1 -1
  311. package/package.json +3 -3
  312. package/dist/esm/pipeline/spec/chart/pipes/color/colorCellStyleFill.d.ts +0 -2
  313. package/dist/esm/pipeline/spec/chart/pipes/color/colorCellStyleFill.js +0 -17
  314. package/dist/esm/pipeline/spec/chart/pipes/color/colorCellStyleFill.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/label/label.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/label.ts"],"sourcesContent":["import type { ILineChartSpec } from '@visactor/vchart'\nimport { createFormatter, createFormatterByMeasure, DATUM_HIDE_KEY, findMeasureById } from '../../../../utils'\nimport type {\n Datum,\n Dimension,\n Dimensions,\n Encoding,\n FoldInfo,\n Formatter,\n Label,\n Measure,\n Measures,\n NumFormat,\n VChartSpecPipe,\n} from 'src/types'\nimport { isNumber, merge, uniqueBy } from 'remeda'\nimport { selector } from 'src/dataSelector'\nimport { MeasureId } from 'src/dataReshape/constant'\n\nexport const label: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n const foldInfo = datasetReshapeInfo[0].foldInfo as FoldInfo\n\n const { label } = baseConfig\n\n result.label = buildLabel(\n label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions!,\n advancedVSeed.measures!,\n encoding as Encoding,\n [foldInfo],\n ) as unknown as ILineChartSpec['label']\n\n return result\n}\n\nexport const generateMeasureValue = (\n value: number | string,\n measure: Measure,\n labelAutoFormat?: boolean,\n numFormat: NumFormat = {},\n) => {\n const format = merge(numFormat, measure.numFormat || measure.format)\n const mergedMeasure = { ...measure, numFormat: format, autoFormat: labelAutoFormat || measure.autoFormat }\n\n const formatter = createFormatterByMeasure(mergedMeasure)\n return formatter(value)\n}\n\nexport const generateMeasurePercent = (value: number | string, sum: number, formatter: Formatter) => {\n if (value === undefined || value === null) return String(value)\n const num = Number(value)\n if (Number.isNaN(num)) return String(value)\n\n const percentValue = num / sum\n return formatter(percentValue)\n}\n\nexport const buildLabel = (\n label: Label,\n vseedMeasures: Measures = [],\n vseedDimensions: Dimensions = [],\n advancedVSeedDimensions: Dimensions,\n advancedVSeedMeasures: Measures,\n encoding: Encoding,\n foldInfoList: (Pick<FoldInfo, 'measureId' | 'measureValue'> & Partial<Pick<FoldInfo, 'statistics'>>)[],\n) => {\n const {\n enable,\n wrap,\n showValue,\n showValuePercent,\n showDimension,\n labelOverlap,\n labelColorSmartInvert,\n labelStroke,\n labelColor,\n labelFontSize,\n labelFontWeight,\n labelBackgroundColor,\n labelPosition,\n autoFormat,\n numFormat = {},\n } = label\n\n const hasDimLabelEncoding = vseedDimensions.some((item) => encoding.label?.includes(item.id))\n\n const labelDims = uniqueBy(\n hasDimLabelEncoding\n ? vseedDimensions.filter((item) => encoding.label?.includes(item.id))\n : showDimension\n ? advancedVSeedDimensions.filter((d) => d.id !== MeasureId && d.encoding !== 'row' && d.encoding !== 'column')\n : [],\n (item: Dimension) => item.id,\n )\n\n const labelMeas = uniqueBy(\n vseedMeasures.filter((item) => encoding.label?.includes(item.id)),\n (item: Measure) => item.id,\n )\n\n const percentFormat: NumFormat = merge(numFormat, {\n type: 'percent',\n } as NumFormat)\n\n const percentFormatter = createFormatter(percentFormat)\n\n const result = {\n visible: enable,\n dataFilter: (data: Datum[]) => {\n return data.filter((entry) => {\n return entry.data?.[DATUM_HIDE_KEY] !== true && selector(entry.data as Datum, label.selector, 'Or')\n })\n },\n formatMethod: (_: unknown, datum: Datum) => {\n const result = []\n\n const dimLabels = labelDims.map((item: Dimension) => {\n const id = item.id\n return datum[id] as number | string\n })\n\n const meaLabels = labelMeas.map((item: Measure) =>\n generateMeasureValue(datum[item.id] as number | string, item, autoFormat, numFormat),\n )\n\n result.push(...dimLabels)\n\n foldInfoList.forEach((foldInfo) => {\n const { measureId, measureValue, statistics } = foldInfo\n const measure = findMeasureById(advancedVSeedMeasures, datum[measureId] as string)\n if (measure) {\n const measureValueLabel = generateMeasureValue(\n datum[measureValue] as number | string,\n measure,\n autoFormat,\n numFormat,\n )\n\n if (showValue) {\n result.push(measureValueLabel)\n }\n if (showValuePercent) {\n if (isNumber(datum['__VCHART_ARC_RATIO'])) {\n // 饼图/环图需要使用实际占比数据\n result.push(generateMeasurePercent(datum['__VCHART_ARC_RATIO'], 1, percentFormatter))\n } else if (statistics && isNumber(statistics.sum)) {\n result.push(\n generateMeasurePercent(datum[measureValue] as number | string, statistics.sum, percentFormatter),\n )\n }\n }\n }\n })\n\n result.push(...meaLabels)\n\n if (wrap) {\n return result\n }\n return result.join(' ')\n },\n position: labelPosition,\n style: {\n stroke: labelStroke,\n fill: labelColor,\n fontSize: labelFontSize,\n fontWeight: labelFontWeight,\n background: labelBackgroundColor,\n },\n smartInvert: labelColorSmartInvert,\n }\n\n if (labelOverlap) {\n ;(result as any).overlap = {\n hideOnHit: true,\n clampForce: true,\n }\n }\n\n return result\n}\n"],"names":["label","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","chartType","encoding","baseConfig","foldInfo","buildLabel","generateMeasureValue","value","measure","labelAutoFormat","numFormat","format","merge","mergedMeasure","formatter","createFormatterByMeasure","generateMeasurePercent","sum","String","num","Number","percentValue","vseedMeasures","vseedDimensions","advancedVSeedDimensions","advancedVSeedMeasures","foldInfoList","enable","wrap","showValue","showValuePercent","showDimension","labelOverlap","labelColorSmartInvert","labelStroke","labelColor","labelFontSize","labelFontWeight","labelBackgroundColor","labelPosition","autoFormat","hasDimLabelEncoding","item","labelDims","uniqueBy","d","MeasureId","labelMeas","percentFormat","percentFormatter","createFormatter","data","entry","DATUM_HIDE_KEY","selector","_","datum","dimLabels","id","meaLabels","measureId","measureValue","statistics","findMeasureById","measureValueLabel","isNumber"],"mappings":"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"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/label/label.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/label.ts"],"sourcesContent":["import type { ILineChartSpec } from '@visactor/vchart'\nimport { createFormatter, createFormatterByMeasure, DATUM_HIDE_KEY, findMeasureById } from '../../../../utils'\nimport type {\n Datum,\n Dimension,\n Dimensions,\n Encoding,\n FoldInfo,\n Formatter,\n Label,\n Measure,\n Measures,\n NumFormat,\n VChartSpecPipe,\n} from 'src/types'\nimport { isNumber, merge, uniqueBy } from 'remeda'\nimport { selector } from 'src/dataSelector'\nimport { MeasureId } from 'src/dataReshape/constant'\n\nexport const label: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n const foldInfo = datasetReshapeInfo[0].foldInfo as FoldInfo\n\n const { label } = baseConfig\n\n result.label = buildLabel(\n label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions!,\n advancedVSeed.measures!,\n encoding as Encoding,\n [foldInfo],\n ) as unknown as ILineChartSpec['label']\n\n return result\n}\n\nexport const generateMeasureValue = (\n value: number | string,\n measure: Measure,\n labelAutoFormat?: boolean,\n numFormat: NumFormat = {},\n) => {\n const format = merge(numFormat, measure.numFormat || measure.format)\n const mergedMeasure = { ...measure, numFormat: format, autoFormat: labelAutoFormat || measure.autoFormat }\n\n const formatter = createFormatterByMeasure(mergedMeasure)\n return formatter(value)\n}\n\nexport const generateMeasurePercent = (value: number | string, sum: number, formatter: Formatter) => {\n if (value === undefined || value === null) return String(value)\n const num = Number(value)\n if (Number.isNaN(num)) return String(value)\n\n const percentValue = num / sum\n return formatter(percentValue)\n}\n\nexport const buildLabel = (\n label: Label,\n vseedMeasures: Measures = [],\n vseedDimensions: Dimensions = [],\n advancedVSeedDimensions: Dimensions,\n advancedVSeedMeasures: Measures,\n encoding: Encoding,\n foldInfoList: (Pick<FoldInfo, 'measureId' | 'measureValue'> & Partial<Pick<FoldInfo, 'statistics'>>)[],\n) => {\n const {\n enable,\n wrap,\n showValue,\n showValuePercent,\n showDimension,\n labelOverlap,\n labelColorSmartInvert,\n labelStroke,\n labelColor,\n labelFontSize,\n labelFontWeight,\n labelBackgroundColor,\n labelPosition,\n autoFormat,\n numFormat = {},\n } = label\n\n const hasDimLabelEncoding = vseedDimensions.some((item) => encoding.label?.includes(item.id))\n\n const labelDims = uniqueBy(\n hasDimLabelEncoding\n ? vseedDimensions.filter((item) => encoding.label?.includes(item.id))\n : showDimension\n ? advancedVSeedDimensions.filter((d) => d.id !== MeasureId && d.encoding !== 'row' && d.encoding !== 'column')\n : [],\n (item: Dimension) => item.id,\n )\n\n const labelMeas = uniqueBy(\n vseedMeasures.filter((item) => encoding.label?.includes(item.id)),\n (item: Measure) => item.id,\n )\n\n const percentFormat: NumFormat = merge(numFormat, {\n type: 'percent',\n } as NumFormat)\n\n const percentFormatter = createFormatter(percentFormat)\n\n const result = {\n visible: enable,\n dataFilter: (data: Datum[]) => {\n return data.filter((entry) => {\n return entry.data?.[DATUM_HIDE_KEY] !== true && selector(entry.data as Datum, label.selector, 'Or')\n })\n },\n formatMethod: (_: unknown, datum: Datum) => {\n const result = []\n\n const dimLabels = labelDims.map((item: Dimension) => {\n const id = item.id\n return datum[id] as number | string\n })\n\n const meaLabels = labelMeas.map((item: Measure) =>\n generateMeasureValue(datum[item.id] as number | string, item, autoFormat, numFormat),\n )\n\n result.push(...dimLabels)\n\n foldInfoList.forEach((foldInfo) => {\n const { measureId, measureValue, statistics } = foldInfo\n const measure = findMeasureById(advancedVSeedMeasures, datum[measureId] as string)\n if (measure) {\n const measureValueLabel = generateMeasureValue(\n datum[measureValue] as number | string,\n measure,\n autoFormat,\n numFormat,\n )\n\n if (showValue) {\n result.push(measureValueLabel)\n }\n if (showValuePercent) {\n if (isNumber(datum['__VCHART_ARC_RATIO'])) {\n // 饼图/环图需要使用实际占比数据\n result.push(generateMeasurePercent(datum['__VCHART_ARC_RATIO'], 1, percentFormatter))\n } else if (statistics && isNumber(statistics.sum)) {\n result.push(\n generateMeasurePercent(datum[measureValue] as number | string, statistics.sum, percentFormatter),\n )\n }\n }\n }\n })\n\n result.push(...meaLabels)\n\n if (wrap) {\n return result\n }\n return result.join(' ')\n },\n syncState: true,\n position: labelPosition,\n style: {\n stroke: labelStroke,\n fill: labelColor,\n fontSize: labelFontSize,\n fontWeight: labelFontWeight,\n background: labelBackgroundColor,\n },\n smartInvert: labelColorSmartInvert,\n }\n\n if (labelColorSmartInvert) {\n ;(result.style as any).lineWidth = 2 // label 边框线宽度,不设置这个会导致智能反色失败\n }\n\n if (labelOverlap) {\n ;(result as any).overlap = {\n hideOnHit: true,\n clampForce: true,\n }\n }\n\n return result\n}\n"],"names":["label","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","chartType","encoding","baseConfig","foldInfo","buildLabel","generateMeasureValue","value","measure","labelAutoFormat","numFormat","format","merge","mergedMeasure","formatter","createFormatterByMeasure","generateMeasurePercent","sum","String","num","Number","percentValue","vseedMeasures","vseedDimensions","advancedVSeedDimensions","advancedVSeedMeasures","foldInfoList","enable","wrap","showValue","showValuePercent","showDimension","labelOverlap","labelColorSmartInvert","labelStroke","labelColor","labelFontSize","labelFontWeight","labelBackgroundColor","labelPosition","autoFormat","hasDimLabelEncoding","item","labelDims","uniqueBy","d","MeasureId","labelMeas","percentFormat","percentFormatter","createFormatter","data","entry","DATUM_HIDE_KEY","selector","_","datum","dimLabels","id","meaLabels","measureId","measureValue","statistics","findMeasureById","measureValueLabel","isNumber"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/legend/colorLegend.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/legend/colorLegend.ts"],"sourcesContent":["import { createFormatterByMeasure, findTreeNodesBy } from 'src/pipeline/utils'\nimport type { ColorLegend, Measure, VChartSpecPipe } from 'src/types'\n\nexport const colorLegend: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { datasetReshapeInfo, chartType, measures = [] } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const baseConfig = advancedVSeed.config[chartType] as { legend: ColorLegend }\n if (!baseConfig || !baseConfig.legend) {\n return result\n }\n\n const { legend } = baseConfig\n const {\n enable,\n position = 'bottom',\n labelFontColor,\n labelColor,\n labelFontSize = 12,\n labelFontWeight,\n railBackgroundColor,\n handlerBorderColor,\n } = legend || {}\n\n const orient = ['bottom', 'bottomLeft', 'bottomRight', 'bl', 'br'].includes(position)\n ? 'bottom'\n : ['top', 'topLeft', 'topRight', 'tl', 'tr'].includes(position)\n ? 'top'\n : ['left', 'leftTop', 'leftBottom', 'lt', 'lb'].includes(position)\n ? 'left'\n : 'right'\n\n const legendPosition = ['topLeft', 'bottomLeft', 'leftTop', 'rightTop', 'lt', 'rt', 'tl', 'bl'].includes(position)\n ? 'start'\n : ['topRight', 'bottomRight', 'leftBottom', 'rightBottom', 'lb', 'rb', 'rt', 'br'].includes(position)\n ? 'end'\n : 'middle'\n\n result.legends = {\n type: 'color',\n visible: enable,\n orient,\n position: legendPosition,\n padding: 0,\n field: unfoldInfo.encodingColor,\n maxWidth: '30%',\n handlerText: {\n visible: true,\n style: {\n fill: labelColor || labelFontColor,\n fontSize: labelFontSize,\n fontWeight: labelFontWeight,\n },\n },\n rail: {\n style: {\n fill: railBackgroundColor,\n },\n },\n handler: {\n style: {\n outerBorder: {\n stroke: handlerBorderColor,\n },\n },\n },\n }\n const colorMeasure = findTreeNodesBy<Measure>(measures, (m) => m.encoding === 'color')?.[0]\n if (colorMeasure) {\n const formatter = createFormatterByMeasure(colorMeasure)\n result.legends.handlerText!.formatter = formatter\n }\n return result\n}\n"],"names":["colorLegend","spec","context","result","advancedVSeed","datasetReshapeInfo","chartType","measures","unfoldInfo","baseConfig","legend","enable","position","labelFontColor","labelColor","labelFontSize","labelFontWeight","railBackgroundColor","handlerBorderColor","orient","legendPosition","colorMeasure","findTreeNodesBy","m","formatter","createFormatterByMeasure"],"mappings":";AAGO,MAAMA,cAA8B,CAACC,MAAMC;IAChD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,kBAAkB,EAAEC,SAAS,EAAEC,WAAW,EAAE,EAAE,GAAGH;IACzD,MAAM,EAAEI,UAAU,EAAE,GAAGH,kBAAkB,CAAC,EAAE;IAC5C,MAAMI,aAAaL,cAAc,MAAM,CAACE,UAAU;IAClD,IAAI,CAACG,cAAc,CAACA,WAAW,MAAM,EACnC,OAAON;IAGT,MAAM,EAAEO,MAAM,EAAE,GAAGD;IACnB,MAAM,EACJE,MAAM,EACNC,WAAW,QAAQ,EACnBC,cAAc,EACdC,UAAU,EACVC,gBAAgB,EAAE,EAClBC,eAAe,EACfC,mBAAmB,EACnBC,kBAAkB,EACnB,GAAGR,UAAU,CAAC;IAEf,MAAMS,SAAS;QAAC;QAAU;QAAc;QAAe;QAAM;KAAK,CAAC,QAAQ,CAACP,YACxE,WACA;QAAC;QAAO;QAAW;QAAY;QAAM;KAAK,CAAC,QAAQ,CAACA,YAClD,QACA;QAAC;QAAQ;QAAW;QAAc;QAAM;KAAK,CAAC,QAAQ,CAACA,YACrD,SACA;IAER,MAAMQ,iBAAiB;QAAC;QAAW;QAAc;QAAW;QAAY;QAAM;QAAM;QAAM;KAAK,CAAC,QAAQ,CAACR,YACrG,UACA;QAAC;QAAY;QAAe;QAAc;QAAe;QAAM;QAAM;QAAM;KAAK,CAAC,QAAQ,CAACA,YACxF,QACA;IAENT,OAAO,OAAO,GAAG;QACf,MAAM;QACN,SAASQ;QACTQ;QACA,UAAUC;QACV,SAAS;QACT,OAAOZ,WAAW,aAAa;QAC/B,UAAU;QACV,aAAa;YACX,SAAS;YACT,OAAO;gBACL,MAAMM,cAAcD;gBACpB,UAAUE;gBACV,YAAYC;YACd;QACF;QACA,MAAM;YACJ,OAAO;gBACL,MAAMC;YACR;QACF;QACA,SAAS;YACP,OAAO;gBACL,aAAa;oBACX,QAAQC;gBACV;YACF;QACF;IACF;IACA,MAAMG,eAAeC,gBAAyBf,UAAU,CAACgB,IAAMA,AAAe,YAAfA,EAAE,QAAQ,GAAe,CAAC,EAAE;IAC3F,IAAIF,cAAc;QAChB,MAAMG,YAAYC,yBAAyBJ;QAC3ClB,OAAO,OAAO,CAAC,WAAW,CAAE,SAAS,GAAGqB;IAC1C;IACA,OAAOrB;AACT"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/legend/colorLegend.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/legend/colorLegend.ts"],"sourcesContent":["import { createFormatterByMeasure, findTreeNodesBy } from 'src/pipeline/utils'\nimport type { ColorLegend, Measure, VChartSpecPipe } from 'src/types'\n\nexport const colorLegend: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { datasetReshapeInfo, chartType, measures = [] } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const baseConfig = advancedVSeed.config[chartType] as { legend: ColorLegend }\n if (!baseConfig || !baseConfig.legend) {\n return result\n }\n\n const { legend } = baseConfig\n const {\n enable,\n position = 'bottom',\n labelFontColor,\n labelColor,\n labelFontSize = 12,\n labelFontWeight,\n railBackgroundColor,\n handlerBorderColor,\n } = legend || {}\n\n const orient = ['bottom', 'bottomLeft', 'bottomRight', 'bl', 'br'].includes(position)\n ? 'bottom'\n : ['top', 'topLeft', 'topRight', 'tl', 'tr'].includes(position)\n ? 'top'\n : ['left', 'leftTop', 'leftBottom', 'lt', 'lb'].includes(position)\n ? 'left'\n : 'right'\n\n const legendPosition = ['topLeft', 'bottomLeft', 'leftTop', 'rightTop', 'lt', 'rt', 'tl', 'bl'].includes(position)\n ? 'start'\n : ['topRight', 'bottomRight', 'leftBottom', 'rightBottom', 'lb', 'rb', 'rt', 'br'].includes(position)\n ? 'end'\n : 'middle'\n\n result.legends = {\n type: 'color',\n visible: enable,\n orient,\n position: legendPosition,\n padding: 0,\n field: unfoldInfo.encodingColor,\n maxWidth: '30%',\n handlerText: {\n visible: true,\n style: {\n fill: labelColor || labelFontColor,\n fontSize: labelFontSize,\n fontWeight: labelFontWeight,\n },\n },\n rail: {\n style: {\n fill: railBackgroundColor,\n },\n },\n handler: {\n style: {\n outerBorder: {\n stroke: handlerBorderColor,\n },\n },\n },\n }\n const colorMeasure = findTreeNodesBy<Measure>(measures, (m) => m.encoding === 'color')?.[0]\n if (colorMeasure) {\n const formatter = createFormatterByMeasure(colorMeasure)\n result.legends.handlerText!.formatter = formatter\n\n // TODO: 先注释掉图例标题,后续看需求是否需要恢复\n // result.legends.startText = {\n // visible: true,\n // text: colorMeasure.alias || colorMeasure.id,\n // space: 12,\n // textStyle: {\n // fill: labelColor || labelFontColor,\n // fontSize: labelFontSize,\n // fontWeight: labelFontWeight,\n // },\n // }\n }\n return result\n}\n"],"names":["colorLegend","spec","context","result","advancedVSeed","datasetReshapeInfo","chartType","measures","unfoldInfo","baseConfig","legend","enable","position","labelFontColor","labelColor","labelFontSize","labelFontWeight","railBackgroundColor","handlerBorderColor","orient","legendPosition","colorMeasure","findTreeNodesBy","m","formatter","createFormatterByMeasure"],"mappings":";AAGO,MAAMA,cAA8B,CAACC,MAAMC;IAChD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,kBAAkB,EAAEC,SAAS,EAAEC,WAAW,EAAE,EAAE,GAAGH;IACzD,MAAM,EAAEI,UAAU,EAAE,GAAGH,kBAAkB,CAAC,EAAE;IAC5C,MAAMI,aAAaL,cAAc,MAAM,CAACE,UAAU;IAClD,IAAI,CAACG,cAAc,CAACA,WAAW,MAAM,EACnC,OAAON;IAGT,MAAM,EAAEO,MAAM,EAAE,GAAGD;IACnB,MAAM,EACJE,MAAM,EACNC,WAAW,QAAQ,EACnBC,cAAc,EACdC,UAAU,EACVC,gBAAgB,EAAE,EAClBC,eAAe,EACfC,mBAAmB,EACnBC,kBAAkB,EACnB,GAAGR,UAAU,CAAC;IAEf,MAAMS,SAAS;QAAC;QAAU;QAAc;QAAe;QAAM;KAAK,CAAC,QAAQ,CAACP,YACxE,WACA;QAAC;QAAO;QAAW;QAAY;QAAM;KAAK,CAAC,QAAQ,CAACA,YAClD,QACA;QAAC;QAAQ;QAAW;QAAc;QAAM;KAAK,CAAC,QAAQ,CAACA,YACrD,SACA;IAER,MAAMQ,iBAAiB;QAAC;QAAW;QAAc;QAAW;QAAY;QAAM;QAAM;QAAM;KAAK,CAAC,QAAQ,CAACR,YACrG,UACA;QAAC;QAAY;QAAe;QAAc;QAAe;QAAM;QAAM;QAAM;KAAK,CAAC,QAAQ,CAACA,YACxF,QACA;IAENT,OAAO,OAAO,GAAG;QACf,MAAM;QACN,SAASQ;QACTQ;QACA,UAAUC;QACV,SAAS;QACT,OAAOZ,WAAW,aAAa;QAC/B,UAAU;QACV,aAAa;YACX,SAAS;YACT,OAAO;gBACL,MAAMM,cAAcD;gBACpB,UAAUE;gBACV,YAAYC;YACd;QACF;QACA,MAAM;YACJ,OAAO;gBACL,MAAMC;YACR;QACF;QACA,SAAS;YACP,OAAO;gBACL,aAAa;oBACX,QAAQC;gBACV;YACF;QACF;IACF;IACA,MAAMG,eAAeC,gBAAyBf,UAAU,CAACgB,IAAMA,AAAe,YAAfA,EAAE,QAAQ,GAAe,CAAC,EAAE;IAC3F,IAAIF,cAAc;QAChB,MAAMG,YAAYC,yBAAyBJ;QAC3ClB,OAAO,OAAO,CAAC,WAAW,CAAE,SAAS,GAAGqB;IAa1C;IACA,OAAOrB;AACT"}
@@ -7,8 +7,8 @@ const pivotColorLegend = (spec, context)=>{
7
7
  const baseConfig = advancedVSeed.config[chartType];
8
8
  if (!baseConfig || !baseConfig.legend) return result;
9
9
  const { datasetReshapeInfo } = advancedVSeed;
10
- const max = Math.max(...datasetReshapeInfo.map((d)=>d.foldInfo.statistics.colorMin));
11
- const min = Math.min(...datasetReshapeInfo.map((d)=>d.foldInfo.statistics.colorMax));
10
+ const max = Math.max(...datasetReshapeInfo.map((d)=>d.foldInfo.statistics.colorMax));
11
+ const min = Math.min(...datasetReshapeInfo.map((d)=>d.foldInfo.statistics.colorMin));
12
12
  const { legend, color } = baseConfig;
13
13
  const { colorScheme, linearColorScheme } = color;
14
14
  const { enable, position = 'bottom', labelFontColor, labelColor, labelFontSize = 12, labelFontWeight = 400 } = legend || {};
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/legend/pivotColorLegend.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/legend/pivotColorLegend.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { Color, Legend, PivotChartSpecPipe } from 'src/types'\n\nexport const pivotColorLegend: PivotChartSpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { legend: Legend; color: Color }\n\n if (!baseConfig || !baseConfig.legend) {\n return result\n }\n\n const { datasetReshapeInfo } = advancedVSeed\n const max = Math.max(...datasetReshapeInfo.map((d) => d.foldInfo.statistics.colorMin))\n const min = Math.min(...datasetReshapeInfo.map((d) => d.foldInfo.statistics.colorMax))\n const { legend, color } = baseConfig\n const { colorScheme, linearColorScheme } = color\n\n const {\n enable,\n position = 'bottom',\n labelFontColor,\n labelColor,\n labelFontSize = 12,\n labelFontWeight = 400,\n } = legend || {}\n\n const orient = ['bottom', 'bottomLeft', 'bottomRight', 'bl', 'br'].includes(position)\n ? 'bottom'\n : ['top', 'topLeft', 'topRight', 'tl', 'tr'].includes(position)\n ? 'top'\n : ['left', 'leftTop', 'leftBottom', 'lt', 'lb'].includes(position)\n ? 'left'\n : 'right'\n\n const legendPosition = ['topLeft', 'bottomLeft', 'leftTop', 'rightTop', 'lt', 'rt', 'tl', 'bl'].includes(position)\n ? 'start'\n : ['topRight', 'bottomRight', 'leftBottom', 'rightBottom', 'lb', 'rb', 'rt', 'br'].includes(position)\n ? 'end'\n : 'middle'\n\n const legends = {\n visible: enable,\n type: 'color',\n orient,\n position: legendPosition,\n\n colors: linearColorScheme || colorScheme || [],\n value: [min, max],\n min: min,\n max: max,\n\n maxWidth: '30%',\n handlerText: {\n visible: true,\n style: {\n fill: labelColor || labelFontColor,\n fontSize: labelFontSize,\n fontWeight: labelFontWeight,\n },\n },\n } as unknown\n return { ...result, legends } as Partial<PivotChartConstructorOptions>\n}\n"],"names":["pivotColorLegend","spec","context","result","advancedVSeed","chartType","baseConfig","datasetReshapeInfo","max","Math","d","min","legend","color","colorScheme","linearColorScheme","enable","position","labelFontColor","labelColor","labelFontSize","labelFontWeight","orient","legendPosition","legends"],"mappings":"AAGO,MAAMA,mBAAuC,CAACC,MAAMC;IACzD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,SAAS,EAAE,GAAGD;IACtB,MAAME,aAAaF,cAAc,MAAM,CAACC,UAAU;IAElD,IAAI,CAACC,cAAc,CAACA,WAAW,MAAM,EACnC,OAAOH;IAGT,MAAM,EAAEI,kBAAkB,EAAE,GAAGH;IAC/B,MAAMI,MAAMC,KAAK,GAAG,IAAIF,mBAAmB,GAAG,CAAC,CAACG,IAAMA,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ;IACpF,MAAMC,MAAMF,KAAK,GAAG,IAAIF,mBAAmB,GAAG,CAAC,CAACG,IAAMA,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ;IACpF,MAAM,EAAEE,MAAM,EAAEC,KAAK,EAAE,GAAGP;IAC1B,MAAM,EAAEQ,WAAW,EAAEC,iBAAiB,EAAE,GAAGF;IAE3C,MAAM,EACJG,MAAM,EACNC,WAAW,QAAQ,EACnBC,cAAc,EACdC,UAAU,EACVC,gBAAgB,EAAE,EAClBC,kBAAkB,GAAG,EACtB,GAAGT,UAAU,CAAC;IAEf,MAAMU,SAAS;QAAC;QAAU;QAAc;QAAe;QAAM;KAAK,CAAC,QAAQ,CAACL,YACxE,WACA;QAAC;QAAO;QAAW;QAAY;QAAM;KAAK,CAAC,QAAQ,CAACA,YAClD,QACA;QAAC;QAAQ;QAAW;QAAc;QAAM;KAAK,CAAC,QAAQ,CAACA,YACrD,SACA;IAER,MAAMM,iBAAiB;QAAC;QAAW;QAAc;QAAW;QAAY;QAAM;QAAM;QAAM;KAAK,CAAC,QAAQ,CAACN,YACrG,UACA;QAAC;QAAY;QAAe;QAAc;QAAe;QAAM;QAAM;QAAM;KAAK,CAAC,QAAQ,CAACA,YACxF,QACA;IAEN,MAAMO,UAAU;QACd,SAASR;QACT,MAAM;QACNM;QACA,UAAUC;QAEV,QAAQR,qBAAqBD,eAAe,EAAE;QAC9C,OAAO;YAACH;YAAKH;SAAI;QACjB,KAAKG;QACL,KAAKH;QAEL,UAAU;QACV,aAAa;YACX,SAAS;YACT,OAAO;gBACL,MAAMW,cAAcD;gBACpB,UAAUE;gBACV,YAAYC;YACd;QACF;IACF;IACA,OAAO;QAAE,GAAGlB,MAAM;QAAEqB;IAAQ;AAC9B"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/legend/pivotColorLegend.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/legend/pivotColorLegend.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { Color, Legend, PivotChartSpecPipe } from 'src/types'\n\nexport const pivotColorLegend: PivotChartSpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { legend: Legend; color: Color }\n\n if (!baseConfig || !baseConfig.legend) {\n return result\n }\n\n const { datasetReshapeInfo } = advancedVSeed\n const max = Math.max(...datasetReshapeInfo.map((d) => d.foldInfo.statistics.colorMax))\n const min = Math.min(...datasetReshapeInfo.map((d) => d.foldInfo.statistics.colorMin))\n const { legend, color } = baseConfig\n const { colorScheme, linearColorScheme } = color\n\n const {\n enable,\n position = 'bottom',\n labelFontColor,\n labelColor,\n labelFontSize = 12,\n labelFontWeight = 400,\n } = legend || {}\n\n const orient = ['bottom', 'bottomLeft', 'bottomRight', 'bl', 'br'].includes(position)\n ? 'bottom'\n : ['top', 'topLeft', 'topRight', 'tl', 'tr'].includes(position)\n ? 'top'\n : ['left', 'leftTop', 'leftBottom', 'lt', 'lb'].includes(position)\n ? 'left'\n : 'right'\n\n const legendPosition = ['topLeft', 'bottomLeft', 'leftTop', 'rightTop', 'lt', 'rt', 'tl', 'bl'].includes(position)\n ? 'start'\n : ['topRight', 'bottomRight', 'leftBottom', 'rightBottom', 'lb', 'rb', 'rt', 'br'].includes(position)\n ? 'end'\n : 'middle'\n\n const legends = {\n visible: enable,\n type: 'color',\n orient,\n position: legendPosition,\n\n colors: linearColorScheme || colorScheme || [],\n value: [min, max],\n min: min,\n max: max,\n\n maxWidth: '30%',\n handlerText: {\n visible: true,\n style: {\n fill: labelColor || labelFontColor,\n fontSize: labelFontSize,\n fontWeight: labelFontWeight,\n },\n },\n } as unknown\n return { ...result, legends } as Partial<PivotChartConstructorOptions>\n}\n"],"names":["pivotColorLegend","spec","context","result","advancedVSeed","chartType","baseConfig","datasetReshapeInfo","max","Math","d","min","legend","color","colorScheme","linearColorScheme","enable","position","labelFontColor","labelColor","labelFontSize","labelFontWeight","orient","legendPosition","legends"],"mappings":"AAGO,MAAMA,mBAAuC,CAACC,MAAMC;IACzD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,SAAS,EAAE,GAAGD;IACtB,MAAME,aAAaF,cAAc,MAAM,CAACC,UAAU;IAElD,IAAI,CAACC,cAAc,CAACA,WAAW,MAAM,EACnC,OAAOH;IAGT,MAAM,EAAEI,kBAAkB,EAAE,GAAGH;IAC/B,MAAMI,MAAMC,KAAK,GAAG,IAAIF,mBAAmB,GAAG,CAAC,CAACG,IAAMA,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ;IACpF,MAAMC,MAAMF,KAAK,GAAG,IAAIF,mBAAmB,GAAG,CAAC,CAACG,IAAMA,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ;IACpF,MAAM,EAAEE,MAAM,EAAEC,KAAK,EAAE,GAAGP;IAC1B,MAAM,EAAEQ,WAAW,EAAEC,iBAAiB,EAAE,GAAGF;IAE3C,MAAM,EACJG,MAAM,EACNC,WAAW,QAAQ,EACnBC,cAAc,EACdC,UAAU,EACVC,gBAAgB,EAAE,EAClBC,kBAAkB,GAAG,EACtB,GAAGT,UAAU,CAAC;IAEf,MAAMU,SAAS;QAAC;QAAU;QAAc;QAAe;QAAM;KAAK,CAAC,QAAQ,CAACL,YACxE,WACA;QAAC;QAAO;QAAW;QAAY;QAAM;KAAK,CAAC,QAAQ,CAACA,YAClD,QACA;QAAC;QAAQ;QAAW;QAAc;QAAM;KAAK,CAAC,QAAQ,CAACA,YACrD,SACA;IAER,MAAMM,iBAAiB;QAAC;QAAW;QAAc;QAAW;QAAY;QAAM;QAAM;QAAM;KAAK,CAAC,QAAQ,CAACN,YACrG,UACA;QAAC;QAAY;QAAe;QAAc;QAAe;QAAM;QAAM;QAAM;KAAK,CAAC,QAAQ,CAACA,YACxF,QACA;IAEN,MAAMO,UAAU;QACd,SAASR;QACT,MAAM;QACNM;QACA,UAAUC;QAEV,QAAQR,qBAAqBD,eAAe,EAAE;QAC9C,OAAO;YAACH;YAAKH;SAAI;QACjB,KAAKG;QACL,KAAKH;QAEL,UAAU;QACV,aAAa;YACX,SAAS;YACT,OAAO;gBACL,MAAMW,cAAcD;gBACpB,UAAUE;gBACV,YAAYC;YACd;QACF;IACF;IACA,OAAO;QAAE,GAAGlB,MAAM;QAAEqB;IAAQ;AAC9B"}
@@ -1,22 +1,31 @@
1
1
  import { DATUM_HIDE_KEY } from "../../../../utils/constant.js";
2
+ import { isLinearColor } from "../color/colorAdapter.js";
2
3
  const cellStyle = (spec, context)=>{
3
- const result = {
4
- ...spec,
5
- cell: {
6
- style: {}
7
- }
8
- };
9
4
  const { advancedVSeed, vseed } = context;
10
5
  const { chartType } = vseed;
11
6
  const cell = advancedVSeed.config?.[chartType]?.cell;
7
+ const { datasetReshapeInfo } = advancedVSeed;
8
+ const { unfoldInfo } = datasetReshapeInfo[0];
12
9
  return {
13
- ...result,
10
+ ...spec,
14
11
  cell: {
15
12
  style: {
16
13
  visible: (datum)=>datum?.[DATUM_HIDE_KEY] !== true,
17
14
  shape: 'rect',
18
15
  stroke: cell?.stroke,
19
- lineWidth: cell?.lineWidth ?? 1
16
+ lineWidth: cell?.lineWidth ?? 1,
17
+ fill: {
18
+ field: isLinearColor(advancedVSeed, vseed) ? unfoldInfo.encodingColor : unfoldInfo.encodingColorId,
19
+ scale: 'color'
20
+ }
21
+ },
22
+ state: {
23
+ hover: {
24
+ shadowColor: cell?.hoverShadowColor,
25
+ shadowBlur: 5,
26
+ shadowOffsetX: 0,
27
+ shadowOffsetY: 0
28
+ }
20
29
  }
21
30
  }
22
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/markStyle/cellStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/markStyle/cellStyle.ts"],"sourcesContent":["import type { IHeatmapChartSpec } from '@visactor/vchart'\nimport { DATUM_HIDE_KEY } from 'src/pipeline/utils/constant'\nimport type { VChartSpecPipe } from 'src/types'\n\nexport const cellStyle: VChartSpecPipe = (spec, context) => {\n const result = {\n ...spec,\n cell: {\n style: {},\n },\n } as IHeatmapChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const cell = advancedVSeed.config?.[chartType as 'heatmap']?.cell\n\n return {\n ...result,\n cell: {\n style: {\n visible: (datum: any) => {\n return datum?.[DATUM_HIDE_KEY] !== true\n },\n shape: 'rect',\n stroke: cell?.stroke,\n lineWidth: cell?.lineWidth ?? 1,\n },\n },\n }\n}\n"],"names":["cellStyle","spec","context","result","advancedVSeed","vseed","chartType","cell","datum","DATUM_HIDE_KEY"],"mappings":";AAIO,MAAMA,YAA4B,CAACC,MAAMC;IAC9C,MAAMC,SAAS;QACb,GAAGF,IAAI;QACP,MAAM;YACJ,OAAO,CAAC;QACV;IACF;IACA,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,SAAS,EAAE,GAAGD;IACtB,MAAME,OAAOH,cAAc,MAAM,EAAE,CAACE,UAAuB,EAAE;IAE7D,OAAO;QACL,GAAGH,MAAM;QACT,MAAM;YACJ,OAAO;gBACL,SAAS,CAACK,QACDA,OAAO,CAACC,eAAe,KAAK;gBAErC,OAAO;gBACP,QAAQF,MAAM;gBACd,WAAWA,MAAM,aAAa;YAChC;QACF;IACF;AACF"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/markStyle/cellStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/markStyle/cellStyle.ts"],"sourcesContent":["import { DATUM_HIDE_KEY } from 'src/pipeline/utils/constant'\nimport type { VChartSpecPipe } from 'src/types'\nimport { isLinearColor } from '../color/colorAdapter'\n\nexport const cellStyle: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const cell = advancedVSeed.config?.[chartType as 'heatmap']?.cell\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n return {\n ...spec,\n cell: {\n style: {\n visible: (datum: any) => {\n return datum?.[DATUM_HIDE_KEY] !== true\n },\n shape: 'rect',\n stroke: cell?.stroke,\n lineWidth: cell?.lineWidth ?? 1,\n fill: {\n field: isLinearColor(advancedVSeed, vseed) ? unfoldInfo.encodingColor : unfoldInfo.encodingColorId,\n scale: 'color',\n },\n },\n state: {\n hover: {\n // innerBorder: {\n // lineWidth: 1,\n // stroke: cell?.hoverShadowColor,\n // distance: 1,\n // },\n shadowColor: cell?.hoverShadowColor,\n shadowBlur: 5,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n },\n },\n },\n }\n}\n"],"names":["cellStyle","spec","context","advancedVSeed","vseed","chartType","cell","datasetReshapeInfo","unfoldInfo","datum","DATUM_HIDE_KEY","isLinearColor"],"mappings":";;AAIO,MAAMA,YAA4B,CAACC,MAAMC;IAC9C,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAE,GAAGF;IACjC,MAAM,EAAEG,SAAS,EAAE,GAAGD;IACtB,MAAME,OAAOH,cAAc,MAAM,EAAE,CAACE,UAAuB,EAAE;IAC7D,MAAM,EAAEE,kBAAkB,EAAE,GAAGJ;IAC/B,MAAM,EAAEK,UAAU,EAAE,GAAGD,kBAAkB,CAAC,EAAE;IAE5C,OAAO;QACL,GAAGN,IAAI;QACP,MAAM;YACJ,OAAO;gBACL,SAAS,CAACQ,QACDA,OAAO,CAACC,eAAe,KAAK;gBAErC,OAAO;gBACP,QAAQJ,MAAM;gBACd,WAAWA,MAAM,aAAa;gBAC9B,MAAM;oBACJ,OAAOK,cAAcR,eAAeC,SAASI,WAAW,aAAa,GAAGA,WAAW,eAAe;oBAClG,OAAO;gBACT;YACF;YACA,OAAO;gBACL,OAAO;oBAML,aAAaF,MAAM;oBACnB,YAAY;oBACZ,eAAe;oBACf,eAAe;gBACjB;YACF;QACF;IACF;AACF"}
@@ -0,0 +1,2 @@
1
+ import type { PivotChartSpecPipe } from '../../../../../types';
2
+ export declare const heatmapColorDomain: PivotChartSpecPipe;
@@ -0,0 +1,18 @@
1
+ const heatmapColorDomain = (spec, context)=>{
2
+ const { advancedVSeed } = context;
3
+ const indicators = spec.indicators;
4
+ if (!indicators || !indicators.length || indicators.every((ind)=>ind.chartSpec.color?.type !== 'linear')) return spec;
5
+ const { datasetReshapeInfo } = advancedVSeed;
6
+ const max = Math.max(...datasetReshapeInfo.map((d)=>d.foldInfo.statistics.colorMax));
7
+ const min = Math.min(...datasetReshapeInfo.map((d)=>d.foldInfo.statistics.colorMin));
8
+ indicators.forEach((ind)=>{
9
+ if (ind.chartSpec.color?.type === 'linear') ind.chartSpec.color.domain = [
10
+ min,
11
+ max
12
+ ];
13
+ });
14
+ return spec;
15
+ };
16
+ export { heatmapColorDomain };
17
+
18
+ //# sourceMappingURL=heatmapColorDomain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/heatmapColorDomain.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/heatmapColorDomain.ts"],"sourcesContent":["import type { FoldInfo, PivotChartSpecPipe } from 'src/types'\n\nexport const heatmapColorDomain: PivotChartSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n\n const indicators = spec.indicators\n\n if (!indicators || !indicators.length || indicators.every((ind: any) => ind.chartSpec.color?.type !== 'linear')) {\n return spec\n }\n const { datasetReshapeInfo } = advancedVSeed\n const max = Math.max(...datasetReshapeInfo.map((d: { foldInfo: FoldInfo }) => d.foldInfo.statistics.colorMax))\n const min = Math.min(...datasetReshapeInfo.map((d: { foldInfo: FoldInfo }) => d.foldInfo.statistics.colorMin))\n\n indicators.forEach((ind: any) => {\n if (ind.chartSpec.color?.type === 'linear') {\n ind.chartSpec.color.domain = [min, max]\n }\n })\n\n return spec\n}\n"],"names":["heatmapColorDomain","spec","context","advancedVSeed","indicators","ind","datasetReshapeInfo","max","Math","d","min"],"mappings":"AAEO,MAAMA,qBAAyC,CAACC,MAAMC;IAC3D,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAE1B,MAAME,aAAaH,KAAK,UAAU;IAElC,IAAI,CAACG,cAAc,CAACA,WAAW,MAAM,IAAIA,WAAW,KAAK,CAAC,CAACC,MAAaA,IAAI,SAAS,CAAC,KAAK,EAAE,SAAS,WACpG,OAAOJ;IAET,MAAM,EAAEK,kBAAkB,EAAE,GAAGH;IAC/B,MAAMI,MAAMC,KAAK,GAAG,IAAIF,mBAAmB,GAAG,CAAC,CAACG,IAA8BA,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ;IAC5G,MAAMC,MAAMF,KAAK,GAAG,IAAIF,mBAAmB,GAAG,CAAC,CAACG,IAA8BA,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ;IAE5GL,WAAW,OAAO,CAAC,CAACC;QAClB,IAAIA,IAAI,SAAS,CAAC,KAAK,EAAE,SAAS,UAChCA,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG;YAACK;YAAKH;SAAI;IAE3C;IAEA,OAAON;AACT"}
@@ -7,3 +7,4 @@ export { pivotHideIndicatorName } from './pivotHideIndicatorName';
7
7
  export { pivotAxisStyle } from './pivotAxisStyle';
8
8
  export { pivotTitle } from './pivotTitle';
9
9
  export { dimensionLinkage } from './dimensionLinkage';
10
+ export { heatmapColorDomain } from './heatmapColorDomain';
@@ -7,4 +7,5 @@ import { pivotHideIndicatorName } from "./pivotHideIndicatorName.js";
7
7
  import { pivotAxisStyle } from "./pivotAxisStyle.js";
8
8
  import { pivotTitle } from "./pivotTitle.js";
9
9
  import { dimensionLinkage } from "./dimensionLinkage.js";
10
- export { dimensionLinkage, pivotAdapter, pivotAxisStyle, pivotColumnDimensions, pivotGridStyle, pivotHideIndicatorName, pivotIndicators, pivotIndicatorsAsCol, pivotIndicatorsAsRow, pivotRowDimensions, pivotTitle };
10
+ import { heatmapColorDomain } from "./heatmapColorDomain.js";
11
+ export { dimensionLinkage, heatmapColorDomain, pivotAdapter, pivotAxisStyle, pivotColumnDimensions, pivotGridStyle, pivotHideIndicatorName, pivotIndicators, pivotIndicatorsAsCol, pivotIndicatorsAsRow, pivotRowDimensions, pivotTitle };
@@ -1,10 +1,11 @@
1
+ import { isNil } from "@visactor/vutils";
1
2
  import { MeasureId } from "../../../../../dataReshape/index.js";
2
- import { BAND_AXIS_INNER_OFFSET_IN_PIVOT } from "../../../../utils/constant.js";
3
+ import { BAND_AXIS_INNER_OFFSET_IN_PIVOT, ChartTypeEnum } from "../../../../utils/constant.js";
3
4
  const pivotAxisStyle = (axisStyle)=>(spec, context)=>{
4
5
  const result = axisStyle(spec, context);
5
6
  if (result.axes) {
6
7
  const { advancedVSeed } = context;
7
- const { config, chartType, encoding, reshapeMeasures } = advancedVSeed;
8
+ const { config, chartType, encoding, reshapeMeasures, datasetReshapeInfo } = advancedVSeed;
8
9
  const themConfig = config?.[chartType]?.pivotGrid ?? {};
9
10
  result.axes.forEach((axis)=>{
10
11
  axis.domainLine = {
@@ -13,11 +14,16 @@ const pivotAxisStyle = (axisStyle)=>(spec, context)=>{
13
14
  if (themConfig.chartGridColor && axis.grid && axis.grid.visible && axis.grid.style) axis.grid.style.stroke = themConfig.chartGridColor;
14
15
  if (themConfig.axisLabelColor && axis.label && axis.label.visible && axis.label.style) axis.label.style.fill = themConfig.axisLabelColor;
15
16
  if ('band' === axis.type) {
16
- if ('left' === axis.orient || 'right' === axis.orient) axis.innerOffset = {
17
- top: BAND_AXIS_INNER_OFFSET_IN_PIVOT,
18
- bottom: BAND_AXIS_INNER_OFFSET_IN_PIVOT
19
- };
20
- else if ('top' === axis.orient || 'bottom' === axis.orient) axis.innerOffset = {
17
+ if ('left' === axis.orient || 'right' === axis.orient) {
18
+ axis.innerOffset = {
19
+ top: BAND_AXIS_INNER_OFFSET_IN_PIVOT,
20
+ bottom: BAND_AXIS_INNER_OFFSET_IN_PIVOT
21
+ };
22
+ if (reshapeMeasures && reshapeMeasures.length > 1 && chartType === ChartTypeEnum.Heatmap && isNil(axis.title.text)) {
23
+ axis.title.visible = true;
24
+ axis.title.text = Object.values(datasetReshapeInfo[0].foldInfo.foldMap)[0];
25
+ }
26
+ } else if ('top' === axis.orient || 'bottom' === axis.orient) axis.innerOffset = {
21
27
  left: BAND_AXIS_INNER_OFFSET_IN_PIVOT,
22
28
  right: BAND_AXIS_INNER_OFFSET_IN_PIVOT
23
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.ts"],"sourcesContent":["import type { ILineChartSpec } from '@visactor/vchart'\nimport { MeasureId } from 'src/dataReshape'\nimport { BAND_AXIS_INNER_OFFSET_IN_PIVOT } from 'src/pipeline/utils/constant'\nimport type { Config, VChartSpecPipe } from 'src/types'\n\nexport const pivotAxisStyle = (axisStyle: VChartSpecPipe): VChartSpecPipe => {\n return (spec, context) => {\n const result = axisStyle(spec, context) as ILineChartSpec\n\n if (result.axes) {\n const { advancedVSeed } = context\n const { config, chartType, encoding, reshapeMeasures } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n result.axes.forEach((axis: any) => {\n axis.domainLine = {\n visible: false,\n }\n\n if (themConfig.chartGridColor && axis.grid && axis.grid.visible && axis.grid.style) {\n axis.grid.style.stroke = themConfig.chartGridColor\n }\n\n if (themConfig.axisLabelColor && axis.label && axis.label.visible && axis.label.style) {\n axis.label.style.fill = themConfig.axisLabelColor\n }\n\n if (axis.type === 'band') {\n if (axis.orient === 'left' || axis.orient === 'right') {\n axis.innerOffset = {\n top: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n bottom: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n }\n } else if (axis.orient === 'top' || axis.orient === 'bottom') {\n axis.innerOffset = {\n left: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n right: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n }\n }\n } else if (axis.type === 'linear') {\n if (axis.orient === 'top' || axis.orient === 'bottom') {\n axis.label.flush = true\n }\n\n if (\n reshapeMeasures &&\n reshapeMeasures.length > 1 &&\n axis.title.text &&\n encoding.color &&\n encoding.color.length &&\n !encoding.color.includes(MeasureId)\n ) {\n axis.title.visible = true\n }\n }\n })\n }\n\n return result\n }\n}\n"],"names":["pivotAxisStyle","axisStyle","spec","context","result","advancedVSeed","config","chartType","encoding","reshapeMeasures","themConfig","axis","BAND_AXIS_INNER_OFFSET_IN_PIVOT","MeasureId"],"mappings":";;AAKO,MAAMA,iBAAiB,CAACC,YACtB,CAACC,MAAMC;QACZ,MAAMC,SAASH,UAAUC,MAAMC;QAE/B,IAAIC,OAAO,IAAI,EAAE;YACf,MAAM,EAAEC,aAAa,EAAE,GAAGF;YAC1B,MAAM,EAAEG,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,eAAe,EAAE,GAAGJ;YACzD,MAAMK,aAAcJ,QAAQ,CAACC,UAAU,EAAqB,aAAa,CAAC;YAE1EH,OAAO,IAAI,CAAC,OAAO,CAAC,CAACO;gBACnBA,KAAK,UAAU,GAAG;oBAChB,SAAS;gBACX;gBAEA,IAAID,WAAW,cAAc,IAAIC,KAAK,IAAI,IAAIA,KAAK,IAAI,CAAC,OAAO,IAAIA,KAAK,IAAI,CAAC,KAAK,EAChFA,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAGD,WAAW,cAAc;gBAGpD,IAAIA,WAAW,cAAc,IAAIC,KAAK,KAAK,IAAIA,KAAK,KAAK,CAAC,OAAO,IAAIA,KAAK,KAAK,CAAC,KAAK,EACnFA,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,GAAGD,WAAW,cAAc;gBAGnD,IAAIC,AAAc,WAAdA,KAAK,IAAI,EACX;oBAAA,IAAIA,AAAgB,WAAhBA,KAAK,MAAM,IAAeA,AAAgB,YAAhBA,KAAK,MAAM,EACvCA,KAAK,WAAW,GAAG;wBACjB,KAAKC;wBACL,QAAQA;oBACV;yBACK,IAAID,AAAgB,UAAhBA,KAAK,MAAM,IAAcA,AAAgB,aAAhBA,KAAK,MAAM,EAC7CA,KAAK,WAAW,GAAG;wBACjB,MAAMC;wBACN,OAAOA;oBACT;gBACF,OACK,IAAID,AAAc,aAAdA,KAAK,IAAI,EAAe;oBACjC,IAAIA,AAAgB,UAAhBA,KAAK,MAAM,IAAcA,AAAgB,aAAhBA,KAAK,MAAM,EACtCA,KAAK,KAAK,CAAC,KAAK,GAAG;oBAGrB,IACEF,mBACAA,gBAAgB,MAAM,GAAG,KACzBE,KAAK,KAAK,CAAC,IAAI,IACfH,SAAS,KAAK,IACdA,SAAS,KAAK,CAAC,MAAM,IACrB,CAACA,SAAS,KAAK,CAAC,QAAQ,CAACK,YAEzBF,KAAK,KAAK,CAAC,OAAO,GAAG;gBAEzB;YACF;QACF;QAEA,OAAOP;IACT"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.ts"],"sourcesContent":["import type { ILineChartSpec } from '@visactor/vchart'\nimport { isNil } from '@visactor/vutils'\nimport { MeasureId } from 'src/dataReshape'\nimport { BAND_AXIS_INNER_OFFSET_IN_PIVOT, ChartTypeEnum } from 'src/pipeline/utils/constant'\nimport type { Config, VChartSpecPipe } from 'src/types'\n\nexport const pivotAxisStyle = (axisStyle: VChartSpecPipe): VChartSpecPipe => {\n return (spec, context) => {\n const result = axisStyle(spec, context) as ILineChartSpec\n\n if (result.axes) {\n const { advancedVSeed } = context\n const { config, chartType, encoding, reshapeMeasures, datasetReshapeInfo } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n result.axes.forEach((axis: any) => {\n axis.domainLine = {\n visible: false,\n }\n\n if (themConfig.chartGridColor && axis.grid && axis.grid.visible && axis.grid.style) {\n axis.grid.style.stroke = themConfig.chartGridColor\n }\n\n if (themConfig.axisLabelColor && axis.label && axis.label.visible && axis.label.style) {\n axis.label.style.fill = themConfig.axisLabelColor\n }\n\n if (axis.type === 'band') {\n if (axis.orient === 'left' || axis.orient === 'right') {\n axis.innerOffset = {\n top: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n bottom: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n }\n\n if (\n reshapeMeasures &&\n reshapeMeasures.length > 1 &&\n chartType === ChartTypeEnum.Heatmap &&\n isNil(axis.title.text)\n ) {\n axis.title.visible = true\n axis.title.text = Object.values(datasetReshapeInfo[0].foldInfo.foldMap)[0]\n }\n } else if (axis.orient === 'top' || axis.orient === 'bottom') {\n axis.innerOffset = {\n left: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n right: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n }\n }\n } else if (axis.type === 'linear') {\n if (axis.orient === 'top' || axis.orient === 'bottom') {\n axis.label.flush = true\n }\n\n if (\n reshapeMeasures &&\n reshapeMeasures.length > 1 &&\n axis.title.text &&\n encoding.color &&\n encoding.color.length &&\n !encoding.color.includes(MeasureId)\n ) {\n axis.title.visible = true\n }\n }\n })\n }\n\n return result\n }\n}\n"],"names":["pivotAxisStyle","axisStyle","spec","context","result","advancedVSeed","config","chartType","encoding","reshapeMeasures","datasetReshapeInfo","themConfig","axis","BAND_AXIS_INNER_OFFSET_IN_PIVOT","ChartTypeEnum","isNil","Object","MeasureId"],"mappings":";;;AAMO,MAAMA,iBAAiB,CAACC,YACtB,CAACC,MAAMC;QACZ,MAAMC,SAASH,UAAUC,MAAMC;QAE/B,IAAIC,OAAO,IAAI,EAAE;YACf,MAAM,EAAEC,aAAa,EAAE,GAAGF;YAC1B,MAAM,EAAEG,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,eAAe,EAAEC,kBAAkB,EAAE,GAAGL;YAC7E,MAAMM,aAAcL,QAAQ,CAACC,UAAU,EAAqB,aAAa,CAAC;YAE1EH,OAAO,IAAI,CAAC,OAAO,CAAC,CAACQ;gBACnBA,KAAK,UAAU,GAAG;oBAChB,SAAS;gBACX;gBAEA,IAAID,WAAW,cAAc,IAAIC,KAAK,IAAI,IAAIA,KAAK,IAAI,CAAC,OAAO,IAAIA,KAAK,IAAI,CAAC,KAAK,EAChFA,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAGD,WAAW,cAAc;gBAGpD,IAAIA,WAAW,cAAc,IAAIC,KAAK,KAAK,IAAIA,KAAK,KAAK,CAAC,OAAO,IAAIA,KAAK,KAAK,CAAC,KAAK,EACnFA,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,GAAGD,WAAW,cAAc;gBAGnD,IAAIC,AAAc,WAAdA,KAAK,IAAI,EACX;oBAAA,IAAIA,AAAgB,WAAhBA,KAAK,MAAM,IAAeA,AAAgB,YAAhBA,KAAK,MAAM,EAAc;wBACrDA,KAAK,WAAW,GAAG;4BACjB,KAAKC;4BACL,QAAQA;wBACV;wBAEA,IACEJ,mBACAA,gBAAgB,MAAM,GAAG,KACzBF,cAAcO,cAAc,OAAO,IACnCC,MAAMH,KAAK,KAAK,CAAC,IAAI,GACrB;4BACAA,KAAK,KAAK,CAAC,OAAO,GAAG;4BACrBA,KAAK,KAAK,CAAC,IAAI,GAAGI,OAAO,MAAM,CAACN,kBAAkB,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE;wBAC5E;oBACF,OAAO,IAAIE,AAAgB,UAAhBA,KAAK,MAAM,IAAcA,AAAgB,aAAhBA,KAAK,MAAM,EAC7CA,KAAK,WAAW,GAAG;wBACjB,MAAMC;wBACN,OAAOA;oBACT;gBACF,OACK,IAAID,AAAc,aAAdA,KAAK,IAAI,EAAe;oBACjC,IAAIA,AAAgB,UAAhBA,KAAK,MAAM,IAAcA,AAAgB,aAAhBA,KAAK,MAAM,EACtCA,KAAK,KAAK,CAAC,KAAK,GAAG;oBAGrB,IACEH,mBACAA,gBAAgB,MAAM,GAAG,KACzBG,KAAK,KAAK,CAAC,IAAI,IACfJ,SAAS,KAAK,IACdA,SAAS,KAAK,CAAC,MAAM,IACrB,CAACA,SAAS,KAAK,CAAC,QAAQ,CAACS,YAEzBL,KAAK,KAAK,CAAC,OAAO,GAAG;gBAEzB;YACF;QACF;QAEA,OAAOR;IACT"}
@@ -1,15 +1,24 @@
1
+ import { FoldXMeasureId } from "../../../../../dataReshape/index.js";
1
2
  const pivotColumnDimensions = (spec, context)=>{
2
3
  const result = {
3
4
  ...spec
4
5
  };
5
6
  const { advancedVSeed } = context;
6
7
  const dimensions = advancedVSeed.dimensions;
8
+ const measures = advancedVSeed.measures ?? [];
7
9
  if (!dimensions) return result;
8
10
  const columnDimensions = dimensions.filter((dim)=>'column' === dim.encoding);
9
- const columns = columnDimensions.map((dim)=>({
11
+ const columns = columnDimensions.map((dim)=>{
12
+ const baseConfig = {
10
13
  dimensionKey: dim.id,
11
- title: dim.alias || dim.id
12
- }));
14
+ title: dim.alias ?? dim.id
15
+ };
16
+ if (dim.id === FoldXMeasureId) baseConfig.headerFormat = (title)=>{
17
+ const measure = measures.find((m)=>m.id === title);
18
+ return measure ? measure.alias ?? measure.id : title;
19
+ };
20
+ return baseConfig;
21
+ });
13
22
  return {
14
23
  ...result,
15
24
  columns: columns
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { Dimensions, PivotChartSpecPipe } from 'src/types'\n\nexport const pivotColumnDimensions: PivotChartSpecPipe = (spec, context): Partial<PivotChartConstructorOptions> => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n\n if (!dimensions) {\n return result\n }\n const columnDimensions = dimensions.filter((dim) => dim.encoding === 'column')\n const columns = columnDimensions.map((dim) => ({\n dimensionKey: dim.id,\n title: dim.alias || dim.id,\n })) as unknown\n\n return {\n ...result,\n columns: columns,\n } as Partial<PivotChartConstructorOptions>\n}\n"],"names":["pivotColumnDimensions","spec","context","result","advancedVSeed","dimensions","columnDimensions","dim","columns"],"mappings":"AAGO,MAAMA,wBAA4C,CAACC,MAAMC;IAC9D,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAMG,aAAaD,cAAc,UAAU;IAE3C,IAAI,CAACC,YACH,OAAOF;IAET,MAAMG,mBAAmBD,WAAW,MAAM,CAAC,CAACE,MAAQA,AAAiB,aAAjBA,IAAI,QAAQ;IAChE,MAAMC,UAAUF,iBAAiB,GAAG,CAAC,CAACC,MAAS;YAC7C,cAAcA,IAAI,EAAE;YACpB,OAAOA,IAAI,KAAK,IAAIA,IAAI,EAAE;QAC5B;IAEA,OAAO;QACL,GAAGJ,MAAM;QACT,SAASK;IACX;AACF"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { FoldXMeasureId } from 'src/dataReshape'\nimport type { Dimensions, PivotChartSpecPipe } from 'src/types'\n\nexport const pivotColumnDimensions: PivotChartSpecPipe = (spec, context): Partial<PivotChartConstructorOptions> => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n const measures = advancedVSeed.measures ?? []\n\n if (!dimensions) {\n return result\n }\n const columnDimensions = dimensions.filter((dim) => dim.encoding === 'column')\n const columns = columnDimensions.map((dim) => {\n const baseConfig: any = {\n dimensionKey: dim.id,\n title: dim.alias ?? dim.id,\n }\n\n if (dim.id === FoldXMeasureId) {\n baseConfig.headerFormat = (title: string) => {\n const measure = measures.find((m) => m.id === title)\n\n return measure ? (measure.alias ?? measure.id) : title\n }\n }\n\n return baseConfig\n }) as unknown\n\n return {\n ...result,\n columns: columns,\n } as Partial<PivotChartConstructorOptions>\n}\n"],"names":["pivotColumnDimensions","spec","context","result","advancedVSeed","dimensions","measures","columnDimensions","dim","columns","baseConfig","FoldXMeasureId","title","measure","m"],"mappings":";AAIO,MAAMA,wBAA4C,CAACC,MAAMC;IAC9D,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAMG,aAAaD,cAAc,UAAU;IAC3C,MAAME,WAAWF,cAAc,QAAQ,IAAI,EAAE;IAE7C,IAAI,CAACC,YACH,OAAOF;IAET,MAAMI,mBAAmBF,WAAW,MAAM,CAAC,CAACG,MAAQA,AAAiB,aAAjBA,IAAI,QAAQ;IAChE,MAAMC,UAAUF,iBAAiB,GAAG,CAAC,CAACC;QACpC,MAAME,aAAkB;YACtB,cAAcF,IAAI,EAAE;YACpB,OAAOA,IAAI,KAAK,IAAIA,IAAI,EAAE;QAC5B;QAEA,IAAIA,IAAI,EAAE,KAAKG,gBACbD,WAAW,YAAY,GAAG,CAACE;YACzB,MAAMC,UAAUP,SAAS,IAAI,CAAC,CAACQ,IAAMA,EAAE,EAAE,KAAKF;YAE9C,OAAOC,UAAWA,QAAQ,KAAK,IAAIA,QAAQ,EAAE,GAAID;QACnD;QAGF,OAAOF;IACT;IAEA,OAAO;QACL,GAAGP,MAAM;QACT,SAASM;IACX;AACF"}
@@ -27,9 +27,9 @@ const pivotGridStyle = (spec, context)=>{
27
27
  borderColor,
28
28
  color: bodyFontColor,
29
29
  borderLineWidth: (arg)=>{
30
- const noYAxis = 'pie' === chartType || 'rose' === chartType || 'donut' === chartType || 'funnel' === chartType || 'radar' === chartType || 'roseParallel' === chartType;
30
+ const noYAxis = 'pie' === chartType || 'rose' === chartType || 'donut' === chartType || 'radar' === chartType || 'roseParallel' === chartType;
31
31
  return [
32
- 0 === arg.row ? outlineBorderLineWidth : 1,
32
+ 0 === arg.row || 'funnel' === chartType && 1 === arg.row && arg.table.rowCount <= 2 ? outlineBorderLineWidth : 1,
33
33
  outlineBorderLineWidth,
34
34
  0,
35
35
  0 === arg.col || noYAxis && 1 === arg.col && arg.table.colCount <= 2 ? outlineBorderLineWidth : 1
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { isCombination, isPivot } from 'src/pipeline/utils'\nimport type { Config, PivotChartSpecPipe } from 'src/types'\nimport { isNullish } from 'remeda'\n\nexport const pivotGridStyle: PivotChartSpecPipe = (spec, context) => {\n const { vseed, advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n const onlyCombination = !isPivot(vseed) && isCombination(vseed)\n\n const result = { ...spec } as PivotChartConstructorOptions\n const transparent = 'rgba(0,0,0,0)'\n\n const borderColor = themConfig.borderColor ?? '#e3e5eb'\n const bodyFontColor = themConfig.bodyFontColor ?? '#141414'\n const headerFontColor = themConfig.headerFontColor ?? '#21252c'\n const headerBackgroundColor = themConfig.headerBackgroundColor ?? 'rgba(0,0,0,0)'\n const hoverHeaderBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderBackgroundColor ?? '#D9DDE4')\n const hoverHeaderInlineBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderInlineBackgroundColor ?? '#D9DDE455')\n const outlineBorderLineWidth = themConfig.outlineBorderLineWidth ?? 0\n const frameCornerRadius = themConfig.frameCornerRadius ?? 0\n\n if (!isNullish(themConfig.minChartWidth)) {\n result.defaultColWidth = themConfig.minChartWidth\n }\n\n if (!isNullish(themConfig.minChartHeight)) {\n result.defaultRowHeight = themConfig.minChartHeight\n }\n\n return {\n ...result,\n theme: {\n underlayBackgroundColor: transparent,\n bodyStyle: {\n borderColor,\n color: bodyFontColor,\n borderLineWidth: (arg: { row: number; col: number; table: any }) => {\n const noYAxis =\n chartType === 'pie' ||\n chartType === 'rose' ||\n chartType === 'donut' ||\n chartType === 'funnel' ||\n chartType === 'radar' ||\n chartType === 'roseParallel'\n\n return [\n arg.row === 0 ? outlineBorderLineWidth : 1,\n outlineBorderLineWidth,\n 0,\n arg.col === 0 || (noYAxis && arg.col === 1 && arg.table.colCount <= 2) ? outlineBorderLineWidth : 1,\n ]\n },\n bgColor: transparent,\n hover: {\n cellBgColor: 'transparent',\n },\n },\n headerStyle: {\n borderColor,\n fontSize: 12,\n // borderLineWidth: [outlineBorderLineWidth, outlineBorderLineWidth, 1, 1],\n borderLineWidth: (arg: { row: number; col: number }) => {\n return [outlineBorderLineWidth, outlineBorderLineWidth, 1, arg.col === 0 ? outlineBorderLineWidth : 1]\n },\n color: headerFontColor,\n textAlign: 'center',\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n rowHeaderStyle: {\n borderColor,\n fontSize: 12,\n color: headerFontColor,\n padding: [0, 12, 0, 4],\n borderLineWidth: (arg: { row: number }) => {\n return [arg.row === 0 ? outlineBorderLineWidth : 1, 1, 0, outlineBorderLineWidth]\n },\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerHeaderStyle: {\n borderColor,\n textAlign: 'center',\n fontSize: 12,\n color: headerFontColor,\n padding: [0, 12, 0, 4],\n fontWeight: 'bold',\n borderLineWidth: [outlineBorderLineWidth, 1, 1, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerLeftBottomCellStyle: {\n borderColor,\n borderLineWidth: [outlineBorderLineWidth, 0, outlineBorderLineWidth, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n borderLineWidth: [1, 0, outlineBorderLineWidth, outlineBorderLineWidth],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerRightTopCellStyle: {\n borderColor,\n borderLineWidth: [outlineBorderLineWidth, outlineBorderLineWidth, 1, 1],\n frameStyle: {\n borderColor,\n borderLineWidth: 0,\n },\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n rightFrozenStyle: {\n borderColor,\n bgColor: headerBackgroundColor,\n borderLineWidth: (arg: { row: number }) => {\n return [arg.row === 0 ? outlineBorderLineWidth : 1, outlineBorderLineWidth, 0, 1]\n },\n frameStyle: {\n borderLineWidth: 0,\n },\n hover: {\n borderLineWidth: 0,\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerRightBottomCellStyle: {\n borderColor,\n bgColor: headerBackgroundColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n frameStyle: {\n borderColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n\n bottomFrozenStyle: {\n borderColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n selectionStyle: {\n cellBgColor: '',\n cellBorderColor: '',\n },\n frameStyle: {\n borderColor,\n cornerRadius: frameCornerRadius,\n borderLineWidth: outlineBorderLineWidth,\n },\n\n axisStyle: {\n leftAxisStyle: {\n cellPaddingLeft: 10,\n },\n bottomAxisStyle: {\n cellPaddingBottom: 4,\n },\n rightAxisStyle: {\n cellPaddingRight: 4,\n },\n },\n scrollStyle: {\n visible: 'scrolling',\n hoverOn: false,\n },\n },\n }\n}\n"],"names":["pivotGridStyle","spec","context","vseed","advancedVSeed","config","chartType","themConfig","onlyCombination","isPivot","isCombination","result","transparent","borderColor","bodyFontColor","headerFontColor","headerBackgroundColor","hoverHeaderBackgroundColor","hoverHeaderInlineBackgroundColor","outlineBorderLineWidth","frameCornerRadius","isNullish","arg","noYAxis","undefined"],"mappings":"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"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { isCombination, isPivot } from 'src/pipeline/utils'\nimport type { Config, PivotChartSpecPipe } from 'src/types'\nimport { isNullish } from 'remeda'\n\nexport const pivotGridStyle: PivotChartSpecPipe = (spec, context) => {\n const { vseed, advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n const onlyCombination = !isPivot(vseed) && isCombination(vseed)\n\n const result = { ...spec } as PivotChartConstructorOptions\n const transparent = 'rgba(0,0,0,0)'\n\n const borderColor = themConfig.borderColor ?? '#e3e5eb'\n const bodyFontColor = themConfig.bodyFontColor ?? '#141414'\n const headerFontColor = themConfig.headerFontColor ?? '#21252c'\n const headerBackgroundColor = themConfig.headerBackgroundColor ?? 'rgba(0,0,0,0)'\n const hoverHeaderBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderBackgroundColor ?? '#D9DDE4')\n const hoverHeaderInlineBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderInlineBackgroundColor ?? '#D9DDE455')\n const outlineBorderLineWidth = themConfig.outlineBorderLineWidth ?? 0\n const frameCornerRadius = themConfig.frameCornerRadius ?? 0\n\n if (!isNullish(themConfig.minChartWidth)) {\n result.defaultColWidth = themConfig.minChartWidth!\n }\n\n if (!isNullish(themConfig.minChartHeight)) {\n result.defaultRowHeight = themConfig.minChartHeight!\n }\n\n return {\n ...result,\n theme: {\n underlayBackgroundColor: transparent,\n bodyStyle: {\n borderColor,\n color: bodyFontColor,\n borderLineWidth: (arg: { row: number; col: number; table: any }) => {\n const noYAxis =\n chartType === 'pie' ||\n chartType === 'rose' ||\n chartType === 'donut' ||\n chartType === 'radar' ||\n chartType === 'roseParallel'\n\n return [\n arg.row === 0 || (chartType === 'funnel' && arg.row === 1 && arg.table.rowCount <= 2)\n ? outlineBorderLineWidth\n : 1,\n outlineBorderLineWidth,\n 0,\n arg.col === 0 || (noYAxis && arg.col === 1 && arg.table.colCount <= 2) ? outlineBorderLineWidth : 1,\n ]\n },\n bgColor: transparent,\n hover: {\n cellBgColor: 'transparent',\n },\n },\n headerStyle: {\n borderColor,\n fontSize: 12,\n // borderLineWidth: [outlineBorderLineWidth, outlineBorderLineWidth, 1, 1],\n borderLineWidth: (arg: { row: number; col: number }) => {\n return [outlineBorderLineWidth, outlineBorderLineWidth, 1, arg.col === 0 ? outlineBorderLineWidth : 1]\n },\n color: headerFontColor,\n textAlign: 'center',\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n rowHeaderStyle: {\n borderColor,\n fontSize: 12,\n color: headerFontColor,\n padding: [0, 12, 0, 4],\n borderLineWidth: (arg: { row: number }) => {\n return [arg.row === 0 ? outlineBorderLineWidth : 1, 1, 0, outlineBorderLineWidth]\n },\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerHeaderStyle: {\n borderColor,\n textAlign: 'center',\n fontSize: 12,\n color: headerFontColor,\n padding: [0, 12, 0, 4],\n fontWeight: 'bold',\n borderLineWidth: [outlineBorderLineWidth, 1, 1, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerLeftBottomCellStyle: {\n borderColor,\n borderLineWidth: [outlineBorderLineWidth, 0, outlineBorderLineWidth, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n borderLineWidth: [1, 0, outlineBorderLineWidth, outlineBorderLineWidth],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerRightTopCellStyle: {\n borderColor,\n borderLineWidth: [outlineBorderLineWidth, outlineBorderLineWidth, 1, 1],\n frameStyle: {\n borderColor,\n borderLineWidth: 0,\n },\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n rightFrozenStyle: {\n borderColor,\n bgColor: headerBackgroundColor,\n borderLineWidth: (arg: { row: number }) => {\n return [arg.row === 0 ? outlineBorderLineWidth : 1, outlineBorderLineWidth, 0, 1]\n },\n frameStyle: {\n borderLineWidth: 0,\n },\n hover: {\n borderLineWidth: 0,\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerRightBottomCellStyle: {\n borderColor,\n bgColor: headerBackgroundColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n frameStyle: {\n borderColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n\n bottomFrozenStyle: {\n borderColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n selectionStyle: {\n cellBgColor: '',\n cellBorderColor: '',\n },\n frameStyle: {\n borderColor,\n cornerRadius: frameCornerRadius,\n borderLineWidth: outlineBorderLineWidth,\n },\n\n axisStyle: {\n leftAxisStyle: {\n cellPaddingLeft: 10,\n },\n bottomAxisStyle: {\n cellPaddingBottom: 4,\n },\n rightAxisStyle: {\n cellPaddingRight: 4,\n },\n },\n scrollStyle: {\n visible: 'scrolling',\n hoverOn: false,\n },\n },\n }\n}\n"],"names":["pivotGridStyle","spec","context","vseed","advancedVSeed","config","chartType","themConfig","onlyCombination","isPivot","isCombination","result","transparent","borderColor","bodyFontColor","headerFontColor","headerBackgroundColor","hoverHeaderBackgroundColor","hoverHeaderInlineBackgroundColor","outlineBorderLineWidth","frameCornerRadius","isNullish","arg","noYAxis","undefined"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline, isRectungularCoordinate } from '../../../../utils'\nimport type { Dataset, Encoding, Measures, PivotChartSpecPipe, SpecPipelineContext, VChartSpecPipe } from 'src/types'\nimport { unique } from 'remeda'\n\nexport const pivotIndicators =\n (chartPipeline: VChartSpecPipe[]): PivotChartSpecPipe =>\n (spec, context): Partial<PivotChartConstructorOptions> => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { datasetReshapeInfo, dataset, encoding, reshapeMeasures = [] } = advancedVSeed\n\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n const allMeasureIds = unique(datasetReshapeInfo.flatMap((d) => Object.keys(d.foldInfo.foldMap || {})))\n\n const indicators = datasetReshapeInfo.map((reshapeInfo, index) => {\n const subMeasures = (reshapeMeasures[index] || []) as Measures\n const subMeasuresId = (reshapeMeasures[index] || []).map((d) => d.id)\n const invalideMeasuresIds = allMeasureIds.filter((id: string) => !subMeasuresId.includes(id))\n\n const newDataset = dataset[index] as Dataset\n const newDatasetReshapeInfo = [\n {\n ...reshapeInfo,\n unfoldInfo: { ...reshapeInfo.unfoldInfo, colorItems },\n },\n ]\n const newContext: SpecPipelineContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n pivotAllDatasetReshapeInfo: datasetReshapeInfo,\n datasetReshapeInfo: newDatasetReshapeInfo,\n encoding: Object.keys(encoding).reduce((res, key) => {\n res[key as keyof Encoding] = encoding[key as keyof Encoding]?.filter((e) => {\n return !invalideMeasuresIds.includes(e)\n }) as string[]\n\n return res\n }, {} as Encoding),\n dataset: newDataset,\n },\n }\n\n const chartSpec = execPipeline(chartPipeline, newContext, {})\n return {\n indicatorKey: `${reshapeInfo.id}`,\n title: isRectungularCoordinate(advancedVSeed.chartType)\n ? ''\n : subMeasures.map((m) => m.alias ?? m.id).join('-'),\n cellType: 'chart',\n chartModule: 'vchart',\n chartSpec: chartSpec,\n style: {\n padding: [1, 1, 0, 1],\n },\n }\n })\n\n return {\n ...result,\n indicators: indicators,\n } as Partial<PivotChartConstructorOptions>\n }\n\nexport const pivotIndicatorsAsRow: PivotChartSpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: PivotChartSpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n"],"names":["pivotIndicators","chartPipeline","spec","context","result","advancedVSeed","datasetReshapeInfo","dataset","encoding","reshapeMeasures","colorItems","unique","d","allMeasureIds","Object","indicators","reshapeInfo","index","subMeasures","subMeasuresId","invalideMeasuresIds","id","newDataset","newDatasetReshapeInfo","newContext","res","key","e","chartSpec","execPipeline","isRectungularCoordinate","m","pivotIndicatorsAsRow","pivotIndicatorsAsCol"],"mappings":";;AAKO,MAAMA,kBACX,CAACC,gBACD,CAACC,MAAMC;QACL,MAAMC,SAAS;YAAE,GAAGF,IAAI;QAAC;QACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;QAC1B,MAAM,EAAEG,kBAAkB,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,kBAAkB,EAAE,EAAE,GAAGJ;QAExE,MAAMK,aAAaC,OAAOL,mBAAmB,OAAO,CAAC,CAACM,IAAMA,EAAE,UAAU,CAAC,UAAU;QACnF,MAAMC,gBAAgBF,OAAOL,mBAAmB,OAAO,CAAC,CAACM,IAAME,OAAO,IAAI,CAACF,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC;QAElG,MAAMG,aAAaT,mBAAmB,GAAG,CAAC,CAACU,aAAaC;YACtD,MAAMC,cAAeT,eAAe,CAACQ,MAAM,IAAI,EAAE;YACjD,MAAME,gBAAiBV,AAAAA,CAAAA,eAAe,CAACQ,MAAM,IAAI,EAAC,EAAG,GAAG,CAAC,CAACL,IAAMA,EAAE,EAAE;YACpE,MAAMQ,sBAAsBP,cAAc,MAAM,CAAC,CAACQ,KAAe,CAACF,cAAc,QAAQ,CAACE;YAEzF,MAAMC,aAAaf,OAAO,CAACU,MAAM;YACjC,MAAMM,wBAAwB;gBAC5B;oBACE,GAAGP,WAAW;oBACd,YAAY;wBAAE,GAAGA,YAAY,UAAU;wBAAEN;oBAAW;gBACtD;aACD;YACD,MAAMc,aAAkC;gBACtC,GAAGrB,OAAO;gBACV,eAAe;oBACb,GAAGE,aAAa;oBAChB,4BAA4BC;oBAC5B,oBAAoBiB;oBACpB,UAAUT,OAAO,IAAI,CAACN,UAAU,MAAM,CAAC,CAACiB,KAAKC;wBAC3CD,GAAG,CAACC,IAAsB,GAAGlB,QAAQ,CAACkB,IAAsB,EAAE,OAAO,CAACC,IAC7D,CAACP,oBAAoB,QAAQ,CAACO;wBAGvC,OAAOF;oBACT,GAAG,CAAC;oBACJ,SAASH;gBACX;YACF;YAEA,MAAMM,YAAYC,aAAa5B,eAAeuB,YAAY,CAAC;YAC3D,OAAO;gBACL,cAAc,GAAGR,YAAY,EAAE,EAAE;gBACjC,OAAOc,wBAAwBzB,cAAc,SAAS,IAClD,KACAa,YAAY,GAAG,CAAC,CAACa,IAAMA,EAAE,KAAK,IAAIA,EAAE,EAAE,EAAE,IAAI,CAAC;gBACjD,UAAU;gBACV,aAAa;gBACb,WAAWH;gBACX,OAAO;oBACL,SAAS;wBAAC;wBAAG;wBAAG;wBAAG;qBAAE;gBACvB;YACF;QACF;QAEA,OAAO;YACL,GAAGxB,MAAM;YACT,YAAYW;QACd;IACF;AAEK,MAAMiB,uBAA2C,CAAC9B;IACvD,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF;AAEO,MAAM6B,uBAA2C,CAAC/B;IACvD,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline, isRectungularCoordinate } from '../../../../utils'\nimport type { Dataset, Encoding, Measures, PivotChartSpecPipe, SpecPipelineContext, VChartSpecPipe } from 'src/types'\nimport { unique } from 'remeda'\n\nexport const pivotIndicators =\n (chartPipeline: VChartSpecPipe[]): PivotChartSpecPipe =>\n (spec, context): Partial<PivotChartConstructorOptions> => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { datasetReshapeInfo, dataset, encoding, reshapeMeasures = [] } = advancedVSeed\n\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n const allMeasureIds = unique(datasetReshapeInfo.flatMap((d) => Object.keys(d.foldInfo.foldMap || {})))\n const indicators = datasetReshapeInfo.map((reshapeInfo, index) => {\n const subMeasures = (reshapeMeasures[index] || []) as Measures\n const subMeasuresId = (reshapeMeasures[index] || []).map((d) => d.id)\n const invalideMeasuresIds = allMeasureIds.filter((id: string) => !subMeasuresId.includes(id))\n\n const newDataset = dataset[index] as Dataset\n const newDatasetReshapeInfo = [\n {\n ...reshapeInfo,\n unfoldInfo: { ...reshapeInfo.unfoldInfo, colorItems },\n },\n ]\n const newContext: SpecPipelineContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n pivotAllDatasetReshapeInfo: datasetReshapeInfo,\n datasetReshapeInfo: newDatasetReshapeInfo,\n encoding: Object.keys(encoding).reduce((res, key) => {\n res[key as keyof Encoding] = encoding[key as keyof Encoding]?.filter((e) => {\n return !invalideMeasuresIds.includes(e)\n }) as string[]\n\n return res\n }, {} as Encoding),\n dataset: newDataset,\n },\n }\n\n const chartSpec = execPipeline(chartPipeline, newContext, {})\n\n return {\n indicatorKey: `${reshapeInfo.id}`,\n title: isRectungularCoordinate(advancedVSeed.chartType)\n ? ''\n : subMeasures.map((m) => m.alias ?? m.id).join('-'),\n cellType: 'chart',\n chartModule: 'vchart',\n chartSpec: chartSpec,\n style: {\n padding: [1, 1, 0, 1],\n },\n }\n })\n\n return {\n ...result,\n indicators: indicators,\n } as Partial<PivotChartConstructorOptions>\n }\n\nexport const pivotIndicatorsAsRow: PivotChartSpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: PivotChartSpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n"],"names":["pivotIndicators","chartPipeline","spec","context","result","advancedVSeed","datasetReshapeInfo","dataset","encoding","reshapeMeasures","colorItems","unique","d","allMeasureIds","Object","indicators","reshapeInfo","index","subMeasures","subMeasuresId","invalideMeasuresIds","id","newDataset","newDatasetReshapeInfo","newContext","res","key","e","chartSpec","execPipeline","isRectungularCoordinate","m","pivotIndicatorsAsRow","pivotIndicatorsAsCol"],"mappings":";;AAKO,MAAMA,kBACX,CAACC,gBACD,CAACC,MAAMC;QACL,MAAMC,SAAS;YAAE,GAAGF,IAAI;QAAC;QACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;QAC1B,MAAM,EAAEG,kBAAkB,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,kBAAkB,EAAE,EAAE,GAAGJ;QAExE,MAAMK,aAAaC,OAAOL,mBAAmB,OAAO,CAAC,CAACM,IAAMA,EAAE,UAAU,CAAC,UAAU;QACnF,MAAMC,gBAAgBF,OAAOL,mBAAmB,OAAO,CAAC,CAACM,IAAME,OAAO,IAAI,CAACF,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC;QAClG,MAAMG,aAAaT,mBAAmB,GAAG,CAAC,CAACU,aAAaC;YACtD,MAAMC,cAAeT,eAAe,CAACQ,MAAM,IAAI,EAAE;YACjD,MAAME,gBAAiBV,AAAAA,CAAAA,eAAe,CAACQ,MAAM,IAAI,EAAC,EAAG,GAAG,CAAC,CAACL,IAAMA,EAAE,EAAE;YACpE,MAAMQ,sBAAsBP,cAAc,MAAM,CAAC,CAACQ,KAAe,CAACF,cAAc,QAAQ,CAACE;YAEzF,MAAMC,aAAaf,OAAO,CAACU,MAAM;YACjC,MAAMM,wBAAwB;gBAC5B;oBACE,GAAGP,WAAW;oBACd,YAAY;wBAAE,GAAGA,YAAY,UAAU;wBAAEN;oBAAW;gBACtD;aACD;YACD,MAAMc,aAAkC;gBACtC,GAAGrB,OAAO;gBACV,eAAe;oBACb,GAAGE,aAAa;oBAChB,4BAA4BC;oBAC5B,oBAAoBiB;oBACpB,UAAUT,OAAO,IAAI,CAACN,UAAU,MAAM,CAAC,CAACiB,KAAKC;wBAC3CD,GAAG,CAACC,IAAsB,GAAGlB,QAAQ,CAACkB,IAAsB,EAAE,OAAO,CAACC,IAC7D,CAACP,oBAAoB,QAAQ,CAACO;wBAGvC,OAAOF;oBACT,GAAG,CAAC;oBACJ,SAASH;gBACX;YACF;YAEA,MAAMM,YAAYC,aAAa5B,eAAeuB,YAAY,CAAC;YAE3D,OAAO;gBACL,cAAc,GAAGR,YAAY,EAAE,EAAE;gBACjC,OAAOc,wBAAwBzB,cAAc,SAAS,IAClD,KACAa,YAAY,GAAG,CAAC,CAACa,IAAMA,EAAE,KAAK,IAAIA,EAAE,EAAE,EAAE,IAAI,CAAC;gBACjD,UAAU;gBACV,aAAa;gBACb,WAAWH;gBACX,OAAO;oBACL,SAAS;wBAAC;wBAAG;wBAAG;wBAAG;qBAAE;gBACvB;YACF;QACF;QAEA,OAAO;YACL,GAAGxB,MAAM;YACT,YAAYW;QACd;IACF;AAEK,MAAMiB,uBAA2C,CAAC9B;IACvD,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF;AAEO,MAAM6B,uBAA2C,CAAC/B;IACvD,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF"}
@@ -1,15 +1,24 @@
1
+ import { FoldYMeasureId } from "../../../../../dataReshape/constant.js";
1
2
  const pivotRowDimensions = (spec, context)=>{
2
3
  const result = {
3
4
  ...spec
4
5
  };
5
6
  const { advancedVSeed } = context;
6
7
  const dimensions = advancedVSeed.dimensions;
8
+ const measures = advancedVSeed.measures ?? [];
7
9
  if (!dimensions) return result;
8
10
  const rowDimensions = dimensions.filter((dim)=>'row' === dim.encoding);
9
- const rows = rowDimensions.map((dim)=>({
11
+ const rows = rowDimensions.map((dim)=>{
12
+ const baseConfig = {
10
13
  dimensionKey: dim.id,
11
- title: dim.alias || dim.id
12
- }));
14
+ title: dim.alias ?? dim.id
15
+ };
16
+ if (dim.id === FoldYMeasureId) baseConfig.headerFormat = (title)=>{
17
+ const measure = measures.find((m)=>m.id === title);
18
+ return measure ? measure.alias ?? measure.id : title;
19
+ };
20
+ return baseConfig;
21
+ });
13
22
  return {
14
23
  ...result,
15
24
  rows: rows
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { Dimensions, PivotChartSpecPipe } from 'src/types'\n\nexport const pivotRowDimensions: PivotChartSpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n if (!dimensions) {\n return result\n }\n const rowDimensions = dimensions.filter((dim) => dim.encoding === 'row')\n const rows = rowDimensions.map((dim) => ({\n dimensionKey: dim.id,\n title: dim.alias || dim.id,\n }))\n return {\n ...result,\n rows: rows,\n } as Partial<PivotChartConstructorOptions>\n}\n"],"names":["pivotRowDimensions","spec","context","result","advancedVSeed","dimensions","rowDimensions","dim","rows"],"mappings":"AAGO,MAAMA,qBAAyC,CAACC,MAAMC;IAC3D,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAMG,aAAaD,cAAc,UAAU;IAC3C,IAAI,CAACC,YACH,OAAOF;IAET,MAAMG,gBAAgBD,WAAW,MAAM,CAAC,CAACE,MAAQA,AAAiB,UAAjBA,IAAI,QAAQ;IAC7D,MAAMC,OAAOF,cAAc,GAAG,CAAC,CAACC,MAAS;YACvC,cAAcA,IAAI,EAAE;YACpB,OAAOA,IAAI,KAAK,IAAIA,IAAI,EAAE;QAC5B;IACA,OAAO;QACL,GAAGJ,MAAM;QACT,MAAMK;IACR;AACF"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { FoldYMeasureId } from 'src/dataReshape/constant'\nimport type { Dimensions, PivotChartSpecPipe } from 'src/types'\n\nexport const pivotRowDimensions: PivotChartSpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n const measures = advancedVSeed.measures ?? []\n if (!dimensions) {\n return result\n }\n const rowDimensions = dimensions.filter((dim) => dim.encoding === 'row')\n const rows = rowDimensions.map((dim) => {\n const baseConfig: any = {\n dimensionKey: dim.id,\n title: dim.alias ?? dim.id,\n }\n\n if (dim.id === FoldYMeasureId) {\n baseConfig.headerFormat = (title: string) => {\n const measure = measures.find((m) => m.id === title)\n\n return measure ? (measure.alias ?? measure.id) : title\n }\n }\n\n return baseConfig\n }) as unknown\n return {\n ...result,\n rows: rows,\n } as Partial<PivotChartConstructorOptions>\n}\n"],"names":["pivotRowDimensions","spec","context","result","advancedVSeed","dimensions","measures","rowDimensions","dim","rows","baseConfig","FoldYMeasureId","title","measure","m"],"mappings":";AAIO,MAAMA,qBAAyC,CAACC,MAAMC;IAC3D,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAMG,aAAaD,cAAc,UAAU;IAC3C,MAAME,WAAWF,cAAc,QAAQ,IAAI,EAAE;IAC7C,IAAI,CAACC,YACH,OAAOF;IAET,MAAMI,gBAAgBF,WAAW,MAAM,CAAC,CAACG,MAAQA,AAAiB,UAAjBA,IAAI,QAAQ;IAC7D,MAAMC,OAAOF,cAAc,GAAG,CAAC,CAACC;QAC9B,MAAME,aAAkB;YACtB,cAAcF,IAAI,EAAE;YACpB,OAAOA,IAAI,KAAK,IAAIA,IAAI,EAAE;QAC5B;QAEA,IAAIA,IAAI,EAAE,KAAKG,gBACbD,WAAW,YAAY,GAAG,CAACE;YACzB,MAAMC,UAAUP,SAAS,IAAI,CAAC,CAACQ,IAAMA,EAAE,EAAE,KAAKF;YAE9C,OAAOC,UAAWA,QAAQ,KAAK,IAAIA,QAAQ,EAAE,GAAID;QACnD;QAGF,OAAOF;IACT;IACA,OAAO;QACL,GAAGP,MAAM;QACT,MAAMM;IACR;AACF"}
@@ -1,3 +1,4 @@
1
+ import { FoldXMeasureId } from "../../../../../dataReshape/index.js";
1
2
  const pivotTitle = (spec, context)=>{
2
3
  const result = {
3
4
  ...spec
@@ -5,8 +6,9 @@ const pivotTitle = (spec, context)=>{
5
6
  const { advancedVSeed } = context;
6
7
  const { config, chartType } = advancedVSeed;
7
8
  const themConfig = config?.[chartType]?.pivotGrid ?? {};
8
- if (result.columns && result.columns.length > 0) result.title = {
9
- text: spec.columns.map((entry)=>entry.title).join('/'),
9
+ const columns = result.columns?.filter((c)=>c.dimensionKey !== FoldXMeasureId);
10
+ if (columns && columns.length > 0) result.title = {
11
+ text: columns.map((entry)=>entry.title).join('/'),
10
12
  align: 'center',
11
13
  orient: 'top',
12
14
  padding: [
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotTitle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotTitle.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { Config, PivotChartSpecPipe } from 'src/types'\n\nexport const pivotTitle: PivotChartSpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n if (result.columns && result.columns.length > 0) {\n result.title = {\n text: (spec as unknown as { columns: { title: string }[] }).columns.map((entry) => entry.title).join('/'),\n align: 'center',\n orient: 'top',\n padding: [2, 0, 0, 0],\n textStyle: {\n fontSize: themConfig.titleFontSize ?? 12,\n fill: themConfig.titleFontColor ?? '#000',\n fontWeight: themConfig.titleFontWeight ?? 'bold',\n },\n }\n }\n\n return result\n}\n"],"names":["pivotTitle","spec","context","result","advancedVSeed","config","chartType","themConfig","entry"],"mappings":"AAGO,MAAMA,aAAiC,CAACC,MAAMC;IACnD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,MAAM,EAAEC,SAAS,EAAE,GAAGF;IAC9B,MAAMG,aAAcF,QAAQ,CAACC,UAAU,EAAqB,aAAa,CAAC;IAE1E,IAAIH,OAAO,OAAO,IAAIA,OAAO,OAAO,CAAC,MAAM,GAAG,GAC5CA,OAAO,KAAK,GAAG;QACb,MAAOF,KAAqD,OAAO,CAAC,GAAG,CAAC,CAACO,QAAUA,MAAM,KAAK,EAAE,IAAI,CAAC;QACrG,OAAO;QACP,QAAQ;QACR,SAAS;YAAC;YAAG;YAAG;YAAG;SAAE;QACrB,WAAW;YACT,UAAUD,WAAW,aAAa,IAAI;YACtC,MAAMA,WAAW,cAAc,IAAI;YACnC,YAAYA,WAAW,eAAe,IAAI;QAC5C;IACF;IAGF,OAAOJ;AACT"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotTitle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotTitle.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { FoldXMeasureId } from 'src/dataReshape'\nimport type { Config, PivotChartSpecPipe } from 'src/types'\n\nexport const pivotTitle: PivotChartSpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n const columns = result.columns?.filter((c) => (c as any).dimensionKey !== FoldXMeasureId)\n\n if (columns && columns.length > 0) {\n result.title = {\n text: columns.map((entry: any) => entry.title).join('/'),\n align: 'center',\n orient: 'top',\n padding: [2, 0, 0, 0],\n textStyle: {\n fontSize: themConfig.titleFontSize ?? 12,\n fill: themConfig.titleFontColor ?? '#000',\n fontWeight: themConfig.titleFontWeight ?? 'bold',\n },\n }\n }\n\n return result\n}\n"],"names":["pivotTitle","spec","context","result","advancedVSeed","config","chartType","themConfig","columns","c","FoldXMeasureId","entry"],"mappings":";AAIO,MAAMA,aAAiC,CAACC,MAAMC;IACnD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,MAAM,EAAEC,SAAS,EAAE,GAAGF;IAC9B,MAAMG,aAAcF,QAAQ,CAACC,UAAU,EAAqB,aAAa,CAAC;IAC1E,MAAME,UAAUL,OAAO,OAAO,EAAE,OAAO,CAACM,IAAOA,EAAU,YAAY,KAAKC;IAE1E,IAAIF,WAAWA,QAAQ,MAAM,GAAG,GAC9BL,OAAO,KAAK,GAAG;QACb,MAAMK,QAAQ,GAAG,CAAC,CAACG,QAAeA,MAAM,KAAK,EAAE,IAAI,CAAC;QACpD,OAAO;QACP,QAAQ;QACR,SAAS;YAAC;YAAG;YAAG;YAAG;SAAE;QACrB,WAAW;YACT,UAAUJ,WAAW,aAAa,IAAI;YACtC,MAAMA,WAAW,cAAc,IAAI;YACnC,YAAYA,WAAW,eAAe,IAAI;QAC5C;IACF;IAGF,OAAOJ;AACT"}
@@ -1,6 +1,6 @@
1
1
  import type { Dimensions, FoldInfo, Measures, VChartSpecPipe, UnfoldInfo } from '../../../../../types';
2
2
  export declare const tooltip: VChartSpecPipe;
3
- export declare const createDimensionContent: (dimensions: Dimensions | undefined, measures: Measures | undefined, foldInfo: FoldInfo, unfoldInfo: UnfoldInfo) => {
3
+ export declare const createDimensionContent: (tooltip: string[], measures: Measures | undefined, foldInfo: FoldInfo, unfoldInfo: UnfoldInfo, hasMultiMeasureGroup: boolean) => {
4
4
  visible: boolean;
5
5
  shapeType: string;
6
6
  hasShape: boolean;
@@ -8,7 +8,7 @@ const tooltip_tooltip = (spec, context)=>{
8
8
  ...spec
9
9
  };
10
10
  const { advancedVSeed, vseed } = context;
11
- const { measures = [], datasetReshapeInfo, chartType, dimensions = [], encoding } = advancedVSeed;
11
+ const { measures = [], datasetReshapeInfo, chartType, dimensions = [], encoding, reshapeMeasures = [] } = advancedVSeed;
12
12
  const baseConfig = advancedVSeed.config[chartType];
13
13
  const { tooltip = {
14
14
  enable: true
@@ -28,28 +28,34 @@ const tooltip_tooltip = (spec, context)=>{
28
28
  title: {
29
29
  visible: true
30
30
  },
31
- content: createDimensionContent(dimensions, measures, foldInfo, unfoldInfo)
31
+ content: createDimensionContent(encoding.tooltip || [], measures, foldInfo, unfoldInfo, reshapeMeasures.length > 1)
32
32
  },
33
33
  updateElement: updateTooltipElement
34
34
  };
35
35
  return result;
36
36
  };
37
- const createDimensionContent = (dimensions = [], measures = [], foldInfo, unfoldInfo)=>{
37
+ const createDimensionContent = (tooltip, measures = [], foldInfo, unfoldInfo, hasMultiMeasureGroup)=>{
38
38
  const { measureId, measureValue, foldMap } = foldInfo;
39
39
  const { encodingColor } = unfoldInfo;
40
+ const hasMeasureTooltip = tooltip.some((d)=>measures.find((item)=>item.id === d));
40
41
  return [
41
42
  {
42
43
  visible: true,
43
44
  shapeType: 'rectRound',
44
45
  hasShape: true,
45
- key: dimensions.some((d)=>'color' === d.encoding) ? (v)=>{
46
- const datum = v;
47
- const key = datum && datum[encodingColor] || '';
48
- return unfoldInfo.colorIdMap[key].alias ?? key;
49
- } : (v)=>{
46
+ key: hasMeasureTooltip ? (v)=>{
50
47
  const datum = v;
51
48
  const key = datum && datum[measureId] || '';
52
49
  return foldMap[key] ?? key;
50
+ } : (v)=>{
51
+ const datum = v;
52
+ const key = datum && datum[encodingColor] || '';
53
+ const colorKey = `${unfoldInfo.colorIdMap[key].alias ?? key}`;
54
+ if (hasMultiMeasureGroup) {
55
+ const mId = datum && datum[measureId] || '';
56
+ return `${colorKey}-${foldMap[mId] ?? mId}`;
57
+ }
58
+ return colorKey;
53
59
  },
54
60
  value: (v)=>{
55
61
  const datum = v;