@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,22 +1,5 @@
1
1
  import { DUAL_AXIS_CHART_COLUMN_Z_INDEX, DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX } from "../../../../utils/constant.js";
2
- const DEFAULT_DUAL_CHART_TYPE = {
3
- primary: 'column',
4
- secondary: 'line'
5
- };
6
- const dualChartTypePrimary = (spec, context)=>{
7
- const result = {
8
- ...spec,
9
- zIndex: DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX
10
- };
11
- const { advancedVSeed, vseed } = context;
12
- const { chartType } = vseed;
13
- const { datasetReshapeInfo } = advancedVSeed;
14
- const index = datasetReshapeInfo[0].index;
15
- const config = advancedVSeed.config?.[chartType]?.dualChartType || DEFAULT_DUAL_CHART_TYPE;
16
- const primary = (Array.isArray(config) ? config[index]?.primary || config[0]?.primary : config.primary) ?? DEFAULT_DUAL_CHART_TYPE.primary;
17
- const secondary = (Array.isArray(config) ? config[index]?.secondary || config[0]?.secondary : config.secondary) ?? DEFAULT_DUAL_CHART_TYPE.secondary;
18
- const bothColumn = 'column' === primary && 'column' === secondary;
19
- const type = bothColumn ? 'columnParallel' : primary;
2
+ function applyChartType(result, type, datasetReshapeInfo) {
20
3
  switch(type){
21
4
  case 'line':
22
5
  result.type = 'line';
@@ -53,64 +36,22 @@ const dualChartTypePrimary = (spec, context)=>{
53
36
  result.type = 'scatter';
54
37
  break;
55
38
  default:
56
- result.type = primary;
39
+ result.type = type;
57
40
  }
58
- return result;
59
- };
60
- const dualChartTypeSecondary = (spec, context)=>{
61
- const result = {
62
- ...spec,
63
- zIndex: DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX
41
+ }
42
+ const dualChartType = (options)=>(spec, context)=>{
43
+ const result = {
44
+ ...spec,
45
+ zIndex: DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX
46
+ };
47
+ const { advancedVSeed } = context;
48
+ const { datasetReshapeInfo, reshapeMeasures = [] } = advancedVSeed;
49
+ const index = datasetReshapeInfo[0].index;
50
+ const chartTypes = reshapeMeasures[index].map((m)=>m.chartType);
51
+ const type = chartTypes.every((ct)=>'column' === ct) && reshapeMeasures[index].length > 1 && reshapeMeasures[index].some((m)=>'primaryYAxis' === m.encoding) && reshapeMeasures[index].some((m)=>'secondaryYAxis' === m.encoding) ? 'columnParallel' : options.chartType;
52
+ applyChartType(result, type, datasetReshapeInfo);
53
+ return result;
64
54
  };
65
- const { advancedVSeed, vseed } = context;
66
- const { chartType } = vseed;
67
- const { datasetReshapeInfo } = advancedVSeed;
68
- const config = advancedVSeed.config?.[chartType]?.dualChartType || DEFAULT_DUAL_CHART_TYPE;
69
- const index = datasetReshapeInfo[0].index;
70
- const primary = (Array.isArray(config) ? config[index]?.primary || config[0]?.primary : config.primary) ?? DEFAULT_DUAL_CHART_TYPE.primary;
71
- const secondary = (Array.isArray(config) ? config[index]?.secondary || config[0]?.secondary : config.secondary) ?? DEFAULT_DUAL_CHART_TYPE.secondary;
72
- const bothColumn = 'column' === primary && 'column' === secondary;
73
- const type = bothColumn ? 'columnParallel' : secondary;
74
- switch(type){
75
- case 'line':
76
- result.type = 'line';
77
- break;
78
- case 'column':
79
- result.type = 'bar';
80
- result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX;
81
- break;
82
- case 'columnParallel':
83
- {
84
- const columnSpec = result;
85
- if (Array.isArray(columnSpec.xField)) columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.encodingDetail);
86
- else if (columnSpec.xField) columnSpec.xField = [
87
- columnSpec.xField,
88
- datasetReshapeInfo[0].unfoldInfo.encodingDetail
89
- ];
90
- columnSpec.type = 'bar';
91
- result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX;
92
- break;
93
- }
94
- case 'columnPercent':
95
- result.type = 'bar';
96
- result.percent = true;
97
- result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX;
98
- break;
99
- case 'area':
100
- result.type = 'area';
101
- break;
102
- case 'areaPercent':
103
- result.type = 'area';
104
- result.percent = true;
105
- break;
106
- case 'scatter':
107
- result.type = 'scatter';
108
- break;
109
- default:
110
- result.type = secondary ?? DEFAULT_DUAL_CHART_TYPE.secondary;
111
- }
112
- return result;
113
- };
114
- export { dualChartTypePrimary, dualChartTypeSecondary };
55
+ export { dualChartType };
115
56
 
116
57
  //# sourceMappingURL=dualChartType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/dual/dualChartType.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/dual/dualChartType.ts"],"sourcesContent":["import type { IBarSeriesSpec, ISeriesSpec } from '@visactor/vchart'\nimport { DUAL_AXIS_CHART_COLUMN_Z_INDEX, DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX } from 'src/pipeline/utils/constant'\nimport type { DualChartType, VChartSpecPipe } from 'src/types'\n\nconst DEFAULT_DUAL_CHART_TYPE: DualChartType = {\n primary: 'column',\n secondary: 'line',\n}\n\nexport const dualChartTypePrimary: VChartSpecPipe = (spec, context) => {\n const result = { ...spec, zIndex: DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX } as ISeriesSpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const { datasetReshapeInfo } = advancedVSeed\n const index = datasetReshapeInfo[0].index\n\n const config = advancedVSeed.config?.[chartType as 'dualAxis']?.dualChartType || DEFAULT_DUAL_CHART_TYPE\n\n const primary =\n (Array.isArray(config) ? config[index]?.primary || config[0]?.primary : config.primary) ??\n DEFAULT_DUAL_CHART_TYPE.primary\n const secondary =\n (Array.isArray(config) ? config[index]?.secondary || config[0]?.secondary : config.secondary) ??\n DEFAULT_DUAL_CHART_TYPE.secondary\n const bothColumn = primary === 'column' && secondary === 'column'\n const type = bothColumn ? 'columnParallel' : primary\n switch (type) {\n case 'line': {\n result.type = 'line'\n break\n }\n case 'column': {\n result.type = 'bar'\n result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX\n break\n }\n case 'columnParallel': {\n const columnSpec = result as IBarSeriesSpec\n if (Array.isArray(columnSpec.xField)) {\n columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.encodingDetail)\n } else if (columnSpec.xField) {\n columnSpec.xField = [columnSpec.xField, datasetReshapeInfo[0].unfoldInfo.encodingDetail]\n }\n columnSpec.type = 'bar'\n result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX\n break\n }\n // @ts-expect-error 'columnPercent' 和 'areaPercent' 会改变轴值域为[0,1], VTable不支持.\n case 'columnPercent': {\n result.type = 'bar'\n result.percent = true\n result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX\n break\n }\n case 'area': {\n result.type = 'area'\n break\n }\n // @ts-expect-error 'columnPercent' 和 'areaPercent' 会改变轴值域为[0,1], VTable不支持.\n case 'areaPercent': {\n result.type = 'area'\n result.percent = true\n break\n }\n case 'scatter': {\n result.type = 'scatter'\n break\n }\n default:\n result.type = primary\n }\n\n return result\n}\n\nexport const dualChartTypeSecondary: VChartSpecPipe = (spec, context) => {\n const result = { ...spec, zIndex: DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX } as ISeriesSpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const { datasetReshapeInfo } = advancedVSeed\n const config = advancedVSeed.config?.[chartType as 'dualAxis']?.dualChartType || DEFAULT_DUAL_CHART_TYPE\n\n const index = datasetReshapeInfo[0].index\n const primary =\n (Array.isArray(config) ? config[index]?.primary || config[0]?.primary : config.primary) ??\n DEFAULT_DUAL_CHART_TYPE.primary\n const secondary =\n (Array.isArray(config) ? config[index]?.secondary || config[0]?.secondary : config.secondary) ??\n DEFAULT_DUAL_CHART_TYPE.secondary\n const bothColumn = primary === 'column' && secondary === 'column'\n const type = bothColumn ? 'columnParallel' : secondary\n\n switch (type) {\n case 'line': {\n result.type = 'line'\n break\n }\n case 'column': {\n result.type = 'bar'\n result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX\n break\n }\n case 'columnParallel': {\n const columnSpec = result as IBarSeriesSpec\n if (Array.isArray(columnSpec.xField)) {\n columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.encodingDetail)\n } else if (columnSpec.xField) {\n columnSpec.xField = [columnSpec.xField, datasetReshapeInfo[0].unfoldInfo.encodingDetail]\n }\n columnSpec.type = 'bar'\n result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX\n break\n }\n // @ts-expect-error 'columnPercent' 和 'areaPercent' 会改变轴值域为[0,1], VTable不支持.\n case 'columnPercent': {\n result.type = 'bar'\n result.percent = true\n result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX\n break\n }\n case 'area': {\n result.type = 'area'\n break\n }\n // @ts-expect-error 'columnPercent' 和 'areaPercent' 会改变轴值域为[0,1], VTable不支持.\n case 'areaPercent': {\n result.type = 'area'\n result.percent = true\n break\n }\n case 'scatter': {\n result.type = 'scatter'\n break\n }\n default:\n result.type = secondary ?? DEFAULT_DUAL_CHART_TYPE.secondary\n }\n\n return result\n}\n"],"names":["DEFAULT_DUAL_CHART_TYPE","dualChartTypePrimary","spec","context","result","DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX","advancedVSeed","vseed","chartType","datasetReshapeInfo","index","config","primary","Array","secondary","bothColumn","type","DUAL_AXIS_CHART_COLUMN_Z_INDEX","columnSpec","dualChartTypeSecondary"],"mappings":"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"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/dual/dualChartType.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/dual/dualChartType.ts"],"sourcesContent":["import type { IBarSeriesSpec, ISeriesSpec } from '@visactor/vchart'\nimport { DUAL_AXIS_CHART_COLUMN_Z_INDEX, DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX } from 'src/pipeline/utils/constant'\nimport type { DualAxisMeasure, VChartSpecPipe } from 'src/types'\nimport type { DualAxisOptions } from 'src/types/properties'\n\n/**\n * 应用图表类型到 spec\n * @param result spec 结果对象\n * @param type 图表类型\n * @param datasetReshapeInfo 数据集重塑信息\n */\nfunction applyChartType(result: ISeriesSpec, type: string, datasetReshapeInfo: any): void {\n switch (type) {\n case 'line': {\n result.type = 'line'\n break\n }\n case 'column': {\n result.type = 'bar'\n result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX\n break\n }\n case 'columnParallel': {\n const columnSpec = result as IBarSeriesSpec\n if (Array.isArray(columnSpec.xField)) {\n columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.encodingDetail)\n } else if (columnSpec.xField) {\n columnSpec.xField = [columnSpec.xField, datasetReshapeInfo[0].unfoldInfo.encodingDetail]\n }\n columnSpec.type = 'bar'\n result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX\n break\n }\n case 'columnPercent': {\n result.type = 'bar'\n result.percent = true\n result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX\n break\n }\n case 'area': {\n result.type = 'area'\n break\n }\n case 'areaPercent': {\n result.type = 'area'\n result.percent = true\n break\n }\n case 'scatter': {\n result.type = 'scatter'\n break\n }\n default:\n result.type = type\n }\n}\n\nexport const dualChartType = (options: DualAxisOptions): VChartSpecPipe => {\n return (spec, context) => {\n const result = { ...spec, zIndex: DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX } as ISeriesSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo, reshapeMeasures = [] } = advancedVSeed\n const index = datasetReshapeInfo[0].index\n\n const chartTypes = reshapeMeasures[index].map((m) => (m as DualAxisMeasure).chartType) as string[]\n\n const type =\n chartTypes.every((ct) => ct === 'column') &&\n reshapeMeasures[index].length > 1 &&\n reshapeMeasures[index].some((m) => m.encoding === 'primaryYAxis') &&\n reshapeMeasures[index].some((m) => m.encoding === 'secondaryYAxis')\n ? 'columnParallel'\n : options.chartType\n\n applyChartType(result, type, datasetReshapeInfo)\n\n return result\n }\n}\n"],"names":["applyChartType","result","type","datasetReshapeInfo","DUAL_AXIS_CHART_COLUMN_Z_INDEX","columnSpec","Array","dualChartType","options","spec","context","DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX","advancedVSeed","reshapeMeasures","index","chartTypes","m","ct"],"mappings":";AAWA,SAASA,eAAeC,MAAmB,EAAEC,IAAY,EAAEC,kBAAuB;IAChF,OAAQD;QACN,KAAK;YACHD,OAAO,IAAI,GAAG;YACd;QAEF,KAAK;YACHA,OAAO,IAAI,GAAG;YACdA,OAAO,MAAM,GAAGG;YAChB;QAEF,KAAK;YAAkB;gBACrB,MAAMC,aAAaJ;gBACnB,IAAIK,MAAM,OAAO,CAACD,WAAW,MAAM,GACjCA,WAAW,MAAM,CAAC,IAAI,CAACF,kBAAkB,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc;qBACjE,IAAIE,WAAW,MAAM,EAC1BA,WAAW,MAAM,GAAG;oBAACA,WAAW,MAAM;oBAAEF,kBAAkB,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc;iBAAC;gBAE1FE,WAAW,IAAI,GAAG;gBAClBJ,OAAO,MAAM,GAAGG;gBAChB;YACF;QACA,KAAK;YACHH,OAAO,IAAI,GAAG;YACdA,OAAO,OAAO,GAAG;YACjBA,OAAO,MAAM,GAAGG;YAChB;QAEF,KAAK;YACHH,OAAO,IAAI,GAAG;YACd;QAEF,KAAK;YACHA,OAAO,IAAI,GAAG;YACdA,OAAO,OAAO,GAAG;YACjB;QAEF,KAAK;YACHA,OAAO,IAAI,GAAG;YACd;QAEF;YACEA,OAAO,IAAI,GAAGC;IAClB;AACF;AAEO,MAAMK,gBAAgB,CAACC,UACrB,CAACC,MAAMC;QACZ,MAAMT,SAAS;YAAE,GAAGQ,IAAI;YAAE,QAAQE;QAAmC;QACrE,MAAM,EAAEC,aAAa,EAAE,GAAGF;QAC1B,MAAM,EAAEP,kBAAkB,EAAEU,kBAAkB,EAAE,EAAE,GAAGD;QACrD,MAAME,QAAQX,kBAAkB,CAAC,EAAE,CAAC,KAAK;QAEzC,MAAMY,aAAaF,eAAe,CAACC,MAAM,CAAC,GAAG,CAAC,CAACE,IAAOA,EAAsB,SAAS;QAErF,MAAMd,OACJa,WAAW,KAAK,CAAC,CAACE,KAAOA,AAAO,aAAPA,OACzBJ,eAAe,CAACC,MAAM,CAAC,MAAM,GAAG,KAChCD,eAAe,CAACC,MAAM,CAAC,IAAI,CAAC,CAACE,IAAMA,AAAe,mBAAfA,EAAE,QAAQ,KAC7CH,eAAe,CAACC,MAAM,CAAC,IAAI,CAAC,CAACE,IAAMA,AAAe,qBAAfA,EAAE,QAAQ,IACzC,mBACAR,QAAQ,SAAS;QAEvBR,eAAeC,QAAQC,MAAMC;QAE7B,OAAOF;IACT"}
@@ -1 +1 @@
1
- export { dualChartTypePrimary, dualChartTypeSecondary } from './dualChartType';
1
+ export { dualChartType } from './dualChartType';
@@ -1,2 +1,2 @@
1
- import { dualChartTypePrimary, dualChartTypeSecondary } from "./dualChartType.js";
2
- export { dualChartTypePrimary, dualChartTypeSecondary };
1
+ import { dualChartType } from "./dualChartType.js";
2
+ export { dualChartType };
@@ -1,3 +1,2 @@
1
- import type { VChartSpecPipe } from '../../../../../types';
2
- export declare const initDualAxisPrimary: VChartSpecPipe;
3
- export declare const initDualAxisSecondary: VChartSpecPipe;
1
+ import type { DualAxisOptions, VChartSpecPipe } from '../../../../../types';
2
+ export declare const initDualAxis: (options: DualAxisOptions) => VChartSpecPipe;
@@ -1,36 +1,20 @@
1
1
  import { isLinearColor } from "../color/colorAdapter.js";
2
- const initDualAxisPrimary = (spec, context)=>{
3
- const result = {
4
- ...spec
2
+ const initDualAxis = (options)=>(spec, context)=>{
3
+ const result = {
4
+ ...spec
5
+ };
6
+ const { advancedVSeed, vseed } = context;
7
+ const { datasetReshapeInfo } = advancedVSeed;
8
+ const { unfoldInfo, id } = datasetReshapeInfo[0];
9
+ result.id = `${id}-${options.axisType}-${options.chartType}`;
10
+ result.type = 'line' === options.chartType ? 'line' : 'bar';
11
+ result.direction = 'vertical';
12
+ result.xField = unfoldInfo.encodingX;
13
+ result.seriesField = isLinearColor(advancedVSeed, vseed) ? unfoldInfo.encodingDetail : unfoldInfo.encodingColorId;
14
+ result.yField = options.foldInfo.measureValue;
15
+ result.animation = true;
16
+ return result;
5
17
  };
6
- const { advancedVSeed } = context;
7
- const { datasetReshapeInfo } = advancedVSeed;
8
- const { unfoldInfo, foldInfoList, id } = datasetReshapeInfo[0];
9
- result.id = `${id}-primary-series`;
10
- result.type = 'bar';
11
- result.direction = 'vertical';
12
- result.xField = unfoldInfo.encodingX;
13
- result.seriesField = unfoldInfo.encodingColorId;
14
- result.yField = foldInfoList?.[0].measureValue;
15
- result.animation = true;
16
- return result;
17
- };
18
- const initDualAxisSecondary = (spec, context)=>{
19
- const result = {
20
- ...spec
21
- };
22
- const { advancedVSeed, vseed } = context;
23
- const { datasetReshapeInfo } = advancedVSeed;
24
- const { unfoldInfo, foldInfoList, id } = datasetReshapeInfo[0];
25
- result.id = `${id}-secondary-series`;
26
- result.type = 'line';
27
- result.direction = 'vertical';
28
- result.xField = unfoldInfo.encodingX;
29
- if (foldInfoList?.[1]) result.yField = foldInfoList[1].measureValue;
30
- result.seriesField = isLinearColor(advancedVSeed, vseed) ? unfoldInfo.encodingDetail : unfoldInfo.encodingColorId;
31
- result.animation = true;
32
- return result;
33
- };
34
- export { initDualAxisPrimary, initDualAxisSecondary };
18
+ export { initDualAxis };
35
19
 
36
20
  //# sourceMappingURL=dualAxis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/init/dualAxis.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/init/dualAxis.ts"],"sourcesContent":["import type { IBarSeriesSpec, ILineSeriesSpec } from '@visactor/vchart'\nimport type { VChartSpecPipe } from 'src/types'\nimport { isLinearColor } from '../color/colorAdapter'\n\nexport const initDualAxisPrimary: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IBarSeriesSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo, foldInfoList, id } = datasetReshapeInfo[0]\n\n result.id = `${id}-primary-series`\n result.type = 'bar'\n result.direction = 'vertical'\n result.xField = unfoldInfo.encodingX\n result.seriesField = unfoldInfo.encodingColorId\n\n result.yField = foldInfoList?.[0].measureValue\n result.animation = true\n\n return result\n}\n\nexport const initDualAxisSecondary: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as ILineSeriesSpec\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo, foldInfoList, id } = datasetReshapeInfo[0]\n\n result.id = `${id}-secondary-series`\n result.type = 'line'\n result.direction = 'vertical'\n result.xField = unfoldInfo.encodingX\n if (foldInfoList?.[1]) {\n result.yField = foldInfoList[1].measureValue\n }\n\n result.seriesField = isLinearColor(advancedVSeed, vseed) ? unfoldInfo.encodingDetail : unfoldInfo.encodingColorId\n\n result.animation = true\n\n return result\n}\n"],"names":["initDualAxisPrimary","spec","context","result","advancedVSeed","datasetReshapeInfo","unfoldInfo","foldInfoList","id","initDualAxisSecondary","vseed","isLinearColor"],"mappings":";AAIO,MAAMA,sBAAsC,CAACC,MAAMC;IACxD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,kBAAkB,EAAE,GAAGD;IAC/B,MAAM,EAAEE,UAAU,EAAEC,YAAY,EAAEC,EAAE,EAAE,GAAGH,kBAAkB,CAAC,EAAE;IAE9DF,OAAO,EAAE,GAAG,GAAGK,GAAG,eAAe,CAAC;IAClCL,OAAO,IAAI,GAAG;IACdA,OAAO,SAAS,GAAG;IACnBA,OAAO,MAAM,GAAGG,WAAW,SAAS;IACpCH,OAAO,WAAW,GAAGG,WAAW,eAAe;IAE/CH,OAAO,MAAM,GAAGI,cAAc,CAAC,EAAE,CAAC;IAClCJ,OAAO,SAAS,GAAG;IAEnB,OAAOA;AACT;AAEO,MAAMM,wBAAwC,CAACR,MAAMC;IAC1D,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEM,KAAK,EAAE,GAAGR;IACjC,MAAM,EAAEG,kBAAkB,EAAE,GAAGD;IAC/B,MAAM,EAAEE,UAAU,EAAEC,YAAY,EAAEC,EAAE,EAAE,GAAGH,kBAAkB,CAAC,EAAE;IAE9DF,OAAO,EAAE,GAAG,GAAGK,GAAG,iBAAiB,CAAC;IACpCL,OAAO,IAAI,GAAG;IACdA,OAAO,SAAS,GAAG;IACnBA,OAAO,MAAM,GAAGG,WAAW,SAAS;IACpC,IAAIC,cAAc,CAAC,EAAE,EACnBJ,OAAO,MAAM,GAAGI,YAAY,CAAC,EAAE,CAAC,YAAY;IAG9CJ,OAAO,WAAW,GAAGQ,cAAcP,eAAeM,SAASJ,WAAW,cAAc,GAAGA,WAAW,eAAe;IAEjHH,OAAO,SAAS,GAAG;IAEnB,OAAOA;AACT"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/init/dualAxis.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/init/dualAxis.ts"],"sourcesContent":["import type { IBarSeriesSpec, ILineSeriesSpec } from '@visactor/vchart'\nimport type { DualAxisOptions, VChartSpecPipe } from 'src/types'\nimport { isLinearColor } from '../color/colorAdapter'\n\nexport const initDualAxis = (options: DualAxisOptions): VChartSpecPipe => {\n return (spec, context) => {\n const result = { ...spec } as IBarSeriesSpec | ILineSeriesSpec\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo, id } = datasetReshapeInfo[0]\n\n result.id = `${id}-${options.axisType}-${options.chartType}`\n result.type = options.chartType === 'line' ? 'line' : 'bar'\n result.direction = 'vertical'\n result.xField = unfoldInfo.encodingX\n result.seriesField = isLinearColor(advancedVSeed, vseed) ? unfoldInfo.encodingDetail : unfoldInfo.encodingColorId\n\n result.yField = options.foldInfo.measureValue\n\n result.animation = true\n\n return result\n }\n}\n"],"names":["initDualAxis","options","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","unfoldInfo","id","isLinearColor"],"mappings":";AAIO,MAAMA,eAAe,CAACC,UACpB,CAACC,MAAMC;QACZ,MAAMC,SAAS;YAAE,GAAGF,IAAI;QAAC;QACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;QACjC,MAAM,EAAEI,kBAAkB,EAAE,GAAGF;QAC/B,MAAM,EAAEG,UAAU,EAAEC,EAAE,EAAE,GAAGF,kBAAkB,CAAC,EAAE;QAEhDH,OAAO,EAAE,GAAG,GAAGK,GAAG,CAAC,EAAER,QAAQ,QAAQ,CAAC,CAAC,EAAEA,QAAQ,SAAS,EAAE;QAC5DG,OAAO,IAAI,GAAGH,AAAsB,WAAtBA,QAAQ,SAAS,GAAc,SAAS;QACtDG,OAAO,SAAS,GAAG;QACnBA,OAAO,MAAM,GAAGI,WAAW,SAAS;QACpCJ,OAAO,WAAW,GAAGM,cAAcL,eAAeC,SAASE,WAAW,cAAc,GAAGA,WAAW,eAAe;QAEjHJ,OAAO,MAAM,GAAGH,QAAQ,QAAQ,CAAC,YAAY;QAE7CG,OAAO,SAAS,GAAG;QAEnB,OAAOA;IACT"}
@@ -12,6 +12,6 @@ export { initScatter } from './scatter';
12
12
  export { initRadar } from './radar';
13
13
  export { initFunnel } from './funnel';
14
14
  export { initPivot } from './pivot';
15
- export { initDualAxisPrimary, initDualAxisSecondary } from './dualAxis';
15
+ export { initDualAxis } from './dualAxis';
16
16
  export { initHistogram } from './histogram';
17
17
  export { initBoxplot } from './boxplot';
@@ -12,7 +12,7 @@ import { initScatter } from "./scatter.js";
12
12
  import { initRadar } from "./radar.js";
13
13
  import { initFunnel } from "./funnel.js";
14
14
  import { initPivot } from "./pivot.js";
15
- import { initDualAxisPrimary, initDualAxisSecondary } from "./dualAxis.js";
15
+ import { initDualAxis } from "./dualAxis.js";
16
16
  import { initHistogram } from "./histogram.js";
17
17
  import { initBoxplot } from "./boxplot.js";
18
- export { initArea, initBar, initBarParallel, initBoxplot, initColumn, initColumnParallel, initDonut, initDualAxisPrimary, initDualAxisSecondary, initFunnel, initHistogram, initLine, initPie, initPivot, initRadar, initRose, initRoseParallel, initScatter };
18
+ export { initArea, initBar, initBarParallel, initBoxplot, initColumn, initColumnParallel, initDonut, initDualAxis, initFunnel, initHistogram, initLine, initPie, initPivot, initRadar, initRose, initRoseParallel, initScatter };
@@ -1,5 +1,5 @@
1
1
  export { label } from './label';
2
- export { labelPrimary, labelSecondary } from './labelDualAxis';
2
+ export { labelDualAxis } from './labelDualAxis';
3
3
  export { labelScatter } from './labelScatter';
4
4
  export { labelPie } from './labelPie';
5
5
  export { labelBoxPlot } from './labelBoxPlot';
@@ -1,6 +1,6 @@
1
1
  import { label } from "./label.js";
2
- import { labelPrimary, labelSecondary } from "./labelDualAxis.js";
2
+ import { labelDualAxis } from "./labelDualAxis.js";
3
3
  import { labelScatter } from "./labelScatter.js";
4
4
  import { labelPie } from "./labelPie.js";
5
5
  import { labelBoxPlot } from "./labelBoxPlot.js";
6
- export { label, labelBoxPlot, labelPie, labelPrimary, labelScatter, labelSecondary };
6
+ export { label, labelBoxPlot, labelDualAxis, labelPie, labelScatter };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/label/label.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/label.ts"],"sourcesContent":["import type { ILineChartSpec } from '@visactor/vchart'\nimport { createFormatter, createFormatterByMeasure, DATUM_HIDE_KEY, findMeasureById } from '../../../../utils'\nimport type {\n Datum,\n Dimension,\n Dimensions,\n Encoding,\n FoldInfo,\n Formatter,\n Label,\n Measure,\n Measures,\n NumFormat,\n VChartSpecPipe,\n} from 'src/types'\nimport { isNumber, merge, uniqueBy } from 'remeda'\nimport { selector } from 'src/dataSelector'\nimport { MeasureId } from 'src/dataReshape/constant'\n\nexport const label: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n const foldInfo = datasetReshapeInfo[0].foldInfo as FoldInfo\n\n const { label } = baseConfig\n\n result.label = buildLabel(\n label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions,\n advancedVSeed.measures,\n encoding as Encoding,\n [foldInfo],\n ) as unknown as ILineChartSpec['label']\n\n return result\n}\n\nexport const generateMeasureValue = (\n value: number | string,\n measure: Measure,\n labelAutoFormat?: boolean,\n numFormat: NumFormat = {},\n) => {\n const format = merge(numFormat, measure.numFormat || measure.format)\n const mergedMeasure = { ...measure, numFormat: format, autoFormat: labelAutoFormat || measure.autoFormat }\n\n const formatter = createFormatterByMeasure(mergedMeasure)\n return formatter(value)\n}\n\nexport const generateMeasurePercent = (value: number | string, sum: number, formatter: Formatter) => {\n if (value === undefined || value === null) return String(value)\n const num = Number(value)\n if (Number.isNaN(num)) return String(value)\n\n const percentValue = num / sum\n return formatter(percentValue)\n}\n\nexport const buildLabel = (\n label: Label,\n vseedMeasures: Measures = [],\n vseedDimensions: Dimensions = [],\n advancedVSeedDimensions: Dimensions,\n advancedVSeedMeasures: Measures,\n encoding: Encoding,\n foldInfoList: (Pick<FoldInfo, 'measureId' | 'measureValue'> & Partial<Pick<FoldInfo, 'statistics'>>)[],\n) => {\n const {\n enable,\n wrap,\n showValue,\n showValuePercent,\n showDimension,\n labelOverlap,\n labelColorSmartInvert,\n labelStroke,\n labelColor,\n labelFontSize,\n labelFontWeight,\n labelBackgroundColor,\n labelPosition,\n autoFormat,\n numFormat = {},\n } = label\n\n const hasDimLabelEncoding = vseedDimensions.some((item) => encoding.label?.includes(item.id))\n\n const labelDims = uniqueBy(\n hasDimLabelEncoding\n ? vseedDimensions.filter((item) => encoding.label?.includes(item.id))\n : showDimension\n ? advancedVSeedDimensions.filter((d) => d.id !== MeasureId && d.encoding !== 'row' && d.encoding !== 'column')\n : [],\n (item: Dimension) => item.id,\n )\n\n const labelMeas = uniqueBy(\n vseedMeasures.filter((item) => encoding.label?.includes(item.id)),\n (item: Measure) => item.id,\n )\n\n const percentFormat: NumFormat = merge(numFormat, {\n type: 'percent',\n } as NumFormat)\n\n const percentFormatter = createFormatter(percentFormat)\n\n const result = {\n visible: enable,\n dataFilter: (data: Datum[]) => {\n return data.filter((entry) => {\n return entry.data?.[DATUM_HIDE_KEY] !== true && selector(entry.data as Datum, label.selector, 'Or')\n })\n },\n formatMethod: (_: unknown, datum: Datum) => {\n const result = []\n\n const dimLabels = labelDims.map((item: Dimension) => {\n const id = item.id\n return datum[id] as number | string\n })\n\n const meaLabels = labelMeas.map((item: Measure) =>\n generateMeasureValue(datum[item.id] as number | string, item, autoFormat, numFormat),\n )\n\n result.push(...dimLabels)\n\n foldInfoList.forEach((foldInfo) => {\n const { measureId, measureValue, statistics } = foldInfo\n const measure = findMeasureById(advancedVSeedMeasures, datum[measureId] as string)\n if (measure) {\n const measureValueLabel = generateMeasureValue(\n datum[measureValue] as number | string,\n measure,\n autoFormat,\n numFormat,\n )\n\n if (showValue) {\n result.push(measureValueLabel)\n }\n if (showValuePercent) {\n if (isNumber(datum['__VCHART_ARC_RATIO'])) {\n // 饼图/环图需要使用实际占比数据\n result.push(generateMeasurePercent(datum['__VCHART_ARC_RATIO'], 1, percentFormatter))\n } else if (statistics && isNumber(statistics.sum)) {\n result.push(\n generateMeasurePercent(datum[measureValue] as number | string, statistics.sum, percentFormatter),\n )\n }\n }\n }\n })\n\n result.push(...meaLabels)\n\n if (wrap) {\n return result\n }\n return result.join(' ')\n },\n position: labelPosition,\n style: {\n stroke: labelStroke,\n fill: labelColor,\n fontSize: labelFontSize,\n fontWeight: labelFontWeight,\n background: labelBackgroundColor,\n },\n smartInvert: labelColorSmartInvert,\n }\n\n if (labelOverlap) {\n ;(result as any).overlap = {\n hideOnHit: true,\n clampForce: true,\n }\n }\n\n return result\n}\n"],"names":["label","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","chartType","encoding","baseConfig","foldInfo","buildLabel","generateMeasureValue","value","measure","labelAutoFormat","numFormat","format","merge","mergedMeasure","formatter","createFormatterByMeasure","generateMeasurePercent","sum","String","num","Number","percentValue","vseedMeasures","vseedDimensions","advancedVSeedDimensions","advancedVSeedMeasures","foldInfoList","enable","wrap","showValue","showValuePercent","showDimension","labelOverlap","labelColorSmartInvert","labelStroke","labelColor","labelFontSize","labelFontWeight","labelBackgroundColor","labelPosition","autoFormat","hasDimLabelEncoding","item","labelDims","uniqueBy","d","MeasureId","labelMeas","percentFormat","percentFormatter","createFormatter","data","entry","DATUM_HIDE_KEY","selector","_","datum","dimLabels","id","meaLabels","measureId","measureValue","statistics","findMeasureById","measureValueLabel","isNumber"],"mappings":"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"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/label/label.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/label.ts"],"sourcesContent":["import type { ILineChartSpec } from '@visactor/vchart'\nimport { createFormatter, createFormatterByMeasure, DATUM_HIDE_KEY, findMeasureById } from '../../../../utils'\nimport type {\n Datum,\n Dimension,\n Dimensions,\n Encoding,\n FoldInfo,\n Formatter,\n Label,\n Measure,\n Measures,\n NumFormat,\n VChartSpecPipe,\n} from 'src/types'\nimport { isNumber, merge, uniqueBy } from 'remeda'\nimport { selector } from 'src/dataSelector'\nimport { MeasureId } from 'src/dataReshape/constant'\n\nexport const label: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n const foldInfo = datasetReshapeInfo[0].foldInfo as FoldInfo\n\n const { label } = baseConfig\n\n result.label = buildLabel(\n label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions!,\n advancedVSeed.measures!,\n encoding as Encoding,\n [foldInfo],\n ) as unknown as ILineChartSpec['label']\n\n return result\n}\n\nexport const generateMeasureValue = (\n value: number | string,\n measure: Measure,\n labelAutoFormat?: boolean,\n numFormat: NumFormat = {},\n) => {\n const format = merge(numFormat, measure.numFormat || measure.format)\n const mergedMeasure = { ...measure, numFormat: format, autoFormat: labelAutoFormat || measure.autoFormat }\n\n const formatter = createFormatterByMeasure(mergedMeasure)\n return formatter(value)\n}\n\nexport const generateMeasurePercent = (value: number | string, sum: number, formatter: Formatter) => {\n if (value === undefined || value === null) return String(value)\n const num = Number(value)\n if (Number.isNaN(num)) return String(value)\n\n const percentValue = num / sum\n return formatter(percentValue)\n}\n\nexport const buildLabel = (\n label: Label,\n vseedMeasures: Measures = [],\n vseedDimensions: Dimensions = [],\n advancedVSeedDimensions: Dimensions,\n advancedVSeedMeasures: Measures,\n encoding: Encoding,\n foldInfoList: (Pick<FoldInfo, 'measureId' | 'measureValue'> & Partial<Pick<FoldInfo, 'statistics'>>)[],\n) => {\n const {\n enable,\n wrap,\n showValue,\n showValuePercent,\n showDimension,\n labelOverlap,\n labelColorSmartInvert,\n labelStroke,\n labelColor,\n labelFontSize,\n labelFontWeight,\n labelBackgroundColor,\n labelPosition,\n autoFormat,\n numFormat = {},\n } = label\n\n const hasDimLabelEncoding = vseedDimensions.some((item) => encoding.label?.includes(item.id))\n\n const labelDims = uniqueBy(\n hasDimLabelEncoding\n ? vseedDimensions.filter((item) => encoding.label?.includes(item.id))\n : showDimension\n ? advancedVSeedDimensions.filter((d) => d.id !== MeasureId && d.encoding !== 'row' && d.encoding !== 'column')\n : [],\n (item: Dimension) => item.id,\n )\n\n const labelMeas = uniqueBy(\n vseedMeasures.filter((item) => encoding.label?.includes(item.id)),\n (item: Measure) => item.id,\n )\n\n const percentFormat: NumFormat = merge(numFormat, {\n type: 'percent',\n } as NumFormat)\n\n const percentFormatter = createFormatter(percentFormat)\n\n const result = {\n visible: enable,\n dataFilter: (data: Datum[]) => {\n return data.filter((entry) => {\n return entry.data?.[DATUM_HIDE_KEY] !== true && selector(entry.data as Datum, label.selector, 'Or')\n })\n },\n formatMethod: (_: unknown, datum: Datum) => {\n const result = []\n\n const dimLabels = labelDims.map((item: Dimension) => {\n const id = item.id\n return datum[id] as number | string\n })\n\n const meaLabels = labelMeas.map((item: Measure) =>\n generateMeasureValue(datum[item.id] as number | string, item, autoFormat, numFormat),\n )\n\n result.push(...dimLabels)\n\n foldInfoList.forEach((foldInfo) => {\n const { measureId, measureValue, statistics } = foldInfo\n const measure = findMeasureById(advancedVSeedMeasures, datum[measureId] as string)\n if (measure) {\n const measureValueLabel = generateMeasureValue(\n datum[measureValue] as number | string,\n measure,\n autoFormat,\n numFormat,\n )\n\n if (showValue) {\n result.push(measureValueLabel)\n }\n if (showValuePercent) {\n if (isNumber(datum['__VCHART_ARC_RATIO'])) {\n // 饼图/环图需要使用实际占比数据\n result.push(generateMeasurePercent(datum['__VCHART_ARC_RATIO'], 1, percentFormatter))\n } else if (statistics && isNumber(statistics.sum)) {\n result.push(\n generateMeasurePercent(datum[measureValue] as number | string, statistics.sum, percentFormatter),\n )\n }\n }\n }\n })\n\n result.push(...meaLabels)\n\n if (wrap) {\n return result\n }\n return result.join(' ')\n },\n position: labelPosition,\n style: {\n stroke: labelStroke,\n fill: labelColor,\n fontSize: labelFontSize,\n fontWeight: labelFontWeight,\n background: labelBackgroundColor,\n },\n smartInvert: labelColorSmartInvert,\n }\n\n if (labelOverlap) {\n ;(result as any).overlap = {\n hideOnHit: true,\n clampForce: true,\n }\n }\n\n return result\n}\n"],"names":["label","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","chartType","encoding","baseConfig","foldInfo","buildLabel","generateMeasureValue","value","measure","labelAutoFormat","numFormat","format","merge","mergedMeasure","formatter","createFormatterByMeasure","generateMeasurePercent","sum","String","num","Number","percentValue","vseedMeasures","vseedDimensions","advancedVSeedDimensions","advancedVSeedMeasures","foldInfoList","enable","wrap","showValue","showValuePercent","showDimension","labelOverlap","labelColorSmartInvert","labelStroke","labelColor","labelFontSize","labelFontWeight","labelBackgroundColor","labelPosition","autoFormat","hasDimLabelEncoding","item","labelDims","uniqueBy","d","MeasureId","labelMeas","percentFormat","percentFormatter","createFormatter","data","entry","DATUM_HIDE_KEY","selector","_","datum","dimLabels","id","meaLabels","measureId","measureValue","statistics","findMeasureById","measureValueLabel","isNumber"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/label/labelBoxPlot.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/labelBoxPlot.ts"],"sourcesContent":["import type { IPieChartSpec } from '@visactor/vchart'\nimport type { Encoding, PieLabel, VChartSpecPipe } from 'src/types'\nimport { buildLabel } from './label'\nimport { FoldMeasureId, MedianMeasureId } from 'src/dataReshape/constant'\n\nexport const labelBoxPlot: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IPieChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: PieLabel }\n\n const { label } = baseConfig\n\n result.label = buildLabel(\n label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions,\n advancedVSeed.measures,\n encoding as Encoding,\n [\n {\n measureId: FoldMeasureId,\n measureValue: MedianMeasureId,\n },\n ],\n ) as unknown as IPieChartSpec['label']\n\n return result\n}\n"],"names":["labelBoxPlot","spec","context","result","advancedVSeed","vseed","chartType","encoding","baseConfig","label","buildLabel","FoldMeasureId","MedianMeasureId"],"mappings":";;AAKO,MAAMA,eAA+B,CAACC,MAAMC;IACjD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,SAAS,EAAEC,QAAQ,EAAE,GAAGH;IAChC,MAAMI,aAAaJ,cAAc,MAAM,CAACE,UAAU;IAElD,MAAM,EAAEG,KAAK,EAAE,GAAGD;IAElBL,OAAO,KAAK,GAAGO,WACbD,OACAJ,MAAM,QAAQ,EACdA,MAAM,UAAU,EAChBD,cAAc,UAAU,EACxBA,cAAc,QAAQ,EACtBG,UACA;QACE;YACE,WAAWI;YACX,cAAcC;QAChB;KACD;IAGH,OAAOT;AACT"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/label/labelBoxPlot.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/labelBoxPlot.ts"],"sourcesContent":["import type { IPieChartSpec } from '@visactor/vchart'\nimport type { Encoding, PieLabel, VChartSpecPipe } from 'src/types'\nimport { buildLabel } from './label'\nimport { FoldMeasureId, MedianMeasureId } from 'src/dataReshape/constant'\n\nexport const labelBoxPlot: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IPieChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: PieLabel }\n\n const { label } = baseConfig\n\n result.label = buildLabel(\n label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions!,\n advancedVSeed.measures!,\n encoding as Encoding,\n [\n {\n measureId: FoldMeasureId,\n measureValue: MedianMeasureId,\n },\n ],\n ) as unknown as IPieChartSpec['label']\n\n return result\n}\n"],"names":["labelBoxPlot","spec","context","result","advancedVSeed","vseed","chartType","encoding","baseConfig","label","buildLabel","FoldMeasureId","MedianMeasureId"],"mappings":";;AAKO,MAAMA,eAA+B,CAACC,MAAMC;IACjD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,SAAS,EAAEC,QAAQ,EAAE,GAAGH;IAChC,MAAMI,aAAaJ,cAAc,MAAM,CAACE,UAAU;IAElD,MAAM,EAAEG,KAAK,EAAE,GAAGD;IAElBL,OAAO,KAAK,GAAGO,WACbD,OACAJ,MAAM,QAAQ,EACdA,MAAM,UAAU,EAChBD,cAAc,UAAU,EACxBA,cAAc,QAAQ,EACtBG,UACA;QACE;YACE,WAAWI;YACX,cAAcC;QAChB;KACD;IAGH,OAAOT;AACT"}
@@ -1,3 +1,2 @@
1
- import type { VChartSpecPipe } from '../../../../../types';
2
- export declare const labelPrimary: VChartSpecPipe;
3
- export declare const labelSecondary: VChartSpecPipe;
1
+ import type { DualAxisOptions, VChartSpecPipe } from '../../../../../types';
2
+ export declare const labelDualAxis: (options: DualAxisOptions) => VChartSpecPipe;
@@ -1,35 +1,19 @@
1
1
  import { buildLabel } from "./label.js";
2
2
  import { DUAL_AXIS_LABEL_Z_INDEX } from "../../../../utils/constant.js";
3
- const labelPrimary = (spec, context)=>{
4
- const result = {
5
- ...spec
3
+ const labelDualAxis = (options)=>(spec, context)=>{
4
+ const result = {
5
+ ...spec
6
+ };
7
+ const { advancedVSeed, vseed } = context;
8
+ const { encoding } = advancedVSeed;
9
+ const { chartType } = advancedVSeed;
10
+ const baseConfig = advancedVSeed.config[chartType];
11
+ result.label = buildLabel(baseConfig.label, vseed.measures, vseed.dimensions, advancedVSeed.dimensions, advancedVSeed.measures, encoding, [
12
+ options.foldInfo
13
+ ]);
14
+ result.label.zIndex = DUAL_AXIS_LABEL_Z_INDEX;
15
+ return result;
6
16
  };
7
- const { advancedVSeed, vseed } = context;
8
- const { datasetReshapeInfo, encoding } = advancedVSeed;
9
- const { chartType } = advancedVSeed;
10
- const baseConfig = advancedVSeed.config[chartType];
11
- const foldInfoList = datasetReshapeInfo[0].foldInfoList;
12
- result.label = buildLabel(baseConfig.label, vseed.measures, vseed.dimensions, advancedVSeed.dimensions, advancedVSeed.measures, encoding, [
13
- foldInfoList[0]
14
- ]);
15
- result.label.zIndex = DUAL_AXIS_LABEL_Z_INDEX;
16
- return result;
17
- };
18
- const labelSecondary = (spec, context)=>{
19
- const result = {
20
- ...spec
21
- };
22
- const { advancedVSeed, vseed } = context;
23
- const { datasetReshapeInfo, encoding } = advancedVSeed;
24
- const { chartType } = advancedVSeed;
25
- const baseConfig = advancedVSeed.config[chartType];
26
- const foldInfoList = datasetReshapeInfo[0].foldInfoList;
27
- result.label = buildLabel(baseConfig.label, vseed.measures, vseed.dimensions, advancedVSeed.dimensions, advancedVSeed.measures, encoding, [
28
- foldInfoList[1]
29
- ]);
30
- result.label.zIndex = DUAL_AXIS_LABEL_Z_INDEX;
31
- return result;
32
- };
33
- export { labelPrimary, labelSecondary };
17
+ export { labelDualAxis };
34
18
 
35
19
  //# sourceMappingURL=labelDualAxis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/label/labelDualAxis.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/labelDualAxis.ts"],"sourcesContent":["import type { ILineChartSpec } from '@visactor/vchart'\nimport type { Encoding, FoldInfo, Label, VChartSpecPipe } from 'src/types'\nimport { buildLabel } from './label'\nimport { DUAL_AXIS_LABEL_Z_INDEX } from 'src/pipeline/utils/constant'\n\nexport const labelPrimary: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo, encoding } = advancedVSeed\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n result.label = buildLabel(\n baseConfig.label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions,\n advancedVSeed.measures,\n encoding as Encoding,\n [foldInfoList[0]],\n ) as unknown as ILineChartSpec['label']\n ;(result.label as any)!.zIndex = DUAL_AXIS_LABEL_Z_INDEX\n return result\n}\n\nexport const labelSecondary: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo, encoding } = advancedVSeed\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n\n result.label = buildLabel(\n baseConfig.label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions,\n advancedVSeed.measures,\n encoding as Encoding,\n [foldInfoList[1]],\n ) as unknown as ILineChartSpec['label']\n ;(result.label as any)!.zIndex = DUAL_AXIS_LABEL_Z_INDEX\n return result\n}\n"],"names":["labelPrimary","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","encoding","chartType","baseConfig","foldInfoList","buildLabel","DUAL_AXIS_LABEL_Z_INDEX","labelSecondary"],"mappings":";;AAKO,MAAMA,eAA+B,CAACC,MAAMC;IACjD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,kBAAkB,EAAEC,QAAQ,EAAE,GAAGH;IACzC,MAAM,EAAEI,SAAS,EAAE,GAAGJ;IACtB,MAAMK,aAAaL,cAAc,MAAM,CAACI,UAAU;IAElD,MAAME,eAAeJ,kBAAkB,CAAC,EAAE,CAAC,YAAY;IACvDH,OAAO,KAAK,GAAGQ,WACbF,WAAW,KAAK,EAChBJ,MAAM,QAAQ,EACdA,MAAM,UAAU,EAChBD,cAAc,UAAU,EACxBA,cAAc,QAAQ,EACtBG,UACA;QAACG,YAAY,CAAC,EAAE;KAAC;IAEjBP,OAAO,KAAK,CAAU,MAAM,GAAGS;IACjC,OAAOT;AACT;AAEO,MAAMU,iBAAiC,CAACZ,MAAMC;IACnD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,kBAAkB,EAAEC,QAAQ,EAAE,GAAGH;IACzC,MAAM,EAAEI,SAAS,EAAE,GAAGJ;IACtB,MAAMK,aAAaL,cAAc,MAAM,CAACI,UAAU;IAElD,MAAME,eAAeJ,kBAAkB,CAAC,EAAE,CAAC,YAAY;IAEvDH,OAAO,KAAK,GAAGQ,WACbF,WAAW,KAAK,EAChBJ,MAAM,QAAQ,EACdA,MAAM,UAAU,EAChBD,cAAc,UAAU,EACxBA,cAAc,QAAQ,EACtBG,UACA;QAACG,YAAY,CAAC,EAAE;KAAC;IAEjBP,OAAO,KAAK,CAAU,MAAM,GAAGS;IACjC,OAAOT;AACT"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/label/labelDualAxis.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/labelDualAxis.ts"],"sourcesContent":["import type { ILineChartSpec } from '@visactor/vchart'\nimport type { DualAxisOptions, Encoding, Label, VChartSpecPipe } from 'src/types'\nimport { buildLabel } from './label'\nimport { DUAL_AXIS_LABEL_Z_INDEX } from 'src/pipeline/utils/constant'\n\nexport const labelDualAxis = (options: DualAxisOptions): VChartSpecPipe => {\n return (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed, vseed } = context\n const { encoding } = advancedVSeed\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n\n result.label = buildLabel(\n baseConfig.label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions!,\n advancedVSeed.measures!,\n encoding as Encoding,\n [options.foldInfo],\n ) as unknown as ILineChartSpec['label']\n ;(result.label as any)!.zIndex = DUAL_AXIS_LABEL_Z_INDEX\n return result\n }\n}\n"],"names":["labelDualAxis","options","spec","context","result","advancedVSeed","vseed","encoding","chartType","baseConfig","buildLabel","DUAL_AXIS_LABEL_Z_INDEX"],"mappings":";;AAKO,MAAMA,gBAAgB,CAACC,UACrB,CAACC,MAAMC;QACZ,MAAMC,SAAS;YAAE,GAAGF,IAAI;QAAC;QACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;QACjC,MAAM,EAAEI,QAAQ,EAAE,GAAGF;QACrB,MAAM,EAAEG,SAAS,EAAE,GAAGH;QACtB,MAAMI,aAAaJ,cAAc,MAAM,CAACG,UAAU;QAElDJ,OAAO,KAAK,GAAGM,WACbD,WAAW,KAAK,EAChBH,MAAM,QAAQ,EACdA,MAAM,UAAU,EAChBD,cAAc,UAAU,EACxBA,cAAc,QAAQ,EACtBE,UACA;YAACN,QAAQ,QAAQ;SAAC;QAElBG,OAAO,KAAK,CAAU,MAAM,GAAGO;QACjC,OAAOP;IACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/label/labelPie.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/labelPie.ts"],"sourcesContent":["import type { IPieChartSpec } from '@visactor/vchart'\nimport type { Encoding, FoldInfo, PieLabel, VChartSpecPipe } from 'src/types'\nimport { buildLabel } from './label'\n\nexport const labelPie: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IPieChartSpec\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: PieLabel }\n const foldInfo = datasetReshapeInfo[0].foldInfo as FoldInfo\n\n const { label } = baseConfig\n\n result.label = buildLabel(\n label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions,\n advancedVSeed.measures,\n encoding as Encoding,\n [foldInfo],\n ) as unknown as IPieChartSpec['label']\n if (label.labelLayout) {\n ;(result.label as any)!.layout = {\n align: label.labelLayout,\n }\n }\n return result\n}\n"],"names":["labelPie","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","chartType","encoding","baseConfig","foldInfo","label","buildLabel"],"mappings":";AAIO,MAAMA,WAA2B,CAACC,MAAMC;IAC7C,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,kBAAkB,EAAE,GAAGF;IAC/B,MAAM,EAAEG,SAAS,EAAEC,QAAQ,EAAE,GAAGJ;IAChC,MAAMK,aAAaL,cAAc,MAAM,CAACG,UAAU;IAClD,MAAMG,WAAWJ,kBAAkB,CAAC,EAAE,CAAC,QAAQ;IAE/C,MAAM,EAAEK,KAAK,EAAE,GAAGF;IAElBN,OAAO,KAAK,GAAGS,WACbD,OACAN,MAAM,QAAQ,EACdA,MAAM,UAAU,EAChBD,cAAc,UAAU,EACxBA,cAAc,QAAQ,EACtBI,UACA;QAACE;KAAS;IAEZ,IAAIC,MAAM,WAAW,EACjBR,OAAO,KAAK,CAAU,MAAM,GAAG;QAC/B,OAAOQ,MAAM,WAAW;IAC1B;IAEF,OAAOR;AACT"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/label/labelPie.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/labelPie.ts"],"sourcesContent":["import type { IPieChartSpec } from '@visactor/vchart'\nimport type { Encoding, FoldInfo, PieLabel, VChartSpecPipe } from 'src/types'\nimport { buildLabel } from './label'\n\nexport const labelPie: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IPieChartSpec\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: PieLabel }\n const foldInfo = datasetReshapeInfo[0].foldInfo as FoldInfo\n\n const { label } = baseConfig\n\n result.label = buildLabel(\n label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions!,\n advancedVSeed.measures!,\n encoding as Encoding,\n [foldInfo],\n ) as unknown as IPieChartSpec['label']\n if (label.labelLayout) {\n ;(result.label as any)!.layout = {\n align: label.labelLayout,\n }\n }\n return result\n}\n"],"names":["labelPie","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","chartType","encoding","baseConfig","foldInfo","label","buildLabel"],"mappings":";AAIO,MAAMA,WAA2B,CAACC,MAAMC;IAC7C,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,kBAAkB,EAAE,GAAGF;IAC/B,MAAM,EAAEG,SAAS,EAAEC,QAAQ,EAAE,GAAGJ;IAChC,MAAMK,aAAaL,cAAc,MAAM,CAACG,UAAU;IAClD,MAAMG,WAAWJ,kBAAkB,CAAC,EAAE,CAAC,QAAQ;IAE/C,MAAM,EAAEK,KAAK,EAAE,GAAGF;IAElBN,OAAO,KAAK,GAAGS,WACbD,OACAN,MAAM,QAAQ,EACdA,MAAM,UAAU,EAChBD,cAAc,UAAU,EACxBA,cAAc,QAAQ,EACtBI,UACA;QAACE;KAAS;IAEZ,IAAIC,MAAM,WAAW,EACjBR,OAAO,KAAK,CAAU,MAAM,GAAG;QAC/B,OAAOQ,MAAM,WAAW;IAC1B;IAEF,OAAOR;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/label/labelScatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/labelScatter.ts"],"sourcesContent":["import type { IScatterChartSpec } from '@visactor/vchart'\nimport type { Encoding, FoldInfo, Label, VChartSpecPipe } from 'src/types'\nimport { buildLabel } from './label'\n\nexport const labelScatter: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IScatterChartSpec\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n\n const { label } = baseConfig\n\n result.label = buildLabel(\n label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions,\n advancedVSeed.measures,\n encoding as Encoding,\n foldInfoList,\n ) as unknown as IScatterChartSpec['label']\n\n return result\n}\n"],"names":["labelScatter","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","chartType","encoding","baseConfig","foldInfoList","label","buildLabel"],"mappings":";AAIO,MAAMA,eAA+B,CAACC,MAAMC;IACjD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,kBAAkB,EAAE,GAAGF;IAC/B,MAAM,EAAEG,SAAS,EAAEC,QAAQ,EAAE,GAAGJ;IAChC,MAAMK,aAAaL,cAAc,MAAM,CAACG,UAAU;IAElD,MAAMG,eAAeJ,kBAAkB,CAAC,EAAE,CAAC,YAAY;IAEvD,MAAM,EAAEK,KAAK,EAAE,GAAGF;IAElBN,OAAO,KAAK,GAAGS,WACbD,OACAN,MAAM,QAAQ,EACdA,MAAM,UAAU,EAChBD,cAAc,UAAU,EACxBA,cAAc,QAAQ,EACtBI,UACAE;IAGF,OAAOP;AACT"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/label/labelScatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/labelScatter.ts"],"sourcesContent":["import type { IScatterChartSpec } from '@visactor/vchart'\nimport type { Encoding, FoldInfo, Label, VChartSpecPipe } from 'src/types'\nimport { buildLabel } from './label'\n\nexport const labelScatter: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IScatterChartSpec\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n\n const { label } = baseConfig\n\n result.label = buildLabel(\n label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions!,\n advancedVSeed.measures!,\n encoding as Encoding,\n foldInfoList,\n ) as unknown as IScatterChartSpec['label']\n\n return result\n}\n"],"names":["labelScatter","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","chartType","encoding","baseConfig","foldInfoList","label","buildLabel"],"mappings":";AAIO,MAAMA,eAA+B,CAACC,MAAMC;IACjD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,kBAAkB,EAAE,GAAGF;IAC/B,MAAM,EAAEG,SAAS,EAAEC,QAAQ,EAAE,GAAGJ;IAChC,MAAMK,aAAaL,cAAc,MAAM,CAACG,UAAU;IAElD,MAAMG,eAAeJ,kBAAkB,CAAC,EAAE,CAAC,YAAY;IAEvD,MAAM,EAAEK,KAAK,EAAE,GAAGF;IAElBN,OAAO,KAAK,GAAGS,WACbD,OACAN,MAAM,QAAQ,EACdA,MAAM,UAAU,EAChBD,cAAc,UAAU,EACxBA,cAAc,QAAQ,EACtBI,UACAE;IAGF,OAAOP;AACT"}
@@ -1,16 +1,16 @@
1
- import { execPipeline } from "../../../../utils/index.js";
1
+ import { execPipeline, isRectungularCoordinate } from "../../../../utils/index.js";
2
2
  import { unique } from "remeda";
3
3
  const pivotIndicators = (chartPipeline)=>(spec, context)=>{
4
4
  const result = {
5
5
  ...spec
6
6
  };
7
7
  const { advancedVSeed } = context;
8
- const { measures, datasetReshapeInfo, dataset, encoding } = advancedVSeed;
8
+ const { datasetReshapeInfo, dataset, encoding, reshapeMeasures = [] } = advancedVSeed;
9
9
  const colorItems = unique(datasetReshapeInfo.flatMap((d)=>d.unfoldInfo.colorItems));
10
10
  const allMeasureIds = unique(datasetReshapeInfo.flatMap((d)=>Object.keys(d.foldInfo.foldMap || {})));
11
11
  const indicators = datasetReshapeInfo.map((reshapeInfo, index)=>{
12
- const measureGroup = measures?.find((d)=>`${d.id}` === reshapeInfo.id);
13
- const subMeasuresId = (measureGroup?.children || []).map((d)=>d.id);
12
+ const subMeasures = reshapeMeasures[index] || [];
13
+ const subMeasuresId = (reshapeMeasures[index] || []).map((d)=>d.id);
14
14
  const invalideMeasuresIds = allMeasureIds.filter((id)=>!subMeasuresId.includes(id));
15
15
  const newDataset = dataset[index];
16
16
  const newDatasetReshapeInfo = [
@@ -38,7 +38,7 @@ const pivotIndicators = (chartPipeline)=>(spec, context)=>{
38
38
  const chartSpec = execPipeline(chartPipeline, newContext, {});
39
39
  return {
40
40
  indicatorKey: `${reshapeInfo.id}`,
41
- title: measureGroup?.alias,
41
+ title: isRectungularCoordinate(advancedVSeed.chartType) ? '' : subMeasures.map((m)=>m.alias ?? m.id).join('-'),
42
42
  cellType: 'chart',
43
43
  chartModule: 'vchart',
44
44
  chartSpec: chartSpec,
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline } from '../../../../utils'\nimport type {\n Dataset,\n Encoding,\n MeasureGroup,\n PivotChartSpecPipe,\n SpecPipelineContext,\n VChartSpecPipe,\n} from 'src/types'\nimport { unique } from 'remeda'\n\nexport const pivotIndicators =\n (chartPipeline: VChartSpecPipe[]): PivotChartSpecPipe =>\n (spec, context): Partial<PivotChartConstructorOptions> => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, dataset, encoding } = advancedVSeed\n\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n const allMeasureIds = unique(datasetReshapeInfo.flatMap((d) => Object.keys(d.foldInfo.foldMap || {})))\n\n const indicators = datasetReshapeInfo.map((reshapeInfo, index) => {\n const measureGroup = measures?.find((d) => `${d.id}` === reshapeInfo.id) as MeasureGroup\n const subMeasuresId = (measureGroup?.children || []).map((d) => d.id)\n const invalideMeasuresIds = allMeasureIds.filter((id) => !subMeasuresId.includes(id))\n\n const newDataset = dataset[index] as Dataset\n const newDatasetReshapeInfo = [\n {\n ...reshapeInfo,\n unfoldInfo: { ...reshapeInfo.unfoldInfo, colorItems },\n },\n ]\n const newContext: SpecPipelineContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n pivotAllDatasetReshapeInfo: datasetReshapeInfo,\n datasetReshapeInfo: newDatasetReshapeInfo,\n encoding: Object.keys(encoding).reduce((res, key) => {\n res[key as keyof Encoding] = encoding[key as keyof Encoding]?.filter((e) => {\n return !invalideMeasuresIds.includes(e)\n }) as string[]\n\n return res\n }, {} as Encoding),\n dataset: newDataset,\n },\n }\n\n const chartSpec = execPipeline(chartPipeline, newContext, {})\n return {\n indicatorKey: `${reshapeInfo.id}`,\n title: measureGroup?.alias,\n cellType: 'chart',\n chartModule: 'vchart',\n chartSpec: chartSpec,\n style: {\n padding: [1, 1, 0, 1],\n },\n }\n })\n\n return {\n ...result,\n indicators: indicators,\n } as Partial<PivotChartConstructorOptions>\n }\n\nexport const pivotIndicatorsAsRow: PivotChartSpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: PivotChartSpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n"],"names":["pivotIndicators","chartPipeline","spec","context","result","advancedVSeed","measures","datasetReshapeInfo","dataset","encoding","colorItems","unique","d","allMeasureIds","Object","indicators","reshapeInfo","index","measureGroup","subMeasuresId","invalideMeasuresIds","id","newDataset","newDatasetReshapeInfo","newContext","res","key","e","chartSpec","execPipeline","pivotIndicatorsAsRow","pivotIndicatorsAsCol"],"mappings":";;AAYO,MAAMA,kBACX,CAACC,gBACD,CAACC,MAAMC;QACL,MAAMC,SAAS;YAAE,GAAGF,IAAI;QAAC;QACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;QAC1B,MAAM,EAAEG,QAAQ,EAAEC,kBAAkB,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGJ;QAE5D,MAAMK,aAAaC,OAAOJ,mBAAmB,OAAO,CAAC,CAACK,IAAMA,EAAE,UAAU,CAAC,UAAU;QACnF,MAAMC,gBAAgBF,OAAOJ,mBAAmB,OAAO,CAAC,CAACK,IAAME,OAAO,IAAI,CAACF,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC;QAElG,MAAMG,aAAaR,mBAAmB,GAAG,CAAC,CAACS,aAAaC;YACtD,MAAMC,eAAeZ,UAAU,KAAK,CAACM,IAAM,GAAGA,EAAE,EAAE,EAAE,KAAKI,YAAY,EAAE;YACvE,MAAMG,gBAAiBD,AAAAA,CAAAA,cAAc,YAAY,EAAC,EAAG,GAAG,CAAC,CAACN,IAAMA,EAAE,EAAE;YACpE,MAAMQ,sBAAsBP,cAAc,MAAM,CAAC,CAACQ,KAAO,CAACF,cAAc,QAAQ,CAACE;YAEjF,MAAMC,aAAad,OAAO,CAACS,MAAM;YACjC,MAAMM,wBAAwB;gBAC5B;oBACE,GAAGP,WAAW;oBACd,YAAY;wBAAE,GAAGA,YAAY,UAAU;wBAAEN;oBAAW;gBACtD;aACD;YACD,MAAMc,aAAkC;gBACtC,GAAGrB,OAAO;gBACV,eAAe;oBACb,GAAGE,aAAa;oBAChB,4BAA4BE;oBAC5B,oBAAoBgB;oBACpB,UAAUT,OAAO,IAAI,CAACL,UAAU,MAAM,CAAC,CAACgB,KAAKC;wBAC3CD,GAAG,CAACC,IAAsB,GAAGjB,QAAQ,CAACiB,IAAsB,EAAE,OAAO,CAACC,IAC7D,CAACP,oBAAoB,QAAQ,CAACO;wBAGvC,OAAOF;oBACT,GAAG,CAAC;oBACJ,SAASH;gBACX;YACF;YAEA,MAAMM,YAAYC,aAAa5B,eAAeuB,YAAY,CAAC;YAC3D,OAAO;gBACL,cAAc,GAAGR,YAAY,EAAE,EAAE;gBACjC,OAAOE,cAAc;gBACrB,UAAU;gBACV,aAAa;gBACb,WAAWU;gBACX,OAAO;oBACL,SAAS;wBAAC;wBAAG;wBAAG;wBAAG;qBAAE;gBACvB;YACF;QACF;QAEA,OAAO;YACL,GAAGxB,MAAM;YACT,YAAYW;QACd;IACF;AAEK,MAAMe,uBAA2C,CAAC5B;IACvD,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF;AAEO,MAAM2B,uBAA2C,CAAC7B;IACvD,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline, isRectungularCoordinate } from '../../../../utils'\nimport type { Dataset, Encoding, Measures, PivotChartSpecPipe, SpecPipelineContext, VChartSpecPipe } from 'src/types'\nimport { unique } from 'remeda'\n\nexport const pivotIndicators =\n (chartPipeline: VChartSpecPipe[]): PivotChartSpecPipe =>\n (spec, context): Partial<PivotChartConstructorOptions> => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { datasetReshapeInfo, dataset, encoding, reshapeMeasures = [] } = advancedVSeed\n\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n const allMeasureIds = unique(datasetReshapeInfo.flatMap((d) => Object.keys(d.foldInfo.foldMap || {})))\n\n const indicators = datasetReshapeInfo.map((reshapeInfo, index) => {\n const subMeasures = (reshapeMeasures[index] || []) as Measures\n const subMeasuresId = (reshapeMeasures[index] || []).map((d) => d.id)\n const invalideMeasuresIds = allMeasureIds.filter((id: string) => !subMeasuresId.includes(id))\n\n const newDataset = dataset[index] as Dataset\n const newDatasetReshapeInfo = [\n {\n ...reshapeInfo,\n unfoldInfo: { ...reshapeInfo.unfoldInfo, colorItems },\n },\n ]\n const newContext: SpecPipelineContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n pivotAllDatasetReshapeInfo: datasetReshapeInfo,\n datasetReshapeInfo: newDatasetReshapeInfo,\n encoding: Object.keys(encoding).reduce((res, key) => {\n res[key as keyof Encoding] = encoding[key as keyof Encoding]?.filter((e) => {\n return !invalideMeasuresIds.includes(e)\n }) as string[]\n\n return res\n }, {} as Encoding),\n dataset: newDataset,\n },\n }\n\n const chartSpec = execPipeline(chartPipeline, newContext, {})\n return {\n indicatorKey: `${reshapeInfo.id}`,\n title: isRectungularCoordinate(advancedVSeed.chartType)\n ? ''\n : subMeasures.map((m) => m.alias ?? m.id).join('-'),\n cellType: 'chart',\n chartModule: 'vchart',\n chartSpec: chartSpec,\n style: {\n padding: [1, 1, 0, 1],\n },\n }\n })\n\n return {\n ...result,\n indicators: indicators,\n } as Partial<PivotChartConstructorOptions>\n }\n\nexport const pivotIndicatorsAsRow: PivotChartSpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: PivotChartSpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n"],"names":["pivotIndicators","chartPipeline","spec","context","result","advancedVSeed","datasetReshapeInfo","dataset","encoding","reshapeMeasures","colorItems","unique","d","allMeasureIds","Object","indicators","reshapeInfo","index","subMeasures","subMeasuresId","invalideMeasuresIds","id","newDataset","newDatasetReshapeInfo","newContext","res","key","e","chartSpec","execPipeline","isRectungularCoordinate","m","pivotIndicatorsAsRow","pivotIndicatorsAsCol"],"mappings":";;AAKO,MAAMA,kBACX,CAACC,gBACD,CAACC,MAAMC;QACL,MAAMC,SAAS;YAAE,GAAGF,IAAI;QAAC;QACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;QAC1B,MAAM,EAAEG,kBAAkB,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,kBAAkB,EAAE,EAAE,GAAGJ;QAExE,MAAMK,aAAaC,OAAOL,mBAAmB,OAAO,CAAC,CAACM,IAAMA,EAAE,UAAU,CAAC,UAAU;QACnF,MAAMC,gBAAgBF,OAAOL,mBAAmB,OAAO,CAAC,CAACM,IAAME,OAAO,IAAI,CAACF,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC;QAElG,MAAMG,aAAaT,mBAAmB,GAAG,CAAC,CAACU,aAAaC;YACtD,MAAMC,cAAeT,eAAe,CAACQ,MAAM,IAAI,EAAE;YACjD,MAAME,gBAAiBV,AAAAA,CAAAA,eAAe,CAACQ,MAAM,IAAI,EAAC,EAAG,GAAG,CAAC,CAACL,IAAMA,EAAE,EAAE;YACpE,MAAMQ,sBAAsBP,cAAc,MAAM,CAAC,CAACQ,KAAe,CAACF,cAAc,QAAQ,CAACE;YAEzF,MAAMC,aAAaf,OAAO,CAACU,MAAM;YACjC,MAAMM,wBAAwB;gBAC5B;oBACE,GAAGP,WAAW;oBACd,YAAY;wBAAE,GAAGA,YAAY,UAAU;wBAAEN;oBAAW;gBACtD;aACD;YACD,MAAMc,aAAkC;gBACtC,GAAGrB,OAAO;gBACV,eAAe;oBACb,GAAGE,aAAa;oBAChB,4BAA4BC;oBAC5B,oBAAoBiB;oBACpB,UAAUT,OAAO,IAAI,CAACN,UAAU,MAAM,CAAC,CAACiB,KAAKC;wBAC3CD,GAAG,CAACC,IAAsB,GAAGlB,QAAQ,CAACkB,IAAsB,EAAE,OAAO,CAACC,IAC7D,CAACP,oBAAoB,QAAQ,CAACO;wBAGvC,OAAOF;oBACT,GAAG,CAAC;oBACJ,SAASH;gBACX;YACF;YAEA,MAAMM,YAAYC,aAAa5B,eAAeuB,YAAY,CAAC;YAC3D,OAAO;gBACL,cAAc,GAAGR,YAAY,EAAE,EAAE;gBACjC,OAAOc,wBAAwBzB,cAAc,SAAS,IAClD,KACAa,YAAY,GAAG,CAAC,CAACa,IAAMA,EAAE,KAAK,IAAIA,EAAE,EAAE,EAAE,IAAI,CAAC;gBACjD,UAAU;gBACV,aAAa;gBACb,WAAWH;gBACX,OAAO;oBACL,SAAS;wBAAC;wBAAG;wBAAG;wBAAG;qBAAE;gBACvB;YACF;QACF;QAEA,OAAO;YACL,GAAGxB,MAAM;YACT,YAAYW;QACd;IACF;AAEK,MAAMiB,uBAA2C,CAAC9B;IACvD,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF;AAEO,MAAM6B,uBAA2C,CAAC/B;IACvD,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF"}
@@ -6,7 +6,7 @@ const ecdfRegressionLine = (spec, context)=>{
6
6
  ...spec
7
7
  };
8
8
  const { advancedVSeed, vseed } = context;
9
- const { chartType, encoding = {}, dimensions, regressionLine } = advancedVSeed;
9
+ const { chartType, encoding = {}, dimensions = [], regressionLine } = advancedVSeed;
10
10
  const { dataset } = vseed;
11
11
  const lineTheme = advancedVSeed.config[chartType]?.regressionLine;
12
12
  if (!regressionLine || !regressionLine.ecdfRegressionLine) return result;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.ts"],"sourcesContent":["import type { ICartesianSeries, IChart, IHistogramChartSpec, IVChart } from '@visactor/vchart'\nimport { isNullish, uniqueBy } from 'remeda'\nimport { ecdf, array, isArray } from '@visactor/vutils'\nimport type { Datum, Dimension, VChartSpecPipe, Encoding, RegressionLineConfig, EcdfRegressionLine } from 'src/types'\nimport { defaultRegressionLineColor, defaultRegressionLineLabelX, defaultRegressionLineLabelY } from './common'\n\nexport const ecdfRegressionLine: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IHistogramChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType, encoding = {} as Encoding, dimensions, regressionLine } = advancedVSeed\n const { dataset } = vseed\n const lineTheme = advancedVSeed.config[chartType as 'histogram']?.regressionLine as RegressionLineConfig\n\n if (!regressionLine || !regressionLine.ecdfRegressionLine) {\n return result\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 lineList = array(regressionLine.ecdfRegressionLine).filter((ecdfLine) => ecdfLine.enable !== false)\n\n if (!result.extensionMark) {\n result.extensionMark = []\n }\n\n lineList.forEach((line, lineIndex) => {\n if (line.enable === false) {\n return\n }\n const theme = (lineTheme?.ecdfRegressionLine ?? {}) as EcdfRegressionLine\n const { color, lineWidth, lineDash, text, textColor, textFontSize, textFontWeight } = line as EcdfRegressionLine\n\n const childrenMarks: any[] = []\n\n ;(result.extensionMark as any[]).push({\n type: 'group',\n interactive: false,\n zIndex: 500,\n name: `ecdfRegressionLine-${lineIndex}`,\n dataId: (spec.data as any)?.id,\n style: {\n data: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n\n // 直方图使用的是bar系列\n if (series && series.length) {\n const s = series[0] as ICartesianSeries\n\n const fieldX = s.fieldX?.[0]\n const scaleY = s.getYAxisHelper().getScale?.(0)\n const viewData = s.getViewData()?.latestData\n\n if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) {\n return null\n }\n const simpleData = dataset\n .filter((entry: Datum) => {\n return rowColumnFields.length\n ? rowColumnFields.every((dim: Dimension) => {\n return entry[dim.id] === viewData[0][dim.id]\n })\n : true\n })\n .map((d: Datum) => +(d as any)[encoding.value?.[0] as string])\n const res = ecdf(simpleData)\n const N = Math.max(3, Math.floor(simpleData.length / 4))\n const lineData = res.evaluateGrid(N)\n const yRange = scaleY.range()\n const y0 = yRange[0]\n const y1 = yRange[yRange.length - 1]\n const scaleR = (e: number) => {\n return y0 + (y1 - y0) * e\n }\n\n const linePoints = lineData.map((ld: Datum) => {\n const d = { [fieldX]: ld.x }\n return {\n x: s.dataToPositionX(d)!,\n y: scaleR(ld.y as number),\n }\n })\n\n return {\n linePoints,\n color: color ?? s.getOption().globalScale.getScale('color')?.scale(s.getSeriesKeys()[0]),\n }\n }\n return null\n },\n },\n children: childrenMarks,\n })\n\n childrenMarks.push({\n type: 'line',\n interactive: false,\n zIndex: 500,\n dataId: (spec.data as any)?.id,\n style: {\n lineWidth: lineWidth ?? theme.lineWidth,\n lineDash: lineDash ?? theme.lineDash,\n stroke: color ?? defaultRegressionLineColor,\n points: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return parentNode.attribute.data.linePoints\n }\n\n return []\n },\n },\n })\n\n if (!isNullish(text)) {\n childrenMarks.push({\n type: 'text',\n interactive: false,\n zIndex: 500,\n dataId: (spec.data as any)?.id,\n dataKey: () => {\n return `ecdfRegressionLine-label-${lineIndex}`\n },\n style: {\n textAlign: 'end',\n fill: textColor ?? theme.textColor,\n fontSize: textFontSize ?? theme.textFontSize,\n fontWeight: textFontWeight ?? theme.textFontWeight,\n text: text,\n x: defaultRegressionLineLabelX,\n y: defaultRegressionLineLabelY,\n },\n })\n }\n })\n\n // add percent axis of ecdf\n const leftAxis = result.axes?.find((v) => v.orient === 'left')\n if (leftAxis && lineList.length) {\n result.axes?.push({\n visible: true,\n orient: 'right',\n type: 'linear',\n base: 10,\n min: 0,\n max: 1,\n domainLine: {\n ...leftAxis.domainLine,\n },\n grid: {\n visible: false,\n },\n tick: {\n ...leftAxis.tick,\n },\n title: {\n ...leftAxis.title,\n visible: false,\n },\n label: {\n ...leftAxis.label,\n visible: true,\n formatMethod: (v) => {\n const text = isArray(v) ? v[0] : v\n return `${(+text * 100).toFixed(1)}%`\n },\n },\n })\n }\n\n return result\n}\n"],"names":["ecdfRegressionLine","spec","context","result","advancedVSeed","vseed","chartType","encoding","dimensions","regressionLine","dataset","lineTheme","rowColumnFields","uniqueBy","dim","item","lineList","array","ecdfLine","line","lineIndex","theme","color","lineWidth","lineDash","text","textColor","textFontSize","textFontWeight","childrenMarks","datum","ctx","vchart","chart","series","s","fieldX","scaleY","viewData","simpleData","entry","d","res","ecdf","N","Math","lineData","yRange","y0","y1","scaleR","e","linePoints","ld","defaultRegressionLineColor","opt","parentNode","isNullish","defaultRegressionLineLabelX","defaultRegressionLineLabelY","leftAxis","v","isArray"],"mappings":"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"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.ts"],"sourcesContent":["import type { ICartesianSeries, IChart, IHistogramChartSpec, IVChart } from '@visactor/vchart'\nimport { isNullish, uniqueBy } from 'remeda'\nimport { ecdf, array, isArray } from '@visactor/vutils'\nimport type { Datum, Dimension, VChartSpecPipe, Encoding, RegressionLineConfig, EcdfRegressionLine } from 'src/types'\nimport { defaultRegressionLineColor, defaultRegressionLineLabelX, defaultRegressionLineLabelY } from './common'\n\nexport const ecdfRegressionLine: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IHistogramChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType, encoding = {} as Encoding, dimensions = [], regressionLine } = advancedVSeed\n const { dataset } = vseed\n const lineTheme = advancedVSeed.config[chartType as 'histogram']?.regressionLine as RegressionLineConfig\n\n if (!regressionLine || !regressionLine.ecdfRegressionLine) {\n return result\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 lineList = array(regressionLine.ecdfRegressionLine).filter((ecdfLine) => ecdfLine.enable !== false)\n\n if (!result.extensionMark) {\n result.extensionMark = []\n }\n\n lineList.forEach((line, lineIndex) => {\n if (line.enable === false) {\n return\n }\n const theme = (lineTheme?.ecdfRegressionLine ?? {}) as EcdfRegressionLine\n const { color, lineWidth, lineDash, text, textColor, textFontSize, textFontWeight } = line as EcdfRegressionLine\n\n const childrenMarks: any[] = []\n\n ;(result.extensionMark as any[]).push({\n type: 'group',\n interactive: false,\n zIndex: 500,\n name: `ecdfRegressionLine-${lineIndex}`,\n dataId: (spec.data as any)?.id,\n style: {\n data: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n\n // 直方图使用的是bar系列\n if (series && series.length) {\n const s = series[0] as ICartesianSeries\n\n const fieldX = s.fieldX?.[0]\n const scaleY = s.getYAxisHelper().getScale?.(0)\n const viewData = s.getViewData()?.latestData\n\n if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) {\n return null\n }\n const simpleData = dataset\n .filter((entry: Datum) => {\n return rowColumnFields.length\n ? rowColumnFields.every((dim: Dimension) => {\n return entry[dim.id] === viewData[0][dim.id]\n })\n : true\n })\n .map((d: Datum) => +(d as any)[encoding.value?.[0] as string])\n const res = ecdf(simpleData)\n const N = Math.max(3, Math.floor(simpleData.length / 4))\n const lineData = res.evaluateGrid(N)\n const yRange = scaleY.range()\n const y0 = yRange[0]\n const y1 = yRange[yRange.length - 1]\n const scaleR = (e: number) => {\n return y0 + (y1 - y0) * e\n }\n\n const linePoints = lineData.map((ld: Datum) => {\n const d = { [fieldX]: ld.x }\n return {\n x: s.dataToPositionX(d)!,\n y: scaleR(ld.y as number),\n }\n })\n\n return {\n linePoints,\n color: color ?? s.getOption().globalScale.getScale('color')?.scale(s.getSeriesKeys()[0]),\n }\n }\n return null\n },\n },\n children: childrenMarks,\n })\n\n childrenMarks.push({\n type: 'line',\n interactive: false,\n zIndex: 500,\n dataId: (spec.data as any)?.id,\n style: {\n lineWidth: lineWidth ?? theme.lineWidth,\n lineDash: lineDash ?? theme.lineDash,\n stroke: color ?? defaultRegressionLineColor,\n points: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data) {\n return parentNode.attribute.data.linePoints\n }\n\n return []\n },\n },\n })\n\n if (!isNullish(text)) {\n childrenMarks.push({\n type: 'text',\n interactive: false,\n zIndex: 500,\n dataId: (spec.data as any)?.id,\n dataKey: () => {\n return `ecdfRegressionLine-label-${lineIndex}`\n },\n style: {\n textAlign: 'end',\n fill: textColor ?? theme.textColor,\n fontSize: textFontSize ?? theme.textFontSize,\n fontWeight: textFontWeight ?? theme.textFontWeight,\n text: text,\n x: defaultRegressionLineLabelX,\n y: defaultRegressionLineLabelY,\n },\n })\n }\n })\n\n // add percent axis of ecdf\n const leftAxis = result.axes?.find((v) => v.orient === 'left')\n if (leftAxis && lineList.length) {\n result.axes?.push({\n visible: true,\n orient: 'right',\n type: 'linear',\n base: 10,\n min: 0,\n max: 1,\n domainLine: {\n ...leftAxis.domainLine,\n },\n grid: {\n visible: false,\n },\n tick: {\n ...leftAxis.tick,\n },\n title: {\n ...leftAxis.title,\n visible: false,\n },\n label: {\n ...leftAxis.label,\n visible: true,\n formatMethod: (v) => {\n const text = isArray(v) ? v[0] : v\n return `${(+text * 100).toFixed(1)}%`\n },\n },\n })\n }\n\n return result\n}\n"],"names":["ecdfRegressionLine","spec","context","result","advancedVSeed","vseed","chartType","encoding","dimensions","regressionLine","dataset","lineTheme","rowColumnFields","uniqueBy","dim","item","lineList","array","ecdfLine","line","lineIndex","theme","color","lineWidth","lineDash","text","textColor","textFontSize","textFontWeight","childrenMarks","datum","ctx","vchart","chart","series","s","fieldX","scaleY","viewData","simpleData","entry","d","res","ecdf","N","Math","lineData","yRange","y0","y1","scaleR","e","linePoints","ld","defaultRegressionLineColor","opt","parentNode","isNullish","defaultRegressionLineLabelX","defaultRegressionLineLabelY","leftAxis","v","isArray"],"mappings":"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"}
@@ -7,7 +7,7 @@ const kdeRegressionLine = (spec, context)=>{
7
7
  ...spec
8
8
  };
9
9
  const { advancedVSeed, vseed } = context;
10
- const { chartType, encoding = {}, dimensions, regressionLine } = advancedVSeed;
10
+ const { chartType, encoding = {}, dimensions = [], regressionLine } = advancedVSeed;
11
11
  const { dataset } = vseed;
12
12
  const lineTheme = advancedVSeed.config[chartType]?.regressionLine;
13
13
  const binValueType = advancedVSeed.config[chartType]?.binValueType;