@visactor/vseed 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/dist/cjs/index.cjs +1 -1
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/builder/builder/builder.d.ts +1176 -0
  4. package/dist/esm/dataReshape/dataReshapeByEncoding.d.ts +1 -1
  5. package/dist/esm/dataReshape/dataReshapeByEncoding.js.map +1 -1
  6. package/dist/esm/dataReshape/foldMeasures.js +12 -11
  7. package/dist/esm/dataReshape/foldMeasures.js.map +1 -1
  8. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js +3 -1
  9. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js.map +1 -1
  10. package/dist/esm/pipeline/advanced/chart/pipes/config/column.js +1 -0
  11. package/dist/esm/pipeline/advanced/chart/pipes/config/column.js.map +1 -1
  12. package/dist/esm/pipeline/advanced/chart/pipes/config/heatmap.d.ts +2 -0
  13. package/dist/esm/pipeline/advanced/chart/pipes/config/heatmap.js +31 -0
  14. package/dist/esm/pipeline/advanced/chart/pipes/config/heatmap.js.map +1 -0
  15. package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.js +1 -0
  16. package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.js.map +1 -1
  17. package/dist/esm/pipeline/advanced/chart/pipes/config/index.d.ts +2 -2
  18. package/dist/esm/pipeline/advanced/chart/pipes/config/index.js +1 -1
  19. package/dist/esm/pipeline/advanced/chart/pipes/config/index.js.map +1 -1
  20. package/dist/esm/pipeline/advanced/chart/pipes/config/line.js +1 -0
  21. package/dist/esm/pipeline/advanced/chart/pipes/config/line.js.map +1 -1
  22. package/dist/esm/pipeline/advanced/chart/pipes/config/pie.js +2 -1
  23. package/dist/esm/pipeline/advanced/chart/pipes/config/pie.js.map +1 -1
  24. package/dist/esm/pipeline/advanced/chart/pipes/config/scatter.js +1 -0
  25. package/dist/esm/pipeline/advanced/chart/pipes/config/scatter.js.map +1 -1
  26. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/addPivotDimensionsForScatter.d.ts +2 -0
  27. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/addPivotDimensionsForScatter.js +29 -0
  28. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/addPivotDimensionsForScatter.js.map +1 -0
  29. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/index.d.ts +1 -0
  30. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/index.js +1 -0
  31. package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js +2 -6
  32. package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js.map +1 -1
  33. package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js +13 -4
  34. package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js.map +1 -1
  35. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js +16 -24
  36. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js.map +1 -1
  37. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js.map +1 -1
  38. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js.map +1 -1
  39. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js +2 -1
  40. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js.map +1 -1
  41. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js +10 -6
  42. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js.map +1 -1
  43. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js.map +1 -1
  44. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js +5 -2
  45. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js.map +1 -1
  46. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js +4 -2
  47. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js.map +1 -1
  48. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js +2 -1
  49. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js.map +1 -1
  50. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js +5 -2
  51. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js.map +1 -1
  52. package/dist/esm/pipeline/advanced/table/pipes/default/defaultDimensions.js.map +1 -1
  53. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasures.js.map +1 -1
  54. package/dist/esm/pipeline/spec/chart/pipeline/area.js +3 -1
  55. package/dist/esm/pipeline/spec/chart/pipeline/area.js.map +1 -1
  56. package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js +3 -1
  57. package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js.map +1 -1
  58. package/dist/esm/pipeline/spec/chart/pipeline/bar.js +3 -1
  59. package/dist/esm/pipeline/spec/chart/pipeline/bar.js.map +1 -1
  60. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js +3 -1
  61. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js.map +1 -1
  62. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js +3 -1
  63. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js.map +1 -1
  64. package/dist/esm/pipeline/spec/chart/pipeline/column.js +3 -1
  65. package/dist/esm/pipeline/spec/chart/pipeline/column.js.map +1 -1
  66. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js +3 -1
  67. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js.map +1 -1
  68. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js +3 -1
  69. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js.map +1 -1
  70. package/dist/esm/pipeline/spec/chart/pipeline/donut.js +3 -1
  71. package/dist/esm/pipeline/spec/chart/pipeline/donut.js.map +1 -1
  72. package/dist/esm/pipeline/spec/chart/pipeline/funnel.js +3 -2
  73. package/dist/esm/pipeline/spec/chart/pipeline/funnel.js.map +1 -1
  74. package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js +8 -5
  75. package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js.map +1 -1
  76. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js +3 -1
  77. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js.map +1 -1
  78. package/dist/esm/pipeline/spec/chart/pipeline/line.js +3 -1
  79. package/dist/esm/pipeline/spec/chart/pipeline/line.js.map +1 -1
  80. package/dist/esm/pipeline/spec/chart/pipeline/pie.js +3 -1
  81. package/dist/esm/pipeline/spec/chart/pipeline/pie.js.map +1 -1
  82. package/dist/esm/pipeline/spec/chart/pipeline/scatter.js +3 -1
  83. package/dist/esm/pipeline/spec/chart/pipeline/scatter.js.map +1 -1
  84. package/dist/esm/pipeline/spec/chart/pipes/brush/brush.d.ts +2 -0
  85. package/dist/esm/pipeline/spec/chart/pipes/brush/brush.js +37 -0
  86. package/dist/esm/pipeline/spec/chart/pipes/brush/brush.js.map +1 -0
  87. package/dist/esm/pipeline/spec/chart/pipes/brush/index.d.ts +1 -0
  88. package/dist/esm/pipeline/spec/chart/pipes/brush/index.js +1 -0
  89. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js +3 -3
  90. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js.map +1 -1
  91. package/dist/esm/pipeline/spec/chart/pipes/color/index.d.ts +0 -1
  92. package/dist/esm/pipeline/spec/chart/pipes/color/index.js +1 -2
  93. package/dist/esm/pipeline/spec/chart/pipes/index.d.ts +1 -0
  94. package/dist/esm/pipeline/spec/chart/pipes/index.js +1 -0
  95. package/dist/esm/pipeline/spec/chart/pipes/label/label.d.ts +1 -0
  96. package/dist/esm/pipeline/spec/chart/pipes/label/label.js +2 -0
  97. package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
  98. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js +2 -2
  99. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js.map +1 -1
  100. package/dist/esm/pipeline/spec/chart/pipes/markStyle/cellStyle.js +17 -8
  101. package/dist/esm/pipeline/spec/chart/pipes/markStyle/cellStyle.js.map +1 -1
  102. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/heatmapColorDomain.d.ts +2 -0
  103. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/heatmapColorDomain.js +18 -0
  104. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/heatmapColorDomain.js.map +1 -0
  105. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/index.d.ts +1 -0
  106. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/index.js +2 -1
  107. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js +13 -7
  108. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js.map +1 -1
  109. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.js +12 -3
  110. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.js.map +1 -1
  111. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js +2 -2
  112. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js.map +1 -1
  113. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js.map +1 -1
  114. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js +12 -3
  115. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js.map +1 -1
  116. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.js +4 -2
  117. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.js.map +1 -1
  118. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.d.ts +1 -1
  119. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js +8 -7
  120. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js.map +1 -1
  121. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js +1 -1
  122. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js.map +1 -1
  123. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.d.ts +1 -1
  124. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js +9 -2
  125. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js.map +1 -1
  126. package/dist/esm/pipeline/utils/chatType.js +24 -4
  127. package/dist/esm/pipeline/utils/chatType.js.map +1 -1
  128. package/dist/esm/pipeline/utils/measures/typeGuard.d.ts +1 -1
  129. package/dist/esm/pipeline/utils/measures/typeGuard.js +30 -6
  130. package/dist/esm/pipeline/utils/measures/typeGuard.js.map +1 -1
  131. package/dist/esm/theme/common/brush.d.ts +3 -0
  132. package/dist/esm/theme/common/brush.js +21 -0
  133. package/dist/esm/theme/common/brush.js.map +1 -0
  134. package/dist/esm/theme/common/heatmapCell.js +4 -2
  135. package/dist/esm/theme/common/heatmapCell.js.map +1 -1
  136. package/dist/esm/theme/common/index.d.ts +1 -0
  137. package/dist/esm/theme/common/index.js +1 -0
  138. package/dist/esm/theme/common/label.d.ts +18 -0
  139. package/dist/esm/theme/common/label.js +9 -1
  140. package/dist/esm/theme/common/label.js.map +1 -1
  141. package/dist/esm/theme/dark/dark.js +4 -2
  142. package/dist/esm/theme/dark/dark.js.map +1 -1
  143. package/dist/esm/theme/light/light.js +4 -2
  144. package/dist/esm/theme/light/light.js.map +1 -1
  145. package/dist/esm/types/advancedVSeed.d.ts +392 -0
  146. package/dist/esm/types/chartType/area/area.d.ts +6 -1
  147. package/dist/esm/types/chartType/area/zArea.d.ts +4 -0
  148. package/dist/esm/types/chartType/area/zArea.js +2 -1
  149. package/dist/esm/types/chartType/area/zArea.js.map +1 -1
  150. package/dist/esm/types/chartType/areaPercent/areaPercent.d.ts +6 -1
  151. package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +4 -0
  152. package/dist/esm/types/chartType/areaPercent/zAreaPercent.js +2 -1
  153. package/dist/esm/types/chartType/areaPercent/zAreaPercent.js.map +1 -1
  154. package/dist/esm/types/chartType/bar/bar.d.ts +6 -1
  155. package/dist/esm/types/chartType/bar/zBar.d.ts +4 -0
  156. package/dist/esm/types/chartType/bar/zBar.js +2 -1
  157. package/dist/esm/types/chartType/bar/zBar.js.map +1 -1
  158. package/dist/esm/types/chartType/barParallel/barParallel.d.ts +6 -1
  159. package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +4 -0
  160. package/dist/esm/types/chartType/barParallel/zBarParallel.js +2 -1
  161. package/dist/esm/types/chartType/barParallel/zBarParallel.js.map +1 -1
  162. package/dist/esm/types/chartType/barPercent/barPercent.d.ts +6 -1
  163. package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +4 -0
  164. package/dist/esm/types/chartType/barPercent/zBarPercent.js +2 -1
  165. package/dist/esm/types/chartType/barPercent/zBarPercent.js.map +1 -1
  166. package/dist/esm/types/chartType/boxPlot/boxPlot.d.ts +6 -1
  167. package/dist/esm/types/chartType/boxPlot/zBoxPlot.d.ts +4 -0
  168. package/dist/esm/types/chartType/boxPlot/zBoxPlot.js +2 -1
  169. package/dist/esm/types/chartType/boxPlot/zBoxPlot.js.map +1 -1
  170. package/dist/esm/types/chartType/column/column.d.ts +6 -1
  171. package/dist/esm/types/chartType/column/zColumn.d.ts +4 -0
  172. package/dist/esm/types/chartType/column/zColumn.js +2 -1
  173. package/dist/esm/types/chartType/column/zColumn.js.map +1 -1
  174. package/dist/esm/types/chartType/columnParallel/columnParallel.d.ts +6 -1
  175. package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +4 -0
  176. package/dist/esm/types/chartType/columnParallel/zColumnParallel.js +2 -1
  177. package/dist/esm/types/chartType/columnParallel/zColumnParallel.js.map +1 -1
  178. package/dist/esm/types/chartType/columnPercent/columnPercent.d.ts +6 -1
  179. package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +4 -0
  180. package/dist/esm/types/chartType/columnPercent/zColumnPercent.js +2 -1
  181. package/dist/esm/types/chartType/columnPercent/zColumnPercent.js.map +1 -1
  182. package/dist/esm/types/chartType/donut/donut.d.ts +6 -0
  183. package/dist/esm/types/chartType/donut/zDonut.d.ts +4 -0
  184. package/dist/esm/types/chartType/donut/zDonut.js +2 -1
  185. package/dist/esm/types/chartType/donut/zDonut.js.map +1 -1
  186. package/dist/esm/types/chartType/dualAxis/dualAxis.d.ts +6 -1
  187. package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +4 -0
  188. package/dist/esm/types/chartType/dualAxis/zDualAxis.js +2 -1
  189. package/dist/esm/types/chartType/dualAxis/zDualAxis.js.map +1 -1
  190. package/dist/esm/types/chartType/funnel/funnel.d.ts +6 -0
  191. package/dist/esm/types/chartType/funnel/zFunnel.d.ts +4 -0
  192. package/dist/esm/types/chartType/funnel/zFunnel.js +2 -1
  193. package/dist/esm/types/chartType/funnel/zFunnel.js.map +1 -1
  194. package/dist/esm/types/chartType/heatmap/heatmap.d.ts +6 -0
  195. package/dist/esm/types/chartType/heatmap/zHeatmap.d.ts +4 -0
  196. package/dist/esm/types/chartType/heatmap/zHeatmap.js +2 -1
  197. package/dist/esm/types/chartType/heatmap/zHeatmap.js.map +1 -1
  198. package/dist/esm/types/chartType/histogram/histogram.d.ts +6 -1
  199. package/dist/esm/types/chartType/histogram/zHistogram.d.ts +4 -0
  200. package/dist/esm/types/chartType/histogram/zHistogram.js +2 -1
  201. package/dist/esm/types/chartType/histogram/zHistogram.js.map +1 -1
  202. package/dist/esm/types/chartType/line/line.d.ts +6 -1
  203. package/dist/esm/types/chartType/line/zLine.d.ts +4 -0
  204. package/dist/esm/types/chartType/line/zLine.js +2 -1
  205. package/dist/esm/types/chartType/line/zLine.js.map +1 -1
  206. package/dist/esm/types/chartType/pie/pie.d.ts +6 -0
  207. package/dist/esm/types/chartType/pie/zPie.d.ts +4 -0
  208. package/dist/esm/types/chartType/pie/zPie.js +2 -1
  209. package/dist/esm/types/chartType/pie/zPie.js.map +1 -1
  210. package/dist/esm/types/chartType/radar/radar.d.ts +6 -0
  211. package/dist/esm/types/chartType/radar/zRadar.d.ts +4 -0
  212. package/dist/esm/types/chartType/radar/zRadar.js +2 -1
  213. package/dist/esm/types/chartType/radar/zRadar.js.map +1 -1
  214. package/dist/esm/types/chartType/rose/rose.d.ts +6 -0
  215. package/dist/esm/types/chartType/rose/zRose.d.ts +4 -0
  216. package/dist/esm/types/chartType/rose/zRose.js +2 -1
  217. package/dist/esm/types/chartType/rose/zRose.js.map +1 -1
  218. package/dist/esm/types/chartType/roseParallel/roseParallel.d.ts +6 -0
  219. package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +4 -0
  220. package/dist/esm/types/chartType/roseParallel/zRoseParallel.js +2 -1
  221. package/dist/esm/types/chartType/roseParallel/zRoseParallel.js.map +1 -1
  222. package/dist/esm/types/chartType/scatter/scatter.d.ts +6 -1
  223. package/dist/esm/types/chartType/scatter/zScatter.d.ts +4 -0
  224. package/dist/esm/types/chartType/scatter/zScatter.js +2 -1
  225. package/dist/esm/types/chartType/scatter/zScatter.js.map +1 -1
  226. package/dist/esm/types/properties/brush/brush.d.ts +13 -0
  227. package/dist/esm/types/properties/brush/brush.js +0 -0
  228. package/dist/esm/types/properties/brush/index.d.ts +4 -0
  229. package/dist/esm/types/properties/brush/index.js +2 -0
  230. package/dist/esm/types/properties/brush/zBrush.d.ts +19 -0
  231. package/dist/esm/types/properties/brush/zBrush.js +21 -0
  232. package/dist/esm/types/properties/brush/zBrush.js.map +1 -0
  233. package/dist/esm/types/properties/config/area.d.ts +26 -0
  234. package/dist/esm/types/properties/config/area.js +3 -1
  235. package/dist/esm/types/properties/config/area.js.map +1 -1
  236. package/dist/esm/types/properties/config/bar.d.ts +39 -0
  237. package/dist/esm/types/properties/config/bar.js +3 -1
  238. package/dist/esm/types/properties/config/bar.js.map +1 -1
  239. package/dist/esm/types/properties/config/column.d.ts +39 -0
  240. package/dist/esm/types/properties/config/column.js +3 -1
  241. package/dist/esm/types/properties/config/column.js.map +1 -1
  242. package/dist/esm/types/properties/config/config.d.ts +196 -0
  243. package/dist/esm/types/properties/config/heatmap/heatmap.d.ts +4 -0
  244. package/dist/esm/types/properties/config/heatmap/zHeatmap.d.ts +1 -0
  245. package/dist/esm/types/properties/config/heatmap/zHeatmap.js +2 -1
  246. package/dist/esm/types/properties/config/heatmap/zHeatmap.js.map +1 -1
  247. package/dist/esm/types/properties/config/heatmap.d.ts +14 -0
  248. package/dist/esm/types/properties/config/heatmap.js +3 -1
  249. package/dist/esm/types/properties/config/heatmap.js.map +1 -1
  250. package/dist/esm/types/properties/config/histogram.d.ts +13 -0
  251. package/dist/esm/types/properties/config/histogram.js +3 -1
  252. package/dist/esm/types/properties/config/histogram.js.map +1 -1
  253. package/dist/esm/types/properties/config/line.d.ts +13 -0
  254. package/dist/esm/types/properties/config/line.js +3 -1
  255. package/dist/esm/types/properties/config/line.js.map +1 -1
  256. package/dist/esm/types/properties/config/pie.d.ts +39 -0
  257. package/dist/esm/types/properties/config/pie.js +3 -1
  258. package/dist/esm/types/properties/config/pie.js.map +1 -1
  259. package/dist/esm/types/properties/config/scatter.d.ts +13 -0
  260. package/dist/esm/types/properties/config/scatter.js +3 -1
  261. package/dist/esm/types/properties/config/scatter.js.map +1 -1
  262. package/dist/esm/types/properties/index.d.ts +1 -0
  263. package/dist/esm/types/properties/index.js +1 -0
  264. package/dist/esm/types/properties/theme/customTheme.d.ts +392 -0
  265. package/dist/esm/types/zVseed.d.ts +80 -0
  266. package/dist/umd/index.js +456 -158
  267. package/dist/umd/index.js.map +1 -1
  268. package/package.json +3 -3
  269. package/dist/esm/pipeline/spec/chart/pipes/color/colorCellStyleFill.d.ts +0 -2
  270. package/dist/esm/pipeline/spec/chart/pipes/color/colorCellStyleFill.js +0 -17
  271. package/dist/esm/pipeline/spec/chart/pipes/color/colorCellStyleFill.js.map +0 -1
@@ -5,7 +5,7 @@ export declare const dataReshapeByEncoding: (dataset: Dataset, dimensions: Dimen
5
5
  foldMeasureValue?: string;
6
6
  colorItemAsId?: boolean;
7
7
  colorMeasureId?: string;
8
- omitIds?: string[];
8
+ omitIds: string[];
9
9
  }) => {
10
10
  dataset: Dataset;
11
11
  foldInfo: FoldInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"dataReshape/dataReshapeByEncoding.js","sources":["webpack://@visactor/vseed/./src/dataReshape/dataReshapeByEncoding.ts"],"sourcesContent":["import type { Dataset, Dimension, Encoding, FoldInfo, Measure, Measures, UnfoldInfo } from 'src/types'\nimport { foldMeasures } from './foldMeasures'\nimport { FoldMeasureId, FoldMeasureName, FoldMeasureValue, Separator } from './constant'\nimport { unfoldDimensions } from './unfoldDimensions'\n\nexport const dataReshapeByEncoding = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n encoding: Encoding,\n options?: {\n foldMeasureId?: string\n foldMeasureName?: string\n foldMeasureValue?: string\n colorItemAsId?: boolean\n colorMeasureId?: string\n omitIds?: string[]\n },\n): {\n dataset: Dataset\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n} => {\n const {\n foldMeasureId = FoldMeasureId,\n foldMeasureName = FoldMeasureName,\n foldMeasureValue = FoldMeasureValue,\n colorItemAsId = false,\n colorMeasureId,\n omitIds,\n } = options || {}\n\n // 合并所有指标为1个指标\n const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures as Measures, {\n measureId: foldMeasureId,\n measureName: foldMeasureName,\n measureValue: foldMeasureValue,\n colorMeasureId,\n omitIds,\n })\n\n // 展开指定的维度为指标\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dimensions, encoding, {\n foldMeasureId,\n separator: Separator,\n colorItemAsId,\n })\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n}\n"],"names":["dataReshapeByEncoding","dataset","dimensions","measures","encoding","options","foldMeasureId","FoldMeasureId","foldMeasureName","FoldMeasureName","foldMeasureValue","FoldMeasureValue","colorItemAsId","colorMeasureId","omitIds","foldedDataset","foldInfo","foldMeasures","finalDataset","unfoldInfo","unfoldDimensions","Separator"],"mappings":";;;AAKO,MAAMA,wBAAwB,CACnCC,SACAC,YACAC,UACAC,UACAC;IAaA,MAAM,EACJC,gBAAgBC,aAAa,EAC7BC,kBAAkBC,eAAe,EACjCC,mBAAmBC,gBAAgB,EACnCC,gBAAgB,KAAK,EACrBC,cAAc,EACdC,OAAO,EACR,GAAGT,WAAW,CAAC;IAGhB,MAAM,EAAE,SAASU,aAAa,EAAEC,QAAQ,EAAE,GAAGC,aAAahB,SAASE,UAAsB;QACvF,WAAWG;QACX,aAAaE;QACb,cAAcE;QACdG;QACAC;IACF;IAGA,MAAM,EAAE,SAASI,YAAY,EAAEC,UAAU,EAAE,GAAGC,iBAAiBL,eAAeb,YAAYE,UAAU;QAClGE;QACA,WAAWe;QACXT;IACF;IACA,OAAO;QAAE,SAASM;QAAcF;QAAUG;IAAW;AACvD"}
1
+ {"version":3,"file":"dataReshape/dataReshapeByEncoding.js","sources":["webpack://@visactor/vseed/./src/dataReshape/dataReshapeByEncoding.ts"],"sourcesContent":["import type { Dataset, Dimension, Encoding, FoldInfo, Measure, Measures, UnfoldInfo } from 'src/types'\nimport { foldMeasures } from './foldMeasures'\nimport { FoldMeasureId, FoldMeasureName, FoldMeasureValue, Separator } from './constant'\nimport { unfoldDimensions } from './unfoldDimensions'\n\nexport const dataReshapeByEncoding = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n encoding: Encoding,\n options?: {\n foldMeasureId?: string\n foldMeasureName?: string\n foldMeasureValue?: string\n colorItemAsId?: boolean\n colorMeasureId?: string\n omitIds: string[]\n },\n): {\n dataset: Dataset\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n} => {\n const {\n foldMeasureId = FoldMeasureId,\n foldMeasureName = FoldMeasureName,\n foldMeasureValue = FoldMeasureValue,\n colorItemAsId = false,\n colorMeasureId,\n omitIds,\n } = options || {}\n\n // 合并所有指标为1个指标\n const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures as Measures, {\n measureId: foldMeasureId,\n measureName: foldMeasureName,\n measureValue: foldMeasureValue,\n colorMeasureId,\n omitIds,\n })\n\n // 展开指定的维度为指标\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dimensions, encoding, {\n foldMeasureId,\n separator: Separator,\n colorItemAsId,\n })\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n}\n"],"names":["dataReshapeByEncoding","dataset","dimensions","measures","encoding","options","foldMeasureId","FoldMeasureId","foldMeasureName","FoldMeasureName","foldMeasureValue","FoldMeasureValue","colorItemAsId","colorMeasureId","omitIds","foldedDataset","foldInfo","foldMeasures","finalDataset","unfoldInfo","unfoldDimensions","Separator"],"mappings":";;;AAKO,MAAMA,wBAAwB,CACnCC,SACAC,YACAC,UACAC,UACAC;IAaA,MAAM,EACJC,gBAAgBC,aAAa,EAC7BC,kBAAkBC,eAAe,EACjCC,mBAAmBC,gBAAgB,EACnCC,gBAAgB,KAAK,EACrBC,cAAc,EACdC,OAAO,EACR,GAAGT,WAAW,CAAC;IAGhB,MAAM,EAAE,SAASU,aAAa,EAAEC,QAAQ,EAAE,GAAGC,aAAahB,SAASE,UAAsB;QACvF,WAAWG;QACX,aAAaE;QACb,cAAcE;QACdG;QACAC;IACF;IAGA,MAAM,EAAE,SAASI,YAAY,EAAEC,UAAU,EAAE,GAAGC,iBAAiBL,eAAeb,YAAYE,UAAU;QAClGE;QACA,WAAWe;QACXT;IACF;IACA,OAAO;QAAE,SAASM;QAAcF;QAAUG;IAAW;AACvD"}
@@ -22,14 +22,10 @@ const foldMeasures = (dataset, measures, options)=>{
22
22
  };
23
23
  const result = new Array(dataset.length * measures.length);
24
24
  let index = 0;
25
- const ids = measures.map((d)=>d.id);
26
25
  for(let i = 0; i < dataset.length; i++)for(let j = 0; j < measures.length; j++){
27
26
  const datum = omit({
28
27
  ...dataset[i]
29
- }, [
30
- ...ids,
31
- ...omitIds
32
- ]);
28
+ }, omitIds);
33
29
  datum[ORIGINAL_DATA] = dataset[i];
34
30
  const measure = measures[j];
35
31
  const { id, alias } = measure;
@@ -37,7 +33,17 @@ const foldMeasures = (dataset, measures, options)=>{
37
33
  datum[measureId] = id;
38
34
  datum[measureName] = alias || id;
39
35
  datum[measureValue] = dataset[i][id];
40
- if (colorMeasureId) {
36
+ const valueNumber = Number(datum[id]);
37
+ foldInfo.statistics.min = Math.min(foldInfo.statistics.min, valueNumber);
38
+ foldInfo.statistics.max = Math.max(foldInfo.statistics.max, valueNumber);
39
+ foldInfo.statistics.sum += valueNumber;
40
+ foldInfo.statistics.count++;
41
+ if ('color' === measure.encoding) {
42
+ foldInfo.statistics.colorMin = foldInfo.statistics.min;
43
+ foldInfo.statistics.colorMax = foldInfo.statistics.max;
44
+ datum[ColorEncoding] = valueNumber;
45
+ datum[ColorIdEncoding] = measure.id;
46
+ } else if (colorMeasureId) {
41
47
  const value = datum[ORIGINAL_DATA][colorMeasureId];
42
48
  datum[ColorEncoding] = value;
43
49
  datum[ColorIdEncoding] = colorMeasureId;
@@ -45,11 +51,6 @@ const foldMeasures = (dataset, measures, options)=>{
45
51
  foldInfo.statistics.colorMin = Math.min(foldInfo.statistics.colorMin, valueNumber);
46
52
  foldInfo.statistics.colorMax = Math.max(foldInfo.statistics.colorMax, valueNumber);
47
53
  }
48
- const valueNumber = Number(datum[id]);
49
- foldInfo.statistics.min = Math.min(foldInfo.statistics.min, valueNumber);
50
- foldInfo.statistics.max = Math.max(foldInfo.statistics.max, valueNumber);
51
- foldInfo.statistics.sum += valueNumber;
52
- foldInfo.statistics.count++;
53
54
  foldInfo.foldMap[id] = alias;
54
55
  result[index++] = datum;
55
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dataReshape/foldMeasures.js","sources":["webpack://@visactor/vseed/./src/dataReshape/foldMeasures.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { Dataset, FoldInfo, Measures } from 'src/types'\nimport { ColorEncoding, ColorIdEncoding, ORIGINAL_DATA } from './constant'\nimport { omit } from 'remeda'\n\n/**\n * 折叠指定的指标\n * @description 合并指定的指标为1个, 无论多少个, 都能转换为1个, 取名为fold, 意为折叠后混合在一起.\n */\nexport const foldMeasures = (\n dataset: Dataset,\n measures: Measures,\n options: {\n measureId: string\n measureName: string\n measureValue: string\n colorMeasureId?: string\n allowEmptyFold?: boolean\n omitIds?: string[]\n },\n): {\n dataset: Dataset\n foldInfo: FoldInfo\n} => {\n const { measureId, measureName, measureValue, colorMeasureId, allowEmptyFold = true, omitIds = [] } = options || {}\n\n const foldInfo: FoldInfo = {\n measureId,\n measureName,\n measureValue,\n statistics: {\n max: -Infinity,\n min: Infinity,\n sum: 0,\n count: 0,\n colorMin: Infinity,\n colorMax: -Infinity,\n },\n foldMap: {},\n }\n\n if (!allowEmptyFold && measures.length === 0) {\n return {\n dataset,\n foldInfo,\n }\n }\n\n const result: Dataset = new Array(dataset.length * measures.length) as Dataset\n let index = 0\n const ids = measures.map((d) => d.id)\n for (let i = 0; i < dataset.length; i++) {\n for (let j = 0; j < measures.length; j++) {\n const datum: Record<string, any> = omit({ ...dataset[i] }, [...ids, ...omitIds])\n\n datum[ORIGINAL_DATA] = dataset[i]\n\n const measure = measures[j]\n const { id, alias } = measure\n\n datum[id] = dataset[i][id] as unknown\n datum[measureId] = id\n datum[measureName] = alias || id\n datum[measureValue] = dataset[i][id] as unknown\n\n if (colorMeasureId) {\n const value = (datum[ORIGINAL_DATA] as Record<string, string | number>)[colorMeasureId]\n datum[ColorEncoding] = value\n datum[ColorIdEncoding] = colorMeasureId\n\n const valueNumber = Number(value)\n foldInfo.statistics.colorMin = Math.min(foldInfo.statistics.colorMin, valueNumber)\n foldInfo.statistics.colorMax = Math.max(foldInfo.statistics.colorMax, valueNumber)\n }\n\n const valueNumber = Number(datum[id])\n foldInfo.statistics.min = Math.min(foldInfo.statistics.min, valueNumber)\n foldInfo.statistics.max = Math.max(foldInfo.statistics.max, valueNumber)\n foldInfo.statistics.sum += valueNumber\n foldInfo.statistics.count++\n\n foldInfo.foldMap[id] = alias\n result[index++] = datum\n }\n }\n\n return {\n dataset: result,\n foldInfo,\n }\n}\n"],"names":["foldMeasures","dataset","measures","options","measureId","measureName","measureValue","colorMeasureId","allowEmptyFold","omitIds","foldInfo","Infinity","result","Array","index","ids","d","i","j","datum","omit","ORIGINAL_DATA","measure","id","alias","value","ColorEncoding","ColorIdEncoding","valueNumber","Number","Math"],"mappings":";;AASO,MAAMA,eAAe,CAC1BC,SACAC,UACAC;IAYA,MAAM,EAAEC,SAAS,EAAEC,WAAW,EAAEC,YAAY,EAAEC,cAAc,EAAEC,iBAAiB,IAAI,EAAEC,UAAU,EAAE,EAAE,GAAGN,WAAW,CAAC;IAElH,MAAMO,WAAqB;QACzBN;QACAC;QACAC;QACA,YAAY;YACV,KAAK,CAACK;YACN,KAAKA;YACL,KAAK;YACL,OAAO;YACP,UAAUA;YACV,UAAU,CAACA;QACb;QACA,SAAS,CAAC;IACZ;IAEA,IAAI,CAACH,kBAAkBN,AAAoB,MAApBA,SAAS,MAAM,EACpC,OAAO;QACLD;QACAS;IACF;IAGF,MAAME,SAAkB,IAAIC,MAAMZ,QAAQ,MAAM,GAAGC,SAAS,MAAM;IAClE,IAAIY,QAAQ;IACZ,MAAMC,MAAMb,SAAS,GAAG,CAAC,CAACc,IAAMA,EAAE,EAAE;IACpC,IAAK,IAAIC,IAAI,GAAGA,IAAIhB,QAAQ,MAAM,EAAEgB,IAClC,IAAK,IAAIC,IAAI,GAAGA,IAAIhB,SAAS,MAAM,EAAEgB,IAAK;QACxC,MAAMC,QAA6BC,KAAK;YAAE,GAAGnB,OAAO,CAACgB,EAAE;QAAC,GAAG;eAAIF;eAAQN;SAAQ;QAE/EU,KAAK,CAACE,cAAc,GAAGpB,OAAO,CAACgB,EAAE;QAEjC,MAAMK,UAAUpB,QAAQ,CAACgB,EAAE;QAC3B,MAAM,EAAEK,EAAE,EAAEC,KAAK,EAAE,GAAGF;QAEtBH,KAAK,CAACI,GAAG,GAAGtB,OAAO,CAACgB,EAAE,CAACM,GAAG;QAC1BJ,KAAK,CAACf,UAAU,GAAGmB;QACnBJ,KAAK,CAACd,YAAY,GAAGmB,SAASD;QAC9BJ,KAAK,CAACb,aAAa,GAAGL,OAAO,CAACgB,EAAE,CAACM,GAAG;QAEpC,IAAIhB,gBAAgB;YAClB,MAAMkB,QAASN,KAAK,CAACE,cAAkD,CAACd,eAAe;YACvFY,KAAK,CAACO,cAAc,GAAGD;YACvBN,KAAK,CAACQ,gBAAgB,GAAGpB;YAEzB,MAAMqB,cAAcC,OAAOJ;YAC3Bf,SAAS,UAAU,CAAC,QAAQ,GAAGoB,KAAK,GAAG,CAACpB,SAAS,UAAU,CAAC,QAAQ,EAAEkB;YACtElB,SAAS,UAAU,CAAC,QAAQ,GAAGoB,KAAK,GAAG,CAACpB,SAAS,UAAU,CAAC,QAAQ,EAAEkB;QACxE;QAEA,MAAMA,cAAcC,OAAOV,KAAK,CAACI,GAAG;QACpCb,SAAS,UAAU,CAAC,GAAG,GAAGoB,KAAK,GAAG,CAACpB,SAAS,UAAU,CAAC,GAAG,EAAEkB;QAC5DlB,SAAS,UAAU,CAAC,GAAG,GAAGoB,KAAK,GAAG,CAACpB,SAAS,UAAU,CAAC,GAAG,EAAEkB;QAC5DlB,SAAS,UAAU,CAAC,GAAG,IAAIkB;QAC3BlB,SAAS,UAAU,CAAC,KAAK;QAEzBA,SAAS,OAAO,CAACa,GAAG,GAAGC;QACvBZ,MAAM,CAACE,QAAQ,GAAGK;IACpB;IAGF,OAAO;QACL,SAASP;QACTF;IACF;AACF"}
1
+ {"version":3,"file":"dataReshape/foldMeasures.js","sources":["webpack://@visactor/vseed/./src/dataReshape/foldMeasures.ts"],"sourcesContent":["import type { Dataset, FoldInfo, Measures } from 'src/types'\nimport { ColorEncoding, ColorIdEncoding, ORIGINAL_DATA } from './constant'\nimport { omit } from 'remeda'\n\n/**\n * 折叠指定的指标\n * @description 合并指定的指标为1个, 无论多少个, 都能转换为1个, 取名为fold, 意为折叠后混合在一起.\n */\nexport const foldMeasures = (\n dataset: Dataset,\n measures: Measures,\n options: {\n measureId: string\n measureName: string\n measureValue: string\n colorMeasureId?: string\n allowEmptyFold?: boolean\n omitIds?: string[]\n },\n): {\n dataset: Dataset\n foldInfo: FoldInfo\n} => {\n const { measureId, measureName, measureValue, colorMeasureId, allowEmptyFold = true, omitIds = [] } = options || {}\n\n const foldInfo: FoldInfo = {\n measureId,\n measureName,\n measureValue,\n statistics: {\n max: -Infinity,\n min: Infinity,\n sum: 0,\n count: 0,\n colorMin: Infinity,\n colorMax: -Infinity,\n },\n foldMap: {},\n }\n\n if (!allowEmptyFold && measures.length === 0) {\n return {\n dataset,\n foldInfo,\n }\n }\n\n const result: Dataset = new Array(dataset.length * measures.length) as Dataset\n let index = 0\n // const ids = measures.map((d) => d.id)\n for (let i = 0; i < dataset.length; i++) {\n for (let j = 0; j < measures.length; j++) {\n const datum: Record<string, any> = omit({ ...dataset[i] }, omitIds)\n\n datum[ORIGINAL_DATA] = dataset[i]\n\n const measure = measures[j]\n const { id, alias } = measure\n\n datum[id] = dataset[i][id] as unknown\n datum[measureId] = id\n datum[measureName] = alias || id\n datum[measureValue] = dataset[i][id] as unknown\n\n const valueNumber = Number(datum[id])\n foldInfo.statistics.min = Math.min(foldInfo.statistics.min, valueNumber)\n foldInfo.statistics.max = Math.max(foldInfo.statistics.max, valueNumber)\n foldInfo.statistics.sum += valueNumber\n foldInfo.statistics.count++\n\n if (measure.encoding === 'color') {\n foldInfo.statistics.colorMin = foldInfo.statistics.min\n foldInfo.statistics.colorMax = foldInfo.statistics.max\n datum[ColorEncoding] = valueNumber\n datum[ColorIdEncoding] = measure.id\n } else if (colorMeasureId) {\n const value = (datum[ORIGINAL_DATA] as Record<string, string | number>)[colorMeasureId]\n datum[ColorEncoding] = value\n datum[ColorIdEncoding] = colorMeasureId\n\n const valueNumber = Number(value)\n foldInfo.statistics.colorMin = Math.min(foldInfo.statistics.colorMin, valueNumber)\n foldInfo.statistics.colorMax = Math.max(foldInfo.statistics.colorMax, valueNumber)\n }\n\n foldInfo.foldMap[id] = alias\n result[index++] = datum\n }\n }\n\n return {\n dataset: result,\n foldInfo,\n }\n}\n"],"names":["foldMeasures","dataset","measures","options","measureId","measureName","measureValue","colorMeasureId","allowEmptyFold","omitIds","foldInfo","Infinity","result","Array","index","i","j","datum","omit","ORIGINAL_DATA","measure","id","alias","valueNumber","Number","Math","ColorEncoding","ColorIdEncoding","value"],"mappings":";;AAQO,MAAMA,eAAe,CAC1BC,SACAC,UACAC;IAYA,MAAM,EAAEC,SAAS,EAAEC,WAAW,EAAEC,YAAY,EAAEC,cAAc,EAAEC,iBAAiB,IAAI,EAAEC,UAAU,EAAE,EAAE,GAAGN,WAAW,CAAC;IAElH,MAAMO,WAAqB;QACzBN;QACAC;QACAC;QACA,YAAY;YACV,KAAK,CAACK;YACN,KAAKA;YACL,KAAK;YACL,OAAO;YACP,UAAUA;YACV,UAAU,CAACA;QACb;QACA,SAAS,CAAC;IACZ;IAEA,IAAI,CAACH,kBAAkBN,AAAoB,MAApBA,SAAS,MAAM,EACpC,OAAO;QACLD;QACAS;IACF;IAGF,MAAME,SAAkB,IAAIC,MAAMZ,QAAQ,MAAM,GAAGC,SAAS,MAAM;IAClE,IAAIY,QAAQ;IAEZ,IAAK,IAAIC,IAAI,GAAGA,IAAId,QAAQ,MAAM,EAAEc,IAClC,IAAK,IAAIC,IAAI,GAAGA,IAAId,SAAS,MAAM,EAAEc,IAAK;QACxC,MAAMC,QAA6BC,KAAK;YAAE,GAAGjB,OAAO,CAACc,EAAE;QAAC,GAAGN;QAE3DQ,KAAK,CAACE,cAAc,GAAGlB,OAAO,CAACc,EAAE;QAEjC,MAAMK,UAAUlB,QAAQ,CAACc,EAAE;QAC3B,MAAM,EAAEK,EAAE,EAAEC,KAAK,EAAE,GAAGF;QAEtBH,KAAK,CAACI,GAAG,GAAGpB,OAAO,CAACc,EAAE,CAACM,GAAG;QAC1BJ,KAAK,CAACb,UAAU,GAAGiB;QACnBJ,KAAK,CAACZ,YAAY,GAAGiB,SAASD;QAC9BJ,KAAK,CAACX,aAAa,GAAGL,OAAO,CAACc,EAAE,CAACM,GAAG;QAEpC,MAAME,cAAcC,OAAOP,KAAK,CAACI,GAAG;QACpCX,SAAS,UAAU,CAAC,GAAG,GAAGe,KAAK,GAAG,CAACf,SAAS,UAAU,CAAC,GAAG,EAAEa;QAC5Db,SAAS,UAAU,CAAC,GAAG,GAAGe,KAAK,GAAG,CAACf,SAAS,UAAU,CAAC,GAAG,EAAEa;QAC5Db,SAAS,UAAU,CAAC,GAAG,IAAIa;QAC3Bb,SAAS,UAAU,CAAC,KAAK;QAEzB,IAAIU,AAAqB,YAArBA,QAAQ,QAAQ,EAAc;YAChCV,SAAS,UAAU,CAAC,QAAQ,GAAGA,SAAS,UAAU,CAAC,GAAG;YACtDA,SAAS,UAAU,CAAC,QAAQ,GAAGA,SAAS,UAAU,CAAC,GAAG;YACtDO,KAAK,CAACS,cAAc,GAAGH;YACvBN,KAAK,CAACU,gBAAgB,GAAGP,QAAQ,EAAE;QACrC,OAAO,IAAIb,gBAAgB;YACzB,MAAMqB,QAASX,KAAK,CAACE,cAAkD,CAACZ,eAAe;YACvFU,KAAK,CAACS,cAAc,GAAGE;YACvBX,KAAK,CAACU,gBAAgB,GAAGpB;YAEzB,MAAMgB,cAAcC,OAAOI;YAC3BlB,SAAS,UAAU,CAAC,QAAQ,GAAGe,KAAK,GAAG,CAACf,SAAS,UAAU,CAAC,QAAQ,EAAEa;YACtEb,SAAS,UAAU,CAAC,QAAQ,GAAGe,KAAK,GAAG,CAACf,SAAS,UAAU,CAAC,QAAQ,EAAEa;QACxE;QAEAb,SAAS,OAAO,CAACW,GAAG,GAAGC;QACvBV,MAAM,CAACE,QAAQ,GAAGG;IACpB;IAGF,OAAO;QACL,SAASL;QACTF;IACF;AACF"}
@@ -1,4 +1,4 @@
1
- import { annotation, buildMeasuresForScatter, defaultDimensions, defaultEncodingForScatter, defaultMeasureId, defaultMeasures, encodingAdapter, encodingForScatter, initAdvancedVSeed, markStyle, pickDimensionsForReshape, pivotAdapter, regressionLine, scatterConfig, theme } from "../pipes/index.js";
1
+ import { addPivotDimensionsForScatter, annotation, buildMeasuresForScatter, defaultDimensions, defaultEncodingForScatter, defaultMeasureId, defaultMeasures, encodingAdapter, encodingForScatter, initAdvancedVSeed, markStyle, pickDimensionsForReshape, pivotAdapter, regressionLine, scatterConfig, theme } from "../pipes/index.js";
2
2
  import { reshapeWithScatterEncoding } from "../pipes/reshape/reshapeWithScatterEncoding.js";
3
3
  import { pivotReshapeWithScatterEncoding } from "../pipes/reshape/pivotReshapeWithScatterEncoding.js";
4
4
  const scatterAdvancedPipeline = [
@@ -8,9 +8,11 @@ const scatterAdvancedPipeline = [
8
8
  defaultMeasureId,
9
9
  encodingAdapter([
10
10
  buildMeasuresForScatter,
11
+ addPivotDimensionsForScatter,
11
12
  defaultEncodingForScatter
12
13
  ], [
13
14
  buildMeasuresForScatter,
15
+ addPivotDimensionsForScatter,
14
16
  encodingForScatter,
15
17
  pickDimensionsForReshape
16
18
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/chart/pipeline/scatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipeline/scatter.ts"],"sourcesContent":["import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n markStyle,\n scatterConfig,\n encodingForScatter,\n buildMeasuresForScatter,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureId,\n encodingAdapter,\n defaultEncodingForScatter,\n pickDimensionsForReshape,\n regressionLine,\n} from '../pipes'\nimport { reshapeWithScatterEncoding } from '../pipes/reshape/reshapeWithScatterEncoding'\nimport { pivotReshapeWithScatterEncoding } from '../pipes/reshape/pivotReshapeWithScatterEncoding'\n\nexport const scatterAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureId,\n\n encodingAdapter(\n [buildMeasuresForScatter, defaultEncodingForScatter],\n [buildMeasuresForScatter, encodingForScatter, pickDimensionsForReshape],\n ),\n pivotAdapter([reshapeWithScatterEncoding], [pivotReshapeWithScatterEncoding]),\n\n scatterConfig,\n theme,\n markStyle,\n annotation,\n regressionLine,\n]\n"],"names":["scatterAdvancedPipeline","initAdvancedVSeed","defaultMeasures","defaultDimensions","defaultMeasureId","encodingAdapter","buildMeasuresForScatter","defaultEncodingForScatter","encodingForScatter","pickDimensionsForReshape","pivotAdapter","reshapeWithScatterEncoding","pivotReshapeWithScatterEncoding","scatterConfig","theme","markStyle","annotation","regressionLine"],"mappings":";;;AAqBO,MAAMA,0BAA4C;IACvDC;IACAC;IACAC;IACAC;IAEAC,gBACE;QAACC;QAAyBC;KAA0B,EACpD;QAACD;QAAyBE;QAAoBC;KAAyB;IAEzEC,aAAa;QAACC;KAA2B,EAAE;QAACC;KAAgC;IAE5EC;IACAC;IACAC;IACAC;IACAC;CACD"}
1
+ {"version":3,"file":"pipeline/advanced/chart/pipeline/scatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipeline/scatter.ts"],"sourcesContent":["import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n markStyle,\n scatterConfig,\n encodingForScatter,\n buildMeasuresForScatter,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureId,\n encodingAdapter,\n defaultEncodingForScatter,\n pickDimensionsForReshape,\n regressionLine,\n addPivotDimensionsForScatter,\n} from '../pipes'\nimport { reshapeWithScatterEncoding } from '../pipes/reshape/reshapeWithScatterEncoding'\nimport { pivotReshapeWithScatterEncoding } from '../pipes/reshape/pivotReshapeWithScatterEncoding'\n\nexport const scatterAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureId,\n\n encodingAdapter(\n [buildMeasuresForScatter, addPivotDimensionsForScatter, defaultEncodingForScatter],\n [buildMeasuresForScatter, addPivotDimensionsForScatter, encodingForScatter, pickDimensionsForReshape],\n ),\n pivotAdapter([reshapeWithScatterEncoding], [pivotReshapeWithScatterEncoding]),\n\n scatterConfig,\n theme,\n markStyle,\n annotation,\n regressionLine,\n]\n"],"names":["scatterAdvancedPipeline","initAdvancedVSeed","defaultMeasures","defaultDimensions","defaultMeasureId","encodingAdapter","buildMeasuresForScatter","addPivotDimensionsForScatter","defaultEncodingForScatter","encodingForScatter","pickDimensionsForReshape","pivotAdapter","reshapeWithScatterEncoding","pivotReshapeWithScatterEncoding","scatterConfig","theme","markStyle","annotation","regressionLine"],"mappings":";;;AAsBO,MAAMA,0BAA4C;IACvDC;IACAC;IACAC;IACAC;IAEAC,gBACE;QAACC;QAAyBC;QAA8BC;KAA0B,EAClF;QAACF;QAAyBC;QAA8BE;QAAoBC;KAAyB;IAEvGC,aAAa;QAACC;KAA2B,EAAE;QAACC;KAAgC;IAE5EC;IACAC;IACAC;IACAC;IACAC;CACD"}
@@ -18,6 +18,7 @@ const columnConfig = (advancedVSeed, context)=>{
18
18
  'stackCornerRadius',
19
19
  'barMaxWidth',
20
20
  'barGapInGroup',
21
+ 'brush',
21
22
  'dimensionLinkage'
22
23
  ]);
23
24
  const config = replaceNullToUndefined(pickedConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/chart/pipes/config/column.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/config/column.ts"],"sourcesContent":["import { pick } from 'remeda'\nimport { replaceNullToUndefined } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed, Config } from 'src/types'\n\nexport const columnConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const pickedConfig = pick(vseed, [\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n 'xAxis',\n 'yAxis',\n 'crosshairRect',\n 'stackCornerRadius',\n 'barMaxWidth',\n 'barGapInGroup',\n\n 'dimensionLinkage',\n ]) as Config['column']\n\n const config = replaceNullToUndefined(pickedConfig)\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n"],"names":["columnConfig","advancedVSeed","context","vseed","chartType","result","pickedConfig","pick","config","replaceNullToUndefined"],"mappings":";;AAIO,MAAMA,eAA6B,CAACC,eAAeC;IACxD,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,SAAS;QACb,GAAGJ,aAAa;IAClB;IAEA,MAAMK,eAAeC,KAAKJ,OAAO;QAC/B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QAEA;KACD;IAED,MAAMK,SAASC,uBAAuBH;IAEtCD,OAAO,MAAM,GAAG;QACd,GAAIA,OAAO,MAAM,IAAI,CAAC,CAAC;QACvB,CAACD,UAAU,EAAE;YACX,GAAGI,MAAM;QACX;IACF;IAEA,OAAOH;AACT"}
1
+ {"version":3,"file":"pipeline/advanced/chart/pipes/config/column.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/config/column.ts"],"sourcesContent":["import { pick } from 'remeda'\nimport { replaceNullToUndefined } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed, Config } from 'src/types'\n\nexport const columnConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const pickedConfig = pick(vseed, [\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n 'xAxis',\n 'yAxis',\n 'crosshairRect',\n 'stackCornerRadius',\n 'barMaxWidth',\n 'barGapInGroup',\n 'brush',\n 'dimensionLinkage',\n ]) as Config['column']\n\n const config = replaceNullToUndefined(pickedConfig)\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n"],"names":["columnConfig","advancedVSeed","context","vseed","chartType","result","pickedConfig","pick","config","replaceNullToUndefined"],"mappings":";;AAIO,MAAMA,eAA6B,CAACC,eAAeC;IACxD,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,SAAS;QACb,GAAGJ,aAAa;IAClB;IAEA,MAAMK,eAAeC,KAAKJ,OAAO;QAC/B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IAED,MAAMK,SAASC,uBAAuBH;IAEtCD,OAAO,MAAM,GAAG;QACd,GAAIA,OAAO,MAAM,IAAI,CAAC,CAAC;QACvB,CAACD,UAAU,EAAE;YACX,GAAGI,MAAM;QACX;IACF;IAEA,OAAOH;AACT"}
@@ -0,0 +1,2 @@
1
+ import type { AdvancedPipe } from '../../../../../types';
2
+ export declare const heatmapConfig: AdvancedPipe;
@@ -0,0 +1,31 @@
1
+ import { pick } from "remeda";
2
+ import { replaceNullToUndefined } from "../../../../utils/index.js";
3
+ const heatmapConfig = (advancedVSeed, context)=>{
4
+ const { vseed } = context;
5
+ const { chartType } = vseed;
6
+ const result = {
7
+ ...advancedVSeed
8
+ };
9
+ const pickedConfig = pick(vseed, [
10
+ 'backgroundColor',
11
+ 'color',
12
+ 'label',
13
+ 'legend',
14
+ 'tooltip',
15
+ 'xAxis',
16
+ 'yAxis',
17
+ 'brush',
18
+ 'dimensionLinkage'
19
+ ]);
20
+ const config = replaceNullToUndefined(pickedConfig);
21
+ result.config = {
22
+ ...result.config || {},
23
+ [chartType]: {
24
+ ...config
25
+ }
26
+ };
27
+ return result;
28
+ };
29
+ export { heatmapConfig };
30
+
31
+ //# sourceMappingURL=heatmap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline/advanced/chart/pipes/config/heatmap.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/config/heatmap.ts"],"sourcesContent":["import { pick } from 'remeda'\nimport { replaceNullToUndefined } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed, Config } from 'src/types'\n\nexport const heatmapConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const pickedConfig = pick(vseed, [\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n 'xAxis',\n 'yAxis',\n 'brush',\n 'dimensionLinkage',\n ]) as Config['heatmap']\n\n const config = replaceNullToUndefined(pickedConfig)\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n"],"names":["heatmapConfig","advancedVSeed","context","vseed","chartType","result","pickedConfig","pick","config","replaceNullToUndefined"],"mappings":";;AAIO,MAAMA,gBAA8B,CAACC,eAAeC;IACzD,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,SAAS;QACb,GAAGJ,aAAa;IAClB;IAEA,MAAMK,eAAeC,KAAKJ,OAAO;QAC/B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IAED,MAAMK,SAASC,uBAAuBH;IAEtCD,OAAO,MAAM,GAAG;QACd,GAAIA,OAAO,MAAM,IAAI,CAAC,CAAC;QACvB,CAACD,UAAU,EAAE;YACX,GAAGI,MAAM;QACX;IACF;IAEA,OAAOH;AACT"}
@@ -21,6 +21,7 @@ const histogramConfig = (advancedVSeed, context)=>{
21
21
  'binCount',
22
22
  'binStep',
23
23
  'binValueType',
24
+ 'brush',
24
25
  'dimensionLinkage'
25
26
  ]);
26
27
  let config = replaceNullToUndefined(pickedConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/chart/pipes/config/histogram.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/config/histogram.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport { merge } from '@visactor/vutils'\nimport { pick } from 'remeda'\nimport { BinEndMeasureId, BinStartMeasureId } from 'src/dataReshape'\nimport { replaceNullToUndefined } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed, Config, Dimension } from 'src/types'\n\nexport const histogramConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n const hasColorEncoding = (advancedVSeed?.dimensions || []).find((field: Dimension) => field?.encoding === 'color')\n\n const pickedConfig = pick(vseed, [\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n 'xAxis',\n 'yAxis',\n 'crosshairRect',\n 'binCount',\n 'binStep',\n 'binValueType',\n\n 'dimensionLinkage',\n ]) as Config['histogram']\n\n let config = replaceNullToUndefined(pickedConfig)\n\n if (pickedConfig?.binValueType === 'percentage') {\n config = merge(\n {},\n {\n yAxis: {\n autoFomat: false,\n numFormat: {\n type: 'percent',\n fractionDigits: 1,\n },\n },\n label: {\n autoFormat: false,\n numFormat: {\n type: 'percent',\n fractionDigits: 1,\n },\n },\n },\n config,\n )\n }\n if (!hasColorEncoding && !config?.legend?.enable) {\n config = {\n ...config,\n legend: {\n ...config?.legend,\n enable: false,\n },\n }\n }\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n\nexport const histogramXAxisConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n const { dataset = [] } = advancedVSeed\n const flattenDatasert = dataset.flat()\n const minValue = Math.min(...flattenDatasert.map((v) => +v[BinStartMeasureId]))\n const maxValue = Math.max(...flattenDatasert.map((v) => +v[BinEndMeasureId]))\n\n const chartConfig = result.config?.[chartType] as any\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...chartConfig,\n xAxis: {\n min: Number.isNaN(minValue) ? undefined : minValue,\n max: Number.isNaN(maxValue) ? undefined : maxValue,\n ...(chartConfig?.xAxis || {}),\n },\n },\n }\n\n return result as AdvancedVSeed\n}\n"],"names":["histogramConfig","advancedVSeed","context","vseed","chartType","result","hasColorEncoding","field","pickedConfig","pick","config","replaceNullToUndefined","merge","histogramXAxisConfig","dataset","flattenDatasert","minValue","Math","v","BinStartMeasureId","maxValue","BinEndMeasureId","chartConfig","Number","undefined"],"mappings":";;;;AAOO,MAAMA,kBAAgC,CAACC,eAAeC;IAC3D,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,SAAS;QACb,GAAGJ,aAAa;IAClB;IACA,MAAMK,mBAAoBL,AAAAA,CAAAA,eAAe,cAAc,EAAC,EAAG,IAAI,CAAC,CAACM,QAAqBA,OAAO,aAAa;IAE1G,MAAMC,eAAeC,KAAKN,OAAO;QAC/B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QAEA;KACD;IAED,IAAIO,SAASC,uBAAuBH;IAEpC,IAAIA,cAAc,iBAAiB,cACjCE,SAASE,MACP,CAAC,GACD;QACE,OAAO;YACL,WAAW;YACX,WAAW;gBACT,MAAM;gBACN,gBAAgB;YAClB;QACF;QACA,OAAO;YACL,YAAY;YACZ,WAAW;gBACT,MAAM;gBACN,gBAAgB;YAClB;QACF;IACF,GACAF;IAGJ,IAAI,CAACJ,oBAAoB,CAACI,QAAQ,QAAQ,QACxCA,SAAS;QACP,GAAGA,MAAM;QACT,QAAQ;YACN,GAAGA,QAAQ,MAAM;YACjB,QAAQ;QACV;IACF;IAEFL,OAAO,MAAM,GAAG;QACd,GAAIA,OAAO,MAAM,IAAI,CAAC,CAAC;QACvB,CAACD,UAAU,EAAE;YACX,GAAGM,MAAM;QACX;IACF;IAEA,OAAOL;AACT;AAEO,MAAMQ,uBAAqC,CAACZ,eAAeC;IAChE,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,SAAS;QACb,GAAGJ,aAAa;IAClB;IACA,MAAM,EAAEa,UAAU,EAAE,EAAE,GAAGb;IACzB,MAAMc,kBAAkBD,QAAQ,IAAI;IACpC,MAAME,WAAWC,KAAK,GAAG,IAAIF,gBAAgB,GAAG,CAAC,CAACG,IAAM,CAACA,CAAC,CAACC,kBAAkB;IAC7E,MAAMC,WAAWH,KAAK,GAAG,IAAIF,gBAAgB,GAAG,CAAC,CAACG,IAAM,CAACA,CAAC,CAACG,gBAAgB;IAE3E,MAAMC,cAAcjB,OAAO,MAAM,EAAE,CAACD,UAAU;IAC9CC,OAAO,MAAM,GAAG;QACd,GAAIA,OAAO,MAAM,IAAI,CAAC,CAAC;QACvB,CAACD,UAAU,EAAE;YACX,GAAGkB,WAAW;YACd,OAAO;gBACL,KAAKC,OAAO,KAAK,CAACP,YAAYQ,SAAYR;gBAC1C,KAAKO,OAAO,KAAK,CAACH,YAAYI,SAAYJ;gBAC1C,GAAIE,aAAa,SAAS,CAAC,CAAC;YAC9B;QACF;IACF;IAEA,OAAOjB;AACT"}
1
+ {"version":3,"file":"pipeline/advanced/chart/pipes/config/histogram.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/config/histogram.ts"],"sourcesContent":["import { merge } from '@visactor/vutils'\nimport { pick } from 'remeda'\nimport { BinEndMeasureId, BinStartMeasureId } from 'src/dataReshape'\nimport { replaceNullToUndefined } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed, Config, Dimension } from 'src/types'\n\nexport const histogramConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n const hasColorEncoding = (advancedVSeed?.dimensions || []).find((field: Dimension) => field?.encoding === 'color')\n\n const pickedConfig = pick(vseed, [\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n 'xAxis',\n 'yAxis',\n 'crosshairRect',\n 'binCount',\n 'binStep',\n 'binValueType',\n 'brush',\n 'dimensionLinkage',\n ]) as Config['histogram']\n\n let config = replaceNullToUndefined(pickedConfig)\n\n if (pickedConfig?.binValueType === 'percentage') {\n config = merge(\n {},\n {\n yAxis: {\n autoFomat: false,\n numFormat: {\n type: 'percent',\n fractionDigits: 1,\n },\n },\n label: {\n autoFormat: false,\n numFormat: {\n type: 'percent',\n fractionDigits: 1,\n },\n },\n },\n config,\n )\n }\n if (!hasColorEncoding && !config?.legend?.enable) {\n config = {\n ...config,\n legend: {\n ...config?.legend,\n enable: false,\n },\n }\n }\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n\nexport const histogramXAxisConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n const { dataset = [] } = advancedVSeed\n const flattenDatasert = dataset.flat()\n const minValue = Math.min(...flattenDatasert.map((v) => +v[BinStartMeasureId]))\n const maxValue = Math.max(...flattenDatasert.map((v) => +v[BinEndMeasureId]))\n\n const chartConfig = result.config?.[chartType] as any\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...chartConfig,\n xAxis: {\n min: Number.isNaN(minValue) ? undefined : minValue,\n max: Number.isNaN(maxValue) ? undefined : maxValue,\n ...(chartConfig?.xAxis || {}),\n },\n },\n }\n\n return result as AdvancedVSeed\n}\n"],"names":["histogramConfig","advancedVSeed","context","vseed","chartType","result","hasColorEncoding","field","pickedConfig","pick","config","replaceNullToUndefined","merge","histogramXAxisConfig","dataset","flattenDatasert","minValue","Math","v","BinStartMeasureId","maxValue","BinEndMeasureId","chartConfig","Number","undefined"],"mappings":";;;;AAMO,MAAMA,kBAAgC,CAACC,eAAeC;IAC3D,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,SAAS;QACb,GAAGJ,aAAa;IAClB;IACA,MAAMK,mBAAoBL,AAAAA,CAAAA,eAAe,cAAc,EAAC,EAAG,IAAI,CAAC,CAACM,QAAqBA,OAAO,aAAa;IAE1G,MAAMC,eAAeC,KAAKN,OAAO;QAC/B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IAED,IAAIO,SAASC,uBAAuBH;IAEpC,IAAIA,cAAc,iBAAiB,cACjCE,SAASE,MACP,CAAC,GACD;QACE,OAAO;YACL,WAAW;YACX,WAAW;gBACT,MAAM;gBACN,gBAAgB;YAClB;QACF;QACA,OAAO;YACL,YAAY;YACZ,WAAW;gBACT,MAAM;gBACN,gBAAgB;YAClB;QACF;IACF,GACAF;IAGJ,IAAI,CAACJ,oBAAoB,CAACI,QAAQ,QAAQ,QACxCA,SAAS;QACP,GAAGA,MAAM;QACT,QAAQ;YACN,GAAGA,QAAQ,MAAM;YACjB,QAAQ;QACV;IACF;IAEFL,OAAO,MAAM,GAAG;QACd,GAAIA,OAAO,MAAM,IAAI,CAAC,CAAC;QACvB,CAACD,UAAU,EAAE;YACX,GAAGM,MAAM;QACX;IACF;IAEA,OAAOL;AACT;AAEO,MAAMQ,uBAAqC,CAACZ,eAAeC;IAChE,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,SAAS;QACb,GAAGJ,aAAa;IAClB;IACA,MAAM,EAAEa,UAAU,EAAE,EAAE,GAAGb;IACzB,MAAMc,kBAAkBD,QAAQ,IAAI;IACpC,MAAME,WAAWC,KAAK,GAAG,IAAIF,gBAAgB,GAAG,CAAC,CAACG,IAAM,CAACA,CAAC,CAACC,kBAAkB;IAC7E,MAAMC,WAAWH,KAAK,GAAG,IAAIF,gBAAgB,GAAG,CAAC,CAACG,IAAM,CAACA,CAAC,CAACG,gBAAgB;IAE3E,MAAMC,cAAcjB,OAAO,MAAM,EAAE,CAACD,UAAU;IAC9CC,OAAO,MAAM,GAAG;QACd,GAAIA,OAAO,MAAM,IAAI,CAAC,CAAC;QACvB,CAACD,UAAU,EAAE;YACX,GAAGkB,WAAW;YACd,OAAO;gBACL,KAAKC,OAAO,KAAK,CAACP,YAAYQ,SAAYR;gBAC1C,KAAKO,OAAO,KAAK,CAACH,YAAYI,SAAYJ;gBAC1C,GAAIE,aAAa,SAAS,CAAC,CAAC;YAC9B;QACF;IACF;IAEA,OAAOjB;AACT"}
@@ -5,7 +5,8 @@ import { dualAxisConfig } from './dualAxis';
5
5
  import { scatterConfig } from './scatter';
6
6
  import { histogramConfig } from './histogram';
7
7
  import { boxplotConfig } from './boxplot';
8
- export { lineConfig, columnConfig, pieConfig, dualAxisConfig, scatterConfig, histogramConfig, boxplotConfig };
8
+ import { heatmapConfig } from './heatmap';
9
+ export { lineConfig, columnConfig, pieConfig, dualAxisConfig, scatterConfig, histogramConfig, boxplotConfig, heatmapConfig, };
9
10
  export declare const areaConfig: import("../../../../..").AdvancedPipe;
10
11
  export declare const areaPercentConfig: import("../../../../..").AdvancedPipe;
11
12
  export declare const barConfig: import("../../../../..").AdvancedPipe;
@@ -18,4 +19,3 @@ export declare const roseConfig: import("../../../../..").AdvancedPipe;
18
19
  export declare const roseParallelConfig: import("../../../../..").AdvancedPipe;
19
20
  export declare const radarConfig: import("../../../../..").AdvancedPipe;
20
21
  export declare const funnelConfig: import("../../../../..").AdvancedPipe;
21
- export declare const heatmapConfig: import("../../../../..").AdvancedPipe;
@@ -5,6 +5,7 @@ import { dualAxisConfig } from "./dualAxis.js";
5
5
  import { scatterConfig } from "./scatter.js";
6
6
  import { histogramConfig } from "./histogram.js";
7
7
  import { boxplotConfig } from "./boxplot.js";
8
+ import { heatmapConfig } from "./heatmap.js";
8
9
  const areaConfig = lineConfig;
9
10
  const areaPercentConfig = lineConfig;
10
11
  const barConfig = columnConfig;
@@ -17,7 +18,6 @@ const roseConfig = pieConfig;
17
18
  const roseParallelConfig = pieConfig;
18
19
  const radarConfig = pieConfig;
19
20
  const funnelConfig = pieConfig;
20
- const heatmapConfig = pieConfig;
21
21
  export { areaConfig, areaPercentConfig, barConfig, barParallelConfig, barPercentConfig, boxplotConfig, columnConfig, columnParallelConfig, columnPercentConfig, donutConfig, dualAxisConfig, funnelConfig, heatmapConfig, histogramConfig, lineConfig, pieConfig, radarConfig, roseConfig, roseParallelConfig, scatterConfig };
22
22
 
23
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/chart/pipes/config/index.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/config/index.ts"],"sourcesContent":["import { lineConfig } from './line'\nimport { columnConfig } from './column'\nimport { pieConfig } from './pie'\nimport { dualAxisConfig } from './dualAxis'\nimport { scatterConfig } from './scatter'\nimport { histogramConfig } from './histogram'\nimport { boxplotConfig } from './boxplot'\n\nexport { lineConfig, columnConfig, pieConfig, dualAxisConfig, scatterConfig, histogramConfig, boxplotConfig }\n\n// area\nexport const areaConfig = lineConfig\nexport const areaPercentConfig = lineConfig\n\n// bar\nexport const barConfig = columnConfig\nexport const barParallelConfig = columnConfig\nexport const barPercentConfig = columnConfig\n\n// column\nexport const columnParallelConfig = columnConfig\nexport const columnPercentConfig = columnConfig\n\n// donut, rose\nexport const donutConfig = pieConfig\nexport const roseConfig = pieConfig\nexport const roseParallelConfig = pieConfig\nexport const radarConfig = pieConfig\n\n// funnel, heatmap\nexport const funnelConfig = pieConfig\nexport const heatmapConfig = pieConfig\n"],"names":["areaConfig","lineConfig","areaPercentConfig","barConfig","columnConfig","barParallelConfig","barPercentConfig","columnParallelConfig","columnPercentConfig","donutConfig","pieConfig","roseConfig","roseParallelConfig","radarConfig","funnelConfig","heatmapConfig"],"mappings":";;;;;;;AAWO,MAAMA,aAAaC;AACnB,MAAMC,oBAAoBD;AAG1B,MAAME,YAAYC;AAClB,MAAMC,oBAAoBD;AAC1B,MAAME,mBAAmBF;AAGzB,MAAMG,uBAAuBH;AAC7B,MAAMI,sBAAsBJ;AAG5B,MAAMK,cAAcC;AACpB,MAAMC,aAAaD;AACnB,MAAME,qBAAqBF;AAC3B,MAAMG,cAAcH;AAGpB,MAAMI,eAAeJ;AACrB,MAAMK,gBAAgBL"}
1
+ {"version":3,"file":"pipeline/advanced/chart/pipes/config/index.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/config/index.ts"],"sourcesContent":["import { lineConfig } from './line'\nimport { columnConfig } from './column'\nimport { pieConfig } from './pie'\nimport { dualAxisConfig } from './dualAxis'\nimport { scatterConfig } from './scatter'\nimport { histogramConfig } from './histogram'\nimport { boxplotConfig } from './boxplot'\nimport { heatmapConfig } from './heatmap'\n\nexport {\n lineConfig,\n columnConfig,\n pieConfig,\n dualAxisConfig,\n scatterConfig,\n histogramConfig,\n boxplotConfig,\n heatmapConfig,\n}\n\n// area\nexport const areaConfig = lineConfig\nexport const areaPercentConfig = lineConfig\n\n// bar\nexport const barConfig = columnConfig\nexport const barParallelConfig = columnConfig\nexport const barPercentConfig = columnConfig\n\n// column\nexport const columnParallelConfig = columnConfig\nexport const columnPercentConfig = columnConfig\n\n// donut, rose\nexport const donutConfig = pieConfig\nexport const roseConfig = pieConfig\nexport const roseParallelConfig = pieConfig\nexport const radarConfig = pieConfig\n\n// funnel, heatmap\nexport const funnelConfig = pieConfig\n// heatmapConfig 已独立导出\n"],"names":["areaConfig","lineConfig","areaPercentConfig","barConfig","columnConfig","barParallelConfig","barPercentConfig","columnParallelConfig","columnPercentConfig","donutConfig","pieConfig","roseConfig","roseParallelConfig","radarConfig","funnelConfig"],"mappings":";;;;;;;;AAqBO,MAAMA,aAAaC;AACnB,MAAMC,oBAAoBD;AAG1B,MAAME,YAAYC;AAClB,MAAMC,oBAAoBD;AAC1B,MAAME,mBAAmBF;AAGzB,MAAMG,uBAAuBH;AAC7B,MAAMI,sBAAsBJ;AAG5B,MAAMK,cAAcC;AACpB,MAAMC,aAAaD;AACnB,MAAME,qBAAqBF;AAC3B,MAAMG,cAAcH;AAGpB,MAAMI,eAAeJ"}
@@ -15,6 +15,7 @@ const lineConfig = (advancedVSeed, context)=>{
15
15
  'xAxis',
16
16
  'yAxis',
17
17
  'crosshairLine',
18
+ 'brush',
18
19
  'dimensionLinkage'
19
20
  ]);
20
21
  const config = replaceNullToUndefined(pickedConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/chart/pipes/config/line.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/config/line.ts"],"sourcesContent":["import { pick } from 'remeda'\nimport { replaceNullToUndefined } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed, Config } from 'src/types'\n\nexport const lineConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const pickedConfig = pick(vseed, [\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n 'xAxis',\n 'yAxis',\n 'crosshairLine',\n 'dimensionLinkage',\n ]) as Config['line']\n\n const config = replaceNullToUndefined(pickedConfig)\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n"],"names":["lineConfig","advancedVSeed","context","vseed","chartType","result","pickedConfig","pick","config","replaceNullToUndefined"],"mappings":";;AAIO,MAAMA,aAA2B,CAACC,eAAeC;IACtD,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,SAAS;QACb,GAAGJ,aAAa;IAClB;IAEA,MAAMK,eAAeC,KAAKJ,OAAO;QAC/B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IAED,MAAMK,SAASC,uBAAuBH;IAEtCD,OAAO,MAAM,GAAG;QACd,GAAIA,OAAO,MAAM,IAAI,CAAC,CAAC;QACvB,CAACD,UAAU,EAAE;YACX,GAAGI,MAAM;QACX;IACF;IAEA,OAAOH;AACT"}
1
+ {"version":3,"file":"pipeline/advanced/chart/pipes/config/line.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/config/line.ts"],"sourcesContent":["import { pick } from 'remeda'\nimport { replaceNullToUndefined } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed, Config } from 'src/types'\n\nexport const lineConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const pickedConfig = pick(vseed, [\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n 'xAxis',\n 'yAxis',\n 'crosshairLine',\n 'brush',\n 'dimensionLinkage',\n ]) as Config['line']\n\n const config = replaceNullToUndefined(pickedConfig)\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n"],"names":["lineConfig","advancedVSeed","context","vseed","chartType","result","pickedConfig","pick","config","replaceNullToUndefined"],"mappings":";;AAIO,MAAMA,aAA2B,CAACC,eAAeC;IACtD,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,SAAS;QACb,GAAGJ,aAAa;IAClB;IAEA,MAAMK,eAAeC,KAAKJ,OAAO;QAC/B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IAED,MAAMK,SAASC,uBAAuBH;IAEtCD,OAAO,MAAM,GAAG;QACd,GAAIA,OAAO,MAAM,IAAI,CAAC,CAAC;QACvB,CAACD,UAAU,EAAE;YACX,GAAGI,MAAM;QACX;IACF;IAEA,OAAOH;AACT"}
@@ -11,7 +11,8 @@ const pieConfig = (advancedVSeed, context)=>{
11
11
  'color',
12
12
  'label',
13
13
  'legend',
14
- 'tooltip'
14
+ 'tooltip',
15
+ 'brush'
15
16
  ]);
16
17
  const config = replaceNullToUndefined(pickedConfig);
17
18
  result.config = {
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/chart/pipes/config/pie.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/config/pie.ts"],"sourcesContent":["import { pick } from 'remeda'\nimport { replaceNullToUndefined } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed, Config } from 'src/types'\n\nexport const pieConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const pickedConfig = pick(vseed, ['backgroundColor', 'color', 'label', 'legend', 'tooltip']) as Config['pie']\n\n const config = replaceNullToUndefined(pickedConfig)\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n"],"names":["pieConfig","advancedVSeed","context","vseed","chartType","result","pickedConfig","pick","config","replaceNullToUndefined"],"mappings":";;AAIO,MAAMA,YAA0B,CAACC,eAAeC;IACrD,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,SAAS;QACb,GAAGJ,aAAa;IAClB;IAEA,MAAMK,eAAeC,KAAKJ,OAAO;QAAC;QAAmB;QAAS;QAAS;QAAU;KAAU;IAE3F,MAAMK,SAASC,uBAAuBH;IAEtCD,OAAO,MAAM,GAAG;QACd,GAAIA,OAAO,MAAM,IAAI,CAAC,CAAC;QACvB,CAACD,UAAU,EAAE;YACX,GAAGI,MAAM;QACX;IACF;IAEA,OAAOH;AACT"}
1
+ {"version":3,"file":"pipeline/advanced/chart/pipes/config/pie.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/config/pie.ts"],"sourcesContent":["import { pick } from 'remeda'\nimport { replaceNullToUndefined } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed, Config } from 'src/types'\n\nexport const pieConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const pickedConfig = pick(vseed, ['backgroundColor', 'color', 'label', 'legend', 'tooltip', 'brush']) as Config['pie']\n\n const config = replaceNullToUndefined(pickedConfig)\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n"],"names":["pieConfig","advancedVSeed","context","vseed","chartType","result","pickedConfig","pick","config","replaceNullToUndefined"],"mappings":";;AAIO,MAAMA,YAA0B,CAACC,eAAeC;IACrD,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,SAAS;QACb,GAAGJ,aAAa;IAClB;IAEA,MAAMK,eAAeC,KAAKJ,OAAO;QAAC;QAAmB;QAAS;QAAS;QAAU;QAAW;KAAQ;IAEpG,MAAMK,SAASC,uBAAuBH;IAEtCD,OAAO,MAAM,GAAG;QACd,GAAIA,OAAO,MAAM,IAAI,CAAC,CAAC;QACvB,CAACD,UAAU,EAAE;YACX,GAAGI,MAAM;QACX;IACF;IAEA,OAAOH;AACT"}
@@ -17,6 +17,7 @@ const scatterConfig = (advancedVSeed, context)=>{
17
17
  'sizeRange',
18
18
  'size',
19
19
  'crosshairLine',
20
+ 'brush',
20
21
  'dimensionLinkage'
21
22
  ]);
22
23
  const config = replaceNullToUndefined(pickedConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/chart/pipes/config/scatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/config/scatter.ts"],"sourcesContent":["import { pick } from 'remeda'\nimport { replaceNullToUndefined } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed, Config } from 'src/types'\n\nexport const scatterConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const pickedConfig = pick(vseed, [\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n 'xAxis',\n 'yAxis',\n 'sizeRange',\n 'size',\n 'crosshairLine',\n\n 'dimensionLinkage',\n ]) as Config['line']\n\n const config = replaceNullToUndefined(pickedConfig)\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n"],"names":["scatterConfig","advancedVSeed","context","vseed","chartType","result","pickedConfig","pick","config","replaceNullToUndefined"],"mappings":";;AAIO,MAAMA,gBAA8B,CAACC,eAAeC;IACzD,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,SAAS;QACb,GAAGJ,aAAa;IAClB;IAEA,MAAMK,eAAeC,KAAKJ,OAAO;QAC/B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QAEA;KACD;IAED,MAAMK,SAASC,uBAAuBH;IAEtCD,OAAO,MAAM,GAAG;QACd,GAAIA,OAAO,MAAM,IAAI,CAAC,CAAC;QACvB,CAACD,UAAU,EAAE;YACX,GAAGI,MAAM;QACX;IACF;IAEA,OAAOH;AACT"}
1
+ {"version":3,"file":"pipeline/advanced/chart/pipes/config/scatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/config/scatter.ts"],"sourcesContent":["import { pick } from 'remeda'\nimport { replaceNullToUndefined } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed, Config } from 'src/types'\n\nexport const scatterConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const pickedConfig = pick(vseed, [\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n 'xAxis',\n 'yAxis',\n 'sizeRange',\n 'size',\n 'crosshairLine',\n 'brush',\n 'dimensionLinkage',\n ]) as Config['line']\n\n const config = replaceNullToUndefined(pickedConfig)\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n"],"names":["scatterConfig","advancedVSeed","context","vseed","chartType","result","pickedConfig","pick","config","replaceNullToUndefined"],"mappings":";;AAIO,MAAMA,gBAA8B,CAACC,eAAeC;IACzD,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,SAAS;QACb,GAAGJ,aAAa;IAClB;IAEA,MAAMK,eAAeC,KAAKJ,OAAO;QAC/B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IAED,MAAMK,SAASC,uBAAuBH;IAEtCD,OAAO,MAAM,GAAG;QACd,GAAIA,OAAO,MAAM,IAAI,CAAC,CAAC;QACvB,CAACD,UAAU,EAAE;YACX,GAAGI,MAAM;QACX;IACF;IAEA,OAAOH;AACT"}
@@ -0,0 +1,2 @@
1
+ import type { AdvancedPipe } from '../../../../../types';
2
+ export declare const addPivotDimensionsForScatter: AdvancedPipe;
@@ -0,0 +1,29 @@
1
+ import { FoldXMeasureId, FoldYMeasureId } from "../../../../../dataReshape/constant.js";
2
+ const addPivotDimensionsForScatter = (advancedVSeed)=>{
3
+ const { reshapeMeasures = [] } = advancedVSeed;
4
+ if (reshapeMeasures[0]?.length >= 2) {
5
+ const dimensions = advancedVSeed.dimensions ?? [];
6
+ const xMeasures = reshapeMeasures[0].filter((m)=>'xAxis' === m.encoding);
7
+ const yMeasures = reshapeMeasures[0].filter((m)=>'yAxis' === m.encoding);
8
+ if (xMeasures.length > 1 || yMeasures.length > 1) {
9
+ dimensions.push({
10
+ id: FoldXMeasureId,
11
+ alias: ' ',
12
+ encoding: 'column'
13
+ });
14
+ dimensions.push({
15
+ id: FoldYMeasureId,
16
+ alias: ' ',
17
+ encoding: 'row'
18
+ });
19
+ }
20
+ return {
21
+ ...advancedVSeed,
22
+ dimensions
23
+ };
24
+ }
25
+ return advancedVSeed;
26
+ };
27
+ export { addPivotDimensionsForScatter };
28
+
29
+ //# sourceMappingURL=addPivotDimensionsForScatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline/advanced/chart/pipes/dimensions/addPivotDimensionsForScatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/dimensions/addPivotDimensionsForScatter.ts"],"sourcesContent":["import { FoldXMeasureId, FoldYMeasureId } from 'src/dataReshape/constant'\nimport type { AdvancedPipe, Dimensions, Measure } from 'src/types'\n\nexport const addPivotDimensionsForScatter: AdvancedPipe = (advancedVSeed) => {\n const { reshapeMeasures = [] } = advancedVSeed\n\n if (reshapeMeasures[0]?.length >= 2) {\n const dimensions = (advancedVSeed.dimensions ?? []) as Dimensions\n const xMeasures = reshapeMeasures[0].filter((m: Measure) => m.encoding === 'xAxis')\n const yMeasures = reshapeMeasures[0].filter((m: Measure) => m.encoding === 'yAxis')\n\n if (xMeasures.length > 1 || yMeasures.length > 1) {\n dimensions.push({\n id: FoldXMeasureId,\n alias: ' ',\n encoding: 'column',\n })\n dimensions.push({\n id: FoldYMeasureId,\n alias: ' ',\n encoding: 'row',\n })\n }\n\n return {\n ...advancedVSeed,\n dimensions,\n }\n }\n\n return advancedVSeed\n}\n"],"names":["addPivotDimensionsForScatter","advancedVSeed","reshapeMeasures","dimensions","xMeasures","m","yMeasures","FoldXMeasureId","FoldYMeasureId"],"mappings":";AAGO,MAAMA,+BAA6C,CAACC;IACzD,MAAM,EAAEC,kBAAkB,EAAE,EAAE,GAAGD;IAEjC,IAAIC,eAAe,CAAC,EAAE,EAAE,UAAU,GAAG;QACnC,MAAMC,aAAcF,cAAc,UAAU,IAAI,EAAE;QAClD,MAAMG,YAAYF,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAACG,IAAeA,AAAe,YAAfA,EAAE,QAAQ;QACtE,MAAMC,YAAYJ,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAACG,IAAeA,AAAe,YAAfA,EAAE,QAAQ;QAEtE,IAAID,UAAU,MAAM,GAAG,KAAKE,UAAU,MAAM,GAAG,GAAG;YAChDH,WAAW,IAAI,CAAC;gBACd,IAAII;gBACJ,OAAO;gBACP,UAAU;YACZ;YACAJ,WAAW,IAAI,CAAC;gBACd,IAAIK;gBACJ,OAAO;gBACP,UAAU;YACZ;QACF;QAEA,OAAO;YACL,GAAGP,aAAa;YAChBE;QACF;IACF;IAEA,OAAOF;AACT"}
@@ -1 +1,2 @@
1
1
  export * from './pickDimensionsForReshape';
2
+ export * from './addPivotDimensionsForScatter';
@@ -1 +1,2 @@
1
1
  export * from "./pickDimensionsForReshape.js";
2
+ export * from "./addPivotDimensionsForScatter.js";
@@ -56,15 +56,11 @@ const generateDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
56
56
  };
57
57
  const generateDefaultMeasureEncoding = (measures, encoding)=>{
58
58
  const colorDims = unique(measures.filter((item)=>'color' === item.encoding || !item.encoding).map((item)=>item.id));
59
- if (colorDims.length > 0) encoding.color = [
60
- colorDims[0]
61
- ];
59
+ if (colorDims.length > 0) encoding.color = colorDims;
62
60
  };
63
61
  const generateMeasureEncoding = (measures, encoding)=>{
64
62
  const color = unique(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
65
- if (color.length > 0) encoding.color = [
66
- color[0]
67
- ];
63
+ if (color.length > 0) encoding.color = color;
68
64
  const label = unique(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
69
65
  encoding.label = unique([
70
66
  ...encoding.label || [],
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/chart/pipes/encoding/heatmap.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/encoding/heatmap.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { MeasureId } from 'src/dataReshape'\nimport { hasMultipleMeasureInSingleView } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\nimport { addColorToEncoding } from './color'\n\nexport const defaultEncodingForHeatmap: AdvancedPipe = (advancedVSeed) => {\n const { measures = [], dimensions = [] } = advancedVSeed\n\n const encoding: Encoding = {}\n generateDefaultDimensionEncoding(dimensions, encoding)\n generateDefaultMeasureEncoding(measures, encoding)\n return { ...advancedVSeed, encoding }\n}\n\nexport const encodingForHeatmap: AdvancedPipe = (advancedVSeed) => {\n const { measures = [], reshapeMeasures = [], dimensions = [] } = advancedVSeed\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding, hasMultipleMeasureInSingleView(reshapeMeasures))\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureId = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureId)\n const uniqueDimIds: string[] = unique(dimensions.map((d) => d.id))\n encoding.x = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.y = uniqueDimIds.slice(onlyMeasureId ? 0 : 1) // 第2个维度放置于Y轴\n encoding.color = uniqueDimIds.slice(onlyMeasureId ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = encoding.color\n encoding.tooltip = uniqueDimIds.filter((d) => d !== MeasureId) // 展示指标名称之外的所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding, isMultiMeasure: boolean) => {\n encoding.x = unique(dimensions.filter((item) => item.encoding === 'xAxis').map((item) => item.id))\n // x\n if (encoding.x.length === 0) {\n encoding.x = [dimensions[0].id]\n }\n // y\n encoding.y = unique(dimensions.filter((item) => item.encoding === 'yAxis').map((item) => item.id))\n if (encoding.y.length === 0) {\n if (dimensions.length > 1) {\n encoding.y = dimensions.slice(1).map((item) => item.id)\n } else {\n encoding.y = dimensions.slice(0).map((item) => item.id)\n }\n }\n // color\n addColorToEncoding(dimensions, encoding, isMultiMeasure)\n\n // detail\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n if (encoding.detail.length === 0) {\n encoding.detail = encoding.color\n }\n // tooltip\n encoding.tooltip = unique(dimensions.map((item) => item.id))\n encoding.tooltip = encoding.tooltip.filter((d) => d !== MeasureId)\n // label\n encoding.label = unique(dimensions.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = encoding.label.filter((d) => d !== MeasureId)\n}\n\n/**\n * --------------------指标--------------------\n */\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n const colorDims = unique(\n measures.filter((item) => item.encoding === 'color' || !item.encoding).map((item) => item.id),\n )\n if (colorDims.length > 0) {\n encoding.color = [colorDims[0]]\n }\n}\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n // color\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = [color[0]]\n }\n\n // label\n const label = unique(measures.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = unique([...(encoding.label || []), ...label])\n\n // tooltip\n const tooltip = unique(measures.filter((item) => item.encoding === 'tooltip').map((item) => item.id))\n encoding.tooltip = unique([...(encoding.tooltip || []), ...label, ...tooltip])\n}\n"],"names":["defaultEncodingForHeatmap","advancedVSeed","measures","dimensions","encoding","generateDefaultDimensionEncoding","generateDefaultMeasureEncoding","encodingForHeatmap","reshapeMeasures","hasDimensionEncoding","item","hasMeasureEncoding","generateDimensionEncoding","hasMultipleMeasureInSingleView","generateMeasureEncoding","onlyMeasureId","MeasureId","uniqueDimIds","unique","d","isMultiMeasure","addColorToEncoding","colorDims","color","label","tooltip"],"mappings":"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"}
1
+ {"version":3,"file":"pipeline/advanced/chart/pipes/encoding/heatmap.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/encoding/heatmap.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { MeasureId } from 'src/dataReshape'\nimport { hasMultipleMeasureInSingleView } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\nimport { addColorToEncoding } from './color'\n\nexport const defaultEncodingForHeatmap: AdvancedPipe = (advancedVSeed) => {\n const { measures = [], dimensions = [] } = advancedVSeed\n\n const encoding: Encoding = {}\n generateDefaultDimensionEncoding(dimensions, encoding)\n generateDefaultMeasureEncoding(measures, encoding)\n return { ...advancedVSeed, encoding }\n}\n\nexport const encodingForHeatmap: AdvancedPipe = (advancedVSeed) => {\n const { measures = [], reshapeMeasures = [], dimensions = [] } = advancedVSeed\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding, hasMultipleMeasureInSingleView(reshapeMeasures))\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureId = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureId)\n const uniqueDimIds: string[] = unique(dimensions.map((d) => d.id))\n encoding.x = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.y = uniqueDimIds.slice(onlyMeasureId ? 0 : 1) // 第2个维度放置于Y轴\n encoding.color = uniqueDimIds.slice(onlyMeasureId ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = encoding.color\n encoding.tooltip = uniqueDimIds.filter((d) => d !== MeasureId) // 展示指标名称之外的所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding, isMultiMeasure: boolean) => {\n encoding.x = unique(dimensions.filter((item) => item.encoding === 'xAxis').map((item) => item.id))\n // x\n if (encoding.x.length === 0) {\n encoding.x = [dimensions[0].id]\n }\n // y\n encoding.y = unique(dimensions.filter((item) => item.encoding === 'yAxis').map((item) => item.id))\n if (encoding.y.length === 0) {\n if (dimensions.length > 1) {\n encoding.y = dimensions.slice(1).map((item) => item.id)\n } else {\n encoding.y = dimensions.slice(0).map((item) => item.id)\n }\n }\n // color\n addColorToEncoding(dimensions, encoding, isMultiMeasure)\n\n // detail\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n if (encoding.detail.length === 0) {\n encoding.detail = encoding.color\n }\n // tooltip\n encoding.tooltip = unique(dimensions.map((item) => item.id))\n encoding.tooltip = encoding.tooltip.filter((d) => d !== MeasureId)\n // label\n encoding.label = unique(dimensions.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = encoding.label.filter((d) => d !== MeasureId)\n}\n\n/**\n * --------------------指标--------------------\n */\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n const colorDims = unique(\n measures.filter((item) => item.encoding === 'color' || !item.encoding).map((item) => item.id),\n )\n if (colorDims.length > 0) {\n encoding.color = colorDims\n }\n}\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n // color\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n\n // label\n const label = unique(measures.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = unique([...(encoding.label || []), ...label])\n\n // tooltip\n const tooltip = unique(measures.filter((item) => item.encoding === 'tooltip').map((item) => item.id))\n encoding.tooltip = unique([...(encoding.tooltip || []), ...label, ...tooltip])\n}\n"],"names":["defaultEncodingForHeatmap","advancedVSeed","measures","dimensions","encoding","generateDefaultDimensionEncoding","generateDefaultMeasureEncoding","encodingForHeatmap","reshapeMeasures","hasDimensionEncoding","item","hasMeasureEncoding","generateDimensionEncoding","hasMultipleMeasureInSingleView","generateMeasureEncoding","onlyMeasureId","MeasureId","uniqueDimIds","unique","d","isMultiMeasure","addColorToEncoding","colorDims","color","label","tooltip"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { unique } from "remeda";
2
- import { MeasureId } from "../../../../../dataReshape/index.js";
2
+ import { FoldXMeasureId, FoldYMeasureId, MeasureId } from "../../../../../dataReshape/index.js";
3
3
  const defaultEncodingForScatter = (advancedVSeed)=>{
4
4
  const { measures = [], dimensions = [] } = advancedVSeed;
5
5
  const encoding = {};
@@ -28,7 +28,11 @@ const generateDefaultDimensionEncoding = (dimensions, encoding)=>{
28
28
  const dimensionsWithoutMeasureId = dimensions.filter((item)=>item.id !== MeasureId);
29
29
  const uniqueDimIds = unique(dimensionsWithoutMeasureId.map((d)=>d.id));
30
30
  encoding.detail = encoding.color;
31
- encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
31
+ encoding.tooltip = uniqueDimIds.filter((d)=>![
32
+ MeasureId,
33
+ FoldYMeasureId,
34
+ FoldXMeasureId
35
+ ].includes(d));
32
36
  encoding.label = [];
33
37
  encoding.row = [];
34
38
  encoding.column = [];
@@ -40,7 +44,11 @@ const generateDimensionEncoding = (dimensions, encoding)=>{
40
44
  MeasureId
41
45
  ];
42
46
  encoding.tooltip = unique(dimensions.map((item)=>item.id));
43
- encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureId);
47
+ encoding.tooltip = encoding.tooltip.filter((d)=>![
48
+ MeasureId,
49
+ FoldYMeasureId,
50
+ FoldXMeasureId
51
+ ].includes(d));
44
52
  encoding.label = unique(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
45
53
  encoding.label = encoding.label.filter((d)=>d !== MeasureId);
46
54
  };
@@ -64,7 +72,8 @@ const generateMeasureEncoding = (measures, encoding)=>{
64
72
  ...encoding.tooltip || [],
65
73
  ...label,
66
74
  ...tooltip,
67
- ...color
75
+ ...color,
76
+ ...encoding.size
68
77
  ]);
69
78
  };
70
79
  export { defaultEncodingForScatter, encodingForScatter };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/chart/pipes/encoding/scatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/encoding/scatter.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { MeasureId } from 'src/dataReshape'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const defaultEncodingForScatter: AdvancedPipe = (advancedVSeed) => {\n const { measures = [], dimensions = [] } = advancedVSeed\n const encoding: Encoding = {}\n generateDefaultDimensionEncoding(dimensions, encoding)\n generateDefaultMeasureEncoding(measures, encoding)\n return { ...advancedVSeed, encoding }\n}\n\nexport const encodingForScatter: AdvancedPipe = (advancedVSeed) => {\n const { measures = [], dimensions = [] } = advancedVSeed\n\n // exist encoding condition\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n\n // encoding for modify in place\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const dimensionsWithoutMeasureId = dimensions.filter((item) => item.id !== MeasureId)\n const uniqueDimIds = unique(dimensionsWithoutMeasureId.map((d) => d.id))\n\n encoding.detail = encoding.color\n encoding.tooltip = uniqueDimIds.filter((d) => d !== MeasureId) // 展示指标名称之外的所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n // color\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n\n // detail\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n if (encoding.detail.length === 0) {\n encoding.detail = [MeasureId]\n }\n // tooltip\n encoding.tooltip = unique(dimensions.map((item) => item.id))\n encoding.tooltip = encoding.tooltip.filter((d) => d !== MeasureId)\n\n // label\n encoding.label = unique(dimensions.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = encoding.label.filter((d) => d !== MeasureId)\n}\n\n/**\n * --------------------指标--------------------\n */\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.y = unique(\n measures\n .filter((item) => item.encoding === 'xAxis' || item.encoding === 'yAxis' || !item.encoding)\n .map((item) => item.id),\n )\n}\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.y = unique(\n measures\n .filter((item) => item.encoding === 'xAxis' || item.encoding === 'yAxis' || !item.encoding)\n .map((item) => item.id),\n )\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = [color[0]]\n }\n\n // size\n encoding.size = unique(measures.filter((item) => item.encoding === 'size').map((item) => item.id))\n\n // label\n const label = unique(measures.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = unique([...(encoding.label || []), ...label])\n\n // tooltip\n const tooltip = unique(measures.filter((item) => item.encoding === 'tooltip').map((item) => item.id))\n encoding.tooltip = unique([...(encoding.tooltip || []), ...label, ...tooltip, ...color])\n}\n"],"names":["defaultEncodingForScatter","advancedVSeed","measures","dimensions","encoding","generateDefaultDimensionEncoding","generateDefaultMeasureEncoding","encodingForScatter","hasDimensionEncoding","item","hasMeasureEncoding","generateDimensionEncoding","generateMeasureEncoding","dimensionsWithoutMeasureId","MeasureId","uniqueDimIds","unique","d","color","label","tooltip"],"mappings":";;AAIO,MAAMA,4BAA0C,CAACC;IACtD,MAAM,EAAEC,WAAW,EAAE,EAAEC,aAAa,EAAE,EAAE,GAAGF;IAC3C,MAAMG,WAAqB,CAAC;IAC5BC,iCAAiCF,YAAYC;IAC7CE,+BAA+BJ,UAAUE;IACzC,OAAO;QAAE,GAAGH,aAAa;QAAEG;IAAS;AACtC;AAEO,MAAMG,qBAAmC,CAACN;IAC/C,MAAM,EAAEC,WAAW,EAAE,EAAEC,aAAa,EAAE,EAAE,GAAGF;IAG3C,MAAMO,uBAAuBL,WAAW,IAAI,CAAC,CAACM,OAAoBA,KAAK,QAAQ;IAC/E,MAAMC,qBAAqBR,SAAS,IAAI,CAAC,CAACO,OAAkBA,KAAK,QAAQ;IAGzE,MAAML,WAAqB,CAAC;IAE5B,IAAII,sBACFG,0BAA0BR,YAAYC;SAEtCC,iCAAiCF,YAAYC;IAG/C,IAAIM,oBACFE,wBAAwBV,UAAUE;SAElCE,+BAA+BJ,UAAUE;IAG3C,OAAO;QAAE,GAAGH,aAAa;QAAEG;IAAS;AACtC;AAIA,MAAMC,mCAAmC,CAACF,YAAwBC;IAChE,MAAMS,6BAA6BV,WAAW,MAAM,CAAC,CAACM,OAASA,KAAK,EAAE,KAAKK;IAC3E,MAAMC,eAAeC,OAAOH,2BAA2B,GAAG,CAAC,CAACI,IAAMA,EAAE,EAAE;IAEtEb,SAAS,MAAM,GAAGA,SAAS,KAAK;IAChCA,SAAS,OAAO,GAAGW,aAAa,MAAM,CAAC,CAACE,IAAMA,MAAMH;IACpDV,SAAS,KAAK,GAAG,EAAE;IACnBA,SAAS,GAAG,GAAG,EAAE;IACjBA,SAAS,MAAM,GAAG,EAAE;AACtB;AACA,MAAMO,4BAA4B,CAACR,YAAwBC;IAEzDA,SAAS,KAAK,GAAGY,OAAOb,WAAW,MAAM,CAAC,CAACM,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,EAAc,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAGpGL,SAAS,MAAM,GAAGY,OAAOb,WAAW,MAAM,CAAC,CAACM,OAASA,AAAkB,aAAlBA,KAAK,QAAQ,EAAe,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IACtG,IAAIL,AAA2B,MAA3BA,SAAS,MAAM,CAAC,MAAM,EACxBA,SAAS,MAAM,GAAG;QAACU;KAAU;IAG/BV,SAAS,OAAO,GAAGY,OAAOb,WAAW,GAAG,CAAC,CAACM,OAASA,KAAK,EAAE;IAC1DL,SAAS,OAAO,GAAGA,SAAS,OAAO,CAAC,MAAM,CAAC,CAACa,IAAMA,MAAMH;IAGxDV,SAAS,KAAK,GAAGY,OAAOb,WAAW,MAAM,CAAC,CAACM,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,EAAc,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IACpGL,SAAS,KAAK,GAAGA,SAAS,KAAK,CAAC,MAAM,CAAC,CAACa,IAAMA,MAAMH;AACtD;AAKA,MAAMR,iCAAiC,CAACJ,UAAoBE;IAC1DA,SAAS,CAAC,GAAGY,OACXd,SACG,MAAM,CAAC,CAACO,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,IAAgBA,AAAkB,YAAlBA,KAAK,QAAQ,IAAgB,CAACA,KAAK,QAAQ,EACzF,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;AAE5B;AACA,MAAMG,0BAA0B,CAACV,UAAoBE;IACnDA,SAAS,CAAC,GAAGY,OACXd,SACG,MAAM,CAAC,CAACO,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,IAAgBA,AAAkB,YAAlBA,KAAK,QAAQ,IAAgB,CAACA,KAAK,QAAQ,EACzF,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAE1B,MAAMS,QAAQF,OAAOd,SAAS,MAAM,CAAC,CAACO,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,EAAc,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAC/F,IAAIS,MAAM,MAAM,GAAG,GACjBd,SAAS,KAAK,GAAG;QAACc,KAAK,CAAC,EAAE;KAAC;IAI7Bd,SAAS,IAAI,GAAGY,OAAOd,SAAS,MAAM,CAAC,CAACO,OAASA,AAAkB,WAAlBA,KAAK,QAAQ,EAAa,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAGhG,MAAMU,QAAQH,OAAOd,SAAS,MAAM,CAAC,CAACO,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,EAAc,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAC/FL,SAAS,KAAK,GAAGY,OAAO;WAAKZ,SAAS,KAAK,IAAI,EAAE;WAAMe;KAAM;IAG7D,MAAMC,UAAUJ,OAAOd,SAAS,MAAM,CAAC,CAACO,OAASA,AAAkB,cAAlBA,KAAK,QAAQ,EAAgB,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IACnGL,SAAS,OAAO,GAAGY,OAAO;WAAKZ,SAAS,OAAO,IAAI,EAAE;WAAMe;WAAUC;WAAYF;KAAM;AACzF"}
1
+ {"version":3,"file":"pipeline/advanced/chart/pipes/encoding/scatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/encoding/scatter.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { FoldXMeasureId, FoldYMeasureId, MeasureId } from 'src/dataReshape'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const defaultEncodingForScatter: AdvancedPipe = (advancedVSeed) => {\n const { measures = [], dimensions = [] } = advancedVSeed\n const encoding: Encoding = {}\n generateDefaultDimensionEncoding(dimensions, encoding)\n generateDefaultMeasureEncoding(measures, encoding)\n return { ...advancedVSeed, encoding }\n}\n\nexport const encodingForScatter: AdvancedPipe = (advancedVSeed) => {\n const { measures = [], dimensions = [] } = advancedVSeed\n\n // exist encoding condition\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n\n // encoding for modify in place\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const dimensionsWithoutMeasureId = dimensions.filter((item) => item.id !== MeasureId)\n const uniqueDimIds = unique(dimensionsWithoutMeasureId.map((d) => d.id))\n\n encoding.detail = encoding.color\n encoding.tooltip = uniqueDimIds.filter((d: string) => ![MeasureId, FoldYMeasureId, FoldXMeasureId].includes(d)) // 展示指标名称之外的所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n // color\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n\n // detail\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n if (encoding.detail!.length === 0) {\n encoding.detail = [MeasureId]\n }\n // tooltip\n encoding.tooltip = unique(dimensions.map((item) => item.id))\n encoding.tooltip = encoding.tooltip!.filter((d) => ![MeasureId, FoldYMeasureId, FoldXMeasureId].includes(d))\n\n // label\n encoding.label = unique(dimensions.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = encoding.label!.filter((d) => d !== MeasureId)\n}\n\n/**\n * --------------------指标--------------------\n */\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.y = unique(\n measures\n .filter((item) => item.encoding === 'xAxis' || item.encoding === 'yAxis' || !item.encoding)\n .map((item) => item.id),\n )\n}\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.y = unique(\n measures\n .filter((item) => item.encoding === 'xAxis' || item.encoding === 'yAxis' || !item.encoding)\n .map((item) => item.id),\n )\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = [color[0]]\n }\n\n // size\n encoding.size = unique(measures.filter((item) => item.encoding === 'size').map((item) => item.id))\n\n // label\n const label = unique(measures.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = unique([...(encoding.label || []), ...label])\n\n // tooltip\n const tooltip = unique(measures.filter((item) => item.encoding === 'tooltip').map((item) => item.id))\n encoding.tooltip = unique([...(encoding.tooltip || []), ...label, ...tooltip, ...color, ...encoding.size!])\n}\n"],"names":["defaultEncodingForScatter","advancedVSeed","measures","dimensions","encoding","generateDefaultDimensionEncoding","generateDefaultMeasureEncoding","encodingForScatter","hasDimensionEncoding","item","hasMeasureEncoding","generateDimensionEncoding","generateMeasureEncoding","dimensionsWithoutMeasureId","MeasureId","uniqueDimIds","unique","d","FoldYMeasureId","FoldXMeasureId","color","label","tooltip"],"mappings":";;AAIO,MAAMA,4BAA0C,CAACC;IACtD,MAAM,EAAEC,WAAW,EAAE,EAAEC,aAAa,EAAE,EAAE,GAAGF;IAC3C,MAAMG,WAAqB,CAAC;IAC5BC,iCAAiCF,YAAYC;IAC7CE,+BAA+BJ,UAAUE;IACzC,OAAO;QAAE,GAAGH,aAAa;QAAEG;IAAS;AACtC;AAEO,MAAMG,qBAAmC,CAACN;IAC/C,MAAM,EAAEC,WAAW,EAAE,EAAEC,aAAa,EAAE,EAAE,GAAGF;IAG3C,MAAMO,uBAAuBL,WAAW,IAAI,CAAC,CAACM,OAAoBA,KAAK,QAAQ;IAC/E,MAAMC,qBAAqBR,SAAS,IAAI,CAAC,CAACO,OAAkBA,KAAK,QAAQ;IAGzE,MAAML,WAAqB,CAAC;IAE5B,IAAII,sBACFG,0BAA0BR,YAAYC;SAEtCC,iCAAiCF,YAAYC;IAG/C,IAAIM,oBACFE,wBAAwBV,UAAUE;SAElCE,+BAA+BJ,UAAUE;IAG3C,OAAO;QAAE,GAAGH,aAAa;QAAEG;IAAS;AACtC;AAIA,MAAMC,mCAAmC,CAACF,YAAwBC;IAChE,MAAMS,6BAA6BV,WAAW,MAAM,CAAC,CAACM,OAASA,KAAK,EAAE,KAAKK;IAC3E,MAAMC,eAAeC,OAAOH,2BAA2B,GAAG,CAAC,CAACI,IAAMA,EAAE,EAAE;IAEtEb,SAAS,MAAM,GAAGA,SAAS,KAAK;IAChCA,SAAS,OAAO,GAAGW,aAAa,MAAM,CAAC,CAACE,IAAc,CAAC;YAACH;YAAWI;YAAgBC;SAAe,CAAC,QAAQ,CAACF;IAC5Gb,SAAS,KAAK,GAAG,EAAE;IACnBA,SAAS,GAAG,GAAG,EAAE;IACjBA,SAAS,MAAM,GAAG,EAAE;AACtB;AACA,MAAMO,4BAA4B,CAACR,YAAwBC;IAEzDA,SAAS,KAAK,GAAGY,OAAOb,WAAW,MAAM,CAAC,CAACM,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,EAAc,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAGpGL,SAAS,MAAM,GAAGY,OAAOb,WAAW,MAAM,CAAC,CAACM,OAASA,AAAkB,aAAlBA,KAAK,QAAQ,EAAe,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IACtG,IAAIL,AAA4B,MAA5BA,SAAS,MAAM,CAAE,MAAM,EACzBA,SAAS,MAAM,GAAG;QAACU;KAAU;IAG/BV,SAAS,OAAO,GAAGY,OAAOb,WAAW,GAAG,CAAC,CAACM,OAASA,KAAK,EAAE;IAC1DL,SAAS,OAAO,GAAGA,SAAS,OAAO,CAAE,MAAM,CAAC,CAACa,IAAM,CAAC;YAACH;YAAWI;YAAgBC;SAAe,CAAC,QAAQ,CAACF;IAGzGb,SAAS,KAAK,GAAGY,OAAOb,WAAW,MAAM,CAAC,CAACM,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,EAAc,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IACpGL,SAAS,KAAK,GAAGA,SAAS,KAAK,CAAE,MAAM,CAAC,CAACa,IAAMA,MAAMH;AACvD;AAKA,MAAMR,iCAAiC,CAACJ,UAAoBE;IAC1DA,SAAS,CAAC,GAAGY,OACXd,SACG,MAAM,CAAC,CAACO,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,IAAgBA,AAAkB,YAAlBA,KAAK,QAAQ,IAAgB,CAACA,KAAK,QAAQ,EACzF,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;AAE5B;AACA,MAAMG,0BAA0B,CAACV,UAAoBE;IACnDA,SAAS,CAAC,GAAGY,OACXd,SACG,MAAM,CAAC,CAACO,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,IAAgBA,AAAkB,YAAlBA,KAAK,QAAQ,IAAgB,CAACA,KAAK,QAAQ,EACzF,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAE1B,MAAMW,QAAQJ,OAAOd,SAAS,MAAM,CAAC,CAACO,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,EAAc,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAC/F,IAAIW,MAAM,MAAM,GAAG,GACjBhB,SAAS,KAAK,GAAG;QAACgB,KAAK,CAAC,EAAE;KAAC;IAI7BhB,SAAS,IAAI,GAAGY,OAAOd,SAAS,MAAM,CAAC,CAACO,OAASA,AAAkB,WAAlBA,KAAK,QAAQ,EAAa,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAGhG,MAAMY,QAAQL,OAAOd,SAAS,MAAM,CAAC,CAACO,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,EAAc,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAC/FL,SAAS,KAAK,GAAGY,OAAO;WAAKZ,SAAS,KAAK,IAAI,EAAE;WAAMiB;KAAM;IAG7D,MAAMC,UAAUN,OAAOd,SAAS,MAAM,CAAC,CAACO,OAASA,AAAkB,cAAlBA,KAAK,QAAQ,EAAgB,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IACnGL,SAAS,OAAO,GAAGY,OAAO;WAAKZ,SAAS,OAAO,IAAI,EAAE;WAAMiB;WAAUC;WAAYF;WAAUhB,SAAS,IAAI;KAAE;AAC5G"}