@visactor/vseed 0.1.6 → 0.1.7

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.
Files changed (70) hide show
  1. package/dist/builder/builder/builder.d.ts +0 -2
  2. package/dist/index.cjs +327 -313
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.js +327 -313
  5. package/dist/index.js.map +1 -1
  6. package/dist/pipeline/advanced/chart/pipes/encoding/bar.d.ts +19 -0
  7. package/dist/pipeline/advanced/chart/pipes/encoding/column.d.ts +9 -9
  8. package/dist/pipeline/advanced/chart/pipes/encoding/dualAxis.d.ts +19 -0
  9. package/dist/pipeline/advanced/chart/pipes/encoding/funnel.d.ts +17 -0
  10. package/dist/pipeline/advanced/chart/pipes/encoding/heatmap.d.ts +19 -0
  11. package/dist/pipeline/advanced/chart/pipes/encoding/line.d.ts +3 -2
  12. package/dist/pipeline/advanced/chart/pipes/encoding/pie.d.ts +18 -0
  13. package/dist/pipeline/advanced/chart/pipes/encoding/radar.d.ts +19 -0
  14. package/dist/pipeline/advanced/chart/pipes/encoding/rose.d.ts +19 -0
  15. package/dist/pipeline/advanced/chart/pipes/encoding/scatter.d.ts +18 -0
  16. package/dist/pipeline/advanced/table/pipes/{init/autoDimensions.d.ts → default/defaultDimensions.d.ts} +1 -1
  17. package/dist/pipeline/advanced/table/pipes/{init/autoMeasures.d.ts → default/defaultMeasureName.d.ts} +1 -1
  18. package/dist/pipeline/advanced/table/pipes/default/defaultMeasures.d.ts +5 -0
  19. package/dist/pipeline/advanced/table/pipes/default/index.d.ts +3 -0
  20. package/dist/pipeline/advanced/table/pipes/encoding/index.d.ts +1 -0
  21. package/dist/pipeline/advanced/table/pipes/{init/autoPivotMeasures.d.ts → encoding/pivotTable.d.ts} +1 -1
  22. package/dist/pipeline/advanced/table/pipes/index.d.ts +3 -0
  23. package/dist/pipeline/advanced/table/pipes/init/index.d.ts +0 -3
  24. package/dist/types/advancedVSeed.d.ts +0 -5
  25. package/dist/types/chartType/area/area.d.ts +1 -2
  26. package/dist/types/chartType/area/zArea.d.ts +0 -5
  27. package/dist/types/chartType/areaPercent/areaPercent.d.ts +1 -3
  28. package/dist/types/chartType/areaPercent/zAreaPercent.d.ts +0 -5
  29. package/dist/types/chartType/bar/bar.d.ts +17 -1
  30. package/dist/types/chartType/bar/zBar.d.ts +0 -5
  31. package/dist/types/chartType/barParallel/barParallel.d.ts +17 -1
  32. package/dist/types/chartType/barParallel/zBarParallel.d.ts +0 -5
  33. package/dist/types/chartType/barPercent/barPercent.d.ts +17 -1
  34. package/dist/types/chartType/barPercent/zBarPercent.d.ts +0 -5
  35. package/dist/types/chartType/column/column.d.ts +2 -2
  36. package/dist/types/chartType/column/zColumn.d.ts +0 -5
  37. package/dist/types/chartType/columnParallel/columnParallel.d.ts +2 -3
  38. package/dist/types/chartType/columnParallel/zColumnParallel.d.ts +0 -5
  39. package/dist/types/chartType/columnPercent/columnPercent.d.ts +2 -2
  40. package/dist/types/chartType/columnPercent/zColumnPercent.d.ts +0 -5
  41. package/dist/types/chartType/donut/donut.d.ts +16 -1
  42. package/dist/types/chartType/donut/zDonut.d.ts +0 -5
  43. package/dist/types/chartType/dualAxis/dualAxis.d.ts +17 -1
  44. package/dist/types/chartType/dualAxis/zDualAxis.d.ts +0 -5
  45. package/dist/types/chartType/funnel/funnel.d.ts +15 -1
  46. package/dist/types/chartType/funnel/zFunnel.d.ts +0 -5
  47. package/dist/types/chartType/heatmap/heatmap.d.ts +17 -1
  48. package/dist/types/chartType/heatmap/zHeatmap.d.ts +0 -5
  49. package/dist/types/chartType/line/line.d.ts +8 -12
  50. package/dist/types/chartType/line/zLine.d.ts +0 -5
  51. package/dist/types/chartType/pie/pie.d.ts +16 -1
  52. package/dist/types/chartType/pie/zPie.d.ts +0 -5
  53. package/dist/types/chartType/pivotTable/pivotTable.d.ts +10 -3
  54. package/dist/types/chartType/pivotTable/zPivotTable.d.ts +0 -5
  55. package/dist/types/chartType/radar/radar.d.ts +17 -1
  56. package/dist/types/chartType/radar/zRadar.d.ts +0 -5
  57. package/dist/types/chartType/rose/rose.d.ts +17 -1
  58. package/dist/types/chartType/rose/zRose.d.ts +0 -5
  59. package/dist/types/chartType/roseParallel/roseParallel.d.ts +17 -1
  60. package/dist/types/chartType/roseParallel/zRoseParallel.d.ts +0 -5
  61. package/dist/types/chartType/scatter/scatter.d.ts +16 -1
  62. package/dist/types/chartType/scatter/zScatter.d.ts +0 -5
  63. package/dist/types/chartType/table/table.d.ts +2 -0
  64. package/dist/types/chartType/table/zTable.d.ts +0 -5
  65. package/dist/types/properties/dimensions/dimensions.d.ts +0 -4
  66. package/dist/types/properties/dimensions/zDimensions.d.ts +0 -15
  67. package/dist/types/zVseed.d.ts +0 -100
  68. package/dist/umd/index.js +327 -313
  69. package/dist/umd/index.js.map +1 -1
  70. package/package.json +2 -2
package/dist/umd/index.js CHANGED
@@ -491,33 +491,35 @@
491
491
  locale: locale || 'zh-CN'
492
492
  };
493
493
  };
494
- const autoMeasures = (advancedVSeed, context)=>{
495
- const result = {
496
- ...advancedVSeed
497
- };
494
+ const defaultMeasures_defaultMeasures = (advancedVSeed, context)=>{
498
495
  const { vseed } = context;
499
496
  const { measures, dataset } = vseed;
497
+ if (measures && measures.length > 0) return {
498
+ ...advancedVSeed,
499
+ measures
500
+ };
500
501
  if (!dataset) throw new Error('dataset is required');
501
- if (0 === dataset.length) return result;
502
- if (measures) {
503
- result.measures = measures;
504
- return result;
505
- }
502
+ if (0 === dataset.length) return {
503
+ ...advancedVSeed,
504
+ measures: []
505
+ };
506
506
  const top100dataset = dataset.slice(0, 100);
507
507
  const sample = top100dataset.reduce((prev, cur)=>({
508
508
  ...prev,
509
509
  ...cur
510
510
  }), {});
511
- result.measures = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
511
+ const defaultMeasures = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
512
512
  '',
513
513
  null,
514
514
  void 0
515
515
  ].includes(key)).map((measure)=>({
516
516
  id: measure,
517
- alias: measure,
518
- encoding: 'column'
517
+ alias: measure
519
518
  }));
520
- return result;
519
+ return {
520
+ ...advancedVSeed,
521
+ measures: defaultMeasures
522
+ };
521
523
  };
522
524
  const preorderTraverse = (tree, callback)=>{
523
525
  if (!tree || 0 === tree.length) return;
@@ -571,37 +573,36 @@
571
573
  });
572
574
  return result;
573
575
  };
574
- const autoDimensions = (advancedVSeed, context)=>{
576
+ const defaultDimensions = (advancedVSeed, context)=>{
575
577
  const result = {
576
578
  ...advancedVSeed
577
579
  };
578
580
  const { vseed } = context;
579
581
  const { dimensions, dataset } = vseed;
580
- const measures = findAllMeasures(advancedVSeed.measures);
582
+ if (dimensions && dimensions.length > 0) return {
583
+ ...result,
584
+ dimensions
585
+ };
581
586
  if (!dataset) throw new Error('dataset is required');
582
587
  if (0 === dataset.length) return result;
583
- if (dimensions) {
584
- result.dimensions = dimensions.map((dim)=>({
585
- location: 'dimension',
586
- ...dim
587
- }));
588
- return result;
589
- }
588
+ const measures = findAllMeasures(advancedVSeed.measures);
590
589
  const top100dataset = dataset.slice(0, 100);
591
590
  const sample = top100dataset.reduce((prev, cur)=>({
592
591
  ...prev,
593
592
  ...cur
594
593
  }), {});
595
- result.dimensions = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'string' == typeof item[key]) && ![
594
+ const newDimensions = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'string' == typeof item[key]) && ![
596
595
  '',
597
596
  null,
598
597
  void 0
599
598
  ].includes(key) && !measures.some((measure)=>measure.id === key)).map((dim)=>({
600
599
  id: dim,
601
- alias: dim,
602
- encoding: 'column'
600
+ alias: dim
603
601
  }));
604
- return result;
602
+ return {
603
+ ...result,
604
+ dimensions: newDimensions
605
+ };
605
606
  };
606
607
  const records_records = (advancedVSeed, context)=>{
607
608
  const { vseed } = context;
@@ -755,8 +756,8 @@
755
756
  };
756
757
  const tableAdvancedPipeline = [
757
758
  initAdvancedVSeed,
758
- autoMeasures,
759
- autoDimensions,
759
+ defaultMeasures_defaultMeasures,
760
+ defaultDimensions,
760
761
  records_records,
761
762
  tableConfig_tableConfig,
762
763
  theme_theme
@@ -980,9 +981,9 @@
980
981
  borderColor: borderColor,
981
982
  borderLineWidth: 1,
982
983
  padding: [
983
- 8.6,
984
+ 8,
984
985
  12,
985
- 8.6,
986
+ 8,
986
987
  12
987
988
  ],
988
989
  textAlign: 'right',
@@ -1095,35 +1096,6 @@
1095
1096
  Builder._advancedPipelineMap.table = tableAdvancedPipeline;
1096
1097
  Builder._specPipelineMap.table = tableSpecPipeline;
1097
1098
  };
1098
- const autoPivotMeasures = (advancedVSeed, context)=>{
1099
- const result = {
1100
- ...advancedVSeed
1101
- };
1102
- const { vseed } = context;
1103
- const { dataset } = vseed;
1104
- const measures = findAllMeasures(vseed.measures);
1105
- if (!dataset) throw new Error('dataset is required');
1106
- if (0 === dataset.length) return result;
1107
- if (vseed.measures) {
1108
- result.measures = findAllMeasures(measures);
1109
- return result;
1110
- }
1111
- const top100dataset = dataset.slice(0, 100);
1112
- const sample = top100dataset.reduce((prev, cur)=>({
1113
- ...prev,
1114
- ...cur
1115
- }), {});
1116
- result.measures = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
1117
- '',
1118
- null,
1119
- void 0
1120
- ].includes(key)).map((measure)=>({
1121
- id: measure,
1122
- alias: measure,
1123
- encoding: 'detail'
1124
- }));
1125
- return result;
1126
- };
1127
1099
  const ORIGINAL_DATA = '__OriginalData__';
1128
1100
  const Separator = '-';
1129
1101
  const FoldMeasureName = '__MeaName__';
@@ -1140,88 +1112,62 @@
1140
1112
  const DetailEncoding = '__Dim_Detail__';
1141
1113
  const ColorEncoding = '__Dim_Color__';
1142
1114
  const ColorIdEncoding = '__Dim_ColorId__';
1143
- const findAllDimensions = (dimensions = [])=>{
1144
- if (!dimensions) return [];
1145
- const result = [];
1146
- preorderTraverse(dimensions, (node)=>{
1147
- if (!('children' in node)) result.push(node);
1148
- return false;
1149
- });
1150
- return result;
1151
- };
1152
- const autoPivotDimensions = (advancedVSeed, context)=>{
1115
+ const defaultMeasureName = (advancedVSeed)=>{
1153
1116
  const result = {
1154
1117
  ...advancedVSeed
1155
1118
  };
1156
- const { vseed } = context;
1157
- const { dimensions, dataset } = vseed;
1158
- const measures = findAllMeasures(advancedVSeed.measures);
1159
1119
  const MeaName = {
1160
1120
  id: MeasureName,
1161
1121
  alias: intl.i18n`指标名称`
1162
1122
  };
1163
- if (!dataset) throw new Error('dataset is required');
1164
- if (0 === dataset.length) return result;
1165
- if (dimensions) {
1166
- const newDimensions = findAllDimensions(dimensions);
1167
- if (!newDimensions.some((dim)=>dim.id === MeasureName)) newDimensions.push(MeaName);
1168
- result.dimensions = newDimensions.map((item, index)=>{
1169
- if ('row' === item.encoding || 'column' === item.encoding) return item;
1170
- if ('rowDimension' === item.location || 'columnDimension' === item.location) return item;
1171
- return {
1172
- ...item,
1173
- encoding: index % 2 === 0 ? 'column' : 'row'
1174
- };
1175
- });
1176
- return result;
1177
- }
1178
- const top100dataset = dataset.slice(0, 100);
1179
- const sample = top100dataset.reduce((prev, cur)=>({
1180
- ...prev,
1181
- ...cur
1182
- }), {});
1183
- const newDimensions = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'string' == typeof item[key]) && ![
1184
- '',
1185
- null,
1186
- void 0
1187
- ].includes(key) && !measures.some((measure)=>measure.id === key));
1188
- result.dimensions = newDimensions.map((dim)=>({
1189
- id: dim,
1190
- alias: dim
1191
- }));
1192
- result.dimensions.push(MeaName);
1193
- result.dimensions = result.dimensions.map((dim, index)=>({
1194
- ...dim,
1195
- encoding: index % 2 === 0 ? 'column' : 'row'
1196
- }));
1123
+ if (!result.dimensions?.some((dim)=>dim.id === MeasureName)) result.dimensions?.push(MeaName);
1197
1124
  return result;
1198
1125
  };
1199
- const pivotTableConfig = (advancedVSeed, context)=>{
1200
- const { vseed } = context;
1201
- const { chartType } = vseed;
1202
- const result = {
1203
- ...advancedVSeed
1204
- };
1205
- const config = chunk_2T7K3PFL_i(vseed, [
1206
- 'backgroundColor',
1207
- 'bodyFontSize',
1208
- 'bodyFontColor',
1209
- 'bodyBackgroundColor',
1210
- 'headerFontSize',
1211
- 'headerFontColor',
1212
- 'headerBackgroundColor',
1213
- 'hoverHeaderBackgroundColor',
1214
- 'hoverHeaderInlineBackgroundColor',
1215
- 'selectedBorderColor',
1216
- 'selectedBackgroundColor'
1217
- ]);
1218
- result.config = {
1219
- ...result.config || {},
1220
- [chartType]: {
1221
- ...config
1222
- }
1126
+ const encodingForPivotTable = (advancedVSeed)=>{
1127
+ const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
1128
+ const measures = findAllMeasures(vseedMeasures);
1129
+ const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
1130
+ const hasMeasureEncoding = measures.some((item)=>item.encoding);
1131
+ const encoding = {};
1132
+ if (hasDimensionEncoding) generateDimensionEncoding(dimensions, encoding);
1133
+ else generateDefaultDimensionEncoding(dimensions, encoding);
1134
+ if (hasMeasureEncoding) generateMeasureEncoding(measures, encoding);
1135
+ else generateDefaultMeasureEncoding(measures, encoding);
1136
+ return {
1137
+ ...advancedVSeed,
1138
+ encoding
1223
1139
  };
1224
- return result;
1140
+ };
1141
+ const generateDefaultDimensionEncoding = (dimensions, encoding)=>{
1142
+ const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
1143
+ encoding.tooltip = uniqueDimIds;
1144
+ encoding.row = [];
1145
+ encoding.column = [];
1146
+ uniqueDimIds.forEach((item, index)=>{
1147
+ if (index % 2 === 0) encoding.column.push(item);
1148
+ else encoding.row.push(item);
1149
+ });
1150
+ };
1151
+ const generateDimensionEncoding = (dimensions, encoding)=>{
1152
+ const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
1153
+ encoding.tooltip = uniqueDimIds;
1154
+ encoding.row = [];
1155
+ encoding.column = [];
1156
+ dimensions.forEach((dim, index)=>{
1157
+ const id = dim.id;
1158
+ if ('row' === dim.encoding) encoding.row.push(id);
1159
+ else if ('column' === dim.encoding) encoding.column.push(id);
1160
+ else if (index % 2 === 0) encoding.column.push(id);
1161
+ else encoding.row.push(id);
1162
+ });
1163
+ };
1164
+ const generateDefaultMeasureEncoding = (measures, encoding)=>{
1165
+ encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
1166
+ encoding.detail = chunk_QJLMYOTX_i(measures.filter((item)=>'detail' === item.encoding || !item.encoding).map((item)=>item.id));
1167
+ };
1168
+ const generateMeasureEncoding = (measures, encoding)=>{
1169
+ encoding.tooltip = measures.map((item)=>item.id);
1170
+ encoding.detail = chunk_QJLMYOTX_i(measures.filter((item)=>'detail' === item.encoding || !item.encoding).map((item)=>item.id));
1225
1171
  };
1226
1172
  function chunk_AIG3BDKO_i(...e) {
1227
1173
  return chunk_WIMGWYZL_u(chunk_AIG3BDKO_n, e);
@@ -1322,10 +1268,39 @@
1322
1268
  measures
1323
1269
  };
1324
1270
  };
1271
+ const pivotTableConfig = (advancedVSeed, context)=>{
1272
+ const { vseed } = context;
1273
+ const { chartType } = vseed;
1274
+ const result = {
1275
+ ...advancedVSeed
1276
+ };
1277
+ const config = chunk_2T7K3PFL_i(vseed, [
1278
+ 'backgroundColor',
1279
+ 'bodyFontSize',
1280
+ 'bodyFontColor',
1281
+ 'bodyBackgroundColor',
1282
+ 'headerFontSize',
1283
+ 'headerFontColor',
1284
+ 'headerBackgroundColor',
1285
+ 'hoverHeaderBackgroundColor',
1286
+ 'hoverHeaderInlineBackgroundColor',
1287
+ 'selectedBorderColor',
1288
+ 'selectedBackgroundColor'
1289
+ ]);
1290
+ result.config = {
1291
+ ...result.config || {},
1292
+ [chartType]: {
1293
+ ...config
1294
+ }
1295
+ };
1296
+ return result;
1297
+ };
1325
1298
  const pivotTableAdvancedPipeline = [
1326
1299
  initAdvancedVSeed,
1327
- autoPivotMeasures,
1328
- autoPivotDimensions,
1300
+ defaultMeasures_defaultMeasures,
1301
+ defaultDimensions,
1302
+ defaultMeasureName,
1303
+ encodingForPivotTable,
1329
1304
  reshapePivotTable,
1330
1305
  pivotTableConfig,
1331
1306
  theme_theme
@@ -1372,8 +1347,9 @@
1372
1347
  };
1373
1348
  const pivotColumns = (spec, context)=>{
1374
1349
  const { advancedVSeed } = context;
1350
+ const { encoding } = advancedVSeed;
1375
1351
  const dimensions = advancedVSeed.dimensions;
1376
- const columns = dimensions.filter((item)=>'columnDimension' === item['location'] || 'column' === item['encoding']);
1352
+ const columns = dimensions.filter((item)=>encoding.column?.includes(item.id));
1377
1353
  return {
1378
1354
  ...spec,
1379
1355
  columns: columns.map((item)=>({
@@ -1386,7 +1362,8 @@
1386
1362
  const pivotRows = (spec, context)=>{
1387
1363
  const { advancedVSeed } = context;
1388
1364
  const dimensions = advancedVSeed.dimensions;
1389
- const rows = dimensions.filter((item)=>'rowDimension' === item['location'] || 'row' === item['encoding']);
1365
+ const { encoding } = advancedVSeed;
1366
+ const rows = dimensions.filter((item)=>encoding.row?.includes(item.id));
1390
1367
  return {
1391
1368
  ...spec,
1392
1369
  rows: rows.map((item)=>({
@@ -1419,6 +1396,7 @@
1419
1396
  const pivotIndicators_fieldFormat = (measures, foldInfo, locale)=>(value, col, row, table)=>{
1420
1397
  if (!chunk_6GTAPB47_e(col) || !chunk_6GTAPB47_e(row) || !table) return value;
1421
1398
  const datum = table.getCellOriginRecord(col, row);
1399
+ if (!datum[0]) return value;
1422
1400
  const { measureId: foldMeasureId } = foldInfo;
1423
1401
  const measureId = datum[0][foldMeasureId];
1424
1402
  const node = findMeasureById(measures, measureId);
@@ -1448,9 +1426,9 @@
1448
1426
  borderColor: borderColor,
1449
1427
  borderLineWidth: 1,
1450
1428
  padding: [
1451
- 8.6,
1429
+ 8,
1452
1430
  12,
1453
- 8.6,
1431
+ 8,
1454
1432
  12
1455
1433
  ],
1456
1434
  textAlign: 'left',
@@ -1578,7 +1556,7 @@
1578
1556
  locale: locale || 'zh-CN'
1579
1557
  };
1580
1558
  };
1581
- const defaultMeasures_defaultMeasures = (advancedVSeed, context)=>{
1559
+ const default_defaultMeasures_defaultMeasures = (advancedVSeed, context)=>{
1582
1560
  const { vseed } = context;
1583
1561
  const { measures, dataset } = vseed;
1584
1562
  if (measures && measures.length > 0) return {
@@ -1608,7 +1586,7 @@
1608
1586
  measures: defaultMeasures
1609
1587
  };
1610
1588
  };
1611
- const defaultDimensions = (advancedVSeed, context)=>{
1589
+ const defaultDimensions_defaultDimensions = (advancedVSeed, context)=>{
1612
1590
  const result = {
1613
1591
  ...advancedVSeed
1614
1592
  };
@@ -1639,7 +1617,7 @@
1639
1617
  dimensions: newDimensions
1640
1618
  };
1641
1619
  };
1642
- const defaultMeasureName = (advancedVSeed)=>{
1620
+ const defaultMeasureName_defaultMeasureName = (advancedVSeed)=>{
1643
1621
  const result = {
1644
1622
  ...advancedVSeed
1645
1623
  };
@@ -1656,16 +1634,16 @@
1656
1634
  const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
1657
1635
  const hasMeasureEncoding = measures.some((item)=>item.encoding);
1658
1636
  const encoding = {};
1659
- if (hasDimensionEncoding) generateDimensionEncoding(dimensions, encoding);
1660
- else generateDefaultDimensionEncoding(dimensions, encoding);
1661
- if (hasMeasureEncoding) generateMeasureEncoding(measures, encoding);
1662
- else generateDefaultMeasureEncoding(measures, encoding);
1637
+ if (hasDimensionEncoding) line_generateDimensionEncoding(dimensions, encoding);
1638
+ else line_generateDefaultDimensionEncoding(dimensions, encoding);
1639
+ if (hasMeasureEncoding) line_generateMeasureEncoding(measures, encoding);
1640
+ else line_generateDefaultMeasureEncoding(measures, encoding);
1663
1641
  return {
1664
1642
  ...advancedVSeed,
1665
1643
  encoding
1666
1644
  };
1667
1645
  };
1668
- const generateDefaultDimensionEncoding = (dimensions, encoding)=>{
1646
+ const line_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
1669
1647
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
1670
1648
  encoding.x = uniqueDimIds.slice(0, 1);
1671
1649
  encoding.color = uniqueDimIds.slice(1);
@@ -1675,7 +1653,7 @@
1675
1653
  encoding.row = [];
1676
1654
  encoding.column = [];
1677
1655
  };
1678
- const generateDimensionEncoding = (dimensions, encoding)=>{
1656
+ const line_generateDimensionEncoding = (dimensions, encoding)=>{
1679
1657
  encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
1680
1658
  encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
1681
1659
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
@@ -1685,12 +1663,15 @@
1685
1663
  if (0 === encoding.color.length) encoding.color = [
1686
1664
  MeasureName
1687
1665
  ];
1666
+ if (0 === encoding.detail.length) encoding.detail = [
1667
+ MeasureName
1668
+ ];
1688
1669
  };
1689
- const generateDefaultMeasureEncoding = (measures, encoding)=>{
1670
+ const line_generateDefaultMeasureEncoding = (measures, encoding)=>{
1690
1671
  encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
1691
1672
  encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
1692
1673
  };
1693
- const generateMeasureEncoding = (measures, encoding)=>{
1674
+ const line_generateMeasureEncoding = (measures, encoding)=>{
1694
1675
  encoding.tooltip = measures.map((item)=>item.id);
1695
1676
  encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
1696
1677
  const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
@@ -1730,7 +1711,7 @@
1730
1711
  }
1731
1712
  if ('dualAxis' === vseed.chartType || 'scatter' === vseed.chartType) {
1732
1713
  const { dimensions = [] } = vseed;
1733
- const hasRowOrColumnDimension = dimensions && dimensions.some((dimension)=>'rowDimension' === dimension.location || 'columnDimension' === dimension.location);
1714
+ const hasRowOrColumnDimension = dimensions && dimensions.some((dimension)=>'row' === dimension.encoding || 'column' === dimension.encoding);
1734
1715
  if (hasRowOrColumnDimension) return true;
1735
1716
  if ('scatter' === vseed.chartType) {
1736
1717
  if (isMeasureTreeWithChildren(vseed)) {
@@ -1750,7 +1731,7 @@
1750
1731
  return false;
1751
1732
  }
1752
1733
  const { measures = [], dimensions = [] } = vseed;
1753
- const hasRowOrColumnDimension = dimensions && dimensions.some((dimension)=>'rowDimension' === dimension.location || 'columnDimension' === dimension.location);
1734
+ const hasRowOrColumnDimension = dimensions && dimensions.some((dimension)=>'row' === dimension.encoding || 'column' === dimension.encoding);
1754
1735
  const hasMeasureGroup = measures && measures.some((measure)=>measure && measure.children);
1755
1736
  return hasRowOrColumnDimension || hasMeasureGroup;
1756
1737
  };
@@ -2168,9 +2149,9 @@
2168
2149
  };
2169
2150
  const lineAdvancedPipeline = [
2170
2151
  initAdvancedVSeed_initAdvancedVSeed,
2171
- defaultMeasures_defaultMeasures,
2172
- defaultDimensions,
2173
- defaultMeasureName,
2152
+ default_defaultMeasures_defaultMeasures,
2153
+ defaultDimensions_defaultDimensions,
2154
+ defaultMeasureName_defaultMeasureName,
2174
2155
  encodingForLine,
2175
2156
  buildMeasures,
2176
2157
  pivotAdapter([
@@ -3243,7 +3224,7 @@
3243
3224
  const annotationVerticalLine_annotationVerticalLine = (spec, context)=>{
3244
3225
  const { advancedVSeed } = context;
3245
3226
  const { annotation, datasetReshapeInfo } = advancedVSeed;
3246
- const { unfoldInfo } = datasetReshapeInfo[0];
3227
+ const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
3247
3228
  if (!annotation || !annotation.annotationVerticalLine) return spec;
3248
3229
  const { annotationVerticalLine } = annotation;
3249
3230
  const annotationVerticalLineList = Array.isArray(annotationVerticalLine) ? annotationVerticalLine : [
@@ -3323,9 +3304,9 @@
3323
3304
  }
3324
3305
  const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
3325
3306
  return selectedData.map((datum)=>{
3326
- const x = unfoldInfo.encodingX;
3327
- if (!x) return {};
3328
- return generateOneMarkLine(datum[x]);
3307
+ if (datum[unfoldInfo.encodingX]) return generateOneMarkLine(datum[unfoldInfo.encodingX]);
3308
+ if (datum[foldInfo.measureValue]) return generateOneMarkLine(datum[foldInfo.measureValue]);
3309
+ return {};
3329
3310
  });
3330
3311
  });
3331
3312
  const specMarkLine = spec.markLine || [];
@@ -3341,10 +3322,10 @@
3341
3322
  const annotationHorizontalLine_annotationHorizontalLine = (spec, context)=>{
3342
3323
  const { advancedVSeed } = context;
3343
3324
  const { annotation, datasetReshapeInfo } = advancedVSeed;
3344
- const { unfoldInfo } = datasetReshapeInfo[0];
3325
+ const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
3345
3326
  if (!annotation || !annotation.annotationHorizontalLine) return spec;
3346
3327
  const { annotationHorizontalLine } = annotation;
3347
- const annotationVerticalLineList = Array.isArray(annotationHorizontalLine) ? annotationHorizontalLine : [
3328
+ const annotationHorizontalLineList = Array.isArray(annotationHorizontalLine) ? annotationHorizontalLine : [
3348
3329
  annotationHorizontalLine
3349
3330
  ];
3350
3331
  const positionMap = {
@@ -3355,8 +3336,8 @@
3355
3336
  insideMiddle: 'insideMiddleTop',
3356
3337
  insideEnd: 'insideEndTop'
3357
3338
  };
3358
- const markLine = annotationVerticalLineList.flatMap((annotationVerticalLine)=>{
3359
- const { selector: selectorPoint, yValue, text = '', textPosition = 'insideEnd', textColor = '#ffffff', textFontSize = 12, textFontWeight = 400, textAlign = 'right', textBaseline = 'top', lineColor = '#212121', lineStyle = 'dashed', lineVisible = true, lineWidth = 1, textBackgroundVisible = true, textBackgroundColor = '#212121', textBackgroundBorderColor = '#212121', textBackgroundBorderRadius = 4, textBackgroundBorderWidth = 1, textBackgroundPadding = 2 } = annotationVerticalLine;
3339
+ const markLine = annotationHorizontalLineList.flatMap((annotationHorizontalLine)=>{
3340
+ const { selector: selectorPoint, yValue, text = '', textPosition = 'insideEnd', textColor = '#ffffff', textFontSize = 12, textFontWeight = 400, textAlign = 'right', textBaseline = 'top', lineColor = '#212121', lineStyle = 'dashed', lineVisible = true, lineWidth = 1, textBackgroundVisible = true, textBackgroundColor = '#212121', textBackgroundBorderColor = '#212121', textBackgroundBorderRadius = 4, textBackgroundBorderWidth = 1, textBackgroundPadding = 2 } = annotationHorizontalLine;
3360
3341
  const dataset = advancedVSeed.dataset.flat();
3361
3342
  const generateOneMarkLine = (y)=>({
3362
3343
  y,
@@ -3421,9 +3402,9 @@
3421
3402
  }
3422
3403
  const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
3423
3404
  return selectedData.map((datum)=>{
3424
- const y = unfoldInfo.encodingY;
3425
- if (!y) return {};
3426
- return generateOneMarkLine(datum[y]);
3405
+ if (datum[unfoldInfo.encodingY]) return generateOneMarkLine(datum[unfoldInfo.encodingY]);
3406
+ if (datum[foldInfo.measureValue]) return generateOneMarkLine(datum[foldInfo.measureValue]);
3407
+ return {};
3427
3408
  });
3428
3409
  });
3429
3410
  const specMarkLine = spec.markLine || [];
@@ -3787,7 +3768,7 @@
3787
3768
  const { advancedVSeed } = context;
3788
3769
  const dimensions = advancedVSeed.dimensions;
3789
3770
  if (!dimensions) return result;
3790
- const rowDimensions = dimensions.filter((dim)=>'rowDimension' === dim.location || 'row' === dim.encoding);
3771
+ const rowDimensions = dimensions.filter((dim)=>'row' === dim.encoding);
3791
3772
  const rows = rowDimensions.map((dim)=>({
3792
3773
  dimensionKey: dim.id,
3793
3774
  title: dim.alias || dim.id
@@ -3804,7 +3785,7 @@
3804
3785
  const { advancedVSeed } = context;
3805
3786
  const dimensions = advancedVSeed.dimensions;
3806
3787
  if (!dimensions) return result;
3807
- const columnDimensions = dimensions.filter((dim)=>'columnDimension' === dim.location || 'column' === dim.encoding);
3788
+ const columnDimensions = dimensions.filter((dim)=>'column' === dim.encoding);
3808
3789
  const columns = columnDimensions.map((dim)=>({
3809
3790
  dimensionKey: dim.id,
3810
3791
  title: dim.alias || dim.id
@@ -4113,6 +4094,9 @@
4113
4094
  if (0 === encoding.color.length) encoding.color = [
4114
4095
  MeasureName
4115
4096
  ];
4097
+ if (0 === encoding.detail.length) encoding.detail = [
4098
+ MeasureName
4099
+ ];
4116
4100
  };
4117
4101
  const column_generateDefaultMeasureEncoding = (measures, encoding)=>{
4118
4102
  encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
@@ -4127,9 +4111,9 @@
4127
4111
  };
4128
4112
  const columnAdvancedPipeline = [
4129
4113
  initAdvancedVSeed_initAdvancedVSeed,
4130
- defaultMeasures_defaultMeasures,
4131
- defaultDimensions,
4132
- defaultMeasureName,
4114
+ default_defaultMeasures_defaultMeasures,
4115
+ defaultDimensions_defaultDimensions,
4116
+ defaultMeasureName_defaultMeasureName,
4133
4117
  encodingForColumn,
4134
4118
  buildMeasures,
4135
4119
  pivotAdapter([
@@ -4491,9 +4475,9 @@
4491
4475
  };
4492
4476
  const columnParallelAdvancedPipeline = [
4493
4477
  initAdvancedVSeed_initAdvancedVSeed,
4494
- defaultMeasures_defaultMeasures,
4495
- defaultDimensions,
4496
- defaultMeasureName,
4478
+ default_defaultMeasures_defaultMeasures,
4479
+ defaultDimensions_defaultDimensions,
4480
+ defaultMeasureName_defaultMeasureName,
4497
4481
  encodingForColumn,
4498
4482
  buildMeasures,
4499
4483
  pivotAdapter([
@@ -4590,9 +4574,9 @@
4590
4574
  };
4591
4575
  const columnPercentAdvancedPipeline = [
4592
4576
  initAdvancedVSeed_initAdvancedVSeed,
4593
- defaultMeasures_defaultMeasures,
4594
- defaultDimensions,
4595
- defaultMeasureName,
4577
+ default_defaultMeasures_defaultMeasures,
4578
+ defaultDimensions_defaultDimensions,
4579
+ defaultMeasureName_defaultMeasureName,
4596
4580
  encodingForColumn,
4597
4581
  buildMeasures,
4598
4582
  pivotAdapter([
@@ -4686,10 +4670,6 @@
4686
4670
  encoding
4687
4671
  };
4688
4672
  };
4689
- const bar_generateDefaultMeasureEncoding = (measures, encoding)=>{
4690
- encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
4691
- encoding.x = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
4692
- };
4693
4673
  const bar_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
4694
4674
  const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
4695
4675
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
@@ -4701,13 +4681,6 @@
4701
4681
  encoding.row = [];
4702
4682
  encoding.column = [];
4703
4683
  };
4704
- const bar_generateMeasureEncoding = (measures, encoding)=>{
4705
- encoding.tooltip = measures.map((item)=>item.id);
4706
- encoding.x = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
4707
- const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
4708
- if (color.length > 0) encoding.color = color;
4709
- return encoding;
4710
- };
4711
4684
  const bar_generateDimensionEncoding = (dimensions, encoding)=>{
4712
4685
  encoding.y = chunk_QJLMYOTX_i(dimensions.filter((item)=>'yAxis' === item.encoding).map((item)=>item.id));
4713
4686
  encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
@@ -4718,7 +4691,20 @@
4718
4691
  if (0 === encoding.color.length) encoding.color = [
4719
4692
  MeasureName
4720
4693
  ];
4721
- if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.y?.includes(item.id)).map((item)=>item.id);
4694
+ if (0 === encoding.detail.length) encoding.detail = [
4695
+ MeasureName
4696
+ ];
4697
+ };
4698
+ const bar_generateDefaultMeasureEncoding = (measures, encoding)=>{
4699
+ encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
4700
+ encoding.x = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
4701
+ };
4702
+ const bar_generateMeasureEncoding = (measures, encoding)=>{
4703
+ encoding.tooltip = measures.map((item)=>item.id);
4704
+ encoding.x = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
4705
+ const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
4706
+ if (color.length > 0) encoding.color = color;
4707
+ return encoding;
4722
4708
  };
4723
4709
  const sortYBandAxis = (advancedVSeed, context)=>{
4724
4710
  const result = {
@@ -4738,9 +4724,9 @@
4738
4724
  };
4739
4725
  const barAdvancedPipeline = [
4740
4726
  initAdvancedVSeed_initAdvancedVSeed,
4741
- defaultMeasures_defaultMeasures,
4742
- defaultDimensions,
4743
- defaultMeasureName,
4727
+ default_defaultMeasures_defaultMeasures,
4728
+ defaultDimensions_defaultDimensions,
4729
+ defaultMeasureName_defaultMeasureName,
4744
4730
  encodingForBar,
4745
4731
  buildMeasures,
4746
4732
  pivotAdapter([
@@ -5093,9 +5079,9 @@
5093
5079
  };
5094
5080
  const barParallelAdvancedPipeline = [
5095
5081
  initAdvancedVSeed_initAdvancedVSeed,
5096
- defaultMeasures_defaultMeasures,
5097
- defaultDimensions,
5098
- defaultMeasureName,
5082
+ default_defaultMeasures_defaultMeasures,
5083
+ defaultDimensions_defaultDimensions,
5084
+ defaultMeasureName_defaultMeasureName,
5099
5085
  encodingForBar,
5100
5086
  buildMeasures,
5101
5087
  pivotAdapter([
@@ -5191,9 +5177,9 @@
5191
5177
  };
5192
5178
  const barPercentAdvancedPipeline = [
5193
5179
  initAdvancedVSeed_initAdvancedVSeed,
5194
- defaultMeasures_defaultMeasures,
5195
- defaultDimensions,
5196
- defaultMeasureName,
5180
+ default_defaultMeasures_defaultMeasures,
5181
+ defaultDimensions_defaultDimensions,
5182
+ defaultMeasureName_defaultMeasureName,
5197
5183
  encodingForBar,
5198
5184
  buildMeasures,
5199
5185
  pivotAdapter([
@@ -5264,9 +5250,9 @@
5264
5250
  };
5265
5251
  const areaAdvancedPipeline = [
5266
5252
  initAdvancedVSeed_initAdvancedVSeed,
5267
- defaultMeasures_defaultMeasures,
5268
- defaultDimensions,
5269
- defaultMeasureName,
5253
+ default_defaultMeasures_defaultMeasures,
5254
+ defaultDimensions_defaultDimensions,
5255
+ defaultMeasureName_defaultMeasureName,
5270
5256
  encodingForLine,
5271
5257
  buildMeasures,
5272
5258
  pivotAdapter([
@@ -5424,9 +5410,9 @@
5424
5410
  };
5425
5411
  const areaPercentAdvancedPipeline = [
5426
5412
  initAdvancedVSeed_initAdvancedVSeed,
5427
- defaultMeasures_defaultMeasures,
5428
- defaultDimensions,
5429
- defaultMeasureName,
5413
+ default_defaultMeasures_defaultMeasures,
5414
+ defaultDimensions_defaultDimensions,
5415
+ defaultMeasureName_defaultMeasureName,
5430
5416
  encodingForLine,
5431
5417
  buildMeasures,
5432
5418
  pivotAdapter([
@@ -5517,10 +5503,6 @@
5517
5503
  encoding
5518
5504
  };
5519
5505
  };
5520
- const scatter_generateDefaultMeasureEncoding = (measures, encoding)=>{
5521
- encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
5522
- encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
5523
- };
5524
5506
  const scatter_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
5525
5507
  const dimensionsWithoutMeasureName = dimensions.filter((item)=>item.id !== MeasureName);
5526
5508
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensionsWithoutMeasureName.map((d)=>d.id));
@@ -5531,19 +5513,27 @@
5531
5513
  encoding.row = [];
5532
5514
  encoding.column = [];
5533
5515
  };
5534
- const scatter_generateMeasureEncoding = (measures, encoding)=>{
5535
- encoding.tooltip = measures.map((item)=>item.id);
5536
- encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
5537
- const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
5538
- if (color.length > 0) encoding.color = color;
5539
- };
5540
5516
  const scatter_generateDimensionEncoding = (dimensions, encoding)=>{
5541
5517
  encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
5542
5518
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
5543
5519
  if (0 === encoding.color.length) encoding.color = [
5544
5520
  MeasureName
5545
5521
  ];
5546
- if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
5522
+ if (0 === encoding.detail.length) encoding.detail = [
5523
+ MeasureName
5524
+ ];
5525
+ };
5526
+ const scatter_generateDefaultMeasureEncoding = (measures, encoding)=>{
5527
+ encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
5528
+ encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
5529
+ };
5530
+ const scatter_generateMeasureEncoding = (measures, encoding)=>{
5531
+ encoding.tooltip = measures.map((item)=>item.id);
5532
+ encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
5533
+ const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
5534
+ if (color.length > 0) encoding.color = [
5535
+ color[0]
5536
+ ];
5547
5537
  };
5548
5538
  const buildMeasuresForScatter = (advancedVSeed, context)=>{
5549
5539
  const { vseed } = context;
@@ -5571,7 +5561,7 @@
5571
5561
  const isXAxis = encoding.includes('xAxis');
5572
5562
  if (isYAxis) yMeasures.push(item);
5573
5563
  else if (isXAxis) xMeasures.push(item);
5574
- else if (0 === index) yMeasures.push(item);
5564
+ else if (0 !== index) yMeasures.push(item);
5575
5565
  else xMeasures.push(item);
5576
5566
  }
5577
5567
  return [
@@ -5639,7 +5629,7 @@
5639
5629
  const isEmpty = !encoding.length;
5640
5630
  if (isY) scatterChart.yMeasures.push(item);
5641
5631
  else if (isX) scatterChart.xMeasures.push(item);
5642
- else if (isEmpty) if (0 === scatterChart.yMeasures.length) scatterChart.yMeasures.push(item);
5632
+ else if (isEmpty) if (0 !== scatterChart.yMeasures.length) scatterChart.yMeasures.push(item);
5643
5633
  else scatterChart.xMeasures.push(item);
5644
5634
  });
5645
5635
  return scatterMeasuresToMeasureTree(scatterMeasures);
@@ -5774,9 +5764,9 @@
5774
5764
  };
5775
5765
  const scatterAdvancedPipeline = [
5776
5766
  initAdvancedVSeed_initAdvancedVSeed,
5777
- defaultMeasures_defaultMeasures,
5778
- defaultDimensions,
5779
- defaultMeasureName,
5767
+ default_defaultMeasures_defaultMeasures,
5768
+ defaultDimensions_defaultDimensions,
5769
+ defaultMeasureName_defaultMeasureName,
5780
5770
  encodingForScatter,
5781
5771
  buildMeasuresForScatter,
5782
5772
  pivotAdapter([
@@ -5938,10 +5928,6 @@
5938
5928
  encoding
5939
5929
  };
5940
5930
  };
5941
- const dualAxis_generateDefaultMeasureEncoding = (measures, encoding)=>{
5942
- encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
5943
- encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
5944
- };
5945
5931
  const dualAxis_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
5946
5932
  const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
5947
5933
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
@@ -5953,13 +5939,6 @@
5953
5939
  encoding.row = [];
5954
5940
  encoding.column = [];
5955
5941
  };
5956
- const dualAxis_generateMeasureEncoding = (measures, encoding)=>{
5957
- encoding.tooltip = measures.map((item)=>item.id);
5958
- encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
5959
- const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
5960
- if (color.length > 0) encoding.color = color;
5961
- return encoding;
5962
- };
5963
5942
  const dualAxis_generateDimensionEncoding = (dimensions, encoding)=>{
5964
5943
  encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
5965
5944
  encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
@@ -5970,7 +5949,20 @@
5970
5949
  if (0 === encoding.color.length) encoding.color = [
5971
5950
  MeasureName
5972
5951
  ];
5973
- if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
5952
+ if (0 === encoding.detail.length) encoding.detail = [
5953
+ MeasureName
5954
+ ];
5955
+ };
5956
+ const dualAxis_generateDefaultMeasureEncoding = (measures, encoding)=>{
5957
+ encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
5958
+ encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
5959
+ };
5960
+ const dualAxis_generateMeasureEncoding = (measures, encoding)=>{
5961
+ encoding.tooltip = measures.map((item)=>item.id);
5962
+ encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
5963
+ const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
5964
+ if (color.length > 0) encoding.color = color;
5965
+ return encoding;
5974
5966
  };
5975
5967
  const buildMeasuresForDualAxis = (advancedVSeed, context)=>{
5976
5968
  const { vseed } = context;
@@ -6224,9 +6216,9 @@
6224
6216
  };
6225
6217
  const dualAxisAdvancedPipeline = [
6226
6218
  initAdvancedVSeed_initAdvancedVSeed,
6227
- defaultMeasures_defaultMeasures,
6228
- defaultDimensions,
6229
- defaultMeasureName,
6219
+ default_defaultMeasures_defaultMeasures,
6220
+ defaultDimensions_defaultDimensions,
6221
+ defaultMeasureName_defaultMeasureName,
6230
6222
  encodingForDualAxis,
6231
6223
  buildMeasuresForDualAxis,
6232
6224
  pivotAdapter([
@@ -7076,10 +7068,6 @@
7076
7068
  encoding
7077
7069
  };
7078
7070
  };
7079
- const pie_generateDefaultMeasureEncoding = (measures, encoding)=>{
7080
- encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
7081
- encoding.angle = chunk_QJLMYOTX_i(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
7082
- };
7083
7071
  const pie_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
7084
7072
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
7085
7073
  encoding.color = uniqueDimIds.slice(0);
@@ -7089,25 +7077,31 @@
7089
7077
  encoding.row = [];
7090
7078
  encoding.column = [];
7091
7079
  };
7092
- const pie_generateMeasureEncoding = (measures, encoding)=>{
7093
- encoding.tooltip = measures.map((item)=>item.id);
7094
- encoding.angle = chunk_QJLMYOTX_i(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
7095
- const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7096
- if (color.length > 0) encoding.color = color;
7097
- };
7098
7080
  const pie_generateDimensionEncoding = (dimensions, encoding)=>{
7099
7081
  encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7100
7082
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
7101
7083
  if (0 === encoding.color.length) encoding.color = [
7102
7084
  MeasureName
7103
7085
  ];
7104
- if (0 === encoding.detail.length) encoding.detail = dimensions.map((item)=>item.id);
7086
+ if (0 === encoding.detail.length) encoding.detail = [
7087
+ MeasureName
7088
+ ];
7089
+ };
7090
+ const pie_generateDefaultMeasureEncoding = (measures, encoding)=>{
7091
+ encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
7092
+ encoding.angle = chunk_QJLMYOTX_i(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
7093
+ };
7094
+ const pie_generateMeasureEncoding = (measures, encoding)=>{
7095
+ encoding.tooltip = measures.map((item)=>item.id);
7096
+ encoding.angle = chunk_QJLMYOTX_i(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
7097
+ const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7098
+ if (color.length > 0) encoding.color = color;
7105
7099
  };
7106
7100
  const pieAdvancedPipeline = [
7107
7101
  initAdvancedVSeed_initAdvancedVSeed,
7108
- defaultMeasures_defaultMeasures,
7109
- defaultDimensions,
7110
- defaultMeasureName,
7102
+ default_defaultMeasures_defaultMeasures,
7103
+ defaultDimensions_defaultDimensions,
7104
+ defaultMeasureName_defaultMeasureName,
7111
7105
  encodingForPie,
7112
7106
  buildMeasures,
7113
7107
  pivotAdapter([
@@ -7225,9 +7219,9 @@
7225
7219
  };
7226
7220
  const donutAdvancedPipeline = [
7227
7221
  initAdvancedVSeed_initAdvancedVSeed,
7228
- defaultMeasures_defaultMeasures,
7229
- defaultDimensions,
7230
- defaultMeasureName,
7222
+ default_defaultMeasures_defaultMeasures,
7223
+ defaultDimensions_defaultDimensions,
7224
+ defaultMeasureName_defaultMeasureName,
7231
7225
  buildMeasures,
7232
7226
  encodingForPie,
7233
7227
  pivotAdapter([
@@ -7320,10 +7314,6 @@
7320
7314
  encoding
7321
7315
  };
7322
7316
  };
7323
- const rose_generateDefaultMeasureEncoding = (measures, encoding)=>{
7324
- encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
7325
- encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
7326
- };
7327
7317
  const rose_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
7328
7318
  const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
7329
7319
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
@@ -7335,12 +7325,6 @@
7335
7325
  encoding.row = [];
7336
7326
  encoding.column = [];
7337
7327
  };
7338
- const rose_generateMeasureEncoding = (measures, encoding)=>{
7339
- encoding.tooltip = measures.map((item)=>item.id);
7340
- encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
7341
- const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7342
- if (color.length > 0) encoding.color = color;
7343
- };
7344
7328
  const rose_generateDimensionEncoding = (dimensions, encoding)=>{
7345
7329
  encoding.angle = chunk_QJLMYOTX_i(dimensions.filter((item)=>'angle' === item.encoding).map((item)=>item.id));
7346
7330
  encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
@@ -7351,13 +7335,25 @@
7351
7335
  if (0 === encoding.color.length) encoding.color = [
7352
7336
  MeasureName
7353
7337
  ];
7354
- if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.angle?.includes(item.id)).map((item)=>item.id);
7338
+ if (0 === encoding.detail.length) encoding.detail = [
7339
+ MeasureName
7340
+ ];
7341
+ };
7342
+ const rose_generateDefaultMeasureEncoding = (measures, encoding)=>{
7343
+ encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
7344
+ encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
7345
+ };
7346
+ const rose_generateMeasureEncoding = (measures, encoding)=>{
7347
+ encoding.tooltip = measures.map((item)=>item.id);
7348
+ encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
7349
+ const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7350
+ if (color.length > 0) encoding.color = color;
7355
7351
  };
7356
7352
  const roseAdvancedPipeline = [
7357
7353
  initAdvancedVSeed_initAdvancedVSeed,
7358
- defaultMeasures_defaultMeasures,
7359
- defaultDimensions,
7360
- defaultMeasureName,
7354
+ default_defaultMeasures_defaultMeasures,
7355
+ defaultDimensions_defaultDimensions,
7356
+ defaultMeasureName_defaultMeasureName,
7361
7357
  encodingForRose,
7362
7358
  buildMeasures,
7363
7359
  pivotAdapter([
@@ -7555,9 +7551,9 @@
7555
7551
  };
7556
7552
  const roseParallelAdvancedPipeline = [
7557
7553
  initAdvancedVSeed_initAdvancedVSeed,
7558
- defaultMeasures_defaultMeasures,
7559
- defaultDimensions,
7560
- defaultMeasureName,
7554
+ default_defaultMeasures_defaultMeasures,
7555
+ defaultDimensions_defaultDimensions,
7556
+ defaultMeasureName_defaultMeasureName,
7561
7557
  encodingForRose,
7562
7558
  buildMeasures,
7563
7559
  pivotAdapter([
@@ -7680,10 +7676,6 @@
7680
7676
  encoding
7681
7677
  };
7682
7678
  };
7683
- const radar_generateDefaultMeasureEncoding = (measures, encoding)=>{
7684
- encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
7685
- encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
7686
- };
7687
7679
  const radar_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
7688
7680
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
7689
7681
  encoding.angle = uniqueDimIds.slice(0, 1);
@@ -7694,12 +7686,6 @@
7694
7686
  encoding.row = [];
7695
7687
  encoding.column = [];
7696
7688
  };
7697
- const radar_generateMeasureEncoding = (measures, encoding)=>{
7698
- encoding.tooltip = measures.map((item)=>item.id);
7699
- encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
7700
- const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7701
- if (color.length > 0) encoding.color = color;
7702
- };
7703
7689
  const radar_generateDimensionEncoding = (dimensions, encoding)=>{
7704
7690
  encoding.angle = chunk_QJLMYOTX_i(dimensions.filter((item)=>'angle' === item.encoding).map((item)=>item.id));
7705
7691
  encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
@@ -7710,12 +7696,25 @@
7710
7696
  if (0 === encoding.color.length) encoding.color = [
7711
7697
  MeasureName
7712
7698
  ];
7699
+ if (0 === encoding.detail.length) encoding.detail = [
7700
+ MeasureName
7701
+ ];
7702
+ };
7703
+ const radar_generateDefaultMeasureEncoding = (measures, encoding)=>{
7704
+ encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
7705
+ encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
7706
+ };
7707
+ const radar_generateMeasureEncoding = (measures, encoding)=>{
7708
+ encoding.tooltip = measures.map((item)=>item.id);
7709
+ encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
7710
+ const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7711
+ if (color.length > 0) encoding.color = color;
7713
7712
  };
7714
7713
  const radarAdvancedPipeline = [
7715
7714
  initAdvancedVSeed_initAdvancedVSeed,
7716
- defaultMeasures_defaultMeasures,
7717
- defaultDimensions,
7718
- defaultMeasureName,
7715
+ default_defaultMeasures_defaultMeasures,
7716
+ defaultDimensions_defaultDimensions,
7717
+ defaultMeasureName_defaultMeasureName,
7719
7718
  encodingForRadar,
7720
7719
  buildMeasures,
7721
7720
  pivotAdapter([
@@ -7866,10 +7865,6 @@
7866
7865
  encoding
7867
7866
  };
7868
7867
  };
7869
- const funnel_generateDefaultMeasureEncoding = (measures, encoding)=>{
7870
- encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
7871
- encoding.size = chunk_QJLMYOTX_i(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
7872
- };
7873
7868
  const funnel_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
7874
7869
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
7875
7870
  encoding.color = uniqueDimIds.slice(0);
@@ -7879,25 +7874,33 @@
7879
7874
  encoding.row = [];
7880
7875
  encoding.column = [];
7881
7876
  };
7882
- const funnel_generateMeasureEncoding = (measures, encoding)=>{
7883
- encoding.tooltip = measures.map((item)=>item.id);
7884
- encoding.size = chunk_QJLMYOTX_i(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
7885
- const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7886
- if (color.length > 0) encoding.color = color;
7887
- };
7888
7877
  const funnel_generateDimensionEncoding = (dimensions, encoding)=>{
7889
7878
  encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7890
7879
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
7891
7880
  if (0 === encoding.color.length) encoding.color = [
7892
7881
  MeasureName
7893
7882
  ];
7894
- if (0 === encoding.detail.length) encoding.detail = dimensions.map((item)=>item.id);
7883
+ if (0 === encoding.detail.length) encoding.detail = [
7884
+ MeasureName
7885
+ ];
7886
+ };
7887
+ const funnel_generateDefaultMeasureEncoding = (measures, encoding)=>{
7888
+ encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
7889
+ encoding.size = chunk_QJLMYOTX_i(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
7890
+ };
7891
+ const funnel_generateMeasureEncoding = (measures, encoding)=>{
7892
+ encoding.tooltip = measures.map((item)=>item.id);
7893
+ encoding.size = chunk_QJLMYOTX_i(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
7894
+ const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7895
+ if (color.length > 0) encoding.color = [
7896
+ color[0]
7897
+ ];
7895
7898
  };
7896
7899
  const funnelAdvancedPipeline = [
7897
7900
  initAdvancedVSeed_initAdvancedVSeed,
7898
- defaultMeasures_defaultMeasures,
7899
- defaultDimensions,
7900
- defaultMeasureName,
7901
+ default_defaultMeasures_defaultMeasures,
7902
+ defaultDimensions_defaultDimensions,
7903
+ defaultMeasureName_defaultMeasureName,
7901
7904
  encodingForFunnel,
7902
7905
  buildMeasures,
7903
7906
  pivotAdapter([
@@ -8027,10 +8030,6 @@
8027
8030
  encoding
8028
8031
  };
8029
8032
  };
8030
- const heatmap_generateDefaultMeasureEncoding = (measures, encoding)=>{
8031
- encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
8032
- encoding.color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding || !item.encoding).map((item)=>item.id));
8033
- };
8034
8033
  const heatmap_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
8035
8034
  const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
8036
8035
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
@@ -8043,12 +8042,6 @@
8043
8042
  encoding.row = [];
8044
8043
  encoding.column = [];
8045
8044
  };
8046
- const heatmap_generateMeasureEncoding = (measures, encoding)=>{
8047
- encoding.tooltip = measures.map((item)=>item.id);
8048
- const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
8049
- if (color.length > 0) encoding.color = color;
8050
- return encoding;
8051
- };
8052
8045
  const heatmap_generateDimensionEncoding = (dimensions, encoding)=>{
8053
8046
  encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
8054
8047
  encoding.y = chunk_QJLMYOTX_i(dimensions.filter((item)=>'yAxis' === item.encoding).map((item)=>item.id));
@@ -8062,13 +8055,30 @@
8062
8055
  if (0 === encoding.color.length) encoding.color = [
8063
8056
  MeasureName
8064
8057
  ];
8065
- if (0 === encoding.detail.length) encoding.detail = dimensions.filter((item)=>!encoding.x?.includes(item.id)).map((item)=>item.id);
8058
+ if (0 === encoding.detail.length) encoding.detail = [
8059
+ MeasureName
8060
+ ];
8061
+ };
8062
+ const heatmap_generateDefaultMeasureEncoding = (measures, encoding)=>{
8063
+ encoding.tooltip = chunk_QJLMYOTX_i(measures.map((item)=>item.id));
8064
+ const colorDims = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding || !item.encoding).map((item)=>item.id));
8065
+ if (colorDims.length > 0) encoding.color = [
8066
+ colorDims[0]
8067
+ ];
8068
+ };
8069
+ const heatmap_generateMeasureEncoding = (measures, encoding)=>{
8070
+ encoding.tooltip = measures.map((item)=>item.id);
8071
+ const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
8072
+ if (color.length > 0) encoding.color = [
8073
+ color[0]
8074
+ ];
8075
+ return encoding;
8066
8076
  };
8067
8077
  const heatmapAdvancedPipeline = [
8068
8078
  initAdvancedVSeed_initAdvancedVSeed,
8069
- defaultMeasures_defaultMeasures,
8070
- defaultDimensions,
8071
- defaultMeasureName,
8079
+ default_defaultMeasures_defaultMeasures,
8080
+ defaultDimensions_defaultDimensions,
8081
+ defaultMeasureName_defaultMeasureName,
8072
8082
  encodingForHeatmap,
8073
8083
  buildMeasures,
8074
8084
  pivotAdapter([
@@ -8864,6 +8874,15 @@
8864
8874
  const updateSpec = (chartType, specPipe)=>{
8865
8875
  Builder._customSpecPipe[chartType] = specPipe;
8866
8876
  };
8877
+ const findAllDimensions = (dimensions = [])=>{
8878
+ if (!dimensions) return [];
8879
+ const result = [];
8880
+ preorderTraverse(dimensions, (node)=>{
8881
+ if (!('children' in node)) result.push(node);
8882
+ return false;
8883
+ });
8884
+ return result;
8885
+ };
8867
8886
  Object.freeze({
8868
8887
  status: "aborted"
8869
8888
  });
@@ -12190,11 +12209,6 @@
12190
12209
  const zDimension = schemas_object({
12191
12210
  id: schemas_string(),
12192
12211
  alias: schemas_string().optional(),
12193
- location: schemas_enum([
12194
- 'dimension',
12195
- 'rowDimension',
12196
- 'columnDimension'
12197
- ]).default('dimension'),
12198
12212
  encoding: schemas_enum([
12199
12213
  'xAxis',
12200
12214
  'yAxis',