@visactor/vseed 0.0.39 → 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 +1139 -1875
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1086 -1831
- 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 +1113 -1855
- 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,79 +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);
|
1552
|
+
const unfoldDimensions = (dataset, dimensions, encoding, options)=>{
|
1553
|
+
const { foldMeasureId, separator, colorItemAsId } = options;
|
1487
1554
|
const unfoldInfo = {
|
1488
|
-
|
1489
|
-
|
1555
|
+
encodingAngle: AngleEncoding,
|
1556
|
+
encodingX: XEncoding,
|
1557
|
+
encodingY: YEncoding,
|
1558
|
+
encodingDetail: DetailEncoding,
|
1559
|
+
encodingColor: ColorEncoding,
|
1560
|
+
encodingColorId: ColorIdEncoding,
|
1490
1561
|
colorItems: [],
|
1491
1562
|
colorIdMap: {}
|
1492
1563
|
};
|
1493
|
-
|
1494
|
-
|
1495
|
-
|
1496
|
-
|
1497
|
-
|
1498
|
-
|
1499
|
-
|
1500
|
-
|
1501
|
-
};
|
1502
|
-
const colorItems = [];
|
1503
|
-
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 = {};
|
1504
1572
|
for(let i = 0; i < dataset.length; i++){
|
1505
1573
|
const datum = dataset[i];
|
1506
|
-
|
1507
|
-
|
1508
|
-
|
1509
|
-
|
1510
|
-
|
1511
|
-
datum[
|
1512
|
-
datum[
|
1513
|
-
|
1514
|
-
|
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);
|
1515
1589
|
}
|
1516
|
-
unfoldInfo.colorItems =
|
1517
|
-
unfoldInfo.colorIdMap =
|
1590
|
+
unfoldInfo.colorItems = Array.from(colorItems);
|
1591
|
+
unfoldInfo.colorIdMap = colorIdMap;
|
1518
1592
|
return {
|
1519
1593
|
dataset,
|
1520
1594
|
unfoldInfo
|
1521
1595
|
};
|
1522
1596
|
};
|
1523
|
-
const
|
1524
|
-
|
1525
|
-
const unfoldInfo = {
|
1526
|
-
groupName: unfoldGroupName,
|
1527
|
-
groupId: unfoldGroupId,
|
1528
|
-
colorItems: [],
|
1529
|
-
colorIdMap: {}
|
1530
|
-
};
|
1531
|
-
if (0 === measures.length) return {
|
1532
|
-
dataset,
|
1533
|
-
unfoldInfo: {
|
1534
|
-
groupName: unfoldGroupName,
|
1535
|
-
groupId: unfoldGroupId,
|
1536
|
-
colorItems: [],
|
1537
|
-
colorIdMap: {}
|
1538
|
-
}
|
1539
|
-
};
|
1540
|
-
const colorItems = [];
|
1541
|
-
const colorMap = {};
|
1542
|
-
for(let i = 0; i < dataset.length; i++){
|
1543
|
-
const datum = dataset[i];
|
1544
|
-
const colorName = measureName;
|
1545
|
-
const colorId = measureName;
|
1546
|
-
datum[unfoldGroupName] = colorName;
|
1547
|
-
datum[unfoldGroupId] = colorId;
|
1548
|
-
colorItems.push(colorId);
|
1549
|
-
colorMap[colorId] = colorName;
|
1550
|
-
}
|
1551
|
-
unfoldInfo.colorItems = (0, external_remeda_namespaceObject.unique)(colorItems);
|
1552
|
-
unfoldInfo.colorIdMap = colorMap;
|
1553
|
-
return {
|
1554
|
-
dataset,
|
1555
|
-
unfoldInfo
|
1556
|
-
};
|
1597
|
+
const applyEncoding = (encoding, dimensions, datum, separator)=>{
|
1598
|
+
if (encoding && dimensions.length) datum[encoding] = dimensions.map((dim)=>String(datum[dim.id])).join(separator);
|
1557
1599
|
};
|
1558
1600
|
const emptyReshapeResult = {
|
1559
1601
|
dataset: [],
|
@@ -1564,69 +1606,47 @@ const emptyReshapeResult = {
|
|
1564
1606
|
measureValue: ''
|
1565
1607
|
},
|
1566
1608
|
unfoldInfo: {
|
1567
|
-
|
1568
|
-
|
1609
|
+
encodingAngle: AngleEncoding,
|
1610
|
+
encodingX: XEncoding,
|
1611
|
+
encodingY: YEncoding,
|
1612
|
+
encodingDetail: DetailEncoding,
|
1613
|
+
encodingColor: ColorEncoding,
|
1614
|
+
encodingColorId: ColorIdEncoding,
|
1569
1615
|
colorItems: [],
|
1570
1616
|
colorIdMap: {}
|
1571
1617
|
}
|
1572
1618
|
};
|
1573
|
-
const
|
1574
|
-
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 || {};
|
1575
1621
|
if (0 === dimensions.length && 0 === measures.length) return emptyReshapeResult;
|
1576
1622
|
const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures, foldMeasureId, foldMeasureName, foldMeasureValue);
|
1577
|
-
|
1578
|
-
|
1579
|
-
|
1580
|
-
|
1581
|
-
|
1582
|
-
|
1583
|
-
|
1584
|
-
|
1585
|
-
|
1586
|
-
|
1587
|
-
unfoldInfo
|
1588
|
-
};
|
1589
|
-
}
|
1590
|
-
{
|
1591
|
-
const onlyOneMeasure = 1 === measures.length;
|
1592
|
-
const onlyOneDimension = 1 === dimensions.length;
|
1593
|
-
const dims = [
|
1594
|
-
...dimensions
|
1595
|
-
];
|
1596
|
-
if (!onlyOneMeasure || onlyOneDimension) dims.push({
|
1597
|
-
id: foldMeasureName,
|
1598
|
-
alias: i18n`指标名称`,
|
1599
|
-
location: 'dimension'
|
1600
|
-
});
|
1601
|
-
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dims, [
|
1602
|
-
{
|
1603
|
-
id: foldMeasureValue,
|
1604
|
-
alias: i18n`指标值`
|
1605
|
-
}
|
1606
|
-
], 1, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
|
1607
|
-
return {
|
1608
|
-
dataset: finalDataset,
|
1609
|
-
foldInfo,
|
1610
|
-
unfoldInfo
|
1611
|
-
};
|
1612
|
-
}
|
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
|
+
};
|
1613
1633
|
};
|
1614
|
-
const
|
1634
|
+
const reshapeWithEncoding = (advancedVSeed, context)=>{
|
1615
1635
|
const result = {
|
1616
1636
|
...advancedVSeed
|
1617
1637
|
};
|
1618
1638
|
const { vseed } = context;
|
1619
|
-
const { dataset } = vseed;
|
1620
|
-
const { dimensions, measures } = advancedVSeed;
|
1621
|
-
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;
|
1622
1642
|
if (0 === measures.length) throw new Error('measures can not be empty');
|
1623
|
-
const { dataset: newDatasets, foldInfo, unfoldInfo } =
|
1643
|
+
const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, measures, encoding);
|
1624
1644
|
return {
|
1625
1645
|
...result,
|
1626
1646
|
dataset: newDatasets,
|
1627
1647
|
datasetReshapeInfo: [
|
1628
1648
|
{
|
1629
|
-
id:
|
1649
|
+
id: String(chartType),
|
1630
1650
|
index: 0,
|
1631
1651
|
foldInfo,
|
1632
1652
|
unfoldInfo
|
@@ -1636,31 +1656,27 @@ const reshapeTo2D1M0Name = (advancedVSeed, context)=>{
|
|
1636
1656
|
measures
|
1637
1657
|
};
|
1638
1658
|
};
|
1639
|
-
const
|
1659
|
+
const pivotReshapeWithEncoding = (advancedVSeed, context)=>{
|
1640
1660
|
const result = {
|
1641
1661
|
...advancedVSeed
|
1642
1662
|
};
|
1643
1663
|
const { vseed } = context;
|
1644
1664
|
const { dataset } = vseed;
|
1645
|
-
const { measures } = advancedVSeed;
|
1646
|
-
|
1647
|
-
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');
|
1648
1668
|
const measureGroups = [];
|
1649
1669
|
if (measures) measures.forEach((measure)=>{
|
1650
1670
|
if (measure.children && measure.children.length > 0) measureGroups.push(measure);
|
1651
1671
|
});
|
1652
|
-
const
|
1653
|
-
const newDatasets = [];
|
1672
|
+
const datasets = [];
|
1654
1673
|
const datasetReshapeInfo = [];
|
1655
1674
|
measureGroups.forEach((measureGroup, index)=>{
|
1656
1675
|
const measures = measureGroup.children;
|
1657
1676
|
if (!measures) return;
|
1658
1677
|
const groupId = measureGroup.id;
|
1659
|
-
const { dataset: newSubDataset, foldInfo, unfoldInfo } =
|
1660
|
-
|
1661
|
-
foldMeasureName: FoldMeasureName,
|
1662
|
-
foldMeasureValue: FoldMeasureValue + groupId,
|
1663
|
-
unfoldDimensionGroup: UnfoldDimensionGroup
|
1678
|
+
const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, measures, encoding, {
|
1679
|
+
foldMeasureValue: `${FoldMeasureValue}${groupId}`
|
1664
1680
|
});
|
1665
1681
|
const reshapeInfo = {
|
1666
1682
|
id: groupId,
|
@@ -1668,93 +1684,60 @@ const pivotReshapeTo2D1M0Name = (advancedVSeed, context)=>{
|
|
1668
1684
|
foldInfo,
|
1669
1685
|
unfoldInfo
|
1670
1686
|
};
|
1671
|
-
|
1687
|
+
datasets.push(newSubDataset);
|
1672
1688
|
datasetReshapeInfo.push(reshapeInfo);
|
1673
1689
|
});
|
1674
1690
|
return {
|
1675
1691
|
...result,
|
1676
|
-
dataset:
|
1692
|
+
dataset: datasets,
|
1677
1693
|
datasetReshapeInfo: datasetReshapeInfo
|
1678
1694
|
};
|
1679
1695
|
};
|
1680
|
-
const encodingXY = (advancedVSeed)=>{
|
1681
|
-
const result = {
|
1682
|
-
...advancedVSeed
|
1683
|
-
};
|
1684
|
-
const { datasetReshapeInfo, dimensions } = advancedVSeed;
|
1685
|
-
if (!datasetReshapeInfo || !dimensions) return result;
|
1686
|
-
const xDimension = dimensions.find((item)=>'rowDimension' !== item.location && 'columnDimension' !== item.location) || dimensions[0];
|
1687
|
-
const isZeroDimension = 0 === dimensions.length;
|
1688
|
-
const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
|
1689
|
-
const { foldInfo, unfoldInfo } = cur;
|
1690
|
-
const x = [
|
1691
|
-
isZeroDimension ? foldInfo.measureName : xDimension?.id
|
1692
|
-
];
|
1693
|
-
const y = [
|
1694
|
-
foldInfo.measureValue
|
1695
|
-
];
|
1696
|
-
const group = [
|
1697
|
-
unfoldInfo.groupId
|
1698
|
-
];
|
1699
|
-
const color = [
|
1700
|
-
foldInfo.measureName
|
1701
|
-
];
|
1702
|
-
return [
|
1703
|
-
...prev,
|
1704
|
-
{
|
1705
|
-
x,
|
1706
|
-
y,
|
1707
|
-
group,
|
1708
|
-
color
|
1709
|
-
}
|
1710
|
-
];
|
1711
|
-
}, []);
|
1712
|
-
return {
|
1713
|
-
...result,
|
1714
|
-
encoding
|
1715
|
-
};
|
1716
|
-
};
|
1717
1696
|
const sortXBandAxis = (advancedVSeed, context)=>{
|
1718
1697
|
const result = {
|
1719
1698
|
...advancedVSeed
|
1720
1699
|
};
|
1721
1700
|
const { vseed } = context;
|
1722
|
-
const { sort: sortAxis
|
1723
|
-
const {
|
1724
|
-
const
|
1701
|
+
const { sort: sortAxis } = vseed;
|
1702
|
+
const { datasetReshapeInfo, dataset } = advancedVSeed;
|
1703
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
1704
|
+
const xField = unfoldInfo.encodingX;
|
1725
1705
|
if (!sortAxis || !xField) return advancedVSeed;
|
1726
1706
|
if (!result.analysis) result.analysis = {};
|
1727
1707
|
if (!result.analysis.orderMapping) result.analysis.orderMapping = {};
|
1728
|
-
const axisOrderResult = calcOrder(sortAxis, xField, dataset);
|
1708
|
+
const axisOrderResult = calcOrder(sortAxis, xField, dataset.flat(2));
|
1729
1709
|
result.analysis.orderMapping[xField] = axisOrderResult;
|
1730
1710
|
return result;
|
1731
1711
|
};
|
1732
|
-
const
|
1733
|
-
|
1734
|
-
|
1735
|
-
|
1736
|
-
const
|
1737
|
-
|
1738
|
-
|
1739
|
-
|
1740
|
-
|
1741
|
-
|
1742
|
-
|
1743
|
-
|
1744
|
-
|
1745
|
-
|
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]));
|
1746
1729
|
};
|
1747
|
-
const
|
1730
|
+
const sortLegend_sortLegend = (advancedVSeed, context)=>{
|
1748
1731
|
const result = {
|
1749
1732
|
...advancedVSeed
|
1750
1733
|
};
|
1751
1734
|
const { vseed } = context;
|
1752
1735
|
const { sortLegend } = vseed;
|
1753
|
-
const { datasetReshapeInfo } = advancedVSeed;
|
1754
|
-
const
|
1736
|
+
const { datasetReshapeInfo, dataset } = advancedVSeed;
|
1737
|
+
const colorId = datasetReshapeInfo?.[0]?.unfoldInfo?.encodingColorId;
|
1755
1738
|
const colorIdMap = datasetReshapeInfo?.[0]?.unfoldInfo?.colorIdMap;
|
1756
1739
|
const colorItems = datasetReshapeInfo?.[0]?.unfoldInfo?.colorItems;
|
1757
|
-
if (!sortLegend || !
|
1740
|
+
if (!sortLegend || !colorId || !colorIdMap || !colorItems) return advancedVSeed;
|
1758
1741
|
if (!result.analysis) result.analysis = {};
|
1759
1742
|
if (!result.analysis.orderMapping) result.analysis.orderMapping = {};
|
1760
1743
|
if (sortLegend.customOrder) {
|
@@ -1763,15 +1746,14 @@ const sort_sortLegend = (advancedVSeed, context)=>{
|
|
1763
1746
|
return pre;
|
1764
1747
|
}, {});
|
1765
1748
|
const orderRes = sortLegend.customOrder.map((itemNameOrId)=>nameMap[itemNameOrId] ? nameMap[itemNameOrId] : itemNameOrId);
|
1766
|
-
result.analysis.orderMapping[
|
1749
|
+
result.analysis.orderMapping[colorId] = orderRes;
|
1767
1750
|
return result;
|
1768
1751
|
}
|
1769
|
-
const
|
1770
|
-
|
1771
|
-
result.analysis.orderMapping[groupField] = orderRes;
|
1752
|
+
const orderRes = sortLegend_calcOrder(sortLegend, colorId, dataset?.flat(2) || []);
|
1753
|
+
result.analysis.orderMapping[colorId] = orderRes;
|
1772
1754
|
return result;
|
1773
1755
|
};
|
1774
|
-
const
|
1756
|
+
const sortLegend_calcOrder = (sortConfig, id, dataset)=>{
|
1775
1757
|
if (sortConfig.customOrder) return sortConfig.customOrder;
|
1776
1758
|
const order = sortConfig.order || 'asc';
|
1777
1759
|
const orderBy = sortConfig.orderBy;
|
@@ -1903,14 +1885,14 @@ const lineAdvancedPipeline = [
|
|
1903
1885
|
initAdvancedVSeed_initAdvancedVSeed,
|
1904
1886
|
autoMeasures_autoMeasures,
|
1905
1887
|
autoDimensions_autoDimensions,
|
1888
|
+
encodingForColumn,
|
1906
1889
|
pivotAdapter([
|
1907
|
-
|
1890
|
+
reshapeWithEncoding
|
1908
1891
|
], [
|
1909
|
-
|
1892
|
+
pivotReshapeWithEncoding
|
1910
1893
|
]),
|
1911
|
-
encodingXY,
|
1912
1894
|
sortXBandAxis,
|
1913
|
-
|
1895
|
+
sortLegend_sortLegend,
|
1914
1896
|
lineConfig,
|
1915
1897
|
theme_theme,
|
1916
1898
|
markStyle_markStyle,
|
@@ -1921,13 +1903,13 @@ const initLine = (spec, context)=>{
|
|
1921
1903
|
...spec
|
1922
1904
|
};
|
1923
1905
|
const { advancedVSeed } = context;
|
1924
|
-
const {
|
1925
|
-
|
1906
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
1907
|
+
const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
|
1926
1908
|
result.type = 'line';
|
1927
1909
|
result.direction = 'vertical';
|
1928
|
-
result.xField =
|
1929
|
-
result.yField =
|
1930
|
-
result.seriesField =
|
1910
|
+
result.xField = unfoldInfo.encodingX;
|
1911
|
+
result.yField = foldInfo.measureValue;
|
1912
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
1931
1913
|
result.padding = 0;
|
1932
1914
|
result.region = [
|
1933
1915
|
{
|
@@ -2003,11 +1985,12 @@ const background_backgroundColor = (spec, context)=>{
|
|
2003
1985
|
};
|
2004
1986
|
const datasetXY = (spec, context)=>{
|
2005
1987
|
const { advancedVSeed, vseed } = context;
|
2006
|
-
const {
|
1988
|
+
const { analysis, datasetReshapeInfo } = advancedVSeed;
|
1989
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
2007
1990
|
const orderMapping = analysis?.orderMapping || {};
|
2008
|
-
const angle =
|
2009
|
-
const x =
|
2010
|
-
const
|
1991
|
+
const angle = unfoldInfo.encodingAngle;
|
1992
|
+
const x = unfoldInfo.encodingX;
|
1993
|
+
const colorId = unfoldInfo.encodingColorId;
|
2011
1994
|
const id = datasetReshapeInfo[0].id;
|
2012
1995
|
const fields = {};
|
2013
1996
|
if (angle) fields[angle] = {
|
@@ -2024,14 +2007,14 @@ const datasetXY = (spec, context)=>{
|
|
2024
2007
|
sortIndex: 0
|
2025
2008
|
};
|
2026
2009
|
}
|
2027
|
-
if (
|
2028
|
-
const order = orderMapping[
|
2029
|
-
if (order) fields[
|
2010
|
+
if (colorId) {
|
2011
|
+
const order = orderMapping[colorId];
|
2012
|
+
if (order) fields[colorId] = {
|
2030
2013
|
sortIndex: 0,
|
2031
2014
|
domain: order,
|
2032
2015
|
lockStatisticsByDomain: true
|
2033
2016
|
};
|
2034
|
-
else fields[
|
2017
|
+
else fields[colorId] = {
|
2035
2018
|
sortIndex: 0
|
2036
2019
|
};
|
2037
2020
|
}
|
@@ -2284,7 +2267,7 @@ const tooltip_tooltip = (spec, context)=>{
|
|
2284
2267
|
} } = baseConfig;
|
2285
2268
|
const { enable } = tooltip;
|
2286
2269
|
const { measureId, measureValue, measureName } = datasetReshapeInfo[0].foldInfo;
|
2287
|
-
const {
|
2270
|
+
const { encodingColor: colorName } = datasetReshapeInfo[0].unfoldInfo;
|
2288
2271
|
result.tooltip = {
|
2289
2272
|
visible: enable,
|
2290
2273
|
mark: {
|
@@ -2305,7 +2288,7 @@ const tooltip_tooltip = (spec, context)=>{
|
|
2305
2288
|
{
|
2306
2289
|
visible: true,
|
2307
2290
|
hasShape: true,
|
2308
|
-
key: (datum)=>datum && datum[measureName ||
|
2291
|
+
key: (datum)=>datum && datum[measureName || colorName] || '',
|
2309
2292
|
value: (datum)=>{
|
2310
2293
|
if (!datum) return '';
|
2311
2294
|
const value = datum[measureValue];
|
@@ -2327,7 +2310,7 @@ const tooltip_tooltip = (spec, context)=>{
|
|
2327
2310
|
content: [
|
2328
2311
|
{
|
2329
2312
|
visible: true,
|
2330
|
-
key: (datum)=>datum && datum[
|
2313
|
+
key: (datum)=>datum && datum[colorName] || '',
|
2331
2314
|
value: (datum)=>{
|
2332
2315
|
if (!datum) return '';
|
2333
2316
|
const value = datum[measureValue];
|
@@ -2665,7 +2648,8 @@ const pointStateDimensionHover = (spec)=>{
|
|
2665
2648
|
const pointStateHover = (spec, context)=>{
|
2666
2649
|
const point = spec.point || {};
|
2667
2650
|
const { advancedVSeed } = context;
|
2668
|
-
const {
|
2651
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
2652
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
2669
2653
|
const result = {
|
2670
2654
|
...spec,
|
2671
2655
|
point: {
|
@@ -2676,7 +2660,7 @@ const pointStateHover = (spec, context)=>{
|
|
2676
2660
|
scaleX: 1.4,
|
2677
2661
|
scaleY: 1.4,
|
2678
2662
|
stroke: (datum, context)=>{
|
2679
|
-
const field =
|
2663
|
+
const field = unfoldInfo.encodingColorId;
|
2680
2664
|
const color = context.seriesColor(datum[field]);
|
2681
2665
|
return color;
|
2682
2666
|
},
|
@@ -2690,7 +2674,8 @@ const pointStateHover = (spec, context)=>{
|
|
2690
2674
|
};
|
2691
2675
|
const lineStyle_lineStyle = (spec, context)=>{
|
2692
2676
|
const { advancedVSeed } = context;
|
2693
|
-
const { markStyle,
|
2677
|
+
const { markStyle, datasetReshapeInfo, dataset } = advancedVSeed;
|
2678
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
2694
2679
|
const { lineStyle } = markStyle;
|
2695
2680
|
if (!lineStyle) return spec;
|
2696
2681
|
const result = {
|
@@ -2699,8 +2684,8 @@ const lineStyle_lineStyle = (spec, context)=>{
|
|
2699
2684
|
const lineStyles = Array.isArray(lineStyle) ? lineStyle : [
|
2700
2685
|
lineStyle
|
2701
2686
|
];
|
2702
|
-
const
|
2703
|
-
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 ?? '']);
|
2704
2689
|
const customMap = lineStyles.reduce((result, style, index)=>{
|
2705
2690
|
const { lineColor, lineColorOpacity, lineSmooth, lineStyle, lineWidth = 2, lineVisible = true } = style;
|
2706
2691
|
const dashSegment = 2 * lineWidth;
|
@@ -2721,7 +2706,7 @@ const lineStyle_lineStyle = (spec, context)=>{
|
|
2721
2706
|
[`custom${index + 1}`]: {
|
2722
2707
|
level: index + 1,
|
2723
2708
|
filter: (datum)=>{
|
2724
|
-
const lineData = lineGroups[datum[
|
2709
|
+
const lineData = lineGroups[datum[colorId ?? '']];
|
2725
2710
|
for (const d of lineData)if (selector_selector(d, style.selector)) return true;
|
2726
2711
|
return false;
|
2727
2712
|
},
|
@@ -2816,7 +2801,8 @@ const annotationPoint_annotationPoint = (spec, context)=>{
|
|
2816
2801
|
};
|
2817
2802
|
const annotationVerticalLine_annotationVerticalLine = (spec, context)=>{
|
2818
2803
|
const { advancedVSeed } = context;
|
2819
|
-
const { annotation,
|
2804
|
+
const { annotation, datasetReshapeInfo } = advancedVSeed;
|
2805
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
2820
2806
|
if (!annotation || !annotation.annotationVerticalLine) return spec;
|
2821
2807
|
const { annotationVerticalLine } = annotation;
|
2822
2808
|
const annotationVerticalLineList = Array.isArray(annotationVerticalLine) ? annotationVerticalLine : [
|
@@ -2896,7 +2882,7 @@ const annotationVerticalLine_annotationVerticalLine = (spec, context)=>{
|
|
2896
2882
|
}
|
2897
2883
|
const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
|
2898
2884
|
return selectedData.map((datum)=>{
|
2899
|
-
const x =
|
2885
|
+
const x = unfoldInfo.encodingX;
|
2900
2886
|
if (!x) return {};
|
2901
2887
|
return generateOneMarkLine(datum[x]);
|
2902
2888
|
});
|
@@ -2913,7 +2899,8 @@ const annotationVerticalLine_annotationVerticalLine = (spec, context)=>{
|
|
2913
2899
|
};
|
2914
2900
|
const annotationHorizontalLine_annotationHorizontalLine = (spec, context)=>{
|
2915
2901
|
const { advancedVSeed } = context;
|
2916
|
-
const { annotation,
|
2902
|
+
const { annotation, datasetReshapeInfo } = advancedVSeed;
|
2903
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
2917
2904
|
if (!annotation || !annotation.annotationHorizontalLine) return spec;
|
2918
2905
|
const { annotationHorizontalLine } = annotation;
|
2919
2906
|
const annotationVerticalLineList = Array.isArray(annotationHorizontalLine) ? annotationHorizontalLine : [
|
@@ -2993,7 +2980,7 @@ const annotationHorizontalLine_annotationHorizontalLine = (spec, context)=>{
|
|
2993
2980
|
}
|
2994
2981
|
const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
|
2995
2982
|
return selectedData.map((datum)=>{
|
2996
|
-
const y =
|
2983
|
+
const y = unfoldInfo.encodingY;
|
2997
2984
|
if (!y) return {};
|
2998
2985
|
return generateOneMarkLine(datum[y]);
|
2999
2986
|
});
|
@@ -3274,13 +3261,10 @@ const pivotIndicators_pivotIndicators = (chartPipeline)=>(spec, context)=>{
|
|
3274
3261
|
...spec
|
3275
3262
|
};
|
3276
3263
|
const { advancedVSeed } = context;
|
3277
|
-
const { measures, datasetReshapeInfo,
|
3264
|
+
const { measures, datasetReshapeInfo, dataset } = advancedVSeed;
|
3278
3265
|
const colorItems = (0, external_remeda_namespaceObject.unique)(datasetReshapeInfo.flatMap((d)=>d.unfoldInfo.colorItems));
|
3279
3266
|
const indicators = datasetReshapeInfo.map((reshapeInfo, index)=>{
|
3280
3267
|
const measure = measures?.find((d)=>d.id === reshapeInfo.id);
|
3281
|
-
const newEncoding = [
|
3282
|
-
encoding[index]
|
3283
|
-
];
|
3284
3268
|
const newDataset = dataset[index];
|
3285
3269
|
const newDatasetReshapeInfo = [
|
3286
3270
|
{
|
@@ -3296,8 +3280,7 @@ const pivotIndicators_pivotIndicators = (chartPipeline)=>(spec, context)=>{
|
|
3296
3280
|
advancedVSeed: {
|
3297
3281
|
...advancedVSeed,
|
3298
3282
|
datasetReshapeInfo: newDatasetReshapeInfo,
|
3299
|
-
dataset: newDataset
|
3300
|
-
encoding: newEncoding
|
3283
|
+
dataset: newDataset
|
3301
3284
|
}
|
3302
3285
|
};
|
3303
3286
|
const chartSpec = execPipeline(chartPipeline, newContext, {});
|
@@ -3483,7 +3466,7 @@ const pivotDiscreteLegend = (spec, context)=>{
|
|
3483
3466
|
}
|
3484
3467
|
},
|
3485
3468
|
label: {
|
3486
|
-
formatMethod: (value)=>colorIdMap[
|
3469
|
+
formatMethod: (value)=>colorIdMap[value] ?? value,
|
3487
3470
|
style: {
|
3488
3471
|
fontSize: labelFontSize,
|
3489
3472
|
fill: labelFontColor,
|
@@ -3566,151 +3549,18 @@ const registerLine = ()=>{
|
|
3566
3549
|
Builder._advancedPipelineMap.line = lineAdvancedPipeline;
|
3567
3550
|
Builder._specPipelineMap.line = lineSpecPipeline;
|
3568
3551
|
};
|
3569
|
-
const dataReshapeFor2D1M_emptyReshapeResult = {
|
3570
|
-
dataset: [],
|
3571
|
-
foldInfo: {
|
3572
|
-
foldMap: {},
|
3573
|
-
measureId: '',
|
3574
|
-
measureName: '',
|
3575
|
-
measureValue: ''
|
3576
|
-
},
|
3577
|
-
unfoldInfo: {
|
3578
|
-
groupName: '',
|
3579
|
-
groupId: '',
|
3580
|
-
colorItems: [],
|
3581
|
-
colorIdMap: {}
|
3582
|
-
}
|
3583
|
-
};
|
3584
|
-
const dataReshapeFor2D1M = (dataset, dimensions, measures, options)=>{
|
3585
|
-
const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue, unfoldDimensionGroup = UnfoldDimensionGroup, unfoldDimensionGroupId = UnfoldDimensionGroupId } = options || {};
|
3586
|
-
if (0 === dimensions.length && 0 === measures.length) return dataReshapeFor2D1M_emptyReshapeResult;
|
3587
|
-
const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures, foldMeasureId, foldMeasureName, foldMeasureValue);
|
3588
|
-
if (0 === dimensions.length) {
|
3589
|
-
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, [
|
3590
|
-
{
|
3591
|
-
id: foldMeasureId,
|
3592
|
-
alias: i18n`指标Id`,
|
3593
|
-
location: 'dimension'
|
3594
|
-
},
|
3595
|
-
{
|
3596
|
-
id: foldMeasureName,
|
3597
|
-
alias: i18n`指标名称`,
|
3598
|
-
location: 'dimension'
|
3599
|
-
}
|
3600
|
-
], [
|
3601
|
-
{
|
3602
|
-
id: foldMeasureValue,
|
3603
|
-
alias: i18n`指标值`
|
3604
|
-
}
|
3605
|
-
], 1, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
|
3606
|
-
return {
|
3607
|
-
dataset: finalDataset,
|
3608
|
-
foldInfo,
|
3609
|
-
unfoldInfo
|
3610
|
-
};
|
3611
|
-
}
|
3612
|
-
{
|
3613
|
-
const onlyOneMeasure = 1 === measures.length;
|
3614
|
-
const onlyOneDimension = 1 === dimensions.length;
|
3615
|
-
const dims = [
|
3616
|
-
...dimensions
|
3617
|
-
];
|
3618
|
-
if (!onlyOneMeasure || onlyOneDimension) dims.push({
|
3619
|
-
id: foldMeasureName,
|
3620
|
-
alias: i18n`指标名称`,
|
3621
|
-
location: 'dimension'
|
3622
|
-
});
|
3623
|
-
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dims, [
|
3624
|
-
{
|
3625
|
-
id: foldMeasureValue,
|
3626
|
-
alias: i18n`指标值`
|
3627
|
-
}
|
3628
|
-
], 1, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
|
3629
|
-
return {
|
3630
|
-
dataset: finalDataset,
|
3631
|
-
foldInfo,
|
3632
|
-
unfoldInfo
|
3633
|
-
};
|
3634
|
-
}
|
3635
|
-
};
|
3636
|
-
const reshapeTo2D1M = (advancedVSeed, context)=>{
|
3637
|
-
const result = {
|
3638
|
-
...advancedVSeed
|
3639
|
-
};
|
3640
|
-
const { vseed } = context;
|
3641
|
-
const { dataset } = vseed;
|
3642
|
-
const { dimensions, measures } = advancedVSeed;
|
3643
|
-
if (!measures || !dimensions || !dataset) return result;
|
3644
|
-
if (0 === measures.length) throw new Error('measures can not be empty');
|
3645
|
-
const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor2D1M(dataset, dimensions, measures);
|
3646
|
-
return {
|
3647
|
-
...result,
|
3648
|
-
dataset: newDatasets,
|
3649
|
-
datasetReshapeInfo: [
|
3650
|
-
{
|
3651
|
-
id: '2D1M',
|
3652
|
-
index: 0,
|
3653
|
-
foldInfo,
|
3654
|
-
unfoldInfo
|
3655
|
-
}
|
3656
|
-
],
|
3657
|
-
dimensions,
|
3658
|
-
measures
|
3659
|
-
};
|
3660
|
-
};
|
3661
|
-
const pivotReshapeTo2D1M = (advancedVSeed, context)=>{
|
3662
|
-
const result = {
|
3663
|
-
...advancedVSeed
|
3664
|
-
};
|
3665
|
-
const { vseed } = context;
|
3666
|
-
const { dataset } = vseed;
|
3667
|
-
const { measures } = advancedVSeed;
|
3668
|
-
const dimensions = advancedVSeed.dimensions;
|
3669
|
-
if (!measures || !dimensions) return result;
|
3670
|
-
const measureGroups = [];
|
3671
|
-
if (measures) measures.forEach((measure)=>{
|
3672
|
-
if (measure.children && measure.children.length > 0) measureGroups.push(measure);
|
3673
|
-
});
|
3674
|
-
const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
|
3675
|
-
const newDatasets = [];
|
3676
|
-
const datasetReshapeInfo = [];
|
3677
|
-
measureGroups.forEach((measureGroup, index)=>{
|
3678
|
-
const measures = measureGroup.children;
|
3679
|
-
if (!measures) return;
|
3680
|
-
const groupId = measureGroup.id;
|
3681
|
-
const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeFor2D1M(dataset, commonDimensions, measures, {
|
3682
|
-
foldMeasureId: FoldMeasureId,
|
3683
|
-
foldMeasureName: FoldMeasureName,
|
3684
|
-
foldMeasureValue: FoldMeasureValue + groupId,
|
3685
|
-
unfoldDimensionGroup: UnfoldDimensionGroup
|
3686
|
-
});
|
3687
|
-
const reshapeInfo = {
|
3688
|
-
id: groupId,
|
3689
|
-
index,
|
3690
|
-
foldInfo,
|
3691
|
-
unfoldInfo
|
3692
|
-
};
|
3693
|
-
newDatasets.push(newSubDataset);
|
3694
|
-
datasetReshapeInfo.push(reshapeInfo);
|
3695
|
-
});
|
3696
|
-
return {
|
3697
|
-
...result,
|
3698
|
-
dataset: newDatasets,
|
3699
|
-
datasetReshapeInfo: datasetReshapeInfo
|
3700
|
-
};
|
3701
|
-
};
|
3702
3552
|
const columnAdvancedPipeline = [
|
3703
3553
|
initAdvancedVSeed_initAdvancedVSeed,
|
3704
3554
|
autoMeasures_autoMeasures,
|
3705
3555
|
autoDimensions_autoDimensions,
|
3556
|
+
encodingForColumn,
|
3706
3557
|
pivotAdapter([
|
3707
|
-
|
3558
|
+
reshapeWithEncoding
|
3708
3559
|
], [
|
3709
|
-
|
3560
|
+
pivotReshapeWithEncoding
|
3710
3561
|
]),
|
3711
|
-
encodingXY,
|
3712
3562
|
sortXBandAxis,
|
3713
|
-
|
3563
|
+
sortLegend_sortLegend,
|
3714
3564
|
columnConfig,
|
3715
3565
|
theme_theme,
|
3716
3566
|
markStyle_markStyle,
|
@@ -3721,13 +3571,13 @@ const initColumn = (spec, context)=>{
|
|
3721
3571
|
...spec
|
3722
3572
|
};
|
3723
3573
|
const { advancedVSeed } = context;
|
3724
|
-
const {
|
3725
|
-
|
3574
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
3575
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
3726
3576
|
result.type = 'bar';
|
3727
3577
|
result.direction = 'vertical';
|
3728
|
-
result.xField =
|
3729
|
-
result.yField =
|
3730
|
-
result.seriesField =
|
3578
|
+
result.xField = unfoldInfo.encodingX;
|
3579
|
+
result.yField = foldInfo.measureValue;
|
3580
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
3731
3581
|
result.padding = 0;
|
3732
3582
|
result.region = [
|
3733
3583
|
{
|
@@ -4047,14 +3897,14 @@ const columnParallelAdvancedPipeline = [
|
|
4047
3897
|
initAdvancedVSeed_initAdvancedVSeed,
|
4048
3898
|
autoMeasures_autoMeasures,
|
4049
3899
|
autoDimensions_autoDimensions,
|
3900
|
+
encodingForColumn,
|
4050
3901
|
pivotAdapter([
|
4051
|
-
|
3902
|
+
reshapeWithEncoding
|
4052
3903
|
], [
|
4053
|
-
|
3904
|
+
pivotReshapeWithEncoding
|
4054
3905
|
]),
|
4055
|
-
encodingXY,
|
4056
3906
|
sortXBandAxis,
|
4057
|
-
|
3907
|
+
sortLegend_sortLegend,
|
4058
3908
|
columnParallelConfig,
|
4059
3909
|
theme_theme,
|
4060
3910
|
markStyle_markStyle,
|
@@ -4065,17 +3915,19 @@ const initColumnParallel = (spec, context)=>{
|
|
4065
3915
|
...spec
|
4066
3916
|
};
|
4067
3917
|
const { advancedVSeed } = context;
|
4068
|
-
const {
|
4069
|
-
const { unfoldInfo } = datasetReshapeInfo[0];
|
4070
|
-
|
3918
|
+
const { datasetReshapeInfo, dimensions } = advancedVSeed;
|
3919
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
3920
|
+
const sameDimensionsMode = dimensions.length > 1 && dimensions.every((dim)=>dim.id === dimensions[0].id);
|
4071
3921
|
result.type = 'bar';
|
4072
3922
|
result.direction = 'vertical';
|
4073
|
-
result.xField = [
|
4074
|
-
|
4075
|
-
|
3923
|
+
result.xField = sameDimensionsMode ? [
|
3924
|
+
unfoldInfo.encodingX
|
3925
|
+
] : [
|
3926
|
+
unfoldInfo.encodingX,
|
3927
|
+
unfoldInfo.encodingDetail
|
4076
3928
|
];
|
4077
|
-
result.yField =
|
4078
|
-
result.seriesField =
|
3929
|
+
result.yField = foldInfo.measureValue;
|
3930
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
4079
3931
|
result.padding = 0;
|
4080
3932
|
result.region = [
|
4081
3933
|
{
|
@@ -4142,14 +3994,14 @@ const columnPercentAdvancedPipeline = [
|
|
4142
3994
|
initAdvancedVSeed_initAdvancedVSeed,
|
4143
3995
|
autoMeasures_autoMeasures,
|
4144
3996
|
autoDimensions_autoDimensions,
|
3997
|
+
encodingForColumn,
|
4145
3998
|
pivotAdapter([
|
4146
|
-
|
3999
|
+
reshapeWithEncoding
|
4147
4000
|
], [
|
4148
|
-
|
4001
|
+
pivotReshapeWithEncoding
|
4149
4002
|
]),
|
4150
|
-
encodingXY,
|
4151
4003
|
sortXBandAxis,
|
4152
|
-
|
4004
|
+
sortLegend_sortLegend,
|
4153
4005
|
columnPercentConfig,
|
4154
4006
|
theme_theme,
|
4155
4007
|
markStyle_markStyle,
|
@@ -4219,55 +4071,70 @@ const registerColumnPercent = ()=>{
|
|
4219
4071
|
Builder._advancedPipelineMap.columnPercent = columnPercentAdvancedPipeline;
|
4220
4072
|
Builder._specPipelineMap.columnPercent = columnPercentSpecPipeline;
|
4221
4073
|
};
|
4222
|
-
const
|
4223
|
-
const
|
4224
|
-
|
4225
|
-
|
4226
|
-
const
|
4227
|
-
if (
|
4228
|
-
|
4229
|
-
|
4230
|
-
|
4231
|
-
const
|
4232
|
-
|
4233
|
-
|
4234
|
-
];
|
4235
|
-
const x = [
|
4236
|
-
foldInfo.measureValue
|
4237
|
-
];
|
4238
|
-
const group = [
|
4239
|
-
unfoldInfo.groupId
|
4240
|
-
];
|
4241
|
-
const color = [
|
4242
|
-
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
|
4243
4086
|
];
|
4244
|
-
return
|
4245
|
-
...
|
4246
|
-
{
|
4247
|
-
|
4248
|
-
|
4249
|
-
group,
|
4250
|
-
color
|
4087
|
+
return {
|
4088
|
+
...advancedVSeed,
|
4089
|
+
encoding: {
|
4090
|
+
...encoding,
|
4091
|
+
detail: mergedDetail
|
4251
4092
|
}
|
4252
|
-
|
4253
|
-
}
|
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
|
+
};
|
4254
4105
|
return {
|
4255
|
-
...
|
4256
|
-
encoding
|
4106
|
+
...advancedVSeed,
|
4107
|
+
encoding: mergedEncoding
|
4108
|
+
};
|
4109
|
+
};
|
4110
|
+
const sortYBandAxis = (advancedVSeed, context)=>{
|
4111
|
+
const result = {
|
4112
|
+
...advancedVSeed
|
4257
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;
|
4258
4125
|
};
|
4259
4126
|
const barAdvancedPipeline = [
|
4260
4127
|
initAdvancedVSeed_initAdvancedVSeed,
|
4261
4128
|
autoMeasures_autoMeasures,
|
4262
4129
|
autoDimensions_autoDimensions,
|
4130
|
+
encodingForBar,
|
4263
4131
|
pivotAdapter([
|
4264
|
-
|
4132
|
+
reshapeWithEncoding
|
4265
4133
|
], [
|
4266
|
-
|
4134
|
+
pivotReshapeWithEncoding
|
4267
4135
|
]),
|
4268
|
-
encodingYX,
|
4269
4136
|
sortYBandAxis,
|
4270
|
-
|
4137
|
+
sortLegend_sortLegend,
|
4271
4138
|
barConfig,
|
4272
4139
|
theme_theme,
|
4273
4140
|
markStyle_markStyle,
|
@@ -4278,13 +4145,13 @@ const initBar = (spec, context)=>{
|
|
4278
4145
|
...spec
|
4279
4146
|
};
|
4280
4147
|
const { advancedVSeed } = context;
|
4281
|
-
const {
|
4282
|
-
|
4148
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
4149
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
4283
4150
|
result.type = 'bar';
|
4284
4151
|
result.direction = 'horizontal';
|
4285
|
-
result.yField =
|
4286
|
-
result.xField =
|
4287
|
-
result.seriesField =
|
4152
|
+
result.yField = unfoldInfo.encodingY;
|
4153
|
+
result.xField = foldInfo.measureValue;
|
4154
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
4288
4155
|
result.padding = 0;
|
4289
4156
|
result.region = [
|
4290
4157
|
{
|
@@ -4296,11 +4163,12 @@ const initBar = (spec, context)=>{
|
|
4296
4163
|
};
|
4297
4164
|
const datasetYX = (spec, context)=>{
|
4298
4165
|
const { advancedVSeed, vseed } = context;
|
4299
|
-
const {
|
4166
|
+
const { analysis, datasetReshapeInfo } = advancedVSeed;
|
4167
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
4300
4168
|
const orderMapping = analysis?.orderMapping || {};
|
4301
|
-
const angle =
|
4302
|
-
const y =
|
4303
|
-
const
|
4169
|
+
const angle = unfoldInfo.encodingAngle;
|
4170
|
+
const y = unfoldInfo.encodingY;
|
4171
|
+
const colorId = unfoldInfo.encodingColorId;
|
4304
4172
|
const id = datasetReshapeInfo[0].id;
|
4305
4173
|
const fields = {};
|
4306
4174
|
if (angle) fields[angle] = {
|
@@ -4317,14 +4185,14 @@ const datasetYX = (spec, context)=>{
|
|
4317
4185
|
sortIndex: 0
|
4318
4186
|
};
|
4319
4187
|
}
|
4320
|
-
if (
|
4321
|
-
const order = orderMapping[
|
4322
|
-
if (order) fields[
|
4188
|
+
if (colorId) {
|
4189
|
+
const order = orderMapping[colorId];
|
4190
|
+
if (order) fields[colorId] = {
|
4323
4191
|
sortIndex: 0,
|
4324
4192
|
domain: order,
|
4325
4193
|
lockStatisticsByDomain: true
|
4326
4194
|
};
|
4327
|
-
else fields[
|
4195
|
+
else fields[colorId] = {
|
4328
4196
|
sortIndex: 0
|
4329
4197
|
};
|
4330
4198
|
}
|
@@ -4612,14 +4480,14 @@ const barParallelAdvancedPipeline = [
|
|
4612
4480
|
initAdvancedVSeed_initAdvancedVSeed,
|
4613
4481
|
autoMeasures_autoMeasures,
|
4614
4482
|
autoDimensions_autoDimensions,
|
4483
|
+
encodingForBar,
|
4615
4484
|
pivotAdapter([
|
4616
|
-
|
4485
|
+
reshapeWithEncoding
|
4617
4486
|
], [
|
4618
|
-
|
4487
|
+
pivotReshapeWithEncoding
|
4619
4488
|
]),
|
4620
|
-
encodingYX,
|
4621
4489
|
sortYBandAxis,
|
4622
|
-
|
4490
|
+
sortLegend_sortLegend,
|
4623
4491
|
barParallelConfig,
|
4624
4492
|
theme_theme,
|
4625
4493
|
markStyle_markStyle,
|
@@ -4630,17 +4498,19 @@ const initBarParallel = (spec, context)=>{
|
|
4630
4498
|
...spec
|
4631
4499
|
};
|
4632
4500
|
const { advancedVSeed } = context;
|
4633
|
-
const {
|
4634
|
-
const { unfoldInfo } = datasetReshapeInfo[0];
|
4635
|
-
|
4501
|
+
const { datasetReshapeInfo, dimensions } = advancedVSeed;
|
4502
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
4503
|
+
const sameDimensionsMode = dimensions.length > 1 && dimensions.every((dim)=>dim.id === dimensions[0].id);
|
4636
4504
|
result.type = 'bar';
|
4637
4505
|
result.direction = 'horizontal';
|
4638
|
-
result.yField = [
|
4639
|
-
|
4640
|
-
|
4506
|
+
result.yField = sameDimensionsMode ? [
|
4507
|
+
unfoldInfo.encodingY
|
4508
|
+
] : [
|
4509
|
+
unfoldInfo.encodingY,
|
4510
|
+
unfoldInfo.encodingDetail
|
4641
4511
|
];
|
4642
|
-
result.xField =
|
4643
|
-
result.seriesField =
|
4512
|
+
result.xField = foldInfo.measureValue;
|
4513
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
4644
4514
|
result.padding = 0;
|
4645
4515
|
result.region = [
|
4646
4516
|
{
|
@@ -4706,14 +4576,14 @@ const barPercentAdvancedPipeline = [
|
|
4706
4576
|
initAdvancedVSeed_initAdvancedVSeed,
|
4707
4577
|
autoMeasures_autoMeasures,
|
4708
4578
|
autoDimensions_autoDimensions,
|
4579
|
+
encodingForBar,
|
4709
4580
|
pivotAdapter([
|
4710
|
-
|
4581
|
+
reshapeWithEncoding
|
4711
4582
|
], [
|
4712
|
-
|
4583
|
+
pivotReshapeWithEncoding
|
4713
4584
|
]),
|
4714
|
-
encodingYX,
|
4715
4585
|
sortYBandAxis,
|
4716
|
-
|
4586
|
+
sortLegend_sortLegend,
|
4717
4587
|
barPercentConfig,
|
4718
4588
|
theme_theme,
|
4719
4589
|
markStyle_markStyle,
|
@@ -4777,14 +4647,14 @@ const areaAdvancedPipeline = [
|
|
4777
4647
|
initAdvancedVSeed_initAdvancedVSeed,
|
4778
4648
|
autoMeasures_autoMeasures,
|
4779
4649
|
autoDimensions_autoDimensions,
|
4650
|
+
encodingForColumn,
|
4780
4651
|
pivotAdapter([
|
4781
|
-
|
4652
|
+
reshapeWithEncoding
|
4782
4653
|
], [
|
4783
|
-
|
4654
|
+
pivotReshapeWithEncoding
|
4784
4655
|
]),
|
4785
|
-
encodingXY,
|
4786
4656
|
sortXBandAxis,
|
4787
|
-
|
4657
|
+
sortLegend_sortLegend,
|
4788
4658
|
areaConfig,
|
4789
4659
|
theme_theme,
|
4790
4660
|
markStyle_markStyle,
|
@@ -4795,13 +4665,13 @@ const initArea = (spec, context)=>{
|
|
4795
4665
|
...spec
|
4796
4666
|
};
|
4797
4667
|
const { advancedVSeed } = context;
|
4798
|
-
const {
|
4799
|
-
|
4668
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
4669
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
4800
4670
|
result.type = 'area';
|
4801
4671
|
result.direction = 'vertical';
|
4802
|
-
result.
|
4803
|
-
result.
|
4804
|
-
result.seriesField =
|
4672
|
+
result.yField = foldInfo.measureValue;
|
4673
|
+
result.xField = unfoldInfo.encodingX;
|
4674
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
4805
4675
|
result.padding = 0;
|
4806
4676
|
result.region = [
|
4807
4677
|
{
|
@@ -4813,8 +4683,9 @@ const initArea = (spec, context)=>{
|
|
4813
4683
|
};
|
4814
4684
|
const areaStyle_areaStyle = (spec, context)=>{
|
4815
4685
|
const { advancedVSeed } = context;
|
4816
|
-
const { markStyle,
|
4686
|
+
const { markStyle, datasetReshapeInfo, dataset } = advancedVSeed;
|
4817
4687
|
const { areaStyle } = markStyle;
|
4688
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
4818
4689
|
if (!areaStyle) return {
|
4819
4690
|
...spec,
|
4820
4691
|
area: {
|
@@ -4827,7 +4698,7 @@ const areaStyle_areaStyle = (spec, context)=>{
|
|
4827
4698
|
const areaStyles = Array.isArray(areaStyle) ? areaStyle : [
|
4828
4699
|
areaStyle
|
4829
4700
|
];
|
4830
|
-
const group =
|
4701
|
+
const group = unfoldInfo.encodingColorId;
|
4831
4702
|
const areaGroups = (0, external_remeda_namespaceObject.groupBy)(dataset, (d)=>d[group ?? '']);
|
4832
4703
|
const customMap = areaStyles.reduce((result, style, index)=>{
|
4833
4704
|
const { areaColor, areaColorOpacity, areaVisible = true } = style;
|
@@ -4921,14 +4792,14 @@ const areaPercentAdvancedPipeline = [
|
|
4921
4792
|
initAdvancedVSeed_initAdvancedVSeed,
|
4922
4793
|
autoMeasures_autoMeasures,
|
4923
4794
|
autoDimensions_autoDimensions,
|
4795
|
+
encodingForColumn,
|
4924
4796
|
pivotAdapter([
|
4925
|
-
|
4797
|
+
reshapeWithEncoding
|
4926
4798
|
], [
|
4927
|
-
|
4799
|
+
pivotReshapeWithEncoding
|
4928
4800
|
]),
|
4929
|
-
encodingXY,
|
4930
4801
|
sortXBandAxis,
|
4931
|
-
|
4802
|
+
sortLegend_sortLegend,
|
4932
4803
|
areaPercentConfig,
|
4933
4804
|
theme_theme,
|
4934
4805
|
markStyle_markStyle,
|
@@ -4993,16 +4864,20 @@ const registerAreaPercent = ()=>{
|
|
4993
4864
|
Builder._advancedPipelineMap.areaPercent = areaPercentAdvancedPipeline;
|
4994
4865
|
Builder._specPipelineMap.areaPercent = areaPercentSpecPipeline;
|
4995
4866
|
};
|
4996
|
-
const
|
4867
|
+
const autoScatterMeasures = (advancedVSeed, context)=>{
|
4997
4868
|
const result = {
|
4998
4869
|
...advancedVSeed
|
4999
4870
|
};
|
5000
4871
|
const { vseed } = context;
|
5001
|
-
const {
|
4872
|
+
const { dataset, scatterMeasures, measures } = vseed;
|
5002
4873
|
if (!dataset) throw new Error('dataset is required');
|
5003
4874
|
if (0 === dataset.length) return result;
|
5004
|
-
if (
|
5005
|
-
result.measures =
|
4875
|
+
if (scatterMeasures) {
|
4876
|
+
result.measures = scatterMeasuresToMeasureTree(scatterMeasures);
|
4877
|
+
return result;
|
4878
|
+
}
|
4879
|
+
if (measures && measureDepth(measures) > 1) {
|
4880
|
+
result.measures = measures;
|
5006
4881
|
return result;
|
5007
4882
|
}
|
5008
4883
|
const top100dataset = dataset.slice(0, 100);
|
@@ -5010,7 +4885,7 @@ const autoMeasuresBy2M1Group = (advancedVSeed, context)=>{
|
|
5010
4885
|
...prev,
|
5011
4886
|
...cur
|
5012
4887
|
}), {});
|
5013
|
-
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]) && ![
|
5014
4889
|
'',
|
5015
4890
|
null,
|
5016
4891
|
void 0
|
@@ -5018,693 +4893,277 @@ const autoMeasuresBy2M1Group = (advancedVSeed, context)=>{
|
|
5018
4893
|
id: measure,
|
5019
4894
|
alias: measure
|
5020
4895
|
}));
|
5021
|
-
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
|
+
];
|
5022
4916
|
return result;
|
5023
4917
|
};
|
5024
|
-
const
|
5025
|
-
const
|
5026
|
-
|
5027
|
-
|
5028
|
-
|
5029
|
-
|
5030
|
-
|
5031
|
-
|
5032
|
-
|
5033
|
-
|
5034
|
-
|
5035
|
-
|
5036
|
-
|
5037
|
-
|
5038
|
-
|
5039
|
-
|
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
|
+
};
|
5040
4952
|
});
|
5041
|
-
|
5042
|
-
|
5043
|
-
foldInfo: {
|
5044
|
-
foldMap: {},
|
5045
|
-
measureId: '',
|
5046
|
-
measureName: '',
|
5047
|
-
measureValue: ''
|
5048
|
-
},
|
5049
|
-
unfoldInfo: {
|
5050
|
-
groupName: '',
|
5051
|
-
groupId: '',
|
5052
|
-
colorItems: [],
|
5053
|
-
colorIdMap: {}
|
5054
|
-
}
|
4953
|
+
if (1 === scatterMeasures.length) return measureTree[0].children || [];
|
4954
|
+
return measureTree;
|
5055
4955
|
};
|
5056
|
-
const
|
5057
|
-
const {
|
5058
|
-
|
5059
|
-
if (
|
5060
|
-
|
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
|
+
]);
|
5061
4968
|
return {
|
5062
|
-
|
5063
|
-
|
5064
|
-
|
5065
|
-
|
5066
|
-
measureName: foldMeasureName,
|
5067
|
-
measureValue: foldMeasureValue
|
5068
|
-
},
|
5069
|
-
unfoldInfo
|
5070
|
-
};
|
5071
|
-
}
|
5072
|
-
{
|
5073
|
-
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(dataset, [
|
5074
|
-
...dimensions
|
5075
|
-
], [
|
5076
|
-
{
|
5077
|
-
id: foldMeasureValue,
|
5078
|
-
alias: i18n`指标值`
|
4969
|
+
...advancedVSeed,
|
4970
|
+
encoding: {
|
4971
|
+
...encoding,
|
4972
|
+
detail: mergedDetail
|
5079
4973
|
}
|
5080
|
-
], 0, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
|
5081
|
-
return {
|
5082
|
-
dataset: finalDataset,
|
5083
|
-
foldInfo: {
|
5084
|
-
foldMap: {},
|
5085
|
-
measureId: foldMeasureId,
|
5086
|
-
measureName: foldMeasureName,
|
5087
|
-
measureValue: foldMeasureValue
|
5088
|
-
},
|
5089
|
-
unfoldInfo
|
5090
4974
|
};
|
5091
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
|
+
};
|
5092
4989
|
};
|
5093
|
-
const
|
4990
|
+
const reshapeWithScatterEncoding = (advancedVSeed, context)=>{
|
5094
4991
|
const result = {
|
5095
4992
|
...advancedVSeed
|
5096
4993
|
};
|
5097
4994
|
const { vseed } = context;
|
5098
4995
|
const { dataset } = vseed;
|
5099
|
-
const { dimensions, measures } = advancedVSeed;
|
5100
|
-
if (!measures || !dimensions || !dataset) return result;
|
4996
|
+
const { dimensions, measures, encoding, chartType } = advancedVSeed;
|
4997
|
+
if (!measures || !dimensions || !dataset || !encoding) return result;
|
5101
4998
|
if (0 === measures.length) throw new Error('measures can not be empty');
|
5102
|
-
|
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
|
+
};
|
5103
5031
|
return {
|
5104
5032
|
...result,
|
5105
|
-
dataset:
|
5033
|
+
dataset: datasets[0],
|
5106
5034
|
datasetReshapeInfo: [
|
5107
5035
|
{
|
5108
|
-
id:
|
5036
|
+
id: String(chartType),
|
5109
5037
|
index: 0,
|
5110
|
-
foldInfo,
|
5111
|
-
|
5038
|
+
foldInfo: foldInfoList[0],
|
5039
|
+
foldInfoList: foldInfoList,
|
5040
|
+
unfoldInfo: unfoldInfo
|
5112
5041
|
}
|
5113
5042
|
]
|
5114
5043
|
};
|
5115
5044
|
};
|
5116
|
-
const
|
5045
|
+
const pivotReshapeWithScatterEncoding = (advancedVSeed, context)=>{
|
5117
5046
|
const result = {
|
5118
5047
|
...advancedVSeed
|
5119
5048
|
};
|
5120
5049
|
const { vseed } = context;
|
5121
5050
|
const { dataset } = vseed;
|
5122
|
-
const { measures } = advancedVSeed;
|
5123
|
-
|
5124
|
-
if (!measures || !dimensions) return result;
|
5051
|
+
const { dimensions, measures, encoding, chartType } = advancedVSeed;
|
5052
|
+
if (!measures || !dimensions || !dataset || !encoding) return result;
|
5125
5053
|
const measureGroups = [];
|
5126
|
-
|
5127
|
-
|
5054
|
+
const depth = measureDepth(measures);
|
5055
|
+
if (3 === depth) measures.forEach((measure)=>{
|
5056
|
+
measureGroups.push(measure.children);
|
5128
5057
|
});
|
5129
|
-
|
5058
|
+
else if (2 === depth) measureGroups.push(measures);
|
5059
|
+
const datasetList = [];
|
5130
5060
|
const datasetReshapeInfo = [];
|
5131
|
-
measureGroups.forEach((
|
5132
|
-
|
5133
|
-
if (
|
5134
|
-
const
|
5135
|
-
const
|
5136
|
-
const
|
5137
|
-
|
5138
|
-
|
5139
|
-
|
5140
|
-
|
5141
|
-
|
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
|
+
};
|
5142
5095
|
const reshapeInfo = {
|
5143
|
-
id:
|
5096
|
+
id: `${chartType}-${index}`,
|
5144
5097
|
index,
|
5145
|
-
foldInfo,
|
5146
|
-
|
5098
|
+
foldInfo: foldInfoList[0],
|
5099
|
+
foldInfoList: foldInfoList,
|
5100
|
+
unfoldInfo: unfoldInfo
|
5147
5101
|
};
|
5148
|
-
newDatasets.push(newSubDataset);
|
5149
5102
|
datasetReshapeInfo.push(reshapeInfo);
|
5103
|
+
datasetList.push(datasets[0].map((d, index)=>({
|
5104
|
+
...d,
|
5105
|
+
...datasets[1]?.[index] || {}
|
5106
|
+
})));
|
5150
5107
|
});
|
5151
5108
|
return {
|
5152
5109
|
...result,
|
5153
|
-
dataset:
|
5110
|
+
dataset: datasetList,
|
5154
5111
|
datasetReshapeInfo: datasetReshapeInfo
|
5155
5112
|
};
|
5156
5113
|
};
|
5157
|
-
const
|
5158
|
-
const result = {
|
5159
|
-
...advancedVSeed
|
5160
|
-
};
|
5161
|
-
const { datasetReshapeInfo, measures } = advancedVSeed;
|
5162
|
-
if (!datasetReshapeInfo || !measures) return result;
|
5163
|
-
const encoding = datasetReshapeInfo.reduce((prev, cur, index)=>{
|
5164
|
-
const measure = measures[index];
|
5165
|
-
if ('children' in measure) {
|
5166
|
-
const m1 = measure.children?.[0];
|
5167
|
-
const m2 = measure.children?.[1] || m1;
|
5168
|
-
const { foldInfo, unfoldInfo } = cur;
|
5169
|
-
const x = [
|
5170
|
-
unfoldInfo.groupId
|
5171
|
-
];
|
5172
|
-
const y = [
|
5173
|
-
m1?.id,
|
5174
|
-
m2?.id
|
5175
|
-
];
|
5176
|
-
const group = [
|
5177
|
-
unfoldInfo.groupId
|
5178
|
-
];
|
5179
|
-
const color = [
|
5180
|
-
foldInfo.measureName
|
5181
|
-
];
|
5182
|
-
return [
|
5183
|
-
...prev,
|
5184
|
-
{
|
5185
|
-
x,
|
5186
|
-
y,
|
5187
|
-
group,
|
5188
|
-
color
|
5189
|
-
}
|
5190
|
-
];
|
5191
|
-
}
|
5192
|
-
{
|
5193
|
-
const m1 = measures[index];
|
5194
|
-
const m2 = measures[index + 1] || m1;
|
5195
|
-
const { foldInfo, unfoldInfo } = cur;
|
5196
|
-
const x = [
|
5197
|
-
unfoldInfo.groupId
|
5198
|
-
];
|
5199
|
-
const y = [
|
5200
|
-
m1.id,
|
5201
|
-
m2.id
|
5202
|
-
];
|
5203
|
-
const group = [
|
5204
|
-
unfoldInfo.groupId
|
5205
|
-
];
|
5206
|
-
const color = [
|
5207
|
-
foldInfo.measureName
|
5208
|
-
];
|
5209
|
-
return [
|
5210
|
-
...prev,
|
5211
|
-
{
|
5212
|
-
x,
|
5213
|
-
y,
|
5214
|
-
group,
|
5215
|
-
color
|
5216
|
-
}
|
5217
|
-
];
|
5218
|
-
}
|
5219
|
-
}, []);
|
5220
|
-
return {
|
5221
|
-
...result,
|
5222
|
-
encoding
|
5223
|
-
};
|
5224
|
-
};
|
5225
|
-
const areaRangeAdvancedPipeline = [
|
5114
|
+
const scatterAdvancedPipeline = [
|
5226
5115
|
initAdvancedVSeed_initAdvancedVSeed,
|
5227
|
-
|
5116
|
+
autoScatterMeasures,
|
5228
5117
|
autoDimensions_autoDimensions,
|
5118
|
+
encodingForScatter,
|
5229
5119
|
pivotAdapter([
|
5230
|
-
|
5120
|
+
reshapeWithScatterEncoding
|
5231
5121
|
], [
|
5232
|
-
|
5122
|
+
pivotReshapeWithScatterEncoding
|
5233
5123
|
]),
|
5234
|
-
|
5235
|
-
sortXBandAxis,
|
5236
|
-
areaConfig,
|
5124
|
+
scatterConfig,
|
5237
5125
|
theme_theme,
|
5238
5126
|
markStyle_markStyle,
|
5239
5127
|
annotation_annotation
|
5240
5128
|
];
|
5241
|
-
const
|
5129
|
+
const initScatter = (spec, context)=>{
|
5242
5130
|
const result = {
|
5243
|
-
|
5244
|
-
padding: 0,
|
5245
|
-
region: [
|
5246
|
-
{
|
5247
|
-
clip: true
|
5248
|
-
}
|
5249
|
-
]
|
5131
|
+
...spec
|
5250
5132
|
};
|
5251
|
-
|
5252
|
-
|
5253
|
-
|
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
|
+
}
|
5254
5162
|
};
|
5255
5163
|
};
|
5256
|
-
const
|
5164
|
+
const horizontalCrosshairLine = (spec, context)=>{
|
5257
5165
|
const result = {
|
5258
|
-
|
5259
|
-
padding: 0,
|
5260
|
-
region: [
|
5261
|
-
{
|
5262
|
-
clip: true
|
5263
|
-
}
|
5264
|
-
]
|
5265
|
-
};
|
5266
|
-
const createDualContext = (context, index)=>{
|
5267
|
-
const { advancedVSeed } = context;
|
5268
|
-
const dataset = advancedVSeed.dataset[index];
|
5269
|
-
return {
|
5270
|
-
...context,
|
5271
|
-
advancedVSeed: {
|
5272
|
-
...advancedVSeed,
|
5273
|
-
dataset: dataset
|
5274
|
-
}
|
5275
|
-
};
|
5276
|
-
};
|
5277
|
-
return (_, context)=>{
|
5278
|
-
result.series = args.map((pipeline, index)=>{
|
5279
|
-
const seriesContext = createDualContext(context, index);
|
5280
|
-
return execPipeline(pipeline, seriesContext, {});
|
5281
|
-
});
|
5282
|
-
return result;
|
5283
|
-
};
|
5284
|
-
};
|
5285
|
-
const initAreaRange = (spec, context)=>{
|
5286
|
-
const result = {
|
5287
|
-
...spec
|
5288
|
-
};
|
5289
|
-
const { advancedVSeed } = context;
|
5290
|
-
const { encoding } = advancedVSeed;
|
5291
|
-
if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
|
5292
|
-
const { color } = advancedVSeed.config.areaRange;
|
5293
|
-
result.type = 'rangeArea';
|
5294
|
-
result.direction = 'vertical';
|
5295
|
-
result.stack = false;
|
5296
|
-
result.xField = encoding[0].x[0];
|
5297
|
-
result.yField = [
|
5298
|
-
encoding[0].y[0],
|
5299
|
-
encoding[0].y[1]
|
5300
|
-
];
|
5301
|
-
result.animation = true;
|
5302
|
-
result.area = {
|
5303
|
-
style: {
|
5304
|
-
fill: color.colorScheme?.[0]
|
5305
|
-
}
|
5306
|
-
};
|
5307
|
-
return result;
|
5308
|
-
};
|
5309
|
-
const initAreaRangeLine1 = (spec, context)=>{
|
5310
|
-
const result = {
|
5311
|
-
...spec
|
5312
|
-
};
|
5313
|
-
const { advancedVSeed } = context;
|
5314
|
-
const { encoding } = advancedVSeed;
|
5315
|
-
if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
|
5316
|
-
const { color } = advancedVSeed.config.areaRange;
|
5317
|
-
result.type = 'line';
|
5318
|
-
result.direction = 'vertical';
|
5319
|
-
result.stack = false;
|
5320
|
-
result.xField = encoding[0].x[0];
|
5321
|
-
result.yField = [
|
5322
|
-
encoding[0].y[0]
|
5323
|
-
];
|
5324
|
-
result.animation = true;
|
5325
|
-
result.line = {
|
5326
|
-
style: {
|
5327
|
-
stroke: color.colorScheme?.[0]
|
5328
|
-
}
|
5329
|
-
};
|
5330
|
-
result.point = {
|
5331
|
-
style: {
|
5332
|
-
visible: false,
|
5333
|
-
fill: color.colorScheme?.[0]
|
5334
|
-
}
|
5335
|
-
};
|
5336
|
-
return result;
|
5337
|
-
};
|
5338
|
-
const initAreaRangeLine2 = (spec, context)=>{
|
5339
|
-
const result = {
|
5340
|
-
...spec
|
5341
|
-
};
|
5342
|
-
const { advancedVSeed } = context;
|
5343
|
-
const { encoding } = advancedVSeed;
|
5344
|
-
if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
|
5345
|
-
const { color } = advancedVSeed.config.areaRange;
|
5346
|
-
result.type = 'line';
|
5347
|
-
result.direction = 'vertical';
|
5348
|
-
result.stack = false;
|
5349
|
-
result.xField = encoding[0].x[0];
|
5350
|
-
result.yField = [
|
5351
|
-
encoding[0].y[1]
|
5352
|
-
];
|
5353
|
-
result.animation = true;
|
5354
|
-
result.line = {
|
5355
|
-
style: {
|
5356
|
-
stroke: color.colorScheme?.[0]
|
5357
|
-
}
|
5358
|
-
};
|
5359
|
-
result.point = {
|
5360
|
-
style: {
|
5361
|
-
visible: false,
|
5362
|
-
fill: color.colorScheme?.[0]
|
5363
|
-
}
|
5364
|
-
};
|
5365
|
-
return result;
|
5366
|
-
};
|
5367
|
-
const tooltipDisable = (spec)=>{
|
5368
|
-
const result = {
|
5369
|
-
...spec
|
5370
|
-
};
|
5371
|
-
result.tooltip = {
|
5372
|
-
visible: false
|
5373
|
-
};
|
5374
|
-
return result;
|
5375
|
-
};
|
5376
|
-
const tooltipAreaRange = (spec, context)=>{
|
5377
|
-
const result = {
|
5378
|
-
...spec
|
5379
|
-
};
|
5380
|
-
const { advancedVSeed } = context;
|
5381
|
-
const { measures, datasetReshapeInfo, chartType, locale, encoding } = advancedVSeed;
|
5382
|
-
const baseConfig = advancedVSeed.config[chartType];
|
5383
|
-
const { tooltip = {
|
5384
|
-
enable: true
|
5385
|
-
} } = baseConfig;
|
5386
|
-
const { enable } = tooltip;
|
5387
|
-
const { groupName } = datasetReshapeInfo[0].unfoldInfo;
|
5388
|
-
const y = encoding[0]?.y || [];
|
5389
|
-
result.tooltip = {
|
5390
|
-
visible: enable,
|
5391
|
-
dimension: {
|
5392
|
-
content: [
|
5393
|
-
{
|
5394
|
-
visible: true,
|
5395
|
-
key: (datum)=>datum && datum[groupName] || '',
|
5396
|
-
value: (datum)=>{
|
5397
|
-
if (!datum) return '';
|
5398
|
-
const text = y.map((id)=>{
|
5399
|
-
const value = datum[id];
|
5400
|
-
const measure = findMeasureById(measures, id);
|
5401
|
-
if (!measure) return String(value);
|
5402
|
-
const { format = {}, autoFormat = true } = measure;
|
5403
|
-
if (!(0, external_remeda_namespaceObject.isEmpty)(format)) {
|
5404
|
-
const formatter = createFormatter(format);
|
5405
|
-
return formatter(value);
|
5406
|
-
}
|
5407
|
-
if (autoFormat) return autoFormatter(value, locale);
|
5408
|
-
return String(value);
|
5409
|
-
});
|
5410
|
-
return text.join(' ~ ');
|
5411
|
-
},
|
5412
|
-
shapeType: 'rectRound'
|
5413
|
-
},
|
5414
|
-
...y.map((id)=>{
|
5415
|
-
const measure = findMeasureById(measures, id);
|
5416
|
-
return {
|
5417
|
-
visible: true,
|
5418
|
-
key: measure?.alias || id,
|
5419
|
-
value: (datum)=>{
|
5420
|
-
if (!datum) return '';
|
5421
|
-
const value = datum[id];
|
5422
|
-
const measure = findMeasureById(measures, id);
|
5423
|
-
if (!measure) return String(value);
|
5424
|
-
const { format = {}, autoFormat = true } = measure;
|
5425
|
-
if (!(0, external_remeda_namespaceObject.isEmpty)(format)) {
|
5426
|
-
const formatter = createFormatter(format);
|
5427
|
-
return formatter(value);
|
5428
|
-
}
|
5429
|
-
if (autoFormat) return autoFormatter(value, locale);
|
5430
|
-
return String(value);
|
5431
|
-
},
|
5432
|
-
shapeType: 'rectRound'
|
5433
|
-
};
|
5434
|
-
})
|
5435
|
-
]
|
5436
|
-
}
|
5437
|
-
};
|
5438
|
-
return result;
|
5439
|
-
};
|
5440
|
-
const areaRange = [
|
5441
|
-
series([
|
5442
|
-
initAreaRange,
|
5443
|
-
areaStyle_areaStyle
|
5444
|
-
], [
|
5445
|
-
initAreaRangeLine1,
|
5446
|
-
lineStyle_lineStyle,
|
5447
|
-
pointStyle_pointStyle,
|
5448
|
-
pointStateDimensionHover,
|
5449
|
-
tooltipDisable
|
5450
|
-
], [
|
5451
|
-
initAreaRangeLine2,
|
5452
|
-
lineStyle_lineStyle,
|
5453
|
-
pointStyle_pointStyle,
|
5454
|
-
pointStateDimensionHover,
|
5455
|
-
tooltipDisable
|
5456
|
-
]),
|
5457
|
-
datasetXY,
|
5458
|
-
progressive,
|
5459
|
-
background_backgroundColor,
|
5460
|
-
xBand,
|
5461
|
-
yLinear,
|
5462
|
-
label_label,
|
5463
|
-
tooltipAreaRange,
|
5464
|
-
verticalCrosshairLine,
|
5465
|
-
annotationPoint_annotationPoint,
|
5466
|
-
annotationVerticalLine_annotationVerticalLine,
|
5467
|
-
annotationHorizontalLine_annotationHorizontalLine,
|
5468
|
-
annotationArea_annotationArea
|
5469
|
-
];
|
5470
|
-
const pivotAreaRange = [
|
5471
|
-
initPivot,
|
5472
|
-
pivotGridStyle,
|
5473
|
-
pivotIndicators_pivotIndicatorsAsRow,
|
5474
|
-
datasetPivot,
|
5475
|
-
pivotIndicators_pivotIndicators([
|
5476
|
-
series([
|
5477
|
-
initAreaRange,
|
5478
|
-
areaStyle_areaStyle
|
5479
|
-
], [
|
5480
|
-
initAreaRangeLine1,
|
5481
|
-
lineStyle_lineStyle,
|
5482
|
-
pointStyle_pointStyle,
|
5483
|
-
pointStateDimensionHover,
|
5484
|
-
tooltipDisable
|
5485
|
-
], [
|
5486
|
-
initAreaRangeLine2,
|
5487
|
-
lineStyle_lineStyle,
|
5488
|
-
pointStyle_pointStyle,
|
5489
|
-
pointStateDimensionHover,
|
5490
|
-
tooltipDisable
|
5491
|
-
]),
|
5492
|
-
background_backgroundColor,
|
5493
|
-
datasetXY,
|
5494
|
-
progressive,
|
5495
|
-
xBand,
|
5496
|
-
yLinear,
|
5497
|
-
label_label,
|
5498
|
-
tooltipAreaRange,
|
5499
|
-
verticalCrosshairLine,
|
5500
|
-
annotationPoint_annotationPoint,
|
5501
|
-
annotationVerticalLine_annotationVerticalLine,
|
5502
|
-
annotationHorizontalLine_annotationHorizontalLine,
|
5503
|
-
annotationArea_annotationArea
|
5504
|
-
]),
|
5505
|
-
pivotRowDimensions,
|
5506
|
-
pivotColumnDimensions
|
5507
|
-
];
|
5508
|
-
const areaRangeSpecPipeline = [
|
5509
|
-
pivotAdapter_pivotAdapter(areaRange, pivotAreaRange)
|
5510
|
-
];
|
5511
|
-
const registerAreaRange = ()=>{
|
5512
|
-
Builder._advancedPipelineMap.areaRange = areaRangeAdvancedPipeline;
|
5513
|
-
Builder._specPipelineMap.areaRange = areaRangeSpecPipeline;
|
5514
|
-
};
|
5515
|
-
const dataReshapeFor1D2M_emptyReshapeResult = {
|
5516
|
-
dataset: [],
|
5517
|
-
foldInfo: {
|
5518
|
-
foldMap: {},
|
5519
|
-
measureId: '',
|
5520
|
-
measureName: '',
|
5521
|
-
measureValue: ''
|
5522
|
-
},
|
5523
|
-
unfoldInfo: {
|
5524
|
-
groupName: '',
|
5525
|
-
groupId: '',
|
5526
|
-
colorItems: [],
|
5527
|
-
colorIdMap: {}
|
5528
|
-
}
|
5529
|
-
};
|
5530
|
-
const dataReshapeFor1D2M = (dataset, dimensions, measures, options)=>{
|
5531
|
-
const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue, unfoldDimensionGroup = UnfoldDimensionGroup, unfoldDimensionGroupId = UnfoldDimensionGroupId } = options || {};
|
5532
|
-
if (0 === dimensions.length && 0 === measures.length) return dataReshapeFor1D2M_emptyReshapeResult;
|
5533
|
-
const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures.length > 1 ? measures.slice(1) : measures, foldMeasureId, foldMeasureName, foldMeasureValue);
|
5534
|
-
if (0 === dimensions.length) {
|
5535
|
-
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, [
|
5536
|
-
{
|
5537
|
-
id: foldMeasureValue,
|
5538
|
-
alias: i18n`指标值`,
|
5539
|
-
location: 'dimension'
|
5540
|
-
}
|
5541
|
-
], [
|
5542
|
-
{
|
5543
|
-
id: foldMeasureValue,
|
5544
|
-
alias: i18n`指标值`
|
5545
|
-
}
|
5546
|
-
], 0, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
|
5547
|
-
return {
|
5548
|
-
dataset: finalDataset,
|
5549
|
-
foldInfo,
|
5550
|
-
unfoldInfo
|
5551
|
-
};
|
5552
|
-
}
|
5553
|
-
{
|
5554
|
-
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, [
|
5555
|
-
...dimensions
|
5556
|
-
], [
|
5557
|
-
{
|
5558
|
-
id: foldMeasureValue,
|
5559
|
-
alias: i18n`指标值`
|
5560
|
-
}
|
5561
|
-
], 0, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
|
5562
|
-
return {
|
5563
|
-
dataset: finalDataset,
|
5564
|
-
foldInfo,
|
5565
|
-
unfoldInfo
|
5566
|
-
};
|
5567
|
-
}
|
5568
|
-
};
|
5569
|
-
const reshapeTo1D2M = (advancedVSeed, context)=>{
|
5570
|
-
const result = {
|
5571
|
-
...advancedVSeed
|
5572
|
-
};
|
5573
|
-
const { vseed } = context;
|
5574
|
-
const { dataset } = vseed;
|
5575
|
-
const { dimensions, measures } = advancedVSeed;
|
5576
|
-
if (!measures || !dimensions || !dataset) return result;
|
5577
|
-
if (0 === measures.length) throw new Error('measures can not be empty');
|
5578
|
-
const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor1D2M(dataset, dimensions, measures);
|
5579
|
-
return {
|
5580
|
-
...result,
|
5581
|
-
dataset: newDatasets,
|
5582
|
-
datasetReshapeInfo: [
|
5583
|
-
{
|
5584
|
-
id: '1D2M',
|
5585
|
-
index: 0,
|
5586
|
-
foldInfo,
|
5587
|
-
unfoldInfo
|
5588
|
-
}
|
5589
|
-
]
|
5590
|
-
};
|
5591
|
-
};
|
5592
|
-
const pivotReshapeTo1D2M = (advancedVSeed, context)=>{
|
5593
|
-
const result = {
|
5594
|
-
...advancedVSeed
|
5595
|
-
};
|
5596
|
-
const { vseed } = context;
|
5597
|
-
const { dataset } = vseed;
|
5598
|
-
const { measures } = advancedVSeed;
|
5599
|
-
const dimensions = advancedVSeed.dimensions;
|
5600
|
-
if (!measures || !dimensions) return result;
|
5601
|
-
const measureGroups = [];
|
5602
|
-
if (measures) measures.forEach((measure)=>{
|
5603
|
-
if (measure.children && measure.children.length > 0) measureGroups.push(measure);
|
5604
|
-
});
|
5605
|
-
const newDatasets = [];
|
5606
|
-
const datasetReshapeInfo = [];
|
5607
|
-
measureGroups.forEach((measureGroup, index)=>{
|
5608
|
-
const measures = measureGroup.children;
|
5609
|
-
if (!measures) return;
|
5610
|
-
const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
|
5611
|
-
const groupId = measureGroup.id;
|
5612
|
-
const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeFor1D2M(dataset, commonDimensions, measures, {
|
5613
|
-
foldMeasureId: FoldMeasureId,
|
5614
|
-
foldMeasureName: FoldMeasureName,
|
5615
|
-
foldMeasureValue: FoldMeasureValue + groupId,
|
5616
|
-
unfoldDimensionGroup: UnfoldDimensionGroup
|
5617
|
-
});
|
5618
|
-
const reshapeInfo = {
|
5619
|
-
id: groupId,
|
5620
|
-
index,
|
5621
|
-
foldInfo,
|
5622
|
-
unfoldInfo
|
5623
|
-
};
|
5624
|
-
newDatasets.push(newSubDataset);
|
5625
|
-
datasetReshapeInfo.push(reshapeInfo);
|
5626
|
-
});
|
5627
|
-
return {
|
5628
|
-
...result,
|
5629
|
-
dataset: newDatasets,
|
5630
|
-
datasetReshapeInfo: datasetReshapeInfo
|
5631
|
-
};
|
5632
|
-
};
|
5633
|
-
const encodingYY = (advancedVSeed)=>{
|
5634
|
-
const result = {
|
5635
|
-
...advancedVSeed
|
5636
|
-
};
|
5637
|
-
const { datasetReshapeInfo, measures } = advancedVSeed;
|
5638
|
-
if (!datasetReshapeInfo || !measures) return result;
|
5639
|
-
const firstMeasure = findFirstMeasure(measures);
|
5640
|
-
const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
|
5641
|
-
const { foldInfo, unfoldInfo } = cur;
|
5642
|
-
const x = [
|
5643
|
-
firstMeasure?.id
|
5644
|
-
];
|
5645
|
-
const y = [
|
5646
|
-
foldInfo.measureValue
|
5647
|
-
];
|
5648
|
-
const group = [
|
5649
|
-
unfoldInfo.groupId
|
5650
|
-
];
|
5651
|
-
const color = [
|
5652
|
-
unfoldInfo.groupId
|
5653
|
-
];
|
5654
|
-
return [
|
5655
|
-
...prev,
|
5656
|
-
{
|
5657
|
-
x,
|
5658
|
-
y,
|
5659
|
-
group,
|
5660
|
-
color
|
5661
|
-
}
|
5662
|
-
];
|
5663
|
-
}, []);
|
5664
|
-
return {
|
5665
|
-
...result,
|
5666
|
-
encoding
|
5667
|
-
};
|
5668
|
-
};
|
5669
|
-
const scatterAdvancedPipeline = [
|
5670
|
-
initAdvancedVSeed_initAdvancedVSeed,
|
5671
|
-
autoMeasures_autoMeasures,
|
5672
|
-
autoDimensions_autoDimensions,
|
5673
|
-
pivotAdapter([
|
5674
|
-
reshapeTo1D2M
|
5675
|
-
], [
|
5676
|
-
pivotReshapeTo1D2M
|
5677
|
-
]),
|
5678
|
-
encodingYY,
|
5679
|
-
scatterConfig,
|
5680
|
-
theme_theme,
|
5681
|
-
markStyle_markStyle,
|
5682
|
-
annotation_annotation
|
5683
|
-
];
|
5684
|
-
const initScatter = (spec, context)=>{
|
5685
|
-
const result = {
|
5686
|
-
...spec
|
5687
|
-
};
|
5688
|
-
const { advancedVSeed } = context;
|
5689
|
-
const { encoding } = advancedVSeed;
|
5690
|
-
if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
|
5691
|
-
result.type = 'scatter';
|
5692
|
-
result.direction = 'vertical';
|
5693
|
-
result.xField = encoding[0].x[0];
|
5694
|
-
result.yField = encoding[0].y[0];
|
5695
|
-
result.seriesField = encoding[0].group[0];
|
5696
|
-
result.padding = 0;
|
5697
|
-
result.region = [
|
5698
|
-
{
|
5699
|
-
clip: true
|
5700
|
-
}
|
5701
|
-
];
|
5702
|
-
result.animation = true;
|
5703
|
-
return result;
|
5704
|
-
};
|
5705
|
-
const horizontalCrosshairLine = (spec, context)=>{
|
5706
|
-
const result = {
|
5707
|
-
...spec
|
5166
|
+
...spec
|
5708
5167
|
};
|
5709
5168
|
const { advancedVSeed, vseed } = context;
|
5710
5169
|
const { chartType } = vseed;
|
@@ -5750,7 +5209,7 @@ const scatter = [
|
|
5750
5209
|
initScatter,
|
5751
5210
|
color_color,
|
5752
5211
|
background_backgroundColor,
|
5753
|
-
|
5212
|
+
datasetScatter,
|
5754
5213
|
progressive,
|
5755
5214
|
xLinear,
|
5756
5215
|
yLinear,
|
@@ -5775,7 +5234,7 @@ const pivotScatter = [
|
|
5775
5234
|
initScatter,
|
5776
5235
|
color_color,
|
5777
5236
|
background_backgroundColor,
|
5778
|
-
|
5237
|
+
datasetScatter,
|
5779
5238
|
progressive,
|
5780
5239
|
xLinear,
|
5781
5240
|
yLinear,
|
@@ -5801,41 +5260,163 @@ const registerScatter = ()=>{
|
|
5801
5260
|
Builder._advancedPipelineMap.scatter = scatterAdvancedPipeline;
|
5802
5261
|
Builder._specPipelineMap.scatter = scatterSpecPipeline;
|
5803
5262
|
};
|
5804
|
-
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)=>{
|
5805
5388
|
const result = {
|
5806
5389
|
...advancedVSeed
|
5807
5390
|
};
|
5808
5391
|
const { vseed } = context;
|
5809
5392
|
const { dataset } = vseed;
|
5810
|
-
const { dimensions, measures } = advancedVSeed;
|
5811
|
-
if (!measures || !dimensions || !dataset) return result;
|
5393
|
+
const { dimensions, measures, encoding, chartType } = advancedVSeed;
|
5394
|
+
if (!measures || !dimensions || !dataset || !encoding) return result;
|
5812
5395
|
if (0 === measures.length) throw new Error('measures can not be empty');
|
5813
5396
|
if (measures.length > 2) throw new Error('measures can not be more than 2');
|
5814
|
-
const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
|
5815
|
-
const datasets = [];
|
5816
5397
|
const foldInfoList = [];
|
5817
5398
|
const unfoldInfoList = [];
|
5399
|
+
const datasets = [];
|
5818
5400
|
const primaryMeasures = measures[0];
|
5819
5401
|
const secondaryMeasures = measures[1] || [];
|
5820
5402
|
if (primaryMeasures && primaryMeasures.children) {
|
5821
|
-
const { dataset:
|
5403
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, primaryMeasures.children, encoding, {
|
5822
5404
|
foldMeasureValue: FoldPrimaryMeasureValue
|
5823
5405
|
});
|
5824
|
-
datasets.push(
|
5406
|
+
datasets.push(newDataset);
|
5825
5407
|
foldInfoList.push(foldInfo);
|
5826
5408
|
unfoldInfoList.push(unfoldInfo);
|
5827
5409
|
}
|
5828
5410
|
if (secondaryMeasures && secondaryMeasures.children) {
|
5829
|
-
const { dataset:
|
5411
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, secondaryMeasures.children, encoding, {
|
5830
5412
|
foldMeasureValue: FoldSecondaryMeasureValue
|
5831
5413
|
});
|
5832
|
-
datasets.push(
|
5414
|
+
datasets.push(newDataset);
|
5833
5415
|
foldInfoList.push(foldInfo);
|
5834
5416
|
unfoldInfoList.push(unfoldInfo);
|
5835
5417
|
}
|
5836
5418
|
const unfoldInfo = {
|
5837
|
-
|
5838
|
-
groupId: unfoldInfoList[0].groupId,
|
5419
|
+
...unfoldInfoList[0],
|
5839
5420
|
colorItems: unfoldInfoList.flatMap((d)=>d.colorItems),
|
5840
5421
|
colorIdMap: unfoldInfoList.reduce((prev, cur)=>({
|
5841
5422
|
...prev,
|
@@ -5847,7 +5428,7 @@ const reshapeTo2D2M = (advancedVSeed, context)=>{
|
|
5847
5428
|
dataset: datasets,
|
5848
5429
|
datasetReshapeInfo: [
|
5849
5430
|
{
|
5850
|
-
id:
|
5431
|
+
id: String(chartType),
|
5851
5432
|
index: 0,
|
5852
5433
|
foldInfo: foldInfoList[0],
|
5853
5434
|
foldInfoList: foldInfoList,
|
@@ -5856,46 +5437,48 @@ const reshapeTo2D2M = (advancedVSeed, context)=>{
|
|
5856
5437
|
]
|
5857
5438
|
};
|
5858
5439
|
};
|
5859
|
-
const
|
5440
|
+
const pivotReshapeWithDualEncoding = (advancedVSeed, context)=>{
|
5860
5441
|
const result = {
|
5861
5442
|
...advancedVSeed
|
5862
5443
|
};
|
5863
5444
|
const { vseed } = context;
|
5864
5445
|
const { dataset } = vseed;
|
5865
|
-
const { dimensions, measures } = advancedVSeed;
|
5866
|
-
if (!measures || !dimensions || !dataset) return result;
|
5867
|
-
const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
|
5446
|
+
const { dimensions, measures, encoding, chartType } = advancedVSeed;
|
5447
|
+
if (!measures || !dimensions || !dataset || !encoding) return result;
|
5868
5448
|
const datasetList = [];
|
5869
5449
|
const datasetReshapeInfo = [];
|
5870
|
-
|
5871
|
-
|
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)=>{
|
5872
5457
|
if (0 === measures.length) throw new Error('measures can not be empty');
|
5873
5458
|
if (measures.length > 2) throw new Error('measures can not be more than 2');
|
5874
|
-
const datasets = [];
|
5875
5459
|
const foldInfoList = [];
|
5876
5460
|
const unfoldInfoList = [];
|
5461
|
+
const datasets = [];
|
5877
5462
|
const primaryMeasures = measures[0];
|
5878
|
-
const secondaryMeasures = measures[1] ||
|
5463
|
+
const secondaryMeasures = measures[1] || [];
|
5879
5464
|
if (primaryMeasures && primaryMeasures.children) {
|
5880
|
-
const { dataset:
|
5465
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, primaryMeasures.children, encoding, {
|
5881
5466
|
foldMeasureValue: `${FoldPrimaryMeasureValue}${index}`
|
5882
5467
|
});
|
5883
|
-
datasets.push(
|
5468
|
+
datasets.push(newDataset);
|
5884
5469
|
foldInfoList.push(foldInfo);
|
5885
5470
|
unfoldInfoList.push(unfoldInfo);
|
5886
5471
|
}
|
5887
5472
|
if (secondaryMeasures && secondaryMeasures.children) {
|
5888
|
-
const { dataset:
|
5473
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, secondaryMeasures.children, encoding, {
|
5889
5474
|
foldMeasureValue: `${FoldSecondaryMeasureValue}${index}`
|
5890
5475
|
});
|
5891
|
-
datasets.push(
|
5476
|
+
datasets.push(newDataset);
|
5892
5477
|
foldInfoList.push(foldInfo);
|
5893
5478
|
unfoldInfoList.push(unfoldInfo);
|
5894
5479
|
}
|
5895
|
-
datasetList.push(datasets.flat(2));
|
5896
5480
|
const unfoldInfo = {
|
5897
|
-
|
5898
|
-
groupId: unfoldInfoList[0].groupId,
|
5481
|
+
...unfoldInfoList[0],
|
5899
5482
|
colorItems: unfoldInfoList.flatMap((d)=>d.colorItems),
|
5900
5483
|
colorIdMap: unfoldInfoList.reduce((prev, cur)=>({
|
5901
5484
|
...prev,
|
@@ -5903,53 +5486,19 @@ const pivotReshapeTo2D2M = (advancedVSeed, context)=>{
|
|
5903
5486
|
}), {})
|
5904
5487
|
};
|
5905
5488
|
const reshapeInfo = {
|
5906
|
-
id:
|
5489
|
+
id: `${chartType}-${index}`,
|
5907
5490
|
index,
|
5908
5491
|
foldInfo: foldInfoList[0],
|
5909
|
-
|
5910
|
-
|
5492
|
+
foldInfoList: foldInfoList,
|
5493
|
+
unfoldInfo: unfoldInfo
|
5911
5494
|
};
|
5912
5495
|
datasetReshapeInfo.push(reshapeInfo);
|
5496
|
+
datasetList.push(datasets.flat(2));
|
5913
5497
|
});
|
5914
5498
|
return {
|
5915
5499
|
...result,
|
5916
5500
|
dataset: datasetList,
|
5917
|
-
datasetReshapeInfo
|
5918
|
-
};
|
5919
|
-
};
|
5920
|
-
const encodingXYY = (advancedVSeed)=>{
|
5921
|
-
const result = {
|
5922
|
-
...advancedVSeed
|
5923
|
-
};
|
5924
|
-
const { datasetReshapeInfo, dimensions } = advancedVSeed;
|
5925
|
-
if (!datasetReshapeInfo || !dimensions) return result;
|
5926
|
-
const xDimension = dimensions.find((item)=>'rowDimension' !== item.location && 'columnDimension' !== item.location) || dimensions[0];
|
5927
|
-
const isZeroDimension = 0 === dimensions.length;
|
5928
|
-
const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
|
5929
|
-
const { foldInfoList, unfoldInfo } = cur;
|
5930
|
-
const x = [
|
5931
|
-
isZeroDimension ? foldInfoList[0].measureName : xDimension?.id
|
5932
|
-
];
|
5933
|
-
const y = foldInfoList.map((d)=>d.measureValue);
|
5934
|
-
const group = [
|
5935
|
-
unfoldInfo.groupId
|
5936
|
-
];
|
5937
|
-
const color = [
|
5938
|
-
foldInfoList[0].measureName
|
5939
|
-
];
|
5940
|
-
return [
|
5941
|
-
...prev,
|
5942
|
-
{
|
5943
|
-
x,
|
5944
|
-
y,
|
5945
|
-
group,
|
5946
|
-
color
|
5947
|
-
}
|
5948
|
-
];
|
5949
|
-
}, []);
|
5950
|
-
return {
|
5951
|
-
...result,
|
5952
|
-
encoding
|
5501
|
+
datasetReshapeInfo: datasetReshapeInfo
|
5953
5502
|
};
|
5954
5503
|
};
|
5955
5504
|
const dualAxisConfig = (advancedVSeed, context)=>{
|
@@ -5978,125 +5527,80 @@ const dualAxisConfig = (advancedVSeed, context)=>{
|
|
5978
5527
|
};
|
5979
5528
|
return result;
|
5980
5529
|
};
|
5981
|
-
const autoDualMeasures = (advancedVSeed, context)=>{
|
5982
|
-
const result = {
|
5983
|
-
...advancedVSeed
|
5984
|
-
};
|
5985
|
-
const { vseed } = context;
|
5986
|
-
const { dataset, dualMeasures, measures } = vseed;
|
5987
|
-
if (!dataset) throw new Error('dataset is required');
|
5988
|
-
if (0 === dataset.length) return result;
|
5989
|
-
if (dualMeasures) {
|
5990
|
-
result.measures = dualMeasuresToMeasureTree(dualMeasures);
|
5991
|
-
return result;
|
5992
|
-
}
|
5993
|
-
if (measures && measureDepth(measures) > 1) {
|
5994
|
-
result.measures = measures;
|
5995
|
-
return result;
|
5996
|
-
}
|
5997
|
-
const top100dataset = dataset.slice(0, 100);
|
5998
|
-
const sample = top100dataset.reduce((prev, cur)=>({
|
5999
|
-
...prev,
|
6000
|
-
...cur
|
6001
|
-
}), {});
|
6002
|
-
const newMeasures = measures || Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
|
6003
|
-
'',
|
6004
|
-
null,
|
6005
|
-
void 0
|
6006
|
-
].includes(key)).map((measure)=>({
|
6007
|
-
id: measure,
|
6008
|
-
alias: measure
|
6009
|
-
}));
|
6010
|
-
if (0 === newMeasures.length) result.measures = [];
|
6011
|
-
else if (1 === newMeasures.length) result.measures = [
|
6012
|
-
{
|
6013
|
-
id: 'primary',
|
6014
|
-
alias: 'primary',
|
6015
|
-
children: newMeasures
|
6016
|
-
}
|
6017
|
-
];
|
6018
|
-
else if (newMeasures.length > 1) result.measures = [
|
6019
|
-
{
|
6020
|
-
id: 'primary',
|
6021
|
-
alias: 'primary',
|
6022
|
-
children: newMeasures.slice(0, 1)
|
6023
|
-
},
|
6024
|
-
{
|
6025
|
-
id: 'secondary',
|
6026
|
-
alias: 'secondary',
|
6027
|
-
children: newMeasures.slice(1)
|
6028
|
-
}
|
6029
|
-
];
|
6030
|
-
return result;
|
6031
|
-
};
|
6032
|
-
const dualMeasuresToMeasureTree = (dualMeasures)=>{
|
6033
|
-
const measureTree = dualMeasures.map((item, index)=>{
|
6034
|
-
const { primaryMeasures, secondaryMeasures } = item;
|
6035
|
-
const groupChildren = [];
|
6036
|
-
let id = '';
|
6037
|
-
if (primaryMeasures) {
|
6038
|
-
const arrPrimaryMeasures = Array.isArray(primaryMeasures) ? primaryMeasures : [
|
6039
|
-
primaryMeasures
|
6040
|
-
];
|
6041
|
-
const alias = arrPrimaryMeasures.map((item)=>item.alias || item.id).toString();
|
6042
|
-
id += alias;
|
6043
|
-
groupChildren.push({
|
6044
|
-
id: `${index}-primary`,
|
6045
|
-
alias: arrPrimaryMeasures.map((item)=>item.alias || item.id).toString(),
|
6046
|
-
children: arrPrimaryMeasures
|
6047
|
-
});
|
6048
|
-
}
|
6049
|
-
if (secondaryMeasures) {
|
6050
|
-
const arrSecondaryMeasures = Array.isArray(secondaryMeasures) ? secondaryMeasures : [
|
6051
|
-
secondaryMeasures
|
6052
|
-
];
|
6053
|
-
const alias = arrSecondaryMeasures.map((item)=>item.alias || item.id).toString();
|
6054
|
-
id += alias;
|
6055
|
-
groupChildren.push({
|
6056
|
-
id: `${index}-secondary`,
|
6057
|
-
alias: arrSecondaryMeasures.map((item)=>item.alias || item.id).toString(),
|
6058
|
-
children: arrSecondaryMeasures
|
6059
|
-
});
|
6060
|
-
}
|
6061
|
-
return {
|
6062
|
-
id,
|
6063
|
-
alias: id,
|
6064
|
-
children: groupChildren
|
6065
|
-
};
|
6066
|
-
});
|
6067
|
-
if (1 === dualMeasures.length) return measureTree[0].children || [];
|
6068
|
-
return measureTree;
|
6069
|
-
};
|
6070
5530
|
const dualAxisAdvancedPipeline = [
|
6071
5531
|
initAdvancedVSeed_initAdvancedVSeed,
|
6072
5532
|
autoDualMeasures,
|
6073
5533
|
autoDimensions_autoDimensions,
|
5534
|
+
encodingForDualAxis,
|
6074
5535
|
pivotAdapter([
|
6075
|
-
|
5536
|
+
reshapeWithDualEncoding
|
6076
5537
|
], [
|
6077
|
-
|
5538
|
+
pivotReshapeWithDualEncoding
|
6078
5539
|
]),
|
6079
|
-
encodingXYY,
|
6080
5540
|
sortXBandAxis,
|
6081
|
-
|
5541
|
+
sortLegend_sortLegend,
|
6082
5542
|
dualAxisConfig,
|
6083
5543
|
theme_theme,
|
6084
5544
|
markStyle_markStyle,
|
6085
5545
|
annotation_annotation
|
6086
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
|
+
};
|
6087
5591
|
const initDualAxisPrimary = (spec, context)=>{
|
6088
5592
|
const result = {
|
6089
5593
|
...spec
|
6090
5594
|
};
|
6091
5595
|
const { advancedVSeed } = context;
|
6092
|
-
const {
|
6093
|
-
|
6094
|
-
result.id = `${
|
5596
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
5597
|
+
const { unfoldInfo, foldInfoList, id } = datasetReshapeInfo[0];
|
5598
|
+
result.id = `${id}-primary-series`;
|
6095
5599
|
result.type = 'bar';
|
6096
5600
|
result.direction = 'vertical';
|
6097
|
-
result.xField =
|
6098
|
-
result.
|
6099
|
-
result.
|
5601
|
+
result.xField = unfoldInfo.encodingX;
|
5602
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
5603
|
+
result.yField = foldInfoList?.[0].measureValue;
|
6100
5604
|
result.animation = true;
|
6101
5605
|
return result;
|
6102
5606
|
};
|
@@ -6105,14 +5609,14 @@ const initDualAxisSecondary = (spec, context)=>{
|
|
6105
5609
|
...spec
|
6106
5610
|
};
|
6107
5611
|
const { advancedVSeed } = context;
|
6108
|
-
const {
|
6109
|
-
|
6110
|
-
result.id = `${
|
5612
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
5613
|
+
const { unfoldInfo, foldInfoList, id } = datasetReshapeInfo[0];
|
5614
|
+
result.id = `${id}-secondary-series`;
|
6111
5615
|
result.type = 'line';
|
6112
5616
|
result.direction = 'vertical';
|
6113
|
-
result.xField =
|
6114
|
-
result.yField =
|
6115
|
-
result.seriesField =
|
5617
|
+
result.xField = unfoldInfo.encodingX;
|
5618
|
+
if (foldInfoList?.[1]) result.yField = foldInfoList[1].measureValue;
|
5619
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
6116
5620
|
result.animation = true;
|
6117
5621
|
return result;
|
6118
5622
|
};
|
@@ -6144,10 +5648,10 @@ const dualChartTypePrimary = (spec, context)=>{
|
|
6144
5648
|
case 'columnParallel':
|
6145
5649
|
{
|
6146
5650
|
const columnSpec = result;
|
6147
|
-
if (Array.isArray(columnSpec.xField)) columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.
|
5651
|
+
if (Array.isArray(columnSpec.xField)) columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.encodingDetail);
|
6148
5652
|
else if (columnSpec.xField) columnSpec.xField = [
|
6149
5653
|
columnSpec.xField,
|
6150
|
-
datasetReshapeInfo[0].unfoldInfo.
|
5654
|
+
datasetReshapeInfo[0].unfoldInfo.encodingDetail
|
6151
5655
|
];
|
6152
5656
|
columnSpec.type = 'bar';
|
6153
5657
|
result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX;
|
@@ -6200,10 +5704,10 @@ const dualChartTypeSecondary = (spec, context)=>{
|
|
6200
5704
|
case 'columnParallel':
|
6201
5705
|
{
|
6202
5706
|
const columnSpec = result;
|
6203
|
-
if (Array.isArray(columnSpec.xField)) columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.
|
5707
|
+
if (Array.isArray(columnSpec.xField)) columnSpec.xField.push(datasetReshapeInfo[0].unfoldInfo.encodingDetail);
|
6204
5708
|
else if (columnSpec.xField) columnSpec.xField = [
|
6205
5709
|
columnSpec.xField,
|
6206
|
-
datasetReshapeInfo[0].unfoldInfo.
|
5710
|
+
datasetReshapeInfo[0].unfoldInfo.encodingDetail
|
6207
5711
|
];
|
6208
5712
|
columnSpec.type = 'bar';
|
6209
5713
|
result.zIndex = DUAL_AXIS_CHART_COLUMN_Z_INDEX;
|
@@ -6230,10 +5734,11 @@ const dualChartTypeSecondary = (spec, context)=>{
|
|
6230
5734
|
};
|
6231
5735
|
const datasetPrimary = (spec, context)=>{
|
6232
5736
|
const { advancedVSeed, vseed } = context;
|
6233
|
-
const {
|
5737
|
+
const { analysis, datasetReshapeInfo } = advancedVSeed;
|
6234
5738
|
const orderMapping = analysis?.orderMapping || {};
|
6235
|
-
const
|
6236
|
-
const
|
5739
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
5740
|
+
const x = unfoldInfo.encodingX;
|
5741
|
+
const colorId = unfoldInfo.encodingColorId;
|
6237
5742
|
const id = datasetReshapeInfo[0].id;
|
6238
5743
|
const fields = {};
|
6239
5744
|
if (x) {
|
@@ -6247,14 +5752,14 @@ const datasetPrimary = (spec, context)=>{
|
|
6247
5752
|
sortIndex: 0
|
6248
5753
|
};
|
6249
5754
|
}
|
6250
|
-
if (
|
6251
|
-
const order = orderMapping[
|
6252
|
-
if (order) fields[
|
5755
|
+
if (colorId) {
|
5756
|
+
const order = orderMapping[colorId];
|
5757
|
+
if (order) fields[colorId] = {
|
6253
5758
|
sortIndex: 0,
|
6254
5759
|
domain: order,
|
6255
5760
|
lockStatisticsByDomain: true
|
6256
5761
|
};
|
6257
|
-
else fields[
|
5762
|
+
else fields[colorId] = {
|
6258
5763
|
sortIndex: 0
|
6259
5764
|
};
|
6260
5765
|
}
|
@@ -6269,10 +5774,11 @@ const datasetPrimary = (spec, context)=>{
|
|
6269
5774
|
};
|
6270
5775
|
const datasetSecondary = (spec, context)=>{
|
6271
5776
|
const { advancedVSeed, vseed } = context;
|
6272
|
-
const {
|
5777
|
+
const { analysis, datasetReshapeInfo } = advancedVSeed;
|
6273
5778
|
const orderMapping = analysis?.orderMapping || {};
|
6274
|
-
const
|
6275
|
-
const
|
5779
|
+
const { unfoldInfo } = datasetReshapeInfo[0];
|
5780
|
+
const x = unfoldInfo.encodingX;
|
5781
|
+
const colorId = unfoldInfo.encodingColorId;
|
6276
5782
|
const id = datasetReshapeInfo[0].id;
|
6277
5783
|
const fields = {};
|
6278
5784
|
if (x) {
|
@@ -6286,14 +5792,14 @@ const datasetSecondary = (spec, context)=>{
|
|
6286
5792
|
sortIndex: 0
|
6287
5793
|
};
|
6288
5794
|
}
|
6289
|
-
if (
|
6290
|
-
const order = orderMapping[
|
6291
|
-
if (order) fields[
|
5795
|
+
if (colorId) {
|
5796
|
+
const order = orderMapping[colorId];
|
5797
|
+
if (order) fields[colorId] = {
|
6292
5798
|
sortIndex: 0,
|
6293
5799
|
domain: order,
|
6294
5800
|
lockStatisticsByDomain: true
|
6295
5801
|
};
|
6296
|
-
else fields[
|
5802
|
+
else fields[colorId] = {
|
6297
5803
|
sortIndex: 0
|
6298
5804
|
};
|
6299
5805
|
}
|
@@ -6391,7 +5897,7 @@ const tooltipPrimary = (spec, context)=>{
|
|
6391
5897
|
const foldInfoList = datasetReshapeInfo[0].foldInfoList;
|
6392
5898
|
const unfoldInfo = datasetReshapeInfo[0].unfoldInfo;
|
6393
5899
|
const { measureId, measureValue, measureName } = foldInfoList[0];
|
6394
|
-
const {
|
5900
|
+
const { encodingColor: colorName } = unfoldInfo;
|
6395
5901
|
result.tooltip = {
|
6396
5902
|
visible: enable,
|
6397
5903
|
mark: {
|
@@ -6412,7 +5918,7 @@ const tooltipPrimary = (spec, context)=>{
|
|
6412
5918
|
{
|
6413
5919
|
visible: true,
|
6414
5920
|
hasShape: true,
|
6415
|
-
key: (datum)=>datum && datum[measureName ||
|
5921
|
+
key: (datum)=>datum && datum[measureName || colorName] || '',
|
6416
5922
|
value: (datum)=>{
|
6417
5923
|
if (!datum) return '';
|
6418
5924
|
const value = datum[measureValue];
|
@@ -6434,7 +5940,7 @@ const tooltipPrimary = (spec, context)=>{
|
|
6434
5940
|
content: [
|
6435
5941
|
{
|
6436
5942
|
visible: true,
|
6437
|
-
key: (datum)=>datum && datum[
|
5943
|
+
key: (datum)=>datum && datum[colorName] || '',
|
6438
5944
|
value: (datum)=>{
|
6439
5945
|
if (!datum) return '';
|
6440
5946
|
const value = datum[measureValue];
|
@@ -6471,7 +5977,7 @@ const tooltipSecondary = (spec, context)=>{
|
|
6471
5977
|
const foldInfoList = datasetReshapeInfo[0].foldInfoList;
|
6472
5978
|
const unfoldInfo = datasetReshapeInfo[0].unfoldInfo;
|
6473
5979
|
const { measureId, measureValue, measureName } = foldInfoList[1];
|
6474
|
-
const {
|
5980
|
+
const { encodingColorId } = unfoldInfo;
|
6475
5981
|
result.tooltip = {
|
6476
5982
|
visible: enable,
|
6477
5983
|
mark: {
|
@@ -6492,7 +5998,7 @@ const tooltipSecondary = (spec, context)=>{
|
|
6492
5998
|
{
|
6493
5999
|
visible: true,
|
6494
6000
|
hasShape: true,
|
6495
|
-
key: (datum)=>datum && datum[measureName ||
|
6001
|
+
key: (datum)=>datum && datum[measureName || encodingColorId] || '',
|
6496
6002
|
value: (datum)=>{
|
6497
6003
|
if (!datum) return '';
|
6498
6004
|
const value = datum[measureValue];
|
@@ -6514,7 +6020,7 @@ const tooltipSecondary = (spec, context)=>{
|
|
6514
6020
|
content: [
|
6515
6021
|
{
|
6516
6022
|
visible: true,
|
6517
|
-
key: (datum)=>datum && datum[
|
6023
|
+
key: (datum)=>datum && datum[encodingColorId] || '',
|
6518
6024
|
value: (datum)=>{
|
6519
6025
|
if (!datum) return '';
|
6520
6026
|
const value = datum[measureValue];
|
@@ -6543,16 +6049,16 @@ const yLinearPrimary = (spec, context)=>{
|
|
6543
6049
|
const { advancedVSeed, vseed } = context;
|
6544
6050
|
const { chartType } = vseed;
|
6545
6051
|
const { locale, datasetReshapeInfo } = advancedVSeed;
|
6546
|
-
const index = datasetReshapeInfo[0]
|
6052
|
+
const { index, id: reshapeInfoId, foldInfoList } = datasetReshapeInfo[0];
|
6547
6053
|
const primaryYAxis = advancedVSeed.config?.[chartType]?.primaryYAxis;
|
6548
6054
|
const yAxisConfig = Array.isArray(primaryYAxis) ? primaryYAxis[index] || primaryYAxis[0] : primaryYAxis;
|
6549
6055
|
const alignTicks = advancedVSeed.config?.[chartType]?.alignTicks;
|
6550
6056
|
const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks;
|
6551
|
-
if (
|
6552
|
-
const id = `${
|
6057
|
+
if (foldInfoList?.[0] && (0, external_remeda_namespaceObject.isEmpty)(foldInfoList[0].foldMap)) return result;
|
6058
|
+
const id = `${reshapeInfoId}-primary-axis`;
|
6553
6059
|
const seriesIds = [
|
6554
|
-
`${
|
6555
|
-
`${
|
6060
|
+
`${reshapeInfoId}-primary-series`,
|
6061
|
+
`${reshapeInfoId}-secondary-series`
|
6556
6062
|
];
|
6557
6063
|
const seriesId = alignTicksConfig ? seriesIds : seriesIds[0];
|
6558
6064
|
if (!result.axes) result.axes = [];
|
@@ -6640,20 +6146,20 @@ const yLinearSecondary = (spec, context)=>{
|
|
6640
6146
|
const { advancedVSeed, vseed } = context;
|
6641
6147
|
const { chartType } = vseed;
|
6642
6148
|
const { locale, datasetReshapeInfo } = advancedVSeed;
|
6643
|
-
const index = datasetReshapeInfo[0]
|
6149
|
+
const { index, id: reshapeInfoId, foldInfoList } = datasetReshapeInfo[0];
|
6644
6150
|
const secondaryYAxis = advancedVSeed.config?.[chartType]?.secondaryYAxis;
|
6645
6151
|
const yAxisConfig = Array.isArray(secondaryYAxis) ? secondaryYAxis[index] || secondaryYAxis[0] : secondaryYAxis;
|
6646
6152
|
const alignTicks = advancedVSeed.config?.[chartType]?.alignTicks;
|
6647
6153
|
const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks;
|
6648
|
-
if ((0, external_remeda_namespaceObject.isNullish)(
|
6154
|
+
if ((0, external_remeda_namespaceObject.isNullish)(foldInfoList?.[1])) return result;
|
6649
6155
|
const sync = {
|
6650
|
-
axisId: `${
|
6156
|
+
axisId: `${reshapeInfoId}-primary-axis`,
|
6651
6157
|
zeroAlign: true
|
6652
6158
|
};
|
6653
|
-
const id = `${
|
6159
|
+
const id = `${reshapeInfoId}-secondary-axis`;
|
6654
6160
|
const seriesIds = [
|
6655
|
-
`${
|
6656
|
-
`${
|
6161
|
+
`${reshapeInfoId}-primary-series`,
|
6162
|
+
`${reshapeInfoId}-secondary-series`
|
6657
6163
|
];
|
6658
6164
|
const seriesId = alignTicksConfig ? seriesIds : seriesIds[1];
|
6659
6165
|
if (!result.axes) result.axes = [];
|
@@ -6794,210 +6300,74 @@ const pivotDualAxis = [
|
|
6794
6300
|
areaStyle_areaStyle
|
6795
6301
|
], [
|
6796
6302
|
initDualAxisSecondary,
|
6797
|
-
dualChartTypeSecondary,
|
6798
|
-
datasetSecondary,
|
6799
|
-
labelSecondary,
|
6800
|
-
tooltipSecondary,
|
6801
|
-
progressive,
|
6802
|
-
barStyle_barStyle,
|
6803
|
-
pointStyle_pointStyle,
|
6804
|
-
pointStateDimensionHover,
|
6805
|
-
lineStyle_lineStyle,
|
6806
|
-
areaStyle_areaStyle
|
6807
|
-
]),
|
6808
|
-
xBand,
|
6809
|
-
yLinearPrimary,
|
6810
|
-
yLinearSecondary,
|
6811
|
-
color_color,
|
6812
|
-
background_backgroundColor,
|
6813
|
-
verticalCrosshairRect,
|
6814
|
-
annotationPoint_annotationPoint,
|
6815
|
-
annotationVerticalLine_annotationVerticalLine,
|
6816
|
-
annotationHorizontalLine_annotationHorizontalLine,
|
6817
|
-
annotationArea_annotationArea
|
6818
|
-
]),
|
6819
|
-
pivotRowDimensions,
|
6820
|
-
pivotColumnDimensions,
|
6821
|
-
pivotDiscreteLegend
|
6822
|
-
];
|
6823
|
-
const dualAxisSpecPipeline = [
|
6824
|
-
pivotAdapter_pivotAdapter(dualAxis, pivotDualAxis)
|
6825
|
-
];
|
6826
|
-
const registerDualAxis = ()=>{
|
6827
|
-
Builder._advancedPipelineMap.dualAxis = dualAxisAdvancedPipeline;
|
6828
|
-
Builder._specPipelineMap.dualAxis = dualAxisSpecPipeline;
|
6829
|
-
};
|
6830
|
-
const dataReshapeFor1D1M_emptyReshapeResult = {
|
6831
|
-
dataset: [],
|
6832
|
-
foldInfo: {
|
6833
|
-
foldMap: {},
|
6834
|
-
measureId: '',
|
6835
|
-
measureName: '',
|
6836
|
-
measureValue: ''
|
6837
|
-
},
|
6838
|
-
unfoldInfo: {
|
6839
|
-
groupName: '',
|
6840
|
-
groupId: '',
|
6841
|
-
colorItems: [],
|
6842
|
-
colorIdMap: {}
|
6843
|
-
}
|
6844
|
-
};
|
6845
|
-
const dataReshapeFor1D1M = (dataset, dimensions, measures, options)=>{
|
6846
|
-
const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue, unfoldDimensionGroup = UnfoldDimensionGroup, unfoldDimensionGroupId = UnfoldDimensionGroupId } = options || {};
|
6847
|
-
if (0 === dimensions.length && 0 === measures.length) return dataReshapeFor1D1M_emptyReshapeResult;
|
6848
|
-
const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures, foldMeasureId, foldMeasureName, foldMeasureValue);
|
6849
|
-
if (0 === dimensions.length) {
|
6850
|
-
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, [
|
6851
|
-
{
|
6852
|
-
id: foldMeasureName,
|
6853
|
-
alias: i18n`指标名称`,
|
6854
|
-
location: 'dimension'
|
6855
|
-
}
|
6856
|
-
], [
|
6857
|
-
{
|
6858
|
-
id: foldMeasureValue,
|
6859
|
-
alias: i18n`指标值`
|
6860
|
-
}
|
6861
|
-
], 0, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
|
6862
|
-
return {
|
6863
|
-
dataset: finalDataset,
|
6864
|
-
foldInfo,
|
6865
|
-
unfoldInfo
|
6866
|
-
};
|
6867
|
-
}
|
6868
|
-
{
|
6869
|
-
const dims = 1 === measures.length ? [
|
6870
|
-
...dimensions
|
6871
|
-
] : [
|
6872
|
-
...dimensions,
|
6873
|
-
{
|
6874
|
-
id: foldMeasureName,
|
6875
|
-
alias: i18n`指标名称`,
|
6876
|
-
location: 'dimension'
|
6877
|
-
}
|
6878
|
-
];
|
6879
|
-
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dims, [
|
6880
|
-
{
|
6881
|
-
id: foldMeasureValue,
|
6882
|
-
alias: i18n`指标值`
|
6883
|
-
}
|
6884
|
-
], 0, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
|
6885
|
-
return {
|
6886
|
-
dataset: finalDataset,
|
6887
|
-
foldInfo,
|
6888
|
-
unfoldInfo
|
6889
|
-
};
|
6890
|
-
}
|
6891
|
-
};
|
6892
|
-
const reshapeTo1D1M = (advancedVSeed, context)=>{
|
6893
|
-
const result = {
|
6894
|
-
...advancedVSeed
|
6895
|
-
};
|
6896
|
-
const { vseed } = context;
|
6897
|
-
const { dataset } = vseed;
|
6898
|
-
const { dimensions, measures } = advancedVSeed;
|
6899
|
-
if (!measures || !dimensions || !dataset) return result;
|
6900
|
-
if (0 === measures.length) throw new Error('measures can not be empty');
|
6901
|
-
const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor1D1M(dataset, dimensions, measures);
|
6902
|
-
return {
|
6903
|
-
...result,
|
6904
|
-
dataset: newDatasets,
|
6905
|
-
datasetReshapeInfo: [
|
6906
|
-
{
|
6907
|
-
id: '1D1M',
|
6908
|
-
index: 0,
|
6909
|
-
foldInfo,
|
6910
|
-
unfoldInfo
|
6911
|
-
}
|
6912
|
-
]
|
6913
|
-
};
|
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;
|
6914
6335
|
};
|
6915
|
-
const
|
6916
|
-
const result = {
|
6917
|
-
...advancedVSeed
|
6918
|
-
};
|
6336
|
+
const encodingForPie = (advancedVSeed, context)=>{
|
6919
6337
|
const { vseed } = context;
|
6920
|
-
const {
|
6921
|
-
|
6922
|
-
const
|
6923
|
-
if (
|
6924
|
-
|
6925
|
-
|
6926
|
-
|
6927
|
-
|
6928
|
-
const newDatasets = [];
|
6929
|
-
const datasetReshapeInfo = [];
|
6930
|
-
measureGroups.forEach((measureGroup, index)=>{
|
6931
|
-
const measures = measureGroup.children;
|
6932
|
-
if (!measures) return;
|
6933
|
-
const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
|
6934
|
-
const groupId = measureGroup.id;
|
6935
|
-
const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeFor1D1M(dataset, commonDimensions, measures, {
|
6936
|
-
foldMeasureId: FoldMeasureId,
|
6937
|
-
foldMeasureName: FoldMeasureName,
|
6938
|
-
foldMeasureValue: FoldMeasureValue + groupId,
|
6939
|
-
unfoldDimensionGroup: UnfoldDimensionGroup
|
6940
|
-
});
|
6941
|
-
const reshapeInfo = {
|
6942
|
-
id: groupId,
|
6943
|
-
index,
|
6944
|
-
foldInfo,
|
6945
|
-
unfoldInfo
|
6946
|
-
};
|
6947
|
-
newDatasets.push(newSubDataset);
|
6948
|
-
datasetReshapeInfo.push(reshapeInfo);
|
6949
|
-
});
|
6950
|
-
return {
|
6951
|
-
...result,
|
6952
|
-
dataset: newDatasets,
|
6953
|
-
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
|
+
}
|
6954
6346
|
};
|
6955
|
-
|
6956
|
-
|
6957
|
-
|
6958
|
-
|
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: []
|
6959
6355
|
};
|
6960
|
-
const { datasetReshapeInfo } = advancedVSeed;
|
6961
|
-
if (!datasetReshapeInfo) return result;
|
6962
|
-
const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
|
6963
|
-
const { foldInfo, unfoldInfo } = cur;
|
6964
|
-
const radius = [
|
6965
|
-
foldInfo.measureValue
|
6966
|
-
];
|
6967
|
-
const angle = [
|
6968
|
-
unfoldInfo.groupId
|
6969
|
-
];
|
6970
|
-
const group = [
|
6971
|
-
unfoldInfo.groupId
|
6972
|
-
];
|
6973
|
-
const color = [
|
6974
|
-
unfoldInfo.groupId
|
6975
|
-
];
|
6976
|
-
return [
|
6977
|
-
...prev,
|
6978
|
-
{
|
6979
|
-
angle,
|
6980
|
-
radius,
|
6981
|
-
group,
|
6982
|
-
color
|
6983
|
-
}
|
6984
|
-
];
|
6985
|
-
}, []);
|
6986
6356
|
return {
|
6987
|
-
...
|
6988
|
-
encoding
|
6357
|
+
...advancedVSeed,
|
6358
|
+
encoding: mergedEncoding
|
6989
6359
|
};
|
6990
6360
|
};
|
6991
6361
|
const pieAdvancedPipeline = [
|
6992
6362
|
initAdvancedVSeed_initAdvancedVSeed,
|
6993
6363
|
autoMeasures_autoMeasures,
|
6994
6364
|
autoDimensions_autoDimensions,
|
6365
|
+
encodingForPie,
|
6995
6366
|
pivotAdapter([
|
6996
|
-
|
6367
|
+
reshapeWithEncoding
|
6997
6368
|
], [
|
6998
|
-
|
6369
|
+
pivotReshapeWithEncoding
|
6999
6370
|
]),
|
7000
|
-
encodingPie,
|
7001
6371
|
pieConfig,
|
7002
6372
|
theme_theme,
|
7003
6373
|
annotation_annotation
|
@@ -7007,15 +6377,15 @@ const initPie = (spec, context)=>{
|
|
7007
6377
|
...spec
|
7008
6378
|
};
|
7009
6379
|
const { advancedVSeed } = context;
|
7010
|
-
const {
|
7011
|
-
|
6380
|
+
const { datasetReshapeInfo, dataset } = advancedVSeed;
|
6381
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
7012
6382
|
const showStroke = dataset.length <= 30;
|
7013
6383
|
result.type = 'pie';
|
7014
6384
|
result.outerRadius = 0.8;
|
7015
6385
|
result.innerRadius = 0;
|
7016
|
-
result.valueField =
|
7017
|
-
result.categoryField =
|
7018
|
-
result.seriesField =
|
6386
|
+
result.valueField = foldInfo.measureValue;
|
6387
|
+
result.categoryField = unfoldInfo.encodingAngle;
|
6388
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
7019
6389
|
result.padding = 0;
|
7020
6390
|
result.region = [
|
7021
6391
|
{
|
@@ -7084,12 +6454,12 @@ const donutAdvancedPipeline = [
|
|
7084
6454
|
initAdvancedVSeed_initAdvancedVSeed,
|
7085
6455
|
autoMeasures_autoMeasures,
|
7086
6456
|
autoDimensions_autoDimensions,
|
6457
|
+
encodingForPie,
|
7087
6458
|
pivotAdapter([
|
7088
|
-
|
6459
|
+
reshapeWithEncoding
|
7089
6460
|
], [
|
7090
|
-
|
6461
|
+
pivotReshapeWithEncoding
|
7091
6462
|
]),
|
7092
|
-
encodingPie,
|
7093
6463
|
donutConfig,
|
7094
6464
|
theme_theme,
|
7095
6465
|
annotation_annotation
|
@@ -7099,15 +6469,15 @@ const initDonut = (spec, context)=>{
|
|
7099
6469
|
...spec
|
7100
6470
|
};
|
7101
6471
|
const { advancedVSeed } = context;
|
7102
|
-
const {
|
7103
|
-
|
6472
|
+
const { datasetReshapeInfo, dataset } = advancedVSeed;
|
6473
|
+
const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
|
7104
6474
|
const showStroke = dataset.length <= 30;
|
7105
6475
|
result.type = 'pie';
|
7106
6476
|
result.outerRadius = 0.8;
|
7107
6477
|
result.innerRadius = 0.8 * result.outerRadius;
|
7108
|
-
result.valueField =
|
7109
|
-
result.categoryField =
|
7110
|
-
result.seriesField =
|
6478
|
+
result.valueField = foldInfo.measureValue;
|
6479
|
+
result.categoryField = unfoldInfo.encodingDetail;
|
6480
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
7111
6481
|
result.padding = 0;
|
7112
6482
|
result.region = [
|
7113
6483
|
{
|
@@ -7171,54 +6541,52 @@ const registerDonut = ()=>{
|
|
7171
6541
|
Builder._advancedPipelineMap.donut = donutAdvancedPipeline;
|
7172
6542
|
Builder._specPipelineMap.donut = donutSpecPipeline;
|
7173
6543
|
};
|
7174
|
-
const
|
7175
|
-
const
|
7176
|
-
|
7177
|
-
|
7178
|
-
const
|
7179
|
-
if (
|
7180
|
-
|
7181
|
-
|
7182
|
-
|
7183
|
-
|
7184
|
-
|
7185
|
-
|
7186
|
-
foldInfo.measureValue
|
7187
|
-
];
|
7188
|
-
const angle = [
|
7189
|
-
isZeroDimension ? foldInfo.measureName : angleDimension?.id
|
7190
|
-
];
|
7191
|
-
const group = [
|
7192
|
-
is1D1M ? angleDimension?.id : unfoldInfo.groupId
|
7193
|
-
];
|
7194
|
-
const color = [
|
7195
|
-
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
|
7196
6556
|
];
|
7197
|
-
return
|
7198
|
-
...
|
7199
|
-
{
|
7200
|
-
|
7201
|
-
|
7202
|
-
group,
|
7203
|
-
color
|
6557
|
+
return {
|
6558
|
+
...advancedVSeed,
|
6559
|
+
encoding: {
|
6560
|
+
...encoding,
|
6561
|
+
detail: mergedDetail
|
7204
6562
|
}
|
7205
|
-
|
7206
|
-
}
|
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
|
+
};
|
7207
6575
|
return {
|
7208
|
-
...
|
7209
|
-
encoding
|
6576
|
+
...advancedVSeed,
|
6577
|
+
encoding: mergedEncoding
|
7210
6578
|
};
|
7211
6579
|
};
|
7212
6580
|
const roseAdvancedPipeline = [
|
7213
6581
|
initAdvancedVSeed_initAdvancedVSeed,
|
7214
6582
|
autoMeasures_autoMeasures,
|
7215
6583
|
autoDimensions_autoDimensions,
|
6584
|
+
encodingForRose,
|
7216
6585
|
pivotAdapter([
|
7217
|
-
|
6586
|
+
reshapeWithEncoding
|
7218
6587
|
], [
|
7219
|
-
|
6588
|
+
pivotReshapeWithEncoding
|
7220
6589
|
]),
|
7221
|
-
encodingRose,
|
7222
6590
|
roseConfig,
|
7223
6591
|
theme_theme,
|
7224
6592
|
markStyle_markStyle,
|
@@ -7229,13 +6597,12 @@ const initRose = (spec, context)=>{
|
|
7229
6597
|
...spec
|
7230
6598
|
};
|
7231
6599
|
const { advancedVSeed } = context;
|
7232
|
-
const {
|
7233
|
-
const { foldInfo } = datasetReshapeInfo[0];
|
7234
|
-
if (!encoding[0].radius || !encoding[0].angle || !encoding[0].group) return result;
|
6600
|
+
const { dataset, datasetReshapeInfo } = advancedVSeed;
|
6601
|
+
const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
|
7235
6602
|
result.type = 'rose';
|
7236
|
-
result.categoryField =
|
7237
|
-
result.
|
7238
|
-
result.
|
6603
|
+
result.categoryField = unfoldInfo.encodingAngle;
|
6604
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
6605
|
+
result.valueField = foldInfo.measureValue;
|
7239
6606
|
result.padding = 0;
|
7240
6607
|
result.outerRadius = 0.9;
|
7241
6608
|
result.innerRadius = 0;
|
@@ -7383,12 +6750,12 @@ const roseParallelAdvancedPipeline = [
|
|
7383
6750
|
initAdvancedVSeed_initAdvancedVSeed,
|
7384
6751
|
autoMeasures_autoMeasures,
|
7385
6752
|
autoDimensions_autoDimensions,
|
6753
|
+
encodingForRose,
|
7386
6754
|
pivotAdapter([
|
7387
|
-
|
6755
|
+
reshapeWithEncoding
|
7388
6756
|
], [
|
7389
|
-
|
6757
|
+
pivotReshapeWithEncoding
|
7390
6758
|
]),
|
7391
|
-
encodingRose,
|
7392
6759
|
roseParallelConfig,
|
7393
6760
|
theme_theme,
|
7394
6761
|
markStyle_markStyle,
|
@@ -7399,16 +6766,18 @@ const initRoseParallel = (spec, context)=>{
|
|
7399
6766
|
...spec
|
7400
6767
|
};
|
7401
6768
|
const { advancedVSeed } = context;
|
7402
|
-
const {
|
6769
|
+
const { datasetReshapeInfo, dataset, dimensions } = advancedVSeed;
|
7403
6770
|
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
7404
|
-
|
6771
|
+
const sameDimensionsMode = dimensions.length > 1 && dimensions.every((dim)=>dim.id === dimensions[0].id);
|
7405
6772
|
result.type = 'rose';
|
7406
|
-
result.categoryField = [
|
7407
|
-
|
7408
|
-
|
6773
|
+
result.categoryField = sameDimensionsMode ? [
|
6774
|
+
unfoldInfo.encodingAngle
|
6775
|
+
] : [
|
6776
|
+
unfoldInfo.encodingAngle,
|
6777
|
+
unfoldInfo.encodingDetail
|
7409
6778
|
];
|
7410
|
-
result.valueField =
|
7411
|
-
result.seriesField =
|
6779
|
+
result.valueField = foldInfo.measureValue;
|
6780
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
7412
6781
|
result.padding = 0;
|
7413
6782
|
result.outerRadius = 0.9;
|
7414
6783
|
result.innerRadius = 0;
|
@@ -7485,54 +6854,52 @@ const registerRoseParallel = ()=>{
|
|
7485
6854
|
Builder._advancedPipelineMap.roseParallel = roseParallelAdvancedPipeline;
|
7486
6855
|
Builder._specPipelineMap.roseParallel = roseParallelSpecPipeline;
|
7487
6856
|
};
|
7488
|
-
const
|
7489
|
-
const
|
7490
|
-
|
7491
|
-
|
7492
|
-
const
|
7493
|
-
if (
|
7494
|
-
|
7495
|
-
|
7496
|
-
|
7497
|
-
const
|
7498
|
-
|
7499
|
-
|
7500
|
-
];
|
7501
|
-
const radius = [
|
7502
|
-
foldInfo.measureValue
|
7503
|
-
];
|
7504
|
-
const group = [
|
7505
|
-
unfoldInfo.groupId
|
7506
|
-
];
|
7507
|
-
const color = [
|
7508
|
-
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
|
7509
6869
|
];
|
7510
|
-
return
|
7511
|
-
...
|
7512
|
-
{
|
7513
|
-
|
7514
|
-
|
7515
|
-
group,
|
7516
|
-
color
|
6870
|
+
return {
|
6871
|
+
...advancedVSeed,
|
6872
|
+
encoding: {
|
6873
|
+
...encoding,
|
6874
|
+
detail: mergedDetail
|
7517
6875
|
}
|
7518
|
-
|
7519
|
-
}
|
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
|
+
};
|
7520
6887
|
return {
|
7521
|
-
...
|
7522
|
-
encoding
|
6888
|
+
...advancedVSeed,
|
6889
|
+
encoding: mergedEncoding
|
7523
6890
|
};
|
7524
6891
|
};
|
7525
6892
|
const radarAdvancedPipeline = [
|
7526
6893
|
initAdvancedVSeed_initAdvancedVSeed,
|
7527
6894
|
autoMeasures_autoMeasures,
|
7528
6895
|
autoDimensions_autoDimensions,
|
6896
|
+
encodingForRadar,
|
7529
6897
|
pivotAdapter([
|
7530
|
-
|
6898
|
+
reshapeWithEncoding
|
7531
6899
|
], [
|
7532
|
-
|
6900
|
+
pivotReshapeWithEncoding
|
7533
6901
|
]),
|
7534
|
-
|
7535
|
-
sort_sortLegend,
|
6902
|
+
sortLegend_sortLegend,
|
7536
6903
|
radarConfig,
|
7537
6904
|
theme_theme,
|
7538
6905
|
markStyle_markStyle,
|
@@ -7543,12 +6910,12 @@ const initRadar = (spec, context)=>{
|
|
7543
6910
|
...spec
|
7544
6911
|
};
|
7545
6912
|
const { advancedVSeed } = context;
|
7546
|
-
const {
|
7547
|
-
|
6913
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
6914
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
7548
6915
|
result.type = 'radar';
|
7549
|
-
result.angleField =
|
7550
|
-
result.radiusField =
|
7551
|
-
result.seriesField =
|
6916
|
+
result.angleField = unfoldInfo.encodingAngle;
|
6917
|
+
result.radiusField = foldInfo.measureValue;
|
6918
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
7552
6919
|
result.padding = 0;
|
7553
6920
|
result.region = [
|
7554
6921
|
{
|
@@ -7660,47 +7027,40 @@ const registerRadar = ()=>{
|
|
7660
7027
|
Builder._advancedPipelineMap.radar = radarAdvancedPipeline;
|
7661
7028
|
Builder._specPipelineMap.radar = radarSpecPipeline;
|
7662
7029
|
};
|
7663
|
-
const
|
7664
|
-
const
|
7665
|
-
|
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: []
|
7666
7048
|
};
|
7667
|
-
const { datasetReshapeInfo } = advancedVSeed;
|
7668
|
-
if (!datasetReshapeInfo) return result;
|
7669
|
-
const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
|
7670
|
-
const { foldInfo, unfoldInfo } = cur;
|
7671
|
-
const size = [
|
7672
|
-
foldInfo.measureValue
|
7673
|
-
];
|
7674
|
-
const group = [
|
7675
|
-
unfoldInfo.groupId
|
7676
|
-
];
|
7677
|
-
const color = [
|
7678
|
-
foldInfo.measureValue
|
7679
|
-
];
|
7680
|
-
return [
|
7681
|
-
...prev,
|
7682
|
-
{
|
7683
|
-
size,
|
7684
|
-
group,
|
7685
|
-
color
|
7686
|
-
}
|
7687
|
-
];
|
7688
|
-
}, []);
|
7689
7049
|
return {
|
7690
|
-
...
|
7691
|
-
encoding
|
7050
|
+
...advancedVSeed,
|
7051
|
+
encoding: mergedEncoding
|
7692
7052
|
};
|
7693
7053
|
};
|
7694
7054
|
const funnelAdvancedPipeline = [
|
7695
7055
|
initAdvancedVSeed_initAdvancedVSeed,
|
7696
7056
|
autoMeasures_autoMeasures,
|
7697
7057
|
autoDimensions_autoDimensions,
|
7058
|
+
encodingForFunnel,
|
7698
7059
|
pivotAdapter([
|
7699
|
-
|
7060
|
+
reshapeWithEncoding
|
7700
7061
|
], [
|
7701
|
-
|
7062
|
+
pivotReshapeWithEncoding
|
7702
7063
|
]),
|
7703
|
-
encodingFunnel,
|
7704
7064
|
funnelConfig,
|
7705
7065
|
theme_theme,
|
7706
7066
|
annotation_annotation
|
@@ -7710,11 +7070,12 @@ const initFunnel = (spec, context)=>{
|
|
7710
7070
|
...spec
|
7711
7071
|
};
|
7712
7072
|
const { advancedVSeed } = context;
|
7713
|
-
const {
|
7714
|
-
|
7073
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
7074
|
+
const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
|
7715
7075
|
result.type = 'funnel';
|
7716
|
-
result.valueField =
|
7717
|
-
result.categoryField =
|
7076
|
+
result.valueField = foldInfo.measureValue;
|
7077
|
+
result.categoryField = unfoldInfo.encodingDetail;
|
7078
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
7718
7079
|
result.padding = 0;
|
7719
7080
|
result.isTransform = true;
|
7720
7081
|
result.shape = 'rect';
|
@@ -7729,7 +7090,7 @@ const initFunnel = (spec, context)=>{
|
|
7729
7090
|
style: {
|
7730
7091
|
cornerRadius: 4,
|
7731
7092
|
fill: {
|
7732
|
-
field:
|
7093
|
+
field: unfoldInfo.encodingColorId,
|
7733
7094
|
scale: 'color'
|
7734
7095
|
}
|
7735
7096
|
},
|
@@ -7745,99 +7106,13 @@ const initFunnel = (spec, context)=>{
|
|
7745
7106
|
result.animation = true;
|
7746
7107
|
return result;
|
7747
7108
|
};
|
7748
|
-
const linearColor = (spec, context)=>{
|
7749
|
-
const result = {
|
7750
|
-
...spec
|
7751
|
-
};
|
7752
|
-
const { advancedVSeed } = context;
|
7753
|
-
const { datasetReshapeInfo, chartType, encoding } = advancedVSeed;
|
7754
|
-
const baseConfig = advancedVSeed.config[chartType];
|
7755
|
-
if (!baseConfig || !baseConfig.color) return result;
|
7756
|
-
const { color } = baseConfig;
|
7757
|
-
const { colorScheme } = color;
|
7758
|
-
result.color = {
|
7759
|
-
type: 'linear',
|
7760
|
-
domain: [
|
7761
|
-
{
|
7762
|
-
dataId: datasetReshapeInfo[0].id,
|
7763
|
-
fields: encoding?.[0]?.color
|
7764
|
-
}
|
7765
|
-
],
|
7766
|
-
range: colorScheme
|
7767
|
-
};
|
7768
|
-
return result;
|
7769
|
-
};
|
7770
|
-
const colorLegend = (spec, context)=>{
|
7771
|
-
const result = {
|
7772
|
-
...spec
|
7773
|
-
};
|
7774
|
-
const { advancedVSeed } = context;
|
7775
|
-
const { chartType } = advancedVSeed;
|
7776
|
-
const baseConfig = advancedVSeed.config[chartType];
|
7777
|
-
const { encoding } = advancedVSeed;
|
7778
|
-
if (!encoding[0].color) return result;
|
7779
|
-
if (!baseConfig || !baseConfig.legend) return result;
|
7780
|
-
const { legend } = baseConfig;
|
7781
|
-
const { enable, position = 'bottom' } = legend || {};
|
7782
|
-
const orient = [
|
7783
|
-
'bottom',
|
7784
|
-
'bottomLeft',
|
7785
|
-
'bottomRight',
|
7786
|
-
'bl',
|
7787
|
-
'br'
|
7788
|
-
].includes(position) ? 'bottom' : [
|
7789
|
-
'top',
|
7790
|
-
'topLeft',
|
7791
|
-
'topRight',
|
7792
|
-
'tl',
|
7793
|
-
'tr'
|
7794
|
-
].includes(position) ? 'top' : [
|
7795
|
-
'left',
|
7796
|
-
'leftTop',
|
7797
|
-
'leftBottom',
|
7798
|
-
'lt',
|
7799
|
-
'lb'
|
7800
|
-
].includes(position) ? 'left' : 'right';
|
7801
|
-
const legendPosition = [
|
7802
|
-
'topLeft',
|
7803
|
-
'bottomLeft',
|
7804
|
-
'leftTop',
|
7805
|
-
'rightTop',
|
7806
|
-
'lt',
|
7807
|
-
'rt',
|
7808
|
-
'tl',
|
7809
|
-
'bl'
|
7810
|
-
].includes(position) ? 'start' : [
|
7811
|
-
'topRight',
|
7812
|
-
'bottomRight',
|
7813
|
-
'leftBottom',
|
7814
|
-
'rightBottom',
|
7815
|
-
'lb',
|
7816
|
-
'rb',
|
7817
|
-
'rt',
|
7818
|
-
'br'
|
7819
|
-
].includes(position) ? 'end' : 'middle';
|
7820
|
-
result.legends = {
|
7821
|
-
type: 'color',
|
7822
|
-
visible: enable,
|
7823
|
-
orient,
|
7824
|
-
position: legendPosition,
|
7825
|
-
field: encoding[0].color[0],
|
7826
|
-
inverse: !![
|
7827
|
-
'left',
|
7828
|
-
'right'
|
7829
|
-
].includes(orient)
|
7830
|
-
};
|
7831
|
-
return result;
|
7832
|
-
};
|
7833
7109
|
const funnel = [
|
7834
7110
|
initFunnel,
|
7835
|
-
linearColor,
|
7836
7111
|
background_backgroundColor,
|
7837
7112
|
datasetXY,
|
7838
7113
|
label_label,
|
7839
7114
|
tooltip_tooltip,
|
7840
|
-
|
7115
|
+
discreteLegend,
|
7841
7116
|
annotationPoint_annotationPoint,
|
7842
7117
|
annotationVerticalLine_annotationVerticalLine,
|
7843
7118
|
annotationHorizontalLine_annotationHorizontalLine,
|
@@ -7850,12 +7125,11 @@ const pivotFunnel = [
|
|
7850
7125
|
datasetPivot,
|
7851
7126
|
pivotIndicators_pivotIndicators([
|
7852
7127
|
initFunnel,
|
7853
|
-
linearColor,
|
7854
7128
|
background_backgroundColor,
|
7855
7129
|
datasetXY,
|
7856
7130
|
label_label,
|
7857
7131
|
tooltip_tooltip,
|
7858
|
-
|
7132
|
+
discreteLegend,
|
7859
7133
|
annotationPoint_annotationPoint,
|
7860
7134
|
annotationVerticalLine_annotationVerticalLine,
|
7861
7135
|
annotationHorizontalLine_annotationHorizontalLine,
|
@@ -7871,49 +7145,42 @@ const registerFunnel = ()=>{
|
|
7871
7145
|
Builder._advancedPipelineMap.funnel = funnelAdvancedPipeline;
|
7872
7146
|
Builder._specPipelineMap.funnel = funnelSpecPipeline;
|
7873
7147
|
};
|
7874
|
-
const
|
7875
|
-
const
|
7876
|
-
|
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: []
|
7877
7168
|
};
|
7878
|
-
const { datasetReshapeInfo, dimensions } = advancedVSeed;
|
7879
|
-
if (!datasetReshapeInfo || !dimensions) return result;
|
7880
|
-
const xDimension = dimensions.find((item)=>'rowDimension' !== item.location && 'columnDimension' !== item.location) || dimensions[0];
|
7881
|
-
const isZeroDimension = 0 === dimensions.length;
|
7882
|
-
const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
|
7883
|
-
const { foldInfo, unfoldInfo } = cur;
|
7884
|
-
const x = [
|
7885
|
-
isZeroDimension ? foldInfo.measureName : xDimension?.id
|
7886
|
-
];
|
7887
|
-
const y = [
|
7888
|
-
unfoldInfo.groupName
|
7889
|
-
];
|
7890
|
-
const color = [
|
7891
|
-
foldInfo.measureValue
|
7892
|
-
];
|
7893
|
-
return [
|
7894
|
-
...prev,
|
7895
|
-
{
|
7896
|
-
x,
|
7897
|
-
y,
|
7898
|
-
color
|
7899
|
-
}
|
7900
|
-
];
|
7901
|
-
}, []);
|
7902
7169
|
return {
|
7903
|
-
...
|
7904
|
-
encoding
|
7170
|
+
...advancedVSeed,
|
7171
|
+
encoding: mergedEncoding
|
7905
7172
|
};
|
7906
7173
|
};
|
7907
7174
|
const heatmapAdvancedPipeline = [
|
7908
7175
|
initAdvancedVSeed_initAdvancedVSeed,
|
7909
7176
|
autoMeasures_autoMeasures,
|
7910
7177
|
autoDimensions_autoDimensions,
|
7178
|
+
encodingForHeatmap,
|
7911
7179
|
pivotAdapter([
|
7912
|
-
|
7180
|
+
reshapeWithEncoding
|
7913
7181
|
], [
|
7914
|
-
|
7182
|
+
pivotReshapeWithEncoding
|
7915
7183
|
]),
|
7916
|
-
encodingMatrix,
|
7917
7184
|
sortXBandAxis,
|
7918
7185
|
heatmapConfig,
|
7919
7186
|
theme_theme,
|
@@ -7935,23 +7202,20 @@ const initHeatmap = (spec, context)=>{
|
|
7935
7202
|
...spec
|
7936
7203
|
};
|
7937
7204
|
const { advancedVSeed } = context;
|
7938
|
-
const {
|
7939
|
-
|
7205
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
7206
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
7940
7207
|
result.type = 'heatmap';
|
7941
7208
|
result.direction = 'vertical';
|
7942
|
-
result.xField =
|
7943
|
-
result.yField =
|
7944
|
-
result.
|
7209
|
+
result.xField = unfoldInfo.encodingX;
|
7210
|
+
result.yField = unfoldInfo.encodingY;
|
7211
|
+
result.seriesField = unfoldInfo.encodingColorId;
|
7212
|
+
result.valueField = foldInfo.measureValue;
|
7945
7213
|
result.padding = 0;
|
7946
7214
|
result.cell = {
|
7947
7215
|
style: {
|
7948
7216
|
shape: 'rect',
|
7949
7217
|
stroke: '#ffffff',
|
7950
|
-
lineWidth: 1
|
7951
|
-
fill: {
|
7952
|
-
field: encoding[0].color[0],
|
7953
|
-
scale: 'color'
|
7954
|
-
}
|
7218
|
+
lineWidth: 1
|
7955
7219
|
}
|
7956
7220
|
};
|
7957
7221
|
result.axes = [
|
@@ -7976,12 +7240,11 @@ const initHeatmap = (spec, context)=>{
|
|
7976
7240
|
};
|
7977
7241
|
const heatmap = [
|
7978
7242
|
initHeatmap,
|
7979
|
-
linearColor,
|
7980
7243
|
background_backgroundColor,
|
7981
7244
|
datasetXY,
|
7982
7245
|
label_label,
|
7983
7246
|
labelColorInversion,
|
7984
|
-
|
7247
|
+
discreteLegend,
|
7985
7248
|
tooltip_tooltip,
|
7986
7249
|
pointStyle_pointStyle,
|
7987
7250
|
pointStateDimensionHover,
|
@@ -7998,12 +7261,11 @@ const pivotHeatmap = [
|
|
7998
7261
|
datasetPivot,
|
7999
7262
|
pivotIndicators_pivotIndicators([
|
8000
7263
|
initHeatmap,
|
8001
|
-
linearColor,
|
8002
7264
|
background_backgroundColor,
|
8003
7265
|
datasetXY,
|
8004
7266
|
label_label,
|
8005
7267
|
labelColorInversion,
|
8006
|
-
|
7268
|
+
discreteLegend,
|
8007
7269
|
tooltip_tooltip,
|
8008
7270
|
pointStyle_pointStyle,
|
8009
7271
|
pointStateDimensionHover,
|
@@ -8271,12 +7533,6 @@ const lightTheme = ()=>{
|
|
8271
7533
|
yAxis: linearAxis,
|
8272
7534
|
crosshairLine
|
8273
7535
|
},
|
8274
|
-
areaRange: {
|
8275
|
-
...baseConfig,
|
8276
|
-
xAxis: bandAxis,
|
8277
|
-
yAxis: linearAxis,
|
8278
|
-
crosshairLine
|
8279
|
-
},
|
8280
7536
|
scatter: {
|
8281
7537
|
...baseConfig,
|
8282
7538
|
xAxis: {
|
@@ -8609,12 +7865,6 @@ const darkTheme = ()=>{
|
|
8609
7865
|
yAxis: linearAxis,
|
8610
7866
|
crosshairLine: crosshairLine
|
8611
7867
|
},
|
8612
|
-
areaRange: {
|
8613
|
-
...baseConfig,
|
8614
|
-
xAxis: bandAxis,
|
8615
|
-
yAxis: linearAxis,
|
8616
|
-
crosshairLine: crosshairLine
|
8617
|
-
},
|
8618
7868
|
scatter: {
|
8619
7869
|
...baseConfig,
|
8620
7870
|
xAxis: {
|
@@ -8712,7 +7962,6 @@ const registerAll = ()=>{
|
|
8712
7962
|
registerBarPercent();
|
8713
7963
|
registerArea();
|
8714
7964
|
registerAreaPercent();
|
8715
|
-
registerAreaRange();
|
8716
7965
|
registerScatter();
|
8717
7966
|
registerDualAxis();
|
8718
7967
|
registerPie();
|
@@ -8747,7 +7996,6 @@ const zChartType = external_zod_namespaceObject.z["enum"]([
|
|
8747
7996
|
'barParallel',
|
8748
7997
|
'area',
|
8749
7998
|
'areaPercent',
|
8750
|
-
'areaRange',
|
8751
7999
|
'scatter',
|
8752
8000
|
'dualAxis',
|
8753
8001
|
'rose',
|
@@ -8845,6 +8093,12 @@ const zDualMeasure = external_zod_namespaceObject.z.object({
|
|
8845
8093
|
secondaryMeasures: external_zod_namespaceObject.z.array(zMeasure).or(zMeasure).optional()
|
8846
8094
|
});
|
8847
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);
|
8848
8102
|
const zFoldInfo = external_zod_namespaceObject.z.object({
|
8849
8103
|
foldMap: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.string().or(external_zod_namespaceObject.z.undefined())),
|
8850
8104
|
measureId: external_zod_namespaceObject.z.string(),
|
@@ -8852,10 +8106,14 @@ const zFoldInfo = external_zod_namespaceObject.z.object({
|
|
8852
8106
|
measureValue: external_zod_namespaceObject.z.string()
|
8853
8107
|
});
|
8854
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(),
|
8855
8115
|
colorItems: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()),
|
8856
|
-
|
8857
|
-
colorIdMap: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.string()),
|
8858
|
-
groupName: external_zod_namespaceObject.z.string()
|
8116
|
+
colorIdMap: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.string())
|
8859
8117
|
});
|
8860
8118
|
const zDatasetReshapeInfo = external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.object({
|
8861
8119
|
id: external_zod_namespaceObject.z.string(),
|
@@ -8864,16 +8122,21 @@ const zDatasetReshapeInfo = external_zod_namespaceObject.z.array(external_zod_na
|
|
8864
8122
|
foldInfoList: external_zod_namespaceObject.z.array(zFoldInfo).nullish(),
|
8865
8123
|
unfoldInfo: zUnfoldInfo
|
8866
8124
|
}));
|
8867
|
-
const zEncoding = external_zod_namespaceObject.z.
|
8125
|
+
const zEncoding = external_zod_namespaceObject.z.object({
|
8868
8126
|
x: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8869
8127
|
y: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8870
|
-
color: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8871
|
-
group: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8872
8128
|
angle: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8873
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(),
|
8874
8133
|
tooltip: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).nullish(),
|
8875
|
-
|
8876
|
-
|
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);
|
8877
8140
|
const zXBandAxis = external_zod_namespaceObject.z.object({
|
8878
8141
|
visible: external_zod_namespaceObject.z.boolean().default(true).nullish(),
|
8879
8142
|
labelAutoHide: external_zod_namespaceObject.z.boolean().default(true).nullish(),
|
@@ -9136,7 +8399,6 @@ const zAreaConfig = external_zod_namespaceObject.z.object({
|
|
9136
8399
|
crosshairLine: zCrosshairLine.nullish()
|
9137
8400
|
});
|
9138
8401
|
const zAreaPercentConfig = zAreaConfig;
|
9139
|
-
const zAreaRangeConfig = zAreaConfig;
|
9140
8402
|
const zDualAxisConfig = external_zod_namespaceObject.z.object({
|
9141
8403
|
backgroundColor: zBackgroundColor.nullish(),
|
9142
8404
|
label: zLabel.nullish(),
|
@@ -9191,7 +8453,6 @@ const zConfig = external_zod_namespaceObject.z.object({
|
|
9191
8453
|
barPercent: zBarPercentConfig.nullish(),
|
9192
8454
|
area: zAreaConfig.nullish(),
|
9193
8455
|
areaPercent: zAreaPercentConfig.nullish(),
|
9194
|
-
areaRange: zAreaRangeConfig.nullish(),
|
9195
8456
|
scatter: zScatterConfig.nullish(),
|
9196
8457
|
dualAxis: zDualAxisConfig.nullish(),
|
9197
8458
|
rose: zRoseConfig.nullish(),
|
@@ -9630,6 +8891,7 @@ const zPivotTable = external_zod_namespaceObject.z.object({
|
|
9630
8891
|
const zLine = external_zod_namespaceObject.z.object({
|
9631
8892
|
chartType: external_zod_namespaceObject.z.literal('line'),
|
9632
8893
|
dataset: zDataset.nullish(),
|
8894
|
+
encoding: zEncoding.nullish(),
|
9633
8895
|
dimensions: zDimensions.nullish(),
|
9634
8896
|
measures: zMeasureTree.nullish(),
|
9635
8897
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9654,6 +8916,7 @@ const zLine = external_zod_namespaceObject.z.object({
|
|
9654
8916
|
const zColumn = external_zod_namespaceObject.z.object({
|
9655
8917
|
chartType: external_zod_namespaceObject.z.literal('column'),
|
9656
8918
|
dataset: zDataset.nullish(),
|
8919
|
+
encoding: zEncoding.nullish(),
|
9657
8920
|
dimensions: zDimensions.nullish(),
|
9658
8921
|
measures: zMeasureTree.nullish(),
|
9659
8922
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9676,6 +8939,7 @@ const zColumn = external_zod_namespaceObject.z.object({
|
|
9676
8939
|
const zColumnParallel = external_zod_namespaceObject.z.object({
|
9677
8940
|
chartType: external_zod_namespaceObject.z.literal('columnParallel'),
|
9678
8941
|
dataset: zDataset.nullish(),
|
8942
|
+
encoding: zEncoding.nullish(),
|
9679
8943
|
dimensions: zDimensions.nullish(),
|
9680
8944
|
measures: zMeasureTree.nullish(),
|
9681
8945
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9698,6 +8962,7 @@ const zColumnParallel = external_zod_namespaceObject.z.object({
|
|
9698
8962
|
const zColumnPercent = external_zod_namespaceObject.z.object({
|
9699
8963
|
chartType: external_zod_namespaceObject.z.literal('columnPercent'),
|
9700
8964
|
dataset: zDataset.nullish(),
|
8965
|
+
encoding: zEncoding.nullish(),
|
9701
8966
|
dimensions: zDimensions.nullish(),
|
9702
8967
|
measures: zMeasureTree.nullish(),
|
9703
8968
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9720,6 +8985,7 @@ const zColumnPercent = external_zod_namespaceObject.z.object({
|
|
9720
8985
|
const zBar = external_zod_namespaceObject.z.object({
|
9721
8986
|
chartType: external_zod_namespaceObject.z.literal('bar'),
|
9722
8987
|
dataset: zDataset.nullish(),
|
8988
|
+
encoding: zEncoding.nullish(),
|
9723
8989
|
dimensions: zDimensions.nullish(),
|
9724
8990
|
measures: zMeasureTree.nullish(),
|
9725
8991
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9742,6 +9008,7 @@ const zBar = external_zod_namespaceObject.z.object({
|
|
9742
9008
|
const zBarParallel = external_zod_namespaceObject.z.object({
|
9743
9009
|
chartType: external_zod_namespaceObject.z.literal('barParallel'),
|
9744
9010
|
dataset: zDataset.nullish(),
|
9011
|
+
encoding: zEncoding.nullish(),
|
9745
9012
|
dimensions: zDimensions.nullish(),
|
9746
9013
|
measures: zMeasureTree.nullish(),
|
9747
9014
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9764,6 +9031,7 @@ const zBarParallel = external_zod_namespaceObject.z.object({
|
|
9764
9031
|
const zBarPercent = external_zod_namespaceObject.z.object({
|
9765
9032
|
chartType: external_zod_namespaceObject.z.literal('barPercent'),
|
9766
9033
|
dataset: zDataset.nullish(),
|
9034
|
+
encoding: zEncoding.nullish(),
|
9767
9035
|
dimensions: zDimensions.nullish(),
|
9768
9036
|
measures: zMeasureTree.nullish(),
|
9769
9037
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9786,6 +9054,7 @@ const zBarPercent = external_zod_namespaceObject.z.object({
|
|
9786
9054
|
const zArea = external_zod_namespaceObject.z.object({
|
9787
9055
|
chartType: external_zod_namespaceObject.z.literal('area'),
|
9788
9056
|
dataset: zDataset.nullish(),
|
9057
|
+
encoding: zEncoding.nullish(),
|
9789
9058
|
dimensions: zDimensions.nullish(),
|
9790
9059
|
measures: zMeasureTree.nullish(),
|
9791
9060
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9809,6 +9078,7 @@ const zArea = external_zod_namespaceObject.z.object({
|
|
9809
9078
|
const zAreaPercent = external_zod_namespaceObject.z.object({
|
9810
9079
|
chartType: external_zod_namespaceObject.z.literal('areaPercent'),
|
9811
9080
|
dataset: zDataset.nullish(),
|
9081
|
+
encoding: zEncoding.nullish(),
|
9812
9082
|
dimensions: zDimensions.nullish(),
|
9813
9083
|
measures: zMeasureTree.nullish(),
|
9814
9084
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9829,31 +9099,13 @@ const zAreaPercent = external_zod_namespaceObject.z.object({
|
|
9829
9099
|
annotationArea: external_zod_namespaceObject.z.array(zAnnotationArea).or(zAnnotationArea).nullish(),
|
9830
9100
|
locale: zLocale.nullish()
|
9831
9101
|
});
|
9832
|
-
const zAreaRange = external_zod_namespaceObject.z.object({
|
9833
|
-
chartType: external_zod_namespaceObject.z.literal('areaRange'),
|
9834
|
-
dataset: zDataset.nullish(),
|
9835
|
-
dimensions: zDimensions.nullish(),
|
9836
|
-
measures: zMeasureTree.nullish(),
|
9837
|
-
backgroundColor: zBackgroundColor.nullish(),
|
9838
|
-
label: zLabel.nullish(),
|
9839
|
-
xAxis: zXBandAxis.nullish(),
|
9840
|
-
yAxis: zYLinearAxis.nullish(),
|
9841
|
-
crosshairLine: zCrosshairLine.nullish(),
|
9842
|
-
theme: zTheme.nullish(),
|
9843
|
-
pointStyle: external_zod_namespaceObject.z.array(zPointStyle).or(zPointStyle).nullish(),
|
9844
|
-
lineStyle: external_zod_namespaceObject.z.array(zLineStyle).or(zLineStyle).nullish(),
|
9845
|
-
areaStyle: external_zod_namespaceObject.z.array(zAreaStyle).or(zAreaStyle).nullish(),
|
9846
|
-
annotationPoint: external_zod_namespaceObject.z.array(zAnnotationPoint).or(zAnnotationPoint).nullish(),
|
9847
|
-
annotationVerticalLine: external_zod_namespaceObject.z.array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),
|
9848
|
-
annotationHorizontalLine: external_zod_namespaceObject.z.array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),
|
9849
|
-
annotationArea: external_zod_namespaceObject.z.array(zAnnotationArea).or(zAnnotationArea).nullish(),
|
9850
|
-
locale: zLocale.nullish()
|
9851
|
-
});
|
9852
9102
|
const zScatter = external_zod_namespaceObject.z.object({
|
9853
9103
|
chartType: external_zod_namespaceObject.z.literal('scatter'),
|
9854
9104
|
dataset: zDataset.nullish(),
|
9105
|
+
encoding: zEncoding.nullish(),
|
9855
9106
|
dimensions: zDimensions.nullish(),
|
9856
9107
|
measures: zMeasureTree.nullish(),
|
9108
|
+
scatterMeasures: zScatterMeasures.nullish(),
|
9857
9109
|
backgroundColor: zBackgroundColor.nullish(),
|
9858
9110
|
color: zColor.nullish(),
|
9859
9111
|
label: zLabel.nullish(),
|
@@ -9903,6 +9155,7 @@ const zDualAxis = external_zod_namespaceObject.z.object({
|
|
9903
9155
|
const zRose = external_zod_namespaceObject.z.object({
|
9904
9156
|
chartType: external_zod_namespaceObject.z.literal('rose'),
|
9905
9157
|
dataset: zDataset.nullish(),
|
9158
|
+
encoding: zEncoding.nullish(),
|
9906
9159
|
dimensions: zDimensions.nullish(),
|
9907
9160
|
measures: zMeasureTree.nullish(),
|
9908
9161
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9916,6 +9169,7 @@ const zRose = external_zod_namespaceObject.z.object({
|
|
9916
9169
|
const zRoseParallel = external_zod_namespaceObject.z.object({
|
9917
9170
|
chartType: external_zod_namespaceObject.z.literal('roseParallel'),
|
9918
9171
|
dataset: zDataset.nullish(),
|
9172
|
+
encoding: zEncoding.nullish(),
|
9919
9173
|
dimensions: zDimensions.nullish(),
|
9920
9174
|
measures: zMeasureTree.nullish(),
|
9921
9175
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9929,6 +9183,7 @@ const zRoseParallel = external_zod_namespaceObject.z.object({
|
|
9929
9183
|
const zPie = external_zod_namespaceObject.z.object({
|
9930
9184
|
chartType: external_zod_namespaceObject.z.literal('pie'),
|
9931
9185
|
dataset: zDataset.nullish(),
|
9186
|
+
encoding: zEncoding.nullish(),
|
9932
9187
|
dimensions: zDimensions.nullish(),
|
9933
9188
|
measures: zMeasureTree.nullish(),
|
9934
9189
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9942,6 +9197,7 @@ const zPie = external_zod_namespaceObject.z.object({
|
|
9942
9197
|
const zDonut = external_zod_namespaceObject.z.object({
|
9943
9198
|
chartType: external_zod_namespaceObject.z.literal('donut'),
|
9944
9199
|
dataset: zDataset.nullish(),
|
9200
|
+
encoding: zEncoding.nullish(),
|
9945
9201
|
dimensions: zDimensions.nullish(),
|
9946
9202
|
measures: zMeasureTree.nullish(),
|
9947
9203
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9955,6 +9211,7 @@ const zDonut = external_zod_namespaceObject.z.object({
|
|
9955
9211
|
const zRadar = external_zod_namespaceObject.z.object({
|
9956
9212
|
chartType: external_zod_namespaceObject.z.literal('radar'),
|
9957
9213
|
dataset: zDataset.nullish(),
|
9214
|
+
encoding: zEncoding.nullish(),
|
9958
9215
|
dimensions: zDimensions.nullish(),
|
9959
9216
|
measures: zMeasureTree.nullish(),
|
9960
9217
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -9968,6 +9225,7 @@ const zRadar = external_zod_namespaceObject.z.object({
|
|
9968
9225
|
const zFunnel = external_zod_namespaceObject.z.object({
|
9969
9226
|
chartType: external_zod_namespaceObject.z.literal('funnel'),
|
9970
9227
|
dataset: zDataset.nullish(),
|
9228
|
+
encoding: zEncoding.nullish(),
|
9971
9229
|
dimensions: zDimensions.nullish(),
|
9972
9230
|
measures: zMeasureTree.nullish(),
|
9973
9231
|
backgroundColor: zBackgroundColor.nullish(),
|
@@ -10003,7 +9261,6 @@ const zVSeed = external_zod_namespaceObject.z.discriminatedUnion('chartType', [
|
|
10003
9261
|
zBarPercent,
|
10004
9262
|
zArea,
|
10005
9263
|
zAreaPercent,
|
10006
|
-
zAreaRange,
|
10007
9264
|
zScatter,
|
10008
9265
|
zDualAxis,
|
10009
9266
|
zPie,
|
@@ -10021,6 +9278,7 @@ const zAdvancedVSeed = external_zod_namespaceObject.z.object({
|
|
10021
9278
|
dimensions: zDimensionTree,
|
10022
9279
|
measures: zMeasureTree,
|
10023
9280
|
encoding: zEncoding,
|
9281
|
+
encodings: zEncodings,
|
10024
9282
|
config: zConfig,
|
10025
9283
|
analysis: zAnalysis,
|
10026
9284
|
theme: zTheme,
|
@@ -10029,21 +9287,28 @@ const zAdvancedVSeed = external_zod_namespaceObject.z.object({
|
|
10029
9287
|
annotation: zAnnotation,
|
10030
9288
|
locale: zLocale
|
10031
9289
|
});
|
9290
|
+
exports.AngleEncoding = __webpack_exports__.AngleEncoding;
|
10032
9291
|
exports.Builder = __webpack_exports__.Builder;
|
9292
|
+
exports.ColorEncoding = __webpack_exports__.ColorEncoding;
|
9293
|
+
exports.ColorIdEncoding = __webpack_exports__.ColorIdEncoding;
|
9294
|
+
exports.DetailEncoding = __webpack_exports__.DetailEncoding;
|
10033
9295
|
exports.FoldMeasureId = __webpack_exports__.FoldMeasureId;
|
10034
9296
|
exports.FoldMeasureName = __webpack_exports__.FoldMeasureName;
|
10035
9297
|
exports.FoldMeasureValue = __webpack_exports__.FoldMeasureValue;
|
10036
9298
|
exports.FoldPrimaryMeasureValue = __webpack_exports__.FoldPrimaryMeasureValue;
|
10037
9299
|
exports.FoldSecondaryMeasureValue = __webpack_exports__.FoldSecondaryMeasureValue;
|
9300
|
+
exports.FoldXMeasureValue = __webpack_exports__.FoldXMeasureValue;
|
9301
|
+
exports.FoldYMeasureValue = __webpack_exports__.FoldYMeasureValue;
|
9302
|
+
exports.MeasureName = __webpack_exports__.MeasureName;
|
10038
9303
|
exports.ORIGINAL_DATA = __webpack_exports__.ORIGINAL_DATA;
|
10039
9304
|
exports.Separator = __webpack_exports__.Separator;
|
10040
9305
|
exports.UnfoldDimensionGroup = __webpack_exports__.UnfoldDimensionGroup;
|
10041
9306
|
exports.UnfoldDimensionGroupId = __webpack_exports__.UnfoldDimensionGroupId;
|
9307
|
+
exports.XEncoding = __webpack_exports__.XEncoding;
|
9308
|
+
exports.YEncoding = __webpack_exports__.YEncoding;
|
10042
9309
|
exports.areaAdvancedPipeline = __webpack_exports__.areaAdvancedPipeline;
|
10043
9310
|
exports.areaPercentAdvancedPipeline = __webpack_exports__.areaPercentAdvancedPipeline;
|
10044
9311
|
exports.areaPercentSpecPipeline = __webpack_exports__.areaPercentSpecPipeline;
|
10045
|
-
exports.areaRangeAdvancedPipeline = __webpack_exports__.areaRangeAdvancedPipeline;
|
10046
|
-
exports.areaRangeSpecPipeline = __webpack_exports__.areaRangeSpecPipeline;
|
10047
9312
|
exports.areaSpecPipeline = __webpack_exports__.areaSpecPipeline;
|
10048
9313
|
exports.autoFormatter = __webpack_exports__.autoFormatter;
|
10049
9314
|
exports.autoNumFormatter = __webpack_exports__.autoNumFormatter;
|
@@ -10062,11 +9327,7 @@ exports.columnSpecPipeline = __webpack_exports__.columnSpecPipeline;
|
|
10062
9327
|
exports.createFormatter = __webpack_exports__.createFormatter;
|
10063
9328
|
exports.createNumFormatter = __webpack_exports__.createNumFormatter;
|
10064
9329
|
exports.darkTheme = __webpack_exports__.darkTheme;
|
10065
|
-
exports.
|
10066
|
-
exports.dataReshapeFor1D1M = __webpack_exports__.dataReshapeFor1D1M;
|
10067
|
-
exports.dataReshapeFor1D2M = __webpack_exports__.dataReshapeFor1D2M;
|
10068
|
-
exports.dataReshapeFor2D1M = __webpack_exports__.dataReshapeFor2D1M;
|
10069
|
-
exports.dataReshapeFor2D1M0Name = __webpack_exports__.dataReshapeFor2D1M0Name;
|
9330
|
+
exports.dataReshapeByEncoding = __webpack_exports__.dataReshapeByEncoding;
|
10070
9331
|
exports.donutAdvancedPipeline = __webpack_exports__.donutAdvancedPipeline;
|
10071
9332
|
exports.donutSpecPipeline = __webpack_exports__.donutSpecPipeline;
|
10072
9333
|
exports.dualAxisAdvancedPipeline = __webpack_exports__.dualAxisAdvancedPipeline;
|
@@ -10114,7 +9375,6 @@ exports.radarSpecPipeline = __webpack_exports__.radarSpecPipeline;
|
|
10114
9375
|
exports.registerAll = __webpack_exports__.registerAll;
|
10115
9376
|
exports.registerArea = __webpack_exports__.registerArea;
|
10116
9377
|
exports.registerAreaPercent = __webpack_exports__.registerAreaPercent;
|
10117
|
-
exports.registerAreaRange = __webpack_exports__.registerAreaRange;
|
10118
9378
|
exports.registerBar = __webpack_exports__.registerBar;
|
10119
9379
|
exports.registerBarParallel = __webpack_exports__.registerBarParallel;
|
10120
9380
|
exports.registerBarPercent = __webpack_exports__.registerBarPercent;
|
@@ -10158,8 +9418,6 @@ exports.zArea = __webpack_exports__.zArea;
|
|
10158
9418
|
exports.zAreaConfig = __webpack_exports__.zAreaConfig;
|
10159
9419
|
exports.zAreaPercent = __webpack_exports__.zAreaPercent;
|
10160
9420
|
exports.zAreaPercentConfig = __webpack_exports__.zAreaPercentConfig;
|
10161
|
-
exports.zAreaRange = __webpack_exports__.zAreaRange;
|
10162
|
-
exports.zAreaRangeConfig = __webpack_exports__.zAreaRangeConfig;
|
10163
9421
|
exports.zAreaStyle = __webpack_exports__.zAreaStyle;
|
10164
9422
|
exports.zAxis = __webpack_exports__.zAxis;
|
10165
9423
|
exports.zBackgroundColor = __webpack_exports__.zBackgroundColor;
|
@@ -10199,6 +9457,7 @@ exports.zDualChartType = __webpack_exports__.zDualChartType;
|
|
10199
9457
|
exports.zDualMeasure = __webpack_exports__.zDualMeasure;
|
10200
9458
|
exports.zDualMeasures = __webpack_exports__.zDualMeasures;
|
10201
9459
|
exports.zEncoding = __webpack_exports__.zEncoding;
|
9460
|
+
exports.zEncodings = __webpack_exports__.zEncodings;
|
10202
9461
|
exports.zFoldInfo = __webpack_exports__.zFoldInfo;
|
10203
9462
|
exports.zFunnel = __webpack_exports__.zFunnel;
|
10204
9463
|
exports.zFunnelConfig = __webpack_exports__.zFunnelConfig;
|
@@ -10230,6 +9489,8 @@ exports.zRoseParallel = __webpack_exports__.zRoseParallel;
|
|
10230
9489
|
exports.zRoseParallelConfig = __webpack_exports__.zRoseParallelConfig;
|
10231
9490
|
exports.zScatter = __webpack_exports__.zScatter;
|
10232
9491
|
exports.zScatterConfig = __webpack_exports__.zScatterConfig;
|
9492
|
+
exports.zScatterMeasure = __webpack_exports__.zScatterMeasure;
|
9493
|
+
exports.zScatterMeasures = __webpack_exports__.zScatterMeasures;
|
10233
9494
|
exports.zSort = __webpack_exports__.zSort;
|
10234
9495
|
exports.zSortLegend = __webpack_exports__.zSortLegend;
|
10235
9496
|
exports.zStackCornerRadius = __webpack_exports__.zStackCornerRadius;
|
@@ -10244,21 +9505,28 @@ exports.zXLinearAxis = __webpack_exports__.zXLinearAxis;
|
|
10244
9505
|
exports.zYBandAxis = __webpack_exports__.zYBandAxis;
|
10245
9506
|
exports.zYLinearAxis = __webpack_exports__.zYLinearAxis;
|
10246
9507
|
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
9508
|
+
"AngleEncoding",
|
10247
9509
|
"Builder",
|
9510
|
+
"ColorEncoding",
|
9511
|
+
"ColorIdEncoding",
|
9512
|
+
"DetailEncoding",
|
10248
9513
|
"FoldMeasureId",
|
10249
9514
|
"FoldMeasureName",
|
10250
9515
|
"FoldMeasureValue",
|
10251
9516
|
"FoldPrimaryMeasureValue",
|
10252
9517
|
"FoldSecondaryMeasureValue",
|
9518
|
+
"FoldXMeasureValue",
|
9519
|
+
"FoldYMeasureValue",
|
9520
|
+
"MeasureName",
|
10253
9521
|
"ORIGINAL_DATA",
|
10254
9522
|
"Separator",
|
10255
9523
|
"UnfoldDimensionGroup",
|
10256
9524
|
"UnfoldDimensionGroupId",
|
9525
|
+
"XEncoding",
|
9526
|
+
"YEncoding",
|
10257
9527
|
"areaAdvancedPipeline",
|
10258
9528
|
"areaPercentAdvancedPipeline",
|
10259
9529
|
"areaPercentSpecPipeline",
|
10260
|
-
"areaRangeAdvancedPipeline",
|
10261
|
-
"areaRangeSpecPipeline",
|
10262
9530
|
"areaSpecPipeline",
|
10263
9531
|
"autoFormatter",
|
10264
9532
|
"autoNumFormatter",
|
@@ -10277,11 +9545,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
10277
9545
|
"createFormatter",
|
10278
9546
|
"createNumFormatter",
|
10279
9547
|
"darkTheme",
|
10280
|
-
"
|
10281
|
-
"dataReshapeFor1D1M",
|
10282
|
-
"dataReshapeFor1D2M",
|
10283
|
-
"dataReshapeFor2D1M",
|
10284
|
-
"dataReshapeFor2D1M0Name",
|
9548
|
+
"dataReshapeByEncoding",
|
10285
9549
|
"donutAdvancedPipeline",
|
10286
9550
|
"donutSpecPipeline",
|
10287
9551
|
"dualAxisAdvancedPipeline",
|
@@ -10329,7 +9593,6 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
10329
9593
|
"registerAll",
|
10330
9594
|
"registerArea",
|
10331
9595
|
"registerAreaPercent",
|
10332
|
-
"registerAreaRange",
|
10333
9596
|
"registerBar",
|
10334
9597
|
"registerBarParallel",
|
10335
9598
|
"registerBarPercent",
|
@@ -10373,8 +9636,6 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
10373
9636
|
"zAreaConfig",
|
10374
9637
|
"zAreaPercent",
|
10375
9638
|
"zAreaPercentConfig",
|
10376
|
-
"zAreaRange",
|
10377
|
-
"zAreaRangeConfig",
|
10378
9639
|
"zAreaStyle",
|
10379
9640
|
"zAxis",
|
10380
9641
|
"zBackgroundColor",
|
@@ -10414,6 +9675,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
10414
9675
|
"zDualMeasure",
|
10415
9676
|
"zDualMeasures",
|
10416
9677
|
"zEncoding",
|
9678
|
+
"zEncodings",
|
10417
9679
|
"zFoldInfo",
|
10418
9680
|
"zFunnel",
|
10419
9681
|
"zFunnelConfig",
|
@@ -10445,6 +9707,8 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
10445
9707
|
"zRoseParallelConfig",
|
10446
9708
|
"zScatter",
|
10447
9709
|
"zScatterConfig",
|
9710
|
+
"zScatterMeasure",
|
9711
|
+
"zScatterMeasures",
|
10448
9712
|
"zSort",
|
10449
9713
|
"zSortLegend",
|
10450
9714
|
"zStackCornerRadius",
|