@visactor/vseed 0.2.9 → 0.3.0

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 (396) 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 +154 -118
  4. package/dist/esm/pipeline/advanced/chart/pipeline/area.js +9 -8
  5. package/dist/esm/pipeline/advanced/chart/pipeline/area.js.map +1 -1
  6. package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js +9 -8
  7. package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js.map +1 -1
  8. package/dist/esm/pipeline/advanced/chart/pipeline/bar.js +9 -8
  9. package/dist/esm/pipeline/advanced/chart/pipeline/bar.js.map +1 -1
  10. package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js +9 -8
  11. package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js.map +1 -1
  12. package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js +9 -8
  13. package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js.map +1 -1
  14. package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js +19 -8
  15. package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js.map +1 -1
  16. package/dist/esm/pipeline/advanced/chart/pipeline/column.js +9 -8
  17. package/dist/esm/pipeline/advanced/chart/pipeline/column.js.map +1 -1
  18. package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js +9 -8
  19. package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js.map +1 -1
  20. package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js +9 -8
  21. package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js.map +1 -1
  22. package/dist/esm/pipeline/advanced/chart/pipeline/donut.js +9 -8
  23. package/dist/esm/pipeline/advanced/chart/pipeline/donut.js.map +1 -1
  24. package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js +1 -6
  25. package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js.map +1 -1
  26. package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js +9 -8
  27. package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js.map +1 -1
  28. package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js +9 -7
  29. package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js.map +1 -1
  30. package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js +15 -8
  31. package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js.map +1 -1
  32. package/dist/esm/pipeline/advanced/chart/pipeline/line.js +9 -8
  33. package/dist/esm/pipeline/advanced/chart/pipeline/line.js.map +1 -1
  34. package/dist/esm/pipeline/advanced/chart/pipeline/pie.js +9 -8
  35. package/dist/esm/pipeline/advanced/chart/pipeline/pie.js.map +1 -1
  36. package/dist/esm/pipeline/advanced/chart/pipeline/radar.js +9 -8
  37. package/dist/esm/pipeline/advanced/chart/pipeline/radar.js.map +1 -1
  38. package/dist/esm/pipeline/advanced/chart/pipeline/rose.js +9 -8
  39. package/dist/esm/pipeline/advanced/chart/pipeline/rose.js.map +1 -1
  40. package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js +9 -8
  41. package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js.map +1 -1
  42. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js +1 -6
  43. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js.map +1 -1
  44. package/dist/esm/pipeline/advanced/chart/pipes/config/dualAxis.js +0 -1
  45. package/dist/esm/pipeline/advanced/chart/pipes/config/dualAxis.js.map +1 -1
  46. package/dist/esm/pipeline/advanced/chart/pipes/default/defaultDimensions.js +1 -2
  47. package/dist/esm/pipeline/advanced/chart/pipes/default/defaultDimensions.js.map +1 -1
  48. package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasures.js +2 -4
  49. package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasures.js.map +1 -1
  50. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/pickDimensionsForReshape.js +4 -4
  51. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/pickDimensionsForReshape.js.map +1 -1
  52. package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js +5 -7
  53. package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js.map +1 -1
  54. package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js +5 -7
  55. package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js.map +1 -1
  56. package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js +5 -7
  57. package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js.map +1 -1
  58. package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js +5 -15
  59. package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js.map +1 -1
  60. package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js +5 -7
  61. package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js.map +1 -1
  62. package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js +4 -6
  63. package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js.map +1 -1
  64. package/dist/esm/pipeline/advanced/chart/pipes/encoding/histogram.js +2 -5
  65. package/dist/esm/pipeline/advanced/chart/pipes/encoding/histogram.js.map +1 -1
  66. package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js +7 -14
  67. package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js.map +1 -1
  68. package/dist/esm/pipeline/advanced/chart/pipes/encoding/pie.js +5 -7
  69. package/dist/esm/pipeline/advanced/chart/pipes/encoding/pie.js.map +1 -1
  70. package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js +5 -7
  71. package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js.map +1 -1
  72. package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js +5 -7
  73. package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js.map +1 -1
  74. package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js +2 -5
  75. package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js.map +1 -1
  76. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasures.d.ts +1 -1
  77. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasures.js +19 -50
  78. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasures.js.map +1 -1
  79. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.js +25 -118
  80. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.js.map +1 -1
  81. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js +30 -115
  82. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js.map +1 -1
  83. package/dist/esm/pipeline/advanced/chart/pipes/measures/index.d.ts +0 -1
  84. package/dist/esm/pipeline/advanced/chart/pipes/measures/index.js +1 -2
  85. package/dist/esm/pipeline/advanced/chart/pipes/measures/utils.d.ts +12 -1
  86. package/dist/esm/pipeline/advanced/chart/pipes/measures/utils.js +12 -1
  87. package/dist/esm/pipeline/advanced/chart/pipes/measures/utils.js.map +1 -1
  88. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js +6 -12
  89. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js.map +1 -1
  90. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js +25 -28
  91. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js.map +1 -1
  92. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js +6 -11
  93. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js.map +1 -1
  94. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js +4 -8
  95. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js.map +1 -1
  96. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js +23 -35
  97. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js.map +1 -1
  98. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js +3 -8
  99. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js.map +1 -1
  100. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js +21 -17
  101. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js.map +1 -1
  102. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js +1 -2
  103. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js.map +1 -1
  104. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js +4 -9
  105. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js.map +1 -1
  106. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js +22 -27
  107. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js.map +1 -1
  108. package/dist/esm/pipeline/advanced/table/pipes/default/defaultDimensions.js +3 -3
  109. package/dist/esm/pipeline/advanced/table/pipes/default/defaultDimensions.js.map +1 -1
  110. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureId.js +3 -2
  111. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureId.js.map +1 -1
  112. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasures.js +2 -2
  113. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasures.js.map +1 -1
  114. package/dist/esm/pipeline/advanced/table/pipes/encoding/pivotTable.js +5 -5
  115. package/dist/esm/pipeline/advanced/table/pipes/encoding/pivotTable.js.map +1 -1
  116. package/dist/esm/pipeline/advanced/table/pipes/reshape/reshapePivotTable.js +3 -5
  117. package/dist/esm/pipeline/advanced/table/pipes/reshape/reshapePivotTable.js.map +1 -1
  118. package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js +17 -45
  119. package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js.map +1 -1
  120. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointOfDualAxis.js +3 -3
  121. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointOfDualAxis.js.map +1 -1
  122. package/dist/esm/pipeline/spec/chart/pipes/axes/histogramXLinear.js +1 -1
  123. package/dist/esm/pipeline/spec/chart/pipes/axes/histogramXLinear.js.map +1 -1
  124. package/dist/esm/pipeline/spec/chart/pipes/axes/title/defaultTitleText.d.ts +2 -2
  125. package/dist/esm/pipeline/spec/chart/pipes/axes/title/defaultTitleText.js +2 -6
  126. package/dist/esm/pipeline/spec/chart/pipes/axes/title/defaultTitleText.js.map +1 -1
  127. package/dist/esm/pipeline/spec/chart/pipes/axes/xBand.js +1 -1
  128. package/dist/esm/pipeline/spec/chart/pipes/axes/xBand.js.map +1 -1
  129. package/dist/esm/pipeline/spec/chart/pipes/axes/xLinear.js +1 -1
  130. package/dist/esm/pipeline/spec/chart/pipes/axes/xLinear.js.map +1 -1
  131. package/dist/esm/pipeline/spec/chart/pipes/axes/yBand.js +1 -1
  132. package/dist/esm/pipeline/spec/chart/pipes/axes/yBand.js.map +1 -1
  133. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.js +1 -1
  134. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.js.map +1 -1
  135. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.js +16 -13
  136. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.js.map +1 -1
  137. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.js +10 -13
  138. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.js.map +1 -1
  139. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js +1 -3
  140. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js.map +1 -1
  141. package/dist/esm/pipeline/spec/chart/pipes/color/linearColorForDualAxis.js +4 -12
  142. package/dist/esm/pipeline/spec/chart/pipes/color/linearColorForDualAxis.js.map +1 -1
  143. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetDualAxis.d.ts +2 -3
  144. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetDualAxis.js +38 -78
  145. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetDualAxis.js.map +1 -1
  146. package/dist/esm/pipeline/spec/chart/pipes/dataset/index.d.ts +1 -1
  147. package/dist/esm/pipeline/spec/chart/pipes/dataset/index.js +2 -2
  148. package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.d.ts +2 -2
  149. package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.js +16 -75
  150. package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.js.map +1 -1
  151. package/dist/esm/pipeline/spec/chart/pipes/dual/index.d.ts +1 -1
  152. package/dist/esm/pipeline/spec/chart/pipes/dual/index.js +2 -2
  153. package/dist/esm/pipeline/spec/chart/pipes/init/dualAxis.d.ts +2 -3
  154. package/dist/esm/pipeline/spec/chart/pipes/init/dualAxis.js +16 -32
  155. package/dist/esm/pipeline/spec/chart/pipes/init/dualAxis.js.map +1 -1
  156. package/dist/esm/pipeline/spec/chart/pipes/init/index.d.ts +1 -1
  157. package/dist/esm/pipeline/spec/chart/pipes/init/index.js +2 -2
  158. package/dist/esm/pipeline/spec/chart/pipes/label/index.d.ts +1 -1
  159. package/dist/esm/pipeline/spec/chart/pipes/label/index.js +2 -2
  160. package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
  161. package/dist/esm/pipeline/spec/chart/pipes/label/labelBoxPlot.js.map +1 -1
  162. package/dist/esm/pipeline/spec/chart/pipes/label/labelDualAxis.d.ts +2 -3
  163. package/dist/esm/pipeline/spec/chart/pipes/label/labelDualAxis.js +14 -30
  164. package/dist/esm/pipeline/spec/chart/pipes/label/labelDualAxis.js.map +1 -1
  165. package/dist/esm/pipeline/spec/chart/pipes/label/labelPie.js.map +1 -1
  166. package/dist/esm/pipeline/spec/chart/pipes/label/labelScatter.js.map +1 -1
  167. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js +5 -5
  168. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js.map +1 -1
  169. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js +1 -1
  170. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js.map +1 -1
  171. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js +1 -1
  172. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js.map +1 -1
  173. package/dist/esm/pipeline/spec/chart/pipes/series/series.d.ts +3 -3
  174. package/dist/esm/pipeline/spec/chart/pipes/series/series.js +45 -17
  175. package/dist/esm/pipeline/spec/chart/pipes/series/series.js.map +1 -1
  176. package/dist/esm/pipeline/spec/chart/pipes/tooltip/index.d.ts +1 -1
  177. package/dist/esm/pipeline/spec/chart/pipes/tooltip/index.js +2 -2
  178. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.d.ts +2 -2
  179. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js +5 -5
  180. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js.map +1 -1
  181. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js +3 -3
  182. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js.map +1 -1
  183. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.d.ts +2 -3
  184. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js +28 -62
  185. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js.map +1 -1
  186. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.d.ts +1 -1
  187. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.js +4 -4
  188. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.js.map +1 -1
  189. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js +1 -1
  190. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js.map +1 -1
  191. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.d.ts +1 -1
  192. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js +4 -4
  193. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js.map +1 -1
  194. package/dist/esm/pipeline/spec/table/pipes/columns/dimensionsToColumns.js +2 -2
  195. package/dist/esm/pipeline/spec/table/pipes/columns/dimensionsToColumns.js.map +1 -1
  196. package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.js +2 -2
  197. package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.js.map +1 -1
  198. package/dist/esm/pipeline/spec/table/pipes/columns/pivotColumns.js +1 -1
  199. package/dist/esm/pipeline/spec/table/pipes/columns/pivotColumns.js.map +1 -1
  200. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js +1 -1
  201. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js.map +1 -1
  202. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js +4 -4
  203. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js.map +1 -1
  204. package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.js +3 -3
  205. package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.js.map +1 -1
  206. package/dist/esm/pipeline/utils/chatType.d.ts +9 -0
  207. package/dist/esm/pipeline/utils/chatType.js +33 -21
  208. package/dist/esm/pipeline/utils/chatType.js.map +1 -1
  209. package/dist/esm/pipeline/utils/measures/find.d.ts +2 -1
  210. package/dist/esm/pipeline/utils/measures/find.js +3 -13
  211. package/dist/esm/pipeline/utils/measures/find.js.map +1 -1
  212. package/dist/esm/theme/dark/dark.js +0 -4
  213. package/dist/esm/theme/dark/dark.js.map +1 -1
  214. package/dist/esm/theme/light/light.js +0 -4
  215. package/dist/esm/theme/light/light.js.map +1 -1
  216. package/dist/esm/types/advancedVSeed.d.ts +137 -68
  217. package/dist/esm/types/advancedVSeed.js +8 -6
  218. package/dist/esm/types/advancedVSeed.js.map +1 -1
  219. package/dist/esm/types/chartType/area/area.d.ts +3 -5
  220. package/dist/esm/types/chartType/area/zArea.d.ts +11 -2
  221. package/dist/esm/types/chartType/area/zArea.js +2 -2
  222. package/dist/esm/types/chartType/area/zArea.js.map +1 -1
  223. package/dist/esm/types/chartType/areaPercent/areaPercent.d.ts +3 -5
  224. package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +11 -2
  225. package/dist/esm/types/chartType/areaPercent/zAreaPercent.js +2 -2
  226. package/dist/esm/types/chartType/areaPercent/zAreaPercent.js.map +1 -1
  227. package/dist/esm/types/chartType/bar/bar.d.ts +4 -6
  228. package/dist/esm/types/chartType/bar/zBar.d.ts +11 -2
  229. package/dist/esm/types/chartType/bar/zBar.js +2 -2
  230. package/dist/esm/types/chartType/bar/zBar.js.map +1 -1
  231. package/dist/esm/types/chartType/barParallel/barParallel.d.ts +3 -5
  232. package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +11 -2
  233. package/dist/esm/types/chartType/barParallel/zBarParallel.js +2 -2
  234. package/dist/esm/types/chartType/barParallel/zBarParallel.js.map +1 -1
  235. package/dist/esm/types/chartType/barPercent/barPercent.d.ts +3 -3
  236. package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +11 -2
  237. package/dist/esm/types/chartType/barPercent/zBarPercent.js +2 -2
  238. package/dist/esm/types/chartType/barPercent/zBarPercent.js.map +1 -1
  239. package/dist/esm/types/chartType/boxPlot/boxPlot.d.ts +3 -5
  240. package/dist/esm/types/chartType/boxPlot/zBoxPlot.d.ts +11 -2
  241. package/dist/esm/types/chartType/boxPlot/zBoxPlot.js +2 -2
  242. package/dist/esm/types/chartType/boxPlot/zBoxPlot.js.map +1 -1
  243. package/dist/esm/types/chartType/column/column.d.ts +3 -5
  244. package/dist/esm/types/chartType/column/zColumn.d.ts +11 -2
  245. package/dist/esm/types/chartType/column/zColumn.js +2 -2
  246. package/dist/esm/types/chartType/column/zColumn.js.map +1 -1
  247. package/dist/esm/types/chartType/columnParallel/columnParallel.d.ts +4 -6
  248. package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +11 -2
  249. package/dist/esm/types/chartType/columnParallel/zColumnParallel.js +2 -2
  250. package/dist/esm/types/chartType/columnParallel/zColumnParallel.js.map +1 -1
  251. package/dist/esm/types/chartType/columnPercent/columnPercent.d.ts +3 -5
  252. package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +11 -2
  253. package/dist/esm/types/chartType/columnPercent/zColumnPercent.js +2 -2
  254. package/dist/esm/types/chartType/columnPercent/zColumnPercent.js.map +1 -1
  255. package/dist/esm/types/chartType/donut/donut.d.ts +3 -5
  256. package/dist/esm/types/chartType/donut/zDonut.d.ts +11 -2
  257. package/dist/esm/types/chartType/donut/zDonut.js +2 -2
  258. package/dist/esm/types/chartType/donut/zDonut.js.map +1 -1
  259. package/dist/esm/types/chartType/dualAxis/dualAxis.d.ts +7 -88
  260. package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +9 -358
  261. package/dist/esm/types/chartType/dualAxis/zDualAxis.js +2 -4
  262. package/dist/esm/types/chartType/dualAxis/zDualAxis.js.map +1 -1
  263. package/dist/esm/types/chartType/funnel/funnel.d.ts +3 -5
  264. package/dist/esm/types/chartType/funnel/zFunnel.d.ts +11 -2
  265. package/dist/esm/types/chartType/funnel/zFunnel.js +2 -2
  266. package/dist/esm/types/chartType/funnel/zFunnel.js.map +1 -1
  267. package/dist/esm/types/chartType/heatmap/heatmap.d.ts +4 -6
  268. package/dist/esm/types/chartType/heatmap/zHeatmap.d.ts +11 -2
  269. package/dist/esm/types/chartType/heatmap/zHeatmap.js +2 -2
  270. package/dist/esm/types/chartType/heatmap/zHeatmap.js.map +1 -1
  271. package/dist/esm/types/chartType/histogram/histogram.d.ts +3 -5
  272. package/dist/esm/types/chartType/histogram/zHistogram.d.ts +11 -2
  273. package/dist/esm/types/chartType/histogram/zHistogram.js +2 -2
  274. package/dist/esm/types/chartType/histogram/zHistogram.js.map +1 -1
  275. package/dist/esm/types/chartType/line/line.d.ts +3 -4
  276. package/dist/esm/types/chartType/line/zLine.d.ts +11 -2
  277. package/dist/esm/types/chartType/line/zLine.js +2 -2
  278. package/dist/esm/types/chartType/line/zLine.js.map +1 -1
  279. package/dist/esm/types/chartType/pie/pie.d.ts +3 -5
  280. package/dist/esm/types/chartType/pie/zPie.d.ts +11 -2
  281. package/dist/esm/types/chartType/pie/zPie.js +2 -2
  282. package/dist/esm/types/chartType/pie/zPie.js.map +1 -1
  283. package/dist/esm/types/chartType/pivotTable/pivotTable.d.ts +4 -4
  284. package/dist/esm/types/chartType/pivotTable/zPivotTable.d.ts +9 -0
  285. package/dist/esm/types/chartType/radar/radar.d.ts +4 -6
  286. package/dist/esm/types/chartType/radar/zRadar.d.ts +11 -2
  287. package/dist/esm/types/chartType/radar/zRadar.js +2 -2
  288. package/dist/esm/types/chartType/radar/zRadar.js.map +1 -1
  289. package/dist/esm/types/chartType/rose/rose.d.ts +4 -6
  290. package/dist/esm/types/chartType/rose/zRose.d.ts +11 -2
  291. package/dist/esm/types/chartType/rose/zRose.js +2 -2
  292. package/dist/esm/types/chartType/rose/zRose.js.map +1 -1
  293. package/dist/esm/types/chartType/roseParallel/roseParallel.d.ts +4 -6
  294. package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +11 -2
  295. package/dist/esm/types/chartType/roseParallel/zRoseParallel.js +2 -2
  296. package/dist/esm/types/chartType/roseParallel/zRoseParallel.js.map +1 -1
  297. package/dist/esm/types/chartType/scatter/scatter.d.ts +5 -75
  298. package/dist/esm/types/chartType/scatter/zScatter.d.ts +10 -310
  299. package/dist/esm/types/chartType/scatter/zScatter.js +2 -3
  300. package/dist/esm/types/chartType/scatter/zScatter.js.map +1 -1
  301. package/dist/esm/types/chartType/table/zTable.d.ts +9 -0
  302. package/dist/esm/types/properties/chartType/index.d.ts +0 -2
  303. package/dist/esm/types/properties/chartType/index.js +1 -2
  304. package/dist/esm/types/properties/config/config.d.ts +0 -31
  305. package/dist/esm/types/properties/config/dualAxis.d.ts +7 -31
  306. package/dist/esm/types/properties/config/dualAxis.js +0 -2
  307. package/dist/esm/types/properties/config/dualAxis.js.map +1 -1
  308. package/dist/esm/types/properties/dimensions/areaDimension.d.ts +3 -0
  309. package/dist/esm/types/properties/dimensions/barDimension.d.ts +16 -0
  310. package/dist/esm/types/properties/dimensions/{dimensions.d.ts → baseDimension.d.ts} +13 -14
  311. package/dist/esm/types/properties/dimensions/boxPlotDimension.d.ts +13 -0
  312. package/dist/esm/types/properties/dimensions/columnDimension.d.ts +19 -0
  313. package/dist/esm/types/properties/dimensions/columnDimension.js +0 -0
  314. package/dist/esm/types/properties/dimensions/donutDimension.d.ts +2 -0
  315. package/dist/esm/types/properties/dimensions/donutDimension.js +0 -0
  316. package/dist/esm/types/properties/dimensions/dualAxisDimension.d.ts +2 -0
  317. package/dist/esm/types/properties/dimensions/dualAxisDimension.js +0 -0
  318. package/dist/esm/types/properties/dimensions/funnelDimension.d.ts +2 -0
  319. package/dist/esm/types/properties/dimensions/funnelDimension.js +0 -0
  320. package/dist/esm/types/properties/dimensions/heatmapDimension.d.ts +13 -0
  321. package/dist/esm/types/properties/dimensions/heatmapDimension.js +0 -0
  322. package/dist/esm/types/properties/dimensions/histogramDimension.d.ts +13 -0
  323. package/dist/esm/types/properties/dimensions/histogramDimension.js +0 -0
  324. package/dist/esm/types/properties/dimensions/index.d.ts +16 -1
  325. package/dist/esm/types/properties/dimensions/lineDimension.d.ts +2 -0
  326. package/dist/esm/types/properties/dimensions/lineDimension.js +0 -0
  327. package/dist/esm/types/properties/dimensions/pieDimension.d.ts +13 -0
  328. package/dist/esm/types/properties/dimensions/pieDimension.js +0 -0
  329. package/dist/esm/types/properties/dimensions/radarDimension.d.ts +14 -0
  330. package/dist/esm/types/properties/dimensions/radarDimension.js +0 -0
  331. package/dist/esm/types/properties/dimensions/roseDimension.d.ts +3 -0
  332. package/dist/esm/types/properties/dimensions/roseDimension.js +0 -0
  333. package/dist/esm/types/properties/dimensions/scatterDimension.d.ts +13 -0
  334. package/dist/esm/types/properties/dimensions/scatterDimension.js +0 -0
  335. package/dist/esm/types/properties/dimensions/tableDimension.d.ts +18 -0
  336. package/dist/esm/types/properties/dimensions/tableDimension.js +0 -0
  337. package/dist/esm/types/properties/dimensions/zDimensions.d.ts +1 -1
  338. package/dist/esm/types/properties/dimensions/zDimensions.js.map +1 -1
  339. package/dist/esm/types/properties/measures/areaMeasure.d.ts +2 -0
  340. package/dist/esm/types/properties/measures/areaMeasure.js +0 -0
  341. package/dist/esm/types/properties/measures/barMeasure.d.ts +14 -0
  342. package/dist/esm/types/properties/measures/barMeasure.js +0 -0
  343. package/dist/esm/types/properties/measures/{measures.d.ts → baseMeasure.d.ts} +29 -13
  344. package/dist/esm/types/properties/measures/baseMeasure.js +0 -0
  345. package/dist/esm/types/properties/measures/boxPlotMeasure.d.ts +18 -0
  346. package/dist/esm/types/properties/measures/boxPlotMeasure.js +0 -0
  347. package/dist/esm/types/properties/measures/columnMeasure.d.ts +14 -0
  348. package/dist/esm/types/properties/measures/columnMeasure.js +0 -0
  349. package/dist/esm/types/properties/measures/dualAxisMeasure.d.ts +23 -0
  350. package/dist/esm/types/properties/measures/dualAxisMeasure.js +0 -0
  351. package/dist/esm/types/properties/measures/funnelMeasure.d.ts +11 -0
  352. package/dist/esm/types/properties/measures/funnelMeasure.js +0 -0
  353. package/dist/esm/types/properties/measures/heatmapMeasure.d.ts +10 -0
  354. package/dist/esm/types/properties/measures/heatmapMeasure.js +0 -0
  355. package/dist/esm/types/properties/measures/histogramMeasure.d.ts +13 -0
  356. package/dist/esm/types/properties/measures/histogramMeasure.js +0 -0
  357. package/dist/esm/types/properties/measures/index.d.ts +15 -4
  358. package/dist/esm/types/properties/measures/index.js +0 -1
  359. package/dist/esm/types/properties/measures/lineMeasure.d.ts +2 -0
  360. package/dist/esm/types/properties/measures/lineMeasure.js +0 -0
  361. package/dist/esm/types/properties/measures/measureTree.d.ts +17 -0
  362. package/dist/esm/types/properties/measures/measureTree.js +0 -0
  363. package/dist/esm/types/properties/measures/pieMeasure.d.ts +12 -0
  364. package/dist/esm/types/properties/measures/pieMeasure.js +0 -0
  365. package/dist/esm/types/properties/measures/radarMeasure.d.ts +13 -0
  366. package/dist/esm/types/properties/measures/radarMeasure.js +0 -0
  367. package/dist/esm/types/properties/measures/scatterMeasure.d.ts +13 -0
  368. package/dist/esm/types/properties/measures/scatterMeasure.js +0 -0
  369. package/dist/esm/types/properties/measures/tableMeasure.d.ts +8 -0
  370. package/dist/esm/types/properties/measures/tableMeasure.js +0 -0
  371. package/dist/esm/types/properties/measures/zDualMeasures.d.ts +154 -612
  372. package/dist/esm/types/properties/measures/zDualMeasures.js +15 -10
  373. package/dist/esm/types/properties/measures/zDualMeasures.js.map +1 -1
  374. package/dist/esm/types/properties/measures/zMeasures.d.ts +28 -1
  375. package/dist/esm/types/properties/measures/zMeasures.js +10 -1
  376. package/dist/esm/types/properties/measures/zMeasures.js.map +1 -1
  377. package/dist/esm/types/properties/theme/customTheme.d.ts +0 -62
  378. package/dist/esm/types/zVseed.d.ts +235 -704
  379. package/dist/umd/index.js +854 -1343
  380. package/dist/umd/index.js.map +1 -1
  381. package/package.json +2 -2
  382. package/dist/esm/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.d.ts +0 -2
  383. package/dist/esm/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.js +0 -14
  384. package/dist/esm/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.js.map +0 -1
  385. package/dist/esm/types/properties/chartType/dualChartType.d.ts +0 -18
  386. package/dist/esm/types/properties/chartType/dualChartType.js +0 -20
  387. package/dist/esm/types/properties/chartType/dualChartType.js.map +0 -1
  388. package/dist/esm/types/properties/measures/dualMeasures.d.ts +0 -7
  389. package/dist/esm/types/properties/measures/scatterMeasures.d.ts +0 -7
  390. package/dist/esm/types/properties/measures/zScatterMeasures.d.ts +0 -619
  391. package/dist/esm/types/properties/measures/zScatterMeasures.js +0 -17
  392. package/dist/esm/types/properties/measures/zScatterMeasures.js.map +0 -1
  393. /package/dist/esm/types/properties/dimensions/{dimensions.js → areaDimension.js} +0 -0
  394. /package/dist/esm/types/properties/{measures/dualMeasures.js → dimensions/barDimension.js} +0 -0
  395. /package/dist/esm/types/properties/{measures/measures.js → dimensions/baseDimension.js} +0 -0
  396. /package/dist/esm/types/properties/{measures/scatterMeasures.js → dimensions/boxPlotDimension.js} +0 -0
@@ -1,7 +1,7 @@
1
- import { uniqueBy } from "remeda";
1
+ import { unique, uniqueBy } from "remeda";
2
2
  import { FoldPrimaryMeasureValue, FoldSecondaryMeasureValue, dataReshapeByEncoding } from "../../../../../dataReshape/index.js";
3
+ import { DEFAULT_DUAL_CHART_TYPE } from "../../../../../index.js";
3
4
  import { getColorMeasureId } from "../../../../spec/chart/pipes/index.js";
4
- import { findAllMeasures, measureDepth } from "../../../../utils/index.js";
5
5
  const pivotReshapeWithDualEncoding = (advancedVSeed, context)=>{
6
6
  const result = {
7
7
  ...advancedVSeed
@@ -9,46 +9,43 @@ const pivotReshapeWithDualEncoding = (advancedVSeed, context)=>{
9
9
  const { vseed } = context;
10
10
  const { dataset } = vseed;
11
11
  const { encoding, chartType } = advancedVSeed;
12
- const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
12
+ const reshapeMeasures = advancedVSeed.reshapeMeasures ?? [];
13
13
  const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
14
- const allMeasures = findAllMeasures(measures);
14
+ const allMeasuresIds = reshapeMeasures.flatMap((measureGroup)=>measureGroup.map((m)=>m.id));
15
15
  const datasetList = [];
16
16
  const datasetReshapeInfo = [];
17
- const measureGroups = [];
18
- const depth = measureDepth(measures);
19
- if (3 === depth) measures.forEach((measure)=>{
20
- if (measure.children) measureGroups.push(measure.children);
21
- });
22
- else if (2 === depth) measureGroups.push(measures.filter((m)=>m && m.children));
23
- measureGroups.forEach((measures, index)=>{
24
- if (measures.length > 2) throw new Error('measures can not be more than 2 groups in dualAxis');
17
+ reshapeMeasures.forEach((measures, index)=>{
25
18
  const foldInfoList = [];
26
19
  const unfoldInfoList = [];
27
20
  const datasets = [];
28
- const primaryMeasures = measures[0];
29
- const secondaryMeasures = measures[1] || [];
30
- if (primaryMeasures && primaryMeasures.children) {
31
- const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, uniqueBy(dimensions, (item)=>item.id), uniqueBy(primaryMeasures.children, (item)=>item.id), encoding, {
21
+ const primaryMeasures = measures.filter((m)=>'primaryYAxis' === m.encoding);
22
+ const secondaryMeasures = measures.filter((m)=>'secondaryYAxis' === m.encoding);
23
+ const primaryChartTypes = unique(primaryMeasures.map((m)=>m.chartType));
24
+ const secondaryChartTypes = unique(secondaryMeasures.map((m)=>m.chartType));
25
+ if (!primaryChartTypes.length) primaryChartTypes.push(DEFAULT_DUAL_CHART_TYPE.primary);
26
+ if (!secondaryChartTypes.length) secondaryChartTypes.push(DEFAULT_DUAL_CHART_TYPE.secondary);
27
+ primaryChartTypes.forEach((chartType)=>{
28
+ const primaryResult = dataReshapeByEncoding(dataset, uniqueBy(dimensions, (item)=>item.id), uniqueBy(primaryMeasures.filter((m)=>m.chartType === chartType), (item)=>item.id), encoding, {
32
29
  colorItemAsId: false,
33
30
  foldMeasureValue: `${FoldPrimaryMeasureValue}${index}`,
34
31
  colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
35
- omitIds: allMeasures.map((item)=>item.id)
32
+ omitIds: allMeasuresIds
36
33
  });
37
- datasets.push(newDataset);
38
- foldInfoList.push(foldInfo);
39
- unfoldInfoList.push(unfoldInfo);
40
- }
41
- if (secondaryMeasures && secondaryMeasures.children) {
42
- const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, uniqueBy(dimensions, (item)=>item.id), uniqueBy(secondaryMeasures.children, (item)=>item.id), encoding, {
34
+ datasets.push(primaryResult.dataset);
35
+ foldInfoList.push(primaryResult.foldInfo);
36
+ unfoldInfoList.push(primaryResult.unfoldInfo);
37
+ });
38
+ secondaryChartTypes.forEach((chartType)=>{
39
+ const secondaryResult = dataReshapeByEncoding(dataset, uniqueBy(dimensions, (item)=>item.id), uniqueBy(secondaryMeasures.filter((m)=>m.chartType === chartType), (item)=>item.id), encoding, {
43
40
  colorItemAsId: false,
44
41
  foldMeasureValue: `${FoldSecondaryMeasureValue}${index}`,
45
42
  colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
46
- omitIds: allMeasures.map((item)=>item.id)
43
+ omitIds: allMeasuresIds
47
44
  });
48
- datasets.push(newDataset);
49
- foldInfoList.push(foldInfo);
50
- unfoldInfoList.push(unfoldInfo);
51
- }
45
+ datasets.push(secondaryResult.dataset);
46
+ foldInfoList.push(secondaryResult.foldInfo);
47
+ unfoldInfoList.push(secondaryResult.unfoldInfo);
48
+ });
52
49
  const unfoldInfo = {
53
50
  ...unfoldInfoList[0],
54
51
  colorItems: unfoldInfoList.flatMap((d)=>d.colorItems),
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.ts"],"sourcesContent":["import { uniqueBy } from 'remeda'\nimport { dataReshapeByEncoding, FoldPrimaryMeasureValue, FoldSecondaryMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport { findAllMeasures, measureDepth } from 'src/pipeline/utils'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Encoding,\n FoldInfo,\n Measure,\n MeasureGroup,\n UnfoldInfo,\n} from 'src/types'\n\nexport const pivotReshapeWithDualEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { encoding, chartType } = advancedVSeed\n const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n\n const allMeasures = findAllMeasures(measures)\n const datasetList: Dataset[] = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n const measureGroups: Array<MeasureGroup[]> = []\n\n const depth = measureDepth(measures)\n if (depth === 3) {\n measures.forEach((measure: MeasureGroup) => {\n if (measure.children) {\n measureGroups.push(measure.children as unknown as MeasureGroup[])\n }\n })\n } else if (depth === 2) {\n measureGroups.push(\n measures.filter((m: Measure | MeasureGroup) => m && (m as MeasureGroup).children) as unknown as MeasureGroup[],\n )\n }\n\n measureGroups.forEach((measures: MeasureGroup[], index) => {\n if (measures.length > 2) {\n throw new Error('measures can not be more than 2 groups in dualAxis')\n }\n\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const primaryMeasures = measures[0]\n const secondaryMeasures = measures[1] || []\n\n if (primaryMeasures && primaryMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item) => item.id),\n uniqueBy(primaryMeasures.children, (item) => item.id),\n encoding as Encoding,\n {\n colorItemAsId: false,\n foldMeasureValue: `${FoldPrimaryMeasureValue}${index}`,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n omitIds: allMeasures.map((item) => item.id),\n },\n )\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n if (secondaryMeasures && secondaryMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item) => item.id),\n uniqueBy(secondaryMeasures.children, (item) => item.id),\n encoding as Encoding,\n {\n colorItemAsId: false,\n foldMeasureValue: `${FoldSecondaryMeasureValue}${index}`,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n omitIds: allMeasures.map((item) => item.id),\n },\n )\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n const reshapeInfo = {\n id: `${chartType}-${index}`,\n index,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n }\n\n datasetReshapeInfo.push(reshapeInfo)\n datasetList.push(datasets.flat(2))\n })\n\n return {\n ...result,\n dataset: datasetList,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n"],"names":["pivotReshapeWithDualEncoding","advancedVSeed","context","result","vseed","dataset","encoding","chartType","measures","dimensions","allMeasures","findAllMeasures","datasetList","datasetReshapeInfo","measureGroups","depth","measureDepth","measure","m","index","Error","foldInfoList","unfoldInfoList","datasets","primaryMeasures","secondaryMeasures","newDataset","foldInfo","unfoldInfo","dataReshapeByEncoding","uniqueBy","item","FoldPrimaryMeasureValue","getColorMeasureId","FoldSecondaryMeasureValue","d","prev","cur","reshapeInfo"],"mappings":"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"}
1
+ {"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.ts"],"sourcesContent":["import { uniqueBy, unique } from 'remeda'\nimport { dataReshapeByEncoding, FoldPrimaryMeasureValue, FoldSecondaryMeasureValue } from 'src/dataReshape'\nimport { DEFAULT_DUAL_CHART_TYPE } from 'src/index'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Dimension,\n DualAxisMeasure,\n Encoding,\n FoldInfo,\n Measure,\n Measures,\n UnfoldInfo,\n} from 'src/types'\n\nexport const pivotReshapeWithDualEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { encoding, chartType } = advancedVSeed\n const reshapeMeasures = advancedVSeed.reshapeMeasures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n const allMeasuresIds = reshapeMeasures.flatMap((measureGroup) => measureGroup.map((m) => m.id))\n\n const datasetList: Dataset[] = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n reshapeMeasures.forEach((measures: Measures, index) => {\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const primaryMeasures = measures.filter((m) => m.encoding === 'primaryYAxis')\n const secondaryMeasures = measures.filter((m) => m.encoding === 'secondaryYAxis')\n const primaryChartTypes: string[] = unique(primaryMeasures.map((m) => (m as DualAxisMeasure).chartType!))\n const secondaryChartTypes: string[] = unique(secondaryMeasures.map((m) => (m as DualAxisMeasure).chartType!))\n\n if (!primaryChartTypes.length) {\n primaryChartTypes.push(DEFAULT_DUAL_CHART_TYPE.primary)\n }\n\n if (!secondaryChartTypes.length) {\n secondaryChartTypes.push(DEFAULT_DUAL_CHART_TYPE.secondary)\n }\n\n primaryChartTypes.forEach((chartType) => {\n const primaryResult = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item: Dimension) => item.id),\n uniqueBy(\n primaryMeasures.filter((m) => (m as DualAxisMeasure).chartType! === chartType),\n (item: Measure) => item.id,\n ),\n encoding as Encoding,\n {\n colorItemAsId: false,\n foldMeasureValue: `${FoldPrimaryMeasureValue}${index}`,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n omitIds: allMeasuresIds,\n },\n )\n\n datasets.push(primaryResult.dataset)\n foldInfoList.push(primaryResult.foldInfo)\n unfoldInfoList.push(primaryResult.unfoldInfo)\n })\n\n secondaryChartTypes.forEach((chartType) => {\n const secondaryResult = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item: Dimension) => item.id),\n uniqueBy(\n secondaryMeasures.filter((m) => (m as DualAxisMeasure).chartType! === chartType),\n (item: Measure) => item.id,\n ),\n encoding as Encoding,\n {\n colorItemAsId: false,\n foldMeasureValue: `${FoldSecondaryMeasureValue}${index}`,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n omitIds: allMeasuresIds,\n },\n )\n\n datasets.push(secondaryResult.dataset)\n foldInfoList.push(secondaryResult.foldInfo)\n unfoldInfoList.push(secondaryResult.unfoldInfo)\n })\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n const reshapeInfo = {\n id: `${chartType}-${index}`,\n index,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n }\n\n datasetReshapeInfo.push(reshapeInfo)\n datasetList.push(datasets.flat(2))\n })\n\n return {\n ...result,\n dataset: datasetList,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n"],"names":["pivotReshapeWithDualEncoding","advancedVSeed","context","result","vseed","dataset","encoding","chartType","reshapeMeasures","dimensions","allMeasuresIds","measureGroup","m","datasetList","datasetReshapeInfo","measures","index","foldInfoList","unfoldInfoList","datasets","primaryMeasures","secondaryMeasures","primaryChartTypes","unique","secondaryChartTypes","DEFAULT_DUAL_CHART_TYPE","primaryResult","dataReshapeByEncoding","uniqueBy","item","FoldPrimaryMeasureValue","getColorMeasureId","secondaryResult","FoldSecondaryMeasureValue","unfoldInfo","d","prev","cur","reshapeInfo"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { uniqueBy } from "remeda";
2
2
  import { FoldMeasureValue, dataReshapeByEncoding } from "../../../../../dataReshape/index.js";
3
3
  import { getColorMeasureId } from "../../../../spec/chart/pipes/index.js";
4
- import { findAllMeasures } from "../../../../utils/index.js";
4
+ import { DEFAULT_PARENT_ID } from "../../../../utils/constant.js";
5
5
  const pivotReshapeWithEncoding = (advancedVSeed, context)=>{
6
6
  const result = {
7
7
  ...advancedVSeed
@@ -9,24 +9,19 @@ const pivotReshapeWithEncoding = (advancedVSeed, context)=>{
9
9
  const { vseed } = context;
10
10
  const { dataset } = vseed;
11
11
  const { encoding } = advancedVSeed;
12
- const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
12
+ const reshapeMeasures = advancedVSeed.reshapeMeasures ?? [];
13
13
  const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
14
- const allMeasures = findAllMeasures(measures);
15
- const measureGroups = [];
16
- if (measures) measures.forEach((measure)=>{
17
- if (measure.children && measure.children.length > 0) measureGroups.push(measure);
18
- });
14
+ const allMeasuresIds = reshapeMeasures.flatMap((measureGroup)=>measureGroup.map((m)=>m.id));
19
15
  const datasets = [];
20
16
  const datasetReshapeInfo = [];
21
- measureGroups.forEach((measureGroup, index)=>{
22
- const measures = measureGroup.children;
17
+ reshapeMeasures.forEach((measures, index)=>{
23
18
  if (!measures) return;
24
- const groupId = measureGroup.id;
19
+ const groupId = measures[0].parentId ?? DEFAULT_PARENT_ID;
25
20
  const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, uniqueBy(dimensions, (item)=>item.id), uniqueBy(measures, (item)=>item.id), encoding, {
26
21
  colorItemAsId: false,
27
22
  foldMeasureValue: `${FoldMeasureValue}${groupId}`,
28
23
  colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
29
- omitIds: allMeasures.map((item)=>item.id)
24
+ omitIds: allMeasuresIds
30
25
  });
31
26
  const reshapeInfo = {
32
27
  id: `${groupId}`,
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.ts"],"sourcesContent":["import { uniqueBy } from 'remeda'\nimport { dataReshapeByEncoding, FoldMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Encoding,\n MeasureGroup,\n} from 'src/types'\n\nexport const pivotReshapeWithEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { encoding } = advancedVSeed\n const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n\n const allMeasures = findAllMeasures(measures)\n const measureGroups: MeasureGroup[] = []\n if (measures) {\n measures.forEach((measure: MeasureGroup) => {\n if (measure.children && measure.children.length > 0) {\n measureGroups.push(measure)\n }\n })\n }\n\n const datasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n measureGroups.forEach((measureGroup, index) => {\n const measures = measureGroup.children\n if (!measures) {\n return\n }\n const groupId = measureGroup.id\n const {\n dataset: newSubDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item) => item.id),\n uniqueBy(measures, (item) => item.id),\n encoding as Encoding,\n {\n colorItemAsId: false,\n foldMeasureValue: `${FoldMeasureValue}${groupId}`,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n omitIds: allMeasures.map((item) => item.id),\n },\n )\n\n const reshapeInfo = {\n id: `${groupId}`,\n index,\n foldInfo,\n unfoldInfo,\n }\n datasets.push(newSubDataset)\n datasetReshapeInfo.push(reshapeInfo)\n })\n\n return {\n ...result,\n dataset: datasets,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n"],"names":["pivotReshapeWithEncoding","advancedVSeed","context","result","vseed","dataset","encoding","measures","dimensions","allMeasures","findAllMeasures","measureGroups","measure","datasets","datasetReshapeInfo","measureGroup","index","groupId","newSubDataset","foldInfo","unfoldInfo","dataReshapeByEncoding","uniqueBy","item","FoldMeasureValue","getColorMeasureId","reshapeInfo"],"mappings":";;;;AAcO,MAAMA,2BAAyC,CAACC,eAAeC;IACpE,MAAMC,SAAS;QAAE,GAAGF,aAAa;IAAC;IAClC,MAAM,EAAEG,KAAK,EAAE,GAAGF;IAClB,MAAM,EAAEG,OAAO,EAAE,GAAGD;IACpB,MAAM,EAAEE,QAAQ,EAAE,GAAGL;IACrB,MAAMM,WAAWN,cAAc,eAAe,IAAIA,cAAc,QAAQ,IAAI,EAAE;IAC9E,MAAMO,aAAaP,cAAc,iBAAiB,IAAIA,cAAc,UAAU,IAAI,EAAE;IAEpF,MAAMQ,cAAcC,gBAAgBH;IACpC,MAAMI,gBAAgC,EAAE;IACxC,IAAIJ,UACFA,SAAS,OAAO,CAAC,CAACK;QAChB,IAAIA,QAAQ,QAAQ,IAAIA,QAAQ,QAAQ,CAAC,MAAM,GAAG,GAChDD,cAAc,IAAI,CAACC;IAEvB;IAGF,MAAMC,WAAoB,EAAE;IAC5B,MAAMC,qBAAyC,EAAE;IAEjDH,cAAc,OAAO,CAAC,CAACI,cAAcC;QACnC,MAAMT,WAAWQ,aAAa,QAAQ;QACtC,IAAI,CAACR,UACH;QAEF,MAAMU,UAAUF,aAAa,EAAE;QAC/B,MAAM,EACJ,SAASG,aAAa,EACtBC,QAAQ,EACRC,UAAU,EACX,GAAGC,sBACFhB,SACAiB,SAASd,YAAY,CAACe,OAASA,KAAK,EAAE,GACtCD,SAASf,UAAU,CAACgB,OAASA,KAAK,EAAE,GACpCjB,UACA;YACE,eAAe;YACf,kBAAkB,GAAGkB,mBAAmBP,SAAS;YACjD,gBAAgBQ,kBAAkBxB,eAAgCG;YAClE,SAASK,YAAY,GAAG,CAAC,CAACc,OAASA,KAAK,EAAE;QAC5C;QAGF,MAAMG,cAAc;YAClB,IAAI,GAAGT,SAAS;YAChBD;YACAG;YACAC;QACF;QACAP,SAAS,IAAI,CAACK;QACdJ,mBAAmB,IAAI,CAACY;IAC1B;IAEA,OAAO;QACL,GAAGvB,MAAM;QACT,SAASU;QACT,oBAAoBC;IACtB;AACF"}
1
+ {"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.ts"],"sourcesContent":["import { uniqueBy } from 'remeda'\nimport { dataReshapeByEncoding, FoldMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport { DEFAULT_PARENT_ID } from 'src/pipeline/utils/constant'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Dimension,\n Encoding,\n Measure,\n} from 'src/types'\n\nexport const pivotReshapeWithEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { encoding } = advancedVSeed\n const reshapeMeasures = advancedVSeed.reshapeMeasures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n\n const allMeasuresIds = reshapeMeasures.flatMap((measureGroup) => measureGroup.map((m) => m.id))\n\n const datasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n reshapeMeasures.forEach((measures, index) => {\n if (!measures) {\n return\n }\n const groupId = measures[0].parentId ?? DEFAULT_PARENT_ID\n const {\n dataset: newSubDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item: Dimension) => item.id),\n uniqueBy(measures, (item: Measure) => item.id),\n encoding as Encoding,\n {\n colorItemAsId: false,\n foldMeasureValue: `${FoldMeasureValue}${groupId}`,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n omitIds: allMeasuresIds,\n },\n )\n\n const reshapeInfo = {\n id: `${groupId}`,\n index,\n foldInfo,\n unfoldInfo,\n }\n datasets.push(newSubDataset)\n datasetReshapeInfo.push(reshapeInfo)\n })\n\n return {\n ...result,\n dataset: datasets,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n"],"names":["pivotReshapeWithEncoding","advancedVSeed","context","result","vseed","dataset","encoding","reshapeMeasures","dimensions","allMeasuresIds","measureGroup","m","datasets","datasetReshapeInfo","measures","index","groupId","DEFAULT_PARENT_ID","newSubDataset","foldInfo","unfoldInfo","dataReshapeByEncoding","uniqueBy","item","FoldMeasureValue","getColorMeasureId","reshapeInfo"],"mappings":";;;;AAeO,MAAMA,2BAAyC,CAACC,eAAeC;IACpE,MAAMC,SAAS;QAAE,GAAGF,aAAa;IAAC;IAClC,MAAM,EAAEG,KAAK,EAAE,GAAGF;IAClB,MAAM,EAAEG,OAAO,EAAE,GAAGD;IACpB,MAAM,EAAEE,QAAQ,EAAE,GAAGL;IACrB,MAAMM,kBAAkBN,cAAc,eAAe,IAAI,EAAE;IAC3D,MAAMO,aAAaP,cAAc,iBAAiB,IAAIA,cAAc,UAAU,IAAI,EAAE;IAEpF,MAAMQ,iBAAiBF,gBAAgB,OAAO,CAAC,CAACG,eAAiBA,aAAa,GAAG,CAAC,CAACC,IAAMA,EAAE,EAAE;IAE7F,MAAMC,WAAoB,EAAE;IAC5B,MAAMC,qBAAyC,EAAE;IAEjDN,gBAAgB,OAAO,CAAC,CAACO,UAAUC;QACjC,IAAI,CAACD,UACH;QAEF,MAAME,UAAUF,QAAQ,CAAC,EAAE,CAAC,QAAQ,IAAIG;QACxC,MAAM,EACJ,SAASC,aAAa,EACtBC,QAAQ,EACRC,UAAU,EACX,GAAGC,sBACFhB,SACAiB,SAASd,YAAY,CAACe,OAAoBA,KAAK,EAAE,GACjDD,SAASR,UAAU,CAACS,OAAkBA,KAAK,EAAE,GAC7CjB,UACA;YACE,eAAe;YACf,kBAAkB,GAAGkB,mBAAmBR,SAAS;YACjD,gBAAgBS,kBAAkBxB,eAAgCG;YAClE,SAASK;QACX;QAGF,MAAMiB,cAAc;YAClB,IAAI,GAAGV,SAAS;YAChBD;YACAI;YACAC;QACF;QACAR,SAAS,IAAI,CAACM;QACdL,mBAAmB,IAAI,CAACa;IAC1B;IAEA,OAAO;QACL,GAAGvB,MAAM;QACT,SAASS;QACT,oBAAoBC;IACtB;AACF"}
@@ -2,6 +2,7 @@ import { bin } from "@visactor/vdataset";
2
2
  import { uniqueBy } from "remeda";
3
3
  import { BinCountMeasureId, BinEndMeasureId, BinPercentageMeasureId, BinStartMeasureId, FoldMeasureId, FoldMeasureName, FoldMeasureValue, Separator, dataReshapeByEncoding, unfoldDimensions } from "../../../../../dataReshape/index.js";
4
4
  import { getColorMeasureId } from "../../../../spec/chart/pipes/index.js";
5
+ import { DEFAULT_PARENT_ID } from "../../../../utils/index.js";
5
6
  const pivotReshapeWithHistogramEncoding = (advancedVSeed, context)=>{
6
7
  const result = {
7
8
  ...advancedVSeed
@@ -9,7 +10,7 @@ const pivotReshapeWithHistogramEncoding = (advancedVSeed, context)=>{
9
10
  const { vseed } = context;
10
11
  const { dataset, chartType } = vseed;
11
12
  const { encoding = {}, config } = advancedVSeed;
12
- const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
13
+ const reshapeMeasures = advancedVSeed.reshapeMeasures ?? [];
13
14
  const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
14
15
  const colorMeasureId = getColorMeasureId(advancedVSeed, vseed);
15
16
  const uniqDims = uniqueBy(dimensions, (item)=>item.id);
@@ -17,17 +18,12 @@ const pivotReshapeWithHistogramEncoding = (advancedVSeed, context)=>{
17
18
  const binCount = chartConfig?.binCount;
18
19
  const binStep = chartConfig?.binStep;
19
20
  const binValueType = chartConfig?.binValueType;
20
- const measureGroups = [];
21
- if (measures) measures.forEach((measure)=>{
22
- if (measure.children && measure.children.length > 0) measureGroups.push(measure);
23
- });
24
21
  const rowColumnFields = uniqueBy(dimensions.filter((dim)=>'row' === dim.encoding || 'column' === dim.encoding), (item)=>item.id);
25
22
  const datasets = [];
26
23
  const datasetReshapeInfo = [];
27
- measureGroups.forEach((measureGroup, index)=>{
28
- const subMeasures = measureGroup.children;
24
+ reshapeMeasures.forEach((subMeasures, index)=>{
29
25
  if (!subMeasures) return;
30
- const groupId = measureGroup.id;
26
+ const groupId = subMeasures[0].id ?? DEFAULT_PARENT_ID;
31
27
  let newDatasets = [];
32
28
  let foldInfo = {
33
29
  foldMap: {},
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.ts"],"sourcesContent":["import { bin } from '@visactor/vdataset'\nimport { uniqueBy } from 'remeda'\nimport {\n BinCountMeasureId,\n BinEndMeasureId,\n BinPercentageMeasureId,\n BinStartMeasureId,\n dataReshapeByEncoding,\n FoldMeasureId,\n FoldMeasureName,\n FoldMeasureValue,\n Separator,\n unfoldDimensions,\n} from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Datum,\n Dimension,\n Encoding,\n FoldInfo,\n MeasureGroup,\n} from 'src/types'\n\nexport const pivotReshapeWithHistogramEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset, chartType } = vseed as ColumnParallel\n const { encoding = {}, config } = advancedVSeed\n const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n const colorMeasureId = getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed)\n const uniqDims = uniqueBy(dimensions, (item: Dimension) => item.id)\n const chartConfig = config?.[chartType as 'histogram']\n const binCount = chartConfig?.binCount\n const binStep = chartConfig?.binStep\n const binValueType = chartConfig?.binValueType\n\n const measureGroups: MeasureGroup[] = []\n if (measures) {\n measures.forEach((measure: MeasureGroup) => {\n if (measure.children && measure.children.length > 0) {\n measureGroups.push(measure)\n }\n })\n }\n const rowColumnFields = uniqueBy(\n dimensions.filter((dim: Dimension) => dim.encoding === 'row' || dim.encoding === 'column'),\n (item: Dimension) => item.id,\n )\n\n const datasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n measureGroups.forEach((measureGroup, index) => {\n const subMeasures = measureGroup.children\n if (!subMeasures) {\n return\n }\n const groupId = measureGroup.id\n\n let newDatasets: any[] = []\n let foldInfo: FoldInfo = {\n foldMap: {},\n measureId: FoldMeasureId,\n measureName: FoldMeasureName,\n measureValue: FoldMeasureValue,\n statistics: {\n max: -Infinity,\n min: Infinity,\n sum: 0,\n count: 0,\n colorMin: Infinity,\n colorMax: -Infinity,\n },\n }\n let unfoldInfo: any = {}\n\n if (encoding.value?.length) {\n const valueField = encoding.value[0]\n const m = subMeasures.find((m) => m.id === valueField)\n const binData = bin(dataset, {\n field: valueField,\n groupField: [...(encoding.x ?? []), ...(encoding.color ?? [])] as string[],\n facetField: rowColumnFields.map((item: Dimension) => item.id),\n bins: binCount,\n step: binStep,\n outputNames: {\n x0: BinStartMeasureId,\n x1: BinEndMeasureId,\n count: BinCountMeasureId,\n percentage: BinPercentageMeasureId,\n },\n }) as Dataset\n\n binData.forEach((datum: Datum) => {\n datum[FoldMeasureId] = valueField\n datum[FoldMeasureName] = m?.alias ?? valueField\n const valueNumber = binValueType === 'percentage' ? +datum[BinPercentageMeasureId] : +datum[BinCountMeasureId]\n datum[FoldMeasureValue] = valueNumber\n datum[valueField] = valueNumber\n\n foldInfo.statistics.min = Math.min(foldInfo.statistics.min, valueNumber)\n foldInfo.statistics.max = Math.max(foldInfo.statistics.max, valueNumber)\n foldInfo.statistics.sum += valueNumber\n foldInfo.statistics.count++\n })\n if (m?.id) {\n foldInfo.foldMap[m?.id] = m?.alias\n }\n\n const res = unfoldDimensions(binData, uniqDims, encoding as Encoding, {\n foldMeasureId: FoldMeasureId,\n separator: Separator,\n colorItemAsId: false,\n })\n\n res.dataset.forEach((d) => {\n newDatasets.push(d)\n })\n unfoldInfo = res.unfoldInfo\n } else if (encoding.x0?.length && encoding.x1?.length && encoding.y?.length) {\n const res = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item: Dimension) => item.id),\n subMeasures.filter((item) => encoding.y?.includes(item.id)).slice(0, 1),\n encoding as Encoding,\n {\n colorItemAsId: false,\n colorMeasureId,\n },\n )\n\n res.dataset.forEach((datum) => {\n datum[BinStartMeasureId] = datum[encoding.x0![0]]\n datum[BinEndMeasureId] = datum[encoding.x1![0]]\n datum[FoldMeasureId] = datum[encoding.y![0]]\n })\n\n newDatasets = res.dataset\n foldInfo = res.foldInfo\n unfoldInfo = res.unfoldInfo\n }\n\n const reshapeInfo = {\n id: `${groupId}`,\n index,\n foldInfo,\n unfoldInfo,\n }\n datasets.push(newDatasets)\n datasetReshapeInfo.push(reshapeInfo)\n })\n\n return {\n ...result,\n dataset: datasets,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n"],"names":["pivotReshapeWithHistogramEncoding","advancedVSeed","context","result","vseed","dataset","chartType","encoding","config","measures","dimensions","colorMeasureId","getColorMeasureId","uniqDims","uniqueBy","item","chartConfig","binCount","binStep","binValueType","measureGroups","measure","rowColumnFields","dim","datasets","datasetReshapeInfo","measureGroup","index","subMeasures","groupId","newDatasets","foldInfo","FoldMeasureId","FoldMeasureName","FoldMeasureValue","Infinity","unfoldInfo","valueField","m","binData","bin","BinStartMeasureId","BinEndMeasureId","BinCountMeasureId","BinPercentageMeasureId","datum","valueNumber","Math","res","unfoldDimensions","Separator","d","dataReshapeByEncoding","reshapeInfo"],"mappings":"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"}
1
+ {"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.ts"],"sourcesContent":["import { bin } from '@visactor/vdataset'\nimport { uniqueBy } from 'remeda'\nimport {\n BinCountMeasureId,\n BinEndMeasureId,\n BinPercentageMeasureId,\n BinStartMeasureId,\n dataReshapeByEncoding,\n FoldMeasureId,\n FoldMeasureName,\n FoldMeasureValue,\n Separator,\n unfoldDimensions,\n} from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport { DEFAULT_PARENT_ID } from 'src/pipeline/utils'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Datum,\n Dimension,\n Encoding,\n FoldInfo,\n} from 'src/types'\n\nexport const pivotReshapeWithHistogramEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset, chartType } = vseed as ColumnParallel\n const { encoding = {}, config } = advancedVSeed\n const reshapeMeasures = advancedVSeed.reshapeMeasures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n const colorMeasureId = getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed)\n const uniqDims = uniqueBy(dimensions, (item: Dimension) => item.id)\n const chartConfig = config?.[chartType as 'histogram']\n const binCount = chartConfig?.binCount\n const binStep = chartConfig?.binStep\n const binValueType = chartConfig?.binValueType\n\n const rowColumnFields = uniqueBy(\n dimensions.filter((dim: Dimension) => dim.encoding === 'row' || dim.encoding === 'column'),\n (item: Dimension) => item.id,\n )\n\n const datasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n reshapeMeasures.forEach((subMeasures, index) => {\n if (!subMeasures) {\n return\n }\n const groupId = subMeasures[0].id ?? DEFAULT_PARENT_ID\n\n let newDatasets: any[] = []\n let foldInfo: FoldInfo = {\n foldMap: {},\n measureId: FoldMeasureId,\n measureName: FoldMeasureName,\n measureValue: FoldMeasureValue,\n statistics: {\n max: -Infinity,\n min: Infinity,\n sum: 0,\n count: 0,\n colorMin: Infinity,\n colorMax: -Infinity,\n },\n }\n let unfoldInfo: any = {}\n\n if (encoding.value?.length) {\n const valueField = encoding.value[0]\n const m = subMeasures.find((m) => m.id === valueField)\n const binData = bin(dataset, {\n field: valueField,\n groupField: [...(encoding.x ?? []), ...(encoding.color ?? [])] as string[],\n facetField: rowColumnFields.map((item: Dimension) => item.id),\n bins: binCount,\n step: binStep,\n outputNames: {\n x0: BinStartMeasureId,\n x1: BinEndMeasureId,\n count: BinCountMeasureId,\n percentage: BinPercentageMeasureId,\n },\n }) as Dataset\n\n binData.forEach((datum: Datum) => {\n datum[FoldMeasureId] = valueField\n datum[FoldMeasureName] = m?.alias ?? valueField\n const valueNumber = binValueType === 'percentage' ? +datum[BinPercentageMeasureId] : +datum[BinCountMeasureId]\n datum[FoldMeasureValue] = valueNumber\n datum[valueField] = valueNumber\n\n foldInfo.statistics.min = Math.min(foldInfo.statistics.min, valueNumber)\n foldInfo.statistics.max = Math.max(foldInfo.statistics.max, valueNumber)\n foldInfo.statistics.sum += valueNumber\n foldInfo.statistics.count++\n })\n if (m?.id) {\n foldInfo.foldMap[m?.id] = m?.alias\n }\n\n const res = unfoldDimensions(binData, uniqDims, encoding as Encoding, {\n foldMeasureId: FoldMeasureId,\n separator: Separator,\n colorItemAsId: false,\n })\n\n res.dataset.forEach((d) => {\n newDatasets.push(d)\n })\n unfoldInfo = res.unfoldInfo\n } else if (encoding.x0?.length && encoding.x1?.length && encoding.y?.length) {\n const res = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item: Dimension) => item.id),\n subMeasures.filter((item) => encoding.y?.includes(item.id)).slice(0, 1),\n encoding as Encoding,\n {\n colorItemAsId: false,\n colorMeasureId,\n },\n )\n\n res.dataset.forEach((datum) => {\n datum[BinStartMeasureId] = datum[encoding.x0![0]]\n datum[BinEndMeasureId] = datum[encoding.x1![0]]\n datum[FoldMeasureId] = datum[encoding.y![0]]\n })\n\n newDatasets = res.dataset\n foldInfo = res.foldInfo\n unfoldInfo = res.unfoldInfo\n }\n\n const reshapeInfo = {\n id: `${groupId}`,\n index,\n foldInfo,\n unfoldInfo,\n }\n datasets.push(newDatasets)\n datasetReshapeInfo.push(reshapeInfo)\n })\n\n return {\n ...result,\n dataset: datasets,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n"],"names":["pivotReshapeWithHistogramEncoding","advancedVSeed","context","result","vseed","dataset","chartType","encoding","config","reshapeMeasures","dimensions","colorMeasureId","getColorMeasureId","uniqDims","uniqueBy","item","chartConfig","binCount","binStep","binValueType","rowColumnFields","dim","datasets","datasetReshapeInfo","subMeasures","index","groupId","DEFAULT_PARENT_ID","newDatasets","foldInfo","FoldMeasureId","FoldMeasureName","FoldMeasureValue","Infinity","unfoldInfo","valueField","m","binData","bin","BinStartMeasureId","BinEndMeasureId","BinCountMeasureId","BinPercentageMeasureId","datum","valueNumber","Math","res","unfoldDimensions","Separator","d","dataReshapeByEncoding","reshapeInfo"],"mappings":";;;;;AA4BO,MAAMA,oCAAkD,CAACC,eAAeC;IAC7E,MAAMC,SAAS;QAAE,GAAGF,aAAa;IAAC;IAClC,MAAM,EAAEG,KAAK,EAAE,GAAGF;IAClB,MAAM,EAAEG,OAAO,EAAEC,SAAS,EAAE,GAAGF;IAC/B,MAAM,EAAEG,WAAW,CAAC,CAAC,EAAEC,MAAM,EAAE,GAAGP;IAClC,MAAMQ,kBAAkBR,cAAc,eAAe,IAAI,EAAE;IAC3D,MAAMS,aAAaT,cAAc,iBAAiB,IAAIA,cAAc,UAAU,IAAI,EAAE;IACpF,MAAMU,iBAAiBC,kBAAkBX,eAAgCG;IACzE,MAAMS,WAAWC,SAASJ,YAAY,CAACK,OAAoBA,KAAK,EAAE;IAClE,MAAMC,cAAcR,QAAQ,CAACF,UAAyB;IACtD,MAAMW,WAAWD,aAAa;IAC9B,MAAME,UAAUF,aAAa;IAC7B,MAAMG,eAAeH,aAAa;IAElC,MAAMI,kBAAkBN,SACtBJ,WAAW,MAAM,CAAC,CAACW,MAAmBA,AAAiB,UAAjBA,IAAI,QAAQ,IAAcA,AAAiB,aAAjBA,IAAI,QAAQ,GAC5E,CAACN,OAAoBA,KAAK,EAAE;IAG9B,MAAMO,WAAoB,EAAE;IAC5B,MAAMC,qBAAyC,EAAE;IAEjDd,gBAAgB,OAAO,CAAC,CAACe,aAAaC;QACpC,IAAI,CAACD,aACH;QAEF,MAAME,UAAUF,WAAW,CAAC,EAAE,CAAC,EAAE,IAAIG;QAErC,IAAIC,cAAqB,EAAE;QAC3B,IAAIC,WAAqB;YACvB,SAAS,CAAC;YACV,WAAWC;YACX,aAAaC;YACb,cAAcC;YACd,YAAY;gBACV,KAAK,CAACC;gBACN,KAAKA;gBACL,KAAK;gBACL,OAAO;gBACP,UAAUA;gBACV,UAAU,CAACA;YACb;QACF;QACA,IAAIC,aAAkB,CAAC;QAEvB,IAAI3B,SAAS,KAAK,EAAE,QAAQ;YAC1B,MAAM4B,aAAa5B,SAAS,KAAK,CAAC,EAAE;YACpC,MAAM6B,IAAIZ,YAAY,IAAI,CAAC,CAACY,IAAMA,EAAE,EAAE,KAAKD;YAC3C,MAAME,UAAUC,IAAIjC,SAAS;gBAC3B,OAAO8B;gBACP,YAAY;uBAAK5B,SAAS,CAAC,IAAI,EAAE;uBAAOA,SAAS,KAAK,IAAI,EAAE;iBAAE;gBAC9D,YAAYa,gBAAgB,GAAG,CAAC,CAACL,OAAoBA,KAAK,EAAE;gBAC5D,MAAME;gBACN,MAAMC;gBACN,aAAa;oBACX,IAAIqB;oBACJ,IAAIC;oBACJ,OAAOC;oBACP,YAAYC;gBACd;YACF;YAEAL,QAAQ,OAAO,CAAC,CAACM;gBACfA,KAAK,CAACb,cAAc,GAAGK;gBACvBQ,KAAK,CAACZ,gBAAgB,GAAGK,GAAG,SAASD;gBACrC,MAAMS,cAAczB,AAAiB,iBAAjBA,eAAgC,CAACwB,KAAK,CAACD,uBAAuB,GAAG,CAACC,KAAK,CAACF,kBAAkB;gBAC9GE,KAAK,CAACX,iBAAiB,GAAGY;gBAC1BD,KAAK,CAACR,WAAW,GAAGS;gBAEpBf,SAAS,UAAU,CAAC,GAAG,GAAGgB,KAAK,GAAG,CAAChB,SAAS,UAAU,CAAC,GAAG,EAAEe;gBAC5Df,SAAS,UAAU,CAAC,GAAG,GAAGgB,KAAK,GAAG,CAAChB,SAAS,UAAU,CAAC,GAAG,EAAEe;gBAC5Df,SAAS,UAAU,CAAC,GAAG,IAAIe;gBAC3Bf,SAAS,UAAU,CAAC,KAAK;YAC3B;YACA,IAAIO,GAAG,IACLP,SAAS,OAAO,CAACO,GAAG,GAAG,GAAGA,GAAG;YAG/B,MAAMU,MAAMC,iBAAiBV,SAASxB,UAAUN,UAAsB;gBACpE,eAAeuB;gBACf,WAAWkB;gBACX,eAAe;YACjB;YAEAF,IAAI,OAAO,CAAC,OAAO,CAAC,CAACG;gBACnBrB,YAAY,IAAI,CAACqB;YACnB;YACAf,aAAaY,IAAI,UAAU;QAC7B,OAAO,IAAIvC,SAAS,EAAE,EAAE,UAAUA,SAAS,EAAE,EAAE,UAAUA,SAAS,CAAC,EAAE,QAAQ;YAC3E,MAAMuC,MAAMI,sBACV7C,SACAS,SAASJ,YAAY,CAACK,OAAoBA,KAAK,EAAE,GACjDS,YAAY,MAAM,CAAC,CAACT,OAASR,SAAS,CAAC,EAAE,SAASQ,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,IACrER,UACA;gBACE,eAAe;gBACfI;YACF;YAGFmC,IAAI,OAAO,CAAC,OAAO,CAAC,CAACH;gBACnBA,KAAK,CAACJ,kBAAkB,GAAGI,KAAK,CAACpC,SAAS,EAAG,CAAC,EAAE,CAAC;gBACjDoC,KAAK,CAACH,gBAAgB,GAAGG,KAAK,CAACpC,SAAS,EAAG,CAAC,EAAE,CAAC;gBAC/CoC,KAAK,CAACb,cAAc,GAAGa,KAAK,CAACpC,SAAS,CAAE,CAAC,EAAE,CAAC;YAC9C;YAEAqB,cAAckB,IAAI,OAAO;YACzBjB,WAAWiB,IAAI,QAAQ;YACvBZ,aAAaY,IAAI,UAAU;QAC7B;QAEA,MAAMK,cAAc;YAClB,IAAI,GAAGzB,SAAS;YAChBD;YACAI;YACAK;QACF;QACAZ,SAAS,IAAI,CAACM;QACdL,mBAAmB,IAAI,CAAC4B;IAC1B;IAEA,OAAO;QACL,GAAGhD,MAAM;QACT,SAASmB;QACT,oBAAoBC;IACtB;AACF"}
@@ -1,6 +1,5 @@
1
1
  import { FoldXMeasureValue, FoldYMeasureValue, dataReshapeByEncoding } from "../../../../../dataReshape/index.js";
2
2
  import { getColorMeasureId } from "../../../../spec/chart/pipes/index.js";
3
- import { findAllMeasures, measureDepth } from "../../../../utils/index.js";
4
3
  const pivotReshapeWithScatterEncoding = (advancedVSeed, context)=>{
5
4
  const result = {
6
5
  ...advancedVSeed
@@ -8,46 +7,35 @@ const pivotReshapeWithScatterEncoding = (advancedVSeed, context)=>{
8
7
  const { vseed } = context;
9
8
  const { dataset } = vseed;
10
9
  const { encoding, chartType } = advancedVSeed;
11
- const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
10
+ const reshapeMeasures = advancedVSeed.reshapeMeasures ?? [];
12
11
  const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
13
- const allMeasures = findAllMeasures(measures);
14
- const measureGroups = [];
15
- const depth = measureDepth(measures);
16
- if (3 === depth) measures.forEach((measure)=>{
17
- measureGroups.push(measure.children);
18
- });
19
- else if (2 === depth) measureGroups.push(measures);
12
+ const allMeasuresIds = reshapeMeasures.flatMap((measureGroup)=>measureGroup.map((m)=>m.id));
20
13
  const datasetList = [];
21
14
  const datasetReshapeInfo = [];
22
- measureGroups.forEach((measures, index)=>{
23
- if (measures.length > 2) throw new Error('measures can not be more than 2 groups in scatter');
15
+ reshapeMeasures.forEach((measures, index)=>{
24
16
  const foldInfoList = [];
25
17
  const unfoldInfoList = [];
26
18
  const datasets = [];
27
- const xMeasures = measures[0];
28
- const yMeasures = measures[1] || xMeasures;
29
- if (xMeasures && xMeasures.children) {
30
- const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, xMeasures.children, encoding, {
31
- foldMeasureValue: `${FoldXMeasureValue}${index}`,
32
- colorItemAsId: true,
33
- colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
34
- omitIds: allMeasures.map((item)=>item.id)
35
- });
36
- datasets.push(newDataset);
37
- foldInfoList.push(foldInfo);
38
- unfoldInfoList.push(unfoldInfo);
39
- }
40
- if (yMeasures && yMeasures.children) {
41
- const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, yMeasures.children, encoding, {
42
- foldMeasureValue: `${FoldYMeasureValue}${index}`,
43
- colorItemAsId: true,
44
- colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
45
- omitIds: allMeasures.map((item)=>item.id)
46
- });
47
- datasets.push(newDataset);
48
- foldInfoList.push(foldInfo);
49
- unfoldInfoList.push(unfoldInfo);
50
- }
19
+ const xMeasures = measures.filter((m)=>'xAxis' === m.encoding);
20
+ const yMeasures = measures.filter((m)=>'yAxis' === m.encoding);
21
+ const xResult = dataReshapeByEncoding(dataset, dimensions, xMeasures, encoding, {
22
+ foldMeasureValue: `${FoldXMeasureValue}${index}`,
23
+ colorItemAsId: true,
24
+ colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
25
+ omitIds: allMeasuresIds
26
+ });
27
+ datasets.push(xResult.dataset);
28
+ foldInfoList.push(xResult.foldInfo);
29
+ unfoldInfoList.push(xResult.unfoldInfo);
30
+ const yResult = dataReshapeByEncoding(dataset, dimensions, yMeasures, encoding, {
31
+ foldMeasureValue: `${FoldYMeasureValue}${index}`,
32
+ colorItemAsId: true,
33
+ colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
34
+ omitIds: allMeasuresIds
35
+ });
36
+ datasets.push(yResult.dataset);
37
+ foldInfoList.push(yResult.foldInfo);
38
+ unfoldInfoList.push(yResult.unfoldInfo);
51
39
  const unfoldInfo = {
52
40
  ...unfoldInfoList[0],
53
41
  colorItems: unfoldInfoList.flatMap((d)=>d.colorItems),
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.ts"],"sourcesContent":["import { dataReshapeByEncoding, FoldXMeasureValue, FoldYMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport { findAllMeasures, measureDepth } from 'src/pipeline/utils'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Encoding,\n FoldInfo,\n MeasureGroup,\n UnfoldInfo,\n} from 'src/types'\n\nexport const pivotReshapeWithScatterEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { encoding, chartType } = advancedVSeed\n const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n const allMeasures = findAllMeasures(measures)\n\n const measureGroups: Array<MeasureGroup[]> = []\n\n const depth = measureDepth(measures)\n if (depth === 3) {\n measures.forEach((measure: MeasureGroup) => {\n measureGroups.push(measure.children as unknown as MeasureGroup[])\n })\n } else if (depth === 2) {\n measureGroups.push(measures)\n }\n\n const datasetList: Dataset[] = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n measureGroups.forEach((measures: MeasureGroup[], index) => {\n if (measures.length > 2) {\n throw new Error('measures can not be more than 2 groups in scatter')\n }\n\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const xMeasures = measures[0]\n const yMeasures = measures[1] || xMeasures\n\n if (xMeasures && xMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(dataset, dimensions, xMeasures.children, encoding as Encoding, {\n foldMeasureValue: `${FoldXMeasureValue}${index}`,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n omitIds: allMeasures.map((item) => item.id),\n })\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n if (yMeasures && yMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(dataset, dimensions, yMeasures.children, encoding as Encoding, {\n foldMeasureValue: `${FoldYMeasureValue}${index}`,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n omitIds: allMeasures.map((item) => item.id),\n })\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n const reshapeInfo = {\n id: `${chartType}-${index}`,\n index,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n }\n\n datasetReshapeInfo.push(reshapeInfo)\n datasetList.push(datasets[0].map((d, index) => ({ ...d, ...(datasets[1]?.[index] || {}) })))\n })\n\n return {\n ...result,\n dataset: datasetList,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n"],"names":["pivotReshapeWithScatterEncoding","advancedVSeed","context","result","vseed","dataset","encoding","chartType","measures","dimensions","allMeasures","findAllMeasures","measureGroups","depth","measureDepth","measure","datasetList","datasetReshapeInfo","index","Error","foldInfoList","unfoldInfoList","datasets","xMeasures","yMeasures","newDataset","foldInfo","unfoldInfo","dataReshapeByEncoding","FoldXMeasureValue","getColorMeasureId","item","FoldYMeasureValue","d","prev","cur","reshapeInfo"],"mappings":"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"}
1
+ {"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.ts"],"sourcesContent":["import { dataReshapeByEncoding, FoldXMeasureValue, FoldYMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Encoding,\n FoldInfo,\n Measure,\n UnfoldInfo,\n} from 'src/types'\n\nexport const pivotReshapeWithScatterEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { encoding, chartType } = advancedVSeed\n const reshapeMeasures = advancedVSeed.reshapeMeasures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n const allMeasuresIds = reshapeMeasures.flatMap((measureGroup) => measureGroup.map((m) => m.id))\n\n const datasetList: Dataset[] = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n reshapeMeasures.forEach((measures: Measure[], index) => {\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const xMeasures = measures.filter((m) => m.encoding === 'xAxis')\n const yMeasures = measures.filter((m) => m.encoding === 'yAxis')\n\n const xResult = dataReshapeByEncoding(dataset, dimensions, xMeasures, encoding as Encoding, {\n foldMeasureValue: `${FoldXMeasureValue}${index}`,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n omitIds: allMeasuresIds,\n })\n\n datasets.push(xResult.dataset)\n foldInfoList.push(xResult.foldInfo)\n unfoldInfoList.push(xResult.unfoldInfo)\n\n const yResult = dataReshapeByEncoding(dataset, dimensions, yMeasures, encoding as Encoding, {\n foldMeasureValue: `${FoldYMeasureValue}${index}`,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n omitIds: allMeasuresIds,\n })\n\n datasets.push(yResult.dataset)\n foldInfoList.push(yResult.foldInfo)\n unfoldInfoList.push(yResult.unfoldInfo)\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n const reshapeInfo = {\n id: `${chartType}-${index}`,\n index,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n }\n\n datasetReshapeInfo.push(reshapeInfo)\n datasetList.push(datasets[0].map((d, index) => ({ ...d, ...(datasets[1]?.[index] || {}) })))\n })\n\n return {\n ...result,\n dataset: datasetList,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n"],"names":["pivotReshapeWithScatterEncoding","advancedVSeed","context","result","vseed","dataset","encoding","chartType","reshapeMeasures","dimensions","allMeasuresIds","measureGroup","m","datasetList","datasetReshapeInfo","measures","index","foldInfoList","unfoldInfoList","datasets","xMeasures","yMeasures","xResult","dataReshapeByEncoding","FoldXMeasureValue","getColorMeasureId","yResult","FoldYMeasureValue","unfoldInfo","d","prev","cur","reshapeInfo"],"mappings":";;AAcO,MAAMA,kCAAgD,CAACC,eAAeC;IAC3E,MAAMC,SAAS;QAAE,GAAGF,aAAa;IAAC;IAClC,MAAM,EAAEG,KAAK,EAAE,GAAGF;IAClB,MAAM,EAAEG,OAAO,EAAE,GAAGD;IACpB,MAAM,EAAEE,QAAQ,EAAEC,SAAS,EAAE,GAAGN;IAChC,MAAMO,kBAAkBP,cAAc,eAAe,IAAI,EAAE;IAC3D,MAAMQ,aAAaR,cAAc,iBAAiB,IAAIA,cAAc,UAAU,IAAI,EAAE;IACpF,MAAMS,iBAAiBF,gBAAgB,OAAO,CAAC,CAACG,eAAiBA,aAAa,GAAG,CAAC,CAACC,IAAMA,EAAE,EAAE;IAE7F,MAAMC,cAAyB,EAAE;IACjC,MAAMC,qBAAyC,EAAE;IAEjDN,gBAAgB,OAAO,CAAC,CAACO,UAAqBC;QAC5C,MAAMC,eAA2B,EAAE;QACnC,MAAMC,iBAA+B,EAAE;QAEvC,MAAMC,WAAsB,EAAE;QAC9B,MAAMC,YAAYL,SAAS,MAAM,CAAC,CAACH,IAAMA,AAAe,YAAfA,EAAE,QAAQ;QACnD,MAAMS,YAAYN,SAAS,MAAM,CAAC,CAACH,IAAMA,AAAe,YAAfA,EAAE,QAAQ;QAEnD,MAAMU,UAAUC,sBAAsBlB,SAASI,YAAYW,WAAWd,UAAsB;YAC1F,kBAAkB,GAAGkB,oBAAoBR,OAAO;YAChD,eAAe;YACf,gBAAgBS,kBAAkBxB,eAAgCG;YAClE,SAASM;QACX;QAEAS,SAAS,IAAI,CAACG,QAAQ,OAAO;QAC7BL,aAAa,IAAI,CAACK,QAAQ,QAAQ;QAClCJ,eAAe,IAAI,CAACI,QAAQ,UAAU;QAEtC,MAAMI,UAAUH,sBAAsBlB,SAASI,YAAYY,WAAWf,UAAsB;YAC1F,kBAAkB,GAAGqB,oBAAoBX,OAAO;YAChD,eAAe;YACf,gBAAgBS,kBAAkBxB,eAAgCG;YAClE,SAASM;QACX;QAEAS,SAAS,IAAI,CAACO,QAAQ,OAAO;QAC7BT,aAAa,IAAI,CAACS,QAAQ,QAAQ;QAClCR,eAAe,IAAI,CAACQ,QAAQ,UAAU;QAEtC,MAAME,aAAyB;YAC7B,GAAGV,cAAc,CAAC,EAAE;YACpB,YAAYA,eAAe,OAAO,CAAC,CAACW,IAAMA,EAAE,UAAU;YACtD,YAAYX,eAAe,MAAM,CAAC,CAACY,MAAMC,MAAS;oBAAE,GAAGD,IAAI;oBAAE,GAAGC,IAAI,UAAU;gBAAC,IAAI,CAAC;QACtF;QAEA,MAAMC,cAAc;YAClB,IAAI,GAAGzB,UAAU,CAAC,EAAES,OAAO;YAC3BA;YACA,UAAUC,YAAY,CAAC,EAAE;YACzB,cAAcA;YACd,YAAYW;QACd;QAEAd,mBAAmB,IAAI,CAACkB;QACxBnB,YAAY,IAAI,CAACM,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAACU,GAAGb,QAAW;gBAAE,GAAGa,CAAC;gBAAE,GAAIV,QAAQ,CAAC,EAAE,EAAE,CAACH,MAAM,IAAI,CAAC,CAAC;YAAE;IAC1F;IAEA,OAAO;QACL,GAAGb,MAAM;QACT,SAASU;QACT,oBAAoBC;IACtB;AACF"}
@@ -1,5 +1,4 @@
1
1
  import { FoldMeasureId, FoldMeasureName, LowerWhisker, MedianMeasureId, OutliersMeasureId, Q1MeasureValue, Q3MeasureValue, Separator, UpperWhisker, unfoldDimensions } from "../../../../../dataReshape/index.js";
2
- import { findAllMeasures } from "../../../../utils/index.js";
3
2
  import { boxplot } from "@visactor/vdataset";
4
3
  import { uniqueBy } from "remeda";
5
4
  const reshapeWithBoxplotEncoding = (advancedVSeed, context)=>{
@@ -8,19 +7,17 @@ const reshapeWithBoxplotEncoding = (advancedVSeed, context)=>{
8
7
  };
9
8
  const { vseed } = context;
10
9
  const { dataset, chartType } = vseed;
11
- const { encoding = {}, config } = advancedVSeed;
12
- const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
10
+ const { encoding = {}, config, measures = [] } = advancedVSeed;
13
11
  const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
14
12
  const uniqDims = uniqueBy(dimensions, (item)=>item.id);
15
13
  const whiskers = config?.[chartType]?.whiskers;
16
14
  let newDatasets = [];
17
15
  let foldInfo = {};
18
16
  let unfoldInfo = {};
19
- const allMeasures = findAllMeasures(measures);
20
17
  if (encoding.value?.length) {
21
18
  const boxPlotDataList = [];
22
19
  encoding.value.forEach((f)=>{
23
- const m = allMeasures.find((m)=>m.id === f);
20
+ const m = measures.find((m)=>m.id === f);
24
21
  const boxPlotData = boxplot(dataset, {
25
22
  field: f,
26
23
  groupField: [
@@ -79,9 +76,7 @@ const reshapeWithBoxplotEncoding = (advancedVSeed, context)=>{
79
76
  foldInfo,
80
77
  unfoldInfo
81
78
  }
82
- ],
83
- dimensions,
84
- measures
79
+ ]
85
80
  };
86
81
  };
87
82
  export { reshapeWithBoxplotEncoding };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.ts"],"sourcesContent":["import {\n FoldMeasureId,\n FoldMeasureName,\n LowerWhisker,\n MedianMeasureId,\n OutliersMeasureId,\n Q1MeasureValue,\n Q3MeasureValue,\n Separator,\n unfoldDimensions,\n UpperWhisker,\n} from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, ColumnParallel, Dataset, Encoding } from 'src/types'\nimport { boxplot } from '@visactor/vdataset'\nimport { uniqueBy } from 'remeda'\n\nexport const reshapeWithBoxplotEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset, chartType } = vseed as ColumnParallel\n const { encoding = {}, config } = advancedVSeed\n const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n const uniqDims = uniqueBy(dimensions, (item) => item.id)\n\n const whiskers = config?.[chartType as 'boxPlot']?.whiskers\n\n let newDatasets: any[] = []\n let foldInfo: any = {}\n let unfoldInfo: any = {}\n\n const allMeasures = findAllMeasures(measures)\n\n if (encoding.value?.length) {\n const boxPlotDataList: Dataset = []\n encoding.value.forEach((f) => {\n const m = allMeasures.find((m) => m.id === f)\n const boxPlotData = boxplot(dataset, {\n field: f,\n groupField: [...(encoding.x ?? []), ...(encoding.color ?? [])] as string[],\n whiskers,\n outputNames: {\n q1: Q1MeasureValue,\n q3: Q3MeasureValue,\n lowerWhisker: LowerWhisker,\n upperWhisker: UpperWhisker,\n median: MedianMeasureId,\n outliers: OutliersMeasureId,\n },\n }) as Dataset\n\n boxPlotData.forEach((datum) => {\n datum[FoldMeasureId] = f\n datum[FoldMeasureName] = m?.alias ?? f\n })\n boxPlotDataList.push(...boxPlotData)\n })\n const res = unfoldDimensions(boxPlotDataList, uniqDims, encoding as Encoding, {\n foldMeasureId: FoldMeasureId,\n separator: Separator,\n colorItemAsId: false,\n })\n\n res.dataset.forEach((d) => {\n newDatasets.push(d)\n })\n unfoldInfo = res.unfoldInfo\n } else if (\n encoding.q1?.length &&\n encoding.q3?.length &&\n encoding.min?.length &&\n encoding.max?.length &&\n encoding.median?.length\n ) {\n const res = unfoldDimensions(dataset, uniqDims, encoding as Encoding, {\n foldMeasureId: FoldMeasureId,\n separator: Separator,\n colorItemAsId: false,\n })\n\n res.dataset.forEach((datum) => {\n datum[UpperWhisker] = datum[encoding.max![0]]\n datum[LowerWhisker] = datum[encoding.min![0]]\n datum[Q1MeasureValue] = datum[encoding.q1![0]]\n datum[Q3MeasureValue] = datum[encoding.q3![0]]\n datum[MedianMeasureId] = datum[encoding.median![0]]\n })\n\n newDatasets = res.dataset\n foldInfo = {}\n unfoldInfo = res.unfoldInfo\n }\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: [\n {\n id: String(chartType),\n index: 0,\n foldInfo,\n unfoldInfo,\n },\n ],\n dimensions,\n measures,\n }\n}\n"],"names":["reshapeWithBoxplotEncoding","advancedVSeed","context","result","vseed","dataset","chartType","encoding","config","measures","dimensions","uniqDims","uniqueBy","item","whiskers","newDatasets","foldInfo","unfoldInfo","allMeasures","findAllMeasures","boxPlotDataList","f","m","boxPlotData","boxplot","Q1MeasureValue","Q3MeasureValue","LowerWhisker","UpperWhisker","MedianMeasureId","OutliersMeasureId","datum","FoldMeasureId","FoldMeasureName","res","unfoldDimensions","Separator","d","String"],"mappings":";;;;AAiBO,MAAMA,6BAA2C,CAACC,eAAeC;IACtE,MAAMC,SAAS;QAAE,GAAGF,aAAa;IAAC;IAClC,MAAM,EAAEG,KAAK,EAAE,GAAGF;IAClB,MAAM,EAAEG,OAAO,EAAEC,SAAS,EAAE,GAAGF;IAC/B,MAAM,EAAEG,WAAW,CAAC,CAAC,EAAEC,MAAM,EAAE,GAAGP;IAClC,MAAMQ,WAAWR,cAAc,eAAe,IAAIA,cAAc,QAAQ,IAAI,EAAE;IAC9E,MAAMS,aAAaT,cAAc,iBAAiB,IAAIA,cAAc,UAAU,IAAI,EAAE;IACpF,MAAMU,WAAWC,SAASF,YAAY,CAACG,OAASA,KAAK,EAAE;IAEvD,MAAMC,WAAWN,QAAQ,CAACF,UAAuB,EAAE;IAEnD,IAAIS,cAAqB,EAAE;IAC3B,IAAIC,WAAgB,CAAC;IACrB,IAAIC,aAAkB,CAAC;IAEvB,MAAMC,cAAcC,gBAAgBV;IAEpC,IAAIF,SAAS,KAAK,EAAE,QAAQ;QAC1B,MAAMa,kBAA2B,EAAE;QACnCb,SAAS,KAAK,CAAC,OAAO,CAAC,CAACc;YACtB,MAAMC,IAAIJ,YAAY,IAAI,CAAC,CAACI,IAAMA,EAAE,EAAE,KAAKD;YAC3C,MAAME,cAAcC,QAAQnB,SAAS;gBACnC,OAAOgB;gBACP,YAAY;uBAAKd,SAAS,CAAC,IAAI,EAAE;uBAAOA,SAAS,KAAK,IAAI,EAAE;iBAAE;gBAC9DO;gBACA,aAAa;oBACX,IAAIW;oBACJ,IAAIC;oBACJ,cAAcC;oBACd,cAAcC;oBACd,QAAQC;oBACR,UAAUC;gBACZ;YACF;YAEAP,YAAY,OAAO,CAAC,CAACQ;gBACnBA,KAAK,CAACC,cAAc,GAAGX;gBACvBU,KAAK,CAACE,gBAAgB,GAAGX,GAAG,SAASD;YACvC;YACAD,gBAAgB,IAAI,IAAIG;QAC1B;QACA,MAAMW,MAAMC,iBAAiBf,iBAAiBT,UAAUJ,UAAsB;YAC5E,eAAeyB;YACf,WAAWI;YACX,eAAe;QACjB;QAEAF,IAAI,OAAO,CAAC,OAAO,CAAC,CAACG;YACnBtB,YAAY,IAAI,CAACsB;QACnB;QACApB,aAAaiB,IAAI,UAAU;IAC7B,OAAO,IACL3B,SAAS,EAAE,EAAE,UACbA,SAAS,EAAE,EAAE,UACbA,SAAS,GAAG,EAAE,UACdA,SAAS,GAAG,EAAE,UACdA,SAAS,MAAM,EAAE,QACjB;QACA,MAAM2B,MAAMC,iBAAiB9B,SAASM,UAAUJ,UAAsB;YACpE,eAAeyB;YACf,WAAWI;YACX,eAAe;QACjB;QAEAF,IAAI,OAAO,CAAC,OAAO,CAAC,CAACH;YACnBA,KAAK,CAACH,aAAa,GAAGG,KAAK,CAACxB,SAAS,GAAI,CAAC,EAAE,CAAC;YAC7CwB,KAAK,CAACJ,aAAa,GAAGI,KAAK,CAACxB,SAAS,GAAI,CAAC,EAAE,CAAC;YAC7CwB,KAAK,CAACN,eAAe,GAAGM,KAAK,CAACxB,SAAS,EAAG,CAAC,EAAE,CAAC;YAC9CwB,KAAK,CAACL,eAAe,GAAGK,KAAK,CAACxB,SAAS,EAAG,CAAC,EAAE,CAAC;YAC9CwB,KAAK,CAACF,gBAAgB,GAAGE,KAAK,CAACxB,SAAS,MAAO,CAAC,EAAE,CAAC;QACrD;QAEAQ,cAAcmB,IAAI,OAAO;QACzBlB,WAAW,CAAC;QACZC,aAAaiB,IAAI,UAAU;IAC7B;IAEA,OAAO;QACL,GAAG/B,MAAM;QACT,SAASY;QACT,oBAAoB;YAClB;gBACE,IAAIuB,OAAOhC;gBACX,OAAO;gBACPU;gBACAC;YACF;SACD;QACDP;QACAD;IACF;AACF"}
1
+ {"version":3,"file":"pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.ts"],"sourcesContent":["import {\n FoldMeasureId,\n FoldMeasureName,\n LowerWhisker,\n MedianMeasureId,\n OutliersMeasureId,\n Q1MeasureValue,\n Q3MeasureValue,\n Separator,\n unfoldDimensions,\n UpperWhisker,\n} from 'src/dataReshape'\nimport type { AdvancedPipe, ColumnParallel, Dataset, Dimension, Encoding } from 'src/types'\nimport { boxplot } from '@visactor/vdataset'\nimport { uniqueBy } from 'remeda'\n\nexport const reshapeWithBoxplotEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset, chartType } = vseed as ColumnParallel\n const { encoding = {}, config, measures = [] } = advancedVSeed\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n const uniqDims = uniqueBy(dimensions, (item: Dimension) => item.id)\n\n const whiskers = config?.[chartType as 'boxPlot']?.whiskers\n\n let newDatasets: any[] = []\n let foldInfo: any = {}\n let unfoldInfo: any = {}\n\n if (encoding.value?.length) {\n const boxPlotDataList: Dataset = []\n encoding.value.forEach((f) => {\n const m = measures.find((m) => m.id === f)\n const boxPlotData = boxplot(dataset, {\n field: f,\n groupField: [...(encoding.x ?? []), ...(encoding.color ?? [])] as string[],\n whiskers,\n outputNames: {\n q1: Q1MeasureValue,\n q3: Q3MeasureValue,\n lowerWhisker: LowerWhisker,\n upperWhisker: UpperWhisker,\n median: MedianMeasureId,\n outliers: OutliersMeasureId,\n },\n }) as Dataset\n\n boxPlotData.forEach((datum) => {\n datum[FoldMeasureId] = f\n datum[FoldMeasureName] = m?.alias ?? f\n })\n boxPlotDataList.push(...boxPlotData)\n })\n const res = unfoldDimensions(boxPlotDataList, uniqDims, encoding as Encoding, {\n foldMeasureId: FoldMeasureId,\n separator: Separator,\n colorItemAsId: false,\n })\n\n res.dataset.forEach((d) => {\n newDatasets.push(d)\n })\n unfoldInfo = res.unfoldInfo\n } else if (\n encoding.q1?.length &&\n encoding.q3?.length &&\n encoding.min?.length &&\n encoding.max?.length &&\n encoding.median?.length\n ) {\n const res = unfoldDimensions(dataset, uniqDims, encoding as Encoding, {\n foldMeasureId: FoldMeasureId,\n separator: Separator,\n colorItemAsId: false,\n })\n\n res.dataset.forEach((datum) => {\n datum[UpperWhisker] = datum[encoding.max![0]]\n datum[LowerWhisker] = datum[encoding.min![0]]\n datum[Q1MeasureValue] = datum[encoding.q1![0]]\n datum[Q3MeasureValue] = datum[encoding.q3![0]]\n datum[MedianMeasureId] = datum[encoding.median![0]]\n })\n\n newDatasets = res.dataset\n foldInfo = {}\n unfoldInfo = res.unfoldInfo\n }\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: [\n {\n id: String(chartType),\n index: 0,\n foldInfo,\n unfoldInfo,\n },\n ],\n }\n}\n"],"names":["reshapeWithBoxplotEncoding","advancedVSeed","context","result","vseed","dataset","chartType","encoding","config","measures","dimensions","uniqDims","uniqueBy","item","whiskers","newDatasets","foldInfo","unfoldInfo","boxPlotDataList","f","m","boxPlotData","boxplot","Q1MeasureValue","Q3MeasureValue","LowerWhisker","UpperWhisker","MedianMeasureId","OutliersMeasureId","datum","FoldMeasureId","FoldMeasureName","res","unfoldDimensions","Separator","d","String"],"mappings":";;;AAgBO,MAAMA,6BAA2C,CAACC,eAAeC;IACtE,MAAMC,SAAS;QAAE,GAAGF,aAAa;IAAC;IAClC,MAAM,EAAEG,KAAK,EAAE,GAAGF;IAClB,MAAM,EAAEG,OAAO,EAAEC,SAAS,EAAE,GAAGF;IAC/B,MAAM,EAAEG,WAAW,CAAC,CAAC,EAAEC,MAAM,EAAEC,WAAW,EAAE,EAAE,GAAGR;IACjD,MAAMS,aAAaT,cAAc,iBAAiB,IAAIA,cAAc,UAAU,IAAI,EAAE;IACpF,MAAMU,WAAWC,SAASF,YAAY,CAACG,OAAoBA,KAAK,EAAE;IAElE,MAAMC,WAAWN,QAAQ,CAACF,UAAuB,EAAE;IAEnD,IAAIS,cAAqB,EAAE;IAC3B,IAAIC,WAAgB,CAAC;IACrB,IAAIC,aAAkB,CAAC;IAEvB,IAAIV,SAAS,KAAK,EAAE,QAAQ;QAC1B,MAAMW,kBAA2B,EAAE;QACnCX,SAAS,KAAK,CAAC,OAAO,CAAC,CAACY;YACtB,MAAMC,IAAIX,SAAS,IAAI,CAAC,CAACW,IAAMA,EAAE,EAAE,KAAKD;YACxC,MAAME,cAAcC,QAAQjB,SAAS;gBACnC,OAAOc;gBACP,YAAY;uBAAKZ,SAAS,CAAC,IAAI,EAAE;uBAAOA,SAAS,KAAK,IAAI,EAAE;iBAAE;gBAC9DO;gBACA,aAAa;oBACX,IAAIS;oBACJ,IAAIC;oBACJ,cAAcC;oBACd,cAAcC;oBACd,QAAQC;oBACR,UAAUC;gBACZ;YACF;YAEAP,YAAY,OAAO,CAAC,CAACQ;gBACnBA,KAAK,CAACC,cAAc,GAAGX;gBACvBU,KAAK,CAACE,gBAAgB,GAAGX,GAAG,SAASD;YACvC;YACAD,gBAAgB,IAAI,IAAIG;QAC1B;QACA,MAAMW,MAAMC,iBAAiBf,iBAAiBP,UAAUJ,UAAsB;YAC5E,eAAeuB;YACf,WAAWI;YACX,eAAe;QACjB;QAEAF,IAAI,OAAO,CAAC,OAAO,CAAC,CAACG;YACnBpB,YAAY,IAAI,CAACoB;QACnB;QACAlB,aAAae,IAAI,UAAU;IAC7B,OAAO,IACLzB,SAAS,EAAE,EAAE,UACbA,SAAS,EAAE,EAAE,UACbA,SAAS,GAAG,EAAE,UACdA,SAAS,GAAG,EAAE,UACdA,SAAS,MAAM,EAAE,QACjB;QACA,MAAMyB,MAAMC,iBAAiB5B,SAASM,UAAUJ,UAAsB;YACpE,eAAeuB;YACf,WAAWI;YACX,eAAe;QACjB;QAEAF,IAAI,OAAO,CAAC,OAAO,CAAC,CAACH;YACnBA,KAAK,CAACH,aAAa,GAAGG,KAAK,CAACtB,SAAS,GAAI,CAAC,EAAE,CAAC;YAC7CsB,KAAK,CAACJ,aAAa,GAAGI,KAAK,CAACtB,SAAS,GAAI,CAAC,EAAE,CAAC;YAC7CsB,KAAK,CAACN,eAAe,GAAGM,KAAK,CAACtB,SAAS,EAAG,CAAC,EAAE,CAAC;YAC9CsB,KAAK,CAACL,eAAe,GAAGK,KAAK,CAACtB,SAAS,EAAG,CAAC,EAAE,CAAC;YAC9CsB,KAAK,CAACF,gBAAgB,GAAGE,KAAK,CAACtB,SAAS,MAAO,CAAC,EAAE,CAAC;QACrD;QAEAQ,cAAciB,IAAI,OAAO;QACzBhB,WAAW,CAAC;QACZC,aAAae,IAAI,UAAU;IAC7B;IAEA,OAAO;QACL,GAAG7B,MAAM;QACT,SAASY;QACT,oBAAoB;YAClB;gBACE,IAAIqB,OAAO9B;gBACX,OAAO;gBACPU;gBACAC;YACF;SACD;IACH;AACF"}
@@ -1,6 +1,7 @@
1
- import { uniqueBy } from "remeda";
1
+ import { unique, uniqueBy } from "remeda";
2
2
  import { FoldPrimaryMeasureValue, FoldSecondaryMeasureValue, dataReshapeByEncoding } from "../../../../../dataReshape/index.js";
3
3
  import { getColorMeasureId } from "../../../../spec/chart/pipes/index.js";
4
+ import { DEFAULT_DUAL_CHART_TYPE } from "../../../../utils/chatType.js";
4
5
  const reshapeWithDualEncoding = (advancedVSeed, context)=>{
5
6
  const result = {
6
7
  ...advancedVSeed
@@ -8,34 +9,37 @@ const reshapeWithDualEncoding = (advancedVSeed, context)=>{
8
9
  const { vseed } = context;
9
10
  const { dataset } = vseed;
10
11
  const { encoding, chartType } = advancedVSeed;
11
- const measures = (advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []).filter((m)=>m && m.children);
12
+ const measures = advancedVSeed.reshapeMeasures?.[0] ?? [];
12
13
  const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
13
- if (measures.length > 2) throw new Error('measures can not be more than 2 groups in dualAxis');
14
14
  const foldInfoList = [];
15
15
  const unfoldInfoList = [];
16
16
  const datasets = [];
17
- const primaryMeasures = measures[0];
18
- const secondaryMeasures = measures[1] || [];
19
- if (primaryMeasures && primaryMeasures.children) {
20
- const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, uniqueBy(dimensions, (item)=>item.id), uniqueBy(primaryMeasures.children, (item)=>item.id), encoding, {
17
+ const primaryMeasures = measures.filter((m)=>'primaryYAxis' === m.encoding);
18
+ const secondaryMeasures = measures.filter((m)=>'secondaryYAxis' === m.encoding);
19
+ const primaryChartTypes = unique(primaryMeasures.map((m)=>m.chartType));
20
+ const secondaryChartTypes = unique(secondaryMeasures.map((m)=>m.chartType));
21
+ if (!primaryChartTypes.length) primaryChartTypes.push(DEFAULT_DUAL_CHART_TYPE.primary);
22
+ if (!secondaryChartTypes.length) secondaryChartTypes.push(DEFAULT_DUAL_CHART_TYPE.secondary);
23
+ primaryChartTypes.forEach((chartType)=>{
24
+ const primaryResult = dataReshapeByEncoding(dataset, uniqueBy(dimensions, (item)=>item.id), uniqueBy(primaryMeasures.filter((m)=>m.chartType === chartType), (item)=>item.id), encoding, {
21
25
  colorItemAsId: false,
22
26
  foldMeasureValue: FoldPrimaryMeasureValue,
23
27
  colorMeasureId: getColorMeasureId(advancedVSeed, vseed)
24
28
  });
25
- datasets.push(newDataset);
26
- foldInfoList.push(foldInfo);
27
- unfoldInfoList.push(unfoldInfo);
28
- }
29
- if (secondaryMeasures && secondaryMeasures.children) {
30
- const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, uniqueBy(dimensions, (item)=>item.id), uniqueBy(secondaryMeasures.children, (item)=>item.id), encoding, {
29
+ datasets.push(primaryResult.dataset);
30
+ foldInfoList.push(primaryResult.foldInfo);
31
+ unfoldInfoList.push(primaryResult.unfoldInfo);
32
+ });
33
+ secondaryChartTypes.forEach((chartType)=>{
34
+ const secondaryResult = dataReshapeByEncoding(dataset, uniqueBy(dimensions, (item)=>item.id), uniqueBy(secondaryMeasures.filter((m)=>m.chartType === chartType), (item)=>item.id), encoding, {
31
35
  colorItemAsId: false,
32
36
  foldMeasureValue: FoldSecondaryMeasureValue,
33
37
  colorMeasureId: getColorMeasureId(advancedVSeed, vseed)
34
38
  });
35
- datasets.push(newDataset);
36
- foldInfoList.push(foldInfo);
37
- unfoldInfoList.push(unfoldInfo);
38
- }
39
+ datasets.push(secondaryResult.dataset);
40
+ foldInfoList.push(secondaryResult.foldInfo);
41
+ unfoldInfoList.push(secondaryResult.unfoldInfo);
42
+ });
39
43
  const unfoldInfo = {
40
44
  ...unfoldInfoList[0],
41
45
  colorItems: unfoldInfoList.flatMap((d)=>d.colorItems),
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.ts"],"sourcesContent":["import { uniqueBy } from 'remeda'\nimport { dataReshapeByEncoding, FoldPrimaryMeasureValue, FoldSecondaryMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n Encoding,\n FoldInfo,\n Measure,\n MeasureGroup,\n UnfoldInfo,\n} from 'src/types'\n\nexport const reshapeWithDualEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { encoding, chartType } = advancedVSeed\n const measures = (advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []).filter(\n (m: Measure | MeasureGroup) => m && (m as MeasureGroup).children,\n )\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n\n if (measures.length > 2) {\n throw new Error('measures can not be more than 2 groups in dualAxis')\n }\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const primaryMeasures = measures[0] as MeasureGroup\n const secondaryMeasures = (measures[1] || []) as MeasureGroup\n\n if (primaryMeasures && primaryMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item) => item.id),\n uniqueBy(primaryMeasures.children, (item) => item.id),\n encoding as Encoding,\n {\n colorItemAsId: false,\n foldMeasureValue: FoldPrimaryMeasureValue,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n },\n )\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n if (secondaryMeasures && secondaryMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item) => item.id),\n uniqueBy(secondaryMeasures.children, (item) => item.id),\n encoding as Encoding,\n {\n colorItemAsId: false,\n foldMeasureValue: FoldSecondaryMeasureValue,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n },\n )\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n return {\n ...result,\n dataset: datasets,\n datasetReshapeInfo: [\n {\n id: String(chartType),\n index: 0,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n },\n ],\n }\n}\n"],"names":["reshapeWithDualEncoding","advancedVSeed","context","result","vseed","dataset","encoding","chartType","measures","m","dimensions","Error","foldInfoList","unfoldInfoList","datasets","primaryMeasures","secondaryMeasures","newDataset","foldInfo","unfoldInfo","dataReshapeByEncoding","uniqueBy","item","FoldPrimaryMeasureValue","getColorMeasureId","FoldSecondaryMeasureValue","d","prev","cur","String"],"mappings":";;;AAeO,MAAMA,0BAAwC,CAACC,eAAeC;IACnE,MAAMC,SAAS;QAAE,GAAGF,aAAa;IAAC;IAClC,MAAM,EAAEG,KAAK,EAAE,GAAGF;IAClB,MAAM,EAAEG,OAAO,EAAE,GAAGD;IACpB,MAAM,EAAEE,QAAQ,EAAEC,SAAS,EAAE,GAAGN;IAChC,MAAMO,WAAYP,AAAAA,CAAAA,cAAc,eAAe,IAAIA,cAAc,QAAQ,IAAI,EAAC,EAAG,MAAM,CACrF,CAACQ,IAA8BA,KAAMA,EAAmB,QAAQ;IAElE,MAAMC,aAAaT,cAAc,iBAAiB,IAAIA,cAAc,UAAU,IAAI,EAAE;IAEpF,IAAIO,SAAS,MAAM,GAAG,GACpB,MAAM,IAAIG,MAAM;IAElB,MAAMC,eAA2B,EAAE;IACnC,MAAMC,iBAA+B,EAAE;IAEvC,MAAMC,WAAsB,EAAE;IAC9B,MAAMC,kBAAkBP,QAAQ,CAAC,EAAE;IACnC,MAAMQ,oBAAqBR,QAAQ,CAAC,EAAE,IAAI,EAAE;IAE5C,IAAIO,mBAAmBA,gBAAgB,QAAQ,EAAE;QAC/C,MAAM,EACJ,SAASE,UAAU,EACnBC,QAAQ,EACRC,UAAU,EACX,GAAGC,sBACFf,SACAgB,SAASX,YAAY,CAACY,OAASA,KAAK,EAAE,GACtCD,SAASN,gBAAgB,QAAQ,EAAE,CAACO,OAASA,KAAK,EAAE,GACpDhB,UACA;YACE,eAAe;YACf,kBAAkBiB;YAClB,gBAAgBC,kBAAkBvB,eAAgCG;QACpE;QAGFU,SAAS,IAAI,CAACG;QACdL,aAAa,IAAI,CAACM;QAClBL,eAAe,IAAI,CAACM;IACtB;IAEA,IAAIH,qBAAqBA,kBAAkB,QAAQ,EAAE;QACnD,MAAM,EACJ,SAASC,UAAU,EACnBC,QAAQ,EACRC,UAAU,EACX,GAAGC,sBACFf,SACAgB,SAASX,YAAY,CAACY,OAASA,KAAK,EAAE,GACtCD,SAASL,kBAAkB,QAAQ,EAAE,CAACM,OAASA,KAAK,EAAE,GACtDhB,UACA;YACE,eAAe;YACf,kBAAkBmB;YAClB,gBAAgBD,kBAAkBvB,eAAgCG;QACpE;QAGFU,SAAS,IAAI,CAACG;QACdL,aAAa,IAAI,CAACM;QAClBL,eAAe,IAAI,CAACM;IACtB;IAEA,MAAMA,aAAyB;QAC7B,GAAGN,cAAc,CAAC,EAAE;QACpB,YAAYA,eAAe,OAAO,CAAC,CAACa,IAAMA,EAAE,UAAU;QACtD,YAAYb,eAAe,MAAM,CAAC,CAACc,MAAMC,MAAS;gBAAE,GAAGD,IAAI;gBAAE,GAAGC,IAAI,UAAU;YAAC,IAAI,CAAC;IACtF;IAEA,OAAO;QACL,GAAGzB,MAAM;QACT,SAASW;QACT,oBAAoB;YAClB;gBACE,IAAIe,OAAOtB;gBACX,OAAO;gBACP,UAAUK,YAAY,CAAC,EAAE;gBACzB,cAAcA;gBACd,YAAYO;YACd;SACD;IACH;AACF"}
1
+ {"version":3,"file":"pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.ts"],"sourcesContent":["import { uniqueBy, unique } from 'remeda'\nimport { dataReshapeByEncoding, FoldPrimaryMeasureValue, FoldSecondaryMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport { DEFAULT_DUAL_CHART_TYPE } from 'src/pipeline/utils/chatType'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n Dimension,\n DualAxisMeasure,\n Encoding,\n FoldInfo,\n Measure,\n UnfoldInfo,\n} from 'src/types'\n\nexport const reshapeWithDualEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { encoding, chartType } = advancedVSeed\n const measures = (advancedVSeed.reshapeMeasures?.[0] ?? []) as Measure[]\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const primaryMeasures = measures.filter((m) => m.encoding === 'primaryYAxis')\n const secondaryMeasures = measures.filter((m) => m.encoding === 'secondaryYAxis')\n const primaryChartTypes: string[] = unique(primaryMeasures.map((m) => (m as DualAxisMeasure).chartType!))\n const secondaryChartTypes: string[] = unique(secondaryMeasures.map((m) => (m as DualAxisMeasure).chartType!))\n\n if (!primaryChartTypes.length) {\n primaryChartTypes.push(DEFAULT_DUAL_CHART_TYPE.primary)\n }\n\n if (!secondaryChartTypes.length) {\n secondaryChartTypes.push(DEFAULT_DUAL_CHART_TYPE.secondary)\n }\n\n primaryChartTypes.forEach((chartType) => {\n const primaryResult = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item: Dimension) => item.id),\n uniqueBy(\n primaryMeasures.filter((m) => (m as DualAxisMeasure).chartType! === chartType),\n (item: Measure) => item.id,\n ),\n encoding as Encoding,\n {\n colorItemAsId: false,\n foldMeasureValue: FoldPrimaryMeasureValue,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n },\n )\n\n datasets.push(primaryResult.dataset)\n foldInfoList.push(primaryResult.foldInfo)\n unfoldInfoList.push(primaryResult.unfoldInfo)\n })\n\n secondaryChartTypes.forEach((chartType) => {\n const secondaryResult = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item: Dimension) => item.id),\n uniqueBy(\n secondaryMeasures.filter((m) => (m as DualAxisMeasure).chartType! === chartType),\n (item: Measure) => item.id,\n ),\n encoding as Encoding,\n {\n colorItemAsId: false,\n foldMeasureValue: FoldSecondaryMeasureValue,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n },\n )\n\n datasets.push(secondaryResult.dataset)\n foldInfoList.push(secondaryResult.foldInfo)\n unfoldInfoList.push(secondaryResult.unfoldInfo)\n })\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n return {\n ...result,\n dataset: datasets,\n datasetReshapeInfo: [\n {\n id: String(chartType),\n index: 0,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n },\n ],\n }\n}\n"],"names":["reshapeWithDualEncoding","advancedVSeed","context","result","vseed","dataset","encoding","chartType","measures","dimensions","foldInfoList","unfoldInfoList","datasets","primaryMeasures","m","secondaryMeasures","primaryChartTypes","unique","secondaryChartTypes","DEFAULT_DUAL_CHART_TYPE","primaryResult","dataReshapeByEncoding","uniqueBy","item","FoldPrimaryMeasureValue","getColorMeasureId","secondaryResult","FoldSecondaryMeasureValue","unfoldInfo","d","prev","cur","String"],"mappings":";;;;AAiBO,MAAMA,0BAAwC,CAACC,eAAeC;IACnE,MAAMC,SAAS;QAAE,GAAGF,aAAa;IAAC;IAClC,MAAM,EAAEG,KAAK,EAAE,GAAGF;IAClB,MAAM,EAAEG,OAAO,EAAE,GAAGD;IACpB,MAAM,EAAEE,QAAQ,EAAEC,SAAS,EAAE,GAAGN;IAChC,MAAMO,WAAYP,cAAc,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE;IAC1D,MAAMQ,aAAaR,cAAc,iBAAiB,IAAIA,cAAc,UAAU,IAAI,EAAE;IAEpF,MAAMS,eAA2B,EAAE;IACnC,MAAMC,iBAA+B,EAAE;IAEvC,MAAMC,WAAsB,EAAE;IAC9B,MAAMC,kBAAkBL,SAAS,MAAM,CAAC,CAACM,IAAMA,AAAe,mBAAfA,EAAE,QAAQ;IACzD,MAAMC,oBAAoBP,SAAS,MAAM,CAAC,CAACM,IAAMA,AAAe,qBAAfA,EAAE,QAAQ;IAC3D,MAAME,oBAA8BC,OAAOJ,gBAAgB,GAAG,CAAC,CAACC,IAAOA,EAAsB,SAAS;IACtG,MAAMI,sBAAgCD,OAAOF,kBAAkB,GAAG,CAAC,CAACD,IAAOA,EAAsB,SAAS;IAE1G,IAAI,CAACE,kBAAkB,MAAM,EAC3BA,kBAAkB,IAAI,CAACG,wBAAwB,OAAO;IAGxD,IAAI,CAACD,oBAAoB,MAAM,EAC7BA,oBAAoB,IAAI,CAACC,wBAAwB,SAAS;IAG5DH,kBAAkB,OAAO,CAAC,CAACT;QACzB,MAAMa,gBAAgBC,sBACpBhB,SACAiB,SAASb,YAAY,CAACc,OAAoBA,KAAK,EAAE,GACjDD,SACET,gBAAgB,MAAM,CAAC,CAACC,IAAOA,EAAsB,SAAS,KAAMP,YACpE,CAACgB,OAAkBA,KAAK,EAAE,GAE5BjB,UACA;YACE,eAAe;YACf,kBAAkBkB;YAClB,gBAAgBC,kBAAkBxB,eAAgCG;QACpE;QAGFQ,SAAS,IAAI,CAACQ,cAAc,OAAO;QACnCV,aAAa,IAAI,CAACU,cAAc,QAAQ;QACxCT,eAAe,IAAI,CAACS,cAAc,UAAU;IAC9C;IAEAF,oBAAoB,OAAO,CAAC,CAACX;QAC3B,MAAMmB,kBAAkBL,sBACtBhB,SACAiB,SAASb,YAAY,CAACc,OAAoBA,KAAK,EAAE,GACjDD,SACEP,kBAAkB,MAAM,CAAC,CAACD,IAAOA,EAAsB,SAAS,KAAMP,YACtE,CAACgB,OAAkBA,KAAK,EAAE,GAE5BjB,UACA;YACE,eAAe;YACf,kBAAkBqB;YAClB,gBAAgBF,kBAAkBxB,eAAgCG;QACpE;QAGFQ,SAAS,IAAI,CAACc,gBAAgB,OAAO;QACrChB,aAAa,IAAI,CAACgB,gBAAgB,QAAQ;QAC1Cf,eAAe,IAAI,CAACe,gBAAgB,UAAU;IAChD;IAEA,MAAME,aAAyB;QAC7B,GAAGjB,cAAc,CAAC,EAAE;QACpB,YAAYA,eAAe,OAAO,CAAC,CAACkB,IAAMA,EAAE,UAAU;QACtD,YAAYlB,eAAe,MAAM,CAAC,CAACmB,MAAMC,MAAS;gBAAE,GAAGD,IAAI;gBAAE,GAAGC,IAAI,UAAU;YAAC,IAAI,CAAC;IACtF;IAEA,OAAO;QACL,GAAG5B,MAAM;QACT,SAASS;QACT,oBAAoB;YAClB;gBACE,IAAIoB,OAAOzB;gBACX,OAAO;gBACP,UAAUG,YAAY,CAAC,EAAE;gBACzB,cAAcA;gBACd,YAAYkB;YACd;SACD;IACH;AACF"}
@@ -1,7 +1,6 @@
1
1
  import { uniqueBy } from "remeda";
2
2
  import { dataReshapeByEncoding } from "../../../../../dataReshape/index.js";
3
3
  import { getColorMeasureId } from "../../../../spec/chart/pipes/index.js";
4
- import { findAllMeasures } from "../../../../utils/index.js";
5
4
  const reshapeWithEncoding = (advancedVSeed, context)=>{
6
5
  const result = {
7
6
  ...advancedVSeed
@@ -10,7 +9,7 @@ const reshapeWithEncoding = (advancedVSeed, context)=>{
10
9
  const { dataset, chartType } = vseed;
11
10
  const { encoding } = advancedVSeed;
12
11
  const colorMeasureId = getColorMeasureId(advancedVSeed, vseed);
13
- const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, uniqueBy(advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [], (item)=>item.id), uniqueBy(findAllMeasures(advancedVSeed.reshapeMeasures ?? advancedVSeed.measures), (item)=>item.id), encoding, {
12
+ const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, uniqueBy(advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [], (item)=>item.id), uniqueBy(advancedVSeed.reshapeMeasures?.[0] ?? [], (item)=>item.id), encoding, {
14
13
  colorItemAsId: false,
15
14
  colorMeasureId
16
15
  });