@visactor/vseed 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/builder/builder/builder.d.ts +4 -28
- package/dist/dataReshape/dataReshapeByEncoding.d.ts +1 -0
- package/dist/dataReshape/foldMeasures.d.ts +5 -4
- package/dist/index.cjs +335 -250
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +335 -247
- package/dist/index.js.map +1 -1
- package/dist/pipeline/advanced/chart/pipes/index.d.ts +1 -0
- package/dist/pipeline/advanced/chart/pipes/init/index.d.ts +0 -3
- package/dist/pipeline/advanced/chart/pipes/{init/autoMeasures.d.ts → measures/buildMeasures.d.ts} +1 -1
- package/dist/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.d.ts +2 -0
- package/dist/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.d.ts +2 -0
- package/dist/pipeline/advanced/chart/pipes/measures/index.d.ts +3 -0
- package/dist/pipeline/advanced/chart/pipes/measures/utils.d.ts +28 -0
- package/dist/pipeline/spec/chart/pipes/color/colorAdapter.d.ts +2 -1
- package/dist/pipeline/spec/chart/pipes/color/index.d.ts +2 -1
- package/dist/pipeline/spec/chart/pipes/color/linearColorForDualAxis.d.ts +2 -0
- package/dist/pipeline/utils/chatType.d.ts +1 -1
- package/dist/types/advancedVSeed.d.ts +13 -14
- package/dist/types/chartType/area/zArea.d.ts +13 -0
- package/dist/types/chartType/areaPercent/zAreaPercent.d.ts +13 -0
- package/dist/types/chartType/bar/zBar.d.ts +13 -0
- package/dist/types/chartType/barParallel/zBarParallel.d.ts +13 -0
- package/dist/types/chartType/barPercent/zBarPercent.d.ts +13 -0
- package/dist/types/chartType/column/zColumn.d.ts +13 -0
- package/dist/types/chartType/columnParallel/zColumnParallel.d.ts +13 -0
- package/dist/types/chartType/columnPercent/zColumnPercent.d.ts +13 -0
- package/dist/types/chartType/donut/zDonut.d.ts +13 -0
- package/dist/types/chartType/dualAxis/zDualAxis.d.ts +65 -0
- package/dist/types/chartType/funnel/zFunnel.d.ts +13 -0
- package/dist/types/chartType/heatmap/zHeatmap.d.ts +13 -0
- package/dist/types/chartType/line/line.d.ts +0 -1
- package/dist/types/chartType/line/zLine.d.ts +13 -0
- package/dist/types/chartType/pie/zPie.d.ts +13 -0
- package/dist/types/chartType/pivotTable/zPivotTable.d.ts +13 -0
- package/dist/types/chartType/radar/zRadar.d.ts +13 -0
- package/dist/types/chartType/rose/zRose.d.ts +13 -0
- package/dist/types/chartType/roseParallel/zRoseParallel.d.ts +13 -0
- package/dist/types/chartType/scatter/zScatter.d.ts +65 -0
- package/dist/types/chartType/table/zTable.d.ts +13 -0
- package/dist/types/properties/encoding/encoding.d.ts +0 -1
- package/dist/types/properties/encoding/index.d.ts +2 -2
- package/dist/types/properties/encoding/zEncoding.d.ts +0 -14
- package/dist/types/properties/measures/dualMeasures.d.ts +1 -0
- package/dist/types/properties/measures/measures.d.ts +19 -0
- package/dist/types/properties/measures/scatterMeasures.d.ts +1 -0
- package/dist/types/properties/measures/zDualMeasures.d.ts +104 -0
- package/dist/types/properties/measures/zMeasures.d.ts +39 -0
- package/dist/types/properties/measures/zScatterMeasures.d.ts +104 -0
- package/dist/types/zVseed.d.ts +364 -0
- package/dist/umd/index.js +335 -248
- package/dist/umd/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/pipeline/advanced/chart/pipes/init/autoDualMeasures.d.ts +0 -2
- package/dist/pipeline/advanced/chart/pipes/init/autoScatterMeasures.d.ts +0 -2
package/dist/umd/index.js
CHANGED
@@ -195,9 +195,8 @@
|
|
195
195
|
zBackgroundColor: ()=>zBackgroundColor,
|
196
196
|
registerBarParallel: ()=>registerBarParallel,
|
197
197
|
registerRadar: ()=>registerRadar,
|
198
|
-
zEncodings: ()=>zEncodings,
|
199
|
-
pivotTableSpecPipeline: ()=>pivotTableSpecPipeline,
|
200
198
|
zLocale: ()=>zLocale,
|
199
|
+
pivotTableSpecPipeline: ()=>pivotTableSpecPipeline,
|
201
200
|
zMeasure: ()=>zMeasure,
|
202
201
|
FoldXMeasureValue: ()=>FoldXMeasureValue,
|
203
202
|
dualAxisAdvancedPipeline: ()=>dualAxisAdvancedPipeline,
|
@@ -1446,6 +1445,39 @@
|
|
1446
1445
|
locale: locale || 'zh-CN'
|
1447
1446
|
};
|
1448
1447
|
};
|
1448
|
+
const getBasicMeasures = (vseed)=>{
|
1449
|
+
const { dataset, measures } = vseed;
|
1450
|
+
if (!measures || 0 === measures.length) return generateMeasuresByDataset(dataset);
|
1451
|
+
return measures;
|
1452
|
+
};
|
1453
|
+
const generateMeasuresByDataset = (dataset)=>{
|
1454
|
+
if (!dataset) throw new Error('dataset is required');
|
1455
|
+
if (0 === dataset.length) return [];
|
1456
|
+
const top100dataset = dataset.slice(0, 100);
|
1457
|
+
const sample = top100dataset.reduce((prev, cur)=>({
|
1458
|
+
...prev,
|
1459
|
+
...cur
|
1460
|
+
}), {});
|
1461
|
+
const basicMeasures = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
|
1462
|
+
'',
|
1463
|
+
null,
|
1464
|
+
void 0
|
1465
|
+
].includes(key)).map((measure)=>({
|
1466
|
+
id: measure,
|
1467
|
+
alias: measure
|
1468
|
+
}));
|
1469
|
+
return basicMeasures;
|
1470
|
+
};
|
1471
|
+
const isMeasureTreeWithChildren = (vseed)=>{
|
1472
|
+
const { measures } = vseed;
|
1473
|
+
if (!measures) return false;
|
1474
|
+
return measures.some((measure)=>'children' in measure);
|
1475
|
+
};
|
1476
|
+
const isMeasureTreeWithParentId = (vseed)=>{
|
1477
|
+
const { measures } = vseed;
|
1478
|
+
if (!measures) return false;
|
1479
|
+
return measures.some((measure)=>'parentId' in measure);
|
1480
|
+
};
|
1449
1481
|
const measureDepth = (measures = [])=>{
|
1450
1482
|
if (!measures) return 0;
|
1451
1483
|
let depth = 1;
|
@@ -1464,23 +1496,26 @@
|
|
1464
1496
|
const isVChart = (vseed)=>!isVTable(vseed);
|
1465
1497
|
const isPivotChart = (vseed)=>{
|
1466
1498
|
if (isVTable(vseed)) return false;
|
1499
|
+
if (isMeasureTreeWithParentId(vseed)) {
|
1500
|
+
const parentIds = vseed.measures?.map((measure)=>measure.parentId);
|
1501
|
+
return parentIds && parentIds.length > 1;
|
1502
|
+
}
|
1467
1503
|
if ('dualAxis' === vseed.chartType || 'scatter' === vseed.chartType) {
|
1468
1504
|
const { dimensions = [] } = vseed;
|
1469
1505
|
const hasRowOrColumnDimension = dimensions && dimensions.some((dimension)=>'rowDimension' === dimension.location || 'columnDimension' === dimension.location);
|
1470
1506
|
if (hasRowOrColumnDimension) return true;
|
1471
1507
|
if ('scatter' === vseed.chartType) {
|
1472
|
-
if (vseed
|
1508
|
+
if (isMeasureTreeWithChildren(vseed)) {
|
1473
1509
|
const depth = measureDepth(vseed.measures);
|
1474
|
-
|
1475
|
-
return false;
|
1510
|
+
return 3 === depth;
|
1476
1511
|
}
|
1477
1512
|
if (vseed.scatterMeasures && vseed.scatterMeasures.length > 1) return true;
|
1513
|
+
return false;
|
1478
1514
|
}
|
1479
1515
|
if ('dualAxis' === vseed.chartType) {
|
1480
|
-
if (vseed
|
1516
|
+
if (isMeasureTreeWithChildren(vseed)) {
|
1481
1517
|
const depth = measureDepth(vseed.measures);
|
1482
|
-
|
1483
|
-
return false;
|
1518
|
+
return 3 === depth;
|
1484
1519
|
}
|
1485
1520
|
if (vseed.dualMeasures && vseed.dualMeasures.length > 1) return true;
|
1486
1521
|
}
|
@@ -1491,77 +1526,49 @@
|
|
1491
1526
|
const hasMeasureGroup = measures && measures.some((measure)=>measure && measure.children);
|
1492
1527
|
return hasRowOrColumnDimension || hasMeasureGroup;
|
1493
1528
|
};
|
1494
|
-
const
|
1495
|
-
const result = {
|
1496
|
-
...advancedVSeed
|
1497
|
-
};
|
1498
|
-
const { vseed } = context;
|
1499
|
-
const { measures, dataset } = vseed;
|
1500
|
-
if (!dataset) throw new Error('dataset is required');
|
1501
|
-
if (0 === dataset.length) return result;
|
1502
|
-
if (isPivotChart(vseed)) return autoMeasureGroup(advancedVSeed, context);
|
1503
|
-
if (measures) {
|
1504
|
-
result.measures = measures;
|
1505
|
-
return result;
|
1506
|
-
}
|
1507
|
-
const top100dataset = dataset.slice(0, 100);
|
1508
|
-
const sample = top100dataset.reduce((prev, cur)=>({
|
1509
|
-
...prev,
|
1510
|
-
...cur
|
1511
|
-
}), {});
|
1512
|
-
result.measures = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
|
1513
|
-
'',
|
1514
|
-
null,
|
1515
|
-
void 0
|
1516
|
-
].includes(key)).map((measure)=>({
|
1517
|
-
id: measure,
|
1518
|
-
alias: measure
|
1519
|
-
}));
|
1520
|
-
return result;
|
1521
|
-
};
|
1522
|
-
const autoMeasureGroup = (advancedVSeed, context)=>{
|
1529
|
+
const buildMeasures = (advancedVSeed, context)=>{
|
1523
1530
|
const { vseed } = context;
|
1524
|
-
|
1525
|
-
|
1526
|
-
|
1527
|
-
if (!hasMeasureGroup) {
|
1528
|
-
const newMeasures = [
|
1529
|
-
{
|
1530
|
-
id: 'measureGroup',
|
1531
|
-
alias: 'measureGroup',
|
1532
|
-
children: measures
|
1533
|
-
}
|
1534
|
-
];
|
1535
|
-
return {
|
1536
|
-
...advancedVSeed,
|
1537
|
-
measures: newMeasures
|
1538
|
-
};
|
1531
|
+
if (isMeasureTreeWithChildren(vseed)) {
|
1532
|
+
advancedVSeed.measures = vseed.measures;
|
1533
|
+
return advancedVSeed;
|
1539
1534
|
}
|
1540
|
-
|
1541
|
-
|
1542
|
-
|
1543
|
-
if (currentGroup.children?.length) {
|
1544
|
-
currentGroup.alias = currentGroup.children.map((item)=>item.alias).join('-');
|
1545
|
-
currentGroup.id = currentGroup.alias + currentGroup.children.map((item)=>item.id).join('-');
|
1546
|
-
measureGroups.push(currentGroup);
|
1547
|
-
currentGroup = createEmptyMeasureGroup();
|
1548
|
-
}
|
1549
|
-
measureGroups.push(measure);
|
1550
|
-
} else currentGroup.children?.push(measure);
|
1551
|
-
if (currentGroup.children?.length) {
|
1552
|
-
currentGroup.alias = currentGroup.children.map((item)=>item.alias).join('-');
|
1553
|
-
currentGroup.id = currentGroup.alias + currentGroup.children.map((item)=>item.id).join('-');
|
1554
|
-
measureGroups.push(currentGroup);
|
1555
|
-
currentGroup = createEmptyMeasureGroup();
|
1535
|
+
if (isMeasureTreeWithParentId(vseed)) {
|
1536
|
+
advancedVSeed.measures = generateMeasuresByParentId(vseed.measures);
|
1537
|
+
return advancedVSeed;
|
1556
1538
|
}
|
1557
|
-
|
1539
|
+
const basicMeasures = getBasicMeasures(vseed);
|
1540
|
+
if (isPivotChart(vseed)) advancedVSeed.measures = basicMeasuresToMeasureTree(basicMeasures);
|
1541
|
+
else advancedVSeed.measures = basicMeasures;
|
1558
1542
|
return advancedVSeed;
|
1559
1543
|
};
|
1560
|
-
const
|
1561
|
-
|
1562
|
-
|
1563
|
-
|
1544
|
+
const generateMeasuresByParentId = (measures)=>{
|
1545
|
+
const measureTree = [];
|
1546
|
+
measures.forEach((measure)=>{
|
1547
|
+
if (!measure.parentId) return;
|
1548
|
+
const parent = measureTree.find((item)=>item.id === measure.parentId);
|
1549
|
+
if (parent && 'children' in parent) {
|
1550
|
+
parent.children = parent.children || [];
|
1551
|
+
parent.children.push(measure);
|
1552
|
+
} else measureTree.push({
|
1553
|
+
id: measure.parentId,
|
1554
|
+
children: [
|
1555
|
+
measure
|
1556
|
+
]
|
1557
|
+
});
|
1564
1558
|
});
|
1559
|
+
return measureTree;
|
1560
|
+
};
|
1561
|
+
const basicMeasuresToMeasureTree = (measures)=>{
|
1562
|
+
const id = measures.map((item)=>item.id).join('-');
|
1563
|
+
const alias = measures.map((item)=>item.alias || item.id).join('-');
|
1564
|
+
return [
|
1565
|
+
{
|
1566
|
+
id,
|
1567
|
+
alias,
|
1568
|
+
children: measures
|
1569
|
+
}
|
1570
|
+
];
|
1571
|
+
};
|
1565
1572
|
const ORIGINAL_DATA = '__OriginalData__';
|
1566
1573
|
const Separator = '-';
|
1567
1574
|
const FoldMeasureName = '__MeaName__';
|
@@ -1684,8 +1691,7 @@
|
|
1684
1691
|
return o;
|
1685
1692
|
}
|
1686
1693
|
const foldMeasures = (dataset, measures, encoding, options)=>{
|
1687
|
-
const { measureId
|
1688
|
-
const colorMeasureId = encoding?.color?.length === 1 && measures.some((m)=>m.id === encoding?.color?.[0]) ? encoding?.color?.[0] : void 0;
|
1694
|
+
const { measureId, measureName, measureValue, colorMeasureId } = options || {};
|
1689
1695
|
const foldInfo = {
|
1690
1696
|
measureId,
|
1691
1697
|
measureName,
|
@@ -1784,11 +1790,12 @@
|
|
1784
1790
|
if (encoding && dimensions.length) datum[encoding] = dimensions.map((dim)=>String(datum[dim.id])).join(separator);
|
1785
1791
|
};
|
1786
1792
|
const dataReshapeByEncoding = (dataset, dimensions, measures, encoding, options)=>{
|
1787
|
-
const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue, colorItemAsId = false } = options || {};
|
1793
|
+
const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue, colorItemAsId = false, colorMeasureId } = options || {};
|
1788
1794
|
const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures, encoding, {
|
1789
1795
|
measureId: foldMeasureId,
|
1790
1796
|
measureName: foldMeasureName,
|
1791
|
-
measureValue: foldMeasureValue
|
1797
|
+
measureValue: foldMeasureValue,
|
1798
|
+
colorMeasureId
|
1792
1799
|
});
|
1793
1800
|
const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dimensions, encoding, {
|
1794
1801
|
foldMeasureId,
|
@@ -1801,6 +1808,24 @@
|
|
1801
1808
|
unfoldInfo
|
1802
1809
|
};
|
1803
1810
|
};
|
1811
|
+
const colorAdapter = (ordinalPipe, linearPipe)=>(spec, context)=>{
|
1812
|
+
const { advancedVSeed } = context;
|
1813
|
+
if (isLinearColor(advancedVSeed)) return linearPipe(spec, context);
|
1814
|
+
return ordinalPipe(spec, context);
|
1815
|
+
};
|
1816
|
+
const isLinearColor = (advancedVSeed)=>{
|
1817
|
+
const { encoding, measures } = advancedVSeed;
|
1818
|
+
const measureIdList = findAllMeasures(measures).map((measure)=>measure.id);
|
1819
|
+
const { color } = encoding;
|
1820
|
+
return color?.length === 1 && measureIdList.includes(color[0]);
|
1821
|
+
};
|
1822
|
+
const getColorMeasureId = (advancedVSeed)=>{
|
1823
|
+
if (isLinearColor(advancedVSeed)) {
|
1824
|
+
const { encoding } = advancedVSeed;
|
1825
|
+
const { color } = encoding;
|
1826
|
+
return color?.[0];
|
1827
|
+
}
|
1828
|
+
};
|
1804
1829
|
const reshapeWithEncoding = (advancedVSeed, context)=>{
|
1805
1830
|
const result = {
|
1806
1831
|
...advancedVSeed
|
@@ -1810,7 +1835,9 @@
|
|
1810
1835
|
const { dimensions, measures, encoding } = advancedVSeed;
|
1811
1836
|
if (!measures || !dimensions || !dataset || !encoding) return result;
|
1812
1837
|
if (0 === measures.length) throw new Error('measures can not be empty');
|
1813
|
-
const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, measures, encoding
|
1838
|
+
const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, measures, encoding, {
|
1839
|
+
colorMeasureId: getColorMeasureId(advancedVSeed)
|
1840
|
+
});
|
1814
1841
|
return {
|
1815
1842
|
...result,
|
1816
1843
|
dataset: newDatasets,
|
@@ -1846,7 +1873,8 @@
|
|
1846
1873
|
if (!measures) return;
|
1847
1874
|
const groupId = measureGroup.id;
|
1848
1875
|
const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, measures, encoding, {
|
1849
|
-
foldMeasureValue: `${FoldMeasureValue}${groupId}
|
1876
|
+
foldMeasureValue: `${FoldMeasureValue}${groupId}`,
|
1877
|
+
colorMeasureId: getColorMeasureId(advancedVSeed)
|
1850
1878
|
});
|
1851
1879
|
const reshapeInfo = {
|
1852
1880
|
id: groupId,
|
@@ -2062,7 +2090,7 @@
|
|
2062
2090
|
};
|
2063
2091
|
const lineAdvancedPipeline = [
|
2064
2092
|
initAdvancedVSeed_initAdvancedVSeed,
|
2065
|
-
|
2093
|
+
buildMeasures,
|
2066
2094
|
autoDimensions_autoDimensions,
|
2067
2095
|
encodingForLine,
|
2068
2096
|
pivotAdapter([
|
@@ -2077,17 +2105,6 @@
|
|
2077
2105
|
markStyle_markStyle,
|
2078
2106
|
annotation_annotation
|
2079
2107
|
];
|
2080
|
-
const colorAdapter = (ordinalPipe, linearPipe)=>(spec, context)=>{
|
2081
|
-
const { advancedVSeed } = context;
|
2082
|
-
if (isLinearColor(advancedVSeed)) return linearPipe(spec, context);
|
2083
|
-
return ordinalPipe(spec, context);
|
2084
|
-
};
|
2085
|
-
const isLinearColor = (advancedVSeed)=>{
|
2086
|
-
const { encoding, measures } = advancedVSeed;
|
2087
|
-
const measureIdList = findAllMeasures(measures).map((measure)=>measure.id);
|
2088
|
-
const { color } = encoding;
|
2089
|
-
return color?.length === 1 && measureIdList.includes(color[0]);
|
2090
|
-
};
|
2091
2108
|
const initLine = (spec, context)=>{
|
2092
2109
|
const result = {
|
2093
2110
|
...spec
|
@@ -3937,7 +3954,7 @@
|
|
3937
3954
|
};
|
3938
3955
|
const columnAdvancedPipeline = [
|
3939
3956
|
initAdvancedVSeed_initAdvancedVSeed,
|
3940
|
-
|
3957
|
+
buildMeasures,
|
3941
3958
|
autoDimensions_autoDimensions,
|
3942
3959
|
encodingForColumn,
|
3943
3960
|
pivotAdapter([
|
@@ -4386,7 +4403,7 @@
|
|
4386
4403
|
};
|
4387
4404
|
const columnParallelAdvancedPipeline = [
|
4388
4405
|
initAdvancedVSeed_initAdvancedVSeed,
|
4389
|
-
|
4406
|
+
buildMeasures,
|
4390
4407
|
autoDimensions_autoDimensions,
|
4391
4408
|
encodingForColumn,
|
4392
4409
|
pivotAdapter([
|
@@ -4483,7 +4500,7 @@
|
|
4483
4500
|
};
|
4484
4501
|
const columnPercentAdvancedPipeline = [
|
4485
4502
|
initAdvancedVSeed_initAdvancedVSeed,
|
4486
|
-
|
4503
|
+
buildMeasures,
|
4487
4504
|
autoDimensions_autoDimensions,
|
4488
4505
|
encodingForColumn,
|
4489
4506
|
pivotAdapter([
|
@@ -4622,7 +4639,7 @@
|
|
4622
4639
|
};
|
4623
4640
|
const barAdvancedPipeline = [
|
4624
4641
|
initAdvancedVSeed_initAdvancedVSeed,
|
4625
|
-
|
4642
|
+
buildMeasures,
|
4626
4643
|
autoDimensions_autoDimensions,
|
4627
4644
|
encodingForBar,
|
4628
4645
|
pivotAdapter([
|
@@ -4975,7 +4992,7 @@
|
|
4975
4992
|
};
|
4976
4993
|
const barParallelAdvancedPipeline = [
|
4977
4994
|
initAdvancedVSeed_initAdvancedVSeed,
|
4978
|
-
|
4995
|
+
buildMeasures,
|
4979
4996
|
autoDimensions_autoDimensions,
|
4980
4997
|
encodingForBar,
|
4981
4998
|
pivotAdapter([
|
@@ -5071,7 +5088,7 @@
|
|
5071
5088
|
};
|
5072
5089
|
const barPercentAdvancedPipeline = [
|
5073
5090
|
initAdvancedVSeed_initAdvancedVSeed,
|
5074
|
-
|
5091
|
+
buildMeasures,
|
5075
5092
|
autoDimensions_autoDimensions,
|
5076
5093
|
encodingForBar,
|
5077
5094
|
pivotAdapter([
|
@@ -5142,7 +5159,7 @@
|
|
5142
5159
|
};
|
5143
5160
|
const areaAdvancedPipeline = [
|
5144
5161
|
initAdvancedVSeed_initAdvancedVSeed,
|
5145
|
-
|
5162
|
+
buildMeasures,
|
5146
5163
|
autoDimensions_autoDimensions,
|
5147
5164
|
encodingForColumn,
|
5148
5165
|
pivotAdapter([
|
@@ -5300,7 +5317,7 @@
|
|
5300
5317
|
};
|
5301
5318
|
const areaPercentAdvancedPipeline = [
|
5302
5319
|
initAdvancedVSeed_initAdvancedVSeed,
|
5303
|
-
|
5320
|
+
buildMeasures,
|
5304
5321
|
autoDimensions_autoDimensions,
|
5305
5322
|
encodingForColumn,
|
5306
5323
|
pivotAdapter([
|
@@ -5376,95 +5393,105 @@
|
|
5376
5393
|
Builder._advancedPipelineMap.areaPercent = areaPercentAdvancedPipeline;
|
5377
5394
|
Builder._specPipelineMap.areaPercent = areaPercentSpecPipeline;
|
5378
5395
|
};
|
5379
|
-
const
|
5380
|
-
const result = {
|
5381
|
-
...advancedVSeed
|
5382
|
-
};
|
5396
|
+
const buildMeasuresForScatter = (advancedVSeed, context)=>{
|
5383
5397
|
const { vseed } = context;
|
5384
|
-
|
5385
|
-
|
5386
|
-
|
5387
|
-
if (scatterMeasures) {
|
5388
|
-
result.measures = scatterMeasuresToMeasureTree(scatterMeasures);
|
5389
|
-
return result;
|
5398
|
+
if (isMeasureTreeWithChildren(vseed)) {
|
5399
|
+
advancedVSeed.measures = vseed.measures;
|
5400
|
+
return advancedVSeed;
|
5390
5401
|
}
|
5391
|
-
if (
|
5392
|
-
|
5393
|
-
return
|
5402
|
+
if (isMeasureTreeWithParentId(vseed)) {
|
5403
|
+
advancedVSeed.measures = buildMeasuresForScatter_generateMeasuresByParentId(vseed.measures);
|
5404
|
+
return advancedVSeed;
|
5394
5405
|
}
|
5395
|
-
const
|
5396
|
-
const
|
5397
|
-
|
5398
|
-
|
5399
|
-
|
5400
|
-
|
5401
|
-
|
5402
|
-
|
5403
|
-
|
5404
|
-
]
|
5405
|
-
|
5406
|
-
|
5407
|
-
|
5408
|
-
|
5409
|
-
|
5410
|
-
|
5411
|
-
|
5412
|
-
|
5413
|
-
|
5414
|
-
|
5415
|
-
|
5416
|
-
else if (newMeasures.length > 1) result.measures = [
|
5417
|
-
{
|
5418
|
-
id: 'primary',
|
5419
|
-
alias: 'primary',
|
5420
|
-
children: newMeasures.slice(0, 1)
|
5421
|
-
},
|
5406
|
+
const basicMeasures = getBasicMeasures(vseed);
|
5407
|
+
const scatterMeasures = vseed.scatterMeasures ? vseed.scatterMeasures : basicMeasuresToScatterMeasures(basicMeasures);
|
5408
|
+
advancedVSeed.measures = scatterMeasuresToMeasureTree(scatterMeasures);
|
5409
|
+
return advancedVSeed;
|
5410
|
+
};
|
5411
|
+
const basicMeasuresToScatterMeasures = (basicMeasures)=>{
|
5412
|
+
const yMeasures = [];
|
5413
|
+
const xMeasures = [];
|
5414
|
+
for(let index = 0; index < basicMeasures.length; index++){
|
5415
|
+
const item = basicMeasures[index];
|
5416
|
+
const encoding = Array.isArray(item.encoding) ? item.encoding : [
|
5417
|
+
item.encoding
|
5418
|
+
];
|
5419
|
+
const isYAxis = encoding.includes('yAxis');
|
5420
|
+
const isXAxis = encoding.includes('xAxis');
|
5421
|
+
if (isYAxis) yMeasures.push(item);
|
5422
|
+
else if (isXAxis) xMeasures.push(item);
|
5423
|
+
else if (0 === index) yMeasures.push(item);
|
5424
|
+
else xMeasures.push(item);
|
5425
|
+
}
|
5426
|
+
return [
|
5422
5427
|
{
|
5423
|
-
id: '
|
5424
|
-
|
5425
|
-
|
5428
|
+
id: 'scatterMeasures',
|
5429
|
+
xMeasures,
|
5430
|
+
yMeasures
|
5426
5431
|
}
|
5427
5432
|
];
|
5428
|
-
return result;
|
5429
5433
|
};
|
5430
5434
|
const scatterMeasuresToMeasureTree = (scatterMeasures)=>{
|
5431
5435
|
const measureTree = scatterMeasures.map((item, index)=>{
|
5432
|
-
const { xMeasures, yMeasures } = item;
|
5436
|
+
const { id, xMeasures, yMeasures } = item;
|
5433
5437
|
const groupChildren = [];
|
5434
|
-
let
|
5438
|
+
let groupId = `${id}-`;
|
5435
5439
|
if (xMeasures) {
|
5436
|
-
const
|
5440
|
+
const arrPrimaryMeasures = Array.isArray(xMeasures) ? xMeasures : [
|
5437
5441
|
xMeasures
|
5438
5442
|
];
|
5439
|
-
const alias =
|
5440
|
-
|
5443
|
+
const alias = arrPrimaryMeasures.map((item)=>item.alias || item.id).toString();
|
5444
|
+
groupId += alias;
|
5441
5445
|
groupChildren.push({
|
5442
5446
|
id: `${index}-x`,
|
5443
|
-
alias:
|
5444
|
-
children:
|
5447
|
+
alias: arrPrimaryMeasures.map((item)=>item.alias || item.id).toString(),
|
5448
|
+
children: arrPrimaryMeasures
|
5445
5449
|
});
|
5446
5450
|
}
|
5447
5451
|
if (yMeasures) {
|
5448
|
-
const
|
5452
|
+
const arrSecondaryMeasures = Array.isArray(yMeasures) ? yMeasures : [
|
5449
5453
|
yMeasures
|
5450
5454
|
];
|
5451
|
-
const alias =
|
5452
|
-
|
5455
|
+
const alias = arrSecondaryMeasures.map((item)=>item.alias || item.id).toString();
|
5456
|
+
groupId += alias;
|
5453
5457
|
groupChildren.push({
|
5454
5458
|
id: `${index}-y`,
|
5455
|
-
alias:
|
5456
|
-
children:
|
5459
|
+
alias: arrSecondaryMeasures.map((item)=>item.alias || item.id).toString(),
|
5460
|
+
children: arrSecondaryMeasures
|
5457
5461
|
});
|
5458
5462
|
}
|
5459
5463
|
return {
|
5460
|
-
id,
|
5461
|
-
alias:
|
5464
|
+
id: groupId,
|
5465
|
+
alias: groupId,
|
5462
5466
|
children: groupChildren
|
5463
5467
|
};
|
5464
5468
|
});
|
5465
5469
|
if (1 === scatterMeasures.length) return measureTree[0].children || [];
|
5466
5470
|
return measureTree;
|
5467
5471
|
};
|
5472
|
+
const buildMeasuresForScatter_generateMeasuresByParentId = (measures)=>{
|
5473
|
+
const scatterMeasures = [];
|
5474
|
+
measures.forEach((item)=>{
|
5475
|
+
if (!item.parentId) return;
|
5476
|
+
if (!scatterMeasures.find((d)=>d.id === item.parentId)) scatterMeasures.push({
|
5477
|
+
id: item.parentId,
|
5478
|
+
yMeasures: [],
|
5479
|
+
xMeasures: []
|
5480
|
+
});
|
5481
|
+
const scatterChart = scatterMeasures.find((d)=>d.id === item.parentId);
|
5482
|
+
if (!scatterChart || !Array.isArray(scatterChart.yMeasures) || !Array.isArray(scatterChart.xMeasures)) return;
|
5483
|
+
const encoding = Array.isArray(item.encoding) ? item.encoding : [
|
5484
|
+
item.encoding
|
5485
|
+
];
|
5486
|
+
const isY = encoding.includes('yAxis');
|
5487
|
+
const isX = encoding.includes('xAxis');
|
5488
|
+
if (isY) scatterChart.yMeasures.push(item);
|
5489
|
+
else if (isX) scatterChart.xMeasures.push(item);
|
5490
|
+
else if (!isY && !isX) if (0 === scatterChart.yMeasures.length) scatterChart.yMeasures.push(item);
|
5491
|
+
else scatterChart.xMeasures.push(item);
|
5492
|
+
});
|
5493
|
+
return scatterMeasuresToMeasureTree(scatterMeasures);
|
5494
|
+
};
|
5468
5495
|
const encodingForScatter = (advancedVSeed, context)=>{
|
5469
5496
|
const { vseed } = context;
|
5470
5497
|
const { dimensions } = advancedVSeed;
|
@@ -5520,7 +5547,8 @@
|
|
5520
5547
|
if (xMeasures && xMeasures.children) {
|
5521
5548
|
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, xMeasures.children, encoding, {
|
5522
5549
|
foldMeasureValue: FoldXMeasureValue,
|
5523
|
-
colorItemAsId: true
|
5550
|
+
colorItemAsId: true,
|
5551
|
+
colorMeasureId: getColorMeasureId(advancedVSeed)
|
5524
5552
|
});
|
5525
5553
|
datasets.push(newDataset);
|
5526
5554
|
foldInfoList.push(foldInfo);
|
@@ -5529,7 +5557,8 @@
|
|
5529
5557
|
if (yMeasures && yMeasures.children) {
|
5530
5558
|
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(datasets[0], dimensions, yMeasures.children, encoding, {
|
5531
5559
|
foldMeasureValue: FoldYMeasureValue,
|
5532
|
-
colorItemAsId: true
|
5560
|
+
colorItemAsId: true,
|
5561
|
+
colorMeasureId: getColorMeasureId(advancedVSeed)
|
5533
5562
|
});
|
5534
5563
|
datasets[0] = newDataset;
|
5535
5564
|
foldInfoList.push(foldInfo);
|
@@ -5584,7 +5613,8 @@
|
|
5584
5613
|
if (xMeasures && xMeasures.children) {
|
5585
5614
|
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, xMeasures.children, encoding, {
|
5586
5615
|
foldMeasureValue: `${FoldXMeasureValue}${index}`,
|
5587
|
-
colorItemAsId: true
|
5616
|
+
colorItemAsId: true,
|
5617
|
+
colorMeasureId: getColorMeasureId(advancedVSeed)
|
5588
5618
|
});
|
5589
5619
|
datasets.push(newDataset);
|
5590
5620
|
foldInfoList.push(foldInfo);
|
@@ -5593,7 +5623,8 @@
|
|
5593
5623
|
if (yMeasures && yMeasures.children) {
|
5594
5624
|
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, yMeasures.children, encoding, {
|
5595
5625
|
foldMeasureValue: `${FoldYMeasureValue}${index}`,
|
5596
|
-
colorItemAsId: true
|
5626
|
+
colorItemAsId: true,
|
5627
|
+
colorMeasureId: getColorMeasureId(advancedVSeed)
|
5597
5628
|
});
|
5598
5629
|
datasets.push(newDataset);
|
5599
5630
|
foldInfoList.push(foldInfo);
|
@@ -5628,7 +5659,7 @@
|
|
5628
5659
|
};
|
5629
5660
|
const scatterAdvancedPipeline = [
|
5630
5661
|
initAdvancedVSeed_initAdvancedVSeed,
|
5631
|
-
|
5662
|
+
buildMeasuresForScatter,
|
5632
5663
|
autoDimensions_autoDimensions,
|
5633
5664
|
encodingForScatter,
|
5634
5665
|
pivotAdapter([
|
@@ -5775,68 +5806,55 @@
|
|
5775
5806
|
Builder._advancedPipelineMap.scatter = scatterAdvancedPipeline;
|
5776
5807
|
Builder._specPipelineMap.scatter = scatterSpecPipeline;
|
5777
5808
|
};
|
5778
|
-
const
|
5779
|
-
const result = {
|
5780
|
-
...advancedVSeed
|
5781
|
-
};
|
5809
|
+
const buildMeasuresForDualAxis = (advancedVSeed, context)=>{
|
5782
5810
|
const { vseed } = context;
|
5783
|
-
|
5784
|
-
|
5785
|
-
|
5786
|
-
if (dualMeasures) {
|
5787
|
-
result.measures = dualMeasuresToMeasureTree(dualMeasures);
|
5788
|
-
return result;
|
5811
|
+
if (isMeasureTreeWithChildren(vseed)) {
|
5812
|
+
advancedVSeed.measures = vseed.measures;
|
5813
|
+
return advancedVSeed;
|
5789
5814
|
}
|
5790
|
-
if (
|
5791
|
-
|
5792
|
-
return
|
5815
|
+
if (isMeasureTreeWithParentId(vseed)) {
|
5816
|
+
advancedVSeed.measures = buildMeasuresForDualAxis_generateMeasuresByParentId(vseed.measures);
|
5817
|
+
return advancedVSeed;
|
5793
5818
|
}
|
5794
|
-
const
|
5795
|
-
const
|
5796
|
-
|
5797
|
-
|
5798
|
-
|
5799
|
-
|
5800
|
-
|
5801
|
-
|
5802
|
-
|
5803
|
-
]
|
5804
|
-
|
5805
|
-
|
5806
|
-
|
5807
|
-
|
5808
|
-
|
5809
|
-
|
5810
|
-
|
5811
|
-
|
5812
|
-
|
5813
|
-
|
5814
|
-
|
5815
|
-
else if (newMeasures.length > 1) result.measures = [
|
5816
|
-
{
|
5817
|
-
id: 'primary',
|
5818
|
-
alias: 'primary',
|
5819
|
-
children: newMeasures.slice(0, 1)
|
5820
|
-
},
|
5819
|
+
const basicMeasures = getBasicMeasures(vseed);
|
5820
|
+
const dualMeasures = vseed.dualMeasures ? vseed.dualMeasures : basicMeasuresToDualMeasures(basicMeasures);
|
5821
|
+
advancedVSeed.measures = dualMeasuresToMeasureTree(dualMeasures);
|
5822
|
+
return advancedVSeed;
|
5823
|
+
};
|
5824
|
+
const basicMeasuresToDualMeasures = (basicMeasures)=>{
|
5825
|
+
const primaryMeasures = [];
|
5826
|
+
const secondaryMeasures = [];
|
5827
|
+
for(let index = 0; index < basicMeasures.length; index++){
|
5828
|
+
const item = basicMeasures[index];
|
5829
|
+
const encoding = Array.isArray(item.encoding) ? item.encoding : [
|
5830
|
+
item.encoding
|
5831
|
+
];
|
5832
|
+
const isPrimaryYAxis = encoding.includes('primaryYAxis');
|
5833
|
+
const isSecondaryYAxis = encoding.includes('secondaryYAxis');
|
5834
|
+
if (isPrimaryYAxis) primaryMeasures.push(item);
|
5835
|
+
else if (isSecondaryYAxis) secondaryMeasures.push(item);
|
5836
|
+
else if (0 === index) primaryMeasures.push(item);
|
5837
|
+
else secondaryMeasures.push(item);
|
5838
|
+
}
|
5839
|
+
return [
|
5821
5840
|
{
|
5822
|
-
id: '
|
5823
|
-
|
5824
|
-
|
5841
|
+
id: 'dualMeasures',
|
5842
|
+
primaryMeasures,
|
5843
|
+
secondaryMeasures
|
5825
5844
|
}
|
5826
5845
|
];
|
5827
|
-
return result;
|
5828
5846
|
};
|
5829
5847
|
const dualMeasuresToMeasureTree = (dualMeasures)=>{
|
5830
5848
|
const measureTree = dualMeasures.map((item, index)=>{
|
5831
|
-
const { primaryMeasures, secondaryMeasures } = item;
|
5849
|
+
const { id, primaryMeasures, secondaryMeasures } = item;
|
5832
5850
|
const groupChildren = [];
|
5833
|
-
let
|
5851
|
+
let groupId = `${id}-`;
|
5834
5852
|
if (primaryMeasures) {
|
5835
5853
|
const arrPrimaryMeasures = Array.isArray(primaryMeasures) ? primaryMeasures : [
|
5836
5854
|
primaryMeasures
|
5837
5855
|
];
|
5838
5856
|
const alias = arrPrimaryMeasures.map((item)=>item.alias || item.id).toString();
|
5839
|
-
|
5857
|
+
groupId += alias;
|
5840
5858
|
groupChildren.push({
|
5841
5859
|
id: `${index}-primary`,
|
5842
5860
|
alias: arrPrimaryMeasures.map((item)=>item.alias || item.id).toString(),
|
@@ -5848,7 +5866,7 @@
|
|
5848
5866
|
secondaryMeasures
|
5849
5867
|
];
|
5850
5868
|
const alias = arrSecondaryMeasures.map((item)=>item.alias || item.id).toString();
|
5851
|
-
|
5869
|
+
groupId += alias;
|
5852
5870
|
groupChildren.push({
|
5853
5871
|
id: `${index}-secondary`,
|
5854
5872
|
alias: arrSecondaryMeasures.map((item)=>item.alias || item.id).toString(),
|
@@ -5856,14 +5874,37 @@
|
|
5856
5874
|
});
|
5857
5875
|
}
|
5858
5876
|
return {
|
5859
|
-
id,
|
5860
|
-
alias:
|
5877
|
+
id: groupId,
|
5878
|
+
alias: groupId,
|
5861
5879
|
children: groupChildren
|
5862
5880
|
};
|
5863
5881
|
});
|
5864
5882
|
if (1 === dualMeasures.length) return measureTree[0].children || [];
|
5865
5883
|
return measureTree;
|
5866
5884
|
};
|
5885
|
+
const buildMeasuresForDualAxis_generateMeasuresByParentId = (measures)=>{
|
5886
|
+
const dualMeasures = [];
|
5887
|
+
measures.forEach((item)=>{
|
5888
|
+
if (!item.parentId) return;
|
5889
|
+
if (!dualMeasures.find((d)=>d.id === item.parentId)) dualMeasures.push({
|
5890
|
+
id: item.parentId,
|
5891
|
+
primaryMeasures: [],
|
5892
|
+
secondaryMeasures: []
|
5893
|
+
});
|
5894
|
+
const dualChart = dualMeasures.find((d)=>d.id === item.parentId);
|
5895
|
+
if (!dualChart || !Array.isArray(dualChart.primaryMeasures) || !Array.isArray(dualChart.secondaryMeasures)) return;
|
5896
|
+
const encoding = Array.isArray(item.encoding) ? item.encoding : [
|
5897
|
+
item.encoding
|
5898
|
+
];
|
5899
|
+
const isPrimary = encoding.includes('primaryYAxis');
|
5900
|
+
const isSecondary = encoding.includes('secondaryYAxis');
|
5901
|
+
if (isPrimary) dualChart.primaryMeasures.push(item);
|
5902
|
+
else if (isSecondary) dualChart.secondaryMeasures.push(item);
|
5903
|
+
else if (!isPrimary && !isSecondary) if (0 === dualChart.primaryMeasures.length) dualChart.primaryMeasures.push(item);
|
5904
|
+
else dualChart.secondaryMeasures.push(item);
|
5905
|
+
});
|
5906
|
+
return dualMeasuresToMeasureTree(dualMeasures);
|
5907
|
+
};
|
5867
5908
|
const encodingForDualAxis = (advancedVSeed, context)=>{
|
5868
5909
|
const { vseed } = context;
|
5869
5910
|
const { dimensions } = advancedVSeed;
|
@@ -5922,7 +5963,8 @@
|
|
5922
5963
|
const secondaryMeasures = measures[1] || [];
|
5923
5964
|
if (primaryMeasures && primaryMeasures.children) {
|
5924
5965
|
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, primaryMeasures.children, encoding, {
|
5925
|
-
foldMeasureValue: FoldPrimaryMeasureValue
|
5966
|
+
foldMeasureValue: FoldPrimaryMeasureValue,
|
5967
|
+
colorMeasureId: getColorMeasureId(advancedVSeed)
|
5926
5968
|
});
|
5927
5969
|
datasets.push(newDataset);
|
5928
5970
|
foldInfoList.push(foldInfo);
|
@@ -5930,7 +5972,8 @@
|
|
5930
5972
|
}
|
5931
5973
|
if (secondaryMeasures && secondaryMeasures.children) {
|
5932
5974
|
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, secondaryMeasures.children, encoding, {
|
5933
|
-
foldMeasureValue: FoldSecondaryMeasureValue
|
5975
|
+
foldMeasureValue: FoldSecondaryMeasureValue,
|
5976
|
+
colorMeasureId: getColorMeasureId(advancedVSeed)
|
5934
5977
|
});
|
5935
5978
|
datasets.push(newDataset);
|
5936
5979
|
foldInfoList.push(foldInfo);
|
@@ -5984,7 +6027,8 @@
|
|
5984
6027
|
const secondaryMeasures = measures[1] || [];
|
5985
6028
|
if (primaryMeasures && primaryMeasures.children) {
|
5986
6029
|
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, primaryMeasures.children, encoding, {
|
5987
|
-
foldMeasureValue: `${FoldPrimaryMeasureValue}${index}
|
6030
|
+
foldMeasureValue: `${FoldPrimaryMeasureValue}${index}`,
|
6031
|
+
colorMeasureId: getColorMeasureId(advancedVSeed)
|
5988
6032
|
});
|
5989
6033
|
datasets.push(newDataset);
|
5990
6034
|
foldInfoList.push(foldInfo);
|
@@ -5992,7 +6036,8 @@
|
|
5992
6036
|
}
|
5993
6037
|
if (secondaryMeasures && secondaryMeasures.children) {
|
5994
6038
|
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, secondaryMeasures.children, encoding, {
|
5995
|
-
foldMeasureValue: `${FoldSecondaryMeasureValue}${index}
|
6039
|
+
foldMeasureValue: `${FoldSecondaryMeasureValue}${index}`,
|
6040
|
+
colorMeasureId: getColorMeasureId(advancedVSeed)
|
5996
6041
|
});
|
5997
6042
|
datasets.push(newDataset);
|
5998
6043
|
foldInfoList.push(foldInfo);
|
@@ -6050,7 +6095,7 @@
|
|
6050
6095
|
};
|
6051
6096
|
const dualAxisAdvancedPipeline = [
|
6052
6097
|
initAdvancedVSeed_initAdvancedVSeed,
|
6053
|
-
|
6098
|
+
buildMeasuresForDualAxis,
|
6054
6099
|
autoDimensions_autoDimensions,
|
6055
6100
|
encodingForDualAxis,
|
6056
6101
|
pivotAdapter([
|
@@ -6137,7 +6182,7 @@
|
|
6137
6182
|
result.direction = 'vertical';
|
6138
6183
|
result.xField = unfoldInfo.encodingX;
|
6139
6184
|
if (foldInfoList?.[1]) result.yField = foldInfoList[1].measureValue;
|
6140
|
-
result.seriesField = unfoldInfo.encodingColorId;
|
6185
|
+
result.seriesField = isLinearColor(advancedVSeed) ? unfoldInfo.encodingDetail : unfoldInfo.encodingColorId;
|
6141
6186
|
result.animation = true;
|
6142
6187
|
return result;
|
6143
6188
|
};
|
@@ -6763,6 +6808,37 @@
|
|
6763
6808
|
];
|
6764
6809
|
return result;
|
6765
6810
|
};
|
6811
|
+
const linearColorForDualAxis = (spec, context)=>{
|
6812
|
+
const result = {
|
6813
|
+
...spec
|
6814
|
+
};
|
6815
|
+
const { advancedVSeed } = context;
|
6816
|
+
const { datasetReshapeInfo, chartType } = advancedVSeed;
|
6817
|
+
const { unfoldInfo, id } = datasetReshapeInfo[0];
|
6818
|
+
const baseConfig = advancedVSeed.config[chartType];
|
6819
|
+
if (!baseConfig || !baseConfig.color) return result;
|
6820
|
+
const { color } = baseConfig;
|
6821
|
+
const { colorScheme, linearColorScheme } = color;
|
6822
|
+
result.color = {
|
6823
|
+
type: 'linear',
|
6824
|
+
range: linearColorScheme || colorScheme || [],
|
6825
|
+
domain: [
|
6826
|
+
{
|
6827
|
+
dataId: `${id}-primary-dataset`,
|
6828
|
+
fields: [
|
6829
|
+
unfoldInfo.encodingColor
|
6830
|
+
]
|
6831
|
+
},
|
6832
|
+
{
|
6833
|
+
dataId: `${id}-secondary-dataset`,
|
6834
|
+
fields: [
|
6835
|
+
unfoldInfo.encodingColor
|
6836
|
+
]
|
6837
|
+
}
|
6838
|
+
]
|
6839
|
+
};
|
6840
|
+
return result;
|
6841
|
+
};
|
6766
6842
|
const dualAxis = [
|
6767
6843
|
seriesDualAxis([
|
6768
6844
|
initDualAxisPrimary,
|
@@ -6771,11 +6847,11 @@
|
|
6771
6847
|
labelPrimary,
|
6772
6848
|
tooltipPrimary,
|
6773
6849
|
progressive,
|
6774
|
-
barStyle_barStyle,
|
6775
|
-
pointStyle_pointStyle,
|
6850
|
+
colorBarStyleFill(barStyle_barStyle),
|
6851
|
+
colorPointStyleFill(pointStyle_pointStyle),
|
6776
6852
|
pointStateDimensionHover,
|
6777
|
-
lineStyle_lineStyle,
|
6778
|
-
areaStyle_areaStyle
|
6853
|
+
colorLineStyleFill(lineStyle_lineStyle),
|
6854
|
+
colorAreaStyleFill(areaStyle_areaStyle)
|
6779
6855
|
], [
|
6780
6856
|
initDualAxisSecondary,
|
6781
6857
|
dualChartTypeSecondary,
|
@@ -6783,18 +6859,18 @@
|
|
6783
6859
|
labelSecondary,
|
6784
6860
|
tooltipSecondary,
|
6785
6861
|
progressive,
|
6786
|
-
barStyle_barStyle,
|
6787
|
-
pointStyle_pointStyle,
|
6862
|
+
colorBarStyleFill(barStyle_barStyle),
|
6863
|
+
colorPointStyleFill(pointStyle_pointStyle),
|
6788
6864
|
pointStateDimensionHover,
|
6789
|
-
lineStyle_lineStyle,
|
6790
|
-
areaStyle_areaStyle
|
6865
|
+
colorLineStyleFill(lineStyle_lineStyle),
|
6866
|
+
colorAreaStyleFill(areaStyle_areaStyle)
|
6791
6867
|
]),
|
6792
6868
|
xBand,
|
6793
6869
|
yLinearPrimary,
|
6794
6870
|
yLinearSecondary,
|
6795
|
-
color_color,
|
6871
|
+
colorAdapter(color_color, linearColorForDualAxis),
|
6872
|
+
colorAdapter(discreteLegend, colorLegend),
|
6796
6873
|
background_backgroundColor,
|
6797
|
-
discreteLegend,
|
6798
6874
|
verticalCrosshairRect,
|
6799
6875
|
annotationPoint_annotationPoint,
|
6800
6876
|
annotationVerticalLine_annotationVerticalLine,
|
@@ -6814,11 +6890,11 @@
|
|
6814
6890
|
labelPrimary,
|
6815
6891
|
tooltipPrimary,
|
6816
6892
|
progressive,
|
6817
|
-
barStyle_barStyle,
|
6818
|
-
pointStyle_pointStyle,
|
6893
|
+
colorBarStyleFill(barStyle_barStyle),
|
6894
|
+
colorPointStyleFill(pointStyle_pointStyle),
|
6819
6895
|
pointStateDimensionHover,
|
6820
|
-
lineStyle_lineStyle,
|
6821
|
-
areaStyle_areaStyle
|
6896
|
+
colorLineStyleFill(lineStyle_lineStyle),
|
6897
|
+
colorAreaStyleFill(areaStyle_areaStyle)
|
6822
6898
|
], [
|
6823
6899
|
initDualAxisSecondary,
|
6824
6900
|
dualChartTypeSecondary,
|
@@ -6826,16 +6902,16 @@
|
|
6826
6902
|
labelSecondary,
|
6827
6903
|
tooltipSecondary,
|
6828
6904
|
progressive,
|
6829
|
-
barStyle_barStyle,
|
6830
|
-
pointStyle_pointStyle,
|
6905
|
+
colorBarStyleFill(barStyle_barStyle),
|
6906
|
+
colorPointStyleFill(pointStyle_pointStyle),
|
6831
6907
|
pointStateDimensionHover,
|
6832
|
-
lineStyle_lineStyle,
|
6833
|
-
areaStyle_areaStyle
|
6908
|
+
colorLineStyleFill(lineStyle_lineStyle),
|
6909
|
+
colorAreaStyleFill(areaStyle_areaStyle)
|
6834
6910
|
]),
|
6835
6911
|
xBand,
|
6836
6912
|
yLinearPrimary,
|
6837
6913
|
yLinearSecondary,
|
6838
|
-
color_color,
|
6914
|
+
colorAdapter(color_color, linearColor),
|
6839
6915
|
background_backgroundColor,
|
6840
6916
|
verticalCrosshairRect,
|
6841
6917
|
annotationPoint_annotationPoint,
|
@@ -6845,7 +6921,7 @@
|
|
6845
6921
|
]),
|
6846
6922
|
pivotRowDimensions,
|
6847
6923
|
pivotColumnDimensions,
|
6848
|
-
pivotDiscreteLegend
|
6924
|
+
colorAdapter(pivotDiscreteLegend, pivotColorLegend)
|
6849
6925
|
];
|
6850
6926
|
const dualAxisSpecPipeline = [
|
6851
6927
|
pivotAdapter_pivotAdapter(dualAxis, pivotDualAxis)
|
@@ -6880,7 +6956,7 @@
|
|
6880
6956
|
};
|
6881
6957
|
const pieAdvancedPipeline = [
|
6882
6958
|
initAdvancedVSeed_initAdvancedVSeed,
|
6883
|
-
|
6959
|
+
buildMeasures,
|
6884
6960
|
autoDimensions_autoDimensions,
|
6885
6961
|
encodingForPie,
|
6886
6962
|
pivotAdapter([
|
@@ -6971,7 +7047,7 @@
|
|
6971
7047
|
};
|
6972
7048
|
const donutAdvancedPipeline = [
|
6973
7049
|
initAdvancedVSeed_initAdvancedVSeed,
|
6974
|
-
|
7050
|
+
buildMeasures,
|
6975
7051
|
autoDimensions_autoDimensions,
|
6976
7052
|
encodingForPie,
|
6977
7053
|
pivotAdapter([
|
@@ -7103,7 +7179,7 @@
|
|
7103
7179
|
};
|
7104
7180
|
const roseAdvancedPipeline = [
|
7105
7181
|
initAdvancedVSeed_initAdvancedVSeed,
|
7106
|
-
|
7182
|
+
buildMeasures,
|
7107
7183
|
autoDimensions_autoDimensions,
|
7108
7184
|
encodingForRose,
|
7109
7185
|
pivotAdapter([
|
@@ -7272,7 +7348,7 @@
|
|
7272
7348
|
};
|
7273
7349
|
const roseParallelAdvancedPipeline = [
|
7274
7350
|
initAdvancedVSeed_initAdvancedVSeed,
|
7275
|
-
|
7351
|
+
buildMeasures,
|
7276
7352
|
autoDimensions_autoDimensions,
|
7277
7353
|
encodingForRose,
|
7278
7354
|
pivotAdapter([
|
@@ -7421,7 +7497,7 @@
|
|
7421
7497
|
};
|
7422
7498
|
const radarAdvancedPipeline = [
|
7423
7499
|
initAdvancedVSeed_initAdvancedVSeed,
|
7424
|
-
|
7500
|
+
buildMeasures,
|
7425
7501
|
autoDimensions_autoDimensions,
|
7426
7502
|
encodingForRadar,
|
7427
7503
|
pivotAdapter([
|
@@ -7583,7 +7659,7 @@
|
|
7583
7659
|
};
|
7584
7660
|
const funnelAdvancedPipeline = [
|
7585
7661
|
initAdvancedVSeed_initAdvancedVSeed,
|
7586
|
-
|
7662
|
+
buildMeasures,
|
7587
7663
|
autoDimensions_autoDimensions,
|
7588
7664
|
encodingForFunnel,
|
7589
7665
|
pivotAdapter([
|
@@ -7714,7 +7790,7 @@
|
|
7714
7790
|
};
|
7715
7791
|
const heatmapAdvancedPipeline = [
|
7716
7792
|
initAdvancedVSeed_initAdvancedVSeed,
|
7717
|
-
|
7793
|
+
buildMeasures,
|
7718
7794
|
autoDimensions_autoDimensions,
|
7719
7795
|
encodingForHeatmap,
|
7720
7796
|
pivotAdapter([
|
@@ -11864,7 +11940,20 @@
|
|
11864
11940
|
id: schemas_string(),
|
11865
11941
|
alias: schemas_string().optional(),
|
11866
11942
|
autoFormat: schemas_boolean().default(true),
|
11867
|
-
format: zNumFormat["default"]({})
|
11943
|
+
format: zNumFormat["default"]({}),
|
11944
|
+
encoding: schemas_enum([
|
11945
|
+
'primaryYAxis',
|
11946
|
+
'secondaryYAxis',
|
11947
|
+
'xAxis',
|
11948
|
+
'yAxis',
|
11949
|
+
'angle',
|
11950
|
+
'radius',
|
11951
|
+
'size',
|
11952
|
+
'color',
|
11953
|
+
'label',
|
11954
|
+
'tooltip'
|
11955
|
+
]).optional(),
|
11956
|
+
parentId: schemas_string().optional()
|
11868
11957
|
});
|
11869
11958
|
const zMeasureGroup = schemas_object({
|
11870
11959
|
id: schemas_string(),
|
@@ -11926,7 +12015,6 @@
|
|
11926
12015
|
column: schemas_array(schemas_string()).nullish(),
|
11927
12016
|
group: schemas_array(schemas_string()).nullish().describe("\u5DF2\u5F03\u7528, \u8BF7\u4F7F\u7528\u989C\u8272\u66FF\u4EE3")
|
11928
12017
|
});
|
11929
|
-
const zEncodings = schemas_array(zEncoding);
|
11930
12018
|
const zXBandAxis = schemas_object({
|
11931
12019
|
visible: schemas_boolean().default(true).nullish(),
|
11932
12020
|
labelAutoHide: schemas_boolean().default(true).nullish(),
|
@@ -13069,7 +13157,6 @@
|
|
13069
13157
|
dimensions: zDimensionTree,
|
13070
13158
|
measures: zMeasureTree,
|
13071
13159
|
encoding: zEncoding,
|
13072
|
-
encodings: zEncodings,
|
13073
13160
|
config: zConfig,
|
13074
13161
|
analysis: zAnalysis,
|
13075
13162
|
theme: zTheme,
|