@visactor/vseed 0.1.7 → 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/dataReshape/constant.d.ts +2 -0
- package/dist/index.cjs +740 -288
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +733 -286
- package/dist/index.js.map +1 -1
- package/dist/pipeline/advanced/chart/pipes/encoding/bar.d.ts +1 -19
- package/dist/pipeline/advanced/chart/pipes/encoding/column.d.ts +1 -19
- package/dist/pipeline/advanced/chart/pipes/encoding/dualAxis.d.ts +1 -19
- package/dist/pipeline/advanced/chart/pipes/encoding/encodingAdapter.d.ts +2 -0
- package/dist/pipeline/advanced/chart/pipes/encoding/funnel.d.ts +1 -17
- package/dist/pipeline/advanced/chart/pipes/encoding/heatmap.d.ts +1 -19
- package/dist/pipeline/advanced/chart/pipes/encoding/index.d.ts +11 -9
- package/dist/pipeline/advanced/chart/pipes/encoding/line.d.ts +1 -18
- package/dist/pipeline/advanced/chart/pipes/encoding/pie.d.ts +1 -18
- package/dist/pipeline/advanced/chart/pipes/encoding/radar.d.ts +1 -19
- package/dist/pipeline/advanced/chart/pipes/encoding/rose.d.ts +1 -19
- package/dist/pipeline/advanced/chart/pipes/encoding/scatter.d.ts +1 -18
- package/dist/pipeline/advanced/chart/pipes/measures/utils.d.ts +7 -1
- 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/chartType/area/area.d.ts +7 -27
- package/dist/types/chartType/areaPercent/areaPercent.d.ts +7 -27
- package/dist/types/chartType/bar/bar.d.ts +8 -29
- package/dist/types/chartType/barParallel/barParallel.d.ts +8 -29
- package/dist/types/chartType/barPercent/barPercent.d.ts +8 -29
- package/dist/types/chartType/column/column.d.ts +8 -29
- package/dist/types/chartType/columnParallel/columnParallel.d.ts +9 -30
- package/dist/types/chartType/columnPercent/columnPercent.d.ts +8 -29
- package/dist/types/chartType/donut/donut.d.ts +7 -27
- package/dist/types/chartType/dualAxis/dualAxis.d.ts +9 -29
- package/dist/types/chartType/funnel/funnel.d.ts +7 -26
- package/dist/types/chartType/heatmap/heatmap.d.ts +8 -29
- package/dist/types/chartType/line/line.d.ts +7 -27
- package/dist/types/chartType/pie/pie.d.ts +7 -27
- package/dist/types/chartType/pivotTable/pivotTable.d.ts +4 -7
- package/dist/types/chartType/radar/radar.d.ts +7 -29
- package/dist/types/chartType/rose/rose.d.ts +8 -29
- package/dist/types/chartType/roseParallel/roseParallel.d.ts +8 -29
- package/dist/types/chartType/scatter/scatter.d.ts +7 -28
- package/dist/umd/index.js +736 -288
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
@@ -56,7 +56,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
56
56
|
zYLinearAxis: ()=>zYLinearAxis,
|
57
57
|
zMarkStyle: ()=>zMarkStyle,
|
58
58
|
registerFunnel: ()=>registerFunnel,
|
59
|
-
Separator: ()=>
|
59
|
+
Separator: ()=>"-",
|
60
60
|
columnAdvancedPipeline: ()=>columnAdvancedPipeline,
|
61
61
|
zLabel: ()=>zLabel,
|
62
62
|
registerColumn: ()=>registerColumn,
|
@@ -85,12 +85,13 @@ __webpack_require__.d(__webpack_exports__, {
|
|
85
85
|
FoldMeasureId: ()=>FoldMeasureId,
|
86
86
|
zColumnParallelConfig: ()=>zColumnParallelConfig,
|
87
87
|
donutSpecPipeline: ()=>donutSpecPipeline,
|
88
|
+
FoldXMeasureId: ()=>FoldXMeasureId,
|
88
89
|
registerAreaPercent: ()=>registerAreaPercent,
|
89
|
-
zHeatmap: ()=>zHeatmap,
|
90
90
|
zBarPercent: ()=>zBarPercent,
|
91
|
+
zHeatmap: ()=>zHeatmap,
|
91
92
|
zScatterMeasure: ()=>zScatterMeasure,
|
92
|
-
zTheme: ()=>zTheme,
|
93
93
|
zDatum: ()=>zDatum,
|
94
|
+
zTheme: ()=>zTheme,
|
94
95
|
barAdvancedPipeline: ()=>barAdvancedPipeline,
|
95
96
|
zCustomThemeConfig: ()=>zCustomThemeConfig,
|
96
97
|
registerColumnPercent: ()=>registerColumnPercent,
|
@@ -180,6 +181,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
180
181
|
zTableConfig: ()=>zTableConfig,
|
181
182
|
zXBandAxis: ()=>zXBandAxis,
|
182
183
|
zColumnPercentConfig: ()=>zColumnPercentConfig,
|
184
|
+
FoldYMeasureId: ()=>FoldYMeasureId,
|
183
185
|
findMeasureById: ()=>findMeasureById,
|
184
186
|
zVSeed: ()=>zVSeed,
|
185
187
|
AngleEncoding: ()=>AngleEncoding,
|
@@ -923,7 +925,6 @@ const registerTable = ()=>{
|
|
923
925
|
Builder._specPipelineMap.table = tableSpecPipeline;
|
924
926
|
};
|
925
927
|
const ORIGINAL_DATA = '__OriginalData__';
|
926
|
-
const Separator = '-';
|
927
928
|
const FoldMeasureName = '__MeaName__';
|
928
929
|
const FoldMeasureId = '__MeaId__';
|
929
930
|
const FoldMeasureValue = '__MeaValue__';
|
@@ -932,6 +933,8 @@ const FoldPrimaryMeasureValue = '__MeaPrimaryValue__';
|
|
932
933
|
const FoldSecondaryMeasureValue = '__MeaSecondaryValue__';
|
933
934
|
const FoldXMeasureValue = '__MeaXValue__';
|
934
935
|
const FoldYMeasureValue = '__MeaYValue__';
|
936
|
+
const FoldXMeasureId = '__MeaXId__';
|
937
|
+
const FoldYMeasureId = '__MeaYId__';
|
935
938
|
const XEncoding = '__Dim_X__';
|
936
939
|
const YEncoding = '__Dim_Y__';
|
937
940
|
const AngleEncoding = '__Dim_Angle__';
|
@@ -1433,6 +1436,25 @@ const defaultMeasureName_defaultMeasureName = (advancedVSeed)=>{
|
|
1433
1436
|
if (!result.dimensions?.some((dim)=>dim.id === MeasureName)) result.dimensions?.push(MeaName);
|
1434
1437
|
return result;
|
1435
1438
|
};
|
1439
|
+
const encodingAdapter = (noEncodingPipeline, hasEncodingPipeline)=>(advancedVSeed, context)=>{
|
1440
|
+
const { dimensions = [], measures = [] } = advancedVSeed;
|
1441
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
1442
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
1443
|
+
const hasEncoding = hasDimensionEncoding || hasMeasureEncoding;
|
1444
|
+
if (hasEncoding) return execPipeline(hasEncodingPipeline, context, advancedVSeed);
|
1445
|
+
return execPipeline(noEncodingPipeline, context, advancedVSeed);
|
1446
|
+
};
|
1447
|
+
const defaultEncodingForLine = (advancedVSeed)=>{
|
1448
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
1449
|
+
const measures = findAllMeasures(vseedMeasures);
|
1450
|
+
const encoding = {};
|
1451
|
+
line_generateDefaultDimensionEncoding(dimensions, encoding);
|
1452
|
+
line_generateDefaultMeasureEncoding(measures, encoding);
|
1453
|
+
return {
|
1454
|
+
...advancedVSeed,
|
1455
|
+
encoding
|
1456
|
+
};
|
1457
|
+
};
|
1436
1458
|
const encodingForLine = (advancedVSeed)=>{
|
1437
1459
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
1438
1460
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -1452,7 +1474,7 @@ const line_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
1452
1474
|
const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
|
1453
1475
|
encoding.x = uniqueDimIds.slice(0, 1);
|
1454
1476
|
encoding.color = uniqueDimIds.slice(1);
|
1455
|
-
encoding.tooltip = uniqueDimIds;
|
1477
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
1456
1478
|
encoding.detail = [];
|
1457
1479
|
encoding.label = [];
|
1458
1480
|
encoding.row = [];
|
@@ -1460,27 +1482,32 @@ const line_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
1460
1482
|
};
|
1461
1483
|
const line_generateDimensionEncoding = (dimensions, encoding)=>{
|
1462
1484
|
encoding.x = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
1463
|
-
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
1464
|
-
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
1465
1485
|
if (0 === encoding.x.length) encoding.x = [
|
1466
1486
|
dimensions[0].id
|
1467
1487
|
];
|
1488
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
1468
1489
|
if (0 === encoding.color.length) encoding.color = [
|
1469
1490
|
MeasureName
|
1470
1491
|
];
|
1492
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
1471
1493
|
if (0 === encoding.detail.length) encoding.detail = [
|
1472
1494
|
MeasureName
|
1473
1495
|
];
|
1496
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(dimensions.map((item)=>item.id));
|
1497
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
1474
1498
|
};
|
1475
1499
|
const line_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
1476
|
-
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
1477
1500
|
encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
1478
1501
|
};
|
1479
1502
|
const line_generateMeasureEncoding = (measures, encoding)=>{
|
1480
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
1481
1503
|
encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
1482
1504
|
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
1483
1505
|
if (color.length > 0) encoding.color = color;
|
1506
|
+
const tooltip = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
1507
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)([
|
1508
|
+
...encoding.tooltip || [],
|
1509
|
+
...tooltip
|
1510
|
+
]);
|
1484
1511
|
};
|
1485
1512
|
const isMeasureTreeWithChildren = (vseed)=>{
|
1486
1513
|
const { measures } = vseed;
|
@@ -1492,6 +1519,37 @@ const isMeasureTreeWithParentId = (vseed)=>{
|
|
1492
1519
|
if (!measures) return false;
|
1493
1520
|
return measures.some((measure)=>'parentId' in measure);
|
1494
1521
|
};
|
1522
|
+
const normalizeMeasureTree = (measures)=>{
|
1523
|
+
const createEmptyMeasureGroup = ()=>({
|
1524
|
+
id: 'group',
|
1525
|
+
alias: '',
|
1526
|
+
children: []
|
1527
|
+
});
|
1528
|
+
let currentGroup = createEmptyMeasureGroup();
|
1529
|
+
const measureGroups = [];
|
1530
|
+
for (const measure of measures)if ('children' in measure) {
|
1531
|
+
if (currentGroup.children?.length) {
|
1532
|
+
currentGroup.id = [
|
1533
|
+
currentGroup.id,
|
1534
|
+
...currentGroup.children.map((item)=>item.id)
|
1535
|
+
].join('-');
|
1536
|
+
currentGroup.alias = currentGroup.children.map((item)=>item.alias).join('-');
|
1537
|
+
measureGroups.push(currentGroup);
|
1538
|
+
currentGroup = createEmptyMeasureGroup();
|
1539
|
+
}
|
1540
|
+
measureGroups.push(measure);
|
1541
|
+
} else currentGroup.children?.push(measure);
|
1542
|
+
if (currentGroup.children?.length) {
|
1543
|
+
currentGroup.id = [
|
1544
|
+
currentGroup.id,
|
1545
|
+
...currentGroup.children.map((item)=>item.id)
|
1546
|
+
].join('-');
|
1547
|
+
currentGroup.alias = currentGroup.children.map((item)=>item.alias).join('-');
|
1548
|
+
measureGroups.push(currentGroup);
|
1549
|
+
currentGroup = createEmptyMeasureGroup();
|
1550
|
+
}
|
1551
|
+
return measureGroups;
|
1552
|
+
};
|
1495
1553
|
const measureDepth = (measures = [])=>{
|
1496
1554
|
if (!measures) return 0;
|
1497
1555
|
let depth = 1;
|
@@ -1543,7 +1601,7 @@ const isPivotChart = (vseed)=>{
|
|
1543
1601
|
const buildMeasures = (advancedVSeed, context)=>{
|
1544
1602
|
const { vseed } = context;
|
1545
1603
|
if (isMeasureTreeWithChildren(vseed)) {
|
1546
|
-
advancedVSeed.measures = vseed.measures;
|
1604
|
+
advancedVSeed.measures = normalizeMeasureTree(vseed.measures);
|
1547
1605
|
return advancedVSeed;
|
1548
1606
|
}
|
1549
1607
|
if (isMeasureTreeWithParentId(vseed)) {
|
@@ -1645,7 +1703,7 @@ const dataReshapeByEncoding = (dataset, dimensions, measures, encoding, options)
|
|
1645
1703
|
});
|
1646
1704
|
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dimensions, encoding, {
|
1647
1705
|
foldMeasureId,
|
1648
|
-
separator:
|
1706
|
+
separator: "-",
|
1649
1707
|
colorItemAsId
|
1650
1708
|
});
|
1651
1709
|
return {
|
@@ -1934,8 +1992,13 @@ const lineAdvancedPipeline = [
|
|
1934
1992
|
default_defaultMeasures_defaultMeasures,
|
1935
1993
|
defaultDimensions_defaultDimensions,
|
1936
1994
|
defaultMeasureName_defaultMeasureName,
|
1937
|
-
|
1938
|
-
|
1995
|
+
encodingAdapter([
|
1996
|
+
defaultEncodingForLine,
|
1997
|
+
buildMeasures
|
1998
|
+
], [
|
1999
|
+
encodingForLine,
|
2000
|
+
buildMeasures
|
2001
|
+
]),
|
1939
2002
|
pivotAdapter([
|
1940
2003
|
reshapeWithEncoding
|
1941
2004
|
], [
|
@@ -2210,10 +2273,6 @@ const xBand = (spec, context)=>{
|
|
2210
2273
|
];
|
2211
2274
|
return result;
|
2212
2275
|
};
|
2213
|
-
const ANNOTATION_Z_INDEX = 1000;
|
2214
|
-
const LINEAR_AXIS_INNER_OFFSET_TOP = 7;
|
2215
|
-
const DUAL_AXIS_CHART_COLUMN_Z_INDEX = 1000;
|
2216
|
-
const DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX = 1001;
|
2217
2276
|
const yLinear = (spec, context)=>{
|
2218
2277
|
const result = {
|
2219
2278
|
...spec
|
@@ -2287,7 +2346,7 @@ const yLinear = (spec, context)=>{
|
|
2287
2346
|
}
|
2288
2347
|
},
|
2289
2348
|
innerOffset: {
|
2290
|
-
top:
|
2349
|
+
top: 7
|
2291
2350
|
}
|
2292
2351
|
};
|
2293
2352
|
result.axes = [
|
@@ -2843,78 +2902,133 @@ const tooltip_tooltip = (spec, context)=>{
|
|
2843
2902
|
...spec
|
2844
2903
|
};
|
2845
2904
|
const { advancedVSeed } = context;
|
2846
|
-
const { measures, datasetReshapeInfo, chartType, locale, dimensions } = advancedVSeed;
|
2905
|
+
const { measures, datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed;
|
2847
2906
|
const baseConfig = advancedVSeed.config[chartType];
|
2848
2907
|
const { tooltip = {
|
2849
2908
|
enable: true
|
2850
2909
|
} } = baseConfig;
|
2851
2910
|
const { enable } = tooltip;
|
2852
|
-
const {
|
2853
|
-
const { encodingColor: colorName } = datasetReshapeInfo[0].unfoldInfo;
|
2911
|
+
const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
|
2854
2912
|
result.tooltip = {
|
2855
2913
|
visible: enable,
|
2856
2914
|
mark: {
|
2857
2915
|
title: {
|
2858
|
-
visible:
|
2916
|
+
visible: false
|
2859
2917
|
},
|
2860
|
-
content: [
|
2861
|
-
...dimensions.map((item)=>({
|
2862
|
-
visible: true,
|
2863
|
-
hasShape: true,
|
2864
|
-
shapeType: 'rectRound',
|
2865
|
-
key: (datum)=>{
|
2866
|
-
if (item.alias || item.id) return item.alias || item.id;
|
2867
|
-
return datum && datum[item.id];
|
2868
|
-
},
|
2869
|
-
value: (datum)=>datum && datum[item.id]
|
2870
|
-
})),
|
2871
|
-
{
|
2872
|
-
visible: true,
|
2873
|
-
hasShape: true,
|
2874
|
-
key: (datum)=>datum && datum[measureName || colorName] || '',
|
2875
|
-
value: (datum)=>{
|
2876
|
-
if (!datum) return '';
|
2877
|
-
const value = datum[measureValue];
|
2878
|
-
const id = datum[measureId];
|
2879
|
-
const measure = findMeasureById(measures, id);
|
2880
|
-
if (!measure) return String(value);
|
2881
|
-
const { format = {}, autoFormat = true } = measure;
|
2882
|
-
if (!(0, external_remeda_namespaceObject.isEmpty)(format)) {
|
2883
|
-
const formatter = createFormatter(format);
|
2884
|
-
return formatter(value);
|
2885
|
-
}
|
2886
|
-
if (autoFormat) return autoFormatter(value, locale);
|
2887
|
-
return String(value);
|
2888
|
-
}
|
2889
|
-
}
|
2890
|
-
]
|
2918
|
+
content: createMarkContent(encoding.tooltip || [], dimensions, measures, locale, foldInfo, unfoldInfo)
|
2891
2919
|
},
|
2892
2920
|
dimension: {
|
2893
|
-
|
2894
|
-
|
2895
|
-
|
2896
|
-
|
2897
|
-
value: (datum)=>{
|
2898
|
-
if (!datum) return '';
|
2899
|
-
const value = datum[measureValue];
|
2900
|
-
const id = datum[measureId];
|
2901
|
-
const measure = findMeasureById(measures, id);
|
2902
|
-
if (!measure) return String(value);
|
2903
|
-
const { format = {}, autoFormat = true } = measure;
|
2904
|
-
if (!(0, external_remeda_namespaceObject.isEmpty)(format)) {
|
2905
|
-
const formatter = createFormatter(format);
|
2906
|
-
return formatter(value);
|
2907
|
-
}
|
2908
|
-
if (autoFormat) return autoFormatter(value, locale);
|
2909
|
-
return String(value);
|
2910
|
-
},
|
2911
|
-
shapeType: 'rectRound'
|
2912
|
-
}
|
2913
|
-
]
|
2921
|
+
title: {
|
2922
|
+
visible: true
|
2923
|
+
},
|
2924
|
+
content: createDimensionContent(measures, foldInfo, unfoldInfo, locale)
|
2914
2925
|
}
|
2915
2926
|
};
|
2916
2927
|
return result;
|
2917
2928
|
};
|
2929
|
+
const createDimensionContent = (measures, foldInfo, unfoldInfo, locale)=>{
|
2930
|
+
const { measureId, measureValue } = foldInfo;
|
2931
|
+
const { encodingColor } = unfoldInfo;
|
2932
|
+
return [
|
2933
|
+
{
|
2934
|
+
visible: true,
|
2935
|
+
shapeType: 'rectRound',
|
2936
|
+
hasShape: true,
|
2937
|
+
key: (v)=>{
|
2938
|
+
const datum = v;
|
2939
|
+
return datum && datum[encodingColor] || '';
|
2940
|
+
},
|
2941
|
+
value: (v)=>{
|
2942
|
+
const datum = v;
|
2943
|
+
if (!datum) return '';
|
2944
|
+
const value = datum[measureValue];
|
2945
|
+
const id = datum[measureId];
|
2946
|
+
const measure = findMeasureById(measures, id);
|
2947
|
+
if (!measure) return String(value);
|
2948
|
+
const { format = {}, autoFormat = true } = measure;
|
2949
|
+
if (!(0, external_remeda_namespaceObject.isEmpty)(format)) {
|
2950
|
+
const formatter = createFormatter(format);
|
2951
|
+
return formatter(value);
|
2952
|
+
}
|
2953
|
+
if (autoFormat) return autoFormatter(value, locale);
|
2954
|
+
return String(value);
|
2955
|
+
}
|
2956
|
+
}
|
2957
|
+
];
|
2958
|
+
};
|
2959
|
+
const createMarkContent = (tooltip, dimensions, measures, locale, foldInfo, unfoldInfo)=>{
|
2960
|
+
const dims = dimensions.filter((item)=>tooltip.includes(item.id));
|
2961
|
+
const meas = measures.filter((item)=>tooltip.includes(item.id));
|
2962
|
+
const dimContent = dims.map((item)=>({
|
2963
|
+
visible: true,
|
2964
|
+
hasShape: true,
|
2965
|
+
shapeType: 'rectRound',
|
2966
|
+
key: (v)=>{
|
2967
|
+
const datum = v;
|
2968
|
+
if (item.alias || item.id) return item.alias || item.id;
|
2969
|
+
return datum && datum[item.id];
|
2970
|
+
},
|
2971
|
+
value: (v)=>{
|
2972
|
+
const datum = v;
|
2973
|
+
return datum && datum[item.id];
|
2974
|
+
}
|
2975
|
+
}));
|
2976
|
+
const meaContent = meas.map((item)=>({
|
2977
|
+
visible: true,
|
2978
|
+
hasShape: true,
|
2979
|
+
shapeType: 'rectRound',
|
2980
|
+
key: item.alias || item.id,
|
2981
|
+
value: (v)=>{
|
2982
|
+
const datum = v;
|
2983
|
+
if (!datum) return '';
|
2984
|
+
const id = item.id;
|
2985
|
+
if (!datum || !datum[ORIGINAL_DATA] || !datum[ORIGINAL_DATA]) return '';
|
2986
|
+
const originalData = datum[ORIGINAL_DATA];
|
2987
|
+
const value = originalData[id];
|
2988
|
+
const measure = findMeasureById(measures, id);
|
2989
|
+
if (!measure) return String(value);
|
2990
|
+
const { format = {}, autoFormat = true } = measure;
|
2991
|
+
if (!(0, external_remeda_namespaceObject.isEmpty)(format)) {
|
2992
|
+
const formatter = createFormatter(format);
|
2993
|
+
return formatter(value);
|
2994
|
+
}
|
2995
|
+
if (autoFormat) return autoFormatter(value, locale);
|
2996
|
+
return String(value);
|
2997
|
+
}
|
2998
|
+
}));
|
2999
|
+
const defaultContent = {
|
3000
|
+
visible: true,
|
3001
|
+
hasShape: true,
|
3002
|
+
shapeType: 'rectRound',
|
3003
|
+
key: (v)=>{
|
3004
|
+
const { measureName } = foldInfo;
|
3005
|
+
const { encodingColor: colorName } = unfoldInfo;
|
3006
|
+
const datum = v;
|
3007
|
+
return datum && datum[measureName || colorName] || '';
|
3008
|
+
},
|
3009
|
+
value: (v)=>{
|
3010
|
+
const { measureId, measureValue } = foldInfo;
|
3011
|
+
const datum = v;
|
3012
|
+
if (!datum) return '';
|
3013
|
+
const value = datum[measureValue];
|
3014
|
+
const id = datum[measureId];
|
3015
|
+
const measure = findMeasureById(measures, id);
|
3016
|
+
if (!measure) return String(value);
|
3017
|
+
const { format = {}, autoFormat = true } = measure;
|
3018
|
+
if (!(0, external_remeda_namespaceObject.isEmpty)(format)) {
|
3019
|
+
const formatter = createFormatter(format);
|
3020
|
+
return formatter(value);
|
3021
|
+
}
|
3022
|
+
if (autoFormat) return autoFormatter(value, locale);
|
3023
|
+
return String(value);
|
3024
|
+
}
|
3025
|
+
};
|
3026
|
+
return [
|
3027
|
+
...dimContent,
|
3028
|
+
defaultContent,
|
3029
|
+
...meaContent
|
3030
|
+
];
|
3031
|
+
};
|
2918
3032
|
const isSubset = (sub, obj)=>Object.entries(sub).every(([key, value])=>{
|
2919
3033
|
if ('string' == typeof value) return obj[key] === value;
|
2920
3034
|
if ('number' == typeof value) return obj[key] === value;
|
@@ -2933,7 +3047,7 @@ const annotationPoint_annotationPoint = (spec, context)=>{
|
|
2933
3047
|
const dataset = advancedVSeed.dataset.flat();
|
2934
3048
|
const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
|
2935
3049
|
return selectedData.map((datum)=>({
|
2936
|
-
zIndex:
|
3050
|
+
zIndex: 1000,
|
2937
3051
|
regionRelative: true,
|
2938
3052
|
position: (data, context)=>{
|
2939
3053
|
const targetDatum = data.find((item)=>isSubset(datum, item));
|
@@ -3006,7 +3120,7 @@ const annotationVerticalLine_annotationVerticalLine = (spec, context)=>{
|
|
3006
3120
|
const dataset = advancedVSeed.dataset.flat();
|
3007
3121
|
const generateOneMarkLine = (x)=>({
|
3008
3122
|
x: x,
|
3009
|
-
zIndex:
|
3123
|
+
zIndex: 1000,
|
3010
3124
|
line: {
|
3011
3125
|
style: {
|
3012
3126
|
visible: lineVisible,
|
@@ -3104,7 +3218,7 @@ const annotationHorizontalLine_annotationHorizontalLine = (spec, context)=>{
|
|
3104
3218
|
const dataset = advancedVSeed.dataset.flat();
|
3105
3219
|
const generateOneMarkLine = (y)=>({
|
3106
3220
|
y,
|
3107
|
-
zIndex:
|
3221
|
+
zIndex: 1000,
|
3108
3222
|
line: {
|
3109
3223
|
style: {
|
3110
3224
|
visible: lineVisible,
|
@@ -3205,7 +3319,7 @@ const annotationArea_annotationArea = (spec, context)=>{
|
|
3205
3319
|
const labelPosition = positionMap[textPosition || 'top'];
|
3206
3320
|
const isBottom = labelPosition.toLocaleLowerCase().includes('bottom');
|
3207
3321
|
return {
|
3208
|
-
zIndex:
|
3322
|
+
zIndex: 1000,
|
3209
3323
|
regionRelative: true,
|
3210
3324
|
positions: (data, context)=>{
|
3211
3325
|
const positionData = data.filter((item)=>selectedData.some((datum)=>isSubset(datum, item)));
|
@@ -3821,6 +3935,17 @@ const registerLine = ()=>{
|
|
3821
3935
|
Builder._advancedPipelineMap.line = lineAdvancedPipeline;
|
3822
3936
|
Builder._specPipelineMap.line = lineSpecPipeline;
|
3823
3937
|
};
|
3938
|
+
const defaultEncodingForColumn = (advancedVSeed)=>{
|
3939
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
3940
|
+
const measures = findAllMeasures(vseedMeasures);
|
3941
|
+
const encoding = {};
|
3942
|
+
column_generateDefaultDimensionEncoding(dimensions, encoding);
|
3943
|
+
column_generateDefaultMeasureEncoding(measures, encoding);
|
3944
|
+
return {
|
3945
|
+
...advancedVSeed,
|
3946
|
+
encoding
|
3947
|
+
};
|
3948
|
+
};
|
3824
3949
|
const encodingForColumn = (advancedVSeed)=>{
|
3825
3950
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
3826
3951
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -3842,43 +3967,52 @@ const column_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
3842
3967
|
encoding.x = uniqueDimIds.slice(0, 1);
|
3843
3968
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
3844
3969
|
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
3845
|
-
encoding.tooltip = uniqueDimIds;
|
3970
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
3846
3971
|
encoding.label = [];
|
3847
3972
|
encoding.row = [];
|
3848
3973
|
encoding.column = [];
|
3849
3974
|
};
|
3850
3975
|
const column_generateDimensionEncoding = (dimensions, encoding)=>{
|
3851
3976
|
encoding.x = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
3852
|
-
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
3853
|
-
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
3854
3977
|
if (0 === encoding.x.length) encoding.x = [
|
3855
3978
|
dimensions[0].id
|
3856
3979
|
];
|
3980
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
3857
3981
|
if (0 === encoding.color.length) encoding.color = [
|
3858
3982
|
MeasureName
|
3859
3983
|
];
|
3984
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
3860
3985
|
if (0 === encoding.detail.length) encoding.detail = [
|
3861
3986
|
MeasureName
|
3862
3987
|
];
|
3988
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(dimensions.map((item)=>item.id));
|
3989
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
3863
3990
|
};
|
3864
3991
|
const column_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
3865
|
-
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
3866
3992
|
encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
3867
3993
|
};
|
3868
3994
|
const column_generateMeasureEncoding = (measures, encoding)=>{
|
3869
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
3870
3995
|
encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
3871
3996
|
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
3872
3997
|
if (color.length > 0) encoding.color = color;
|
3873
|
-
|
3998
|
+
const tooltip = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
3999
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)([
|
4000
|
+
...encoding.tooltip || [],
|
4001
|
+
...tooltip
|
4002
|
+
]);
|
3874
4003
|
};
|
3875
4004
|
const columnAdvancedPipeline = [
|
3876
4005
|
initAdvancedVSeed_initAdvancedVSeed,
|
3877
4006
|
default_defaultMeasures_defaultMeasures,
|
3878
4007
|
defaultDimensions_defaultDimensions,
|
3879
4008
|
defaultMeasureName_defaultMeasureName,
|
3880
|
-
|
3881
|
-
|
4009
|
+
encodingAdapter([
|
4010
|
+
defaultEncodingForColumn,
|
4011
|
+
buildMeasures
|
4012
|
+
], [
|
4013
|
+
encodingForColumn,
|
4014
|
+
buildMeasures
|
4015
|
+
]),
|
3882
4016
|
pivotAdapter([
|
3883
4017
|
reshapeWithEncoding
|
3884
4018
|
], [
|
@@ -4075,7 +4209,7 @@ const annotationAreaBand = (spec, context)=>{
|
|
4075
4209
|
const dataset = advancedVSeed.dataset.flat();
|
4076
4210
|
const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
|
4077
4211
|
return {
|
4078
|
-
zIndex:
|
4212
|
+
zIndex: 1000,
|
4079
4213
|
regionRelative: true,
|
4080
4214
|
positions: (data, context)=>{
|
4081
4215
|
const positionData = data.filter((item)=>selectedData.some((datum)=>isSubset(datum, item)));
|
@@ -4241,8 +4375,13 @@ const columnParallelAdvancedPipeline = [
|
|
4241
4375
|
default_defaultMeasures_defaultMeasures,
|
4242
4376
|
defaultDimensions_defaultDimensions,
|
4243
4377
|
defaultMeasureName_defaultMeasureName,
|
4244
|
-
|
4245
|
-
|
4378
|
+
encodingAdapter([
|
4379
|
+
defaultEncodingForColumn,
|
4380
|
+
buildMeasures
|
4381
|
+
], [
|
4382
|
+
encodingForColumn,
|
4383
|
+
buildMeasures
|
4384
|
+
]),
|
4246
4385
|
pivotAdapter([
|
4247
4386
|
reshapeWithEncoding
|
4248
4387
|
], [
|
@@ -4340,8 +4479,13 @@ const columnPercentAdvancedPipeline = [
|
|
4340
4479
|
default_defaultMeasures_defaultMeasures,
|
4341
4480
|
defaultDimensions_defaultDimensions,
|
4342
4481
|
defaultMeasureName_defaultMeasureName,
|
4343
|
-
|
4344
|
-
|
4482
|
+
encodingAdapter([
|
4483
|
+
defaultEncodingForColumn,
|
4484
|
+
buildMeasures
|
4485
|
+
], [
|
4486
|
+
encodingForColumn,
|
4487
|
+
buildMeasures
|
4488
|
+
]),
|
4345
4489
|
pivotAdapter([
|
4346
4490
|
reshapeWithEncoding
|
4347
4491
|
], [
|
@@ -4418,6 +4562,17 @@ const registerColumnPercent = ()=>{
|
|
4418
4562
|
Builder._advancedPipelineMap.columnPercent = columnPercentAdvancedPipeline;
|
4419
4563
|
Builder._specPipelineMap.columnPercent = columnPercentSpecPipeline;
|
4420
4564
|
};
|
4565
|
+
const defaultEncodingForBar = (advancedVSeed)=>{
|
4566
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
4567
|
+
const measures = findAllMeasures(vseedMeasures);
|
4568
|
+
const encoding = {};
|
4569
|
+
bar_generateDefaultDimensionEncoding(dimensions, encoding);
|
4570
|
+
bar_generateDefaultMeasureEncoding(measures, encoding);
|
4571
|
+
return {
|
4572
|
+
...advancedVSeed,
|
4573
|
+
encoding
|
4574
|
+
};
|
4575
|
+
};
|
4421
4576
|
const encodingForBar = (advancedVSeed)=>{
|
4422
4577
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
4423
4578
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -4439,35 +4594,39 @@ const bar_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
4439
4594
|
encoding.y = uniqueDimIds.slice(0, 1);
|
4440
4595
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
4441
4596
|
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
4442
|
-
encoding.tooltip = uniqueDimIds;
|
4597
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
4443
4598
|
encoding.label = [];
|
4444
4599
|
encoding.row = [];
|
4445
4600
|
encoding.column = [];
|
4446
4601
|
};
|
4447
4602
|
const bar_generateDimensionEncoding = (dimensions, encoding)=>{
|
4448
4603
|
encoding.y = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'yAxis' === item.encoding).map((item)=>item.id));
|
4449
|
-
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4450
|
-
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
4451
4604
|
if (0 === encoding.y.length) encoding.y = [
|
4452
4605
|
dimensions[0].id
|
4453
4606
|
];
|
4607
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4454
4608
|
if (0 === encoding.color.length) encoding.color = [
|
4455
4609
|
MeasureName
|
4456
4610
|
];
|
4611
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
4457
4612
|
if (0 === encoding.detail.length) encoding.detail = [
|
4458
4613
|
MeasureName
|
4459
4614
|
];
|
4615
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(dimensions.map((item)=>item.id));
|
4616
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
4460
4617
|
};
|
4461
4618
|
const bar_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
4462
|
-
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
4463
4619
|
encoding.x = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4464
4620
|
};
|
4465
4621
|
const bar_generateMeasureEncoding = (measures, encoding)=>{
|
4466
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
4467
4622
|
encoding.x = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4468
4623
|
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4469
4624
|
if (color.length > 0) encoding.color = color;
|
4470
|
-
|
4625
|
+
const tooltip = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
4626
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)([
|
4627
|
+
...encoding.tooltip || [],
|
4628
|
+
...tooltip
|
4629
|
+
]);
|
4471
4630
|
};
|
4472
4631
|
const sortYBandAxis = (advancedVSeed, context)=>{
|
4473
4632
|
const result = {
|
@@ -4490,8 +4649,13 @@ const barAdvancedPipeline = [
|
|
4490
4649
|
default_defaultMeasures_defaultMeasures,
|
4491
4650
|
defaultDimensions_defaultDimensions,
|
4492
4651
|
defaultMeasureName_defaultMeasureName,
|
4493
|
-
|
4494
|
-
|
4652
|
+
encodingAdapter([
|
4653
|
+
defaultEncodingForBar,
|
4654
|
+
buildMeasures
|
4655
|
+
], [
|
4656
|
+
encodingForBar,
|
4657
|
+
buildMeasures
|
4658
|
+
]),
|
4495
4659
|
pivotAdapter([
|
4496
4660
|
reshapeWithEncoding
|
4497
4661
|
], [
|
@@ -4642,7 +4806,7 @@ const xLinear = (spec, context)=>{
|
|
4642
4806
|
}
|
4643
4807
|
},
|
4644
4808
|
innerOffset: {
|
4645
|
-
right:
|
4809
|
+
right: 7
|
4646
4810
|
}
|
4647
4811
|
};
|
4648
4812
|
result.axes = [
|
@@ -4845,8 +5009,13 @@ const barParallelAdvancedPipeline = [
|
|
4845
5009
|
default_defaultMeasures_defaultMeasures,
|
4846
5010
|
defaultDimensions_defaultDimensions,
|
4847
5011
|
defaultMeasureName_defaultMeasureName,
|
4848
|
-
|
4849
|
-
|
5012
|
+
encodingAdapter([
|
5013
|
+
defaultEncodingForBar,
|
5014
|
+
buildMeasures
|
5015
|
+
], [
|
5016
|
+
encodingForBar,
|
5017
|
+
buildMeasures
|
5018
|
+
]),
|
4850
5019
|
pivotAdapter([
|
4851
5020
|
reshapeWithEncoding
|
4852
5021
|
], [
|
@@ -4943,8 +5112,13 @@ const barPercentAdvancedPipeline = [
|
|
4943
5112
|
default_defaultMeasures_defaultMeasures,
|
4944
5113
|
defaultDimensions_defaultDimensions,
|
4945
5114
|
defaultMeasureName_defaultMeasureName,
|
4946
|
-
|
4947
|
-
|
5115
|
+
encodingAdapter([
|
5116
|
+
defaultEncodingForBar,
|
5117
|
+
buildMeasures
|
5118
|
+
], [
|
5119
|
+
encodingForBar,
|
5120
|
+
buildMeasures
|
5121
|
+
]),
|
4948
5122
|
pivotAdapter([
|
4949
5123
|
reshapeWithEncoding
|
4950
5124
|
], [
|
@@ -5016,8 +5190,13 @@ const areaAdvancedPipeline = [
|
|
5016
5190
|
default_defaultMeasures_defaultMeasures,
|
5017
5191
|
defaultDimensions_defaultDimensions,
|
5018
5192
|
defaultMeasureName_defaultMeasureName,
|
5019
|
-
|
5020
|
-
|
5193
|
+
encodingAdapter([
|
5194
|
+
defaultEncodingForLine,
|
5195
|
+
buildMeasures
|
5196
|
+
], [
|
5197
|
+
encodingForLine,
|
5198
|
+
buildMeasures
|
5199
|
+
]),
|
5021
5200
|
pivotAdapter([
|
5022
5201
|
reshapeWithEncoding
|
5023
5202
|
], [
|
@@ -5176,8 +5355,13 @@ const areaPercentAdvancedPipeline = [
|
|
5176
5355
|
default_defaultMeasures_defaultMeasures,
|
5177
5356
|
defaultDimensions_defaultDimensions,
|
5178
5357
|
defaultMeasureName_defaultMeasureName,
|
5179
|
-
|
5180
|
-
|
5358
|
+
encodingAdapter([
|
5359
|
+
defaultEncodingForLine,
|
5360
|
+
buildMeasures
|
5361
|
+
], [
|
5362
|
+
encodingForLine,
|
5363
|
+
buildMeasures
|
5364
|
+
]),
|
5181
5365
|
pivotAdapter([
|
5182
5366
|
reshapeWithEncoding
|
5183
5367
|
], [
|
@@ -5251,6 +5435,17 @@ const registerAreaPercent = ()=>{
|
|
5251
5435
|
Builder._advancedPipelineMap.areaPercent = areaPercentAdvancedPipeline;
|
5252
5436
|
Builder._specPipelineMap.areaPercent = areaPercentSpecPipeline;
|
5253
5437
|
};
|
5438
|
+
const defaultEncodingForScatter = (advancedVSeed)=>{
|
5439
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
5440
|
+
const measures = findAllMeasures(vseedMeasures);
|
5441
|
+
const encoding = {};
|
5442
|
+
scatter_generateDefaultDimensionEncoding(dimensions, encoding);
|
5443
|
+
scatter_generateDefaultMeasureEncoding(measures, encoding);
|
5444
|
+
return {
|
5445
|
+
...advancedVSeed,
|
5446
|
+
encoding
|
5447
|
+
};
|
5448
|
+
};
|
5254
5449
|
const encodingForScatter = (advancedVSeed)=>{
|
5255
5450
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
5256
5451
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -5271,23 +5466,24 @@ const scatter_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
5271
5466
|
const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensionsWithoutMeasureName.map((d)=>d.id));
|
5272
5467
|
encoding.color = uniqueDimIds.slice(0);
|
5273
5468
|
encoding.detail = uniqueDimIds.slice(0);
|
5274
|
-
encoding.tooltip = uniqueDimIds;
|
5469
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
5275
5470
|
encoding.label = [];
|
5276
5471
|
encoding.row = [];
|
5277
5472
|
encoding.column = [];
|
5278
5473
|
};
|
5279
5474
|
const scatter_generateDimensionEncoding = (dimensions, encoding)=>{
|
5280
5475
|
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5281
|
-
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
5282
5476
|
if (0 === encoding.color.length) encoding.color = [
|
5283
5477
|
MeasureName
|
5284
5478
|
];
|
5479
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
5285
5480
|
if (0 === encoding.detail.length) encoding.detail = [
|
5286
5481
|
MeasureName
|
5287
5482
|
];
|
5483
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(dimensions.map((item)=>item.id));
|
5484
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
5288
5485
|
};
|
5289
5486
|
const scatter_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
5290
|
-
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
5291
5487
|
encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5292
5488
|
};
|
5293
5489
|
const scatter_generateMeasureEncoding = (measures, encoding)=>{
|
@@ -5297,6 +5493,11 @@ const scatter_generateMeasureEncoding = (measures, encoding)=>{
|
|
5297
5493
|
if (color.length > 0) encoding.color = [
|
5298
5494
|
color[0]
|
5299
5495
|
];
|
5496
|
+
const tooltip = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
5497
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)([
|
5498
|
+
...encoding.tooltip || [],
|
5499
|
+
...tooltip
|
5500
|
+
]);
|
5300
5501
|
};
|
5301
5502
|
const buildMeasuresForScatter = (advancedVSeed, context)=>{
|
5302
5503
|
const { vseed } = context;
|
@@ -5327,6 +5528,7 @@ const basicMeasuresToScatterMeasures = (basicMeasures)=>{
|
|
5327
5528
|
else if (0 !== index) yMeasures.push(item);
|
5328
5529
|
else xMeasures.push(item);
|
5329
5530
|
}
|
5531
|
+
if (0 === yMeasures.length && xMeasures.length > 0) yMeasures.push(xMeasures[0]);
|
5330
5532
|
return [
|
5331
5533
|
{
|
5332
5534
|
id: 'scatterMeasures',
|
@@ -5415,6 +5617,7 @@ const reshapeWithScatterEncoding = (advancedVSeed, context)=>{
|
|
5415
5617
|
if (xMeasures && xMeasures.children) {
|
5416
5618
|
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, (0, external_remeda_namespaceObject.uniqueBy)(dimensions, (d)=>d.id), (0, external_remeda_namespaceObject.uniqueBy)(xMeasures.children, (d)=>d.id), encoding, {
|
5417
5619
|
foldMeasureValue: FoldXMeasureValue,
|
5620
|
+
foldMeasureId: FoldXMeasureId,
|
5418
5621
|
colorItemAsId: true,
|
5419
5622
|
colorMeasureId: getColorMeasureId(advancedVSeed)
|
5420
5623
|
});
|
@@ -5425,6 +5628,7 @@ const reshapeWithScatterEncoding = (advancedVSeed, context)=>{
|
|
5425
5628
|
if (yMeasures && yMeasures.children) {
|
5426
5629
|
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(datasets[0], (0, external_remeda_namespaceObject.uniqueBy)(dimensions, (d)=>d.id), (0, external_remeda_namespaceObject.uniqueBy)(yMeasures.children, (d)=>d.id), encoding, {
|
5427
5630
|
foldMeasureValue: FoldYMeasureValue,
|
5631
|
+
foldMeasureId: FoldYMeasureId,
|
5428
5632
|
colorItemAsId: true,
|
5429
5633
|
colorMeasureId: getColorMeasureId(advancedVSeed)
|
5430
5634
|
});
|
@@ -5530,8 +5734,13 @@ const scatterAdvancedPipeline = [
|
|
5530
5734
|
default_defaultMeasures_defaultMeasures,
|
5531
5735
|
defaultDimensions_defaultDimensions,
|
5532
5736
|
defaultMeasureName_defaultMeasureName,
|
5533
|
-
|
5534
|
-
|
5737
|
+
encodingAdapter([
|
5738
|
+
defaultEncodingForScatter,
|
5739
|
+
buildMeasuresForScatter
|
5740
|
+
], [
|
5741
|
+
encodingForScatter,
|
5742
|
+
buildMeasuresForScatter
|
5743
|
+
]),
|
5535
5744
|
pivotAdapter([
|
5536
5745
|
reshapeWithScatterEncoding
|
5537
5746
|
], [
|
@@ -5577,6 +5786,105 @@ const datasetScatter = (spec, context)=>{
|
|
5577
5786
|
}
|
5578
5787
|
};
|
5579
5788
|
};
|
5789
|
+
const tooltipScatter = (spec, context)=>{
|
5790
|
+
const result = {
|
5791
|
+
...spec
|
5792
|
+
};
|
5793
|
+
const { advancedVSeed } = context;
|
5794
|
+
const { measures, datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed;
|
5795
|
+
const baseConfig = advancedVSeed.config[chartType];
|
5796
|
+
const { tooltip = {
|
5797
|
+
enable: true
|
5798
|
+
} } = baseConfig;
|
5799
|
+
const { enable } = tooltip;
|
5800
|
+
const { foldInfoList } = datasetReshapeInfo[0];
|
5801
|
+
result.tooltip = {
|
5802
|
+
visible: enable,
|
5803
|
+
mark: {
|
5804
|
+
title: {
|
5805
|
+
visible: false
|
5806
|
+
},
|
5807
|
+
content: tooltipScatter_createMarkContent(encoding.tooltip || [], dimensions, measures, locale, foldInfoList)
|
5808
|
+
},
|
5809
|
+
dimension: {
|
5810
|
+
visible: false
|
5811
|
+
}
|
5812
|
+
};
|
5813
|
+
return result;
|
5814
|
+
};
|
5815
|
+
const tooltipScatter_createMarkContent = (tooltip, dimensions, measures, locale, foldInfoList)=>{
|
5816
|
+
const dims = dimensions.filter((item)=>tooltip.includes(item.id));
|
5817
|
+
const meas = measures.filter((item)=>tooltip.includes(item.id));
|
5818
|
+
const dimContent = dims.map((item)=>({
|
5819
|
+
visible: true,
|
5820
|
+
hasShape: true,
|
5821
|
+
shapeType: 'rectRound',
|
5822
|
+
key: (v)=>{
|
5823
|
+
const datum = v;
|
5824
|
+
if (item.alias || item.id) return item.alias || item.id;
|
5825
|
+
return datum && datum[item.id];
|
5826
|
+
},
|
5827
|
+
value: (v)=>{
|
5828
|
+
const datum = v;
|
5829
|
+
return datum && datum[item.id];
|
5830
|
+
}
|
5831
|
+
}));
|
5832
|
+
const meaContent = meas.map((item)=>({
|
5833
|
+
visible: true,
|
5834
|
+
hasShape: true,
|
5835
|
+
shapeType: 'rectRound',
|
5836
|
+
key: item.alias || item.id,
|
5837
|
+
value: (v)=>{
|
5838
|
+
const datum = v;
|
5839
|
+
if (!datum) return '';
|
5840
|
+
const id = item.id;
|
5841
|
+
if (!datum || !datum[ORIGINAL_DATA] || !datum[ORIGINAL_DATA]) return '';
|
5842
|
+
const originalData = datum[ORIGINAL_DATA];
|
5843
|
+
const value = originalData[id];
|
5844
|
+
const measure = findMeasureById(measures, id);
|
5845
|
+
if (!measure) return String(value);
|
5846
|
+
const { format = {}, autoFormat = true } = measure;
|
5847
|
+
if (!(0, external_remeda_namespaceObject.isEmpty)(format)) {
|
5848
|
+
const formatter = createFormatter(format);
|
5849
|
+
return formatter(value);
|
5850
|
+
}
|
5851
|
+
if (autoFormat) return autoFormatter(value, locale);
|
5852
|
+
return String(value);
|
5853
|
+
}
|
5854
|
+
}));
|
5855
|
+
const foldMeaContent = foldInfoList.map((foldInfo)=>({
|
5856
|
+
visible: true,
|
5857
|
+
hasShape: true,
|
5858
|
+
shapeType: 'rectRound',
|
5859
|
+
key: (v)=>{
|
5860
|
+
const { measureId, foldMap } = foldInfo;
|
5861
|
+
const datum = v;
|
5862
|
+
const id = datum[measureId];
|
5863
|
+
return foldMap[id] || id;
|
5864
|
+
},
|
5865
|
+
value: (v)=>{
|
5866
|
+
const { measureId, measureValue } = foldInfo;
|
5867
|
+
const datum = v;
|
5868
|
+
if (!datum) return '';
|
5869
|
+
const value = datum[measureValue];
|
5870
|
+
const id = datum[measureId];
|
5871
|
+
const measure = findMeasureById(measures, id);
|
5872
|
+
if (!measure) return String(value);
|
5873
|
+
const { format = {}, autoFormat = true } = measure;
|
5874
|
+
if (!(0, external_remeda_namespaceObject.isEmpty)(format)) {
|
5875
|
+
const formatter = createFormatter(format);
|
5876
|
+
return formatter(value);
|
5877
|
+
}
|
5878
|
+
if (autoFormat) return autoFormatter(value, locale);
|
5879
|
+
return String(value);
|
5880
|
+
}
|
5881
|
+
}));
|
5882
|
+
return [
|
5883
|
+
...dimContent,
|
5884
|
+
...foldMeaContent,
|
5885
|
+
...meaContent
|
5886
|
+
];
|
5887
|
+
};
|
5580
5888
|
const horizontalCrosshairLine = (spec, context)=>{
|
5581
5889
|
const result = {
|
5582
5890
|
...spec
|
@@ -5630,7 +5938,7 @@ const scatter = [
|
|
5630
5938
|
xLinear,
|
5631
5939
|
yLinear,
|
5632
5940
|
label_label,
|
5633
|
-
|
5941
|
+
tooltipScatter,
|
5634
5942
|
colorAdapter(discreteLegend, colorLegend),
|
5635
5943
|
verticalCrosshairLine,
|
5636
5944
|
horizontalCrosshairLine,
|
@@ -5655,7 +5963,7 @@ const pivotScatter = [
|
|
5655
5963
|
xLinear,
|
5656
5964
|
yLinear,
|
5657
5965
|
label_label,
|
5658
|
-
|
5966
|
+
tooltipScatter,
|
5659
5967
|
verticalCrosshairLine,
|
5660
5968
|
horizontalCrosshairLine,
|
5661
5969
|
colorPointStyleFill(pointStyle_pointStyle),
|
@@ -5676,6 +5984,17 @@ const registerScatter = ()=>{
|
|
5676
5984
|
Builder._advancedPipelineMap.scatter = scatterAdvancedPipeline;
|
5677
5985
|
Builder._specPipelineMap.scatter = scatterSpecPipeline;
|
5678
5986
|
};
|
5987
|
+
const defaultEncodingForDualAxis = (advancedVSeed)=>{
|
5988
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
5989
|
+
const measures = findAllMeasures(vseedMeasures);
|
5990
|
+
const encoding = {};
|
5991
|
+
dualAxis_generateDefaultDimensionEncoding(dimensions, encoding);
|
5992
|
+
dualAxis_generateDefaultMeasureEncoding(measures, encoding);
|
5993
|
+
return {
|
5994
|
+
...advancedVSeed,
|
5995
|
+
encoding
|
5996
|
+
};
|
5997
|
+
};
|
5679
5998
|
const encodingForDualAxis = (advancedVSeed)=>{
|
5680
5999
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
5681
6000
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -5697,35 +6016,39 @@ const dualAxis_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
5697
6016
|
encoding.x = uniqueDimIds.slice(0, 1);
|
5698
6017
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
5699
6018
|
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
5700
|
-
encoding.tooltip = uniqueDimIds;
|
6019
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
5701
6020
|
encoding.label = [];
|
5702
6021
|
encoding.row = [];
|
5703
6022
|
encoding.column = [];
|
5704
6023
|
};
|
5705
6024
|
const dualAxis_generateDimensionEncoding = (dimensions, encoding)=>{
|
5706
6025
|
encoding.x = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
5707
|
-
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5708
|
-
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
5709
6026
|
if (0 === encoding.x.length) encoding.x = [
|
5710
6027
|
dimensions[0].id
|
5711
6028
|
];
|
6029
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5712
6030
|
if (0 === encoding.color.length) encoding.color = [
|
5713
6031
|
MeasureName
|
5714
6032
|
];
|
6033
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
5715
6034
|
if (0 === encoding.detail.length) encoding.detail = [
|
5716
6035
|
MeasureName
|
5717
6036
|
];
|
6037
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(dimensions.map((item)=>item.id));
|
6038
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
5718
6039
|
};
|
5719
6040
|
const dualAxis_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
5720
|
-
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
5721
6041
|
encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5722
6042
|
};
|
5723
6043
|
const dualAxis_generateMeasureEncoding = (measures, encoding)=>{
|
5724
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
5725
6044
|
encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5726
6045
|
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5727
6046
|
if (color.length > 0) encoding.color = color;
|
5728
|
-
|
6047
|
+
const tooltip = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
6048
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)([
|
6049
|
+
...encoding.tooltip || [],
|
6050
|
+
...tooltip
|
6051
|
+
]);
|
5729
6052
|
};
|
5730
6053
|
const buildMeasuresForDualAxis = (advancedVSeed, context)=>{
|
5731
6054
|
const { vseed } = context;
|
@@ -5982,8 +6305,13 @@ const dualAxisAdvancedPipeline = [
|
|
5982
6305
|
default_defaultMeasures_defaultMeasures,
|
5983
6306
|
defaultDimensions_defaultDimensions,
|
5984
6307
|
defaultMeasureName_defaultMeasureName,
|
5985
|
-
|
5986
|
-
|
6308
|
+
encodingAdapter([
|
6309
|
+
defaultEncodingForDualAxis,
|
6310
|
+
buildMeasuresForDualAxis
|
6311
|
+
], [
|
6312
|
+
encodingForDualAxis,
|
6313
|
+
buildMeasuresForDualAxis
|
6314
|
+
]),
|
5987
6315
|
pivotAdapter([
|
5988
6316
|
reshapeWithDualEncoding
|
5989
6317
|
], [
|
@@ -6075,7 +6403,7 @@ const initDualAxisSecondary = (spec, context)=>{
|
|
6075
6403
|
const dualChartTypePrimary = (spec, context)=>{
|
6076
6404
|
const result = {
|
6077
6405
|
...spec,
|
6078
|
-
zIndex:
|
6406
|
+
zIndex: 1001
|
6079
6407
|
};
|
6080
6408
|
const { advancedVSeed, vseed } = context;
|
6081
6409
|
const { chartType } = vseed;
|
@@ -6095,7 +6423,7 @@ const dualChartTypePrimary = (spec, context)=>{
|
|
6095
6423
|
break;
|
6096
6424
|
case 'column':
|
6097
6425
|
result.type = 'bar';
|
6098
|
-
result.zIndex =
|
6426
|
+
result.zIndex = 1000;
|
6099
6427
|
break;
|
6100
6428
|
case 'columnParallel':
|
6101
6429
|
{
|
@@ -6106,7 +6434,7 @@ const dualChartTypePrimary = (spec, context)=>{
|
|
6106
6434
|
datasetReshapeInfo[0].unfoldInfo.encodingDetail
|
6107
6435
|
];
|
6108
6436
|
columnSpec.type = 'bar';
|
6109
|
-
result.zIndex =
|
6437
|
+
result.zIndex = 1000;
|
6110
6438
|
break;
|
6111
6439
|
}
|
6112
6440
|
case 'columnPercent':
|
@@ -6131,7 +6459,7 @@ const dualChartTypePrimary = (spec, context)=>{
|
|
6131
6459
|
const dualChartTypeSecondary = (spec, context)=>{
|
6132
6460
|
const result = {
|
6133
6461
|
...spec,
|
6134
|
-
zIndex:
|
6462
|
+
zIndex: 1001
|
6135
6463
|
};
|
6136
6464
|
const { advancedVSeed, vseed } = context;
|
6137
6465
|
const { chartType } = vseed;
|
@@ -6151,7 +6479,7 @@ const dualChartTypeSecondary = (spec, context)=>{
|
|
6151
6479
|
break;
|
6152
6480
|
case 'column':
|
6153
6481
|
result.type = 'bar';
|
6154
|
-
result.zIndex =
|
6482
|
+
result.zIndex = 1000;
|
6155
6483
|
break;
|
6156
6484
|
case 'columnParallel':
|
6157
6485
|
{
|
@@ -6162,7 +6490,7 @@ const dualChartTypeSecondary = (spec, context)=>{
|
|
6162
6490
|
datasetReshapeInfo[0].unfoldInfo.encodingDetail
|
6163
6491
|
];
|
6164
6492
|
columnSpec.type = 'bar';
|
6165
|
-
result.zIndex =
|
6493
|
+
result.zIndex = 1000;
|
6166
6494
|
break;
|
6167
6495
|
}
|
6168
6496
|
case 'columnPercent':
|
@@ -6340,7 +6668,7 @@ const tooltipPrimary = (spec, context)=>{
|
|
6340
6668
|
...spec
|
6341
6669
|
};
|
6342
6670
|
const { advancedVSeed } = context;
|
6343
|
-
const { measures, datasetReshapeInfo, chartType, locale, dimensions } = advancedVSeed;
|
6671
|
+
const { measures, datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed;
|
6344
6672
|
const baseConfig = advancedVSeed.config[chartType];
|
6345
6673
|
const { tooltip = {
|
6346
6674
|
enable: true
|
@@ -6348,68 +6676,19 @@ const tooltipPrimary = (spec, context)=>{
|
|
6348
6676
|
const { enable } = tooltip;
|
6349
6677
|
const foldInfoList = datasetReshapeInfo[0].foldInfoList;
|
6350
6678
|
const unfoldInfo = datasetReshapeInfo[0].unfoldInfo;
|
6351
|
-
const { measureId, measureValue, measureName } = foldInfoList[0];
|
6352
|
-
const { encodingColor: colorName } = unfoldInfo;
|
6353
6679
|
result.tooltip = {
|
6354
6680
|
visible: enable,
|
6355
6681
|
mark: {
|
6356
6682
|
title: {
|
6357
|
-
visible:
|
6683
|
+
visible: false
|
6358
6684
|
},
|
6359
|
-
content: [
|
6360
|
-
...dimensions.map((item)=>({
|
6361
|
-
visible: true,
|
6362
|
-
hasShape: true,
|
6363
|
-
shapeType: 'rectRound',
|
6364
|
-
key: (datum)=>{
|
6365
|
-
if (item.alias || item.id) return item.alias || item.id;
|
6366
|
-
return datum && datum[item.id];
|
6367
|
-
},
|
6368
|
-
value: (datum)=>datum && datum[item.id]
|
6369
|
-
})),
|
6370
|
-
{
|
6371
|
-
visible: true,
|
6372
|
-
hasShape: true,
|
6373
|
-
key: (datum)=>datum && datum[measureName || colorName] || '',
|
6374
|
-
value: (datum)=>{
|
6375
|
-
if (!datum) return '';
|
6376
|
-
const value = datum[measureValue];
|
6377
|
-
const id = datum[measureId];
|
6378
|
-
const measure = findMeasureById(measures, id);
|
6379
|
-
if (!measure) return String(value);
|
6380
|
-
const { format = {}, autoFormat = true } = measure;
|
6381
|
-
if (!(0, external_remeda_namespaceObject.isEmpty)(format)) {
|
6382
|
-
const formatter = createFormatter(format);
|
6383
|
-
return formatter(value);
|
6384
|
-
}
|
6385
|
-
if (autoFormat) return autoFormatter(value, locale);
|
6386
|
-
return String(value);
|
6387
|
-
}
|
6388
|
-
}
|
6389
|
-
]
|
6685
|
+
content: createMarkContent(encoding.tooltip || [], dimensions, measures, locale, foldInfoList[0], unfoldInfo)
|
6390
6686
|
},
|
6391
6687
|
dimension: {
|
6392
|
-
|
6393
|
-
|
6394
|
-
|
6395
|
-
|
6396
|
-
value: (datum)=>{
|
6397
|
-
if (!datum) return '';
|
6398
|
-
const value = datum[measureValue];
|
6399
|
-
const id = datum[measureId];
|
6400
|
-
const measure = findMeasureById(measures, id);
|
6401
|
-
if (!measure) return String(value);
|
6402
|
-
const { format = {}, autoFormat = true } = measure;
|
6403
|
-
if (!(0, external_remeda_namespaceObject.isEmpty)(format)) {
|
6404
|
-
const formatter = createFormatter(format);
|
6405
|
-
return formatter(value);
|
6406
|
-
}
|
6407
|
-
if (autoFormat) return autoFormatter(value, locale);
|
6408
|
-
return String(value);
|
6409
|
-
},
|
6410
|
-
shapeType: 'rectRound'
|
6411
|
-
}
|
6412
|
-
]
|
6688
|
+
title: {
|
6689
|
+
visible: true
|
6690
|
+
},
|
6691
|
+
content: createDimensionContent(measures, foldInfoList[0], unfoldInfo, locale)
|
6413
6692
|
}
|
6414
6693
|
};
|
6415
6694
|
return result;
|
@@ -6419,7 +6698,7 @@ const tooltipSecondary = (spec, context)=>{
|
|
6419
6698
|
...spec
|
6420
6699
|
};
|
6421
6700
|
const { advancedVSeed } = context;
|
6422
|
-
const { measures, datasetReshapeInfo, chartType, locale, dimensions } = advancedVSeed;
|
6701
|
+
const { measures, datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed;
|
6423
6702
|
const baseConfig = advancedVSeed.config[chartType];
|
6424
6703
|
const { tooltip = {
|
6425
6704
|
enable: true
|
@@ -6428,68 +6707,19 @@ const tooltipSecondary = (spec, context)=>{
|
|
6428
6707
|
if ((0, external_remeda_namespaceObject.isNullish)(datasetReshapeInfo[0].foldInfoList?.[1])) return result;
|
6429
6708
|
const foldInfoList = datasetReshapeInfo[0].foldInfoList;
|
6430
6709
|
const unfoldInfo = datasetReshapeInfo[0].unfoldInfo;
|
6431
|
-
const { measureId, measureValue, measureName } = foldInfoList[1];
|
6432
|
-
const { encodingColorId } = unfoldInfo;
|
6433
6710
|
result.tooltip = {
|
6434
6711
|
visible: enable,
|
6435
6712
|
mark: {
|
6436
6713
|
title: {
|
6437
|
-
visible:
|
6714
|
+
visible: false
|
6438
6715
|
},
|
6439
|
-
content: [
|
6440
|
-
...dimensions.map((item)=>({
|
6441
|
-
visible: true,
|
6442
|
-
hasShape: true,
|
6443
|
-
shapeType: 'rectRound',
|
6444
|
-
key: (datum)=>{
|
6445
|
-
if (item.alias || item.id) return item.alias || item.id;
|
6446
|
-
return datum && datum[item.id];
|
6447
|
-
},
|
6448
|
-
value: (datum)=>datum && datum[item.id]
|
6449
|
-
})),
|
6450
|
-
{
|
6451
|
-
visible: true,
|
6452
|
-
hasShape: true,
|
6453
|
-
key: (datum)=>datum && datum[measureName || encodingColorId] || '',
|
6454
|
-
value: (datum)=>{
|
6455
|
-
if (!datum) return '';
|
6456
|
-
const value = datum[measureValue];
|
6457
|
-
const id = datum[measureId];
|
6458
|
-
const measure = findMeasureById(measures, id);
|
6459
|
-
if (!measure) return String(value);
|
6460
|
-
const { format = {}, autoFormat = true } = measure;
|
6461
|
-
if (!(0, external_remeda_namespaceObject.isEmpty)(format)) {
|
6462
|
-
const formatter = createFormatter(format);
|
6463
|
-
return formatter(value);
|
6464
|
-
}
|
6465
|
-
if (autoFormat) return autoFormatter(value, locale);
|
6466
|
-
return String(value);
|
6467
|
-
}
|
6468
|
-
}
|
6469
|
-
]
|
6716
|
+
content: createMarkContent(encoding.tooltip || [], dimensions, measures, locale, foldInfoList[1], unfoldInfo)
|
6470
6717
|
},
|
6471
6718
|
dimension: {
|
6472
|
-
|
6473
|
-
|
6474
|
-
|
6475
|
-
|
6476
|
-
value: (datum)=>{
|
6477
|
-
if (!datum) return '';
|
6478
|
-
const value = datum[measureValue];
|
6479
|
-
const id = datum[measureId];
|
6480
|
-
const measure = findMeasureById(measures, id);
|
6481
|
-
if (!measure) return String(value);
|
6482
|
-
const { format = {}, autoFormat = true } = measure;
|
6483
|
-
if (!(0, external_remeda_namespaceObject.isEmpty)(format)) {
|
6484
|
-
const formatter = createFormatter(format);
|
6485
|
-
return formatter(value);
|
6486
|
-
}
|
6487
|
-
if (autoFormat) return autoFormatter(value, locale);
|
6488
|
-
return String(value);
|
6489
|
-
},
|
6490
|
-
shapeType: 'rectRound'
|
6491
|
-
}
|
6492
|
-
]
|
6719
|
+
title: {
|
6720
|
+
visible: true
|
6721
|
+
},
|
6722
|
+
content: createDimensionContent(measures, foldInfoList[1], unfoldInfo, locale)
|
6493
6723
|
}
|
6494
6724
|
};
|
6495
6725
|
return result;
|
@@ -6506,7 +6736,8 @@ const yLinearPrimary = (spec, context)=>{
|
|
6506
6736
|
const yAxisConfig = Array.isArray(primaryYAxis) ? primaryYAxis[index] || primaryYAxis[0] : primaryYAxis;
|
6507
6737
|
const alignTicks = advancedVSeed.config?.[chartType]?.alignTicks;
|
6508
6738
|
const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks;
|
6509
|
-
if (
|
6739
|
+
if ((0, external_remeda_namespaceObject.isNullish)(foldInfoList?.[0])) return result;
|
6740
|
+
const isEmptySecondary = (0, external_remeda_namespaceObject.isEmpty)(foldInfoList?.[0].foldMap);
|
6510
6741
|
const id = `${reshapeInfoId}-primary-axis`;
|
6511
6742
|
const seriesIds = [
|
6512
6743
|
`${reshapeInfoId}-primary-series`,
|
@@ -6529,7 +6760,7 @@ const yLinearPrimary = (spec, context)=>{
|
|
6529
6760
|
}
|
6530
6761
|
const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min, log, logBase = 10 } = yAxisConfig;
|
6531
6762
|
const linearAxis = {
|
6532
|
-
visible,
|
6763
|
+
visible: isEmptySecondary ? false : visible,
|
6533
6764
|
id,
|
6534
6765
|
seriesId,
|
6535
6766
|
type: log ? 'log' : 'linear',
|
@@ -6582,7 +6813,7 @@ const yLinearPrimary = (spec, context)=>{
|
|
6582
6813
|
}
|
6583
6814
|
},
|
6584
6815
|
innerOffset: {
|
6585
|
-
top:
|
6816
|
+
top: 7
|
6586
6817
|
}
|
6587
6818
|
};
|
6588
6819
|
result.axes = [
|
@@ -6604,6 +6835,8 @@ const yLinearSecondary = (spec, context)=>{
|
|
6604
6835
|
const alignTicks = advancedVSeed.config?.[chartType]?.alignTicks;
|
6605
6836
|
const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks;
|
6606
6837
|
if ((0, external_remeda_namespaceObject.isNullish)(foldInfoList?.[1])) return result;
|
6838
|
+
const isEmptySecondary = (0, external_remeda_namespaceObject.isEmpty)(foldInfoList?.[1].foldMap);
|
6839
|
+
const onlySecondary = (0, external_remeda_namespaceObject.isEmpty)(foldInfoList?.[0].foldMap) && !isEmptySecondary;
|
6607
6840
|
const sync = {
|
6608
6841
|
axisId: `${reshapeInfoId}-primary-axis`,
|
6609
6842
|
zeroAlign: true
|
@@ -6631,7 +6864,7 @@ const yLinearSecondary = (spec, context)=>{
|
|
6631
6864
|
}
|
6632
6865
|
const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min, log, logBase = 10 } = yAxisConfig;
|
6633
6866
|
const linearAxis = {
|
6634
|
-
visible,
|
6867
|
+
visible: isEmptySecondary ? false : visible,
|
6635
6868
|
id,
|
6636
6869
|
seriesId,
|
6637
6870
|
sync,
|
@@ -6671,7 +6904,7 @@ const yLinearSecondary = (spec, context)=>{
|
|
6671
6904
|
}
|
6672
6905
|
},
|
6673
6906
|
grid: {
|
6674
|
-
visible: grid?.visible,
|
6907
|
+
visible: onlySecondary ? true : grid?.visible,
|
6675
6908
|
style: {
|
6676
6909
|
lineWidth: grid?.gridWidth,
|
6677
6910
|
stroke: grid?.gridColor
|
@@ -6685,7 +6918,7 @@ const yLinearSecondary = (spec, context)=>{
|
|
6685
6918
|
}
|
6686
6919
|
},
|
6687
6920
|
innerOffset: {
|
6688
|
-
top:
|
6921
|
+
top: 7
|
6689
6922
|
}
|
6690
6923
|
};
|
6691
6924
|
result.axes = [
|
@@ -6816,6 +7049,17 @@ const registerDualAxis = ()=>{
|
|
6816
7049
|
Builder._advancedPipelineMap.dualAxis = dualAxisAdvancedPipeline;
|
6817
7050
|
Builder._specPipelineMap.dualAxis = dualAxisSpecPipeline;
|
6818
7051
|
};
|
7052
|
+
const defaultEncodingForPie = (advancedVSeed)=>{
|
7053
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7054
|
+
const measures = findAllMeasures(vseedMeasures);
|
7055
|
+
const encoding = {};
|
7056
|
+
pie_generateDefaultDimensionEncoding(dimensions, encoding);
|
7057
|
+
pie_generateDefaultMeasureEncoding(measures, encoding);
|
7058
|
+
return {
|
7059
|
+
...advancedVSeed,
|
7060
|
+
encoding
|
7061
|
+
};
|
7062
|
+
};
|
6819
7063
|
const encodingForPie = (advancedVSeed)=>{
|
6820
7064
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
6821
7065
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -6835,38 +7079,48 @@ const pie_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
6835
7079
|
const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
|
6836
7080
|
encoding.color = uniqueDimIds.slice(0);
|
6837
7081
|
encoding.detail = uniqueDimIds.slice(0);
|
6838
|
-
encoding.tooltip = uniqueDimIds;
|
7082
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
6839
7083
|
encoding.label = [];
|
6840
7084
|
encoding.row = [];
|
6841
7085
|
encoding.column = [];
|
6842
7086
|
};
|
6843
7087
|
const pie_generateDimensionEncoding = (dimensions, encoding)=>{
|
6844
7088
|
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
6845
|
-
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
6846
7089
|
if (0 === encoding.color.length) encoding.color = [
|
6847
7090
|
MeasureName
|
6848
7091
|
];
|
7092
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
6849
7093
|
if (0 === encoding.detail.length) encoding.detail = [
|
6850
7094
|
MeasureName
|
6851
7095
|
];
|
7096
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(dimensions.map((item)=>item.id));
|
7097
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
6852
7098
|
};
|
6853
7099
|
const pie_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
6854
|
-
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
6855
7100
|
encoding.angle = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
|
6856
7101
|
};
|
6857
7102
|
const pie_generateMeasureEncoding = (measures, encoding)=>{
|
6858
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
6859
7103
|
encoding.angle = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
|
6860
7104
|
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
6861
7105
|
if (color.length > 0) encoding.color = color;
|
7106
|
+
const tooltip = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
7107
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)([
|
7108
|
+
...encoding.tooltip || [],
|
7109
|
+
...tooltip
|
7110
|
+
]);
|
6862
7111
|
};
|
6863
7112
|
const pieAdvancedPipeline = [
|
6864
7113
|
initAdvancedVSeed_initAdvancedVSeed,
|
6865
7114
|
default_defaultMeasures_defaultMeasures,
|
6866
7115
|
defaultDimensions_defaultDimensions,
|
6867
7116
|
defaultMeasureName_defaultMeasureName,
|
6868
|
-
|
6869
|
-
|
7117
|
+
encodingAdapter([
|
7118
|
+
defaultEncodingForPie,
|
7119
|
+
buildMeasures
|
7120
|
+
], [
|
7121
|
+
encodingForPie,
|
7122
|
+
buildMeasures
|
7123
|
+
]),
|
6870
7124
|
pivotAdapter([
|
6871
7125
|
reshapeWithEncoding
|
6872
7126
|
], [
|
@@ -6985,8 +7239,13 @@ const donutAdvancedPipeline = [
|
|
6985
7239
|
default_defaultMeasures_defaultMeasures,
|
6986
7240
|
defaultDimensions_defaultDimensions,
|
6987
7241
|
defaultMeasureName_defaultMeasureName,
|
6988
|
-
|
6989
|
-
|
7242
|
+
encodingAdapter([
|
7243
|
+
defaultEncodingForPie,
|
7244
|
+
buildMeasures
|
7245
|
+
], [
|
7246
|
+
encodingForPie,
|
7247
|
+
buildMeasures
|
7248
|
+
]),
|
6990
7249
|
pivotAdapter([
|
6991
7250
|
reshapeWithEncoding
|
6992
7251
|
], [
|
@@ -7062,6 +7321,17 @@ const registerDonut = ()=>{
|
|
7062
7321
|
Builder._advancedPipelineMap.donut = donutAdvancedPipeline;
|
7063
7322
|
Builder._specPipelineMap.donut = donutSpecPipeline;
|
7064
7323
|
};
|
7324
|
+
const defaultEncodingForRose = (advancedVSeed)=>{
|
7325
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7326
|
+
const measures = findAllMeasures(vseedMeasures);
|
7327
|
+
const encoding = {};
|
7328
|
+
rose_generateDefaultDimensionEncoding(dimensions, encoding);
|
7329
|
+
rose_generateDefaultMeasureEncoding(measures, encoding);
|
7330
|
+
return {
|
7331
|
+
...advancedVSeed,
|
7332
|
+
encoding
|
7333
|
+
};
|
7334
|
+
};
|
7065
7335
|
const encodingForRose = (advancedVSeed)=>{
|
7066
7336
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7067
7337
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -7083,42 +7353,52 @@ const rose_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
7083
7353
|
encoding.angle = uniqueDimIds.slice(0, 1);
|
7084
7354
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7085
7355
|
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7086
|
-
encoding.tooltip = uniqueDimIds;
|
7356
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
7087
7357
|
encoding.label = [];
|
7088
7358
|
encoding.row = [];
|
7089
7359
|
encoding.column = [];
|
7090
7360
|
};
|
7091
7361
|
const rose_generateDimensionEncoding = (dimensions, encoding)=>{
|
7092
7362
|
encoding.angle = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'angle' === item.encoding).map((item)=>item.id));
|
7093
|
-
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7094
|
-
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7095
7363
|
if (0 === encoding.angle.length) encoding.angle = [
|
7096
7364
|
dimensions[0].id
|
7097
7365
|
];
|
7366
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7098
7367
|
if (0 === encoding.color.length) encoding.color = [
|
7099
7368
|
MeasureName
|
7100
7369
|
];
|
7370
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7101
7371
|
if (0 === encoding.detail.length) encoding.detail = [
|
7102
7372
|
MeasureName
|
7103
7373
|
];
|
7374
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(dimensions.map((item)=>item.id));
|
7375
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
7104
7376
|
};
|
7105
7377
|
const rose_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7106
|
-
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
7107
7378
|
encoding.radius = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7108
7379
|
};
|
7109
7380
|
const rose_generateMeasureEncoding = (measures, encoding)=>{
|
7110
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
7111
7381
|
encoding.radius = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7112
7382
|
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7113
7383
|
if (color.length > 0) encoding.color = color;
|
7384
|
+
const tooltip = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
7385
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)([
|
7386
|
+
...encoding.tooltip || [],
|
7387
|
+
...tooltip
|
7388
|
+
]);
|
7114
7389
|
};
|
7115
7390
|
const roseAdvancedPipeline = [
|
7116
7391
|
initAdvancedVSeed_initAdvancedVSeed,
|
7117
7392
|
default_defaultMeasures_defaultMeasures,
|
7118
7393
|
defaultDimensions_defaultDimensions,
|
7119
7394
|
defaultMeasureName_defaultMeasureName,
|
7120
|
-
|
7121
|
-
|
7395
|
+
encodingAdapter([
|
7396
|
+
defaultEncodingForRose,
|
7397
|
+
buildMeasures
|
7398
|
+
], [
|
7399
|
+
encodingForRose,
|
7400
|
+
buildMeasures
|
7401
|
+
]),
|
7122
7402
|
pivotAdapter([
|
7123
7403
|
reshapeWithEncoding
|
7124
7404
|
], [
|
@@ -7317,8 +7597,13 @@ const roseParallelAdvancedPipeline = [
|
|
7317
7597
|
default_defaultMeasures_defaultMeasures,
|
7318
7598
|
defaultDimensions_defaultDimensions,
|
7319
7599
|
defaultMeasureName_defaultMeasureName,
|
7320
|
-
|
7321
|
-
|
7600
|
+
encodingAdapter([
|
7601
|
+
defaultEncodingForRose,
|
7602
|
+
buildMeasures
|
7603
|
+
], [
|
7604
|
+
encodingForRose,
|
7605
|
+
buildMeasures
|
7606
|
+
]),
|
7322
7607
|
pivotAdapter([
|
7323
7608
|
reshapeWithEncoding
|
7324
7609
|
], [
|
@@ -7424,6 +7709,17 @@ const registerRoseParallel = ()=>{
|
|
7424
7709
|
Builder._advancedPipelineMap.roseParallel = roseParallelAdvancedPipeline;
|
7425
7710
|
Builder._specPipelineMap.roseParallel = roseParallelSpecPipeline;
|
7426
7711
|
};
|
7712
|
+
const defaultEncodingForRadar = (advancedVSeed)=>{
|
7713
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7714
|
+
const measures = findAllMeasures(vseedMeasures);
|
7715
|
+
const encoding = {};
|
7716
|
+
radar_generateDefaultDimensionEncoding(dimensions, encoding);
|
7717
|
+
radar_generateDefaultMeasureEncoding(measures, encoding);
|
7718
|
+
return {
|
7719
|
+
...advancedVSeed,
|
7720
|
+
encoding
|
7721
|
+
};
|
7722
|
+
};
|
7427
7723
|
const encodingForRadar = (advancedVSeed)=>{
|
7428
7724
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7429
7725
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -7443,7 +7739,7 @@ const radar_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
7443
7739
|
const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
|
7444
7740
|
encoding.angle = uniqueDimIds.slice(0, 1);
|
7445
7741
|
encoding.color = uniqueDimIds.slice(1);
|
7446
|
-
encoding.tooltip = uniqueDimIds;
|
7742
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
7447
7743
|
encoding.detail = [];
|
7448
7744
|
encoding.label = [];
|
7449
7745
|
encoding.row = [];
|
@@ -7451,35 +7747,45 @@ const radar_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
7451
7747
|
};
|
7452
7748
|
const radar_generateDimensionEncoding = (dimensions, encoding)=>{
|
7453
7749
|
encoding.angle = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'angle' === item.encoding).map((item)=>item.id));
|
7454
|
-
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7455
|
-
encoding.detail = [];
|
7456
7750
|
if (0 === encoding.angle.length) encoding.angle = [
|
7457
7751
|
dimensions[0].id
|
7458
7752
|
];
|
7753
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7459
7754
|
if (0 === encoding.color.length) encoding.color = [
|
7460
7755
|
MeasureName
|
7461
7756
|
];
|
7757
|
+
encoding.detail = [];
|
7462
7758
|
if (0 === encoding.detail.length) encoding.detail = [
|
7463
7759
|
MeasureName
|
7464
7760
|
];
|
7761
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(dimensions.map((item)=>item.id));
|
7762
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
7465
7763
|
};
|
7466
7764
|
const radar_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7467
|
-
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
7468
7765
|
encoding.radius = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7469
7766
|
};
|
7470
7767
|
const radar_generateMeasureEncoding = (measures, encoding)=>{
|
7471
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
7472
7768
|
encoding.radius = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7473
7769
|
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7474
7770
|
if (color.length > 0) encoding.color = color;
|
7771
|
+
const tooltip = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
7772
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)([
|
7773
|
+
...encoding.tooltip || [],
|
7774
|
+
...tooltip
|
7775
|
+
]);
|
7475
7776
|
};
|
7476
7777
|
const radarAdvancedPipeline = [
|
7477
7778
|
initAdvancedVSeed_initAdvancedVSeed,
|
7478
7779
|
default_defaultMeasures_defaultMeasures,
|
7479
7780
|
defaultDimensions_defaultDimensions,
|
7480
7781
|
defaultMeasureName_defaultMeasureName,
|
7481
|
-
|
7482
|
-
|
7782
|
+
encodingAdapter([
|
7783
|
+
defaultEncodingForRadar,
|
7784
|
+
buildMeasures
|
7785
|
+
], [
|
7786
|
+
encodingForRadar,
|
7787
|
+
buildMeasures
|
7788
|
+
]),
|
7483
7789
|
pivotAdapter([
|
7484
7790
|
reshapeWithEncoding
|
7485
7791
|
], [
|
@@ -7613,6 +7919,17 @@ const registerRadar = ()=>{
|
|
7613
7919
|
Builder._advancedPipelineMap.radar = radarAdvancedPipeline;
|
7614
7920
|
Builder._specPipelineMap.radar = radarSpecPipeline;
|
7615
7921
|
};
|
7922
|
+
const defaultEncodingForFunnel = (advancedVSeed)=>{
|
7923
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7924
|
+
const measures = findAllMeasures(vseedMeasures);
|
7925
|
+
const encoding = {};
|
7926
|
+
funnel_generateDefaultDimensionEncoding(dimensions, encoding);
|
7927
|
+
funnel_generateDefaultMeasureEncoding(measures, encoding);
|
7928
|
+
return {
|
7929
|
+
...advancedVSeed,
|
7930
|
+
encoding
|
7931
|
+
};
|
7932
|
+
};
|
7616
7933
|
const encodingForFunnel = (advancedVSeed)=>{
|
7617
7934
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7618
7935
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -7632,40 +7949,50 @@ const funnel_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
7632
7949
|
const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
|
7633
7950
|
encoding.color = uniqueDimIds.slice(0);
|
7634
7951
|
encoding.detail = uniqueDimIds.slice(0);
|
7635
|
-
encoding.tooltip = uniqueDimIds;
|
7952
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
7636
7953
|
encoding.label = [];
|
7637
7954
|
encoding.row = [];
|
7638
7955
|
encoding.column = [];
|
7639
7956
|
};
|
7640
7957
|
const funnel_generateDimensionEncoding = (dimensions, encoding)=>{
|
7641
7958
|
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7642
|
-
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7643
7959
|
if (0 === encoding.color.length) encoding.color = [
|
7644
7960
|
MeasureName
|
7645
7961
|
];
|
7962
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7646
7963
|
if (0 === encoding.detail.length) encoding.detail = [
|
7647
7964
|
MeasureName
|
7648
7965
|
];
|
7966
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(dimensions.map((item)=>item.id));
|
7967
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
7649
7968
|
};
|
7650
7969
|
const funnel_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7651
|
-
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
7652
7970
|
encoding.size = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
|
7653
7971
|
};
|
7654
7972
|
const funnel_generateMeasureEncoding = (measures, encoding)=>{
|
7655
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
7656
7973
|
encoding.size = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
|
7657
7974
|
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7658
7975
|
if (color.length > 0) encoding.color = [
|
7659
7976
|
color[0]
|
7660
7977
|
];
|
7978
|
+
const tooltip = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
7979
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)([
|
7980
|
+
...encoding.tooltip || [],
|
7981
|
+
...tooltip
|
7982
|
+
]);
|
7661
7983
|
};
|
7662
7984
|
const funnelAdvancedPipeline = [
|
7663
7985
|
initAdvancedVSeed_initAdvancedVSeed,
|
7664
7986
|
default_defaultMeasures_defaultMeasures,
|
7665
7987
|
defaultDimensions_defaultDimensions,
|
7666
7988
|
defaultMeasureName_defaultMeasureName,
|
7667
|
-
|
7668
|
-
|
7989
|
+
encodingAdapter([
|
7990
|
+
defaultEncodingForFunnel,
|
7991
|
+
buildMeasures
|
7992
|
+
], [
|
7993
|
+
encodingForFunnel,
|
7994
|
+
buildMeasures
|
7995
|
+
]),
|
7669
7996
|
pivotAdapter([
|
7670
7997
|
reshapeWithEncoding
|
7671
7998
|
], [
|
@@ -7778,6 +8105,17 @@ const registerFunnel = ()=>{
|
|
7778
8105
|
Builder._advancedPipelineMap.funnel = funnelAdvancedPipeline;
|
7779
8106
|
Builder._specPipelineMap.funnel = funnelSpecPipeline;
|
7780
8107
|
};
|
8108
|
+
const defaultEncodingForHeatmap = (advancedVSeed)=>{
|
8109
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
8110
|
+
const measures = findAllMeasures(vseedMeasures);
|
8111
|
+
const encoding = {};
|
8112
|
+
heatmap_generateDefaultDimensionEncoding(dimensions, encoding);
|
8113
|
+
heatmap_generateDefaultMeasureEncoding(measures, encoding);
|
8114
|
+
return {
|
8115
|
+
...advancedVSeed,
|
8116
|
+
encoding
|
8117
|
+
};
|
8118
|
+
};
|
7781
8119
|
const encodingForHeatmap = (advancedVSeed)=>{
|
7782
8120
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7783
8121
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -7800,50 +8138,59 @@ const heatmap_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
7800
8138
|
encoding.y = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7801
8139
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7802
8140
|
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7803
|
-
encoding.tooltip = uniqueDimIds;
|
8141
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
7804
8142
|
encoding.label = [];
|
7805
8143
|
encoding.row = [];
|
7806
8144
|
encoding.column = [];
|
7807
8145
|
};
|
7808
8146
|
const heatmap_generateDimensionEncoding = (dimensions, encoding)=>{
|
7809
8147
|
encoding.x = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
7810
|
-
encoding.y = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'yAxis' === item.encoding).map((item)=>item.id));
|
7811
|
-
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7812
|
-
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7813
8148
|
if (0 === encoding.x.length) encoding.x = [
|
7814
8149
|
dimensions[0].id
|
7815
8150
|
];
|
8151
|
+
encoding.y = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'yAxis' === item.encoding).map((item)=>item.id));
|
7816
8152
|
if (0 === encoding.y.length) if (dimensions.length > 1) encoding.y = dimensions.slice(1).map((item)=>item.id);
|
7817
8153
|
else encoding.y = dimensions.slice(0).map((item)=>item.id);
|
8154
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7818
8155
|
if (0 === encoding.color.length) encoding.color = [
|
7819
8156
|
MeasureName
|
7820
8157
|
];
|
8158
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7821
8159
|
if (0 === encoding.detail.length) encoding.detail = [
|
7822
8160
|
MeasureName
|
7823
8161
|
];
|
8162
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(dimensions.map((item)=>item.id));
|
8163
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
7824
8164
|
};
|
7825
8165
|
const heatmap_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7826
|
-
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
7827
8166
|
const colorDims = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding || !item.encoding).map((item)=>item.id));
|
7828
8167
|
if (colorDims.length > 0) encoding.color = [
|
7829
8168
|
colorDims[0]
|
7830
8169
|
];
|
7831
8170
|
};
|
7832
8171
|
const heatmap_generateMeasureEncoding = (measures, encoding)=>{
|
7833
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
7834
8172
|
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7835
8173
|
if (color.length > 0) encoding.color = [
|
7836
8174
|
color[0]
|
7837
8175
|
];
|
7838
|
-
|
8176
|
+
const tooltip = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
8177
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)([
|
8178
|
+
...encoding.tooltip || [],
|
8179
|
+
...tooltip
|
8180
|
+
]);
|
7839
8181
|
};
|
7840
8182
|
const heatmapAdvancedPipeline = [
|
7841
8183
|
initAdvancedVSeed_initAdvancedVSeed,
|
7842
8184
|
default_defaultMeasures_defaultMeasures,
|
7843
8185
|
defaultDimensions_defaultDimensions,
|
7844
8186
|
defaultMeasureName_defaultMeasureName,
|
7845
|
-
|
7846
|
-
|
8187
|
+
encodingAdapter([
|
8188
|
+
defaultEncodingForHeatmap,
|
8189
|
+
buildMeasures
|
8190
|
+
], [
|
8191
|
+
encodingForHeatmap,
|
8192
|
+
buildMeasures
|
8193
|
+
]),
|
7847
8194
|
pivotAdapter([
|
7848
8195
|
reshapeWithEncoding
|
7849
8196
|
], [
|
@@ -7896,6 +8243,107 @@ const cellStyle = (spec)=>{
|
|
7896
8243
|
}
|
7897
8244
|
};
|
7898
8245
|
};
|
8246
|
+
const tooltipHeatmap = (spec, context)=>{
|
8247
|
+
const result = {
|
8248
|
+
...spec
|
8249
|
+
};
|
8250
|
+
const { advancedVSeed } = context;
|
8251
|
+
const { measures, datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed;
|
8252
|
+
const baseConfig = advancedVSeed.config[chartType];
|
8253
|
+
const { tooltip = {
|
8254
|
+
enable: true
|
8255
|
+
} } = baseConfig;
|
8256
|
+
const { enable } = tooltip;
|
8257
|
+
const { foldInfo } = datasetReshapeInfo[0];
|
8258
|
+
result.tooltip = {
|
8259
|
+
visible: enable,
|
8260
|
+
mark: {
|
8261
|
+
title: {
|
8262
|
+
visible: false
|
8263
|
+
},
|
8264
|
+
content: tooltipHeatmap_createMarkContent(encoding.tooltip || [], dimensions, measures, locale, foldInfo)
|
8265
|
+
},
|
8266
|
+
dimension: {
|
8267
|
+
visible: false
|
8268
|
+
}
|
8269
|
+
};
|
8270
|
+
return result;
|
8271
|
+
};
|
8272
|
+
const tooltipHeatmap_createMarkContent = (tooltip, dimensions, measures, locale, foldInfo)=>{
|
8273
|
+
const dims = dimensions.filter((item)=>tooltip.includes(item.id));
|
8274
|
+
const meas = measures.filter((item)=>tooltip.includes(item.id));
|
8275
|
+
const dimContent = dims.map((item)=>({
|
8276
|
+
visible: true,
|
8277
|
+
hasShape: true,
|
8278
|
+
shapeType: 'rectRound',
|
8279
|
+
key: (v)=>{
|
8280
|
+
const datum = v;
|
8281
|
+
if (item.alias || item.id) return item.alias || item.id;
|
8282
|
+
return datum && datum[item.id];
|
8283
|
+
},
|
8284
|
+
value: (v)=>{
|
8285
|
+
const datum = v;
|
8286
|
+
return datum && datum[item.id];
|
8287
|
+
}
|
8288
|
+
}));
|
8289
|
+
const meaContent = meas.map((item)=>({
|
8290
|
+
visible: true,
|
8291
|
+
hasShape: true,
|
8292
|
+
shapeType: 'rectRound',
|
8293
|
+
key: item.alias || item.id,
|
8294
|
+
value: (v)=>{
|
8295
|
+
const datum = v;
|
8296
|
+
if (!datum) return '';
|
8297
|
+
const id = item.id;
|
8298
|
+
if (!datum || !datum[ORIGINAL_DATA] || !datum[ORIGINAL_DATA]) return '';
|
8299
|
+
const originalData = datum[ORIGINAL_DATA];
|
8300
|
+
const value = originalData[id];
|
8301
|
+
const measure = findMeasureById(measures, id);
|
8302
|
+
if (!measure) return String(value);
|
8303
|
+
const { format = {}, autoFormat = true } = measure;
|
8304
|
+
if (!(0, external_remeda_namespaceObject.isEmpty)(format)) {
|
8305
|
+
const formatter = createFormatter(format);
|
8306
|
+
return formatter(value);
|
8307
|
+
}
|
8308
|
+
if (autoFormat) return autoFormatter(value, locale);
|
8309
|
+
return String(value);
|
8310
|
+
}
|
8311
|
+
}));
|
8312
|
+
const foldMeaContent = [
|
8313
|
+
foldInfo
|
8314
|
+
].map((foldInfo)=>({
|
8315
|
+
visible: true,
|
8316
|
+
hasShape: true,
|
8317
|
+
shapeType: 'rectRound',
|
8318
|
+
key: (v)=>{
|
8319
|
+
const { measureId, foldMap } = foldInfo;
|
8320
|
+
const datum = v;
|
8321
|
+
const id = datum[measureId];
|
8322
|
+
return foldMap[id] || id;
|
8323
|
+
},
|
8324
|
+
value: (v)=>{
|
8325
|
+
const { measureId, measureValue } = foldInfo;
|
8326
|
+
const datum = v;
|
8327
|
+
if (!datum) return '';
|
8328
|
+
const value = datum[measureValue];
|
8329
|
+
const id = datum[measureId];
|
8330
|
+
const measure = findMeasureById(measures, id);
|
8331
|
+
if (!measure) return String(value);
|
8332
|
+
const { format = {}, autoFormat = true } = measure;
|
8333
|
+
if (!(0, external_remeda_namespaceObject.isEmpty)(format)) {
|
8334
|
+
const formatter = createFormatter(format);
|
8335
|
+
return formatter(value);
|
8336
|
+
}
|
8337
|
+
if (autoFormat) return autoFormatter(value, locale);
|
8338
|
+
return String(value);
|
8339
|
+
}
|
8340
|
+
}));
|
8341
|
+
return [
|
8342
|
+
...dimContent,
|
8343
|
+
...foldMeaContent,
|
8344
|
+
...meaContent
|
8345
|
+
];
|
8346
|
+
};
|
7899
8347
|
const initHeatmap = (spec, context)=>{
|
7900
8348
|
const result = {
|
7901
8349
|
...spec
|
@@ -7939,7 +8387,7 @@ const heatmap = [
|
|
7939
8387
|
labelColorInversion,
|
7940
8388
|
colorAdapter(discreteLegend, colorLegend),
|
7941
8389
|
colorCellStyleFill(cellStyle),
|
7942
|
-
|
8390
|
+
tooltipHeatmap,
|
7943
8391
|
annotationPoint_annotationPoint,
|
7944
8392
|
annotationVerticalLine_annotationVerticalLine,
|
7945
8393
|
annotationHorizontalLine_annotationHorizontalLine,
|
@@ -7958,7 +8406,7 @@ const pivotHeatmap = [
|
|
7958
8406
|
label_label,
|
7959
8407
|
labelColorInversion,
|
7960
8408
|
discreteLegend,
|
7961
|
-
|
8409
|
+
tooltipHeatmap,
|
7962
8410
|
colorCellStyleFill(cellStyle),
|
7963
8411
|
annotationPoint_annotationPoint,
|
7964
8412
|
annotationVerticalLine_annotationVerticalLine,
|
@@ -9982,7 +10430,9 @@ exports.FoldMeasureName = __webpack_exports__.FoldMeasureName;
|
|
9982
10430
|
exports.FoldMeasureValue = __webpack_exports__.FoldMeasureValue;
|
9983
10431
|
exports.FoldPrimaryMeasureValue = __webpack_exports__.FoldPrimaryMeasureValue;
|
9984
10432
|
exports.FoldSecondaryMeasureValue = __webpack_exports__.FoldSecondaryMeasureValue;
|
10433
|
+
exports.FoldXMeasureId = __webpack_exports__.FoldXMeasureId;
|
9985
10434
|
exports.FoldXMeasureValue = __webpack_exports__.FoldXMeasureValue;
|
10435
|
+
exports.FoldYMeasureId = __webpack_exports__.FoldYMeasureId;
|
9986
10436
|
exports.FoldYMeasureValue = __webpack_exports__.FoldYMeasureValue;
|
9987
10437
|
exports.MeasureName = __webpack_exports__.MeasureName;
|
9988
10438
|
exports.ORIGINAL_DATA = __webpack_exports__.ORIGINAL_DATA;
|
@@ -10192,7 +10642,9 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
10192
10642
|
"FoldMeasureValue",
|
10193
10643
|
"FoldPrimaryMeasureValue",
|
10194
10644
|
"FoldSecondaryMeasureValue",
|
10645
|
+
"FoldXMeasureId",
|
10195
10646
|
"FoldXMeasureValue",
|
10647
|
+
"FoldYMeasureId",
|
10196
10648
|
"FoldYMeasureValue",
|
10197
10649
|
"MeasureName",
|
10198
10650
|
"ORIGINAL_DATA",
|