@visactor/vseed 0.0.19 → 0.0.20

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 (233) hide show
  1. package/dist/builder/builder/advanced/colorItems.d.ts +2 -0
  2. package/dist/builder/builder/advanced/index.d.ts +1 -0
  3. package/dist/builder/builder/builder.d.ts +132 -110
  4. package/dist/builder/register/chartType.d.ts +2 -0
  5. package/dist/builder/register/index.d.ts +1 -1
  6. package/dist/dataReshape/foldMeasures.d.ts +3 -3
  7. package/dist/index.cjs +580 -137
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.js +501 -130
  10. package/dist/index.js.map +1 -1
  11. package/dist/pipeline/advanced/chart/index.d.ts +1 -0
  12. package/dist/pipeline/advanced/{pipeline → chart/pipeline}/area.d.ts +1 -1
  13. package/dist/pipeline/advanced/{pipeline → chart/pipeline}/areaPercent.d.ts +1 -1
  14. package/dist/pipeline/advanced/{pipeline → chart/pipeline}/bar.d.ts +1 -1
  15. package/dist/pipeline/advanced/{pipeline → chart/pipeline}/barParallel.d.ts +1 -1
  16. package/dist/pipeline/advanced/{pipeline → chart/pipeline}/barPercent.d.ts +1 -1
  17. package/dist/pipeline/advanced/{pipeline → chart/pipeline}/column.d.ts +1 -1
  18. package/dist/pipeline/advanced/{pipeline → chart/pipeline}/columnParallel.d.ts +1 -1
  19. package/dist/pipeline/advanced/{pipeline → chart/pipeline}/columnPercent.d.ts +1 -1
  20. package/dist/pipeline/advanced/{pipeline → chart/pipeline}/donut.d.ts +1 -1
  21. package/dist/pipeline/advanced/{pipeline → chart/pipeline}/funnel.d.ts +1 -1
  22. package/dist/pipeline/advanced/{pipeline → chart/pipeline}/line.d.ts +1 -1
  23. package/dist/pipeline/advanced/{pipeline → chart/pipeline}/pie.d.ts +1 -1
  24. package/dist/pipeline/advanced/{pipeline → chart/pipeline}/rose.d.ts +1 -1
  25. package/dist/pipeline/advanced/{pipeline → chart/pipeline}/roseParallel.d.ts +1 -1
  26. package/dist/pipeline/advanced/{pipeline → chart/pipeline}/scatter.d.ts +1 -1
  27. package/dist/pipeline/advanced/chart/pipes/annotation/annotation.d.ts +2 -0
  28. package/dist/pipeline/advanced/{pipes → chart/pipes}/config/config.d.ts +1 -1
  29. package/dist/pipeline/advanced/chart/pipes/encoding/encodingFunnel.d.ts +2 -0
  30. package/dist/pipeline/advanced/chart/pipes/encoding/encodingPie.d.ts +2 -0
  31. package/dist/pipeline/advanced/chart/pipes/encoding/encodingRose.d.ts +2 -0
  32. package/dist/pipeline/advanced/chart/pipes/encoding/encodingXY.d.ts +2 -0
  33. package/dist/pipeline/advanced/chart/pipes/encoding/encodingYX.d.ts +2 -0
  34. package/dist/pipeline/advanced/chart/pipes/encoding/encodingYY.d.ts +2 -0
  35. package/dist/pipeline/advanced/{pipes → chart/pipes}/encoding/index.d.ts +1 -0
  36. package/dist/pipeline/advanced/{pipes → chart/pipes}/index.d.ts +0 -1
  37. package/dist/pipeline/advanced/chart/pipes/init/autoDimensions.d.ts +2 -0
  38. package/dist/pipeline/advanced/chart/pipes/init/autoMeasures.d.ts +2 -0
  39. package/dist/pipeline/advanced/chart/pipes/init/initAdvancedVSeed.d.ts +2 -0
  40. package/dist/pipeline/advanced/chart/pipes/markStyle/markStyle.d.ts +2 -0
  41. package/dist/pipeline/advanced/{pipes → chart/pipes}/pivot/pivotAdapter.d.ts +1 -1
  42. package/dist/pipeline/advanced/{pipes → chart/pipes}/reshape/pivotReshapeTo1D1M.d.ts +1 -1
  43. package/dist/pipeline/advanced/{pipes → chart/pipes}/reshape/pivotReshapeTo1D2M.d.ts +1 -1
  44. package/dist/pipeline/advanced/{pipes → chart/pipes}/reshape/pivotReshapeTo2D1M.d.ts +1 -1
  45. package/dist/pipeline/advanced/{pipes → chart/pipes}/reshape/reshapeTo1D1M.d.ts +1 -1
  46. package/dist/pipeline/advanced/{pipes → chart/pipes}/reshape/reshapeTo1D2M.d.ts +1 -1
  47. package/dist/pipeline/advanced/{pipes → chart/pipes}/reshape/reshapeTo2D1M.d.ts +1 -1
  48. package/dist/pipeline/advanced/chart/pipes/theme/theme.d.ts +2 -0
  49. package/dist/pipeline/advanced/index.d.ts +2 -1
  50. package/dist/pipeline/advanced/table/index.d.ts +1 -0
  51. package/dist/pipeline/advanced/table/pipeline/index.d.ts +2 -0
  52. package/dist/pipeline/advanced/table/pipeline/pivotTable.d.ts +2 -0
  53. package/dist/pipeline/advanced/table/pipeline/table.d.ts +2 -0
  54. package/dist/pipeline/advanced/table/pipes/index.d.ts +2 -0
  55. package/dist/pipeline/advanced/table/pipes/init/autoDimensions.d.ts +2 -0
  56. package/dist/pipeline/advanced/table/pipes/init/autoMeasures.d.ts +2 -0
  57. package/dist/pipeline/advanced/table/pipes/init/autoPivotDimensions.d.ts +2 -0
  58. package/dist/pipeline/advanced/table/pipes/init/autoPivotMeasures.d.ts +2 -0
  59. package/dist/pipeline/advanced/table/pipes/init/index.d.ts +5 -0
  60. package/dist/pipeline/advanced/table/pipes/init/initAdvancedVSeed.d.ts +2 -0
  61. package/dist/pipeline/advanced/table/pipes/records/index.d.ts +1 -0
  62. package/dist/pipeline/advanced/table/pipes/records/records.d.ts +2 -0
  63. package/dist/pipeline/spec/chart/index.d.ts +1 -0
  64. package/dist/pipeline/spec/chart/pipeline/area.d.ts +1 -0
  65. package/dist/pipeline/spec/chart/pipeline/areaPercent.d.ts +1 -0
  66. package/dist/pipeline/spec/chart/pipeline/bar.d.ts +2 -0
  67. package/dist/pipeline/spec/{pipeline → chart/pipeline}/barParallel.d.ts +1 -1
  68. package/dist/pipeline/spec/{pipeline → chart/pipeline}/barPercent.d.ts +1 -1
  69. package/dist/pipeline/spec/chart/pipeline/column.d.ts +1 -0
  70. package/dist/pipeline/spec/{pipeline → chart/pipeline}/columnParallel.d.ts +1 -1
  71. package/dist/pipeline/spec/{pipeline → chart/pipeline}/columnPercent.d.ts +1 -1
  72. package/dist/pipeline/spec/chart/pipeline/donut.d.ts +2 -0
  73. package/dist/pipeline/spec/{pipeline → chart/pipeline}/funnel.d.ts +1 -1
  74. package/dist/pipeline/spec/chart/pipeline/line.d.ts +2 -0
  75. package/dist/pipeline/spec/chart/pipeline/pie.d.ts +2 -0
  76. package/dist/pipeline/spec/chart/pipeline/rose.d.ts +1 -0
  77. package/dist/pipeline/spec/{pipeline → chart/pipeline}/roseParallel.d.ts +1 -1
  78. package/dist/pipeline/spec/{pipeline → chart/pipeline}/scatter.d.ts +1 -1
  79. package/dist/pipeline/spec/chart/pipes/index.d.ts +14 -0
  80. package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/init/index.d.ts +1 -0
  81. package/dist/pipeline/spec/index.d.ts +2 -1
  82. package/dist/pipeline/spec/table/index.d.ts +1 -0
  83. package/dist/pipeline/spec/table/pipeline/index.d.ts +2 -0
  84. package/dist/pipeline/spec/table/pipeline/pivotTable.d.ts +2 -0
  85. package/dist/pipeline/spec/table/pipeline/table.d.ts +2 -0
  86. package/dist/pipeline/spec/table/pipes/columns/index.d.ts +2 -0
  87. package/dist/pipeline/spec/table/pipes/columns/measuresToColumns.d.ts +3 -0
  88. package/dist/pipeline/spec/table/pipes/columns/pivotColumns.d.ts +2 -0
  89. package/dist/pipeline/spec/table/pipes/index.d.ts +4 -0
  90. package/dist/pipeline/spec/table/pipes/indicators/index.d.ts +1 -0
  91. package/dist/pipeline/spec/table/pipes/indicators/pivotIndicators.d.ts +2 -0
  92. package/dist/pipeline/spec/table/pipes/init/index.d.ts +2 -0
  93. package/dist/pipeline/spec/table/pipes/init/pivotTable.d.ts +2 -0
  94. package/dist/pipeline/spec/table/pipes/init/table.d.ts +2 -0
  95. package/dist/pipeline/spec/table/pipes/rows/index.d.ts +1 -0
  96. package/dist/pipeline/spec/table/pipes/rows/pivotRows.d.ts +2 -0
  97. package/dist/pipeline/utils/chatType.d.ts +4 -2
  98. package/dist/pipeline/utils/dimensions/find.d.ts +4 -0
  99. package/dist/pipeline/utils/dimensions/index.d.ts +1 -0
  100. package/dist/pipeline/utils/index.d.ts +2 -0
  101. package/dist/pipeline/utils/measures/find.d.ts +4 -0
  102. package/dist/pipeline/utils/measures/index.d.ts +1 -1
  103. package/dist/pipeline/utils/tree/index.d.ts +1 -0
  104. package/dist/pipeline/utils/tree/traverse.d.ts +11 -0
  105. package/dist/types/advancedVSeed.d.ts +16 -5
  106. package/dist/types/builder/builder.d.ts +1 -0
  107. package/dist/types/chartType/area/area.d.ts +7 -8
  108. package/dist/types/chartType/areaPercent/areaPercent.d.ts +7 -8
  109. package/dist/types/chartType/bar/bar.d.ts +7 -8
  110. package/dist/types/chartType/barParallel/barParallel.d.ts +7 -8
  111. package/dist/types/chartType/barPercent/barPercent.d.ts +7 -8
  112. package/dist/types/chartType/column/column.d.ts +7 -8
  113. package/dist/types/chartType/columnParallel/columnParallel.d.ts +7 -8
  114. package/dist/types/chartType/columnPercent/columnPercent.d.ts +7 -8
  115. package/dist/types/chartType/donut/donut.d.ts +7 -8
  116. package/dist/types/chartType/dualAxis/dualAxis.d.ts +3 -3
  117. package/dist/types/chartType/funnel/funnel.d.ts +7 -8
  118. package/dist/types/chartType/index.d.ts +3 -3
  119. package/dist/types/chartType/line/line.d.ts +7 -8
  120. package/dist/types/chartType/pie/pie.d.ts +7 -8
  121. package/dist/types/chartType/pivotTable/index.d.ts +1 -1
  122. package/dist/types/chartType/pivotTable/pivotTable.d.ts +58 -3
  123. package/dist/types/chartType/rose/rose.d.ts +4 -5
  124. package/dist/types/chartType/roseParallel/roseParallel.d.ts +4 -5
  125. package/dist/types/chartType/scatter/scatter.d.ts +7 -8
  126. package/dist/types/chartType/table/index.d.ts +1 -1
  127. package/dist/types/chartType/table/table.d.ts +98 -4
  128. package/dist/types/properties/dimensions/dimensions.d.ts +48 -6
  129. package/dist/types/properties/dimensions/index.d.ts +1 -2
  130. package/dist/types/properties/measures/measures.d.ts +39 -3
  131. package/dist/types/vseed.d.ts +205 -76
  132. package/dist/umd/index.js +532 -137
  133. package/dist/umd/index.js.map +1 -1
  134. package/package.json +1 -1
  135. package/dist/pipeline/advanced/pipes/annotation/annotation.d.ts +0 -2
  136. package/dist/pipeline/advanced/pipes/encoding/encodingFunnel.d.ts +0 -2
  137. package/dist/pipeline/advanced/pipes/encoding/encodingPie.d.ts +0 -2
  138. package/dist/pipeline/advanced/pipes/encoding/encodingRose.d.ts +0 -2
  139. package/dist/pipeline/advanced/pipes/encoding/encodingXY.d.ts +0 -2
  140. package/dist/pipeline/advanced/pipes/encoding/encodingYX.d.ts +0 -2
  141. package/dist/pipeline/advanced/pipes/encoding/encodingYY.d.ts +0 -2
  142. package/dist/pipeline/advanced/pipes/i18n/index.d.ts +0 -1
  143. package/dist/pipeline/advanced/pipes/i18n/locale.d.ts +0 -2
  144. package/dist/pipeline/advanced/pipes/init/autoDimensions.d.ts +0 -2
  145. package/dist/pipeline/advanced/pipes/init/autoMeasures.d.ts +0 -2
  146. package/dist/pipeline/advanced/pipes/init/initAdvancedVSeed.d.ts +0 -2
  147. package/dist/pipeline/advanced/pipes/init/utils.d.ts +0 -1
  148. package/dist/pipeline/advanced/pipes/markStyle/markStyle.d.ts +0 -2
  149. package/dist/pipeline/advanced/pipes/theme/theme.d.ts +0 -2
  150. package/dist/pipeline/spec/pipeline/area.d.ts +0 -1
  151. package/dist/pipeline/spec/pipeline/areaPercent.d.ts +0 -1
  152. package/dist/pipeline/spec/pipeline/bar.d.ts +0 -2
  153. package/dist/pipeline/spec/pipeline/column.d.ts +0 -1
  154. package/dist/pipeline/spec/pipeline/donut.d.ts +0 -2
  155. package/dist/pipeline/spec/pipeline/line.d.ts +0 -2
  156. package/dist/pipeline/spec/pipeline/pie.d.ts +0 -2
  157. package/dist/pipeline/spec/pipeline/rose.d.ts +0 -1
  158. package/dist/pipeline/spec/pipes/index.d.ts +0 -14
  159. package/dist/pipeline/utils/measures/findMeasureById.d.ts +0 -3
  160. /package/dist/pipeline/advanced/{pipeline → chart/pipeline}/index.d.ts +0 -0
  161. /package/dist/pipeline/advanced/{pipes → chart/pipes}/annotation/index.d.ts +0 -0
  162. /package/dist/pipeline/advanced/{pipes → chart/pipes}/config/index.d.ts +0 -0
  163. /package/dist/pipeline/advanced/{pipes → chart/pipes}/init/index.d.ts +0 -0
  164. /package/dist/pipeline/advanced/{pipes → chart/pipes}/markStyle/index.d.ts +0 -0
  165. /package/dist/pipeline/advanced/{pipes → chart/pipes}/pivot/index.d.ts +0 -0
  166. /package/dist/pipeline/advanced/{pipes → chart/pipes}/reshape/index.d.ts +0 -0
  167. /package/dist/pipeline/advanced/{pipes → chart/pipes}/theme/index.d.ts +0 -0
  168. /package/dist/pipeline/spec/{pipeline → chart/pipeline}/index.d.ts +0 -0
  169. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/annotation/annotationArea.d.ts +0 -0
  170. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/annotation/annotationAreaBand.d.ts +0 -0
  171. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/annotation/annotationHorizontalLine.d.ts +0 -0
  172. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/annotation/annotationPoint.d.ts +0 -0
  173. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/annotation/annotationVerticalLine.d.ts +0 -0
  174. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/annotation/index.d.ts +0 -0
  175. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/annotation/utils.d.ts +0 -0
  176. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/axes/a.d.ts +0 -0
  177. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/axes/angle.d.ts +0 -0
  178. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/axes/index.d.ts +0 -0
  179. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/axes/radius.d.ts +0 -0
  180. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/axes/xBand.d.ts +0 -0
  181. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/axes/xLinear.d.ts +0 -0
  182. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/axes/yBand.d.ts +0 -0
  183. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/axes/yLinear.d.ts +0 -0
  184. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/backgroundColor/background.d.ts +0 -0
  185. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/backgroundColor/index.d.ts +0 -0
  186. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/color/color.d.ts +0 -0
  187. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/color/index.d.ts +0 -0
  188. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/crosshair/horizontalCrosshairLine.d.ts +0 -0
  189. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/crosshair/horizontalCrosshairRect.d.ts +0 -0
  190. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/crosshair/index.d.ts +0 -0
  191. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/crosshair/verticalCrosshairLine.d.ts +0 -0
  192. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/crosshair/verticalCrosshairRect.d.ts +0 -0
  193. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/dataset/dataset.d.ts +0 -0
  194. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/dataset/datasetPivot.d.ts +0 -0
  195. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/dataset/index.d.ts +0 -0
  196. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/init/area.d.ts +0 -0
  197. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/init/bar.d.ts +0 -0
  198. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/init/barParallel.d.ts +0 -0
  199. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/init/column.d.ts +0 -0
  200. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/init/columnParallel.d.ts +0 -0
  201. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/init/donut.d.ts +0 -0
  202. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/init/funnel.d.ts +0 -0
  203. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/init/line.d.ts +0 -0
  204. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/init/pie.d.ts +0 -0
  205. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/init/pivot.d.ts +0 -0
  206. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/init/rose.d.ts +0 -0
  207. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/init/roseParallel.d.ts +0 -0
  208. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/init/scatter.d.ts +0 -0
  209. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/label/index.d.ts +0 -0
  210. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/label/label.d.ts +0 -0
  211. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/legend/discreteLegend.d.ts +0 -0
  212. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/legend/index.d.ts +0 -0
  213. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/legend/pivotDiscreteLegend.d.ts +0 -0
  214. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/markStyle/areaStyle.d.ts +0 -0
  215. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/markStyle/barStyle.d.ts +0 -0
  216. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/markStyle/index.d.ts +0 -0
  217. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/markStyle/lineStyle.d.ts +0 -0
  218. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/markStyle/pointState.d.ts +0 -0
  219. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/markStyle/pointStyle.d.ts +0 -0
  220. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/percent/index.d.ts +0 -0
  221. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/percent/percent.d.ts +0 -0
  222. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/pivotChart/index.d.ts +0 -0
  223. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/pivotChart/pivotAdapter.d.ts +0 -0
  224. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/pivotChart/pivotColumnDimensions.d.ts +0 -0
  225. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/pivotChart/pivotGridStyle.d.ts +0 -0
  226. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/pivotChart/pivotIndicators.d.ts +0 -0
  227. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/pivotChart/pivotRowDimensions.d.ts +0 -0
  228. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/stack/index.d.ts +0 -0
  229. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/stack/stack.d.ts +0 -0
  230. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/stack/stackCornerRadius.d.ts +0 -0
  231. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/tooltip/index.d.ts +0 -0
  232. /package/dist/pipeline/spec/{pipes/vchart → chart/pipes}/tooltip/tooltip.d.ts +0 -0
  233. /package/dist/pipeline/{constant.d.ts → utils/constant.d.ts} +0 -0
package/dist/umd/index.js CHANGED
@@ -36,6 +36,7 @@
36
36
  pieAdvancedPipeline: ()=>pieAdvancedPipeline,
37
37
  execPipeline: ()=>execPipeline,
38
38
  areaSpecPipeline: ()=>areaSpecPipeline,
39
+ isTable: ()=>isTable,
39
40
  zDonut: ()=>zDonut,
40
41
  zRoseConfig: ()=>zRoseConfig,
41
42
  findFirstMeasure: ()=>findFirstMeasure,
@@ -46,16 +47,21 @@
46
47
  columnPercentAdvancedPipeline: ()=>columnPercentAdvancedPipeline,
47
48
  zColumnConfig: ()=>zColumnConfig,
48
49
  zAnnotation: ()=>zAnnotation,
50
+ pivotTableAdvancedPipeline: ()=>pivotTableAdvancedPipeline,
49
51
  zYBandAxis: ()=>zYBandAxis,
50
52
  dataReshapeFor1D2M: ()=>dataReshapeFor1D2M,
51
53
  zAnnotationHorizontalLine: ()=>zAnnotationHorizontalLine,
52
54
  zMarkStyle: ()=>zMarkStyle,
53
- zYLinearAxis: ()=>zYLinearAxis,
55
+ registerFunnel: ()=>registerFunnel,
54
56
  Separator: ()=>Separator,
57
+ zYLinearAxis: ()=>zYLinearAxis,
55
58
  columnAdvancedPipeline: ()=>columnAdvancedPipeline,
56
59
  zLabel: ()=>zLabel,
57
60
  registerColumn: ()=>registerColumn,
61
+ findAllMeasures: ()=>findAllMeasures,
58
62
  funnelSpecPipeline: ()=>funnelSpecPipeline,
63
+ preorderTraverse: ()=>preorderTraverse,
64
+ zDimensionTree: ()=>zDimensionTree,
59
65
  roseParallelSpecPipeline: ()=>roseParallelSpecPipeline,
60
66
  zLineStyle: ()=>zLineStyle,
61
67
  dataReshapeFor1D1M: ()=>dataReshapeFor1D1M,
@@ -65,6 +71,8 @@
65
71
  UnfoldDimensionGroupId: ()=>UnfoldDimensionGroupId,
66
72
  zNumFormat: ()=>zNumFormat,
67
73
  barPercentAdvancedPipeline: ()=>barPercentAdvancedPipeline,
74
+ findAllDimensions: ()=>findAllDimensions,
75
+ findDimensionById: ()=>findDimensionById,
68
76
  zArea: ()=>zArea,
69
77
  zColumnParallel: ()=>zColumnParallel,
70
78
  zDimensions: ()=>zDimensions,
@@ -82,29 +90,39 @@
82
90
  zCrosshairLine: ()=>zCrosshairLine,
83
91
  registerBarPercent: ()=>registerBarPercent,
84
92
  roseSpecPipeline: ()=>roseSpecPipeline,
93
+ zPivotTable: ()=>zPivotTable,
85
94
  registerLightTheme: ()=>registerLightTheme,
86
95
  roseAdvancedPipeline: ()=>roseAdvancedPipeline,
87
96
  zBarParallel: ()=>zBarParallel,
97
+ zAnnotationVerticalLine: ()=>zAnnotationVerticalLine,
88
98
  zChartType: ()=>zChartType,
99
+ tableAdvancedPipeline: ()=>tableAdvancedPipeline,
89
100
  registerDarkTheme: ()=>registerDarkTheme,
90
- zAnnotationVerticalLine: ()=>zAnnotationVerticalLine,
101
+ registerPivotTable: ()=>registerPivotTable,
91
102
  pieSpecPipeline: ()=>pieSpecPipeline,
92
- zStackCornerRadius: ()=>zStackCornerRadius,
103
+ zMeasureTree: ()=>zMeasureTree,
93
104
  barSpecPipeline: ()=>barSpecPipeline,
105
+ zStackCornerRadius: ()=>zStackCornerRadius,
106
+ registerRose: ()=>registerRose,
94
107
  zRose: ()=>zRose,
95
108
  unfoldDimensions: ()=>unfoldDimensions,
96
109
  roseParallelAdvancedPipeline: ()=>roseParallelAdvancedPipeline,
97
- zPieConfig: ()=>zPieConfig,
110
+ registerTable: ()=>registerTable,
98
111
  autoFormatter: ()=>autoFormatter,
112
+ findFirstDimension: ()=>findFirstDimension,
99
113
  Builder: ()=>Builder,
100
- registerBar: ()=>registerBar,
101
114
  registerAll: ()=>registerAll,
115
+ registerBar: ()=>registerBar,
102
116
  isVChart: ()=>isVChart,
117
+ zPieConfig: ()=>zPieConfig,
118
+ zTable: ()=>zTable,
103
119
  registerLine: ()=>registerLine,
104
120
  registerCustomTheme: ()=>registerCustomTheme,
105
121
  zColor: ()=>zColor,
106
- zMeasureGroup: ()=>zMeasureGroup,
122
+ registerRoseParallel: ()=>registerRoseParallel,
123
+ registerDonut: ()=>registerDonut,
107
124
  zDonutConfig: ()=>zDonutConfig,
125
+ zMeasureGroup: ()=>zMeasureGroup,
108
126
  zUnfoldInfo: ()=>zUnfoldInfo,
109
127
  zFunnelConfig: ()=>zFunnelConfig,
110
128
  zMeasures: ()=>zMeasures,
@@ -144,13 +162,16 @@
144
162
  registerBarParallel: ()=>registerBarParallel,
145
163
  zMeasure: ()=>zMeasure,
146
164
  zLocale: ()=>zLocale,
165
+ pivotTableSpecPipeline: ()=>pivotTableSpecPipeline,
166
+ registerScatter: ()=>registerScatter,
147
167
  zEncoding: ()=>zEncoding,
148
168
  autoNumFormatter: ()=>autoNumFormatter,
149
169
  zAdvancedVSeed: ()=>zAdvancedVSeed,
150
- zXLinearAxis: ()=>zXLinearAxis,
170
+ tableSpecPipeline: ()=>tableSpecPipeline,
151
171
  zConfig: ()=>zConfig,
152
172
  zRoseParallelConfig: ()=>zRoseParallelConfig,
153
173
  zBarStyle: ()=>zBarStyle,
174
+ zXLinearAxis: ()=>zXLinearAxis,
154
175
  zAreaPercent: ()=>zAreaPercent,
155
176
  columnParallelAdvancedPipeline: ()=>columnParallelAdvancedPipeline,
156
177
  zColumnPercent: ()=>zColumnPercent,
@@ -158,9 +179,10 @@
158
179
  zScatter: ()=>zScatter,
159
180
  foldMeasures: ()=>foldMeasures,
160
181
  dataReshapeFor2D1M: ()=>dataReshapeFor2D1M,
182
+ isPivotTable: ()=>isPivotTable,
183
+ registerPie: ()=>registerPie,
161
184
  zFunnel: ()=>zFunnel,
162
185
  zScatterConfig: ()=>zScatterConfig,
163
- zTooltip: ()=>zTooltip,
164
186
  zBarParallelConfig: ()=>zBarParallelConfig,
165
187
  barParallelAdvancedPipeline: ()=>barParallelAdvancedPipeline,
166
188
  FoldMeasureValue: ()=>FoldMeasureValue,
@@ -168,7 +190,9 @@
168
190
  barPercentSpecPipeline: ()=>barPercentSpecPipeline,
169
191
  lineAdvancedPipeline: ()=>lineAdvancedPipeline,
170
192
  lineSpecPipeline: ()=>lineSpecPipeline,
193
+ zTooltip: ()=>zTooltip,
171
194
  createFormatter: ()=>createFormatter,
195
+ zDimensionGroup: ()=>zDimensionGroup,
172
196
  columnPercentSpecPipeline: ()=>columnPercentSpecPipeline,
173
197
  areaAdvancedPipeline: ()=>areaAdvancedPipeline,
174
198
  areaPercentSpecPipeline: ()=>areaPercentSpecPipeline,
@@ -177,23 +201,27 @@
177
201
  });
178
202
  const initAdvancedVSeed = (advancedVSeed, context)=>{
179
203
  const { vseed } = context;
180
- const { chartType } = vseed;
204
+ const { chartType, locale } = vseed;
181
205
  return {
182
206
  ...advancedVSeed,
183
- chartType
207
+ chartType,
208
+ locale: locale || 'zh-CN'
184
209
  };
185
210
  };
186
211
  const execPipeline = (pipeline, context, initialValue = {})=>{
187
212
  const result = pipeline.reduce((prev, cur)=>cur(prev, context), initialValue);
188
213
  return result;
189
214
  };
215
+ const isTable = (vseed)=>'table' === vseed.chartType;
216
+ const isPivotTable = (vseed)=>'pivotTable' === vseed.chartType;
190
217
  const isVTable = (vseed)=>[
191
218
  'table',
192
219
  'pivotTable'
193
220
  ].includes(vseed.chartType);
194
221
  const isVChart = (vseed)=>!isVTable(vseed);
195
222
  const isPivotChart = (vseed)=>{
196
- const { measures, dimensions } = vseed;
223
+ if (isVTable(vseed)) return false;
224
+ const { measures = [], dimensions = [] } = vseed;
197
225
  const hasRowOrColumnDimension = dimensions && dimensions.some((dimension)=>'rowDimension' === dimension.location || 'columnDimension' === dimension.location);
198
226
  const hasMeasureGroup = measures && measures.find((measure)=>measure && measure.children);
199
227
  return hasRowOrColumnDimension || hasMeasureGroup;
@@ -289,32 +317,92 @@
289
317
  };
290
318
  const createFormatter = (format)=>createNumFormatter(format);
291
319
  const autoFormatter = (value, locale)=>autoNumFormatter(value, locale);
292
- const findMeasureById = (measures = [], id)=>{
293
- if (!measures) return;
320
+ const preorderTraverse = (tree, callback)=>{
321
+ if (!tree || 0 === tree.length) return;
294
322
  const stack = [
295
- ...measures
296
- ];
323
+ ...tree
324
+ ].reverse();
297
325
  while(stack.length > 0){
298
- const current = stack.pop();
299
- if (!current) continue;
300
- if (current.id === id && !('children' in current)) return current;
301
- if ('children' in current && current.children) stack.push(...current.children);
326
+ const node = stack.pop();
327
+ const stop = callback(node);
328
+ if (true === stop) return;
329
+ if (!('children' in node)) continue;
330
+ const children = node.children;
331
+ if (children && children.length > 0) for(let i = children.length - 1; i >= 0; i--){
332
+ const child = children[i];
333
+ stack.push(child);
334
+ }
302
335
  }
303
336
  };
337
+ const findMeasureById = (measures = [], id)=>{
338
+ if (!measures) return;
339
+ let result;
340
+ preorderTraverse(measures, (node)=>{
341
+ if (!('children' in node)) {
342
+ if (node.id === id) {
343
+ result = node;
344
+ return true;
345
+ }
346
+ }
347
+ return false;
348
+ });
349
+ return result;
350
+ };
304
351
  const findFirstMeasure = (measures = [])=>{
305
352
  if (!measures) return;
306
- const stack = [
307
- ...measures
308
- ].reverse();
309
- while(stack.length > 0){
310
- const current = stack.pop();
311
- if (!current) continue;
312
- if (!('children' in current)) return current;
313
- if ('children' in current && current.children) {
314
- const children = (current.children || []).reverse();
315
- stack.push(...children);
353
+ let result;
354
+ preorderTraverse(measures, (node)=>{
355
+ if (!('children' in node)) {
356
+ result = node;
357
+ return true;
316
358
  }
317
- }
359
+ return false;
360
+ });
361
+ return result;
362
+ };
363
+ const findAllMeasures = (measures = [])=>{
364
+ if (!measures) return [];
365
+ const result = [];
366
+ preorderTraverse(measures, (node)=>{
367
+ if (!('children' in node)) result.push(node);
368
+ return false;
369
+ });
370
+ return result;
371
+ };
372
+ const findDimensionById = (dimensions = [], id)=>{
373
+ if (!dimensions) return;
374
+ let result;
375
+ preorderTraverse(dimensions, (node)=>{
376
+ if (!('children' in node)) {
377
+ if (node.id === id) {
378
+ result = node;
379
+ return true;
380
+ }
381
+ }
382
+ return false;
383
+ });
384
+ return result;
385
+ };
386
+ const findFirstDimension = (dimensions = [])=>{
387
+ if (!dimensions) return;
388
+ let result;
389
+ preorderTraverse(dimensions, (node)=>{
390
+ if (!('children' in node)) {
391
+ result = node;
392
+ return true;
393
+ }
394
+ return false;
395
+ });
396
+ return result;
397
+ };
398
+ const findAllDimensions = (dimensions = [])=>{
399
+ if (!dimensions) return [];
400
+ const result = [];
401
+ preorderTraverse(dimensions, (node)=>{
402
+ if (!('children' in node)) result.push(node);
403
+ return false;
404
+ });
405
+ return result;
318
406
  };
319
407
  const autoMeasures = (advancedVSeed, context)=>{
320
408
  const result = {
@@ -393,7 +481,7 @@
393
481
  };
394
482
  const { vseed } = context;
395
483
  const { dimensions, dataset } = vseed;
396
- const { measures = [] } = advancedVSeed;
484
+ const measures = findAllMeasures(advancedVSeed.measures);
397
485
  if (!dataset) throw new Error('dataset is required');
398
486
  if (0 === dataset.length) return result;
399
487
  if (dimensions) {
@@ -527,7 +615,10 @@
527
615
  for(let i = 0; i < dataset.length; i++){
528
616
  const datum = dataset[i];
529
617
  const colorName = generateDimGroupName(dimensionsToBeUnfolded, datum, dimensionsSeparator);
530
- const colorId = colorName + (datum[foldMeasureId] || '');
618
+ const colorId = [
619
+ colorName,
620
+ datum[foldMeasureId] || 'id'
621
+ ].join(dimensionsSeparator);
531
622
  datum[unfoldGroupName] = colorName;
532
623
  datum[unfoldGroupId] = colorId;
533
624
  colorItems.push(colorId);
@@ -861,7 +952,8 @@
861
952
  };
862
953
  const { vseed } = context;
863
954
  const { dataset } = vseed;
864
- const { dimensions, measures } = advancedVSeed;
955
+ const { measures } = advancedVSeed;
956
+ const dimensions = advancedVSeed.dimensions;
865
957
  if (!measures || !dimensions) return result;
866
958
  const measureGroups = [];
867
959
  if (measures) measures.forEach((measure)=>{
@@ -900,7 +992,8 @@
900
992
  };
901
993
  const { vseed } = context;
902
994
  const { dataset } = vseed;
903
- const { dimensions, measures } = advancedVSeed;
995
+ const { measures } = advancedVSeed;
996
+ const dimensions = advancedVSeed.dimensions;
904
997
  if (!measures || !dimensions) return result;
905
998
  const measureGroups = [];
906
999
  if (measures) measures.forEach((measure)=>{
@@ -939,7 +1032,8 @@
939
1032
  };
940
1033
  const { vseed } = context;
941
1034
  const { dataset } = vseed;
942
- const { dimensions, measures } = advancedVSeed;
1035
+ const { measures } = advancedVSeed;
1036
+ const dimensions = advancedVSeed.dimensions;
943
1037
  if (!measures || !dimensions) return result;
944
1038
  const measureGroups = [];
945
1039
  if (measures) measures.forEach((measure)=>{
@@ -1044,6 +1138,42 @@
1044
1138
  encoding
1045
1139
  };
1046
1140
  };
1141
+ const encodingYY = (advancedVSeed)=>{
1142
+ const result = {
1143
+ ...advancedVSeed
1144
+ };
1145
+ const { datasetReshapeInfo, measures } = advancedVSeed;
1146
+ if (!datasetReshapeInfo || !measures) return result;
1147
+ const firstMeasure = findFirstMeasure(measures);
1148
+ const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
1149
+ const { foldInfo, unfoldInfo } = cur;
1150
+ const x = [
1151
+ firstMeasure?.id
1152
+ ];
1153
+ const y = [
1154
+ foldInfo.measureValue
1155
+ ];
1156
+ const group = [
1157
+ unfoldInfo.groupId
1158
+ ];
1159
+ const color = [
1160
+ unfoldInfo.groupId
1161
+ ];
1162
+ return [
1163
+ ...prev,
1164
+ {
1165
+ x,
1166
+ y,
1167
+ group,
1168
+ color
1169
+ }
1170
+ ];
1171
+ }, []);
1172
+ return {
1173
+ ...result,
1174
+ encoding
1175
+ };
1176
+ };
1047
1177
  const encodingRose = (advancedVSeed)=>{
1048
1178
  const result = {
1049
1179
  ...advancedVSeed
@@ -1337,17 +1467,8 @@
1337
1467
  annotation
1338
1468
  };
1339
1469
  };
1340
- const locale_locale = (advancedVSeed, context)=>{
1341
- const { vseed } = context;
1342
- const { locale } = vseed;
1343
- return {
1344
- ...advancedVSeed,
1345
- locale: locale || 'zh-CN'
1346
- };
1347
- };
1348
1470
  const lineAdvancedPipeline = [
1349
1471
  initAdvancedVSeed,
1350
- locale_locale,
1351
1472
  autoMeasures,
1352
1473
  autoDimensions,
1353
1474
  pivotAdapter([
@@ -1363,7 +1484,6 @@
1363
1484
  ];
1364
1485
  const barAdvancedPipeline = [
1365
1486
  initAdvancedVSeed,
1366
- locale_locale,
1367
1487
  autoMeasures,
1368
1488
  autoDimensions,
1369
1489
  pivotAdapter([
@@ -1379,7 +1499,6 @@
1379
1499
  ];
1380
1500
  const barParallelAdvancedPipeline = [
1381
1501
  initAdvancedVSeed,
1382
- locale_locale,
1383
1502
  autoMeasures,
1384
1503
  autoDimensions,
1385
1504
  pivotAdapter([
@@ -1395,7 +1514,6 @@
1395
1514
  ];
1396
1515
  const barPercentAdvancedPipeline = [
1397
1516
  initAdvancedVSeed,
1398
- locale_locale,
1399
1517
  autoMeasures,
1400
1518
  autoDimensions,
1401
1519
  pivotAdapter([
@@ -1411,7 +1529,6 @@
1411
1529
  ];
1412
1530
  const columnAdvancedPipeline = [
1413
1531
  initAdvancedVSeed,
1414
- locale_locale,
1415
1532
  autoMeasures,
1416
1533
  autoDimensions,
1417
1534
  pivotAdapter([
@@ -1427,7 +1544,6 @@
1427
1544
  ];
1428
1545
  const columnParallelAdvancedPipeline = [
1429
1546
  initAdvancedVSeed,
1430
- locale_locale,
1431
1547
  autoMeasures,
1432
1548
  autoDimensions,
1433
1549
  pivotAdapter([
@@ -1443,7 +1559,6 @@
1443
1559
  ];
1444
1560
  const columnPercentAdvancedPipeline = [
1445
1561
  initAdvancedVSeed,
1446
- locale_locale,
1447
1562
  autoMeasures,
1448
1563
  autoDimensions,
1449
1564
  pivotAdapter([
@@ -1459,7 +1574,6 @@
1459
1574
  ];
1460
1575
  const areaAdvancedPipeline = [
1461
1576
  initAdvancedVSeed,
1462
- locale_locale,
1463
1577
  autoMeasures,
1464
1578
  autoDimensions,
1465
1579
  pivotAdapter([
@@ -1475,7 +1589,6 @@
1475
1589
  ];
1476
1590
  const areaPercentAdvancedPipeline = [
1477
1591
  initAdvancedVSeed,
1478
- locale_locale,
1479
1592
  autoMeasures,
1480
1593
  autoDimensions,
1481
1594
  pivotAdapter([
@@ -1491,7 +1604,6 @@
1491
1604
  ];
1492
1605
  const pieAdvancedPipeline = [
1493
1606
  initAdvancedVSeed,
1494
- locale_locale,
1495
1607
  autoMeasures,
1496
1608
  autoDimensions,
1497
1609
  pivotAdapter([
@@ -1506,7 +1618,6 @@
1506
1618
  ];
1507
1619
  const donutAdvancedPipeline = [
1508
1620
  initAdvancedVSeed,
1509
- locale_locale,
1510
1621
  autoMeasures,
1511
1622
  autoDimensions,
1512
1623
  pivotAdapter([
@@ -1521,7 +1632,6 @@
1521
1632
  ];
1522
1633
  const roseAdvancedPipeline = [
1523
1634
  initAdvancedVSeed,
1524
- locale_locale,
1525
1635
  autoMeasures,
1526
1636
  autoDimensions,
1527
1637
  pivotAdapter([
@@ -1537,7 +1647,6 @@
1537
1647
  ];
1538
1648
  const roseParallelAdvancedPipeline = [
1539
1649
  initAdvancedVSeed,
1540
- locale_locale,
1541
1650
  autoMeasures,
1542
1651
  autoDimensions,
1543
1652
  pivotAdapter([
@@ -1553,7 +1662,6 @@
1553
1662
  ];
1554
1663
  const funnelAdvancedPipeline = [
1555
1664
  initAdvancedVSeed,
1556
- locale_locale,
1557
1665
  autoMeasures,
1558
1666
  autoDimensions,
1559
1667
  pivotAdapter([
@@ -1566,45 +1674,8 @@
1566
1674
  theme_theme,
1567
1675
  annotation_annotation
1568
1676
  ];
1569
- const encodingYY = (advancedVSeed)=>{
1570
- const result = {
1571
- ...advancedVSeed
1572
- };
1573
- const { datasetReshapeInfo, measures } = advancedVSeed;
1574
- if (!datasetReshapeInfo || !measures) return result;
1575
- const firstMeasure = findFirstMeasure(measures);
1576
- const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
1577
- const { foldInfo, unfoldInfo } = cur;
1578
- const x = [
1579
- firstMeasure?.id
1580
- ];
1581
- const y = [
1582
- foldInfo.measureValue
1583
- ];
1584
- const group = [
1585
- unfoldInfo.groupId
1586
- ];
1587
- const color = [
1588
- unfoldInfo.groupId
1589
- ];
1590
- return [
1591
- ...prev,
1592
- {
1593
- x,
1594
- y,
1595
- group,
1596
- color
1597
- }
1598
- ];
1599
- }, []);
1600
- return {
1601
- ...result,
1602
- encoding
1603
- };
1604
- };
1605
1677
  const scatterAdvancedPipeline = [
1606
1678
  initAdvancedVSeed,
1607
- locale_locale,
1608
1679
  autoMeasures,
1609
1680
  autoDimensions,
1610
1681
  pivotAdapter([
@@ -1618,6 +1689,158 @@
1618
1689
  markStyle_markStyle,
1619
1690
  annotation_annotation
1620
1691
  ];
1692
+ const autoMeasures_autoMeasures = (advancedVSeed, context)=>{
1693
+ const result = {
1694
+ ...advancedVSeed
1695
+ };
1696
+ const { vseed } = context;
1697
+ const { measures, dataset } = vseed;
1698
+ if (!dataset) throw new Error('dataset is required');
1699
+ if (0 === dataset.length) return result;
1700
+ if (measures && measures.length > 0) {
1701
+ result.measures = measures;
1702
+ return result;
1703
+ }
1704
+ const top100dataset = dataset.slice(0, 100);
1705
+ const sample = top100dataset.reduce((prev, cur)=>({
1706
+ ...prev,
1707
+ ...cur
1708
+ }), {});
1709
+ result.measures = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
1710
+ '',
1711
+ null,
1712
+ void 0
1713
+ ].includes(key)).map((measure)=>({
1714
+ id: measure,
1715
+ alias: measure
1716
+ }));
1717
+ return result;
1718
+ };
1719
+ const autoDimensions_autoDimensions = (advancedVSeed, context)=>{
1720
+ const result = {
1721
+ ...advancedVSeed
1722
+ };
1723
+ const { vseed } = context;
1724
+ const { dimensions, dataset } = vseed;
1725
+ const measures = findAllMeasures(advancedVSeed.measures);
1726
+ if (!dataset) throw new Error('dataset is required');
1727
+ if (0 === dataset.length) return result;
1728
+ if (dimensions && dimensions.length > 0) {
1729
+ result.dimensions = dimensions;
1730
+ return result;
1731
+ }
1732
+ const top100dataset = dataset.slice(0, 100);
1733
+ const sample = top100dataset.reduce((prev, cur)=>({
1734
+ ...prev,
1735
+ ...cur
1736
+ }), {});
1737
+ result.dimensions = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'string' == typeof item[key]) && ![
1738
+ '',
1739
+ null,
1740
+ void 0
1741
+ ].includes(key) && !measures.some((measure)=>measure.id === key)).map((dim)=>({
1742
+ id: dim,
1743
+ alias: dim,
1744
+ location: 'dimension'
1745
+ }));
1746
+ return result;
1747
+ };
1748
+ const autoPivotDimensions = (advancedVSeed, context)=>{
1749
+ const result = {
1750
+ ...advancedVSeed
1751
+ };
1752
+ const { vseed } = context;
1753
+ const { dimensions, dataset } = vseed;
1754
+ const measures = findAllMeasures(advancedVSeed.measures);
1755
+ if (!dataset) throw new Error('dataset is required');
1756
+ if (0 === dataset.length) return result;
1757
+ if (dimensions && dimensions.length > 0) {
1758
+ const newDimensions = findAllDimensions(dimensions);
1759
+ result.dimensions = newDimensions.map((item, index)=>{
1760
+ if ('rowDimension' === item.location || 'columnDimension' === item.location) return item;
1761
+ return {
1762
+ ...item,
1763
+ location: index % 2 === 0 ? 'columnDimension' : 'rowDimension'
1764
+ };
1765
+ });
1766
+ return result;
1767
+ }
1768
+ const top100dataset = dataset.slice(0, 100);
1769
+ const sample = top100dataset.reduce((prev, cur)=>({
1770
+ ...prev,
1771
+ ...cur
1772
+ }), {});
1773
+ let i = 0;
1774
+ result.dimensions = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'string' == typeof item[key]) && ![
1775
+ '',
1776
+ null,
1777
+ void 0
1778
+ ].includes(key) && !measures.some((measure)=>measure.id === key)).map((dim)=>({
1779
+ id: dim,
1780
+ alias: dim,
1781
+ location: i++ % 2 === 0 ? 'columnDimension' : 'rowDimension'
1782
+ }));
1783
+ return result;
1784
+ };
1785
+ const autoPivotMeasures = (advancedVSeed, context)=>{
1786
+ const result = {
1787
+ ...advancedVSeed
1788
+ };
1789
+ const { vseed } = context;
1790
+ const { dataset } = vseed;
1791
+ const measures = findAllMeasures(vseed.measures);
1792
+ if (!dataset) throw new Error('dataset is required');
1793
+ if (0 === dataset.length) return result;
1794
+ if (measures && measures.length > 0) {
1795
+ result.measures = findAllMeasures(measures);
1796
+ return result;
1797
+ }
1798
+ const top100dataset = dataset.slice(0, 100);
1799
+ const sample = top100dataset.reduce((prev, cur)=>({
1800
+ ...prev,
1801
+ ...cur
1802
+ }), {});
1803
+ result.measures = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
1804
+ '',
1805
+ null,
1806
+ void 0
1807
+ ].includes(key)).map((measure)=>({
1808
+ id: measure,
1809
+ alias: measure
1810
+ }));
1811
+ return result;
1812
+ };
1813
+ const initAdvancedVSeed_initAdvancedVSeed = (advancedVSeed, context)=>{
1814
+ const { vseed } = context;
1815
+ const { chartType, locale } = vseed;
1816
+ return {
1817
+ ...advancedVSeed,
1818
+ chartType,
1819
+ locale: locale || 'zh-CN'
1820
+ };
1821
+ };
1822
+ const records_records = (advancedVSeed, context)=>{
1823
+ const { vseed } = context;
1824
+ const { dataset } = vseed;
1825
+ return {
1826
+ ...advancedVSeed,
1827
+ dataset
1828
+ };
1829
+ };
1830
+ const pivotTableAdvancedPipeline = [
1831
+ initAdvancedVSeed_initAdvancedVSeed,
1832
+ autoPivotMeasures,
1833
+ autoPivotDimensions,
1834
+ records_records,
1835
+ theme_theme
1836
+ ];
1837
+ const tableAdvancedPipeline = [
1838
+ initAdvancedVSeed_initAdvancedVSeed,
1839
+ autoMeasures_autoMeasures,
1840
+ autoDimensions_autoDimensions,
1841
+ records_records,
1842
+ theme_theme
1843
+ ];
1621
1844
  const dataset_dataset = (spec, context)=>{
1622
1845
  const { advancedVSeed } = context;
1623
1846
  const { encoding } = advancedVSeed;
@@ -1995,6 +2218,27 @@
1995
2218
  result.animation = true;
1996
2219
  return result;
1997
2220
  };
2221
+ const initScatter = (spec, context)=>{
2222
+ const result = {
2223
+ ...spec
2224
+ };
2225
+ const { advancedVSeed } = context;
2226
+ const { encoding } = advancedVSeed;
2227
+ if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
2228
+ result.type = 'scatter';
2229
+ result.direction = 'vertical';
2230
+ result.xField = encoding[0].x[0];
2231
+ result.yField = encoding[0].y[0];
2232
+ result.seriesField = encoding[0].group[0];
2233
+ result.padding = 0;
2234
+ result.region = [
2235
+ {
2236
+ clip: true
2237
+ }
2238
+ ];
2239
+ result.animation = true;
2240
+ return result;
2241
+ };
1998
2242
  const xBand = (spec, context)=>{
1999
2243
  const result = {
2000
2244
  ...spec
@@ -2993,7 +3237,7 @@
2993
3237
  ...spec
2994
3238
  };
2995
3239
  const { advancedVSeed } = context;
2996
- const { dimensions } = advancedVSeed;
3240
+ const dimensions = advancedVSeed.dimensions;
2997
3241
  if (!dimensions) return result;
2998
3242
  const columnDimensions = dimensions.filter((dim)=>'columnDimension' === dim.location);
2999
3243
  const columns = columnDimensions.map((dim)=>({
@@ -3010,7 +3254,7 @@
3010
3254
  ...spec
3011
3255
  };
3012
3256
  const { advancedVSeed } = context;
3013
- const { dimensions } = advancedVSeed;
3257
+ const dimensions = advancedVSeed.dimensions;
3014
3258
  if (!dimensions) return result;
3015
3259
  const rowDimensions = dimensions.filter((dim)=>'rowDimension' === dim.location);
3016
3260
  const rows = rowDimensions.map((dim)=>({
@@ -4669,27 +4913,6 @@
4669
4913
  const funnelSpecPipeline = [
4670
4914
  pivotAdapter_pivotAdapter(funnel, pivotFunnel)
4671
4915
  ];
4672
- const initScatter = (spec, context)=>{
4673
- const result = {
4674
- ...spec
4675
- };
4676
- const { advancedVSeed } = context;
4677
- const { encoding } = advancedVSeed;
4678
- if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
4679
- result.type = 'scatter';
4680
- result.direction = 'vertical';
4681
- result.xField = encoding[0].x[0];
4682
- result.yField = encoding[0].y[0];
4683
- result.seriesField = encoding[0].group[0];
4684
- result.padding = 0;
4685
- result.region = [
4686
- {
4687
- clip: true
4688
- }
4689
- ];
4690
- result.animation = true;
4691
- return result;
4692
- };
4693
4916
  const scatter = [
4694
4917
  initScatter,
4695
4918
  color_color,
@@ -4739,6 +4962,128 @@
4739
4962
  const scatterSpecPipeline = [
4740
4963
  pivotAdapter_pivotAdapter(scatter, pivotScatter)
4741
4964
  ];
4965
+ const initTable = (spec, context)=>{
4966
+ const { advancedVSeed } = context;
4967
+ const { dataset } = advancedVSeed;
4968
+ return {
4969
+ ...spec,
4970
+ records: dataset,
4971
+ widthMode: 'standard',
4972
+ heightMode: 'autoHeight',
4973
+ autoWrapText: true,
4974
+ columnResizeMode: 'all',
4975
+ showHeader: true
4976
+ };
4977
+ };
4978
+ const measureTreeToColumns = (spec, context)=>{
4979
+ const { advancedVSeed } = context;
4980
+ const measures = advancedVSeed.measures;
4981
+ const result = {
4982
+ ...spec
4983
+ };
4984
+ const columns = treeTreeToColumns(measures);
4985
+ return {
4986
+ ...result,
4987
+ columns: [
4988
+ ...result.columns || [],
4989
+ ...columns
4990
+ ]
4991
+ };
4992
+ };
4993
+ const dimensionTreeToColumns = (spec, context)=>{
4994
+ const { advancedVSeed } = context;
4995
+ const dimensions = advancedVSeed.dimensions;
4996
+ const result = {
4997
+ ...spec
4998
+ };
4999
+ const columns = treeTreeToColumns(dimensions);
5000
+ return {
5001
+ ...result,
5002
+ columns: [
5003
+ ...result.columns || [],
5004
+ ...columns
5005
+ ]
5006
+ };
5007
+ };
5008
+ const treeTreeToColumns = (tree = [])=>{
5009
+ const result = tree.map((item)=>{
5010
+ const field = item.id;
5011
+ const title = item.alias ?? item.id;
5012
+ if ('children' in item && Array.isArray(item.children)) return {
5013
+ field,
5014
+ title,
5015
+ columns: treeTreeToColumns(item.children)
5016
+ };
5017
+ return {
5018
+ field,
5019
+ title
5020
+ };
5021
+ });
5022
+ return result || [];
5023
+ };
5024
+ const tableSpecPipeline = [
5025
+ initTable,
5026
+ dimensionTreeToColumns,
5027
+ measureTreeToColumns
5028
+ ];
5029
+ const initPivotTable = (spec, context)=>{
5030
+ const { advancedVSeed } = context;
5031
+ const { dataset } = advancedVSeed;
5032
+ return {
5033
+ ...spec,
5034
+ records: dataset,
5035
+ widthMode: 'standard',
5036
+ heightMode: 'autoHeight',
5037
+ autoWrapText: true,
5038
+ columnResizeMode: 'all'
5039
+ };
5040
+ };
5041
+ const pivotColumns = (spec, context)=>{
5042
+ const { advancedVSeed } = context;
5043
+ const dimensions = advancedVSeed.dimensions;
5044
+ const columns = dimensions.filter((item)=>'columnDimension' === item['location']);
5045
+ return {
5046
+ ...spec,
5047
+ columns: columns.map((item)=>({
5048
+ dimensionKey: item.id,
5049
+ title: item.alias || item.id,
5050
+ width: 'auto'
5051
+ }))
5052
+ };
5053
+ };
5054
+ const pivotRows = (spec, context)=>{
5055
+ const { advancedVSeed } = context;
5056
+ const dimensions = advancedVSeed.dimensions;
5057
+ const rows = dimensions.filter((item)=>'rowDimension' === item['location']);
5058
+ return {
5059
+ ...spec,
5060
+ rows: rows.map((item)=>({
5061
+ dimensionKey: item.id,
5062
+ title: item.alias || item.id,
5063
+ width: 'auto'
5064
+ }))
5065
+ };
5066
+ };
5067
+ const pivotIndicators_pivotIndicators = (spec, context)=>{
5068
+ const { advancedVSeed } = context;
5069
+ const measures = advancedVSeed.measures;
5070
+ return {
5071
+ ...spec,
5072
+ indicatorsAsCol: true,
5073
+ indicators: measures.map((item)=>({
5074
+ cellType: 'text',
5075
+ indicatorKey: item.id,
5076
+ title: item.alias || item.id,
5077
+ width: 'auto'
5078
+ }))
5079
+ };
5080
+ };
5081
+ const pivotTableSpecPipeline = [
5082
+ initPivotTable,
5083
+ pivotColumns,
5084
+ pivotRows,
5085
+ pivotIndicators_pivotIndicators
5086
+ ];
4742
5087
  const buildAdvanced = (builder)=>{
4743
5088
  const { chartType } = builder.vseed;
4744
5089
  if (!chartType) throw new Error('chartType is nil in buildAdvanced');
@@ -4779,6 +5124,17 @@
4779
5124
  builder.spec = spec;
4780
5125
  return spec;
4781
5126
  };
5127
+ const getColorItems = (builder)=>{
5128
+ const advancedVSeed = builder.advancedVSeed;
5129
+ if (!advancedVSeed) return [];
5130
+ const { datasetReshapeInfo } = advancedVSeed;
5131
+ const colorItems = chunk_QJLMYOTX_i(datasetReshapeInfo.flatMap((d)=>d.unfoldInfo.colorItems));
5132
+ const colorIdMap = datasetReshapeInfo.reduce((prev, cur)=>({
5133
+ ...prev,
5134
+ ...cur.unfoldInfo.colorIdMap
5135
+ }), {});
5136
+ return colorItems.map((d)=>colorIdMap[d]);
5137
+ };
4782
5138
  class Builder {
4783
5139
  _vseed;
4784
5140
  _advancedVSeed = null;
@@ -4794,6 +5150,7 @@
4794
5150
  getSpecPipeline = (chartType)=>Builder._specPipelineMap[chartType];
4795
5151
  getTheme = (themeKey)=>Builder._themeMap[themeKey];
4796
5152
  getThemeMap = ()=>Builder._themeMap;
5153
+ getColorItems = ()=>getColorItems(this);
4797
5154
  get vseed() {
4798
5155
  return this._vseed;
4799
5156
  }
@@ -4877,6 +5234,14 @@
4877
5234
  Builder._advancedPipelineMap.scatter = scatterAdvancedPipeline;
4878
5235
  Builder._specPipelineMap.scatter = scatterSpecPipeline;
4879
5236
  };
5237
+ const registerTable = ()=>{
5238
+ Builder._advancedPipelineMap.table = tableAdvancedPipeline;
5239
+ Builder._specPipelineMap.table = tableSpecPipeline;
5240
+ };
5241
+ const registerPivotTable = ()=>{
5242
+ Builder._advancedPipelineMap.pivotTable = pivotTableAdvancedPipeline;
5243
+ Builder._specPipelineMap.pivotTable = pivotTableSpecPipeline;
5244
+ };
4880
5245
  const lightTheme = ()=>{
4881
5246
  const linearAxis = {
4882
5247
  nice: true,
@@ -5465,6 +5830,8 @@
5465
5830
  registerRoseParallel();
5466
5831
  registerFunnel();
5467
5832
  registerScatter();
5833
+ registerTable();
5834
+ registerPivotTable();
5468
5835
  registerLightTheme();
5469
5836
  registerDarkTheme();
5470
5837
  };
@@ -8776,14 +9143,21 @@
8776
9143
  const zDimension = schemas_object({
8777
9144
  id: schemas_string(),
8778
9145
  alias: schemas_string().optional(),
8779
- visible: schemas_boolean().default(true).optional(),
8780
9146
  location: schemas_enum([
8781
9147
  'dimension',
8782
9148
  'rowDimension',
8783
9149
  'columnDimension'
8784
9150
  ]).default('dimension').optional()
8785
9151
  });
8786
- const zDimensions = schemas_array(zDimension).optional();
9152
+ const zDimensionGroup = schemas_object({
9153
+ id: schemas_string(),
9154
+ alias: schemas_string().optional(),
9155
+ get children () {
9156
+ return schemas_array(zDimensionGroup.or(zDimension)).optional();
9157
+ }
9158
+ });
9159
+ const zDimensions = schemas_array(zDimension);
9160
+ const zDimensionTree = schemas_array(zDimensionGroup.or(zDimension));
8787
9161
  const zNumFormat = schemas_object({
8788
9162
  type: schemas_enum([
8789
9163
  'number',
@@ -8827,7 +9201,8 @@
8827
9201
  return schemas_array(zMeasureGroup.or(zMeasure)).optional();
8828
9202
  }
8829
9203
  });
8830
- const zMeasures = schemas_array(zMeasureGroup.or(zMeasure)).optional();
9204
+ const zMeasures = schemas_array(zMeasure);
9205
+ const zMeasureTree = schemas_array(zMeasureGroup.or(zMeasure));
8831
9206
  const zFoldInfo = schemas_object({
8832
9207
  foldMap: record(schemas_string(), schemas_string().or(schemas_undefined())),
8833
9208
  measureId: schemas_string(),
@@ -9490,11 +9865,29 @@
9490
9865
  'zh-CN',
9491
9866
  'en-US'
9492
9867
  ]).default('zh-CN');
9868
+ const zTable = schemas_object({
9869
+ chartType: literal('table'),
9870
+ dataset: zDataset.optional(),
9871
+ dimensions: zDimensions.optional(),
9872
+ measures: zMeasureTree.optional(),
9873
+ backgroundColor: zBackgroundColor.optional(),
9874
+ theme: zTheme.optional(),
9875
+ locale: zLocale.optional()
9876
+ });
9877
+ const zPivotTable = schemas_object({
9878
+ chartType: literal('pivotTable'),
9879
+ dataset: zDataset.optional(),
9880
+ dimensions: zDimensions.optional(),
9881
+ measures: zMeasures.optional(),
9882
+ backgroundColor: zBackgroundColor.optional(),
9883
+ theme: zTheme.optional(),
9884
+ locale: zLocale.optional()
9885
+ });
9493
9886
  const zLine = schemas_object({
9494
9887
  chartType: literal('line'),
9495
9888
  dataset: zDataset.optional(),
9496
9889
  dimensions: zDimensions.optional(),
9497
- measures: zMeasures.optional(),
9890
+ measures: zMeasureTree.optional(),
9498
9891
  backgroundColor: zBackgroundColor.optional(),
9499
9892
  color: zColor.optional(),
9500
9893
  label: zLabel.optional(),
@@ -9516,7 +9909,7 @@
9516
9909
  chartType: literal('column'),
9517
9910
  dataset: zDataset.optional(),
9518
9911
  dimensions: zDimensions.optional(),
9519
- measures: zMeasures.optional(),
9912
+ measures: zMeasureTree.optional(),
9520
9913
  backgroundColor: zBackgroundColor.optional(),
9521
9914
  color: zColor.optional(),
9522
9915
  label: zLabel.optional(),
@@ -9538,7 +9931,7 @@
9538
9931
  chartType: literal('columnParallel'),
9539
9932
  dataset: zDataset.optional(),
9540
9933
  dimensions: zDimensions.optional(),
9541
- measures: zMeasures.optional(),
9934
+ measures: zMeasureTree.optional(),
9542
9935
  backgroundColor: zBackgroundColor.optional(),
9543
9936
  color: zColor.optional(),
9544
9937
  label: zLabel.optional(),
@@ -9560,7 +9953,7 @@
9560
9953
  chartType: literal('columnPercent'),
9561
9954
  dataset: zDataset.optional(),
9562
9955
  dimensions: zDimensions.optional(),
9563
- measures: zMeasures.optional(),
9956
+ measures: zMeasureTree.optional(),
9564
9957
  backgroundColor: zBackgroundColor.optional(),
9565
9958
  color: zColor.optional(),
9566
9959
  label: zLabel.optional(),
@@ -9582,7 +9975,7 @@
9582
9975
  chartType: literal('bar'),
9583
9976
  dataset: zDataset.optional(),
9584
9977
  dimensions: zDimensions.optional(),
9585
- measures: zMeasures.optional(),
9978
+ measures: zMeasureTree.optional(),
9586
9979
  backgroundColor: zBackgroundColor.optional(),
9587
9980
  color: zColor.optional(),
9588
9981
  label: zLabel.optional(),
@@ -9604,7 +9997,7 @@
9604
9997
  chartType: literal('barParallel'),
9605
9998
  dataset: zDataset.optional(),
9606
9999
  dimensions: zDimensions.optional(),
9607
- measures: zMeasures.optional(),
10000
+ measures: zMeasureTree.optional(),
9608
10001
  backgroundColor: zBackgroundColor.optional(),
9609
10002
  color: zColor.optional(),
9610
10003
  label: zLabel.optional(),
@@ -9626,7 +10019,7 @@
9626
10019
  chartType: literal('barPercent'),
9627
10020
  dataset: zDataset.optional(),
9628
10021
  dimensions: zDimensions.optional(),
9629
- measures: zMeasures.optional(),
10022
+ measures: zMeasureTree.optional(),
9630
10023
  backgroundColor: zBackgroundColor.optional(),
9631
10024
  color: zColor.optional(),
9632
10025
  label: zLabel.optional(),
@@ -9648,7 +10041,7 @@
9648
10041
  chartType: literal('area'),
9649
10042
  dataset: zDataset.optional(),
9650
10043
  dimensions: zDimensions.optional(),
9651
- measures: zMeasures.optional(),
10044
+ measures: zMeasureTree.optional(),
9652
10045
  backgroundColor: zBackgroundColor.optional(),
9653
10046
  color: zColor.optional(),
9654
10047
  label: zLabel.optional(),
@@ -9671,7 +10064,7 @@
9671
10064
  chartType: literal('areaPercent'),
9672
10065
  dataset: zDataset.optional(),
9673
10066
  dimensions: zDimensions.optional(),
9674
- measures: zMeasures.optional(),
10067
+ measures: zMeasureTree.optional(),
9675
10068
  backgroundColor: zBackgroundColor.optional(),
9676
10069
  color: zColor.optional(),
9677
10070
  label: zLabel.optional(),
@@ -9694,7 +10087,7 @@
9694
10087
  chartType: literal('rose'),
9695
10088
  dataset: zDataset.optional(),
9696
10089
  dimensions: zDimensions.optional(),
9697
- measures: zMeasures.optional(),
10090
+ measures: zMeasureTree.optional(),
9698
10091
  backgroundColor: zBackgroundColor.optional(),
9699
10092
  color: zColor.optional(),
9700
10093
  label: zLabel.optional(),
@@ -9707,7 +10100,7 @@
9707
10100
  chartType: literal('roseParallel'),
9708
10101
  dataset: zDataset.optional(),
9709
10102
  dimensions: zDimensions.optional(),
9710
- measures: zMeasures.optional(),
10103
+ measures: zMeasureTree.optional(),
9711
10104
  backgroundColor: zBackgroundColor.optional(),
9712
10105
  color: zColor.optional(),
9713
10106
  label: zLabel.optional(),
@@ -9720,7 +10113,7 @@
9720
10113
  chartType: literal('pie'),
9721
10114
  dataset: zDataset.optional(),
9722
10115
  dimensions: zDimensions.optional(),
9723
- measures: zMeasures.optional(),
10116
+ measures: zMeasureTree.optional(),
9724
10117
  backgroundColor: zBackgroundColor.optional(),
9725
10118
  color: zColor.optional(),
9726
10119
  label: zLabel.optional(),
@@ -9733,7 +10126,7 @@
9733
10126
  chartType: literal('donut'),
9734
10127
  dataset: zDataset.optional(),
9735
10128
  dimensions: zDimensions.optional(),
9736
- measures: zMeasures.optional(),
10129
+ measures: zMeasureTree.optional(),
9737
10130
  backgroundColor: zBackgroundColor.optional(),
9738
10131
  color: zColor.optional(),
9739
10132
  label: zLabel.optional(),
@@ -9746,7 +10139,7 @@
9746
10139
  chartType: literal('scatter'),
9747
10140
  dataset: zDataset.optional(),
9748
10141
  dimensions: zDimensions.optional(),
9749
- measures: zMeasures.optional(),
10142
+ measures: zMeasureTree.optional(),
9750
10143
  backgroundColor: zBackgroundColor.optional(),
9751
10144
  color: zColor.optional(),
9752
10145
  label: zLabel.optional(),
@@ -9767,7 +10160,7 @@
9767
10160
  chartType: literal('funnel'),
9768
10161
  dataset: zDataset.optional(),
9769
10162
  dimensions: zDimensions.optional(),
9770
- measures: zMeasures.optional(),
10163
+ measures: zMeasureTree.optional(),
9771
10164
  backgroundColor: zBackgroundColor.optional(),
9772
10165
  color: zColor.optional(),
9773
10166
  label: zLabel.optional(),
@@ -9777,6 +10170,8 @@
9777
10170
  locale: zLocale.optional()
9778
10171
  });
9779
10172
  const zVSeed = discriminatedUnion('chartType', [
10173
+ zTable,
10174
+ zPivotTable,
9780
10175
  zLine,
9781
10176
  zColumn,
9782
10177
  zColumnParallel,
@@ -9797,8 +10192,8 @@
9797
10192
  chartType: zChartType,
9798
10193
  dataset: zDataset,
9799
10194
  datasetReshapeInfo: zDatasetReshapeInfo,
9800
- dimensions: zDimensions,
9801
- measures: zMeasures,
10195
+ dimensions: zDimensionTree,
10196
+ measures: zMeasureTree,
9802
10197
  encoding: zEncoding,
9803
10198
  config: zConfig,
9804
10199
  theme: zTheme,