@visactor/vtable 1.26.4-alpha.0 → 1.26.5

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 (189) hide show
  1. package/cjs/ListTable.d.ts +1 -1
  2. package/cjs/ListTable.js +28 -33
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/components/index.js +1 -2
  5. package/cjs/components/legend/discrete-legend/discrete-legend.d.ts +1 -1
  6. package/cjs/core/BaseTable.js +20 -21
  7. package/cjs/core/BaseTable.js.map +1 -1
  8. package/cjs/core/FouseInput.js +2 -1
  9. package/cjs/core/tableHelper.d.ts +0 -2
  10. package/cjs/core/tableHelper.js +8 -13
  11. package/cjs/core/tableHelper.js.map +1 -1
  12. package/cjs/data/CachedDataSource.d.ts +0 -1
  13. package/cjs/data/CachedDataSource.js +0 -22
  14. package/cjs/data/CachedDataSource.js.map +1 -1
  15. package/cjs/data/DataSource.js +1 -2
  16. package/cjs/dataset/flatDataToObject.js +2 -1
  17. package/cjs/event/helper.js +1 -1
  18. package/cjs/event/listener/table-group.js +52 -52
  19. package/cjs/event/listener/table-group.js.map +1 -1
  20. package/cjs/event/media-click.js +1 -1
  21. package/cjs/event/scroll.js +1 -1
  22. package/cjs/event/sparkline-event.js +1 -1
  23. package/cjs/event/util.js +1 -1
  24. package/cjs/index.d.ts +1 -1
  25. package/cjs/index.js +1 -1
  26. package/cjs/index.js.map +1 -1
  27. package/cjs/layout/index.js +1 -2
  28. package/cjs/plugins/custom-cell-style.js +1 -1
  29. package/cjs/plugins/index.js +1 -1
  30. package/cjs/plugins/interface.js +2 -1
  31. package/cjs/plugins/invert-highlight.js +1 -1
  32. package/cjs/plugins/list-tree-stick-cell.js +1 -1
  33. package/cjs/plugins/plugin-manager.js +1 -1
  34. package/cjs/scenegraph/animation/appear.js +18 -3
  35. package/cjs/scenegraph/animation/appear.js.map +1 -1
  36. package/cjs/scenegraph/component/custom.js +5 -5
  37. package/cjs/scenegraph/component/custom.js.map +1 -1
  38. package/cjs/scenegraph/component/menu.js +4 -4
  39. package/cjs/scenegraph/component/menu.js.map +1 -1
  40. package/cjs/scenegraph/graphic/chart.d.ts +6 -1
  41. package/cjs/scenegraph/graphic/chart.js +38 -4
  42. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  43. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +2 -1
  44. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  45. package/cjs/scenegraph/graphic/group.d.ts +3 -1
  46. package/cjs/scenegraph/graphic/group.js +21 -3
  47. package/cjs/scenegraph/graphic/group.js.map +1 -1
  48. package/cjs/scenegraph/group-creater/cell-helper.d.ts +1 -1
  49. package/cjs/scenegraph/group-creater/cell-helper.js +9 -8
  50. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  51. package/cjs/scenegraph/group-creater/cell-type/button-cell.js +2 -2
  52. package/cjs/scenegraph/group-creater/cell-type/button-cell.js.map +1 -1
  53. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +4 -4
  54. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  55. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js +2 -2
  56. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  57. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +3 -3
  58. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  59. package/cjs/scenegraph/group-creater/cell-type/radio-cell.js +2 -2
  60. package/cjs/scenegraph/group-creater/cell-type/radio-cell.js.map +1 -1
  61. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +2 -2
  62. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  63. package/cjs/scenegraph/group-creater/cell-type/switch-cell.js +2 -2
  64. package/cjs/scenegraph/group-creater/cell-type/switch-cell.js.map +1 -1
  65. package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
  66. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +8 -9
  67. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  68. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +101 -12
  69. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  70. package/cjs/scenegraph/group-creater/column-helper.js +9 -11
  71. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  72. package/cjs/scenegraph/layout/compute-col-width.js +1 -1
  73. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  74. package/cjs/scenegraph/layout/compute-row-height.js +1 -1
  75. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  76. package/cjs/scenegraph/runtime-contributions.d.ts +2 -0
  77. package/cjs/scenegraph/runtime-contributions.js +28 -0
  78. package/cjs/scenegraph/runtime-contributions.js.map +1 -0
  79. package/cjs/scenegraph/scenegraph.d.ts +4 -1
  80. package/cjs/scenegraph/scenegraph.js +52 -37
  81. package/cjs/scenegraph/scenegraph.js.map +1 -1
  82. package/cjs/scenegraph/utils/text-icon-layout.d.ts +4 -0
  83. package/cjs/scenegraph/utils/text-icon-layout.js +26 -9
  84. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  85. package/cjs/scenegraph/utils/text-measure.js.map +1 -1
  86. package/cjs/ts-types/base-table.d.ts +7 -1
  87. package/cjs/ts-types/base-table.js.map +1 -1
  88. package/cjs/vrender-app.d.ts +20 -0
  89. package/cjs/vrender-app.js +141 -0
  90. package/cjs/vrender-app.js.map +1 -0
  91. package/cjs/vrender.d.ts +17 -1
  92. package/cjs/vrender.js +36 -15
  93. package/cjs/vrender.js.map +1 -1
  94. package/dist/vtable.js +105835 -96794
  95. package/dist/vtable.min.js +1 -1
  96. package/es/ListTable.d.ts +1 -1
  97. package/es/ListTable.js +30 -33
  98. package/es/ListTable.js.map +1 -1
  99. package/es/components/index.js +1 -2
  100. package/es/components/legend/discrete-legend/discrete-legend.d.ts +1 -1
  101. package/es/core/BaseTable.js +19 -19
  102. package/es/core/BaseTable.js.map +1 -1
  103. package/es/core/FouseInput.js +2 -1
  104. package/es/core/tableHelper.d.ts +0 -2
  105. package/es/core/tableHelper.js +7 -11
  106. package/es/core/tableHelper.js.map +1 -1
  107. package/es/data/CachedDataSource.d.ts +0 -1
  108. package/es/data/CachedDataSource.js +0 -22
  109. package/es/data/CachedDataSource.js.map +1 -1
  110. package/es/data/DataSource.js +1 -2
  111. package/es/dataset/flatDataToObject.js +2 -1
  112. package/es/event/helper.js +1 -1
  113. package/es/event/listener/table-group.js +52 -52
  114. package/es/event/listener/table-group.js.map +1 -1
  115. package/es/event/media-click.js +1 -1
  116. package/es/event/scroll.js +1 -1
  117. package/es/event/sparkline-event.js +1 -1
  118. package/es/event/util.js +1 -1
  119. package/es/index.d.ts +1 -1
  120. package/es/index.js +1 -1
  121. package/es/index.js.map +1 -1
  122. package/es/layout/index.js +1 -2
  123. package/es/plugins/custom-cell-style.js +1 -1
  124. package/es/plugins/index.js +1 -1
  125. package/es/plugins/interface.js +2 -1
  126. package/es/plugins/invert-highlight.js +1 -1
  127. package/es/plugins/list-tree-stick-cell.js +1 -1
  128. package/es/plugins/plugin-manager.js +1 -1
  129. package/es/scenegraph/animation/appear.js +18 -3
  130. package/es/scenegraph/animation/appear.js.map +1 -1
  131. package/es/scenegraph/component/custom.js +5 -5
  132. package/es/scenegraph/component/custom.js.map +1 -1
  133. package/es/scenegraph/component/menu.js +4 -4
  134. package/es/scenegraph/component/menu.js.map +1 -1
  135. package/es/scenegraph/graphic/chart.d.ts +6 -1
  136. package/es/scenegraph/graphic/chart.js +39 -3
  137. package/es/scenegraph/graphic/chart.js.map +1 -1
  138. package/es/scenegraph/graphic/contributions/chart-render-helper.js +2 -1
  139. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  140. package/es/scenegraph/graphic/group.d.ts +3 -1
  141. package/es/scenegraph/graphic/group.js +21 -3
  142. package/es/scenegraph/graphic/group.js.map +1 -1
  143. package/es/scenegraph/group-creater/cell-helper.d.ts +1 -1
  144. package/es/scenegraph/group-creater/cell-helper.js +9 -8
  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 +3 -3
  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.d.ts +1 -1
  161. package/es/scenegraph/group-creater/cell-type/text-cell.js +7 -8
  162. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  163. package/es/scenegraph/group-creater/cell-type/video-cell.js +99 -12
  164. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  165. package/es/scenegraph/group-creater/column-helper.js +9 -11
  166. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  167. package/es/scenegraph/layout/compute-col-width.js +1 -1
  168. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  169. package/es/scenegraph/layout/compute-row-height.js +1 -1
  170. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  171. package/es/scenegraph/runtime-contributions.d.ts +2 -0
  172. package/es/scenegraph/runtime-contributions.js +20 -0
  173. package/es/scenegraph/runtime-contributions.js.map +1 -0
  174. package/es/scenegraph/scenegraph.d.ts +4 -1
  175. package/es/scenegraph/scenegraph.js +51 -37
  176. package/es/scenegraph/scenegraph.js.map +1 -1
  177. package/es/scenegraph/utils/text-icon-layout.d.ts +4 -0
  178. package/es/scenegraph/utils/text-icon-layout.js +21 -5
  179. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  180. package/es/scenegraph/utils/text-measure.js.map +1 -1
  181. package/es/ts-types/base-table.d.ts +7 -1
  182. package/es/ts-types/base-table.js.map +1 -1
  183. package/es/vrender-app.d.ts +20 -0
  184. package/es/vrender-app.js +161 -0
  185. package/es/vrender-app.js.map +1 -0
  186. package/es/vrender.d.ts +17 -1
  187. package/es/vrender.js +27 -8
  188. package/es/vrender.js.map +1 -1
  189. package/package.json +10 -9
package/es/ListTable.d.ts CHANGED
@@ -45,7 +45,6 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
45
45
  clearColWidthCache?: boolean;
46
46
  clearRowHeightCache?: boolean;
47
47
  }): Promise<unknown>;
48
- private _refreshCurrentRecordsForOptionUpdate;
49
48
  updatePagination(pagination: IPagination): void;
50
49
  refreshHeader(): void;
51
50
  refreshRowColCount(): void;
@@ -59,6 +58,7 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
59
58
  moveType: "row" | "column";
60
59
  };
61
60
  private syncColumnsStateFromLayoutMap;
61
+ private mergeHiddenColumnsWithVisibleOrder;
62
62
  changeRecordOrder(sourceIndex: number, targetIndex: number): void;
63
63
  getCellAddress(findTargetRecord: any | ((record: any) => boolean), field: FieldDef): CellAddress;
64
64
  getCellRangeByField(field: FieldDef, index: number): CellRange | null;
package/es/ListTable.js CHANGED
@@ -4,7 +4,7 @@ import { SimpleHeaderLayoutMap } from "./layout";
4
4
 
5
5
  import { isArray, isValid } from "@visactor/vutils";
6
6
 
7
- import { _setRecords, checkHasAggregationOnColumnDefine, generateAggregationForColumn, getHierarchyExpandLevel, getListTableRowHierarchyType } from "./core/tableHelper";
7
+ import { _setRecords, checkHasAggregationOnColumnDefine, generateAggregationForColumn } from "./core/tableHelper";
8
8
 
9
9
  import { BaseTable } from "./core";
10
10
 
@@ -30,7 +30,7 @@ import { Factory } from "./core/factory";
30
30
 
31
31
  import { getGroupByDataConfig } from "./core/group-helper";
32
32
 
33
- import { CachedDataSource, DataSource } from "./data";
33
+ import { DataSource } from "./data";
34
34
 
35
35
  import { getValueFromDeepArray } from "./data/DataSource";
36
36
 
@@ -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;
@@ -376,10 +387,9 @@ export class ListTable extends BaseTable {
376
387
  clearRowHeightCache: !0
377
388
  }) {
378
389
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
379
- const internalProps = this.internalProps, prevSortState = internalProps.sortState, hasActiveSortState = (Array.isArray(options.sortState) ? options.sortState : options.sortState ? [ options.sortState ] : []).some((item => (null == item ? void 0 : item.field) && (null == item ? void 0 : item.order) && "normal" !== item.order)), shouldSkipInitialClearCells = Boolean(options.records) || !!options.dataSource && this.dataSource !== options.dataSource;
380
- if (this.pluginManager.removeOrAddPlugins(options.plugins), super.updateOption(options, Object.assign(Object.assign({}, updateConfig), {
381
- skipClearCells: shouldSkipInitialClearCells
382
- })), internalProps.frozenColDragHeaderMode = null !== (_b = null === (_a = options.dragOrder) || void 0 === _a ? void 0 : _a.frozenColDragHeaderMode) && void 0 !== _b ? _b : options.frozenColDragHeaderMode,
390
+ const internalProps = this.internalProps;
391
+ if (this.pluginManager.removeOrAddPlugins(options.plugins), super.updateOption(options, updateConfig),
392
+ internalProps.frozenColDragHeaderMode = null !== (_b = null === (_a = options.dragOrder) || void 0 === _a ? void 0 : _a.frozenColDragHeaderMode) && void 0 !== _b ? _b : options.frozenColDragHeaderMode,
383
393
  this.pagination = options.pagination, internalProps.sortState = options.sortState,
384
394
  internalProps.dataConfig = this.internalProps.groupBy ? getGroupByDataConfig(this.internalProps.groupBy, options.addRecordRule) : {
385
395
  addRecordRule: options.addRecordRule
@@ -393,7 +403,7 @@ export class ListTable extends BaseTable {
393
403
  releaseObj instanceof DataSource ? releaseObj.updateColumns(this.internalProps.columns) : (null === (_g = null == releaseObj ? void 0 : releaseObj.release) || void 0 === _g || _g.call(releaseObj),
394
404
  internalProps.releaseList.splice(i, 1));
395
405
  }
396
- if (options.dataSource && this.dataSource !== options.dataSource ? this.dataSource = options.dataSource : options.records && options.records === internalProps.records && options.sortState === prevSortState && !hasActiveSortState && this.dataSource instanceof CachedDataSource ? this._refreshCurrentRecordsForOptionUpdate(options.records) : options.records ? this.setRecords(options.records, {
406
+ if (options.dataSource && this.dataSource !== options.dataSource ? this.dataSource = options.dataSource : options.records ? this.setRecords(options.records, {
397
407
  sortState: options.sortState
398
408
  }) : (this.refreshRowColCount(), this._resetFrozenColCount(), this.scenegraph.createSceneGraph(),
399
409
  this.render()), options.title) {
@@ -410,25 +420,6 @@ export class ListTable extends BaseTable {
410
420
  setTimeout(resolve, 0);
411
421
  }));
412
422
  }
413
- _refreshCurrentRecordsForOptionUpdate(records) {
414
- var _a;
415
- const dataSource = this.dataSource;
416
- this.stateManager.endResizeIfResizing(), clearChartRenderQueue();
417
- const oldHoverState = {
418
- col: this.stateManager.hover.cellPos.col,
419
- row: this.stateManager.hover.cellPos.row
420
- };
421
- this.scenegraph.clearCells(), this.internalProps.records = records, dataSource.refreshRecords(records, this.internalProps.dataConfig, this.pagination, this.internalProps.columns, getListTableRowHierarchyType(this), getHierarchyExpandLevel(this)),
422
- this.refreshRowColCount(), this.stateManager.initCheckedState(records), this.clearCellStyleCache(),
423
- this.scenegraph.createSceneGraph(), this.stateManager.updateHoverPos(oldHoverState.col, oldHoverState.row),
424
- this._updateSize();
425
- (null !== (_a = this.options.componentLayoutOrder) && void 0 !== _a ? _a : [ "legend", "title" ]).forEach((component => {
426
- var _a, _b;
427
- "legend" === component ? null === (_a = this.internalProps.legends) || void 0 === _a || _a.forEach((legend => {
428
- null == legend || legend.resize();
429
- })) : "title" === component && (null === (_b = this.internalProps.title) || void 0 === _b || _b.resize());
430
- })), this.scenegraph.resize(), this.render();
431
- }
432
423
  updatePagination(pagination) {
433
424
  this.pagination && ("number" == typeof pagination.currentPage && pagination.currentPage >= 0 && (this.pagination.currentPage = pagination.currentPage),
434
425
  pagination.perPageCount && (this.pagination.perPageCount = pagination.perPageCount || this.pagination.perPageCount),
@@ -483,13 +474,19 @@ export class ListTable extends BaseTable {
483
474
  moveContext) : null;
484
475
  }
485
476
  syncColumnsStateFromLayoutMap() {
486
- const nextColumns = cloneDeepSpec(this.internalProps.columns, [ "children" ]), cleanColumns = columns => {
487
- columns.forEach((col => {
488
- delete col.level, delete col.size, delete col.startInTotal, delete col.startIndex,
489
- delete col.id, delete col.hierarchyState, col.columns && cleanColumns(col.columns);
490
- }));
491
- };
492
- cleanColumns(nextColumns), this.options.columns = nextColumns, this.options.header && (this.options.header = nextColumns);
477
+ var _a;
478
+ 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" ]);
479
+ clearLayoutColumnState(publicColumns), this.internalProps.columns = cloneDeepSpec(publicColumns, [ "children" ]),
480
+ this.options.columns = publicColumns, this.options.header && (this.options.header = publicColumns);
481
+ }
482
+ mergeHiddenColumnsWithVisibleOrder(sourceColumns) {
483
+ const visibleColumns = this.internalProps.layoutMap.columnObjects.map((column => column.define));
484
+ let visibleIndex = 0;
485
+ return sourceColumns.map((column => {
486
+ if (!0 === column.hide) return column;
487
+ const nextVisibleColumn = visibleColumns[visibleIndex];
488
+ return visibleIndex += 1, null != nextVisibleColumn ? nextVisibleColumn : column;
489
+ }));
493
490
  }
494
491
  changeRecordOrder(sourceIndex, targetIndex) {
495
492
  this.transpose ? (sourceIndex = this.getRecordShowIndexByCell(sourceIndex, 0), targetIndex = this.getRecordShowIndexByCell(targetIndex, 0)) : (sourceIndex = this.getRecordShowIndexByCell(0, sourceIndex),