@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/index.cjs
CHANGED
@@ -1271,6 +1271,57 @@ const initAdvancedVSeed_initAdvancedVSeed = (advancedVSeed, context)=>{
|
|
1271
1271
|
locale: locale || 'zh-CN'
|
1272
1272
|
};
|
1273
1273
|
};
|
1274
|
+
const ORIGINAL_DATA = '__OriginalData__';
|
1275
|
+
const Separator = '-';
|
1276
|
+
const FoldMeasureName = '__MeaName__';
|
1277
|
+
const FoldMeasureId = '__MeaId__';
|
1278
|
+
const FoldMeasureValue = '__MeaValue__';
|
1279
|
+
const MeasureName = FoldMeasureName;
|
1280
|
+
const FoldPrimaryMeasureValue = '__MeaPrimaryValue__';
|
1281
|
+
const FoldSecondaryMeasureValue = '__MeaSecondaryValue__';
|
1282
|
+
const FoldXMeasureValue = '__MeaXValue__';
|
1283
|
+
const FoldYMeasureValue = '__MeaYValue__';
|
1284
|
+
const XEncoding = '__Dim_X__';
|
1285
|
+
const YEncoding = '__Dim_Y__';
|
1286
|
+
const AngleEncoding = '__Dim_Angle__';
|
1287
|
+
const DetailEncoding = '__Dim_Detail__';
|
1288
|
+
const ColorEncoding = '__Dim_Color__';
|
1289
|
+
const ColorIdEncoding = '__Dim_ColorId__';
|
1290
|
+
const getBasicDimensions = (vseed)=>{
|
1291
|
+
const { dimensions, dataset } = vseed;
|
1292
|
+
const MeaName = {
|
1293
|
+
id: MeasureName,
|
1294
|
+
alias: intl.i18n`指标名称`,
|
1295
|
+
encoding: 'detail'
|
1296
|
+
};
|
1297
|
+
if (!dataset) throw new Error('dataset is required');
|
1298
|
+
if (0 === dataset.length) return [];
|
1299
|
+
if (dimensions) {
|
1300
|
+
const basicDimensions = dimensions.map((dim)=>({
|
1301
|
+
location: 'dimension',
|
1302
|
+
...dim
|
1303
|
+
}));
|
1304
|
+
if (basicDimensions.some((dim)=>dim.id === MeasureName)) return basicDimensions;
|
1305
|
+
basicDimensions.push(MeaName);
|
1306
|
+
return basicDimensions;
|
1307
|
+
}
|
1308
|
+
const top100dataset = dataset.slice(0, 100);
|
1309
|
+
const sample = top100dataset.reduce((prev, cur)=>({
|
1310
|
+
...prev,
|
1311
|
+
...cur
|
1312
|
+
}), {});
|
1313
|
+
const basicDimensions = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'string' == typeof item[key]) && ![
|
1314
|
+
'',
|
1315
|
+
null,
|
1316
|
+
void 0
|
1317
|
+
].includes(key)).map((dim)=>({
|
1318
|
+
id: dim,
|
1319
|
+
alias: dim,
|
1320
|
+
location: 'dimension'
|
1321
|
+
}));
|
1322
|
+
basicDimensions.push(MeaName);
|
1323
|
+
return basicDimensions;
|
1324
|
+
};
|
1274
1325
|
const getBasicMeasures = (vseed)=>{
|
1275
1326
|
const { dataset, measures } = vseed;
|
1276
1327
|
if (!measures || 0 === measures.length) return generateMeasuresByDataset(dataset);
|
@@ -1304,6 +1355,54 @@ const isMeasureTreeWithParentId = (vseed)=>{
|
|
1304
1355
|
if (!measures) return false;
|
1305
1356
|
return measures.some((measure)=>'parentId' in measure);
|
1306
1357
|
};
|
1358
|
+
const encodingForLine = (advancedVSeed, context)=>{
|
1359
|
+
const { vseed } = context;
|
1360
|
+
const { measures: vseedMeasures = [] } = vseed;
|
1361
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
1362
|
+
const dimensions = getBasicDimensions(vseed);
|
1363
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
1364
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
1365
|
+
const encoding = {};
|
1366
|
+
if (hasDimensionEncoding) generateDimensionEncoding(dimensions, encoding);
|
1367
|
+
else generateDefaultDimensionEncoding(dimensions, encoding);
|
1368
|
+
if (hasMeasureEncoding) generateMeasureEncoding(measures, encoding);
|
1369
|
+
else generateDefaultMeasureEncoding(measures, encoding);
|
1370
|
+
return {
|
1371
|
+
...advancedVSeed,
|
1372
|
+
encoding
|
1373
|
+
};
|
1374
|
+
};
|
1375
|
+
const generateDefaultMeasureEncoding = (measures, encoding)=>{
|
1376
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
1377
|
+
encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
1378
|
+
};
|
1379
|
+
const generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
1380
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
1381
|
+
const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
|
1382
|
+
encoding.x = uniqueDimIds.slice(0, 1);
|
1383
|
+
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
1384
|
+
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
1385
|
+
encoding.tooltip = uniqueDimIds;
|
1386
|
+
encoding.label = [];
|
1387
|
+
encoding.row = [];
|
1388
|
+
encoding.column = [];
|
1389
|
+
};
|
1390
|
+
const generateMeasureEncoding = (measures, encoding)=>{
|
1391
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
1392
|
+
encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
1393
|
+
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
1394
|
+
if (color.length > 0) encoding.color = color;
|
1395
|
+
};
|
1396
|
+
const generateDimensionEncoding = (dimensions, encoding)=>{
|
1397
|
+
encoding.x = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
1398
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
1399
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
1400
|
+
if (0 === encoding.x.length) encoding.x = [
|
1401
|
+
dimensions[0].id
|
1402
|
+
];
|
1403
|
+
if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
1404
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
1405
|
+
};
|
1307
1406
|
const measureDepth = (measures = [])=>{
|
1308
1407
|
if (!measures) return 0;
|
1309
1408
|
let depth = 1;
|
@@ -1324,7 +1423,7 @@ const isPivotChart = (vseed)=>{
|
|
1324
1423
|
if (isVTable(vseed)) return false;
|
1325
1424
|
if (isMeasureTreeWithParentId(vseed)) {
|
1326
1425
|
const parentIds = vseed.measures?.map((measure)=>measure.parentId);
|
1327
|
-
return parentIds && parentIds.length > 1;
|
1426
|
+
return parentIds && (0, external_remeda_namespaceObject.unique)(parentIds).length > 1;
|
1328
1427
|
}
|
1329
1428
|
if ('dualAxis' === vseed.chartType || 'scatter' === vseed.chartType) {
|
1330
1429
|
const { dimensions = [] } = vseed;
|
@@ -1395,22 +1494,6 @@ const basicMeasuresToMeasureTree = (measures)=>{
|
|
1395
1494
|
}
|
1396
1495
|
];
|
1397
1496
|
};
|
1398
|
-
const ORIGINAL_DATA = '__OriginalData__';
|
1399
|
-
const Separator = '-';
|
1400
|
-
const FoldMeasureName = '__MeaName__';
|
1401
|
-
const FoldMeasureId = '__MeaId__';
|
1402
|
-
const FoldMeasureValue = '__MeaValue__';
|
1403
|
-
const MeasureName = FoldMeasureName;
|
1404
|
-
const FoldPrimaryMeasureValue = '__MeaPrimaryValue__';
|
1405
|
-
const FoldSecondaryMeasureValue = '__MeaSecondaryValue__';
|
1406
|
-
const FoldXMeasureValue = '__MeaXValue__';
|
1407
|
-
const FoldYMeasureValue = '__MeaYValue__';
|
1408
|
-
const XEncoding = '__Dim_X__';
|
1409
|
-
const YEncoding = '__Dim_Y__';
|
1410
|
-
const AngleEncoding = '__Dim_Angle__';
|
1411
|
-
const DetailEncoding = '__Dim_Detail__';
|
1412
|
-
const ColorEncoding = '__Dim_Color__';
|
1413
|
-
const ColorIdEncoding = '__Dim_ColorId__';
|
1414
1497
|
const autoDimensions_autoDimensions = (advancedVSeed, context)=>{
|
1415
1498
|
const result = {
|
1416
1499
|
...advancedVSeed
|
@@ -1450,52 +1533,13 @@ const autoDimensions_autoDimensions = (advancedVSeed, context)=>{
|
|
1450
1533
|
result.dimensions.push(MeaName);
|
1451
1534
|
return result;
|
1452
1535
|
};
|
1453
|
-
const encodingForLine = (advancedVSeed, context)=>{
|
1454
|
-
const { vseed } = context;
|
1455
|
-
const { dimensions } = advancedVSeed;
|
1456
|
-
if (!dimensions) return advancedVSeed;
|
1457
|
-
const encoding = vseed.encoding;
|
1458
|
-
if (encoding) {
|
1459
|
-
const x = encoding.x || [
|
1460
|
-
dimensions[0].id
|
1461
|
-
];
|
1462
|
-
const color = encoding.color || [
|
1463
|
-
(dimensions[1] || dimensions[0]).id
|
1464
|
-
];
|
1465
|
-
const detail = encoding.detail || [];
|
1466
|
-
const mergedDetail = 0 === detail.length ? dimensions.map((d)=>d.id).filter((id)=>!x.includes(id)) : encoding.detail;
|
1467
|
-
return {
|
1468
|
-
...advancedVSeed,
|
1469
|
-
encoding: {
|
1470
|
-
...encoding,
|
1471
|
-
x,
|
1472
|
-
color,
|
1473
|
-
detail: mergedDetail
|
1474
|
-
}
|
1475
|
-
};
|
1476
|
-
}
|
1477
|
-
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
1478
|
-
const mergedEncoding = {
|
1479
|
-
x: dimensions.slice(0, 1).map((item)=>item.id),
|
1480
|
-
color: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
1481
|
-
detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
1482
|
-
tooltip: dimensions.map((item)=>item.id),
|
1483
|
-
label: [],
|
1484
|
-
row: [],
|
1485
|
-
column: []
|
1486
|
-
};
|
1487
|
-
return {
|
1488
|
-
...advancedVSeed,
|
1489
|
-
encoding: mergedEncoding
|
1490
|
-
};
|
1491
|
-
};
|
1492
1536
|
const pivotAdapter = (pipeline, pivotPipeline)=>(advancedVSeed, context)=>{
|
1493
1537
|
const { vseed } = context;
|
1494
1538
|
const usePivotChart = isPivotChart(vseed);
|
1495
1539
|
if (usePivotChart) return execPipeline(pivotPipeline, context, advancedVSeed);
|
1496
1540
|
return execPipeline(pipeline, context, advancedVSeed);
|
1497
1541
|
};
|
1498
|
-
const foldMeasures = (dataset, measures,
|
1542
|
+
const foldMeasures = (dataset, measures, options)=>{
|
1499
1543
|
const { measureId, measureName, measureValue, colorMeasureId } = options || {};
|
1500
1544
|
const foldInfo = {
|
1501
1545
|
measureId,
|
@@ -1596,7 +1640,7 @@ const applyEncoding = (encoding, dimensions, datum, separator)=>{
|
|
1596
1640
|
};
|
1597
1641
|
const dataReshapeByEncoding = (dataset, dimensions, measures, encoding, options)=>{
|
1598
1642
|
const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue, colorItemAsId = false, colorMeasureId } = options || {};
|
1599
|
-
const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures,
|
1643
|
+
const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures, {
|
1600
1644
|
measureId: foldMeasureId,
|
1601
1645
|
measureName: foldMeasureName,
|
1602
1646
|
measureValue: foldMeasureValue,
|
@@ -1640,7 +1684,7 @@ const reshapeWithEncoding = (advancedVSeed, context)=>{
|
|
1640
1684
|
const { dimensions, measures, encoding } = advancedVSeed;
|
1641
1685
|
if (!measures || !dimensions || !dataset || !encoding) return result;
|
1642
1686
|
if (0 === measures.length) throw new Error('measures can not be empty');
|
1643
|
-
const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, measures, encoding, {
|
1687
|
+
const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, (0, external_remeda_namespaceObject.uniqueBy)(dimensions, (item)=>item.id), (0, external_remeda_namespaceObject.uniqueBy)(findAllMeasures(measures), (item)=>item.id), encoding, {
|
1644
1688
|
colorMeasureId: getColorMeasureId(advancedVSeed)
|
1645
1689
|
});
|
1646
1690
|
return {
|
@@ -1677,7 +1721,7 @@ const pivotReshapeWithEncoding = (advancedVSeed, context)=>{
|
|
1677
1721
|
const measures = measureGroup.children;
|
1678
1722
|
if (!measures) return;
|
1679
1723
|
const groupId = measureGroup.id;
|
1680
|
-
const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, measures, encoding, {
|
1724
|
+
const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, (0, external_remeda_namespaceObject.uniqueBy)(dimensions, (item)=>item.id), (0, external_remeda_namespaceObject.uniqueBy)(measures, (item)=>item.id), encoding, {
|
1681
1725
|
foldMeasureValue: `${FoldMeasureValue}${groupId}`,
|
1682
1726
|
colorMeasureId: getColorMeasureId(advancedVSeed)
|
1683
1727
|
});
|
@@ -1886,9 +1930,9 @@ const annotation_annotation = (advancedVSeed, context)=>{
|
|
1886
1930
|
};
|
1887
1931
|
const lineAdvancedPipeline = [
|
1888
1932
|
initAdvancedVSeed_initAdvancedVSeed,
|
1933
|
+
encodingForLine,
|
1889
1934
|
buildMeasures,
|
1890
1935
|
autoDimensions_autoDimensions,
|
1891
|
-
encodingForLine,
|
1892
1936
|
pivotAdapter([
|
1893
1937
|
reshapeWithEncoding
|
1894
1938
|
], [
|
@@ -3689,51 +3733,58 @@ const registerLine = ()=>{
|
|
3689
3733
|
};
|
3690
3734
|
const encodingForColumn = (advancedVSeed, context)=>{
|
3691
3735
|
const { vseed } = context;
|
3692
|
-
const {
|
3693
|
-
|
3694
|
-
const
|
3695
|
-
|
3696
|
-
|
3697
|
-
|
3698
|
-
|
3699
|
-
|
3700
|
-
|
3701
|
-
|
3702
|
-
const detail = encoding.detail || [];
|
3703
|
-
const mergedDetail = 0 === detail.length ? (0, external_remeda_namespaceObject.unique)([
|
3704
|
-
...color,
|
3705
|
-
...detail
|
3706
|
-
]) : detail;
|
3707
|
-
return {
|
3708
|
-
...advancedVSeed,
|
3709
|
-
encoding: {
|
3710
|
-
...encoding,
|
3711
|
-
x,
|
3712
|
-
color,
|
3713
|
-
detail: mergedDetail
|
3714
|
-
}
|
3715
|
-
};
|
3716
|
-
}
|
3717
|
-
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
3718
|
-
const mergedEncoding = {
|
3719
|
-
x: dimensions.slice(0, 1).map((item)=>item.id),
|
3720
|
-
color: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
3721
|
-
detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
3722
|
-
tooltip: dimensions.map((item)=>item.id),
|
3723
|
-
label: [],
|
3724
|
-
row: [],
|
3725
|
-
column: []
|
3726
|
-
};
|
3736
|
+
const { measures: vseedMeasures = [] } = vseed;
|
3737
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
3738
|
+
const dimensions = getBasicDimensions(vseed);
|
3739
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
3740
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
3741
|
+
const encoding = {};
|
3742
|
+
if (hasDimensionEncoding) column_generateDimensionEncoding(dimensions, encoding);
|
3743
|
+
else column_generateDefaultDimensionEncoding(dimensions, encoding);
|
3744
|
+
if (hasMeasureEncoding) column_generateMeasureEncoding(measures, encoding);
|
3745
|
+
else column_generateDefaultMeasureEncoding(measures, encoding);
|
3727
3746
|
return {
|
3728
3747
|
...advancedVSeed,
|
3729
|
-
encoding
|
3748
|
+
encoding
|
3730
3749
|
};
|
3731
3750
|
};
|
3751
|
+
const column_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
3752
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
3753
|
+
encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
3754
|
+
};
|
3755
|
+
const column_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
3756
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
3757
|
+
const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
|
3758
|
+
encoding.x = uniqueDimIds.slice(0, 1);
|
3759
|
+
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
3760
|
+
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
3761
|
+
encoding.tooltip = uniqueDimIds;
|
3762
|
+
encoding.label = [];
|
3763
|
+
encoding.row = [];
|
3764
|
+
encoding.column = [];
|
3765
|
+
};
|
3766
|
+
const column_generateMeasureEncoding = (measures, encoding)=>{
|
3767
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
3768
|
+
encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
3769
|
+
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
3770
|
+
if (color.length > 0) encoding.color = color;
|
3771
|
+
return encoding;
|
3772
|
+
};
|
3773
|
+
const column_generateDimensionEncoding = (dimensions, encoding)=>{
|
3774
|
+
encoding.x = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
3775
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
3776
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
3777
|
+
if (0 === encoding.x.length) encoding.x = [
|
3778
|
+
dimensions[0].id
|
3779
|
+
];
|
3780
|
+
if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
3781
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
3782
|
+
};
|
3732
3783
|
const columnAdvancedPipeline = [
|
3733
3784
|
initAdvancedVSeed_initAdvancedVSeed,
|
3785
|
+
encodingForColumn,
|
3734
3786
|
buildMeasures,
|
3735
3787
|
autoDimensions_autoDimensions,
|
3736
|
-
encodingForColumn,
|
3737
3788
|
pivotAdapter([
|
3738
3789
|
reshapeWithEncoding
|
3739
3790
|
], [
|
@@ -4180,9 +4231,9 @@ const registerColumn = ()=>{
|
|
4180
4231
|
};
|
4181
4232
|
const columnParallelAdvancedPipeline = [
|
4182
4233
|
initAdvancedVSeed_initAdvancedVSeed,
|
4234
|
+
encodingForColumn,
|
4183
4235
|
buildMeasures,
|
4184
4236
|
autoDimensions_autoDimensions,
|
4185
|
-
encodingForColumn,
|
4186
4237
|
pivotAdapter([
|
4187
4238
|
reshapeWithEncoding
|
4188
4239
|
], [
|
@@ -4277,9 +4328,9 @@ const registerColumnParallel = ()=>{
|
|
4277
4328
|
};
|
4278
4329
|
const columnPercentAdvancedPipeline = [
|
4279
4330
|
initAdvancedVSeed_initAdvancedVSeed,
|
4331
|
+
encodingForColumn,
|
4280
4332
|
buildMeasures,
|
4281
4333
|
autoDimensions_autoDimensions,
|
4282
|
-
encodingForColumn,
|
4283
4334
|
pivotAdapter([
|
4284
4335
|
reshapeWithEncoding
|
4285
4336
|
], [
|
@@ -4358,46 +4409,53 @@ const registerColumnPercent = ()=>{
|
|
4358
4409
|
};
|
4359
4410
|
const encodingForBar = (advancedVSeed, context)=>{
|
4360
4411
|
const { vseed } = context;
|
4361
|
-
const {
|
4362
|
-
|
4363
|
-
const
|
4364
|
-
|
4365
|
-
|
4366
|
-
|
4367
|
-
|
4368
|
-
|
4369
|
-
|
4370
|
-
|
4371
|
-
const detail = encoding.detail || [];
|
4372
|
-
const mergedDetail = 0 === detail.length ? (0, external_remeda_namespaceObject.unique)([
|
4373
|
-
...color,
|
4374
|
-
...detail
|
4375
|
-
]) : detail;
|
4376
|
-
return {
|
4377
|
-
...advancedVSeed,
|
4378
|
-
encoding: {
|
4379
|
-
...encoding,
|
4380
|
-
y,
|
4381
|
-
color,
|
4382
|
-
detail: mergedDetail
|
4383
|
-
}
|
4384
|
-
};
|
4385
|
-
}
|
4386
|
-
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
4387
|
-
const mergedEncoding = {
|
4388
|
-
y: dimensions.slice(0, 1).map((item)=>item.id),
|
4389
|
-
color: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
4390
|
-
detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
4391
|
-
tooltip: dimensions.map((item)=>item.id),
|
4392
|
-
label: [],
|
4393
|
-
row: [],
|
4394
|
-
column: []
|
4395
|
-
};
|
4412
|
+
const { measures: vseedMeasures = [] } = vseed;
|
4413
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
4414
|
+
const dimensions = getBasicDimensions(vseed);
|
4415
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
4416
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
4417
|
+
const encoding = {};
|
4418
|
+
if (hasDimensionEncoding) bar_generateDimensionEncoding(dimensions, encoding);
|
4419
|
+
else bar_generateDefaultDimensionEncoding(dimensions, encoding);
|
4420
|
+
if (hasMeasureEncoding) bar_generateMeasureEncoding(measures, encoding);
|
4421
|
+
else bar_generateDefaultMeasureEncoding(measures, encoding);
|
4396
4422
|
return {
|
4397
4423
|
...advancedVSeed,
|
4398
|
-
encoding
|
4424
|
+
encoding
|
4399
4425
|
};
|
4400
4426
|
};
|
4427
|
+
const bar_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
4428
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
4429
|
+
encoding.x = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4430
|
+
};
|
4431
|
+
const bar_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
4432
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
4433
|
+
const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
|
4434
|
+
encoding.y = uniqueDimIds.slice(0, 1);
|
4435
|
+
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
4436
|
+
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
4437
|
+
encoding.tooltip = uniqueDimIds;
|
4438
|
+
encoding.label = [];
|
4439
|
+
encoding.row = [];
|
4440
|
+
encoding.column = [];
|
4441
|
+
};
|
4442
|
+
const bar_generateMeasureEncoding = (measures, encoding)=>{
|
4443
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
4444
|
+
encoding.x = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4445
|
+
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4446
|
+
if (color.length > 0) encoding.color = color;
|
4447
|
+
return encoding;
|
4448
|
+
};
|
4449
|
+
const bar_generateDimensionEncoding = (dimensions, encoding)=>{
|
4450
|
+
encoding.y = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
4451
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
4452
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
4453
|
+
if (0 === encoding.y.length) encoding.y = [
|
4454
|
+
dimensions[0].id
|
4455
|
+
];
|
4456
|
+
if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.y?.includes(item.id)).map((item)=>item.id);
|
4457
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.y?.includes(item.id)).map((item)=>item.id);
|
4458
|
+
};
|
4401
4459
|
const sortYBandAxis = (advancedVSeed, context)=>{
|
4402
4460
|
const result = {
|
4403
4461
|
...advancedVSeed
|
@@ -4416,9 +4474,9 @@ const sortYBandAxis = (advancedVSeed, context)=>{
|
|
4416
4474
|
};
|
4417
4475
|
const barAdvancedPipeline = [
|
4418
4476
|
initAdvancedVSeed_initAdvancedVSeed,
|
4477
|
+
encodingForBar,
|
4419
4478
|
buildMeasures,
|
4420
4479
|
autoDimensions_autoDimensions,
|
4421
|
-
encodingForBar,
|
4422
4480
|
pivotAdapter([
|
4423
4481
|
reshapeWithEncoding
|
4424
4482
|
], [
|
@@ -4936,9 +4994,9 @@ const registerBarPercent = ()=>{
|
|
4936
4994
|
};
|
4937
4995
|
const areaAdvancedPipeline = [
|
4938
4996
|
initAdvancedVSeed_initAdvancedVSeed,
|
4997
|
+
encodingForColumn,
|
4939
4998
|
buildMeasures,
|
4940
4999
|
autoDimensions_autoDimensions,
|
4941
|
-
encodingForColumn,
|
4942
5000
|
pivotAdapter([
|
4943
5001
|
reshapeWithEncoding
|
4944
5002
|
], [
|
@@ -5094,9 +5152,9 @@ const registerArea = ()=>{
|
|
5094
5152
|
};
|
5095
5153
|
const areaPercentAdvancedPipeline = [
|
5096
5154
|
initAdvancedVSeed_initAdvancedVSeed,
|
5155
|
+
encodingForColumn,
|
5097
5156
|
buildMeasures,
|
5098
5157
|
autoDimensions_autoDimensions,
|
5099
|
-
encodingForColumn,
|
5100
5158
|
pivotAdapter([
|
5101
5159
|
reshapeWithEncoding
|
5102
5160
|
], [
|
@@ -5170,6 +5228,49 @@ const registerAreaPercent = ()=>{
|
|
5170
5228
|
Builder._advancedPipelineMap.areaPercent = areaPercentAdvancedPipeline;
|
5171
5229
|
Builder._specPipelineMap.areaPercent = areaPercentSpecPipeline;
|
5172
5230
|
};
|
5231
|
+
const encodingForScatter = (advancedVSeed, context)=>{
|
5232
|
+
const { vseed } = context;
|
5233
|
+
const { measures: vseedMeasures = [] } = vseed;
|
5234
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
5235
|
+
const dimensions = getBasicDimensions(vseed);
|
5236
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
5237
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
5238
|
+
const encoding = {};
|
5239
|
+
if (hasDimensionEncoding) scatter_generateDimensionEncoding(dimensions, encoding);
|
5240
|
+
else scatter_generateDefaultDimensionEncoding(dimensions, encoding);
|
5241
|
+
if (hasMeasureEncoding) scatter_generateMeasureEncoding(measures, encoding);
|
5242
|
+
else scatter_generateDefaultMeasureEncoding(measures, encoding);
|
5243
|
+
return {
|
5244
|
+
...advancedVSeed,
|
5245
|
+
encoding
|
5246
|
+
};
|
5247
|
+
};
|
5248
|
+
const scatter_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
5249
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
5250
|
+
encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5251
|
+
};
|
5252
|
+
const scatter_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
5253
|
+
const dimensionsWithoutMeasureName = dimensions.filter((item)=>item.id !== MeasureName);
|
5254
|
+
const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensionsWithoutMeasureName.map((d)=>d.id));
|
5255
|
+
encoding.color = uniqueDimIds.slice(0);
|
5256
|
+
encoding.detail = uniqueDimIds.slice(0);
|
5257
|
+
encoding.tooltip = uniqueDimIds;
|
5258
|
+
encoding.label = [];
|
5259
|
+
encoding.row = [];
|
5260
|
+
encoding.column = [];
|
5261
|
+
};
|
5262
|
+
const scatter_generateMeasureEncoding = (measures, encoding)=>{
|
5263
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
5264
|
+
encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5265
|
+
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5266
|
+
if (color.length > 0) encoding.color = color;
|
5267
|
+
};
|
5268
|
+
const scatter_generateDimensionEncoding = (dimensions, encoding)=>{
|
5269
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5270
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
5271
|
+
if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
5272
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
5273
|
+
};
|
5173
5274
|
const buildMeasuresForScatter = (advancedVSeed, context)=>{
|
5174
5275
|
const { vseed } = context;
|
5175
5276
|
if (isMeasureTreeWithChildren(vseed)) {
|
@@ -5260,52 +5361,16 @@ const buildMeasuresForScatter_generateMeasuresByParentId = (measures)=>{
|
|
5260
5361
|
const encoding = Array.isArray(item.encoding) ? item.encoding : [
|
5261
5362
|
item.encoding
|
5262
5363
|
];
|
5263
|
-
const isY = encoding.includes('yAxis');
|
5264
5364
|
const isX = encoding.includes('xAxis');
|
5365
|
+
const isY = encoding.includes('yAxis');
|
5366
|
+
const isEmpty = !encoding.length;
|
5265
5367
|
if (isY) scatterChart.yMeasures.push(item);
|
5266
5368
|
else if (isX) scatterChart.xMeasures.push(item);
|
5267
|
-
else if (
|
5369
|
+
else if (isEmpty) if (0 === scatterChart.yMeasures.length) scatterChart.yMeasures.push(item);
|
5268
5370
|
else scatterChart.xMeasures.push(item);
|
5269
5371
|
});
|
5270
5372
|
return scatterMeasuresToMeasureTree(scatterMeasures);
|
5271
5373
|
};
|
5272
|
-
const encodingForScatter = (advancedVSeed, context)=>{
|
5273
|
-
const { vseed } = context;
|
5274
|
-
const { dimensions } = advancedVSeed;
|
5275
|
-
if (!dimensions) return advancedVSeed;
|
5276
|
-
const encoding = vseed.encoding;
|
5277
|
-
if (encoding) {
|
5278
|
-
const detail = encoding.detail || [];
|
5279
|
-
const color = encoding.color || [
|
5280
|
-
(dimensions[1] || dimensions[0]).id
|
5281
|
-
];
|
5282
|
-
const mergedDetail = 0 === detail.length ? (0, external_remeda_namespaceObject.unique)([
|
5283
|
-
...color,
|
5284
|
-
...detail
|
5285
|
-
]) : detail;
|
5286
|
-
return {
|
5287
|
-
...advancedVSeed,
|
5288
|
-
encoding: {
|
5289
|
-
...encoding,
|
5290
|
-
color,
|
5291
|
-
detail: mergedDetail
|
5292
|
-
}
|
5293
|
-
};
|
5294
|
-
}
|
5295
|
-
const dimensionsWithoutMeasureName = dimensions.filter((item)=>item.id !== MeasureName);
|
5296
|
-
const mergedEncoding = {
|
5297
|
-
color: dimensions.slice(0).map((item)=>item.id),
|
5298
|
-
detail: dimensionsWithoutMeasureName.slice(0).map((item)=>item.id),
|
5299
|
-
tooltip: dimensionsWithoutMeasureName.map((item)=>item.id),
|
5300
|
-
label: [],
|
5301
|
-
row: [],
|
5302
|
-
column: []
|
5303
|
-
};
|
5304
|
-
return {
|
5305
|
-
...advancedVSeed,
|
5306
|
-
encoding: mergedEncoding
|
5307
|
-
};
|
5308
|
-
};
|
5309
5374
|
const reshapeWithScatterEncoding = (advancedVSeed, context)=>{
|
5310
5375
|
const result = {
|
5311
5376
|
...advancedVSeed
|
@@ -5322,7 +5387,7 @@ const reshapeWithScatterEncoding = (advancedVSeed, context)=>{
|
|
5322
5387
|
const xMeasures = measures[0];
|
5323
5388
|
const yMeasures = measures[1] || xMeasures;
|
5324
5389
|
if (xMeasures && xMeasures.children) {
|
5325
|
-
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, xMeasures.children, encoding, {
|
5390
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, (0, external_remeda_namespaceObject.uniqueBy)(dimensions, (d)=>d.id), (0, external_remeda_namespaceObject.uniqueBy)(xMeasures.children, (d)=>d.id), encoding, {
|
5326
5391
|
foldMeasureValue: FoldXMeasureValue,
|
5327
5392
|
colorItemAsId: true,
|
5328
5393
|
colorMeasureId: getColorMeasureId(advancedVSeed)
|
@@ -5332,7 +5397,7 @@ const reshapeWithScatterEncoding = (advancedVSeed, context)=>{
|
|
5332
5397
|
unfoldInfoList.push(unfoldInfo);
|
5333
5398
|
}
|
5334
5399
|
if (yMeasures && yMeasures.children) {
|
5335
|
-
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(datasets[0], dimensions, yMeasures.children, encoding, {
|
5400
|
+
const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(datasets[0], (0, external_remeda_namespaceObject.uniqueBy)(dimensions, (d)=>d.id), (0, external_remeda_namespaceObject.uniqueBy)(yMeasures.children, (d)=>d.id), encoding, {
|
5336
5401
|
foldMeasureValue: FoldYMeasureValue,
|
5337
5402
|
colorItemAsId: true,
|
5338
5403
|
colorMeasureId: getColorMeasureId(advancedVSeed)
|
@@ -5436,9 +5501,9 @@ const pivotReshapeWithScatterEncoding = (advancedVSeed, context)=>{
|
|
5436
5501
|
};
|
5437
5502
|
const scatterAdvancedPipeline = [
|
5438
5503
|
initAdvancedVSeed_initAdvancedVSeed,
|
5504
|
+
encodingForScatter,
|
5439
5505
|
buildMeasuresForScatter,
|
5440
5506
|
autoDimensions_autoDimensions,
|
5441
|
-
encodingForScatter,
|
5442
5507
|
pivotAdapter([
|
5443
5508
|
reshapeWithScatterEncoding
|
5444
5509
|
], [
|
@@ -5583,6 +5648,55 @@ const registerScatter = ()=>{
|
|
5583
5648
|
Builder._advancedPipelineMap.scatter = scatterAdvancedPipeline;
|
5584
5649
|
Builder._specPipelineMap.scatter = scatterSpecPipeline;
|
5585
5650
|
};
|
5651
|
+
const encodingForDualAxis = (advancedVSeed, context)=>{
|
5652
|
+
const { vseed } = context;
|
5653
|
+
const { measures: vseedMeasures = [] } = vseed;
|
5654
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
5655
|
+
const dimensions = getBasicDimensions(vseed);
|
5656
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
5657
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
5658
|
+
const encoding = {};
|
5659
|
+
if (hasDimensionEncoding) dualAxis_generateDimensionEncoding(dimensions, encoding);
|
5660
|
+
else dualAxis_generateDefaultDimensionEncoding(dimensions, encoding);
|
5661
|
+
if (hasMeasureEncoding) dualAxis_generateMeasureEncoding(measures, encoding);
|
5662
|
+
else dualAxis_generateDefaultMeasureEncoding(measures, encoding);
|
5663
|
+
return {
|
5664
|
+
...advancedVSeed,
|
5665
|
+
encoding
|
5666
|
+
};
|
5667
|
+
};
|
5668
|
+
const dualAxis_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
5669
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
5670
|
+
encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5671
|
+
};
|
5672
|
+
const dualAxis_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
5673
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
5674
|
+
const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
|
5675
|
+
encoding.x = uniqueDimIds.slice(0, 1);
|
5676
|
+
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
5677
|
+
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
5678
|
+
encoding.tooltip = uniqueDimIds;
|
5679
|
+
encoding.label = [];
|
5680
|
+
encoding.row = [];
|
5681
|
+
encoding.column = [];
|
5682
|
+
};
|
5683
|
+
const dualAxis_generateMeasureEncoding = (measures, encoding)=>{
|
5684
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
5685
|
+
encoding.y = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5686
|
+
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5687
|
+
if (color.length > 0) encoding.color = color;
|
5688
|
+
return encoding;
|
5689
|
+
};
|
5690
|
+
const dualAxis_generateDimensionEncoding = (dimensions, encoding)=>{
|
5691
|
+
encoding.x = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
5692
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
5693
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
5694
|
+
if (0 === encoding.x.length) encoding.x = [
|
5695
|
+
dimensions[0].id
|
5696
|
+
];
|
5697
|
+
if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
5698
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
5699
|
+
};
|
5586
5700
|
const buildMeasuresForDualAxis = (advancedVSeed, context)=>{
|
5587
5701
|
const { vseed } = context;
|
5588
5702
|
if (isMeasureTreeWithChildren(vseed)) {
|
@@ -5675,54 +5789,14 @@ const buildMeasuresForDualAxis_generateMeasuresByParentId = (measures)=>{
|
|
5675
5789
|
];
|
5676
5790
|
const isPrimary = encoding.includes('primaryYAxis');
|
5677
5791
|
const isSecondary = encoding.includes('secondaryYAxis');
|
5792
|
+
const isEmpty = !item.encoding;
|
5678
5793
|
if (isPrimary) dualChart.primaryMeasures.push(item);
|
5679
5794
|
else if (isSecondary) dualChart.secondaryMeasures.push(item);
|
5680
|
-
else if (
|
5795
|
+
else if (isEmpty) if (0 === dualChart.primaryMeasures.length) dualChart.primaryMeasures.push(item);
|
5681
5796
|
else dualChart.secondaryMeasures.push(item);
|
5682
5797
|
});
|
5683
5798
|
return dualMeasuresToMeasureTree(dualMeasures);
|
5684
5799
|
};
|
5685
|
-
const encodingForDualAxis = (advancedVSeed, context)=>{
|
5686
|
-
const { vseed } = context;
|
5687
|
-
const { dimensions } = advancedVSeed;
|
5688
|
-
if (!dimensions) return advancedVSeed;
|
5689
|
-
const encoding = vseed.encoding;
|
5690
|
-
if (encoding) {
|
5691
|
-
const x = encoding.x || [
|
5692
|
-
dimensions[0].id
|
5693
|
-
];
|
5694
|
-
const color = encoding.color || [
|
5695
|
-
(dimensions[1] || dimensions[0]).id
|
5696
|
-
];
|
5697
|
-
const detail = encoding.detail || [];
|
5698
|
-
const mergedDetail = 0 === detail.length ? (0, external_remeda_namespaceObject.unique)([
|
5699
|
-
...color,
|
5700
|
-
...detail
|
5701
|
-
]) : detail;
|
5702
|
-
return {
|
5703
|
-
...advancedVSeed,
|
5704
|
-
encoding: {
|
5705
|
-
...encoding,
|
5706
|
-
x,
|
5707
|
-
color,
|
5708
|
-
detail: mergedDetail
|
5709
|
-
}
|
5710
|
-
};
|
5711
|
-
}
|
5712
|
-
const mergedEncoding = {
|
5713
|
-
x: dimensions.slice(0, 1).map((item)=>item.id),
|
5714
|
-
color: dimensions.slice(1).map((item)=>item.id),
|
5715
|
-
detail: dimensions.slice(1).map((item)=>item.id),
|
5716
|
-
tooltip: dimensions.map((item)=>item.id),
|
5717
|
-
label: [],
|
5718
|
-
row: [],
|
5719
|
-
column: []
|
5720
|
-
};
|
5721
|
-
return {
|
5722
|
-
...advancedVSeed,
|
5723
|
-
encoding: mergedEncoding
|
5724
|
-
};
|
5725
|
-
};
|
5726
5800
|
const reshapeWithDualEncoding = (advancedVSeed, context)=>{
|
5727
5801
|
const result = {
|
5728
5802
|
...advancedVSeed
|
@@ -5872,9 +5946,9 @@ const dualAxisConfig = (advancedVSeed, context)=>{
|
|
5872
5946
|
};
|
5873
5947
|
const dualAxisAdvancedPipeline = [
|
5874
5948
|
initAdvancedVSeed_initAdvancedVSeed,
|
5949
|
+
encodingForDualAxis,
|
5875
5950
|
buildMeasuresForDualAxis,
|
5876
5951
|
autoDimensions_autoDimensions,
|
5877
|
-
encodingForDualAxis,
|
5878
5952
|
pivotAdapter([
|
5879
5953
|
reshapeWithDualEncoding
|
5880
5954
|
], [
|
@@ -6709,33 +6783,51 @@ const registerDualAxis = ()=>{
|
|
6709
6783
|
};
|
6710
6784
|
const encodingForPie = (advancedVSeed, context)=>{
|
6711
6785
|
const { vseed } = context;
|
6712
|
-
const {
|
6713
|
-
|
6714
|
-
const
|
6715
|
-
|
6716
|
-
|
6717
|
-
|
6718
|
-
|
6719
|
-
|
6720
|
-
|
6721
|
-
|
6722
|
-
color: dimensions.slice(0).map((item)=>item.id),
|
6723
|
-
detail: dimensions.slice(0).map((item)=>item.id),
|
6724
|
-
tooltip: dimensions.map((item)=>item.id),
|
6725
|
-
label: [],
|
6726
|
-
row: [],
|
6727
|
-
column: []
|
6728
|
-
};
|
6786
|
+
const { measures: vseedMeasures = [] } = vseed;
|
6787
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
6788
|
+
const dimensions = getBasicDimensions(vseed);
|
6789
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
6790
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
6791
|
+
const encoding = {};
|
6792
|
+
if (hasDimensionEncoding) pie_generateDimensionEncoding(dimensions, encoding);
|
6793
|
+
else pie_generateDefaultDimensionEncoding(dimensions, encoding);
|
6794
|
+
if (hasMeasureEncoding) pie_generateMeasureEncoding(measures, encoding);
|
6795
|
+
else pie_generateDefaultMeasureEncoding(measures, encoding);
|
6729
6796
|
return {
|
6730
6797
|
...advancedVSeed,
|
6731
|
-
encoding
|
6732
|
-
};
|
6798
|
+
encoding
|
6799
|
+
};
|
6800
|
+
};
|
6801
|
+
const pie_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
6802
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
6803
|
+
encoding.angle = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
|
6804
|
+
};
|
6805
|
+
const pie_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
6806
|
+
const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
|
6807
|
+
encoding.color = uniqueDimIds.slice(0);
|
6808
|
+
encoding.detail = uniqueDimIds.slice(0);
|
6809
|
+
encoding.tooltip = uniqueDimIds;
|
6810
|
+
encoding.label = [];
|
6811
|
+
encoding.row = [];
|
6812
|
+
encoding.column = [];
|
6813
|
+
};
|
6814
|
+
const pie_generateMeasureEncoding = (measures, encoding)=>{
|
6815
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
6816
|
+
encoding.angle = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
|
6817
|
+
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
6818
|
+
if (color.length > 0) encoding.color = color;
|
6819
|
+
};
|
6820
|
+
const pie_generateDimensionEncoding = (dimensions, encoding)=>{
|
6821
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
6822
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
6823
|
+
if (0 === encoding.color.length) encoding.color = dimensions.map((item)=>item.id);
|
6824
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.map((item)=>item.id);
|
6733
6825
|
};
|
6734
6826
|
const pieAdvancedPipeline = [
|
6735
6827
|
initAdvancedVSeed_initAdvancedVSeed,
|
6828
|
+
encodingForPie,
|
6736
6829
|
buildMeasures,
|
6737
6830
|
autoDimensions_autoDimensions,
|
6738
|
-
encodingForPie,
|
6739
6831
|
pivotAdapter([
|
6740
6832
|
reshapeWithEncoding
|
6741
6833
|
], [
|
@@ -6914,51 +7006,57 @@ const registerDonut = ()=>{
|
|
6914
7006
|
};
|
6915
7007
|
const encodingForRose = (advancedVSeed, context)=>{
|
6916
7008
|
const { vseed } = context;
|
6917
|
-
const {
|
6918
|
-
|
6919
|
-
const
|
6920
|
-
|
6921
|
-
|
6922
|
-
|
6923
|
-
|
6924
|
-
|
6925
|
-
|
6926
|
-
|
6927
|
-
const detail = encoding.detail || [];
|
6928
|
-
const mergedDetail = 0 === detail.length ? (0, external_remeda_namespaceObject.unique)([
|
6929
|
-
...color,
|
6930
|
-
...detail
|
6931
|
-
]) : detail;
|
6932
|
-
return {
|
6933
|
-
...advancedVSeed,
|
6934
|
-
encoding: {
|
6935
|
-
...encoding,
|
6936
|
-
angle,
|
6937
|
-
color,
|
6938
|
-
detail: mergedDetail
|
6939
|
-
}
|
6940
|
-
};
|
6941
|
-
}
|
6942
|
-
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
6943
|
-
const mergedEncoding = {
|
6944
|
-
angle: dimensions.slice(0, 1).map((item)=>item.id),
|
6945
|
-
color: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
6946
|
-
detail: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
6947
|
-
tooltip: dimensions.map((item)=>item.id),
|
6948
|
-
label: [],
|
6949
|
-
row: [],
|
6950
|
-
column: []
|
6951
|
-
};
|
7009
|
+
const { measures: vseedMeasures = [] } = vseed;
|
7010
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
7011
|
+
const dimensions = getBasicDimensions(vseed);
|
7012
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
7013
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
7014
|
+
const encoding = {};
|
7015
|
+
if (hasDimensionEncoding) rose_generateDimensionEncoding(dimensions, encoding);
|
7016
|
+
else rose_generateDefaultDimensionEncoding(dimensions, encoding);
|
7017
|
+
if (hasMeasureEncoding) rose_generateMeasureEncoding(measures, encoding);
|
7018
|
+
else rose_generateDefaultMeasureEncoding(measures, encoding);
|
6952
7019
|
return {
|
6953
7020
|
...advancedVSeed,
|
6954
|
-
encoding
|
7021
|
+
encoding
|
6955
7022
|
};
|
6956
7023
|
};
|
7024
|
+
const rose_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7025
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
7026
|
+
encoding.radius = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7027
|
+
};
|
7028
|
+
const rose_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
7029
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
7030
|
+
const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
|
7031
|
+
encoding.angle = uniqueDimIds.slice(0, 1);
|
7032
|
+
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7033
|
+
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7034
|
+
encoding.tooltip = uniqueDimIds;
|
7035
|
+
encoding.label = [];
|
7036
|
+
encoding.row = [];
|
7037
|
+
encoding.column = [];
|
7038
|
+
};
|
7039
|
+
const rose_generateMeasureEncoding = (measures, encoding)=>{
|
7040
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
7041
|
+
encoding.radius = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7042
|
+
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7043
|
+
if (color.length > 0) encoding.color = color;
|
7044
|
+
};
|
7045
|
+
const rose_generateDimensionEncoding = (dimensions, encoding)=>{
|
7046
|
+
encoding.angle = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
|
7047
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7048
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7049
|
+
if (0 === encoding.angle.length) encoding.angle = [
|
7050
|
+
dimensions[0].id
|
7051
|
+
];
|
7052
|
+
if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.angle?.includes(item.id)).map((item)=>item.id);
|
7053
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.angle?.includes(item.id)).map((item)=>item.id);
|
7054
|
+
};
|
6957
7055
|
const roseAdvancedPipeline = [
|
6958
7056
|
initAdvancedVSeed_initAdvancedVSeed,
|
7057
|
+
encodingForRose,
|
6959
7058
|
buildMeasures,
|
6960
7059
|
autoDimensions_autoDimensions,
|
6961
|
-
encodingForRose,
|
6962
7060
|
pivotAdapter([
|
6963
7061
|
reshapeWithEncoding
|
6964
7062
|
], [
|
@@ -7125,9 +7223,9 @@ const registerRose = ()=>{
|
|
7125
7223
|
};
|
7126
7224
|
const roseParallelAdvancedPipeline = [
|
7127
7225
|
initAdvancedVSeed_initAdvancedVSeed,
|
7226
|
+
encodingForRose,
|
7128
7227
|
buildMeasures,
|
7129
7228
|
autoDimensions_autoDimensions,
|
7130
|
-
encodingForRose,
|
7131
7229
|
pivotAdapter([
|
7132
7230
|
reshapeWithEncoding
|
7133
7231
|
], [
|
@@ -7233,50 +7331,57 @@ const registerRoseParallel = ()=>{
|
|
7233
7331
|
};
|
7234
7332
|
const encodingForRadar = (advancedVSeed, context)=>{
|
7235
7333
|
const { vseed } = context;
|
7236
|
-
const {
|
7237
|
-
|
7238
|
-
const
|
7239
|
-
|
7240
|
-
|
7241
|
-
|
7242
|
-
|
7243
|
-
|
7244
|
-
|
7245
|
-
|
7246
|
-
const detail = encoding.detail || [];
|
7247
|
-
const mergedDetail = 0 === detail.length ? (0, external_remeda_namespaceObject.unique)([
|
7248
|
-
...color,
|
7249
|
-
...detail
|
7250
|
-
]) : detail;
|
7251
|
-
return {
|
7252
|
-
...advancedVSeed,
|
7253
|
-
encoding: {
|
7254
|
-
...encoding,
|
7255
|
-
angle,
|
7256
|
-
color,
|
7257
|
-
detail: mergedDetail
|
7258
|
-
}
|
7259
|
-
};
|
7260
|
-
}
|
7261
|
-
const mergedEncoding = {
|
7262
|
-
angle: dimensions.slice(0, 1).map((item)=>item.id),
|
7263
|
-
color: dimensions.slice(1).map((item)=>item.id),
|
7264
|
-
detail: dimensions.slice(1).map((item)=>item.id),
|
7265
|
-
tooltip: dimensions.map((item)=>item.id),
|
7266
|
-
label: [],
|
7267
|
-
row: [],
|
7268
|
-
column: []
|
7269
|
-
};
|
7334
|
+
const { measures: vseedMeasures = [] } = vseed;
|
7335
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
7336
|
+
const dimensions = getBasicDimensions(vseed);
|
7337
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
7338
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
7339
|
+
const encoding = {};
|
7340
|
+
if (hasDimensionEncoding) radar_generateDimensionEncoding(dimensions, encoding);
|
7341
|
+
else radar_generateDefaultDimensionEncoding(dimensions, encoding);
|
7342
|
+
if (hasMeasureEncoding) radar_generateMeasureEncoding(measures, encoding);
|
7343
|
+
else radar_generateDefaultMeasureEncoding(measures, encoding);
|
7270
7344
|
return {
|
7271
7345
|
...advancedVSeed,
|
7272
|
-
encoding
|
7346
|
+
encoding
|
7273
7347
|
};
|
7274
7348
|
};
|
7349
|
+
const radar_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7350
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
7351
|
+
encoding.radius = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7352
|
+
};
|
7353
|
+
const radar_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
7354
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
7355
|
+
const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
|
7356
|
+
encoding.angle = uniqueDimIds.slice(0, 1);
|
7357
|
+
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7358
|
+
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7359
|
+
encoding.tooltip = uniqueDimIds;
|
7360
|
+
encoding.label = [];
|
7361
|
+
encoding.row = [];
|
7362
|
+
encoding.column = [];
|
7363
|
+
};
|
7364
|
+
const radar_generateMeasureEncoding = (measures, encoding)=>{
|
7365
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
7366
|
+
encoding.radius = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
|
7367
|
+
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7368
|
+
if (color.length > 0) encoding.color = color;
|
7369
|
+
};
|
7370
|
+
const radar_generateDimensionEncoding = (dimensions, encoding)=>{
|
7371
|
+
encoding.angle = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
|
7372
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7373
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7374
|
+
if (0 === encoding.angle.length) encoding.angle = [
|
7375
|
+
dimensions[0].id
|
7376
|
+
];
|
7377
|
+
if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.angle?.includes(item.id)).map((item)=>item.id);
|
7378
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.angle?.includes(item.id)).map((item)=>item.id);
|
7379
|
+
};
|
7275
7380
|
const radarAdvancedPipeline = [
|
7276
7381
|
initAdvancedVSeed_initAdvancedVSeed,
|
7382
|
+
encodingForRadar,
|
7277
7383
|
buildMeasures,
|
7278
7384
|
autoDimensions_autoDimensions,
|
7279
|
-
encodingForRadar,
|
7280
7385
|
pivotAdapter([
|
7281
7386
|
reshapeWithEncoding
|
7282
7387
|
], [
|
@@ -7412,33 +7517,51 @@ const registerRadar = ()=>{
|
|
7412
7517
|
};
|
7413
7518
|
const encodingForFunnel = (advancedVSeed, context)=>{
|
7414
7519
|
const { vseed } = context;
|
7415
|
-
const {
|
7416
|
-
|
7417
|
-
const
|
7418
|
-
|
7419
|
-
|
7420
|
-
|
7421
|
-
|
7422
|
-
|
7423
|
-
|
7424
|
-
|
7425
|
-
color: dimensions.slice(0).map((item)=>item.id),
|
7426
|
-
detail: dimensions.slice(0).map((item)=>item.id),
|
7427
|
-
tooltip: dimensions.map((item)=>item.id),
|
7428
|
-
label: [],
|
7429
|
-
row: [],
|
7430
|
-
column: []
|
7431
|
-
};
|
7520
|
+
const { measures: vseedMeasures = [] } = vseed;
|
7521
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
7522
|
+
const dimensions = getBasicDimensions(vseed);
|
7523
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
7524
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
7525
|
+
const encoding = {};
|
7526
|
+
if (hasDimensionEncoding) funnel_generateDimensionEncoding(dimensions, encoding);
|
7527
|
+
else funnel_generateDefaultDimensionEncoding(dimensions, encoding);
|
7528
|
+
if (hasMeasureEncoding) funnel_generateMeasureEncoding(measures, encoding);
|
7529
|
+
else funnel_generateDefaultMeasureEncoding(measures, encoding);
|
7432
7530
|
return {
|
7433
7531
|
...advancedVSeed,
|
7434
|
-
encoding
|
7435
|
-
};
|
7532
|
+
encoding
|
7533
|
+
};
|
7534
|
+
};
|
7535
|
+
const funnel_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7536
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
7537
|
+
encoding.size = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
|
7538
|
+
};
|
7539
|
+
const funnel_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
7540
|
+
const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
|
7541
|
+
encoding.color = uniqueDimIds.slice(0);
|
7542
|
+
encoding.detail = uniqueDimIds.slice(0);
|
7543
|
+
encoding.tooltip = uniqueDimIds;
|
7544
|
+
encoding.label = [];
|
7545
|
+
encoding.row = [];
|
7546
|
+
encoding.column = [];
|
7547
|
+
};
|
7548
|
+
const funnel_generateMeasureEncoding = (measures, encoding)=>{
|
7549
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
7550
|
+
encoding.size = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
|
7551
|
+
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7552
|
+
if (color.length > 0) encoding.color = color;
|
7553
|
+
};
|
7554
|
+
const funnel_generateDimensionEncoding = (dimensions, encoding)=>{
|
7555
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7556
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7557
|
+
if (0 === encoding.color.length) encoding.color = dimensions.map((item)=>item.id);
|
7558
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.map((item)=>item.id);
|
7436
7559
|
};
|
7437
7560
|
const funnelAdvancedPipeline = [
|
7438
7561
|
initAdvancedVSeed_initAdvancedVSeed,
|
7562
|
+
encodingForFunnel,
|
7439
7563
|
buildMeasures,
|
7440
7564
|
autoDimensions_autoDimensions,
|
7441
|
-
encodingForFunnel,
|
7442
7565
|
pivotAdapter([
|
7443
7566
|
reshapeWithEncoding
|
7444
7567
|
], [
|
@@ -7531,45 +7654,61 @@ const registerFunnel = ()=>{
|
|
7531
7654
|
};
|
7532
7655
|
const encodingForHeatmap = (advancedVSeed, context)=>{
|
7533
7656
|
const { vseed } = context;
|
7534
|
-
const {
|
7535
|
-
|
7536
|
-
const
|
7537
|
-
|
7538
|
-
|
7539
|
-
|
7540
|
-
|
7541
|
-
|
7542
|
-
|
7543
|
-
|
7544
|
-
return {
|
7545
|
-
...advancedVSeed,
|
7546
|
-
encoding: {
|
7547
|
-
x,
|
7548
|
-
y,
|
7549
|
-
...encoding
|
7550
|
-
}
|
7551
|
-
};
|
7552
|
-
}
|
7553
|
-
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
7554
|
-
const mergedEncoding = {
|
7555
|
-
x: dimensions.slice(0, 1).map((item)=>item.id),
|
7556
|
-
y: dimensions.slice(onlyMeasureName ? 0 : 1).map((item)=>item.id),
|
7557
|
-
color: dimensions.slice(0).map((item)=>item.id),
|
7558
|
-
tooltip: dimensions.map((item)=>item.id),
|
7559
|
-
label: [],
|
7560
|
-
row: [],
|
7561
|
-
column: []
|
7562
|
-
};
|
7657
|
+
const { measures: vseedMeasures = [] } = vseed;
|
7658
|
+
const measures = vseedMeasures.length ? findAllMeasures(vseedMeasures) : getBasicMeasures(vseed);
|
7659
|
+
const dimensions = getBasicDimensions(vseed);
|
7660
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
7661
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
7662
|
+
const encoding = {};
|
7663
|
+
if (hasDimensionEncoding) heatmap_generateDimensionEncoding(dimensions, encoding);
|
7664
|
+
else heatmap_generateDefaultDimensionEncoding(dimensions, encoding);
|
7665
|
+
if (hasMeasureEncoding) heatmap_generateMeasureEncoding(measures, encoding);
|
7666
|
+
else heatmap_generateDefaultMeasureEncoding(measures, encoding);
|
7563
7667
|
return {
|
7564
7668
|
...advancedVSeed,
|
7565
|
-
encoding
|
7669
|
+
encoding
|
7566
7670
|
};
|
7567
7671
|
};
|
7672
|
+
const heatmap_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
7673
|
+
encoding.tooltip = (0, external_remeda_namespaceObject.unique)(measures.map((item)=>item.id));
|
7674
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding || !item.encoding).map((item)=>item.id));
|
7675
|
+
};
|
7676
|
+
const heatmap_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
7677
|
+
const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
|
7678
|
+
const uniqueDimIds = (0, external_remeda_namespaceObject.unique)(dimensions.map((d)=>d.id));
|
7679
|
+
encoding.x = uniqueDimIds.slice(0, 1);
|
7680
|
+
encoding.y = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7681
|
+
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7682
|
+
encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
7683
|
+
encoding.tooltip = uniqueDimIds;
|
7684
|
+
encoding.label = [];
|
7685
|
+
encoding.row = [];
|
7686
|
+
encoding.column = [];
|
7687
|
+
};
|
7688
|
+
const heatmap_generateMeasureEncoding = (measures, encoding)=>{
|
7689
|
+
encoding.tooltip = measures.map((item)=>item.id);
|
7690
|
+
const color = (0, external_remeda_namespaceObject.unique)(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7691
|
+
if (color.length > 0) encoding.color = color;
|
7692
|
+
return encoding;
|
7693
|
+
};
|
7694
|
+
const heatmap_generateDimensionEncoding = (dimensions, encoding)=>{
|
7695
|
+
encoding.x = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
7696
|
+
encoding.y = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'yAxis' === item.encoding).map((item)=>item.id));
|
7697
|
+
encoding.color = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
7698
|
+
encoding.detail = (0, external_remeda_namespaceObject.unique)(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7699
|
+
if (0 === encoding.x.length) encoding.x = [
|
7700
|
+
dimensions[0].id
|
7701
|
+
];
|
7702
|
+
if (0 === encoding.y.length) if (dimensions.length > 1) encoding.y = dimensions.slice(1).map((item)=>item.id);
|
7703
|
+
else encoding.y = dimensions.slice(0).map((item)=>item.id);
|
7704
|
+
if (0 === encoding.color.length) encoding.color = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
7705
|
+
if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
|
7706
|
+
};
|
7568
7707
|
const heatmapAdvancedPipeline = [
|
7569
7708
|
initAdvancedVSeed_initAdvancedVSeed,
|
7709
|
+
encodingForHeatmap,
|
7570
7710
|
buildMeasures,
|
7571
7711
|
autoDimensions_autoDimensions,
|
7572
|
-
encodingForHeatmap,
|
7573
7712
|
pivotAdapter([
|
7574
7713
|
reshapeWithEncoding
|
7575
7714
|
], [
|
@@ -8390,7 +8529,18 @@ const zDimension = external_zod_namespaceObject.z.object({
|
|
8390
8529
|
'dimension',
|
8391
8530
|
'rowDimension',
|
8392
8531
|
'columnDimension'
|
8393
|
-
]).default('dimension')
|
8532
|
+
]).default('dimension'),
|
8533
|
+
encoding: external_zod_namespaceObject.z["enum"]([
|
8534
|
+
'xAxis',
|
8535
|
+
'yAxis',
|
8536
|
+
'angle',
|
8537
|
+
'color',
|
8538
|
+
'detail',
|
8539
|
+
'tooltip',
|
8540
|
+
'label',
|
8541
|
+
'row',
|
8542
|
+
'column'
|
8543
|
+
]).optional()
|
8394
8544
|
});
|
8395
8545
|
const zDimensionGroup = external_zod_namespaceObject.z.object({
|
8396
8546
|
id: external_zod_namespaceObject.z.string(),
|