@visactor/vtable 1.26.4 → 1.26.6

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 (195) hide show
  1. package/cjs/ListTable.d.ts +5 -1
  2. package/cjs/ListTable.js +41 -11
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/body-helper/body-helper.d.ts +1 -0
  5. package/cjs/body-helper/body-helper.js +4 -3
  6. package/cjs/body-helper/body-helper.js.map +1 -1
  7. package/cjs/body-helper/style.js +2 -1
  8. package/cjs/components/legend/discrete-legend/discrete-legend.d.ts +1 -1
  9. package/cjs/core/BaseTable.d.ts +1 -0
  10. package/cjs/core/BaseTable.js +37 -27
  11. package/cjs/core/BaseTable.js.map +1 -1
  12. package/cjs/core/row-series-number-helper.d.ts +1 -0
  13. package/cjs/core/row-series-number-helper.js +3 -1
  14. package/cjs/core/row-series-number-helper.js.map +1 -1
  15. package/cjs/data/CachedDataSource.js +5 -3
  16. package/cjs/data/CachedDataSource.js.map +1 -1
  17. package/cjs/data/DataSource.js +1 -2
  18. package/cjs/dataset/DataStatistics.js +2 -1
  19. package/cjs/header-helper/header-helper.d.ts +1 -0
  20. package/cjs/header-helper/header-helper.js +4 -3
  21. package/cjs/header-helper/header-helper.js.map +1 -1
  22. package/cjs/header-helper/style.js +2 -1
  23. package/cjs/index.d.ts +1 -1
  24. package/cjs/index.js +1 -1
  25. package/cjs/index.js.map +1 -1
  26. package/cjs/plugins/custom-cell-style.js +1 -1
  27. package/cjs/plugins/interface.d.ts +2 -1
  28. package/cjs/plugins/interface.js.map +1 -1
  29. package/cjs/plugins/plugin-manager.d.ts +1 -1
  30. package/cjs/plugins/plugin-manager.js +11 -6
  31. package/cjs/plugins/plugin-manager.js.map +1 -1
  32. package/cjs/scenegraph/animation/appear.js +18 -3
  33. package/cjs/scenegraph/animation/appear.js.map +1 -1
  34. package/cjs/scenegraph/component/custom.js +3 -3
  35. package/cjs/scenegraph/component/custom.js.map +1 -1
  36. package/cjs/scenegraph/component/menu.js +4 -4
  37. package/cjs/scenegraph/component/menu.js.map +1 -1
  38. package/cjs/scenegraph/graphic/chart.d.ts +6 -1
  39. package/cjs/scenegraph/graphic/chart.js +38 -4
  40. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  41. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +2 -1
  42. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  43. package/cjs/scenegraph/graphic/group.d.ts +3 -1
  44. package/cjs/scenegraph/graphic/group.js +21 -3
  45. package/cjs/scenegraph/graphic/group.js.map +1 -1
  46. package/cjs/scenegraph/group-creater/cell-helper.js +4 -3
  47. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  48. package/cjs/scenegraph/group-creater/cell-type/button-cell.js +2 -2
  49. package/cjs/scenegraph/group-creater/cell-type/button-cell.js.map +1 -1
  50. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +4 -4
  51. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  52. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js +2 -2
  53. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  54. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +2 -2
  55. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  56. package/cjs/scenegraph/group-creater/cell-type/radio-cell.js +2 -2
  57. package/cjs/scenegraph/group-creater/cell-type/radio-cell.js.map +1 -1
  58. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +2 -2
  59. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  60. package/cjs/scenegraph/group-creater/cell-type/switch-cell.js +2 -2
  61. package/cjs/scenegraph/group-creater/cell-type/switch-cell.js.map +1 -1
  62. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +6 -6
  63. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  64. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +10 -7
  65. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  66. package/cjs/scenegraph/group-creater/column-helper.js +3 -2
  67. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  68. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +24 -8
  69. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  70. package/cjs/scenegraph/layout/compute-row-height.js +15 -4
  71. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  72. package/cjs/scenegraph/layout/update-row.js +24 -3
  73. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  74. package/cjs/scenegraph/runtime-contributions.d.ts +2 -0
  75. package/cjs/scenegraph/runtime-contributions.js +28 -0
  76. package/cjs/scenegraph/runtime-contributions.js.map +1 -0
  77. package/cjs/scenegraph/scenegraph.d.ts +4 -1
  78. package/cjs/scenegraph/scenegraph.js +81 -35
  79. package/cjs/scenegraph/scenegraph.js.map +1 -1
  80. package/cjs/scenegraph/utils/text-icon-layout.d.ts +4 -0
  81. package/cjs/scenegraph/utils/text-icon-layout.js +27 -9
  82. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  83. package/cjs/scenegraph/utils/text-measure.js.map +1 -1
  84. package/cjs/state/checkbox/checkbox.d.ts +3 -0
  85. package/cjs/state/checkbox/checkbox.js +138 -2
  86. package/cjs/state/checkbox/checkbox.js.map +1 -1
  87. package/cjs/ts-types/base-table.d.ts +5 -1
  88. package/cjs/ts-types/base-table.js.map +1 -1
  89. package/cjs/ts-types/table-engine.d.ts +7 -1
  90. package/cjs/ts-types/table-engine.js.map +1 -1
  91. package/cjs/vrender-app.d.ts +20 -0
  92. package/cjs/vrender-app.js +141 -0
  93. package/cjs/vrender-app.js.map +1 -0
  94. package/cjs/vrender.d.ts +17 -1
  95. package/cjs/vrender.js +36 -15
  96. package/cjs/vrender.js.map +1 -1
  97. package/dist/vtable.js +106194 -96838
  98. package/dist/vtable.min.js +1 -1
  99. package/es/ListTable.d.ts +5 -1
  100. package/es/ListTable.js +41 -11
  101. package/es/ListTable.js.map +1 -1
  102. package/es/body-helper/body-helper.d.ts +1 -0
  103. package/es/body-helper/body-helper.js +4 -3
  104. package/es/body-helper/body-helper.js.map +1 -1
  105. package/es/body-helper/style.js +2 -1
  106. package/es/components/legend/discrete-legend/discrete-legend.d.ts +1 -1
  107. package/es/core/BaseTable.d.ts +1 -0
  108. package/es/core/BaseTable.js +39 -29
  109. package/es/core/BaseTable.js.map +1 -1
  110. package/es/core/row-series-number-helper.d.ts +1 -0
  111. package/es/core/row-series-number-helper.js +3 -1
  112. package/es/core/row-series-number-helper.js.map +1 -1
  113. package/es/data/CachedDataSource.js +5 -3
  114. package/es/data/CachedDataSource.js.map +1 -1
  115. package/es/data/DataSource.js +1 -2
  116. package/es/dataset/DataStatistics.js +2 -1
  117. package/es/header-helper/header-helper.d.ts +1 -0
  118. package/es/header-helper/header-helper.js +4 -3
  119. package/es/header-helper/header-helper.js.map +1 -1
  120. package/es/header-helper/style.js +2 -1
  121. package/es/index.d.ts +1 -1
  122. package/es/index.js +1 -1
  123. package/es/index.js.map +1 -1
  124. package/es/plugins/custom-cell-style.js +1 -1
  125. package/es/plugins/interface.d.ts +2 -1
  126. package/es/plugins/interface.js.map +1 -1
  127. package/es/plugins/plugin-manager.d.ts +1 -1
  128. package/es/plugins/plugin-manager.js +11 -6
  129. package/es/plugins/plugin-manager.js.map +1 -1
  130. package/es/scenegraph/animation/appear.js +18 -3
  131. package/es/scenegraph/animation/appear.js.map +1 -1
  132. package/es/scenegraph/component/custom.js +3 -3
  133. package/es/scenegraph/component/custom.js.map +1 -1
  134. package/es/scenegraph/component/menu.js +4 -4
  135. package/es/scenegraph/component/menu.js.map +1 -1
  136. package/es/scenegraph/graphic/chart.d.ts +6 -1
  137. package/es/scenegraph/graphic/chart.js +39 -3
  138. package/es/scenegraph/graphic/chart.js.map +1 -1
  139. package/es/scenegraph/graphic/contributions/chart-render-helper.js +2 -1
  140. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  141. package/es/scenegraph/graphic/group.d.ts +3 -1
  142. package/es/scenegraph/graphic/group.js +21 -3
  143. package/es/scenegraph/graphic/group.js.map +1 -1
  144. package/es/scenegraph/group-creater/cell-helper.js +4 -3
  145. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  146. package/es/scenegraph/group-creater/cell-type/button-cell.js +2 -2
  147. package/es/scenegraph/group-creater/cell-type/button-cell.js.map +1 -1
  148. package/es/scenegraph/group-creater/cell-type/chart-cell.js +4 -4
  149. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  150. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js +2 -2
  151. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  152. package/es/scenegraph/group-creater/cell-type/image-cell.js +2 -2
  153. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  154. package/es/scenegraph/group-creater/cell-type/radio-cell.js +2 -2
  155. package/es/scenegraph/group-creater/cell-type/radio-cell.js.map +1 -1
  156. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +2 -2
  157. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  158. package/es/scenegraph/group-creater/cell-type/switch-cell.js +2 -2
  159. package/es/scenegraph/group-creater/cell-type/switch-cell.js.map +1 -1
  160. package/es/scenegraph/group-creater/cell-type/text-cell.js +5 -5
  161. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  162. package/es/scenegraph/group-creater/cell-type/video-cell.js +10 -7
  163. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  164. package/es/scenegraph/group-creater/column-helper.js +3 -2
  165. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  166. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +24 -8
  167. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  168. package/es/scenegraph/layout/compute-row-height.js +15 -4
  169. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  170. package/es/scenegraph/layout/update-row.js +25 -2
  171. package/es/scenegraph/layout/update-row.js.map +1 -1
  172. package/es/scenegraph/runtime-contributions.d.ts +2 -0
  173. package/es/scenegraph/runtime-contributions.js +20 -0
  174. package/es/scenegraph/runtime-contributions.js.map +1 -0
  175. package/es/scenegraph/scenegraph.d.ts +4 -1
  176. package/es/scenegraph/scenegraph.js +83 -35
  177. package/es/scenegraph/scenegraph.js.map +1 -1
  178. package/es/scenegraph/utils/text-icon-layout.d.ts +4 -0
  179. package/es/scenegraph/utils/text-icon-layout.js +25 -8
  180. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  181. package/es/scenegraph/utils/text-measure.js.map +1 -1
  182. package/es/state/checkbox/checkbox.d.ts +3 -0
  183. package/es/state/checkbox/checkbox.js +133 -0
  184. package/es/state/checkbox/checkbox.js.map +1 -1
  185. package/es/ts-types/base-table.d.ts +5 -1
  186. package/es/ts-types/base-table.js.map +1 -1
  187. package/es/ts-types/table-engine.d.ts +7 -1
  188. package/es/ts-types/table-engine.js.map +1 -1
  189. package/es/vrender-app.d.ts +20 -0
  190. package/es/vrender-app.js +161 -0
  191. package/es/vrender-app.js.map +1 -0
  192. package/es/vrender.d.ts +17 -1
  193. package/es/vrender.js +27 -8
  194. package/es/vrender.js.map +1 -1
  195. package/package.json +10 -9
package/es/ListTable.d.ts CHANGED
@@ -58,6 +58,7 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
58
58
  moveType: "row" | "column";
59
59
  };
60
60
  private syncColumnsStateFromLayoutMap;
61
+ private mergeHiddenColumnsWithVisibleOrder;
61
62
  changeRecordOrder(sourceIndex: number, targetIndex: number): void;
62
63
  getCellAddress(findTargetRecord: any | ((record: any) => boolean), field: FieldDef): CellAddress;
63
64
  getCellRangeByField(field: FieldDef, index: number): CellRange | null;
@@ -81,6 +82,9 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
81
82
  getRadioState(field?: string | number): number | boolean | Record<string | number, number | boolean | Record<number, number>>;
82
83
  getCellRadioState(col: number, row: number): boolean | number;
83
84
  setCellCheckboxState(col: number, row: number, checked: boolean | 'indeterminate'): void;
85
+ setCellCheckboxStateByRecordIndex(recordIndex: number | number[], field: FieldDef, checked: boolean | 'indeterminate'): void;
86
+ clearCheckboxState(field: FieldDef): void;
87
+ clearAllCheckboxState(field: FieldDef): void;
84
88
  setCellRadioState(col: number, row: number, index?: number): void;
85
89
  getSwitchState(field?: string | number): any[];
86
90
  getCellSwitchState(col: number, row: number): boolean | "indeterminate";
@@ -126,7 +130,7 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
126
130
  addRecord(record: any, recordIndex?: number | number[], triggerEvent?: boolean): void;
127
131
  addRecords(records: any[], recordIndex?: number | number[], triggerEvent?: boolean): void;
128
132
  deleteRecords(recordIndexs: number[] | number[][], triggerEvent?: boolean): void;
129
- updateRecords(records: any[], recordIndexs: (number | number[])[], triggerEvent?: boolean): void;
133
+ updateRecords(records: any[], recordIndexs?: (number | number[])[], triggerEvent?: boolean): void;
130
134
  _hasCustomRenderOrLayout(): boolean;
131
135
  getAggregateValuesByField(field: string | number): {
132
136
  col: number;
package/es/ListTable.js CHANGED
@@ -24,7 +24,7 @@ import { getCellRadioState, setCellRadioState } from "./state/radio/radio";
24
24
 
25
25
  import { cloneDeepSpec } from "@visactor/vutils-extension";
26
26
 
27
- import { getGroupCheckboxState, setCellCheckboxState } from "./state/checkbox/checkbox";
27
+ import { clearCheckboxState, getGroupCheckboxState, setCellCheckboxState, setCheckboxStateByRecordIndex } from "./state/checkbox/checkbox";
28
28
 
29
29
  import { Factory } from "./core/factory";
30
30
 
@@ -44,6 +44,17 @@ import { getCustomMergeCellFunc } from "./core/utils/get-custom-merge-cell-func"
44
44
 
45
45
  import { adjustHeightResizedRowMap, adjustHeightResizedRowMapWithAddRecordIndex, adjustHeightResizedRowMapWithDeleteRecordIndex, adjustWidthResizedColMap } from "./state/cell-move/adjust-header";
46
46
 
47
+ const LAYOUT_COLUMN_STATE_KEYS = [ "level", "startIndex", "id", "levelSpan", "size", "startInTotal", "hierarchyState" ];
48
+
49
+ function clearLayoutColumnState(columns) {
50
+ null == columns || columns.forEach((column => {
51
+ var _a;
52
+ LAYOUT_COLUMN_STATE_KEYS.forEach((key => {
53
+ delete column[key];
54
+ })), clearLayoutColumnState(null !== (_a = column.children) && void 0 !== _a ? _a : column.columns);
55
+ }));
56
+ }
57
+
47
58
  export class ListTable extends BaseTable {
48
59
  constructor(container, options) {
49
60
  var _a, _b, _c, _d, _e, _f, _g, _h;
@@ -261,6 +272,7 @@ export class ListTable extends BaseTable {
261
272
  const {title: title} = table.internalProps.layoutMap.getSeriesNumberHeader(col, row);
262
273
  return title;
263
274
  }
275
+ if (table.internalProps.layoutMap.isAggregation(col, row)) return "";
264
276
  let value;
265
277
  if (this.internalProps.groupBy) {
266
278
  const record = table.getCellRawRecord(col, row);
@@ -298,6 +310,7 @@ export class ListTable extends BaseTable {
298
310
  const {title: title} = table.internalProps.layoutMap.getSeriesNumberHeader(col, row);
299
311
  return title;
300
312
  }
313
+ if (table.internalProps.layoutMap.isAggregation(col, row)) return "";
301
314
  const {format: format} = table.internalProps.layoutMap.getSeriesNumberBody(col, row);
302
315
  return "function" == typeof format ? format(col, row, this) : row - this.columnHeaderLevelCount;
303
316
  }
@@ -377,7 +390,7 @@ export class ListTable extends BaseTable {
377
390
  }) {
378
391
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
379
392
  const internalProps = this.internalProps;
380
- if (this.pluginManager.removeOrAddPlugins(options.plugins), super.updateOption(options, updateConfig),
393
+ if (this.pluginManager.removeOrAddPlugins(options.plugins, options), super.updateOption(options, updateConfig),
381
394
  internalProps.frozenColDragHeaderMode = null !== (_b = null === (_a = options.dragOrder) || void 0 === _a ? void 0 : _a.frozenColDragHeaderMode) && void 0 !== _b ? _b : options.frozenColDragHeaderMode,
382
395
  this.pagination = options.pagination, internalProps.sortState = options.sortState,
383
396
  internalProps.dataConfig = this.internalProps.groupBy ? getGroupByDataConfig(this.internalProps.groupBy, options.addRecordRule) : {
@@ -463,13 +476,19 @@ export class ListTable extends BaseTable {
463
476
  moveContext) : null;
464
477
  }
465
478
  syncColumnsStateFromLayoutMap() {
466
- const nextColumns = cloneDeepSpec(this.internalProps.columns, [ "children" ]), cleanColumns = columns => {
467
- columns.forEach((col => {
468
- delete col.level, delete col.size, delete col.startInTotal, delete col.startIndex,
469
- delete col.id, delete col.hierarchyState, col.columns && cleanColumns(col.columns);
470
- }));
471
- };
472
- cleanColumns(nextColumns), this.options.columns = nextColumns, this.options.header && (this.options.header = nextColumns);
479
+ var _a;
480
+ const sourceColumns = null !== (_a = this.options.columns) && void 0 !== _a ? _a : this.internalProps.columns, nextColumns = sourceColumns.some((column => !0 === column.hide)) ? this.mergeHiddenColumnsWithVisibleOrder(sourceColumns) : this.columns, publicColumns = cloneDeepSpec(nextColumns, [ "children" ]);
481
+ clearLayoutColumnState(publicColumns), this.internalProps.columns = cloneDeepSpec(publicColumns, [ "children" ]),
482
+ this.options.columns = publicColumns, this.options.header && (this.options.header = publicColumns);
483
+ }
484
+ mergeHiddenColumnsWithVisibleOrder(sourceColumns) {
485
+ const visibleColumns = this.internalProps.layoutMap.columnObjects.map((column => column.define));
486
+ let visibleIndex = 0;
487
+ return sourceColumns.map((column => {
488
+ if (!0 === column.hide) return column;
489
+ const nextVisibleColumn = visibleColumns[visibleIndex];
490
+ return visibleIndex += 1, null != nextVisibleColumn ? nextVisibleColumn : column;
491
+ }));
473
492
  }
474
493
  changeRecordOrder(sourceIndex, targetIndex) {
475
494
  this.transpose ? (sourceIndex = this.getRecordShowIndexByCell(sourceIndex, 0), targetIndex = this.getRecordShowIndexByCell(targetIndex, 0)) : (sourceIndex = this.getRecordShowIndexByCell(0, sourceIndex),
@@ -687,6 +706,15 @@ export class ListTable extends BaseTable {
687
706
  setCellCheckboxState(col, row, checked) {
688
707
  setCellCheckboxState(col, row, checked, this);
689
708
  }
709
+ setCellCheckboxStateByRecordIndex(recordIndex, field, checked) {
710
+ setCheckboxStateByRecordIndex(recordIndex, field, checked, this);
711
+ }
712
+ clearCheckboxState(field) {
713
+ clearCheckboxState(field, this);
714
+ }
715
+ clearAllCheckboxState(field) {
716
+ this.clearCheckboxState(field);
717
+ }
690
718
  setCellRadioState(col, row, index) {
691
719
  setCellRadioState(col, row, index, this);
692
720
  }
@@ -1033,9 +1061,11 @@ export class ListTable extends BaseTable {
1033
1061
  }), 0));
1034
1062
  }
1035
1063
  updateRecords(records, recordIndexs, triggerEvent = !0) {
1036
- listTableUpdateRecords(records, recordIndexs, this), triggerEvent && this.fireListeners(TABLE_EVENT_TYPE.UPDATE_RECORD, {
1064
+ var _a;
1065
+ const updateRecordIndexs = null !== (_a = null != recordIndexs ? recordIndexs : null == records ? void 0 : records.map(((_, index) => index))) && void 0 !== _a ? _a : [];
1066
+ listTableUpdateRecords(records, updateRecordIndexs, this), triggerEvent && this.fireListeners(TABLE_EVENT_TYPE.UPDATE_RECORD, {
1037
1067
  records: records,
1038
- recordIndexs: recordIndexs,
1068
+ recordIndexs: updateRecordIndexs,
1039
1069
  updateCount: records.length
1040
1070
  });
1041
1071
  }