@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/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,
|
@@ -1097,7 +1099,6 @@
|
|
1097
1099
|
Builder._specPipelineMap.table = tableSpecPipeline;
|
1098
1100
|
};
|
1099
1101
|
const ORIGINAL_DATA = '__OriginalData__';
|
1100
|
-
const Separator = '-';
|
1101
1102
|
const FoldMeasureName = '__MeaName__';
|
1102
1103
|
const FoldMeasureId = '__MeaId__';
|
1103
1104
|
const FoldMeasureValue = '__MeaValue__';
|
@@ -1106,6 +1107,8 @@
|
|
1106
1107
|
const FoldSecondaryMeasureValue = '__MeaSecondaryValue__';
|
1107
1108
|
const FoldXMeasureValue = '__MeaXValue__';
|
1108
1109
|
const FoldYMeasureValue = '__MeaYValue__';
|
1110
|
+
const FoldXMeasureId = '__MeaXId__';
|
1111
|
+
const FoldYMeasureId = '__MeaYId__';
|
1109
1112
|
const XEncoding = '__Dim_X__';
|
1110
1113
|
const YEncoding = '__Dim_Y__';
|
1111
1114
|
const AngleEncoding = '__Dim_Angle__';
|
@@ -1628,6 +1631,25 @@
|
|
1628
1631
|
if (!result.dimensions?.some((dim)=>dim.id === MeasureName)) result.dimensions?.push(MeaName);
|
1629
1632
|
return result;
|
1630
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
|
+
};
|
1631
1653
|
const encodingForLine = (advancedVSeed)=>{
|
1632
1654
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
1633
1655
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -1647,7 +1669,7 @@
|
|
1647
1669
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
1648
1670
|
encoding.x = uniqueDimIds.slice(0, 1);
|
1649
1671
|
encoding.color = uniqueDimIds.slice(1);
|
1650
|
-
encoding.tooltip = uniqueDimIds;
|
1672
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
1651
1673
|
encoding.detail = [];
|
1652
1674
|
encoding.label = [];
|
1653
1675
|
encoding.row = [];
|
@@ -1655,27 +1677,32 @@
|
|
1655
1677
|
};
|
1656
1678
|
const line_generateDimensionEncoding = (dimensions, encoding)=>{
|
1657
1679
|
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
1658
|
-
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
1659
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
1660
1680
|
if (0 === encoding.x.length) encoding.x = [
|
1661
1681
|
dimensions[0].id
|
1662
1682
|
];
|
1683
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
1663
1684
|
if (0 === encoding.color.length) encoding.color = [
|
1664
1685
|
MeasureName
|
1665
1686
|
];
|
1687
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
1666
1688
|
if (0 === encoding.detail.length) encoding.detail = [
|
1667
1689
|
MeasureName
|
1668
1690
|
];
|
1691
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
1692
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
1669
1693
|
};
|
1670
1694
|
const line_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
1671
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
1672
1695
|
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
1673
1696
|
};
|
1674
1697
|
const line_generateMeasureEncoding = (measures, encoding)=>{
|
1675
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
1676
1698
|
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
1677
1699
|
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
1678
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
|
+
]);
|
1679
1706
|
};
|
1680
1707
|
const isMeasureTreeWithChildren = (vseed)=>{
|
1681
1708
|
const { measures } = vseed;
|
@@ -1687,6 +1714,37 @@
|
|
1687
1714
|
if (!measures) return false;
|
1688
1715
|
return measures.some((measure)=>'parentId' in measure);
|
1689
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
|
+
};
|
1690
1748
|
const measureDepth = (measures = [])=>{
|
1691
1749
|
if (!measures) return 0;
|
1692
1750
|
let depth = 1;
|
@@ -1738,7 +1796,7 @@
|
|
1738
1796
|
const buildMeasures = (advancedVSeed, context)=>{
|
1739
1797
|
const { vseed } = context;
|
1740
1798
|
if (isMeasureTreeWithChildren(vseed)) {
|
1741
|
-
advancedVSeed.measures = vseed.measures;
|
1799
|
+
advancedVSeed.measures = normalizeMeasureTree(vseed.measures);
|
1742
1800
|
return advancedVSeed;
|
1743
1801
|
}
|
1744
1802
|
if (isMeasureTreeWithParentId(vseed)) {
|
@@ -1854,7 +1912,7 @@
|
|
1854
1912
|
});
|
1855
1913
|
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dimensions, encoding, {
|
1856
1914
|
foldMeasureId,
|
1857
|
-
separator:
|
1915
|
+
separator: "-",
|
1858
1916
|
colorItemAsId
|
1859
1917
|
});
|
1860
1918
|
return {
|
@@ -2152,8 +2210,13 @@
|
|
2152
2210
|
default_defaultMeasures_defaultMeasures,
|
2153
2211
|
defaultDimensions_defaultDimensions,
|
2154
2212
|
defaultMeasureName_defaultMeasureName,
|
2155
|
-
|
2156
|
-
|
2213
|
+
encodingAdapter([
|
2214
|
+
defaultEncodingForLine,
|
2215
|
+
buildMeasures
|
2216
|
+
], [
|
2217
|
+
encodingForLine,
|
2218
|
+
buildMeasures
|
2219
|
+
]),
|
2157
2220
|
pivotAdapter([
|
2158
2221
|
reshapeWithEncoding
|
2159
2222
|
], [
|
@@ -2428,10 +2491,6 @@
|
|
2428
2491
|
];
|
2429
2492
|
return result;
|
2430
2493
|
};
|
2431
|
-
const ANNOTATION_Z_INDEX = 1000;
|
2432
|
-
const LINEAR_AXIS_INNER_OFFSET_TOP = 7;
|
2433
|
-
const DUAL_AXIS_CHART_COLUMN_Z_INDEX = 1000;
|
2434
|
-
const DUAL_AXIS_CHART_NON_COLUMN_Z_INDEX = 1001;
|
2435
2494
|
const yLinear = (spec, context)=>{
|
2436
2495
|
const result = {
|
2437
2496
|
...spec
|
@@ -2505,7 +2564,7 @@
|
|
2505
2564
|
}
|
2506
2565
|
},
|
2507
2566
|
innerOffset: {
|
2508
|
-
top:
|
2567
|
+
top: 7
|
2509
2568
|
}
|
2510
2569
|
};
|
2511
2570
|
result.axes = [
|
@@ -3077,78 +3136,133 @@
|
|
3077
3136
|
...spec
|
3078
3137
|
};
|
3079
3138
|
const { advancedVSeed } = context;
|
3080
|
-
const { measures, datasetReshapeInfo, chartType, locale, dimensions } = advancedVSeed;
|
3139
|
+
const { measures, datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed;
|
3081
3140
|
const baseConfig = advancedVSeed.config[chartType];
|
3082
3141
|
const { tooltip = {
|
3083
3142
|
enable: true
|
3084
3143
|
} } = baseConfig;
|
3085
3144
|
const { enable } = tooltip;
|
3086
|
-
const {
|
3087
|
-
const { encodingColor: colorName } = datasetReshapeInfo[0].unfoldInfo;
|
3145
|
+
const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
|
3088
3146
|
result.tooltip = {
|
3089
3147
|
visible: enable,
|
3090
3148
|
mark: {
|
3091
3149
|
title: {
|
3092
|
-
visible:
|
3150
|
+
visible: false
|
3093
3151
|
},
|
3094
|
-
content: [
|
3095
|
-
...dimensions.map((item)=>({
|
3096
|
-
visible: true,
|
3097
|
-
hasShape: true,
|
3098
|
-
shapeType: 'rectRound',
|
3099
|
-
key: (datum)=>{
|
3100
|
-
if (item.alias || item.id) return item.alias || item.id;
|
3101
|
-
return datum && datum[item.id];
|
3102
|
-
},
|
3103
|
-
value: (datum)=>datum && datum[item.id]
|
3104
|
-
})),
|
3105
|
-
{
|
3106
|
-
visible: true,
|
3107
|
-
hasShape: true,
|
3108
|
-
key: (datum)=>datum && datum[measureName || colorName] || '',
|
3109
|
-
value: (datum)=>{
|
3110
|
-
if (!datum) return '';
|
3111
|
-
const value = datum[measureValue];
|
3112
|
-
const id = datum[measureId];
|
3113
|
-
const measure = findMeasureById(measures, id);
|
3114
|
-
if (!measure) return String(value);
|
3115
|
-
const { format = {}, autoFormat = true } = measure;
|
3116
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
3117
|
-
const formatter = createFormatter(format);
|
3118
|
-
return formatter(value);
|
3119
|
-
}
|
3120
|
-
if (autoFormat) return autoFormatter(value, locale);
|
3121
|
-
return String(value);
|
3122
|
-
}
|
3123
|
-
}
|
3124
|
-
]
|
3152
|
+
content: createMarkContent(encoding.tooltip || [], dimensions, measures, locale, foldInfo, unfoldInfo)
|
3125
3153
|
},
|
3126
3154
|
dimension: {
|
3127
|
-
|
3128
|
-
|
3129
|
-
|
3130
|
-
|
3131
|
-
value: (datum)=>{
|
3132
|
-
if (!datum) return '';
|
3133
|
-
const value = datum[measureValue];
|
3134
|
-
const id = datum[measureId];
|
3135
|
-
const measure = findMeasureById(measures, id);
|
3136
|
-
if (!measure) return String(value);
|
3137
|
-
const { format = {}, autoFormat = true } = measure;
|
3138
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
3139
|
-
const formatter = createFormatter(format);
|
3140
|
-
return formatter(value);
|
3141
|
-
}
|
3142
|
-
if (autoFormat) return autoFormatter(value, locale);
|
3143
|
-
return String(value);
|
3144
|
-
},
|
3145
|
-
shapeType: 'rectRound'
|
3146
|
-
}
|
3147
|
-
]
|
3155
|
+
title: {
|
3156
|
+
visible: true
|
3157
|
+
},
|
3158
|
+
content: createDimensionContent(measures, foldInfo, unfoldInfo, locale)
|
3148
3159
|
}
|
3149
3160
|
};
|
3150
3161
|
return result;
|
3151
3162
|
};
|
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
|
+
};
|
3152
3266
|
const isSubset = (sub, obj)=>Object.entries(sub).every(([key, value])=>{
|
3153
3267
|
if ('string' == typeof value) return obj[key] === value;
|
3154
3268
|
if ('number' == typeof value) return obj[key] === value;
|
@@ -3167,7 +3281,7 @@
|
|
3167
3281
|
const dataset = advancedVSeed.dataset.flat();
|
3168
3282
|
const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
|
3169
3283
|
return selectedData.map((datum)=>({
|
3170
|
-
zIndex:
|
3284
|
+
zIndex: 1000,
|
3171
3285
|
regionRelative: true,
|
3172
3286
|
position: (data, context)=>{
|
3173
3287
|
const targetDatum = data.find((item)=>isSubset(datum, item));
|
@@ -3243,7 +3357,7 @@
|
|
3243
3357
|
const dataset = advancedVSeed.dataset.flat();
|
3244
3358
|
const generateOneMarkLine = (x)=>({
|
3245
3359
|
x: x,
|
3246
|
-
zIndex:
|
3360
|
+
zIndex: 1000,
|
3247
3361
|
line: {
|
3248
3362
|
style: {
|
3249
3363
|
visible: lineVisible,
|
@@ -3341,7 +3455,7 @@
|
|
3341
3455
|
const dataset = advancedVSeed.dataset.flat();
|
3342
3456
|
const generateOneMarkLine = (y)=>({
|
3343
3457
|
y,
|
3344
|
-
zIndex:
|
3458
|
+
zIndex: 1000,
|
3345
3459
|
line: {
|
3346
3460
|
style: {
|
3347
3461
|
visible: lineVisible,
|
@@ -3442,7 +3556,7 @@
|
|
3442
3556
|
const labelPosition = positionMap[textPosition || 'top'];
|
3443
3557
|
const isBottom = labelPosition.toLocaleLowerCase().includes('bottom');
|
3444
3558
|
return {
|
3445
|
-
zIndex:
|
3559
|
+
zIndex: 1000,
|
3446
3560
|
regionRelative: true,
|
3447
3561
|
positions: (data, context)=>{
|
3448
3562
|
const positionData = data.filter((item)=>selectedData.some((datum)=>isSubset(datum, item)));
|
@@ -4058,6 +4172,17 @@
|
|
4058
4172
|
Builder._advancedPipelineMap.line = lineAdvancedPipeline;
|
4059
4173
|
Builder._specPipelineMap.line = lineSpecPipeline;
|
4060
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
|
+
};
|
4061
4186
|
const encodingForColumn = (advancedVSeed)=>{
|
4062
4187
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
4063
4188
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -4079,43 +4204,52 @@
|
|
4079
4204
|
encoding.x = uniqueDimIds.slice(0, 1);
|
4080
4205
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
4081
4206
|
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
4082
|
-
encoding.tooltip = uniqueDimIds;
|
4207
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
4083
4208
|
encoding.label = [];
|
4084
4209
|
encoding.row = [];
|
4085
4210
|
encoding.column = [];
|
4086
4211
|
};
|
4087
4212
|
const column_generateDimensionEncoding = (dimensions, encoding)=>{
|
4088
4213
|
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
4089
|
-
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4090
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
4091
4214
|
if (0 === encoding.x.length) encoding.x = [
|
4092
4215
|
dimensions[0].id
|
4093
4216
|
];
|
4217
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4094
4218
|
if (0 === encoding.color.length) encoding.color = [
|
4095
4219
|
MeasureName
|
4096
4220
|
];
|
4221
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
4097
4222
|
if (0 === encoding.detail.length) encoding.detail = [
|
4098
4223
|
MeasureName
|
4099
4224
|
];
|
4225
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
4226
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
4100
4227
|
};
|
4101
4228
|
const column_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
4102
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
4103
4229
|
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4104
4230
|
};
|
4105
4231
|
const column_generateMeasureEncoding = (measures, encoding)=>{
|
4106
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
4107
4232
|
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4108
4233
|
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4109
4234
|
if (color.length > 0) encoding.color = color;
|
4110
|
-
|
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
|
+
]);
|
4111
4240
|
};
|
4112
4241
|
const columnAdvancedPipeline = [
|
4113
4242
|
initAdvancedVSeed_initAdvancedVSeed,
|
4114
4243
|
default_defaultMeasures_defaultMeasures,
|
4115
4244
|
defaultDimensions_defaultDimensions,
|
4116
4245
|
defaultMeasureName_defaultMeasureName,
|
4117
|
-
|
4118
|
-
|
4246
|
+
encodingAdapter([
|
4247
|
+
defaultEncodingForColumn,
|
4248
|
+
buildMeasures
|
4249
|
+
], [
|
4250
|
+
encodingForColumn,
|
4251
|
+
buildMeasures
|
4252
|
+
]),
|
4119
4253
|
pivotAdapter([
|
4120
4254
|
reshapeWithEncoding
|
4121
4255
|
], [
|
@@ -4312,7 +4446,7 @@
|
|
4312
4446
|
const dataset = advancedVSeed.dataset.flat();
|
4313
4447
|
const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
|
4314
4448
|
return {
|
4315
|
-
zIndex:
|
4449
|
+
zIndex: 1000,
|
4316
4450
|
regionRelative: true,
|
4317
4451
|
positions: (data, context)=>{
|
4318
4452
|
const positionData = data.filter((item)=>selectedData.some((datum)=>isSubset(datum, item)));
|
@@ -4478,8 +4612,13 @@
|
|
4478
4612
|
default_defaultMeasures_defaultMeasures,
|
4479
4613
|
defaultDimensions_defaultDimensions,
|
4480
4614
|
defaultMeasureName_defaultMeasureName,
|
4481
|
-
|
4482
|
-
|
4615
|
+
encodingAdapter([
|
4616
|
+
defaultEncodingForColumn,
|
4617
|
+
buildMeasures
|
4618
|
+
], [
|
4619
|
+
encodingForColumn,
|
4620
|
+
buildMeasures
|
4621
|
+
]),
|
4483
4622
|
pivotAdapter([
|
4484
4623
|
reshapeWithEncoding
|
4485
4624
|
], [
|
@@ -4577,8 +4716,13 @@
|
|
4577
4716
|
default_defaultMeasures_defaultMeasures,
|
4578
4717
|
defaultDimensions_defaultDimensions,
|
4579
4718
|
defaultMeasureName_defaultMeasureName,
|
4580
|
-
|
4581
|
-
|
4719
|
+
encodingAdapter([
|
4720
|
+
defaultEncodingForColumn,
|
4721
|
+
buildMeasures
|
4722
|
+
], [
|
4723
|
+
encodingForColumn,
|
4724
|
+
buildMeasures
|
4725
|
+
]),
|
4582
4726
|
pivotAdapter([
|
4583
4727
|
reshapeWithEncoding
|
4584
4728
|
], [
|
@@ -4655,6 +4799,17 @@
|
|
4655
4799
|
Builder._advancedPipelineMap.columnPercent = columnPercentAdvancedPipeline;
|
4656
4800
|
Builder._specPipelineMap.columnPercent = columnPercentSpecPipeline;
|
4657
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
|
+
};
|
4658
4813
|
const encodingForBar = (advancedVSeed)=>{
|
4659
4814
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
4660
4815
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -4676,35 +4831,39 @@
|
|
4676
4831
|
encoding.y = uniqueDimIds.slice(0, 1);
|
4677
4832
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
4678
4833
|
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
4679
|
-
encoding.tooltip = uniqueDimIds;
|
4834
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
4680
4835
|
encoding.label = [];
|
4681
4836
|
encoding.row = [];
|
4682
4837
|
encoding.column = [];
|
4683
4838
|
};
|
4684
4839
|
const bar_generateDimensionEncoding = (dimensions, encoding)=>{
|
4685
4840
|
encoding.y = chunk_QJLMYOTX_i(dimensions.filter((item)=>'yAxis' === item.encoding).map((item)=>item.id));
|
4686
|
-
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4687
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
4688
4841
|
if (0 === encoding.y.length) encoding.y = [
|
4689
4842
|
dimensions[0].id
|
4690
4843
|
];
|
4844
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4691
4845
|
if (0 === encoding.color.length) encoding.color = [
|
4692
4846
|
MeasureName
|
4693
4847
|
];
|
4848
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
4694
4849
|
if (0 === encoding.detail.length) encoding.detail = [
|
4695
4850
|
MeasureName
|
4696
4851
|
];
|
4852
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
4853
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
4697
4854
|
};
|
4698
4855
|
const bar_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
4699
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
4700
4856
|
encoding.x = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4701
4857
|
};
|
4702
4858
|
const bar_generateMeasureEncoding = (measures, encoding)=>{
|
4703
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
4704
4859
|
encoding.x = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4705
4860
|
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4706
4861
|
if (color.length > 0) encoding.color = color;
|
4707
|
-
|
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
|
+
]);
|
4708
4867
|
};
|
4709
4868
|
const sortYBandAxis = (advancedVSeed, context)=>{
|
4710
4869
|
const result = {
|
@@ -4727,8 +4886,13 @@
|
|
4727
4886
|
default_defaultMeasures_defaultMeasures,
|
4728
4887
|
defaultDimensions_defaultDimensions,
|
4729
4888
|
defaultMeasureName_defaultMeasureName,
|
4730
|
-
|
4731
|
-
|
4889
|
+
encodingAdapter([
|
4890
|
+
defaultEncodingForBar,
|
4891
|
+
buildMeasures
|
4892
|
+
], [
|
4893
|
+
encodingForBar,
|
4894
|
+
buildMeasures
|
4895
|
+
]),
|
4732
4896
|
pivotAdapter([
|
4733
4897
|
reshapeWithEncoding
|
4734
4898
|
], [
|
@@ -4879,7 +5043,7 @@
|
|
4879
5043
|
}
|
4880
5044
|
},
|
4881
5045
|
innerOffset: {
|
4882
|
-
right:
|
5046
|
+
right: 7
|
4883
5047
|
}
|
4884
5048
|
};
|
4885
5049
|
result.axes = [
|
@@ -5082,8 +5246,13 @@
|
|
5082
5246
|
default_defaultMeasures_defaultMeasures,
|
5083
5247
|
defaultDimensions_defaultDimensions,
|
5084
5248
|
defaultMeasureName_defaultMeasureName,
|
5085
|
-
|
5086
|
-
|
5249
|
+
encodingAdapter([
|
5250
|
+
defaultEncodingForBar,
|
5251
|
+
buildMeasures
|
5252
|
+
], [
|
5253
|
+
encodingForBar,
|
5254
|
+
buildMeasures
|
5255
|
+
]),
|
5087
5256
|
pivotAdapter([
|
5088
5257
|
reshapeWithEncoding
|
5089
5258
|
], [
|
@@ -5180,8 +5349,13 @@
|
|
5180
5349
|
default_defaultMeasures_defaultMeasures,
|
5181
5350
|
defaultDimensions_defaultDimensions,
|
5182
5351
|
defaultMeasureName_defaultMeasureName,
|
5183
|
-
|
5184
|
-
|
5352
|
+
encodingAdapter([
|
5353
|
+
defaultEncodingForBar,
|
5354
|
+
buildMeasures
|
5355
|
+
], [
|
5356
|
+
encodingForBar,
|
5357
|
+
buildMeasures
|
5358
|
+
]),
|
5185
5359
|
pivotAdapter([
|
5186
5360
|
reshapeWithEncoding
|
5187
5361
|
], [
|
@@ -5253,8 +5427,13 @@
|
|
5253
5427
|
default_defaultMeasures_defaultMeasures,
|
5254
5428
|
defaultDimensions_defaultDimensions,
|
5255
5429
|
defaultMeasureName_defaultMeasureName,
|
5256
|
-
|
5257
|
-
|
5430
|
+
encodingAdapter([
|
5431
|
+
defaultEncodingForLine,
|
5432
|
+
buildMeasures
|
5433
|
+
], [
|
5434
|
+
encodingForLine,
|
5435
|
+
buildMeasures
|
5436
|
+
]),
|
5258
5437
|
pivotAdapter([
|
5259
5438
|
reshapeWithEncoding
|
5260
5439
|
], [
|
@@ -5413,8 +5592,13 @@
|
|
5413
5592
|
default_defaultMeasures_defaultMeasures,
|
5414
5593
|
defaultDimensions_defaultDimensions,
|
5415
5594
|
defaultMeasureName_defaultMeasureName,
|
5416
|
-
|
5417
|
-
|
5595
|
+
encodingAdapter([
|
5596
|
+
defaultEncodingForLine,
|
5597
|
+
buildMeasures
|
5598
|
+
], [
|
5599
|
+
encodingForLine,
|
5600
|
+
buildMeasures
|
5601
|
+
]),
|
5418
5602
|
pivotAdapter([
|
5419
5603
|
reshapeWithEncoding
|
5420
5604
|
], [
|
@@ -5488,6 +5672,17 @@
|
|
5488
5672
|
Builder._advancedPipelineMap.areaPercent = areaPercentAdvancedPipeline;
|
5489
5673
|
Builder._specPipelineMap.areaPercent = areaPercentSpecPipeline;
|
5490
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
|
+
};
|
5491
5686
|
const encodingForScatter = (advancedVSeed)=>{
|
5492
5687
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
5493
5688
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -5508,23 +5703,24 @@
|
|
5508
5703
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensionsWithoutMeasureName.map((d)=>d.id));
|
5509
5704
|
encoding.color = uniqueDimIds.slice(0);
|
5510
5705
|
encoding.detail = uniqueDimIds.slice(0);
|
5511
|
-
encoding.tooltip = uniqueDimIds;
|
5706
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
5512
5707
|
encoding.label = [];
|
5513
5708
|
encoding.row = [];
|
5514
5709
|
encoding.column = [];
|
5515
5710
|
};
|
5516
5711
|
const scatter_generateDimensionEncoding = (dimensions, encoding)=>{
|
5517
5712
|
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5518
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
5519
5713
|
if (0 === encoding.color.length) encoding.color = [
|
5520
5714
|
MeasureName
|
5521
5715
|
];
|
5716
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
5522
5717
|
if (0 === encoding.detail.length) encoding.detail = [
|
5523
5718
|
MeasureName
|
5524
5719
|
];
|
5720
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
5721
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
5525
5722
|
};
|
5526
5723
|
const scatter_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
5527
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
5528
5724
|
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5529
5725
|
};
|
5530
5726
|
const scatter_generateMeasureEncoding = (measures, encoding)=>{
|
@@ -5534,6 +5730,11 @@
|
|
5534
5730
|
if (color.length > 0) encoding.color = [
|
5535
5731
|
color[0]
|
5536
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
|
+
]);
|
5537
5738
|
};
|
5538
5739
|
const buildMeasuresForScatter = (advancedVSeed, context)=>{
|
5539
5740
|
const { vseed } = context;
|
@@ -5564,6 +5765,7 @@
|
|
5564
5765
|
else if (0 !== index) yMeasures.push(item);
|
5565
5766
|
else xMeasures.push(item);
|
5566
5767
|
}
|
5768
|
+
if (0 === yMeasures.length && xMeasures.length > 0) yMeasures.push(xMeasures[0]);
|
5567
5769
|
return [
|
5568
5770
|
{
|
5569
5771
|
id: 'scatterMeasures',
|
@@ -5652,6 +5854,7 @@
|
|
5652
5854
|
if (xMeasures && xMeasures.children) {
|
5653
5855
|
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, T(dimensions, (d)=>d.id), T(xMeasures.children, (d)=>d.id), encoding, {
|
5654
5856
|
foldMeasureValue: FoldXMeasureValue,
|
5857
|
+
foldMeasureId: FoldXMeasureId,
|
5655
5858
|
colorItemAsId: true,
|
5656
5859
|
colorMeasureId: getColorMeasureId(advancedVSeed)
|
5657
5860
|
});
|
@@ -5662,6 +5865,7 @@
|
|
5662
5865
|
if (yMeasures && yMeasures.children) {
|
5663
5866
|
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(datasets[0], T(dimensions, (d)=>d.id), T(yMeasures.children, (d)=>d.id), encoding, {
|
5664
5867
|
foldMeasureValue: FoldYMeasureValue,
|
5868
|
+
foldMeasureId: FoldYMeasureId,
|
5665
5869
|
colorItemAsId: true,
|
5666
5870
|
colorMeasureId: getColorMeasureId(advancedVSeed)
|
5667
5871
|
});
|
@@ -5767,8 +5971,13 @@
|
|
5767
5971
|
default_defaultMeasures_defaultMeasures,
|
5768
5972
|
defaultDimensions_defaultDimensions,
|
5769
5973
|
defaultMeasureName_defaultMeasureName,
|
5770
|
-
|
5771
|
-
|
5974
|
+
encodingAdapter([
|
5975
|
+
defaultEncodingForScatter,
|
5976
|
+
buildMeasuresForScatter
|
5977
|
+
], [
|
5978
|
+
encodingForScatter,
|
5979
|
+
buildMeasuresForScatter
|
5980
|
+
]),
|
5772
5981
|
pivotAdapter([
|
5773
5982
|
reshapeWithScatterEncoding
|
5774
5983
|
], [
|
@@ -5814,6 +6023,105 @@
|
|
5814
6023
|
}
|
5815
6024
|
};
|
5816
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
|
+
};
|
5817
6125
|
const horizontalCrosshairLine = (spec, context)=>{
|
5818
6126
|
const result = {
|
5819
6127
|
...spec
|
@@ -5867,7 +6175,7 @@
|
|
5867
6175
|
xLinear,
|
5868
6176
|
yLinear,
|
5869
6177
|
label_label,
|
5870
|
-
|
6178
|
+
tooltipScatter,
|
5871
6179
|
colorAdapter(discreteLegend, colorLegend),
|
5872
6180
|
verticalCrosshairLine,
|
5873
6181
|
horizontalCrosshairLine,
|
@@ -5892,7 +6200,7 @@
|
|
5892
6200
|
xLinear,
|
5893
6201
|
yLinear,
|
5894
6202
|
label_label,
|
5895
|
-
|
6203
|
+
tooltipScatter,
|
5896
6204
|
verticalCrosshairLine,
|
5897
6205
|
horizontalCrosshairLine,
|
5898
6206
|
colorPointStyleFill(pointStyle_pointStyle),
|
@@ -5913,6 +6221,17 @@
|
|
5913
6221
|
Builder._advancedPipelineMap.scatter = scatterAdvancedPipeline;
|
5914
6222
|
Builder._specPipelineMap.scatter = scatterSpecPipeline;
|
5915
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
|
+
};
|
5916
6235
|
const encodingForDualAxis = (advancedVSeed)=>{
|
5917
6236
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
5918
6237
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -5934,35 +6253,39 @@
|
|
5934
6253
|
encoding.x = uniqueDimIds.slice(0, 1);
|
5935
6254
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
5936
6255
|
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
5937
|
-
encoding.tooltip = uniqueDimIds;
|
6256
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
5938
6257
|
encoding.label = [];
|
5939
6258
|
encoding.row = [];
|
5940
6259
|
encoding.column = [];
|
5941
6260
|
};
|
5942
6261
|
const dualAxis_generateDimensionEncoding = (dimensions, encoding)=>{
|
5943
6262
|
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
5944
|
-
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5945
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
5946
6263
|
if (0 === encoding.x.length) encoding.x = [
|
5947
6264
|
dimensions[0].id
|
5948
6265
|
];
|
6266
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5949
6267
|
if (0 === encoding.color.length) encoding.color = [
|
5950
6268
|
MeasureName
|
5951
6269
|
];
|
6270
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
5952
6271
|
if (0 === encoding.detail.length) encoding.detail = [
|
5953
6272
|
MeasureName
|
5954
6273
|
];
|
6274
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
6275
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
5955
6276
|
};
|
5956
6277
|
const dualAxis_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
5957
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
5958
6278
|
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5959
6279
|
};
|
5960
6280
|
const dualAxis_generateMeasureEncoding = (measures, encoding)=>{
|
5961
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
5962
6281
|
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5963
6282
|
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5964
6283
|
if (color.length > 0) encoding.color = color;
|
5965
|
-
|
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
|
+
]);
|
5966
6289
|
};
|
5967
6290
|
const buildMeasuresForDualAxis = (advancedVSeed, context)=>{
|
5968
6291
|
const { vseed } = context;
|
@@ -6219,8 +6542,13 @@
|
|
6219
6542
|
default_defaultMeasures_defaultMeasures,
|
6220
6543
|
defaultDimensions_defaultDimensions,
|
6221
6544
|
defaultMeasureName_defaultMeasureName,
|
6222
|
-
|
6223
|
-
|
6545
|
+
encodingAdapter([
|
6546
|
+
defaultEncodingForDualAxis,
|
6547
|
+
buildMeasuresForDualAxis
|
6548
|
+
], [
|
6549
|
+
encodingForDualAxis,
|
6550
|
+
buildMeasuresForDualAxis
|
6551
|
+
]),
|
6224
6552
|
pivotAdapter([
|
6225
6553
|
reshapeWithDualEncoding
|
6226
6554
|
], [
|
@@ -6312,7 +6640,7 @@
|
|
6312
6640
|
const dualChartTypePrimary = (spec, context)=>{
|
6313
6641
|
const result = {
|
6314
6642
|
...spec,
|
6315
|
-
zIndex:
|
6643
|
+
zIndex: 1001
|
6316
6644
|
};
|
6317
6645
|
const { advancedVSeed, vseed } = context;
|
6318
6646
|
const { chartType } = vseed;
|
@@ -6332,7 +6660,7 @@
|
|
6332
6660
|
break;
|
6333
6661
|
case 'column':
|
6334
6662
|
result.type = 'bar';
|
6335
|
-
result.zIndex =
|
6663
|
+
result.zIndex = 1000;
|
6336
6664
|
break;
|
6337
6665
|
case 'columnParallel':
|
6338
6666
|
{
|
@@ -6343,7 +6671,7 @@
|
|
6343
6671
|
datasetReshapeInfo[0].unfoldInfo.encodingDetail
|
6344
6672
|
];
|
6345
6673
|
columnSpec.type = 'bar';
|
6346
|
-
result.zIndex =
|
6674
|
+
result.zIndex = 1000;
|
6347
6675
|
break;
|
6348
6676
|
}
|
6349
6677
|
case 'columnPercent':
|
@@ -6368,7 +6696,7 @@
|
|
6368
6696
|
const dualChartTypeSecondary = (spec, context)=>{
|
6369
6697
|
const result = {
|
6370
6698
|
...spec,
|
6371
|
-
zIndex:
|
6699
|
+
zIndex: 1001
|
6372
6700
|
};
|
6373
6701
|
const { advancedVSeed, vseed } = context;
|
6374
6702
|
const { chartType } = vseed;
|
@@ -6388,7 +6716,7 @@
|
|
6388
6716
|
break;
|
6389
6717
|
case 'column':
|
6390
6718
|
result.type = 'bar';
|
6391
|
-
result.zIndex =
|
6719
|
+
result.zIndex = 1000;
|
6392
6720
|
break;
|
6393
6721
|
case 'columnParallel':
|
6394
6722
|
{
|
@@ -6399,7 +6727,7 @@
|
|
6399
6727
|
datasetReshapeInfo[0].unfoldInfo.encodingDetail
|
6400
6728
|
];
|
6401
6729
|
columnSpec.type = 'bar';
|
6402
|
-
result.zIndex =
|
6730
|
+
result.zIndex = 1000;
|
6403
6731
|
break;
|
6404
6732
|
}
|
6405
6733
|
case 'columnPercent':
|
@@ -6577,7 +6905,7 @@
|
|
6577
6905
|
...spec
|
6578
6906
|
};
|
6579
6907
|
const { advancedVSeed } = context;
|
6580
|
-
const { measures, datasetReshapeInfo, chartType, locale, dimensions } = advancedVSeed;
|
6908
|
+
const { measures, datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed;
|
6581
6909
|
const baseConfig = advancedVSeed.config[chartType];
|
6582
6910
|
const { tooltip = {
|
6583
6911
|
enable: true
|
@@ -6585,68 +6913,19 @@
|
|
6585
6913
|
const { enable } = tooltip;
|
6586
6914
|
const foldInfoList = datasetReshapeInfo[0].foldInfoList;
|
6587
6915
|
const unfoldInfo = datasetReshapeInfo[0].unfoldInfo;
|
6588
|
-
const { measureId, measureValue, measureName } = foldInfoList[0];
|
6589
|
-
const { encodingColor: colorName } = unfoldInfo;
|
6590
6916
|
result.tooltip = {
|
6591
6917
|
visible: enable,
|
6592
6918
|
mark: {
|
6593
6919
|
title: {
|
6594
|
-
visible:
|
6920
|
+
visible: false
|
6595
6921
|
},
|
6596
|
-
content: [
|
6597
|
-
...dimensions.map((item)=>({
|
6598
|
-
visible: true,
|
6599
|
-
hasShape: true,
|
6600
|
-
shapeType: 'rectRound',
|
6601
|
-
key: (datum)=>{
|
6602
|
-
if (item.alias || item.id) return item.alias || item.id;
|
6603
|
-
return datum && datum[item.id];
|
6604
|
-
},
|
6605
|
-
value: (datum)=>datum && datum[item.id]
|
6606
|
-
})),
|
6607
|
-
{
|
6608
|
-
visible: true,
|
6609
|
-
hasShape: true,
|
6610
|
-
key: (datum)=>datum && datum[measureName || colorName] || '',
|
6611
|
-
value: (datum)=>{
|
6612
|
-
if (!datum) return '';
|
6613
|
-
const value = datum[measureValue];
|
6614
|
-
const id = datum[measureId];
|
6615
|
-
const measure = findMeasureById(measures, id);
|
6616
|
-
if (!measure) return String(value);
|
6617
|
-
const { format = {}, autoFormat = true } = measure;
|
6618
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
6619
|
-
const formatter = createFormatter(format);
|
6620
|
-
return formatter(value);
|
6621
|
-
}
|
6622
|
-
if (autoFormat) return autoFormatter(value, locale);
|
6623
|
-
return String(value);
|
6624
|
-
}
|
6625
|
-
}
|
6626
|
-
]
|
6922
|
+
content: createMarkContent(encoding.tooltip || [], dimensions, measures, locale, foldInfoList[0], unfoldInfo)
|
6627
6923
|
},
|
6628
6924
|
dimension: {
|
6629
|
-
|
6630
|
-
|
6631
|
-
|
6632
|
-
|
6633
|
-
value: (datum)=>{
|
6634
|
-
if (!datum) return '';
|
6635
|
-
const value = datum[measureValue];
|
6636
|
-
const id = datum[measureId];
|
6637
|
-
const measure = findMeasureById(measures, id);
|
6638
|
-
if (!measure) return String(value);
|
6639
|
-
const { format = {}, autoFormat = true } = measure;
|
6640
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
6641
|
-
const formatter = createFormatter(format);
|
6642
|
-
return formatter(value);
|
6643
|
-
}
|
6644
|
-
if (autoFormat) return autoFormatter(value, locale);
|
6645
|
-
return String(value);
|
6646
|
-
},
|
6647
|
-
shapeType: 'rectRound'
|
6648
|
-
}
|
6649
|
-
]
|
6925
|
+
title: {
|
6926
|
+
visible: true
|
6927
|
+
},
|
6928
|
+
content: createDimensionContent(measures, foldInfoList[0], unfoldInfo, locale)
|
6650
6929
|
}
|
6651
6930
|
};
|
6652
6931
|
return result;
|
@@ -6656,7 +6935,7 @@
|
|
6656
6935
|
...spec
|
6657
6936
|
};
|
6658
6937
|
const { advancedVSeed } = context;
|
6659
|
-
const { measures, datasetReshapeInfo, chartType, locale, dimensions } = advancedVSeed;
|
6938
|
+
const { measures, datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed;
|
6660
6939
|
const baseConfig = advancedVSeed.config[chartType];
|
6661
6940
|
const { tooltip = {
|
6662
6941
|
enable: true
|
@@ -6665,68 +6944,19 @@
|
|
6665
6944
|
if (chunk_JK3VNB42_n(datasetReshapeInfo[0].foldInfoList?.[1])) return result;
|
6666
6945
|
const foldInfoList = datasetReshapeInfo[0].foldInfoList;
|
6667
6946
|
const unfoldInfo = datasetReshapeInfo[0].unfoldInfo;
|
6668
|
-
const { measureId, measureValue, measureName } = foldInfoList[1];
|
6669
|
-
const { encodingColorId } = unfoldInfo;
|
6670
6947
|
result.tooltip = {
|
6671
6948
|
visible: enable,
|
6672
6949
|
mark: {
|
6673
6950
|
title: {
|
6674
|
-
visible:
|
6951
|
+
visible: false
|
6675
6952
|
},
|
6676
|
-
content: [
|
6677
|
-
...dimensions.map((item)=>({
|
6678
|
-
visible: true,
|
6679
|
-
hasShape: true,
|
6680
|
-
shapeType: 'rectRound',
|
6681
|
-
key: (datum)=>{
|
6682
|
-
if (item.alias || item.id) return item.alias || item.id;
|
6683
|
-
return datum && datum[item.id];
|
6684
|
-
},
|
6685
|
-
value: (datum)=>datum && datum[item.id]
|
6686
|
-
})),
|
6687
|
-
{
|
6688
|
-
visible: true,
|
6689
|
-
hasShape: true,
|
6690
|
-
key: (datum)=>datum && datum[measureName || encodingColorId] || '',
|
6691
|
-
value: (datum)=>{
|
6692
|
-
if (!datum) return '';
|
6693
|
-
const value = datum[measureValue];
|
6694
|
-
const id = datum[measureId];
|
6695
|
-
const measure = findMeasureById(measures, id);
|
6696
|
-
if (!measure) return String(value);
|
6697
|
-
const { format = {}, autoFormat = true } = measure;
|
6698
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
6699
|
-
const formatter = createFormatter(format);
|
6700
|
-
return formatter(value);
|
6701
|
-
}
|
6702
|
-
if (autoFormat) return autoFormatter(value, locale);
|
6703
|
-
return String(value);
|
6704
|
-
}
|
6705
|
-
}
|
6706
|
-
]
|
6953
|
+
content: createMarkContent(encoding.tooltip || [], dimensions, measures, locale, foldInfoList[1], unfoldInfo)
|
6707
6954
|
},
|
6708
6955
|
dimension: {
|
6709
|
-
|
6710
|
-
|
6711
|
-
|
6712
|
-
|
6713
|
-
value: (datum)=>{
|
6714
|
-
if (!datum) return '';
|
6715
|
-
const value = datum[measureValue];
|
6716
|
-
const id = datum[measureId];
|
6717
|
-
const measure = findMeasureById(measures, id);
|
6718
|
-
if (!measure) return String(value);
|
6719
|
-
const { format = {}, autoFormat = true } = measure;
|
6720
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
6721
|
-
const formatter = createFormatter(format);
|
6722
|
-
return formatter(value);
|
6723
|
-
}
|
6724
|
-
if (autoFormat) return autoFormatter(value, locale);
|
6725
|
-
return String(value);
|
6726
|
-
},
|
6727
|
-
shapeType: 'rectRound'
|
6728
|
-
}
|
6729
|
-
]
|
6956
|
+
title: {
|
6957
|
+
visible: true
|
6958
|
+
},
|
6959
|
+
content: createDimensionContent(measures, foldInfoList[1], unfoldInfo, locale)
|
6730
6960
|
}
|
6731
6961
|
};
|
6732
6962
|
return result;
|
@@ -6743,7 +6973,8 @@
|
|
6743
6973
|
const yAxisConfig = Array.isArray(primaryYAxis) ? primaryYAxis[index] || primaryYAxis[0] : primaryYAxis;
|
6744
6974
|
const alignTicks = advancedVSeed.config?.[chartType]?.alignTicks;
|
6745
6975
|
const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks;
|
6746
|
-
if (foldInfoList?.[0]
|
6976
|
+
if (chunk_JK3VNB42_n(foldInfoList?.[0])) return result;
|
6977
|
+
const isEmptySecondary = chunk_VCYTMP4D_n(foldInfoList?.[0].foldMap);
|
6747
6978
|
const id = `${reshapeInfoId}-primary-axis`;
|
6748
6979
|
const seriesIds = [
|
6749
6980
|
`${reshapeInfoId}-primary-series`,
|
@@ -6766,7 +6997,7 @@
|
|
6766
6997
|
}
|
6767
6998
|
const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min, log, logBase = 10 } = yAxisConfig;
|
6768
6999
|
const linearAxis = {
|
6769
|
-
visible,
|
7000
|
+
visible: isEmptySecondary ? false : visible,
|
6770
7001
|
id,
|
6771
7002
|
seriesId,
|
6772
7003
|
type: log ? 'log' : 'linear',
|
@@ -6819,7 +7050,7 @@
|
|
6819
7050
|
}
|
6820
7051
|
},
|
6821
7052
|
innerOffset: {
|
6822
|
-
top:
|
7053
|
+
top: 7
|
6823
7054
|
}
|
6824
7055
|
};
|
6825
7056
|
result.axes = [
|
@@ -6841,6 +7072,8 @@
|
|
6841
7072
|
const alignTicks = advancedVSeed.config?.[chartType]?.alignTicks;
|
6842
7073
|
const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks;
|
6843
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;
|
6844
7077
|
const sync = {
|
6845
7078
|
axisId: `${reshapeInfoId}-primary-axis`,
|
6846
7079
|
zeroAlign: true
|
@@ -6868,7 +7101,7 @@
|
|
6868
7101
|
}
|
6869
7102
|
const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min, log, logBase = 10 } = yAxisConfig;
|
6870
7103
|
const linearAxis = {
|
6871
|
-
visible,
|
7104
|
+
visible: isEmptySecondary ? false : visible,
|
6872
7105
|
id,
|
6873
7106
|
seriesId,
|
6874
7107
|
sync,
|
@@ -6908,7 +7141,7 @@
|
|
6908
7141
|
}
|
6909
7142
|
},
|
6910
7143
|
grid: {
|
6911
|
-
visible: grid?.visible,
|
7144
|
+
visible: onlySecondary ? true : grid?.visible,
|
6912
7145
|
style: {
|
6913
7146
|
lineWidth: grid?.gridWidth,
|
6914
7147
|
stroke: grid?.gridColor
|
@@ -6922,7 +7155,7 @@
|
|
6922
7155
|
}
|
6923
7156
|
},
|
6924
7157
|
innerOffset: {
|
6925
|
-
top:
|
7158
|
+
top: 7
|
6926
7159
|
}
|
6927
7160
|
};
|
6928
7161
|
result.axes = [
|
@@ -7053,6 +7286,17 @@
|
|
7053
7286
|
Builder._advancedPipelineMap.dualAxis = dualAxisAdvancedPipeline;
|
7054
7287
|
Builder._specPipelineMap.dualAxis = dualAxisSpecPipeline;
|
7055
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
|
+
};
|
7056
7300
|
const encodingForPie = (advancedVSeed)=>{
|
7057
7301
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7058
7302
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -7072,38 +7316,48 @@
|
|
7072
7316
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
7073
7317
|
encoding.color = uniqueDimIds.slice(0);
|
7074
7318
|
encoding.detail = uniqueDimIds.slice(0);
|
7075
|
-
encoding.tooltip = uniqueDimIds;
|
7319
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
7076
7320
|
encoding.label = [];
|
7077
7321
|
encoding.row = [];
|
7078
7322
|
encoding.column = [];
|
7079
7323
|
};
|
7080
7324
|
const pie_generateDimensionEncoding = (dimensions, encoding)=>{
|
7081
7325
|
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7082
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7083
7326
|
if (0 === encoding.color.length) encoding.color = [
|
7084
7327
|
MeasureName
|
7085
7328
|
];
|
7329
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7086
7330
|
if (0 === encoding.detail.length) encoding.detail = [
|
7087
7331
|
MeasureName
|
7088
7332
|
];
|
7333
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
7334
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
7089
7335
|
};
|
7090
7336
|
const pie_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7091
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
7092
7337
|
encoding.angle = chunk_QJLMYOTX_i(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
|
7093
7338
|
};
|
7094
7339
|
const pie_generateMeasureEncoding = (measures, encoding)=>{
|
7095
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
7096
7340
|
encoding.angle = chunk_QJLMYOTX_i(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
|
7097
7341
|
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7098
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
|
+
]);
|
7099
7348
|
};
|
7100
7349
|
const pieAdvancedPipeline = [
|
7101
7350
|
initAdvancedVSeed_initAdvancedVSeed,
|
7102
7351
|
default_defaultMeasures_defaultMeasures,
|
7103
7352
|
defaultDimensions_defaultDimensions,
|
7104
7353
|
defaultMeasureName_defaultMeasureName,
|
7105
|
-
|
7106
|
-
|
7354
|
+
encodingAdapter([
|
7355
|
+
defaultEncodingForPie,
|
7356
|
+
buildMeasures
|
7357
|
+
], [
|
7358
|
+
encodingForPie,
|
7359
|
+
buildMeasures
|
7360
|
+
]),
|
7107
7361
|
pivotAdapter([
|
7108
7362
|
reshapeWithEncoding
|
7109
7363
|
], [
|
@@ -7222,8 +7476,13 @@
|
|
7222
7476
|
default_defaultMeasures_defaultMeasures,
|
7223
7477
|
defaultDimensions_defaultDimensions,
|
7224
7478
|
defaultMeasureName_defaultMeasureName,
|
7225
|
-
|
7226
|
-
|
7479
|
+
encodingAdapter([
|
7480
|
+
defaultEncodingForPie,
|
7481
|
+
buildMeasures
|
7482
|
+
], [
|
7483
|
+
encodingForPie,
|
7484
|
+
buildMeasures
|
7485
|
+
]),
|
7227
7486
|
pivotAdapter([
|
7228
7487
|
reshapeWithEncoding
|
7229
7488
|
], [
|
@@ -7299,6 +7558,17 @@
|
|
7299
7558
|
Builder._advancedPipelineMap.donut = donutAdvancedPipeline;
|
7300
7559
|
Builder._specPipelineMap.donut = donutSpecPipeline;
|
7301
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
|
+
};
|
7302
7572
|
const encodingForRose = (advancedVSeed)=>{
|
7303
7573
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7304
7574
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -7320,42 +7590,52 @@
|
|
7320
7590
|
encoding.angle = uniqueDimIds.slice(0, 1);
|
7321
7591
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7322
7592
|
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7323
|
-
encoding.tooltip = uniqueDimIds;
|
7593
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
7324
7594
|
encoding.label = [];
|
7325
7595
|
encoding.row = [];
|
7326
7596
|
encoding.column = [];
|
7327
7597
|
};
|
7328
7598
|
const rose_generateDimensionEncoding = (dimensions, encoding)=>{
|
7329
7599
|
encoding.angle = chunk_QJLMYOTX_i(dimensions.filter((item)=>'angle' === item.encoding).map((item)=>item.id));
|
7330
|
-
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7331
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7332
7600
|
if (0 === encoding.angle.length) encoding.angle = [
|
7333
7601
|
dimensions[0].id
|
7334
7602
|
];
|
7603
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7335
7604
|
if (0 === encoding.color.length) encoding.color = [
|
7336
7605
|
MeasureName
|
7337
7606
|
];
|
7607
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7338
7608
|
if (0 === encoding.detail.length) encoding.detail = [
|
7339
7609
|
MeasureName
|
7340
7610
|
];
|
7611
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
7612
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
7341
7613
|
};
|
7342
7614
|
const rose_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7343
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
7344
7615
|
encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7345
7616
|
};
|
7346
7617
|
const rose_generateMeasureEncoding = (measures, encoding)=>{
|
7347
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
7348
7618
|
encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7349
7619
|
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7350
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
|
+
]);
|
7351
7626
|
};
|
7352
7627
|
const roseAdvancedPipeline = [
|
7353
7628
|
initAdvancedVSeed_initAdvancedVSeed,
|
7354
7629
|
default_defaultMeasures_defaultMeasures,
|
7355
7630
|
defaultDimensions_defaultDimensions,
|
7356
7631
|
defaultMeasureName_defaultMeasureName,
|
7357
|
-
|
7358
|
-
|
7632
|
+
encodingAdapter([
|
7633
|
+
defaultEncodingForRose,
|
7634
|
+
buildMeasures
|
7635
|
+
], [
|
7636
|
+
encodingForRose,
|
7637
|
+
buildMeasures
|
7638
|
+
]),
|
7359
7639
|
pivotAdapter([
|
7360
7640
|
reshapeWithEncoding
|
7361
7641
|
], [
|
@@ -7554,8 +7834,13 @@
|
|
7554
7834
|
default_defaultMeasures_defaultMeasures,
|
7555
7835
|
defaultDimensions_defaultDimensions,
|
7556
7836
|
defaultMeasureName_defaultMeasureName,
|
7557
|
-
|
7558
|
-
|
7837
|
+
encodingAdapter([
|
7838
|
+
defaultEncodingForRose,
|
7839
|
+
buildMeasures
|
7840
|
+
], [
|
7841
|
+
encodingForRose,
|
7842
|
+
buildMeasures
|
7843
|
+
]),
|
7559
7844
|
pivotAdapter([
|
7560
7845
|
reshapeWithEncoding
|
7561
7846
|
], [
|
@@ -7661,6 +7946,17 @@
|
|
7661
7946
|
Builder._advancedPipelineMap.roseParallel = roseParallelAdvancedPipeline;
|
7662
7947
|
Builder._specPipelineMap.roseParallel = roseParallelSpecPipeline;
|
7663
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
|
+
};
|
7664
7960
|
const encodingForRadar = (advancedVSeed)=>{
|
7665
7961
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7666
7962
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -7680,7 +7976,7 @@
|
|
7680
7976
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
7681
7977
|
encoding.angle = uniqueDimIds.slice(0, 1);
|
7682
7978
|
encoding.color = uniqueDimIds.slice(1);
|
7683
|
-
encoding.tooltip = uniqueDimIds;
|
7979
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
7684
7980
|
encoding.detail = [];
|
7685
7981
|
encoding.label = [];
|
7686
7982
|
encoding.row = [];
|
@@ -7688,35 +7984,45 @@
|
|
7688
7984
|
};
|
7689
7985
|
const radar_generateDimensionEncoding = (dimensions, encoding)=>{
|
7690
7986
|
encoding.angle = chunk_QJLMYOTX_i(dimensions.filter((item)=>'angle' === item.encoding).map((item)=>item.id));
|
7691
|
-
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7692
|
-
encoding.detail = [];
|
7693
7987
|
if (0 === encoding.angle.length) encoding.angle = [
|
7694
7988
|
dimensions[0].id
|
7695
7989
|
];
|
7990
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7696
7991
|
if (0 === encoding.color.length) encoding.color = [
|
7697
7992
|
MeasureName
|
7698
7993
|
];
|
7994
|
+
encoding.detail = [];
|
7699
7995
|
if (0 === encoding.detail.length) encoding.detail = [
|
7700
7996
|
MeasureName
|
7701
7997
|
];
|
7998
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
7999
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
7702
8000
|
};
|
7703
8001
|
const radar_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7704
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
7705
8002
|
encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7706
8003
|
};
|
7707
8004
|
const radar_generateMeasureEncoding = (measures, encoding)=>{
|
7708
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
7709
8005
|
encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7710
8006
|
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7711
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
|
+
]);
|
7712
8013
|
};
|
7713
8014
|
const radarAdvancedPipeline = [
|
7714
8015
|
initAdvancedVSeed_initAdvancedVSeed,
|
7715
8016
|
default_defaultMeasures_defaultMeasures,
|
7716
8017
|
defaultDimensions_defaultDimensions,
|
7717
8018
|
defaultMeasureName_defaultMeasureName,
|
7718
|
-
|
7719
|
-
|
8019
|
+
encodingAdapter([
|
8020
|
+
defaultEncodingForRadar,
|
8021
|
+
buildMeasures
|
8022
|
+
], [
|
8023
|
+
encodingForRadar,
|
8024
|
+
buildMeasures
|
8025
|
+
]),
|
7720
8026
|
pivotAdapter([
|
7721
8027
|
reshapeWithEncoding
|
7722
8028
|
], [
|
@@ -7850,6 +8156,17 @@
|
|
7850
8156
|
Builder._advancedPipelineMap.radar = radarAdvancedPipeline;
|
7851
8157
|
Builder._specPipelineMap.radar = radarSpecPipeline;
|
7852
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
|
+
};
|
7853
8170
|
const encodingForFunnel = (advancedVSeed)=>{
|
7854
8171
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
7855
8172
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -7869,40 +8186,50 @@
|
|
7869
8186
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
7870
8187
|
encoding.color = uniqueDimIds.slice(0);
|
7871
8188
|
encoding.detail = uniqueDimIds.slice(0);
|
7872
|
-
encoding.tooltip = uniqueDimIds;
|
8189
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
7873
8190
|
encoding.label = [];
|
7874
8191
|
encoding.row = [];
|
7875
8192
|
encoding.column = [];
|
7876
8193
|
};
|
7877
8194
|
const funnel_generateDimensionEncoding = (dimensions, encoding)=>{
|
7878
8195
|
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7879
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7880
8196
|
if (0 === encoding.color.length) encoding.color = [
|
7881
8197
|
MeasureName
|
7882
8198
|
];
|
8199
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7883
8200
|
if (0 === encoding.detail.length) encoding.detail = [
|
7884
8201
|
MeasureName
|
7885
8202
|
];
|
8203
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
8204
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
7886
8205
|
};
|
7887
8206
|
const funnel_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7888
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
7889
8207
|
encoding.size = chunk_QJLMYOTX_i(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
|
7890
8208
|
};
|
7891
8209
|
const funnel_generateMeasureEncoding = (measures, encoding)=>{
|
7892
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
7893
8210
|
encoding.size = chunk_QJLMYOTX_i(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
|
7894
8211
|
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7895
8212
|
if (color.length > 0) encoding.color = [
|
7896
8213
|
color[0]
|
7897
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
|
+
]);
|
7898
8220
|
};
|
7899
8221
|
const funnelAdvancedPipeline = [
|
7900
8222
|
initAdvancedVSeed_initAdvancedVSeed,
|
7901
8223
|
default_defaultMeasures_defaultMeasures,
|
7902
8224
|
defaultDimensions_defaultDimensions,
|
7903
8225
|
defaultMeasureName_defaultMeasureName,
|
7904
|
-
|
7905
|
-
|
8226
|
+
encodingAdapter([
|
8227
|
+
defaultEncodingForFunnel,
|
8228
|
+
buildMeasures
|
8229
|
+
], [
|
8230
|
+
encodingForFunnel,
|
8231
|
+
buildMeasures
|
8232
|
+
]),
|
7906
8233
|
pivotAdapter([
|
7907
8234
|
reshapeWithEncoding
|
7908
8235
|
], [
|
@@ -8015,6 +8342,17 @@
|
|
8015
8342
|
Builder._advancedPipelineMap.funnel = funnelAdvancedPipeline;
|
8016
8343
|
Builder._specPipelineMap.funnel = funnelSpecPipeline;
|
8017
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
|
+
};
|
8018
8356
|
const encodingForHeatmap = (advancedVSeed)=>{
|
8019
8357
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
8020
8358
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -8037,50 +8375,59 @@
|
|
8037
8375
|
encoding.y = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
8038
8376
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
8039
8377
|
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
8040
|
-
encoding.tooltip = uniqueDimIds;
|
8378
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
8041
8379
|
encoding.label = [];
|
8042
8380
|
encoding.row = [];
|
8043
8381
|
encoding.column = [];
|
8044
8382
|
};
|
8045
8383
|
const heatmap_generateDimensionEncoding = (dimensions, encoding)=>{
|
8046
8384
|
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
8047
|
-
encoding.y = chunk_QJLMYOTX_i(dimensions.filter((item)=>'yAxis' === item.encoding).map((item)=>item.id));
|
8048
|
-
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
8049
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
8050
8385
|
if (0 === encoding.x.length) encoding.x = [
|
8051
8386
|
dimensions[0].id
|
8052
8387
|
];
|
8388
|
+
encoding.y = chunk_QJLMYOTX_i(dimensions.filter((item)=>'yAxis' === item.encoding).map((item)=>item.id));
|
8053
8389
|
if (0 === encoding.y.length) if (dimensions.length > 1) encoding.y = dimensions.slice(1).map((item)=>item.id);
|
8054
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));
|
8055
8392
|
if (0 === encoding.color.length) encoding.color = [
|
8056
8393
|
MeasureName
|
8057
8394
|
];
|
8395
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
8058
8396
|
if (0 === encoding.detail.length) encoding.detail = [
|
8059
8397
|
MeasureName
|
8060
8398
|
];
|
8399
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
8400
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
8061
8401
|
};
|
8062
8402
|
const heatmap_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
8063
|
-
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
8064
8403
|
const colorDims = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding || !item.encoding).map((item)=>item.id));
|
8065
8404
|
if (colorDims.length > 0) encoding.color = [
|
8066
8405
|
colorDims[0]
|
8067
8406
|
];
|
8068
8407
|
};
|
8069
8408
|
const heatmap_generateMeasureEncoding = (measures, encoding)=>{
|
8070
|
-
encoding.tooltip = measures.map((item)=>item.id);
|
8071
8409
|
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
8072
8410
|
if (color.length > 0) encoding.color = [
|
8073
8411
|
color[0]
|
8074
8412
|
];
|
8075
|
-
|
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
|
+
]);
|
8076
8418
|
};
|
8077
8419
|
const heatmapAdvancedPipeline = [
|
8078
8420
|
initAdvancedVSeed_initAdvancedVSeed,
|
8079
8421
|
default_defaultMeasures_defaultMeasures,
|
8080
8422
|
defaultDimensions_defaultDimensions,
|
8081
8423
|
defaultMeasureName_defaultMeasureName,
|
8082
|
-
|
8083
|
-
|
8424
|
+
encodingAdapter([
|
8425
|
+
defaultEncodingForHeatmap,
|
8426
|
+
buildMeasures
|
8427
|
+
], [
|
8428
|
+
encodingForHeatmap,
|
8429
|
+
buildMeasures
|
8430
|
+
]),
|
8084
8431
|
pivotAdapter([
|
8085
8432
|
reshapeWithEncoding
|
8086
8433
|
], [
|
@@ -8133,6 +8480,107 @@
|
|
8133
8480
|
}
|
8134
8481
|
};
|
8135
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
|
+
};
|
8136
8584
|
const initHeatmap = (spec, context)=>{
|
8137
8585
|
const result = {
|
8138
8586
|
...spec
|
@@ -8176,7 +8624,7 @@
|
|
8176
8624
|
labelColorInversion,
|
8177
8625
|
colorAdapter(discreteLegend, colorLegend),
|
8178
8626
|
colorCellStyleFill(cellStyle),
|
8179
|
-
|
8627
|
+
tooltipHeatmap,
|
8180
8628
|
annotationPoint_annotationPoint,
|
8181
8629
|
annotationVerticalLine_annotationVerticalLine,
|
8182
8630
|
annotationHorizontalLine_annotationHorizontalLine,
|
@@ -8195,7 +8643,7 @@
|
|
8195
8643
|
label_label,
|
8196
8644
|
labelColorInversion,
|
8197
8645
|
discreteLegend,
|
8198
|
-
|
8646
|
+
tooltipHeatmap,
|
8199
8647
|
colorCellStyleFill(cellStyle),
|
8200
8648
|
annotationPoint_annotationPoint,
|
8201
8649
|
annotationVerticalLine_annotationVerticalLine,
|