@visactor/vseed 0.0.40 → 0.1.1
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.
- package/dist/builder/builder/builder.d.ts +61 -671
- package/dist/builder/register/chartType/index.d.ts +0 -1
- package/dist/dataReshape/constant.d.ts +17 -2
- package/dist/dataReshape/dataReshapeByEncoding.d.ts +11 -0
- package/dist/dataReshape/index.d.ts +3 -7
- package/dist/dataReshape/unfoldDimensions.d.ts +12 -14
- package/dist/index.cjs +1184 -1891
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1106 -1822
- package/dist/index.js.map +1 -1
- package/dist/pipeline/advanced/chart/pipeline/index.d.ts +0 -1
- package/dist/pipeline/advanced/chart/pipes/analysis/index.d.ts +3 -1
- package/dist/pipeline/advanced/chart/pipes/analysis/sort.d.ts +0 -4
- package/dist/pipeline/advanced/chart/pipes/{encoding/encodingAR.d.ts → analysis/sortLegend.d.ts} +1 -1
- package/dist/pipeline/advanced/chart/pipes/analysis/sortXBand.d.ts +3 -0
- package/dist/pipeline/advanced/chart/pipes/{encoding/encodingPie.d.ts → analysis/sortYBand.d.ts} +1 -1
- package/dist/pipeline/advanced/chart/pipes/encoding/{encodingFunnel.d.ts → bar.d.ts} +1 -1
- package/dist/pipeline/advanced/chart/pipes/encoding/{encodingAreaRange.d.ts → column.d.ts} +1 -1
- package/dist/pipeline/advanced/chart/pipes/encoding/dualAxis.d.ts +2 -0
- package/dist/pipeline/advanced/chart/pipes/encoding/funnel.d.ts +2 -0
- package/dist/pipeline/advanced/chart/pipes/encoding/heatmap.d.ts +2 -0
- package/dist/pipeline/advanced/chart/pipes/encoding/index.d.ts +8 -9
- package/dist/pipeline/advanced/chart/pipes/encoding/{encodingMatrix.d.ts → pie.d.ts} +1 -1
- package/dist/pipeline/advanced/chart/pipes/encoding/radar.d.ts +2 -0
- package/dist/pipeline/advanced/chart/pipes/encoding/rose.d.ts +2 -0
- package/dist/pipeline/advanced/chart/pipes/encoding/scatter.d.ts +2 -0
- package/dist/pipeline/advanced/chart/pipes/init/autoScatterMeasures.d.ts +2 -0
- package/dist/pipeline/advanced/chart/pipes/init/index.d.ts +2 -1
- package/dist/pipeline/advanced/chart/pipes/reshape/index.d.ts +4 -12
- package/dist/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.d.ts +2 -0
- package/dist/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.d.ts +2 -0
- package/dist/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.d.ts +2 -0
- package/dist/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.d.ts +2 -0
- package/dist/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.d.ts +2 -0
- package/dist/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.d.ts +2 -0
- package/dist/pipeline/spec/chart/pipeline/index.d.ts +0 -1
- package/dist/pipeline/spec/chart/pipes/color/index.d.ts +0 -1
- package/dist/pipeline/spec/chart/pipes/{color/linearColor.d.ts → dataset/datasetScatter.d.ts} +1 -1
- package/dist/pipeline/spec/chart/pipes/dataset/index.d.ts +1 -0
- package/dist/pipeline/spec/chart/pipes/init/index.d.ts +1 -2
- package/dist/pipeline/spec/chart/pipes/legend/index.d.ts +0 -1
- package/dist/pipeline/spec/chart/pipes/tooltip/index.d.ts +0 -1
- package/dist/types/advancedVSeed.d.ts +26 -311
- package/dist/types/chartType/area/area.d.ts +13 -1
- package/dist/types/chartType/area/zArea.d.ts +14 -0
- package/dist/types/chartType/areaPercent/areaPercent.d.ts +13 -1
- package/dist/types/chartType/areaPercent/zAreaPercent.d.ts +14 -0
- package/dist/types/chartType/bar/bar.d.ts +22 -30
- package/dist/types/chartType/bar/zBar.d.ts +14 -0
- package/dist/types/chartType/barParallel/barParallel.d.ts +21 -30
- package/dist/types/chartType/barParallel/zBarParallel.d.ts +14 -0
- package/dist/types/chartType/barPercent/barPercent.d.ts +19 -21
- package/dist/types/chartType/barPercent/zBarPercent.d.ts +14 -0
- package/dist/types/chartType/column/column.d.ts +19 -28
- package/dist/types/chartType/column/zColumn.d.ts +14 -0
- package/dist/types/chartType/columnParallel/columnParallel.d.ts +22 -27
- package/dist/types/chartType/columnParallel/zColumnParallel.d.ts +14 -0
- package/dist/types/chartType/columnPercent/columnPercent.d.ts +19 -25
- package/dist/types/chartType/columnPercent/zColumnPercent.d.ts +14 -0
- package/dist/types/chartType/donut/donut.d.ts +12 -1
- package/dist/types/chartType/donut/zDonut.d.ts +14 -0
- package/dist/types/chartType/dualAxis/dualAxis.d.ts +13 -1
- package/dist/types/chartType/funnel/funnel.d.ts +12 -1
- package/dist/types/chartType/funnel/zFunnel.d.ts +14 -0
- package/dist/types/chartType/heatmap/heatmap.d.ts +13 -1
- package/dist/types/chartType/index.d.ts +0 -1
- package/dist/types/chartType/line/line.d.ts +17 -10
- package/dist/types/chartType/line/zLine.d.ts +14 -0
- package/dist/types/chartType/pie/pie.d.ts +12 -1
- package/dist/types/chartType/pie/zPie.d.ts +14 -0
- package/dist/types/chartType/radar/radar.d.ts +13 -1
- package/dist/types/chartType/radar/zRadar.d.ts +14 -0
- package/dist/types/chartType/rose/rose.d.ts +13 -1
- package/dist/types/chartType/rose/zRose.d.ts +14 -0
- package/dist/types/chartType/roseParallel/roseParallel.d.ts +13 -1
- package/dist/types/chartType/roseParallel/zRoseParallel.d.ts +14 -0
- package/dist/types/chartType/scatter/scatter.d.ts +92 -5
- package/dist/types/chartType/scatter/zScatter.d.ts +155 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/properties/chartType/chartType.d.ts +1 -3
- package/dist/types/properties/config/config.d.ts +0 -307
- package/dist/types/properties/datasetReshapeInfo/datasetReshapeInfo.d.ts +13 -38
- package/dist/types/properties/datasetReshapeInfo/index.d.ts +1 -1
- package/dist/types/properties/datasetReshapeInfo/zDatasetReshapeInfo.d.ts +43 -0
- package/dist/types/properties/encoding/encoding.d.ts +49 -16
- package/dist/types/properties/encoding/index.d.ts +2 -2
- package/dist/types/properties/encoding/zEncoding.d.ts +29 -0
- package/dist/types/properties/measures/index.d.ts +4 -2
- package/dist/types/properties/measures/scatterMeasures.d.ts +6 -0
- package/dist/types/properties/measures/zScatterMeasures.d.ts +283 -0
- package/dist/types/properties/theme/customTheme.d.ts +0 -306
- package/dist/types/vseed.d.ts +2 -16816
- package/dist/types/zVseed.d.ts +15738 -0
- package/dist/umd/index.js +1134 -1847
- package/dist/umd/index.js.map +1 -1
- package/package.json +13 -5
- package/dist/builder/register/chartType/areaRange.d.ts +0 -1
- package/dist/dataReshape/dataReshapeFor1D.d.ts +0 -19
- package/dist/dataReshape/dataReshapeFor1D1M.d.ts +0 -19
- package/dist/dataReshape/dataReshapeFor1D2M.d.ts +0 -19
- package/dist/dataReshape/dataReshapeFor2D1M.d.ts +0 -19
- package/dist/dataReshape/dataReshapeFor2D1M0Name.d.ts +0 -19
- package/dist/dataReshape/unfoldZeroDimensions.d.ts +0 -10
- package/dist/pipeline/advanced/chart/pipeline/areaRange.d.ts +0 -2
- package/dist/pipeline/advanced/chart/pipes/encoding/encodingRose.d.ts +0 -2
- package/dist/pipeline/advanced/chart/pipes/encoding/encodingXY.d.ts +0 -2
- package/dist/pipeline/advanced/chart/pipes/encoding/encodingXYY.d.ts +0 -2
- package/dist/pipeline/advanced/chart/pipes/encoding/encodingYX.d.ts +0 -2
- package/dist/pipeline/advanced/chart/pipes/encoding/encodingYY.d.ts +0 -2
- package/dist/pipeline/advanced/chart/pipes/init/autoMeasuresBy2M1Group.d.ts +0 -8
- package/dist/pipeline/advanced/chart/pipes/reshape/pivotReshapeTo1D.d.ts +0 -8
- package/dist/pipeline/advanced/chart/pipes/reshape/pivotReshapeTo1D1M.d.ts +0 -8
- package/dist/pipeline/advanced/chart/pipes/reshape/pivotReshapeTo1D2M.d.ts +0 -8
- package/dist/pipeline/advanced/chart/pipes/reshape/pivotReshapeTo2D1M.d.ts +0 -8
- package/dist/pipeline/advanced/chart/pipes/reshape/pivotReshapeTo2D1M0Name.d.ts +0 -8
- package/dist/pipeline/advanced/chart/pipes/reshape/pivotReshapeTo2D2M.d.ts +0 -8
- package/dist/pipeline/advanced/chart/pipes/reshape/reshapeTo1D.d.ts +0 -8
- package/dist/pipeline/advanced/chart/pipes/reshape/reshapeTo1D1M.d.ts +0 -8
- package/dist/pipeline/advanced/chart/pipes/reshape/reshapeTo1D2M.d.ts +0 -8
- package/dist/pipeline/advanced/chart/pipes/reshape/reshapeTo2D1M.d.ts +0 -8
- package/dist/pipeline/advanced/chart/pipes/reshape/reshapeTo2D1M0Name.d.ts +0 -8
- package/dist/pipeline/advanced/chart/pipes/reshape/reshapeTo2D2M.d.ts +0 -8
- package/dist/pipeline/spec/chart/pipeline/areaRange.d.ts +0 -1
- package/dist/pipeline/spec/chart/pipes/init/areaRange.d.ts +0 -4
- package/dist/pipeline/spec/chart/pipes/legend/colorLegend.d.ts +0 -2
- package/dist/pipeline/spec/chart/pipes/tooltip/tooltipAreaRange.d.ts +0 -2
- package/dist/types/chartType/areaRange/areaRange.d.ts +0 -151
- package/dist/types/chartType/areaRange/index.d.ts +0 -2
- package/dist/types/chartType/areaRange/zAreaRange.d.ts +0 -1427
- /package/dist/pipeline/spec/chart/pipes/init/{initDualAxis.d.ts → dualAxis.d.ts} +0 -0
package/dist/index.cjs
CHANGED
@@ -34,14 +34,16 @@ __webpack_require__.d(__webpack_exports__, {
|
|
34
34
|
isTable: ()=>isTable,
|
35
35
|
zDonut: ()=>zDonut,
|
36
36
|
zDualMeasures: ()=>zDualMeasures,
|
37
|
-
|
37
|
+
XEncoding: ()=>XEncoding,
|
38
38
|
findFirstMeasure: ()=>findFirstMeasure,
|
39
39
|
scatterAdvancedPipeline: ()=>scatterAdvancedPipeline,
|
40
|
+
zPie: ()=>zPie,
|
40
41
|
zRoseConfig: ()=>zRoseConfig,
|
41
42
|
updateSpec: ()=>updateSpec,
|
42
43
|
zCrosshairRect: ()=>zCrosshairRect,
|
43
44
|
scatterSpecPipeline: ()=>scatterSpecPipeline,
|
44
45
|
intl: ()=>intl,
|
46
|
+
zScatterMeasures: ()=>zScatterMeasures,
|
45
47
|
columnPercentAdvancedPipeline: ()=>columnPercentAdvancedPipeline,
|
46
48
|
zColumnConfig: ()=>zColumnConfig,
|
47
49
|
zAnnotation: ()=>zAnnotation,
|
@@ -51,12 +53,11 @@ __webpack_require__.d(__webpack_exports__, {
|
|
51
53
|
pivotTableAdvancedPipeline: ()=>pivotTableAdvancedPipeline,
|
52
54
|
isMeasures: ()=>isMeasures,
|
53
55
|
zYBandAxis: ()=>zYBandAxis,
|
54
|
-
dataReshapeFor1D2M: ()=>dataReshapeFor1D2M,
|
55
56
|
zAnnotationHorizontalLine: ()=>zAnnotationHorizontalLine,
|
57
|
+
zYLinearAxis: ()=>zYLinearAxis,
|
56
58
|
zMarkStyle: ()=>zMarkStyle,
|
57
59
|
registerFunnel: ()=>registerFunnel,
|
58
60
|
Separator: ()=>Separator,
|
59
|
-
zYLinearAxis: ()=>zYLinearAxis,
|
60
61
|
columnAdvancedPipeline: ()=>columnAdvancedPipeline,
|
61
62
|
zLabel: ()=>zLabel,
|
62
63
|
registerColumn: ()=>registerColumn,
|
@@ -69,16 +70,16 @@ __webpack_require__.d(__webpack_exports__, {
|
|
69
70
|
zDimensionTree: ()=>zDimensionTree,
|
70
71
|
roseParallelSpecPipeline: ()=>roseParallelSpecPipeline,
|
71
72
|
zLineStyle: ()=>zLineStyle,
|
72
|
-
dataReshapeFor1D1M: ()=>dataReshapeFor1D1M,
|
73
73
|
registerArea: ()=>registerArea,
|
74
74
|
zRoseParallel: ()=>zRoseParallel,
|
75
|
+
MeasureName: ()=>MeasureName,
|
75
76
|
zDataset: ()=>zDataset,
|
76
77
|
UnfoldDimensionGroupId: ()=>UnfoldDimensionGroupId,
|
77
78
|
zNumFormat: ()=>zNumFormat,
|
78
79
|
barPercentAdvancedPipeline: ()=>barPercentAdvancedPipeline,
|
79
80
|
findAllDimensions: ()=>findAllDimensions,
|
81
|
+
FoldYMeasureValue: ()=>FoldYMeasureValue,
|
80
82
|
findDimensionById: ()=>findDimensionById,
|
81
|
-
zAreaRangeConfig: ()=>zAreaRangeConfig,
|
82
83
|
zPivotTableConfig: ()=>zPivotTableConfig,
|
83
84
|
zArea: ()=>zArea,
|
84
85
|
zColumnParallel: ()=>zColumnParallel,
|
@@ -90,25 +91,26 @@ __webpack_require__.d(__webpack_exports__, {
|
|
90
91
|
registerAreaPercent: ()=>registerAreaPercent,
|
91
92
|
zHeatmap: ()=>zHeatmap,
|
92
93
|
zBarPercent: ()=>zBarPercent,
|
94
|
+
zScatterMeasure: ()=>zScatterMeasure,
|
93
95
|
zTheme: ()=>zTheme,
|
94
96
|
zDatum: ()=>zDatum,
|
95
97
|
barAdvancedPipeline: ()=>barAdvancedPipeline,
|
96
98
|
zCustomThemeConfig: ()=>zCustomThemeConfig,
|
97
99
|
registerColumnPercent: ()=>registerColumnPercent,
|
98
100
|
registerHeatmap: ()=>registerHeatmap,
|
99
|
-
registerAreaRange: ()=>registerAreaRange,
|
100
|
-
roseSpecPipeline: ()=>roseSpecPipeline,
|
101
|
-
dataReshapeFor2D1M0Name: ()=>dataReshapeFor2D1M0Name,
|
102
101
|
registerBarPercent: ()=>registerBarPercent,
|
102
|
+
roseSpecPipeline: ()=>roseSpecPipeline,
|
103
|
+
ColorIdEncoding: ()=>ColorIdEncoding,
|
104
|
+
zCrosshairLine: ()=>zCrosshairLine,
|
103
105
|
registerLightTheme: ()=>registerLightTheme,
|
104
106
|
roseAdvancedPipeline: ()=>roseAdvancedPipeline,
|
105
107
|
zBarParallel: ()=>zBarParallel,
|
106
108
|
registerDarkTheme: ()=>registerDarkTheme,
|
107
109
|
registerPivotTable: ()=>registerPivotTable,
|
108
110
|
isPartialDatumSelector: ()=>isPartialDatumSelector,
|
111
|
+
pieSpecPipeline: ()=>pieSpecPipeline,
|
109
112
|
isDimensionGroup: ()=>isDimensionGroup,
|
110
113
|
dualAxisSpecPipeline: ()=>dualAxisSpecPipeline,
|
111
|
-
pieSpecPipeline: ()=>pieSpecPipeline,
|
112
114
|
tableAdvancedPipeline: ()=>tableAdvancedPipeline,
|
113
115
|
barSpecPipeline: ()=>barSpecPipeline,
|
114
116
|
zAnnotationVerticalLine: ()=>zAnnotationVerticalLine,
|
@@ -117,15 +119,15 @@ __webpack_require__.d(__webpack_exports__, {
|
|
117
119
|
unfoldDimensions: ()=>unfoldDimensions,
|
118
120
|
roseParallelAdvancedPipeline: ()=>roseParallelAdvancedPipeline,
|
119
121
|
registerTable: ()=>registerTable,
|
120
|
-
|
122
|
+
Builder: ()=>Builder,
|
121
123
|
isMeasureGroup: ()=>isMeasureGroup,
|
122
|
-
|
124
|
+
YEncoding: ()=>YEncoding,
|
123
125
|
registerAll: ()=>registerAll,
|
124
126
|
registerBar: ()=>registerBar,
|
125
127
|
isVChart: ()=>isVChart,
|
126
128
|
radarSpecPipeline: ()=>radarSpecPipeline,
|
127
|
-
|
128
|
-
|
129
|
+
findFirstDimension: ()=>findFirstDimension,
|
130
|
+
autoFormatter: ()=>autoFormatter,
|
129
131
|
zMeasureTree: ()=>zMeasureTree,
|
130
132
|
zPieConfig: ()=>zPieConfig,
|
131
133
|
registerLine: ()=>registerLine,
|
@@ -159,8 +161,9 @@ __webpack_require__.d(__webpack_exports__, {
|
|
159
161
|
zRadarConfig: ()=>zRadarConfig,
|
160
162
|
zAnnotationArea: ()=>zAnnotationArea,
|
161
163
|
zStackCornerRadius: ()=>zStackCornerRadius,
|
162
|
-
|
164
|
+
DetailEncoding: ()=>DetailEncoding,
|
163
165
|
zRose: ()=>zRose,
|
166
|
+
zUnfoldInfo: ()=>zUnfoldInfo,
|
164
167
|
columnParallelSpecPipeline: ()=>columnParallelSpecPipeline,
|
165
168
|
i18n: ()=>i18n,
|
166
169
|
zPointStyle: ()=>zPointStyle,
|
@@ -182,30 +185,30 @@ __webpack_require__.d(__webpack_exports__, {
|
|
182
185
|
FoldPrimaryMeasureValue: ()=>FoldPrimaryMeasureValue,
|
183
186
|
zTableConfig: ()=>zTableConfig,
|
184
187
|
zXBandAxis: ()=>zXBandAxis,
|
185
|
-
dataReshapeFor1D: ()=>dataReshapeFor1D,
|
186
188
|
zColumnPercentConfig: ()=>zColumnPercentConfig,
|
187
189
|
findMeasureById: ()=>findMeasureById,
|
188
190
|
zVSeed: ()=>zVSeed,
|
191
|
+
AngleEncoding: ()=>AngleEncoding,
|
189
192
|
areaPercentAdvancedPipeline: ()=>areaPercentAdvancedPipeline,
|
190
193
|
radarAdvancedPipeline: ()=>radarAdvancedPipeline,
|
191
|
-
zBackgroundColor: ()=>zBackgroundColor,
|
192
194
|
zAreaPercentConfig: ()=>zAreaPercentConfig,
|
195
|
+
zBackgroundColor: ()=>zBackgroundColor,
|
193
196
|
registerBarParallel: ()=>registerBarParallel,
|
194
197
|
registerRadar: ()=>registerRadar,
|
195
|
-
|
198
|
+
zEncodings: ()=>zEncodings,
|
196
199
|
isDimension: ()=>isDimension,
|
197
200
|
pivotTableSpecPipeline: ()=>pivotTableSpecPipeline,
|
198
|
-
|
199
|
-
|
201
|
+
zLocale: ()=>zLocale,
|
202
|
+
FoldXMeasureValue: ()=>FoldXMeasureValue,
|
200
203
|
dualAxisAdvancedPipeline: ()=>dualAxisAdvancedPipeline,
|
201
204
|
registerScatter: ()=>registerScatter,
|
202
|
-
|
203
|
-
|
205
|
+
zEncoding: ()=>zEncoding,
|
206
|
+
ColorEncoding: ()=>ColorEncoding,
|
204
207
|
autoNumFormatter: ()=>autoNumFormatter,
|
205
|
-
|
208
|
+
measureDepth: ()=>measureDepth,
|
206
209
|
tableSpecPipeline: ()=>tableSpecPipeline,
|
210
|
+
zAdvancedVSeed: ()=>zAdvancedVSeed,
|
207
211
|
zConfig: ()=>zConfig,
|
208
|
-
zEncoding: ()=>zEncoding,
|
209
212
|
zBarStyle: ()=>zBarStyle,
|
210
213
|
zMeasure: ()=>zMeasure,
|
211
214
|
zRoseParallelConfig: ()=>zRoseParallelConfig,
|
@@ -216,20 +219,20 @@ __webpack_require__.d(__webpack_exports__, {
|
|
216
219
|
donutAdvancedPipeline: ()=>donutAdvancedPipeline,
|
217
220
|
zColumnPercent: ()=>zColumnPercent,
|
218
221
|
registerPie: ()=>registerPie,
|
219
|
-
dataReshapeFor2D1M: ()=>dataReshapeFor2D1M,
|
220
222
|
foldMeasures: ()=>foldMeasures,
|
221
223
|
isPivotTable: ()=>isPivotTable,
|
222
224
|
zFunnel: ()=>zFunnel,
|
223
225
|
zScatter: ()=>zScatter,
|
226
|
+
zScatterConfig: ()=>zScatterConfig,
|
224
227
|
zBarParallelConfig: ()=>zBarParallelConfig,
|
225
228
|
barParallelAdvancedPipeline: ()=>barParallelAdvancedPipeline,
|
226
229
|
FoldMeasureValue: ()=>FoldMeasureValue,
|
227
230
|
barPercentSpecPipeline: ()=>barPercentSpecPipeline,
|
228
231
|
lineAdvancedPipeline: ()=>lineAdvancedPipeline,
|
229
|
-
|
232
|
+
dataReshapeByEncoding: ()=>dataReshapeByEncoding,
|
230
233
|
lineSpecPipeline: ()=>lineSpecPipeline,
|
231
234
|
isDimensions: ()=>isDimensions,
|
232
|
-
|
235
|
+
zBarPercentConfig: ()=>zBarPercentConfig,
|
233
236
|
createFormatter: ()=>createFormatter,
|
234
237
|
zDimensionGroup: ()=>zDimensionGroup,
|
235
238
|
isMeasureSelector: ()=>isMeasureSelector,
|
@@ -1320,13 +1323,26 @@ const isVTable = (vseed)=>[
|
|
1320
1323
|
const isVChart = (vseed)=>!isVTable(vseed);
|
1321
1324
|
const isPivotChart = (vseed)=>{
|
1322
1325
|
if (isVTable(vseed)) return false;
|
1323
|
-
if ('dualAxis' === vseed.chartType) {
|
1324
|
-
|
1325
|
-
|
1326
|
-
|
1327
|
-
|
1326
|
+
if ('dualAxis' === vseed.chartType || 'scatter' === vseed.chartType) {
|
1327
|
+
const { dimensions = [] } = vseed;
|
1328
|
+
const hasRowOrColumnDimension = dimensions && dimensions.some((dimension)=>'rowDimension' === dimension.location || 'columnDimension' === dimension.location);
|
1329
|
+
if (hasRowOrColumnDimension) return true;
|
1330
|
+
if ('scatter' === vseed.chartType) {
|
1331
|
+
if (vseed.measures) {
|
1332
|
+
const depth = measureDepth(vseed.measures);
|
1333
|
+
if (3 === depth) return true;
|
1334
|
+
return false;
|
1335
|
+
}
|
1336
|
+
if (vseed.scatterMeasures && vseed.scatterMeasures.length > 1) return true;
|
1337
|
+
}
|
1338
|
+
if ('dualAxis' === vseed.chartType) {
|
1339
|
+
if (vseed.measures) {
|
1340
|
+
const depth = measureDepth(vseed.measures);
|
1341
|
+
if (3 === depth) return true;
|
1342
|
+
return false;
|
1343
|
+
}
|
1344
|
+
if (vseed.dualMeasures && vseed.dualMeasures.length > 1) return true;
|
1328
1345
|
}
|
1329
|
-
if (vseed.dualMeasures && vseed.dualMeasures.length > 1) return true;
|
1330
1346
|
return false;
|
1331
1347
|
}
|
1332
1348
|
const { measures = [], dimensions = [] } = vseed;
|
@@ -1405,6 +1421,24 @@ const createEmptyMeasureGroup = ()=>({
|
|
1405
1421
|
alias: '',
|
1406
1422
|
children: []
|
1407
1423
|
});
|
1424
|
+
const ORIGINAL_DATA = '__OriginalData__';
|
1425
|
+
const Separator = '-';
|
1426
|
+
const FoldMeasureName = '__MeaName__';
|
1427
|
+
const FoldMeasureId = '__MeaId__';
|
1428
|
+
const FoldMeasureValue = '__MeaValue__';
|
1429
|
+
const MeasureName = FoldMeasureName;
|
1430
|
+
const FoldPrimaryMeasureValue = '__MeaPrimaryValue__';
|
1431
|
+
const FoldSecondaryMeasureValue = '__MeaSecondaryValue__';
|
1432
|
+
const FoldXMeasureValue = '__MeaXValue__';
|
1433
|
+
const FoldYMeasureValue = '__MeaYValue__';
|
1434
|
+
const XEncoding = '__Dim_X__';
|
1435
|
+
const YEncoding = '__Dim_Y__';
|
1436
|
+
const AngleEncoding = '__Dim_Angle__';
|
1437
|
+
const DetailEncoding = '__Dim_Detail__';
|
1438
|
+
const ColorEncoding = '__Dim_Color__';
|
1439
|
+
const ColorIdEncoding = '__Dim_ColorId__';
|
1440
|
+
const UnfoldDimensionGroup = '__DimGroup__';
|
1441
|
+
const UnfoldDimensionGroupId = '__DimGroupID__';
|
1408
1442
|
const autoDimensions_autoDimensions = (advancedVSeed, context)=>{
|
1409
1443
|
const result = {
|
1410
1444
|
...advancedVSeed
|
@@ -1412,6 +1446,10 @@ const autoDimensions_autoDimensions = (advancedVSeed, context)=>{
|
|
1412
1446
|
const { vseed } = context;
|
1413
1447
|
const { dimensions, dataset } = vseed;
|
1414
1448
|
const measures = findAllMeasures(advancedVSeed.measures);
|
1449
|
+
const MeaName = {
|
1450
|
+
id: MeasureName,
|
1451
|
+
alias: intl.i18n`指标名称`
|
1452
|
+
};
|
1415
1453
|
if (!dataset) throw new Error('dataset is required');
|
1416
1454
|
if (0 === dataset.length) return result;
|
1417
1455
|
if (dimensions) {
|
@@ -1419,6 +1457,8 @@ const autoDimensions_autoDimensions = (advancedVSeed, context)=>{
|
|
1419
1457
|
location: 'dimension',
|
1420
1458
|
...dim
|
1421
1459
|
}));
|
1460
|
+
if (result.dimensions.some((dim)=>dim.id === MeasureName)) return result;
|
1461
|
+
result.dimensions.push(MeaName);
|
1422
1462
|
return result;
|
1423
1463
|
}
|
1424
1464
|
const top100dataset = dataset.slice(0, 100);
|
@@ -1435,23 +1475,57 @@ const autoDimensions_autoDimensions = (advancedVSeed, context)=>{
|
|
1435
1475
|
alias: dim,
|
1436
1476
|
location: 'dimension'
|
1437
1477
|
}));
|
1478
|
+
result.dimensions.push(MeaName);
|
1438
1479
|
return result;
|
1439
1480
|
};
|
1481
|
+
const encodingForColumn = (advancedVSeed, context)=>{
|
1482
|
+
const { vseed } = context;
|
1483
|
+
const { dimensions } = advancedVSeed;
|
1484
|
+
if (!dimensions) return advancedVSeed;
|
1485
|
+
const encoding = vseed.encoding;
|
1486
|
+
if (encoding) {
|
1487
|
+
const x = encoding.x || [
|
1488
|
+
dimensions[0].id
|
1489
|
+
];
|
1490
|
+
const color = encoding.color || [
|
1491
|
+
(dimensions[1] || dimensions[0]).id
|
1492
|
+
];
|
1493
|
+
const detail = encoding.detail || [];
|
1494
|
+
const mergedDetail = (0, external_remeda_namespaceObject.unique)([
|
1495
|
+
...color,
|
1496
|
+
...detail
|
1497
|
+
]);
|
1498
|
+
return {
|
1499
|
+
...advancedVSeed,
|
1500
|
+
encoding: {
|
1501
|
+
...encoding,
|
1502
|
+
x,
|
1503
|
+
color,
|
1504
|
+
detail: mergedDetail
|
1505
|
+
}
|
1506
|
+
};
|
1507
|
+
}
|
1508
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
1509
|
+
const mergedEncoding = {
|
1510
|
+
x: dimensions.slice(0, 1).map((item)=>item.id),
|
1511
|
+
color: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
1512
|
+
detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
1513
|
+
tooltip: dimensions.map((item)=>item.id),
|
1514
|
+
label: [],
|
1515
|
+
row: [],
|
1516
|
+
column: []
|
1517
|
+
};
|
1518
|
+
return {
|
1519
|
+
...advancedVSeed,
|
1520
|
+
encoding: mergedEncoding
|
1521
|
+
};
|
1522
|
+
};
|
1440
1523
|
const pivotAdapter = (pipeline, pivotPipeline)=>(advancedVSeed, context)=>{
|
1441
1524
|
const { vseed } = context;
|
1442
1525
|
const usePivotChart = isPivotChart(vseed);
|
1443
1526
|
if (usePivotChart) return execPipeline(pivotPipeline, context, advancedVSeed);
|
1444
1527
|
return execPipeline(pipeline, context, advancedVSeed);
|
1445
1528
|
};
|
1446
|
-
const FoldMeasureName = '__MeaName__';
|
1447
|
-
const FoldMeasureId = '__MeaId__';
|
1448
|
-
const FoldMeasureValue = '__MeaValue__';
|
1449
|
-
const FoldPrimaryMeasureValue = '__MeaPrimaryValue__';
|
1450
|
-
const FoldSecondaryMeasureValue = '__MeaSecondaryValue__';
|
1451
|
-
const UnfoldDimensionGroup = '__DimGroup__';
|
1452
|
-
const UnfoldDimensionGroupId = '__DimGroupID__';
|
1453
|
-
const Separator = '-';
|
1454
|
-
const ORIGINAL_DATA = '__OriginalData__';
|
1455
1529
|
const foldMeasures = (dataset, measures, measureId = FoldMeasureId, measureName = FoldMeasureName, measureValue = FoldMeasureValue)=>{
|
1456
1530
|
const foldInfo = {
|
1457
1531
|
measureId,
|
@@ -1481,84 +1555,53 @@ const foldMeasures = (dataset, measures, measureId = FoldMeasureId, measureName
|
|
1481
1555
|
foldInfo
|
1482
1556
|
};
|
1483
1557
|
};
|
1484
|
-
const unfoldDimensions = (dataset, dimensions,
|
1485
|
-
|
1486
|
-
const dimensionsToBeUnfolded = dimensions.slice(unfoldStartIndex);
|
1487
|
-
const dimensionsToBeRemain = dimensions.slice(0, unfoldStartIndex);
|
1558
|
+
const unfoldDimensions = (dataset, dimensions, encoding, options)=>{
|
1559
|
+
const { foldMeasureId, separator, colorItemAsId } = options;
|
1488
1560
|
const unfoldInfo = {
|
1489
|
-
|
1490
|
-
|
1561
|
+
encodingAngle: AngleEncoding,
|
1562
|
+
encodingX: XEncoding,
|
1563
|
+
encodingY: YEncoding,
|
1564
|
+
encodingDetail: DetailEncoding,
|
1565
|
+
encodingColor: ColorEncoding,
|
1566
|
+
encodingColorId: ColorIdEncoding,
|
1491
1567
|
colorItems: [],
|
1492
1568
|
colorIdMap: {}
|
1493
1569
|
};
|
1494
|
-
|
1495
|
-
|
1496
|
-
|
1497
|
-
|
1498
|
-
|
1499
|
-
|
1500
|
-
|
1501
|
-
|
1502
|
-
};
|
1503
|
-
const colorItems = [];
|
1504
|
-
const colorMap = {};
|
1570
|
+
const { color, x, y, detail, angle } = encoding;
|
1571
|
+
const angleDimensions = angle ? dimensions.filter((dim)=>angle.includes(dim.id)) : [];
|
1572
|
+
const xDimensions = x ? dimensions.filter((dim)=>x.includes(dim.id)) : [];
|
1573
|
+
const yDimensions = y ? dimensions.filter((dim)=>y.includes(dim.id)) : [];
|
1574
|
+
const colorDimensions = color ? dimensions.filter((dim)=>color.includes(dim.id)) : [];
|
1575
|
+
const detailDimensions = detail ? dimensions.filter((dim)=>detail.includes(dim.id)) : [];
|
1576
|
+
const colorItems = new Set();
|
1577
|
+
const colorIdMap = {};
|
1505
1578
|
for(let i = 0; i < dataset.length; i++){
|
1506
1579
|
const datum = dataset[i];
|
1507
|
-
|
1508
|
-
|
1509
|
-
|
1510
|
-
|
1511
|
-
|
1512
|
-
datum[
|
1513
|
-
datum[
|
1514
|
-
|
1515
|
-
|
1516
|
-
|
1517
|
-
|
1518
|
-
|
1519
|
-
|
1580
|
+
applyEncoding(AngleEncoding, angleDimensions, datum, separator);
|
1581
|
+
applyEncoding(XEncoding, xDimensions, datum, separator);
|
1582
|
+
applyEncoding(YEncoding, yDimensions, datum, separator);
|
1583
|
+
applyEncoding(ColorEncoding, colorDimensions, datum, separator);
|
1584
|
+
applyEncoding(DetailEncoding, detailDimensions, datum, separator);
|
1585
|
+
if (!datum[ColorEncoding]) continue;
|
1586
|
+
const measureId = String(datum[foldMeasureId]);
|
1587
|
+
const colorItem = String(datum[ColorEncoding]);
|
1588
|
+
const colorId = colorItemAsId ? colorItem : measureId ? [
|
1589
|
+
colorItem,
|
1590
|
+
measureId
|
1591
|
+
].join(separator) : colorItem;
|
1592
|
+
datum[ColorIdEncoding] = colorId;
|
1593
|
+
colorIdMap[colorId] = colorItem;
|
1594
|
+
colorItems.add(colorId);
|
1520
1595
|
}
|
1521
|
-
unfoldInfo.colorItems =
|
1522
|
-
unfoldInfo.colorIdMap =
|
1596
|
+
unfoldInfo.colorItems = Array.from(colorItems);
|
1597
|
+
unfoldInfo.colorIdMap = colorIdMap;
|
1523
1598
|
return {
|
1524
1599
|
dataset,
|
1525
1600
|
unfoldInfo
|
1526
1601
|
};
|
1527
1602
|
};
|
1528
|
-
const
|
1529
|
-
|
1530
|
-
const unfoldInfo = {
|
1531
|
-
groupName: unfoldGroupName,
|
1532
|
-
groupId: unfoldGroupId,
|
1533
|
-
colorItems: [],
|
1534
|
-
colorIdMap: {}
|
1535
|
-
};
|
1536
|
-
if (0 === measures.length) return {
|
1537
|
-
dataset,
|
1538
|
-
unfoldInfo: {
|
1539
|
-
groupName: unfoldGroupName,
|
1540
|
-
groupId: unfoldGroupId,
|
1541
|
-
colorItems: [],
|
1542
|
-
colorIdMap: {}
|
1543
|
-
}
|
1544
|
-
};
|
1545
|
-
const colorItems = [];
|
1546
|
-
const colorMap = {};
|
1547
|
-
for(let i = 0; i < dataset.length; i++){
|
1548
|
-
const datum = dataset[i];
|
1549
|
-
const colorName = measureName;
|
1550
|
-
const colorId = measureName;
|
1551
|
-
datum[unfoldGroupName] = colorName;
|
1552
|
-
datum[unfoldGroupId] = colorId;
|
1553
|
-
colorItems.push(colorId);
|
1554
|
-
colorMap[colorId] = colorName;
|
1555
|
-
}
|
1556
|
-
unfoldInfo.colorItems = (0, external_remeda_namespaceObject.unique)(colorItems);
|
1557
|
-
unfoldInfo.colorIdMap = colorMap;
|
1558
|
-
return {
|
1559
|
-
dataset,
|
1560
|
-
unfoldInfo
|
1561
|
-
};
|
1603
|
+
const applyEncoding = (encoding, dimensions, datum, separator)=>{
|
1604
|
+
if (encoding && dimensions.length) datum[encoding] = dimensions.map((dim)=>String(datum[dim.id])).join(separator);
|
1562
1605
|
};
|
1563
1606
|
const emptyReshapeResult = {
|
1564
1607
|
dataset: [],
|
@@ -1569,69 +1612,47 @@ const emptyReshapeResult = {
|
|
1569
1612
|
measureValue: ''
|
1570
1613
|
},
|
1571
1614
|
unfoldInfo: {
|
1572
|
-
|
1573
|
-
|
1615
|
+
encodingAngle: AngleEncoding,
|
1616
|
+
encodingX: XEncoding,
|
1617
|
+
encodingY: YEncoding,
|
1618
|
+
encodingDetail: DetailEncoding,
|
1619
|
+
encodingColor: ColorEncoding,
|
1620
|
+
encodingColorId: ColorIdEncoding,
|
1574
1621
|
colorItems: [],
|
1575
1622
|
colorIdMap: {}
|
1576
1623
|
}
|
1577
1624
|
};
|
1578
|
-
const
|
1579
|
-
const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue,
|
1625
|
+
const dataReshapeByEncoding = (dataset, dimensions, measures, encoding, options)=>{
|
1626
|
+
const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue, colorItemAsId = false } = options || {};
|
1580
1627
|
if (0 === dimensions.length && 0 === measures.length) return emptyReshapeResult;
|
1581
1628
|
const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures, foldMeasureId, foldMeasureName, foldMeasureValue);
|
1582
|
-
|
1583
|
-
|
1584
|
-
|
1585
|
-
|
1586
|
-
|
1587
|
-
|
1588
|
-
|
1589
|
-
|
1590
|
-
|
1591
|
-
|
1592
|
-
unfoldInfo
|
1593
|
-
};
|
1594
|
-
}
|
1595
|
-
{
|
1596
|
-
const onlyOneMeasure = 1 === measures.length;
|
1597
|
-
const onlyOneDimension = 1 === dimensions.length;
|
1598
|
-
const dims = [
|
1599
|
-
...dimensions
|
1600
|
-
];
|
1601
|
-
if (!onlyOneMeasure || onlyOneDimension) dims.push({
|
1602
|
-
id: foldMeasureName,
|
1603
|
-
alias: i18n`指标名称`,
|
1604
|
-
location: 'dimension'
|
1605
|
-
});
|
1606
|
-
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dims, [
|
1607
|
-
{
|
1608
|
-
id: foldMeasureValue,
|
1609
|
-
alias: i18n`指标值`
|
1610
|
-
}
|
1611
|
-
], 1, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
|
1612
|
-
return {
|
1613
|
-
dataset: finalDataset,
|
1614
|
-
foldInfo,
|
1615
|
-
unfoldInfo
|
1616
|
-
};
|
1617
|
-
}
|
1629
|
+
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dimensions, encoding, {
|
1630
|
+
foldMeasureId,
|
1631
|
+
separator: Separator,
|
1632
|
+
colorItemAsId
|
1633
|
+
});
|
1634
|
+
return {
|
1635
|
+
dataset: finalDataset,
|
1636
|
+
foldInfo,
|
1637
|
+
unfoldInfo
|
1638
|
+
};
|
1618
1639
|
};
|
1619
|
-
const
|
1640
|
+
const reshapeWithEncoding = (advancedVSeed, context)=>{
|
1620
1641
|
const result = {
|
1621
1642
|
...advancedVSeed
|
1622
1643
|
};
|
1623
1644
|
const { vseed } = context;
|
1624
|
-
const { dataset } = vseed;
|
1625
|
-
const { dimensions, measures } = advancedVSeed;
|
1626
|
-
if (!measures || !dimensions || !dataset) return result;
|
1645
|
+
const { dataset, chartType } = vseed;
|
1646
|
+
const { dimensions, measures, encoding } = advancedVSeed;
|
1647
|
+
if (!measures || !dimensions || !dataset || !encoding) return result;
|
1627
1648
|
if (0 === measures.length) throw new Error('measures can not be empty');
|
1628
|
-
const { dataset: newDatasets, foldInfo, unfoldInfo } =
|
1649
|
+
const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, measures, encoding);
|
1629
1650
|
return {
|
1630
1651
|
...result,
|
1631
1652
|
dataset: newDatasets,
|
1632
1653
|
datasetReshapeInfo: [
|
1633
1654
|
{
|
1634
|
-
id:
|
1655
|
+
id: String(chartType),
|
1635
1656
|
index: 0,
|
1636
1657
|
foldInfo,
|
1637
1658
|
unfoldInfo
|
@@ -1641,31 +1662,27 @@ const reshapeTo2D1M0Name = (advancedVSeed, context)=>{
|
|
1641
1662
|
measures
|
1642
1663
|
};
|
1643
1664
|
};
|
1644
|
-
const
|
1665
|
+
const pivotReshapeWithEncoding = (advancedVSeed, context)=>{
|
1645
1666
|
const result = {
|
1646
1667
|
...advancedVSeed
|
1647
1668
|
};
|
1648
1669
|
const { vseed } = context;
|
1649
1670
|
const { dataset } = vseed;
|
1650
|
-
const { measures } = advancedVSeed;
|
1651
|
-
|
1652
|
-
if (
|
1671
|
+
const { dimensions, measures, encoding } = advancedVSeed;
|
1672
|
+
if (!measures || !dimensions || !dataset || !encoding) return result;
|
1673
|
+
if (0 === measures.length) throw new Error('measures can not be empty');
|
1653
1674
|
const measureGroups = [];
|
1654
1675
|
if (measures) measures.forEach((measure)=>{
|
1655
1676
|
if (measure.children && measure.children.length > 0) measureGroups.push(measure);
|
1656
1677
|
});
|
1657
|
-
const
|
1658
|
-
const newDatasets = [];
|
1678
|
+
const datasets = [];
|
1659
1679
|
const datasetReshapeInfo = [];
|
1660
1680
|
measureGroups.forEach((measureGroup, index)=>{
|
1661
1681
|
const measures = measureGroup.children;
|
1662
1682
|
if (!measures) return;
|
1663
1683
|
const groupId = measureGroup.id;
|
1664
|
-
const { dataset: newSubDataset, foldInfo, unfoldInfo } =
|
1665
|
-
|
1666
|
-
foldMeasureName: FoldMeasureName,
|
1667
|
-
foldMeasureValue: FoldMeasureValue + groupId,
|
1668
|
-
unfoldDimensionGroup: UnfoldDimensionGroup
|
1684
|
+
const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, measures, encoding, {
|
1685
|
+
foldMeasureValue: `${FoldMeasureValue}${groupId}`
|
1669
1686
|
});
|
1670
1687
|
const reshapeInfo = {
|
1671
1688
|
id: groupId,
|
@@ -1673,93 +1690,60 @@ const pivotReshapeTo2D1M0Name = (advancedVSeed, context)=>{
|
|
1673
1690
|
foldInfo,
|
1674
1691
|
unfoldInfo
|
1675
1692
|
};
|
1676
|
-
|
1693
|
+
datasets.push(newSubDataset);
|
1677
1694
|
datasetReshapeInfo.push(reshapeInfo);
|
1678
1695
|
});
|
1679
1696
|
return {
|
1680
1697
|
...result,
|
1681
|
-
dataset:
|
1698
|
+
dataset: datasets,
|
1682
1699
|
datasetReshapeInfo: datasetReshapeInfo
|
1683
1700
|
};
|
1684
1701
|
};
|
1685
|
-
const encodingXY = (advancedVSeed)=>{
|
1686
|
-
const result = {
|
1687
|
-
...advancedVSeed
|
1688
|
-
};
|
1689
|
-
const { datasetReshapeInfo, dimensions } = advancedVSeed;
|
1690
|
-
if (!datasetReshapeInfo || !dimensions) return result;
|
1691
|
-
const xDimension = dimensions.find((item)=>'rowDimension' !== item.location && 'columnDimension' !== item.location) || dimensions[0];
|
1692
|
-
const isZeroDimension = 0 === dimensions.length;
|
1693
|
-
const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
|
1694
|
-
const { foldInfo, unfoldInfo } = cur;
|
1695
|
-
const x = [
|
1696
|
-
isZeroDimension ? foldInfo.measureName : xDimension?.id
|
1697
|
-
];
|
1698
|
-
const y = [
|
1699
|
-
foldInfo.measureValue
|
1700
|
-
];
|
1701
|
-
const group = [
|
1702
|
-
unfoldInfo.groupId
|
1703
|
-
];
|
1704
|
-
const color = [
|
1705
|
-
foldInfo.measureName
|
1706
|
-
];
|
1707
|
-
return [
|
1708
|
-
...prev,
|
1709
|
-
{
|
1710
|
-
x,
|
1711
|
-
y,
|
1712
|
-
group,
|
1713
|
-
color
|
1714
|
-
}
|
1715
|
-
];
|
1716
|
-
}, []);
|
1717
|
-
return {
|
1718
|
-
...result,
|
1719
|
-
encoding
|
1720
|
-
};
|
1721
|
-
};
|
1722
1702
|
const sortXBandAxis = (advancedVSeed, context)=>{
|
1723
1703
|
const result = {
|
1724
1704
|
...advancedVSeed
|
1725
1705
|
};
|
1726
1706
|
const { vseed } = context;
|
1727
|
-
const { sort: sortAxis
|
1728
|
-
const {
|
1729
|
-
const
|
1707
|
+
const { sort: sortAxis } = vseed;
|
1708
|
+
const { datasetReshapeInfo, dataset } = advancedVSeed;
|
1709
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
1710
|
+
const xField = unfoldInfo.encodingX;
|
1730
1711
|
if (!sortAxis || !xField) return advancedVSeed;
|
1731
1712
|
if (!result.analysis) result.analysis = {};
|
1732
1713
|
if (!result.analysis.orderMapping) result.analysis.orderMapping = {};
|
1733
|
-
const axisOrderResult = calcOrder(sortAxis, xField, dataset);
|
1714
|
+
const axisOrderResult = calcOrder(sortAxis, xField, dataset.flat(2));
|
1734
1715
|
result.analysis.orderMapping[xField] = axisOrderResult;
|
1735
1716
|
return result;
|
1736
1717
|
};
|
1737
|
-
const
|
1738
|
-
|
1739
|
-
|
1740
|
-
|
1741
|
-
const
|
1742
|
-
|
1743
|
-
|
1744
|
-
|
1745
|
-
|
1746
|
-
|
1747
|
-
|
1748
|
-
|
1749
|
-
|
1750
|
-
|
1718
|
+
const calcOrder = (sortConfig, id, dataset)=>{
|
1719
|
+
if (sortConfig.customOrder) return sortConfig.customOrder;
|
1720
|
+
const order = sortConfig.order || 'asc';
|
1721
|
+
const orderBy = sortConfig.orderBy;
|
1722
|
+
const res = (0, external_remeda_namespaceObject.sort)(dataset, (a, b)=>{
|
1723
|
+
const aValue = a[orderBy || id];
|
1724
|
+
const bValue = b[orderBy || id];
|
1725
|
+
if ('asc' === order) {
|
1726
|
+
if (aValue < bValue) return -1;
|
1727
|
+
if (aValue > bValue) return 1;
|
1728
|
+
return 0;
|
1729
|
+
}
|
1730
|
+
if (aValue > bValue) return -1;
|
1731
|
+
if (aValue < bValue) return 1;
|
1732
|
+
return 0;
|
1733
|
+
});
|
1734
|
+
return (0, external_remeda_namespaceObject.unique)(res.map((item)=>item[id]));
|
1751
1735
|
};
|
1752
|
-
const
|
1736
|
+
const sortLegend_sortLegend = (advancedVSeed, context)=>{
|
1753
1737
|
const result = {
|
1754
1738
|
...advancedVSeed
|
1755
1739
|
};
|
1756
1740
|
const { vseed } = context;
|
1757
1741
|
const { sortLegend } = vseed;
|
1758
|
-
const { datasetReshapeInfo } = advancedVSeed;
|
1759
|
-
const
|
1742
|
+
const { datasetReshapeInfo, dataset } = advancedVSeed;
|
1743
|
+
const colorId = datasetReshapeInfo?.[0]?.unfoldInfo?.encodingColorId;
|
1760
1744
|
const colorIdMap = datasetReshapeInfo?.[0]?.unfoldInfo?.colorIdMap;
|
1761
1745
|
const colorItems = datasetReshapeInfo?.[0]?.unfoldInfo?.colorItems;
|
1762
|
-
if (!sortLegend || !
|
1746
|
+
if (!sortLegend || !colorId || !colorIdMap || !colorItems) return advancedVSeed;
|
1763
1747
|
if (!result.analysis) result.analysis = {};
|
1764
1748
|
if (!result.analysis.orderMapping) result.analysis.orderMapping = {};
|
1765
1749
|
if (sortLegend.customOrder) {
|
@@ -1768,15 +1752,14 @@ const sort_sortLegend = (advancedVSeed, context)=>{
|
|
1768
1752
|
return pre;
|
1769
1753
|
}, {});
|
1770
1754
|
const orderRes = sortLegend.customOrder.map((itemNameOrId)=>nameMap[itemNameOrId] ? nameMap[itemNameOrId] : itemNameOrId);
|
1771
|
-
result.analysis.orderMapping[
|
1755
|
+
result.analysis.orderMapping[colorId] = orderRes;
|
1772
1756
|
return result;
|
1773
1757
|
}
|
1774
|
-
const
|
1775
|
-
|
1776
|
-
result.analysis.orderMapping[groupField] = orderRes;
|
1758
|
+
const orderRes = sortLegend_calcOrder(sortLegend, colorId, dataset?.flat(2) || []);
|
1759
|
+
result.analysis.orderMapping[colorId] = orderRes;
|
1777
1760
|
return result;
|
1778
1761
|
};
|
1779
|
-
const
|
1762
|
+
const sortLegend_calcOrder = (sortConfig, id, dataset)=>{
|
1780
1763
|
if (sortConfig.customOrder) return sortConfig.customOrder;
|
1781
1764
|
const order = sortConfig.order || 'asc';
|
1782
1765
|
const orderBy = sortConfig.orderBy;
|
@@ -1908,14 +1891,14 @@ const lineAdvancedPipeline = [
|
|
1908
1891
|
initAdvancedVSeed_initAdvancedVSeed,
|
1909
1892
|
autoMeasures_autoMeasures,
|
1910
1893
|
autoDimensions_autoDimensions,
|
1894
|
+
encodingForColumn,
|
1911
1895
|
pivotAdapter([
|
1912
|
-
|
1896
|
+
reshapeWithEncoding
|
1913
1897
|
], [
|
1914
|
-
|
1898
|
+
pivotReshapeWithEncoding
|
1915
1899
|
]),
|
1916
|
-
encodingXY,
|
1917
1900
|
sortXBandAxis,
|
1918
|
-
|
1901
|
+
sortLegend_sortLegend,
|
1919
1902
|
lineConfig,
|
1920
1903
|
theme_theme,
|
1921
1904
|
markStyle_markStyle,
|
@@ -1926,13 +1909,13 @@ const initLine = (spec, context)=>{
|
|
1926
1909
|
...spec
|
1927
1910
|
};
|
1928
1911
|
const { advancedVSeed } = context;
|
1929
|
-
const {
|
1930
|
-
|
1912
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
1913
|
+
const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
|
1931
1914
|
result.type = 'line';
|
1932
1915
|
result.direction = 'vertical';
|
1933
|
-
result.xField =
|
1934
|
-
result.yField =
|
1935
|
-
result.seriesField =
|
1916
|
+
result.xField = unfoldInfo.encodingX;
|
1917
|
+
result.yField = foldInfo.measureValue;
|
1918
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
1936
1919
|
result.padding = 0;
|
1937
1920
|
result.region = [
|
1938
1921
|
{
|
@@ -2008,11 +1991,12 @@ const background_backgroundColor = (spec, context)=>{
|
|
2008
1991
|
};
|
2009
1992
|
const datasetXY = (spec, context)=>{
|
2010
1993
|
const { advancedVSeed, vseed } = context;
|
2011
|
-
const {
|
1994
|
+
const { analysis, datasetReshapeInfo } = advancedVSeed;
|
1995
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
2012
1996
|
const orderMapping = analysis?.orderMapping || {};
|
2013
|
-
const angle =
|
2014
|
-
const x =
|
2015
|
-
const
|
1997
|
+
const angle = unfoldInfo.encodingAngle;
|
1998
|
+
const x = unfoldInfo.encodingX;
|
1999
|
+
const colorId = unfoldInfo.encodingColorId;
|
2016
2000
|
const id = datasetReshapeInfo[0].id;
|
2017
2001
|
const fields = {};
|
2018
2002
|
if (angle) fields[angle] = {
|
@@ -2029,14 +2013,14 @@ const datasetXY = (spec, context)=>{
|
|
2029
2013
|
sortIndex: 0
|
2030
2014
|
};
|
2031
2015
|
}
|
2032
|
-
if (
|
2033
|
-
const order = orderMapping[
|
2034
|
-
if (order) fields[
|
2016
|
+
if (colorId) {
|
2017
|
+
const order = orderMapping[colorId];
|
2018
|
+
if (order) fields[colorId] = {
|
2035
2019
|
sortIndex: 0,
|
2036
2020
|
domain: order,
|
2037
2021
|
lockStatisticsByDomain: true
|
2038
2022
|
};
|
2039
|
-
else fields[
|
2023
|
+
else fields[colorId] = {
|
2040
2024
|
sortIndex: 0
|
2041
2025
|
};
|
2042
2026
|
}
|
@@ -2289,7 +2273,7 @@ const tooltip_tooltip = (spec, context)=>{
|
|
2289
2273
|
} } = baseConfig;
|
2290
2274
|
const { enable } = tooltip;
|
2291
2275
|
const { measureId, measureValue, measureName } = datasetReshapeInfo[0].foldInfo;
|
2292
|
-
const {
|
2276
|
+
const { encodingColor: colorName } = datasetReshapeInfo[0].unfoldInfo;
|
2293
2277
|
result.tooltip = {
|
2294
2278
|
visible: enable,
|
2295
2279
|
mark: {
|
@@ -2310,7 +2294,7 @@ const tooltip_tooltip = (spec, context)=>{
|
|
2310
2294
|
{
|
2311
2295
|
visible: true,
|
2312
2296
|
hasShape: true,
|
2313
|
-
key: (datum)=>datum && datum[measureName ||
|
2297
|
+
key: (datum)=>datum && datum[measureName || colorName] || '',
|
2314
2298
|
value: (datum)=>{
|
2315
2299
|
if (!datum) return '';
|
2316
2300
|
const value = datum[measureValue];
|
@@ -2332,7 +2316,7 @@ const tooltip_tooltip = (spec, context)=>{
|
|
2332
2316
|
content: [
|
2333
2317
|
{
|
2334
2318
|
visible: true,
|
2335
|
-
key: (datum)=>datum && datum[
|
2319
|
+
key: (datum)=>datum && datum[colorName] || '',
|
2336
2320
|
value: (datum)=>{
|
2337
2321
|
if (!datum) return '';
|
2338
2322
|
const value = datum[measureValue];
|
@@ -2670,7 +2654,8 @@ const pointStateDimensionHover = (spec)=>{
|
|
2670
2654
|
const pointStateHover = (spec, context)=>{
|
2671
2655
|
const point = spec.point || {};
|
2672
2656
|
const { advancedVSeed } = context;
|
2673
|
-
const {
|
2657
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
2658
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
2674
2659
|
const result = {
|
2675
2660
|
...spec,
|
2676
2661
|
point: {
|
@@ -2681,7 +2666,7 @@ const pointStateHover = (spec, context)=>{
|
|
2681
2666
|
scaleX: 1.4,
|
2682
2667
|
scaleY: 1.4,
|
2683
2668
|
stroke: (datum, context)=>{
|
2684
|
-
const field =
|
2669
|
+
const field = unfoldInfo.encodingColorId;
|
2685
2670
|
const color = context.seriesColor(datum[field]);
|
2686
2671
|
return color;
|
2687
2672
|
},
|
@@ -2695,7 +2680,8 @@ const pointStateHover = (spec, context)=>{
|
|
2695
2680
|
};
|
2696
2681
|
const lineStyle_lineStyle = (spec, context)=>{
|
2697
2682
|
const { advancedVSeed } = context;
|
2698
|
-
const { markStyle,
|
2683
|
+
const { markStyle, datasetReshapeInfo, dataset } = advancedVSeed;
|
2684
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
2699
2685
|
const { lineStyle } = markStyle;
|
2700
2686
|
if (!lineStyle) return spec;
|
2701
2687
|
const result = {
|
@@ -2704,8 +2690,8 @@ const lineStyle_lineStyle = (spec, context)=>{
|
|
2704
2690
|
const lineStyles = Array.isArray(lineStyle) ? lineStyle : [
|
2705
2691
|
lineStyle
|
2706
2692
|
];
|
2707
|
-
const
|
2708
|
-
const lineGroups = (0, external_remeda_namespaceObject.groupBy)(dataset, (d)=>d[
|
2693
|
+
const colorId = unfoldInfo.encodingColorId;
|
2694
|
+
const lineGroups = (0, external_remeda_namespaceObject.groupBy)(dataset, (d)=>d[colorId ?? '']);
|
2709
2695
|
const customMap = lineStyles.reduce((result, style, index)=>{
|
2710
2696
|
const { lineColor, lineColorOpacity, lineSmooth, lineStyle, lineWidth = 2, lineVisible = true } = style;
|
2711
2697
|
const dashSegment = 2 * lineWidth;
|
@@ -2726,7 +2712,7 @@ const lineStyle_lineStyle = (spec, context)=>{
|
|
2726
2712
|
[`custom${index + 1}`]: {
|
2727
2713
|
level: index + 1,
|
2728
2714
|
filter: (datum)=>{
|
2729
|
-
const lineData = lineGroups[datum[
|
2715
|
+
const lineData = lineGroups[datum[colorId ?? '']];
|
2730
2716
|
for (const d of lineData)if (selector_selector(d, style.selector)) return true;
|
2731
2717
|
return false;
|
2732
2718
|
},
|
@@ -2821,7 +2807,8 @@ const annotationPoint_annotationPoint = (spec, context)=>{
|
|
2821
2807
|
};
|
2822
2808
|
const annotationVerticalLine_annotationVerticalLine = (spec, context)=>{
|
2823
2809
|
const { advancedVSeed } = context;
|
2824
|
-
const { annotation,
|
2810
|
+
const { annotation, datasetReshapeInfo } = advancedVSeed;
|
2811
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
2825
2812
|
if (!annotation || !annotation.annotationVerticalLine) return spec;
|
2826
2813
|
const { annotationVerticalLine } = annotation;
|
2827
2814
|
const annotationVerticalLineList = Array.isArray(annotationVerticalLine) ? annotationVerticalLine : [
|
@@ -2901,7 +2888,7 @@ const annotationVerticalLine_annotationVerticalLine = (spec, context)=>{
|
|
2901
2888
|
}
|
2902
2889
|
const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
|
2903
2890
|
return selectedData.map((datum)=>{
|
2904
|
-
const x =
|
2891
|
+
const x = unfoldInfo.encodingX;
|
2905
2892
|
if (!x) return {};
|
2906
2893
|
return generateOneMarkLine(datum[x]);
|
2907
2894
|
});
|
@@ -2918,7 +2905,8 @@ const annotationVerticalLine_annotationVerticalLine = (spec, context)=>{
|
|
2918
2905
|
};
|
2919
2906
|
const annotationHorizontalLine_annotationHorizontalLine = (spec, context)=>{
|
2920
2907
|
const { advancedVSeed } = context;
|
2921
|
-
const { annotation,
|
2908
|
+
const { annotation, datasetReshapeInfo } = advancedVSeed;
|
2909
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
2922
2910
|
if (!annotation || !annotation.annotationHorizontalLine) return spec;
|
2923
2911
|
const { annotationHorizontalLine } = annotation;
|
2924
2912
|
const annotationVerticalLineList = Array.isArray(annotationHorizontalLine) ? annotationHorizontalLine : [
|
@@ -2998,7 +2986,7 @@ const annotationHorizontalLine_annotationHorizontalLine = (spec, context)=>{
|
|
2998
2986
|
}
|
2999
2987
|
const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
|
3000
2988
|
return selectedData.map((datum)=>{
|
3001
|
-
const y =
|
2989
|
+
const y = unfoldInfo.encodingY;
|
3002
2990
|
if (!y) return {};
|
3003
2991
|
return generateOneMarkLine(datum[y]);
|
3004
2992
|
});
|
@@ -3279,13 +3267,10 @@ const pivotIndicators_pivotIndicators = (chartPipeline)=>(spec, context)=>{
|
|
3279
3267
|
...spec
|
3280
3268
|
};
|
3281
3269
|
const { advancedVSeed } = context;
|
3282
|
-
const { measures, datasetReshapeInfo,
|
3270
|
+
const { measures, datasetReshapeInfo, dataset } = advancedVSeed;
|
3283
3271
|
const colorItems = (0, external_remeda_namespaceObject.unique)(datasetReshapeInfo.flatMap((d)=>d.unfoldInfo.colorItems));
|
3284
3272
|
const indicators = datasetReshapeInfo.map((reshapeInfo, index)=>{
|
3285
3273
|
const measure = measures?.find((d)=>d.id === reshapeInfo.id);
|
3286
|
-
const newEncoding = [
|
3287
|
-
encoding[index]
|
3288
|
-
];
|
3289
3274
|
const newDataset = dataset[index];
|
3290
3275
|
const newDatasetReshapeInfo = [
|
3291
3276
|
{
|
@@ -3301,8 +3286,7 @@ const pivotIndicators_pivotIndicators = (chartPipeline)=>(spec, context)=>{
|
|
3301
3286
|
advancedVSeed: {
|
3302
3287
|
...advancedVSeed,
|
3303
3288
|
datasetReshapeInfo: newDatasetReshapeInfo,
|
3304
|
-
dataset: newDataset
|
3305
|
-
encoding: newEncoding
|
3289
|
+
dataset: newDataset
|
3306
3290
|
}
|
3307
3291
|
};
|
3308
3292
|
const chartSpec = execPipeline(chartPipeline, newContext, {});
|
@@ -3488,7 +3472,7 @@ const pivotDiscreteLegend = (spec, context)=>{
|
|
3488
3472
|
}
|
3489
3473
|
},
|
3490
3474
|
label: {
|
3491
|
-
formatMethod: (value)=>colorIdMap[
|
3475
|
+
formatMethod: (value)=>colorIdMap[value] ?? value,
|
3492
3476
|
style: {
|
3493
3477
|
fontSize: labelFontSize,
|
3494
3478
|
fill: labelFontColor,
|
@@ -3571,189 +3555,56 @@ const registerLine = ()=>{
|
|
3571
3555
|
Builder._advancedPipelineMap.line = lineAdvancedPipeline;
|
3572
3556
|
Builder._specPipelineMap.line = lineSpecPipeline;
|
3573
3557
|
};
|
3574
|
-
const
|
3575
|
-
|
3576
|
-
|
3577
|
-
|
3578
|
-
|
3579
|
-
|
3580
|
-
|
3581
|
-
|
3582
|
-
|
3583
|
-
|
3584
|
-
|
3585
|
-
|
3586
|
-
|
3587
|
-
|
3558
|
+
const columnAdvancedPipeline = [
|
3559
|
+
initAdvancedVSeed_initAdvancedVSeed,
|
3560
|
+
autoMeasures_autoMeasures,
|
3561
|
+
autoDimensions_autoDimensions,
|
3562
|
+
encodingForColumn,
|
3563
|
+
pivotAdapter([
|
3564
|
+
reshapeWithEncoding
|
3565
|
+
], [
|
3566
|
+
pivotReshapeWithEncoding
|
3567
|
+
]),
|
3568
|
+
sortXBandAxis,
|
3569
|
+
sortLegend_sortLegend,
|
3570
|
+
columnConfig,
|
3571
|
+
theme_theme,
|
3572
|
+
markStyle_markStyle,
|
3573
|
+
annotation_annotation
|
3574
|
+
];
|
3575
|
+
const initColumn = (spec, context)=>{
|
3576
|
+
const result = {
|
3577
|
+
...spec
|
3578
|
+
};
|
3579
|
+
const { advancedVSeed } = context;
|
3580
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
3581
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
3582
|
+
result.type = 'bar';
|
3583
|
+
result.direction = 'vertical';
|
3584
|
+
result.xField = unfoldInfo.encodingX;
|
3585
|
+
result.yField = foldInfo.measureValue;
|
3586
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
3587
|
+
result.padding = 0;
|
3588
|
+
result.region = [
|
3589
|
+
{
|
3590
|
+
clip: true
|
3591
|
+
}
|
3592
|
+
];
|
3593
|
+
result.animation = true;
|
3594
|
+
return result;
|
3588
3595
|
};
|
3589
|
-
const
|
3590
|
-
const {
|
3591
|
-
|
3592
|
-
const
|
3593
|
-
|
3594
|
-
|
3595
|
-
|
3596
|
-
|
3597
|
-
alias: i18n`指标Id`,
|
3598
|
-
location: 'dimension'
|
3599
|
-
},
|
3600
|
-
{
|
3601
|
-
id: foldMeasureName,
|
3602
|
-
alias: i18n`指标名称`,
|
3603
|
-
location: 'dimension'
|
3604
|
-
}
|
3605
|
-
], [
|
3606
|
-
{
|
3607
|
-
id: foldMeasureValue,
|
3608
|
-
alias: i18n`指标值`
|
3609
|
-
}
|
3610
|
-
], 1, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
|
3611
|
-
return {
|
3612
|
-
dataset: finalDataset,
|
3613
|
-
foldInfo,
|
3614
|
-
unfoldInfo
|
3615
|
-
};
|
3616
|
-
}
|
3617
|
-
{
|
3618
|
-
const onlyOneMeasure = 1 === measures.length;
|
3619
|
-
const onlyOneDimension = 1 === dimensions.length;
|
3620
|
-
const dims = [
|
3621
|
-
...dimensions
|
3622
|
-
];
|
3623
|
-
if (!onlyOneMeasure || onlyOneDimension) dims.push({
|
3624
|
-
id: foldMeasureName,
|
3625
|
-
alias: i18n`指标名称`,
|
3626
|
-
location: 'dimension'
|
3627
|
-
});
|
3628
|
-
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dims, [
|
3629
|
-
{
|
3630
|
-
id: foldMeasureValue,
|
3631
|
-
alias: i18n`指标值`
|
3632
|
-
}
|
3633
|
-
], 1, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
|
3634
|
-
return {
|
3635
|
-
dataset: finalDataset,
|
3636
|
-
foldInfo,
|
3637
|
-
unfoldInfo
|
3638
|
-
};
|
3639
|
-
}
|
3596
|
+
const stackCornerRadius_stackCornerRadius = (spec, context)=>{
|
3597
|
+
const { advancedVSeed, vseed } = context;
|
3598
|
+
const { chartType } = vseed;
|
3599
|
+
const stackCornerRadius = advancedVSeed.config?.[chartType]?.stackCornerRadius;
|
3600
|
+
return {
|
3601
|
+
...spec,
|
3602
|
+
stackCornerRadius
|
3603
|
+
};
|
3640
3604
|
};
|
3641
|
-
const
|
3605
|
+
const stackInverse = (spec)=>{
|
3642
3606
|
const result = {
|
3643
|
-
...
|
3644
|
-
};
|
3645
|
-
const { vseed } = context;
|
3646
|
-
const { dataset } = vseed;
|
3647
|
-
const { dimensions, measures } = advancedVSeed;
|
3648
|
-
if (!measures || !dimensions || !dataset) return result;
|
3649
|
-
if (0 === measures.length) throw new Error('measures can not be empty');
|
3650
|
-
const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor2D1M(dataset, dimensions, measures);
|
3651
|
-
return {
|
3652
|
-
...result,
|
3653
|
-
dataset: newDatasets,
|
3654
|
-
datasetReshapeInfo: [
|
3655
|
-
{
|
3656
|
-
id: '2D1M',
|
3657
|
-
index: 0,
|
3658
|
-
foldInfo,
|
3659
|
-
unfoldInfo
|
3660
|
-
}
|
3661
|
-
],
|
3662
|
-
dimensions,
|
3663
|
-
measures
|
3664
|
-
};
|
3665
|
-
};
|
3666
|
-
const pivotReshapeTo2D1M = (advancedVSeed, context)=>{
|
3667
|
-
const result = {
|
3668
|
-
...advancedVSeed
|
3669
|
-
};
|
3670
|
-
const { vseed } = context;
|
3671
|
-
const { dataset } = vseed;
|
3672
|
-
const { measures } = advancedVSeed;
|
3673
|
-
const dimensions = advancedVSeed.dimensions;
|
3674
|
-
if (!measures || !dimensions) return result;
|
3675
|
-
const measureGroups = [];
|
3676
|
-
if (measures) measures.forEach((measure)=>{
|
3677
|
-
if (measure.children && measure.children.length > 0) measureGroups.push(measure);
|
3678
|
-
});
|
3679
|
-
const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
|
3680
|
-
const newDatasets = [];
|
3681
|
-
const datasetReshapeInfo = [];
|
3682
|
-
measureGroups.forEach((measureGroup, index)=>{
|
3683
|
-
const measures = measureGroup.children;
|
3684
|
-
if (!measures) return;
|
3685
|
-
const groupId = measureGroup.id;
|
3686
|
-
const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeFor2D1M(dataset, commonDimensions, measures, {
|
3687
|
-
foldMeasureId: FoldMeasureId,
|
3688
|
-
foldMeasureName: FoldMeasureName,
|
3689
|
-
foldMeasureValue: FoldMeasureValue + groupId,
|
3690
|
-
unfoldDimensionGroup: UnfoldDimensionGroup
|
3691
|
-
});
|
3692
|
-
const reshapeInfo = {
|
3693
|
-
id: groupId,
|
3694
|
-
index,
|
3695
|
-
foldInfo,
|
3696
|
-
unfoldInfo
|
3697
|
-
};
|
3698
|
-
newDatasets.push(newSubDataset);
|
3699
|
-
datasetReshapeInfo.push(reshapeInfo);
|
3700
|
-
});
|
3701
|
-
return {
|
3702
|
-
...result,
|
3703
|
-
dataset: newDatasets,
|
3704
|
-
datasetReshapeInfo: datasetReshapeInfo
|
3705
|
-
};
|
3706
|
-
};
|
3707
|
-
const columnAdvancedPipeline = [
|
3708
|
-
initAdvancedVSeed_initAdvancedVSeed,
|
3709
|
-
autoMeasures_autoMeasures,
|
3710
|
-
autoDimensions_autoDimensions,
|
3711
|
-
pivotAdapter([
|
3712
|
-
reshapeTo2D1M
|
3713
|
-
], [
|
3714
|
-
pivotReshapeTo2D1M
|
3715
|
-
]),
|
3716
|
-
encodingXY,
|
3717
|
-
sortXBandAxis,
|
3718
|
-
sort_sortLegend,
|
3719
|
-
columnConfig,
|
3720
|
-
theme_theme,
|
3721
|
-
markStyle_markStyle,
|
3722
|
-
annotation_annotation
|
3723
|
-
];
|
3724
|
-
const initColumn = (spec, context)=>{
|
3725
|
-
const result = {
|
3726
|
-
...spec
|
3727
|
-
};
|
3728
|
-
const { advancedVSeed } = context;
|
3729
|
-
const { encoding } = advancedVSeed;
|
3730
|
-
if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
|
3731
|
-
result.type = 'bar';
|
3732
|
-
result.direction = 'vertical';
|
3733
|
-
result.xField = encoding[0].x[0];
|
3734
|
-
result.yField = encoding[0].y[0];
|
3735
|
-
result.seriesField = encoding[0].group[0];
|
3736
|
-
result.padding = 0;
|
3737
|
-
result.region = [
|
3738
|
-
{
|
3739
|
-
clip: true
|
3740
|
-
}
|
3741
|
-
];
|
3742
|
-
result.animation = true;
|
3743
|
-
return result;
|
3744
|
-
};
|
3745
|
-
const stackCornerRadius_stackCornerRadius = (spec, context)=>{
|
3746
|
-
const { advancedVSeed, vseed } = context;
|
3747
|
-
const { chartType } = vseed;
|
3748
|
-
const stackCornerRadius = advancedVSeed.config?.[chartType]?.stackCornerRadius;
|
3749
|
-
return {
|
3750
|
-
...spec,
|
3751
|
-
stackCornerRadius
|
3752
|
-
};
|
3753
|
-
};
|
3754
|
-
const stackInverse = (spec)=>{
|
3755
|
-
const result = {
|
3756
|
-
...spec
|
3607
|
+
...spec
|
3757
3608
|
};
|
3758
3609
|
result.stackInverse = true;
|
3759
3610
|
return result;
|
@@ -4052,14 +3903,14 @@ const columnParallelAdvancedPipeline = [
|
|
4052
3903
|
initAdvancedVSeed_initAdvancedVSeed,
|
4053
3904
|
autoMeasures_autoMeasures,
|
4054
3905
|
autoDimensions_autoDimensions,
|
3906
|
+
encodingForColumn,
|
4055
3907
|
pivotAdapter([
|
4056
|
-
|
3908
|
+
reshapeWithEncoding
|
4057
3909
|
], [
|
4058
|
-
|
3910
|
+
pivotReshapeWithEncoding
|
4059
3911
|
]),
|
4060
|
-
encodingXY,
|
4061
3912
|
sortXBandAxis,
|
4062
|
-
|
3913
|
+
sortLegend_sortLegend,
|
4063
3914
|
columnParallelConfig,
|
4064
3915
|
theme_theme,
|
4065
3916
|
markStyle_markStyle,
|
@@ -4070,20 +3921,19 @@ const initColumnParallel = (spec, context)=>{
|
|
4070
3921
|
...spec
|
4071
3922
|
};
|
4072
3923
|
const { advancedVSeed } = context;
|
4073
|
-
const {
|
4074
|
-
const { unfoldInfo } = datasetReshapeInfo[0];
|
4075
|
-
if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
|
3924
|
+
const { datasetReshapeInfo, dimensions } = advancedVSeed;
|
3925
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
4076
3926
|
const sameDimensionsMode = dimensions.length > 1 && dimensions.every((dim)=>dim.id === dimensions[0].id);
|
4077
3927
|
result.type = 'bar';
|
4078
3928
|
result.direction = 'vertical';
|
4079
3929
|
result.xField = sameDimensionsMode ? [
|
4080
|
-
|
3930
|
+
unfoldInfo.encodingX
|
4081
3931
|
] : [
|
4082
|
-
|
4083
|
-
unfoldInfo.
|
3932
|
+
unfoldInfo.encodingX,
|
3933
|
+
unfoldInfo.encodingDetail
|
4084
3934
|
];
|
4085
|
-
result.yField =
|
4086
|
-
result.seriesField =
|
3935
|
+
result.yField = foldInfo.measureValue;
|
3936
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
4087
3937
|
result.padding = 0;
|
4088
3938
|
result.region = [
|
4089
3939
|
{
|
@@ -4150,14 +4000,14 @@ const columnPercentAdvancedPipeline = [
|
|
4150
4000
|
initAdvancedVSeed_initAdvancedVSeed,
|
4151
4001
|
autoMeasures_autoMeasures,
|
4152
4002
|
autoDimensions_autoDimensions,
|
4003
|
+
encodingForColumn,
|
4153
4004
|
pivotAdapter([
|
4154
|
-
|
4005
|
+
reshapeWithEncoding
|
4155
4006
|
], [
|
4156
|
-
|
4007
|
+
pivotReshapeWithEncoding
|
4157
4008
|
]),
|
4158
|
-
encodingXY,
|
4159
4009
|
sortXBandAxis,
|
4160
|
-
|
4010
|
+
sortLegend_sortLegend,
|
4161
4011
|
columnPercentConfig,
|
4162
4012
|
theme_theme,
|
4163
4013
|
markStyle_markStyle,
|
@@ -4227,55 +4077,76 @@ const registerColumnPercent = ()=>{
|
|
4227
4077
|
Builder._advancedPipelineMap.columnPercent = columnPercentAdvancedPipeline;
|
4228
4078
|
Builder._specPipelineMap.columnPercent = columnPercentSpecPipeline;
|
4229
4079
|
};
|
4230
|
-
const
|
4231
|
-
const
|
4232
|
-
|
4233
|
-
|
4234
|
-
const
|
4235
|
-
if (
|
4236
|
-
|
4237
|
-
|
4238
|
-
const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
|
4239
|
-
const { foldInfo, unfoldInfo } = cur;
|
4240
|
-
const y = [
|
4241
|
-
isZeroDimension ? foldInfo.measureName : yDimension?.id
|
4242
|
-
];
|
4243
|
-
const x = [
|
4244
|
-
foldInfo.measureValue
|
4245
|
-
];
|
4246
|
-
const group = [
|
4247
|
-
unfoldInfo.groupId
|
4080
|
+
const encodingForBar = (advancedVSeed, context)=>{
|
4081
|
+
const { vseed } = context;
|
4082
|
+
const { dimensions } = advancedVSeed;
|
4083
|
+
if (!dimensions) return advancedVSeed;
|
4084
|
+
const encoding = vseed.encoding;
|
4085
|
+
if (encoding) {
|
4086
|
+
const y = encoding.y || [
|
4087
|
+
dimensions[0].id
|
4248
4088
|
];
|
4249
|
-
const color = [
|
4250
|
-
|
4089
|
+
const color = encoding.color || [
|
4090
|
+
(dimensions[1] || dimensions[0]).id
|
4251
4091
|
];
|
4252
|
-
|
4253
|
-
|
4254
|
-
|
4255
|
-
|
4092
|
+
const detail = encoding.detail || [];
|
4093
|
+
const mergedDetail = (0, external_remeda_namespaceObject.unique)([
|
4094
|
+
...color,
|
4095
|
+
...detail
|
4096
|
+
]);
|
4097
|
+
return {
|
4098
|
+
...advancedVSeed,
|
4099
|
+
encoding: {
|
4100
|
+
...encoding,
|
4256
4101
|
y,
|
4257
|
-
|
4258
|
-
|
4102
|
+
color,
|
4103
|
+
detail: mergedDetail
|
4259
4104
|
}
|
4260
|
-
|
4261
|
-
}
|
4105
|
+
};
|
4106
|
+
}
|
4107
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
4108
|
+
const mergedEncoding = {
|
4109
|
+
y: dimensions.slice(0, 1).map((item)=>item.id),
|
4110
|
+
color: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
4111
|
+
detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
4112
|
+
tooltip: dimensions.map((item)=>item.id),
|
4113
|
+
label: [],
|
4114
|
+
row: [],
|
4115
|
+
column: []
|
4116
|
+
};
|
4262
4117
|
return {
|
4263
|
-
...
|
4264
|
-
encoding
|
4118
|
+
...advancedVSeed,
|
4119
|
+
encoding: mergedEncoding
|
4120
|
+
};
|
4121
|
+
};
|
4122
|
+
const sortYBandAxis = (advancedVSeed, context)=>{
|
4123
|
+
const result = {
|
4124
|
+
...advancedVSeed
|
4265
4125
|
};
|
4126
|
+
const { vseed } = context;
|
4127
|
+
const { sort: sortAxis } = vseed;
|
4128
|
+
const { datasetReshapeInfo, dataset } = advancedVSeed;
|
4129
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
4130
|
+
const yField = unfoldInfo?.encodingY;
|
4131
|
+
if (!sortAxis || !yField) return advancedVSeed;
|
4132
|
+
if (!result.analysis) result.analysis = {};
|
4133
|
+
if (!result.analysis.orderMapping) result.analysis.orderMapping = {};
|
4134
|
+
const axisOrderResult = calcOrder(sortAxis, yField, dataset.flat(2));
|
4135
|
+
result.analysis.orderMapping[yField] = axisOrderResult;
|
4136
|
+
return result;
|
4266
4137
|
};
|
4267
4138
|
const barAdvancedPipeline = [
|
4268
4139
|
initAdvancedVSeed_initAdvancedVSeed,
|
4269
4140
|
autoMeasures_autoMeasures,
|
4270
4141
|
autoDimensions_autoDimensions,
|
4142
|
+
encodingForBar,
|
4271
4143
|
pivotAdapter([
|
4272
|
-
|
4144
|
+
reshapeWithEncoding
|
4273
4145
|
], [
|
4274
|
-
|
4146
|
+
pivotReshapeWithEncoding
|
4275
4147
|
]),
|
4276
|
-
encodingYX,
|
4277
4148
|
sortYBandAxis,
|
4278
|
-
|
4149
|
+
sortLegend_sortLegend,
|
4279
4150
|
barConfig,
|
4280
4151
|
theme_theme,
|
4281
4152
|
markStyle_markStyle,
|
@@ -4286,13 +4157,13 @@ const initBar = (spec, context)=>{
|
|
4286
4157
|
...spec
|
4287
4158
|
};
|
4288
4159
|
const { advancedVSeed } = context;
|
4289
|
-
const {
|
4290
|
-
|
4160
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
4161
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
4291
4162
|
result.type = 'bar';
|
4292
4163
|
result.direction = 'horizontal';
|
4293
|
-
result.yField =
|
4294
|
-
result.xField =
|
4295
|
-
result.seriesField =
|
4164
|
+
result.yField = unfoldInfo.encodingY;
|
4165
|
+
result.xField = foldInfo.measureValue;
|
4166
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
4296
4167
|
result.padding = 0;
|
4297
4168
|
result.region = [
|
4298
4169
|
{
|
@@ -4304,11 +4175,12 @@ const initBar = (spec, context)=>{
|
|
4304
4175
|
};
|
4305
4176
|
const datasetYX = (spec, context)=>{
|
4306
4177
|
const { advancedVSeed, vseed } = context;
|
4307
|
-
const {
|
4178
|
+
const { analysis, datasetReshapeInfo } = advancedVSeed;
|
4179
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
4308
4180
|
const orderMapping = analysis?.orderMapping || {};
|
4309
|
-
const angle =
|
4310
|
-
const y =
|
4311
|
-
const
|
4181
|
+
const angle = unfoldInfo.encodingAngle;
|
4182
|
+
const y = unfoldInfo.encodingY;
|
4183
|
+
const colorId = unfoldInfo.encodingColorId;
|
4312
4184
|
const id = datasetReshapeInfo[0].id;
|
4313
4185
|
const fields = {};
|
4314
4186
|
if (angle) fields[angle] = {
|
@@ -4325,14 +4197,14 @@ const datasetYX = (spec, context)=>{
|
|
4325
4197
|
sortIndex: 0
|
4326
4198
|
};
|
4327
4199
|
}
|
4328
|
-
if (
|
4329
|
-
const order = orderMapping[
|
4330
|
-
if (order) fields[
|
4200
|
+
if (colorId) {
|
4201
|
+
const order = orderMapping[colorId];
|
4202
|
+
if (order) fields[colorId] = {
|
4331
4203
|
sortIndex: 0,
|
4332
4204
|
domain: order,
|
4333
4205
|
lockStatisticsByDomain: true
|
4334
4206
|
};
|
4335
|
-
else fields[
|
4207
|
+
else fields[colorId] = {
|
4336
4208
|
sortIndex: 0
|
4337
4209
|
};
|
4338
4210
|
}
|
@@ -4620,14 +4492,14 @@ const barParallelAdvancedPipeline = [
|
|
4620
4492
|
initAdvancedVSeed_initAdvancedVSeed,
|
4621
4493
|
autoMeasures_autoMeasures,
|
4622
4494
|
autoDimensions_autoDimensions,
|
4495
|
+
encodingForBar,
|
4623
4496
|
pivotAdapter([
|
4624
|
-
|
4497
|
+
reshapeWithEncoding
|
4625
4498
|
], [
|
4626
|
-
|
4499
|
+
pivotReshapeWithEncoding
|
4627
4500
|
]),
|
4628
|
-
encodingYX,
|
4629
4501
|
sortYBandAxis,
|
4630
|
-
|
4502
|
+
sortLegend_sortLegend,
|
4631
4503
|
barParallelConfig,
|
4632
4504
|
theme_theme,
|
4633
4505
|
markStyle_markStyle,
|
@@ -4638,20 +4510,19 @@ const initBarParallel = (spec, context)=>{
|
|
4638
4510
|
...spec
|
4639
4511
|
};
|
4640
4512
|
const { advancedVSeed } = context;
|
4641
|
-
const {
|
4642
|
-
const { unfoldInfo } = datasetReshapeInfo[0];
|
4643
|
-
if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
|
4513
|
+
const { datasetReshapeInfo, dimensions } = advancedVSeed;
|
4514
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
4644
4515
|
const sameDimensionsMode = dimensions.length > 1 && dimensions.every((dim)=>dim.id === dimensions[0].id);
|
4645
4516
|
result.type = 'bar';
|
4646
4517
|
result.direction = 'horizontal';
|
4647
4518
|
result.yField = sameDimensionsMode ? [
|
4648
|
-
|
4519
|
+
unfoldInfo.encodingY
|
4649
4520
|
] : [
|
4650
|
-
|
4651
|
-
unfoldInfo.
|
4521
|
+
unfoldInfo.encodingY,
|
4522
|
+
unfoldInfo.encodingDetail
|
4652
4523
|
];
|
4653
|
-
result.xField =
|
4654
|
-
result.seriesField =
|
4524
|
+
result.xField = foldInfo.measureValue;
|
4525
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
4655
4526
|
result.padding = 0;
|
4656
4527
|
result.region = [
|
4657
4528
|
{
|
@@ -4717,14 +4588,14 @@ const barPercentAdvancedPipeline = [
|
|
4717
4588
|
initAdvancedVSeed_initAdvancedVSeed,
|
4718
4589
|
autoMeasures_autoMeasures,
|
4719
4590
|
autoDimensions_autoDimensions,
|
4591
|
+
encodingForBar,
|
4720
4592
|
pivotAdapter([
|
4721
|
-
|
4593
|
+
reshapeWithEncoding
|
4722
4594
|
], [
|
4723
|
-
|
4595
|
+
pivotReshapeWithEncoding
|
4724
4596
|
]),
|
4725
|
-
encodingYX,
|
4726
4597
|
sortYBandAxis,
|
4727
|
-
|
4598
|
+
sortLegend_sortLegend,
|
4728
4599
|
barPercentConfig,
|
4729
4600
|
theme_theme,
|
4730
4601
|
markStyle_markStyle,
|
@@ -4788,14 +4659,14 @@ const areaAdvancedPipeline = [
|
|
4788
4659
|
initAdvancedVSeed_initAdvancedVSeed,
|
4789
4660
|
autoMeasures_autoMeasures,
|
4790
4661
|
autoDimensions_autoDimensions,
|
4662
|
+
encodingForColumn,
|
4791
4663
|
pivotAdapter([
|
4792
|
-
|
4664
|
+
reshapeWithEncoding
|
4793
4665
|
], [
|
4794
|
-
|
4666
|
+
pivotReshapeWithEncoding
|
4795
4667
|
]),
|
4796
|
-
encodingXY,
|
4797
4668
|
sortXBandAxis,
|
4798
|
-
|
4669
|
+
sortLegend_sortLegend,
|
4799
4670
|
areaConfig,
|
4800
4671
|
theme_theme,
|
4801
4672
|
markStyle_markStyle,
|
@@ -4806,13 +4677,13 @@ const initArea = (spec, context)=>{
|
|
4806
4677
|
...spec
|
4807
4678
|
};
|
4808
4679
|
const { advancedVSeed } = context;
|
4809
|
-
const {
|
4810
|
-
|
4680
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
4681
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
4811
4682
|
result.type = 'area';
|
4812
4683
|
result.direction = 'vertical';
|
4813
|
-
result.
|
4814
|
-
result.
|
4815
|
-
result.seriesField =
|
4684
|
+
result.yField = foldInfo.measureValue;
|
4685
|
+
result.xField = unfoldInfo.encodingX;
|
4686
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
4816
4687
|
result.padding = 0;
|
4817
4688
|
result.region = [
|
4818
4689
|
{
|
@@ -4824,8 +4695,9 @@ const initArea = (spec, context)=>{
|
|
4824
4695
|
};
|
4825
4696
|
const areaStyle_areaStyle = (spec, context)=>{
|
4826
4697
|
const { advancedVSeed } = context;
|
4827
|
-
const { markStyle,
|
4698
|
+
const { markStyle, datasetReshapeInfo, dataset } = advancedVSeed;
|
4828
4699
|
const { areaStyle } = markStyle;
|
4700
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
4829
4701
|
if (!areaStyle) return {
|
4830
4702
|
...spec,
|
4831
4703
|
area: {
|
@@ -4838,7 +4710,7 @@ const areaStyle_areaStyle = (spec, context)=>{
|
|
4838
4710
|
const areaStyles = Array.isArray(areaStyle) ? areaStyle : [
|
4839
4711
|
areaStyle
|
4840
4712
|
];
|
4841
|
-
const group =
|
4713
|
+
const group = unfoldInfo.encodingColorId;
|
4842
4714
|
const areaGroups = (0, external_remeda_namespaceObject.groupBy)(dataset, (d)=>d[group ?? '']);
|
4843
4715
|
const customMap = areaStyles.reduce((result, style, index)=>{
|
4844
4716
|
const { areaColor, areaColorOpacity, areaVisible = true } = style;
|
@@ -4932,14 +4804,14 @@ const areaPercentAdvancedPipeline = [
|
|
4932
4804
|
initAdvancedVSeed_initAdvancedVSeed,
|
4933
4805
|
autoMeasures_autoMeasures,
|
4934
4806
|
autoDimensions_autoDimensions,
|
4807
|
+
encodingForColumn,
|
4935
4808
|
pivotAdapter([
|
4936
|
-
|
4809
|
+
reshapeWithEncoding
|
4937
4810
|
], [
|
4938
|
-
|
4811
|
+
pivotReshapeWithEncoding
|
4939
4812
|
]),
|
4940
|
-
encodingXY,
|
4941
4813
|
sortXBandAxis,
|
4942
|
-
|
4814
|
+
sortLegend_sortLegend,
|
4943
4815
|
areaPercentConfig,
|
4944
4816
|
theme_theme,
|
4945
4817
|
markStyle_markStyle,
|
@@ -5004,16 +4876,20 @@ const registerAreaPercent = ()=>{
|
|
5004
4876
|
Builder._advancedPipelineMap.areaPercent = areaPercentAdvancedPipeline;
|
5005
4877
|
Builder._specPipelineMap.areaPercent = areaPercentSpecPipeline;
|
5006
4878
|
};
|
5007
|
-
const
|
4879
|
+
const autoScatterMeasures = (advancedVSeed, context)=>{
|
5008
4880
|
const result = {
|
5009
4881
|
...advancedVSeed
|
5010
4882
|
};
|
5011
4883
|
const { vseed } = context;
|
5012
|
-
const {
|
4884
|
+
const { dataset, scatterMeasures, measures } = vseed;
|
5013
4885
|
if (!dataset) throw new Error('dataset is required');
|
5014
4886
|
if (0 === dataset.length) return result;
|
5015
|
-
if (
|
5016
|
-
result.measures =
|
4887
|
+
if (scatterMeasures) {
|
4888
|
+
result.measures = scatterMeasuresToMeasureTree(scatterMeasures);
|
4889
|
+
return result;
|
4890
|
+
}
|
4891
|
+
if (measures && measureDepth(measures) > 1) {
|
4892
|
+
result.measures = measures;
|
5017
4893
|
return result;
|
5018
4894
|
}
|
5019
4895
|
const top100dataset = dataset.slice(0, 100);
|
@@ -5021,7 +4897,7 @@ const autoMeasuresBy2M1Group = (advancedVSeed, context)=>{
|
|
5021
4897
|
...prev,
|
5022
4898
|
...cur
|
5023
4899
|
}), {});
|
5024
|
-
const newMeasures = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
|
4900
|
+
const newMeasures = measures || Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
|
5025
4901
|
'',
|
5026
4902
|
null,
|
5027
4903
|
void 0
|
@@ -5029,664 +4905,237 @@ const autoMeasuresBy2M1Group = (advancedVSeed, context)=>{
|
|
5029
4905
|
id: measure,
|
5030
4906
|
alias: measure
|
5031
4907
|
}));
|
5032
|
-
result.measures =
|
4908
|
+
if (0 === newMeasures.length) result.measures = [];
|
4909
|
+
else if (1 === newMeasures.length) result.measures = [
|
4910
|
+
{
|
4911
|
+
id: 'primary',
|
4912
|
+
alias: 'primary',
|
4913
|
+
children: newMeasures
|
4914
|
+
}
|
4915
|
+
];
|
4916
|
+
else if (newMeasures.length > 1) result.measures = [
|
4917
|
+
{
|
4918
|
+
id: 'primary',
|
4919
|
+
alias: 'primary',
|
4920
|
+
children: newMeasures.slice(0, 1)
|
4921
|
+
},
|
4922
|
+
{
|
4923
|
+
id: 'secondary',
|
4924
|
+
alias: 'secondary',
|
4925
|
+
children: newMeasures.slice(1)
|
4926
|
+
}
|
4927
|
+
];
|
5033
4928
|
return result;
|
5034
4929
|
};
|
5035
|
-
const
|
5036
|
-
const
|
5037
|
-
|
5038
|
-
|
5039
|
-
|
5040
|
-
|
5041
|
-
|
5042
|
-
|
5043
|
-
|
5044
|
-
|
5045
|
-
|
5046
|
-
|
5047
|
-
|
5048
|
-
|
5049
|
-
|
5050
|
-
|
4930
|
+
const scatterMeasuresToMeasureTree = (scatterMeasures)=>{
|
4931
|
+
const measureTree = scatterMeasures.map((item, index)=>{
|
4932
|
+
const { xMeasures, yMeasures } = item;
|
4933
|
+
const groupChildren = [];
|
4934
|
+
let id = '';
|
4935
|
+
if (xMeasures) {
|
4936
|
+
const arrXMeasures = Array.isArray(xMeasures) ? xMeasures : [
|
4937
|
+
xMeasures
|
4938
|
+
];
|
4939
|
+
const alias = arrXMeasures.map((item)=>item.alias || item.id).toString();
|
4940
|
+
id += alias;
|
4941
|
+
groupChildren.push({
|
4942
|
+
id: `${index}-x`,
|
4943
|
+
alias: arrXMeasures.map((item)=>item.alias || item.id).toString(),
|
4944
|
+
children: arrXMeasures
|
4945
|
+
});
|
4946
|
+
}
|
4947
|
+
if (yMeasures) {
|
4948
|
+
const arrYMeasures = Array.isArray(yMeasures) ? yMeasures : [
|
4949
|
+
yMeasures
|
4950
|
+
];
|
4951
|
+
const alias = arrYMeasures.map((item)=>item.alias || item.id).toString();
|
4952
|
+
id += alias;
|
4953
|
+
groupChildren.push({
|
4954
|
+
id: `${index}-y`,
|
4955
|
+
alias: arrYMeasures.map((item)=>item.alias || item.id).toString(),
|
4956
|
+
children: arrYMeasures
|
4957
|
+
});
|
4958
|
+
}
|
4959
|
+
return {
|
4960
|
+
id,
|
4961
|
+
alias: id,
|
4962
|
+
children: groupChildren
|
4963
|
+
};
|
5051
4964
|
});
|
5052
|
-
|
5053
|
-
|
5054
|
-
foldInfo: {
|
5055
|
-
foldMap: {},
|
5056
|
-
measureId: '',
|
5057
|
-
measureName: '',
|
5058
|
-
measureValue: ''
|
5059
|
-
},
|
5060
|
-
unfoldInfo: {
|
5061
|
-
groupName: '',
|
5062
|
-
groupId: '',
|
5063
|
-
colorItems: [],
|
5064
|
-
colorIdMap: {}
|
5065
|
-
}
|
4965
|
+
if (1 === scatterMeasures.length) return measureTree[0].children || [];
|
4966
|
+
return measureTree;
|
5066
4967
|
};
|
5067
|
-
const
|
5068
|
-
const {
|
5069
|
-
|
5070
|
-
if (
|
5071
|
-
|
4968
|
+
const encodingForScatter = (advancedVSeed, context)=>{
|
4969
|
+
const { vseed } = context;
|
4970
|
+
const { dimensions } = advancedVSeed;
|
4971
|
+
if (!dimensions) return advancedVSeed;
|
4972
|
+
const encoding = vseed.encoding;
|
4973
|
+
if (encoding) {
|
4974
|
+
const detail = encoding.detail || [];
|
4975
|
+
const color = encoding.color || [
|
4976
|
+
(dimensions[1] || dimensions[0]).id
|
4977
|
+
];
|
4978
|
+
const mergedDetail = (0, external_remeda_namespaceObject.unique)([
|
4979
|
+
...color,
|
4980
|
+
...detail
|
4981
|
+
]);
|
5072
4982
|
return {
|
5073
|
-
|
5074
|
-
|
5075
|
-
|
5076
|
-
|
5077
|
-
|
5078
|
-
measureValue: foldMeasureValue
|
5079
|
-
},
|
5080
|
-
unfoldInfo
|
5081
|
-
};
|
5082
|
-
}
|
5083
|
-
{
|
5084
|
-
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(dataset, [
|
5085
|
-
...dimensions
|
5086
|
-
], [
|
5087
|
-
{
|
5088
|
-
id: foldMeasureValue,
|
5089
|
-
alias: i18n`指标值`
|
4983
|
+
...advancedVSeed,
|
4984
|
+
encoding: {
|
4985
|
+
...encoding,
|
4986
|
+
color,
|
4987
|
+
detail: mergedDetail
|
5090
4988
|
}
|
5091
|
-
], 0, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
|
5092
|
-
return {
|
5093
|
-
dataset: finalDataset,
|
5094
|
-
foldInfo: {
|
5095
|
-
foldMap: {},
|
5096
|
-
measureId: foldMeasureId,
|
5097
|
-
measureName: foldMeasureName,
|
5098
|
-
measureValue: foldMeasureValue
|
5099
|
-
},
|
5100
|
-
unfoldInfo
|
5101
4989
|
};
|
5102
4990
|
}
|
4991
|
+
const dimensionsWithoutMeasureName = dimensions.filter((item)=>item.id !== MeasureName);
|
4992
|
+
const mergedEncoding = {
|
4993
|
+
color: dimensions.slice(0).map((item)=>item.id),
|
4994
|
+
detail: dimensionsWithoutMeasureName.slice(0).map((item)=>item.id),
|
4995
|
+
tooltip: dimensionsWithoutMeasureName.map((item)=>item.id),
|
4996
|
+
label: [],
|
4997
|
+
row: [],
|
4998
|
+
column: []
|
4999
|
+
};
|
5000
|
+
return {
|
5001
|
+
...advancedVSeed,
|
5002
|
+
encoding: mergedEncoding
|
5003
|
+
};
|
5103
5004
|
};
|
5104
|
-
const
|
5005
|
+
const reshapeWithScatterEncoding = (advancedVSeed, context)=>{
|
5105
5006
|
const result = {
|
5106
5007
|
...advancedVSeed
|
5107
5008
|
};
|
5108
5009
|
const { vseed } = context;
|
5109
5010
|
const { dataset } = vseed;
|
5110
|
-
const { dimensions, measures } = advancedVSeed;
|
5111
|
-
if (!measures || !dimensions || !dataset) return result;
|
5011
|
+
const { dimensions, measures, encoding, chartType } = advancedVSeed;
|
5012
|
+
if (!measures || !dimensions || !dataset || !encoding) return result;
|
5112
5013
|
if (0 === measures.length) throw new Error('measures can not be empty');
|
5113
|
-
|
5014
|
+
if (measures.length > 2) throw new Error('measures can not be more than 2');
|
5015
|
+
const foldInfoList = [];
|
5016
|
+
const unfoldInfoList = [];
|
5017
|
+
const datasets = [];
|
5018
|
+
const xMeasures = measures[0];
|
5019
|
+
const yMeasures = measures[1] || xMeasures;
|
5020
|
+
if (xMeasures && xMeasures.children) {
|
5021
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, xMeasures.children, encoding, {
|
5022
|
+
foldMeasureValue: FoldXMeasureValue,
|
5023
|
+
colorItemAsId: true
|
5024
|
+
});
|
5025
|
+
datasets.push(newDataset);
|
5026
|
+
foldInfoList.push(foldInfo);
|
5027
|
+
unfoldInfoList.push(unfoldInfo);
|
5028
|
+
}
|
5029
|
+
if (yMeasures && yMeasures.children) {
|
5030
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(datasets[0], dimensions, yMeasures.children, encoding, {
|
5031
|
+
foldMeasureValue: FoldYMeasureValue,
|
5032
|
+
colorItemAsId: true
|
5033
|
+
});
|
5034
|
+
datasets[0] = newDataset;
|
5035
|
+
foldInfoList.push(foldInfo);
|
5036
|
+
unfoldInfoList.push(unfoldInfo);
|
5037
|
+
}
|
5038
|
+
const unfoldInfo = {
|
5039
|
+
...unfoldInfoList[0],
|
5040
|
+
colorItems: unfoldInfoList.flatMap((d)=>d.colorItems),
|
5041
|
+
colorIdMap: unfoldInfoList.reduce((prev, cur)=>({
|
5042
|
+
...prev,
|
5043
|
+
...cur.colorIdMap
|
5044
|
+
}), {})
|
5045
|
+
};
|
5114
5046
|
return {
|
5115
5047
|
...result,
|
5116
|
-
dataset:
|
5048
|
+
dataset: datasets[0],
|
5117
5049
|
datasetReshapeInfo: [
|
5118
5050
|
{
|
5119
|
-
id:
|
5051
|
+
id: String(chartType),
|
5120
5052
|
index: 0,
|
5121
|
-
foldInfo,
|
5122
|
-
|
5053
|
+
foldInfo: foldInfoList[0],
|
5054
|
+
foldInfoList: foldInfoList,
|
5055
|
+
unfoldInfo: unfoldInfo
|
5123
5056
|
}
|
5124
5057
|
]
|
5125
5058
|
};
|
5126
5059
|
};
|
5127
|
-
const
|
5060
|
+
const pivotReshapeWithScatterEncoding = (advancedVSeed, context)=>{
|
5128
5061
|
const result = {
|
5129
5062
|
...advancedVSeed
|
5130
5063
|
};
|
5131
5064
|
const { vseed } = context;
|
5132
5065
|
const { dataset } = vseed;
|
5133
|
-
const { measures } = advancedVSeed;
|
5134
|
-
|
5135
|
-
if (!measures || !dimensions) return result;
|
5066
|
+
const { dimensions, measures, encoding, chartType } = advancedVSeed;
|
5067
|
+
if (!measures || !dimensions || !dataset || !encoding) return result;
|
5136
5068
|
const measureGroups = [];
|
5137
|
-
|
5138
|
-
|
5069
|
+
const depth = measureDepth(measures);
|
5070
|
+
if (3 === depth) measures.forEach((measure)=>{
|
5071
|
+
measureGroups.push(measure.children);
|
5139
5072
|
});
|
5140
|
-
|
5073
|
+
else if (2 === depth) measureGroups.push(measures);
|
5074
|
+
const datasetList = [];
|
5141
5075
|
const datasetReshapeInfo = [];
|
5142
|
-
measureGroups.forEach((
|
5143
|
-
|
5144
|
-
if (
|
5145
|
-
const
|
5146
|
-
const
|
5147
|
-
const
|
5148
|
-
|
5149
|
-
|
5150
|
-
|
5151
|
-
|
5152
|
-
|
5076
|
+
measureGroups.forEach((measures, index)=>{
|
5077
|
+
if (0 === measures.length) throw new Error('measures can not be empty');
|
5078
|
+
if (measures.length > 2) throw new Error('measures can not be more than 2');
|
5079
|
+
const foldInfoList = [];
|
5080
|
+
const unfoldInfoList = [];
|
5081
|
+
const datasets = [];
|
5082
|
+
const xMeasures = measures[0];
|
5083
|
+
const yMeasures = measures[1] || xMeasures;
|
5084
|
+
if (xMeasures && xMeasures.children) {
|
5085
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, xMeasures.children, encoding, {
|
5086
|
+
foldMeasureValue: `${FoldXMeasureValue}${index}`,
|
5087
|
+
colorItemAsId: true
|
5088
|
+
});
|
5089
|
+
datasets.push(newDataset);
|
5090
|
+
foldInfoList.push(foldInfo);
|
5091
|
+
unfoldInfoList.push(unfoldInfo);
|
5092
|
+
}
|
5093
|
+
if (yMeasures && yMeasures.children) {
|
5094
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, yMeasures.children, encoding, {
|
5095
|
+
foldMeasureValue: `${FoldYMeasureValue}${index}`,
|
5096
|
+
colorItemAsId: true
|
5097
|
+
});
|
5098
|
+
datasets.push(newDataset);
|
5099
|
+
foldInfoList.push(foldInfo);
|
5100
|
+
unfoldInfoList.push(unfoldInfo);
|
5101
|
+
}
|
5102
|
+
const unfoldInfo = {
|
5103
|
+
...unfoldInfoList[0],
|
5104
|
+
colorItems: unfoldInfoList.flatMap((d)=>d.colorItems),
|
5105
|
+
colorIdMap: unfoldInfoList.reduce((prev, cur)=>({
|
5106
|
+
...prev,
|
5107
|
+
...cur.colorIdMap
|
5108
|
+
}), {})
|
5109
|
+
};
|
5153
5110
|
const reshapeInfo = {
|
5154
|
-
id:
|
5111
|
+
id: `${chartType}-${index}`,
|
5155
5112
|
index,
|
5156
|
-
foldInfo,
|
5157
|
-
|
5158
|
-
|
5159
|
-
newDatasets.push(newSubDataset);
|
5160
|
-
datasetReshapeInfo.push(reshapeInfo);
|
5161
|
-
});
|
5162
|
-
return {
|
5163
|
-
...result,
|
5164
|
-
dataset: newDatasets,
|
5165
|
-
datasetReshapeInfo: datasetReshapeInfo
|
5166
|
-
};
|
5167
|
-
};
|
5168
|
-
const encodingAreaRange = (advancedVSeed)=>{
|
5169
|
-
const result = {
|
5170
|
-
...advancedVSeed
|
5171
|
-
};
|
5172
|
-
const { datasetReshapeInfo, measures } = advancedVSeed;
|
5173
|
-
if (!datasetReshapeInfo || !measures) return result;
|
5174
|
-
const encoding = datasetReshapeInfo.reduce((prev, cur, index)=>{
|
5175
|
-
const measure = measures[index];
|
5176
|
-
if ('children' in measure) {
|
5177
|
-
const m1 = measure.children?.[0];
|
5178
|
-
const m2 = measure.children?.[1] || m1;
|
5179
|
-
const { foldInfo, unfoldInfo } = cur;
|
5180
|
-
const x = [
|
5181
|
-
unfoldInfo.groupId
|
5182
|
-
];
|
5183
|
-
const y = [
|
5184
|
-
m1?.id,
|
5185
|
-
m2?.id
|
5186
|
-
];
|
5187
|
-
const group = [
|
5188
|
-
unfoldInfo.groupId
|
5189
|
-
];
|
5190
|
-
const color = [
|
5191
|
-
foldInfo.measureName
|
5192
|
-
];
|
5193
|
-
return [
|
5194
|
-
...prev,
|
5195
|
-
{
|
5196
|
-
x,
|
5197
|
-
y,
|
5198
|
-
group,
|
5199
|
-
color
|
5200
|
-
}
|
5201
|
-
];
|
5202
|
-
}
|
5203
|
-
{
|
5204
|
-
const m1 = measures[index];
|
5205
|
-
const m2 = measures[index + 1] || m1;
|
5206
|
-
const { foldInfo, unfoldInfo } = cur;
|
5207
|
-
const x = [
|
5208
|
-
unfoldInfo.groupId
|
5209
|
-
];
|
5210
|
-
const y = [
|
5211
|
-
m1.id,
|
5212
|
-
m2.id
|
5213
|
-
];
|
5214
|
-
const group = [
|
5215
|
-
unfoldInfo.groupId
|
5216
|
-
];
|
5217
|
-
const color = [
|
5218
|
-
foldInfo.measureName
|
5219
|
-
];
|
5220
|
-
return [
|
5221
|
-
...prev,
|
5222
|
-
{
|
5223
|
-
x,
|
5224
|
-
y,
|
5225
|
-
group,
|
5226
|
-
color
|
5227
|
-
}
|
5228
|
-
];
|
5229
|
-
}
|
5230
|
-
}, []);
|
5231
|
-
return {
|
5232
|
-
...result,
|
5233
|
-
encoding
|
5234
|
-
};
|
5235
|
-
};
|
5236
|
-
const areaRangeAdvancedPipeline = [
|
5237
|
-
initAdvancedVSeed_initAdvancedVSeed,
|
5238
|
-
autoMeasuresBy2M1Group,
|
5239
|
-
autoDimensions_autoDimensions,
|
5240
|
-
pivotAdapter([
|
5241
|
-
reshapeTo1D
|
5242
|
-
], [
|
5243
|
-
pivotReshapeTo1D
|
5244
|
-
]),
|
5245
|
-
encodingAreaRange,
|
5246
|
-
sortXBandAxis,
|
5247
|
-
areaConfig,
|
5248
|
-
theme_theme,
|
5249
|
-
markStyle_markStyle,
|
5250
|
-
annotation_annotation
|
5251
|
-
];
|
5252
|
-
const series = (...args)=>{
|
5253
|
-
const result = {
|
5254
|
-
type: 'common',
|
5255
|
-
padding: 0,
|
5256
|
-
region: [
|
5257
|
-
{
|
5258
|
-
clip: true
|
5259
|
-
}
|
5260
|
-
]
|
5261
|
-
};
|
5262
|
-
return (_, context)=>{
|
5263
|
-
result.series = args.map((pipeline)=>execPipeline(pipeline, context, {}));
|
5264
|
-
return result;
|
5265
|
-
};
|
5266
|
-
};
|
5267
|
-
const seriesDualAxis = (...args)=>{
|
5268
|
-
const result = {
|
5269
|
-
type: 'common',
|
5270
|
-
padding: 0,
|
5271
|
-
region: [
|
5272
|
-
{
|
5273
|
-
clip: true
|
5274
|
-
}
|
5275
|
-
]
|
5276
|
-
};
|
5277
|
-
const createDualContext = (context, index)=>{
|
5278
|
-
const { advancedVSeed } = context;
|
5279
|
-
const dataset = advancedVSeed.dataset[index];
|
5280
|
-
return {
|
5281
|
-
...context,
|
5282
|
-
advancedVSeed: {
|
5283
|
-
...advancedVSeed,
|
5284
|
-
dataset: dataset
|
5285
|
-
}
|
5286
|
-
};
|
5287
|
-
};
|
5288
|
-
return (_, context)=>{
|
5289
|
-
result.series = args.map((pipeline, index)=>{
|
5290
|
-
const seriesContext = createDualContext(context, index);
|
5291
|
-
return execPipeline(pipeline, seriesContext, {});
|
5292
|
-
});
|
5293
|
-
return result;
|
5294
|
-
};
|
5295
|
-
};
|
5296
|
-
const initAreaRange = (spec, context)=>{
|
5297
|
-
const result = {
|
5298
|
-
...spec
|
5299
|
-
};
|
5300
|
-
const { advancedVSeed } = context;
|
5301
|
-
const { encoding } = advancedVSeed;
|
5302
|
-
if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
|
5303
|
-
const { color } = advancedVSeed.config.areaRange;
|
5304
|
-
result.type = 'rangeArea';
|
5305
|
-
result.direction = 'vertical';
|
5306
|
-
result.stack = false;
|
5307
|
-
result.xField = encoding[0].x[0];
|
5308
|
-
result.yField = [
|
5309
|
-
encoding[0].y[0],
|
5310
|
-
encoding[0].y[1]
|
5311
|
-
];
|
5312
|
-
result.animation = true;
|
5313
|
-
result.area = {
|
5314
|
-
style: {
|
5315
|
-
fill: color.colorScheme?.[0]
|
5316
|
-
}
|
5317
|
-
};
|
5318
|
-
return result;
|
5319
|
-
};
|
5320
|
-
const initAreaRangeLine1 = (spec, context)=>{
|
5321
|
-
const result = {
|
5322
|
-
...spec
|
5323
|
-
};
|
5324
|
-
const { advancedVSeed } = context;
|
5325
|
-
const { encoding } = advancedVSeed;
|
5326
|
-
if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
|
5327
|
-
const { color } = advancedVSeed.config.areaRange;
|
5328
|
-
result.type = 'line';
|
5329
|
-
result.direction = 'vertical';
|
5330
|
-
result.stack = false;
|
5331
|
-
result.xField = encoding[0].x[0];
|
5332
|
-
result.yField = [
|
5333
|
-
encoding[0].y[0]
|
5334
|
-
];
|
5335
|
-
result.animation = true;
|
5336
|
-
result.line = {
|
5337
|
-
style: {
|
5338
|
-
stroke: color.colorScheme?.[0]
|
5339
|
-
}
|
5340
|
-
};
|
5341
|
-
result.point = {
|
5342
|
-
style: {
|
5343
|
-
visible: false,
|
5344
|
-
fill: color.colorScheme?.[0]
|
5345
|
-
}
|
5346
|
-
};
|
5347
|
-
return result;
|
5348
|
-
};
|
5349
|
-
const initAreaRangeLine2 = (spec, context)=>{
|
5350
|
-
const result = {
|
5351
|
-
...spec
|
5352
|
-
};
|
5353
|
-
const { advancedVSeed } = context;
|
5354
|
-
const { encoding } = advancedVSeed;
|
5355
|
-
if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
|
5356
|
-
const { color } = advancedVSeed.config.areaRange;
|
5357
|
-
result.type = 'line';
|
5358
|
-
result.direction = 'vertical';
|
5359
|
-
result.stack = false;
|
5360
|
-
result.xField = encoding[0].x[0];
|
5361
|
-
result.yField = [
|
5362
|
-
encoding[0].y[1]
|
5363
|
-
];
|
5364
|
-
result.animation = true;
|
5365
|
-
result.line = {
|
5366
|
-
style: {
|
5367
|
-
stroke: color.colorScheme?.[0]
|
5368
|
-
}
|
5369
|
-
};
|
5370
|
-
result.point = {
|
5371
|
-
style: {
|
5372
|
-
visible: false,
|
5373
|
-
fill: color.colorScheme?.[0]
|
5374
|
-
}
|
5375
|
-
};
|
5376
|
-
return result;
|
5377
|
-
};
|
5378
|
-
const tooltipDisable = (spec)=>{
|
5379
|
-
const result = {
|
5380
|
-
...spec
|
5381
|
-
};
|
5382
|
-
result.tooltip = {
|
5383
|
-
visible: false
|
5384
|
-
};
|
5385
|
-
return result;
|
5386
|
-
};
|
5387
|
-
const tooltipAreaRange = (spec, context)=>{
|
5388
|
-
const result = {
|
5389
|
-
...spec
|
5390
|
-
};
|
5391
|
-
const { advancedVSeed } = context;
|
5392
|
-
const { measures, datasetReshapeInfo, chartType, locale, encoding } = advancedVSeed;
|
5393
|
-
const baseConfig = advancedVSeed.config[chartType];
|
5394
|
-
const { tooltip = {
|
5395
|
-
enable: true
|
5396
|
-
} } = baseConfig;
|
5397
|
-
const { enable } = tooltip;
|
5398
|
-
const { groupName } = datasetReshapeInfo[0].unfoldInfo;
|
5399
|
-
const y = encoding[0]?.y || [];
|
5400
|
-
result.tooltip = {
|
5401
|
-
visible: enable,
|
5402
|
-
dimension: {
|
5403
|
-
content: [
|
5404
|
-
{
|
5405
|
-
visible: true,
|
5406
|
-
key: (datum)=>datum && datum[groupName] || '',
|
5407
|
-
value: (datum)=>{
|
5408
|
-
if (!datum) return '';
|
5409
|
-
const text = y.map((id)=>{
|
5410
|
-
const value = datum[id];
|
5411
|
-
const measure = findMeasureById(measures, id);
|
5412
|
-
if (!measure) return String(value);
|
5413
|
-
const { format = {}, autoFormat = true } = measure;
|
5414
|
-
if (!(0, external_remeda_namespaceObject.isEmpty)(format)) {
|
5415
|
-
const formatter = createFormatter(format);
|
5416
|
-
return formatter(value);
|
5417
|
-
}
|
5418
|
-
if (autoFormat) return autoFormatter(value, locale);
|
5419
|
-
return String(value);
|
5420
|
-
});
|
5421
|
-
return text.join(' ~ ');
|
5422
|
-
},
|
5423
|
-
shapeType: 'rectRound'
|
5424
|
-
},
|
5425
|
-
...y.map((id)=>{
|
5426
|
-
const measure = findMeasureById(measures, id);
|
5427
|
-
return {
|
5428
|
-
visible: true,
|
5429
|
-
key: measure?.alias || id,
|
5430
|
-
value: (datum)=>{
|
5431
|
-
if (!datum) return '';
|
5432
|
-
const value = datum[id];
|
5433
|
-
const measure = findMeasureById(measures, id);
|
5434
|
-
if (!measure) return String(value);
|
5435
|
-
const { format = {}, autoFormat = true } = measure;
|
5436
|
-
if (!(0, external_remeda_namespaceObject.isEmpty)(format)) {
|
5437
|
-
const formatter = createFormatter(format);
|
5438
|
-
return formatter(value);
|
5439
|
-
}
|
5440
|
-
if (autoFormat) return autoFormatter(value, locale);
|
5441
|
-
return String(value);
|
5442
|
-
},
|
5443
|
-
shapeType: 'rectRound'
|
5444
|
-
};
|
5445
|
-
})
|
5446
|
-
]
|
5447
|
-
}
|
5448
|
-
};
|
5449
|
-
return result;
|
5450
|
-
};
|
5451
|
-
const areaRange = [
|
5452
|
-
series([
|
5453
|
-
initAreaRange,
|
5454
|
-
areaStyle_areaStyle
|
5455
|
-
], [
|
5456
|
-
initAreaRangeLine1,
|
5457
|
-
lineStyle_lineStyle,
|
5458
|
-
pointStyle_pointStyle,
|
5459
|
-
pointStateDimensionHover,
|
5460
|
-
tooltipDisable
|
5461
|
-
], [
|
5462
|
-
initAreaRangeLine2,
|
5463
|
-
lineStyle_lineStyle,
|
5464
|
-
pointStyle_pointStyle,
|
5465
|
-
pointStateDimensionHover,
|
5466
|
-
tooltipDisable
|
5467
|
-
]),
|
5468
|
-
datasetXY,
|
5469
|
-
progressive,
|
5470
|
-
background_backgroundColor,
|
5471
|
-
xBand,
|
5472
|
-
yLinear,
|
5473
|
-
label_label,
|
5474
|
-
tooltipAreaRange,
|
5475
|
-
verticalCrosshairLine,
|
5476
|
-
annotationPoint_annotationPoint,
|
5477
|
-
annotationVerticalLine_annotationVerticalLine,
|
5478
|
-
annotationHorizontalLine_annotationHorizontalLine,
|
5479
|
-
annotationArea_annotationArea
|
5480
|
-
];
|
5481
|
-
const pivotAreaRange = [
|
5482
|
-
initPivot,
|
5483
|
-
pivotGridStyle,
|
5484
|
-
pivotIndicators_pivotIndicatorsAsRow,
|
5485
|
-
datasetPivot,
|
5486
|
-
pivotIndicators_pivotIndicators([
|
5487
|
-
series([
|
5488
|
-
initAreaRange,
|
5489
|
-
areaStyle_areaStyle
|
5490
|
-
], [
|
5491
|
-
initAreaRangeLine1,
|
5492
|
-
lineStyle_lineStyle,
|
5493
|
-
pointStyle_pointStyle,
|
5494
|
-
pointStateDimensionHover,
|
5495
|
-
tooltipDisable
|
5496
|
-
], [
|
5497
|
-
initAreaRangeLine2,
|
5498
|
-
lineStyle_lineStyle,
|
5499
|
-
pointStyle_pointStyle,
|
5500
|
-
pointStateDimensionHover,
|
5501
|
-
tooltipDisable
|
5502
|
-
]),
|
5503
|
-
background_backgroundColor,
|
5504
|
-
datasetXY,
|
5505
|
-
progressive,
|
5506
|
-
xBand,
|
5507
|
-
yLinear,
|
5508
|
-
label_label,
|
5509
|
-
tooltipAreaRange,
|
5510
|
-
verticalCrosshairLine,
|
5511
|
-
annotationPoint_annotationPoint,
|
5512
|
-
annotationVerticalLine_annotationVerticalLine,
|
5513
|
-
annotationHorizontalLine_annotationHorizontalLine,
|
5514
|
-
annotationArea_annotationArea
|
5515
|
-
]),
|
5516
|
-
pivotRowDimensions,
|
5517
|
-
pivotColumnDimensions
|
5518
|
-
];
|
5519
|
-
const areaRangeSpecPipeline = [
|
5520
|
-
pivotAdapter_pivotAdapter(areaRange, pivotAreaRange)
|
5521
|
-
];
|
5522
|
-
const registerAreaRange = ()=>{
|
5523
|
-
Builder._advancedPipelineMap.areaRange = areaRangeAdvancedPipeline;
|
5524
|
-
Builder._specPipelineMap.areaRange = areaRangeSpecPipeline;
|
5525
|
-
};
|
5526
|
-
const dataReshapeFor1D2M_emptyReshapeResult = {
|
5527
|
-
dataset: [],
|
5528
|
-
foldInfo: {
|
5529
|
-
foldMap: {},
|
5530
|
-
measureId: '',
|
5531
|
-
measureName: '',
|
5532
|
-
measureValue: ''
|
5533
|
-
},
|
5534
|
-
unfoldInfo: {
|
5535
|
-
groupName: '',
|
5536
|
-
groupId: '',
|
5537
|
-
colorItems: [],
|
5538
|
-
colorIdMap: {}
|
5539
|
-
}
|
5540
|
-
};
|
5541
|
-
const dataReshapeFor1D2M = (dataset, dimensions, measures, options)=>{
|
5542
|
-
const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue, unfoldDimensionGroup = UnfoldDimensionGroup, unfoldDimensionGroupId = UnfoldDimensionGroupId } = options || {};
|
5543
|
-
if (0 === dimensions.length && 0 === measures.length) return dataReshapeFor1D2M_emptyReshapeResult;
|
5544
|
-
const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures.length > 1 ? measures.slice(1) : measures, foldMeasureId, foldMeasureName, foldMeasureValue);
|
5545
|
-
if (0 === dimensions.length) {
|
5546
|
-
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, [
|
5547
|
-
{
|
5548
|
-
id: foldMeasureValue,
|
5549
|
-
alias: i18n`指标值`,
|
5550
|
-
location: 'dimension'
|
5551
|
-
}
|
5552
|
-
], [
|
5553
|
-
{
|
5554
|
-
id: foldMeasureValue,
|
5555
|
-
alias: i18n`指标值`
|
5556
|
-
}
|
5557
|
-
], 0, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
|
5558
|
-
return {
|
5559
|
-
dataset: finalDataset,
|
5560
|
-
foldInfo,
|
5561
|
-
unfoldInfo
|
5562
|
-
};
|
5563
|
-
}
|
5564
|
-
{
|
5565
|
-
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, [
|
5566
|
-
...dimensions
|
5567
|
-
], [
|
5568
|
-
{
|
5569
|
-
id: foldMeasureValue,
|
5570
|
-
alias: i18n`指标值`
|
5571
|
-
}
|
5572
|
-
], 0, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
|
5573
|
-
return {
|
5574
|
-
dataset: finalDataset,
|
5575
|
-
foldInfo,
|
5576
|
-
unfoldInfo
|
5577
|
-
};
|
5578
|
-
}
|
5579
|
-
};
|
5580
|
-
const reshapeTo1D2M = (advancedVSeed, context)=>{
|
5581
|
-
const result = {
|
5582
|
-
...advancedVSeed
|
5583
|
-
};
|
5584
|
-
const { vseed } = context;
|
5585
|
-
const { dataset } = vseed;
|
5586
|
-
const { dimensions, measures } = advancedVSeed;
|
5587
|
-
if (!measures || !dimensions || !dataset) return result;
|
5588
|
-
if (0 === measures.length) throw new Error('measures can not be empty');
|
5589
|
-
const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor1D2M(dataset, dimensions, measures);
|
5590
|
-
return {
|
5591
|
-
...result,
|
5592
|
-
dataset: newDatasets,
|
5593
|
-
datasetReshapeInfo: [
|
5594
|
-
{
|
5595
|
-
id: '1D2M',
|
5596
|
-
index: 0,
|
5597
|
-
foldInfo,
|
5598
|
-
unfoldInfo
|
5599
|
-
}
|
5600
|
-
]
|
5601
|
-
};
|
5602
|
-
};
|
5603
|
-
const pivotReshapeTo1D2M = (advancedVSeed, context)=>{
|
5604
|
-
const result = {
|
5605
|
-
...advancedVSeed
|
5606
|
-
};
|
5607
|
-
const { vseed } = context;
|
5608
|
-
const { dataset } = vseed;
|
5609
|
-
const { measures } = advancedVSeed;
|
5610
|
-
const dimensions = advancedVSeed.dimensions;
|
5611
|
-
if (!measures || !dimensions) return result;
|
5612
|
-
const measureGroups = [];
|
5613
|
-
if (measures) measures.forEach((measure)=>{
|
5614
|
-
if (measure.children && measure.children.length > 0) measureGroups.push(measure);
|
5615
|
-
});
|
5616
|
-
const newDatasets = [];
|
5617
|
-
const datasetReshapeInfo = [];
|
5618
|
-
measureGroups.forEach((measureGroup, index)=>{
|
5619
|
-
const measures = measureGroup.children;
|
5620
|
-
if (!measures) return;
|
5621
|
-
const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
|
5622
|
-
const groupId = measureGroup.id;
|
5623
|
-
const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeFor1D2M(dataset, commonDimensions, measures, {
|
5624
|
-
foldMeasureId: FoldMeasureId,
|
5625
|
-
foldMeasureName: FoldMeasureName,
|
5626
|
-
foldMeasureValue: FoldMeasureValue + groupId,
|
5627
|
-
unfoldDimensionGroup: UnfoldDimensionGroup
|
5628
|
-
});
|
5629
|
-
const reshapeInfo = {
|
5630
|
-
id: groupId,
|
5631
|
-
index,
|
5632
|
-
foldInfo,
|
5633
|
-
unfoldInfo
|
5113
|
+
foldInfo: foldInfoList[0],
|
5114
|
+
foldInfoList: foldInfoList,
|
5115
|
+
unfoldInfo: unfoldInfo
|
5634
5116
|
};
|
5635
|
-
newDatasets.push(newSubDataset);
|
5636
5117
|
datasetReshapeInfo.push(reshapeInfo);
|
5118
|
+
datasetList.push(datasets[0].map((d, index)=>({
|
5119
|
+
...d,
|
5120
|
+
...datasets[1]?.[index] || {}
|
5121
|
+
})));
|
5637
5122
|
});
|
5638
5123
|
return {
|
5639
5124
|
...result,
|
5640
|
-
dataset:
|
5125
|
+
dataset: datasetList,
|
5641
5126
|
datasetReshapeInfo: datasetReshapeInfo
|
5642
5127
|
};
|
5643
5128
|
};
|
5644
|
-
const encodingYY = (advancedVSeed)=>{
|
5645
|
-
const result = {
|
5646
|
-
...advancedVSeed
|
5647
|
-
};
|
5648
|
-
const { datasetReshapeInfo, measures } = advancedVSeed;
|
5649
|
-
if (!datasetReshapeInfo || !measures) return result;
|
5650
|
-
const firstMeasure = findFirstMeasure(measures);
|
5651
|
-
const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
|
5652
|
-
const { foldInfo, unfoldInfo } = cur;
|
5653
|
-
const x = [
|
5654
|
-
firstMeasure?.id
|
5655
|
-
];
|
5656
|
-
const y = [
|
5657
|
-
foldInfo.measureValue
|
5658
|
-
];
|
5659
|
-
const group = [
|
5660
|
-
unfoldInfo.groupId
|
5661
|
-
];
|
5662
|
-
const color = [
|
5663
|
-
unfoldInfo.groupId
|
5664
|
-
];
|
5665
|
-
return [
|
5666
|
-
...prev,
|
5667
|
-
{
|
5668
|
-
x,
|
5669
|
-
y,
|
5670
|
-
group,
|
5671
|
-
color
|
5672
|
-
}
|
5673
|
-
];
|
5674
|
-
}, []);
|
5675
|
-
return {
|
5676
|
-
...result,
|
5677
|
-
encoding
|
5678
|
-
};
|
5679
|
-
};
|
5680
5129
|
const scatterAdvancedPipeline = [
|
5681
5130
|
initAdvancedVSeed_initAdvancedVSeed,
|
5682
|
-
|
5131
|
+
autoScatterMeasures,
|
5683
5132
|
autoDimensions_autoDimensions,
|
5133
|
+
encodingForScatter,
|
5684
5134
|
pivotAdapter([
|
5685
|
-
|
5135
|
+
reshapeWithScatterEncoding
|
5686
5136
|
], [
|
5687
|
-
|
5137
|
+
pivotReshapeWithScatterEncoding
|
5688
5138
|
]),
|
5689
|
-
encodingYY,
|
5690
5139
|
scatterConfig,
|
5691
5140
|
theme_theme,
|
5692
5141
|
markStyle_markStyle,
|
@@ -5697,13 +5146,13 @@ const initScatter = (spec, context)=>{
|
|
5697
5146
|
...spec
|
5698
5147
|
};
|
5699
5148
|
const { advancedVSeed } = context;
|
5700
|
-
const {
|
5701
|
-
|
5149
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
5150
|
+
const { unfoldInfo, foldInfoList } = datasetReshapeInfo[0];
|
5702
5151
|
result.type = 'scatter';
|
5703
5152
|
result.direction = 'vertical';
|
5704
|
-
result.xField =
|
5705
|
-
result.yField =
|
5706
|
-
result.seriesField =
|
5153
|
+
result.xField = foldInfoList?.[0].measureValue;
|
5154
|
+
if (foldInfoList?.[1]) result.yField = foldInfoList[1].measureValue;
|
5155
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
5707
5156
|
result.padding = 0;
|
5708
5157
|
result.region = [
|
5709
5158
|
{
|
@@ -5713,6 +5162,20 @@ const initScatter = (spec, context)=>{
|
|
5713
5162
|
result.animation = true;
|
5714
5163
|
return result;
|
5715
5164
|
};
|
5165
|
+
const datasetScatter = (spec, context)=>{
|
5166
|
+
const { advancedVSeed, vseed } = context;
|
5167
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
5168
|
+
const id = datasetReshapeInfo[0].id;
|
5169
|
+
const fields = {};
|
5170
|
+
return {
|
5171
|
+
...spec,
|
5172
|
+
data: {
|
5173
|
+
id,
|
5174
|
+
values: isPivotChart(vseed) ? void 0 : advancedVSeed.dataset.flat(),
|
5175
|
+
fields: fields
|
5176
|
+
}
|
5177
|
+
};
|
5178
|
+
};
|
5716
5179
|
const horizontalCrosshairLine = (spec, context)=>{
|
5717
5180
|
const result = {
|
5718
5181
|
...spec
|
@@ -5761,7 +5224,7 @@ const scatter = [
|
|
5761
5224
|
initScatter,
|
5762
5225
|
color_color,
|
5763
5226
|
background_backgroundColor,
|
5764
|
-
|
5227
|
+
datasetScatter,
|
5765
5228
|
progressive,
|
5766
5229
|
xLinear,
|
5767
5230
|
yLinear,
|
@@ -5786,7 +5249,7 @@ const pivotScatter = [
|
|
5786
5249
|
initScatter,
|
5787
5250
|
color_color,
|
5788
5251
|
background_backgroundColor,
|
5789
|
-
|
5252
|
+
datasetScatter,
|
5790
5253
|
progressive,
|
5791
5254
|
xLinear,
|
5792
5255
|
yLinear,
|
@@ -5812,41 +5275,169 @@ const registerScatter = ()=>{
|
|
5812
5275
|
Builder._advancedPipelineMap.scatter = scatterAdvancedPipeline;
|
5813
5276
|
Builder._specPipelineMap.scatter = scatterSpecPipeline;
|
5814
5277
|
};
|
5815
|
-
const
|
5278
|
+
const autoDualMeasures = (advancedVSeed, context)=>{
|
5279
|
+
const result = {
|
5280
|
+
...advancedVSeed
|
5281
|
+
};
|
5282
|
+
const { vseed } = context;
|
5283
|
+
const { dataset, dualMeasures, measures } = vseed;
|
5284
|
+
if (!dataset) throw new Error('dataset is required');
|
5285
|
+
if (0 === dataset.length) return result;
|
5286
|
+
if (dualMeasures) {
|
5287
|
+
result.measures = dualMeasuresToMeasureTree(dualMeasures);
|
5288
|
+
return result;
|
5289
|
+
}
|
5290
|
+
if (measures && measureDepth(measures) > 1) {
|
5291
|
+
result.measures = measures;
|
5292
|
+
return result;
|
5293
|
+
}
|
5294
|
+
const top100dataset = dataset.slice(0, 100);
|
5295
|
+
const sample = top100dataset.reduce((prev, cur)=>({
|
5296
|
+
...prev,
|
5297
|
+
...cur
|
5298
|
+
}), {});
|
5299
|
+
const newMeasures = measures || Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
|
5300
|
+
'',
|
5301
|
+
null,
|
5302
|
+
void 0
|
5303
|
+
].includes(key)).map((measure)=>({
|
5304
|
+
id: measure,
|
5305
|
+
alias: measure
|
5306
|
+
}));
|
5307
|
+
if (0 === newMeasures.length) result.measures = [];
|
5308
|
+
else if (1 === newMeasures.length) result.measures = [
|
5309
|
+
{
|
5310
|
+
id: 'primary',
|
5311
|
+
alias: 'primary',
|
5312
|
+
children: newMeasures
|
5313
|
+
}
|
5314
|
+
];
|
5315
|
+
else if (newMeasures.length > 1) result.measures = [
|
5316
|
+
{
|
5317
|
+
id: 'primary',
|
5318
|
+
alias: 'primary',
|
5319
|
+
children: newMeasures.slice(0, 1)
|
5320
|
+
},
|
5321
|
+
{
|
5322
|
+
id: 'secondary',
|
5323
|
+
alias: 'secondary',
|
5324
|
+
children: newMeasures.slice(1)
|
5325
|
+
}
|
5326
|
+
];
|
5327
|
+
return result;
|
5328
|
+
};
|
5329
|
+
const dualMeasuresToMeasureTree = (dualMeasures)=>{
|
5330
|
+
const measureTree = dualMeasures.map((item, index)=>{
|
5331
|
+
const { primaryMeasures, secondaryMeasures } = item;
|
5332
|
+
const groupChildren = [];
|
5333
|
+
let id = '';
|
5334
|
+
if (primaryMeasures) {
|
5335
|
+
const arrPrimaryMeasures = Array.isArray(primaryMeasures) ? primaryMeasures : [
|
5336
|
+
primaryMeasures
|
5337
|
+
];
|
5338
|
+
const alias = arrPrimaryMeasures.map((item)=>item.alias || item.id).toString();
|
5339
|
+
id += alias;
|
5340
|
+
groupChildren.push({
|
5341
|
+
id: `${index}-primary`,
|
5342
|
+
alias: arrPrimaryMeasures.map((item)=>item.alias || item.id).toString(),
|
5343
|
+
children: arrPrimaryMeasures
|
5344
|
+
});
|
5345
|
+
}
|
5346
|
+
if (secondaryMeasures) {
|
5347
|
+
const arrSecondaryMeasures = Array.isArray(secondaryMeasures) ? secondaryMeasures : [
|
5348
|
+
secondaryMeasures
|
5349
|
+
];
|
5350
|
+
const alias = arrSecondaryMeasures.map((item)=>item.alias || item.id).toString();
|
5351
|
+
id += alias;
|
5352
|
+
groupChildren.push({
|
5353
|
+
id: `${index}-secondary`,
|
5354
|
+
alias: arrSecondaryMeasures.map((item)=>item.alias || item.id).toString(),
|
5355
|
+
children: arrSecondaryMeasures
|
5356
|
+
});
|
5357
|
+
}
|
5358
|
+
return {
|
5359
|
+
id,
|
5360
|
+
alias: id,
|
5361
|
+
children: groupChildren
|
5362
|
+
};
|
5363
|
+
});
|
5364
|
+
if (1 === dualMeasures.length) return measureTree[0].children || [];
|
5365
|
+
return measureTree;
|
5366
|
+
};
|
5367
|
+
const encodingForDualAxis = (advancedVSeed, context)=>{
|
5368
|
+
const { vseed } = context;
|
5369
|
+
const { dimensions } = advancedVSeed;
|
5370
|
+
if (!dimensions) return advancedVSeed;
|
5371
|
+
const encoding = vseed.encoding;
|
5372
|
+
if (encoding) {
|
5373
|
+
const x = encoding.x || [
|
5374
|
+
dimensions[0].id
|
5375
|
+
];
|
5376
|
+
const color = encoding.color || [
|
5377
|
+
(dimensions[1] || dimensions[0]).id
|
5378
|
+
];
|
5379
|
+
const detail = encoding.detail || [];
|
5380
|
+
const mergedDetail = (0, external_remeda_namespaceObject.unique)([
|
5381
|
+
...color,
|
5382
|
+
...detail
|
5383
|
+
]);
|
5384
|
+
return {
|
5385
|
+
...advancedVSeed,
|
5386
|
+
encoding: {
|
5387
|
+
...encoding,
|
5388
|
+
x,
|
5389
|
+
color,
|
5390
|
+
detail: mergedDetail
|
5391
|
+
}
|
5392
|
+
};
|
5393
|
+
}
|
5394
|
+
const mergedEncoding = {
|
5395
|
+
x: dimensions.slice(0, 1).map((item)=>item.id),
|
5396
|
+
color: dimensions.slice(1).map((item)=>item.id),
|
5397
|
+
detail: dimensions.slice(1).map((item)=>item.id),
|
5398
|
+
tooltip: dimensions.map((item)=>item.id),
|
5399
|
+
label: [],
|
5400
|
+
row: [],
|
5401
|
+
column: []
|
5402
|
+
};
|
5403
|
+
return {
|
5404
|
+
...advancedVSeed,
|
5405
|
+
encoding: mergedEncoding
|
5406
|
+
};
|
5407
|
+
};
|
5408
|
+
const reshapeWithDualEncoding = (advancedVSeed, context)=>{
|
5816
5409
|
const result = {
|
5817
5410
|
...advancedVSeed
|
5818
5411
|
};
|
5819
5412
|
const { vseed } = context;
|
5820
5413
|
const { dataset } = vseed;
|
5821
|
-
const { dimensions, measures } = advancedVSeed;
|
5822
|
-
if (!measures || !dimensions || !dataset) return result;
|
5414
|
+
const { dimensions, measures, encoding, chartType } = advancedVSeed;
|
5415
|
+
if (!measures || !dimensions || !dataset || !encoding) return result;
|
5823
5416
|
if (0 === measures.length) throw new Error('measures can not be empty');
|
5824
5417
|
if (measures.length > 2) throw new Error('measures can not be more than 2');
|
5825
|
-
const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
|
5826
|
-
const datasets = [];
|
5827
5418
|
const foldInfoList = [];
|
5828
5419
|
const unfoldInfoList = [];
|
5420
|
+
const datasets = [];
|
5829
5421
|
const primaryMeasures = measures[0];
|
5830
5422
|
const secondaryMeasures = measures[1] || [];
|
5831
5423
|
if (primaryMeasures && primaryMeasures.children) {
|
5832
|
-
const { dataset:
|
5424
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, primaryMeasures.children, encoding, {
|
5833
5425
|
foldMeasureValue: FoldPrimaryMeasureValue
|
5834
5426
|
});
|
5835
|
-
datasets.push(
|
5427
|
+
datasets.push(newDataset);
|
5836
5428
|
foldInfoList.push(foldInfo);
|
5837
5429
|
unfoldInfoList.push(unfoldInfo);
|
5838
5430
|
}
|
5839
5431
|
if (secondaryMeasures && secondaryMeasures.children) {
|
5840
|
-
const { dataset:
|
5432
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, secondaryMeasures.children, encoding, {
|
5841
5433
|
foldMeasureValue: FoldSecondaryMeasureValue
|
5842
5434
|
});
|
5843
|
-
datasets.push(
|
5435
|
+
datasets.push(newDataset);
|
5844
5436
|
foldInfoList.push(foldInfo);
|
5845
5437
|
unfoldInfoList.push(unfoldInfo);
|
5846
5438
|
}
|
5847
5439
|
const unfoldInfo = {
|
5848
|
-
|
5849
|
-
groupId: unfoldInfoList[0].groupId,
|
5440
|
+
...unfoldInfoList[0],
|
5850
5441
|
colorItems: unfoldInfoList.flatMap((d)=>d.colorItems),
|
5851
5442
|
colorIdMap: unfoldInfoList.reduce((prev, cur)=>({
|
5852
5443
|
...prev,
|
@@ -5858,7 +5449,7 @@ const reshapeTo2D2M = (advancedVSeed, context)=>{
|
|
5858
5449
|
dataset: datasets,
|
5859
5450
|
datasetReshapeInfo: [
|
5860
5451
|
{
|
5861
|
-
id:
|
5452
|
+
id: String(chartType),
|
5862
5453
|
index: 0,
|
5863
5454
|
foldInfo: foldInfoList[0],
|
5864
5455
|
foldInfoList: foldInfoList,
|
@@ -5867,46 +5458,48 @@ const reshapeTo2D2M = (advancedVSeed, context)=>{
|
|
5867
5458
|
]
|
5868
5459
|
};
|
5869
5460
|
};
|
5870
|
-
const
|
5461
|
+
const pivotReshapeWithDualEncoding = (advancedVSeed, context)=>{
|
5871
5462
|
const result = {
|
5872
5463
|
...advancedVSeed
|
5873
5464
|
};
|
5874
5465
|
const { vseed } = context;
|
5875
5466
|
const { dataset } = vseed;
|
5876
|
-
const { dimensions, measures } = advancedVSeed;
|
5877
|
-
if (!measures || !dimensions || !dataset) return result;
|
5878
|
-
const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
|
5467
|
+
const { dimensions, measures, encoding, chartType } = advancedVSeed;
|
5468
|
+
if (!measures || !dimensions || !dataset || !encoding) return result;
|
5879
5469
|
const datasetList = [];
|
5880
5470
|
const datasetReshapeInfo = [];
|
5881
|
-
|
5882
|
-
|
5471
|
+
const measureGroups = [];
|
5472
|
+
const depth = measureDepth(measures);
|
5473
|
+
if (3 === depth) measures.forEach((measure)=>{
|
5474
|
+
measureGroups.push(measure.children);
|
5475
|
+
});
|
5476
|
+
else if (2 === depth) measureGroups.push(measures);
|
5477
|
+
measureGroups.forEach((measures, index)=>{
|
5883
5478
|
if (0 === measures.length) throw new Error('measures can not be empty');
|
5884
5479
|
if (measures.length > 2) throw new Error('measures can not be more than 2');
|
5885
|
-
const datasets = [];
|
5886
5480
|
const foldInfoList = [];
|
5887
5481
|
const unfoldInfoList = [];
|
5482
|
+
const datasets = [];
|
5888
5483
|
const primaryMeasures = measures[0];
|
5889
|
-
const secondaryMeasures = measures[1] ||
|
5484
|
+
const secondaryMeasures = measures[1] || [];
|
5890
5485
|
if (primaryMeasures && primaryMeasures.children) {
|
5891
|
-
const { dataset:
|
5486
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, primaryMeasures.children, encoding, {
|
5892
5487
|
foldMeasureValue: `${FoldPrimaryMeasureValue}${index}`
|
5893
5488
|
});
|
5894
|
-
datasets.push(
|
5489
|
+
datasets.push(newDataset);
|
5895
5490
|
foldInfoList.push(foldInfo);
|
5896
5491
|
unfoldInfoList.push(unfoldInfo);
|
5897
5492
|
}
|
5898
5493
|
if (secondaryMeasures && secondaryMeasures.children) {
|
5899
|
-
const { dataset:
|
5494
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, secondaryMeasures.children, encoding, {
|
5900
5495
|
foldMeasureValue: `${FoldSecondaryMeasureValue}${index}`
|
5901
5496
|
});
|
5902
|
-
datasets.push(
|
5497
|
+
datasets.push(newDataset);
|
5903
5498
|
foldInfoList.push(foldInfo);
|
5904
5499
|
unfoldInfoList.push(unfoldInfo);
|
5905
5500
|
}
|
5906
|
-
datasetList.push(datasets.flat(2));
|
5907
5501
|
const unfoldInfo = {
|
5908
|
-
|
5909
|
-
groupId: unfoldInfoList[0].groupId,
|
5502
|
+
...unfoldInfoList[0],
|
5910
5503
|
colorItems: unfoldInfoList.flatMap((d)=>d.colorItems),
|
5911
5504
|
colorIdMap: unfoldInfoList.reduce((prev, cur)=>({
|
5912
5505
|
...prev,
|
@@ -5914,53 +5507,19 @@ const pivotReshapeTo2D2M = (advancedVSeed, context)=>{
|
|
5914
5507
|
}), {})
|
5915
5508
|
};
|
5916
5509
|
const reshapeInfo = {
|
5917
|
-
id:
|
5510
|
+
id: `${chartType}-${index}`,
|
5918
5511
|
index,
|
5919
5512
|
foldInfo: foldInfoList[0],
|
5920
|
-
|
5921
|
-
|
5513
|
+
foldInfoList: foldInfoList,
|
5514
|
+
unfoldInfo: unfoldInfo
|
5922
5515
|
};
|
5923
5516
|
datasetReshapeInfo.push(reshapeInfo);
|
5517
|
+
datasetList.push(datasets.flat(2));
|
5924
5518
|
});
|
5925
5519
|
return {
|
5926
5520
|
...result,
|
5927
5521
|
dataset: datasetList,
|
5928
|
-
datasetReshapeInfo
|
5929
|
-
};
|
5930
|
-
};
|
5931
|
-
const encodingXYY = (advancedVSeed)=>{
|
5932
|
-
const result = {
|
5933
|
-
...advancedVSeed
|
5934
|
-
};
|
5935
|
-
const { datasetReshapeInfo, dimensions } = advancedVSeed;
|
5936
|
-
if (!datasetReshapeInfo || !dimensions) return result;
|
5937
|
-
const xDimension = dimensions.find((item)=>'rowDimension' !== item.location && 'columnDimension' !== item.location) || dimensions[0];
|
5938
|
-
const isZeroDimension = 0 === dimensions.length;
|
5939
|
-
const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
|
5940
|
-
const { foldInfoList, unfoldInfo } = cur;
|
5941
|
-
const x = [
|
5942
|
-
isZeroDimension ? foldInfoList[0].measureName : xDimension?.id
|
5943
|
-
];
|
5944
|
-
const y = foldInfoList.map((d)=>d.measureValue);
|
5945
|
-
const group = [
|
5946
|
-
unfoldInfo.groupId
|
5947
|
-
];
|
5948
|
-
const color = [
|
5949
|
-
foldInfoList[0].measureName
|
5950
|
-
];
|
5951
|
-
return [
|
5952
|
-
...prev,
|
5953
|
-
{
|
5954
|
-
x,
|
5955
|
-
y,
|
5956
|
-
group,
|
5957
|
-
color
|
5958
|
-
}
|
5959
|
-
];
|
5960
|
-
}, []);
|
5961
|
-
return {
|
5962
|
-
...result,
|
5963
|
-
encoding
|
5522
|
+
datasetReshapeInfo: datasetReshapeInfo
|
5964
5523
|
};
|
5965
5524
|
};
|
5966
5525
|
const dualAxisConfig = (advancedVSeed, context)=>{
|
@@ -5989,125 +5548,80 @@ const dualAxisConfig = (advancedVSeed, context)=>{
|
|
5989
5548
|
};
|
5990
5549
|
return result;
|
5991
5550
|
};
|
5992
|
-
const autoDualMeasures = (advancedVSeed, context)=>{
|
5993
|
-
const result = {
|
5994
|
-
...advancedVSeed
|
5995
|
-
};
|
5996
|
-
const { vseed } = context;
|
5997
|
-
const { dataset, dualMeasures, measures } = vseed;
|
5998
|
-
if (!dataset) throw new Error('dataset is required');
|
5999
|
-
if (0 === dataset.length) return result;
|
6000
|
-
if (dualMeasures) {
|
6001
|
-
result.measures = dualMeasuresToMeasureTree(dualMeasures);
|
6002
|
-
return result;
|
6003
|
-
}
|
6004
|
-
if (measures && measureDepth(measures) > 1) {
|
6005
|
-
result.measures = measures;
|
6006
|
-
return result;
|
6007
|
-
}
|
6008
|
-
const top100dataset = dataset.slice(0, 100);
|
6009
|
-
const sample = top100dataset.reduce((prev, cur)=>({
|
6010
|
-
...prev,
|
6011
|
-
...cur
|
6012
|
-
}), {});
|
6013
|
-
const newMeasures = measures || Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
|
6014
|
-
'',
|
6015
|
-
null,
|
6016
|
-
void 0
|
6017
|
-
].includes(key)).map((measure)=>({
|
6018
|
-
id: measure,
|
6019
|
-
alias: measure
|
6020
|
-
}));
|
6021
|
-
if (0 === newMeasures.length) result.measures = [];
|
6022
|
-
else if (1 === newMeasures.length) result.measures = [
|
6023
|
-
{
|
6024
|
-
id: 'primary',
|
6025
|
-
alias: 'primary',
|
6026
|
-
children: newMeasures
|
6027
|
-
}
|
6028
|
-
];
|
6029
|
-
else if (newMeasures.length > 1) result.measures = [
|
6030
|
-
{
|
6031
|
-
id: 'primary',
|
6032
|
-
alias: 'primary',
|
6033
|
-
children: newMeasures.slice(0, 1)
|
6034
|
-
},
|
6035
|
-
{
|
6036
|
-
id: 'secondary',
|
6037
|
-
alias: 'secondary',
|
6038
|
-
children: newMeasures.slice(1)
|
6039
|
-
}
|
6040
|
-
];
|
6041
|
-
return result;
|
6042
|
-
};
|
6043
|
-
const dualMeasuresToMeasureTree = (dualMeasures)=>{
|
6044
|
-
const measureTree = dualMeasures.map((item, index)=>{
|
6045
|
-
const { primaryMeasures, secondaryMeasures } = item;
|
6046
|
-
const groupChildren = [];
|
6047
|
-
let id = '';
|
6048
|
-
if (primaryMeasures) {
|
6049
|
-
const arrPrimaryMeasures = Array.isArray(primaryMeasures) ? primaryMeasures : [
|
6050
|
-
primaryMeasures
|
6051
|
-
];
|
6052
|
-
const alias = arrPrimaryMeasures.map((item)=>item.alias || item.id).toString();
|
6053
|
-
id += alias;
|
6054
|
-
groupChildren.push({
|
6055
|
-
id: `${index}-primary`,
|
6056
|
-
alias: arrPrimaryMeasures.map((item)=>item.alias || item.id).toString(),
|
6057
|
-
children: arrPrimaryMeasures
|
6058
|
-
});
|
6059
|
-
}
|
6060
|
-
if (secondaryMeasures) {
|
6061
|
-
const arrSecondaryMeasures = Array.isArray(secondaryMeasures) ? secondaryMeasures : [
|
6062
|
-
secondaryMeasures
|
6063
|
-
];
|
6064
|
-
const alias = arrSecondaryMeasures.map((item)=>item.alias || item.id).toString();
|
6065
|
-
id += alias;
|
6066
|
-
groupChildren.push({
|
6067
|
-
id: `${index}-secondary`,
|
6068
|
-
alias: arrSecondaryMeasures.map((item)=>item.alias || item.id).toString(),
|
6069
|
-
children: arrSecondaryMeasures
|
6070
|
-
});
|
6071
|
-
}
|
6072
|
-
return {
|
6073
|
-
id,
|
6074
|
-
alias: id,
|
6075
|
-
children: groupChildren
|
6076
|
-
};
|
6077
|
-
});
|
6078
|
-
if (1 === dualMeasures.length) return measureTree[0].children || [];
|
6079
|
-
return measureTree;
|
6080
|
-
};
|
6081
5551
|
const dualAxisAdvancedPipeline = [
|
6082
5552
|
initAdvancedVSeed_initAdvancedVSeed,
|
6083
5553
|
autoDualMeasures,
|
6084
5554
|
autoDimensions_autoDimensions,
|
5555
|
+
encodingForDualAxis,
|
6085
5556
|
pivotAdapter([
|
6086
|
-
|
5557
|
+
reshapeWithDualEncoding
|
6087
5558
|
], [
|
6088
|
-
|
5559
|
+
pivotReshapeWithDualEncoding
|
6089
5560
|
]),
|
6090
|
-
encodingXYY,
|
6091
5561
|
sortXBandAxis,
|
6092
|
-
|
5562
|
+
sortLegend_sortLegend,
|
6093
5563
|
dualAxisConfig,
|
6094
5564
|
theme_theme,
|
6095
5565
|
markStyle_markStyle,
|
6096
5566
|
annotation_annotation
|
6097
5567
|
];
|
5568
|
+
const series = (...args)=>{
|
5569
|
+
const result = {
|
5570
|
+
type: 'common',
|
5571
|
+
padding: 0,
|
5572
|
+
region: [
|
5573
|
+
{
|
5574
|
+
clip: true
|
5575
|
+
}
|
5576
|
+
]
|
5577
|
+
};
|
5578
|
+
return (_, context)=>{
|
5579
|
+
result.series = args.map((pipeline)=>execPipeline(pipeline, context, {}));
|
5580
|
+
return result;
|
5581
|
+
};
|
5582
|
+
};
|
5583
|
+
const seriesDualAxis = (...args)=>{
|
5584
|
+
const result = {
|
5585
|
+
type: 'common',
|
5586
|
+
padding: 0,
|
5587
|
+
region: [
|
5588
|
+
{
|
5589
|
+
clip: true
|
5590
|
+
}
|
5591
|
+
]
|
5592
|
+
};
|
5593
|
+
const createDualContext = (context, index)=>{
|
5594
|
+
const { advancedVSeed } = context;
|
5595
|
+
const dataset = advancedVSeed.dataset[index];
|
5596
|
+
return {
|
5597
|
+
...context,
|
5598
|
+
advancedVSeed: {
|
5599
|
+
...advancedVSeed,
|
5600
|
+
dataset: dataset
|
5601
|
+
}
|
5602
|
+
};
|
5603
|
+
};
|
5604
|
+
return (_, context)=>{
|
5605
|
+
result.series = args.map((pipeline, index)=>{
|
5606
|
+
const seriesContext = createDualContext(context, index);
|
5607
|
+
return execPipeline(pipeline, seriesContext, {});
|
5608
|
+
});
|
5609
|
+
return result;
|
5610
|
+
};
|
5611
|
+
};
|
6098
5612
|
const initDualAxisPrimary = (spec, context)=>{
|
6099
5613
|
const result = {
|
6100
5614
|
...spec
|
6101
5615
|
};
|
6102
5616
|
const { advancedVSeed } = context;
|
6103
|
-
const {
|
6104
|
-
|
6105
|
-
result.id = `${
|
5617
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
5618
|
+
const { unfoldInfo, foldInfoList, id } = datasetReshapeInfo[0];
|
5619
|
+
result.id = `${id}-primary-series`;
|
6106
5620
|
result.type = 'bar';
|
6107
5621
|
result.direction = 'vertical';
|
6108
|
-
result.xField =
|
6109
|
-
result.
|
6110
|
-
result.
|
5622
|
+
result.xField = unfoldInfo.encodingX;
|
5623
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
5624
|
+
result.yField = foldInfoList?.[0].measureValue;
|
6111
5625
|
result.animation = true;
|
6112
5626
|
return result;
|
6113
5627
|
};
|
@@ -6116,14 +5630,14 @@ const initDualAxisSecondary = (spec, context)=>{
|
|
6116
5630
|
...spec
|
6117
5631
|
};
|
6118
5632
|
const { advancedVSeed } = context;
|
6119
|
-
const {
|
6120
|
-
|
6121
|
-
result.id = `${
|
5633
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
5634
|
+
const { unfoldInfo, foldInfoList, id } = datasetReshapeInfo[0];
|
5635
|
+
result.id = `${id}-secondary-series`;
|
6122
5636
|
result.type = 'line';
|
6123
5637
|
result.direction = 'vertical';
|
6124
|
-
result.xField =
|
6125
|
-
result.yField =
|
6126
|
-
result.seriesField =
|
5638
|
+
result.xField = unfoldInfo.encodingX;
|
5639
|
+
if (foldInfoList?.[1]) result.yField = foldInfoList[1].measureValue;
|
5640
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
6127
5641
|
result.animation = true;
|
6128
5642
|
return result;
|
6129
5643
|
};
|
@@ -6155,10 +5669,10 @@ const dualChartTypePrimary = (spec, context)=>{
|
|
6155
5669
|
case 'columnParallel':
|
6156
5670
|
{
|
6157
5671
|
const columnSpec = result;
|
6158
|
-
if (Array.isArray(columnSpec.xField)) columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.
|
5672
|
+
if (Array.isArray(columnSpec.xField)) columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.encodingDetail);
|
6159
5673
|
else if (columnSpec.xField) columnSpec.xField = [
|
6160
5674
|
columnSpec.xField,
|
6161
|
-
datasetReshapeInfo[0].unfoldInfo.
|
5675
|
+
datasetReshapeInfo[0].unfoldInfo.encodingDetail
|
6162
5676
|
];
|
6163
5677
|
columnSpec.type = 'bar';
|
6164
5678
|
result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX;
|
@@ -6211,10 +5725,10 @@ const dualChartTypeSecondary = (spec, context)=>{
|
|
6211
5725
|
case 'columnParallel':
|
6212
5726
|
{
|
6213
5727
|
const columnSpec = result;
|
6214
|
-
if (Array.isArray(columnSpec.xField)) columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.
|
5728
|
+
if (Array.isArray(columnSpec.xField)) columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.encodingDetail);
|
6215
5729
|
else if (columnSpec.xField) columnSpec.xField = [
|
6216
5730
|
columnSpec.xField,
|
6217
|
-
datasetReshapeInfo[0].unfoldInfo.
|
5731
|
+
datasetReshapeInfo[0].unfoldInfo.encodingDetail
|
6218
5732
|
];
|
6219
5733
|
columnSpec.type = 'bar';
|
6220
5734
|
result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX;
|
@@ -6241,10 +5755,11 @@ const dualChartTypeSecondary = (spec, context)=>{
|
|
6241
5755
|
};
|
6242
5756
|
const datasetPrimary = (spec, context)=>{
|
6243
5757
|
const { advancedVSeed, vseed } = context;
|
6244
|
-
const {
|
5758
|
+
const { analysis, datasetReshapeInfo } = advancedVSeed;
|
6245
5759
|
const orderMapping = analysis?.orderMapping || {};
|
6246
|
-
const
|
6247
|
-
const
|
5760
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
5761
|
+
const x = unfoldInfo.encodingX;
|
5762
|
+
const colorId = unfoldInfo.encodingColorId;
|
6248
5763
|
const id = datasetReshapeInfo[0].id;
|
6249
5764
|
const fields = {};
|
6250
5765
|
if (x) {
|
@@ -6258,14 +5773,14 @@ const datasetPrimary = (spec, context)=>{
|
|
6258
5773
|
sortIndex: 0
|
6259
5774
|
};
|
6260
5775
|
}
|
6261
|
-
if (
|
6262
|
-
const order = orderMapping[
|
6263
|
-
if (order) fields[
|
5776
|
+
if (colorId) {
|
5777
|
+
const order = orderMapping[colorId];
|
5778
|
+
if (order) fields[colorId] = {
|
6264
5779
|
sortIndex: 0,
|
6265
5780
|
domain: order,
|
6266
5781
|
lockStatisticsByDomain: true
|
6267
5782
|
};
|
6268
|
-
else fields[
|
5783
|
+
else fields[colorId] = {
|
6269
5784
|
sortIndex: 0
|
6270
5785
|
};
|
6271
5786
|
}
|
@@ -6280,10 +5795,11 @@ const datasetPrimary = (spec, context)=>{
|
|
6280
5795
|
};
|
6281
5796
|
const datasetSecondary = (spec, context)=>{
|
6282
5797
|
const { advancedVSeed, vseed } = context;
|
6283
|
-
const {
|
5798
|
+
const { analysis, datasetReshapeInfo } = advancedVSeed;
|
6284
5799
|
const orderMapping = analysis?.orderMapping || {};
|
6285
|
-
const
|
6286
|
-
const
|
5800
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
5801
|
+
const x = unfoldInfo.encodingX;
|
5802
|
+
const colorId = unfoldInfo.encodingColorId;
|
6287
5803
|
const id = datasetReshapeInfo[0].id;
|
6288
5804
|
const fields = {};
|
6289
5805
|
if (x) {
|
@@ -6297,14 +5813,14 @@ const datasetSecondary = (spec, context)=>{
|
|
6297
5813
|
sortIndex: 0
|
6298
5814
|
};
|
6299
5815
|
}
|
6300
|
-
if (
|
6301
|
-
const order = orderMapping[
|
6302
|
-
if (order) fields[
|
5816
|
+
if (colorId) {
|
5817
|
+
const order = orderMapping[colorId];
|
5818
|
+
if (order) fields[colorId] = {
|
6303
5819
|
sortIndex: 0,
|
6304
5820
|
domain: order,
|
6305
5821
|
lockStatisticsByDomain: true
|
6306
5822
|
};
|
6307
|
-
else fields[
|
5823
|
+
else fields[colorId] = {
|
6308
5824
|
sortIndex: 0
|
6309
5825
|
};
|
6310
5826
|
}
|
@@ -6402,7 +5918,7 @@ const tooltipPrimary = (spec, context)=>{
|
|
6402
5918
|
const foldInfoList = datasetReshapeInfo[0].foldInfoList;
|
6403
5919
|
const unfoldInfo = datasetReshapeInfo[0].unfoldInfo;
|
6404
5920
|
const { measureId, measureValue, measureName } = foldInfoList[0];
|
6405
|
-
const {
|
5921
|
+
const { encodingColor: colorName } = unfoldInfo;
|
6406
5922
|
result.tooltip = {
|
6407
5923
|
visible: enable,
|
6408
5924
|
mark: {
|
@@ -6423,7 +5939,7 @@ const tooltipPrimary = (spec, context)=>{
|
|
6423
5939
|
{
|
6424
5940
|
visible: true,
|
6425
5941
|
hasShape: true,
|
6426
|
-
key: (datum)=>datum && datum[measureName ||
|
5942
|
+
key: (datum)=>datum && datum[measureName || colorName] || '',
|
6427
5943
|
value: (datum)=>{
|
6428
5944
|
if (!datum) return '';
|
6429
5945
|
const value = datum[measureValue];
|
@@ -6445,7 +5961,7 @@ const tooltipPrimary = (spec, context)=>{
|
|
6445
5961
|
content: [
|
6446
5962
|
{
|
6447
5963
|
visible: true,
|
6448
|
-
key: (datum)=>datum && datum[
|
5964
|
+
key: (datum)=>datum && datum[colorName] || '',
|
6449
5965
|
value: (datum)=>{
|
6450
5966
|
if (!datum) return '';
|
6451
5967
|
const value = datum[measureValue];
|
@@ -6482,7 +5998,7 @@ const tooltipSecondary = (spec, context)=>{
|
|
6482
5998
|
const foldInfoList = datasetReshapeInfo[0].foldInfoList;
|
6483
5999
|
const unfoldInfo = datasetReshapeInfo[0].unfoldInfo;
|
6484
6000
|
const { measureId, measureValue, measureName } = foldInfoList[1];
|
6485
|
-
const {
|
6001
|
+
const { encodingColorId } = unfoldInfo;
|
6486
6002
|
result.tooltip = {
|
6487
6003
|
visible: enable,
|
6488
6004
|
mark: {
|
@@ -6503,7 +6019,7 @@ const tooltipSecondary = (spec, context)=>{
|
|
6503
6019
|
{
|
6504
6020
|
visible: true,
|
6505
6021
|
hasShape: true,
|
6506
|
-
key: (datum)=>datum && datum[measureName ||
|
6022
|
+
key: (datum)=>datum && datum[measureName || encodingColorId] || '',
|
6507
6023
|
value: (datum)=>{
|
6508
6024
|
if (!datum) return '';
|
6509
6025
|
const value = datum[measureValue];
|
@@ -6525,7 +6041,7 @@ const tooltipSecondary = (spec, context)=>{
|
|
6525
6041
|
content: [
|
6526
6042
|
{
|
6527
6043
|
visible: true,
|
6528
|
-
key: (datum)=>datum && datum[
|
6044
|
+
key: (datum)=>datum && datum[encodingColorId] || '',
|
6529
6045
|
value: (datum)=>{
|
6530
6046
|
if (!datum) return '';
|
6531
6047
|
const value = datum[measureValue];
|
@@ -6554,16 +6070,16 @@ const yLinearPrimary = (spec, context)=>{
|
|
6554
6070
|
const { advancedVSeed, vseed } = context;
|
6555
6071
|
const { chartType } = vseed;
|
6556
6072
|
const { locale, datasetReshapeInfo } = advancedVSeed;
|
6557
|
-
const index = datasetReshapeInfo[0]
|
6073
|
+
const { index, id: reshapeInfoId, foldInfoList } = datasetReshapeInfo[0];
|
6558
6074
|
const primaryYAxis = advancedVSeed.config?.[chartType]?.primaryYAxis;
|
6559
6075
|
const yAxisConfig = Array.isArray(primaryYAxis) ? primaryYAxis[index] || primaryYAxis[0] : primaryYAxis;
|
6560
6076
|
const alignTicks = advancedVSeed.config?.[chartType]?.alignTicks;
|
6561
6077
|
const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks;
|
6562
|
-
if (
|
6563
|
-
const id = `${
|
6078
|
+
if (foldInfoList?.[0] && (0, external_remeda_namespaceObject.isEmpty)(foldInfoList[0].foldMap)) return result;
|
6079
|
+
const id = `${reshapeInfoId}-primary-axis`;
|
6564
6080
|
const seriesIds = [
|
6565
|
-
`${
|
6566
|
-
`${
|
6081
|
+
`${reshapeInfoId}-primary-series`,
|
6082
|
+
`${reshapeInfoId}-secondary-series`
|
6567
6083
|
];
|
6568
6084
|
const seriesId = alignTicksConfig ? seriesIds : seriesIds[0];
|
6569
6085
|
if (!result.axes) result.axes = [];
|
@@ -6651,20 +6167,20 @@ const yLinearSecondary = (spec, context)=>{
|
|
6651
6167
|
const { advancedVSeed, vseed } = context;
|
6652
6168
|
const { chartType } = vseed;
|
6653
6169
|
const { locale, datasetReshapeInfo } = advancedVSeed;
|
6654
|
-
const index = datasetReshapeInfo[0]
|
6170
|
+
const { index, id: reshapeInfoId, foldInfoList } = datasetReshapeInfo[0];
|
6655
6171
|
const secondaryYAxis = advancedVSeed.config?.[chartType]?.secondaryYAxis;
|
6656
6172
|
const yAxisConfig = Array.isArray(secondaryYAxis) ? secondaryYAxis[index] || secondaryYAxis[0] : secondaryYAxis;
|
6657
6173
|
const alignTicks = advancedVSeed.config?.[chartType]?.alignTicks;
|
6658
6174
|
const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks;
|
6659
|
-
if ((0, external_remeda_namespaceObject.isNullish)(
|
6175
|
+
if ((0, external_remeda_namespaceObject.isNullish)(foldInfoList?.[1])) return result;
|
6660
6176
|
const sync = {
|
6661
|
-
axisId: `${
|
6177
|
+
axisId: `${reshapeInfoId}-primary-axis`,
|
6662
6178
|
zeroAlign: true
|
6663
6179
|
};
|
6664
|
-
const id = `${
|
6180
|
+
const id = `${reshapeInfoId}-secondary-axis`;
|
6665
6181
|
const seriesIds = [
|
6666
|
-
`${
|
6667
|
-
`${
|
6182
|
+
`${reshapeInfoId}-primary-series`,
|
6183
|
+
`${reshapeInfoId}-secondary-series`
|
6668
6184
|
];
|
6669
6185
|
const seriesId = alignTicksConfig ? seriesIds : seriesIds[1];
|
6670
6186
|
if (!result.axes) result.axes = [];
|
@@ -6807,208 +6323,71 @@ const pivotDualAxis = [
|
|
6807
6323
|
initDualAxisSecondary,
|
6808
6324
|
dualChartTypeSecondary,
|
6809
6325
|
datasetSecondary,
|
6810
|
-
labelSecondary,
|
6811
|
-
tooltipSecondary,
|
6812
|
-
progressive,
|
6813
|
-
barStyle_barStyle,
|
6814
|
-
pointStyle_pointStyle,
|
6815
|
-
pointStateDimensionHover,
|
6816
|
-
lineStyle_lineStyle,
|
6817
|
-
areaStyle_areaStyle
|
6818
|
-
]),
|
6819
|
-
xBand,
|
6820
|
-
yLinearPrimary,
|
6821
|
-
yLinearSecondary,
|
6822
|
-
color_color,
|
6823
|
-
background_backgroundColor,
|
6824
|
-
verticalCrosshairRect,
|
6825
|
-
annotationPoint_annotationPoint,
|
6826
|
-
annotationVerticalLine_annotationVerticalLine,
|
6827
|
-
annotationHorizontalLine_annotationHorizontalLine,
|
6828
|
-
annotationArea_annotationArea
|
6829
|
-
]),
|
6830
|
-
pivotRowDimensions,
|
6831
|
-
pivotColumnDimensions,
|
6832
|
-
pivotDiscreteLegend
|
6833
|
-
];
|
6834
|
-
const dualAxisSpecPipeline = [
|
6835
|
-
pivotAdapter_pivotAdapter(dualAxis, pivotDualAxis)
|
6836
|
-
];
|
6837
|
-
const registerDualAxis = ()=>{
|
6838
|
-
Builder._advancedPipelineMap.dualAxis = dualAxisAdvancedPipeline;
|
6839
|
-
Builder._specPipelineMap.dualAxis = dualAxisSpecPipeline;
|
6840
|
-
};
|
6841
|
-
const dataReshapeFor1D1M_emptyReshapeResult = {
|
6842
|
-
dataset: [],
|
6843
|
-
foldInfo: {
|
6844
|
-
foldMap: {},
|
6845
|
-
measureId: '',
|
6846
|
-
measureName: '',
|
6847
|
-
measureValue: ''
|
6848
|
-
},
|
6849
|
-
unfoldInfo: {
|
6850
|
-
groupName: '',
|
6851
|
-
groupId: '',
|
6852
|
-
colorItems: [],
|
6853
|
-
colorIdMap: {}
|
6854
|
-
}
|
6855
|
-
};
|
6856
|
-
const dataReshapeFor1D1M = (dataset, dimensions, measures, options)=>{
|
6857
|
-
const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue, unfoldDimensionGroup = UnfoldDimensionGroup, unfoldDimensionGroupId = UnfoldDimensionGroupId } = options || {};
|
6858
|
-
if (0 === dimensions.length && 0 === measures.length) return dataReshapeFor1D1M_emptyReshapeResult;
|
6859
|
-
const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures, foldMeasureId, foldMeasureName, foldMeasureValue);
|
6860
|
-
if (0 === dimensions.length) {
|
6861
|
-
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, [
|
6862
|
-
{
|
6863
|
-
id: foldMeasureName,
|
6864
|
-
alias: i18n`指标名称`,
|
6865
|
-
location: 'dimension'
|
6866
|
-
}
|
6867
|
-
], [
|
6868
|
-
{
|
6869
|
-
id: foldMeasureValue,
|
6870
|
-
alias: i18n`指标值`
|
6871
|
-
}
|
6872
|
-
], 0, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
|
6873
|
-
return {
|
6874
|
-
dataset: finalDataset,
|
6875
|
-
foldInfo,
|
6876
|
-
unfoldInfo
|
6877
|
-
};
|
6878
|
-
}
|
6879
|
-
{
|
6880
|
-
const dims = 1 === measures.length ? [
|
6881
|
-
...dimensions
|
6882
|
-
] : [
|
6883
|
-
...dimensions,
|
6884
|
-
{
|
6885
|
-
id: foldMeasureName,
|
6886
|
-
alias: i18n`指标名称`,
|
6887
|
-
location: 'dimension'
|
6888
|
-
}
|
6889
|
-
];
|
6890
|
-
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dims, [
|
6891
|
-
{
|
6892
|
-
id: foldMeasureValue,
|
6893
|
-
alias: i18n`指标值`
|
6894
|
-
}
|
6895
|
-
], 0, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
|
6896
|
-
return {
|
6897
|
-
dataset: finalDataset,
|
6898
|
-
foldInfo,
|
6899
|
-
unfoldInfo
|
6900
|
-
};
|
6901
|
-
}
|
6902
|
-
};
|
6903
|
-
const reshapeTo1D1M = (advancedVSeed, context)=>{
|
6904
|
-
const result = {
|
6905
|
-
...advancedVSeed
|
6906
|
-
};
|
6907
|
-
const { vseed } = context;
|
6908
|
-
const { dataset } = vseed;
|
6909
|
-
const { dimensions, measures } = advancedVSeed;
|
6910
|
-
if (!measures || !dimensions || !dataset) return result;
|
6911
|
-
if (0 === measures.length) throw new Error('measures can not be empty');
|
6912
|
-
const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor1D1M(dataset, dimensions, measures);
|
6913
|
-
return {
|
6914
|
-
...result,
|
6915
|
-
dataset: newDatasets,
|
6916
|
-
datasetReshapeInfo: [
|
6917
|
-
{
|
6918
|
-
id: '1D1M',
|
6919
|
-
index: 0,
|
6920
|
-
foldInfo,
|
6921
|
-
unfoldInfo
|
6922
|
-
}
|
6923
|
-
]
|
6924
|
-
};
|
6326
|
+
labelSecondary,
|
6327
|
+
tooltipSecondary,
|
6328
|
+
progressive,
|
6329
|
+
barStyle_barStyle,
|
6330
|
+
pointStyle_pointStyle,
|
6331
|
+
pointStateDimensionHover,
|
6332
|
+
lineStyle_lineStyle,
|
6333
|
+
areaStyle_areaStyle
|
6334
|
+
]),
|
6335
|
+
xBand,
|
6336
|
+
yLinearPrimary,
|
6337
|
+
yLinearSecondary,
|
6338
|
+
color_color,
|
6339
|
+
background_backgroundColor,
|
6340
|
+
verticalCrosshairRect,
|
6341
|
+
annotationPoint_annotationPoint,
|
6342
|
+
annotationVerticalLine_annotationVerticalLine,
|
6343
|
+
annotationHorizontalLine_annotationHorizontalLine,
|
6344
|
+
annotationArea_annotationArea
|
6345
|
+
]),
|
6346
|
+
pivotRowDimensions,
|
6347
|
+
pivotColumnDimensions,
|
6348
|
+
pivotDiscreteLegend
|
6349
|
+
];
|
6350
|
+
const dualAxisSpecPipeline = [
|
6351
|
+
pivotAdapter_pivotAdapter(dualAxis, pivotDualAxis)
|
6352
|
+
];
|
6353
|
+
const registerDualAxis = ()=>{
|
6354
|
+
Builder._advancedPipelineMap.dualAxis = dualAxisAdvancedPipeline;
|
6355
|
+
Builder._specPipelineMap.dualAxis = dualAxisSpecPipeline;
|
6925
6356
|
};
|
6926
|
-
const
|
6927
|
-
const result = {
|
6928
|
-
...advancedVSeed
|
6929
|
-
};
|
6357
|
+
const encodingForPie = (advancedVSeed, context)=>{
|
6930
6358
|
const { vseed } = context;
|
6931
|
-
const {
|
6932
|
-
|
6933
|
-
const
|
6934
|
-
if (
|
6935
|
-
|
6936
|
-
|
6937
|
-
|
6938
|
-
|
6939
|
-
const newDatasets = [];
|
6940
|
-
const datasetReshapeInfo = [];
|
6941
|
-
measureGroups.forEach((measureGroup, index)=>{
|
6942
|
-
const measures = measureGroup.children;
|
6943
|
-
if (!measures) return;
|
6944
|
-
const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
|
6945
|
-
const groupId = measureGroup.id;
|
6946
|
-
const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeFor1D1M(dataset, commonDimensions, measures, {
|
6947
|
-
foldMeasureId: FoldMeasureId,
|
6948
|
-
foldMeasureName: FoldMeasureName,
|
6949
|
-
foldMeasureValue: FoldMeasureValue + groupId,
|
6950
|
-
unfoldDimensionGroup: UnfoldDimensionGroup
|
6951
|
-
});
|
6952
|
-
const reshapeInfo = {
|
6953
|
-
id: groupId,
|
6954
|
-
index,
|
6955
|
-
foldInfo,
|
6956
|
-
unfoldInfo
|
6957
|
-
};
|
6958
|
-
newDatasets.push(newSubDataset);
|
6959
|
-
datasetReshapeInfo.push(reshapeInfo);
|
6960
|
-
});
|
6961
|
-
return {
|
6962
|
-
...result,
|
6963
|
-
dataset: newDatasets,
|
6964
|
-
datasetReshapeInfo: datasetReshapeInfo
|
6359
|
+
const { dimensions } = advancedVSeed;
|
6360
|
+
if (!dimensions) return advancedVSeed;
|
6361
|
+
const encoding = vseed.encoding;
|
6362
|
+
if (encoding) return {
|
6363
|
+
...advancedVSeed,
|
6364
|
+
encoding: {
|
6365
|
+
...encoding
|
6366
|
+
}
|
6965
6367
|
};
|
6966
|
-
|
6967
|
-
|
6968
|
-
|
6969
|
-
|
6368
|
+
const mergedEncoding = {
|
6369
|
+
color: dimensions.slice(0).map((item)=>item.id),
|
6370
|
+
detail: dimensions.slice(0).map((item)=>item.id),
|
6371
|
+
tooltip: dimensions.map((item)=>item.id),
|
6372
|
+
label: [],
|
6373
|
+
row: [],
|
6374
|
+
column: []
|
6970
6375
|
};
|
6971
|
-
const { datasetReshapeInfo } = advancedVSeed;
|
6972
|
-
if (!datasetReshapeInfo) return result;
|
6973
|
-
const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
|
6974
|
-
const { foldInfo, unfoldInfo } = cur;
|
6975
|
-
const radius = [
|
6976
|
-
foldInfo.measureValue
|
6977
|
-
];
|
6978
|
-
const angle = [
|
6979
|
-
unfoldInfo.groupId
|
6980
|
-
];
|
6981
|
-
const group = [
|
6982
|
-
unfoldInfo.groupId
|
6983
|
-
];
|
6984
|
-
const color = [
|
6985
|
-
unfoldInfo.groupId
|
6986
|
-
];
|
6987
|
-
return [
|
6988
|
-
...prev,
|
6989
|
-
{
|
6990
|
-
angle,
|
6991
|
-
radius,
|
6992
|
-
group,
|
6993
|
-
color
|
6994
|
-
}
|
6995
|
-
];
|
6996
|
-
}, []);
|
6997
6376
|
return {
|
6998
|
-
...
|
6999
|
-
encoding
|
6377
|
+
...advancedVSeed,
|
6378
|
+
encoding: mergedEncoding
|
7000
6379
|
};
|
7001
6380
|
};
|
7002
6381
|
const pieAdvancedPipeline = [
|
7003
6382
|
initAdvancedVSeed_initAdvancedVSeed,
|
7004
6383
|
autoMeasures_autoMeasures,
|
7005
6384
|
autoDimensions_autoDimensions,
|
6385
|
+
encodingForPie,
|
7006
6386
|
pivotAdapter([
|
7007
|
-
|
6387
|
+
reshapeWithEncoding
|
7008
6388
|
], [
|
7009
|
-
|
6389
|
+
pivotReshapeWithEncoding
|
7010
6390
|
]),
|
7011
|
-
encodingPie,
|
7012
6391
|
pieConfig,
|
7013
6392
|
theme_theme,
|
7014
6393
|
annotation_annotation
|
@@ -7018,15 +6397,14 @@ const initPie = (spec, context)=>{
|
|
7018
6397
|
...spec
|
7019
6398
|
};
|
7020
6399
|
const { advancedVSeed } = context;
|
7021
|
-
const {
|
7022
|
-
|
6400
|
+
const { datasetReshapeInfo, dataset } = advancedVSeed;
|
6401
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
7023
6402
|
const showStroke = dataset.length <= 30;
|
7024
6403
|
result.type = 'pie';
|
7025
6404
|
result.outerRadius = 0.8;
|
7026
6405
|
result.innerRadius = 0;
|
7027
|
-
result.valueField =
|
7028
|
-
result.categoryField =
|
7029
|
-
result.seriesField = encoding[0].group[0];
|
6406
|
+
result.valueField = foldInfo.measureValue;
|
6407
|
+
result.categoryField = unfoldInfo.encodingColorId;
|
7030
6408
|
result.padding = 0;
|
7031
6409
|
result.region = [
|
7032
6410
|
{
|
@@ -7095,12 +6473,12 @@ const donutAdvancedPipeline = [
|
|
7095
6473
|
initAdvancedVSeed_initAdvancedVSeed,
|
7096
6474
|
autoMeasures_autoMeasures,
|
7097
6475
|
autoDimensions_autoDimensions,
|
6476
|
+
encodingForPie,
|
7098
6477
|
pivotAdapter([
|
7099
|
-
|
6478
|
+
reshapeWithEncoding
|
7100
6479
|
], [
|
7101
|
-
|
6480
|
+
pivotReshapeWithEncoding
|
7102
6481
|
]),
|
7103
|
-
encodingPie,
|
7104
6482
|
donutConfig,
|
7105
6483
|
theme_theme,
|
7106
6484
|
annotation_annotation
|
@@ -7110,15 +6488,14 @@ const initDonut = (spec, context)=>{
|
|
7110
6488
|
...spec
|
7111
6489
|
};
|
7112
6490
|
const { advancedVSeed } = context;
|
7113
|
-
const {
|
7114
|
-
|
6491
|
+
const { datasetReshapeInfo, dataset } = advancedVSeed;
|
6492
|
+
const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
|
7115
6493
|
const showStroke = dataset.length <= 30;
|
7116
6494
|
result.type = 'pie';
|
7117
6495
|
result.outerRadius = 0.8;
|
7118
6496
|
result.innerRadius = 0.8 * result.outerRadius;
|
7119
|
-
result.valueField =
|
7120
|
-
result.categoryField =
|
7121
|
-
result.seriesField = encoding[0].group[0];
|
6497
|
+
result.valueField = foldInfo.measureValue;
|
6498
|
+
result.categoryField = unfoldInfo.encodingColorId;
|
7122
6499
|
result.padding = 0;
|
7123
6500
|
result.region = [
|
7124
6501
|
{
|
@@ -7182,54 +6559,58 @@ const registerDonut = ()=>{
|
|
7182
6559
|
Builder._advancedPipelineMap.donut = donutAdvancedPipeline;
|
7183
6560
|
Builder._specPipelineMap.donut = donutSpecPipeline;
|
7184
6561
|
};
|
7185
|
-
const
|
7186
|
-
const
|
7187
|
-
|
7188
|
-
|
7189
|
-
const
|
7190
|
-
if (
|
7191
|
-
|
7192
|
-
|
7193
|
-
const isZeroDimension = 0 === dimensions.length;
|
7194
|
-
const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
|
7195
|
-
const { foldInfo, unfoldInfo } = cur;
|
7196
|
-
const radius = [
|
7197
|
-
foldInfo.measureValue
|
7198
|
-
];
|
7199
|
-
const angle = [
|
7200
|
-
isZeroDimension ? foldInfo.measureName : angleDimension?.id
|
7201
|
-
];
|
7202
|
-
const group = [
|
7203
|
-
is1D1M ? angleDimension?.id : unfoldInfo.groupId
|
6562
|
+
const encodingForRose = (advancedVSeed, context)=>{
|
6563
|
+
const { vseed } = context;
|
6564
|
+
const { dimensions } = advancedVSeed;
|
6565
|
+
if (!dimensions) return advancedVSeed;
|
6566
|
+
const encoding = vseed.encoding;
|
6567
|
+
if (encoding) {
|
6568
|
+
const angle = encoding.angle || [
|
6569
|
+
dimensions[0].id
|
7204
6570
|
];
|
7205
|
-
const color = [
|
7206
|
-
|
6571
|
+
const color = encoding.color || [
|
6572
|
+
(dimensions[1] || dimensions[0]).id
|
7207
6573
|
];
|
7208
|
-
|
7209
|
-
|
7210
|
-
|
6574
|
+
const detail = encoding.detail || [];
|
6575
|
+
const mergedDetail = (0, external_remeda_namespaceObject.unique)([
|
6576
|
+
...color,
|
6577
|
+
...detail
|
6578
|
+
]);
|
6579
|
+
return {
|
6580
|
+
...advancedVSeed,
|
6581
|
+
encoding: {
|
6582
|
+
...encoding,
|
7211
6583
|
angle,
|
7212
|
-
|
7213
|
-
|
7214
|
-
color
|
6584
|
+
color,
|
6585
|
+
detail: mergedDetail
|
7215
6586
|
}
|
7216
|
-
|
7217
|
-
}
|
6587
|
+
};
|
6588
|
+
}
|
6589
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
6590
|
+
const mergedEncoding = {
|
6591
|
+
angle: dimensions.slice(0, 1).map((item)=>item.id),
|
6592
|
+
color: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
6593
|
+
detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
6594
|
+
tooltip: dimensions.map((item)=>item.id),
|
6595
|
+
label: [],
|
6596
|
+
row: [],
|
6597
|
+
column: []
|
6598
|
+
};
|
7218
6599
|
return {
|
7219
|
-
...
|
7220
|
-
encoding
|
6600
|
+
...advancedVSeed,
|
6601
|
+
encoding: mergedEncoding
|
7221
6602
|
};
|
7222
6603
|
};
|
7223
6604
|
const roseAdvancedPipeline = [
|
7224
6605
|
initAdvancedVSeed_initAdvancedVSeed,
|
7225
6606
|
autoMeasures_autoMeasures,
|
7226
6607
|
autoDimensions_autoDimensions,
|
6608
|
+
encodingForRose,
|
7227
6609
|
pivotAdapter([
|
7228
|
-
|
6610
|
+
reshapeWithEncoding
|
7229
6611
|
], [
|
7230
|
-
|
6612
|
+
pivotReshapeWithEncoding
|
7231
6613
|
]),
|
7232
|
-
encodingRose,
|
7233
6614
|
roseConfig,
|
7234
6615
|
theme_theme,
|
7235
6616
|
markStyle_markStyle,
|
@@ -7240,13 +6621,12 @@ const initRose = (spec, context)=>{
|
|
7240
6621
|
...spec
|
7241
6622
|
};
|
7242
6623
|
const { advancedVSeed } = context;
|
7243
|
-
const {
|
7244
|
-
const { foldInfo } = datasetReshapeInfo[0];
|
7245
|
-
if (!encoding[0].radius || !encoding[0].angle || !encoding[0].group) return result;
|
6624
|
+
const { dataset, datasetReshapeInfo } = advancedVSeed;
|
6625
|
+
const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
|
7246
6626
|
result.type = 'rose';
|
7247
|
-
result.
|
7248
|
-
result.
|
7249
|
-
result.
|
6627
|
+
result.angleField = unfoldInfo.encodingAngle;
|
6628
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
6629
|
+
result.valueField = foldInfo.measureValue;
|
7250
6630
|
result.padding = 0;
|
7251
6631
|
result.outerRadius = 0.9;
|
7252
6632
|
result.innerRadius = 0;
|
@@ -7394,12 +6774,12 @@ const roseParallelAdvancedPipeline = [
|
|
7394
6774
|
initAdvancedVSeed_initAdvancedVSeed,
|
7395
6775
|
autoMeasures_autoMeasures,
|
7396
6776
|
autoDimensions_autoDimensions,
|
6777
|
+
encodingForRose,
|
7397
6778
|
pivotAdapter([
|
7398
|
-
|
6779
|
+
reshapeWithEncoding
|
7399
6780
|
], [
|
7400
|
-
|
6781
|
+
pivotReshapeWithEncoding
|
7401
6782
|
]),
|
7402
|
-
encodingRose,
|
7403
6783
|
roseParallelConfig,
|
7404
6784
|
theme_theme,
|
7405
6785
|
markStyle_markStyle,
|
@@ -7410,19 +6790,18 @@ const initRoseParallel = (spec, context)=>{
|
|
7410
6790
|
...spec
|
7411
6791
|
};
|
7412
6792
|
const { advancedVSeed } = context;
|
7413
|
-
const {
|
6793
|
+
const { datasetReshapeInfo, dataset, dimensions } = advancedVSeed;
|
7414
6794
|
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
7415
|
-
if (!encoding[0].radius || !encoding[0].angle || !encoding[0].group) return result;
|
7416
6795
|
const sameDimensionsMode = dimensions.length > 1 && dimensions.every((dim)=>dim.id === dimensions[0].id);
|
7417
6796
|
result.type = 'rose';
|
7418
|
-
result.
|
7419
|
-
|
6797
|
+
result.angleField = sameDimensionsMode ? [
|
6798
|
+
unfoldInfo.encodingAngle
|
7420
6799
|
] : [
|
7421
|
-
|
7422
|
-
unfoldInfo.
|
6800
|
+
unfoldInfo.encodingAngle,
|
6801
|
+
unfoldInfo.encodingDetail
|
7423
6802
|
];
|
7424
|
-
result.valueField =
|
7425
|
-
result.seriesField =
|
6803
|
+
result.valueField = foldInfo.measureValue;
|
6804
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
7426
6805
|
result.padding = 0;
|
7427
6806
|
result.outerRadius = 0.9;
|
7428
6807
|
result.innerRadius = 0;
|
@@ -7499,54 +6878,58 @@ const registerRoseParallel = ()=>{
|
|
7499
6878
|
Builder._advancedPipelineMap.roseParallel = roseParallelAdvancedPipeline;
|
7500
6879
|
Builder._specPipelineMap.roseParallel = roseParallelSpecPipeline;
|
7501
6880
|
};
|
7502
|
-
const
|
7503
|
-
const
|
7504
|
-
|
7505
|
-
|
7506
|
-
const
|
7507
|
-
if (
|
7508
|
-
|
7509
|
-
|
7510
|
-
const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
|
7511
|
-
const { foldInfo, unfoldInfo } = cur;
|
7512
|
-
const angle = [
|
7513
|
-
isZeroDimension ? foldInfo.measureName : angleDimension?.id
|
7514
|
-
];
|
7515
|
-
const radius = [
|
7516
|
-
foldInfo.measureValue
|
7517
|
-
];
|
7518
|
-
const group = [
|
7519
|
-
unfoldInfo.groupId
|
6881
|
+
const encodingForRadar = (advancedVSeed, context)=>{
|
6882
|
+
const { vseed } = context;
|
6883
|
+
const { dimensions } = advancedVSeed;
|
6884
|
+
if (!dimensions) return advancedVSeed;
|
6885
|
+
const encoding = vseed.encoding;
|
6886
|
+
if (encoding) {
|
6887
|
+
const angle = encoding.angle || [
|
6888
|
+
dimensions[0].id
|
7520
6889
|
];
|
7521
|
-
const color = [
|
7522
|
-
|
6890
|
+
const color = encoding.color || [
|
6891
|
+
(dimensions[1] || dimensions[0]).id
|
7523
6892
|
];
|
7524
|
-
|
7525
|
-
|
7526
|
-
|
6893
|
+
const detail = encoding.detail || [];
|
6894
|
+
const mergedDetail = (0, external_remeda_namespaceObject.unique)([
|
6895
|
+
...color,
|
6896
|
+
...detail
|
6897
|
+
]);
|
6898
|
+
return {
|
6899
|
+
...advancedVSeed,
|
6900
|
+
encoding: {
|
6901
|
+
...encoding,
|
7527
6902
|
angle,
|
7528
|
-
|
7529
|
-
|
7530
|
-
color
|
6903
|
+
color,
|
6904
|
+
detail: mergedDetail
|
7531
6905
|
}
|
7532
|
-
|
7533
|
-
}
|
6906
|
+
};
|
6907
|
+
}
|
6908
|
+
const mergedEncoding = {
|
6909
|
+
angle: dimensions.slice(0, 1).map((item)=>item.id),
|
6910
|
+
color: dimensions.slice(1).map((item)=>item.id),
|
6911
|
+
detail: dimensions.slice(1).map((item)=>item.id),
|
6912
|
+
tooltip: dimensions.map((item)=>item.id),
|
6913
|
+
label: [],
|
6914
|
+
row: [],
|
6915
|
+
column: []
|
6916
|
+
};
|
7534
6917
|
return {
|
7535
|
-
...
|
7536
|
-
encoding
|
6918
|
+
...advancedVSeed,
|
6919
|
+
encoding: mergedEncoding
|
7537
6920
|
};
|
7538
6921
|
};
|
7539
6922
|
const radarAdvancedPipeline = [
|
7540
6923
|
initAdvancedVSeed_initAdvancedVSeed,
|
7541
6924
|
autoMeasures_autoMeasures,
|
7542
6925
|
autoDimensions_autoDimensions,
|
6926
|
+
encodingForRadar,
|
7543
6927
|
pivotAdapter([
|
7544
|
-
|
6928
|
+
reshapeWithEncoding
|
7545
6929
|
], [
|
7546
|
-
|
6930
|
+
pivotReshapeWithEncoding
|
7547
6931
|
]),
|
7548
|
-
|
7549
|
-
sort_sortLegend,
|
6932
|
+
sortLegend_sortLegend,
|
7550
6933
|
radarConfig,
|
7551
6934
|
theme_theme,
|
7552
6935
|
markStyle_markStyle,
|
@@ -7557,12 +6940,12 @@ const initRadar = (spec, context)=>{
|
|
7557
6940
|
...spec
|
7558
6941
|
};
|
7559
6942
|
const { advancedVSeed } = context;
|
7560
|
-
const {
|
7561
|
-
|
6943
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
6944
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
7562
6945
|
result.type = 'radar';
|
7563
|
-
result.angleField =
|
7564
|
-
result.radiusField =
|
7565
|
-
result.seriesField =
|
6946
|
+
result.angleField = unfoldInfo.encodingAngle;
|
6947
|
+
result.radiusField = foldInfo.measureValue;
|
6948
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
7566
6949
|
result.padding = 0;
|
7567
6950
|
result.region = [
|
7568
6951
|
{
|
@@ -7674,47 +7057,40 @@ const registerRadar = ()=>{
|
|
7674
7057
|
Builder._advancedPipelineMap.radar = radarAdvancedPipeline;
|
7675
7058
|
Builder._specPipelineMap.radar = radarSpecPipeline;
|
7676
7059
|
};
|
7677
|
-
const
|
7678
|
-
const
|
7679
|
-
|
7060
|
+
const encodingForFunnel = (advancedVSeed, context)=>{
|
7061
|
+
const { vseed } = context;
|
7062
|
+
const { dimensions } = advancedVSeed;
|
7063
|
+
if (!dimensions) return advancedVSeed;
|
7064
|
+
const encoding = vseed.encoding;
|
7065
|
+
if (encoding) return {
|
7066
|
+
...advancedVSeed,
|
7067
|
+
encoding: {
|
7068
|
+
...encoding
|
7069
|
+
}
|
7070
|
+
};
|
7071
|
+
const mergedEncoding = {
|
7072
|
+
color: dimensions.slice(0).map((item)=>item.id),
|
7073
|
+
detail: dimensions.slice(0).map((item)=>item.id),
|
7074
|
+
tooltip: dimensions.map((item)=>item.id),
|
7075
|
+
label: [],
|
7076
|
+
row: [],
|
7077
|
+
column: []
|
7680
7078
|
};
|
7681
|
-
const { datasetReshapeInfo } = advancedVSeed;
|
7682
|
-
if (!datasetReshapeInfo) return result;
|
7683
|
-
const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
|
7684
|
-
const { foldInfo, unfoldInfo } = cur;
|
7685
|
-
const size = [
|
7686
|
-
foldInfo.measureValue
|
7687
|
-
];
|
7688
|
-
const group = [
|
7689
|
-
unfoldInfo.groupId
|
7690
|
-
];
|
7691
|
-
const color = [
|
7692
|
-
foldInfo.measureValue
|
7693
|
-
];
|
7694
|
-
return [
|
7695
|
-
...prev,
|
7696
|
-
{
|
7697
|
-
size,
|
7698
|
-
group,
|
7699
|
-
color
|
7700
|
-
}
|
7701
|
-
];
|
7702
|
-
}, []);
|
7703
7079
|
return {
|
7704
|
-
...
|
7705
|
-
encoding
|
7080
|
+
...advancedVSeed,
|
7081
|
+
encoding: mergedEncoding
|
7706
7082
|
};
|
7707
7083
|
};
|
7708
7084
|
const funnelAdvancedPipeline = [
|
7709
7085
|
initAdvancedVSeed_initAdvancedVSeed,
|
7710
7086
|
autoMeasures_autoMeasures,
|
7711
7087
|
autoDimensions_autoDimensions,
|
7088
|
+
encodingForFunnel,
|
7712
7089
|
pivotAdapter([
|
7713
|
-
|
7090
|
+
reshapeWithEncoding
|
7714
7091
|
], [
|
7715
|
-
|
7092
|
+
pivotReshapeWithEncoding
|
7716
7093
|
]),
|
7717
|
-
encodingFunnel,
|
7718
7094
|
funnelConfig,
|
7719
7095
|
theme_theme,
|
7720
7096
|
annotation_annotation
|
@@ -7724,11 +7100,11 @@ const initFunnel = (spec, context)=>{
|
|
7724
7100
|
...spec
|
7725
7101
|
};
|
7726
7102
|
const { advancedVSeed } = context;
|
7727
|
-
const {
|
7728
|
-
|
7103
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
7104
|
+
const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
|
7729
7105
|
result.type = 'funnel';
|
7730
|
-
result.valueField =
|
7731
|
-
result.categoryField =
|
7106
|
+
result.valueField = foldInfo.measureValue;
|
7107
|
+
result.categoryField = unfoldInfo.encodingColorId;
|
7732
7108
|
result.padding = 0;
|
7733
7109
|
result.isTransform = true;
|
7734
7110
|
result.shape = 'rect';
|
@@ -7743,7 +7119,7 @@ const initFunnel = (spec, context)=>{
|
|
7743
7119
|
style: {
|
7744
7120
|
cornerRadius: 4,
|
7745
7121
|
fill: {
|
7746
|
-
field:
|
7122
|
+
field: unfoldInfo.encodingColorId,
|
7747
7123
|
scale: 'color'
|
7748
7124
|
}
|
7749
7125
|
},
|
@@ -7759,99 +7135,14 @@ const initFunnel = (spec, context)=>{
|
|
7759
7135
|
result.animation = true;
|
7760
7136
|
return result;
|
7761
7137
|
};
|
7762
|
-
const linearColor = (spec, context)=>{
|
7763
|
-
const result = {
|
7764
|
-
...spec
|
7765
|
-
};
|
7766
|
-
const { advancedVSeed } = context;
|
7767
|
-
const { datasetReshapeInfo, chartType, encoding } = advancedVSeed;
|
7768
|
-
const baseConfig = advancedVSeed.config[chartType];
|
7769
|
-
if (!baseConfig || !baseConfig.color) return result;
|
7770
|
-
const { color } = baseConfig;
|
7771
|
-
const { colorScheme } = color;
|
7772
|
-
result.color = {
|
7773
|
-
type: 'linear',
|
7774
|
-
domain: [
|
7775
|
-
{
|
7776
|
-
dataId: datasetReshapeInfo[0].id,
|
7777
|
-
fields: encoding?.[0]?.color
|
7778
|
-
}
|
7779
|
-
],
|
7780
|
-
range: colorScheme
|
7781
|
-
};
|
7782
|
-
return result;
|
7783
|
-
};
|
7784
|
-
const colorLegend = (spec, context)=>{
|
7785
|
-
const result = {
|
7786
|
-
...spec
|
7787
|
-
};
|
7788
|
-
const { advancedVSeed } = context;
|
7789
|
-
const { chartType } = advancedVSeed;
|
7790
|
-
const baseConfig = advancedVSeed.config[chartType];
|
7791
|
-
const { encoding } = advancedVSeed;
|
7792
|
-
if (!encoding[0].color) return result;
|
7793
|
-
if (!baseConfig || !baseConfig.legend) return result;
|
7794
|
-
const { legend } = baseConfig;
|
7795
|
-
const { enable, position = 'bottom' } = legend || {};
|
7796
|
-
const orient = [
|
7797
|
-
'bottom',
|
7798
|
-
'bottomLeft',
|
7799
|
-
'bottomRight',
|
7800
|
-
'bl',
|
7801
|
-
'br'
|
7802
|
-
].includes(position) ? 'bottom' : [
|
7803
|
-
'top',
|
7804
|
-
'topLeft',
|
7805
|
-
'topRight',
|
7806
|
-
'tl',
|
7807
|
-
'tr'
|
7808
|
-
].includes(position) ? 'top' : [
|
7809
|
-
'left',
|
7810
|
-
'leftTop',
|
7811
|
-
'leftBottom',
|
7812
|
-
'lt',
|
7813
|
-
'lb'
|
7814
|
-
].includes(position) ? 'left' : 'right';
|
7815
|
-
const legendPosition = [
|
7816
|
-
'topLeft',
|
7817
|
-
'bottomLeft',
|
7818
|
-
'leftTop',
|
7819
|
-
'rightTop',
|
7820
|
-
'lt',
|
7821
|
-
'rt',
|
7822
|
-
'tl',
|
7823
|
-
'bl'
|
7824
|
-
].includes(position) ? 'start' : [
|
7825
|
-
'topRight',
|
7826
|
-
'bottomRight',
|
7827
|
-
'leftBottom',
|
7828
|
-
'rightBottom',
|
7829
|
-
'lb',
|
7830
|
-
'rb',
|
7831
|
-
'rt',
|
7832
|
-
'br'
|
7833
|
-
].includes(position) ? 'end' : 'middle';
|
7834
|
-
result.legends = {
|
7835
|
-
type: 'color',
|
7836
|
-
visible: enable,
|
7837
|
-
orient,
|
7838
|
-
position: legendPosition,
|
7839
|
-
field: encoding[0].color[0],
|
7840
|
-
inverse: !![
|
7841
|
-
'left',
|
7842
|
-
'right'
|
7843
|
-
].includes(orient)
|
7844
|
-
};
|
7845
|
-
return result;
|
7846
|
-
};
|
7847
7138
|
const funnel = [
|
7848
7139
|
initFunnel,
|
7849
|
-
linearColor,
|
7850
7140
|
background_backgroundColor,
|
7851
7141
|
datasetXY,
|
7142
|
+
color_color,
|
7852
7143
|
label_label,
|
7853
7144
|
tooltip_tooltip,
|
7854
|
-
|
7145
|
+
discreteLegend,
|
7855
7146
|
annotationPoint_annotationPoint,
|
7856
7147
|
annotationVerticalLine_annotationVerticalLine,
|
7857
7148
|
annotationHorizontalLine_annotationHorizontalLine,
|
@@ -7864,12 +7155,12 @@ const pivotFunnel = [
|
|
7864
7155
|
datasetPivot,
|
7865
7156
|
pivotIndicators_pivotIndicators([
|
7866
7157
|
initFunnel,
|
7867
|
-
linearColor,
|
7868
7158
|
background_backgroundColor,
|
7869
7159
|
datasetXY,
|
7160
|
+
color_color,
|
7870
7161
|
label_label,
|
7871
7162
|
tooltip_tooltip,
|
7872
|
-
|
7163
|
+
discreteLegend,
|
7873
7164
|
annotationPoint_annotationPoint,
|
7874
7165
|
annotationVerticalLine_annotationVerticalLine,
|
7875
7166
|
annotationHorizontalLine_annotationHorizontalLine,
|
@@ -7885,49 +7176,52 @@ const registerFunnel = ()=>{
|
|
7885
7176
|
Builder._advancedPipelineMap.funnel = funnelAdvancedPipeline;
|
7886
7177
|
Builder._specPipelineMap.funnel = funnelSpecPipeline;
|
7887
7178
|
};
|
7888
|
-
const
|
7889
|
-
const
|
7890
|
-
|
7891
|
-
|
7892
|
-
const
|
7893
|
-
if (
|
7894
|
-
|
7895
|
-
|
7896
|
-
const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
|
7897
|
-
const { foldInfo, unfoldInfo } = cur;
|
7898
|
-
const x = [
|
7899
|
-
isZeroDimension ? foldInfo.measureName : xDimension?.id
|
7900
|
-
];
|
7901
|
-
const y = [
|
7902
|
-
unfoldInfo.groupName
|
7179
|
+
const encodingForHeatmap = (advancedVSeed, context)=>{
|
7180
|
+
const { vseed } = context;
|
7181
|
+
const { dimensions } = advancedVSeed;
|
7182
|
+
if (!dimensions) return advancedVSeed;
|
7183
|
+
const encoding = vseed.encoding;
|
7184
|
+
if (encoding) {
|
7185
|
+
const x = encoding.x || [
|
7186
|
+
dimensions[0].id
|
7903
7187
|
];
|
7904
|
-
const
|
7905
|
-
|
7188
|
+
const y = encoding.y || [
|
7189
|
+
(dimensions[1] || dimensions[0]).id
|
7906
7190
|
];
|
7907
|
-
return
|
7908
|
-
...
|
7909
|
-
{
|
7191
|
+
return {
|
7192
|
+
...advancedVSeed,
|
7193
|
+
encoding: {
|
7910
7194
|
x,
|
7911
7195
|
y,
|
7912
|
-
|
7196
|
+
...encoding
|
7913
7197
|
}
|
7914
|
-
|
7915
|
-
}
|
7198
|
+
};
|
7199
|
+
}
|
7200
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
7201
|
+
const mergedEncoding = {
|
7202
|
+
x: dimensions.slice(0, 1).map((item)=>item.id),
|
7203
|
+
y: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
7204
|
+
color: dimensions.slice(0).map((item)=>item.id),
|
7205
|
+
tooltip: dimensions.map((item)=>item.id),
|
7206
|
+
label: [],
|
7207
|
+
row: [],
|
7208
|
+
column: []
|
7209
|
+
};
|
7916
7210
|
return {
|
7917
|
-
...
|
7918
|
-
encoding
|
7211
|
+
...advancedVSeed,
|
7212
|
+
encoding: mergedEncoding
|
7919
7213
|
};
|
7920
7214
|
};
|
7921
7215
|
const heatmapAdvancedPipeline = [
|
7922
7216
|
initAdvancedVSeed_initAdvancedVSeed,
|
7923
7217
|
autoMeasures_autoMeasures,
|
7924
7218
|
autoDimensions_autoDimensions,
|
7219
|
+
encodingForHeatmap,
|
7925
7220
|
pivotAdapter([
|
7926
|
-
|
7221
|
+
reshapeWithEncoding
|
7927
7222
|
], [
|
7928
|
-
|
7223
|
+
pivotReshapeWithEncoding
|
7929
7224
|
]),
|
7930
|
-
encodingMatrix,
|
7931
7225
|
sortXBandAxis,
|
7932
7226
|
heatmapConfig,
|
7933
7227
|
theme_theme,
|
@@ -7949,23 +7243,20 @@ const initHeatmap = (spec, context)=>{
|
|
7949
7243
|
...spec
|
7950
7244
|
};
|
7951
7245
|
const { advancedVSeed } = context;
|
7952
|
-
const {
|
7953
|
-
|
7246
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
7247
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
7954
7248
|
result.type = 'heatmap';
|
7955
7249
|
result.direction = 'vertical';
|
7956
|
-
result.xField =
|
7957
|
-
result.yField =
|
7958
|
-
result.
|
7250
|
+
result.xField = unfoldInfo.encodingX;
|
7251
|
+
result.yField = unfoldInfo.encodingY;
|
7252
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
7253
|
+
result.valueField = foldInfo.measureValue;
|
7959
7254
|
result.padding = 0;
|
7960
7255
|
result.cell = {
|
7961
7256
|
style: {
|
7962
7257
|
shape: 'rect',
|
7963
7258
|
stroke: '#ffffff',
|
7964
|
-
lineWidth: 1
|
7965
|
-
fill: {
|
7966
|
-
field: encoding[0].color[0],
|
7967
|
-
scale: 'color'
|
7968
|
-
}
|
7259
|
+
lineWidth: 1
|
7969
7260
|
}
|
7970
7261
|
};
|
7971
7262
|
result.axes = [
|
@@ -7990,12 +7281,12 @@ const initHeatmap = (spec, context)=>{
|
|
7990
7281
|
};
|
7991
7282
|
const heatmap = [
|
7992
7283
|
initHeatmap,
|
7993
|
-
linearColor,
|
7994
7284
|
background_backgroundColor,
|
7995
7285
|
datasetXY,
|
7286
|
+
color_color,
|
7996
7287
|
label_label,
|
7997
7288
|
labelColorInversion,
|
7998
|
-
|
7289
|
+
discreteLegend,
|
7999
7290
|
tooltip_tooltip,
|
8000
7291
|
pointStyle_pointStyle,
|
8001
7292
|
pointStateDimensionHover,
|
@@ -8012,12 +7303,12 @@ const pivotHeatmap = [
|
|
8012
7303
|
datasetPivot,
|
8013
7304
|
pivotIndicators_pivotIndicators([
|
8014
7305
|
initHeatmap,
|
8015
|
-
linearColor,
|
8016
7306
|
background_backgroundColor,
|
8017
7307
|
datasetXY,
|
7308
|
+
color_color,
|
8018
7309
|
label_label,
|
8019
7310
|
labelColorInversion,
|
8020
|
-
|
7311
|
+
discreteLegend,
|
8021
7312
|
tooltip_tooltip,
|
8022
7313
|
pointStyle_pointStyle,
|
8023
7314
|
pointStateDimensionHover,
|
@@ -8285,12 +7576,6 @@ const lightTheme = ()=>{
|
|
8285
7576
|
yAxis: linearAxis,
|
8286
7577
|
crosshairLine
|
8287
7578
|
},
|
8288
|
-
areaRange: {
|
8289
|
-
...baseConfig,
|
8290
|
-
xAxis: bandAxis,
|
8291
|
-
yAxis: linearAxis,
|
8292
|
-
crosshairLine
|
8293
|
-
},
|
8294
7579
|
scatter: {
|
8295
7580
|
...baseConfig,
|
8296
7581
|
xAxis: {
|
@@ -8623,12 +7908,6 @@ const darkTheme = ()=>{
|
|
8623
7908
|
yAxis: linearAxis,
|
8624
7909
|
crosshairLine: crosshairLine
|
8625
7910
|
},
|
8626
|
-
areaRange: {
|
8627
|
-
...baseConfig,
|
8628
|
-
xAxis: bandAxis,
|
8629
|
-
yAxis: linearAxis,
|
8630
|
-
crosshairLine: crosshairLine
|
8631
|
-
},
|
8632
7911
|
scatter: {
|
8633
7912
|
...baseConfig,
|
8634
7913
|
xAxis: {
|
@@ -8726,7 +8005,6 @@ const registerAll = ()=>{
|
|
8726
8005
|
registerBarPercent();
|
8727
8006
|
registerArea();
|
8728
8007
|
registerAreaPercent();
|
8729
|
-
registerAreaRange();
|
8730
8008
|
registerScatter();
|
8731
8009
|
registerDualAxis();
|
8732
8010
|
registerPie();
|
@@ -8761,7 +8039,6 @@ const zChartType = external_zod_namespaceObject.z["enum"]([
|
|
8761
8039
|
'barParallel',
|
8762
8040
|
'area',
|
8763
8041
|
'areaPercent',
|
8764
|
-
'areaRange',
|
8765
8042
|
'scatter',
|
8766
8043
|
'dualAxis',
|
8767
8044
|
'rose',
|
@@ -8859,6 +8136,12 @@ const zDualMeasure = external_zod_namespaceObject.z.object({
|
|
8859
8136
|
secondaryMeasures: external_zod_namespaceObject.z.array(zMeasure).or(zMeasure).optional()
|
8860
8137
|
});
|
8861
8138
|
const zDualMeasures = external_zod_namespaceObject.z.array(zDualMeasure);
|
8139
|
+
const zScatterMeasure = external_zod_namespaceObject.z.object({
|
8140
|
+
id: external_zod_namespaceObject.z.string(),
|
8141
|
+
xMeasures: external_zod_namespaceObject.z.array(zMeasure).or(zMeasure).optional(),
|
8142
|
+
yMeasures: external_zod_namespaceObject.z.array(zMeasure).or(zMeasure).optional()
|
8143
|
+
});
|
8144
|
+
const zScatterMeasures = external_zod_namespaceObject.z.array(zScatterMeasure);
|
8862
8145
|
const zFoldInfo = external_zod_namespaceObject.z.object({
|
8863
8146
|
foldMap: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.string().or(external_zod_namespaceObject.z.undefined())),
|
8864
8147
|
measureId: external_zod_namespaceObject.z.string(),
|
@@ -8866,10 +8149,14 @@ const zFoldInfo = external_zod_namespaceObject.z.object({
|
|
8866
8149
|
measureValue: external_zod_namespaceObject.z.string()
|
8867
8150
|
});
|
8868
8151
|
const zUnfoldInfo = external_zod_namespaceObject.z.object({
|
8152
|
+
encodingX: external_zod_namespaceObject.z.string(),
|
8153
|
+
encodingY: external_zod_namespaceObject.z.string(),
|
8154
|
+
encodingColor: external_zod_namespaceObject.z.string(),
|
8155
|
+
encodingColorId: external_zod_namespaceObject.z.string(),
|
8156
|
+
encodingDetail: external_zod_namespaceObject.z.string(),
|
8157
|
+
encodingAngle: external_zod_namespaceObject.z.string(),
|
8869
8158
|
colorItems: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()),
|
8870
|
-
|
8871
|
-
colorIdMap: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.string()),
|
8872
|
-
groupName: external_zod_namespaceObject.z.string()
|
8159
|
+
colorIdMap: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.string())
|
8873
8160
|
});
|
8874
8161
|
const zDatasetReshapeInfo = external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.object({
|
8875
8162
|
id: external_zod_namespaceObject.z.string(),
|
@@ -8878,16 +8165,21 @@ const zDatasetReshapeInfo = external_zod_namespaceObject.z.array(external_zod_na
|
|
8878
8165
|
foldInfoList: external_zod_namespaceObject.z.array(zFoldInfo).nullish(),
|
8879
8166
|
unfoldInfo: zUnfoldInfo
|
8880
8167
|
}));
|
8881
|
-
const zEncoding = external_zod_namespaceObject.z.
|
8168
|
+
const zEncoding = external_zod_namespaceObject.z.object({
|
8882
8169
|
x: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8883
8170
|
y: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8884
|
-
color: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8885
|
-
group: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8886
8171
|
angle: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8887
8172
|
radius: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8173
|
+
detail: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8174
|
+
color: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8175
|
+
size: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8888
8176
|
tooltip: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8889
|
-
|
8890
|
-
|
8177
|
+
label: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8178
|
+
row: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8179
|
+
column: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8180
|
+
group: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish().describe("\u5DF2\u5F03\u7528, \u8BF7\u4F7F\u7528\u989C\u8272\u66FF\u4EE3")
|
8181
|
+
});
|
8182
|
+
const zEncodings = external_zod_namespaceObject.z.array(zEncoding);
|
8891
8183
|
const zXBandAxis = external_zod_namespaceObject.z.object({
|
8892
8184
|
visible: external_zod_namespaceObject.z.boolean().default(true).nullish(),
|
8893
8185
|
labelAutoHide: external_zod_namespaceObject.z.boolean().default(true).nullish(),
|
@@ -9150,7 +8442,6 @@ const zAreaConfig = external_zod_namespaceObject.z.object({
|
|
9150
8442
|
crosshairLine: zCrosshairLine.nullish()
|
9151
8443
|
});
|
9152
8444
|
const zAreaPercentConfig = zAreaConfig;
|
9153
|
-
const zAreaRangeConfig = zAreaConfig;
|
9154
8445
|
const zDualAxisConfig = external_zod_namespaceObject.z.object({
|
9155
8446
|
backgroundColor: zBackgroundColor.nullish(),
|
9156
8447
|
label: zLabel.nullish(),
|
@@ -9205,7 +8496,6 @@ const zConfig = external_zod_namespaceObject.z.object({
|
|
9205
8496
|
barPercent: zBarPercentConfig.nullish(),
|
9206
8497
|
area: zAreaConfig.nullish(),
|
9207
8498
|
areaPercent: zAreaPercentConfig.nullish(),
|
9208
|
-
areaRange: zAreaRangeConfig.nullish(),
|
9209
8499
|
scatter: zScatterConfig.nullish(),
|
9210
8500
|
dualAxis: zDualAxisConfig.nullish(),
|
9211
8501
|
rose: zRoseConfig.nullish(),
|
@@ -9644,6 +8934,7 @@ const zPivotTable = external_zod_namespaceObject.z.object({
|
|
9644
8934
|
const zLine = external_zod_namespaceObject.z.object({
|
9645
8935
|
chartType: external_zod_namespaceObject.z.literal('line'),
|
9646
8936
|
dataset: zDataset.nullish(),
|
8937
|
+
encoding: zEncoding.nullish(),
|
9647
8938
|
dimensions: zDimensions.nullish(),
|
9648
8939
|
measures: zMeasureTree.nullish(),
|
9649
8940
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9668,6 +8959,7 @@ const zLine = external_zod_namespaceObject.z.object({
|
|
9668
8959
|
const zColumn = external_zod_namespaceObject.z.object({
|
9669
8960
|
chartType: external_zod_namespaceObject.z.literal('column'),
|
9670
8961
|
dataset: zDataset.nullish(),
|
8962
|
+
encoding: zEncoding.nullish(),
|
9671
8963
|
dimensions: zDimensions.nullish(),
|
9672
8964
|
measures: zMeasureTree.nullish(),
|
9673
8965
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9690,6 +8982,7 @@ const zColumn = external_zod_namespaceObject.z.object({
|
|
9690
8982
|
const zColumnParallel = external_zod_namespaceObject.z.object({
|
9691
8983
|
chartType: external_zod_namespaceObject.z.literal('columnParallel'),
|
9692
8984
|
dataset: zDataset.nullish(),
|
8985
|
+
encoding: zEncoding.nullish(),
|
9693
8986
|
dimensions: zDimensions.nullish(),
|
9694
8987
|
measures: zMeasureTree.nullish(),
|
9695
8988
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9712,6 +9005,7 @@ const zColumnParallel = external_zod_namespaceObject.z.object({
|
|
9712
9005
|
const zColumnPercent = external_zod_namespaceObject.z.object({
|
9713
9006
|
chartType: external_zod_namespaceObject.z.literal('columnPercent'),
|
9714
9007
|
dataset: zDataset.nullish(),
|
9008
|
+
encoding: zEncoding.nullish(),
|
9715
9009
|
dimensions: zDimensions.nullish(),
|
9716
9010
|
measures: zMeasureTree.nullish(),
|
9717
9011
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9734,6 +9028,7 @@ const zColumnPercent = external_zod_namespaceObject.z.object({
|
|
9734
9028
|
const zBar = external_zod_namespaceObject.z.object({
|
9735
9029
|
chartType: external_zod_namespaceObject.z.literal('bar'),
|
9736
9030
|
dataset: zDataset.nullish(),
|
9031
|
+
encoding: zEncoding.nullish(),
|
9737
9032
|
dimensions: zDimensions.nullish(),
|
9738
9033
|
measures: zMeasureTree.nullish(),
|
9739
9034
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9756,6 +9051,7 @@ const zBar = external_zod_namespaceObject.z.object({
|
|
9756
9051
|
const zBarParallel = external_zod_namespaceObject.z.object({
|
9757
9052
|
chartType: external_zod_namespaceObject.z.literal('barParallel'),
|
9758
9053
|
dataset: zDataset.nullish(),
|
9054
|
+
encoding: zEncoding.nullish(),
|
9759
9055
|
dimensions: zDimensions.nullish(),
|
9760
9056
|
measures: zMeasureTree.nullish(),
|
9761
9057
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9778,6 +9074,7 @@ const zBarParallel = external_zod_namespaceObject.z.object({
|
|
9778
9074
|
const zBarPercent = external_zod_namespaceObject.z.object({
|
9779
9075
|
chartType: external_zod_namespaceObject.z.literal('barPercent'),
|
9780
9076
|
dataset: zDataset.nullish(),
|
9077
|
+
encoding: zEncoding.nullish(),
|
9781
9078
|
dimensions: zDimensions.nullish(),
|
9782
9079
|
measures: zMeasureTree.nullish(),
|
9783
9080
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9800,6 +9097,7 @@ const zBarPercent = external_zod_namespaceObject.z.object({
|
|
9800
9097
|
const zArea = external_zod_namespaceObject.z.object({
|
9801
9098
|
chartType: external_zod_namespaceObject.z.literal('area'),
|
9802
9099
|
dataset: zDataset.nullish(),
|
9100
|
+
encoding: zEncoding.nullish(),
|
9803
9101
|
dimensions: zDimensions.nullish(),
|
9804
9102
|
measures: zMeasureTree.nullish(),
|
9805
9103
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9823,6 +9121,7 @@ const zArea = external_zod_namespaceObject.z.object({
|
|
9823
9121
|
const zAreaPercent = external_zod_namespaceObject.z.object({
|
9824
9122
|
chartType: external_zod_namespaceObject.z.literal('areaPercent'),
|
9825
9123
|
dataset: zDataset.nullish(),
|
9124
|
+
encoding: zEncoding.nullish(),
|
9826
9125
|
dimensions: zDimensions.nullish(),
|
9827
9126
|
measures: zMeasureTree.nullish(),
|
9828
9127
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9843,31 +9142,13 @@ const zAreaPercent = external_zod_namespaceObject.z.object({
|
|
9843
9142
|
annotationArea: external_zod_namespaceObject.z.array(zAnnotationArea).or(zAnnotationArea).nullish(),
|
9844
9143
|
locale: zLocale.nullish()
|
9845
9144
|
});
|
9846
|
-
const zAreaRange = external_zod_namespaceObject.z.object({
|
9847
|
-
chartType: external_zod_namespaceObject.z.literal('areaRange'),
|
9848
|
-
dataset: zDataset.nullish(),
|
9849
|
-
dimensions: zDimensions.nullish(),
|
9850
|
-
measures: zMeasureTree.nullish(),
|
9851
|
-
backgroundColor: zBackgroundColor.nullish(),
|
9852
|
-
label: zLabel.nullish(),
|
9853
|
-
xAxis: zXBandAxis.nullish(),
|
9854
|
-
yAxis: zYLinearAxis.nullish(),
|
9855
|
-
crosshairLine: zCrosshairLine.nullish(),
|
9856
|
-
theme: zTheme.nullish(),
|
9857
|
-
pointStyle: external_zod_namespaceObject.z.array(zPointStyle).or(zPointStyle).nullish(),
|
9858
|
-
lineStyle: external_zod_namespaceObject.z.array(zLineStyle).or(zLineStyle).nullish(),
|
9859
|
-
areaStyle: external_zod_namespaceObject.z.array(zAreaStyle).or(zAreaStyle).nullish(),
|
9860
|
-
annotationPoint: external_zod_namespaceObject.z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),
|
9861
|
-
annotationVerticalLine: external_zod_namespaceObject.z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),
|
9862
|
-
annotationHorizontalLine: external_zod_namespaceObject.z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),
|
9863
|
-
annotationArea: external_zod_namespaceObject.z.array(zAnnotationArea).or(zAnnotationArea).nullish(),
|
9864
|
-
locale: zLocale.nullish()
|
9865
|
-
});
|
9866
9145
|
const zScatter = external_zod_namespaceObject.z.object({
|
9867
9146
|
chartType: external_zod_namespaceObject.z.literal('scatter'),
|
9868
9147
|
dataset: zDataset.nullish(),
|
9148
|
+
encoding: zEncoding.nullish(),
|
9869
9149
|
dimensions: zDimensions.nullish(),
|
9870
9150
|
measures: zMeasureTree.nullish(),
|
9151
|
+
scatterMeasures: zScatterMeasures.nullish(),
|
9871
9152
|
backgroundColor: zBackgroundColor.nullish(),
|
9872
9153
|
color: zColor.nullish(),
|
9873
9154
|
label: zLabel.nullish(),
|
@@ -9917,6 +9198,7 @@ const zDualAxis = external_zod_namespaceObject.z.object({
|
|
9917
9198
|
const zRose = external_zod_namespaceObject.z.object({
|
9918
9199
|
chartType: external_zod_namespaceObject.z.literal('rose'),
|
9919
9200
|
dataset: zDataset.nullish(),
|
9201
|
+
encoding: zEncoding.nullish(),
|
9920
9202
|
dimensions: zDimensions.nullish(),
|
9921
9203
|
measures: zMeasureTree.nullish(),
|
9922
9204
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9930,6 +9212,7 @@ const zRose = external_zod_namespaceObject.z.object({
|
|
9930
9212
|
const zRoseParallel = external_zod_namespaceObject.z.object({
|
9931
9213
|
chartType: external_zod_namespaceObject.z.literal('roseParallel'),
|
9932
9214
|
dataset: zDataset.nullish(),
|
9215
|
+
encoding: zEncoding.nullish(),
|
9933
9216
|
dimensions: zDimensions.nullish(),
|
9934
9217
|
measures: zMeasureTree.nullish(),
|
9935
9218
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9943,6 +9226,7 @@ const zRoseParallel = external_zod_namespaceObject.z.object({
|
|
9943
9226
|
const zPie = external_zod_namespaceObject.z.object({
|
9944
9227
|
chartType: external_zod_namespaceObject.z.literal('pie'),
|
9945
9228
|
dataset: zDataset.nullish(),
|
9229
|
+
encoding: zEncoding.nullish(),
|
9946
9230
|
dimensions: zDimensions.nullish(),
|
9947
9231
|
measures: zMeasureTree.nullish(),
|
9948
9232
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9956,6 +9240,7 @@ const zPie = external_zod_namespaceObject.z.object({
|
|
9956
9240
|
const zDonut = external_zod_namespaceObject.z.object({
|
9957
9241
|
chartType: external_zod_namespaceObject.z.literal('donut'),
|
9958
9242
|
dataset: zDataset.nullish(),
|
9243
|
+
encoding: zEncoding.nullish(),
|
9959
9244
|
dimensions: zDimensions.nullish(),
|
9960
9245
|
measures: zMeasureTree.nullish(),
|
9961
9246
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9969,6 +9254,7 @@ const zDonut = external_zod_namespaceObject.z.object({
|
|
9969
9254
|
const zRadar = external_zod_namespaceObject.z.object({
|
9970
9255
|
chartType: external_zod_namespaceObject.z.literal('radar'),
|
9971
9256
|
dataset: zDataset.nullish(),
|
9257
|
+
encoding: zEncoding.nullish(),
|
9972
9258
|
dimensions: zDimensions.nullish(),
|
9973
9259
|
measures: zMeasureTree.nullish(),
|
9974
9260
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9982,6 +9268,7 @@ const zRadar = external_zod_namespaceObject.z.object({
|
|
9982
9268
|
const zFunnel = external_zod_namespaceObject.z.object({
|
9983
9269
|
chartType: external_zod_namespaceObject.z.literal('funnel'),
|
9984
9270
|
dataset: zDataset.nullish(),
|
9271
|
+
encoding: zEncoding.nullish(),
|
9985
9272
|
dimensions: zDimensions.nullish(),
|
9986
9273
|
measures: zMeasureTree.nullish(),
|
9987
9274
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -10017,7 +9304,6 @@ const zVSeed = external_zod_namespaceObject.z.discriminatedUnion('chartType', [
|
|
10017
9304
|
zBarPercent,
|
10018
9305
|
zArea,
|
10019
9306
|
zAreaPercent,
|
10020
|
-
zAreaRange,
|
10021
9307
|
zScatter,
|
10022
9308
|
zDualAxis,
|
10023
9309
|
zPie,
|
@@ -10035,6 +9321,7 @@ const zAdvancedVSeed = external_zod_namespaceObject.z.object({
|
|
10035
9321
|
dimensions: zDimensionTree,
|
10036
9322
|
measures: zMeasureTree,
|
10037
9323
|
encoding: zEncoding,
|
9324
|
+
encodings: zEncodings,
|
10038
9325
|
config: zConfig,
|
10039
9326
|
analysis: zAnalysis,
|
10040
9327
|
theme: zTheme,
|
@@ -10043,21 +9330,28 @@ const zAdvancedVSeed = external_zod_namespaceObject.z.object({
|
|
10043
9330
|
annotation: zAnnotation,
|
10044
9331
|
locale: zLocale
|
10045
9332
|
});
|
9333
|
+
exports.AngleEncoding = __webpack_exports__.AngleEncoding;
|
10046
9334
|
exports.Builder = __webpack_exports__.Builder;
|
9335
|
+
exports.ColorEncoding = __webpack_exports__.ColorEncoding;
|
9336
|
+
exports.ColorIdEncoding = __webpack_exports__.ColorIdEncoding;
|
9337
|
+
exports.DetailEncoding = __webpack_exports__.DetailEncoding;
|
10047
9338
|
exports.FoldMeasureId = __webpack_exports__.FoldMeasureId;
|
10048
9339
|
exports.FoldMeasureName = __webpack_exports__.FoldMeasureName;
|
10049
9340
|
exports.FoldMeasureValue = __webpack_exports__.FoldMeasureValue;
|
10050
9341
|
exports.FoldPrimaryMeasureValue = __webpack_exports__.FoldPrimaryMeasureValue;
|
10051
9342
|
exports.FoldSecondaryMeasureValue = __webpack_exports__.FoldSecondaryMeasureValue;
|
9343
|
+
exports.FoldXMeasureValue = __webpack_exports__.FoldXMeasureValue;
|
9344
|
+
exports.FoldYMeasureValue = __webpack_exports__.FoldYMeasureValue;
|
9345
|
+
exports.MeasureName = __webpack_exports__.MeasureName;
|
10052
9346
|
exports.ORIGINAL_DATA = __webpack_exports__.ORIGINAL_DATA;
|
10053
9347
|
exports.Separator = __webpack_exports__.Separator;
|
10054
9348
|
exports.UnfoldDimensionGroup = __webpack_exports__.UnfoldDimensionGroup;
|
10055
9349
|
exports.UnfoldDimensionGroupId = __webpack_exports__.UnfoldDimensionGroupId;
|
9350
|
+
exports.XEncoding = __webpack_exports__.XEncoding;
|
9351
|
+
exports.YEncoding = __webpack_exports__.YEncoding;
|
10056
9352
|
exports.areaAdvancedPipeline = __webpack_exports__.areaAdvancedPipeline;
|
10057
9353
|
exports.areaPercentAdvancedPipeline = __webpack_exports__.areaPercentAdvancedPipeline;
|
10058
9354
|
exports.areaPercentSpecPipeline = __webpack_exports__.areaPercentSpecPipeline;
|
10059
|
-
exports.areaRangeAdvancedPipeline = __webpack_exports__.areaRangeAdvancedPipeline;
|
10060
|
-
exports.areaRangeSpecPipeline = __webpack_exports__.areaRangeSpecPipeline;
|
10061
9355
|
exports.areaSpecPipeline = __webpack_exports__.areaSpecPipeline;
|
10062
9356
|
exports.autoFormatter = __webpack_exports__.autoFormatter;
|
10063
9357
|
exports.autoNumFormatter = __webpack_exports__.autoNumFormatter;
|
@@ -10076,11 +9370,7 @@ exports.columnSpecPipeline = __webpack_exports__.columnSpecPipeline;
|
|
10076
9370
|
exports.createFormatter = __webpack_exports__.createFormatter;
|
10077
9371
|
exports.createNumFormatter = __webpack_exports__.createNumFormatter;
|
10078
9372
|
exports.darkTheme = __webpack_exports__.darkTheme;
|
10079
|
-
exports.
|
10080
|
-
exports.dataReshapeFor1D1M = __webpack_exports__.dataReshapeFor1D1M;
|
10081
|
-
exports.dataReshapeFor1D2M = __webpack_exports__.dataReshapeFor1D2M;
|
10082
|
-
exports.dataReshapeFor2D1M = __webpack_exports__.dataReshapeFor2D1M;
|
10083
|
-
exports.dataReshapeFor2D1M0Name = __webpack_exports__.dataReshapeFor2D1M0Name;
|
9373
|
+
exports.dataReshapeByEncoding = __webpack_exports__.dataReshapeByEncoding;
|
10084
9374
|
exports.donutAdvancedPipeline = __webpack_exports__.donutAdvancedPipeline;
|
10085
9375
|
exports.donutSpecPipeline = __webpack_exports__.donutSpecPipeline;
|
10086
9376
|
exports.dualAxisAdvancedPipeline = __webpack_exports__.dualAxisAdvancedPipeline;
|
@@ -10128,7 +9418,6 @@ exports.radarSpecPipeline = __webpack_exports__.radarSpecPipeline;
|
|
10128
9418
|
exports.registerAll = __webpack_exports__.registerAll;
|
10129
9419
|
exports.registerArea = __webpack_exports__.registerArea;
|
10130
9420
|
exports.registerAreaPercent = __webpack_exports__.registerAreaPercent;
|
10131
|
-
exports.registerAreaRange = __webpack_exports__.registerAreaRange;
|
10132
9421
|
exports.registerBar = __webpack_exports__.registerBar;
|
10133
9422
|
exports.registerBarParallel = __webpack_exports__.registerBarParallel;
|
10134
9423
|
exports.registerBarPercent = __webpack_exports__.registerBarPercent;
|
@@ -10172,8 +9461,6 @@ exports.zArea = __webpack_exports__.zArea;
|
|
10172
9461
|
exports.zAreaConfig = __webpack_exports__.zAreaConfig;
|
10173
9462
|
exports.zAreaPercent = __webpack_exports__.zAreaPercent;
|
10174
9463
|
exports.zAreaPercentConfig = __webpack_exports__.zAreaPercentConfig;
|
10175
|
-
exports.zAreaRange = __webpack_exports__.zAreaRange;
|
10176
|
-
exports.zAreaRangeConfig = __webpack_exports__.zAreaRangeConfig;
|
10177
9464
|
exports.zAreaStyle = __webpack_exports__.zAreaStyle;
|
10178
9465
|
exports.zAxis = __webpack_exports__.zAxis;
|
10179
9466
|
exports.zBackgroundColor = __webpack_exports__.zBackgroundColor;
|
@@ -10213,6 +9500,7 @@ exports.zDualChartType = __webpack_exports__.zDualChartType;
|
|
10213
9500
|
exports.zDualMeasure = __webpack_exports__.zDualMeasure;
|
10214
9501
|
exports.zDualMeasures = __webpack_exports__.zDualMeasures;
|
10215
9502
|
exports.zEncoding = __webpack_exports__.zEncoding;
|
9503
|
+
exports.zEncodings = __webpack_exports__.zEncodings;
|
10216
9504
|
exports.zFoldInfo = __webpack_exports__.zFoldInfo;
|
10217
9505
|
exports.zFunnel = __webpack_exports__.zFunnel;
|
10218
9506
|
exports.zFunnelConfig = __webpack_exports__.zFunnelConfig;
|
@@ -10244,6 +9532,8 @@ exports.zRoseParallel = __webpack_exports__.zRoseParallel;
|
|
10244
9532
|
exports.zRoseParallelConfig = __webpack_exports__.zRoseParallelConfig;
|
10245
9533
|
exports.zScatter = __webpack_exports__.zScatter;
|
10246
9534
|
exports.zScatterConfig = __webpack_exports__.zScatterConfig;
|
9535
|
+
exports.zScatterMeasure = __webpack_exports__.zScatterMeasure;
|
9536
|
+
exports.zScatterMeasures = __webpack_exports__.zScatterMeasures;
|
10247
9537
|
exports.zSort = __webpack_exports__.zSort;
|
10248
9538
|
exports.zSortLegend = __webpack_exports__.zSortLegend;
|
10249
9539
|
exports.zStackCornerRadius = __webpack_exports__.zStackCornerRadius;
|
@@ -10258,21 +9548,28 @@ exports.zXLinearAxis = __webpack_exports__.zXLinearAxis;
|
|
10258
9548
|
exports.zYBandAxis = __webpack_exports__.zYBandAxis;
|
10259
9549
|
exports.zYLinearAxis = __webpack_exports__.zYLinearAxis;
|
10260
9550
|
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
9551
|
+
"AngleEncoding",
|
10261
9552
|
"Builder",
|
9553
|
+
"ColorEncoding",
|
9554
|
+
"ColorIdEncoding",
|
9555
|
+
"DetailEncoding",
|
10262
9556
|
"FoldMeasureId",
|
10263
9557
|
"FoldMeasureName",
|
10264
9558
|
"FoldMeasureValue",
|
10265
9559
|
"FoldPrimaryMeasureValue",
|
10266
9560
|
"FoldSecondaryMeasureValue",
|
9561
|
+
"FoldXMeasureValue",
|
9562
|
+
"FoldYMeasureValue",
|
9563
|
+
"MeasureName",
|
10267
9564
|
"ORIGINAL_DATA",
|
10268
9565
|
"Separator",
|
10269
9566
|
"UnfoldDimensionGroup",
|
10270
9567
|
"UnfoldDimensionGroupId",
|
9568
|
+
"XEncoding",
|
9569
|
+
"YEncoding",
|
10271
9570
|
"areaAdvancedPipeline",
|
10272
9571
|
"areaPercentAdvancedPipeline",
|
10273
9572
|
"areaPercentSpecPipeline",
|
10274
|
-
"areaRangeAdvancedPipeline",
|
10275
|
-
"areaRangeSpecPipeline",
|
10276
9573
|
"areaSpecPipeline",
|
10277
9574
|
"autoFormatter",
|
10278
9575
|
"autoNumFormatter",
|
@@ -10291,11 +9588,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
10291
9588
|
"createFormatter",
|
10292
9589
|
"createNumFormatter",
|
10293
9590
|
"darkTheme",
|
10294
|
-
"
|
10295
|
-
"dataReshapeFor1D1M",
|
10296
|
-
"dataReshapeFor1D2M",
|
10297
|
-
"dataReshapeFor2D1M",
|
10298
|
-
"dataReshapeFor2D1M0Name",
|
9591
|
+
"dataReshapeByEncoding",
|
10299
9592
|
"donutAdvancedPipeline",
|
10300
9593
|
"donutSpecPipeline",
|
10301
9594
|
"dualAxisAdvancedPipeline",
|
@@ -10343,7 +9636,6 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
10343
9636
|
"registerAll",
|
10344
9637
|
"registerArea",
|
10345
9638
|
"registerAreaPercent",
|
10346
|
-
"registerAreaRange",
|
10347
9639
|
"registerBar",
|
10348
9640
|
"registerBarParallel",
|
10349
9641
|
"registerBarPercent",
|
@@ -10387,8 +9679,6 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
10387
9679
|
"zAreaConfig",
|
10388
9680
|
"zAreaPercent",
|
10389
9681
|
"zAreaPercentConfig",
|
10390
|
-
"zAreaRange",
|
10391
|
-
"zAreaRangeConfig",
|
10392
9682
|
"zAreaStyle",
|
10393
9683
|
"zAxis",
|
10394
9684
|
"zBackgroundColor",
|
@@ -10428,6 +9718,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
10428
9718
|
"zDualMeasure",
|
10429
9719
|
"zDualMeasures",
|
10430
9720
|
"zEncoding",
|
9721
|
+
"zEncodings",
|
10431
9722
|
"zFoldInfo",
|
10432
9723
|
"zFunnel",
|
10433
9724
|
"zFunnelConfig",
|
@@ -10459,6 +9750,8 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
10459
9750
|
"zRoseParallelConfig",
|
10460
9751
|
"zScatter",
|
10461
9752
|
"zScatterConfig",
|
9753
|
+
"zScatterMeasure",
|
9754
|
+
"zScatterMeasures",
|
10462
9755
|
"zSort",
|
10463
9756
|
"zSortLegend",
|
10464
9757
|
"zStackCornerRadius",
|