@visactor/vtable 0.16.2 → 0.16.3-alpha.0

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 (73) hide show
  1. package/cjs/components/axis/axis.d.ts +1 -1
  2. package/cjs/components/axis/axis.js +2 -2
  3. package/cjs/components/axis/axis.js.map +1 -1
  4. package/cjs/core/BaseTable.js +2 -1
  5. package/cjs/core/BaseTable.js.map +1 -1
  6. package/cjs/core/tableHelper.js +2 -1
  7. package/cjs/dataset/dataset.js +2 -1
  8. package/cjs/dataset/dataset.js.map +1 -1
  9. package/cjs/dataset/flatDataToObject.js +1 -2
  10. package/cjs/dataset/statistics-helper.d.ts +9 -0
  11. package/cjs/dataset/statistics-helper.js +18 -1
  12. package/cjs/dataset/statistics-helper.js.map +1 -1
  13. package/cjs/index.d.ts +1 -1
  14. package/cjs/index.js +1 -1
  15. package/cjs/index.js.map +1 -1
  16. package/cjs/layout/chart-helper/get-axis-config.d.ts +2 -0
  17. package/cjs/layout/chart-helper/get-axis-config.js +25 -16
  18. package/cjs/layout/chart-helper/get-axis-config.js.map +1 -1
  19. package/cjs/scenegraph/graphic/chart.js +4 -2
  20. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  21. package/cjs/scenegraph/group-creater/cell-helper.js +1 -1
  22. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  23. package/cjs/scenegraph/layout/update-width.js +1 -1
  24. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  25. package/cjs/scenegraph/refresh-node/update-chart.js +1 -1
  26. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
  27. package/cjs/scenegraph/scenegraph.js +1 -1
  28. package/cjs/scenegraph/scenegraph.js.map +1 -1
  29. package/cjs/themes/BRIGHT.js +2 -1
  30. package/cjs/themes/DARK.js +1 -2
  31. package/cjs/ts-types/component/axis.d.ts +2 -0
  32. package/cjs/ts-types/component/axis.js.map +1 -1
  33. package/cjs/ts-types/new-data-set.d.ts +1 -0
  34. package/cjs/ts-types/new-data-set.js +3 -2
  35. package/cjs/ts-types/new-data-set.js.map +1 -1
  36. package/dist/vtable.js +61 -29
  37. package/dist/vtable.min.js +2 -2
  38. package/es/components/axis/axis.d.ts +1 -1
  39. package/es/components/axis/axis.js +2 -2
  40. package/es/components/axis/axis.js.map +1 -1
  41. package/es/core/BaseTable.js +2 -1
  42. package/es/core/BaseTable.js.map +1 -1
  43. package/es/core/tableHelper.js +2 -1
  44. package/es/dataset/dataset.js +3 -2
  45. package/es/dataset/dataset.js.map +1 -1
  46. package/es/dataset/flatDataToObject.js +1 -2
  47. package/es/dataset/statistics-helper.d.ts +9 -0
  48. package/es/dataset/statistics-helper.js +15 -0
  49. package/es/dataset/statistics-helper.js.map +1 -1
  50. package/es/index.d.ts +1 -1
  51. package/es/index.js +1 -1
  52. package/es/index.js.map +1 -1
  53. package/es/layout/chart-helper/get-axis-config.d.ts +2 -0
  54. package/es/layout/chart-helper/get-axis-config.js +25 -16
  55. package/es/layout/chart-helper/get-axis-config.js.map +1 -1
  56. package/es/scenegraph/graphic/chart.js +4 -2
  57. package/es/scenegraph/graphic/chart.js.map +1 -1
  58. package/es/scenegraph/group-creater/cell-helper.js +1 -1
  59. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  60. package/es/scenegraph/layout/update-width.js +1 -1
  61. package/es/scenegraph/layout/update-width.js.map +1 -1
  62. package/es/scenegraph/refresh-node/update-chart.js +1 -1
  63. package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
  64. package/es/scenegraph/scenegraph.js +1 -1
  65. package/es/scenegraph/scenegraph.js.map +1 -1
  66. package/es/themes/BRIGHT.js +2 -1
  67. package/es/themes/DARK.js +1 -2
  68. package/es/ts-types/component/axis.d.ts +2 -0
  69. package/es/ts-types/component/axis.js.map +1 -1
  70. package/es/ts-types/new-data-set.d.ts +1 -0
  71. package/es/ts-types/new-data-set.js +3 -2
  72. package/es/ts-types/new-data-set.js.map +1 -1
  73. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/new-data-set.ts"],"names":[],"mappings":";;;AAUA,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,kCAAe,CAAA;AACjB,CAAC,EAPW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAO1B;AACD,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,uBAAW,CAAA;IACX,yBAAa,CAAA;AACf,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB","file":"new-data-set.js","sourcesContent":["import type { SortOrder } from './common';\n\n//#region 总计小计\nexport interface TotalsStatus {\n isRowTotal: boolean;\n isRowSubTotal: boolean;\n isColTotal: boolean;\n isColSubTotal: boolean;\n}\n\nexport enum AggregationType {\n RECORD = 'RECORD',\n SUM = 'SUM',\n MIN = 'MIN',\n MAX = 'MAX',\n AVG = 'AVG',\n COUNT = 'COUNT'\n}\nexport enum SortType {\n ASC = 'ASC',\n DESC = 'DESC'\n}\nexport interface CalcTotals {\n aggregationType?: AggregationType; // 聚合方式\n // calcFunc?: (query: Record<string, any>, arr: Record<string, any>[]) => number;\n}\n\nexport interface Total {\n // 是否显示总计\n showGrandTotals: boolean;\n // 是否显示小计\n showSubTotals: boolean;\n // // 计算总计方法\n // calcGrandTotals?: CalcTotals;\n // // 计算小计方法\n // calcSubTotals?: CalcTotals;\n // 小计汇总维度定义\n subTotalsDimensions?: string[];\n // 默认'总计'\n grandTotalLabel?: string;\n // 默认'小计'\n subTotalLabel?: string;\n}\n\nexport interface Totals {\n row?: Total;\n column?: Total;\n}\n\n//#endregion 总计小计\n\n//#region 排序规则\n// export interface SortRule {\n// //排序维度\n// sortField: string;\n// //以下均为排序方法\n// //1. 指定排序类型\n// sortType?: SortType;\n// //2. 按维度成员指定排序\n// sortBy?: string[];\n// //3. 按指标值排序\n// sortByIndicator?: string;\n// //如果按指标值排序,还需要指定另外一个(行或列)方向的底层维度成员具体值\n// query?: string[];\n// //4. 自定义排序方法function\n// sortFunc?: (a: any, b: any) => number;\n// }\n//以下均为排序方法\n//1. 指定排序类型\nexport interface SortTypeRule {\n /**排序维度 */\n sortField: string;\n /**升序降序 ASC or DESC*/\n sortType?: SortType;\n}\n//2. 按维度成员指定排序\nexport interface SortByRule {\n /**排序维度 */\n sortField: string;\n /**根据指定具体顺序排序 */\n sortBy?: string[];\n}\n//3. 按指标值排序\nexport interface SortByIndicatorRule {\n /**排序维度 */\n sortField: string;\n /**升序降序 ASC or DESC*/\n sortType?: SortType;\n /**排序根据某个指标值 */\n sortByIndicator?: string;\n /**如果按指标值排序,还需要指定另外一个(行或列)方向的底层维度成员具体值。例如按照办公用品下的纸张 ['办公用品', '纸张'] */\n query?: string[];\n}\n//4. 自定义排序方法function\nexport interface SortFuncRule {\n /**排序维度 */\n sortField: string;\n /**自定义排序函数 */\n sortFunc?: (a: any, b: any) => number;\n}\n//自定义排序方法参数\n// export interface SortFuncParam extends SortRule {\n// data: Array<string | Record<string, any>>;\n// }\nexport type SortRule = SortTypeRule | SortByRule | SortByIndicatorRule | SortFuncRule;\nexport type SortRules = SortRule[];\n//#endregion 排序规则\n\n//#region 过滤规则\nexport interface FilterRule {\n filterKey?: string;\n filteredValues?: unknown[];\n filterFunc?: (row: Record<string, any>) => boolean;\n}\nexport type FilterRules = FilterRule[];\n//#endregion 过滤规则\n\n//#region 聚合规则\nexport interface AggregationRule<T extends AggregationType> {\n /** 区别于field 重新起个key值,供配置indicators使用 */\n indicatorKey: string;\n // 可以收集单个字段的聚合结果,或者收集多个字段的聚合结果\n field: T extends AggregationType.RECORD ? string[] | string : string;\n aggregationType: T;\n /**计算结果格式化 */\n formatFun?: (num: number) => string;\n}\nexport type AggregationRules = AggregationRule<AggregationType>[];\n//#endregion 聚合规则\n\n//#region 映射规则\nexport interface MappingRule {\n label?: LabelMapping;\n symbol?: SymbolMapping;\n bgColor?: MappingFuncRule;\n}\nexport type MappingRules = MappingRule[];\nexport interface LabelMapping {\n text?: MappingFuncRule;\n color?: MappingFuncRule;\n}\nexport interface SymbolMapping {\n shape?: 'circle' | 'rect';\n color?: MappingFuncRule;\n size?: MappingFuncRule;\n}\n\nexport type MappingFuncRule = {\n indicatorKey: string;\n mapping?: (table: any, value: number) => string;\n};\n\n//#endregion 映射规则\nexport interface DerivedFieldRule {\n fieldName?: string;\n derivedFunc?: (record: Record<string, any>) => any;\n}\nexport type DerivedFieldRules = DerivedFieldRule[];\n/**\n * 数据处理配置\n */\nexport interface IDataConfig {\n aggregationRules?: AggregationRules; //按照行列维度聚合值计算规则;\n sortRules?: SortRules; //排序规则;\n filterRules?: FilterRules; //过滤规则;\n totals?: Totals; //小计或总计;\n /**\n * 目前mappding还不太好用 不建议使用 建议先用style\n */\n mappingRules?: MappingRules;\n derivedFieldRules?: DerivedFieldRules;\n\n /**\n * PivotChart专有 请忽略\n */\n collectValuesBy?: Record<string, CollectValueBy>;\n /**\n * PivotChart专有 请忽略\n */\n isPivotChart?: boolean;\n /**\n * PivotChart专有 请忽略\n */\n dimensionSortArray?: string[];\n}\n\n/** 在处理数据的过程中 去额外收集某个维度的维度值范围 可为离散值或者连续值范围 */\nexport type CollectValueBy = {\n /** 要收集的字段按什么进行分组 */\n by: string[];\n /** 是否计算一个range范围 true的话对应的收集数据的结果为{max:number,min:number} */\n range?: boolean;\n /** 收集是按照sumBy字段相同的进行分组聚合 聚合结果求最大最小值;如果不设置该值 则按单条数据求最大最小值 */\n sumBy?: string[];\n /** 帮助计算列宽使用 如果是chart图表 收集的是xFiled的维度值 可以根据维度值的个数乘于图元宽度计算一个最优列宽*/\n type?: 'xField' | 'yField' | undefined;\n /** 如果是收集的离散值,离散值的排序依据 */\n sortBy?: string[];\n};\nexport type CollectedValue = { max?: number; min?: number } | Array<string>;\n"]}
1
+ {"version":3,"sources":["../src/ts-types/new-data-set.ts"],"names":[],"mappings":";;;AAUA,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,gCAAa,CAAA;IACb,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,kCAAe,CAAA;AACjB,CAAC,EARW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAQ1B;AACD,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,uBAAW,CAAA;IACX,yBAAa,CAAA;AACf,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB","file":"new-data-set.js","sourcesContent":["import type { SortOrder } from './common';\n\n//#region 总计小计\nexport interface TotalsStatus {\n isRowTotal: boolean;\n isRowSubTotal: boolean;\n isColTotal: boolean;\n isColSubTotal: boolean;\n}\n\nexport enum AggregationType {\n RECORD = 'RECORD',\n NONE = 'NONE', //不做聚合 只获取其中一条数据作为节点的record 取其field\n SUM = 'SUM',\n MIN = 'MIN',\n MAX = 'MAX',\n AVG = 'AVG',\n COUNT = 'COUNT'\n}\nexport enum SortType {\n ASC = 'ASC',\n DESC = 'DESC'\n}\nexport interface CalcTotals {\n aggregationType?: AggregationType; // 聚合方式\n // calcFunc?: (query: Record<string, any>, arr: Record<string, any>[]) => number;\n}\n\nexport interface Total {\n // 是否显示总计\n showGrandTotals: boolean;\n // 是否显示小计\n showSubTotals: boolean;\n // // 计算总计方法\n // calcGrandTotals?: CalcTotals;\n // // 计算小计方法\n // calcSubTotals?: CalcTotals;\n // 小计汇总维度定义\n subTotalsDimensions?: string[];\n // 默认'总计'\n grandTotalLabel?: string;\n // 默认'小计'\n subTotalLabel?: string;\n}\n\nexport interface Totals {\n row?: Total;\n column?: Total;\n}\n\n//#endregion 总计小计\n\n//#region 排序规则\n// export interface SortRule {\n// //排序维度\n// sortField: string;\n// //以下均为排序方法\n// //1. 指定排序类型\n// sortType?: SortType;\n// //2. 按维度成员指定排序\n// sortBy?: string[];\n// //3. 按指标值排序\n// sortByIndicator?: string;\n// //如果按指标值排序,还需要指定另外一个(行或列)方向的底层维度成员具体值\n// query?: string[];\n// //4. 自定义排序方法function\n// sortFunc?: (a: any, b: any) => number;\n// }\n//以下均为排序方法\n//1. 指定排序类型\nexport interface SortTypeRule {\n /**排序维度 */\n sortField: string;\n /**升序降序 ASC or DESC*/\n sortType?: SortType;\n}\n//2. 按维度成员指定排序\nexport interface SortByRule {\n /**排序维度 */\n sortField: string;\n /**根据指定具体顺序排序 */\n sortBy?: string[];\n}\n//3. 按指标值排序\nexport interface SortByIndicatorRule {\n /**排序维度 */\n sortField: string;\n /**升序降序 ASC or DESC*/\n sortType?: SortType;\n /**排序根据某个指标值 */\n sortByIndicator?: string;\n /**如果按指标值排序,还需要指定另外一个(行或列)方向的底层维度成员具体值。例如按照办公用品下的纸张 ['办公用品', '纸张'] */\n query?: string[];\n}\n//4. 自定义排序方法function\nexport interface SortFuncRule {\n /**排序维度 */\n sortField: string;\n /**自定义排序函数 */\n sortFunc?: (a: any, b: any) => number;\n}\n//自定义排序方法参数\n// export interface SortFuncParam extends SortRule {\n// data: Array<string | Record<string, any>>;\n// }\nexport type SortRule = SortTypeRule | SortByRule | SortByIndicatorRule | SortFuncRule;\nexport type SortRules = SortRule[];\n//#endregion 排序规则\n\n//#region 过滤规则\nexport interface FilterRule {\n filterKey?: string;\n filteredValues?: unknown[];\n filterFunc?: (row: Record<string, any>) => boolean;\n}\nexport type FilterRules = FilterRule[];\n//#endregion 过滤规则\n\n//#region 聚合规则\nexport interface AggregationRule<T extends AggregationType> {\n /** 区别于field 重新起个key值,供配置indicators使用 */\n indicatorKey: string;\n // 可以收集单个字段的聚合结果,或者收集多个字段的聚合结果\n field: T extends AggregationType.RECORD ? string[] | string : string;\n aggregationType: T;\n /**计算结果格式化 */\n formatFun?: (num: number) => string;\n}\nexport type AggregationRules = AggregationRule<AggregationType>[];\n//#endregion 聚合规则\n\n//#region 映射规则\nexport interface MappingRule {\n label?: LabelMapping;\n symbol?: SymbolMapping;\n bgColor?: MappingFuncRule;\n}\nexport type MappingRules = MappingRule[];\nexport interface LabelMapping {\n text?: MappingFuncRule;\n color?: MappingFuncRule;\n}\nexport interface SymbolMapping {\n shape?: 'circle' | 'rect';\n color?: MappingFuncRule;\n size?: MappingFuncRule;\n}\n\nexport type MappingFuncRule = {\n indicatorKey: string;\n mapping?: (table: any, value: number) => string;\n};\n\n//#endregion 映射规则\nexport interface DerivedFieldRule {\n fieldName?: string;\n derivedFunc?: (record: Record<string, any>) => any;\n}\nexport type DerivedFieldRules = DerivedFieldRule[];\n/**\n * 数据处理配置\n */\nexport interface IDataConfig {\n aggregationRules?: AggregationRules; //按照行列维度聚合值计算规则;\n sortRules?: SortRules; //排序规则;\n filterRules?: FilterRules; //过滤规则;\n totals?: Totals; //小计或总计;\n /**\n * 目前mappding还不太好用 不建议使用 建议先用style\n */\n mappingRules?: MappingRules;\n derivedFieldRules?: DerivedFieldRules;\n\n /**\n * PivotChart专有 请忽略\n */\n collectValuesBy?: Record<string, CollectValueBy>;\n /**\n * PivotChart专有 请忽略\n */\n isPivotChart?: boolean;\n /**\n * PivotChart专有 请忽略\n */\n dimensionSortArray?: string[];\n}\n\n/** 在处理数据的过程中 去额外收集某个维度的维度值范围 可为离散值或者连续值范围 */\nexport type CollectValueBy = {\n /** 要收集的字段按什么进行分组 */\n by: string[];\n /** 是否计算一个range范围 true的话对应的收集数据的结果为{max:number,min:number} */\n range?: boolean;\n /** 收集是按照sumBy字段相同的进行分组聚合 聚合结果求最大最小值;如果不设置该值 则按单条数据求最大最小值 */\n sumBy?: string[];\n /** 帮助计算列宽使用 如果是chart图表 收集的是xFiled的维度值 可以根据维度值的个数乘于图元宽度计算一个最优列宽*/\n type?: 'xField' | 'yField' | undefined;\n /** 如果是收集的离散值,离散值的排序依据 */\n sortBy?: string[];\n};\nexport type CollectedValue = { max?: number; min?: number } | Array<string>;\n"]}
package/dist/vtable.js CHANGED
@@ -36,6 +36,7 @@
36
36
  var AggregationType;
37
37
  (function (AggregationType) {
38
38
  AggregationType["RECORD"] = "RECORD";
39
+ AggregationType["NONE"] = "NONE";
39
40
  AggregationType["SUM"] = "SUM";
40
41
  AggregationType["MIN"] = "MIN";
41
42
  AggregationType["MAX"] = "MAX";
@@ -48997,11 +48998,11 @@
48997
48998
  tickData;
48998
48999
  scale;
48999
49000
  component;
49000
- constructor(option, width, height, padding, chartSpecTheme, table) {
49001
+ constructor(option, width, height, padding, table) {
49001
49002
  this.table = table;
49002
49003
  this.orient = option.orient ?? 'left';
49003
49004
  this.type = option.type ?? 'band';
49004
- this.option = merge$1({}, getCommonAxis(chartSpecTheme), getTableAxisTheme(this.orient, table.theme), getChartSpecAxisTheme(this.orient, this.type, chartSpecTheme), option);
49005
+ this.option = merge$1({}, getCommonAxis(option.__vtableChartTheme), getTableAxisTheme(this.orient, table.theme), getChartSpecAxisTheme(this.orient, this.type, option.__vtableChartTheme), option);
49005
49006
  if (this.orient === 'left' || this.orient === 'right') {
49006
49007
  this.width = width;
49007
49008
  this.height = height - padding[2];
@@ -52414,13 +52415,13 @@
52414
52415
  static temp = 1;
52415
52416
  deactivate() {
52416
52417
  this.active = false;
52417
- this.activeChartInstance.updateViewBox({
52418
+ this.activeChartInstance?.updateViewBox({
52418
52419
  x1: -1000,
52419
52420
  x2: -800,
52420
52421
  y1: -1000,
52421
52422
  y2: -800
52422
52423
  }, false, false);
52423
- this.activeChartInstance.release();
52424
+ this.activeChartInstance?.release();
52424
52425
  this.activeChartInstance = null;
52425
52426
  }
52426
52427
  updateData(data) {
@@ -53552,8 +53553,7 @@
53552
53553
  cellGroup = createCellGroup(table, value, columnGroup, 0, y, col, row, colWidth, cellWidth, cellHeight, padding, textAlign, textBaseline, mayHaveIcon, customElementsGroup, renderDefault, cellTheme);
53553
53554
  const axisConfig = table.internalProps.layoutMap.getAxisConfigInPivotChart(col, row);
53554
53555
  if (axisConfig) {
53555
- const spec = table.internalProps.layoutMap.getRawChartSpec(col, row);
53556
- const axis = new CartesianAxis(axisConfig, cellGroup.attribute.width, cellGroup.attribute.height, padding, spec?.theme, table);
53556
+ const axis = new CartesianAxis(axisConfig, cellGroup.attribute.width, cellGroup.attribute.height, padding, table);
53557
53557
  cellGroup.clear();
53558
53558
  cellGroup.appendChild(axis.component);
53559
53559
  axis.overlap();
@@ -54240,7 +54240,7 @@
54240
54240
  if (!axisRange) {
54241
54241
  return;
54242
54242
  }
54243
- const { range, ticks, axisOption, isZeroAlign } = axisRange;
54243
+ const { range, ticks, axisOption, isZeroAlign, theme } = axisRange;
54244
54244
  if (isZeroAlign) {
54245
54245
  const subAxisRange = getRange$1('bottom', col, row + 1, col, layout.columnHeaderLevelCount - 1, col, row, 0, layout);
54246
54246
  if (subAxisRange) {
@@ -54272,7 +54272,8 @@
54272
54272
  label: {
54273
54273
  flush: true
54274
54274
  },
54275
- __ticksForVTable: ticks
54275
+ __ticksForVTable: ticks,
54276
+ __vtableChartTheme: theme
54276
54277
  });
54277
54278
  }
54278
54279
  else if (row === layout.rowCount - layout.bottomFrozenRowCount &&
@@ -54290,7 +54291,7 @@
54290
54291
  if (!axisRange) {
54291
54292
  return;
54292
54293
  }
54293
- const { range, ticks, axisOption, isZeroAlign } = axisRange;
54294
+ const { range, ticks, axisOption, isZeroAlign, theme } = axisRange;
54294
54295
  if (isZeroAlign) {
54295
54296
  const subAxisRange = getRange$1('top', col, row - 1, col, row, col, row, 1, layout);
54296
54297
  if (subAxisRange) {
@@ -54326,7 +54327,8 @@
54326
54327
  label: {
54327
54328
  flush: true
54328
54329
  },
54329
- __ticksForVTable: ticks
54330
+ __ticksForVTable: ticks,
54331
+ __vtableChartTheme: theme
54330
54332
  });
54331
54333
  }
54332
54334
  else if (col === layout.rowHeaderLevelCount - 1 &&
@@ -54339,7 +54341,7 @@
54339
54341
  const data = layout.dataset.collectedValues[rowDimensionKey] ?? [];
54340
54342
  const rowPath = layout.getRowKeysPath(col, row);
54341
54343
  const domain = data[rowPath ?? ''] ?? [];
54342
- const { axisOption, isPercent } = getAxisOption(col + 1, row, 'left', layout);
54344
+ const { axisOption, isPercent, theme } = getAxisOption(col + 1, row, 'left', layout);
54343
54345
  if (axisOption?.visible === false) {
54344
54346
  return;
54345
54347
  }
@@ -54350,7 +54352,8 @@
54350
54352
  }
54351
54353
  }, axisOption, {
54352
54354
  orient: 'left',
54353
- type: 'band'
54355
+ type: 'band',
54356
+ __vtableChartTheme: theme
54354
54357
  });
54355
54358
  }
54356
54359
  }
@@ -54370,7 +54373,7 @@
54370
54373
  if (!axisRange) {
54371
54374
  return;
54372
54375
  }
54373
- const { range, ticks, axisOption, isZeroAlign } = axisRange;
54376
+ const { range, ticks, axisOption, isZeroAlign, theme } = axisRange;
54374
54377
  if (isZeroAlign) {
54375
54378
  const subAxisRange = getRange$1('right', col + 1, row, col, row, col, row, 1, layout);
54376
54379
  if (subAxisRange) {
@@ -54407,7 +54410,8 @@
54407
54410
  label: {
54408
54411
  flush: true
54409
54412
  },
54410
- __ticksForVTable: ticks
54413
+ __ticksForVTable: ticks,
54414
+ __vtableChartTheme: theme
54411
54415
  });
54412
54416
  }
54413
54417
  else if (col === layout.colCount - layout.rightFrozenColCount &&
@@ -54417,7 +54421,7 @@
54417
54421
  if (!axisRange) {
54418
54422
  return;
54419
54423
  }
54420
- const { range, ticks, axisOption, isZeroAlign } = axisRange;
54424
+ const { range, ticks, axisOption, isZeroAlign, theme } = axisRange;
54421
54425
  if (isZeroAlign) {
54422
54426
  const subAxisRange = getRange$1('left', col - 1, row, layout.rowHeaderLevelCount - 1, row, col, row, 0, layout);
54423
54427
  if (subAxisRange) {
@@ -54452,7 +54456,8 @@
54452
54456
  label: {
54453
54457
  flush: true
54454
54458
  },
54455
- __ticksForVTable: ticks
54459
+ __ticksForVTable: ticks,
54460
+ __vtableChartTheme: theme
54456
54461
  });
54457
54462
  }
54458
54463
  else if (row === layout.rowCount - layout.bottomFrozenRowCount &&
@@ -54465,7 +54470,7 @@
54465
54470
  const data = layout.dataset.collectedValues[columnDimensionKey] ?? [];
54466
54471
  const colPath = layout.getColKeysPath(col, row);
54467
54472
  const domain = data?.[colPath ?? ''] ?? [];
54468
- const { axisOption, isPercent } = getAxisOption(col, row - 1, 'bottom', layout);
54473
+ const { axisOption, isPercent, theme } = getAxisOption(col, row - 1, 'bottom', layout);
54469
54474
  if (axisOption?.visible === false) {
54470
54475
  return;
54471
54476
  }
@@ -54473,7 +54478,8 @@
54473
54478
  domain: Array.from(domain)
54474
54479
  }, axisOption, {
54475
54480
  orient: 'bottom',
54476
- type: 'band'
54481
+ type: 'band',
54482
+ __vtableChartTheme: theme
54477
54483
  });
54478
54484
  }
54479
54485
  }
@@ -54498,7 +54504,8 @@
54498
54504
  axisOption,
54499
54505
  isPercent: spec.percent,
54500
54506
  isZeroAlign: checkZeroAlign(spec, orient, layout),
54501
- seriesIndice
54507
+ seriesIndice,
54508
+ theme: spec.theme
54502
54509
  };
54503
54510
  }
54504
54511
  }
@@ -54508,7 +54515,8 @@
54508
54515
  return {
54509
54516
  axisOption,
54510
54517
  isPercent: false,
54511
- isZeroAlign: checkZeroAlign(spec, orient, layout)
54518
+ isZeroAlign: checkZeroAlign(spec, orient, layout),
54519
+ theme: spec.theme
54512
54520
  };
54513
54521
  }
54514
54522
  function checkZeroAlign(spec, orient, layout) {
@@ -54588,7 +54596,7 @@
54588
54596
  return range;
54589
54597
  }
54590
54598
  function getRange$1(position, colForAxisOption, rowForAxisOption, colForIndicatorKey, rowForIndicatorKey, col, row, defaultSeriesIndice, layout) {
54591
- const { axisOption, isPercent, isZeroAlign, seriesIndice } = getAxisOption(colForAxisOption, rowForAxisOption, position, layout);
54599
+ const { axisOption, isPercent, isZeroAlign, seriesIndice, theme } = getAxisOption(colForAxisOption, rowForAxisOption, position, layout);
54592
54600
  if (axisOption?.visible === false) {
54593
54601
  return undefined;
54594
54602
  }
@@ -54627,7 +54635,8 @@
54627
54635
  axisOption,
54628
54636
  isZeroAlign,
54629
54637
  range,
54630
- ticks
54638
+ ticks,
54639
+ theme
54631
54640
  };
54632
54641
  }
54633
54642
  function isTopOrBottomAxis(col, row, layout) {
@@ -55706,8 +55715,7 @@
55706
55715
  const cellStyle = scene.table._getCellStyle(col, row);
55707
55716
  const padding = getQuadProps(getProp('padding', cellStyle, col, row, scene.table));
55708
55717
  if (axisConfig) {
55709
- const spec = scene.table.internalProps.layoutMap.getRawChartSpec(col, row);
55710
- const axis = new CartesianAxis(axisConfig, cellGroup.attribute.width, cellGroup.attribute.height, padding, spec?.theme, scene.table);
55718
+ const axis = new CartesianAxis(axisConfig, cellGroup.attribute.width, cellGroup.attribute.height, padding, scene.table);
55711
55719
  cellGroup.clear();
55712
55720
  cellGroup.appendChild(axis.component);
55713
55721
  axis.overlap();
@@ -60570,8 +60578,7 @@
60570
60578
  const axisConfig = table.internalProps.layoutMap.getAxisConfigInPivotChart(cell.col, cell.row);
60571
60579
  const cellStyle = table._getCellStyle(cell.col, cell.row);
60572
60580
  const padding = getQuadProps(getProp('padding', cellStyle, cell.col, cell.row, table));
60573
- const spec = table.internalProps.layoutMap.getRawChartSpec(cell.col, cell.row);
60574
- const axis = new CartesianAxis(axisConfig, cell.attribute.width, cell.attribute.height, padding, spec?.theme, table);
60581
+ const axis = new CartesianAxis(axisConfig, cell.attribute.width, cell.attribute.height, padding, table);
60575
60582
  cell.clear();
60576
60583
  cell.appendChild(axis.component);
60577
60584
  axis.overlap();
@@ -61896,9 +61903,12 @@
61896
61903
  this.dealWidthMode();
61897
61904
  }
61898
61905
  }
61899
- if (this.table.heightMode === 'adaptive' || this.table.autoFillHeight) {
61906
+ if (this.table.heightMode === 'adaptive') {
61900
61907
  this.recalculateRowHeights();
61901
61908
  }
61909
+ else if (this.table.autoFillHeight && this.table.tableNoFrameHeight >= this.table.getAllRowsHeight()) {
61910
+ this.dealHeightMode();
61911
+ }
61902
61912
  this.resetFrozen();
61903
61913
  this.updateTableSize();
61904
61914
  this.updateBorderSizeAndPosition();
@@ -68471,7 +68481,7 @@
68471
68481
  return TABLE_EVENT_TYPE;
68472
68482
  }
68473
68483
  options;
68474
- version = "0.16.2";
68484
+ version = "0.16.3-alpha.0";
68475
68485
  pagination;
68476
68486
  id = `VTable${Date.now()}`;
68477
68487
  headerStyleCache;
@@ -70249,6 +70259,9 @@
70249
70259
  return false;
70250
70260
  }
70251
70261
  const define = this.getHeaderDefine(col, row);
70262
+ if (!define) {
70263
+ return false;
70264
+ }
70252
70265
  if (define.dragHeader === undefined) {
70253
70266
  if (this.internalProps.dragHeaderMode === 'all') {
70254
70267
  return true;
@@ -75536,6 +75549,24 @@
75536
75549
  this.records = [];
75537
75550
  }
75538
75551
  }
75552
+ class NoneAggregator extends Aggregator {
75553
+ type = AggregationType.NONE;
75554
+ isRecord = true;
75555
+ fieldValue;
75556
+ push(record) {
75557
+ if (this.isRecord) {
75558
+ this.records = [record];
75559
+ }
75560
+ this.fieldValue = record[this.field];
75561
+ }
75562
+ value() {
75563
+ return this.fieldValue;
75564
+ }
75565
+ reset() {
75566
+ this.records = [];
75567
+ this.fieldValue = undefined;
75568
+ }
75569
+ }
75539
75570
  class SumAggregator extends Aggregator {
75540
75571
  type = AggregationType.SUM;
75541
75572
  sum = 0;
@@ -75974,6 +76005,7 @@
75974
76005
  this.registerAggregator(AggregationType.MAX, MaxAggregator);
75975
76006
  this.registerAggregator(AggregationType.MIN, MinAggregator);
75976
76007
  this.registerAggregator(AggregationType.AVG, AvgAggregator);
76008
+ this.registerAggregator(AggregationType.NONE, NoneAggregator);
75977
76009
  }
75978
76010
  processCollectedValuesWithSumBy() {
75979
76011
  for (const field in this.collectedValues) {
@@ -78914,7 +78946,7 @@
78914
78946
  return new Tag$1(params ? params.attribute : {});
78915
78947
  }
78916
78948
 
78917
- const version = "0.16.2";
78949
+ const version = "0.16.3-alpha.0";
78918
78950
  function getIcons() {
78919
78951
  return get$2();
78920
78952
  }