@visactor/vseed 0.0.40 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +1130 -1880
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1076 -1835
- 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 +10 -1
- package/dist/types/chartType/area/zArea.d.ts +14 -0
- package/dist/types/chartType/areaPercent/areaPercent.d.ts +10 -1
- package/dist/types/chartType/areaPercent/zAreaPercent.d.ts +14 -0
- package/dist/types/chartType/bar/bar.d.ts +19 -30
- package/dist/types/chartType/bar/zBar.d.ts +14 -0
- package/dist/types/chartType/barParallel/barParallel.d.ts +18 -30
- package/dist/types/chartType/barParallel/zBarParallel.d.ts +14 -0
- package/dist/types/chartType/barPercent/barPercent.d.ts +16 -21
- package/dist/types/chartType/barPercent/zBarPercent.d.ts +14 -0
- package/dist/types/chartType/column/column.d.ts +16 -28
- package/dist/types/chartType/column/zColumn.d.ts +14 -0
- package/dist/types/chartType/columnParallel/columnParallel.d.ts +19 -27
- package/dist/types/chartType/columnParallel/zColumnParallel.d.ts +14 -0
- package/dist/types/chartType/columnPercent/columnPercent.d.ts +16 -25
- package/dist/types/chartType/columnPercent/zColumnPercent.d.ts +14 -0
- package/dist/types/chartType/donut/donut.d.ts +10 -1
- package/dist/types/chartType/donut/zDonut.d.ts +14 -0
- package/dist/types/chartType/dualAxis/dualAxis.d.ts +9 -1
- package/dist/types/chartType/funnel/funnel.d.ts +9 -1
- package/dist/types/chartType/funnel/zFunnel.d.ts +14 -0
- package/dist/types/chartType/heatmap/heatmap.d.ts +10 -1
- package/dist/types/chartType/index.d.ts +0 -1
- package/dist/types/chartType/line/line.d.ts +14 -10
- package/dist/types/chartType/line/zLine.d.ts +14 -0
- package/dist/types/chartType/pie/pie.d.ts +10 -1
- package/dist/types/chartType/pie/zPie.d.ts +14 -0
- package/dist/types/chartType/radar/radar.d.ts +10 -1
- package/dist/types/chartType/radar/zRadar.d.ts +14 -0
- package/dist/types/chartType/rose/rose.d.ts +10 -1
- package/dist/types/chartType/rose/zRose.d.ts +14 -0
- package/dist/types/chartType/roseParallel/roseParallel.d.ts +10 -1
- package/dist/types/chartType/roseParallel/zRoseParallel.d.ts +14 -0
- package/dist/types/chartType/scatter/scatter.d.ts +88 -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 +1104 -1860
- 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,51 @@ 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
|
+
const detail = encoding.detail || [];
|
1489
|
+
const color = encoding.color || [];
|
1490
|
+
const mergedDetail = [
|
1491
|
+
...color.filter((d)=>!x.includes(d)),
|
1492
|
+
...detail
|
1493
|
+
];
|
1494
|
+
return {
|
1495
|
+
...advancedVSeed,
|
1496
|
+
encoding: {
|
1497
|
+
...encoding,
|
1498
|
+
detail: mergedDetail
|
1499
|
+
}
|
1500
|
+
};
|
1501
|
+
}
|
1502
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
1503
|
+
const mergedEncoding = {
|
1504
|
+
x: dimensions.slice(0, 1).map((item)=>item.id),
|
1505
|
+
color: dimensions.slice(1).map((item)=>item.id),
|
1506
|
+
detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
1507
|
+
tooltip: dimensions.map((item)=>item.id),
|
1508
|
+
label: [],
|
1509
|
+
row: [],
|
1510
|
+
column: []
|
1511
|
+
};
|
1512
|
+
return {
|
1513
|
+
...advancedVSeed,
|
1514
|
+
encoding: mergedEncoding
|
1515
|
+
};
|
1516
|
+
};
|
1440
1517
|
const pivotAdapter = (pipeline, pivotPipeline)=>(advancedVSeed, context)=>{
|
1441
1518
|
const { vseed } = context;
|
1442
1519
|
const usePivotChart = isPivotChart(vseed);
|
1443
1520
|
if (usePivotChart) return execPipeline(pivotPipeline, context, advancedVSeed);
|
1444
1521
|
return execPipeline(pipeline, context, advancedVSeed);
|
1445
1522
|
};
|
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
1523
|
const foldMeasures = (dataset, measures, measureId = FoldMeasureId, measureName = FoldMeasureName, measureValue = FoldMeasureValue)=>{
|
1456
1524
|
const foldInfo = {
|
1457
1525
|
measureId,
|
@@ -1481,84 +1549,53 @@ const foldMeasures = (dataset, measures, measureId = FoldMeasureId, measureName
|
|
1481
1549
|
foldInfo
|
1482
1550
|
};
|
1483
1551
|
};
|
1484
|
-
const unfoldDimensions = (dataset, dimensions,
|
1485
|
-
|
1486
|
-
const dimensionsToBeUnfolded = dimensions.slice(unfoldStartIndex);
|
1487
|
-
const dimensionsToBeRemain = dimensions.slice(0, unfoldStartIndex);
|
1552
|
+
const unfoldDimensions = (dataset, dimensions, encoding, options)=>{
|
1553
|
+
const { foldMeasureId, separator, colorItemAsId } = options;
|
1488
1554
|
const unfoldInfo = {
|
1489
|
-
|
1490
|
-
|
1555
|
+
encodingAngle: AngleEncoding,
|
1556
|
+
encodingX: XEncoding,
|
1557
|
+
encodingY: YEncoding,
|
1558
|
+
encodingDetail: DetailEncoding,
|
1559
|
+
encodingColor: ColorEncoding,
|
1560
|
+
encodingColorId: ColorIdEncoding,
|
1491
1561
|
colorItems: [],
|
1492
1562
|
colorIdMap: {}
|
1493
1563
|
};
|
1494
|
-
|
1495
|
-
|
1496
|
-
|
1497
|
-
|
1498
|
-
|
1499
|
-
|
1500
|
-
|
1501
|
-
|
1502
|
-
};
|
1503
|
-
const colorItems = [];
|
1504
|
-
const colorMap = {};
|
1564
|
+
const { color, x, y, detail, angle } = encoding;
|
1565
|
+
const angleDimensions = angle ? dimensions.filter((dim)=>angle.includes(dim.id)) : [];
|
1566
|
+
const xDimensions = x ? dimensions.filter((dim)=>x.includes(dim.id)) : [];
|
1567
|
+
const yDimensions = y ? dimensions.filter((dim)=>y.includes(dim.id)) : [];
|
1568
|
+
const colorDimensions = color ? dimensions.filter((dim)=>color.includes(dim.id)) : [];
|
1569
|
+
const detailDimensions = detail ? dimensions.filter((dim)=>detail.includes(dim.id)) : [];
|
1570
|
+
const colorItems = new Set();
|
1571
|
+
const colorIdMap = {};
|
1505
1572
|
for(let i = 0; i < dataset.length; i++){
|
1506
1573
|
const datum = dataset[i];
|
1507
|
-
|
1508
|
-
|
1509
|
-
|
1510
|
-
|
1511
|
-
|
1512
|
-
datum[
|
1513
|
-
datum[
|
1514
|
-
|
1515
|
-
|
1516
|
-
|
1517
|
-
|
1518
|
-
|
1519
|
-
|
1574
|
+
applyEncoding(AngleEncoding, angleDimensions, datum, separator);
|
1575
|
+
applyEncoding(XEncoding, xDimensions, datum, separator);
|
1576
|
+
applyEncoding(YEncoding, yDimensions, datum, separator);
|
1577
|
+
applyEncoding(ColorEncoding, colorDimensions, datum, separator);
|
1578
|
+
applyEncoding(DetailEncoding, detailDimensions, datum, separator);
|
1579
|
+
if (!datum[ColorEncoding]) continue;
|
1580
|
+
const measureId = String(datum[foldMeasureId]);
|
1581
|
+
const colorItem = String(datum[ColorEncoding]);
|
1582
|
+
const colorId = colorItemAsId ? colorItem : measureId ? [
|
1583
|
+
colorItem,
|
1584
|
+
measureId
|
1585
|
+
].join(separator) : colorItem;
|
1586
|
+
datum[ColorIdEncoding] = colorId;
|
1587
|
+
colorIdMap[colorId] = colorItem;
|
1588
|
+
colorItems.add(colorId);
|
1520
1589
|
}
|
1521
|
-
unfoldInfo.colorItems =
|
1522
|
-
unfoldInfo.colorIdMap =
|
1590
|
+
unfoldInfo.colorItems = Array.from(colorItems);
|
1591
|
+
unfoldInfo.colorIdMap = colorIdMap;
|
1523
1592
|
return {
|
1524
1593
|
dataset,
|
1525
1594
|
unfoldInfo
|
1526
1595
|
};
|
1527
1596
|
};
|
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
|
-
};
|
1597
|
+
const applyEncoding = (encoding, dimensions, datum, separator)=>{
|
1598
|
+
if (encoding && dimensions.length) datum[encoding] = dimensions.map((dim)=>String(datum[dim.id])).join(separator);
|
1562
1599
|
};
|
1563
1600
|
const emptyReshapeResult = {
|
1564
1601
|
dataset: [],
|
@@ -1569,69 +1606,47 @@ const emptyReshapeResult = {
|
|
1569
1606
|
measureValue: ''
|
1570
1607
|
},
|
1571
1608
|
unfoldInfo: {
|
1572
|
-
|
1573
|
-
|
1609
|
+
encodingAngle: AngleEncoding,
|
1610
|
+
encodingX: XEncoding,
|
1611
|
+
encodingY: YEncoding,
|
1612
|
+
encodingDetail: DetailEncoding,
|
1613
|
+
encodingColor: ColorEncoding,
|
1614
|
+
encodingColorId: ColorIdEncoding,
|
1574
1615
|
colorItems: [],
|
1575
1616
|
colorIdMap: {}
|
1576
1617
|
}
|
1577
1618
|
};
|
1578
|
-
const
|
1579
|
-
const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue,
|
1619
|
+
const dataReshapeByEncoding = (dataset, dimensions, measures, encoding, options)=>{
|
1620
|
+
const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue, colorItemAsId = false } = options || {};
|
1580
1621
|
if (0 === dimensions.length && 0 === measures.length) return emptyReshapeResult;
|
1581
1622
|
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
|
-
}
|
1623
|
+
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dimensions, encoding, {
|
1624
|
+
foldMeasureId,
|
1625
|
+
separator: Separator,
|
1626
|
+
colorItemAsId
|
1627
|
+
});
|
1628
|
+
return {
|
1629
|
+
dataset: finalDataset,
|
1630
|
+
foldInfo,
|
1631
|
+
unfoldInfo
|
1632
|
+
};
|
1618
1633
|
};
|
1619
|
-
const
|
1634
|
+
const reshapeWithEncoding = (advancedVSeed, context)=>{
|
1620
1635
|
const result = {
|
1621
1636
|
...advancedVSeed
|
1622
1637
|
};
|
1623
1638
|
const { vseed } = context;
|
1624
|
-
const { dataset } = vseed;
|
1625
|
-
const { dimensions, measures } = advancedVSeed;
|
1626
|
-
if (!measures || !dimensions || !dataset) return result;
|
1639
|
+
const { dataset, chartType } = vseed;
|
1640
|
+
const { dimensions, measures, encoding } = advancedVSeed;
|
1641
|
+
if (!measures || !dimensions || !dataset || !encoding) return result;
|
1627
1642
|
if (0 === measures.length) throw new Error('measures can not be empty');
|
1628
|
-
const { dataset: newDatasets, foldInfo, unfoldInfo } =
|
1643
|
+
const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, measures, encoding);
|
1629
1644
|
return {
|
1630
1645
|
...result,
|
1631
1646
|
dataset: newDatasets,
|
1632
1647
|
datasetReshapeInfo: [
|
1633
1648
|
{
|
1634
|
-
id:
|
1649
|
+
id: String(chartType),
|
1635
1650
|
index: 0,
|
1636
1651
|
foldInfo,
|
1637
1652
|
unfoldInfo
|
@@ -1641,31 +1656,27 @@ const reshapeTo2D1M0Name = (advancedVSeed, context)=>{
|
|
1641
1656
|
measures
|
1642
1657
|
};
|
1643
1658
|
};
|
1644
|
-
const
|
1659
|
+
const pivotReshapeWithEncoding = (advancedVSeed, context)=>{
|
1645
1660
|
const result = {
|
1646
1661
|
...advancedVSeed
|
1647
1662
|
};
|
1648
1663
|
const { vseed } = context;
|
1649
1664
|
const { dataset } = vseed;
|
1650
|
-
const { measures } = advancedVSeed;
|
1651
|
-
|
1652
|
-
if (
|
1665
|
+
const { dimensions, measures, encoding } = advancedVSeed;
|
1666
|
+
if (!measures || !dimensions || !dataset || !encoding) return result;
|
1667
|
+
if (0 === measures.length) throw new Error('measures can not be empty');
|
1653
1668
|
const measureGroups = [];
|
1654
1669
|
if (measures) measures.forEach((measure)=>{
|
1655
1670
|
if (measure.children && measure.children.length > 0) measureGroups.push(measure);
|
1656
1671
|
});
|
1657
|
-
const
|
1658
|
-
const newDatasets = [];
|
1672
|
+
const datasets = [];
|
1659
1673
|
const datasetReshapeInfo = [];
|
1660
1674
|
measureGroups.forEach((measureGroup, index)=>{
|
1661
1675
|
const measures = measureGroup.children;
|
1662
1676
|
if (!measures) return;
|
1663
1677
|
const groupId = measureGroup.id;
|
1664
|
-
const { dataset: newSubDataset, foldInfo, unfoldInfo } =
|
1665
|
-
|
1666
|
-
foldMeasureName: FoldMeasureName,
|
1667
|
-
foldMeasureValue: FoldMeasureValue + groupId,
|
1668
|
-
unfoldDimensionGroup: UnfoldDimensionGroup
|
1678
|
+
const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, measures, encoding, {
|
1679
|
+
foldMeasureValue: `${FoldMeasureValue}${groupId}`
|
1669
1680
|
});
|
1670
1681
|
const reshapeInfo = {
|
1671
1682
|
id: groupId,
|
@@ -1673,93 +1684,60 @@ const pivotReshapeTo2D1M0Name = (advancedVSeed, context)=>{
|
|
1673
1684
|
foldInfo,
|
1674
1685
|
unfoldInfo
|
1675
1686
|
};
|
1676
|
-
|
1687
|
+
datasets.push(newSubDataset);
|
1677
1688
|
datasetReshapeInfo.push(reshapeInfo);
|
1678
1689
|
});
|
1679
1690
|
return {
|
1680
1691
|
...result,
|
1681
|
-
dataset:
|
1692
|
+
dataset: datasets,
|
1682
1693
|
datasetReshapeInfo: datasetReshapeInfo
|
1683
1694
|
};
|
1684
1695
|
};
|
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
1696
|
const sortXBandAxis = (advancedVSeed, context)=>{
|
1723
1697
|
const result = {
|
1724
1698
|
...advancedVSeed
|
1725
1699
|
};
|
1726
1700
|
const { vseed } = context;
|
1727
|
-
const { sort: sortAxis
|
1728
|
-
const {
|
1729
|
-
const
|
1701
|
+
const { sort: sortAxis } = vseed;
|
1702
|
+
const { datasetReshapeInfo, dataset } = advancedVSeed;
|
1703
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
1704
|
+
const xField = unfoldInfo.encodingX;
|
1730
1705
|
if (!sortAxis || !xField) return advancedVSeed;
|
1731
1706
|
if (!result.analysis) result.analysis = {};
|
1732
1707
|
if (!result.analysis.orderMapping) result.analysis.orderMapping = {};
|
1733
|
-
const axisOrderResult = calcOrder(sortAxis, xField, dataset);
|
1708
|
+
const axisOrderResult = calcOrder(sortAxis, xField, dataset.flat(2));
|
1734
1709
|
result.analysis.orderMapping[xField] = axisOrderResult;
|
1735
1710
|
return result;
|
1736
1711
|
};
|
1737
|
-
const
|
1738
|
-
|
1739
|
-
|
1740
|
-
|
1741
|
-
const
|
1742
|
-
|
1743
|
-
|
1744
|
-
|
1745
|
-
|
1746
|
-
|
1747
|
-
|
1748
|
-
|
1749
|
-
|
1750
|
-
|
1712
|
+
const calcOrder = (sortConfig, id, dataset)=>{
|
1713
|
+
if (sortConfig.customOrder) return sortConfig.customOrder;
|
1714
|
+
const order = sortConfig.order || 'asc';
|
1715
|
+
const orderBy = sortConfig.orderBy;
|
1716
|
+
const res = (0, external_remeda_namespaceObject.sort)(dataset, (a, b)=>{
|
1717
|
+
const aValue = a[orderBy || id];
|
1718
|
+
const bValue = b[orderBy || id];
|
1719
|
+
if ('asc' === order) {
|
1720
|
+
if (aValue < bValue) return -1;
|
1721
|
+
if (aValue > bValue) return 1;
|
1722
|
+
return 0;
|
1723
|
+
}
|
1724
|
+
if (aValue > bValue) return -1;
|
1725
|
+
if (aValue < bValue) return 1;
|
1726
|
+
return 0;
|
1727
|
+
});
|
1728
|
+
return (0, external_remeda_namespaceObject.unique)(res.map((item)=>item[id]));
|
1751
1729
|
};
|
1752
|
-
const
|
1730
|
+
const sortLegend_sortLegend = (advancedVSeed, context)=>{
|
1753
1731
|
const result = {
|
1754
1732
|
...advancedVSeed
|
1755
1733
|
};
|
1756
1734
|
const { vseed } = context;
|
1757
1735
|
const { sortLegend } = vseed;
|
1758
|
-
const { datasetReshapeInfo } = advancedVSeed;
|
1759
|
-
const
|
1736
|
+
const { datasetReshapeInfo, dataset } = advancedVSeed;
|
1737
|
+
const colorId = datasetReshapeInfo?.[0]?.unfoldInfo?.encodingColorId;
|
1760
1738
|
const colorIdMap = datasetReshapeInfo?.[0]?.unfoldInfo?.colorIdMap;
|
1761
1739
|
const colorItems = datasetReshapeInfo?.[0]?.unfoldInfo?.colorItems;
|
1762
|
-
if (!sortLegend || !
|
1740
|
+
if (!sortLegend || !colorId || !colorIdMap || !colorItems) return advancedVSeed;
|
1763
1741
|
if (!result.analysis) result.analysis = {};
|
1764
1742
|
if (!result.analysis.orderMapping) result.analysis.orderMapping = {};
|
1765
1743
|
if (sortLegend.customOrder) {
|
@@ -1768,15 +1746,14 @@ const sort_sortLegend = (advancedVSeed, context)=>{
|
|
1768
1746
|
return pre;
|
1769
1747
|
}, {});
|
1770
1748
|
const orderRes = sortLegend.customOrder.map((itemNameOrId)=>nameMap[itemNameOrId] ? nameMap[itemNameOrId] : itemNameOrId);
|
1771
|
-
result.analysis.orderMapping[
|
1749
|
+
result.analysis.orderMapping[colorId] = orderRes;
|
1772
1750
|
return result;
|
1773
1751
|
}
|
1774
|
-
const
|
1775
|
-
|
1776
|
-
result.analysis.orderMapping[groupField] = orderRes;
|
1752
|
+
const orderRes = sortLegend_calcOrder(sortLegend, colorId, dataset?.flat(2) || []);
|
1753
|
+
result.analysis.orderMapping[colorId] = orderRes;
|
1777
1754
|
return result;
|
1778
1755
|
};
|
1779
|
-
const
|
1756
|
+
const sortLegend_calcOrder = (sortConfig, id, dataset)=>{
|
1780
1757
|
if (sortConfig.customOrder) return sortConfig.customOrder;
|
1781
1758
|
const order = sortConfig.order || 'asc';
|
1782
1759
|
const orderBy = sortConfig.orderBy;
|
@@ -1908,14 +1885,14 @@ const lineAdvancedPipeline = [
|
|
1908
1885
|
initAdvancedVSeed_initAdvancedVSeed,
|
1909
1886
|
autoMeasures_autoMeasures,
|
1910
1887
|
autoDimensions_autoDimensions,
|
1888
|
+
encodingForColumn,
|
1911
1889
|
pivotAdapter([
|
1912
|
-
|
1890
|
+
reshapeWithEncoding
|
1913
1891
|
], [
|
1914
|
-
|
1892
|
+
pivotReshapeWithEncoding
|
1915
1893
|
]),
|
1916
|
-
encodingXY,
|
1917
1894
|
sortXBandAxis,
|
1918
|
-
|
1895
|
+
sortLegend_sortLegend,
|
1919
1896
|
lineConfig,
|
1920
1897
|
theme_theme,
|
1921
1898
|
markStyle_markStyle,
|
@@ -1926,13 +1903,13 @@ const initLine = (spec, context)=>{
|
|
1926
1903
|
...spec
|
1927
1904
|
};
|
1928
1905
|
const { advancedVSeed } = context;
|
1929
|
-
const {
|
1930
|
-
|
1906
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
1907
|
+
const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
|
1931
1908
|
result.type = 'line';
|
1932
1909
|
result.direction = 'vertical';
|
1933
|
-
result.xField =
|
1934
|
-
result.yField =
|
1935
|
-
result.seriesField =
|
1910
|
+
result.xField = unfoldInfo.encodingX;
|
1911
|
+
result.yField = foldInfo.measureValue;
|
1912
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
1936
1913
|
result.padding = 0;
|
1937
1914
|
result.region = [
|
1938
1915
|
{
|
@@ -2008,11 +1985,12 @@ const background_backgroundColor = (spec, context)=>{
|
|
2008
1985
|
};
|
2009
1986
|
const datasetXY = (spec, context)=>{
|
2010
1987
|
const { advancedVSeed, vseed } = context;
|
2011
|
-
const {
|
1988
|
+
const { analysis, datasetReshapeInfo } = advancedVSeed;
|
1989
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
2012
1990
|
const orderMapping = analysis?.orderMapping || {};
|
2013
|
-
const angle =
|
2014
|
-
const x =
|
2015
|
-
const
|
1991
|
+
const angle = unfoldInfo.encodingAngle;
|
1992
|
+
const x = unfoldInfo.encodingX;
|
1993
|
+
const colorId = unfoldInfo.encodingColorId;
|
2016
1994
|
const id = datasetReshapeInfo[0].id;
|
2017
1995
|
const fields = {};
|
2018
1996
|
if (angle) fields[angle] = {
|
@@ -2029,14 +2007,14 @@ const datasetXY = (spec, context)=>{
|
|
2029
2007
|
sortIndex: 0
|
2030
2008
|
};
|
2031
2009
|
}
|
2032
|
-
if (
|
2033
|
-
const order = orderMapping[
|
2034
|
-
if (order) fields[
|
2010
|
+
if (colorId) {
|
2011
|
+
const order = orderMapping[colorId];
|
2012
|
+
if (order) fields[colorId] = {
|
2035
2013
|
sortIndex: 0,
|
2036
2014
|
domain: order,
|
2037
2015
|
lockStatisticsByDomain: true
|
2038
2016
|
};
|
2039
|
-
else fields[
|
2017
|
+
else fields[colorId] = {
|
2040
2018
|
sortIndex: 0
|
2041
2019
|
};
|
2042
2020
|
}
|
@@ -2289,7 +2267,7 @@ const tooltip_tooltip = (spec, context)=>{
|
|
2289
2267
|
} } = baseConfig;
|
2290
2268
|
const { enable } = tooltip;
|
2291
2269
|
const { measureId, measureValue, measureName } = datasetReshapeInfo[0].foldInfo;
|
2292
|
-
const {
|
2270
|
+
const { encodingColor: colorName } = datasetReshapeInfo[0].unfoldInfo;
|
2293
2271
|
result.tooltip = {
|
2294
2272
|
visible: enable,
|
2295
2273
|
mark: {
|
@@ -2310,7 +2288,7 @@ const tooltip_tooltip = (spec, context)=>{
|
|
2310
2288
|
{
|
2311
2289
|
visible: true,
|
2312
2290
|
hasShape: true,
|
2313
|
-
key: (datum)=>datum && datum[measureName ||
|
2291
|
+
key: (datum)=>datum && datum[measureName || colorName] || '',
|
2314
2292
|
value: (datum)=>{
|
2315
2293
|
if (!datum) return '';
|
2316
2294
|
const value = datum[measureValue];
|
@@ -2332,7 +2310,7 @@ const tooltip_tooltip = (spec, context)=>{
|
|
2332
2310
|
content: [
|
2333
2311
|
{
|
2334
2312
|
visible: true,
|
2335
|
-
key: (datum)=>datum && datum[
|
2313
|
+
key: (datum)=>datum && datum[colorName] || '',
|
2336
2314
|
value: (datum)=>{
|
2337
2315
|
if (!datum) return '';
|
2338
2316
|
const value = datum[measureValue];
|
@@ -2670,7 +2648,8 @@ const pointStateDimensionHover = (spec)=>{
|
|
2670
2648
|
const pointStateHover = (spec, context)=>{
|
2671
2649
|
const point = spec.point || {};
|
2672
2650
|
const { advancedVSeed } = context;
|
2673
|
-
const {
|
2651
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
2652
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
2674
2653
|
const result = {
|
2675
2654
|
...spec,
|
2676
2655
|
point: {
|
@@ -2681,7 +2660,7 @@ const pointStateHover = (spec, context)=>{
|
|
2681
2660
|
scaleX: 1.4,
|
2682
2661
|
scaleY: 1.4,
|
2683
2662
|
stroke: (datum, context)=>{
|
2684
|
-
const field =
|
2663
|
+
const field = unfoldInfo.encodingColorId;
|
2685
2664
|
const color = context.seriesColor(datum[field]);
|
2686
2665
|
return color;
|
2687
2666
|
},
|
@@ -2695,7 +2674,8 @@ const pointStateHover = (spec, context)=>{
|
|
2695
2674
|
};
|
2696
2675
|
const lineStyle_lineStyle = (spec, context)=>{
|
2697
2676
|
const { advancedVSeed } = context;
|
2698
|
-
const { markStyle,
|
2677
|
+
const { markStyle, datasetReshapeInfo, dataset } = advancedVSeed;
|
2678
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
2699
2679
|
const { lineStyle } = markStyle;
|
2700
2680
|
if (!lineStyle) return spec;
|
2701
2681
|
const result = {
|
@@ -2704,8 +2684,8 @@ const lineStyle_lineStyle = (spec, context)=>{
|
|
2704
2684
|
const lineStyles = Array.isArray(lineStyle) ? lineStyle : [
|
2705
2685
|
lineStyle
|
2706
2686
|
];
|
2707
|
-
const
|
2708
|
-
const lineGroups = (0, external_remeda_namespaceObject.groupBy)(dataset, (d)=>d[
|
2687
|
+
const colorId = unfoldInfo.encodingColorId;
|
2688
|
+
const lineGroups = (0, external_remeda_namespaceObject.groupBy)(dataset, (d)=>d[colorId ?? '']);
|
2709
2689
|
const customMap = lineStyles.reduce((result, style, index)=>{
|
2710
2690
|
const { lineColor, lineColorOpacity, lineSmooth, lineStyle, lineWidth = 2, lineVisible = true } = style;
|
2711
2691
|
const dashSegment = 2 * lineWidth;
|
@@ -2726,7 +2706,7 @@ const lineStyle_lineStyle = (spec, context)=>{
|
|
2726
2706
|
[`custom${index + 1}`]: {
|
2727
2707
|
level: index + 1,
|
2728
2708
|
filter: (datum)=>{
|
2729
|
-
const lineData = lineGroups[datum[
|
2709
|
+
const lineData = lineGroups[datum[colorId ?? '']];
|
2730
2710
|
for (const d of lineData)if (selector_selector(d, style.selector)) return true;
|
2731
2711
|
return false;
|
2732
2712
|
},
|
@@ -2821,7 +2801,8 @@ const annotationPoint_annotationPoint = (spec, context)=>{
|
|
2821
2801
|
};
|
2822
2802
|
const annotationVerticalLine_annotationVerticalLine = (spec, context)=>{
|
2823
2803
|
const { advancedVSeed } = context;
|
2824
|
-
const { annotation,
|
2804
|
+
const { annotation, datasetReshapeInfo } = advancedVSeed;
|
2805
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
2825
2806
|
if (!annotation || !annotation.annotationVerticalLine) return spec;
|
2826
2807
|
const { annotationVerticalLine } = annotation;
|
2827
2808
|
const annotationVerticalLineList = Array.isArray(annotationVerticalLine) ? annotationVerticalLine : [
|
@@ -2901,7 +2882,7 @@ const annotationVerticalLine_annotationVerticalLine = (spec, context)=>{
|
|
2901
2882
|
}
|
2902
2883
|
const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
|
2903
2884
|
return selectedData.map((datum)=>{
|
2904
|
-
const x =
|
2885
|
+
const x = unfoldInfo.encodingX;
|
2905
2886
|
if (!x) return {};
|
2906
2887
|
return generateOneMarkLine(datum[x]);
|
2907
2888
|
});
|
@@ -2918,7 +2899,8 @@ const annotationVerticalLine_annotationVerticalLine = (spec, context)=>{
|
|
2918
2899
|
};
|
2919
2900
|
const annotationHorizontalLine_annotationHorizontalLine = (spec, context)=>{
|
2920
2901
|
const { advancedVSeed } = context;
|
2921
|
-
const { annotation,
|
2902
|
+
const { annotation, datasetReshapeInfo } = advancedVSeed;
|
2903
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
2922
2904
|
if (!annotation || !annotation.annotationHorizontalLine) return spec;
|
2923
2905
|
const { annotationHorizontalLine } = annotation;
|
2924
2906
|
const annotationVerticalLineList = Array.isArray(annotationHorizontalLine) ? annotationHorizontalLine : [
|
@@ -2998,7 +2980,7 @@ const annotationHorizontalLine_annotationHorizontalLine = (spec, context)=>{
|
|
2998
2980
|
}
|
2999
2981
|
const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
|
3000
2982
|
return selectedData.map((datum)=>{
|
3001
|
-
const y =
|
2983
|
+
const y = unfoldInfo.encodingY;
|
3002
2984
|
if (!y) return {};
|
3003
2985
|
return generateOneMarkLine(datum[y]);
|
3004
2986
|
});
|
@@ -3279,13 +3261,10 @@ const pivotIndicators_pivotIndicators = (chartPipeline)=>(spec, context)=>{
|
|
3279
3261
|
...spec
|
3280
3262
|
};
|
3281
3263
|
const { advancedVSeed } = context;
|
3282
|
-
const { measures, datasetReshapeInfo,
|
3264
|
+
const { measures, datasetReshapeInfo, dataset } = advancedVSeed;
|
3283
3265
|
const colorItems = (0, external_remeda_namespaceObject.unique)(datasetReshapeInfo.flatMap((d)=>d.unfoldInfo.colorItems));
|
3284
3266
|
const indicators = datasetReshapeInfo.map((reshapeInfo, index)=>{
|
3285
3267
|
const measure = measures?.find((d)=>d.id === reshapeInfo.id);
|
3286
|
-
const newEncoding = [
|
3287
|
-
encoding[index]
|
3288
|
-
];
|
3289
3268
|
const newDataset = dataset[index];
|
3290
3269
|
const newDatasetReshapeInfo = [
|
3291
3270
|
{
|
@@ -3301,8 +3280,7 @@ const pivotIndicators_pivotIndicators = (chartPipeline)=>(spec, context)=>{
|
|
3301
3280
|
advancedVSeed: {
|
3302
3281
|
...advancedVSeed,
|
3303
3282
|
datasetReshapeInfo: newDatasetReshapeInfo,
|
3304
|
-
dataset: newDataset
|
3305
|
-
encoding: newEncoding
|
3283
|
+
dataset: newDataset
|
3306
3284
|
}
|
3307
3285
|
};
|
3308
3286
|
const chartSpec = execPipeline(chartPipeline, newContext, {});
|
@@ -3488,7 +3466,7 @@ const pivotDiscreteLegend = (spec, context)=>{
|
|
3488
3466
|
}
|
3489
3467
|
},
|
3490
3468
|
label: {
|
3491
|
-
formatMethod: (value)=>colorIdMap[
|
3469
|
+
formatMethod: (value)=>colorIdMap[value] ?? value,
|
3492
3470
|
style: {
|
3493
3471
|
fontSize: labelFontSize,
|
3494
3472
|
fill: labelFontColor,
|
@@ -3571,151 +3549,18 @@ const registerLine = ()=>{
|
|
3571
3549
|
Builder._advancedPipelineMap.line = lineAdvancedPipeline;
|
3572
3550
|
Builder._specPipelineMap.line = lineSpecPipeline;
|
3573
3551
|
};
|
3574
|
-
const dataReshapeFor2D1M_emptyReshapeResult = {
|
3575
|
-
dataset: [],
|
3576
|
-
foldInfo: {
|
3577
|
-
foldMap: {},
|
3578
|
-
measureId: '',
|
3579
|
-
measureName: '',
|
3580
|
-
measureValue: ''
|
3581
|
-
},
|
3582
|
-
unfoldInfo: {
|
3583
|
-
groupName: '',
|
3584
|
-
groupId: '',
|
3585
|
-
colorItems: [],
|
3586
|
-
colorIdMap: {}
|
3587
|
-
}
|
3588
|
-
};
|
3589
|
-
const dataReshapeFor2D1M = (dataset, dimensions, measures, options)=>{
|
3590
|
-
const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue, unfoldDimensionGroup = UnfoldDimensionGroup, unfoldDimensionGroupId = UnfoldDimensionGroupId } = options || {};
|
3591
|
-
if (0 === dimensions.length && 0 === measures.length) return dataReshapeFor2D1M_emptyReshapeResult;
|
3592
|
-
const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures, foldMeasureId, foldMeasureName, foldMeasureValue);
|
3593
|
-
if (0 === dimensions.length) {
|
3594
|
-
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, [
|
3595
|
-
{
|
3596
|
-
id: foldMeasureId,
|
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
|
-
}
|
3640
|
-
};
|
3641
|
-
const reshapeTo2D1M = (advancedVSeed, context)=>{
|
3642
|
-
const result = {
|
3643
|
-
...advancedVSeed
|
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
3552
|
const columnAdvancedPipeline = [
|
3708
3553
|
initAdvancedVSeed_initAdvancedVSeed,
|
3709
3554
|
autoMeasures_autoMeasures,
|
3710
3555
|
autoDimensions_autoDimensions,
|
3556
|
+
encodingForColumn,
|
3711
3557
|
pivotAdapter([
|
3712
|
-
|
3558
|
+
reshapeWithEncoding
|
3713
3559
|
], [
|
3714
|
-
|
3560
|
+
pivotReshapeWithEncoding
|
3715
3561
|
]),
|
3716
|
-
encodingXY,
|
3717
3562
|
sortXBandAxis,
|
3718
|
-
|
3563
|
+
sortLegend_sortLegend,
|
3719
3564
|
columnConfig,
|
3720
3565
|
theme_theme,
|
3721
3566
|
markStyle_markStyle,
|
@@ -3726,13 +3571,13 @@ const initColumn = (spec, context)=>{
|
|
3726
3571
|
...spec
|
3727
3572
|
};
|
3728
3573
|
const { advancedVSeed } = context;
|
3729
|
-
const {
|
3730
|
-
|
3574
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
3575
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
3731
3576
|
result.type = 'bar';
|
3732
3577
|
result.direction = 'vertical';
|
3733
|
-
result.xField =
|
3734
|
-
result.yField =
|
3735
|
-
result.seriesField =
|
3578
|
+
result.xField = unfoldInfo.encodingX;
|
3579
|
+
result.yField = foldInfo.measureValue;
|
3580
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
3736
3581
|
result.padding = 0;
|
3737
3582
|
result.region = [
|
3738
3583
|
{
|
@@ -4052,14 +3897,14 @@ const columnParallelAdvancedPipeline = [
|
|
4052
3897
|
initAdvancedVSeed_initAdvancedVSeed,
|
4053
3898
|
autoMeasures_autoMeasures,
|
4054
3899
|
autoDimensions_autoDimensions,
|
3900
|
+
encodingForColumn,
|
4055
3901
|
pivotAdapter([
|
4056
|
-
|
3902
|
+
reshapeWithEncoding
|
4057
3903
|
], [
|
4058
|
-
|
3904
|
+
pivotReshapeWithEncoding
|
4059
3905
|
]),
|
4060
|
-
encodingXY,
|
4061
3906
|
sortXBandAxis,
|
4062
|
-
|
3907
|
+
sortLegend_sortLegend,
|
4063
3908
|
columnParallelConfig,
|
4064
3909
|
theme_theme,
|
4065
3910
|
markStyle_markStyle,
|
@@ -4070,20 +3915,19 @@ const initColumnParallel = (spec, context)=>{
|
|
4070
3915
|
...spec
|
4071
3916
|
};
|
4072
3917
|
const { advancedVSeed } = context;
|
4073
|
-
const {
|
4074
|
-
const { unfoldInfo } = datasetReshapeInfo[0];
|
4075
|
-
if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
|
3918
|
+
const { datasetReshapeInfo, dimensions } = advancedVSeed;
|
3919
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
4076
3920
|
const sameDimensionsMode = dimensions.length > 1 && dimensions.every((dim)=>dim.id === dimensions[0].id);
|
4077
3921
|
result.type = 'bar';
|
4078
3922
|
result.direction = 'vertical';
|
4079
3923
|
result.xField = sameDimensionsMode ? [
|
4080
|
-
|
3924
|
+
unfoldInfo.encodingX
|
4081
3925
|
] : [
|
4082
|
-
|
4083
|
-
unfoldInfo.
|
3926
|
+
unfoldInfo.encodingX,
|
3927
|
+
unfoldInfo.encodingDetail
|
4084
3928
|
];
|
4085
|
-
result.yField =
|
4086
|
-
result.seriesField =
|
3929
|
+
result.yField = foldInfo.measureValue;
|
3930
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
4087
3931
|
result.padding = 0;
|
4088
3932
|
result.region = [
|
4089
3933
|
{
|
@@ -4150,14 +3994,14 @@ const columnPercentAdvancedPipeline = [
|
|
4150
3994
|
initAdvancedVSeed_initAdvancedVSeed,
|
4151
3995
|
autoMeasures_autoMeasures,
|
4152
3996
|
autoDimensions_autoDimensions,
|
3997
|
+
encodingForColumn,
|
4153
3998
|
pivotAdapter([
|
4154
|
-
|
3999
|
+
reshapeWithEncoding
|
4155
4000
|
], [
|
4156
|
-
|
4001
|
+
pivotReshapeWithEncoding
|
4157
4002
|
]),
|
4158
|
-
encodingXY,
|
4159
4003
|
sortXBandAxis,
|
4160
|
-
|
4004
|
+
sortLegend_sortLegend,
|
4161
4005
|
columnPercentConfig,
|
4162
4006
|
theme_theme,
|
4163
4007
|
markStyle_markStyle,
|
@@ -4227,55 +4071,70 @@ const registerColumnPercent = ()=>{
|
|
4227
4071
|
Builder._advancedPipelineMap.columnPercent = columnPercentAdvancedPipeline;
|
4228
4072
|
Builder._specPipelineMap.columnPercent = columnPercentSpecPipeline;
|
4229
4073
|
};
|
4230
|
-
const
|
4231
|
-
const
|
4232
|
-
|
4233
|
-
|
4234
|
-
const
|
4235
|
-
if (
|
4236
|
-
|
4237
|
-
|
4238
|
-
|
4239
|
-
const
|
4240
|
-
|
4241
|
-
|
4242
|
-
];
|
4243
|
-
const x = [
|
4244
|
-
foldInfo.measureValue
|
4245
|
-
];
|
4246
|
-
const group = [
|
4247
|
-
unfoldInfo.groupId
|
4248
|
-
];
|
4249
|
-
const color = [
|
4250
|
-
foldInfo.measureName
|
4074
|
+
const encodingForBar = (advancedVSeed, context)=>{
|
4075
|
+
const { vseed } = context;
|
4076
|
+
const { dimensions } = advancedVSeed;
|
4077
|
+
if (!dimensions) return advancedVSeed;
|
4078
|
+
const encoding = vseed.encoding;
|
4079
|
+
if (encoding) {
|
4080
|
+
const y = encoding.y || [];
|
4081
|
+
const detail = encoding.detail || [];
|
4082
|
+
const color = encoding.color || [];
|
4083
|
+
const mergedDetail = [
|
4084
|
+
...color.filter((d)=>!y.includes(d)),
|
4085
|
+
...detail
|
4251
4086
|
];
|
4252
|
-
return
|
4253
|
-
...
|
4254
|
-
{
|
4255
|
-
|
4256
|
-
|
4257
|
-
group,
|
4258
|
-
color
|
4087
|
+
return {
|
4088
|
+
...advancedVSeed,
|
4089
|
+
encoding: {
|
4090
|
+
...encoding,
|
4091
|
+
detail: mergedDetail
|
4259
4092
|
}
|
4260
|
-
|
4261
|
-
}
|
4093
|
+
};
|
4094
|
+
}
|
4095
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
4096
|
+
const mergedEncoding = {
|
4097
|
+
y: dimensions.slice(0, 1).map((item)=>item.id),
|
4098
|
+
color: dimensions.slice(1).map((item)=>item.id),
|
4099
|
+
detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
4100
|
+
tooltip: dimensions.map((item)=>item.id),
|
4101
|
+
label: [],
|
4102
|
+
row: [],
|
4103
|
+
column: []
|
4104
|
+
};
|
4262
4105
|
return {
|
4263
|
-
...
|
4264
|
-
encoding
|
4106
|
+
...advancedVSeed,
|
4107
|
+
encoding: mergedEncoding
|
4108
|
+
};
|
4109
|
+
};
|
4110
|
+
const sortYBandAxis = (advancedVSeed, context)=>{
|
4111
|
+
const result = {
|
4112
|
+
...advancedVSeed
|
4265
4113
|
};
|
4114
|
+
const { vseed } = context;
|
4115
|
+
const { sort: sortAxis } = vseed;
|
4116
|
+
const { datasetReshapeInfo, dataset } = advancedVSeed;
|
4117
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
4118
|
+
const yField = unfoldInfo?.encodingY;
|
4119
|
+
if (!sortAxis || !yField) return advancedVSeed;
|
4120
|
+
if (!result.analysis) result.analysis = {};
|
4121
|
+
if (!result.analysis.orderMapping) result.analysis.orderMapping = {};
|
4122
|
+
const axisOrderResult = calcOrder(sortAxis, yField, dataset.flat(2));
|
4123
|
+
result.analysis.orderMapping[yField] = axisOrderResult;
|
4124
|
+
return result;
|
4266
4125
|
};
|
4267
4126
|
const barAdvancedPipeline = [
|
4268
4127
|
initAdvancedVSeed_initAdvancedVSeed,
|
4269
4128
|
autoMeasures_autoMeasures,
|
4270
4129
|
autoDimensions_autoDimensions,
|
4130
|
+
encodingForBar,
|
4271
4131
|
pivotAdapter([
|
4272
|
-
|
4132
|
+
reshapeWithEncoding
|
4273
4133
|
], [
|
4274
|
-
|
4134
|
+
pivotReshapeWithEncoding
|
4275
4135
|
]),
|
4276
|
-
encodingYX,
|
4277
4136
|
sortYBandAxis,
|
4278
|
-
|
4137
|
+
sortLegend_sortLegend,
|
4279
4138
|
barConfig,
|
4280
4139
|
theme_theme,
|
4281
4140
|
markStyle_markStyle,
|
@@ -4286,13 +4145,13 @@ const initBar = (spec, context)=>{
|
|
4286
4145
|
...spec
|
4287
4146
|
};
|
4288
4147
|
const { advancedVSeed } = context;
|
4289
|
-
const {
|
4290
|
-
|
4148
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
4149
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
4291
4150
|
result.type = 'bar';
|
4292
4151
|
result.direction = 'horizontal';
|
4293
|
-
result.yField =
|
4294
|
-
result.xField =
|
4295
|
-
result.seriesField =
|
4152
|
+
result.yField = unfoldInfo.encodingY;
|
4153
|
+
result.xField = foldInfo.measureValue;
|
4154
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
4296
4155
|
result.padding = 0;
|
4297
4156
|
result.region = [
|
4298
4157
|
{
|
@@ -4304,11 +4163,12 @@ const initBar = (spec, context)=>{
|
|
4304
4163
|
};
|
4305
4164
|
const datasetYX = (spec, context)=>{
|
4306
4165
|
const { advancedVSeed, vseed } = context;
|
4307
|
-
const {
|
4166
|
+
const { analysis, datasetReshapeInfo } = advancedVSeed;
|
4167
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
4308
4168
|
const orderMapping = analysis?.orderMapping || {};
|
4309
|
-
const angle =
|
4310
|
-
const y =
|
4311
|
-
const
|
4169
|
+
const angle = unfoldInfo.encodingAngle;
|
4170
|
+
const y = unfoldInfo.encodingY;
|
4171
|
+
const colorId = unfoldInfo.encodingColorId;
|
4312
4172
|
const id = datasetReshapeInfo[0].id;
|
4313
4173
|
const fields = {};
|
4314
4174
|
if (angle) fields[angle] = {
|
@@ -4325,14 +4185,14 @@ const datasetYX = (spec, context)=>{
|
|
4325
4185
|
sortIndex: 0
|
4326
4186
|
};
|
4327
4187
|
}
|
4328
|
-
if (
|
4329
|
-
const order = orderMapping[
|
4330
|
-
if (order) fields[
|
4188
|
+
if (colorId) {
|
4189
|
+
const order = orderMapping[colorId];
|
4190
|
+
if (order) fields[colorId] = {
|
4331
4191
|
sortIndex: 0,
|
4332
4192
|
domain: order,
|
4333
4193
|
lockStatisticsByDomain: true
|
4334
4194
|
};
|
4335
|
-
else fields[
|
4195
|
+
else fields[colorId] = {
|
4336
4196
|
sortIndex: 0
|
4337
4197
|
};
|
4338
4198
|
}
|
@@ -4620,14 +4480,14 @@ const barParallelAdvancedPipeline = [
|
|
4620
4480
|
initAdvancedVSeed_initAdvancedVSeed,
|
4621
4481
|
autoMeasures_autoMeasures,
|
4622
4482
|
autoDimensions_autoDimensions,
|
4483
|
+
encodingForBar,
|
4623
4484
|
pivotAdapter([
|
4624
|
-
|
4485
|
+
reshapeWithEncoding
|
4625
4486
|
], [
|
4626
|
-
|
4487
|
+
pivotReshapeWithEncoding
|
4627
4488
|
]),
|
4628
|
-
encodingYX,
|
4629
4489
|
sortYBandAxis,
|
4630
|
-
|
4490
|
+
sortLegend_sortLegend,
|
4631
4491
|
barParallelConfig,
|
4632
4492
|
theme_theme,
|
4633
4493
|
markStyle_markStyle,
|
@@ -4638,20 +4498,19 @@ const initBarParallel = (spec, context)=>{
|
|
4638
4498
|
...spec
|
4639
4499
|
};
|
4640
4500
|
const { advancedVSeed } = context;
|
4641
|
-
const {
|
4642
|
-
const { unfoldInfo } = datasetReshapeInfo[0];
|
4643
|
-
if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
|
4501
|
+
const { datasetReshapeInfo, dimensions } = advancedVSeed;
|
4502
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
4644
4503
|
const sameDimensionsMode = dimensions.length > 1 && dimensions.every((dim)=>dim.id === dimensions[0].id);
|
4645
4504
|
result.type = 'bar';
|
4646
4505
|
result.direction = 'horizontal';
|
4647
4506
|
result.yField = sameDimensionsMode ? [
|
4648
|
-
|
4507
|
+
unfoldInfo.encodingY
|
4649
4508
|
] : [
|
4650
|
-
|
4651
|
-
unfoldInfo.
|
4509
|
+
unfoldInfo.encodingY,
|
4510
|
+
unfoldInfo.encodingDetail
|
4652
4511
|
];
|
4653
|
-
result.xField =
|
4654
|
-
result.seriesField =
|
4512
|
+
result.xField = foldInfo.measureValue;
|
4513
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
4655
4514
|
result.padding = 0;
|
4656
4515
|
result.region = [
|
4657
4516
|
{
|
@@ -4717,14 +4576,14 @@ const barPercentAdvancedPipeline = [
|
|
4717
4576
|
initAdvancedVSeed_initAdvancedVSeed,
|
4718
4577
|
autoMeasures_autoMeasures,
|
4719
4578
|
autoDimensions_autoDimensions,
|
4579
|
+
encodingForBar,
|
4720
4580
|
pivotAdapter([
|
4721
|
-
|
4581
|
+
reshapeWithEncoding
|
4722
4582
|
], [
|
4723
|
-
|
4583
|
+
pivotReshapeWithEncoding
|
4724
4584
|
]),
|
4725
|
-
encodingYX,
|
4726
4585
|
sortYBandAxis,
|
4727
|
-
|
4586
|
+
sortLegend_sortLegend,
|
4728
4587
|
barPercentConfig,
|
4729
4588
|
theme_theme,
|
4730
4589
|
markStyle_markStyle,
|
@@ -4788,14 +4647,14 @@ const areaAdvancedPipeline = [
|
|
4788
4647
|
initAdvancedVSeed_initAdvancedVSeed,
|
4789
4648
|
autoMeasures_autoMeasures,
|
4790
4649
|
autoDimensions_autoDimensions,
|
4650
|
+
encodingForColumn,
|
4791
4651
|
pivotAdapter([
|
4792
|
-
|
4652
|
+
reshapeWithEncoding
|
4793
4653
|
], [
|
4794
|
-
|
4654
|
+
pivotReshapeWithEncoding
|
4795
4655
|
]),
|
4796
|
-
encodingXY,
|
4797
4656
|
sortXBandAxis,
|
4798
|
-
|
4657
|
+
sortLegend_sortLegend,
|
4799
4658
|
areaConfig,
|
4800
4659
|
theme_theme,
|
4801
4660
|
markStyle_markStyle,
|
@@ -4806,13 +4665,13 @@ const initArea = (spec, context)=>{
|
|
4806
4665
|
...spec
|
4807
4666
|
};
|
4808
4667
|
const { advancedVSeed } = context;
|
4809
|
-
const {
|
4810
|
-
|
4668
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
4669
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
4811
4670
|
result.type = 'area';
|
4812
4671
|
result.direction = 'vertical';
|
4813
|
-
result.
|
4814
|
-
result.
|
4815
|
-
result.seriesField =
|
4672
|
+
result.yField = foldInfo.measureValue;
|
4673
|
+
result.xField = unfoldInfo.encodingX;
|
4674
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
4816
4675
|
result.padding = 0;
|
4817
4676
|
result.region = [
|
4818
4677
|
{
|
@@ -4824,8 +4683,9 @@ const initArea = (spec, context)=>{
|
|
4824
4683
|
};
|
4825
4684
|
const areaStyle_areaStyle = (spec, context)=>{
|
4826
4685
|
const { advancedVSeed } = context;
|
4827
|
-
const { markStyle,
|
4686
|
+
const { markStyle, datasetReshapeInfo, dataset } = advancedVSeed;
|
4828
4687
|
const { areaStyle } = markStyle;
|
4688
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
4829
4689
|
if (!areaStyle) return {
|
4830
4690
|
...spec,
|
4831
4691
|
area: {
|
@@ -4838,7 +4698,7 @@ const areaStyle_areaStyle = (spec, context)=>{
|
|
4838
4698
|
const areaStyles = Array.isArray(areaStyle) ? areaStyle : [
|
4839
4699
|
areaStyle
|
4840
4700
|
];
|
4841
|
-
const group =
|
4701
|
+
const group = unfoldInfo.encodingColorId;
|
4842
4702
|
const areaGroups = (0, external_remeda_namespaceObject.groupBy)(dataset, (d)=>d[group ?? '']);
|
4843
4703
|
const customMap = areaStyles.reduce((result, style, index)=>{
|
4844
4704
|
const { areaColor, areaColorOpacity, areaVisible = true } = style;
|
@@ -4932,14 +4792,14 @@ const areaPercentAdvancedPipeline = [
|
|
4932
4792
|
initAdvancedVSeed_initAdvancedVSeed,
|
4933
4793
|
autoMeasures_autoMeasures,
|
4934
4794
|
autoDimensions_autoDimensions,
|
4795
|
+
encodingForColumn,
|
4935
4796
|
pivotAdapter([
|
4936
|
-
|
4797
|
+
reshapeWithEncoding
|
4937
4798
|
], [
|
4938
|
-
|
4799
|
+
pivotReshapeWithEncoding
|
4939
4800
|
]),
|
4940
|
-
encodingXY,
|
4941
4801
|
sortXBandAxis,
|
4942
|
-
|
4802
|
+
sortLegend_sortLegend,
|
4943
4803
|
areaPercentConfig,
|
4944
4804
|
theme_theme,
|
4945
4805
|
markStyle_markStyle,
|
@@ -5004,16 +4864,20 @@ const registerAreaPercent = ()=>{
|
|
5004
4864
|
Builder._advancedPipelineMap.areaPercent = areaPercentAdvancedPipeline;
|
5005
4865
|
Builder._specPipelineMap.areaPercent = areaPercentSpecPipeline;
|
5006
4866
|
};
|
5007
|
-
const
|
4867
|
+
const autoScatterMeasures = (advancedVSeed, context)=>{
|
5008
4868
|
const result = {
|
5009
4869
|
...advancedVSeed
|
5010
4870
|
};
|
5011
4871
|
const { vseed } = context;
|
5012
|
-
const {
|
4872
|
+
const { dataset, scatterMeasures, measures } = vseed;
|
5013
4873
|
if (!dataset) throw new Error('dataset is required');
|
5014
4874
|
if (0 === dataset.length) return result;
|
5015
|
-
if (
|
5016
|
-
result.measures =
|
4875
|
+
if (scatterMeasures) {
|
4876
|
+
result.measures = scatterMeasuresToMeasureTree(scatterMeasures);
|
4877
|
+
return result;
|
4878
|
+
}
|
4879
|
+
if (measures && measureDepth(measures) > 1) {
|
4880
|
+
result.measures = measures;
|
5017
4881
|
return result;
|
5018
4882
|
}
|
5019
4883
|
const top100dataset = dataset.slice(0, 100);
|
@@ -5021,7 +4885,7 @@ const autoMeasuresBy2M1Group = (advancedVSeed, context)=>{
|
|
5021
4885
|
...prev,
|
5022
4886
|
...cur
|
5023
4887
|
}), {});
|
5024
|
-
const newMeasures = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
|
4888
|
+
const newMeasures = measures || Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
|
5025
4889
|
'',
|
5026
4890
|
null,
|
5027
4891
|
void 0
|
@@ -5029,693 +4893,277 @@ const autoMeasuresBy2M1Group = (advancedVSeed, context)=>{
|
|
5029
4893
|
id: measure,
|
5030
4894
|
alias: measure
|
5031
4895
|
}));
|
5032
|
-
result.measures =
|
4896
|
+
if (0 === newMeasures.length) result.measures = [];
|
4897
|
+
else if (1 === newMeasures.length) result.measures = [
|
4898
|
+
{
|
4899
|
+
id: 'primary',
|
4900
|
+
alias: 'primary',
|
4901
|
+
children: newMeasures
|
4902
|
+
}
|
4903
|
+
];
|
4904
|
+
else if (newMeasures.length > 1) result.measures = [
|
4905
|
+
{
|
4906
|
+
id: 'primary',
|
4907
|
+
alias: 'primary',
|
4908
|
+
children: newMeasures.slice(0, 1)
|
4909
|
+
},
|
4910
|
+
{
|
4911
|
+
id: 'secondary',
|
4912
|
+
alias: 'secondary',
|
4913
|
+
children: newMeasures.slice(1)
|
4914
|
+
}
|
4915
|
+
];
|
5033
4916
|
return result;
|
5034
4917
|
};
|
5035
|
-
const
|
5036
|
-
const
|
5037
|
-
|
5038
|
-
|
5039
|
-
|
5040
|
-
|
5041
|
-
|
5042
|
-
|
5043
|
-
|
5044
|
-
|
5045
|
-
|
5046
|
-
|
5047
|
-
|
5048
|
-
|
5049
|
-
|
5050
|
-
|
4918
|
+
const scatterMeasuresToMeasureTree = (scatterMeasures)=>{
|
4919
|
+
const measureTree = scatterMeasures.map((item, index)=>{
|
4920
|
+
const { xMeasures, yMeasures } = item;
|
4921
|
+
const groupChildren = [];
|
4922
|
+
let id = '';
|
4923
|
+
if (xMeasures) {
|
4924
|
+
const arrXMeasures = Array.isArray(xMeasures) ? xMeasures : [
|
4925
|
+
xMeasures
|
4926
|
+
];
|
4927
|
+
const alias = arrXMeasures.map((item)=>item.alias || item.id).toString();
|
4928
|
+
id += alias;
|
4929
|
+
groupChildren.push({
|
4930
|
+
id: `${index}-x`,
|
4931
|
+
alias: arrXMeasures.map((item)=>item.alias || item.id).toString(),
|
4932
|
+
children: arrXMeasures
|
4933
|
+
});
|
4934
|
+
}
|
4935
|
+
if (yMeasures) {
|
4936
|
+
const arrYMeasures = Array.isArray(yMeasures) ? yMeasures : [
|
4937
|
+
yMeasures
|
4938
|
+
];
|
4939
|
+
const alias = arrYMeasures.map((item)=>item.alias || item.id).toString();
|
4940
|
+
id += alias;
|
4941
|
+
groupChildren.push({
|
4942
|
+
id: `${index}-y`,
|
4943
|
+
alias: arrYMeasures.map((item)=>item.alias || item.id).toString(),
|
4944
|
+
children: arrYMeasures
|
4945
|
+
});
|
4946
|
+
}
|
4947
|
+
return {
|
4948
|
+
id,
|
4949
|
+
alias: id,
|
4950
|
+
children: groupChildren
|
4951
|
+
};
|
5051
4952
|
});
|
5052
|
-
|
5053
|
-
|
5054
|
-
foldInfo: {
|
5055
|
-
foldMap: {},
|
5056
|
-
measureId: '',
|
5057
|
-
measureName: '',
|
5058
|
-
measureValue: ''
|
5059
|
-
},
|
5060
|
-
unfoldInfo: {
|
5061
|
-
groupName: '',
|
5062
|
-
groupId: '',
|
5063
|
-
colorItems: [],
|
5064
|
-
colorIdMap: {}
|
5065
|
-
}
|
4953
|
+
if (1 === scatterMeasures.length) return measureTree[0].children || [];
|
4954
|
+
return measureTree;
|
5066
4955
|
};
|
5067
|
-
const
|
5068
|
-
const {
|
5069
|
-
|
5070
|
-
if (
|
5071
|
-
|
4956
|
+
const encodingForScatter = (advancedVSeed, context)=>{
|
4957
|
+
const { vseed } = context;
|
4958
|
+
const { dimensions } = advancedVSeed;
|
4959
|
+
if (!dimensions) return advancedVSeed;
|
4960
|
+
const encoding = vseed.encoding;
|
4961
|
+
if (encoding) {
|
4962
|
+
const detail = encoding.detail || [];
|
4963
|
+
const color = encoding.color || [];
|
4964
|
+
const mergedDetail = (0, external_remeda_namespaceObject.unique)([
|
4965
|
+
...color,
|
4966
|
+
...detail
|
4967
|
+
]);
|
5072
4968
|
return {
|
5073
|
-
|
5074
|
-
|
5075
|
-
|
5076
|
-
|
5077
|
-
measureName: foldMeasureName,
|
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`指标值`
|
4969
|
+
...advancedVSeed,
|
4970
|
+
encoding: {
|
4971
|
+
...encoding,
|
4972
|
+
detail: mergedDetail
|
5090
4973
|
}
|
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
4974
|
};
|
5102
4975
|
}
|
4976
|
+
const dimensionsWithoutMeasureName = dimensions.filter((item)=>item.id !== MeasureName);
|
4977
|
+
const mergedEncoding = {
|
4978
|
+
color: dimensions.slice(0).map((item)=>item.id),
|
4979
|
+
detail: dimensionsWithoutMeasureName.slice(0).map((item)=>item.id),
|
4980
|
+
tooltip: dimensionsWithoutMeasureName.map((item)=>item.id),
|
4981
|
+
label: [],
|
4982
|
+
row: [],
|
4983
|
+
column: []
|
4984
|
+
};
|
4985
|
+
return {
|
4986
|
+
...advancedVSeed,
|
4987
|
+
encoding: mergedEncoding
|
4988
|
+
};
|
5103
4989
|
};
|
5104
|
-
const
|
4990
|
+
const reshapeWithScatterEncoding = (advancedVSeed, context)=>{
|
5105
4991
|
const result = {
|
5106
4992
|
...advancedVSeed
|
5107
4993
|
};
|
5108
4994
|
const { vseed } = context;
|
5109
4995
|
const { dataset } = vseed;
|
5110
|
-
const { dimensions, measures } = advancedVSeed;
|
5111
|
-
if (!measures || !dimensions || !dataset) return result;
|
4996
|
+
const { dimensions, measures, encoding, chartType } = advancedVSeed;
|
4997
|
+
if (!measures || !dimensions || !dataset || !encoding) return result;
|
5112
4998
|
if (0 === measures.length) throw new Error('measures can not be empty');
|
5113
|
-
|
4999
|
+
if (measures.length > 2) throw new Error('measures can not be more than 2');
|
5000
|
+
const foldInfoList = [];
|
5001
|
+
const unfoldInfoList = [];
|
5002
|
+
const datasets = [];
|
5003
|
+
const xMeasures = measures[0];
|
5004
|
+
const yMeasures = measures[1] || xMeasures;
|
5005
|
+
if (xMeasures && xMeasures.children) {
|
5006
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, xMeasures.children, encoding, {
|
5007
|
+
foldMeasureValue: FoldXMeasureValue,
|
5008
|
+
colorItemAsId: true
|
5009
|
+
});
|
5010
|
+
datasets.push(newDataset);
|
5011
|
+
foldInfoList.push(foldInfo);
|
5012
|
+
unfoldInfoList.push(unfoldInfo);
|
5013
|
+
}
|
5014
|
+
if (yMeasures && yMeasures.children) {
|
5015
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(datasets[0], dimensions, yMeasures.children, encoding, {
|
5016
|
+
foldMeasureValue: FoldYMeasureValue,
|
5017
|
+
colorItemAsId: true
|
5018
|
+
});
|
5019
|
+
datasets[0] = newDataset;
|
5020
|
+
foldInfoList.push(foldInfo);
|
5021
|
+
unfoldInfoList.push(unfoldInfo);
|
5022
|
+
}
|
5023
|
+
const unfoldInfo = {
|
5024
|
+
...unfoldInfoList[0],
|
5025
|
+
colorItems: unfoldInfoList.flatMap((d)=>d.colorItems),
|
5026
|
+
colorIdMap: unfoldInfoList.reduce((prev, cur)=>({
|
5027
|
+
...prev,
|
5028
|
+
...cur.colorIdMap
|
5029
|
+
}), {})
|
5030
|
+
};
|
5114
5031
|
return {
|
5115
5032
|
...result,
|
5116
|
-
dataset:
|
5033
|
+
dataset: datasets[0],
|
5117
5034
|
datasetReshapeInfo: [
|
5118
5035
|
{
|
5119
|
-
id:
|
5036
|
+
id: String(chartType),
|
5120
5037
|
index: 0,
|
5121
|
-
foldInfo,
|
5122
|
-
|
5038
|
+
foldInfo: foldInfoList[0],
|
5039
|
+
foldInfoList: foldInfoList,
|
5040
|
+
unfoldInfo: unfoldInfo
|
5123
5041
|
}
|
5124
5042
|
]
|
5125
5043
|
};
|
5126
5044
|
};
|
5127
|
-
const
|
5045
|
+
const pivotReshapeWithScatterEncoding = (advancedVSeed, context)=>{
|
5128
5046
|
const result = {
|
5129
5047
|
...advancedVSeed
|
5130
5048
|
};
|
5131
5049
|
const { vseed } = context;
|
5132
5050
|
const { dataset } = vseed;
|
5133
|
-
const { measures } = advancedVSeed;
|
5134
|
-
|
5135
|
-
if (!measures || !dimensions) return result;
|
5051
|
+
const { dimensions, measures, encoding, chartType } = advancedVSeed;
|
5052
|
+
if (!measures || !dimensions || !dataset || !encoding) return result;
|
5136
5053
|
const measureGroups = [];
|
5137
|
-
|
5138
|
-
|
5054
|
+
const depth = measureDepth(measures);
|
5055
|
+
if (3 === depth) measures.forEach((measure)=>{
|
5056
|
+
measureGroups.push(measure.children);
|
5139
5057
|
});
|
5140
|
-
|
5058
|
+
else if (2 === depth) measureGroups.push(measures);
|
5059
|
+
const datasetList = [];
|
5141
5060
|
const datasetReshapeInfo = [];
|
5142
|
-
measureGroups.forEach((
|
5143
|
-
|
5144
|
-
if (
|
5145
|
-
const
|
5146
|
-
const
|
5147
|
-
const
|
5148
|
-
|
5149
|
-
|
5150
|
-
|
5151
|
-
|
5152
|
-
|
5061
|
+
measureGroups.forEach((measures, index)=>{
|
5062
|
+
if (0 === measures.length) throw new Error('measures can not be empty');
|
5063
|
+
if (measures.length > 2) throw new Error('measures can not be more than 2');
|
5064
|
+
const foldInfoList = [];
|
5065
|
+
const unfoldInfoList = [];
|
5066
|
+
const datasets = [];
|
5067
|
+
const xMeasures = measures[0];
|
5068
|
+
const yMeasures = measures[1] || xMeasures;
|
5069
|
+
if (xMeasures && xMeasures.children) {
|
5070
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, xMeasures.children, encoding, {
|
5071
|
+
foldMeasureValue: `${FoldXMeasureValue}${index}`,
|
5072
|
+
colorItemAsId: true
|
5073
|
+
});
|
5074
|
+
datasets.push(newDataset);
|
5075
|
+
foldInfoList.push(foldInfo);
|
5076
|
+
unfoldInfoList.push(unfoldInfo);
|
5077
|
+
}
|
5078
|
+
if (yMeasures && yMeasures.children) {
|
5079
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, yMeasures.children, encoding, {
|
5080
|
+
foldMeasureValue: `${FoldYMeasureValue}${index}`,
|
5081
|
+
colorItemAsId: true
|
5082
|
+
});
|
5083
|
+
datasets.push(newDataset);
|
5084
|
+
foldInfoList.push(foldInfo);
|
5085
|
+
unfoldInfoList.push(unfoldInfo);
|
5086
|
+
}
|
5087
|
+
const unfoldInfo = {
|
5088
|
+
...unfoldInfoList[0],
|
5089
|
+
colorItems: unfoldInfoList.flatMap((d)=>d.colorItems),
|
5090
|
+
colorIdMap: unfoldInfoList.reduce((prev, cur)=>({
|
5091
|
+
...prev,
|
5092
|
+
...cur.colorIdMap
|
5093
|
+
}), {})
|
5094
|
+
};
|
5153
5095
|
const reshapeInfo = {
|
5154
|
-
id:
|
5096
|
+
id: `${chartType}-${index}`,
|
5155
5097
|
index,
|
5156
|
-
foldInfo,
|
5157
|
-
|
5098
|
+
foldInfo: foldInfoList[0],
|
5099
|
+
foldInfoList: foldInfoList,
|
5100
|
+
unfoldInfo: unfoldInfo
|
5158
5101
|
};
|
5159
|
-
newDatasets.push(newSubDataset);
|
5160
5102
|
datasetReshapeInfo.push(reshapeInfo);
|
5103
|
+
datasetList.push(datasets[0].map((d, index)=>({
|
5104
|
+
...d,
|
5105
|
+
...datasets[1]?.[index] || {}
|
5106
|
+
})));
|
5161
5107
|
});
|
5162
5108
|
return {
|
5163
5109
|
...result,
|
5164
|
-
dataset:
|
5110
|
+
dataset: datasetList,
|
5165
5111
|
datasetReshapeInfo: datasetReshapeInfo
|
5166
5112
|
};
|
5167
5113
|
};
|
5168
|
-
const
|
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 = [
|
5114
|
+
const scatterAdvancedPipeline = [
|
5237
5115
|
initAdvancedVSeed_initAdvancedVSeed,
|
5238
|
-
|
5116
|
+
autoScatterMeasures,
|
5239
5117
|
autoDimensions_autoDimensions,
|
5118
|
+
encodingForScatter,
|
5240
5119
|
pivotAdapter([
|
5241
|
-
|
5120
|
+
reshapeWithScatterEncoding
|
5242
5121
|
], [
|
5243
|
-
|
5122
|
+
pivotReshapeWithScatterEncoding
|
5244
5123
|
]),
|
5245
|
-
|
5246
|
-
sortXBandAxis,
|
5247
|
-
areaConfig,
|
5124
|
+
scatterConfig,
|
5248
5125
|
theme_theme,
|
5249
5126
|
markStyle_markStyle,
|
5250
5127
|
annotation_annotation
|
5251
5128
|
];
|
5252
|
-
const
|
5129
|
+
const initScatter = (spec, context)=>{
|
5253
5130
|
const result = {
|
5254
|
-
|
5255
|
-
padding: 0,
|
5256
|
-
region: [
|
5257
|
-
{
|
5258
|
-
clip: true
|
5259
|
-
}
|
5260
|
-
]
|
5131
|
+
...spec
|
5261
5132
|
};
|
5262
|
-
|
5263
|
-
|
5264
|
-
|
5133
|
+
const { advancedVSeed } = context;
|
5134
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
5135
|
+
const { unfoldInfo, foldInfoList } = datasetReshapeInfo[0];
|
5136
|
+
result.type = 'scatter';
|
5137
|
+
result.direction = 'vertical';
|
5138
|
+
result.xField = foldInfoList?.[0].measureValue;
|
5139
|
+
if (foldInfoList?.[1]) result.yField = foldInfoList[1].measureValue;
|
5140
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
5141
|
+
result.padding = 0;
|
5142
|
+
result.region = [
|
5143
|
+
{
|
5144
|
+
clip: true
|
5145
|
+
}
|
5146
|
+
];
|
5147
|
+
result.animation = true;
|
5148
|
+
return result;
|
5149
|
+
};
|
5150
|
+
const datasetScatter = (spec, context)=>{
|
5151
|
+
const { advancedVSeed, vseed } = context;
|
5152
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
5153
|
+
const id = datasetReshapeInfo[0].id;
|
5154
|
+
const fields = {};
|
5155
|
+
return {
|
5156
|
+
...spec,
|
5157
|
+
data: {
|
5158
|
+
id,
|
5159
|
+
values: isPivotChart(vseed) ? void 0 : advancedVSeed.dataset.flat(),
|
5160
|
+
fields: fields
|
5161
|
+
}
|
5265
5162
|
};
|
5266
5163
|
};
|
5267
|
-
const
|
5164
|
+
const horizontalCrosshairLine = (spec, context)=>{
|
5268
5165
|
const result = {
|
5269
|
-
|
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
|
5634
|
-
};
|
5635
|
-
newDatasets.push(newSubDataset);
|
5636
|
-
datasetReshapeInfo.push(reshapeInfo);
|
5637
|
-
});
|
5638
|
-
return {
|
5639
|
-
...result,
|
5640
|
-
dataset: newDatasets,
|
5641
|
-
datasetReshapeInfo: datasetReshapeInfo
|
5642
|
-
};
|
5643
|
-
};
|
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
|
-
const scatterAdvancedPipeline = [
|
5681
|
-
initAdvancedVSeed_initAdvancedVSeed,
|
5682
|
-
autoMeasures_autoMeasures,
|
5683
|
-
autoDimensions_autoDimensions,
|
5684
|
-
pivotAdapter([
|
5685
|
-
reshapeTo1D2M
|
5686
|
-
], [
|
5687
|
-
pivotReshapeTo1D2M
|
5688
|
-
]),
|
5689
|
-
encodingYY,
|
5690
|
-
scatterConfig,
|
5691
|
-
theme_theme,
|
5692
|
-
markStyle_markStyle,
|
5693
|
-
annotation_annotation
|
5694
|
-
];
|
5695
|
-
const initScatter = (spec, context)=>{
|
5696
|
-
const result = {
|
5697
|
-
...spec
|
5698
|
-
};
|
5699
|
-
const { advancedVSeed } = context;
|
5700
|
-
const { encoding } = advancedVSeed;
|
5701
|
-
if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
|
5702
|
-
result.type = 'scatter';
|
5703
|
-
result.direction = 'vertical';
|
5704
|
-
result.xField = encoding[0].x[0];
|
5705
|
-
result.yField = encoding[0].y[0];
|
5706
|
-
result.seriesField = encoding[0].group[0];
|
5707
|
-
result.padding = 0;
|
5708
|
-
result.region = [
|
5709
|
-
{
|
5710
|
-
clip: true
|
5711
|
-
}
|
5712
|
-
];
|
5713
|
-
result.animation = true;
|
5714
|
-
return result;
|
5715
|
-
};
|
5716
|
-
const horizontalCrosshairLine = (spec, context)=>{
|
5717
|
-
const result = {
|
5718
|
-
...spec
|
5166
|
+
...spec
|
5719
5167
|
};
|
5720
5168
|
const { advancedVSeed, vseed } = context;
|
5721
5169
|
const { chartType } = vseed;
|
@@ -5761,7 +5209,7 @@ const scatter = [
|
|
5761
5209
|
initScatter,
|
5762
5210
|
color_color,
|
5763
5211
|
background_backgroundColor,
|
5764
|
-
|
5212
|
+
datasetScatter,
|
5765
5213
|
progressive,
|
5766
5214
|
xLinear,
|
5767
5215
|
yLinear,
|
@@ -5786,7 +5234,7 @@ const pivotScatter = [
|
|
5786
5234
|
initScatter,
|
5787
5235
|
color_color,
|
5788
5236
|
background_backgroundColor,
|
5789
|
-
|
5237
|
+
datasetScatter,
|
5790
5238
|
progressive,
|
5791
5239
|
xLinear,
|
5792
5240
|
yLinear,
|
@@ -5812,41 +5260,163 @@ const registerScatter = ()=>{
|
|
5812
5260
|
Builder._advancedPipelineMap.scatter = scatterAdvancedPipeline;
|
5813
5261
|
Builder._specPipelineMap.scatter = scatterSpecPipeline;
|
5814
5262
|
};
|
5815
|
-
const
|
5263
|
+
const autoDualMeasures = (advancedVSeed, context)=>{
|
5264
|
+
const result = {
|
5265
|
+
...advancedVSeed
|
5266
|
+
};
|
5267
|
+
const { vseed } = context;
|
5268
|
+
const { dataset, dualMeasures, measures } = vseed;
|
5269
|
+
if (!dataset) throw new Error('dataset is required');
|
5270
|
+
if (0 === dataset.length) return result;
|
5271
|
+
if (dualMeasures) {
|
5272
|
+
result.measures = dualMeasuresToMeasureTree(dualMeasures);
|
5273
|
+
return result;
|
5274
|
+
}
|
5275
|
+
if (measures && measureDepth(measures) > 1) {
|
5276
|
+
result.measures = measures;
|
5277
|
+
return result;
|
5278
|
+
}
|
5279
|
+
const top100dataset = dataset.slice(0, 100);
|
5280
|
+
const sample = top100dataset.reduce((prev, cur)=>({
|
5281
|
+
...prev,
|
5282
|
+
...cur
|
5283
|
+
}), {});
|
5284
|
+
const newMeasures = measures || Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
|
5285
|
+
'',
|
5286
|
+
null,
|
5287
|
+
void 0
|
5288
|
+
].includes(key)).map((measure)=>({
|
5289
|
+
id: measure,
|
5290
|
+
alias: measure
|
5291
|
+
}));
|
5292
|
+
if (0 === newMeasures.length) result.measures = [];
|
5293
|
+
else if (1 === newMeasures.length) result.measures = [
|
5294
|
+
{
|
5295
|
+
id: 'primary',
|
5296
|
+
alias: 'primary',
|
5297
|
+
children: newMeasures
|
5298
|
+
}
|
5299
|
+
];
|
5300
|
+
else if (newMeasures.length > 1) result.measures = [
|
5301
|
+
{
|
5302
|
+
id: 'primary',
|
5303
|
+
alias: 'primary',
|
5304
|
+
children: newMeasures.slice(0, 1)
|
5305
|
+
},
|
5306
|
+
{
|
5307
|
+
id: 'secondary',
|
5308
|
+
alias: 'secondary',
|
5309
|
+
children: newMeasures.slice(1)
|
5310
|
+
}
|
5311
|
+
];
|
5312
|
+
return result;
|
5313
|
+
};
|
5314
|
+
const dualMeasuresToMeasureTree = (dualMeasures)=>{
|
5315
|
+
const measureTree = dualMeasures.map((item, index)=>{
|
5316
|
+
const { primaryMeasures, secondaryMeasures } = item;
|
5317
|
+
const groupChildren = [];
|
5318
|
+
let id = '';
|
5319
|
+
if (primaryMeasures) {
|
5320
|
+
const arrPrimaryMeasures = Array.isArray(primaryMeasures) ? primaryMeasures : [
|
5321
|
+
primaryMeasures
|
5322
|
+
];
|
5323
|
+
const alias = arrPrimaryMeasures.map((item)=>item.alias || item.id).toString();
|
5324
|
+
id += alias;
|
5325
|
+
groupChildren.push({
|
5326
|
+
id: `${index}-primary`,
|
5327
|
+
alias: arrPrimaryMeasures.map((item)=>item.alias || item.id).toString(),
|
5328
|
+
children: arrPrimaryMeasures
|
5329
|
+
});
|
5330
|
+
}
|
5331
|
+
if (secondaryMeasures) {
|
5332
|
+
const arrSecondaryMeasures = Array.isArray(secondaryMeasures) ? secondaryMeasures : [
|
5333
|
+
secondaryMeasures
|
5334
|
+
];
|
5335
|
+
const alias = arrSecondaryMeasures.map((item)=>item.alias || item.id).toString();
|
5336
|
+
id += alias;
|
5337
|
+
groupChildren.push({
|
5338
|
+
id: `${index}-secondary`,
|
5339
|
+
alias: arrSecondaryMeasures.map((item)=>item.alias || item.id).toString(),
|
5340
|
+
children: arrSecondaryMeasures
|
5341
|
+
});
|
5342
|
+
}
|
5343
|
+
return {
|
5344
|
+
id,
|
5345
|
+
alias: id,
|
5346
|
+
children: groupChildren
|
5347
|
+
};
|
5348
|
+
});
|
5349
|
+
if (1 === dualMeasures.length) return measureTree[0].children || [];
|
5350
|
+
return measureTree;
|
5351
|
+
};
|
5352
|
+
const encodingForDualAxis = (advancedVSeed, context)=>{
|
5353
|
+
const { vseed } = context;
|
5354
|
+
const { dimensions } = advancedVSeed;
|
5355
|
+
if (!dimensions) return advancedVSeed;
|
5356
|
+
const encoding = vseed.encoding;
|
5357
|
+
if (encoding) {
|
5358
|
+
const x = encoding.x || [];
|
5359
|
+
const detail = encoding.detail || [];
|
5360
|
+
const color = encoding.color || [];
|
5361
|
+
const mergedDetail = [
|
5362
|
+
...color.filter((d)=>!x.includes(d)),
|
5363
|
+
...detail
|
5364
|
+
];
|
5365
|
+
return {
|
5366
|
+
...advancedVSeed,
|
5367
|
+
encoding: {
|
5368
|
+
...encoding,
|
5369
|
+
detail: mergedDetail
|
5370
|
+
}
|
5371
|
+
};
|
5372
|
+
}
|
5373
|
+
const mergedEncoding = {
|
5374
|
+
x: dimensions.slice(0, 1).map((item)=>item.id),
|
5375
|
+
color: dimensions.slice(1).map((item)=>item.id),
|
5376
|
+
detail: dimensions.slice(1).map((item)=>item.id),
|
5377
|
+
tooltip: dimensions.map((item)=>item.id),
|
5378
|
+
label: [],
|
5379
|
+
row: [],
|
5380
|
+
column: []
|
5381
|
+
};
|
5382
|
+
return {
|
5383
|
+
...advancedVSeed,
|
5384
|
+
encoding: mergedEncoding
|
5385
|
+
};
|
5386
|
+
};
|
5387
|
+
const reshapeWithDualEncoding = (advancedVSeed, context)=>{
|
5816
5388
|
const result = {
|
5817
5389
|
...advancedVSeed
|
5818
5390
|
};
|
5819
5391
|
const { vseed } = context;
|
5820
5392
|
const { dataset } = vseed;
|
5821
|
-
const { dimensions, measures } = advancedVSeed;
|
5822
|
-
if (!measures || !dimensions || !dataset) return result;
|
5393
|
+
const { dimensions, measures, encoding, chartType } = advancedVSeed;
|
5394
|
+
if (!measures || !dimensions || !dataset || !encoding) return result;
|
5823
5395
|
if (0 === measures.length) throw new Error('measures can not be empty');
|
5824
5396
|
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
5397
|
const foldInfoList = [];
|
5828
5398
|
const unfoldInfoList = [];
|
5399
|
+
const datasets = [];
|
5829
5400
|
const primaryMeasures = measures[0];
|
5830
5401
|
const secondaryMeasures = measures[1] || [];
|
5831
5402
|
if (primaryMeasures && primaryMeasures.children) {
|
5832
|
-
const { dataset:
|
5403
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, primaryMeasures.children, encoding, {
|
5833
5404
|
foldMeasureValue: FoldPrimaryMeasureValue
|
5834
5405
|
});
|
5835
|
-
datasets.push(
|
5406
|
+
datasets.push(newDataset);
|
5836
5407
|
foldInfoList.push(foldInfo);
|
5837
5408
|
unfoldInfoList.push(unfoldInfo);
|
5838
5409
|
}
|
5839
5410
|
if (secondaryMeasures && secondaryMeasures.children) {
|
5840
|
-
const { dataset:
|
5411
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, secondaryMeasures.children, encoding, {
|
5841
5412
|
foldMeasureValue: FoldSecondaryMeasureValue
|
5842
5413
|
});
|
5843
|
-
datasets.push(
|
5414
|
+
datasets.push(newDataset);
|
5844
5415
|
foldInfoList.push(foldInfo);
|
5845
5416
|
unfoldInfoList.push(unfoldInfo);
|
5846
5417
|
}
|
5847
5418
|
const unfoldInfo = {
|
5848
|
-
|
5849
|
-
groupId: unfoldInfoList[0].groupId,
|
5419
|
+
...unfoldInfoList[0],
|
5850
5420
|
colorItems: unfoldInfoList.flatMap((d)=>d.colorItems),
|
5851
5421
|
colorIdMap: unfoldInfoList.reduce((prev, cur)=>({
|
5852
5422
|
...prev,
|
@@ -5858,7 +5428,7 @@ const reshapeTo2D2M = (advancedVSeed, context)=>{
|
|
5858
5428
|
dataset: datasets,
|
5859
5429
|
datasetReshapeInfo: [
|
5860
5430
|
{
|
5861
|
-
id:
|
5431
|
+
id: String(chartType),
|
5862
5432
|
index: 0,
|
5863
5433
|
foldInfo: foldInfoList[0],
|
5864
5434
|
foldInfoList: foldInfoList,
|
@@ -5867,46 +5437,48 @@ const reshapeTo2D2M = (advancedVSeed, context)=>{
|
|
5867
5437
|
]
|
5868
5438
|
};
|
5869
5439
|
};
|
5870
|
-
const
|
5440
|
+
const pivotReshapeWithDualEncoding = (advancedVSeed, context)=>{
|
5871
5441
|
const result = {
|
5872
5442
|
...advancedVSeed
|
5873
5443
|
};
|
5874
5444
|
const { vseed } = context;
|
5875
5445
|
const { dataset } = vseed;
|
5876
|
-
const { dimensions, measures } = advancedVSeed;
|
5877
|
-
if (!measures || !dimensions || !dataset) return result;
|
5878
|
-
const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
|
5446
|
+
const { dimensions, measures, encoding, chartType } = advancedVSeed;
|
5447
|
+
if (!measures || !dimensions || !dataset || !encoding) return result;
|
5879
5448
|
const datasetList = [];
|
5880
5449
|
const datasetReshapeInfo = [];
|
5881
|
-
|
5882
|
-
|
5450
|
+
const measureGroups = [];
|
5451
|
+
const depth = measureDepth(measures);
|
5452
|
+
if (3 === depth) measures.forEach((measure)=>{
|
5453
|
+
measureGroups.push(measure.children);
|
5454
|
+
});
|
5455
|
+
else if (2 === depth) measureGroups.push(measures);
|
5456
|
+
measureGroups.forEach((measures, index)=>{
|
5883
5457
|
if (0 === measures.length) throw new Error('measures can not be empty');
|
5884
5458
|
if (measures.length > 2) throw new Error('measures can not be more than 2');
|
5885
|
-
const datasets = [];
|
5886
5459
|
const foldInfoList = [];
|
5887
5460
|
const unfoldInfoList = [];
|
5461
|
+
const datasets = [];
|
5888
5462
|
const primaryMeasures = measures[0];
|
5889
|
-
const secondaryMeasures = measures[1] ||
|
5463
|
+
const secondaryMeasures = measures[1] || [];
|
5890
5464
|
if (primaryMeasures && primaryMeasures.children) {
|
5891
|
-
const { dataset:
|
5465
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, primaryMeasures.children, encoding, {
|
5892
5466
|
foldMeasureValue: `${FoldPrimaryMeasureValue}${index}`
|
5893
5467
|
});
|
5894
|
-
datasets.push(
|
5468
|
+
datasets.push(newDataset);
|
5895
5469
|
foldInfoList.push(foldInfo);
|
5896
5470
|
unfoldInfoList.push(unfoldInfo);
|
5897
5471
|
}
|
5898
5472
|
if (secondaryMeasures && secondaryMeasures.children) {
|
5899
|
-
const { dataset:
|
5473
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, secondaryMeasures.children, encoding, {
|
5900
5474
|
foldMeasureValue: `${FoldSecondaryMeasureValue}${index}`
|
5901
5475
|
});
|
5902
|
-
datasets.push(
|
5476
|
+
datasets.push(newDataset);
|
5903
5477
|
foldInfoList.push(foldInfo);
|
5904
5478
|
unfoldInfoList.push(unfoldInfo);
|
5905
5479
|
}
|
5906
|
-
datasetList.push(datasets.flat(2));
|
5907
5480
|
const unfoldInfo = {
|
5908
|
-
|
5909
|
-
groupId: unfoldInfoList[0].groupId,
|
5481
|
+
...unfoldInfoList[0],
|
5910
5482
|
colorItems: unfoldInfoList.flatMap((d)=>d.colorItems),
|
5911
5483
|
colorIdMap: unfoldInfoList.reduce((prev, cur)=>({
|
5912
5484
|
...prev,
|
@@ -5914,53 +5486,19 @@ const pivotReshapeTo2D2M = (advancedVSeed, context)=>{
|
|
5914
5486
|
}), {})
|
5915
5487
|
};
|
5916
5488
|
const reshapeInfo = {
|
5917
|
-
id:
|
5489
|
+
id: `${chartType}-${index}`,
|
5918
5490
|
index,
|
5919
5491
|
foldInfo: foldInfoList[0],
|
5920
|
-
|
5921
|
-
|
5492
|
+
foldInfoList: foldInfoList,
|
5493
|
+
unfoldInfo: unfoldInfo
|
5922
5494
|
};
|
5923
5495
|
datasetReshapeInfo.push(reshapeInfo);
|
5496
|
+
datasetList.push(datasets.flat(2));
|
5924
5497
|
});
|
5925
5498
|
return {
|
5926
5499
|
...result,
|
5927
5500
|
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
|
5501
|
+
datasetReshapeInfo: datasetReshapeInfo
|
5964
5502
|
};
|
5965
5503
|
};
|
5966
5504
|
const dualAxisConfig = (advancedVSeed, context)=>{
|
@@ -5989,125 +5527,80 @@ const dualAxisConfig = (advancedVSeed, context)=>{
|
|
5989
5527
|
};
|
5990
5528
|
return result;
|
5991
5529
|
};
|
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
5530
|
const dualAxisAdvancedPipeline = [
|
6082
5531
|
initAdvancedVSeed_initAdvancedVSeed,
|
6083
5532
|
autoDualMeasures,
|
6084
5533
|
autoDimensions_autoDimensions,
|
5534
|
+
encodingForDualAxis,
|
6085
5535
|
pivotAdapter([
|
6086
|
-
|
5536
|
+
reshapeWithDualEncoding
|
6087
5537
|
], [
|
6088
|
-
|
5538
|
+
pivotReshapeWithDualEncoding
|
6089
5539
|
]),
|
6090
|
-
encodingXYY,
|
6091
5540
|
sortXBandAxis,
|
6092
|
-
|
5541
|
+
sortLegend_sortLegend,
|
6093
5542
|
dualAxisConfig,
|
6094
5543
|
theme_theme,
|
6095
5544
|
markStyle_markStyle,
|
6096
5545
|
annotation_annotation
|
6097
5546
|
];
|
5547
|
+
const series = (...args)=>{
|
5548
|
+
const result = {
|
5549
|
+
type: 'common',
|
5550
|
+
padding: 0,
|
5551
|
+
region: [
|
5552
|
+
{
|
5553
|
+
clip: true
|
5554
|
+
}
|
5555
|
+
]
|
5556
|
+
};
|
5557
|
+
return (_, context)=>{
|
5558
|
+
result.series = args.map((pipeline)=>execPipeline(pipeline, context, {}));
|
5559
|
+
return result;
|
5560
|
+
};
|
5561
|
+
};
|
5562
|
+
const seriesDualAxis = (...args)=>{
|
5563
|
+
const result = {
|
5564
|
+
type: 'common',
|
5565
|
+
padding: 0,
|
5566
|
+
region: [
|
5567
|
+
{
|
5568
|
+
clip: true
|
5569
|
+
}
|
5570
|
+
]
|
5571
|
+
};
|
5572
|
+
const createDualContext = (context, index)=>{
|
5573
|
+
const { advancedVSeed } = context;
|
5574
|
+
const dataset = advancedVSeed.dataset[index];
|
5575
|
+
return {
|
5576
|
+
...context,
|
5577
|
+
advancedVSeed: {
|
5578
|
+
...advancedVSeed,
|
5579
|
+
dataset: dataset
|
5580
|
+
}
|
5581
|
+
};
|
5582
|
+
};
|
5583
|
+
return (_, context)=>{
|
5584
|
+
result.series = args.map((pipeline, index)=>{
|
5585
|
+
const seriesContext = createDualContext(context, index);
|
5586
|
+
return execPipeline(pipeline, seriesContext, {});
|
5587
|
+
});
|
5588
|
+
return result;
|
5589
|
+
};
|
5590
|
+
};
|
6098
5591
|
const initDualAxisPrimary = (spec, context)=>{
|
6099
5592
|
const result = {
|
6100
5593
|
...spec
|
6101
5594
|
};
|
6102
5595
|
const { advancedVSeed } = context;
|
6103
|
-
const {
|
6104
|
-
|
6105
|
-
result.id = `${
|
5596
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
5597
|
+
const { unfoldInfo, foldInfoList, id } = datasetReshapeInfo[0];
|
5598
|
+
result.id = `${id}-primary-series`;
|
6106
5599
|
result.type = 'bar';
|
6107
5600
|
result.direction = 'vertical';
|
6108
|
-
result.xField =
|
6109
|
-
result.
|
6110
|
-
result.
|
5601
|
+
result.xField = unfoldInfo.encodingX;
|
5602
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
5603
|
+
result.yField = foldInfoList?.[0].measureValue;
|
6111
5604
|
result.animation = true;
|
6112
5605
|
return result;
|
6113
5606
|
};
|
@@ -6116,14 +5609,14 @@ const initDualAxisSecondary = (spec, context)=>{
|
|
6116
5609
|
...spec
|
6117
5610
|
};
|
6118
5611
|
const { advancedVSeed } = context;
|
6119
|
-
const {
|
6120
|
-
|
6121
|
-
result.id = `${
|
5612
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
5613
|
+
const { unfoldInfo, foldInfoList, id } = datasetReshapeInfo[0];
|
5614
|
+
result.id = `${id}-secondary-series`;
|
6122
5615
|
result.type = 'line';
|
6123
5616
|
result.direction = 'vertical';
|
6124
|
-
result.xField =
|
6125
|
-
result.yField =
|
6126
|
-
result.seriesField =
|
5617
|
+
result.xField = unfoldInfo.encodingX;
|
5618
|
+
if (foldInfoList?.[1]) result.yField = foldInfoList[1].measureValue;
|
5619
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
6127
5620
|
result.animation = true;
|
6128
5621
|
return result;
|
6129
5622
|
};
|
@@ -6155,10 +5648,10 @@ const dualChartTypePrimary = (spec, context)=>{
|
|
6155
5648
|
case 'columnParallel':
|
6156
5649
|
{
|
6157
5650
|
const columnSpec = result;
|
6158
|
-
if (Array.isArray(columnSpec.xField)) columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.
|
5651
|
+
if (Array.isArray(columnSpec.xField)) columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.encodingDetail);
|
6159
5652
|
else if (columnSpec.xField) columnSpec.xField = [
|
6160
5653
|
columnSpec.xField,
|
6161
|
-
datasetReshapeInfo[0].unfoldInfo.
|
5654
|
+
datasetReshapeInfo[0].unfoldInfo.encodingDetail
|
6162
5655
|
];
|
6163
5656
|
columnSpec.type = 'bar';
|
6164
5657
|
result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX;
|
@@ -6211,10 +5704,10 @@ const dualChartTypeSecondary = (spec, context)=>{
|
|
6211
5704
|
case 'columnParallel':
|
6212
5705
|
{
|
6213
5706
|
const columnSpec = result;
|
6214
|
-
if (Array.isArray(columnSpec.xField)) columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.
|
5707
|
+
if (Array.isArray(columnSpec.xField)) columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.encodingDetail);
|
6215
5708
|
else if (columnSpec.xField) columnSpec.xField = [
|
6216
5709
|
columnSpec.xField,
|
6217
|
-
datasetReshapeInfo[0].unfoldInfo.
|
5710
|
+
datasetReshapeInfo[0].unfoldInfo.encodingDetail
|
6218
5711
|
];
|
6219
5712
|
columnSpec.type = 'bar';
|
6220
5713
|
result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX;
|
@@ -6241,10 +5734,11 @@ const dualChartTypeSecondary = (spec, context)=>{
|
|
6241
5734
|
};
|
6242
5735
|
const datasetPrimary = (spec, context)=>{
|
6243
5736
|
const { advancedVSeed, vseed } = context;
|
6244
|
-
const {
|
5737
|
+
const { analysis, datasetReshapeInfo } = advancedVSeed;
|
6245
5738
|
const orderMapping = analysis?.orderMapping || {};
|
6246
|
-
const
|
6247
|
-
const
|
5739
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
5740
|
+
const x = unfoldInfo.encodingX;
|
5741
|
+
const colorId = unfoldInfo.encodingColorId;
|
6248
5742
|
const id = datasetReshapeInfo[0].id;
|
6249
5743
|
const fields = {};
|
6250
5744
|
if (x) {
|
@@ -6258,14 +5752,14 @@ const datasetPrimary = (spec, context)=>{
|
|
6258
5752
|
sortIndex: 0
|
6259
5753
|
};
|
6260
5754
|
}
|
6261
|
-
if (
|
6262
|
-
const order = orderMapping[
|
6263
|
-
if (order) fields[
|
5755
|
+
if (colorId) {
|
5756
|
+
const order = orderMapping[colorId];
|
5757
|
+
if (order) fields[colorId] = {
|
6264
5758
|
sortIndex: 0,
|
6265
5759
|
domain: order,
|
6266
5760
|
lockStatisticsByDomain: true
|
6267
5761
|
};
|
6268
|
-
else fields[
|
5762
|
+
else fields[colorId] = {
|
6269
5763
|
sortIndex: 0
|
6270
5764
|
};
|
6271
5765
|
}
|
@@ -6280,10 +5774,11 @@ const datasetPrimary = (spec, context)=>{
|
|
6280
5774
|
};
|
6281
5775
|
const datasetSecondary = (spec, context)=>{
|
6282
5776
|
const { advancedVSeed, vseed } = context;
|
6283
|
-
const {
|
5777
|
+
const { analysis, datasetReshapeInfo } = advancedVSeed;
|
6284
5778
|
const orderMapping = analysis?.orderMapping || {};
|
6285
|
-
const
|
6286
|
-
const
|
5779
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
5780
|
+
const x = unfoldInfo.encodingX;
|
5781
|
+
const colorId = unfoldInfo.encodingColorId;
|
6287
5782
|
const id = datasetReshapeInfo[0].id;
|
6288
5783
|
const fields = {};
|
6289
5784
|
if (x) {
|
@@ -6297,14 +5792,14 @@ const datasetSecondary = (spec, context)=>{
|
|
6297
5792
|
sortIndex: 0
|
6298
5793
|
};
|
6299
5794
|
}
|
6300
|
-
if (
|
6301
|
-
const order = orderMapping[
|
6302
|
-
if (order) fields[
|
5795
|
+
if (colorId) {
|
5796
|
+
const order = orderMapping[colorId];
|
5797
|
+
if (order) fields[colorId] = {
|
6303
5798
|
sortIndex: 0,
|
6304
5799
|
domain: order,
|
6305
5800
|
lockStatisticsByDomain: true
|
6306
5801
|
};
|
6307
|
-
else fields[
|
5802
|
+
else fields[colorId] = {
|
6308
5803
|
sortIndex: 0
|
6309
5804
|
};
|
6310
5805
|
}
|
@@ -6402,7 +5897,7 @@ const tooltipPrimary = (spec, context)=>{
|
|
6402
5897
|
const foldInfoList = datasetReshapeInfo[0].foldInfoList;
|
6403
5898
|
const unfoldInfo = datasetReshapeInfo[0].unfoldInfo;
|
6404
5899
|
const { measureId, measureValue, measureName } = foldInfoList[0];
|
6405
|
-
const {
|
5900
|
+
const { encodingColor: colorName } = unfoldInfo;
|
6406
5901
|
result.tooltip = {
|
6407
5902
|
visible: enable,
|
6408
5903
|
mark: {
|
@@ -6423,7 +5918,7 @@ const tooltipPrimary = (spec, context)=>{
|
|
6423
5918
|
{
|
6424
5919
|
visible: true,
|
6425
5920
|
hasShape: true,
|
6426
|
-
key: (datum)=>datum && datum[measureName ||
|
5921
|
+
key: (datum)=>datum && datum[measureName || colorName] || '',
|
6427
5922
|
value: (datum)=>{
|
6428
5923
|
if (!datum) return '';
|
6429
5924
|
const value = datum[measureValue];
|
@@ -6445,7 +5940,7 @@ const tooltipPrimary = (spec, context)=>{
|
|
6445
5940
|
content: [
|
6446
5941
|
{
|
6447
5942
|
visible: true,
|
6448
|
-
key: (datum)=>datum && datum[
|
5943
|
+
key: (datum)=>datum && datum[colorName] || '',
|
6449
5944
|
value: (datum)=>{
|
6450
5945
|
if (!datum) return '';
|
6451
5946
|
const value = datum[measureValue];
|
@@ -6482,7 +5977,7 @@ const tooltipSecondary = (spec, context)=>{
|
|
6482
5977
|
const foldInfoList = datasetReshapeInfo[0].foldInfoList;
|
6483
5978
|
const unfoldInfo = datasetReshapeInfo[0].unfoldInfo;
|
6484
5979
|
const { measureId, measureValue, measureName } = foldInfoList[1];
|
6485
|
-
const {
|
5980
|
+
const { encodingColorId } = unfoldInfo;
|
6486
5981
|
result.tooltip = {
|
6487
5982
|
visible: enable,
|
6488
5983
|
mark: {
|
@@ -6503,7 +5998,7 @@ const tooltipSecondary = (spec, context)=>{
|
|
6503
5998
|
{
|
6504
5999
|
visible: true,
|
6505
6000
|
hasShape: true,
|
6506
|
-
key: (datum)=>datum && datum[measureName ||
|
6001
|
+
key: (datum)=>datum && datum[measureName || encodingColorId] || '',
|
6507
6002
|
value: (datum)=>{
|
6508
6003
|
if (!datum) return '';
|
6509
6004
|
const value = datum[measureValue];
|
@@ -6525,7 +6020,7 @@ const tooltipSecondary = (spec, context)=>{
|
|
6525
6020
|
content: [
|
6526
6021
|
{
|
6527
6022
|
visible: true,
|
6528
|
-
key: (datum)=>datum && datum[
|
6023
|
+
key: (datum)=>datum && datum[encodingColorId] || '',
|
6529
6024
|
value: (datum)=>{
|
6530
6025
|
if (!datum) return '';
|
6531
6026
|
const value = datum[measureValue];
|
@@ -6554,16 +6049,16 @@ const yLinearPrimary = (spec, context)=>{
|
|
6554
6049
|
const { advancedVSeed, vseed } = context;
|
6555
6050
|
const { chartType } = vseed;
|
6556
6051
|
const { locale, datasetReshapeInfo } = advancedVSeed;
|
6557
|
-
const index = datasetReshapeInfo[0]
|
6052
|
+
const { index, id: reshapeInfoId, foldInfoList } = datasetReshapeInfo[0];
|
6558
6053
|
const primaryYAxis = advancedVSeed.config?.[chartType]?.primaryYAxis;
|
6559
6054
|
const yAxisConfig = Array.isArray(primaryYAxis) ? primaryYAxis[index] || primaryYAxis[0] : primaryYAxis;
|
6560
6055
|
const alignTicks = advancedVSeed.config?.[chartType]?.alignTicks;
|
6561
6056
|
const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks;
|
6562
|
-
if (
|
6563
|
-
const id = `${
|
6057
|
+
if (foldInfoList?.[0] && (0, external_remeda_namespaceObject.isEmpty)(foldInfoList[0].foldMap)) return result;
|
6058
|
+
const id = `${reshapeInfoId}-primary-axis`;
|
6564
6059
|
const seriesIds = [
|
6565
|
-
`${
|
6566
|
-
`${
|
6060
|
+
`${reshapeInfoId}-primary-series`,
|
6061
|
+
`${reshapeInfoId}-secondary-series`
|
6567
6062
|
];
|
6568
6063
|
const seriesId = alignTicksConfig ? seriesIds : seriesIds[0];
|
6569
6064
|
if (!result.axes) result.axes = [];
|
@@ -6651,20 +6146,20 @@ const yLinearSecondary = (spec, context)=>{
|
|
6651
6146
|
const { advancedVSeed, vseed } = context;
|
6652
6147
|
const { chartType } = vseed;
|
6653
6148
|
const { locale, datasetReshapeInfo } = advancedVSeed;
|
6654
|
-
const index = datasetReshapeInfo[0]
|
6149
|
+
const { index, id: reshapeInfoId, foldInfoList } = datasetReshapeInfo[0];
|
6655
6150
|
const secondaryYAxis = advancedVSeed.config?.[chartType]?.secondaryYAxis;
|
6656
6151
|
const yAxisConfig = Array.isArray(secondaryYAxis) ? secondaryYAxis[index] || secondaryYAxis[0] : secondaryYAxis;
|
6657
6152
|
const alignTicks = advancedVSeed.config?.[chartType]?.alignTicks;
|
6658
6153
|
const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks;
|
6659
|
-
if ((0, external_remeda_namespaceObject.isNullish)(
|
6154
|
+
if ((0, external_remeda_namespaceObject.isNullish)(foldInfoList?.[1])) return result;
|
6660
6155
|
const sync = {
|
6661
|
-
axisId: `${
|
6156
|
+
axisId: `${reshapeInfoId}-primary-axis`,
|
6662
6157
|
zeroAlign: true
|
6663
6158
|
};
|
6664
|
-
const id = `${
|
6159
|
+
const id = `${reshapeInfoId}-secondary-axis`;
|
6665
6160
|
const seriesIds = [
|
6666
|
-
`${
|
6667
|
-
`${
|
6161
|
+
`${reshapeInfoId}-primary-series`,
|
6162
|
+
`${reshapeInfoId}-secondary-series`
|
6668
6163
|
];
|
6669
6164
|
const seriesId = alignTicksConfig ? seriesIds : seriesIds[1];
|
6670
6165
|
if (!result.axes) result.axes = [];
|
@@ -6805,210 +6300,74 @@ const pivotDualAxis = [
|
|
6805
6300
|
areaStyle_areaStyle
|
6806
6301
|
], [
|
6807
6302
|
initDualAxisSecondary,
|
6808
|
-
dualChartTypeSecondary,
|
6809
|
-
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
|
-
};
|
6303
|
+
dualChartTypeSecondary,
|
6304
|
+
datasetSecondary,
|
6305
|
+
labelSecondary,
|
6306
|
+
tooltipSecondary,
|
6307
|
+
progressive,
|
6308
|
+
barStyle_barStyle,
|
6309
|
+
pointStyle_pointStyle,
|
6310
|
+
pointStateDimensionHover,
|
6311
|
+
lineStyle_lineStyle,
|
6312
|
+
areaStyle_areaStyle
|
6313
|
+
]),
|
6314
|
+
xBand,
|
6315
|
+
yLinearPrimary,
|
6316
|
+
yLinearSecondary,
|
6317
|
+
color_color,
|
6318
|
+
background_backgroundColor,
|
6319
|
+
verticalCrosshairRect,
|
6320
|
+
annotationPoint_annotationPoint,
|
6321
|
+
annotationVerticalLine_annotationVerticalLine,
|
6322
|
+
annotationHorizontalLine_annotationHorizontalLine,
|
6323
|
+
annotationArea_annotationArea
|
6324
|
+
]),
|
6325
|
+
pivotRowDimensions,
|
6326
|
+
pivotColumnDimensions,
|
6327
|
+
pivotDiscreteLegend
|
6328
|
+
];
|
6329
|
+
const dualAxisSpecPipeline = [
|
6330
|
+
pivotAdapter_pivotAdapter(dualAxis, pivotDualAxis)
|
6331
|
+
];
|
6332
|
+
const registerDualAxis = ()=>{
|
6333
|
+
Builder._advancedPipelineMap.dualAxis = dualAxisAdvancedPipeline;
|
6334
|
+
Builder._specPipelineMap.dualAxis = dualAxisSpecPipeline;
|
6925
6335
|
};
|
6926
|
-
const
|
6927
|
-
const result = {
|
6928
|
-
...advancedVSeed
|
6929
|
-
};
|
6336
|
+
const encodingForPie = (advancedVSeed, context)=>{
|
6930
6337
|
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
|
6338
|
+
const { dimensions } = advancedVSeed;
|
6339
|
+
if (!dimensions) return advancedVSeed;
|
6340
|
+
const encoding = vseed.encoding;
|
6341
|
+
if (encoding) return {
|
6342
|
+
...advancedVSeed,
|
6343
|
+
encoding: {
|
6344
|
+
...encoding
|
6345
|
+
}
|
6965
6346
|
};
|
6966
|
-
|
6967
|
-
|
6968
|
-
|
6969
|
-
|
6347
|
+
const mergedEncoding = {
|
6348
|
+
angle: dimensions.slice(0, 1).map((item)=>item.id),
|
6349
|
+
color: dimensions.slice(0).map((item)=>item.id),
|
6350
|
+
detail: dimensions.slice(0).map((item)=>item.id),
|
6351
|
+
tooltip: dimensions.map((item)=>item.id),
|
6352
|
+
label: [],
|
6353
|
+
row: [],
|
6354
|
+
column: []
|
6970
6355
|
};
|
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
6356
|
return {
|
6998
|
-
...
|
6999
|
-
encoding
|
6357
|
+
...advancedVSeed,
|
6358
|
+
encoding: mergedEncoding
|
7000
6359
|
};
|
7001
6360
|
};
|
7002
6361
|
const pieAdvancedPipeline = [
|
7003
6362
|
initAdvancedVSeed_initAdvancedVSeed,
|
7004
6363
|
autoMeasures_autoMeasures,
|
7005
6364
|
autoDimensions_autoDimensions,
|
6365
|
+
encodingForPie,
|
7006
6366
|
pivotAdapter([
|
7007
|
-
|
6367
|
+
reshapeWithEncoding
|
7008
6368
|
], [
|
7009
|
-
|
6369
|
+
pivotReshapeWithEncoding
|
7010
6370
|
]),
|
7011
|
-
encodingPie,
|
7012
6371
|
pieConfig,
|
7013
6372
|
theme_theme,
|
7014
6373
|
annotation_annotation
|
@@ -7018,15 +6377,15 @@ const initPie = (spec, context)=>{
|
|
7018
6377
|
...spec
|
7019
6378
|
};
|
7020
6379
|
const { advancedVSeed } = context;
|
7021
|
-
const {
|
7022
|
-
|
6380
|
+
const { datasetReshapeInfo, dataset } = advancedVSeed;
|
6381
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
7023
6382
|
const showStroke = dataset.length <= 30;
|
7024
6383
|
result.type = 'pie';
|
7025
6384
|
result.outerRadius = 0.8;
|
7026
6385
|
result.innerRadius = 0;
|
7027
|
-
result.valueField =
|
7028
|
-
result.categoryField =
|
7029
|
-
result.seriesField =
|
6386
|
+
result.valueField = foldInfo.measureValue;
|
6387
|
+
result.categoryField = unfoldInfo.encodingAngle;
|
6388
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
7030
6389
|
result.padding = 0;
|
7031
6390
|
result.region = [
|
7032
6391
|
{
|
@@ -7095,12 +6454,12 @@ const donutAdvancedPipeline = [
|
|
7095
6454
|
initAdvancedVSeed_initAdvancedVSeed,
|
7096
6455
|
autoMeasures_autoMeasures,
|
7097
6456
|
autoDimensions_autoDimensions,
|
6457
|
+
encodingForPie,
|
7098
6458
|
pivotAdapter([
|
7099
|
-
|
6459
|
+
reshapeWithEncoding
|
7100
6460
|
], [
|
7101
|
-
|
6461
|
+
pivotReshapeWithEncoding
|
7102
6462
|
]),
|
7103
|
-
encodingPie,
|
7104
6463
|
donutConfig,
|
7105
6464
|
theme_theme,
|
7106
6465
|
annotation_annotation
|
@@ -7110,15 +6469,15 @@ const initDonut = (spec, context)=>{
|
|
7110
6469
|
...spec
|
7111
6470
|
};
|
7112
6471
|
const { advancedVSeed } = context;
|
7113
|
-
const {
|
7114
|
-
|
6472
|
+
const { datasetReshapeInfo, dataset } = advancedVSeed;
|
6473
|
+
const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
|
7115
6474
|
const showStroke = dataset.length <= 30;
|
7116
6475
|
result.type = 'pie';
|
7117
6476
|
result.outerRadius = 0.8;
|
7118
6477
|
result.innerRadius = 0.8 * result.outerRadius;
|
7119
|
-
result.valueField =
|
7120
|
-
result.categoryField =
|
7121
|
-
result.seriesField =
|
6478
|
+
result.valueField = foldInfo.measureValue;
|
6479
|
+
result.categoryField = unfoldInfo.encodingDetail;
|
6480
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
7122
6481
|
result.padding = 0;
|
7123
6482
|
result.region = [
|
7124
6483
|
{
|
@@ -7182,54 +6541,52 @@ const registerDonut = ()=>{
|
|
7182
6541
|
Builder._advancedPipelineMap.donut = donutAdvancedPipeline;
|
7183
6542
|
Builder._specPipelineMap.donut = donutSpecPipeline;
|
7184
6543
|
};
|
7185
|
-
const
|
7186
|
-
const
|
7187
|
-
|
7188
|
-
|
7189
|
-
const
|
7190
|
-
if (
|
7191
|
-
|
7192
|
-
|
7193
|
-
|
7194
|
-
|
7195
|
-
|
7196
|
-
|
7197
|
-
foldInfo.measureValue
|
7198
|
-
];
|
7199
|
-
const angle = [
|
7200
|
-
isZeroDimension ? foldInfo.measureName : angleDimension?.id
|
7201
|
-
];
|
7202
|
-
const group = [
|
7203
|
-
is1D1M ? angleDimension?.id : unfoldInfo.groupId
|
7204
|
-
];
|
7205
|
-
const color = [
|
7206
|
-
is1D1M ? angleDimension?.id : unfoldInfo.groupId
|
6544
|
+
const encodingForRose = (advancedVSeed, context)=>{
|
6545
|
+
const { vseed } = context;
|
6546
|
+
const { dimensions } = advancedVSeed;
|
6547
|
+
if (!dimensions) return advancedVSeed;
|
6548
|
+
const encoding = vseed.encoding;
|
6549
|
+
if (encoding) {
|
6550
|
+
const angle = encoding.angle || [];
|
6551
|
+
const detail = encoding.detail || [];
|
6552
|
+
const color = encoding.color || [];
|
6553
|
+
const mergedDetail = [
|
6554
|
+
...color.filter((d)=>!angle.includes(d)),
|
6555
|
+
...detail
|
7207
6556
|
];
|
7208
|
-
return
|
7209
|
-
...
|
7210
|
-
{
|
7211
|
-
|
7212
|
-
|
7213
|
-
group,
|
7214
|
-
color
|
6557
|
+
return {
|
6558
|
+
...advancedVSeed,
|
6559
|
+
encoding: {
|
6560
|
+
...encoding,
|
6561
|
+
detail: mergedDetail
|
7215
6562
|
}
|
7216
|
-
|
7217
|
-
}
|
6563
|
+
};
|
6564
|
+
}
|
6565
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
6566
|
+
const mergedEncoding = {
|
6567
|
+
angle: dimensions.slice(0, 1).map((item)=>item.id),
|
6568
|
+
color: dimensions.slice(1).map((item)=>item.id),
|
6569
|
+
detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
6570
|
+
tooltip: dimensions.map((item)=>item.id),
|
6571
|
+
label: [],
|
6572
|
+
row: [],
|
6573
|
+
column: []
|
6574
|
+
};
|
7218
6575
|
return {
|
7219
|
-
...
|
7220
|
-
encoding
|
6576
|
+
...advancedVSeed,
|
6577
|
+
encoding: mergedEncoding
|
7221
6578
|
};
|
7222
6579
|
};
|
7223
6580
|
const roseAdvancedPipeline = [
|
7224
6581
|
initAdvancedVSeed_initAdvancedVSeed,
|
7225
6582
|
autoMeasures_autoMeasures,
|
7226
6583
|
autoDimensions_autoDimensions,
|
6584
|
+
encodingForRose,
|
7227
6585
|
pivotAdapter([
|
7228
|
-
|
6586
|
+
reshapeWithEncoding
|
7229
6587
|
], [
|
7230
|
-
|
6588
|
+
pivotReshapeWithEncoding
|
7231
6589
|
]),
|
7232
|
-
encodingRose,
|
7233
6590
|
roseConfig,
|
7234
6591
|
theme_theme,
|
7235
6592
|
markStyle_markStyle,
|
@@ -7240,13 +6597,12 @@ const initRose = (spec, context)=>{
|
|
7240
6597
|
...spec
|
7241
6598
|
};
|
7242
6599
|
const { advancedVSeed } = context;
|
7243
|
-
const {
|
7244
|
-
const { foldInfo } = datasetReshapeInfo[0];
|
7245
|
-
if (!encoding[0].radius || !encoding[0].angle || !encoding[0].group) return result;
|
6600
|
+
const { dataset, datasetReshapeInfo } = advancedVSeed;
|
6601
|
+
const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
|
7246
6602
|
result.type = 'rose';
|
7247
|
-
result.categoryField =
|
7248
|
-
result.
|
7249
|
-
result.
|
6603
|
+
result.categoryField = unfoldInfo.encodingAngle;
|
6604
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
6605
|
+
result.valueField = foldInfo.measureValue;
|
7250
6606
|
result.padding = 0;
|
7251
6607
|
result.outerRadius = 0.9;
|
7252
6608
|
result.innerRadius = 0;
|
@@ -7394,12 +6750,12 @@ const roseParallelAdvancedPipeline = [
|
|
7394
6750
|
initAdvancedVSeed_initAdvancedVSeed,
|
7395
6751
|
autoMeasures_autoMeasures,
|
7396
6752
|
autoDimensions_autoDimensions,
|
6753
|
+
encodingForRose,
|
7397
6754
|
pivotAdapter([
|
7398
|
-
|
6755
|
+
reshapeWithEncoding
|
7399
6756
|
], [
|
7400
|
-
|
6757
|
+
pivotReshapeWithEncoding
|
7401
6758
|
]),
|
7402
|
-
encodingRose,
|
7403
6759
|
roseParallelConfig,
|
7404
6760
|
theme_theme,
|
7405
6761
|
markStyle_markStyle,
|
@@ -7410,19 +6766,18 @@ const initRoseParallel = (spec, context)=>{
|
|
7410
6766
|
...spec
|
7411
6767
|
};
|
7412
6768
|
const { advancedVSeed } = context;
|
7413
|
-
const {
|
6769
|
+
const { datasetReshapeInfo, dataset, dimensions } = advancedVSeed;
|
7414
6770
|
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
7415
|
-
if (!encoding[0].radius || !encoding[0].angle || !encoding[0].group) return result;
|
7416
6771
|
const sameDimensionsMode = dimensions.length > 1 && dimensions.every((dim)=>dim.id === dimensions[0].id);
|
7417
6772
|
result.type = 'rose';
|
7418
6773
|
result.categoryField = sameDimensionsMode ? [
|
7419
|
-
|
6774
|
+
unfoldInfo.encodingAngle
|
7420
6775
|
] : [
|
7421
|
-
|
7422
|
-
unfoldInfo.
|
6776
|
+
unfoldInfo.encodingAngle,
|
6777
|
+
unfoldInfo.encodingDetail
|
7423
6778
|
];
|
7424
|
-
result.valueField =
|
7425
|
-
result.seriesField =
|
6779
|
+
result.valueField = foldInfo.measureValue;
|
6780
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
7426
6781
|
result.padding = 0;
|
7427
6782
|
result.outerRadius = 0.9;
|
7428
6783
|
result.innerRadius = 0;
|
@@ -7499,54 +6854,52 @@ const registerRoseParallel = ()=>{
|
|
7499
6854
|
Builder._advancedPipelineMap.roseParallel = roseParallelAdvancedPipeline;
|
7500
6855
|
Builder._specPipelineMap.roseParallel = roseParallelSpecPipeline;
|
7501
6856
|
};
|
7502
|
-
const
|
7503
|
-
const
|
7504
|
-
|
7505
|
-
|
7506
|
-
const
|
7507
|
-
if (
|
7508
|
-
|
7509
|
-
|
7510
|
-
|
7511
|
-
const
|
7512
|
-
|
7513
|
-
|
7514
|
-
];
|
7515
|
-
const radius = [
|
7516
|
-
foldInfo.measureValue
|
7517
|
-
];
|
7518
|
-
const group = [
|
7519
|
-
unfoldInfo.groupId
|
7520
|
-
];
|
7521
|
-
const color = [
|
7522
|
-
unfoldInfo.groupId
|
6857
|
+
const encodingForRadar = (advancedVSeed, context)=>{
|
6858
|
+
const { vseed } = context;
|
6859
|
+
const { dimensions } = advancedVSeed;
|
6860
|
+
if (!dimensions) return advancedVSeed;
|
6861
|
+
const encoding = vseed.encoding;
|
6862
|
+
if (encoding) {
|
6863
|
+
const angle = encoding.angle || [];
|
6864
|
+
const detail = encoding.detail || [];
|
6865
|
+
const color = encoding.color || [];
|
6866
|
+
const mergedDetail = [
|
6867
|
+
...color.filter((d)=>!angle.includes(d)),
|
6868
|
+
...detail
|
7523
6869
|
];
|
7524
|
-
return
|
7525
|
-
...
|
7526
|
-
{
|
7527
|
-
|
7528
|
-
|
7529
|
-
group,
|
7530
|
-
color
|
6870
|
+
return {
|
6871
|
+
...advancedVSeed,
|
6872
|
+
encoding: {
|
6873
|
+
...encoding,
|
6874
|
+
detail: mergedDetail
|
7531
6875
|
}
|
7532
|
-
|
7533
|
-
}
|
6876
|
+
};
|
6877
|
+
}
|
6878
|
+
const mergedEncoding = {
|
6879
|
+
angle: dimensions.slice(0, 1).map((item)=>item.id),
|
6880
|
+
color: dimensions.slice(1).map((item)=>item.id),
|
6881
|
+
detail: dimensions.slice(1).map((item)=>item.id),
|
6882
|
+
tooltip: dimensions.map((item)=>item.id),
|
6883
|
+
label: [],
|
6884
|
+
row: [],
|
6885
|
+
column: []
|
6886
|
+
};
|
7534
6887
|
return {
|
7535
|
-
...
|
7536
|
-
encoding
|
6888
|
+
...advancedVSeed,
|
6889
|
+
encoding: mergedEncoding
|
7537
6890
|
};
|
7538
6891
|
};
|
7539
6892
|
const radarAdvancedPipeline = [
|
7540
6893
|
initAdvancedVSeed_initAdvancedVSeed,
|
7541
6894
|
autoMeasures_autoMeasures,
|
7542
6895
|
autoDimensions_autoDimensions,
|
6896
|
+
encodingForRadar,
|
7543
6897
|
pivotAdapter([
|
7544
|
-
|
6898
|
+
reshapeWithEncoding
|
7545
6899
|
], [
|
7546
|
-
|
6900
|
+
pivotReshapeWithEncoding
|
7547
6901
|
]),
|
7548
|
-
|
7549
|
-
sort_sortLegend,
|
6902
|
+
sortLegend_sortLegend,
|
7550
6903
|
radarConfig,
|
7551
6904
|
theme_theme,
|
7552
6905
|
markStyle_markStyle,
|
@@ -7557,12 +6910,12 @@ const initRadar = (spec, context)=>{
|
|
7557
6910
|
...spec
|
7558
6911
|
};
|
7559
6912
|
const { advancedVSeed } = context;
|
7560
|
-
const {
|
7561
|
-
|
6913
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
6914
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
7562
6915
|
result.type = 'radar';
|
7563
|
-
result.angleField =
|
7564
|
-
result.radiusField =
|
7565
|
-
result.seriesField =
|
6916
|
+
result.angleField = unfoldInfo.encodingAngle;
|
6917
|
+
result.radiusField = foldInfo.measureValue;
|
6918
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
7566
6919
|
result.padding = 0;
|
7567
6920
|
result.region = [
|
7568
6921
|
{
|
@@ -7674,47 +7027,40 @@ const registerRadar = ()=>{
|
|
7674
7027
|
Builder._advancedPipelineMap.radar = radarAdvancedPipeline;
|
7675
7028
|
Builder._specPipelineMap.radar = radarSpecPipeline;
|
7676
7029
|
};
|
7677
|
-
const
|
7678
|
-
const
|
7679
|
-
|
7030
|
+
const encodingForFunnel = (advancedVSeed, context)=>{
|
7031
|
+
const { vseed } = context;
|
7032
|
+
const { dimensions } = advancedVSeed;
|
7033
|
+
if (!dimensions) return advancedVSeed;
|
7034
|
+
const encoding = vseed.encoding;
|
7035
|
+
if (encoding) return {
|
7036
|
+
...advancedVSeed,
|
7037
|
+
encoding: {
|
7038
|
+
...encoding
|
7039
|
+
}
|
7040
|
+
};
|
7041
|
+
const mergedEncoding = {
|
7042
|
+
color: dimensions.slice(0).map((item)=>item.id),
|
7043
|
+
detail: dimensions.slice(0).map((item)=>item.id),
|
7044
|
+
tooltip: dimensions.map((item)=>item.id),
|
7045
|
+
label: [],
|
7046
|
+
row: [],
|
7047
|
+
column: []
|
7680
7048
|
};
|
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
7049
|
return {
|
7704
|
-
...
|
7705
|
-
encoding
|
7050
|
+
...advancedVSeed,
|
7051
|
+
encoding: mergedEncoding
|
7706
7052
|
};
|
7707
7053
|
};
|
7708
7054
|
const funnelAdvancedPipeline = [
|
7709
7055
|
initAdvancedVSeed_initAdvancedVSeed,
|
7710
7056
|
autoMeasures_autoMeasures,
|
7711
7057
|
autoDimensions_autoDimensions,
|
7058
|
+
encodingForFunnel,
|
7712
7059
|
pivotAdapter([
|
7713
|
-
|
7060
|
+
reshapeWithEncoding
|
7714
7061
|
], [
|
7715
|
-
|
7062
|
+
pivotReshapeWithEncoding
|
7716
7063
|
]),
|
7717
|
-
encodingFunnel,
|
7718
7064
|
funnelConfig,
|
7719
7065
|
theme_theme,
|
7720
7066
|
annotation_annotation
|
@@ -7724,11 +7070,12 @@ const initFunnel = (spec, context)=>{
|
|
7724
7070
|
...spec
|
7725
7071
|
};
|
7726
7072
|
const { advancedVSeed } = context;
|
7727
|
-
const {
|
7728
|
-
|
7073
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
7074
|
+
const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
|
7729
7075
|
result.type = 'funnel';
|
7730
|
-
result.valueField =
|
7731
|
-
result.categoryField =
|
7076
|
+
result.valueField = foldInfo.measureValue;
|
7077
|
+
result.categoryField = unfoldInfo.encodingDetail;
|
7078
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
7732
7079
|
result.padding = 0;
|
7733
7080
|
result.isTransform = true;
|
7734
7081
|
result.shape = 'rect';
|
@@ -7743,7 +7090,7 @@ const initFunnel = (spec, context)=>{
|
|
7743
7090
|
style: {
|
7744
7091
|
cornerRadius: 4,
|
7745
7092
|
fill: {
|
7746
|
-
field:
|
7093
|
+
field: unfoldInfo.encodingColorId,
|
7747
7094
|
scale: 'color'
|
7748
7095
|
}
|
7749
7096
|
},
|
@@ -7759,99 +7106,13 @@ const initFunnel = (spec, context)=>{
|
|
7759
7106
|
result.animation = true;
|
7760
7107
|
return result;
|
7761
7108
|
};
|
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
7109
|
const funnel = [
|
7848
7110
|
initFunnel,
|
7849
|
-
linearColor,
|
7850
7111
|
background_backgroundColor,
|
7851
7112
|
datasetXY,
|
7852
7113
|
label_label,
|
7853
7114
|
tooltip_tooltip,
|
7854
|
-
|
7115
|
+
discreteLegend,
|
7855
7116
|
annotationPoint_annotationPoint,
|
7856
7117
|
annotationVerticalLine_annotationVerticalLine,
|
7857
7118
|
annotationHorizontalLine_annotationHorizontalLine,
|
@@ -7864,12 +7125,11 @@ const pivotFunnel = [
|
|
7864
7125
|
datasetPivot,
|
7865
7126
|
pivotIndicators_pivotIndicators([
|
7866
7127
|
initFunnel,
|
7867
|
-
linearColor,
|
7868
7128
|
background_backgroundColor,
|
7869
7129
|
datasetXY,
|
7870
7130
|
label_label,
|
7871
7131
|
tooltip_tooltip,
|
7872
|
-
|
7132
|
+
discreteLegend,
|
7873
7133
|
annotationPoint_annotationPoint,
|
7874
7134
|
annotationVerticalLine_annotationVerticalLine,
|
7875
7135
|
annotationHorizontalLine_annotationHorizontalLine,
|
@@ -7885,49 +7145,42 @@ const registerFunnel = ()=>{
|
|
7885
7145
|
Builder._advancedPipelineMap.funnel = funnelAdvancedPipeline;
|
7886
7146
|
Builder._specPipelineMap.funnel = funnelSpecPipeline;
|
7887
7147
|
};
|
7888
|
-
const
|
7889
|
-
const
|
7890
|
-
|
7148
|
+
const encodingForHeatmap = (advancedVSeed, context)=>{
|
7149
|
+
const { vseed } = context;
|
7150
|
+
const { dimensions } = advancedVSeed;
|
7151
|
+
if (!dimensions) return advancedVSeed;
|
7152
|
+
const encoding = vseed.encoding;
|
7153
|
+
if (encoding) return {
|
7154
|
+
...advancedVSeed,
|
7155
|
+
encoding: {
|
7156
|
+
...encoding
|
7157
|
+
}
|
7158
|
+
};
|
7159
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
7160
|
+
const mergedEncoding = {
|
7161
|
+
x: dimensions.slice(0, 1).map((item)=>item.id),
|
7162
|
+
y: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
7163
|
+
color: dimensions.slice(0).map((item)=>item.id),
|
7164
|
+
tooltip: dimensions.map((item)=>item.id),
|
7165
|
+
label: [],
|
7166
|
+
row: [],
|
7167
|
+
column: []
|
7891
7168
|
};
|
7892
|
-
const { datasetReshapeInfo, dimensions } = advancedVSeed;
|
7893
|
-
if (!datasetReshapeInfo || !dimensions) return result;
|
7894
|
-
const xDimension = dimensions.find((item)=>'rowDimension' !== item.location && 'columnDimension' !== item.location) || dimensions[0];
|
7895
|
-
const isZeroDimension = 0 === dimensions.length;
|
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
|
7903
|
-
];
|
7904
|
-
const color = [
|
7905
|
-
foldInfo.measureValue
|
7906
|
-
];
|
7907
|
-
return [
|
7908
|
-
...prev,
|
7909
|
-
{
|
7910
|
-
x,
|
7911
|
-
y,
|
7912
|
-
color
|
7913
|
-
}
|
7914
|
-
];
|
7915
|
-
}, []);
|
7916
7169
|
return {
|
7917
|
-
...
|
7918
|
-
encoding
|
7170
|
+
...advancedVSeed,
|
7171
|
+
encoding: mergedEncoding
|
7919
7172
|
};
|
7920
7173
|
};
|
7921
7174
|
const heatmapAdvancedPipeline = [
|
7922
7175
|
initAdvancedVSeed_initAdvancedVSeed,
|
7923
7176
|
autoMeasures_autoMeasures,
|
7924
7177
|
autoDimensions_autoDimensions,
|
7178
|
+
encodingForHeatmap,
|
7925
7179
|
pivotAdapter([
|
7926
|
-
|
7180
|
+
reshapeWithEncoding
|
7927
7181
|
], [
|
7928
|
-
|
7182
|
+
pivotReshapeWithEncoding
|
7929
7183
|
]),
|
7930
|
-
encodingMatrix,
|
7931
7184
|
sortXBandAxis,
|
7932
7185
|
heatmapConfig,
|
7933
7186
|
theme_theme,
|
@@ -7949,23 +7202,20 @@ const initHeatmap = (spec, context)=>{
|
|
7949
7202
|
...spec
|
7950
7203
|
};
|
7951
7204
|
const { advancedVSeed } = context;
|
7952
|
-
const {
|
7953
|
-
|
7205
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
7206
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
7954
7207
|
result.type = 'heatmap';
|
7955
7208
|
result.direction = 'vertical';
|
7956
|
-
result.xField =
|
7957
|
-
result.yField =
|
7958
|
-
result.
|
7209
|
+
result.xField = unfoldInfo.encodingX;
|
7210
|
+
result.yField = unfoldInfo.encodingY;
|
7211
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
7212
|
+
result.valueField = foldInfo.measureValue;
|
7959
7213
|
result.padding = 0;
|
7960
7214
|
result.cell = {
|
7961
7215
|
style: {
|
7962
7216
|
shape: 'rect',
|
7963
7217
|
stroke: '#ffffff',
|
7964
|
-
lineWidth: 1
|
7965
|
-
fill: {
|
7966
|
-
field: encoding[0].color[0],
|
7967
|
-
scale: 'color'
|
7968
|
-
}
|
7218
|
+
lineWidth: 1
|
7969
7219
|
}
|
7970
7220
|
};
|
7971
7221
|
result.axes = [
|
@@ -7990,12 +7240,11 @@ const initHeatmap = (spec, context)=>{
|
|
7990
7240
|
};
|
7991
7241
|
const heatmap = [
|
7992
7242
|
initHeatmap,
|
7993
|
-
linearColor,
|
7994
7243
|
background_backgroundColor,
|
7995
7244
|
datasetXY,
|
7996
7245
|
label_label,
|
7997
7246
|
labelColorInversion,
|
7998
|
-
|
7247
|
+
discreteLegend,
|
7999
7248
|
tooltip_tooltip,
|
8000
7249
|
pointStyle_pointStyle,
|
8001
7250
|
pointStateDimensionHover,
|
@@ -8012,12 +7261,11 @@ const pivotHeatmap = [
|
|
8012
7261
|
datasetPivot,
|
8013
7262
|
pivotIndicators_pivotIndicators([
|
8014
7263
|
initHeatmap,
|
8015
|
-
linearColor,
|
8016
7264
|
background_backgroundColor,
|
8017
7265
|
datasetXY,
|
8018
7266
|
label_label,
|
8019
7267
|
labelColorInversion,
|
8020
|
-
|
7268
|
+
discreteLegend,
|
8021
7269
|
tooltip_tooltip,
|
8022
7270
|
pointStyle_pointStyle,
|
8023
7271
|
pointStateDimensionHover,
|
@@ -8285,12 +7533,6 @@ const lightTheme = ()=>{
|
|
8285
7533
|
yAxis: linearAxis,
|
8286
7534
|
crosshairLine
|
8287
7535
|
},
|
8288
|
-
areaRange: {
|
8289
|
-
...baseConfig,
|
8290
|
-
xAxis: bandAxis,
|
8291
|
-
yAxis: linearAxis,
|
8292
|
-
crosshairLine
|
8293
|
-
},
|
8294
7536
|
scatter: {
|
8295
7537
|
...baseConfig,
|
8296
7538
|
xAxis: {
|
@@ -8623,12 +7865,6 @@ const darkTheme = ()=>{
|
|
8623
7865
|
yAxis: linearAxis,
|
8624
7866
|
crosshairLine: crosshairLine
|
8625
7867
|
},
|
8626
|
-
areaRange: {
|
8627
|
-
...baseConfig,
|
8628
|
-
xAxis: bandAxis,
|
8629
|
-
yAxis: linearAxis,
|
8630
|
-
crosshairLine: crosshairLine
|
8631
|
-
},
|
8632
7868
|
scatter: {
|
8633
7869
|
...baseConfig,
|
8634
7870
|
xAxis: {
|
@@ -8726,7 +7962,6 @@ const registerAll = ()=>{
|
|
8726
7962
|
registerBarPercent();
|
8727
7963
|
registerArea();
|
8728
7964
|
registerAreaPercent();
|
8729
|
-
registerAreaRange();
|
8730
7965
|
registerScatter();
|
8731
7966
|
registerDualAxis();
|
8732
7967
|
registerPie();
|
@@ -8761,7 +7996,6 @@ const zChartType = external_zod_namespaceObject.z["enum"]([
|
|
8761
7996
|
'barParallel',
|
8762
7997
|
'area',
|
8763
7998
|
'areaPercent',
|
8764
|
-
'areaRange',
|
8765
7999
|
'scatter',
|
8766
8000
|
'dualAxis',
|
8767
8001
|
'rose',
|
@@ -8859,6 +8093,12 @@ const zDualMeasure = external_zod_namespaceObject.z.object({
|
|
8859
8093
|
secondaryMeasures: external_zod_namespaceObject.z.array(zMeasure).or(zMeasure).optional()
|
8860
8094
|
});
|
8861
8095
|
const zDualMeasures = external_zod_namespaceObject.z.array(zDualMeasure);
|
8096
|
+
const zScatterMeasure = external_zod_namespaceObject.z.object({
|
8097
|
+
id: external_zod_namespaceObject.z.string(),
|
8098
|
+
xMeasures: external_zod_namespaceObject.z.array(zMeasure).or(zMeasure).optional(),
|
8099
|
+
yMeasures: external_zod_namespaceObject.z.array(zMeasure).or(zMeasure).optional()
|
8100
|
+
});
|
8101
|
+
const zScatterMeasures = external_zod_namespaceObject.z.array(zScatterMeasure);
|
8862
8102
|
const zFoldInfo = external_zod_namespaceObject.z.object({
|
8863
8103
|
foldMap: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.string().or(external_zod_namespaceObject.z.undefined())),
|
8864
8104
|
measureId: external_zod_namespaceObject.z.string(),
|
@@ -8866,10 +8106,14 @@ const zFoldInfo = external_zod_namespaceObject.z.object({
|
|
8866
8106
|
measureValue: external_zod_namespaceObject.z.string()
|
8867
8107
|
});
|
8868
8108
|
const zUnfoldInfo = external_zod_namespaceObject.z.object({
|
8109
|
+
encodingX: external_zod_namespaceObject.z.string(),
|
8110
|
+
encodingY: external_zod_namespaceObject.z.string(),
|
8111
|
+
encodingColor: external_zod_namespaceObject.z.string(),
|
8112
|
+
encodingColorId: external_zod_namespaceObject.z.string(),
|
8113
|
+
encodingDetail: external_zod_namespaceObject.z.string(),
|
8114
|
+
encodingAngle: external_zod_namespaceObject.z.string(),
|
8869
8115
|
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()
|
8116
|
+
colorIdMap: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.string())
|
8873
8117
|
});
|
8874
8118
|
const zDatasetReshapeInfo = external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.object({
|
8875
8119
|
id: external_zod_namespaceObject.z.string(),
|
@@ -8878,16 +8122,21 @@ const zDatasetReshapeInfo = external_zod_namespaceObject.z.array(external_zod_na
|
|
8878
8122
|
foldInfoList: external_zod_namespaceObject.z.array(zFoldInfo).nullish(),
|
8879
8123
|
unfoldInfo: zUnfoldInfo
|
8880
8124
|
}));
|
8881
|
-
const zEncoding = external_zod_namespaceObject.z.
|
8125
|
+
const zEncoding = external_zod_namespaceObject.z.object({
|
8882
8126
|
x: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8883
8127
|
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
8128
|
angle: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8887
8129
|
radius: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8130
|
+
detail: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8131
|
+
color: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8132
|
+
size: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8888
8133
|
tooltip: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8889
|
-
|
8890
|
-
|
8134
|
+
label: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8135
|
+
row: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8136
|
+
column: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8137
|
+
group: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish().describe("\u5DF2\u5F03\u7528, \u8BF7\u4F7F\u7528\u989C\u8272\u66FF\u4EE3")
|
8138
|
+
});
|
8139
|
+
const zEncodings = external_zod_namespaceObject.z.array(zEncoding);
|
8891
8140
|
const zXBandAxis = external_zod_namespaceObject.z.object({
|
8892
8141
|
visible: external_zod_namespaceObject.z.boolean().default(true).nullish(),
|
8893
8142
|
labelAutoHide: external_zod_namespaceObject.z.boolean().default(true).nullish(),
|
@@ -9150,7 +8399,6 @@ const zAreaConfig = external_zod_namespaceObject.z.object({
|
|
9150
8399
|
crosshairLine: zCrosshairLine.nullish()
|
9151
8400
|
});
|
9152
8401
|
const zAreaPercentConfig = zAreaConfig;
|
9153
|
-
const zAreaRangeConfig = zAreaConfig;
|
9154
8402
|
const zDualAxisConfig = external_zod_namespaceObject.z.object({
|
9155
8403
|
backgroundColor: zBackgroundColor.nullish(),
|
9156
8404
|
label: zLabel.nullish(),
|
@@ -9205,7 +8453,6 @@ const zConfig = external_zod_namespaceObject.z.object({
|
|
9205
8453
|
barPercent: zBarPercentConfig.nullish(),
|
9206
8454
|
area: zAreaConfig.nullish(),
|
9207
8455
|
areaPercent: zAreaPercentConfig.nullish(),
|
9208
|
-
areaRange: zAreaRangeConfig.nullish(),
|
9209
8456
|
scatter: zScatterConfig.nullish(),
|
9210
8457
|
dualAxis: zDualAxisConfig.nullish(),
|
9211
8458
|
rose: zRoseConfig.nullish(),
|
@@ -9644,6 +8891,7 @@ const zPivotTable = external_zod_namespaceObject.z.object({
|
|
9644
8891
|
const zLine = external_zod_namespaceObject.z.object({
|
9645
8892
|
chartType: external_zod_namespaceObject.z.literal('line'),
|
9646
8893
|
dataset: zDataset.nullish(),
|
8894
|
+
encoding: zEncoding.nullish(),
|
9647
8895
|
dimensions: zDimensions.nullish(),
|
9648
8896
|
measures: zMeasureTree.nullish(),
|
9649
8897
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9668,6 +8916,7 @@ const zLine = external_zod_namespaceObject.z.object({
|
|
9668
8916
|
const zColumn = external_zod_namespaceObject.z.object({
|
9669
8917
|
chartType: external_zod_namespaceObject.z.literal('column'),
|
9670
8918
|
dataset: zDataset.nullish(),
|
8919
|
+
encoding: zEncoding.nullish(),
|
9671
8920
|
dimensions: zDimensions.nullish(),
|
9672
8921
|
measures: zMeasureTree.nullish(),
|
9673
8922
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9690,6 +8939,7 @@ const zColumn = external_zod_namespaceObject.z.object({
|
|
9690
8939
|
const zColumnParallel = external_zod_namespaceObject.z.object({
|
9691
8940
|
chartType: external_zod_namespaceObject.z.literal('columnParallel'),
|
9692
8941
|
dataset: zDataset.nullish(),
|
8942
|
+
encoding: zEncoding.nullish(),
|
9693
8943
|
dimensions: zDimensions.nullish(),
|
9694
8944
|
measures: zMeasureTree.nullish(),
|
9695
8945
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9712,6 +8962,7 @@ const zColumnParallel = external_zod_namespaceObject.z.object({
|
|
9712
8962
|
const zColumnPercent = external_zod_namespaceObject.z.object({
|
9713
8963
|
chartType: external_zod_namespaceObject.z.literal('columnPercent'),
|
9714
8964
|
dataset: zDataset.nullish(),
|
8965
|
+
encoding: zEncoding.nullish(),
|
9715
8966
|
dimensions: zDimensions.nullish(),
|
9716
8967
|
measures: zMeasureTree.nullish(),
|
9717
8968
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9734,6 +8985,7 @@ const zColumnPercent = external_zod_namespaceObject.z.object({
|
|
9734
8985
|
const zBar = external_zod_namespaceObject.z.object({
|
9735
8986
|
chartType: external_zod_namespaceObject.z.literal('bar'),
|
9736
8987
|
dataset: zDataset.nullish(),
|
8988
|
+
encoding: zEncoding.nullish(),
|
9737
8989
|
dimensions: zDimensions.nullish(),
|
9738
8990
|
measures: zMeasureTree.nullish(),
|
9739
8991
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9756,6 +9008,7 @@ const zBar = external_zod_namespaceObject.z.object({
|
|
9756
9008
|
const zBarParallel = external_zod_namespaceObject.z.object({
|
9757
9009
|
chartType: external_zod_namespaceObject.z.literal('barParallel'),
|
9758
9010
|
dataset: zDataset.nullish(),
|
9011
|
+
encoding: zEncoding.nullish(),
|
9759
9012
|
dimensions: zDimensions.nullish(),
|
9760
9013
|
measures: zMeasureTree.nullish(),
|
9761
9014
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9778,6 +9031,7 @@ const zBarParallel = external_zod_namespaceObject.z.object({
|
|
9778
9031
|
const zBarPercent = external_zod_namespaceObject.z.object({
|
9779
9032
|
chartType: external_zod_namespaceObject.z.literal('barPercent'),
|
9780
9033
|
dataset: zDataset.nullish(),
|
9034
|
+
encoding: zEncoding.nullish(),
|
9781
9035
|
dimensions: zDimensions.nullish(),
|
9782
9036
|
measures: zMeasureTree.nullish(),
|
9783
9037
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9800,6 +9054,7 @@ const zBarPercent = external_zod_namespaceObject.z.object({
|
|
9800
9054
|
const zArea = external_zod_namespaceObject.z.object({
|
9801
9055
|
chartType: external_zod_namespaceObject.z.literal('area'),
|
9802
9056
|
dataset: zDataset.nullish(),
|
9057
|
+
encoding: zEncoding.nullish(),
|
9803
9058
|
dimensions: zDimensions.nullish(),
|
9804
9059
|
measures: zMeasureTree.nullish(),
|
9805
9060
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9823,6 +9078,7 @@ const zArea = external_zod_namespaceObject.z.object({
|
|
9823
9078
|
const zAreaPercent = external_zod_namespaceObject.z.object({
|
9824
9079
|
chartType: external_zod_namespaceObject.z.literal('areaPercent'),
|
9825
9080
|
dataset: zDataset.nullish(),
|
9081
|
+
encoding: zEncoding.nullish(),
|
9826
9082
|
dimensions: zDimensions.nullish(),
|
9827
9083
|
measures: zMeasureTree.nullish(),
|
9828
9084
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9843,31 +9099,13 @@ const zAreaPercent = external_zod_namespaceObject.z.object({
|
|
9843
9099
|
annotationArea: external_zod_namespaceObject.z.array(zAnnotationArea).or(zAnnotationArea).nullish(),
|
9844
9100
|
locale: zLocale.nullish()
|
9845
9101
|
});
|
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
9102
|
const zScatter = external_zod_namespaceObject.z.object({
|
9867
9103
|
chartType: external_zod_namespaceObject.z.literal('scatter'),
|
9868
9104
|
dataset: zDataset.nullish(),
|
9105
|
+
encoding: zEncoding.nullish(),
|
9869
9106
|
dimensions: zDimensions.nullish(),
|
9870
9107
|
measures: zMeasureTree.nullish(),
|
9108
|
+
scatterMeasures: zScatterMeasures.nullish(),
|
9871
9109
|
backgroundColor: zBackgroundColor.nullish(),
|
9872
9110
|
color: zColor.nullish(),
|
9873
9111
|
label: zLabel.nullish(),
|
@@ -9917,6 +9155,7 @@ const zDualAxis = external_zod_namespaceObject.z.object({
|
|
9917
9155
|
const zRose = external_zod_namespaceObject.z.object({
|
9918
9156
|
chartType: external_zod_namespaceObject.z.literal('rose'),
|
9919
9157
|
dataset: zDataset.nullish(),
|
9158
|
+
encoding: zEncoding.nullish(),
|
9920
9159
|
dimensions: zDimensions.nullish(),
|
9921
9160
|
measures: zMeasureTree.nullish(),
|
9922
9161
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9930,6 +9169,7 @@ const zRose = external_zod_namespaceObject.z.object({
|
|
9930
9169
|
const zRoseParallel = external_zod_namespaceObject.z.object({
|
9931
9170
|
chartType: external_zod_namespaceObject.z.literal('roseParallel'),
|
9932
9171
|
dataset: zDataset.nullish(),
|
9172
|
+
encoding: zEncoding.nullish(),
|
9933
9173
|
dimensions: zDimensions.nullish(),
|
9934
9174
|
measures: zMeasureTree.nullish(),
|
9935
9175
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9943,6 +9183,7 @@ const zRoseParallel = external_zod_namespaceObject.z.object({
|
|
9943
9183
|
const zPie = external_zod_namespaceObject.z.object({
|
9944
9184
|
chartType: external_zod_namespaceObject.z.literal('pie'),
|
9945
9185
|
dataset: zDataset.nullish(),
|
9186
|
+
encoding: zEncoding.nullish(),
|
9946
9187
|
dimensions: zDimensions.nullish(),
|
9947
9188
|
measures: zMeasureTree.nullish(),
|
9948
9189
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9956,6 +9197,7 @@ const zPie = external_zod_namespaceObject.z.object({
|
|
9956
9197
|
const zDonut = external_zod_namespaceObject.z.object({
|
9957
9198
|
chartType: external_zod_namespaceObject.z.literal('donut'),
|
9958
9199
|
dataset: zDataset.nullish(),
|
9200
|
+
encoding: zEncoding.nullish(),
|
9959
9201
|
dimensions: zDimensions.nullish(),
|
9960
9202
|
measures: zMeasureTree.nullish(),
|
9961
9203
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9969,6 +9211,7 @@ const zDonut = external_zod_namespaceObject.z.object({
|
|
9969
9211
|
const zRadar = external_zod_namespaceObject.z.object({
|
9970
9212
|
chartType: external_zod_namespaceObject.z.literal('radar'),
|
9971
9213
|
dataset: zDataset.nullish(),
|
9214
|
+
encoding: zEncoding.nullish(),
|
9972
9215
|
dimensions: zDimensions.nullish(),
|
9973
9216
|
measures: zMeasureTree.nullish(),
|
9974
9217
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9982,6 +9225,7 @@ const zRadar = external_zod_namespaceObject.z.object({
|
|
9982
9225
|
const zFunnel = external_zod_namespaceObject.z.object({
|
9983
9226
|
chartType: external_zod_namespaceObject.z.literal('funnel'),
|
9984
9227
|
dataset: zDataset.nullish(),
|
9228
|
+
encoding: zEncoding.nullish(),
|
9985
9229
|
dimensions: zDimensions.nullish(),
|
9986
9230
|
measures: zMeasureTree.nullish(),
|
9987
9231
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -10017,7 +9261,6 @@ const zVSeed = external_zod_namespaceObject.z.discriminatedUnion('chartType', [
|
|
10017
9261
|
zBarPercent,
|
10018
9262
|
zArea,
|
10019
9263
|
zAreaPercent,
|
10020
|
-
zAreaRange,
|
10021
9264
|
zScatter,
|
10022
9265
|
zDualAxis,
|
10023
9266
|
zPie,
|
@@ -10035,6 +9278,7 @@ const zAdvancedVSeed = external_zod_namespaceObject.z.object({
|
|
10035
9278
|
dimensions: zDimensionTree,
|
10036
9279
|
measures: zMeasureTree,
|
10037
9280
|
encoding: zEncoding,
|
9281
|
+
encodings: zEncodings,
|
10038
9282
|
config: zConfig,
|
10039
9283
|
analysis: zAnalysis,
|
10040
9284
|
theme: zTheme,
|
@@ -10043,21 +9287,28 @@ const zAdvancedVSeed = external_zod_namespaceObject.z.object({
|
|
10043
9287
|
annotation: zAnnotation,
|
10044
9288
|
locale: zLocale
|
10045
9289
|
});
|
9290
|
+
exports.AngleEncoding = __webpack_exports__.AngleEncoding;
|
10046
9291
|
exports.Builder = __webpack_exports__.Builder;
|
9292
|
+
exports.ColorEncoding = __webpack_exports__.ColorEncoding;
|
9293
|
+
exports.ColorIdEncoding = __webpack_exports__.ColorIdEncoding;
|
9294
|
+
exports.DetailEncoding = __webpack_exports__.DetailEncoding;
|
10047
9295
|
exports.FoldMeasureId = __webpack_exports__.FoldMeasureId;
|
10048
9296
|
exports.FoldMeasureName = __webpack_exports__.FoldMeasureName;
|
10049
9297
|
exports.FoldMeasureValue = __webpack_exports__.FoldMeasureValue;
|
10050
9298
|
exports.FoldPrimaryMeasureValue = __webpack_exports__.FoldPrimaryMeasureValue;
|
10051
9299
|
exports.FoldSecondaryMeasureValue = __webpack_exports__.FoldSecondaryMeasureValue;
|
9300
|
+
exports.FoldXMeasureValue = __webpack_exports__.FoldXMeasureValue;
|
9301
|
+
exports.FoldYMeasureValue = __webpack_exports__.FoldYMeasureValue;
|
9302
|
+
exports.MeasureName = __webpack_exports__.MeasureName;
|
10052
9303
|
exports.ORIGINAL_DATA = __webpack_exports__.ORIGINAL_DATA;
|
10053
9304
|
exports.Separator = __webpack_exports__.Separator;
|
10054
9305
|
exports.UnfoldDimensionGroup = __webpack_exports__.UnfoldDimensionGroup;
|
10055
9306
|
exports.UnfoldDimensionGroupId = __webpack_exports__.UnfoldDimensionGroupId;
|
9307
|
+
exports.XEncoding = __webpack_exports__.XEncoding;
|
9308
|
+
exports.YEncoding = __webpack_exports__.YEncoding;
|
10056
9309
|
exports.areaAdvancedPipeline = __webpack_exports__.areaAdvancedPipeline;
|
10057
9310
|
exports.areaPercentAdvancedPipeline = __webpack_exports__.areaPercentAdvancedPipeline;
|
10058
9311
|
exports.areaPercentSpecPipeline = __webpack_exports__.areaPercentSpecPipeline;
|
10059
|
-
exports.areaRangeAdvancedPipeline = __webpack_exports__.areaRangeAdvancedPipeline;
|
10060
|
-
exports.areaRangeSpecPipeline = __webpack_exports__.areaRangeSpecPipeline;
|
10061
9312
|
exports.areaSpecPipeline = __webpack_exports__.areaSpecPipeline;
|
10062
9313
|
exports.autoFormatter = __webpack_exports__.autoFormatter;
|
10063
9314
|
exports.autoNumFormatter = __webpack_exports__.autoNumFormatter;
|
@@ -10076,11 +9327,7 @@ exports.columnSpecPipeline = __webpack_exports__.columnSpecPipeline;
|
|
10076
9327
|
exports.createFormatter = __webpack_exports__.createFormatter;
|
10077
9328
|
exports.createNumFormatter = __webpack_exports__.createNumFormatter;
|
10078
9329
|
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;
|
9330
|
+
exports.dataReshapeByEncoding = __webpack_exports__.dataReshapeByEncoding;
|
10084
9331
|
exports.donutAdvancedPipeline = __webpack_exports__.donutAdvancedPipeline;
|
10085
9332
|
exports.donutSpecPipeline = __webpack_exports__.donutSpecPipeline;
|
10086
9333
|
exports.dualAxisAdvancedPipeline = __webpack_exports__.dualAxisAdvancedPipeline;
|
@@ -10128,7 +9375,6 @@ exports.radarSpecPipeline = __webpack_exports__.radarSpecPipeline;
|
|
10128
9375
|
exports.registerAll = __webpack_exports__.registerAll;
|
10129
9376
|
exports.registerArea = __webpack_exports__.registerArea;
|
10130
9377
|
exports.registerAreaPercent = __webpack_exports__.registerAreaPercent;
|
10131
|
-
exports.registerAreaRange = __webpack_exports__.registerAreaRange;
|
10132
9378
|
exports.registerBar = __webpack_exports__.registerBar;
|
10133
9379
|
exports.registerBarParallel = __webpack_exports__.registerBarParallel;
|
10134
9380
|
exports.registerBarPercent = __webpack_exports__.registerBarPercent;
|
@@ -10172,8 +9418,6 @@ exports.zArea = __webpack_exports__.zArea;
|
|
10172
9418
|
exports.zAreaConfig = __webpack_exports__.zAreaConfig;
|
10173
9419
|
exports.zAreaPercent = __webpack_exports__.zAreaPercent;
|
10174
9420
|
exports.zAreaPercentConfig = __webpack_exports__.zAreaPercentConfig;
|
10175
|
-
exports.zAreaRange = __webpack_exports__.zAreaRange;
|
10176
|
-
exports.zAreaRangeConfig = __webpack_exports__.zAreaRangeConfig;
|
10177
9421
|
exports.zAreaStyle = __webpack_exports__.zAreaStyle;
|
10178
9422
|
exports.zAxis = __webpack_exports__.zAxis;
|
10179
9423
|
exports.zBackgroundColor = __webpack_exports__.zBackgroundColor;
|
@@ -10213,6 +9457,7 @@ exports.zDualChartType = __webpack_exports__.zDualChartType;
|
|
10213
9457
|
exports.zDualMeasure = __webpack_exports__.zDualMeasure;
|
10214
9458
|
exports.zDualMeasures = __webpack_exports__.zDualMeasures;
|
10215
9459
|
exports.zEncoding = __webpack_exports__.zEncoding;
|
9460
|
+
exports.zEncodings = __webpack_exports__.zEncodings;
|
10216
9461
|
exports.zFoldInfo = __webpack_exports__.zFoldInfo;
|
10217
9462
|
exports.zFunnel = __webpack_exports__.zFunnel;
|
10218
9463
|
exports.zFunnelConfig = __webpack_exports__.zFunnelConfig;
|
@@ -10244,6 +9489,8 @@ exports.zRoseParallel = __webpack_exports__.zRoseParallel;
|
|
10244
9489
|
exports.zRoseParallelConfig = __webpack_exports__.zRoseParallelConfig;
|
10245
9490
|
exports.zScatter = __webpack_exports__.zScatter;
|
10246
9491
|
exports.zScatterConfig = __webpack_exports__.zScatterConfig;
|
9492
|
+
exports.zScatterMeasure = __webpack_exports__.zScatterMeasure;
|
9493
|
+
exports.zScatterMeasures = __webpack_exports__.zScatterMeasures;
|
10247
9494
|
exports.zSort = __webpack_exports__.zSort;
|
10248
9495
|
exports.zSortLegend = __webpack_exports__.zSortLegend;
|
10249
9496
|
exports.zStackCornerRadius = __webpack_exports__.zStackCornerRadius;
|
@@ -10258,21 +9505,28 @@ exports.zXLinearAxis = __webpack_exports__.zXLinearAxis;
|
|
10258
9505
|
exports.zYBandAxis = __webpack_exports__.zYBandAxis;
|
10259
9506
|
exports.zYLinearAxis = __webpack_exports__.zYLinearAxis;
|
10260
9507
|
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
9508
|
+
"AngleEncoding",
|
10261
9509
|
"Builder",
|
9510
|
+
"ColorEncoding",
|
9511
|
+
"ColorIdEncoding",
|
9512
|
+
"DetailEncoding",
|
10262
9513
|
"FoldMeasureId",
|
10263
9514
|
"FoldMeasureName",
|
10264
9515
|
"FoldMeasureValue",
|
10265
9516
|
"FoldPrimaryMeasureValue",
|
10266
9517
|
"FoldSecondaryMeasureValue",
|
9518
|
+
"FoldXMeasureValue",
|
9519
|
+
"FoldYMeasureValue",
|
9520
|
+
"MeasureName",
|
10267
9521
|
"ORIGINAL_DATA",
|
10268
9522
|
"Separator",
|
10269
9523
|
"UnfoldDimensionGroup",
|
10270
9524
|
"UnfoldDimensionGroupId",
|
9525
|
+
"XEncoding",
|
9526
|
+
"YEncoding",
|
10271
9527
|
"areaAdvancedPipeline",
|
10272
9528
|
"areaPercentAdvancedPipeline",
|
10273
9529
|
"areaPercentSpecPipeline",
|
10274
|
-
"areaRangeAdvancedPipeline",
|
10275
|
-
"areaRangeSpecPipeline",
|
10276
9530
|
"areaSpecPipeline",
|
10277
9531
|
"autoFormatter",
|
10278
9532
|
"autoNumFormatter",
|
@@ -10291,11 +9545,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
10291
9545
|
"createFormatter",
|
10292
9546
|
"createNumFormatter",
|
10293
9547
|
"darkTheme",
|
10294
|
-
"
|
10295
|
-
"dataReshapeFor1D1M",
|
10296
|
-
"dataReshapeFor1D2M",
|
10297
|
-
"dataReshapeFor2D1M",
|
10298
|
-
"dataReshapeFor2D1M0Name",
|
9548
|
+
"dataReshapeByEncoding",
|
10299
9549
|
"donutAdvancedPipeline",
|
10300
9550
|
"donutSpecPipeline",
|
10301
9551
|
"dualAxisAdvancedPipeline",
|
@@ -10343,7 +9593,6 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
10343
9593
|
"registerAll",
|
10344
9594
|
"registerArea",
|
10345
9595
|
"registerAreaPercent",
|
10346
|
-
"registerAreaRange",
|
10347
9596
|
"registerBar",
|
10348
9597
|
"registerBarParallel",
|
10349
9598
|
"registerBarPercent",
|
@@ -10387,8 +9636,6 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
10387
9636
|
"zAreaConfig",
|
10388
9637
|
"zAreaPercent",
|
10389
9638
|
"zAreaPercentConfig",
|
10390
|
-
"zAreaRange",
|
10391
|
-
"zAreaRangeConfig",
|
10392
9639
|
"zAreaStyle",
|
10393
9640
|
"zAxis",
|
10394
9641
|
"zBackgroundColor",
|
@@ -10428,6 +9675,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
10428
9675
|
"zDualMeasure",
|
10429
9676
|
"zDualMeasures",
|
10430
9677
|
"zEncoding",
|
9678
|
+
"zEncodings",
|
10431
9679
|
"zFoldInfo",
|
10432
9680
|
"zFunnel",
|
10433
9681
|
"zFunnelConfig",
|
@@ -10459,6 +9707,8 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
10459
9707
|
"zRoseParallelConfig",
|
10460
9708
|
"zScatter",
|
10461
9709
|
"zScatterConfig",
|
9710
|
+
"zScatterMeasure",
|
9711
|
+
"zScatterMeasures",
|
10462
9712
|
"zSort",
|
10463
9713
|
"zSortLegend",
|
10464
9714
|
"zStackCornerRadius",
|