@visactor/vseed 0.1.3 → 0.1.4
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 -2
- package/dist/dataReshape/foldMeasures.d.ts +2 -2
- package/dist/index.cjs +520 -370
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +533 -383
- package/dist/index.js.map +1 -1
- package/dist/pipeline/advanced/chart/pipes/init/index.d.ts +1 -0
- package/dist/pipeline/advanced/chart/pipes/init/utils.d.ts +2 -0
- package/dist/pipeline/advanced/chart/pipes/measures/index.d.ts +1 -0
- package/dist/types/advancedVSeed.d.ts +16 -5
- package/dist/types/chartType/area/zArea.d.ts +16 -5
- package/dist/types/chartType/areaPercent/zAreaPercent.d.ts +16 -5
- package/dist/types/chartType/bar/zBar.d.ts +16 -5
- package/dist/types/chartType/barParallel/zBarParallel.d.ts +16 -5
- package/dist/types/chartType/barPercent/zBarPercent.d.ts +16 -5
- package/dist/types/chartType/column/zColumn.d.ts +16 -5
- package/dist/types/chartType/columnParallel/zColumnParallel.d.ts +16 -5
- package/dist/types/chartType/columnPercent/zColumnPercent.d.ts +16 -5
- package/dist/types/chartType/donut/zDonut.d.ts +16 -5
- package/dist/types/chartType/dualAxis/zDualAxis.d.ts +36 -25
- package/dist/types/chartType/funnel/zFunnel.d.ts +16 -5
- package/dist/types/chartType/heatmap/zHeatmap.d.ts +16 -5
- package/dist/types/chartType/line/zLine.d.ts +16 -5
- package/dist/types/chartType/pie/zPie.d.ts +16 -5
- package/dist/types/chartType/pivotTable/zPivotTable.d.ts +16 -5
- package/dist/types/chartType/radar/zRadar.d.ts +16 -5
- package/dist/types/chartType/rose/zRose.d.ts +16 -5
- package/dist/types/chartType/roseParallel/zRoseParallel.d.ts +16 -5
- package/dist/types/chartType/scatter/zScatter.d.ts +36 -25
- package/dist/types/chartType/table/zTable.d.ts +16 -5
- package/dist/types/properties/dimensions/dimensions.d.ts +16 -0
- package/dist/types/properties/dimensions/zDimensions.d.ts +33 -0
- package/dist/types/properties/measures/zDualMeasures.d.ts +40 -40
- package/dist/types/properties/measures/zMeasures.d.ts +15 -15
- package/dist/types/properties/measures/zScatterMeasures.d.ts +40 -40
- package/dist/types/zVseed.d.ts +360 -140
- package/dist/umd/index.js +534 -370
- package/dist/umd/index.js.map +1 -1
- package/package.json +1 -1
package/dist/umd/index.js
CHANGED
@@ -1445,6 +1445,57 @@
|
|
1445
1445
|
locale: locale || 'zh-CN'
|
1446
1446
|
};
|
1447
1447
|
};
|
1448
|
+
const ORIGINAL_DATA = '__OriginalData__';
|
1449
|
+
const Separator = '-';
|
1450
|
+
const FoldMeasureName = '__MeaName__';
|
1451
|
+
const FoldMeasureId = '__MeaId__';
|
1452
|
+
const FoldMeasureValue = '__MeaValue__';
|
1453
|
+
const MeasureName = FoldMeasureName;
|
1454
|
+
const FoldPrimaryMeasureValue = '__MeaPrimaryValue__';
|
1455
|
+
const FoldSecondaryMeasureValue = '__MeaSecondaryValue__';
|
1456
|
+
const FoldXMeasureValue = '__MeaXValue__';
|
1457
|
+
const FoldYMeasureValue = '__MeaYValue__';
|
1458
|
+
const XEncoding = '__Dim_X__';
|
1459
|
+
const YEncoding = '__Dim_Y__';
|
1460
|
+
const AngleEncoding = '__Dim_Angle__';
|
1461
|
+
const DetailEncoding = '__Dim_Detail__';
|
1462
|
+
const ColorEncoding = '__Dim_Color__';
|
1463
|
+
const ColorIdEncoding = '__Dim_ColorId__';
|
1464
|
+
const getBasicDimensions = (vseed)=>{
|
1465
|
+
const { dimensions, dataset } = vseed;
|
1466
|
+
const MeaName = {
|
1467
|
+
id: MeasureName,
|
1468
|
+
alias: intl.i18n`指标名称`,
|
1469
|
+
encoding: 'detail'
|
1470
|
+
};
|
1471
|
+
if (!dataset) throw new Error('dataset is required');
|
1472
|
+
if (0 === dataset.length) return [];
|
1473
|
+
if (dimensions) {
|
1474
|
+
const basicDimensions = dimensions.map((dim)=>({
|
1475
|
+
location: 'dimension',
|
1476
|
+
...dim
|
1477
|
+
}));
|
1478
|
+
if (basicDimensions.some((dim)=>dim.id === MeasureName)) return basicDimensions;
|
1479
|
+
basicDimensions.push(MeaName);
|
1480
|
+
return basicDimensions;
|
1481
|
+
}
|
1482
|
+
const top100dataset = dataset.slice(0, 100);
|
1483
|
+
const sample = top100dataset.reduce((prev, cur)=>({
|
1484
|
+
...prev,
|
1485
|
+
...cur
|
1486
|
+
}), {});
|
1487
|
+
const basicDimensions = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'string' == typeof item[key]) && ![
|
1488
|
+
'',
|
1489
|
+
null,
|
1490
|
+
void 0
|
1491
|
+
].includes(key)).map((dim)=>({
|
1492
|
+
id: dim,
|
1493
|
+
alias: dim,
|
1494
|
+
location: 'dimension'
|
1495
|
+
}));
|
1496
|
+
basicDimensions.push(MeaName);
|
1497
|
+
return basicDimensions;
|
1498
|
+
};
|
1448
1499
|
const getBasicMeasures = (vseed)=>{
|
1449
1500
|
const { dataset, measures } = vseed;
|
1450
1501
|
if (!measures || 0 === measures.length) return generateMeasuresByDataset(dataset);
|
@@ -1478,6 +1529,54 @@
|
|
1478
1529
|
if (!measures) return false;
|
1479
1530
|
return measures.some((measure)=>'parentId' in measure);
|
1480
1531
|
};
|
1532
|
+
const encodingForLine = (advancedVSeed, context)=>{
|
1533
|
+
const { vseed } = context;
|
1534
|
+
const { measures: vseedMeasures = [] } = vseed;
|
1535
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
1536
|
+
const dimensions = getBasicDimensions(vseed);
|
1537
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
1538
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
1539
|
+
const encoding = {};
|
1540
|
+
if (hasDimensionEncoding) generateDimensionEncoding(dimensions, encoding);
|
1541
|
+
else generateDefaultDimensionEncoding(dimensions, encoding);
|
1542
|
+
if (hasMeasureEncoding) generateMeasureEncoding(measures, encoding);
|
1543
|
+
else generateDefaultMeasureEncoding(measures, encoding);
|
1544
|
+
return {
|
1545
|
+
...advancedVSeed,
|
1546
|
+
encoding
|
1547
|
+
};
|
1548
|
+
};
|
1549
|
+
const generateDefaultMeasureEncoding = (measures, encoding)=>{
|
1550
|
+
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
1551
|
+
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
1552
|
+
};
|
1553
|
+
const generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
1554
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
1555
|
+
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
1556
|
+
encoding.x = uniqueDimIds.slice(0, 1);
|
1557
|
+
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
1558
|
+
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
1559
|
+
encoding.tooltip = uniqueDimIds;
|
1560
|
+
encoding.label = [];
|
1561
|
+
encoding.row = [];
|
1562
|
+
encoding.column = [];
|
1563
|
+
};
|
1564
|
+
const generateMeasureEncoding = (measures, encoding)=>{
|
1565
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
1566
|
+
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
1567
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
1568
|
+
if (color.length > 0) encoding.color = color;
|
1569
|
+
};
|
1570
|
+
const generateDimensionEncoding = (dimensions, encoding)=>{
|
1571
|
+
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
1572
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
1573
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
1574
|
+
if (0 === encoding.x.length) encoding.x = [
|
1575
|
+
dimensions[0].id
|
1576
|
+
];
|
1577
|
+
if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
1578
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
1579
|
+
};
|
1481
1580
|
const measureDepth = (measures = [])=>{
|
1482
1581
|
if (!measures) return 0;
|
1483
1582
|
let depth = 1;
|
@@ -1498,7 +1597,7 @@
|
|
1498
1597
|
if (isVTable(vseed)) return false;
|
1499
1598
|
if (isMeasureTreeWithParentId(vseed)) {
|
1500
1599
|
const parentIds = vseed.measures?.map((measure)=>measure.parentId);
|
1501
|
-
return parentIds && parentIds.length > 1;
|
1600
|
+
return parentIds && chunk_QJLMYOTX_i(parentIds).length > 1;
|
1502
1601
|
}
|
1503
1602
|
if ('dualAxis' === vseed.chartType || 'scatter' === vseed.chartType) {
|
1504
1603
|
const { dimensions = [] } = vseed;
|
@@ -1569,22 +1668,6 @@
|
|
1569
1668
|
}
|
1570
1669
|
];
|
1571
1670
|
};
|
1572
|
-
const ORIGINAL_DATA = '__OriginalData__';
|
1573
|
-
const Separator = '-';
|
1574
|
-
const FoldMeasureName = '__MeaName__';
|
1575
|
-
const FoldMeasureId = '__MeaId__';
|
1576
|
-
const FoldMeasureValue = '__MeaValue__';
|
1577
|
-
const MeasureName = FoldMeasureName;
|
1578
|
-
const FoldPrimaryMeasureValue = '__MeaPrimaryValue__';
|
1579
|
-
const FoldSecondaryMeasureValue = '__MeaSecondaryValue__';
|
1580
|
-
const FoldXMeasureValue = '__MeaXValue__';
|
1581
|
-
const FoldYMeasureValue = '__MeaYValue__';
|
1582
|
-
const XEncoding = '__Dim_X__';
|
1583
|
-
const YEncoding = '__Dim_Y__';
|
1584
|
-
const AngleEncoding = '__Dim_Angle__';
|
1585
|
-
const DetailEncoding = '__Dim_Detail__';
|
1586
|
-
const ColorEncoding = '__Dim_Color__';
|
1587
|
-
const ColorIdEncoding = '__Dim_ColorId__';
|
1588
1671
|
const autoDimensions_autoDimensions = (advancedVSeed, context)=>{
|
1589
1672
|
const result = {
|
1590
1673
|
...advancedVSeed
|
@@ -1624,51 +1707,26 @@
|
|
1624
1707
|
result.dimensions.push(MeaName);
|
1625
1708
|
return result;
|
1626
1709
|
};
|
1627
|
-
const encodingForLine = (advancedVSeed, context)=>{
|
1628
|
-
const { vseed } = context;
|
1629
|
-
const { dimensions } = advancedVSeed;
|
1630
|
-
if (!dimensions) return advancedVSeed;
|
1631
|
-
const encoding = vseed.encoding;
|
1632
|
-
if (encoding) {
|
1633
|
-
const x = encoding.x || [
|
1634
|
-
dimensions[0].id
|
1635
|
-
];
|
1636
|
-
const color = encoding.color || [
|
1637
|
-
(dimensions[1] || dimensions[0]).id
|
1638
|
-
];
|
1639
|
-
const detail = encoding.detail || [];
|
1640
|
-
const mergedDetail = 0 === detail.length ? dimensions.map((d)=>d.id).filter((id)=>!x.includes(id)) : encoding.detail;
|
1641
|
-
return {
|
1642
|
-
...advancedVSeed,
|
1643
|
-
encoding: {
|
1644
|
-
...encoding,
|
1645
|
-
x,
|
1646
|
-
color,
|
1647
|
-
detail: mergedDetail
|
1648
|
-
}
|
1649
|
-
};
|
1650
|
-
}
|
1651
|
-
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
1652
|
-
const mergedEncoding = {
|
1653
|
-
x: dimensions.slice(0, 1).map((item)=>item.id),
|
1654
|
-
color: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
1655
|
-
detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
1656
|
-
tooltip: dimensions.map((item)=>item.id),
|
1657
|
-
label: [],
|
1658
|
-
row: [],
|
1659
|
-
column: []
|
1660
|
-
};
|
1661
|
-
return {
|
1662
|
-
...advancedVSeed,
|
1663
|
-
encoding: mergedEncoding
|
1664
|
-
};
|
1665
|
-
};
|
1666
1710
|
const pivotAdapter = (pipeline, pivotPipeline)=>(advancedVSeed, context)=>{
|
1667
1711
|
const { vseed } = context;
|
1668
1712
|
const usePivotChart = isPivotChart(vseed);
|
1669
1713
|
if (usePivotChart) return execPipeline(pivotPipeline, context, advancedVSeed);
|
1670
1714
|
return execPipeline(pipeline, context, advancedVSeed);
|
1671
1715
|
};
|
1716
|
+
function T(...e) {
|
1717
|
+
return chunk_LFJW7BOT_y(chunk_7ZI6JRPB_y, e);
|
1718
|
+
}
|
1719
|
+
function chunk_7ZI6JRPB_y(e) {
|
1720
|
+
let u = e, n = new Set;
|
1721
|
+
return (t, i, d)=>{
|
1722
|
+
let r = u(t, i, d);
|
1723
|
+
return n.has(r) ? chunk_ANXBDSUI_s : (n.add(r), {
|
1724
|
+
done: !1,
|
1725
|
+
hasNext: !0,
|
1726
|
+
next: t
|
1727
|
+
});
|
1728
|
+
};
|
1729
|
+
}
|
1672
1730
|
function chunk_AIG3BDKO_i(...e) {
|
1673
1731
|
return chunk_WIMGWYZL_u(chunk_AIG3BDKO_n, e);
|
1674
1732
|
}
|
@@ -1690,7 +1748,7 @@
|
|
1690
1748
|
for (let r of e)delete o[r];
|
1691
1749
|
return o;
|
1692
1750
|
}
|
1693
|
-
const foldMeasures = (dataset, measures,
|
1751
|
+
const foldMeasures = (dataset, measures, options)=>{
|
1694
1752
|
const { measureId, measureName, measureValue, colorMeasureId } = options || {};
|
1695
1753
|
const foldInfo = {
|
1696
1754
|
measureId,
|
@@ -1791,7 +1849,7 @@
|
|
1791
1849
|
};
|
1792
1850
|
const dataReshapeByEncoding = (dataset, dimensions, measures, encoding, options)=>{
|
1793
1851
|
const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue, colorItemAsId = false, colorMeasureId } = options || {};
|
1794
|
-
const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures,
|
1852
|
+
const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures, {
|
1795
1853
|
measureId: foldMeasureId,
|
1796
1854
|
measureName: foldMeasureName,
|
1797
1855
|
measureValue: foldMeasureValue,
|
@@ -1835,7 +1893,7 @@
|
|
1835
1893
|
const { dimensions, measures, encoding } = advancedVSeed;
|
1836
1894
|
if (!measures || !dimensions || !dataset || !encoding) return result;
|
1837
1895
|
if (0 === measures.length) throw new Error('measures can not be empty');
|
1838
|
-
const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, measures, encoding, {
|
1896
|
+
const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, T(dimensions, (item)=>item.id), T(findAllMeasures(measures), (item)=>item.id), encoding, {
|
1839
1897
|
colorMeasureId: getColorMeasureId(advancedVSeed)
|
1840
1898
|
});
|
1841
1899
|
return {
|
@@ -1872,7 +1930,7 @@
|
|
1872
1930
|
const measures = measureGroup.children;
|
1873
1931
|
if (!measures) return;
|
1874
1932
|
const groupId = measureGroup.id;
|
1875
|
-
const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, measures, encoding, {
|
1933
|
+
const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, T(dimensions, (item)=>item.id), T(measures, (item)=>item.id), encoding, {
|
1876
1934
|
foldMeasureValue: `${FoldMeasureValue}${groupId}`,
|
1877
1935
|
colorMeasureId: getColorMeasureId(advancedVSeed)
|
1878
1936
|
});
|
@@ -2090,9 +2148,9 @@
|
|
2090
2148
|
};
|
2091
2149
|
const lineAdvancedPipeline = [
|
2092
2150
|
initAdvancedVSeed_initAdvancedVSeed,
|
2151
|
+
encodingForLine,
|
2093
2152
|
buildMeasures,
|
2094
2153
|
autoDimensions_autoDimensions,
|
2095
|
-
encodingForLine,
|
2096
2154
|
pivotAdapter([
|
2097
2155
|
reshapeWithEncoding
|
2098
2156
|
], [
|
@@ -3912,51 +3970,58 @@
|
|
3912
3970
|
};
|
3913
3971
|
const encodingForColumn = (advancedVSeed, context)=>{
|
3914
3972
|
const { vseed } = context;
|
3915
|
-
const {
|
3916
|
-
|
3917
|
-
const
|
3918
|
-
|
3919
|
-
|
3920
|
-
|
3921
|
-
|
3922
|
-
|
3923
|
-
|
3924
|
-
|
3925
|
-
const detail = encoding.detail || [];
|
3926
|
-
const mergedDetail = 0 === detail.length ? chunk_QJLMYOTX_i([
|
3927
|
-
...color,
|
3928
|
-
...detail
|
3929
|
-
]) : detail;
|
3930
|
-
return {
|
3931
|
-
...advancedVSeed,
|
3932
|
-
encoding: {
|
3933
|
-
...encoding,
|
3934
|
-
x,
|
3935
|
-
color,
|
3936
|
-
detail: mergedDetail
|
3937
|
-
}
|
3938
|
-
};
|
3939
|
-
}
|
3940
|
-
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
3941
|
-
const mergedEncoding = {
|
3942
|
-
x: dimensions.slice(0, 1).map((item)=>item.id),
|
3943
|
-
color: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
3944
|
-
detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
3945
|
-
tooltip: dimensions.map((item)=>item.id),
|
3946
|
-
label: [],
|
3947
|
-
row: [],
|
3948
|
-
column: []
|
3949
|
-
};
|
3973
|
+
const { measures: vseedMeasures = [] } = vseed;
|
3974
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
3975
|
+
const dimensions = getBasicDimensions(vseed);
|
3976
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
3977
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
3978
|
+
const encoding = {};
|
3979
|
+
if (hasDimensionEncoding) column_generateDimensionEncoding(dimensions, encoding);
|
3980
|
+
else column_generateDefaultDimensionEncoding(dimensions, encoding);
|
3981
|
+
if (hasMeasureEncoding) column_generateMeasureEncoding(measures, encoding);
|
3982
|
+
else column_generateDefaultMeasureEncoding(measures, encoding);
|
3950
3983
|
return {
|
3951
3984
|
...advancedVSeed,
|
3952
|
-
encoding
|
3985
|
+
encoding
|
3953
3986
|
};
|
3954
3987
|
};
|
3988
|
+
const column_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
3989
|
+
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
3990
|
+
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
3991
|
+
};
|
3992
|
+
const column_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
3993
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
3994
|
+
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
3995
|
+
encoding.x = uniqueDimIds.slice(0, 1);
|
3996
|
+
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
3997
|
+
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
3998
|
+
encoding.tooltip = uniqueDimIds;
|
3999
|
+
encoding.label = [];
|
4000
|
+
encoding.row = [];
|
4001
|
+
encoding.column = [];
|
4002
|
+
};
|
4003
|
+
const column_generateMeasureEncoding = (measures, encoding)=>{
|
4004
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
4005
|
+
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4006
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4007
|
+
if (color.length > 0) encoding.color = color;
|
4008
|
+
return encoding;
|
4009
|
+
};
|
4010
|
+
const column_generateDimensionEncoding = (dimensions, encoding)=>{
|
4011
|
+
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4012
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4013
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
4014
|
+
if (0 === encoding.x.length) encoding.x = [
|
4015
|
+
dimensions[0].id
|
4016
|
+
];
|
4017
|
+
if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
4018
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
4019
|
+
};
|
3955
4020
|
const columnAdvancedPipeline = [
|
3956
4021
|
initAdvancedVSeed_initAdvancedVSeed,
|
4022
|
+
encodingForColumn,
|
3957
4023
|
buildMeasures,
|
3958
4024
|
autoDimensions_autoDimensions,
|
3959
|
-
encodingForColumn,
|
3960
4025
|
pivotAdapter([
|
3961
4026
|
reshapeWithEncoding
|
3962
4027
|
], [
|
@@ -4403,9 +4468,9 @@
|
|
4403
4468
|
};
|
4404
4469
|
const columnParallelAdvancedPipeline = [
|
4405
4470
|
initAdvancedVSeed_initAdvancedVSeed,
|
4471
|
+
encodingForColumn,
|
4406
4472
|
buildMeasures,
|
4407
4473
|
autoDimensions_autoDimensions,
|
4408
|
-
encodingForColumn,
|
4409
4474
|
pivotAdapter([
|
4410
4475
|
reshapeWithEncoding
|
4411
4476
|
], [
|
@@ -4500,9 +4565,9 @@
|
|
4500
4565
|
};
|
4501
4566
|
const columnPercentAdvancedPipeline = [
|
4502
4567
|
initAdvancedVSeed_initAdvancedVSeed,
|
4568
|
+
encodingForColumn,
|
4503
4569
|
buildMeasures,
|
4504
4570
|
autoDimensions_autoDimensions,
|
4505
|
-
encodingForColumn,
|
4506
4571
|
pivotAdapter([
|
4507
4572
|
reshapeWithEncoding
|
4508
4573
|
], [
|
@@ -4581,46 +4646,53 @@
|
|
4581
4646
|
};
|
4582
4647
|
const encodingForBar = (advancedVSeed, context)=>{
|
4583
4648
|
const { vseed } = context;
|
4584
|
-
const {
|
4585
|
-
|
4586
|
-
const
|
4587
|
-
|
4588
|
-
|
4589
|
-
|
4590
|
-
|
4591
|
-
|
4592
|
-
|
4593
|
-
|
4594
|
-
const detail = encoding.detail || [];
|
4595
|
-
const mergedDetail = 0 === detail.length ? chunk_QJLMYOTX_i([
|
4596
|
-
...color,
|
4597
|
-
...detail
|
4598
|
-
]) : detail;
|
4599
|
-
return {
|
4600
|
-
...advancedVSeed,
|
4601
|
-
encoding: {
|
4602
|
-
...encoding,
|
4603
|
-
y,
|
4604
|
-
color,
|
4605
|
-
detail: mergedDetail
|
4606
|
-
}
|
4607
|
-
};
|
4608
|
-
}
|
4609
|
-
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
4610
|
-
const mergedEncoding = {
|
4611
|
-
y: dimensions.slice(0, 1).map((item)=>item.id),
|
4612
|
-
color: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
4613
|
-
detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
4614
|
-
tooltip: dimensions.map((item)=>item.id),
|
4615
|
-
label: [],
|
4616
|
-
row: [],
|
4617
|
-
column: []
|
4618
|
-
};
|
4649
|
+
const { measures: vseedMeasures = [] } = vseed;
|
4650
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
4651
|
+
const dimensions = getBasicDimensions(vseed);
|
4652
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
4653
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
4654
|
+
const encoding = {};
|
4655
|
+
if (hasDimensionEncoding) bar_generateDimensionEncoding(dimensions, encoding);
|
4656
|
+
else bar_generateDefaultDimensionEncoding(dimensions, encoding);
|
4657
|
+
if (hasMeasureEncoding) bar_generateMeasureEncoding(measures, encoding);
|
4658
|
+
else bar_generateDefaultMeasureEncoding(measures, encoding);
|
4619
4659
|
return {
|
4620
4660
|
...advancedVSeed,
|
4621
|
-
encoding
|
4661
|
+
encoding
|
4622
4662
|
};
|
4623
4663
|
};
|
4664
|
+
const bar_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
4665
|
+
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
4666
|
+
encoding.x = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4667
|
+
};
|
4668
|
+
const bar_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
4669
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
4670
|
+
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
4671
|
+
encoding.y = uniqueDimIds.slice(0, 1);
|
4672
|
+
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
4673
|
+
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
4674
|
+
encoding.tooltip = uniqueDimIds;
|
4675
|
+
encoding.label = [];
|
4676
|
+
encoding.row = [];
|
4677
|
+
encoding.column = [];
|
4678
|
+
};
|
4679
|
+
const bar_generateMeasureEncoding = (measures, encoding)=>{
|
4680
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
4681
|
+
encoding.x = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4682
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4683
|
+
if (color.length > 0) encoding.color = color;
|
4684
|
+
return encoding;
|
4685
|
+
};
|
4686
|
+
const bar_generateDimensionEncoding = (dimensions, encoding)=>{
|
4687
|
+
encoding.y = chunk_QJLMYOTX_i(dimensions.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4688
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4689
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
4690
|
+
if (0 === encoding.y.length) encoding.y = [
|
4691
|
+
dimensions[0].id
|
4692
|
+
];
|
4693
|
+
if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.y?.includes(item.id)).map((item)=>item.id);
|
4694
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.y?.includes(item.id)).map((item)=>item.id);
|
4695
|
+
};
|
4624
4696
|
const sortYBandAxis = (advancedVSeed, context)=>{
|
4625
4697
|
const result = {
|
4626
4698
|
...advancedVSeed
|
@@ -4639,9 +4711,9 @@
|
|
4639
4711
|
};
|
4640
4712
|
const barAdvancedPipeline = [
|
4641
4713
|
initAdvancedVSeed_initAdvancedVSeed,
|
4714
|
+
encodingForBar,
|
4642
4715
|
buildMeasures,
|
4643
4716
|
autoDimensions_autoDimensions,
|
4644
|
-
encodingForBar,
|
4645
4717
|
pivotAdapter([
|
4646
4718
|
reshapeWithEncoding
|
4647
4719
|
], [
|
@@ -5159,9 +5231,9 @@
|
|
5159
5231
|
};
|
5160
5232
|
const areaAdvancedPipeline = [
|
5161
5233
|
initAdvancedVSeed_initAdvancedVSeed,
|
5234
|
+
encodingForColumn,
|
5162
5235
|
buildMeasures,
|
5163
5236
|
autoDimensions_autoDimensions,
|
5164
|
-
encodingForColumn,
|
5165
5237
|
pivotAdapter([
|
5166
5238
|
reshapeWithEncoding
|
5167
5239
|
], [
|
@@ -5317,9 +5389,9 @@
|
|
5317
5389
|
};
|
5318
5390
|
const areaPercentAdvancedPipeline = [
|
5319
5391
|
initAdvancedVSeed_initAdvancedVSeed,
|
5392
|
+
encodingForColumn,
|
5320
5393
|
buildMeasures,
|
5321
5394
|
autoDimensions_autoDimensions,
|
5322
|
-
encodingForColumn,
|
5323
5395
|
pivotAdapter([
|
5324
5396
|
reshapeWithEncoding
|
5325
5397
|
], [
|
@@ -5393,6 +5465,49 @@
|
|
5393
5465
|
Builder._advancedPipelineMap.areaPercent = areaPercentAdvancedPipeline;
|
5394
5466
|
Builder._specPipelineMap.areaPercent = areaPercentSpecPipeline;
|
5395
5467
|
};
|
5468
|
+
const encodingForScatter = (advancedVSeed, context)=>{
|
5469
|
+
const { vseed } = context;
|
5470
|
+
const { measures: vseedMeasures = [] } = vseed;
|
5471
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
5472
|
+
const dimensions = getBasicDimensions(vseed);
|
5473
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
5474
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
5475
|
+
const encoding = {};
|
5476
|
+
if (hasDimensionEncoding) scatter_generateDimensionEncoding(dimensions, encoding);
|
5477
|
+
else scatter_generateDefaultDimensionEncoding(dimensions, encoding);
|
5478
|
+
if (hasMeasureEncoding) scatter_generateMeasureEncoding(measures, encoding);
|
5479
|
+
else scatter_generateDefaultMeasureEncoding(measures, encoding);
|
5480
|
+
return {
|
5481
|
+
...advancedVSeed,
|
5482
|
+
encoding
|
5483
|
+
};
|
5484
|
+
};
|
5485
|
+
const scatter_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
5486
|
+
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
5487
|
+
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5488
|
+
};
|
5489
|
+
const scatter_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
5490
|
+
const dimensionsWithoutMeasureName = dimensions.filter((item)=>item.id !== MeasureName);
|
5491
|
+
const uniqueDimIds = chunk_QJLMYOTX_i(dimensionsWithoutMeasureName.map((d)=>d.id));
|
5492
|
+
encoding.color = uniqueDimIds.slice(0);
|
5493
|
+
encoding.detail = uniqueDimIds.slice(0);
|
5494
|
+
encoding.tooltip = uniqueDimIds;
|
5495
|
+
encoding.label = [];
|
5496
|
+
encoding.row = [];
|
5497
|
+
encoding.column = [];
|
5498
|
+
};
|
5499
|
+
const scatter_generateMeasureEncoding = (measures, encoding)=>{
|
5500
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
5501
|
+
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5502
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5503
|
+
if (color.length > 0) encoding.color = color;
|
5504
|
+
};
|
5505
|
+
const scatter_generateDimensionEncoding = (dimensions, encoding)=>{
|
5506
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5507
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
5508
|
+
if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
5509
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
5510
|
+
};
|
5396
5511
|
const buildMeasuresForScatter = (advancedVSeed, context)=>{
|
5397
5512
|
const { vseed } = context;
|
5398
5513
|
if (isMeasureTreeWithChildren(vseed)) {
|
@@ -5483,52 +5598,16 @@
|
|
5483
5598
|
const encoding = Array.isArray(item.encoding) ? item.encoding : [
|
5484
5599
|
item.encoding
|
5485
5600
|
];
|
5486
|
-
const isY = encoding.includes('yAxis');
|
5487
5601
|
const isX = encoding.includes('xAxis');
|
5602
|
+
const isY = encoding.includes('yAxis');
|
5603
|
+
const isEmpty = !encoding.length;
|
5488
5604
|
if (isY) scatterChart.yMeasures.push(item);
|
5489
5605
|
else if (isX) scatterChart.xMeasures.push(item);
|
5490
|
-
else if (
|
5606
|
+
else if (isEmpty) if (0 === scatterChart.yMeasures.length) scatterChart.yMeasures.push(item);
|
5491
5607
|
else scatterChart.xMeasures.push(item);
|
5492
5608
|
});
|
5493
5609
|
return scatterMeasuresToMeasureTree(scatterMeasures);
|
5494
5610
|
};
|
5495
|
-
const encodingForScatter = (advancedVSeed, context)=>{
|
5496
|
-
const { vseed } = context;
|
5497
|
-
const { dimensions } = advancedVSeed;
|
5498
|
-
if (!dimensions) return advancedVSeed;
|
5499
|
-
const encoding = vseed.encoding;
|
5500
|
-
if (encoding) {
|
5501
|
-
const detail = encoding.detail || [];
|
5502
|
-
const color = encoding.color || [
|
5503
|
-
(dimensions[1] || dimensions[0]).id
|
5504
|
-
];
|
5505
|
-
const mergedDetail = 0 === detail.length ? chunk_QJLMYOTX_i([
|
5506
|
-
...color,
|
5507
|
-
...detail
|
5508
|
-
]) : detail;
|
5509
|
-
return {
|
5510
|
-
...advancedVSeed,
|
5511
|
-
encoding: {
|
5512
|
-
...encoding,
|
5513
|
-
color,
|
5514
|
-
detail: mergedDetail
|
5515
|
-
}
|
5516
|
-
};
|
5517
|
-
}
|
5518
|
-
const dimensionsWithoutMeasureName = dimensions.filter((item)=>item.id !== MeasureName);
|
5519
|
-
const mergedEncoding = {
|
5520
|
-
color: dimensions.slice(0).map((item)=>item.id),
|
5521
|
-
detail: dimensionsWithoutMeasureName.slice(0).map((item)=>item.id),
|
5522
|
-
tooltip: dimensionsWithoutMeasureName.map((item)=>item.id),
|
5523
|
-
label: [],
|
5524
|
-
row: [],
|
5525
|
-
column: []
|
5526
|
-
};
|
5527
|
-
return {
|
5528
|
-
...advancedVSeed,
|
5529
|
-
encoding: mergedEncoding
|
5530
|
-
};
|
5531
|
-
};
|
5532
5611
|
const reshapeWithScatterEncoding = (advancedVSeed, context)=>{
|
5533
5612
|
const result = {
|
5534
5613
|
...advancedVSeed
|
@@ -5545,7 +5624,7 @@
|
|
5545
5624
|
const xMeasures = measures[0];
|
5546
5625
|
const yMeasures = measures[1] || xMeasures;
|
5547
5626
|
if (xMeasures && xMeasures.children) {
|
5548
|
-
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, xMeasures.children, encoding, {
|
5627
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, T(dimensions, (d)=>d.id), T(xMeasures.children, (d)=>d.id), encoding, {
|
5549
5628
|
foldMeasureValue: FoldXMeasureValue,
|
5550
5629
|
colorItemAsId: true,
|
5551
5630
|
colorMeasureId: getColorMeasureId(advancedVSeed)
|
@@ -5555,7 +5634,7 @@
|
|
5555
5634
|
unfoldInfoList.push(unfoldInfo);
|
5556
5635
|
}
|
5557
5636
|
if (yMeasures && yMeasures.children) {
|
5558
|
-
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(datasets[0], dimensions, yMeasures.children, encoding, {
|
5637
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(datasets[0], T(dimensions, (d)=>d.id), T(yMeasures.children, (d)=>d.id), encoding, {
|
5559
5638
|
foldMeasureValue: FoldYMeasureValue,
|
5560
5639
|
colorItemAsId: true,
|
5561
5640
|
colorMeasureId: getColorMeasureId(advancedVSeed)
|
@@ -5659,9 +5738,9 @@
|
|
5659
5738
|
};
|
5660
5739
|
const scatterAdvancedPipeline = [
|
5661
5740
|
initAdvancedVSeed_initAdvancedVSeed,
|
5741
|
+
encodingForScatter,
|
5662
5742
|
buildMeasuresForScatter,
|
5663
5743
|
autoDimensions_autoDimensions,
|
5664
|
-
encodingForScatter,
|
5665
5744
|
pivotAdapter([
|
5666
5745
|
reshapeWithScatterEncoding
|
5667
5746
|
], [
|
@@ -5806,6 +5885,55 @@
|
|
5806
5885
|
Builder._advancedPipelineMap.scatter = scatterAdvancedPipeline;
|
5807
5886
|
Builder._specPipelineMap.scatter = scatterSpecPipeline;
|
5808
5887
|
};
|
5888
|
+
const encodingForDualAxis = (advancedVSeed, context)=>{
|
5889
|
+
const { vseed } = context;
|
5890
|
+
const { measures: vseedMeasures = [] } = vseed;
|
5891
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
5892
|
+
const dimensions = getBasicDimensions(vseed);
|
5893
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
5894
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
5895
|
+
const encoding = {};
|
5896
|
+
if (hasDimensionEncoding) dualAxis_generateDimensionEncoding(dimensions, encoding);
|
5897
|
+
else dualAxis_generateDefaultDimensionEncoding(dimensions, encoding);
|
5898
|
+
if (hasMeasureEncoding) dualAxis_generateMeasureEncoding(measures, encoding);
|
5899
|
+
else dualAxis_generateDefaultMeasureEncoding(measures, encoding);
|
5900
|
+
return {
|
5901
|
+
...advancedVSeed,
|
5902
|
+
encoding
|
5903
|
+
};
|
5904
|
+
};
|
5905
|
+
const dualAxis_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
5906
|
+
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
5907
|
+
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5908
|
+
};
|
5909
|
+
const dualAxis_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
5910
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
5911
|
+
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
5912
|
+
encoding.x = uniqueDimIds.slice(0, 1);
|
5913
|
+
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
5914
|
+
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
5915
|
+
encoding.tooltip = uniqueDimIds;
|
5916
|
+
encoding.label = [];
|
5917
|
+
encoding.row = [];
|
5918
|
+
encoding.column = [];
|
5919
|
+
};
|
5920
|
+
const dualAxis_generateMeasureEncoding = (measures, encoding)=>{
|
5921
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
5922
|
+
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5923
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5924
|
+
if (color.length > 0) encoding.color = color;
|
5925
|
+
return encoding;
|
5926
|
+
};
|
5927
|
+
const dualAxis_generateDimensionEncoding = (dimensions, encoding)=>{
|
5928
|
+
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5929
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5930
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
5931
|
+
if (0 === encoding.x.length) encoding.x = [
|
5932
|
+
dimensions[0].id
|
5933
|
+
];
|
5934
|
+
if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
5935
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
5936
|
+
};
|
5809
5937
|
const buildMeasuresForDualAxis = (advancedVSeed, context)=>{
|
5810
5938
|
const { vseed } = context;
|
5811
5939
|
if (isMeasureTreeWithChildren(vseed)) {
|
@@ -5898,54 +6026,14 @@
|
|
5898
6026
|
];
|
5899
6027
|
const isPrimary = encoding.includes('primaryYAxis');
|
5900
6028
|
const isSecondary = encoding.includes('secondaryYAxis');
|
6029
|
+
const isEmpty = !item.encoding;
|
5901
6030
|
if (isPrimary) dualChart.primaryMeasures.push(item);
|
5902
6031
|
else if (isSecondary) dualChart.secondaryMeasures.push(item);
|
5903
|
-
else if (
|
6032
|
+
else if (isEmpty) if (0 === dualChart.primaryMeasures.length) dualChart.primaryMeasures.push(item);
|
5904
6033
|
else dualChart.secondaryMeasures.push(item);
|
5905
6034
|
});
|
5906
6035
|
return dualMeasuresToMeasureTree(dualMeasures);
|
5907
6036
|
};
|
5908
|
-
const encodingForDualAxis = (advancedVSeed, context)=>{
|
5909
|
-
const { vseed } = context;
|
5910
|
-
const { dimensions } = advancedVSeed;
|
5911
|
-
if (!dimensions) return advancedVSeed;
|
5912
|
-
const encoding = vseed.encoding;
|
5913
|
-
if (encoding) {
|
5914
|
-
const x = encoding.x || [
|
5915
|
-
dimensions[0].id
|
5916
|
-
];
|
5917
|
-
const color = encoding.color || [
|
5918
|
-
(dimensions[1] || dimensions[0]).id
|
5919
|
-
];
|
5920
|
-
const detail = encoding.detail || [];
|
5921
|
-
const mergedDetail = 0 === detail.length ? chunk_QJLMYOTX_i([
|
5922
|
-
...color,
|
5923
|
-
...detail
|
5924
|
-
]) : detail;
|
5925
|
-
return {
|
5926
|
-
...advancedVSeed,
|
5927
|
-
encoding: {
|
5928
|
-
...encoding,
|
5929
|
-
x,
|
5930
|
-
color,
|
5931
|
-
detail: mergedDetail
|
5932
|
-
}
|
5933
|
-
};
|
5934
|
-
}
|
5935
|
-
const mergedEncoding = {
|
5936
|
-
x: dimensions.slice(0, 1).map((item)=>item.id),
|
5937
|
-
color: dimensions.slice(1).map((item)=>item.id),
|
5938
|
-
detail: dimensions.slice(1).map((item)=>item.id),
|
5939
|
-
tooltip: dimensions.map((item)=>item.id),
|
5940
|
-
label: [],
|
5941
|
-
row: [],
|
5942
|
-
column: []
|
5943
|
-
};
|
5944
|
-
return {
|
5945
|
-
...advancedVSeed,
|
5946
|
-
encoding: mergedEncoding
|
5947
|
-
};
|
5948
|
-
};
|
5949
6037
|
const reshapeWithDualEncoding = (advancedVSeed, context)=>{
|
5950
6038
|
const result = {
|
5951
6039
|
...advancedVSeed
|
@@ -6095,9 +6183,9 @@
|
|
6095
6183
|
};
|
6096
6184
|
const dualAxisAdvancedPipeline = [
|
6097
6185
|
initAdvancedVSeed_initAdvancedVSeed,
|
6186
|
+
encodingForDualAxis,
|
6098
6187
|
buildMeasuresForDualAxis,
|
6099
6188
|
autoDimensions_autoDimensions,
|
6100
|
-
encodingForDualAxis,
|
6101
6189
|
pivotAdapter([
|
6102
6190
|
reshapeWithDualEncoding
|
6103
6191
|
], [
|
@@ -6932,33 +7020,51 @@
|
|
6932
7020
|
};
|
6933
7021
|
const encodingForPie = (advancedVSeed, context)=>{
|
6934
7022
|
const { vseed } = context;
|
6935
|
-
const {
|
6936
|
-
|
6937
|
-
const
|
6938
|
-
|
6939
|
-
|
6940
|
-
|
6941
|
-
|
6942
|
-
|
6943
|
-
|
6944
|
-
|
6945
|
-
color: dimensions.slice(0).map((item)=>item.id),
|
6946
|
-
detail: dimensions.slice(0).map((item)=>item.id),
|
6947
|
-
tooltip: dimensions.map((item)=>item.id),
|
6948
|
-
label: [],
|
6949
|
-
row: [],
|
6950
|
-
column: []
|
6951
|
-
};
|
7023
|
+
const { measures: vseedMeasures = [] } = vseed;
|
7024
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
7025
|
+
const dimensions = getBasicDimensions(vseed);
|
7026
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
7027
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
7028
|
+
const encoding = {};
|
7029
|
+
if (hasDimensionEncoding) pie_generateDimensionEncoding(dimensions, encoding);
|
7030
|
+
else pie_generateDefaultDimensionEncoding(dimensions, encoding);
|
7031
|
+
if (hasMeasureEncoding) pie_generateMeasureEncoding(measures, encoding);
|
7032
|
+
else pie_generateDefaultMeasureEncoding(measures, encoding);
|
6952
7033
|
return {
|
6953
7034
|
...advancedVSeed,
|
6954
|
-
encoding
|
6955
|
-
};
|
7035
|
+
encoding
|
7036
|
+
};
|
7037
|
+
};
|
7038
|
+
const pie_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7039
|
+
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
7040
|
+
encoding.angle = chunk_QJLMYOTX_i(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
|
7041
|
+
};
|
7042
|
+
const pie_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
7043
|
+
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
7044
|
+
encoding.color = uniqueDimIds.slice(0);
|
7045
|
+
encoding.detail = uniqueDimIds.slice(0);
|
7046
|
+
encoding.tooltip = uniqueDimIds;
|
7047
|
+
encoding.label = [];
|
7048
|
+
encoding.row = [];
|
7049
|
+
encoding.column = [];
|
7050
|
+
};
|
7051
|
+
const pie_generateMeasureEncoding = (measures, encoding)=>{
|
7052
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
7053
|
+
encoding.angle = chunk_QJLMYOTX_i(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
|
7054
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7055
|
+
if (color.length > 0) encoding.color = color;
|
7056
|
+
};
|
7057
|
+
const pie_generateDimensionEncoding = (dimensions, encoding)=>{
|
7058
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7059
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7060
|
+
if (0 === encoding.color.length) encoding.color = dimensions.map((item)=>item.id);
|
7061
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.map((item)=>item.id);
|
6956
7062
|
};
|
6957
7063
|
const pieAdvancedPipeline = [
|
6958
7064
|
initAdvancedVSeed_initAdvancedVSeed,
|
7065
|
+
encodingForPie,
|
6959
7066
|
buildMeasures,
|
6960
7067
|
autoDimensions_autoDimensions,
|
6961
|
-
encodingForPie,
|
6962
7068
|
pivotAdapter([
|
6963
7069
|
reshapeWithEncoding
|
6964
7070
|
], [
|
@@ -7137,51 +7243,57 @@
|
|
7137
7243
|
};
|
7138
7244
|
const encodingForRose = (advancedVSeed, context)=>{
|
7139
7245
|
const { vseed } = context;
|
7140
|
-
const {
|
7141
|
-
|
7142
|
-
const
|
7143
|
-
|
7144
|
-
|
7145
|
-
|
7146
|
-
|
7147
|
-
|
7148
|
-
|
7149
|
-
|
7150
|
-
const detail = encoding.detail || [];
|
7151
|
-
const mergedDetail = 0 === detail.length ? chunk_QJLMYOTX_i([
|
7152
|
-
...color,
|
7153
|
-
...detail
|
7154
|
-
]) : detail;
|
7155
|
-
return {
|
7156
|
-
...advancedVSeed,
|
7157
|
-
encoding: {
|
7158
|
-
...encoding,
|
7159
|
-
angle,
|
7160
|
-
color,
|
7161
|
-
detail: mergedDetail
|
7162
|
-
}
|
7163
|
-
};
|
7164
|
-
}
|
7165
|
-
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
7166
|
-
const mergedEncoding = {
|
7167
|
-
angle: dimensions.slice(0, 1).map((item)=>item.id),
|
7168
|
-
color: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
7169
|
-
detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
7170
|
-
tooltip: dimensions.map((item)=>item.id),
|
7171
|
-
label: [],
|
7172
|
-
row: [],
|
7173
|
-
column: []
|
7174
|
-
};
|
7246
|
+
const { measures: vseedMeasures = [] } = vseed;
|
7247
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
7248
|
+
const dimensions = getBasicDimensions(vseed);
|
7249
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
7250
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
7251
|
+
const encoding = {};
|
7252
|
+
if (hasDimensionEncoding) rose_generateDimensionEncoding(dimensions, encoding);
|
7253
|
+
else rose_generateDefaultDimensionEncoding(dimensions, encoding);
|
7254
|
+
if (hasMeasureEncoding) rose_generateMeasureEncoding(measures, encoding);
|
7255
|
+
else rose_generateDefaultMeasureEncoding(measures, encoding);
|
7175
7256
|
return {
|
7176
7257
|
...advancedVSeed,
|
7177
|
-
encoding
|
7258
|
+
encoding
|
7178
7259
|
};
|
7179
7260
|
};
|
7261
|
+
const rose_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7262
|
+
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
7263
|
+
encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7264
|
+
};
|
7265
|
+
const rose_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
7266
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
7267
|
+
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
7268
|
+
encoding.angle = uniqueDimIds.slice(0, 1);
|
7269
|
+
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7270
|
+
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7271
|
+
encoding.tooltip = uniqueDimIds;
|
7272
|
+
encoding.label = [];
|
7273
|
+
encoding.row = [];
|
7274
|
+
encoding.column = [];
|
7275
|
+
};
|
7276
|
+
const rose_generateMeasureEncoding = (measures, encoding)=>{
|
7277
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
7278
|
+
encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7279
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7280
|
+
if (color.length > 0) encoding.color = color;
|
7281
|
+
};
|
7282
|
+
const rose_generateDimensionEncoding = (dimensions, encoding)=>{
|
7283
|
+
encoding.angle = chunk_QJLMYOTX_i(dimensions.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
|
7284
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7285
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7286
|
+
if (0 === encoding.angle.length) encoding.angle = [
|
7287
|
+
dimensions[0].id
|
7288
|
+
];
|
7289
|
+
if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.angle?.includes(item.id)).map((item)=>item.id);
|
7290
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.angle?.includes(item.id)).map((item)=>item.id);
|
7291
|
+
};
|
7180
7292
|
const roseAdvancedPipeline = [
|
7181
7293
|
initAdvancedVSeed_initAdvancedVSeed,
|
7294
|
+
encodingForRose,
|
7182
7295
|
buildMeasures,
|
7183
7296
|
autoDimensions_autoDimensions,
|
7184
|
-
encodingForRose,
|
7185
7297
|
pivotAdapter([
|
7186
7298
|
reshapeWithEncoding
|
7187
7299
|
], [
|
@@ -7348,9 +7460,9 @@
|
|
7348
7460
|
};
|
7349
7461
|
const roseParallelAdvancedPipeline = [
|
7350
7462
|
initAdvancedVSeed_initAdvancedVSeed,
|
7463
|
+
encodingForRose,
|
7351
7464
|
buildMeasures,
|
7352
7465
|
autoDimensions_autoDimensions,
|
7353
|
-
encodingForRose,
|
7354
7466
|
pivotAdapter([
|
7355
7467
|
reshapeWithEncoding
|
7356
7468
|
], [
|
@@ -7456,50 +7568,57 @@
|
|
7456
7568
|
};
|
7457
7569
|
const encodingForRadar = (advancedVSeed, context)=>{
|
7458
7570
|
const { vseed } = context;
|
7459
|
-
const {
|
7460
|
-
|
7461
|
-
const
|
7462
|
-
|
7463
|
-
|
7464
|
-
|
7465
|
-
|
7466
|
-
|
7467
|
-
|
7468
|
-
|
7469
|
-
const detail = encoding.detail || [];
|
7470
|
-
const mergedDetail = 0 === detail.length ? chunk_QJLMYOTX_i([
|
7471
|
-
...color,
|
7472
|
-
...detail
|
7473
|
-
]) : detail;
|
7474
|
-
return {
|
7475
|
-
...advancedVSeed,
|
7476
|
-
encoding: {
|
7477
|
-
...encoding,
|
7478
|
-
angle,
|
7479
|
-
color,
|
7480
|
-
detail: mergedDetail
|
7481
|
-
}
|
7482
|
-
};
|
7483
|
-
}
|
7484
|
-
const mergedEncoding = {
|
7485
|
-
angle: dimensions.slice(0, 1).map((item)=>item.id),
|
7486
|
-
color: dimensions.slice(1).map((item)=>item.id),
|
7487
|
-
detail: dimensions.slice(1).map((item)=>item.id),
|
7488
|
-
tooltip: dimensions.map((item)=>item.id),
|
7489
|
-
label: [],
|
7490
|
-
row: [],
|
7491
|
-
column: []
|
7492
|
-
};
|
7571
|
+
const { measures: vseedMeasures = [] } = vseed;
|
7572
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
7573
|
+
const dimensions = getBasicDimensions(vseed);
|
7574
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
7575
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
7576
|
+
const encoding = {};
|
7577
|
+
if (hasDimensionEncoding) radar_generateDimensionEncoding(dimensions, encoding);
|
7578
|
+
else radar_generateDefaultDimensionEncoding(dimensions, encoding);
|
7579
|
+
if (hasMeasureEncoding) radar_generateMeasureEncoding(measures, encoding);
|
7580
|
+
else radar_generateDefaultMeasureEncoding(measures, encoding);
|
7493
7581
|
return {
|
7494
7582
|
...advancedVSeed,
|
7495
|
-
encoding
|
7583
|
+
encoding
|
7496
7584
|
};
|
7497
7585
|
};
|
7586
|
+
const radar_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7587
|
+
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
7588
|
+
encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7589
|
+
};
|
7590
|
+
const radar_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
7591
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
7592
|
+
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
7593
|
+
encoding.angle = uniqueDimIds.slice(0, 1);
|
7594
|
+
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7595
|
+
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7596
|
+
encoding.tooltip = uniqueDimIds;
|
7597
|
+
encoding.label = [];
|
7598
|
+
encoding.row = [];
|
7599
|
+
encoding.column = [];
|
7600
|
+
};
|
7601
|
+
const radar_generateMeasureEncoding = (measures, encoding)=>{
|
7602
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
7603
|
+
encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7604
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7605
|
+
if (color.length > 0) encoding.color = color;
|
7606
|
+
};
|
7607
|
+
const radar_generateDimensionEncoding = (dimensions, encoding)=>{
|
7608
|
+
encoding.angle = chunk_QJLMYOTX_i(dimensions.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
|
7609
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7610
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7611
|
+
if (0 === encoding.angle.length) encoding.angle = [
|
7612
|
+
dimensions[0].id
|
7613
|
+
];
|
7614
|
+
if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.angle?.includes(item.id)).map((item)=>item.id);
|
7615
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.angle?.includes(item.id)).map((item)=>item.id);
|
7616
|
+
};
|
7498
7617
|
const radarAdvancedPipeline = [
|
7499
7618
|
initAdvancedVSeed_initAdvancedVSeed,
|
7619
|
+
encodingForRadar,
|
7500
7620
|
buildMeasures,
|
7501
7621
|
autoDimensions_autoDimensions,
|
7502
|
-
encodingForRadar,
|
7503
7622
|
pivotAdapter([
|
7504
7623
|
reshapeWithEncoding
|
7505
7624
|
], [
|
@@ -7635,33 +7754,51 @@
|
|
7635
7754
|
};
|
7636
7755
|
const encodingForFunnel = (advancedVSeed, context)=>{
|
7637
7756
|
const { vseed } = context;
|
7638
|
-
const {
|
7639
|
-
|
7640
|
-
const
|
7641
|
-
|
7642
|
-
|
7643
|
-
|
7644
|
-
|
7645
|
-
|
7646
|
-
|
7647
|
-
|
7648
|
-
color: dimensions.slice(0).map((item)=>item.id),
|
7649
|
-
detail: dimensions.slice(0).map((item)=>item.id),
|
7650
|
-
tooltip: dimensions.map((item)=>item.id),
|
7651
|
-
label: [],
|
7652
|
-
row: [],
|
7653
|
-
column: []
|
7654
|
-
};
|
7757
|
+
const { measures: vseedMeasures = [] } = vseed;
|
7758
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
7759
|
+
const dimensions = getBasicDimensions(vseed);
|
7760
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
7761
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
7762
|
+
const encoding = {};
|
7763
|
+
if (hasDimensionEncoding) funnel_generateDimensionEncoding(dimensions, encoding);
|
7764
|
+
else funnel_generateDefaultDimensionEncoding(dimensions, encoding);
|
7765
|
+
if (hasMeasureEncoding) funnel_generateMeasureEncoding(measures, encoding);
|
7766
|
+
else funnel_generateDefaultMeasureEncoding(measures, encoding);
|
7655
7767
|
return {
|
7656
7768
|
...advancedVSeed,
|
7657
|
-
encoding
|
7658
|
-
};
|
7769
|
+
encoding
|
7770
|
+
};
|
7771
|
+
};
|
7772
|
+
const funnel_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7773
|
+
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
7774
|
+
encoding.size = chunk_QJLMYOTX_i(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
|
7775
|
+
};
|
7776
|
+
const funnel_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
7777
|
+
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
7778
|
+
encoding.color = uniqueDimIds.slice(0);
|
7779
|
+
encoding.detail = uniqueDimIds.slice(0);
|
7780
|
+
encoding.tooltip = uniqueDimIds;
|
7781
|
+
encoding.label = [];
|
7782
|
+
encoding.row = [];
|
7783
|
+
encoding.column = [];
|
7784
|
+
};
|
7785
|
+
const funnel_generateMeasureEncoding = (measures, encoding)=>{
|
7786
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
7787
|
+
encoding.size = chunk_QJLMYOTX_i(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
|
7788
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7789
|
+
if (color.length > 0) encoding.color = color;
|
7790
|
+
};
|
7791
|
+
const funnel_generateDimensionEncoding = (dimensions, encoding)=>{
|
7792
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7793
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7794
|
+
if (0 === encoding.color.length) encoding.color = dimensions.map((item)=>item.id);
|
7795
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.map((item)=>item.id);
|
7659
7796
|
};
|
7660
7797
|
const funnelAdvancedPipeline = [
|
7661
7798
|
initAdvancedVSeed_initAdvancedVSeed,
|
7799
|
+
encodingForFunnel,
|
7662
7800
|
buildMeasures,
|
7663
7801
|
autoDimensions_autoDimensions,
|
7664
|
-
encodingForFunnel,
|
7665
7802
|
pivotAdapter([
|
7666
7803
|
reshapeWithEncoding
|
7667
7804
|
], [
|
@@ -7754,45 +7891,61 @@
|
|
7754
7891
|
};
|
7755
7892
|
const encodingForHeatmap = (advancedVSeed, context)=>{
|
7756
7893
|
const { vseed } = context;
|
7757
|
-
const {
|
7758
|
-
|
7759
|
-
const
|
7760
|
-
|
7761
|
-
|
7762
|
-
|
7763
|
-
|
7764
|
-
|
7765
|
-
|
7766
|
-
|
7767
|
-
return {
|
7768
|
-
...advancedVSeed,
|
7769
|
-
encoding: {
|
7770
|
-
x,
|
7771
|
-
y,
|
7772
|
-
...encoding
|
7773
|
-
}
|
7774
|
-
};
|
7775
|
-
}
|
7776
|
-
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
7777
|
-
const mergedEncoding = {
|
7778
|
-
x: dimensions.slice(0, 1).map((item)=>item.id),
|
7779
|
-
y: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
7780
|
-
color: dimensions.slice(0).map((item)=>item.id),
|
7781
|
-
tooltip: dimensions.map((item)=>item.id),
|
7782
|
-
label: [],
|
7783
|
-
row: [],
|
7784
|
-
column: []
|
7785
|
-
};
|
7894
|
+
const { measures: vseedMeasures = [] } = vseed;
|
7895
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
7896
|
+
const dimensions = getBasicDimensions(vseed);
|
7897
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
7898
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
7899
|
+
const encoding = {};
|
7900
|
+
if (hasDimensionEncoding) heatmap_generateDimensionEncoding(dimensions, encoding);
|
7901
|
+
else heatmap_generateDefaultDimensionEncoding(dimensions, encoding);
|
7902
|
+
if (hasMeasureEncoding) heatmap_generateMeasureEncoding(measures, encoding);
|
7903
|
+
else heatmap_generateDefaultMeasureEncoding(measures, encoding);
|
7786
7904
|
return {
|
7787
7905
|
...advancedVSeed,
|
7788
|
-
encoding
|
7906
|
+
encoding
|
7789
7907
|
};
|
7790
7908
|
};
|
7909
|
+
const heatmap_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7910
|
+
encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
|
7911
|
+
encoding.color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding || !item.encoding).map((item)=>item.id));
|
7912
|
+
};
|
7913
|
+
const heatmap_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
7914
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
7915
|
+
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
7916
|
+
encoding.x = uniqueDimIds.slice(0, 1);
|
7917
|
+
encoding.y = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7918
|
+
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7919
|
+
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7920
|
+
encoding.tooltip = uniqueDimIds;
|
7921
|
+
encoding.label = [];
|
7922
|
+
encoding.row = [];
|
7923
|
+
encoding.column = [];
|
7924
|
+
};
|
7925
|
+
const heatmap_generateMeasureEncoding = (measures, encoding)=>{
|
7926
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
7927
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7928
|
+
if (color.length > 0) encoding.color = color;
|
7929
|
+
return encoding;
|
7930
|
+
};
|
7931
|
+
const heatmap_generateDimensionEncoding = (dimensions, encoding)=>{
|
7932
|
+
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
7933
|
+
encoding.y = chunk_QJLMYOTX_i(dimensions.filter((item)=>'yAxis' === item.encoding).map((item)=>item.id));
|
7934
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7935
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7936
|
+
if (0 === encoding.x.length) encoding.x = [
|
7937
|
+
dimensions[0].id
|
7938
|
+
];
|
7939
|
+
if (0 === encoding.y.length) if (dimensions.length > 1) encoding.y = dimensions.slice(1).map((item)=>item.id);
|
7940
|
+
else encoding.y = dimensions.slice(0).map((item)=>item.id);
|
7941
|
+
if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
7942
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
7943
|
+
};
|
7791
7944
|
const heatmapAdvancedPipeline = [
|
7792
7945
|
initAdvancedVSeed_initAdvancedVSeed,
|
7946
|
+
encodingForHeatmap,
|
7793
7947
|
buildMeasures,
|
7794
7948
|
autoDimensions_autoDimensions,
|
7795
|
-
encodingForHeatmap,
|
7796
7949
|
pivotAdapter([
|
7797
7950
|
reshapeWithEncoding
|
7798
7951
|
], [
|
@@ -11895,7 +12048,18 @@
|
|
11895
12048
|
'dimension',
|
11896
12049
|
'rowDimension',
|
11897
12050
|
'columnDimension'
|
11898
|
-
]).default('dimension')
|
12051
|
+
]).default('dimension'),
|
12052
|
+
encoding: schemas_enum([
|
12053
|
+
'xAxis',
|
12054
|
+
'yAxis',
|
12055
|
+
'angle',
|
12056
|
+
'color',
|
12057
|
+
'detail',
|
12058
|
+
'tooltip',
|
12059
|
+
'label',
|
12060
|
+
'row',
|
12061
|
+
'column'
|
12062
|
+
]).optional()
|
11899
12063
|
});
|
11900
12064
|
const zDimensionGroup = schemas_object({
|
11901
12065
|
id: schemas_string(),
|