@visactor/vseed 0.1.42 → 0.1.43

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 (130) hide show
  1. package/dist/cjs/index.cjs +2 -2
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/builder/builder/advanced/colorItems.d.ts +4 -1
  4. package/dist/esm/builder/builder/advanced/colorItems.js +1 -1
  5. package/dist/esm/builder/builder/advanced/colorItems.js.map +1 -1
  6. package/dist/esm/builder/builder/builder.d.ts +12 -3
  7. package/dist/esm/dataReshape/constant.d.ts +1 -0
  8. package/dist/esm/dataReshape/constant.js +2 -1
  9. package/dist/esm/dataReshape/constant.js.map +1 -1
  10. package/dist/esm/dataReshape/dataReshapeByEncoding.d.ts +1 -0
  11. package/dist/esm/dataReshape/dataReshapeByEncoding.js +3 -2
  12. package/dist/esm/dataReshape/dataReshapeByEncoding.js.map +1 -1
  13. package/dist/esm/dataReshape/foldMeasures.d.ts +1 -0
  14. package/dist/esm/dataReshape/foldMeasures.js +5 -2
  15. package/dist/esm/dataReshape/foldMeasures.js.map +1 -1
  16. package/dist/esm/dataReshape/unfoldDimensions.js +14 -9
  17. package/dist/esm/dataReshape/unfoldDimensions.js.map +1 -1
  18. package/dist/esm/pipeline/advanced/chart/pipeline/area.js +2 -2
  19. package/dist/esm/pipeline/advanced/chart/pipeline/area.js.map +1 -1
  20. package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js +2 -2
  21. package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js.map +1 -1
  22. package/dist/esm/pipeline/advanced/chart/pipeline/bar.js +2 -2
  23. package/dist/esm/pipeline/advanced/chart/pipeline/bar.js.map +1 -1
  24. package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js +2 -2
  25. package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js.map +1 -1
  26. package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js +2 -2
  27. package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js.map +1 -1
  28. package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js +2 -2
  29. package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js.map +1 -1
  30. package/dist/esm/pipeline/advanced/chart/pipeline/column.js +2 -2
  31. package/dist/esm/pipeline/advanced/chart/pipeline/column.js.map +1 -1
  32. package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js +2 -2
  33. package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js.map +1 -1
  34. package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js +2 -2
  35. package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js.map +1 -1
  36. package/dist/esm/pipeline/advanced/chart/pipeline/donut.js +2 -2
  37. package/dist/esm/pipeline/advanced/chart/pipeline/donut.js.map +1 -1
  38. package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js +2 -2
  39. package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js.map +1 -1
  40. package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js +2 -2
  41. package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js.map +1 -1
  42. package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js +2 -2
  43. package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js.map +1 -1
  44. package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js +2 -2
  45. package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js.map +1 -1
  46. package/dist/esm/pipeline/advanced/chart/pipeline/line.js +2 -2
  47. package/dist/esm/pipeline/advanced/chart/pipeline/line.js.map +1 -1
  48. package/dist/esm/pipeline/advanced/chart/pipeline/pie.js +2 -2
  49. package/dist/esm/pipeline/advanced/chart/pipeline/pie.js.map +1 -1
  50. package/dist/esm/pipeline/advanced/chart/pipeline/radar.js +2 -2
  51. package/dist/esm/pipeline/advanced/chart/pipeline/radar.js.map +1 -1
  52. package/dist/esm/pipeline/advanced/chart/pipeline/rose.js +2 -2
  53. package/dist/esm/pipeline/advanced/chart/pipeline/rose.js.map +1 -1
  54. package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js +2 -2
  55. package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js.map +1 -1
  56. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js +2 -2
  57. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js.map +1 -1
  58. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortLegend.js +3 -6
  59. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortLegend.js.map +1 -1
  60. package/dist/esm/pipeline/advanced/chart/pipes/default/{defaultMeasureName.d.ts → defaultMeasureId.d.ts} +1 -1
  61. package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasureId.js +16 -0
  62. package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasureId.js.map +1 -0
  63. package/dist/esm/pipeline/advanced/chart/pipes/default/index.d.ts +1 -1
  64. package/dist/esm/pipeline/advanced/chart/pipes/default/index.js +2 -2
  65. package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js +6 -6
  66. package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js.map +1 -1
  67. package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js +7 -7
  68. package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js.map +1 -1
  69. package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/addColorToEncoding.d.ts +1 -1
  70. package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/addColorToEncoding.js +4 -4
  71. package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/addColorToEncoding.js.map +1 -1
  72. package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js +6 -6
  73. package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js.map +1 -1
  74. package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js +6 -6
  75. package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js.map +1 -1
  76. package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js +5 -5
  77. package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js.map +1 -1
  78. package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js +7 -7
  79. package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js.map +1 -1
  80. package/dist/esm/pipeline/advanced/chart/pipes/encoding/histogram.js +6 -6
  81. package/dist/esm/pipeline/advanced/chart/pipes/encoding/histogram.js.map +1 -1
  82. package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js +5 -5
  83. package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js.map +1 -1
  84. package/dist/esm/pipeline/advanced/chart/pipes/encoding/pie.js +5 -5
  85. package/dist/esm/pipeline/advanced/chart/pipes/encoding/pie.js.map +1 -1
  86. package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js +5 -5
  87. package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js.map +1 -1
  88. package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js +6 -6
  89. package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js.map +1 -1
  90. package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js +7 -7
  91. package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js.map +1 -1
  92. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js +6 -3
  93. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js.map +1 -1
  94. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js +4 -1
  95. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js.map +1 -1
  96. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js +6 -3
  97. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js.map +1 -1
  98. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.js +1 -4
  99. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.js.map +1 -1
  100. package/dist/esm/pipeline/spec/chart/pipes/color/color.d.ts +4 -1
  101. package/dist/esm/pipeline/spec/chart/pipes/color/color.js +2 -2
  102. package/dist/esm/pipeline/spec/chart/pipes/color/color.js.map +1 -1
  103. package/dist/esm/pipeline/spec/chart/pipes/init/barParallel.js +2 -2
  104. package/dist/esm/pipeline/spec/chart/pipes/init/barParallel.js.map +1 -1
  105. package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.js +2 -2
  106. package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.js.map +1 -1
  107. package/dist/esm/pipeline/spec/chart/pipes/init/columnParallel.js +2 -2
  108. package/dist/esm/pipeline/spec/chart/pipes/init/columnParallel.js.map +1 -1
  109. package/dist/esm/pipeline/spec/chart/pipes/init/roseParallel.js +2 -2
  110. package/dist/esm/pipeline/spec/chart/pipes/init/roseParallel.js.map +1 -1
  111. package/dist/esm/pipeline/spec/chart/pipes/label/label.js +2 -2
  112. package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
  113. package/dist/esm/pipeline/spec/chart/pipes/legend/discreteLegend.js +1 -1
  114. package/dist/esm/pipeline/spec/chart/pipes/legend/discreteLegend.js.map +1 -1
  115. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.js +1 -1
  116. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.js.map +1 -1
  117. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js +2 -1
  118. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js.map +1 -1
  119. package/dist/esm/types/advancedVSeed.d.ts +4 -1
  120. package/dist/esm/types/builder/builder.d.ts +4 -1
  121. package/dist/esm/types/builder/builder.js.map +1 -1
  122. package/dist/esm/types/properties/datasetReshapeInfo/datasetReshapeInfo.d.ts +4 -1
  123. package/dist/esm/types/properties/datasetReshapeInfo/zDatasetReshapeInfo.d.ts +8 -2
  124. package/dist/esm/types/properties/datasetReshapeInfo/zDatasetReshapeInfo.js +4 -1
  125. package/dist/esm/types/properties/datasetReshapeInfo/zDatasetReshapeInfo.js.map +1 -1
  126. package/dist/umd/index.js +145 -128
  127. package/dist/umd/index.js.map +1 -1
  128. package/package.json +1 -1
  129. package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasureName.js +0 -16
  130. package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasureName.js.map +0 -1
package/dist/umd/index.js CHANGED
@@ -174,10 +174,11 @@
174
174
  zBackgroundColor: ()=>zBackgroundColor,
175
175
  zAreaPercentConfig: ()=>zAreaPercentConfig,
176
176
  zLowessRegressionLine: ()=>zLowessRegressionLine,
177
+ MeasureId: ()=>MeasureId,
177
178
  registerRadar: ()=>registerRadar,
178
- zMeasure: ()=>zMeasure,
179
179
  zLocale: ()=>zLocale,
180
180
  isDimension: ()=>isDimension,
181
+ zMeasure: ()=>zMeasure,
181
182
  registerScatter: ()=>registerScatter,
182
183
  boxplotSpecPipeline: ()=>boxplotSpecPipeline,
183
184
  autoNumFormatter: ()=>autoNumFormatter,
@@ -192,9 +193,9 @@
192
193
  zColumnPercent: ()=>zColumnPercent,
193
194
  foldMeasures: ()=>foldMeasures,
194
195
  zFunnel: ()=>zFunnel,
196
+ zDimensionEncoding: ()=>zDimensionEncoding,
195
197
  isPivotTable: ()=>isPivotTable,
196
198
  registerPie: ()=>registerPie,
197
- zDimensionEncoding: ()=>zDimensionEncoding,
198
199
  zEcdfRegressionLine: ()=>zEcdfRegressionLine,
199
200
  zBarParallelConfig: ()=>zBarParallelConfig,
200
201
  lineAdvancedPipeline: ()=>lineAdvancedPipeline,
@@ -655,7 +656,7 @@
655
656
  }), {});
656
657
  return colorItems.map((d)=>({
657
658
  id: d,
658
- alias: colorIdMap[d]
659
+ alias: colorIdMap[d]?.alias
659
660
  }));
660
661
  };
661
662
  const getColorIdMap = (builder)=>{
@@ -1360,6 +1361,7 @@
1360
1361
  const FoldMeasureName = '__MeaName__';
1361
1362
  const FoldMeasureId = '__MeaId__';
1362
1363
  const FoldMeasureValue = '__MeaValue__';
1364
+ const MeasureId = FoldMeasureId;
1363
1365
  const MeasureName = FoldMeasureName;
1364
1366
  const FoldPrimaryMeasureValue = '__MeaPrimaryValue__';
1365
1367
  const FoldSecondaryMeasureValue = '__MeaSecondaryValue__';
@@ -1461,7 +1463,7 @@
1461
1463
  return o;
1462
1464
  }
1463
1465
  const foldMeasures = (dataset, measures, options)=>{
1464
- const { measureId, measureName, measureValue, colorMeasureId, allowEmptyFold = true } = options || {};
1466
+ const { measureId, measureName, measureValue, colorMeasureId, allowEmptyFold = true, omitIds = [] } = options || {};
1465
1467
  const foldInfo = {
1466
1468
  measureId,
1467
1469
  measureName,
@@ -1486,7 +1488,10 @@
1486
1488
  for(let i = 0; i < dataset.length; i++)for(let j = 0; j < measures.length; j++){
1487
1489
  const datum = chunk_KI5X74E2_y({
1488
1490
  ...dataset[i]
1489
- }, ids);
1491
+ }, [
1492
+ ...ids,
1493
+ ...omitIds
1494
+ ]);
1490
1495
  datum[ORIGINAL_DATA] = dataset[i];
1491
1496
  const measure = measures[j];
1492
1497
  const { id, alias } = measure;
@@ -1897,15 +1902,15 @@
1897
1902
  dimensions: newDimensions
1898
1903
  };
1899
1904
  };
1900
- const defaultMeasureName_defaultMeasureName = (advancedVSeed)=>{
1905
+ const defaultMeasureId = (advancedVSeed)=>{
1901
1906
  const result = {
1902
1907
  ...advancedVSeed
1903
1908
  };
1904
- const MeaName = {
1905
- id: MeasureName,
1906
- alias: intl.i18n`指标名称`
1909
+ const MeaIdDim = {
1910
+ id: MeasureId,
1911
+ alias: intl.i18n`指标Id`
1907
1912
  };
1908
- if (!result.dimensions?.some((dim)=>dim.id === MeasureName)) result.dimensions?.push(MeaName);
1913
+ if (!result.dimensions?.some((dim)=>dim.id === MeasureId)) result.dimensions?.push(MeaIdDim);
1909
1914
  return result;
1910
1915
  };
1911
1916
  const encodingAdapter = (noEncodingPipeline, hasEncodingPipeline)=>(advancedVSeed, context)=>{
@@ -1918,10 +1923,10 @@
1918
1923
  };
1919
1924
  const addColorToEncoding = (dimensions, encoding, isMultiMeasure)=>{
1920
1925
  encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
1921
- const measureName = dimensions.find((item)=>item.id === MeasureName);
1922
- if (isMultiMeasure && measureName && !measureName.encoding) encoding.color.push(MeasureName);
1926
+ const measureId = dimensions.find((item)=>item.id === MeasureId);
1927
+ if (isMultiMeasure && measureId && !measureId.encoding) encoding.color.push(MeasureId);
1923
1928
  if (0 === encoding.color.length) encoding.color = [
1924
- MeasureName
1929
+ MeasureId
1925
1930
  ];
1926
1931
  };
1927
1932
  const defaultEncodingForLine = (advancedVSeed)=>{
@@ -1954,7 +1959,7 @@
1954
1959
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
1955
1960
  encoding.x = uniqueDimIds.slice(0, 1);
1956
1961
  encoding.color = uniqueDimIds.slice(1);
1957
- encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
1962
+ encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
1958
1963
  encoding.detail = [];
1959
1964
  encoding.label = [];
1960
1965
  encoding.row = [];
@@ -1968,12 +1973,12 @@
1968
1973
  addColorToEncoding(dimensions, encoding, isMultiMeasure);
1969
1974
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
1970
1975
  if (0 === encoding.detail.length) encoding.detail = [
1971
- MeasureName
1976
+ MeasureId
1972
1977
  ];
1973
1978
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
1974
- encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
1979
+ encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureId);
1975
1980
  encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
1976
- encoding.label = encoding.label.filter((d)=>d !== MeasureName);
1981
+ encoding.label = encoding.label.filter((d)=>d !== MeasureId);
1977
1982
  };
1978
1983
  const line_generateDefaultMeasureEncoding = (measures, encoding)=>{
1979
1984
  encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -2148,7 +2153,7 @@
2148
2153
  };
2149
2154
  }
2150
2155
  const unfoldDimensions = (dataset, dimensions, encoding, options)=>{
2151
- const { foldMeasureId, separator, colorItemAsId } = options;
2156
+ const { separator } = options;
2152
2157
  const unfoldInfo = {
2153
2158
  encodingAngle: AngleEncoding,
2154
2159
  encodingX: XEncoding,
@@ -2175,14 +2180,12 @@
2175
2180
  applyEncoding(ColorEncoding, colorDimensions, datum, separator);
2176
2181
  applyEncoding(DetailEncoding, detailDimensions, datum, separator);
2177
2182
  if (!colorDimensions.length || !datum[ColorEncoding]) continue;
2178
- const measureId = String(datum[foldMeasureId] ?? '');
2179
- const colorItem = String(datum[ColorEncoding] ?? '');
2180
- const colorId = colorItemAsId ? colorItem : measureId ? [
2181
- colorItem,
2182
- measureId
2183
- ].join(separator) : colorItem;
2183
+ const colorId = String(datum[ColorEncoding] ?? '');
2184
2184
  datum[ColorIdEncoding] = colorId;
2185
- colorIdMap[colorId] = colorItem;
2185
+ colorIdMap[colorId] = {
2186
+ id: colorId,
2187
+ alias: getColorAliasItem(ColorEncoding, colorDimensions, datum, separator)
2188
+ };
2186
2189
  colorItems.add(colorId);
2187
2190
  }
2188
2191
  unfoldInfo.colorItems = Array.from(colorItems);
@@ -2195,13 +2198,21 @@
2195
2198
  const applyEncoding = (encoding, dimensions, datum, separator)=>{
2196
2199
  if (encoding && dimensions.length) datum[encoding] = dimensions.map((dim)=>String(datum[dim.id])).join(separator);
2197
2200
  };
2201
+ const getColorAliasItem = (encoding, dimensions, datum, separator)=>{
2202
+ if (encoding && dimensions.length) return dimensions.map((dim)=>{
2203
+ if (dim.id === MeasureId) return String(datum[MeasureName]);
2204
+ return String(datum[dim.id]);
2205
+ }).join(separator);
2206
+ return '';
2207
+ };
2198
2208
  const dataReshapeByEncoding = (dataset, dimensions, measures, encoding, options)=>{
2199
- const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue, colorItemAsId = false, colorMeasureId } = options || {};
2209
+ const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue, colorItemAsId = false, colorMeasureId, omitIds } = options || {};
2200
2210
  const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures, {
2201
2211
  measureId: foldMeasureId,
2202
2212
  measureName: foldMeasureName,
2203
2213
  measureValue: foldMeasureValue,
2204
- colorMeasureId
2214
+ colorMeasureId,
2215
+ omitIds
2205
2216
  });
2206
2217
  const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dimensions, encoding, {
2207
2218
  foldMeasureId,
@@ -2267,6 +2278,7 @@
2267
2278
  const { vseed } = context;
2268
2279
  const { dataset } = vseed;
2269
2280
  const { dimensions = [], measures = [], encoding } = advancedVSeed;
2281
+ const allMeasures = findAllMeasures(measures);
2270
2282
  const measureGroups = [];
2271
2283
  if (measures) measures.forEach((measure)=>{
2272
2284
  if (measure.children && measure.children.length > 0) measureGroups.push(measure);
@@ -2280,7 +2292,8 @@
2280
2292
  const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, T(dimensions, (item)=>item.id), T(measures, (item)=>item.id), encoding, {
2281
2293
  colorItemAsId: false,
2282
2294
  foldMeasureValue: `${FoldMeasureValue}${groupId}`,
2283
- colorMeasureId: getColorMeasureId(advancedVSeed, vseed)
2295
+ colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
2296
+ omitIds: allMeasures.map((item)=>item.id)
2284
2297
  });
2285
2298
  const reshapeInfo = {
2286
2299
  id: groupId,
@@ -2348,17 +2361,14 @@
2348
2361
  const { sortLegend } = vseed;
2349
2362
  const { datasetReshapeInfo, dataset } = advancedVSeed;
2350
2363
  const colorId = datasetReshapeInfo?.[0]?.unfoldInfo?.encodingColorId;
2351
- const colorIdMap = datasetReshapeInfo?.[0]?.unfoldInfo?.colorIdMap;
2364
+ const colorIdMap = datasetReshapeInfo?.[0]?.unfoldInfo?.colorIdMap ?? {};
2352
2365
  const colorItems = datasetReshapeInfo?.[0]?.unfoldInfo?.colorItems;
2353
2366
  if (!sortLegend || !colorId || !colorIdMap || !colorItems) return advancedVSeed;
2354
2367
  if (!result.analysis) result.analysis = {};
2355
2368
  if (!result.analysis.orderMapping) result.analysis.orderMapping = {};
2356
2369
  if (sortLegend.customOrder) {
2357
- const nameMap = Object.keys(colorIdMap).reduce((pre, cur)=>{
2358
- pre[colorIdMap[cur]] = cur;
2359
- return pre;
2360
- }, {});
2361
- const orderRes = sortLegend.customOrder.map((itemNameOrId)=>nameMap[itemNameOrId] ? nameMap[itemNameOrId] : itemNameOrId);
2370
+ const colorIds = Object.keys(colorIdMap);
2371
+ const orderRes = sortLegend.customOrder.map((itemNameOrId)=>colorIds.find((id)=>colorIdMap[id]?.alias === itemNameOrId || colorIdMap[id]?.id === itemNameOrId || id === itemNameOrId));
2362
2372
  result.analysis.orderMapping[colorId] = orderRes;
2363
2373
  return result;
2364
2374
  }
@@ -2439,7 +2449,7 @@
2439
2449
  initAdvancedVSeed_initAdvancedVSeed,
2440
2450
  default_defaultMeasures_defaultMeasures,
2441
2451
  defaultDimensions_defaultDimensions,
2442
- defaultMeasureName_defaultMeasureName,
2452
+ defaultMeasureId,
2443
2453
  encodingAdapter([
2444
2454
  defaultEncodingForLine,
2445
2455
  buildMeasures
@@ -2514,7 +2524,7 @@
2514
2524
  const accurateMap = colors.reduce((prev, cur)=>{
2515
2525
  const name = cur[0];
2516
2526
  const colorValue = cur[1];
2517
- const accurateMatchedList = Object.entries(colorIdMap).filter(([colorKey, colorAlias])=>colorKey === name || colorAlias === name);
2527
+ const accurateMatchedList = Object.entries(colorIdMap).filter(([colorKey, colorObj])=>colorKey === name || colorObj.alias === name || colorObj.id === name);
2518
2528
  accurateMatchedList.forEach((item)=>{
2519
2529
  prev[item[0]] = colorValue;
2520
2530
  matchedList.push(name);
@@ -2525,7 +2535,7 @@
2525
2535
  const name = cur[0];
2526
2536
  const colorValue = cur[1];
2527
2537
  if (matchedList.includes(name)) return prev;
2528
- const fuzzyMatchedList = Object.entries(colorIdMap).filter(([colorKey, colorAlias])=>colorKey.includes(name) || colorAlias.includes(name));
2538
+ const fuzzyMatchedList = Object.entries(colorIdMap).filter(([colorKey, colorObj])=>colorKey.includes(name) || colorObj.alias.includes(name) || colorObj.id.includes(name));
2529
2539
  fuzzyMatchedList.forEach((item)=>{
2530
2540
  if (prev[item[0]]) return;
2531
2541
  prev[item[0]] = colorValue;
@@ -2946,7 +2956,7 @@
2946
2956
  }
2947
2957
  },
2948
2958
  label: {
2949
- formatMethod: (value)=>unfoldInfo.colorIdMap[String(value)] ?? value,
2959
+ formatMethod: (value)=>unfoldInfo.colorIdMap[String(value)].alias ?? value,
2950
2960
  style: {
2951
2961
  fontSize: labelFontSize,
2952
2962
  fill: labelColor || labelFontColor,
@@ -3370,7 +3380,7 @@
3370
3380
  const buildLabel = (label, vseedMeasures = [], vseedDimensions = [], advancedVSeedDimensions, advancedVSeedMeasures, encoding, foldInfoList)=>{
3371
3381
  const { enable, wrap, showValue, showValuePercent, showDimension, labelOverlap, labelColorSmartInvert, labelStroke, labelColor, labelFontSize, labelFontWeight, labelBackgroundColor, labelPosition, autoFormat, numFormat = {} } = label;
3372
3382
  const hasDimLabelEncoding = vseedDimensions.some((item)=>encoding.label?.includes(item.id));
3373
- const labelDims = T(hasDimLabelEncoding ? vseedDimensions.filter((item)=>encoding.label?.includes(item.id)) : showDimension ? advancedVSeedDimensions.filter((d)=>d.id !== MeasureName) : [], (item)=>item.id);
3383
+ const labelDims = T(hasDimLabelEncoding ? vseedDimensions.filter((item)=>encoding.label?.includes(item.id)) : showDimension ? advancedVSeedDimensions.filter((d)=>d.id !== MeasureId) : [], (item)=>item.id);
3374
3384
  const labelMeas = T(vseedMeasures.filter((item)=>encoding.label?.includes(item.id)), (item)=>item.id);
3375
3385
  const percentFormat = chunk_5S4PYKVY_t(numFormat, {
3376
3386
  type: 'percent'
@@ -3456,7 +3466,8 @@
3456
3466
  hasShape: true,
3457
3467
  key: dimensions.some((d)=>'color' === d.encoding) ? (v)=>{
3458
3468
  const datum = v;
3459
- return datum && datum[encodingColor] || '';
3469
+ const key = datum && datum[encodingColor] || '';
3470
+ return unfoldInfo.colorIdMap[key].alias ?? key;
3460
3471
  } : Object.values(foldMap)[0],
3461
3472
  value: (v)=>{
3462
3473
  const datum = v;
@@ -4490,10 +4501,7 @@
4490
4501
  if (!seriesSpec.point.style) seriesSpec.point.style = {};
4491
4502
  if (!seriesSpec.line.style) seriesSpec.line.style = {};
4492
4503
  const measureValueKey = datasetReshapeInfo[0].foldInfo.measureValue;
4493
- seriesSpec.point.style.fill = (datum)=>{
4494
- console.log(datum);
4495
- return datum?.[measureValueKey] >= splitValue ? colorConfig.positiveColor : colorConfig.negativeColor;
4496
- };
4504
+ seriesSpec.point.style.fill = (datum)=>datum?.[measureValueKey] >= splitValue ? colorConfig.positiveColor : colorConfig.negativeColor;
4497
4505
  seriesSpec.line.style.stroke = (datum)=>datum?.[measureValueKey] >= splitValue ? colorConfig.positiveColor : colorConfig.negativeColor;
4498
4506
  if (seriesSpec.label && seriesSpec.label.visible && chunk_JK3VNB42_n(seriesSpec.label.style?.fill)) seriesSpec.label.style = {
4499
4507
  ...seriesSpec.label.style,
@@ -4994,7 +5002,7 @@
4994
5002
  }
4995
5003
  },
4996
5004
  label: {
4997
- formatMethod: (value)=>colorIdMap[value] ?? value,
5005
+ formatMethod: (value)=>colorIdMap[value]?.alias ?? value,
4998
5006
  style: {
4999
5007
  fontSize: labelFontSize,
5000
5008
  fill: labelColor || labelFontColor,
@@ -5186,12 +5194,12 @@
5186
5194
  };
5187
5195
  };
5188
5196
  const column_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
5189
- const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
5197
+ const onlyMeasureId = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureId);
5190
5198
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
5191
5199
  encoding.x = uniqueDimIds.slice(0, 1);
5192
- encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
5200
+ encoding.color = uniqueDimIds.slice(onlyMeasureId ? 0 : 1);
5193
5201
  encoding.detail = encoding.color;
5194
- encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
5202
+ encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
5195
5203
  encoding.label = [];
5196
5204
  encoding.row = [];
5197
5205
  encoding.column = [];
@@ -5205,9 +5213,9 @@
5205
5213
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
5206
5214
  if (0 === encoding.detail.length) encoding.detail = encoding.color;
5207
5215
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
5208
- encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
5216
+ encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureId);
5209
5217
  encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
5210
- encoding.label = encoding.label.filter((d)=>d !== MeasureName);
5218
+ encoding.label = encoding.label.filter((d)=>d !== MeasureId);
5211
5219
  };
5212
5220
  const column_generateDefaultMeasureEncoding = (measures, encoding)=>{
5213
5221
  encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -5292,7 +5300,7 @@
5292
5300
  initAdvancedVSeed_initAdvancedVSeed,
5293
5301
  default_defaultMeasures_defaultMeasures,
5294
5302
  defaultDimensions_defaultDimensions,
5295
- defaultMeasureName_defaultMeasureName,
5303
+ defaultMeasureId,
5296
5304
  encodingAdapter([
5297
5305
  defaultEncodingForColumn,
5298
5306
  buildMeasures
@@ -6174,7 +6182,7 @@
6174
6182
  initAdvancedVSeed_initAdvancedVSeed,
6175
6183
  default_defaultMeasures_defaultMeasures,
6176
6184
  defaultDimensions_defaultDimensions,
6177
- defaultMeasureName_defaultMeasureName,
6185
+ defaultMeasureId,
6178
6186
  encodingAdapter([
6179
6187
  defaultEncodingForColumn,
6180
6188
  buildMeasures
@@ -6255,7 +6263,7 @@
6255
6263
  ];
6256
6264
  if (!sameDimensionsMode) {
6257
6265
  result.xField.push(unfoldInfo.encodingDetail);
6258
- if (encoding.detail?.[0] === MeasureName && encoding.y?.length === 1) result.xField.pop();
6266
+ if (encoding.detail?.[0] === MeasureId && encoding.y?.length === 1) result.xField.pop();
6259
6267
  }
6260
6268
  result.yField = foldInfo.measureValue;
6261
6269
  result.seriesField = unfoldInfo.encodingColorId;
@@ -6339,7 +6347,7 @@
6339
6347
  initAdvancedVSeed_initAdvancedVSeed,
6340
6348
  default_defaultMeasures_defaultMeasures,
6341
6349
  defaultDimensions_defaultDimensions,
6342
- defaultMeasureName_defaultMeasureName,
6350
+ defaultMeasureId,
6343
6351
  encodingAdapter([
6344
6352
  defaultEncodingForColumn,
6345
6353
  buildMeasures
@@ -6459,12 +6467,12 @@
6459
6467
  };
6460
6468
  };
6461
6469
  const bar_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
6462
- const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
6470
+ const onlyMeasureId = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureId);
6463
6471
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
6464
6472
  encoding.y = uniqueDimIds.slice(0, 1);
6465
- encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
6473
+ encoding.color = uniqueDimIds.slice(onlyMeasureId ? 0 : 1);
6466
6474
  encoding.detail = encoding.color;
6467
- encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
6475
+ encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
6468
6476
  encoding.label = [];
6469
6477
  encoding.row = [];
6470
6478
  encoding.column = [];
@@ -6478,9 +6486,9 @@
6478
6486
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
6479
6487
  if (0 === encoding.detail.length) encoding.detail = encoding.color;
6480
6488
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
6481
- encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
6489
+ encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureId);
6482
6490
  encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
6483
- encoding.label = encoding.label.filter((d)=>d !== MeasureName);
6491
+ encoding.label = encoding.label.filter((d)=>d !== MeasureId);
6484
6492
  };
6485
6493
  const bar_generateDefaultMeasureEncoding = (measures, encoding)=>{
6486
6494
  encoding.x = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -6521,7 +6529,7 @@
6521
6529
  initAdvancedVSeed_initAdvancedVSeed,
6522
6530
  default_defaultMeasures_defaultMeasures,
6523
6531
  defaultDimensions_defaultDimensions,
6524
- defaultMeasureName_defaultMeasureName,
6532
+ defaultMeasureId,
6525
6533
  encodingAdapter([
6526
6534
  defaultEncodingForBar,
6527
6535
  buildMeasures
@@ -6877,7 +6885,7 @@
6877
6885
  initAdvancedVSeed_initAdvancedVSeed,
6878
6886
  default_defaultMeasures_defaultMeasures,
6879
6887
  defaultDimensions_defaultDimensions,
6880
- defaultMeasureName_defaultMeasureName,
6888
+ defaultMeasureId,
6881
6889
  encodingAdapter([
6882
6890
  defaultEncodingForBar,
6883
6891
  buildMeasures
@@ -6918,7 +6926,7 @@
6918
6926
  ];
6919
6927
  if (!sameDimensionsMode) {
6920
6928
  result.yField.push(unfoldInfo.encodingDetail);
6921
- if (encoding.detail?.[0] === MeasureName && encoding.x?.length === 1) result.yField.pop();
6929
+ if (encoding.detail?.[0] === MeasureId && encoding.x?.length === 1) result.yField.pop();
6922
6930
  }
6923
6931
  result.xField = foldInfo.measureValue;
6924
6932
  result.seriesField = unfoldInfo.encodingColorId;
@@ -6991,7 +6999,7 @@
6991
6999
  initAdvancedVSeed_initAdvancedVSeed,
6992
7000
  default_defaultMeasures_defaultMeasures,
6993
7001
  defaultDimensions_defaultDimensions,
6994
- defaultMeasureName_defaultMeasureName,
7002
+ defaultMeasureId,
6995
7003
  encodingAdapter([
6996
7004
  defaultEncodingForBar,
6997
7005
  buildMeasures
@@ -7078,7 +7086,7 @@
7078
7086
  initAdvancedVSeed_initAdvancedVSeed,
7079
7087
  default_defaultMeasures_defaultMeasures,
7080
7088
  defaultDimensions_defaultDimensions,
7081
- defaultMeasureName_defaultMeasureName,
7089
+ defaultMeasureId,
7082
7090
  encodingAdapter([
7083
7091
  defaultEncodingForLine,
7084
7092
  buildMeasures
@@ -7275,7 +7283,7 @@
7275
7283
  initAdvancedVSeed_initAdvancedVSeed,
7276
7284
  default_defaultMeasures_defaultMeasures,
7277
7285
  defaultDimensions_defaultDimensions,
7278
- defaultMeasureName_defaultMeasureName,
7286
+ defaultMeasureId,
7279
7287
  encodingAdapter([
7280
7288
  defaultEncodingForLine,
7281
7289
  buildMeasures
@@ -7390,10 +7398,10 @@
7390
7398
  };
7391
7399
  };
7392
7400
  const scatter_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
7393
- const dimensionsWithoutMeasureName = dimensions.filter((item)=>item.id !== MeasureName);
7394
- const uniqueDimIds = chunk_QJLMYOTX_i(dimensionsWithoutMeasureName.map((d)=>d.id));
7401
+ const dimensionsWithoutMeasureId = dimensions.filter((item)=>item.id !== MeasureId);
7402
+ const uniqueDimIds = chunk_QJLMYOTX_i(dimensionsWithoutMeasureId.map((d)=>d.id));
7395
7403
  encoding.detail = encoding.color;
7396
- encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
7404
+ encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
7397
7405
  encoding.label = [];
7398
7406
  encoding.row = [];
7399
7407
  encoding.column = [];
@@ -7402,12 +7410,12 @@
7402
7410
  encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7403
7411
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
7404
7412
  if (0 === encoding.detail.length) encoding.detail = [
7405
- MeasureName
7413
+ MeasureId
7406
7414
  ];
7407
7415
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
7408
- encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
7416
+ encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureId);
7409
7417
  encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
7410
- encoding.label = encoding.label.filter((d)=>d !== MeasureName);
7418
+ encoding.label = encoding.label.filter((d)=>d !== MeasureId);
7411
7419
  };
7412
7420
  const scatter_generateDefaultMeasureEncoding = (measures, encoding)=>{
7413
7421
  encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -7619,6 +7627,7 @@
7619
7627
  const { vseed } = context;
7620
7628
  const { dataset } = vseed;
7621
7629
  const { dimensions = [], measures = [], encoding, chartType } = advancedVSeed;
7630
+ const allMeasures = findAllMeasures(measures);
7622
7631
  const measureGroups = [];
7623
7632
  const depth = measureDepth(measures);
7624
7633
  if (3 === depth) measures.forEach((measure)=>{
@@ -7638,7 +7647,8 @@
7638
7647
  const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, xMeasures.children, encoding, {
7639
7648
  foldMeasureValue: `${FoldXMeasureValue}${index}`,
7640
7649
  colorItemAsId: true,
7641
- colorMeasureId: getColorMeasureId(advancedVSeed, vseed)
7650
+ colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
7651
+ omitIds: allMeasures.map((item)=>item.id)
7642
7652
  });
7643
7653
  datasets.push(newDataset);
7644
7654
  foldInfoList.push(foldInfo);
@@ -7648,7 +7658,8 @@
7648
7658
  const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, dimensions, yMeasures.children, encoding, {
7649
7659
  foldMeasureValue: `${FoldYMeasureValue}${index}`,
7650
7660
  colorItemAsId: true,
7651
- colorMeasureId: getColorMeasureId(advancedVSeed, vseed)
7661
+ colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
7662
+ omitIds: allMeasures.map((item)=>item.id)
7652
7663
  });
7653
7664
  datasets.push(newDataset);
7654
7665
  foldInfoList.push(foldInfo);
@@ -7685,7 +7696,7 @@
7685
7696
  initAdvancedVSeed_initAdvancedVSeed,
7686
7697
  default_defaultMeasures_defaultMeasures,
7687
7698
  defaultDimensions_defaultDimensions,
7688
- defaultMeasureName_defaultMeasureName,
7699
+ defaultMeasureId,
7689
7700
  encodingAdapter([
7690
7701
  defaultEncodingForScatter,
7691
7702
  buildMeasuresForScatter
@@ -8379,12 +8390,12 @@
8379
8390
  };
8380
8391
  };
8381
8392
  const dualAxis_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
8382
- const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
8393
+ const onlyMeasureId = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureId);
8383
8394
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
8384
8395
  encoding.x = uniqueDimIds.slice(0, 1);
8385
- encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
8396
+ encoding.color = uniqueDimIds.slice(onlyMeasureId ? 0 : 1);
8386
8397
  encoding.detail = encoding.color;
8387
- encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
8398
+ encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
8388
8399
  encoding.label = [];
8389
8400
  encoding.row = [];
8390
8401
  encoding.column = [];
@@ -8398,9 +8409,9 @@
8398
8409
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
8399
8410
  if (0 === encoding.detail.length) encoding.detail = encoding.color;
8400
8411
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
8401
- encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
8412
+ encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureId);
8402
8413
  encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
8403
- encoding.label = encoding.label.filter((d)=>d !== MeasureName);
8414
+ encoding.label = encoding.label.filter((d)=>d !== MeasureId);
8404
8415
  };
8405
8416
  const dualAxis_generateDefaultMeasureEncoding = (measures, encoding)=>{
8406
8417
  encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -8579,6 +8590,7 @@
8579
8590
  const { vseed } = context;
8580
8591
  const { dataset } = vseed;
8581
8592
  const { dimensions = [], measures = [], encoding, chartType } = advancedVSeed;
8593
+ const allMeasures = findAllMeasures(measures);
8582
8594
  const datasetList = [];
8583
8595
  const datasetReshapeInfo = [];
8584
8596
  const measureGroups = [];
@@ -8598,7 +8610,8 @@
8598
8610
  const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, T(dimensions, (item)=>item.id), T(primaryMeasures.children, (item)=>item.id), encoding, {
8599
8611
  colorItemAsId: false,
8600
8612
  foldMeasureValue: `${FoldPrimaryMeasureValue}${index}`,
8601
- colorMeasureId: getColorMeasureId(advancedVSeed, vseed)
8613
+ colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
8614
+ omitIds: allMeasures.map((item)=>item.id)
8602
8615
  });
8603
8616
  datasets.push(newDataset);
8604
8617
  foldInfoList.push(foldInfo);
@@ -8608,7 +8621,8 @@
8608
8621
  const { dataset: newDataset, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, T(dimensions, (item)=>item.id), T(secondaryMeasures.children, (item)=>item.id), encoding, {
8609
8622
  colorItemAsId: false,
8610
8623
  foldMeasureValue: `${FoldSecondaryMeasureValue}${index}`,
8611
- colorMeasureId: getColorMeasureId(advancedVSeed, vseed)
8624
+ colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
8625
+ omitIds: allMeasures.map((item)=>item.id)
8612
8626
  });
8613
8627
  datasets.push(newDataset);
8614
8628
  foldInfoList.push(foldInfo);
@@ -8674,7 +8688,7 @@
8674
8688
  initAdvancedVSeed_initAdvancedVSeed,
8675
8689
  default_defaultMeasures_defaultMeasures,
8676
8690
  defaultDimensions_defaultDimensions,
8677
- defaultMeasureName_defaultMeasureName,
8691
+ defaultMeasureId,
8678
8692
  encodingAdapter([
8679
8693
  defaultEncodingForDualAxis,
8680
8694
  buildMeasuresForDualAxis
@@ -9407,7 +9421,7 @@
9407
9421
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
9408
9422
  encoding.color = uniqueDimIds.slice(0);
9409
9423
  encoding.detail = encoding.color;
9410
- encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
9424
+ encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
9411
9425
  encoding.label = [];
9412
9426
  encoding.row = [];
9413
9427
  encoding.column = [];
@@ -9416,12 +9430,12 @@
9416
9430
  addColorToEncoding(dimensions, encoding, isMultiMeasure);
9417
9431
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
9418
9432
  if (0 === encoding.detail.length) encoding.detail = [
9419
- MeasureName
9433
+ MeasureId
9420
9434
  ];
9421
9435
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
9422
- encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
9436
+ encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureId);
9423
9437
  encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
9424
- encoding.label = encoding.label.filter((d)=>d !== MeasureName);
9438
+ encoding.label = encoding.label.filter((d)=>d !== MeasureId);
9425
9439
  };
9426
9440
  const pie_generateDefaultMeasureEncoding = (measures, encoding)=>{
9427
9441
  encoding.angle = chunk_QJLMYOTX_i(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -9446,7 +9460,7 @@
9446
9460
  initAdvancedVSeed_initAdvancedVSeed,
9447
9461
  default_defaultMeasures_defaultMeasures,
9448
9462
  defaultDimensions_defaultDimensions,
9449
- defaultMeasureName_defaultMeasureName,
9463
+ defaultMeasureId,
9450
9464
  encodingAdapter([
9451
9465
  defaultEncodingForPie,
9452
9466
  buildMeasures
@@ -9607,7 +9621,7 @@
9607
9621
  initAdvancedVSeed_initAdvancedVSeed,
9608
9622
  default_defaultMeasures_defaultMeasures,
9609
9623
  defaultDimensions_defaultDimensions,
9610
- defaultMeasureName_defaultMeasureName,
9624
+ defaultMeasureId,
9611
9625
  encodingAdapter([
9612
9626
  defaultEncodingForPie,
9613
9627
  buildMeasures
@@ -9726,12 +9740,12 @@
9726
9740
  };
9727
9741
  };
9728
9742
  const rose_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
9729
- const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
9743
+ const onlyMeasureId = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureId);
9730
9744
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
9731
9745
  encoding.angle = uniqueDimIds.slice(0, 1);
9732
- encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
9746
+ encoding.color = uniqueDimIds.slice(onlyMeasureId ? 0 : 1);
9733
9747
  encoding.detail = encoding.color;
9734
- encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
9748
+ encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
9735
9749
  encoding.label = [];
9736
9750
  encoding.row = [];
9737
9751
  encoding.column = [];
@@ -9745,9 +9759,9 @@
9745
9759
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
9746
9760
  if (0 === encoding.detail.length) encoding.detail = encoding.color;
9747
9761
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
9748
- encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
9762
+ encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureId);
9749
9763
  encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
9750
- encoding.label = encoding.label.filter((d)=>d !== MeasureName);
9764
+ encoding.label = encoding.label.filter((d)=>d !== MeasureId);
9751
9765
  };
9752
9766
  const rose_generateDefaultMeasureEncoding = (measures, encoding)=>{
9753
9767
  encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -9772,7 +9786,7 @@
9772
9786
  initAdvancedVSeed_initAdvancedVSeed,
9773
9787
  default_defaultMeasures_defaultMeasures,
9774
9788
  defaultDimensions_defaultDimensions,
9775
- defaultMeasureName_defaultMeasureName,
9789
+ defaultMeasureId,
9776
9790
  encodingAdapter([
9777
9791
  defaultEncodingForRose,
9778
9792
  buildMeasures
@@ -9925,7 +9939,7 @@
9925
9939
  initAdvancedVSeed_initAdvancedVSeed,
9926
9940
  default_defaultMeasures_defaultMeasures,
9927
9941
  defaultDimensions_defaultDimensions,
9928
- defaultMeasureName_defaultMeasureName,
9942
+ defaultMeasureId,
9929
9943
  encodingAdapter([
9930
9944
  defaultEncodingForRose,
9931
9945
  buildMeasures
@@ -9963,7 +9977,7 @@
9963
9977
  ];
9964
9978
  if (!sameDimensionsMode) {
9965
9979
  result.angleField.push(unfoldInfo.encodingDetail);
9966
- if (encoding.detail?.[0] === MeasureName && encoding.radius?.length === 1) result.angleField.pop();
9980
+ if (encoding.detail?.[0] === MeasureId && encoding.radius?.length === 1) result.angleField.pop();
9967
9981
  }
9968
9982
  result.valueField = foldInfo.measureValue;
9969
9983
  result.seriesField = unfoldInfo.encodingColorId;
@@ -10076,7 +10090,7 @@
10076
10090
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
10077
10091
  encoding.angle = uniqueDimIds.slice(0, 1);
10078
10092
  encoding.color = uniqueDimIds.slice(1);
10079
- encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
10093
+ encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
10080
10094
  encoding.detail = [];
10081
10095
  encoding.label = [];
10082
10096
  encoding.row = [];
@@ -10090,12 +10104,12 @@
10090
10104
  addColorToEncoding(dimensions, encoding, isMultiMeasure);
10091
10105
  encoding.detail = [];
10092
10106
  if (0 === encoding.detail.length) encoding.detail = [
10093
- MeasureName
10107
+ MeasureId
10094
10108
  ];
10095
10109
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
10096
- encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
10110
+ encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureId);
10097
10111
  encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
10098
- encoding.label = encoding.label.filter((d)=>d !== MeasureName);
10112
+ encoding.label = encoding.label.filter((d)=>d !== MeasureId);
10099
10113
  };
10100
10114
  const radar_generateDefaultMeasureEncoding = (measures, encoding)=>{
10101
10115
  encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -10120,7 +10134,7 @@
10120
10134
  initAdvancedVSeed_initAdvancedVSeed,
10121
10135
  default_defaultMeasures_defaultMeasures,
10122
10136
  defaultDimensions_defaultDimensions,
10123
- defaultMeasureName_defaultMeasureName,
10137
+ defaultMeasureId,
10124
10138
  encodingAdapter([
10125
10139
  defaultEncodingForRadar,
10126
10140
  buildMeasures
@@ -10294,7 +10308,7 @@
10294
10308
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
10295
10309
  encoding.color = uniqueDimIds.slice(0);
10296
10310
  encoding.detail = encoding.color;
10297
- encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
10311
+ encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
10298
10312
  encoding.label = [];
10299
10313
  encoding.row = [];
10300
10314
  encoding.column = [];
@@ -10303,12 +10317,12 @@
10303
10317
  addColorToEncoding(dimensions, encoding, isMultiMeasure);
10304
10318
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
10305
10319
  if (0 === encoding.detail.length) encoding.detail = [
10306
- MeasureName
10320
+ MeasureId
10307
10321
  ];
10308
10322
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
10309
- encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
10323
+ encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureId);
10310
10324
  encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
10311
- encoding.label = encoding.label.filter((d)=>d !== MeasureName);
10325
+ encoding.label = encoding.label.filter((d)=>d !== MeasureId);
10312
10326
  };
10313
10327
  const funnel_generateDefaultMeasureEncoding = (measures, encoding)=>{
10314
10328
  encoding.size = chunk_QJLMYOTX_i(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -10335,7 +10349,7 @@
10335
10349
  initAdvancedVSeed_initAdvancedVSeed,
10336
10350
  default_defaultMeasures_defaultMeasures,
10337
10351
  defaultDimensions_defaultDimensions,
10338
- defaultMeasureName_defaultMeasureName,
10352
+ defaultMeasureId,
10339
10353
  encodingAdapter([
10340
10354
  defaultEncodingForFunnel,
10341
10355
  buildMeasures
@@ -10508,13 +10522,13 @@
10508
10522
  };
10509
10523
  };
10510
10524
  const heatmap_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
10511
- const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
10525
+ const onlyMeasureId = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureId);
10512
10526
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
10513
10527
  encoding.x = uniqueDimIds.slice(0, 1);
10514
- encoding.y = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
10515
- encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
10528
+ encoding.y = uniqueDimIds.slice(onlyMeasureId ? 0 : 1);
10529
+ encoding.color = uniqueDimIds.slice(onlyMeasureId ? 0 : 1);
10516
10530
  encoding.detail = encoding.color;
10517
- encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
10531
+ encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
10518
10532
  encoding.label = [];
10519
10533
  encoding.row = [];
10520
10534
  encoding.column = [];
@@ -10531,9 +10545,9 @@
10531
10545
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
10532
10546
  if (0 === encoding.detail.length) encoding.detail = encoding.color;
10533
10547
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
10534
- encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
10548
+ encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureId);
10535
10549
  encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
10536
- encoding.label = encoding.label.filter((d)=>d !== MeasureName);
10550
+ encoding.label = encoding.label.filter((d)=>d !== MeasureId);
10537
10551
  };
10538
10552
  const heatmap_generateDefaultMeasureEncoding = (measures, encoding)=>{
10539
10553
  const colorDims = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -10562,7 +10576,7 @@
10562
10576
  initAdvancedVSeed_initAdvancedVSeed,
10563
10577
  default_defaultMeasures_defaultMeasures,
10564
10578
  defaultDimensions_defaultDimensions,
10565
- defaultMeasureName_defaultMeasureName,
10579
+ defaultMeasureId,
10566
10580
  encodingAdapter([
10567
10581
  defaultEncodingForHeatmap,
10568
10582
  buildMeasures
@@ -10849,18 +10863,18 @@
10849
10863
  else boxplot_generateDefaultDimensionEncoding(dimensions, encoding);
10850
10864
  if (hasMeasureEncoding) boxplot_generateMeasureEncoding(measures, encoding);
10851
10865
  else boxplot_generateDefaultMeasureEncoding(measures, encoding);
10852
- if ((!encoding.value || encoding.value.length <= 1) && encoding.color && encoding.color.length > 1) encoding.color = encoding.color.filter((c)=>c !== MeasureName);
10866
+ if ((!encoding.value || encoding.value.length <= 1) && encoding.color && encoding.color.length > 1) encoding.color = encoding.color.filter((c)=>c !== MeasureId);
10853
10867
  return {
10854
10868
  ...advancedVSeed,
10855
10869
  encoding
10856
10870
  };
10857
10871
  };
10858
10872
  const boxplot_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
10859
- const onlyMeasureName = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureName);
10873
+ const onlyMeasureId = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureId);
10860
10874
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
10861
10875
  encoding.x = uniqueDimIds.slice(0, 1);
10862
- encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
10863
- encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
10876
+ encoding.color = uniqueDimIds.slice(onlyMeasureId ? 0 : 1);
10877
+ encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
10864
10878
  encoding.label = [];
10865
10879
  encoding.row = [];
10866
10880
  encoding.column = [];
@@ -10872,9 +10886,9 @@
10872
10886
  ];
10873
10887
  addColorToEncoding(dimensions, encoding, isMultiMeasure);
10874
10888
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
10875
- encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
10889
+ encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureId);
10876
10890
  encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
10877
- encoding.label = encoding.label.filter((d)=>d !== MeasureName);
10891
+ encoding.label = encoding.label.filter((d)=>d !== MeasureId);
10878
10892
  };
10879
10893
  const boxplot_generateDefaultMeasureEncoding = (measures, encoding)=>{
10880
10894
  encoding.value = chunk_QJLMYOTX_i(measures.filter((item)=>'value' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -11138,7 +11152,7 @@
11138
11152
  initAdvancedVSeed_initAdvancedVSeed,
11139
11153
  default_defaultMeasures_defaultMeasures,
11140
11154
  defaultDimensions_defaultDimensions,
11141
- defaultMeasureName_defaultMeasureName,
11155
+ defaultMeasureId,
11142
11156
  boxplotConfig,
11143
11157
  encodingAdapter([
11144
11158
  defaultEncodingForBoxplot,
@@ -11184,7 +11198,7 @@
11184
11198
  const sameDimensionsMode = chunk_HGKLN5KY_k(encoding.x, encoding.color);
11185
11199
  if (!sameDimensionsMode) {
11186
11200
  result.xField.push(unfoldInfo.encodingColor);
11187
- if (encoding.color?.[0] === MeasureName && encoding.value?.length === 1) result.xField.pop();
11201
+ if (encoding.color?.[0] === MeasureId && encoding.value?.length === 1) result.xField.pop();
11188
11202
  }
11189
11203
  result.padding = 0;
11190
11204
  result.region = [
@@ -11409,10 +11423,10 @@
11409
11423
  };
11410
11424
  };
11411
11425
  const histogram_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
11412
- const dimensionsWithoutMeasureName = dimensions.filter((item)=>item.id !== MeasureName);
11413
- const uniqueDimIds = chunk_QJLMYOTX_i(dimensionsWithoutMeasureName.map((d)=>d.id));
11426
+ const dimensionsWithoutMeasureId = dimensions.filter((item)=>item.id !== MeasureId);
11427
+ const uniqueDimIds = chunk_QJLMYOTX_i(dimensionsWithoutMeasureId.map((d)=>d.id));
11414
11428
  encoding.detail = encoding.color;
11415
- encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
11429
+ encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
11416
11430
  encoding.label = [];
11417
11431
  encoding.row = [];
11418
11432
  encoding.column = [];
@@ -11422,9 +11436,9 @@
11422
11436
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
11423
11437
  if (encoding.detail?.length === 0) encoding.detail = encoding.color;
11424
11438
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
11425
- encoding.tooltip = encoding.tooltip?.filter((d)=>d !== MeasureName);
11439
+ encoding.tooltip = encoding.tooltip?.filter((d)=>d !== MeasureId);
11426
11440
  encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
11427
- encoding.label = encoding.label?.filter((d)=>d !== MeasureName);
11441
+ encoding.label = encoding.label?.filter((d)=>d !== MeasureId);
11428
11442
  };
11429
11443
  const histogram_generateDefaultMeasureEncoding = (measures, encoding)=>{
11430
11444
  encoding.value = chunk_QJLMYOTX_i(measures.filter((item)=>'value' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -11722,7 +11736,7 @@
11722
11736
  initAdvancedVSeed_initAdvancedVSeed,
11723
11737
  default_defaultMeasures_defaultMeasures,
11724
11738
  defaultDimensions_defaultDimensions,
11725
- defaultMeasureName_defaultMeasureName,
11739
+ defaultMeasureId,
11726
11740
  histogramConfig,
11727
11741
  encodingAdapter([
11728
11742
  defaultEncodingForHistogram,
@@ -16755,7 +16769,10 @@
16755
16769
  encodingDetail: schemas_string(),
16756
16770
  encodingAngle: schemas_string(),
16757
16771
  colorItems: schemas_array(schemas_string()),
16758
- colorIdMap: record(schemas_string(), schemas_string())
16772
+ colorIdMap: record(schemas_string(), schemas_object({
16773
+ id: schemas_string(),
16774
+ alias: schemas_string()
16775
+ }))
16759
16776
  });
16760
16777
  const zDatasetReshapeInfo = schemas_array(schemas_object({
16761
16778
  id: schemas_string(),