@visactor/vseed 0.0.34 → 0.0.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { clone, groupBy, isArray, isEmpty, isNullish, isNumber, isString, mergeDeep, omit, pick, sort, unique } from "remeda";
1
+ import { clone, groupBy, isArray, isEmpty, isNullish, isNumber, isObjectType, isString, merge, mergeDeep, omit, pick, sort, unique } from "remeda";
2
2
  import { z } from "zod";
3
3
  const execPipeline = (pipeline, context, initialValue = {})=>{
4
4
  const result = pipeline.reduce((prev, cur)=>cur(prev, context), initialValue);
@@ -297,6 +297,10 @@ const theme_theme = (advancedVSeed, context)=>{
297
297
  if (chartConfigTheme) {
298
298
  const chartConfig = result.config?.[chartType] || {};
299
299
  const mergedConfig = mergeDeep(chartConfigTheme, clone(chartConfig));
300
+ for(const _k in mergedConfig){
301
+ const key = _k;
302
+ if (Array.isArray(mergedConfig[key])) mergedConfig[key] = mergeArray(mergedConfig[key], chartConfigTheme[key]);
303
+ }
300
304
  result.config = {
301
305
  [chartType]: mergedConfig
302
306
  };
@@ -309,6 +313,11 @@ const theme_theme = (advancedVSeed, context)=>{
309
313
  };
310
314
  return result;
311
315
  };
316
+ const mergeArray = (arr, themeItem)=>{
317
+ if (!Array.isArray(arr)) return arr;
318
+ if (arr.some((d)=>!isObjectType(d))) return arr;
319
+ return arr.map((item)=>merge(themeItem, item));
320
+ };
312
321
  const tableAdvancedPipeline = [
313
322
  initAdvancedVSeed,
314
323
  autoMeasures,
@@ -4020,7 +4029,7 @@ const yBand = (spec, context)=>{
4020
4029
  label: {
4021
4030
  visible: label?.visible,
4022
4031
  flush: true,
4023
- containerAlign: 'left',
4032
+ containerAlign: 'right',
4024
4033
  space: 8,
4025
4034
  style: {
4026
4035
  maxLineWidth: labelAutoLimitLength,
@@ -5556,15 +5565,18 @@ const autoDualMeasures = (advancedVSeed, context)=>{
5556
5565
  };
5557
5566
  const dualMeasuresToMeasureTree = (dualMeasures)=>{
5558
5567
  const measureTree = dualMeasures.map((item, index)=>{
5559
- const { primaryMeasures, secondaryMeasures, primaryAlias, secondaryAlias } = item;
5568
+ const { primaryMeasures, secondaryMeasures } = item;
5560
5569
  const groupChildren = [];
5570
+ let id = '';
5561
5571
  if (primaryMeasures) {
5562
5572
  const arrPrimaryMeasures = Array.isArray(primaryMeasures) ? primaryMeasures : [
5563
5573
  primaryMeasures
5564
5574
  ];
5575
+ const alias = arrPrimaryMeasures.map((item)=>item.alias || item.id).toString();
5576
+ id += alias;
5565
5577
  groupChildren.push({
5566
5578
  id: `${index}-primary`,
5567
- alias: primaryAlias || arrPrimaryMeasures.map((item)=>item.alias || item.id).toString(),
5579
+ alias: arrPrimaryMeasures.map((item)=>item.alias || item.id).toString(),
5568
5580
  children: arrPrimaryMeasures
5569
5581
  });
5570
5582
  }
@@ -5572,17 +5584,14 @@ const dualMeasuresToMeasureTree = (dualMeasures)=>{
5572
5584
  const arrSecondaryMeasures = Array.isArray(secondaryMeasures) ? secondaryMeasures : [
5573
5585
  secondaryMeasures
5574
5586
  ];
5587
+ const alias = arrSecondaryMeasures.map((item)=>item.alias || item.id).toString();
5588
+ id += alias;
5575
5589
  groupChildren.push({
5576
5590
  id: `${index}-secondary`,
5577
- alias: secondaryAlias || arrSecondaryMeasures.map((item)=>item.alias || item.id).toString(),
5591
+ alias: arrSecondaryMeasures.map((item)=>item.alias || item.id).toString(),
5578
5592
  children: arrSecondaryMeasures
5579
5593
  });
5580
5594
  }
5581
- const id = [
5582
- primaryAlias,
5583
- secondaryAlias,
5584
- index
5585
- ].filter((d)=>!isNullish(d)).join('-');
5586
5595
  return {
5587
5596
  id,
5588
5597
  alias: id,
@@ -5648,12 +5657,13 @@ const dualChartTypePrimary = (spec, context)=>{
5648
5657
  const { advancedVSeed, vseed } = context;
5649
5658
  const { chartType } = vseed;
5650
5659
  const { datasetReshapeInfo } = advancedVSeed;
5660
+ const index = datasetReshapeInfo[0].index;
5651
5661
  const config = advancedVSeed.config?.[chartType]?.dualChartType || {
5652
5662
  primary: 'column',
5653
5663
  secondary: 'line'
5654
5664
  };
5655
- if (Array.isArray(config)) return result;
5656
- switch(config.primary){
5665
+ const primary = Array.isArray(config) ? config[index].primary || config[0].primary : config.primary;
5666
+ switch(primary){
5657
5667
  case 'line':
5658
5668
  result.type = 'line';
5659
5669
  break;
@@ -5686,7 +5696,7 @@ const dualChartTypePrimary = (spec, context)=>{
5686
5696
  result.type = 'scatter';
5687
5697
  break;
5688
5698
  default:
5689
- result.type = config.primary;
5699
+ result.type = primary;
5690
5700
  }
5691
5701
  return result;
5692
5702
  };
@@ -5701,8 +5711,9 @@ const dualChartTypeSecondary = (spec, context)=>{
5701
5711
  primary: 'column',
5702
5712
  secondary: 'line'
5703
5713
  };
5704
- if (Array.isArray(config)) return result;
5705
- switch(config.secondary){
5714
+ const index = datasetReshapeInfo[0].index;
5715
+ const secondary = Array.isArray(config) ? config[index].secondary || config[0].secondary : config.secondary;
5716
+ switch(secondary){
5706
5717
  case 'line':
5707
5718
  result.type = 'line';
5708
5719
  break;
@@ -5735,7 +5746,7 @@ const dualChartTypeSecondary = (spec, context)=>{
5735
5746
  result.type = 'scatter';
5736
5747
  break;
5737
5748
  default:
5738
- result.type = config.secondary;
5749
+ result.type = secondary;
5739
5750
  }
5740
5751
  return result;
5741
5752
  };
@@ -6054,7 +6065,9 @@ const yLinearPrimary = (spec, context)=>{
6054
6065
  const { advancedVSeed, vseed } = context;
6055
6066
  const { chartType } = vseed;
6056
6067
  const { locale, datasetReshapeInfo } = advancedVSeed;
6057
- const config = advancedVSeed.config?.[chartType]?.primaryYAxis;
6068
+ const index = datasetReshapeInfo[0].index;
6069
+ const primaryYAxis = advancedVSeed.config?.[chartType]?.primaryYAxis;
6070
+ const config = Array.isArray(primaryYAxis) ? primaryYAxis[index] || primaryYAxis[0] : primaryYAxis;
6058
6071
  if (datasetReshapeInfo[0].foldInfoList?.[0] && isEmpty(datasetReshapeInfo[0].foldInfoList[0].foldMap)) return result;
6059
6072
  const id = `${datasetReshapeInfo[0].id}-primary-axis`;
6060
6073
  const seriesId = `${datasetReshapeInfo[0].id}-primary-series`;
@@ -6153,7 +6166,9 @@ const yLinearSecondary = (spec, context)=>{
6153
6166
  const { advancedVSeed, vseed } = context;
6154
6167
  const { chartType } = vseed;
6155
6168
  const { locale, datasetReshapeInfo } = advancedVSeed;
6156
- const config = advancedVSeed.config?.[chartType]?.secondaryYAxis;
6169
+ const index = datasetReshapeInfo[0].index;
6170
+ const secondaryYAxis = advancedVSeed.config?.[chartType]?.secondaryYAxis;
6171
+ const config = Array.isArray(secondaryYAxis) ? secondaryYAxis[index] || secondaryYAxis[0] : secondaryYAxis;
6157
6172
  if (isNullish(datasetReshapeInfo[0].foldInfoList?.[1])) return result;
6158
6173
  const id = `${datasetReshapeInfo[0].id}-secondary-axis`;
6159
6174
  const seriesId = `${datasetReshapeInfo[0].id}-secondary-series`;
@@ -6281,6 +6296,7 @@ const pivotDualAxis = [
6281
6296
  pivotIndicators_pivotIndicators([
6282
6297
  series([
6283
6298
  initDualAxisPrimary,
6299
+ dualChartTypePrimary,
6284
6300
  datasetPrimary,
6285
6301
  labelPrimary,
6286
6302
  tooltipPrimary,
@@ -6292,6 +6308,7 @@ const pivotDualAxis = [
6292
6308
  areaStyle_areaStyle
6293
6309
  ], [
6294
6310
  initDualAxisSecondary,
6311
+ dualChartTypeSecondary,
6295
6312
  datasetSecondary,
6296
6313
  labelSecondary,
6297
6314
  tooltipSecondary,
@@ -7795,7 +7812,12 @@ const lightTheme = ()=>{
7795
7812
  ...baseConfig,
7796
7813
  xAxis: bandAxis,
7797
7814
  primaryYAxis: linearAxis,
7798
- secondaryYAxis: linearAxis,
7815
+ secondaryYAxis: {
7816
+ ...linearAxis,
7817
+ grid: {
7818
+ visible: false
7819
+ }
7820
+ },
7799
7821
  dualChartType: {
7800
7822
  primary: 'column',
7801
7823
  secondary: 'line'
@@ -8128,7 +8150,12 @@ const darkTheme = ()=>{
8128
8150
  ...baseConfig,
8129
8151
  xAxis: bandAxis,
8130
8152
  primaryYAxis: linearAxis,
8131
- secondaryYAxis: linearAxis,
8153
+ secondaryYAxis: {
8154
+ ...linearAxis,
8155
+ grid: {
8156
+ visible: false
8157
+ }
8158
+ },
8132
8159
  dualChartType: {
8133
8160
  primary: 'column',
8134
8161
  secondary: 'line'
@@ -8244,19 +8271,15 @@ const zDualChartType = z.object({
8244
8271
  primary: z["enum"]([
8245
8272
  'line',
8246
8273
  'column',
8247
- 'columnPercent',
8248
8274
  'columnParallel',
8249
8275
  'area',
8250
- 'areaPercent',
8251
8276
  'scatter'
8252
8277
  ]).default('column'),
8253
8278
  secondary: z["enum"]([
8254
8279
  'line',
8255
8280
  'column',
8256
- 'columnPercent',
8257
8281
  'columnParallel',
8258
8282
  'area',
8259
- 'areaPercent',
8260
8283
  'scatter'
8261
8284
  ]).default('line')
8262
8285
  });
@@ -8328,9 +8351,7 @@ const zMeasureTree = z.array(zMeasureGroup.or(zMeasure));
8328
8351
  const zDualMeasure = z.object({
8329
8352
  id: z.string(),
8330
8353
  primaryMeasures: z.array(zMeasure).or(zMeasure).optional(),
8331
- primaryAlias: z.string().optional(),
8332
- secondaryMeasures: z.array(zMeasure).or(zMeasure).optional(),
8333
- secondaryAlias: z.string().optional()
8354
+ secondaryMeasures: z.array(zMeasure).or(zMeasure).optional()
8334
8355
  });
8335
8356
  const zDualMeasures = z.array(zDualMeasure);
8336
8357
  const zFoldInfo = z.object({