@visactor/vtable 1.26.3-alpha.0 → 1.26.4-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 (91) hide show
  1. package/cjs/ListTable.d.ts +1 -0
  2. package/cjs/ListTable.js +25 -4
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotTable.js +7 -6
  5. package/cjs/PivotTable.js.map +1 -1
  6. package/cjs/body-helper/style.js +2 -1
  7. package/cjs/core/BaseTable.js +9 -8
  8. package/cjs/core/BaseTable.js.map +1 -1
  9. package/cjs/core/FouseInput.js +1 -2
  10. package/cjs/core/tableHelper.d.ts +2 -0
  11. package/cjs/core/tableHelper.js +13 -8
  12. package/cjs/core/tableHelper.js.map +1 -1
  13. package/cjs/data/CachedDataSource.d.ts +1 -0
  14. package/cjs/data/CachedDataSource.js +22 -0
  15. package/cjs/data/CachedDataSource.js.map +1 -1
  16. package/cjs/dataset/DataStatistics.js +2 -1
  17. package/cjs/dataset/flatDataToObject.js +1 -2
  18. package/cjs/event/EventHandler.js +1 -1
  19. package/cjs/event/EventTarget.js +1 -1
  20. package/cjs/event/drill.js +1 -1
  21. package/cjs/event/event.js +1 -1
  22. package/cjs/layout/pivot-header-layout.d.ts +2 -2
  23. package/cjs/layout/pivot-header-layout.js +1 -0
  24. package/cjs/plugins/interface.js +1 -2
  25. package/cjs/scenegraph/group-creater/cell-helper.d.ts +1 -1
  26. package/cjs/scenegraph/group-creater/cell-helper.js +5 -5
  27. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  28. package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
  29. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +3 -2
  30. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  31. package/cjs/scenegraph/group-creater/column-helper.js +9 -6
  32. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  33. package/cjs/scenegraph/layout/frozen.js +7 -3
  34. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  35. package/cjs/scenegraph/scenegraph.js +23 -14
  36. package/cjs/scenegraph/scenegraph.js.map +1 -1
  37. package/cjs/scenegraph/utils/padding.d.ts +5 -2
  38. package/cjs/scenegraph/utils/padding.js +16 -13
  39. package/cjs/scenegraph/utils/padding.js.map +1 -1
  40. package/cjs/scenegraph/utils/text-icon-layout.js +4 -4
  41. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  42. package/cjs/state/state.js +1 -1
  43. package/cjs/themes/ARCO.js +1 -1
  44. package/cjs/themes/BRIGHT.js +1 -1
  45. package/dist/vtable.js +239 -89
  46. package/dist/vtable.min.js +1 -1
  47. package/es/ListTable.d.ts +1 -0
  48. package/es/ListTable.js +26 -6
  49. package/es/ListTable.js.map +1 -1
  50. package/es/PivotTable.js +7 -6
  51. package/es/PivotTable.js.map +1 -1
  52. package/es/body-helper/style.js +2 -1
  53. package/es/core/BaseTable.js +7 -7
  54. package/es/core/BaseTable.js.map +1 -1
  55. package/es/core/FouseInput.js +1 -2
  56. package/es/core/tableHelper.d.ts +2 -0
  57. package/es/core/tableHelper.js +11 -7
  58. package/es/core/tableHelper.js.map +1 -1
  59. package/es/data/CachedDataSource.d.ts +1 -0
  60. package/es/data/CachedDataSource.js +22 -0
  61. package/es/data/CachedDataSource.js.map +1 -1
  62. package/es/dataset/DataStatistics.js +2 -1
  63. package/es/dataset/flatDataToObject.js +1 -2
  64. package/es/event/EventHandler.js +1 -1
  65. package/es/event/EventTarget.js +1 -1
  66. package/es/event/drill.js +1 -1
  67. package/es/event/event.js +1 -1
  68. package/es/layout/pivot-header-layout.d.ts +2 -2
  69. package/es/layout/pivot-header-layout.js +2 -1
  70. package/es/plugins/interface.js +1 -2
  71. package/es/scenegraph/group-creater/cell-helper.d.ts +1 -1
  72. package/es/scenegraph/group-creater/cell-helper.js +5 -5
  73. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  74. package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
  75. package/es/scenegraph/group-creater/cell-type/text-cell.js +3 -2
  76. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  77. package/es/scenegraph/group-creater/column-helper.js +9 -6
  78. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  79. package/es/scenegraph/layout/frozen.js +7 -3
  80. package/es/scenegraph/layout/frozen.js.map +1 -1
  81. package/es/scenegraph/scenegraph.js +23 -11
  82. package/es/scenegraph/scenegraph.js.map +1 -1
  83. package/es/scenegraph/utils/padding.d.ts +5 -2
  84. package/es/scenegraph/utils/padding.js +13 -9
  85. package/es/scenegraph/utils/padding.js.map +1 -1
  86. package/es/scenegraph/utils/text-icon-layout.js +4 -4
  87. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  88. package/es/state/state.js +1 -1
  89. package/es/themes/ARCO.js +1 -1
  90. package/es/themes/BRIGHT.js +1 -1
  91. package/package.json +4 -4
package/es/ListTable.d.ts CHANGED
@@ -45,6 +45,7 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
45
45
  clearColWidthCache?: boolean;
46
46
  clearRowHeightCache?: boolean;
47
47
  }): Promise<unknown>;
48
+ private _refreshCurrentRecordsForOptionUpdate;
48
49
  updatePagination(pagination: IPagination): void;
49
50
  refreshHeader(): void;
50
51
  refreshRowColCount(): void;
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 } from "./core/tableHelper";
7
+ import { _setRecords, checkHasAggregationOnColumnDefine, generateAggregationForColumn, getHierarchyExpandLevel, getListTableRowHierarchyType } 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 { DataSource } from "./data";
33
+ import { CachedDataSource, DataSource } from "./data";
34
34
 
35
35
  import { getValueFromDeepArray } from "./data/DataSource";
36
36
 
@@ -376,9 +376,10 @@ export class ListTable extends BaseTable {
376
376
  clearRowHeightCache: !0
377
377
  }) {
378
378
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
379
- const internalProps = this.internalProps;
380
- if (this.pluginManager.removeOrAddPlugins(options.plugins), super.updateOption(options, updateConfig),
381
- internalProps.frozenColDragHeaderMode = null !== (_b = null === (_a = options.dragOrder) || void 0 === _a ? void 0 : _a.frozenColDragHeaderMode) && void 0 !== _b ? _b : options.frozenColDragHeaderMode,
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,
382
383
  this.pagination = options.pagination, internalProps.sortState = options.sortState,
383
384
  internalProps.dataConfig = this.internalProps.groupBy ? getGroupByDataConfig(this.internalProps.groupBy, options.addRecordRule) : {
384
385
  addRecordRule: options.addRecordRule
@@ -392,7 +393,7 @@ export class ListTable extends BaseTable {
392
393
  releaseObj instanceof DataSource ? releaseObj.updateColumns(this.internalProps.columns) : (null === (_g = null == releaseObj ? void 0 : releaseObj.release) || void 0 === _g || _g.call(releaseObj),
393
394
  internalProps.releaseList.splice(i, 1));
394
395
  }
395
- if (options.dataSource && this.dataSource !== options.dataSource ? this.dataSource = options.dataSource : options.records ? this.setRecords(options.records, {
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, {
396
397
  sortState: options.sortState
397
398
  }) : (this.refreshRowColCount(), this._resetFrozenColCount(), this.scenegraph.createSceneGraph(),
398
399
  this.render()), options.title) {
@@ -409,6 +410,25 @@ export class ListTable extends BaseTable {
409
410
  setTimeout(resolve, 0);
410
411
  }));
411
412
  }
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
+ }
412
432
  updatePagination(pagination) {
413
433
  this.pagination && ("number" == typeof pagination.currentPage && pagination.currentPage >= 0 && (this.pagination.currentPage = pagination.currentPage),
414
434
  pagination.perPageCount && (this.pagination.perPageCount = pagination.perPageCount || this.pagination.perPageCount),