@visactor/vtable 1.18.2-alpha.1 → 1.18.2-alpha.3

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 (85) hide show
  1. package/cjs/ListTable.d.ts +3 -1
  2. package/cjs/ListTable.js +19 -14
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/core/BaseTable.d.ts +1 -0
  5. package/cjs/core/BaseTable.js +21 -17
  6. package/cjs/core/BaseTable.js.map +1 -1
  7. package/cjs/core/tableHelper.js +3 -3
  8. package/cjs/core/tableHelper.js.map +1 -1
  9. package/cjs/data/DataSource.js +2 -1
  10. package/cjs/data/DataSource.js.map +1 -1
  11. package/cjs/event/event.d.ts +3 -2
  12. package/cjs/event/event.js +1 -1
  13. package/cjs/event/event.js.map +1 -1
  14. package/cjs/event/listener/container-dom.js +28 -8
  15. package/cjs/event/listener/container-dom.js.map +1 -1
  16. package/cjs/event/listener/table-group.js +3 -39
  17. package/cjs/event/listener/table-group.js.map +1 -1
  18. package/cjs/event/listener/touch.js +24 -20
  19. package/cjs/event/listener/touch.js.map +1 -1
  20. package/cjs/index.d.ts +1 -1
  21. package/cjs/index.js +1 -1
  22. package/cjs/index.js.map +1 -1
  23. package/cjs/layout/pivot-header-layout.js +2 -2
  24. package/cjs/layout/pivot-header-layout.js.map +1 -1
  25. package/cjs/plugins/interface.d.ts +1 -2
  26. package/cjs/plugins/interface.js.map +1 -1
  27. package/cjs/plugins/plugin-manager.d.ts +2 -2
  28. package/cjs/plugins/plugin-manager.js +13 -17
  29. package/cjs/plugins/plugin-manager.js.map +1 -1
  30. package/cjs/scenegraph/group-creater/cell-helper.js +6 -1
  31. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  32. package/cjs/scenegraph/group-creater/column-helper.js +2 -1
  33. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  34. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  35. package/cjs/scenegraph/layout/frozen.js +31 -12
  36. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  37. package/cjs/scenegraph/scenegraph.js +6 -4
  38. package/cjs/scenegraph/scenegraph.js.map +1 -1
  39. package/cjs/ts-types/base-table.d.ts +2 -0
  40. package/cjs/ts-types/base-table.js.map +1 -1
  41. package/cjs/vrender.js.map +1 -1
  42. package/dist/vtable.js +308 -175
  43. package/dist/vtable.min.js +2 -2
  44. package/es/ListTable.d.ts +3 -1
  45. package/es/ListTable.js +20 -13
  46. package/es/ListTable.js.map +1 -1
  47. package/es/core/BaseTable.d.ts +1 -0
  48. package/es/core/BaseTable.js +21 -17
  49. package/es/core/BaseTable.js.map +1 -1
  50. package/es/core/tableHelper.js +3 -3
  51. package/es/core/tableHelper.js.map +1 -1
  52. package/es/data/DataSource.js +2 -1
  53. package/es/data/DataSource.js.map +1 -1
  54. package/es/event/event.d.ts +3 -2
  55. package/es/event/event.js +2 -2
  56. package/es/event/event.js.map +1 -1
  57. package/es/event/listener/container-dom.js +30 -8
  58. package/es/event/listener/container-dom.js.map +1 -1
  59. package/es/event/listener/table-group.js +4 -40
  60. package/es/event/listener/table-group.js.map +1 -1
  61. package/es/event/listener/touch.js +25 -19
  62. package/es/event/listener/touch.js.map +1 -1
  63. package/es/index.d.ts +1 -1
  64. package/es/index.js +1 -1
  65. package/es/index.js.map +1 -1
  66. package/es/layout/pivot-header-layout.js +2 -2
  67. package/es/layout/pivot-header-layout.js.map +1 -1
  68. package/es/plugins/interface.d.ts +1 -2
  69. package/es/plugins/interface.js.map +1 -1
  70. package/es/plugins/plugin-manager.d.ts +2 -2
  71. package/es/plugins/plugin-manager.js +13 -17
  72. package/es/plugins/plugin-manager.js.map +1 -1
  73. package/es/scenegraph/group-creater/cell-helper.js +6 -1
  74. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  75. package/es/scenegraph/group-creater/column-helper.js +2 -1
  76. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  77. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  78. package/es/scenegraph/layout/frozen.js +31 -12
  79. package/es/scenegraph/layout/frozen.js.map +1 -1
  80. package/es/scenegraph/scenegraph.js +6 -4
  81. package/es/scenegraph/scenegraph.js.map +1 -1
  82. package/es/ts-types/base-table.d.ts +2 -0
  83. package/es/ts-types/base-table.js.map +1 -1
  84. package/es/vrender.js.map +1 -1
  85. package/package.json +7 -7
@@ -36,7 +36,9 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
36
36
  getCellOriginRecord(col: number, row: number): MaybePromiseOrUndefined;
37
37
  getCellRawRecord(col: number, row: number): MaybePromiseOrUndefined;
38
38
  _canResizeColumn(col: number, row: number): boolean;
39
- updateOption(options: ListTableConstructorOptions): Promise<unknown>;
39
+ updateOption(options: ListTableConstructorOptions, updateConfig?: {
40
+ keepData?: boolean;
41
+ }): Promise<unknown>;
40
42
  updatePagination(pagination: IPagination): void;
41
43
  refreshHeader(): void;
42
44
  refreshRowColCount(): void;
package/cjs/ListTable.js CHANGED
@@ -29,7 +29,7 @@ Object.defineProperty(exports, "__esModule", {
29
29
  value: !0
30
30
  }), exports.ListTable = void 0;
31
31
 
32
- const ts_types_1 = require("./ts-types"), layout_1 = require("./layout"), vutils_1 = require("@visactor/vutils"), tableHelper_1 = require("./core/tableHelper"), core_1 = require("./core"), TABLE_EVENT_TYPE_1 = require("./core/TABLE_EVENT_TYPE"), env_1 = require("./tools/env"), editors = __importStar(require("./edit/editors")), edit_manager_1 = require("./edit/edit-manager"), compute_row_height_1 = require("./scenegraph/layout/compute-row-height"), util_1 = require("./tools/util"), radio_1 = require("./state/radio/radio"), vutils_extension_1 = require("@visactor/vutils-extension"), checkbox_1 = require("./state/checkbox/checkbox"), factory_1 = require("./core/factory"), group_helper_1 = require("./core/group-helper"), record_helper_1 = require("./core/record-helper"), update_row_1 = require("./tools/update-row"), chart_render_helper_1 = require("./scenegraph/graphic/contributions/chart-render-helper");
32
+ const ts_types_1 = require("./ts-types"), layout_1 = require("./layout"), vutils_1 = require("@visactor/vutils"), tableHelper_1 = require("./core/tableHelper"), core_1 = require("./core"), TABLE_EVENT_TYPE_1 = require("./core/TABLE_EVENT_TYPE"), env_1 = require("./tools/env"), editors = __importStar(require("./edit/editors")), edit_manager_1 = require("./edit/edit-manager"), compute_row_height_1 = require("./scenegraph/layout/compute-row-height"), util_1 = require("./tools/util"), radio_1 = require("./state/radio/radio"), vutils_extension_1 = require("@visactor/vutils-extension"), checkbox_1 = require("./state/checkbox/checkbox"), factory_1 = require("./core/factory"), group_helper_1 = require("./core/group-helper"), data_1 = require("./data"), record_helper_1 = require("./core/record-helper"), update_row_1 = require("./tools/update-row"), chart_render_helper_1 = require("./scenegraph/graphic/contributions/chart-render-helper");
33
33
 
34
34
  class ListTable extends core_1.BaseTable {
35
35
  constructor(container, options) {
@@ -85,6 +85,7 @@ class ListTable extends core_1.BaseTable {
85
85
  }
86
86
  updateColumns(columns) {
87
87
  var _a, _b, _c, _d;
88
+ this.scenegraph.clearCells();
88
89
  const oldHoverState = {
89
90
  col: this.stateManager.hover.cellPos.col,
90
91
  row: this.stateManager.hover.cellPos.row
@@ -94,7 +95,7 @@ class ListTable extends core_1.BaseTable {
94
95
  this.internalProps.headerHelper.setTableColumnsEditor(), this._hasAutoImageColumn = void 0,
95
96
  this.refreshHeader(), null === (_b = (_a = this.dataSource).updateColumns) || void 0 === _b || _b.call(_a, this.internalProps.columns),
96
97
  this.records && (0, tableHelper_1.checkHasAggregationOnColumnDefine)(columns) && this.dataSource.processRecords(null !== (_d = null === (_c = this.dataSource.dataSourceObj) || void 0 === _c ? void 0 : _c.records) && void 0 !== _d ? _d : this.dataSource.dataSourceObj),
97
- this.internalProps.useOneRowHeightFillAll = !1, this.scenegraph.clearCells(), this.headerStyleCache = new Map,
98
+ this.internalProps.useOneRowHeightFillAll = !1, this.headerStyleCache = new Map,
98
99
  this.bodyStyleCache = new Map, this.bodyBottomStyleCache = new Map, this.scenegraph.createSceneGraph(),
99
100
  this.stateManager.updateHoverPos(oldHoverState.col, oldHoverState.row), this.renderAsync(),
100
101
  this.eventManager.updateEventBinder();
@@ -139,7 +140,7 @@ class ListTable extends core_1.BaseTable {
139
140
  if (this.options.groupBy) {
140
141
  const record = table.getCellRawRecord(col, row);
141
142
  if (null == record ? void 0 : record.vtableMerge) return "";
142
- value = this.dataSource.getGroupSeriesNumber(row - this.columnHeaderLevelCount);
143
+ table.internalProps.layoutMap.isAggregation(col, row) || (value = this.dataSource.getGroupSeriesNumber(row - this.columnHeaderLevelCount));
143
144
  } else value = row - this.columnHeaderLevelCount + 1;
144
145
  const {format: format} = table.internalProps.layoutMap.getSeriesNumberBody(col, row);
145
146
  return "function" == typeof format ? format(col, row, this, value) : value;
@@ -242,8 +243,10 @@ class ListTable extends core_1.BaseTable {
242
243
  }
243
244
  return ifCan;
244
245
  }
245
- updateOption(options) {
246
- var _a, _b, _c, _d, _e, _f, _g, _h;
246
+ updateOption(options, updateConfig = {
247
+ keepData: !1
248
+ }) {
249
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
247
250
  const internalProps = this.internalProps;
248
251
  if (super.updateOption(options), internalProps.frozenColDragHeaderMode = null !== (_b = null === (_a = options.dragOrder) || void 0 === _a ? void 0 : _a.frozenColDragHeaderMode) && void 0 !== _b ? _b : options.frozenColDragHeaderMode,
249
252
  this.pagination = options.pagination, internalProps.sortState = options.sortState,
@@ -255,21 +258,23 @@ class ListTable extends core_1.BaseTable {
255
258
  vutils_1.isValid)(options.groupBy)) && void 0 !== _e && _e, this.internalProps.headerHelper.setTableColumnsEditor(),
256
259
  this.transpose = null !== (_f = options.transpose) && void 0 !== _f && _f, this.refreshHeader(),
257
260
  this.internalProps.useOneRowHeightFillAll = !1, this.internalProps.columnWidthConfig = options.columnWidthConfig,
258
- internalProps.releaseList && (internalProps.releaseList.forEach((releaseObj => {
259
- var _a;
260
- return null === (_a = null == releaseObj ? void 0 : releaseObj.release) || void 0 === _a ? void 0 : _a.call(releaseObj);
261
- })), internalProps.releaseList = null), options.dataSource ? this.dataSource = options.dataSource : options.records ? this.setRecords(options.records, {
261
+ internalProps.releaseList) for (let i = internalProps.releaseList.length - 1; i >= 0; i--) {
262
+ const releaseObj = internalProps.releaseList[i];
263
+ updateConfig.keepData && releaseObj instanceof data_1.DataSource ? releaseObj.updateColumns(this.internalProps.columns) : (null === (_g = null == releaseObj ? void 0 : releaseObj.release) || void 0 === _g || _g.call(releaseObj),
264
+ internalProps.releaseList.splice(i, 1));
265
+ }
266
+ if (options.dataSource && this.dataSource !== options.dataSource ? this.dataSource = options.dataSource : options.records ? this.setRecords(options.records, {
262
267
  sortState: options.sortState
263
- }) : (this._resetFrozenColCount(), this.scenegraph.createSceneGraph(), this.render()),
264
- options.title) {
268
+ }) : (this.refreshRowColCount(), this._resetFrozenColCount(), this.scenegraph.createSceneGraph(),
269
+ this.render()), options.title) {
265
270
  const Title = factory_1.Factory.getComponent("title");
266
271
  internalProps.title = new Title(options.title, this), this.scenegraph.resize();
267
272
  }
268
- if (this.options.emptyTip) if (this.internalProps.emptyTip) null === (_g = this.internalProps.emptyTip) || void 0 === _g || _g.resetVisible(); else {
273
+ if (this.options.emptyTip) if (this.internalProps.emptyTip) null === (_h = this.internalProps.emptyTip) || void 0 === _h || _h.resetVisible(); else {
269
274
  const EmptyTip = factory_1.Factory.getComponent("emptyTip");
270
- this.internalProps.emptyTip = new EmptyTip(this.options.emptyTip, this), null === (_h = this.internalProps.emptyTip) || void 0 === _h || _h.resetVisible();
275
+ this.internalProps.emptyTip = new EmptyTip(this.options.emptyTip, this), null === (_j = this.internalProps.emptyTip) || void 0 === _j || _j.resetVisible();
271
276
  }
272
- return this.pluginManager.updatePlugins(options.plugins), new Promise((resolve => {
277
+ return new Promise((resolve => {
273
278
  setTimeout(resolve, 0);
274
279
  }));
275
280
  }