@visactor/vseed 0.1.6 → 0.1.8
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 +0 -2
- package/dist/dataReshape/constant.d.ts +2 -0
- package/dist/index.cjs +1053 -587
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1050 -589
- package/dist/index.js.map +1 -1
- package/dist/pipeline/advanced/chart/pipes/encoding/bar.d.ts +1 -0
- package/dist/pipeline/advanced/chart/pipes/encoding/column.d.ts +1 -19
- package/dist/pipeline/advanced/chart/pipes/encoding/dualAxis.d.ts +1 -0
- package/dist/pipeline/advanced/chart/pipes/encoding/encodingAdapter.d.ts +2 -0
- package/dist/pipeline/advanced/chart/pipes/encoding/funnel.d.ts +1 -0
- package/dist/pipeline/advanced/chart/pipes/encoding/heatmap.d.ts +1 -0
- package/dist/pipeline/advanced/chart/pipes/encoding/index.d.ts +11 -9
- package/dist/pipeline/advanced/chart/pipes/encoding/line.d.ts +1 -17
- package/dist/pipeline/advanced/chart/pipes/encoding/pie.d.ts +1 -0
- package/dist/pipeline/advanced/chart/pipes/encoding/radar.d.ts +1 -0
- package/dist/pipeline/advanced/chart/pipes/encoding/rose.d.ts +1 -0
- package/dist/pipeline/advanced/chart/pipes/encoding/scatter.d.ts +1 -0
- package/dist/pipeline/advanced/chart/pipes/measures/utils.d.ts +7 -1
- package/dist/pipeline/advanced/table/pipes/{init/autoDimensions.d.ts → default/defaultDimensions.d.ts} +1 -1
- package/dist/pipeline/advanced/table/pipes/{init/autoMeasures.d.ts → default/defaultMeasureName.d.ts} +1 -1
- package/dist/pipeline/advanced/table/pipes/default/defaultMeasures.d.ts +5 -0
- package/dist/pipeline/advanced/table/pipes/default/index.d.ts +3 -0
- package/dist/pipeline/advanced/table/pipes/encoding/index.d.ts +1 -0
- package/dist/pipeline/advanced/table/pipes/{init/autoPivotMeasures.d.ts → encoding/pivotTable.d.ts} +1 -1
- package/dist/pipeline/advanced/table/pipes/index.d.ts +3 -0
- package/dist/pipeline/advanced/table/pipes/init/index.d.ts +0 -3
- package/dist/pipeline/spec/chart/pipes/tooltip/index.d.ts +2 -0
- package/dist/pipeline/spec/chart/pipes/tooltip/tooltip.d.ts +21 -1
- package/dist/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.d.ts +15 -0
- package/dist/pipeline/spec/chart/pipes/tooltip/tooltipScatter.d.ts +15 -0
- package/dist/types/advancedVSeed.d.ts +0 -5
- package/dist/types/chartType/area/area.d.ts +8 -29
- package/dist/types/chartType/area/zArea.d.ts +0 -5
- package/dist/types/chartType/areaPercent/areaPercent.d.ts +8 -30
- package/dist/types/chartType/areaPercent/zAreaPercent.d.ts +0 -5
- package/dist/types/chartType/bar/bar.d.ts +9 -14
- package/dist/types/chartType/bar/zBar.d.ts +0 -5
- package/dist/types/chartType/barParallel/barParallel.d.ts +9 -14
- package/dist/types/chartType/barParallel/zBarParallel.d.ts +0 -5
- package/dist/types/chartType/barPercent/barPercent.d.ts +9 -14
- package/dist/types/chartType/barPercent/zBarPercent.d.ts +0 -5
- package/dist/types/chartType/column/column.d.ts +9 -30
- package/dist/types/chartType/column/zColumn.d.ts +0 -5
- package/dist/types/chartType/columnParallel/columnParallel.d.ts +10 -32
- package/dist/types/chartType/columnParallel/zColumnParallel.d.ts +0 -5
- package/dist/types/chartType/columnPercent/columnPercent.d.ts +9 -30
- package/dist/types/chartType/columnPercent/zColumnPercent.d.ts +0 -5
- package/dist/types/chartType/donut/donut.d.ts +8 -13
- package/dist/types/chartType/donut/zDonut.d.ts +0 -5
- package/dist/types/chartType/dualAxis/dualAxis.d.ts +10 -14
- package/dist/types/chartType/dualAxis/zDualAxis.d.ts +0 -5
- package/dist/types/chartType/funnel/funnel.d.ts +8 -13
- package/dist/types/chartType/funnel/zFunnel.d.ts +0 -5
- package/dist/types/chartType/heatmap/heatmap.d.ts +9 -14
- package/dist/types/chartType/heatmap/zHeatmap.d.ts +0 -5
- package/dist/types/chartType/line/line.d.ts +9 -33
- package/dist/types/chartType/line/zLine.d.ts +0 -5
- package/dist/types/chartType/pie/pie.d.ts +8 -13
- package/dist/types/chartType/pie/zPie.d.ts +0 -5
- package/dist/types/chartType/pivotTable/pivotTable.d.ts +7 -3
- package/dist/types/chartType/pivotTable/zPivotTable.d.ts +0 -5
- package/dist/types/chartType/radar/radar.d.ts +8 -14
- package/dist/types/chartType/radar/zRadar.d.ts +0 -5
- package/dist/types/chartType/rose/rose.d.ts +9 -14
- package/dist/types/chartType/rose/zRose.d.ts +0 -5
- package/dist/types/chartType/roseParallel/roseParallel.d.ts +9 -14
- package/dist/types/chartType/roseParallel/zRoseParallel.d.ts +0 -5
- package/dist/types/chartType/scatter/scatter.d.ts +8 -14
- package/dist/types/chartType/scatter/zScatter.d.ts +0 -5
- package/dist/types/chartType/table/table.d.ts +2 -0
- package/dist/types/chartType/table/zTable.d.ts +0 -5
- package/dist/types/properties/dimensions/dimensions.d.ts +0 -4
- package/dist/types/properties/dimensions/zDimensions.d.ts +0 -15
- package/dist/types/zVseed.d.ts +0 -100
- package/dist/umd/index.js +1050 -588
- package/dist/umd/index.js.map +1 -1
- package/package.json +3 -3
package/dist/umd/index.js
CHANGED
@@ -62,7 +62,7 @@
|
|
62
62
|
zYLinearAxis: ()=>zYLinearAxis,
|
63
63
|
zMarkStyle: ()=>zMarkStyle,
|
64
64
|
registerFunnel: ()=>registerFunnel,
|
65
|
-
Separator: ()=>
|
65
|
+
Separator: ()=>"-",
|
66
66
|
columnAdvancedPipeline: ()=>columnAdvancedPipeline,
|
67
67
|
zLabel: ()=>zLabel,
|
68
68
|
registerColumn: ()=>registerColumn,
|
@@ -91,12 +91,13 @@
|
|
91
91
|
FoldMeasureId: ()=>FoldMeasureId,
|
92
92
|
zColumnParallelConfig: ()=>zColumnParallelConfig,
|
93
93
|
donutSpecPipeline: ()=>donutSpecPipeline,
|
94
|
+
FoldXMeasureId: ()=>FoldXMeasureId,
|
94
95
|
registerAreaPercent: ()=>registerAreaPercent,
|
95
|
-
zHeatmap: ()=>zHeatmap,
|
96
96
|
zBarPercent: ()=>zBarPercent,
|
97
|
+
zHeatmap: ()=>zHeatmap,
|
97
98
|
zScatterMeasure: ()=>zScatterMeasure,
|
98
|
-
zTheme: ()=>zTheme,
|
99
99
|
zDatum: ()=>zDatum,
|
100
|
+
zTheme: ()=>zTheme,
|
100
101
|
barAdvancedPipeline: ()=>barAdvancedPipeline,
|
101
102
|
zCustomThemeConfig: ()=>zCustomThemeConfig,
|
102
103
|
registerColumnPercent: ()=>registerColumnPercent,
|
@@ -186,6 +187,7 @@
|
|
186
187
|
zTableConfig: ()=>zTableConfig,
|
187
188
|
zXBandAxis: ()=>zXBandAxis,
|
188
189
|
zColumnPercentConfig: ()=>zColumnPercentConfig,
|
190
|
+
FoldYMeasureId: ()=>FoldYMeasureId,
|
189
191
|
findMeasureById: ()=>findMeasureById,
|
190
192
|
zVSeed: ()=>zVSeed,
|
191
193
|
AngleEncoding: ()=>AngleEncoding,
|
@@ -491,33 +493,35 @@
|
|
491
493
|
locale: locale || 'zh-CN'
|
492
494
|
};
|
493
495
|
};
|
494
|
-
const
|
495
|
-
const result = {
|
496
|
-
...advancedVSeed
|
497
|
-
};
|
496
|
+
const defaultMeasures_defaultMeasures = (advancedVSeed, context)=>{
|
498
497
|
const { vseed } = context;
|
499
498
|
const { measures, dataset } = vseed;
|
499
|
+
if (measures && measures.length > 0) return {
|
500
|
+
...advancedVSeed,
|
501
|
+
measures
|
502
|
+
};
|
500
503
|
if (!dataset) throw new Error('dataset is required');
|
501
|
-
if (0 === dataset.length) return
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
}
|
504
|
+
if (0 === dataset.length) return {
|
505
|
+
...advancedVSeed,
|
506
|
+
measures: []
|
507
|
+
};
|
506
508
|
const top100dataset = dataset.slice(0, 100);
|
507
509
|
const sample = top100dataset.reduce((prev, cur)=>({
|
508
510
|
...prev,
|
509
511
|
...cur
|
510
512
|
}), {});
|
511
|
-
|
513
|
+
const defaultMeasures = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
|
512
514
|
'',
|
513
515
|
null,
|
514
516
|
void 0
|
515
517
|
].includes(key)).map((measure)=>({
|
516
518
|
id: measure,
|
517
|
-
alias: measure
|
518
|
-
encoding: 'column'
|
519
|
+
alias: measure
|
519
520
|
}));
|
520
|
-
return
|
521
|
+
return {
|
522
|
+
...advancedVSeed,
|
523
|
+
measures: defaultMeasures
|
524
|
+
};
|
521
525
|
};
|
522
526
|
const preorderTraverse = (tree, callback)=>{
|
523
527
|
if (!tree || 0 === tree.length) return;
|
@@ -571,37 +575,36 @@
|
|
571
575
|
});
|
572
576
|
return result;
|
573
577
|
};
|
574
|
-
const
|
578
|
+
const defaultDimensions = (advancedVSeed, context)=>{
|
575
579
|
const result = {
|
576
580
|
...advancedVSeed
|
577
581
|
};
|
578
582
|
const { vseed } = context;
|
579
583
|
const { dimensions, dataset } = vseed;
|
580
|
-
|
584
|
+
if (dimensions && dimensions.length > 0) return {
|
585
|
+
...result,
|
586
|
+
dimensions
|
587
|
+
};
|
581
588
|
if (!dataset) throw new Error('dataset is required');
|
582
589
|
if (0 === dataset.length) return result;
|
583
|
-
|
584
|
-
result.dimensions = dimensions.map((dim)=>({
|
585
|
-
location: 'dimension',
|
586
|
-
...dim
|
587
|
-
}));
|
588
|
-
return result;
|
589
|
-
}
|
590
|
+
const measures = findAllMeasures(advancedVSeed.measures);
|
590
591
|
const top100dataset = dataset.slice(0, 100);
|
591
592
|
const sample = top100dataset.reduce((prev, cur)=>({
|
592
593
|
...prev,
|
593
594
|
...cur
|
594
595
|
}), {});
|
595
|
-
|
596
|
+
const newDimensions = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'string' == typeof item[key]) && ![
|
596
597
|
'',
|
597
598
|
null,
|
598
599
|
void 0
|
599
600
|
].includes(key) && !measures.some((measure)=>measure.id === key)).map((dim)=>({
|
600
601
|
id: dim,
|
601
|
-
alias: dim
|
602
|
-
encoding: 'column'
|
602
|
+
alias: dim
|
603
603
|
}));
|
604
|
-
return
|
604
|
+
return {
|
605
|
+
...result,
|
606
|
+
dimensions: newDimensions
|
607
|
+
};
|
605
608
|
};
|
606
609
|
const records_records = (advancedVSeed, context)=>{
|
607
610
|
const { vseed } = context;
|
@@ -755,8 +758,8 @@
|
|
755
758
|
};
|
756
759
|
const tableAdvancedPipeline = [
|
757
760
|
initAdvancedVSeed,
|
758
|
-
|
759
|
-
|
761
|
+
defaultMeasures_defaultMeasures,
|
762
|
+
defaultDimensions,
|
760
763
|
records_records,
|
761
764
|
tableConfig_tableConfig,
|
762
765
|
theme_theme
|
@@ -980,9 +983,9 @@
|
|
980
983
|
borderColor: borderColor,
|
981
984
|
borderLineWidth: 1,
|
982
985
|
padding: [
|
983
|
-
8
|
986
|
+
8,
|
984
987
|
12,
|
985
|
-
8
|
988
|
+
8,
|
986
989
|
12
|
987
990
|
],
|
988
991
|
textAlign: 'right',
|
@@ -1095,37 +1098,7 @@
|
|
1095
1098
|
Builder._advancedPipelineMap.table = tableAdvancedPipeline;
|
1096
1099
|
Builder._specPipelineMap.table = tableSpecPipeline;
|
1097
1100
|
};
|
1098
|
-
const autoPivotMeasures = (advancedVSeed, context)=>{
|
1099
|
-
const result = {
|
1100
|
-
...advancedVSeed
|
1101
|
-
};
|
1102
|
-
const { vseed } = context;
|
1103
|
-
const { dataset } = vseed;
|
1104
|
-
const measures = findAllMeasures(vseed.measures);
|
1105
|
-
if (!dataset) throw new Error('dataset is required');
|
1106
|
-
if (0 === dataset.length) return result;
|
1107
|
-
if (vseed.measures) {
|
1108
|
-
result.measures = findAllMeasures(measures);
|
1109
|
-
return result;
|
1110
|
-
}
|
1111
|
-
const top100dataset = dataset.slice(0, 100);
|
1112
|
-
const sample = top100dataset.reduce((prev, cur)=>({
|
1113
|
-
...prev,
|
1114
|
-
...cur
|
1115
|
-
}), {});
|
1116
|
-
result.measures = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
|
1117
|
-
'',
|
1118
|
-
null,
|
1119
|
-
void 0
|
1120
|
-
].includes(key)).map((measure)=>({
|
1121
|
-
id: measure,
|
1122
|
-
alias: measure,
|
1123
|
-
encoding: 'detail'
|
1124
|
-
}));
|
1125
|
-
return result;
|
1126
|
-
};
|
1127
1101
|
const ORIGINAL_DATA = '__OriginalData__';
|
1128
|
-
const Separator = '-';
|
1129
1102
|
const FoldMeasureName = '__MeaName__';
|
1130
1103
|
const FoldMeasureId = '__MeaId__';
|
1131
1104
|
const FoldMeasureValue = '__MeaValue__';
|
@@ -1134,94 +1107,70 @@
|
|
1134
1107
|
const FoldSecondaryMeasureValue = '__MeaSecondaryValue__';
|
1135
1108
|
const FoldXMeasureValue = '__MeaXValue__';
|
1136
1109
|
const FoldYMeasureValue = '__MeaYValue__';
|
1110
|
+
const FoldXMeasureId = '__MeaXId__';
|
1111
|
+
const FoldYMeasureId = '__MeaYId__';
|
1137
1112
|
const XEncoding = '__Dim_X__';
|
1138
1113
|
const YEncoding = '__Dim_Y__';
|
1139
1114
|
const AngleEncoding = '__Dim_Angle__';
|
1140
1115
|
const DetailEncoding = '__Dim_Detail__';
|
1141
1116
|
const ColorEncoding = '__Dim_Color__';
|
1142
1117
|
const ColorIdEncoding = '__Dim_ColorId__';
|
1143
|
-
const
|
1144
|
-
if (!dimensions) return [];
|
1145
|
-
const result = [];
|
1146
|
-
preorderTraverse(dimensions, (node)=>{
|
1147
|
-
if (!('children' in node)) result.push(node);
|
1148
|
-
return false;
|
1149
|
-
});
|
1150
|
-
return result;
|
1151
|
-
};
|
1152
|
-
const autoPivotDimensions = (advancedVSeed, context)=>{
|
1118
|
+
const defaultMeasureName = (advancedVSeed)=>{
|
1153
1119
|
const result = {
|
1154
1120
|
...advancedVSeed
|
1155
1121
|
};
|
1156
|
-
const { vseed } = context;
|
1157
|
-
const { dimensions, dataset } = vseed;
|
1158
|
-
const measures = findAllMeasures(advancedVSeed.measures);
|
1159
1122
|
const MeaName = {
|
1160
1123
|
id: MeasureName,
|
1161
1124
|
alias: intl.i18n`指标名称`
|
1162
1125
|
};
|
1163
|
-
if (!
|
1164
|
-
if (0 === dataset.length) return result;
|
1165
|
-
if (dimensions) {
|
1166
|
-
const newDimensions = findAllDimensions(dimensions);
|
1167
|
-
if (!newDimensions.some((dim)=>dim.id === MeasureName)) newDimensions.push(MeaName);
|
1168
|
-
result.dimensions = newDimensions.map((item, index)=>{
|
1169
|
-
if ('row' === item.encoding || 'column' === item.encoding) return item;
|
1170
|
-
if ('rowDimension' === item.location || 'columnDimension' === item.location) return item;
|
1171
|
-
return {
|
1172
|
-
...item,
|
1173
|
-
encoding: index % 2 === 0 ? 'column' : 'row'
|
1174
|
-
};
|
1175
|
-
});
|
1176
|
-
return result;
|
1177
|
-
}
|
1178
|
-
const top100dataset = dataset.slice(0, 100);
|
1179
|
-
const sample = top100dataset.reduce((prev, cur)=>({
|
1180
|
-
...prev,
|
1181
|
-
...cur
|
1182
|
-
}), {});
|
1183
|
-
const newDimensions = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'string' == typeof item[key]) && ![
|
1184
|
-
'',
|
1185
|
-
null,
|
1186
|
-
void 0
|
1187
|
-
].includes(key) && !measures.some((measure)=>measure.id === key));
|
1188
|
-
result.dimensions = newDimensions.map((dim)=>({
|
1189
|
-
id: dim,
|
1190
|
-
alias: dim
|
1191
|
-
}));
|
1192
|
-
result.dimensions.push(MeaName);
|
1193
|
-
result.dimensions = result.dimensions.map((dim, index)=>({
|
1194
|
-
...dim,
|
1195
|
-
encoding: index % 2 === 0 ? 'column' : 'row'
|
1196
|
-
}));
|
1126
|
+
if (!result.dimensions?.some((dim)=>dim.id === MeasureName)) result.dimensions?.push(MeaName);
|
1197
1127
|
return result;
|
1198
1128
|
};
|
1199
|
-
const
|
1200
|
-
const {
|
1201
|
-
const
|
1202
|
-
const
|
1203
|
-
|
1204
|
-
};
|
1205
|
-
|
1206
|
-
|
1207
|
-
|
1208
|
-
|
1209
|
-
|
1210
|
-
|
1211
|
-
|
1212
|
-
'headerBackgroundColor',
|
1213
|
-
'hoverHeaderBackgroundColor',
|
1214
|
-
'hoverHeaderInlineBackgroundColor',
|
1215
|
-
'selectedBorderColor',
|
1216
|
-
'selectedBackgroundColor'
|
1217
|
-
]);
|
1218
|
-
result.config = {
|
1219
|
-
...result.config || {},
|
1220
|
-
[chartType]: {
|
1221
|
-
...config
|
1222
|
-
}
|
1129
|
+
const encodingForPivotTable = (advancedVSeed)=>{
|
1130
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
1131
|
+
const measures = findAllMeasures(vseedMeasures);
|
1132
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
1133
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
1134
|
+
const encoding = {};
|
1135
|
+
if (hasDimensionEncoding) generateDimensionEncoding(dimensions, encoding);
|
1136
|
+
else generateDefaultDimensionEncoding(dimensions, encoding);
|
1137
|
+
if (hasMeasureEncoding) generateMeasureEncoding(measures, encoding);
|
1138
|
+
else generateDefaultMeasureEncoding(measures, encoding);
|
1139
|
+
return {
|
1140
|
+
...advancedVSeed,
|
1141
|
+
encoding
|
1223
1142
|
};
|
1224
|
-
|
1143
|
+
};
|
1144
|
+
const generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
1145
|
+
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
1146
|
+
encoding.tooltip = uniqueDimIds;
|
1147
|
+
encoding.row = [];
|
1148
|
+
encoding.column = [];
|
1149
|
+
uniqueDimIds.forEach((item, index)=>{
|
1150
|
+
if (index % 2 === 0) encoding.column.push(item);
|
1151
|
+
else encoding.row.push(item);
|
1152
|
+
});
|
1153
|
+
};
|
1154
|
+
const generateDimensionEncoding = (dimensions, encoding)=>{
|
1155
|
+
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
1156
|
+
encoding.tooltip = uniqueDimIds;
|
1157
|
+
encoding.row = [];
|
1158
|
+
encoding.column = [];
|
1159
|
+
dimensions.forEach((dim, index)=>{
|
1160
|
+
const id = dim.id;
|
1161
|
+
if ('row' === dim.encoding) encoding.row.push(id);
|
1162
|
+
else if ('column' === dim.encoding) encoding.column.push(id);
|
1163
|
+
else if (index % 2 === 0) encoding.column.push(id);
|
1164
|
+
else encoding.row.push(id);
|
1165
|
+
});
|
1166
|
+
};
|
1167
|
+
const generateDefaultMeasureEncoding = (measures, encoding)=>{
|
1168
|
+
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
1169
|
+
encoding.detail = chunk_QJLMYOTX_i(measures.filter((item)=>'detail' === item.encoding || !item.encoding).map((item)=>item.id));
|
1170
|
+
};
|
1171
|
+
const generateMeasureEncoding = (measures, encoding)=>{
|
1172
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
1173
|
+
encoding.detail = chunk_QJLMYOTX_i(measures.filter((item)=>'detail' === item.encoding || !item.encoding).map((item)=>item.id));
|
1225
1174
|
};
|
1226
1175
|
function chunk_AIG3BDKO_i(...e) {
|
1227
1176
|
return chunk_WIMGWYZL_u(chunk_AIG3BDKO_n, e);
|
@@ -1322,10 +1271,39 @@
|
|
1322
1271
|
measures
|
1323
1272
|
};
|
1324
1273
|
};
|
1274
|
+
const pivotTableConfig = (advancedVSeed, context)=>{
|
1275
|
+
const { vseed } = context;
|
1276
|
+
const { chartType } = vseed;
|
1277
|
+
const result = {
|
1278
|
+
...advancedVSeed
|
1279
|
+
};
|
1280
|
+
const config = chunk_2T7K3PFL_i(vseed, [
|
1281
|
+
'backgroundColor',
|
1282
|
+
'bodyFontSize',
|
1283
|
+
'bodyFontColor',
|
1284
|
+
'bodyBackgroundColor',
|
1285
|
+
'headerFontSize',
|
1286
|
+
'headerFontColor',
|
1287
|
+
'headerBackgroundColor',
|
1288
|
+
'hoverHeaderBackgroundColor',
|
1289
|
+
'hoverHeaderInlineBackgroundColor',
|
1290
|
+
'selectedBorderColor',
|
1291
|
+
'selectedBackgroundColor'
|
1292
|
+
]);
|
1293
|
+
result.config = {
|
1294
|
+
...result.config || {},
|
1295
|
+
[chartType]: {
|
1296
|
+
...config
|
1297
|
+
}
|
1298
|
+
};
|
1299
|
+
return result;
|
1300
|
+
};
|
1325
1301
|
const pivotTableAdvancedPipeline = [
|
1326
1302
|
initAdvancedVSeed,
|
1327
|
-
|
1328
|
-
|
1303
|
+
defaultMeasures_defaultMeasures,
|
1304
|
+
defaultDimensions,
|
1305
|
+
defaultMeasureName,
|
1306
|
+
encodingForPivotTable,
|
1329
1307
|
reshapePivotTable,
|
1330
1308
|
pivotTableConfig,
|
1331
1309
|
theme_theme
|
@@ -1372,8 +1350,9 @@
|
|
1372
1350
|
};
|
1373
1351
|
const pivotColumns = (spec, context)=>{
|
1374
1352
|
const { advancedVSeed } = context;
|
1353
|
+
const { encoding } = advancedVSeed;
|
1375
1354
|
const dimensions = advancedVSeed.dimensions;
|
1376
|
-
const columns = dimensions.filter((item)=>
|
1355
|
+
const columns = dimensions.filter((item)=>encoding.column?.includes(item.id));
|
1377
1356
|
return {
|
1378
1357
|
...spec,
|
1379
1358
|
columns: columns.map((item)=>({
|
@@ -1386,7 +1365,8 @@
|
|
1386
1365
|
const pivotRows = (spec, context)=>{
|
1387
1366
|
const { advancedVSeed } = context;
|
1388
1367
|
const dimensions = advancedVSeed.dimensions;
|
1389
|
-
const
|
1368
|
+
const { encoding } = advancedVSeed;
|
1369
|
+
const rows = dimensions.filter((item)=>encoding.row?.includes(item.id));
|
1390
1370
|
return {
|
1391
1371
|
...spec,
|
1392
1372
|
rows: rows.map((item)=>({
|
@@ -1419,6 +1399,7 @@
|
|
1419
1399
|
const pivotIndicators_fieldFormat = (measures, foldInfo, locale)=>(value, col, row, table)=>{
|
1420
1400
|
if (!chunk_6GTAPB47_e(col) || !chunk_6GTAPB47_e(row) || !table) return value;
|
1421
1401
|
const datum = table.getCellOriginRecord(col, row);
|
1402
|
+
if (!datum[0]) return value;
|
1422
1403
|
const { measureId: foldMeasureId } = foldInfo;
|
1423
1404
|
const measureId = datum[0][foldMeasureId];
|
1424
1405
|
const node = findMeasureById(measures, measureId);
|
@@ -1448,9 +1429,9 @@
|
|
1448
1429
|
borderColor: borderColor,
|
1449
1430
|
borderLineWidth: 1,
|
1450
1431
|
padding: [
|
1451
|
-
8
|
1432
|
+
8,
|
1452
1433
|
12,
|
1453
|
-
8
|
1434
|
+
8,
|
1454
1435
|
12
|
1455
1436
|
],
|
1456
1437
|
textAlign: 'left',
|
@@ -1578,7 +1559,7 @@
|
|
1578
1559
|
locale: locale || 'zh-CN'
|
1579
1560
|
};
|
1580
1561
|
};
|
1581
|
-
const
|
1562
|
+
const default_defaultMeasures_defaultMeasures = (advancedVSeed, context)=>{
|
1582
1563
|
const { vseed } = context;
|
1583
1564
|
const { measures, dataset } = vseed;
|
1584
1565
|
if (measures && measures.length > 0) return {
|
@@ -1608,7 +1589,7 @@
|
|
1608
1589
|
measures: defaultMeasures
|
1609
1590
|
};
|
1610
1591
|
};
|
1611
|
-
const
|
1592
|
+
const defaultDimensions_defaultDimensions = (advancedVSeed, context)=>{
|
1612
1593
|
const result = {
|
1613
1594
|
...advancedVSeed
|
1614
1595
|
};
|
@@ -1639,7 +1620,7 @@
|
|
1639
1620
|
dimensions: newDimensions
|
1640
1621
|
};
|
1641
1622
|
};
|
1642
|
-
const
|
1623
|
+
const defaultMeasureName_defaultMeasureName = (advancedVSeed)=>{
|
1643
1624
|
const result = {
|
1644
1625
|
...advancedVSeed
|
1645
1626
|
};
|
@@ -1650,51 +1631,78 @@
|
|
1650
1631
|
if (!result.dimensions?.some((dim)=>dim.id === MeasureName)) result.dimensions?.push(MeaName);
|
1651
1632
|
return result;
|
1652
1633
|
};
|
1634
|
+
const encodingAdapter = (noEncodingPipeline, hasEncodingPipeline)=>(advancedVSeed, context)=>{
|
1635
|
+
const { dimensions = [], measures = [] } = advancedVSeed;
|
1636
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
1637
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
1638
|
+
const hasEncoding = hasDimensionEncoding || hasMeasureEncoding;
|
1639
|
+
if (hasEncoding) return execPipeline(hasEncodingPipeline, context, advancedVSeed);
|
1640
|
+
return execPipeline(noEncodingPipeline, context, advancedVSeed);
|
1641
|
+
};
|
1642
|
+
const defaultEncodingForLine = (advancedVSeed)=>{
|
1643
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
1644
|
+
const measures = findAllMeasures(vseedMeasures);
|
1645
|
+
const encoding = {};
|
1646
|
+
line_generateDefaultDimensionEncoding(dimensions, encoding);
|
1647
|
+
line_generateDefaultMeasureEncoding(measures, encoding);
|
1648
|
+
return {
|
1649
|
+
...advancedVSeed,
|
1650
|
+
encoding
|
1651
|
+
};
|
1652
|
+
};
|
1653
1653
|
const encodingForLine = (advancedVSeed)=>{
|
1654
1654
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
1655
1655
|
const measures = findAllMeasures(vseedMeasures);
|
1656
1656
|
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
1657
1657
|
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
1658
1658
|
const encoding = {};
|
1659
|
-
if (hasDimensionEncoding)
|
1660
|
-
else
|
1661
|
-
if (hasMeasureEncoding)
|
1662
|
-
else
|
1659
|
+
if (hasDimensionEncoding) line_generateDimensionEncoding(dimensions, encoding);
|
1660
|
+
else line_generateDefaultDimensionEncoding(dimensions, encoding);
|
1661
|
+
if (hasMeasureEncoding) line_generateMeasureEncoding(measures, encoding);
|
1662
|
+
else line_generateDefaultMeasureEncoding(measures, encoding);
|
1663
1663
|
return {
|
1664
1664
|
...advancedVSeed,
|
1665
1665
|
encoding
|
1666
1666
|
};
|
1667
1667
|
};
|
1668
|
-
const
|
1668
|
+
const line_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
1669
1669
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
1670
1670
|
encoding.x = uniqueDimIds.slice(0, 1);
|
1671
1671
|
encoding.color = uniqueDimIds.slice(1);
|
1672
|
-
encoding.tooltip = uniqueDimIds;
|
1672
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
1673
1673
|
encoding.detail = [];
|
1674
1674
|
encoding.label = [];
|
1675
1675
|
encoding.row = [];
|
1676
1676
|
encoding.column = [];
|
1677
1677
|
};
|
1678
|
-
const
|
1678
|
+
const line_generateDimensionEncoding = (dimensions, encoding)=>{
|
1679
1679
|
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
1680
|
-
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
1681
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
1682
1680
|
if (0 === encoding.x.length) encoding.x = [
|
1683
1681
|
dimensions[0].id
|
1684
1682
|
];
|
1683
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
1685
1684
|
if (0 === encoding.color.length) encoding.color = [
|
1686
1685
|
MeasureName
|
1687
1686
|
];
|
1687
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
1688
|
+
if (0 === encoding.detail.length) encoding.detail = [
|
1689
|
+
MeasureName
|
1690
|
+
];
|
1691
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
1692
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
1688
1693
|
};
|
1689
|
-
const
|
1690
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
1694
|
+
const line_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
1691
1695
|
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
1692
1696
|
};
|
1693
|
-
const
|
1694
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
1697
|
+
const line_generateMeasureEncoding = (measures, encoding)=>{
|
1695
1698
|
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
1696
1699
|
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
1697
1700
|
if (color.length > 0) encoding.color = color;
|
1701
|
+
const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
1702
|
+
encoding.tooltip = chunk_QJLMYOTX_i([
|
1703
|
+
...encoding.tooltip || [],
|
1704
|
+
...tooltip
|
1705
|
+
]);
|
1698
1706
|
};
|
1699
1707
|
const isMeasureTreeWithChildren = (vseed)=>{
|
1700
1708
|
const { measures } = vseed;
|
@@ -1706,6 +1714,37 @@
|
|
1706
1714
|
if (!measures) return false;
|
1707
1715
|
return measures.some((measure)=>'parentId' in measure);
|
1708
1716
|
};
|
1717
|
+
const normalizeMeasureTree = (measures)=>{
|
1718
|
+
const createEmptyMeasureGroup = ()=>({
|
1719
|
+
id: 'group',
|
1720
|
+
alias: '',
|
1721
|
+
children: []
|
1722
|
+
});
|
1723
|
+
let currentGroup = createEmptyMeasureGroup();
|
1724
|
+
const measureGroups = [];
|
1725
|
+
for (const measure of measures)if ('children' in measure) {
|
1726
|
+
if (currentGroup.children?.length) {
|
1727
|
+
currentGroup.id = [
|
1728
|
+
currentGroup.id,
|
1729
|
+
...currentGroup.children.map((item)=>item.id)
|
1730
|
+
].join('-');
|
1731
|
+
currentGroup.alias = currentGroup.children.map((item)=>item.alias).join('-');
|
1732
|
+
measureGroups.push(currentGroup);
|
1733
|
+
currentGroup = createEmptyMeasureGroup();
|
1734
|
+
}
|
1735
|
+
measureGroups.push(measure);
|
1736
|
+
} else currentGroup.children?.push(measure);
|
1737
|
+
if (currentGroup.children?.length) {
|
1738
|
+
currentGroup.id = [
|
1739
|
+
currentGroup.id,
|
1740
|
+
...currentGroup.children.map((item)=>item.id)
|
1741
|
+
].join('-');
|
1742
|
+
currentGroup.alias = currentGroup.children.map((item)=>item.alias).join('-');
|
1743
|
+
measureGroups.push(currentGroup);
|
1744
|
+
currentGroup = createEmptyMeasureGroup();
|
1745
|
+
}
|
1746
|
+
return measureGroups;
|
1747
|
+
};
|
1709
1748
|
const measureDepth = (measures = [])=>{
|
1710
1749
|
if (!measures) return 0;
|
1711
1750
|
let depth = 1;
|
@@ -1730,7 +1769,7 @@
|
|
1730
1769
|
}
|
1731
1770
|
if ('dualAxis' === vseed.chartType || 'scatter' === vseed.chartType) {
|
1732
1771
|
const { dimensions = [] } = vseed;
|
1733
|
-
const hasRowOrColumnDimension = dimensions && dimensions.some((dimension)=>'
|
1772
|
+
const hasRowOrColumnDimension = dimensions && dimensions.some((dimension)=>'row' === dimension.encoding || 'column' === dimension.encoding);
|
1734
1773
|
if (hasRowOrColumnDimension) return true;
|
1735
1774
|
if ('scatter' === vseed.chartType) {
|
1736
1775
|
if (isMeasureTreeWithChildren(vseed)) {
|
@@ -1750,14 +1789,14 @@
|
|
1750
1789
|
return false;
|
1751
1790
|
}
|
1752
1791
|
const { measures = [], dimensions = [] } = vseed;
|
1753
|
-
const hasRowOrColumnDimension = dimensions && dimensions.some((dimension)=>'
|
1792
|
+
const hasRowOrColumnDimension = dimensions && dimensions.some((dimension)=>'row' === dimension.encoding || 'column' === dimension.encoding);
|
1754
1793
|
const hasMeasureGroup = measures && measures.some((measure)=>measure && measure.children);
|
1755
1794
|
return hasRowOrColumnDimension || hasMeasureGroup;
|
1756
1795
|
};
|
1757
1796
|
const buildMeasures = (advancedVSeed, context)=>{
|
1758
1797
|
const { vseed } = context;
|
1759
1798
|
if (isMeasureTreeWithChildren(vseed)) {
|
1760
|
-
advancedVSeed.measures = vseed.measures;
|
1799
|
+
advancedVSeed.measures = normalizeMeasureTree(vseed.measures);
|
1761
1800
|
return advancedVSeed;
|
1762
1801
|
}
|
1763
1802
|
if (isMeasureTreeWithParentId(vseed)) {
|
@@ -1873,7 +1912,7 @@
|
|
1873
1912
|
});
|
1874
1913
|
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dimensions, encoding, {
|
1875
1914
|
foldMeasureId,
|
1876
|
-
separator:
|
1915
|
+
separator: "-",
|
1877
1916
|
colorItemAsId
|
1878
1917
|
});
|
1879
1918
|
return {
|
@@ -2168,11 +2207,16 @@
|
|
2168
2207
|
};
|
2169
2208
|
const lineAdvancedPipeline = [
|
2170
2209
|
initAdvancedVSeed_initAdvancedVSeed,
|
2171
|
-
|
2172
|
-
|
2173
|
-
|
2174
|
-
|
2175
|
-
|
2210
|
+
default_defaultMeasures_defaultMeasures,
|
2211
|
+
defaultDimensions_defaultDimensions,
|
2212
|
+
defaultMeasureName_defaultMeasureName,
|
2213
|
+
encodingAdapter([
|
2214
|
+
defaultEncodingForLine,
|
2215
|
+
buildMeasures
|
2216
|
+
], [
|
2217
|
+
encodingForLine,
|
2218
|
+
buildMeasures
|
2219
|
+
]),
|
2176
2220
|
pivotAdapter([
|
2177
2221
|
reshapeWithEncoding
|
2178
2222
|
], [
|
@@ -2447,10 +2491,6 @@
|
|
2447
2491
|
];
|
2448
2492
|
return result;
|
2449
2493
|
};
|
2450
|
-
const ANNOTATION_Z_INDEX = 1000;
|
2451
|
-
const LINEAR_AXIS_INNER_OFFSET_TOP = 7;
|
2452
|
-
const DUAL_AXIS_CHART_COLUMN_Z_INDEX = 1000;
|
2453
|
-
const DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX = 1001;
|
2454
2494
|
const yLinear = (spec, context)=>{
|
2455
2495
|
const result = {
|
2456
2496
|
...spec
|
@@ -2524,7 +2564,7 @@
|
|
2524
2564
|
}
|
2525
2565
|
},
|
2526
2566
|
innerOffset: {
|
2527
|
-
top:
|
2567
|
+
top: 7
|
2528
2568
|
}
|
2529
2569
|
};
|
2530
2570
|
result.axes = [
|
@@ -3096,83 +3136,138 @@
|
|
3096
3136
|
...spec
|
3097
3137
|
};
|
3098
3138
|
const { advancedVSeed } = context;
|
3099
|
-
const { measures, datasetReshapeInfo, chartType, locale, dimensions } = advancedVSeed;
|
3139
|
+
const { measures, datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed;
|
3100
3140
|
const baseConfig = advancedVSeed.config[chartType];
|
3101
3141
|
const { tooltip = {
|
3102
3142
|
enable: true
|
3103
3143
|
} } = baseConfig;
|
3104
3144
|
const { enable } = tooltip;
|
3105
|
-
const {
|
3106
|
-
const { encodingColor: colorName } = datasetReshapeInfo[0].unfoldInfo;
|
3145
|
+
const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
|
3107
3146
|
result.tooltip = {
|
3108
3147
|
visible: enable,
|
3109
3148
|
mark: {
|
3110
3149
|
title: {
|
3111
|
-
visible:
|
3150
|
+
visible: false
|
3112
3151
|
},
|
3113
|
-
content: [
|
3114
|
-
...dimensions.map((item)=>({
|
3115
|
-
visible: true,
|
3116
|
-
hasShape: true,
|
3117
|
-
shapeType: 'rectRound',
|
3118
|
-
key: (datum)=>{
|
3119
|
-
if (item.alias || item.id) return item.alias || item.id;
|
3120
|
-
return datum && datum[item.id];
|
3121
|
-
},
|
3122
|
-
value: (datum)=>datum && datum[item.id]
|
3123
|
-
})),
|
3124
|
-
{
|
3125
|
-
visible: true,
|
3126
|
-
hasShape: true,
|
3127
|
-
key: (datum)=>datum && datum[measureName || colorName] || '',
|
3128
|
-
value: (datum)=>{
|
3129
|
-
if (!datum) return '';
|
3130
|
-
const value = datum[measureValue];
|
3131
|
-
const id = datum[measureId];
|
3132
|
-
const measure = findMeasureById(measures, id);
|
3133
|
-
if (!measure) return String(value);
|
3134
|
-
const { format = {}, autoFormat = true } = measure;
|
3135
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
3136
|
-
const formatter = createFormatter(format);
|
3137
|
-
return formatter(value);
|
3138
|
-
}
|
3139
|
-
if (autoFormat) return autoFormatter(value, locale);
|
3140
|
-
return String(value);
|
3141
|
-
}
|
3142
|
-
}
|
3143
|
-
]
|
3152
|
+
content: createMarkContent(encoding.tooltip || [], dimensions, measures, locale, foldInfo, unfoldInfo)
|
3144
3153
|
},
|
3145
3154
|
dimension: {
|
3146
|
-
|
3147
|
-
|
3148
|
-
|
3149
|
-
|
3150
|
-
value: (datum)=>{
|
3151
|
-
if (!datum) return '';
|
3152
|
-
const value = datum[measureValue];
|
3153
|
-
const id = datum[measureId];
|
3154
|
-
const measure = findMeasureById(measures, id);
|
3155
|
-
if (!measure) return String(value);
|
3156
|
-
const { format = {}, autoFormat = true } = measure;
|
3157
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
3158
|
-
const formatter = createFormatter(format);
|
3159
|
-
return formatter(value);
|
3160
|
-
}
|
3161
|
-
if (autoFormat) return autoFormatter(value, locale);
|
3162
|
-
return String(value);
|
3163
|
-
},
|
3164
|
-
shapeType: 'rectRound'
|
3165
|
-
}
|
3166
|
-
]
|
3155
|
+
title: {
|
3156
|
+
visible: true
|
3157
|
+
},
|
3158
|
+
content: createDimensionContent(measures, foldInfo, unfoldInfo, locale)
|
3167
3159
|
}
|
3168
3160
|
};
|
3169
3161
|
return result;
|
3170
3162
|
};
|
3171
|
-
const
|
3172
|
-
|
3173
|
-
|
3174
|
-
|
3175
|
-
|
3163
|
+
const createDimensionContent = (measures, foldInfo, unfoldInfo, locale)=>{
|
3164
|
+
const { measureId, measureValue } = foldInfo;
|
3165
|
+
const { encodingColor } = unfoldInfo;
|
3166
|
+
return [
|
3167
|
+
{
|
3168
|
+
visible: true,
|
3169
|
+
shapeType: 'rectRound',
|
3170
|
+
hasShape: true,
|
3171
|
+
key: (v)=>{
|
3172
|
+
const datum = v;
|
3173
|
+
return datum && datum[encodingColor] || '';
|
3174
|
+
},
|
3175
|
+
value: (v)=>{
|
3176
|
+
const datum = v;
|
3177
|
+
if (!datum) return '';
|
3178
|
+
const value = datum[measureValue];
|
3179
|
+
const id = datum[measureId];
|
3180
|
+
const measure = findMeasureById(measures, id);
|
3181
|
+
if (!measure) return String(value);
|
3182
|
+
const { format = {}, autoFormat = true } = measure;
|
3183
|
+
if (!chunk_VCYTMP4D_n(format)) {
|
3184
|
+
const formatter = createFormatter(format);
|
3185
|
+
return formatter(value);
|
3186
|
+
}
|
3187
|
+
if (autoFormat) return autoFormatter(value, locale);
|
3188
|
+
return String(value);
|
3189
|
+
}
|
3190
|
+
}
|
3191
|
+
];
|
3192
|
+
};
|
3193
|
+
const createMarkContent = (tooltip, dimensions, measures, locale, foldInfo, unfoldInfo)=>{
|
3194
|
+
const dims = dimensions.filter((item)=>tooltip.includes(item.id));
|
3195
|
+
const meas = measures.filter((item)=>tooltip.includes(item.id));
|
3196
|
+
const dimContent = dims.map((item)=>({
|
3197
|
+
visible: true,
|
3198
|
+
hasShape: true,
|
3199
|
+
shapeType: 'rectRound',
|
3200
|
+
key: (v)=>{
|
3201
|
+
const datum = v;
|
3202
|
+
if (item.alias || item.id) return item.alias || item.id;
|
3203
|
+
return datum && datum[item.id];
|
3204
|
+
},
|
3205
|
+
value: (v)=>{
|
3206
|
+
const datum = v;
|
3207
|
+
return datum && datum[item.id];
|
3208
|
+
}
|
3209
|
+
}));
|
3210
|
+
const meaContent = meas.map((item)=>({
|
3211
|
+
visible: true,
|
3212
|
+
hasShape: true,
|
3213
|
+
shapeType: 'rectRound',
|
3214
|
+
key: item.alias || item.id,
|
3215
|
+
value: (v)=>{
|
3216
|
+
const datum = v;
|
3217
|
+
if (!datum) return '';
|
3218
|
+
const id = item.id;
|
3219
|
+
if (!datum || !datum[ORIGINAL_DATA] || !datum[ORIGINAL_DATA]) return '';
|
3220
|
+
const originalData = datum[ORIGINAL_DATA];
|
3221
|
+
const value = originalData[id];
|
3222
|
+
const measure = findMeasureById(measures, id);
|
3223
|
+
if (!measure) return String(value);
|
3224
|
+
const { format = {}, autoFormat = true } = measure;
|
3225
|
+
if (!chunk_VCYTMP4D_n(format)) {
|
3226
|
+
const formatter = createFormatter(format);
|
3227
|
+
return formatter(value);
|
3228
|
+
}
|
3229
|
+
if (autoFormat) return autoFormatter(value, locale);
|
3230
|
+
return String(value);
|
3231
|
+
}
|
3232
|
+
}));
|
3233
|
+
const defaultContent = {
|
3234
|
+
visible: true,
|
3235
|
+
hasShape: true,
|
3236
|
+
shapeType: 'rectRound',
|
3237
|
+
key: (v)=>{
|
3238
|
+
const { measureName } = foldInfo;
|
3239
|
+
const { encodingColor: colorName } = unfoldInfo;
|
3240
|
+
const datum = v;
|
3241
|
+
return datum && datum[measureName || colorName] || '';
|
3242
|
+
},
|
3243
|
+
value: (v)=>{
|
3244
|
+
const { measureId, measureValue } = foldInfo;
|
3245
|
+
const datum = v;
|
3246
|
+
if (!datum) return '';
|
3247
|
+
const value = datum[measureValue];
|
3248
|
+
const id = datum[measureId];
|
3249
|
+
const measure = findMeasureById(measures, id);
|
3250
|
+
if (!measure) return String(value);
|
3251
|
+
const { format = {}, autoFormat = true } = measure;
|
3252
|
+
if (!chunk_VCYTMP4D_n(format)) {
|
3253
|
+
const formatter = createFormatter(format);
|
3254
|
+
return formatter(value);
|
3255
|
+
}
|
3256
|
+
if (autoFormat) return autoFormatter(value, locale);
|
3257
|
+
return String(value);
|
3258
|
+
}
|
3259
|
+
};
|
3260
|
+
return [
|
3261
|
+
...dimContent,
|
3262
|
+
defaultContent,
|
3263
|
+
...meaContent
|
3264
|
+
];
|
3265
|
+
};
|
3266
|
+
const isSubset = (sub, obj)=>Object.entries(sub).every(([key, value])=>{
|
3267
|
+
if ('string' == typeof value) return obj[key] === value;
|
3268
|
+
if ('number' == typeof value) return obj[key] === value;
|
3269
|
+
return true;
|
3270
|
+
});
|
3176
3271
|
const annotationPoint_annotationPoint = (spec, context)=>{
|
3177
3272
|
const { advancedVSeed } = context;
|
3178
3273
|
const { annotation } = advancedVSeed;
|
@@ -3186,7 +3281,7 @@
|
|
3186
3281
|
const dataset = advancedVSeed.dataset.flat();
|
3187
3282
|
const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
|
3188
3283
|
return selectedData.map((datum)=>({
|
3189
|
-
zIndex:
|
3284
|
+
zIndex: 1000,
|
3190
3285
|
regionRelative: true,
|
3191
3286
|
position: (data, context)=>{
|
3192
3287
|
const targetDatum = data.find((item)=>isSubset(datum, item));
|
@@ -3243,7 +3338,7 @@
|
|
3243
3338
|
const annotationVerticalLine_annotationVerticalLine = (spec, context)=>{
|
3244
3339
|
const { advancedVSeed } = context;
|
3245
3340
|
const { annotation, datasetReshapeInfo } = advancedVSeed;
|
3246
|
-
const { unfoldInfo } = datasetReshapeInfo[0];
|
3341
|
+
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
3247
3342
|
if (!annotation || !annotation.annotationVerticalLine) return spec;
|
3248
3343
|
const { annotationVerticalLine } = annotation;
|
3249
3344
|
const annotationVerticalLineList = Array.isArray(annotationVerticalLine) ? annotationVerticalLine : [
|
@@ -3262,7 +3357,7 @@
|
|
3262
3357
|
const dataset = advancedVSeed.dataset.flat();
|
3263
3358
|
const generateOneMarkLine = (x)=>({
|
3264
3359
|
x: x,
|
3265
|
-
zIndex:
|
3360
|
+
zIndex: 1000,
|
3266
3361
|
line: {
|
3267
3362
|
style: {
|
3268
3363
|
visible: lineVisible,
|
@@ -3323,9 +3418,9 @@
|
|
3323
3418
|
}
|
3324
3419
|
const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
|
3325
3420
|
return selectedData.map((datum)=>{
|
3326
|
-
|
3327
|
-
if (
|
3328
|
-
return
|
3421
|
+
if (datum[unfoldInfo.encodingX]) return generateOneMarkLine(datum[unfoldInfo.encodingX]);
|
3422
|
+
if (datum[foldInfo.measureValue]) return generateOneMarkLine(datum[foldInfo.measureValue]);
|
3423
|
+
return {};
|
3329
3424
|
});
|
3330
3425
|
});
|
3331
3426
|
const specMarkLine = spec.markLine || [];
|
@@ -3341,10 +3436,10 @@
|
|
3341
3436
|
const annotationHorizontalLine_annotationHorizontalLine = (spec, context)=>{
|
3342
3437
|
const { advancedVSeed } = context;
|
3343
3438
|
const { annotation, datasetReshapeInfo } = advancedVSeed;
|
3344
|
-
const { unfoldInfo } = datasetReshapeInfo[0];
|
3439
|
+
const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
|
3345
3440
|
if (!annotation || !annotation.annotationHorizontalLine) return spec;
|
3346
3441
|
const { annotationHorizontalLine } = annotation;
|
3347
|
-
const
|
3442
|
+
const annotationHorizontalLineList = Array.isArray(annotationHorizontalLine) ? annotationHorizontalLine : [
|
3348
3443
|
annotationHorizontalLine
|
3349
3444
|
];
|
3350
3445
|
const positionMap = {
|
@@ -3355,12 +3450,12 @@
|
|
3355
3450
|
insideMiddle: 'insideMiddleTop',
|
3356
3451
|
insideEnd: 'insideEndTop'
|
3357
3452
|
};
|
3358
|
-
const markLine =
|
3359
|
-
const { selector: selectorPoint, yValue, text = '', textPosition = 'insideEnd', textColor = '#ffffff', textFontSize = 12, textFontWeight = 400, textAlign = 'right', textBaseline = 'top', lineColor = '#212121', lineStyle = 'dashed', lineVisible = true, lineWidth = 1, textBackgroundVisible = true, textBackgroundColor = '#212121', textBackgroundBorderColor = '#212121', textBackgroundBorderRadius = 4, textBackgroundBorderWidth = 1, textBackgroundPadding = 2 } =
|
3453
|
+
const markLine = annotationHorizontalLineList.flatMap((annotationHorizontalLine)=>{
|
3454
|
+
const { selector: selectorPoint, yValue, text = '', textPosition = 'insideEnd', textColor = '#ffffff', textFontSize = 12, textFontWeight = 400, textAlign = 'right', textBaseline = 'top', lineColor = '#212121', lineStyle = 'dashed', lineVisible = true, lineWidth = 1, textBackgroundVisible = true, textBackgroundColor = '#212121', textBackgroundBorderColor = '#212121', textBackgroundBorderRadius = 4, textBackgroundBorderWidth = 1, textBackgroundPadding = 2 } = annotationHorizontalLine;
|
3360
3455
|
const dataset = advancedVSeed.dataset.flat();
|
3361
3456
|
const generateOneMarkLine = (y)=>({
|
3362
3457
|
y,
|
3363
|
-
zIndex:
|
3458
|
+
zIndex: 1000,
|
3364
3459
|
line: {
|
3365
3460
|
style: {
|
3366
3461
|
visible: lineVisible,
|
@@ -3421,9 +3516,9 @@
|
|
3421
3516
|
}
|
3422
3517
|
const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
|
3423
3518
|
return selectedData.map((datum)=>{
|
3424
|
-
|
3425
|
-
if (
|
3426
|
-
return
|
3519
|
+
if (datum[unfoldInfo.encodingY]) return generateOneMarkLine(datum[unfoldInfo.encodingY]);
|
3520
|
+
if (datum[foldInfo.measureValue]) return generateOneMarkLine(datum[foldInfo.measureValue]);
|
3521
|
+
return {};
|
3427
3522
|
});
|
3428
3523
|
});
|
3429
3524
|
const specMarkLine = spec.markLine || [];
|
@@ -3461,7 +3556,7 @@
|
|
3461
3556
|
const labelPosition = positionMap[textPosition || 'top'];
|
3462
3557
|
const isBottom = labelPosition.toLocaleLowerCase().includes('bottom');
|
3463
3558
|
return {
|
3464
|
-
zIndex:
|
3559
|
+
zIndex: 1000,
|
3465
3560
|
regionRelative: true,
|
3466
3561
|
positions: (data, context)=>{
|
3467
3562
|
const positionData = data.filter((item)=>selectedData.some((datum)=>isSubset(datum, item)));
|
@@ -3787,7 +3882,7 @@
|
|
3787
3882
|
const { advancedVSeed } = context;
|
3788
3883
|
const dimensions = advancedVSeed.dimensions;
|
3789
3884
|
if (!dimensions) return result;
|
3790
|
-
const rowDimensions = dimensions.filter((dim)=>'
|
3885
|
+
const rowDimensions = dimensions.filter((dim)=>'row' === dim.encoding);
|
3791
3886
|
const rows = rowDimensions.map((dim)=>({
|
3792
3887
|
dimensionKey: dim.id,
|
3793
3888
|
title: dim.alias || dim.id
|
@@ -3804,7 +3899,7 @@
|
|
3804
3899
|
const { advancedVSeed } = context;
|
3805
3900
|
const dimensions = advancedVSeed.dimensions;
|
3806
3901
|
if (!dimensions) return result;
|
3807
|
-
const columnDimensions = dimensions.filter((dim)=>'
|
3902
|
+
const columnDimensions = dimensions.filter((dim)=>'column' === dim.encoding);
|
3808
3903
|
const columns = columnDimensions.map((dim)=>({
|
3809
3904
|
dimensionKey: dim.id,
|
3810
3905
|
title: dim.alias || dim.id
|
@@ -4077,6 +4172,17 @@
|
|
4077
4172
|
Builder._advancedPipelineMap.line = lineAdvancedPipeline;
|
4078
4173
|
Builder._specPipelineMap.line = lineSpecPipeline;
|
4079
4174
|
};
|
4175
|
+
const defaultEncodingForColumn = (advancedVSeed)=>{
|
4176
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
4177
|
+
const measures = findAllMeasures(vseedMeasures);
|
4178
|
+
const encoding = {};
|
4179
|
+
column_generateDefaultDimensionEncoding(dimensions, encoding);
|
4180
|
+
column_generateDefaultMeasureEncoding(measures, encoding);
|
4181
|
+
return {
|
4182
|
+
...advancedVSeed,
|
4183
|
+
encoding
|
4184
|
+
};
|
4185
|
+
};
|
4080
4186
|
const encodingForColumn = (advancedVSeed)=>{
|
4081
4187
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
4082
4188
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -4098,40 +4204,52 @@
|
|
4098
4204
|
encoding.x = uniqueDimIds.slice(0, 1);
|
4099
4205
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
4100
4206
|
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
4101
|
-
encoding.tooltip = uniqueDimIds;
|
4207
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
4102
4208
|
encoding.label = [];
|
4103
4209
|
encoding.row = [];
|
4104
4210
|
encoding.column = [];
|
4105
4211
|
};
|
4106
4212
|
const column_generateDimensionEncoding = (dimensions, encoding)=>{
|
4107
4213
|
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
4108
|
-
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4109
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
4110
4214
|
if (0 === encoding.x.length) encoding.x = [
|
4111
4215
|
dimensions[0].id
|
4112
4216
|
];
|
4217
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4113
4218
|
if (0 === encoding.color.length) encoding.color = [
|
4114
4219
|
MeasureName
|
4115
4220
|
];
|
4221
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
4222
|
+
if (0 === encoding.detail.length) encoding.detail = [
|
4223
|
+
MeasureName
|
4224
|
+
];
|
4225
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
4226
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
4116
4227
|
};
|
4117
4228
|
const column_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
4118
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
4119
4229
|
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4120
4230
|
};
|
4121
4231
|
const column_generateMeasureEncoding = (measures, encoding)=>{
|
4122
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
4123
4232
|
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4124
4233
|
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4125
4234
|
if (color.length > 0) encoding.color = color;
|
4126
|
-
|
4235
|
+
const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
4236
|
+
encoding.tooltip = chunk_QJLMYOTX_i([
|
4237
|
+
...encoding.tooltip || [],
|
4238
|
+
...tooltip
|
4239
|
+
]);
|
4127
4240
|
};
|
4128
4241
|
const columnAdvancedPipeline = [
|
4129
4242
|
initAdvancedVSeed_initAdvancedVSeed,
|
4130
|
-
|
4131
|
-
|
4132
|
-
|
4133
|
-
|
4134
|
-
|
4243
|
+
default_defaultMeasures_defaultMeasures,
|
4244
|
+
defaultDimensions_defaultDimensions,
|
4245
|
+
defaultMeasureName_defaultMeasureName,
|
4246
|
+
encodingAdapter([
|
4247
|
+
defaultEncodingForColumn,
|
4248
|
+
buildMeasures
|
4249
|
+
], [
|
4250
|
+
encodingForColumn,
|
4251
|
+
buildMeasures
|
4252
|
+
]),
|
4135
4253
|
pivotAdapter([
|
4136
4254
|
reshapeWithEncoding
|
4137
4255
|
], [
|
@@ -4328,7 +4446,7 @@
|
|
4328
4446
|
const dataset = advancedVSeed.dataset.flat();
|
4329
4447
|
const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
|
4330
4448
|
return {
|
4331
|
-
zIndex:
|
4449
|
+
zIndex: 1000,
|
4332
4450
|
regionRelative: true,
|
4333
4451
|
positions: (data, context)=>{
|
4334
4452
|
const positionData = data.filter((item)=>selectedData.some((datum)=>isSubset(datum, item)));
|
@@ -4491,11 +4609,16 @@
|
|
4491
4609
|
};
|
4492
4610
|
const columnParallelAdvancedPipeline = [
|
4493
4611
|
initAdvancedVSeed_initAdvancedVSeed,
|
4494
|
-
|
4495
|
-
|
4496
|
-
|
4497
|
-
|
4498
|
-
|
4612
|
+
default_defaultMeasures_defaultMeasures,
|
4613
|
+
defaultDimensions_defaultDimensions,
|
4614
|
+
defaultMeasureName_defaultMeasureName,
|
4615
|
+
encodingAdapter([
|
4616
|
+
defaultEncodingForColumn,
|
4617
|
+
buildMeasures
|
4618
|
+
], [
|
4619
|
+
encodingForColumn,
|
4620
|
+
buildMeasures
|
4621
|
+
]),
|
4499
4622
|
pivotAdapter([
|
4500
4623
|
reshapeWithEncoding
|
4501
4624
|
], [
|
@@ -4590,11 +4713,16 @@
|
|
4590
4713
|
};
|
4591
4714
|
const columnPercentAdvancedPipeline = [
|
4592
4715
|
initAdvancedVSeed_initAdvancedVSeed,
|
4593
|
-
|
4594
|
-
|
4595
|
-
|
4596
|
-
|
4597
|
-
|
4716
|
+
default_defaultMeasures_defaultMeasures,
|
4717
|
+
defaultDimensions_defaultDimensions,
|
4718
|
+
defaultMeasureName_defaultMeasureName,
|
4719
|
+
encodingAdapter([
|
4720
|
+
defaultEncodingForColumn,
|
4721
|
+
buildMeasures
|
4722
|
+
], [
|
4723
|
+
encodingForColumn,
|
4724
|
+
buildMeasures
|
4725
|
+
]),
|
4598
4726
|
pivotAdapter([
|
4599
4727
|
reshapeWithEncoding
|
4600
4728
|
], [
|
@@ -4671,6 +4799,17 @@
|
|
4671
4799
|
Builder._advancedPipelineMap.columnPercent = columnPercentAdvancedPipeline;
|
4672
4800
|
Builder._specPipelineMap.columnPercent = columnPercentSpecPipeline;
|
4673
4801
|
};
|
4802
|
+
const defaultEncodingForBar = (advancedVSeed)=>{
|
4803
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
4804
|
+
const measures = findAllMeasures(vseedMeasures);
|
4805
|
+
const encoding = {};
|
4806
|
+
bar_generateDefaultDimensionEncoding(dimensions, encoding);
|
4807
|
+
bar_generateDefaultMeasureEncoding(measures, encoding);
|
4808
|
+
return {
|
4809
|
+
...advancedVSeed,
|
4810
|
+
encoding
|
4811
|
+
};
|
4812
|
+
};
|
4674
4813
|
const encodingForBar = (advancedVSeed)=>{
|
4675
4814
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
4676
4815
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -4686,39 +4825,45 @@
|
|
4686
4825
|
encoding
|
4687
4826
|
};
|
4688
4827
|
};
|
4689
|
-
const bar_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
4690
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
4691
|
-
encoding.x = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4692
|
-
};
|
4693
4828
|
const bar_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
4694
4829
|
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
4695
4830
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
4696
4831
|
encoding.y = uniqueDimIds.slice(0, 1);
|
4697
4832
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
4698
4833
|
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
4699
|
-
encoding.tooltip = uniqueDimIds;
|
4834
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
4700
4835
|
encoding.label = [];
|
4701
4836
|
encoding.row = [];
|
4702
4837
|
encoding.column = [];
|
4703
4838
|
};
|
4704
|
-
const bar_generateMeasureEncoding = (measures, encoding)=>{
|
4705
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
4706
|
-
encoding.x = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4707
|
-
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4708
|
-
if (color.length > 0) encoding.color = color;
|
4709
|
-
return encoding;
|
4710
|
-
};
|
4711
4839
|
const bar_generateDimensionEncoding = (dimensions, encoding)=>{
|
4712
4840
|
encoding.y = chunk_QJLMYOTX_i(dimensions.filter((item)=>'yAxis' === item.encoding).map((item)=>item.id));
|
4713
|
-
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4714
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
4715
4841
|
if (0 === encoding.y.length) encoding.y = [
|
4716
4842
|
dimensions[0].id
|
4717
4843
|
];
|
4844
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4718
4845
|
if (0 === encoding.color.length) encoding.color = [
|
4719
4846
|
MeasureName
|
4720
4847
|
];
|
4721
|
-
|
4848
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
4849
|
+
if (0 === encoding.detail.length) encoding.detail = [
|
4850
|
+
MeasureName
|
4851
|
+
];
|
4852
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
4853
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
4854
|
+
};
|
4855
|
+
const bar_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
4856
|
+
encoding.x = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4857
|
+
};
|
4858
|
+
const bar_generateMeasureEncoding = (measures, encoding)=>{
|
4859
|
+
encoding.x = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4860
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4861
|
+
if (color.length > 0) encoding.color = color;
|
4862
|
+
const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
4863
|
+
encoding.tooltip = chunk_QJLMYOTX_i([
|
4864
|
+
...encoding.tooltip || [],
|
4865
|
+
...tooltip
|
4866
|
+
]);
|
4722
4867
|
};
|
4723
4868
|
const sortYBandAxis = (advancedVSeed, context)=>{
|
4724
4869
|
const result = {
|
@@ -4738,11 +4883,16 @@
|
|
4738
4883
|
};
|
4739
4884
|
const barAdvancedPipeline = [
|
4740
4885
|
initAdvancedVSeed_initAdvancedVSeed,
|
4741
|
-
|
4742
|
-
|
4743
|
-
|
4744
|
-
|
4745
|
-
|
4886
|
+
default_defaultMeasures_defaultMeasures,
|
4887
|
+
defaultDimensions_defaultDimensions,
|
4888
|
+
defaultMeasureName_defaultMeasureName,
|
4889
|
+
encodingAdapter([
|
4890
|
+
defaultEncodingForBar,
|
4891
|
+
buildMeasures
|
4892
|
+
], [
|
4893
|
+
encodingForBar,
|
4894
|
+
buildMeasures
|
4895
|
+
]),
|
4746
4896
|
pivotAdapter([
|
4747
4897
|
reshapeWithEncoding
|
4748
4898
|
], [
|
@@ -4893,7 +5043,7 @@
|
|
4893
5043
|
}
|
4894
5044
|
},
|
4895
5045
|
innerOffset: {
|
4896
|
-
right:
|
5046
|
+
right: 7
|
4897
5047
|
}
|
4898
5048
|
};
|
4899
5049
|
result.axes = [
|
@@ -5093,11 +5243,16 @@
|
|
5093
5243
|
};
|
5094
5244
|
const barParallelAdvancedPipeline = [
|
5095
5245
|
initAdvancedVSeed_initAdvancedVSeed,
|
5096
|
-
|
5097
|
-
|
5098
|
-
|
5099
|
-
|
5100
|
-
|
5246
|
+
default_defaultMeasures_defaultMeasures,
|
5247
|
+
defaultDimensions_defaultDimensions,
|
5248
|
+
defaultMeasureName_defaultMeasureName,
|
5249
|
+
encodingAdapter([
|
5250
|
+
defaultEncodingForBar,
|
5251
|
+
buildMeasures
|
5252
|
+
], [
|
5253
|
+
encodingForBar,
|
5254
|
+
buildMeasures
|
5255
|
+
]),
|
5101
5256
|
pivotAdapter([
|
5102
5257
|
reshapeWithEncoding
|
5103
5258
|
], [
|
@@ -5191,11 +5346,16 @@
|
|
5191
5346
|
};
|
5192
5347
|
const barPercentAdvancedPipeline = [
|
5193
5348
|
initAdvancedVSeed_initAdvancedVSeed,
|
5194
|
-
|
5195
|
-
|
5196
|
-
|
5197
|
-
|
5198
|
-
|
5349
|
+
default_defaultMeasures_defaultMeasures,
|
5350
|
+
defaultDimensions_defaultDimensions,
|
5351
|
+
defaultMeasureName_defaultMeasureName,
|
5352
|
+
encodingAdapter([
|
5353
|
+
defaultEncodingForBar,
|
5354
|
+
buildMeasures
|
5355
|
+
], [
|
5356
|
+
encodingForBar,
|
5357
|
+
buildMeasures
|
5358
|
+
]),
|
5199
5359
|
pivotAdapter([
|
5200
5360
|
reshapeWithEncoding
|
5201
5361
|
], [
|
@@ -5264,11 +5424,16 @@
|
|
5264
5424
|
};
|
5265
5425
|
const areaAdvancedPipeline = [
|
5266
5426
|
initAdvancedVSeed_initAdvancedVSeed,
|
5267
|
-
|
5268
|
-
|
5269
|
-
|
5270
|
-
|
5271
|
-
|
5427
|
+
default_defaultMeasures_defaultMeasures,
|
5428
|
+
defaultDimensions_defaultDimensions,
|
5429
|
+
defaultMeasureName_defaultMeasureName,
|
5430
|
+
encodingAdapter([
|
5431
|
+
defaultEncodingForLine,
|
5432
|
+
buildMeasures
|
5433
|
+
], [
|
5434
|
+
encodingForLine,
|
5435
|
+
buildMeasures
|
5436
|
+
]),
|
5272
5437
|
pivotAdapter([
|
5273
5438
|
reshapeWithEncoding
|
5274
5439
|
], [
|
@@ -5424,11 +5589,16 @@
|
|
5424
5589
|
};
|
5425
5590
|
const areaPercentAdvancedPipeline = [
|
5426
5591
|
initAdvancedVSeed_initAdvancedVSeed,
|
5427
|
-
|
5428
|
-
|
5429
|
-
|
5430
|
-
|
5431
|
-
|
5592
|
+
default_defaultMeasures_defaultMeasures,
|
5593
|
+
defaultDimensions_defaultDimensions,
|
5594
|
+
defaultMeasureName_defaultMeasureName,
|
5595
|
+
encodingAdapter([
|
5596
|
+
defaultEncodingForLine,
|
5597
|
+
buildMeasures
|
5598
|
+
], [
|
5599
|
+
encodingForLine,
|
5600
|
+
buildMeasures
|
5601
|
+
]),
|
5432
5602
|
pivotAdapter([
|
5433
5603
|
reshapeWithEncoding
|
5434
5604
|
], [
|
@@ -5502,6 +5672,17 @@
|
|
5502
5672
|
Builder._advancedPipelineMap.areaPercent = areaPercentAdvancedPipeline;
|
5503
5673
|
Builder._specPipelineMap.areaPercent = areaPercentSpecPipeline;
|
5504
5674
|
};
|
5675
|
+
const defaultEncodingForScatter = (advancedVSeed)=>{
|
5676
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
5677
|
+
const measures = findAllMeasures(vseedMeasures);
|
5678
|
+
const encoding = {};
|
5679
|
+
scatter_generateDefaultDimensionEncoding(dimensions, encoding);
|
5680
|
+
scatter_generateDefaultMeasureEncoding(measures, encoding);
|
5681
|
+
return {
|
5682
|
+
...advancedVSeed,
|
5683
|
+
encoding
|
5684
|
+
};
|
5685
|
+
};
|
5505
5686
|
const encodingForScatter = (advancedVSeed)=>{
|
5506
5687
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
5507
5688
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -5517,33 +5698,43 @@
|
|
5517
5698
|
encoding
|
5518
5699
|
};
|
5519
5700
|
};
|
5520
|
-
const scatter_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
5521
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
5522
|
-
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5523
|
-
};
|
5524
5701
|
const scatter_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
5525
5702
|
const dimensionsWithoutMeasureName = dimensions.filter((item)=>item.id !== MeasureName);
|
5526
5703
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensionsWithoutMeasureName.map((d)=>d.id));
|
5527
5704
|
encoding.color = uniqueDimIds.slice(0);
|
5528
5705
|
encoding.detail = uniqueDimIds.slice(0);
|
5529
|
-
encoding.tooltip = uniqueDimIds;
|
5706
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
5530
5707
|
encoding.label = [];
|
5531
5708
|
encoding.row = [];
|
5532
5709
|
encoding.column = [];
|
5533
5710
|
};
|
5534
|
-
const scatter_generateMeasureEncoding = (measures, encoding)=>{
|
5535
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
5536
|
-
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5537
|
-
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5538
|
-
if (color.length > 0) encoding.color = color;
|
5539
|
-
};
|
5540
5711
|
const scatter_generateDimensionEncoding = (dimensions, encoding)=>{
|
5541
5712
|
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5542
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
5543
5713
|
if (0 === encoding.color.length) encoding.color = [
|
5544
5714
|
MeasureName
|
5545
5715
|
];
|
5546
|
-
|
5716
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
5717
|
+
if (0 === encoding.detail.length) encoding.detail = [
|
5718
|
+
MeasureName
|
5719
|
+
];
|
5720
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
5721
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
5722
|
+
};
|
5723
|
+
const scatter_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
5724
|
+
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5725
|
+
};
|
5726
|
+
const scatter_generateMeasureEncoding = (measures, encoding)=>{
|
5727
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
5728
|
+
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5729
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5730
|
+
if (color.length > 0) encoding.color = [
|
5731
|
+
color[0]
|
5732
|
+
];
|
5733
|
+
const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
5734
|
+
encoding.tooltip = chunk_QJLMYOTX_i([
|
5735
|
+
...encoding.tooltip || [],
|
5736
|
+
...tooltip
|
5737
|
+
]);
|
5547
5738
|
};
|
5548
5739
|
const buildMeasuresForScatter = (advancedVSeed, context)=>{
|
5549
5740
|
const { vseed } = context;
|
@@ -5571,9 +5762,10 @@
|
|
5571
5762
|
const isXAxis = encoding.includes('xAxis');
|
5572
5763
|
if (isYAxis) yMeasures.push(item);
|
5573
5764
|
else if (isXAxis) xMeasures.push(item);
|
5574
|
-
else if (0
|
5765
|
+
else if (0 !== index) yMeasures.push(item);
|
5575
5766
|
else xMeasures.push(item);
|
5576
5767
|
}
|
5768
|
+
if (0 === yMeasures.length && xMeasures.length > 0) yMeasures.push(xMeasures[0]);
|
5577
5769
|
return [
|
5578
5770
|
{
|
5579
5771
|
id: 'scatterMeasures',
|
@@ -5639,7 +5831,7 @@
|
|
5639
5831
|
const isEmpty = !encoding.length;
|
5640
5832
|
if (isY) scatterChart.yMeasures.push(item);
|
5641
5833
|
else if (isX) scatterChart.xMeasures.push(item);
|
5642
|
-
else if (isEmpty) if (0
|
5834
|
+
else if (isEmpty) if (0 !== scatterChart.yMeasures.length) scatterChart.yMeasures.push(item);
|
5643
5835
|
else scatterChart.xMeasures.push(item);
|
5644
5836
|
});
|
5645
5837
|
return scatterMeasuresToMeasureTree(scatterMeasures);
|
@@ -5662,6 +5854,7 @@
|
|
5662
5854
|
if (xMeasures && xMeasures.children) {
|
5663
5855
|
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, T(dimensions, (d)=>d.id), T(xMeasures.children, (d)=>d.id), encoding, {
|
5664
5856
|
foldMeasureValue: FoldXMeasureValue,
|
5857
|
+
foldMeasureId: FoldXMeasureId,
|
5665
5858
|
colorItemAsId: true,
|
5666
5859
|
colorMeasureId: getColorMeasureId(advancedVSeed)
|
5667
5860
|
});
|
@@ -5672,6 +5865,7 @@
|
|
5672
5865
|
if (yMeasures && yMeasures.children) {
|
5673
5866
|
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(datasets[0], T(dimensions, (d)=>d.id), T(yMeasures.children, (d)=>d.id), encoding, {
|
5674
5867
|
foldMeasureValue: FoldYMeasureValue,
|
5868
|
+
foldMeasureId: FoldYMeasureId,
|
5675
5869
|
colorItemAsId: true,
|
5676
5870
|
colorMeasureId: getColorMeasureId(advancedVSeed)
|
5677
5871
|
});
|
@@ -5774,11 +5968,16 @@
|
|
5774
5968
|
};
|
5775
5969
|
const scatterAdvancedPipeline = [
|
5776
5970
|
initAdvancedVSeed_initAdvancedVSeed,
|
5777
|
-
|
5778
|
-
|
5779
|
-
|
5780
|
-
|
5781
|
-
|
5971
|
+
default_defaultMeasures_defaultMeasures,
|
5972
|
+
defaultDimensions_defaultDimensions,
|
5973
|
+
defaultMeasureName_defaultMeasureName,
|
5974
|
+
encodingAdapter([
|
5975
|
+
defaultEncodingForScatter,
|
5976
|
+
buildMeasuresForScatter
|
5977
|
+
], [
|
5978
|
+
encodingForScatter,
|
5979
|
+
buildMeasuresForScatter
|
5980
|
+
]),
|
5782
5981
|
pivotAdapter([
|
5783
5982
|
reshapeWithScatterEncoding
|
5784
5983
|
], [
|
@@ -5824,6 +6023,105 @@
|
|
5824
6023
|
}
|
5825
6024
|
};
|
5826
6025
|
};
|
6026
|
+
const tooltipScatter = (spec, context)=>{
|
6027
|
+
const result = {
|
6028
|
+
...spec
|
6029
|
+
};
|
6030
|
+
const { advancedVSeed } = context;
|
6031
|
+
const { measures, datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed;
|
6032
|
+
const baseConfig = advancedVSeed.config[chartType];
|
6033
|
+
const { tooltip = {
|
6034
|
+
enable: true
|
6035
|
+
} } = baseConfig;
|
6036
|
+
const { enable } = tooltip;
|
6037
|
+
const { foldInfoList } = datasetReshapeInfo[0];
|
6038
|
+
result.tooltip = {
|
6039
|
+
visible: enable,
|
6040
|
+
mark: {
|
6041
|
+
title: {
|
6042
|
+
visible: false
|
6043
|
+
},
|
6044
|
+
content: tooltipScatter_createMarkContent(encoding.tooltip || [], dimensions, measures, locale, foldInfoList)
|
6045
|
+
},
|
6046
|
+
dimension: {
|
6047
|
+
visible: false
|
6048
|
+
}
|
6049
|
+
};
|
6050
|
+
return result;
|
6051
|
+
};
|
6052
|
+
const tooltipScatter_createMarkContent = (tooltip, dimensions, measures, locale, foldInfoList)=>{
|
6053
|
+
const dims = dimensions.filter((item)=>tooltip.includes(item.id));
|
6054
|
+
const meas = measures.filter((item)=>tooltip.includes(item.id));
|
6055
|
+
const dimContent = dims.map((item)=>({
|
6056
|
+
visible: true,
|
6057
|
+
hasShape: true,
|
6058
|
+
shapeType: 'rectRound',
|
6059
|
+
key: (v)=>{
|
6060
|
+
const datum = v;
|
6061
|
+
if (item.alias || item.id) return item.alias || item.id;
|
6062
|
+
return datum && datum[item.id];
|
6063
|
+
},
|
6064
|
+
value: (v)=>{
|
6065
|
+
const datum = v;
|
6066
|
+
return datum && datum[item.id];
|
6067
|
+
}
|
6068
|
+
}));
|
6069
|
+
const meaContent = meas.map((item)=>({
|
6070
|
+
visible: true,
|
6071
|
+
hasShape: true,
|
6072
|
+
shapeType: 'rectRound',
|
6073
|
+
key: item.alias || item.id,
|
6074
|
+
value: (v)=>{
|
6075
|
+
const datum = v;
|
6076
|
+
if (!datum) return '';
|
6077
|
+
const id = item.id;
|
6078
|
+
if (!datum || !datum[ORIGINAL_DATA] || !datum[ORIGINAL_DATA]) return '';
|
6079
|
+
const originalData = datum[ORIGINAL_DATA];
|
6080
|
+
const value = originalData[id];
|
6081
|
+
const measure = findMeasureById(measures, id);
|
6082
|
+
if (!measure) return String(value);
|
6083
|
+
const { format = {}, autoFormat = true } = measure;
|
6084
|
+
if (!chunk_VCYTMP4D_n(format)) {
|
6085
|
+
const formatter = createFormatter(format);
|
6086
|
+
return formatter(value);
|
6087
|
+
}
|
6088
|
+
if (autoFormat) return autoFormatter(value, locale);
|
6089
|
+
return String(value);
|
6090
|
+
}
|
6091
|
+
}));
|
6092
|
+
const foldMeaContent = foldInfoList.map((foldInfo)=>({
|
6093
|
+
visible: true,
|
6094
|
+
hasShape: true,
|
6095
|
+
shapeType: 'rectRound',
|
6096
|
+
key: (v)=>{
|
6097
|
+
const { measureId, foldMap } = foldInfo;
|
6098
|
+
const datum = v;
|
6099
|
+
const id = datum[measureId];
|
6100
|
+
return foldMap[id] || id;
|
6101
|
+
},
|
6102
|
+
value: (v)=>{
|
6103
|
+
const { measureId, measureValue } = foldInfo;
|
6104
|
+
const datum = v;
|
6105
|
+
if (!datum) return '';
|
6106
|
+
const value = datum[measureValue];
|
6107
|
+
const id = datum[measureId];
|
6108
|
+
const measure = findMeasureById(measures, id);
|
6109
|
+
if (!measure) return String(value);
|
6110
|
+
const { format = {}, autoFormat = true } = measure;
|
6111
|
+
if (!chunk_VCYTMP4D_n(format)) {
|
6112
|
+
const formatter = createFormatter(format);
|
6113
|
+
return formatter(value);
|
6114
|
+
}
|
6115
|
+
if (autoFormat) return autoFormatter(value, locale);
|
6116
|
+
return String(value);
|
6117
|
+
}
|
6118
|
+
}));
|
6119
|
+
return [
|
6120
|
+
...dimContent,
|
6121
|
+
...foldMeaContent,
|
6122
|
+
...meaContent
|
6123
|
+
];
|
6124
|
+
};
|
5827
6125
|
const horizontalCrosshairLine = (spec, context)=>{
|
5828
6126
|
const result = {
|
5829
6127
|
...spec
|
@@ -5877,7 +6175,7 @@
|
|
5877
6175
|
xLinear,
|
5878
6176
|
yLinear,
|
5879
6177
|
label_label,
|
5880
|
-
|
6178
|
+
tooltipScatter,
|
5881
6179
|
colorAdapter(discreteLegend, colorLegend),
|
5882
6180
|
verticalCrosshairLine,
|
5883
6181
|
horizontalCrosshairLine,
|
@@ -5902,7 +6200,7 @@
|
|
5902
6200
|
xLinear,
|
5903
6201
|
yLinear,
|
5904
6202
|
label_label,
|
5905
|
-
|
6203
|
+
tooltipScatter,
|
5906
6204
|
verticalCrosshairLine,
|
5907
6205
|
horizontalCrosshairLine,
|
5908
6206
|
colorPointStyleFill(pointStyle_pointStyle),
|
@@ -5923,6 +6221,17 @@
|
|
5923
6221
|
Builder._advancedPipelineMap.scatter = scatterAdvancedPipeline;
|
5924
6222
|
Builder._specPipelineMap.scatter = scatterSpecPipeline;
|
5925
6223
|
};
|
6224
|
+
const defaultEncodingForDualAxis = (advancedVSeed)=>{
|
6225
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
6226
|
+
const measures = findAllMeasures(vseedMeasures);
|
6227
|
+
const encoding = {};
|
6228
|
+
dualAxis_generateDefaultDimensionEncoding(dimensions, encoding);
|
6229
|
+
dualAxis_generateDefaultMeasureEncoding(measures, encoding);
|
6230
|
+
return {
|
6231
|
+
...advancedVSeed,
|
6232
|
+
encoding
|
6233
|
+
};
|
6234
|
+
};
|
5926
6235
|
const encodingForDualAxis = (advancedVSeed)=>{
|
5927
6236
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
5928
6237
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -5938,39 +6247,45 @@
|
|
5938
6247
|
encoding
|
5939
6248
|
};
|
5940
6249
|
};
|
5941
|
-
const dualAxis_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
5942
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
5943
|
-
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5944
|
-
};
|
5945
6250
|
const dualAxis_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
5946
6251
|
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
5947
6252
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
5948
6253
|
encoding.x = uniqueDimIds.slice(0, 1);
|
5949
6254
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
5950
6255
|
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
5951
|
-
encoding.tooltip = uniqueDimIds;
|
6256
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
5952
6257
|
encoding.label = [];
|
5953
6258
|
encoding.row = [];
|
5954
6259
|
encoding.column = [];
|
5955
6260
|
};
|
5956
|
-
const dualAxis_generateMeasureEncoding = (measures, encoding)=>{
|
5957
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
5958
|
-
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5959
|
-
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5960
|
-
if (color.length > 0) encoding.color = color;
|
5961
|
-
return encoding;
|
5962
|
-
};
|
5963
6261
|
const dualAxis_generateDimensionEncoding = (dimensions, encoding)=>{
|
5964
6262
|
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
5965
|
-
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5966
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
5967
6263
|
if (0 === encoding.x.length) encoding.x = [
|
5968
6264
|
dimensions[0].id
|
5969
6265
|
];
|
6266
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5970
6267
|
if (0 === encoding.color.length) encoding.color = [
|
5971
6268
|
MeasureName
|
5972
6269
|
];
|
5973
|
-
|
6270
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
6271
|
+
if (0 === encoding.detail.length) encoding.detail = [
|
6272
|
+
MeasureName
|
6273
|
+
];
|
6274
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
6275
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
6276
|
+
};
|
6277
|
+
const dualAxis_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
6278
|
+
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
6279
|
+
};
|
6280
|
+
const dualAxis_generateMeasureEncoding = (measures, encoding)=>{
|
6281
|
+
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
6282
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
6283
|
+
if (color.length > 0) encoding.color = color;
|
6284
|
+
const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
6285
|
+
encoding.tooltip = chunk_QJLMYOTX_i([
|
6286
|
+
...encoding.tooltip || [],
|
6287
|
+
...tooltip
|
6288
|
+
]);
|
5974
6289
|
};
|
5975
6290
|
const buildMeasuresForDualAxis = (advancedVSeed, context)=>{
|
5976
6291
|
const { vseed } = context;
|
@@ -6224,11 +6539,16 @@
|
|
6224
6539
|
};
|
6225
6540
|
const dualAxisAdvancedPipeline = [
|
6226
6541
|
initAdvancedVSeed_initAdvancedVSeed,
|
6227
|
-
|
6228
|
-
|
6229
|
-
|
6230
|
-
|
6231
|
-
|
6542
|
+
default_defaultMeasures_defaultMeasures,
|
6543
|
+
defaultDimensions_defaultDimensions,
|
6544
|
+
defaultMeasureName_defaultMeasureName,
|
6545
|
+
encodingAdapter([
|
6546
|
+
defaultEncodingForDualAxis,
|
6547
|
+
buildMeasuresForDualAxis
|
6548
|
+
], [
|
6549
|
+
encodingForDualAxis,
|
6550
|
+
buildMeasuresForDualAxis
|
6551
|
+
]),
|
6232
6552
|
pivotAdapter([
|
6233
6553
|
reshapeWithDualEncoding
|
6234
6554
|
], [
|
@@ -6320,7 +6640,7 @@
|
|
6320
6640
|
const dualChartTypePrimary = (spec, context)=>{
|
6321
6641
|
const result = {
|
6322
6642
|
...spec,
|
6323
|
-
zIndex:
|
6643
|
+
zIndex: 1001
|
6324
6644
|
};
|
6325
6645
|
const { advancedVSeed, vseed } = context;
|
6326
6646
|
const { chartType } = vseed;
|
@@ -6340,7 +6660,7 @@
|
|
6340
6660
|
break;
|
6341
6661
|
case 'column':
|
6342
6662
|
result.type = 'bar';
|
6343
|
-
result.zIndex =
|
6663
|
+
result.zIndex = 1000;
|
6344
6664
|
break;
|
6345
6665
|
case 'columnParallel':
|
6346
6666
|
{
|
@@ -6351,7 +6671,7 @@
|
|
6351
6671
|
datasetReshapeInfo[0].unfoldInfo.encodingDetail
|
6352
6672
|
];
|
6353
6673
|
columnSpec.type = 'bar';
|
6354
|
-
result.zIndex =
|
6674
|
+
result.zIndex = 1000;
|
6355
6675
|
break;
|
6356
6676
|
}
|
6357
6677
|
case 'columnPercent':
|
@@ -6376,7 +6696,7 @@
|
|
6376
6696
|
const dualChartTypeSecondary = (spec, context)=>{
|
6377
6697
|
const result = {
|
6378
6698
|
...spec,
|
6379
|
-
zIndex:
|
6699
|
+
zIndex: 1001
|
6380
6700
|
};
|
6381
6701
|
const { advancedVSeed, vseed } = context;
|
6382
6702
|
const { chartType } = vseed;
|
@@ -6396,7 +6716,7 @@
|
|
6396
6716
|
break;
|
6397
6717
|
case 'column':
|
6398
6718
|
result.type = 'bar';
|
6399
|
-
result.zIndex =
|
6719
|
+
result.zIndex = 1000;
|
6400
6720
|
break;
|
6401
6721
|
case 'columnParallel':
|
6402
6722
|
{
|
@@ -6407,7 +6727,7 @@
|
|
6407
6727
|
datasetReshapeInfo[0].unfoldInfo.encodingDetail
|
6408
6728
|
];
|
6409
6729
|
columnSpec.type = 'bar';
|
6410
|
-
result.zIndex =
|
6730
|
+
result.zIndex = 1000;
|
6411
6731
|
break;
|
6412
6732
|
}
|
6413
6733
|
case 'columnPercent':
|
@@ -6585,7 +6905,7 @@
|
|
6585
6905
|
...spec
|
6586
6906
|
};
|
6587
6907
|
const { advancedVSeed } = context;
|
6588
|
-
const { measures, datasetReshapeInfo, chartType, locale, dimensions } = advancedVSeed;
|
6908
|
+
const { measures, datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed;
|
6589
6909
|
const baseConfig = advancedVSeed.config[chartType];
|
6590
6910
|
const { tooltip = {
|
6591
6911
|
enable: true
|
@@ -6593,68 +6913,19 @@
|
|
6593
6913
|
const { enable } = tooltip;
|
6594
6914
|
const foldInfoList = datasetReshapeInfo[0].foldInfoList;
|
6595
6915
|
const unfoldInfo = datasetReshapeInfo[0].unfoldInfo;
|
6596
|
-
const { measureId, measureValue, measureName } = foldInfoList[0];
|
6597
|
-
const { encodingColor: colorName } = unfoldInfo;
|
6598
6916
|
result.tooltip = {
|
6599
6917
|
visible: enable,
|
6600
6918
|
mark: {
|
6601
6919
|
title: {
|
6602
|
-
visible:
|
6920
|
+
visible: false
|
6603
6921
|
},
|
6604
|
-
content: [
|
6605
|
-
...dimensions.map((item)=>({
|
6606
|
-
visible: true,
|
6607
|
-
hasShape: true,
|
6608
|
-
shapeType: 'rectRound',
|
6609
|
-
key: (datum)=>{
|
6610
|
-
if (item.alias || item.id) return item.alias || item.id;
|
6611
|
-
return datum && datum[item.id];
|
6612
|
-
},
|
6613
|
-
value: (datum)=>datum && datum[item.id]
|
6614
|
-
})),
|
6615
|
-
{
|
6616
|
-
visible: true,
|
6617
|
-
hasShape: true,
|
6618
|
-
key: (datum)=>datum && datum[measureName || colorName] || '',
|
6619
|
-
value: (datum)=>{
|
6620
|
-
if (!datum) return '';
|
6621
|
-
const value = datum[measureValue];
|
6622
|
-
const id = datum[measureId];
|
6623
|
-
const measure = findMeasureById(measures, id);
|
6624
|
-
if (!measure) return String(value);
|
6625
|
-
const { format = {}, autoFormat = true } = measure;
|
6626
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
6627
|
-
const formatter = createFormatter(format);
|
6628
|
-
return formatter(value);
|
6629
|
-
}
|
6630
|
-
if (autoFormat) return autoFormatter(value, locale);
|
6631
|
-
return String(value);
|
6632
|
-
}
|
6633
|
-
}
|
6634
|
-
]
|
6922
|
+
content: createMarkContent(encoding.tooltip || [], dimensions, measures, locale, foldInfoList[0], unfoldInfo)
|
6635
6923
|
},
|
6636
6924
|
dimension: {
|
6637
|
-
|
6638
|
-
|
6639
|
-
|
6640
|
-
|
6641
|
-
value: (datum)=>{
|
6642
|
-
if (!datum) return '';
|
6643
|
-
const value = datum[measureValue];
|
6644
|
-
const id = datum[measureId];
|
6645
|
-
const measure = findMeasureById(measures, id);
|
6646
|
-
if (!measure) return String(value);
|
6647
|
-
const { format = {}, autoFormat = true } = measure;
|
6648
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
6649
|
-
const formatter = createFormatter(format);
|
6650
|
-
return formatter(value);
|
6651
|
-
}
|
6652
|
-
if (autoFormat) return autoFormatter(value, locale);
|
6653
|
-
return String(value);
|
6654
|
-
},
|
6655
|
-
shapeType: 'rectRound'
|
6656
|
-
}
|
6657
|
-
]
|
6925
|
+
title: {
|
6926
|
+
visible: true
|
6927
|
+
},
|
6928
|
+
content: createDimensionContent(measures, foldInfoList[0], unfoldInfo, locale)
|
6658
6929
|
}
|
6659
6930
|
};
|
6660
6931
|
return result;
|
@@ -6664,7 +6935,7 @@
|
|
6664
6935
|
...spec
|
6665
6936
|
};
|
6666
6937
|
const { advancedVSeed } = context;
|
6667
|
-
const { measures, datasetReshapeInfo, chartType, locale, dimensions } = advancedVSeed;
|
6938
|
+
const { measures, datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed;
|
6668
6939
|
const baseConfig = advancedVSeed.config[chartType];
|
6669
6940
|
const { tooltip = {
|
6670
6941
|
enable: true
|
@@ -6673,68 +6944,19 @@
|
|
6673
6944
|
if (chunk_JK3VNB42_n(datasetReshapeInfo[0].foldInfoList?.[1])) return result;
|
6674
6945
|
const foldInfoList = datasetReshapeInfo[0].foldInfoList;
|
6675
6946
|
const unfoldInfo = datasetReshapeInfo[0].unfoldInfo;
|
6676
|
-
const { measureId, measureValue, measureName } = foldInfoList[1];
|
6677
|
-
const { encodingColorId } = unfoldInfo;
|
6678
6947
|
result.tooltip = {
|
6679
6948
|
visible: enable,
|
6680
6949
|
mark: {
|
6681
6950
|
title: {
|
6682
|
-
visible:
|
6951
|
+
visible: false
|
6683
6952
|
},
|
6684
|
-
content: [
|
6685
|
-
...dimensions.map((item)=>({
|
6686
|
-
visible: true,
|
6687
|
-
hasShape: true,
|
6688
|
-
shapeType: 'rectRound',
|
6689
|
-
key: (datum)=>{
|
6690
|
-
if (item.alias || item.id) return item.alias || item.id;
|
6691
|
-
return datum && datum[item.id];
|
6692
|
-
},
|
6693
|
-
value: (datum)=>datum && datum[item.id]
|
6694
|
-
})),
|
6695
|
-
{
|
6696
|
-
visible: true,
|
6697
|
-
hasShape: true,
|
6698
|
-
key: (datum)=>datum && datum[measureName || encodingColorId] || '',
|
6699
|
-
value: (datum)=>{
|
6700
|
-
if (!datum) return '';
|
6701
|
-
const value = datum[measureValue];
|
6702
|
-
const id = datum[measureId];
|
6703
|
-
const measure = findMeasureById(measures, id);
|
6704
|
-
if (!measure) return String(value);
|
6705
|
-
const { format = {}, autoFormat = true } = measure;
|
6706
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
6707
|
-
const formatter = createFormatter(format);
|
6708
|
-
return formatter(value);
|
6709
|
-
}
|
6710
|
-
if (autoFormat) return autoFormatter(value, locale);
|
6711
|
-
return String(value);
|
6712
|
-
}
|
6713
|
-
}
|
6714
|
-
]
|
6953
|
+
content: createMarkContent(encoding.tooltip || [], dimensions, measures, locale, foldInfoList[1], unfoldInfo)
|
6715
6954
|
},
|
6716
6955
|
dimension: {
|
6717
|
-
|
6718
|
-
|
6719
|
-
|
6720
|
-
|
6721
|
-
value: (datum)=>{
|
6722
|
-
if (!datum) return '';
|
6723
|
-
const value = datum[measureValue];
|
6724
|
-
const id = datum[measureId];
|
6725
|
-
const measure = findMeasureById(measures, id);
|
6726
|
-
if (!measure) return String(value);
|
6727
|
-
const { format = {}, autoFormat = true } = measure;
|
6728
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
6729
|
-
const formatter = createFormatter(format);
|
6730
|
-
return formatter(value);
|
6731
|
-
}
|
6732
|
-
if (autoFormat) return autoFormatter(value, locale);
|
6733
|
-
return String(value);
|
6734
|
-
},
|
6735
|
-
shapeType: 'rectRound'
|
6736
|
-
}
|
6737
|
-
]
|
6956
|
+
title: {
|
6957
|
+
visible: true
|
6958
|
+
},
|
6959
|
+
content: createDimensionContent(measures, foldInfoList[1], unfoldInfo, locale)
|
6738
6960
|
}
|
6739
6961
|
};
|
6740
6962
|
return result;
|
@@ -6751,7 +6973,8 @@
|
|
6751
6973
|
const yAxisConfig = Array.isArray(primaryYAxis) ? primaryYAxis[index] || primaryYAxis[0] : primaryYAxis;
|
6752
6974
|
const alignTicks = advancedVSeed.config?.[chartType]?.alignTicks;
|
6753
6975
|
const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks;
|
6754
|
-
if (foldInfoList?.[0]
|
6976
|
+
if (chunk_JK3VNB42_n(foldInfoList?.[0])) return result;
|
6977
|
+
const isEmptySecondary = chunk_VCYTMP4D_n(foldInfoList?.[0].foldMap);
|
6755
6978
|
const id = `${reshapeInfoId}-primary-axis`;
|
6756
6979
|
const seriesIds = [
|
6757
6980
|
`${reshapeInfoId}-primary-series`,
|
@@ -6774,7 +6997,7 @@
|
|
6774
6997
|
}
|
6775
6998
|
const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min, log, logBase = 10 } = yAxisConfig;
|
6776
6999
|
const linearAxis = {
|
6777
|
-
visible,
|
7000
|
+
visible: isEmptySecondary ? false : visible,
|
6778
7001
|
id,
|
6779
7002
|
seriesId,
|
6780
7003
|
type: log ? 'log' : 'linear',
|
@@ -6827,7 +7050,7 @@
|
|
6827
7050
|
}
|
6828
7051
|
},
|
6829
7052
|
innerOffset: {
|
6830
|
-
top:
|
7053
|
+
top: 7
|
6831
7054
|
}
|
6832
7055
|
};
|
6833
7056
|
result.axes = [
|
@@ -6849,6 +7072,8 @@
|
|
6849
7072
|
const alignTicks = advancedVSeed.config?.[chartType]?.alignTicks;
|
6850
7073
|
const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks;
|
6851
7074
|
if (chunk_JK3VNB42_n(foldInfoList?.[1])) return result;
|
7075
|
+
const isEmptySecondary = chunk_VCYTMP4D_n(foldInfoList?.[1].foldMap);
|
7076
|
+
const onlySecondary = chunk_VCYTMP4D_n(foldInfoList?.[0].foldMap) && !isEmptySecondary;
|
6852
7077
|
const sync = {
|
6853
7078
|
axisId: `${reshapeInfoId}-primary-axis`,
|
6854
7079
|
zeroAlign: true
|
@@ -6876,7 +7101,7 @@
|
|
6876
7101
|
}
|
6877
7102
|
const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min, log, logBase = 10 } = yAxisConfig;
|
6878
7103
|
const linearAxis = {
|
6879
|
-
visible,
|
7104
|
+
visible: isEmptySecondary ? false : visible,
|
6880
7105
|
id,
|
6881
7106
|
seriesId,
|
6882
7107
|
sync,
|
@@ -6916,7 +7141,7 @@
|
|
6916
7141
|
}
|
6917
7142
|
},
|
6918
7143
|
grid: {
|
6919
|
-
visible: grid?.visible,
|
7144
|
+
visible: onlySecondary ? true : grid?.visible,
|
6920
7145
|
style: {
|
6921
7146
|
lineWidth: grid?.gridWidth,
|
6922
7147
|
stroke: grid?.gridColor
|
@@ -6930,7 +7155,7 @@
|
|
6930
7155
|
}
|
6931
7156
|
},
|
6932
7157
|
innerOffset: {
|
6933
|
-
top:
|
7158
|
+
top: 7
|
6934
7159
|
}
|
6935
7160
|
};
|
6936
7161
|
result.axes = [
|
@@ -7061,6 +7286,17 @@
|
|
7061
7286
|
Builder._advancedPipelineMap.dualAxis = dualAxisAdvancedPipeline;
|
7062
7287
|
Builder._specPipelineMap.dualAxis = dualAxisSpecPipeline;
|
7063
7288
|
};
|
7289
|
+
const defaultEncodingForPie = (advancedVSeed)=>{
|
7290
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7291
|
+
const measures = findAllMeasures(vseedMeasures);
|
7292
|
+
const encoding = {};
|
7293
|
+
pie_generateDefaultDimensionEncoding(dimensions, encoding);
|
7294
|
+
pie_generateDefaultMeasureEncoding(measures, encoding);
|
7295
|
+
return {
|
7296
|
+
...advancedVSeed,
|
7297
|
+
encoding
|
7298
|
+
};
|
7299
|
+
};
|
7064
7300
|
const encodingForPie = (advancedVSeed)=>{
|
7065
7301
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7066
7302
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -7076,40 +7312,52 @@
|
|
7076
7312
|
encoding
|
7077
7313
|
};
|
7078
7314
|
};
|
7079
|
-
const pie_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7080
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
7081
|
-
encoding.angle = chunk_QJLMYOTX_i(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
|
7082
|
-
};
|
7083
7315
|
const pie_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
7084
7316
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
7085
7317
|
encoding.color = uniqueDimIds.slice(0);
|
7086
7318
|
encoding.detail = uniqueDimIds.slice(0);
|
7087
|
-
encoding.tooltip = uniqueDimIds;
|
7319
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
7088
7320
|
encoding.label = [];
|
7089
7321
|
encoding.row = [];
|
7090
7322
|
encoding.column = [];
|
7091
7323
|
};
|
7092
|
-
const pie_generateMeasureEncoding = (measures, encoding)=>{
|
7093
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
7094
|
-
encoding.angle = chunk_QJLMYOTX_i(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
|
7095
|
-
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7096
|
-
if (color.length > 0) encoding.color = color;
|
7097
|
-
};
|
7098
7324
|
const pie_generateDimensionEncoding = (dimensions, encoding)=>{
|
7099
7325
|
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7100
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7101
7326
|
if (0 === encoding.color.length) encoding.color = [
|
7102
7327
|
MeasureName
|
7103
7328
|
];
|
7104
|
-
|
7329
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7330
|
+
if (0 === encoding.detail.length) encoding.detail = [
|
7331
|
+
MeasureName
|
7332
|
+
];
|
7333
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
7334
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
7335
|
+
};
|
7336
|
+
const pie_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7337
|
+
encoding.angle = chunk_QJLMYOTX_i(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
|
7338
|
+
};
|
7339
|
+
const pie_generateMeasureEncoding = (measures, encoding)=>{
|
7340
|
+
encoding.angle = chunk_QJLMYOTX_i(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
|
7341
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7342
|
+
if (color.length > 0) encoding.color = color;
|
7343
|
+
const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
7344
|
+
encoding.tooltip = chunk_QJLMYOTX_i([
|
7345
|
+
...encoding.tooltip || [],
|
7346
|
+
...tooltip
|
7347
|
+
]);
|
7105
7348
|
};
|
7106
7349
|
const pieAdvancedPipeline = [
|
7107
7350
|
initAdvancedVSeed_initAdvancedVSeed,
|
7108
|
-
|
7109
|
-
|
7110
|
-
|
7111
|
-
|
7112
|
-
|
7351
|
+
default_defaultMeasures_defaultMeasures,
|
7352
|
+
defaultDimensions_defaultDimensions,
|
7353
|
+
defaultMeasureName_defaultMeasureName,
|
7354
|
+
encodingAdapter([
|
7355
|
+
defaultEncodingForPie,
|
7356
|
+
buildMeasures
|
7357
|
+
], [
|
7358
|
+
encodingForPie,
|
7359
|
+
buildMeasures
|
7360
|
+
]),
|
7113
7361
|
pivotAdapter([
|
7114
7362
|
reshapeWithEncoding
|
7115
7363
|
], [
|
@@ -7225,11 +7473,16 @@
|
|
7225
7473
|
};
|
7226
7474
|
const donutAdvancedPipeline = [
|
7227
7475
|
initAdvancedVSeed_initAdvancedVSeed,
|
7228
|
-
|
7229
|
-
|
7230
|
-
|
7231
|
-
|
7232
|
-
|
7476
|
+
default_defaultMeasures_defaultMeasures,
|
7477
|
+
defaultDimensions_defaultDimensions,
|
7478
|
+
defaultMeasureName_defaultMeasureName,
|
7479
|
+
encodingAdapter([
|
7480
|
+
defaultEncodingForPie,
|
7481
|
+
buildMeasures
|
7482
|
+
], [
|
7483
|
+
encodingForPie,
|
7484
|
+
buildMeasures
|
7485
|
+
]),
|
7233
7486
|
pivotAdapter([
|
7234
7487
|
reshapeWithEncoding
|
7235
7488
|
], [
|
@@ -7305,6 +7558,17 @@
|
|
7305
7558
|
Builder._advancedPipelineMap.donut = donutAdvancedPipeline;
|
7306
7559
|
Builder._specPipelineMap.donut = donutSpecPipeline;
|
7307
7560
|
};
|
7561
|
+
const defaultEncodingForRose = (advancedVSeed)=>{
|
7562
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7563
|
+
const measures = findAllMeasures(vseedMeasures);
|
7564
|
+
const encoding = {};
|
7565
|
+
rose_generateDefaultDimensionEncoding(dimensions, encoding);
|
7566
|
+
rose_generateDefaultMeasureEncoding(measures, encoding);
|
7567
|
+
return {
|
7568
|
+
...advancedVSeed,
|
7569
|
+
encoding
|
7570
|
+
};
|
7571
|
+
};
|
7308
7572
|
const encodingForRose = (advancedVSeed)=>{
|
7309
7573
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7310
7574
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -7320,46 +7584,58 @@
|
|
7320
7584
|
encoding
|
7321
7585
|
};
|
7322
7586
|
};
|
7323
|
-
const rose_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7324
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
7325
|
-
encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7326
|
-
};
|
7327
7587
|
const rose_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
7328
7588
|
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
7329
7589
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
7330
7590
|
encoding.angle = uniqueDimIds.slice(0, 1);
|
7331
7591
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7332
7592
|
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7333
|
-
encoding.tooltip = uniqueDimIds;
|
7593
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
7334
7594
|
encoding.label = [];
|
7335
7595
|
encoding.row = [];
|
7336
7596
|
encoding.column = [];
|
7337
7597
|
};
|
7338
|
-
const rose_generateMeasureEncoding = (measures, encoding)=>{
|
7339
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
7340
|
-
encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7341
|
-
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7342
|
-
if (color.length > 0) encoding.color = color;
|
7343
|
-
};
|
7344
7598
|
const rose_generateDimensionEncoding = (dimensions, encoding)=>{
|
7345
7599
|
encoding.angle = chunk_QJLMYOTX_i(dimensions.filter((item)=>'angle' === item.encoding).map((item)=>item.id));
|
7346
|
-
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7347
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7348
7600
|
if (0 === encoding.angle.length) encoding.angle = [
|
7349
7601
|
dimensions[0].id
|
7350
7602
|
];
|
7603
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7351
7604
|
if (0 === encoding.color.length) encoding.color = [
|
7352
7605
|
MeasureName
|
7353
7606
|
];
|
7354
|
-
|
7607
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7608
|
+
if (0 === encoding.detail.length) encoding.detail = [
|
7609
|
+
MeasureName
|
7610
|
+
];
|
7611
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
7612
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
7613
|
+
};
|
7614
|
+
const rose_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7615
|
+
encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7616
|
+
};
|
7617
|
+
const rose_generateMeasureEncoding = (measures, encoding)=>{
|
7618
|
+
encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7619
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7620
|
+
if (color.length > 0) encoding.color = color;
|
7621
|
+
const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
7622
|
+
encoding.tooltip = chunk_QJLMYOTX_i([
|
7623
|
+
...encoding.tooltip || [],
|
7624
|
+
...tooltip
|
7625
|
+
]);
|
7355
7626
|
};
|
7356
7627
|
const roseAdvancedPipeline = [
|
7357
7628
|
initAdvancedVSeed_initAdvancedVSeed,
|
7358
|
-
|
7359
|
-
|
7360
|
-
|
7361
|
-
|
7362
|
-
|
7629
|
+
default_defaultMeasures_defaultMeasures,
|
7630
|
+
defaultDimensions_defaultDimensions,
|
7631
|
+
defaultMeasureName_defaultMeasureName,
|
7632
|
+
encodingAdapter([
|
7633
|
+
defaultEncodingForRose,
|
7634
|
+
buildMeasures
|
7635
|
+
], [
|
7636
|
+
encodingForRose,
|
7637
|
+
buildMeasures
|
7638
|
+
]),
|
7363
7639
|
pivotAdapter([
|
7364
7640
|
reshapeWithEncoding
|
7365
7641
|
], [
|
@@ -7555,11 +7831,16 @@
|
|
7555
7831
|
};
|
7556
7832
|
const roseParallelAdvancedPipeline = [
|
7557
7833
|
initAdvancedVSeed_initAdvancedVSeed,
|
7558
|
-
|
7559
|
-
|
7560
|
-
|
7561
|
-
|
7562
|
-
|
7834
|
+
default_defaultMeasures_defaultMeasures,
|
7835
|
+
defaultDimensions_defaultDimensions,
|
7836
|
+
defaultMeasureName_defaultMeasureName,
|
7837
|
+
encodingAdapter([
|
7838
|
+
defaultEncodingForRose,
|
7839
|
+
buildMeasures
|
7840
|
+
], [
|
7841
|
+
encodingForRose,
|
7842
|
+
buildMeasures
|
7843
|
+
]),
|
7563
7844
|
pivotAdapter([
|
7564
7845
|
reshapeWithEncoding
|
7565
7846
|
], [
|
@@ -7665,6 +7946,17 @@
|
|
7665
7946
|
Builder._advancedPipelineMap.roseParallel = roseParallelAdvancedPipeline;
|
7666
7947
|
Builder._specPipelineMap.roseParallel = roseParallelSpecPipeline;
|
7667
7948
|
};
|
7949
|
+
const defaultEncodingForRadar = (advancedVSeed)=>{
|
7950
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7951
|
+
const measures = findAllMeasures(vseedMeasures);
|
7952
|
+
const encoding = {};
|
7953
|
+
radar_generateDefaultDimensionEncoding(dimensions, encoding);
|
7954
|
+
radar_generateDefaultMeasureEncoding(measures, encoding);
|
7955
|
+
return {
|
7956
|
+
...advancedVSeed,
|
7957
|
+
encoding
|
7958
|
+
};
|
7959
|
+
};
|
7668
7960
|
const encodingForRadar = (advancedVSeed)=>{
|
7669
7961
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7670
7962
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -7680,44 +7972,57 @@
|
|
7680
7972
|
encoding
|
7681
7973
|
};
|
7682
7974
|
};
|
7683
|
-
const radar_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7684
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
7685
|
-
encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7686
|
-
};
|
7687
7975
|
const radar_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
7688
7976
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
7689
7977
|
encoding.angle = uniqueDimIds.slice(0, 1);
|
7690
7978
|
encoding.color = uniqueDimIds.slice(1);
|
7691
|
-
encoding.tooltip = uniqueDimIds;
|
7979
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
7692
7980
|
encoding.detail = [];
|
7693
7981
|
encoding.label = [];
|
7694
7982
|
encoding.row = [];
|
7695
7983
|
encoding.column = [];
|
7696
7984
|
};
|
7697
|
-
const radar_generateMeasureEncoding = (measures, encoding)=>{
|
7698
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
7699
|
-
encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7700
|
-
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7701
|
-
if (color.length > 0) encoding.color = color;
|
7702
|
-
};
|
7703
7985
|
const radar_generateDimensionEncoding = (dimensions, encoding)=>{
|
7704
7986
|
encoding.angle = chunk_QJLMYOTX_i(dimensions.filter((item)=>'angle' === item.encoding).map((item)=>item.id));
|
7705
|
-
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7706
|
-
encoding.detail = [];
|
7707
7987
|
if (0 === encoding.angle.length) encoding.angle = [
|
7708
7988
|
dimensions[0].id
|
7709
7989
|
];
|
7990
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7710
7991
|
if (0 === encoding.color.length) encoding.color = [
|
7711
7992
|
MeasureName
|
7712
7993
|
];
|
7994
|
+
encoding.detail = [];
|
7995
|
+
if (0 === encoding.detail.length) encoding.detail = [
|
7996
|
+
MeasureName
|
7997
|
+
];
|
7998
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
7999
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
8000
|
+
};
|
8001
|
+
const radar_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
8002
|
+
encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
8003
|
+
};
|
8004
|
+
const radar_generateMeasureEncoding = (measures, encoding)=>{
|
8005
|
+
encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
8006
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
8007
|
+
if (color.length > 0) encoding.color = color;
|
8008
|
+
const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
8009
|
+
encoding.tooltip = chunk_QJLMYOTX_i([
|
8010
|
+
...encoding.tooltip || [],
|
8011
|
+
...tooltip
|
8012
|
+
]);
|
7713
8013
|
};
|
7714
8014
|
const radarAdvancedPipeline = [
|
7715
8015
|
initAdvancedVSeed_initAdvancedVSeed,
|
7716
|
-
|
7717
|
-
|
7718
|
-
|
7719
|
-
|
7720
|
-
|
8016
|
+
default_defaultMeasures_defaultMeasures,
|
8017
|
+
defaultDimensions_defaultDimensions,
|
8018
|
+
defaultMeasureName_defaultMeasureName,
|
8019
|
+
encodingAdapter([
|
8020
|
+
defaultEncodingForRadar,
|
8021
|
+
buildMeasures
|
8022
|
+
], [
|
8023
|
+
encodingForRadar,
|
8024
|
+
buildMeasures
|
8025
|
+
]),
|
7721
8026
|
pivotAdapter([
|
7722
8027
|
reshapeWithEncoding
|
7723
8028
|
], [
|
@@ -7851,6 +8156,17 @@
|
|
7851
8156
|
Builder._advancedPipelineMap.radar = radarAdvancedPipeline;
|
7852
8157
|
Builder._specPipelineMap.radar = radarSpecPipeline;
|
7853
8158
|
};
|
8159
|
+
const defaultEncodingForFunnel = (advancedVSeed)=>{
|
8160
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
8161
|
+
const measures = findAllMeasures(vseedMeasures);
|
8162
|
+
const encoding = {};
|
8163
|
+
funnel_generateDefaultDimensionEncoding(dimensions, encoding);
|
8164
|
+
funnel_generateDefaultMeasureEncoding(measures, encoding);
|
8165
|
+
return {
|
8166
|
+
...advancedVSeed,
|
8167
|
+
encoding
|
8168
|
+
};
|
8169
|
+
};
|
7854
8170
|
const encodingForFunnel = (advancedVSeed)=>{
|
7855
8171
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7856
8172
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -7866,40 +8182,54 @@
|
|
7866
8182
|
encoding
|
7867
8183
|
};
|
7868
8184
|
};
|
7869
|
-
const funnel_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7870
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
7871
|
-
encoding.size = chunk_QJLMYOTX_i(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
|
7872
|
-
};
|
7873
8185
|
const funnel_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
7874
8186
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
7875
8187
|
encoding.color = uniqueDimIds.slice(0);
|
7876
8188
|
encoding.detail = uniqueDimIds.slice(0);
|
7877
|
-
encoding.tooltip = uniqueDimIds;
|
8189
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
7878
8190
|
encoding.label = [];
|
7879
8191
|
encoding.row = [];
|
7880
8192
|
encoding.column = [];
|
7881
8193
|
};
|
7882
|
-
const funnel_generateMeasureEncoding = (measures, encoding)=>{
|
7883
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
7884
|
-
encoding.size = chunk_QJLMYOTX_i(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
|
7885
|
-
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7886
|
-
if (color.length > 0) encoding.color = color;
|
7887
|
-
};
|
7888
8194
|
const funnel_generateDimensionEncoding = (dimensions, encoding)=>{
|
7889
8195
|
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7890
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7891
8196
|
if (0 === encoding.color.length) encoding.color = [
|
7892
8197
|
MeasureName
|
7893
8198
|
];
|
7894
|
-
|
8199
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
8200
|
+
if (0 === encoding.detail.length) encoding.detail = [
|
8201
|
+
MeasureName
|
8202
|
+
];
|
8203
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
8204
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
8205
|
+
};
|
8206
|
+
const funnel_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
8207
|
+
encoding.size = chunk_QJLMYOTX_i(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
|
8208
|
+
};
|
8209
|
+
const funnel_generateMeasureEncoding = (measures, encoding)=>{
|
8210
|
+
encoding.size = chunk_QJLMYOTX_i(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
|
8211
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
8212
|
+
if (color.length > 0) encoding.color = [
|
8213
|
+
color[0]
|
8214
|
+
];
|
8215
|
+
const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
8216
|
+
encoding.tooltip = chunk_QJLMYOTX_i([
|
8217
|
+
...encoding.tooltip || [],
|
8218
|
+
...tooltip
|
8219
|
+
]);
|
7895
8220
|
};
|
7896
8221
|
const funnelAdvancedPipeline = [
|
7897
8222
|
initAdvancedVSeed_initAdvancedVSeed,
|
7898
|
-
|
7899
|
-
|
7900
|
-
|
7901
|
-
|
7902
|
-
|
8223
|
+
default_defaultMeasures_defaultMeasures,
|
8224
|
+
defaultDimensions_defaultDimensions,
|
8225
|
+
defaultMeasureName_defaultMeasureName,
|
8226
|
+
encodingAdapter([
|
8227
|
+
defaultEncodingForFunnel,
|
8228
|
+
buildMeasures
|
8229
|
+
], [
|
8230
|
+
encodingForFunnel,
|
8231
|
+
buildMeasures
|
8232
|
+
]),
|
7903
8233
|
pivotAdapter([
|
7904
8234
|
reshapeWithEncoding
|
7905
8235
|
], [
|
@@ -8012,6 +8342,17 @@
|
|
8012
8342
|
Builder._advancedPipelineMap.funnel = funnelAdvancedPipeline;
|
8013
8343
|
Builder._specPipelineMap.funnel = funnelSpecPipeline;
|
8014
8344
|
};
|
8345
|
+
const defaultEncodingForHeatmap = (advancedVSeed)=>{
|
8346
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
8347
|
+
const measures = findAllMeasures(vseedMeasures);
|
8348
|
+
const encoding = {};
|
8349
|
+
heatmap_generateDefaultDimensionEncoding(dimensions, encoding);
|
8350
|
+
heatmap_generateDefaultMeasureEncoding(measures, encoding);
|
8351
|
+
return {
|
8352
|
+
...advancedVSeed,
|
8353
|
+
encoding
|
8354
|
+
};
|
8355
|
+
};
|
8015
8356
|
const encodingForHeatmap = (advancedVSeed)=>{
|
8016
8357
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
8017
8358
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -8027,10 +8368,6 @@
|
|
8027
8368
|
encoding
|
8028
8369
|
};
|
8029
8370
|
};
|
8030
|
-
const heatmap_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
8031
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
8032
|
-
encoding.color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding || !item.encoding).map((item)=>item.id));
|
8033
|
-
};
|
8034
8371
|
const heatmap_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
8035
8372
|
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
8036
8373
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
@@ -8038,39 +8375,59 @@
|
|
8038
8375
|
encoding.y = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
8039
8376
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
8040
8377
|
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
8041
|
-
encoding.tooltip = uniqueDimIds;
|
8378
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
8042
8379
|
encoding.label = [];
|
8043
8380
|
encoding.row = [];
|
8044
8381
|
encoding.column = [];
|
8045
8382
|
};
|
8046
|
-
const heatmap_generateMeasureEncoding = (measures, encoding)=>{
|
8047
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
8048
|
-
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
8049
|
-
if (color.length > 0) encoding.color = color;
|
8050
|
-
return encoding;
|
8051
|
-
};
|
8052
8383
|
const heatmap_generateDimensionEncoding = (dimensions, encoding)=>{
|
8053
8384
|
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
8054
|
-
encoding.y = chunk_QJLMYOTX_i(dimensions.filter((item)=>'yAxis' === item.encoding).map((item)=>item.id));
|
8055
|
-
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
8056
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
8057
8385
|
if (0 === encoding.x.length) encoding.x = [
|
8058
8386
|
dimensions[0].id
|
8059
8387
|
];
|
8388
|
+
encoding.y = chunk_QJLMYOTX_i(dimensions.filter((item)=>'yAxis' === item.encoding).map((item)=>item.id));
|
8060
8389
|
if (0 === encoding.y.length) if (dimensions.length > 1) encoding.y = dimensions.slice(1).map((item)=>item.id);
|
8061
8390
|
else encoding.y = dimensions.slice(0).map((item)=>item.id);
|
8391
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
8062
8392
|
if (0 === encoding.color.length) encoding.color = [
|
8063
8393
|
MeasureName
|
8064
8394
|
];
|
8065
|
-
|
8395
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
8396
|
+
if (0 === encoding.detail.length) encoding.detail = [
|
8397
|
+
MeasureName
|
8398
|
+
];
|
8399
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
8400
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
8401
|
+
};
|
8402
|
+
const heatmap_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
8403
|
+
const colorDims = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding || !item.encoding).map((item)=>item.id));
|
8404
|
+
if (colorDims.length > 0) encoding.color = [
|
8405
|
+
colorDims[0]
|
8406
|
+
];
|
8407
|
+
};
|
8408
|
+
const heatmap_generateMeasureEncoding = (measures, encoding)=>{
|
8409
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
8410
|
+
if (color.length > 0) encoding.color = [
|
8411
|
+
color[0]
|
8412
|
+
];
|
8413
|
+
const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
8414
|
+
encoding.tooltip = chunk_QJLMYOTX_i([
|
8415
|
+
...encoding.tooltip || [],
|
8416
|
+
...tooltip
|
8417
|
+
]);
|
8066
8418
|
};
|
8067
8419
|
const heatmapAdvancedPipeline = [
|
8068
8420
|
initAdvancedVSeed_initAdvancedVSeed,
|
8069
|
-
|
8070
|
-
|
8071
|
-
|
8072
|
-
|
8073
|
-
|
8421
|
+
default_defaultMeasures_defaultMeasures,
|
8422
|
+
defaultDimensions_defaultDimensions,
|
8423
|
+
defaultMeasureName_defaultMeasureName,
|
8424
|
+
encodingAdapter([
|
8425
|
+
defaultEncodingForHeatmap,
|
8426
|
+
buildMeasures
|
8427
|
+
], [
|
8428
|
+
encodingForHeatmap,
|
8429
|
+
buildMeasures
|
8430
|
+
]),
|
8074
8431
|
pivotAdapter([
|
8075
8432
|
reshapeWithEncoding
|
8076
8433
|
], [
|
@@ -8123,6 +8480,107 @@
|
|
8123
8480
|
}
|
8124
8481
|
};
|
8125
8482
|
};
|
8483
|
+
const tooltipHeatmap = (spec, context)=>{
|
8484
|
+
const result = {
|
8485
|
+
...spec
|
8486
|
+
};
|
8487
|
+
const { advancedVSeed } = context;
|
8488
|
+
const { measures, datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed;
|
8489
|
+
const baseConfig = advancedVSeed.config[chartType];
|
8490
|
+
const { tooltip = {
|
8491
|
+
enable: true
|
8492
|
+
} } = baseConfig;
|
8493
|
+
const { enable } = tooltip;
|
8494
|
+
const { foldInfo } = datasetReshapeInfo[0];
|
8495
|
+
result.tooltip = {
|
8496
|
+
visible: enable,
|
8497
|
+
mark: {
|
8498
|
+
title: {
|
8499
|
+
visible: false
|
8500
|
+
},
|
8501
|
+
content: tooltipHeatmap_createMarkContent(encoding.tooltip || [], dimensions, measures, locale, foldInfo)
|
8502
|
+
},
|
8503
|
+
dimension: {
|
8504
|
+
visible: false
|
8505
|
+
}
|
8506
|
+
};
|
8507
|
+
return result;
|
8508
|
+
};
|
8509
|
+
const tooltipHeatmap_createMarkContent = (tooltip, dimensions, measures, locale, foldInfo)=>{
|
8510
|
+
const dims = dimensions.filter((item)=>tooltip.includes(item.id));
|
8511
|
+
const meas = measures.filter((item)=>tooltip.includes(item.id));
|
8512
|
+
const dimContent = dims.map((item)=>({
|
8513
|
+
visible: true,
|
8514
|
+
hasShape: true,
|
8515
|
+
shapeType: 'rectRound',
|
8516
|
+
key: (v)=>{
|
8517
|
+
const datum = v;
|
8518
|
+
if (item.alias || item.id) return item.alias || item.id;
|
8519
|
+
return datum && datum[item.id];
|
8520
|
+
},
|
8521
|
+
value: (v)=>{
|
8522
|
+
const datum = v;
|
8523
|
+
return datum && datum[item.id];
|
8524
|
+
}
|
8525
|
+
}));
|
8526
|
+
const meaContent = meas.map((item)=>({
|
8527
|
+
visible: true,
|
8528
|
+
hasShape: true,
|
8529
|
+
shapeType: 'rectRound',
|
8530
|
+
key: item.alias || item.id,
|
8531
|
+
value: (v)=>{
|
8532
|
+
const datum = v;
|
8533
|
+
if (!datum) return '';
|
8534
|
+
const id = item.id;
|
8535
|
+
if (!datum || !datum[ORIGINAL_DATA] || !datum[ORIGINAL_DATA]) return '';
|
8536
|
+
const originalData = datum[ORIGINAL_DATA];
|
8537
|
+
const value = originalData[id];
|
8538
|
+
const measure = findMeasureById(measures, id);
|
8539
|
+
if (!measure) return String(value);
|
8540
|
+
const { format = {}, autoFormat = true } = measure;
|
8541
|
+
if (!chunk_VCYTMP4D_n(format)) {
|
8542
|
+
const formatter = createFormatter(format);
|
8543
|
+
return formatter(value);
|
8544
|
+
}
|
8545
|
+
if (autoFormat) return autoFormatter(value, locale);
|
8546
|
+
return String(value);
|
8547
|
+
}
|
8548
|
+
}));
|
8549
|
+
const foldMeaContent = [
|
8550
|
+
foldInfo
|
8551
|
+
].map((foldInfo)=>({
|
8552
|
+
visible: true,
|
8553
|
+
hasShape: true,
|
8554
|
+
shapeType: 'rectRound',
|
8555
|
+
key: (v)=>{
|
8556
|
+
const { measureId, foldMap } = foldInfo;
|
8557
|
+
const datum = v;
|
8558
|
+
const id = datum[measureId];
|
8559
|
+
return foldMap[id] || id;
|
8560
|
+
},
|
8561
|
+
value: (v)=>{
|
8562
|
+
const { measureId, measureValue } = foldInfo;
|
8563
|
+
const datum = v;
|
8564
|
+
if (!datum) return '';
|
8565
|
+
const value = datum[measureValue];
|
8566
|
+
const id = datum[measureId];
|
8567
|
+
const measure = findMeasureById(measures, id);
|
8568
|
+
if (!measure) return String(value);
|
8569
|
+
const { format = {}, autoFormat = true } = measure;
|
8570
|
+
if (!chunk_VCYTMP4D_n(format)) {
|
8571
|
+
const formatter = createFormatter(format);
|
8572
|
+
return formatter(value);
|
8573
|
+
}
|
8574
|
+
if (autoFormat) return autoFormatter(value, locale);
|
8575
|
+
return String(value);
|
8576
|
+
}
|
8577
|
+
}));
|
8578
|
+
return [
|
8579
|
+
...dimContent,
|
8580
|
+
...foldMeaContent,
|
8581
|
+
...meaContent
|
8582
|
+
];
|
8583
|
+
};
|
8126
8584
|
const initHeatmap = (spec, context)=>{
|
8127
8585
|
const result = {
|
8128
8586
|
...spec
|
@@ -8166,7 +8624,7 @@
|
|
8166
8624
|
labelColorInversion,
|
8167
8625
|
colorAdapter(discreteLegend, colorLegend),
|
8168
8626
|
colorCellStyleFill(cellStyle),
|
8169
|
-
|
8627
|
+
tooltipHeatmap,
|
8170
8628
|
annotationPoint_annotationPoint,
|
8171
8629
|
annotationVerticalLine_annotationVerticalLine,
|
8172
8630
|
annotationHorizontalLine_annotationHorizontalLine,
|
@@ -8185,7 +8643,7 @@
|
|
8185
8643
|
label_label,
|
8186
8644
|
labelColorInversion,
|
8187
8645
|
discreteLegend,
|
8188
|
-
|
8646
|
+
tooltipHeatmap,
|
8189
8647
|
colorCellStyleFill(cellStyle),
|
8190
8648
|
annotationPoint_annotationPoint,
|
8191
8649
|
annotationVerticalLine_annotationVerticalLine,
|
@@ -8864,6 +9322,15 @@
|
|
8864
9322
|
const updateSpec = (chartType, specPipe)=>{
|
8865
9323
|
Builder._customSpecPipe[chartType] = specPipe;
|
8866
9324
|
};
|
9325
|
+
const findAllDimensions = (dimensions = [])=>{
|
9326
|
+
if (!dimensions) return [];
|
9327
|
+
const result = [];
|
9328
|
+
preorderTraverse(dimensions, (node)=>{
|
9329
|
+
if (!('children' in node)) result.push(node);
|
9330
|
+
return false;
|
9331
|
+
});
|
9332
|
+
return result;
|
9333
|
+
};
|
8867
9334
|
Object.freeze({
|
8868
9335
|
status: "aborted"
|
8869
9336
|
});
|
@@ -12190,11 +12657,6 @@
|
|
12190
12657
|
const zDimension = schemas_object({
|
12191
12658
|
id: schemas_string(),
|
12192
12659
|
alias: schemas_string().optional(),
|
12193
|
-
location: schemas_enum([
|
12194
|
-
'dimension',
|
12195
|
-
'rowDimension',
|
12196
|
-
'columnDimension'
|
12197
|
-
]).default('dimension'),
|
12198
12660
|
encoding: schemas_enum([
|
12199
12661
|
'xAxis',
|
12200
12662
|
'yAxis',
|