@visactor/vtable 1.22.0 → 1.22.2

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 (121) hide show
  1. package/cjs/ListTable.d.ts +1 -0
  2. package/cjs/ListTable.js +26 -6
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/core/BaseTable.d.ts +4 -0
  5. package/cjs/core/BaseTable.js +23 -1
  6. package/cjs/core/BaseTable.js.map +1 -1
  7. package/cjs/core/utils/get-cell-position.d.ts +2 -0
  8. package/cjs/core/utils/get-cell-position.js +29 -2
  9. package/cjs/core/utils/get-cell-position.js.map +1 -1
  10. package/cjs/event/event.d.ts +1 -1
  11. package/cjs/event/event.js +5 -4
  12. package/cjs/event/event.js.map +1 -1
  13. package/cjs/event/helper.js +3 -1
  14. package/cjs/event/helper.js.map +1 -1
  15. package/cjs/event/listener/container-dom.js +3 -3
  16. package/cjs/event/listener/container-dom.js.map +1 -1
  17. package/cjs/event/listener/table-group.js +1 -1
  18. package/cjs/event/listener/table-group.js.map +1 -1
  19. package/cjs/event/scroll.d.ts +1 -1
  20. package/cjs/event/scroll.js +4 -4
  21. package/cjs/event/scroll.js.map +1 -1
  22. package/cjs/index.d.ts +1 -1
  23. package/cjs/index.js +1 -1
  24. package/cjs/index.js.map +1 -1
  25. package/cjs/layout/row-height-map.d.ts +2 -2
  26. package/cjs/layout/row-height-map.js +27 -28
  27. package/cjs/layout/row-height-map.js.map +1 -1
  28. package/cjs/layout/simple-header-layout.js +18 -7
  29. package/cjs/layout/simple-header-layout.js.map +1 -1
  30. package/cjs/plugins/custom-cell-style.js +1 -1
  31. package/cjs/scenegraph/component/cell-mover.js +3 -3
  32. package/cjs/scenegraph/component/cell-mover.js.map +1 -1
  33. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +4 -4
  34. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  35. package/cjs/scenegraph/layout/compute-col-width.js +5 -2
  36. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  37. package/cjs/scenegraph/scenegraph.js +5 -3
  38. package/cjs/scenegraph/scenegraph.js.map +1 -1
  39. package/cjs/state/cell-move/index.d.ts +1 -1
  40. package/cjs/state/cell-move/index.js +24 -15
  41. package/cjs/state/cell-move/index.js.map +1 -1
  42. package/cjs/state/resize/update-resize-column.js +6 -1
  43. package/cjs/state/resize/update-resize-column.js.map +1 -1
  44. package/cjs/state/resize/update-resize-row.js +6 -1
  45. package/cjs/state/resize/update-resize-row.js.map +1 -1
  46. package/cjs/state/state.d.ts +2 -1
  47. package/cjs/state/state.js +7 -5
  48. package/cjs/state/state.js.map +1 -1
  49. package/cjs/tools/debounce.js +3 -3
  50. package/cjs/tools/debounce.js.map +1 -1
  51. package/cjs/tools/helper.d.ts +2 -1
  52. package/cjs/tools/helper.js.map +1 -1
  53. package/cjs/ts-types/base-table.d.ts +5 -1
  54. package/cjs/ts-types/base-table.js.map +1 -1
  55. package/cjs/ts-types/events.d.ts +4 -0
  56. package/cjs/ts-types/events.js.map +1 -1
  57. package/cjs/ts-types/table-engine.d.ts +1 -0
  58. package/cjs/ts-types/table-engine.js.map +1 -1
  59. package/cjs/vrender.js.map +1 -1
  60. package/dist/vtable.js +296 -128
  61. package/dist/vtable.min.js +2 -2
  62. package/es/ListTable.d.ts +1 -0
  63. package/es/ListTable.js +26 -6
  64. package/es/ListTable.js.map +1 -1
  65. package/es/core/BaseTable.d.ts +4 -0
  66. package/es/core/BaseTable.js +24 -2
  67. package/es/core/BaseTable.js.map +1 -1
  68. package/es/core/utils/get-cell-position.d.ts +2 -0
  69. package/es/core/utils/get-cell-position.js +26 -0
  70. package/es/core/utils/get-cell-position.js.map +1 -1
  71. package/es/event/event.d.ts +1 -1
  72. package/es/event/event.js +5 -4
  73. package/es/event/event.js.map +1 -1
  74. package/es/event/helper.js +3 -1
  75. package/es/event/helper.js.map +1 -1
  76. package/es/event/listener/container-dom.js +3 -3
  77. package/es/event/listener/container-dom.js.map +1 -1
  78. package/es/event/listener/table-group.js +1 -1
  79. package/es/event/listener/table-group.js.map +1 -1
  80. package/es/event/scroll.d.ts +1 -1
  81. package/es/event/scroll.js +5 -3
  82. package/es/event/scroll.js.map +1 -1
  83. package/es/index.d.ts +1 -1
  84. package/es/index.js +1 -1
  85. package/es/index.js.map +1 -1
  86. package/es/layout/row-height-map.d.ts +2 -2
  87. package/es/layout/row-height-map.js +27 -28
  88. package/es/layout/row-height-map.js.map +1 -1
  89. package/es/layout/simple-header-layout.js +18 -7
  90. package/es/layout/simple-header-layout.js.map +1 -1
  91. package/es/plugins/custom-cell-style.js +1 -1
  92. package/es/scenegraph/component/cell-mover.js +3 -3
  93. package/es/scenegraph/component/cell-mover.js.map +1 -1
  94. package/es/scenegraph/graphic/contributions/chart-render-helper.js +5 -5
  95. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  96. package/es/scenegraph/layout/compute-col-width.js +5 -2
  97. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  98. package/es/scenegraph/scenegraph.js +5 -3
  99. package/es/scenegraph/scenegraph.js.map +1 -1
  100. package/es/state/cell-move/index.d.ts +1 -1
  101. package/es/state/cell-move/index.js +24 -15
  102. package/es/state/cell-move/index.js.map +1 -1
  103. package/es/state/resize/update-resize-column.js +6 -1
  104. package/es/state/resize/update-resize-column.js.map +1 -1
  105. package/es/state/resize/update-resize-row.js +6 -1
  106. package/es/state/resize/update-resize-row.js.map +1 -1
  107. package/es/state/state.d.ts +2 -1
  108. package/es/state/state.js +7 -5
  109. package/es/state/state.js.map +1 -1
  110. package/es/tools/debounce.js +4 -2
  111. package/es/tools/debounce.js.map +1 -1
  112. package/es/tools/helper.d.ts +2 -1
  113. package/es/tools/helper.js.map +1 -1
  114. package/es/ts-types/base-table.d.ts +5 -1
  115. package/es/ts-types/base-table.js.map +1 -1
  116. package/es/ts-types/events.d.ts +4 -0
  117. package/es/ts-types/events.js.map +1 -1
  118. package/es/ts-types/table-engine.d.ts +1 -0
  119. package/es/ts-types/table-engine.js.map +1 -1
  120. package/es/vrender.js.map +1 -1
  121. package/package.json +8 -8
@@ -20,6 +20,7 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
20
20
  get recordsCount(): number;
21
21
  updateColumns(columns: ColumnsDefine, options?: {
22
22
  clearColWidthCache?: boolean;
23
+ clearRowHeightCache?: boolean;
23
24
  }): void;
24
25
  private _recreateSceneForStateChange;
25
26
  addColumns(toAddColumns: ColumnDefine[], colIndex?: number, isMaintainArrayData?: boolean): void;
package/cjs/ListTable.js CHANGED
@@ -84,7 +84,10 @@ class ListTable extends core_1.BaseTable {
84
84
  get recordsCount() {
85
85
  return this.dataSource.records.length;
86
86
  }
87
- updateColumns(columns, options) {
87
+ updateColumns(columns, options = {
88
+ clearColWidthCache: !1,
89
+ clearRowHeightCache: !0
90
+ }) {
88
91
  var _a, _b, _c, _d;
89
92
  this.scenegraph.clearCells();
90
93
  const oldHoverState = {
@@ -97,7 +100,7 @@ class ListTable extends core_1.BaseTable {
97
100
  this._hasAutoImageColumn = void 0, this.refreshHeader(), null === (_b = (_a = this.dataSource).updateColumns) || void 0 === _b || _b.call(_a, this.internalProps.columns),
98
101
  this.records && (0, tableHelper_1.checkHasAggregationOnColumnDefine)(this.internalProps.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),
99
102
  this.internalProps.useOneRowHeightFillAll = !1, this.headerStyleCache = new Map,
100
- this.bodyStyleCache = new Map, this.bodyBottomStyleCache = new Map, this.scenegraph.createSceneGraph(),
103
+ this.bodyStyleCache = new Map, this.bodyBottomStyleCache = new Map, this.scenegraph.createSceneGraph(!(null == options ? void 0 : options.clearRowHeightCache)),
101
104
  this.stateManager.updateHoverPos(oldHoverState.col, oldHoverState.row), this.renderAsync(),
102
105
  this.eventManager.updateEventBinder();
103
106
  }
@@ -115,16 +118,24 @@ class ListTable extends core_1.BaseTable {
115
118
  this.renderAsync(), this.eventManager.updateEventBinder();
116
119
  }
117
120
  addColumns(toAddColumns, colIndex, isMaintainArrayData = !0) {
121
+ var _a;
118
122
  const columns = this.options.columns;
119
- if (void 0 === colIndex ? (colIndex = columns.length, columns.push(...toAddColumns)) : columns.splice(colIndex, 0, ...toAddColumns),
120
- isMaintainArrayData) {
123
+ void 0 === colIndex ? (colIndex = columns.length, columns.push(...toAddColumns)) : columns.splice(colIndex, 0, ...toAddColumns);
124
+ for (let i = 0; i < toAddColumns.length; i++) this.colWidthsMap.addAndReorder(colIndex + i, null !== (_a = toAddColumns[i].width) && void 0 !== _a ? _a : this.internalProps.defaultColWidth);
125
+ this.internalProps._colRangeWidthsMap.clear();
126
+ const resizedColIndexs = Array.from(this.internalProps._widthResizedColMap.keys());
127
+ for (let i = 0; i < resizedColIndexs.length; i++) resizedColIndexs[i] >= colIndex && (this.internalProps._widthResizedColMap.delete(resizedColIndexs[i]),
128
+ this.internalProps._widthResizedColMap.add(resizedColIndexs[i] + toAddColumns.length));
129
+ if (isMaintainArrayData) {
121
130
  for (let i = 0; i < columns.length; i++) columns[i].field = i;
122
131
  for (let i = 0; i < this.records.length; i++) {
123
132
  const record = this.records[i];
124
133
  Array.isArray(record) && record.splice(colIndex, 0, ...Array(toAddColumns.length).fill(void 0));
125
134
  }
126
135
  }
127
- this.updateColumns(columns), this.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.ADD_COLUMN, {
136
+ this.updateColumns(columns, {
137
+ clearRowHeightCache: !1
138
+ }), this.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.ADD_COLUMN, {
128
139
  columnIndex: colIndex,
129
140
  columnCount: toAddColumns.length,
130
141
  columns: columns
@@ -134,12 +145,21 @@ class ListTable extends core_1.BaseTable {
134
145
  const columns = this.options.columns;
135
146
  deleteColIndexs.sort(((a, b) => b - a));
136
147
  for (let i = 0; i < deleteColIndexs.length; i++) if (columns.splice(deleteColIndexs[i], 1),
148
+ this.colWidthsMap.delAndReorder(deleteColIndexs[i]), this.internalProps._widthResizedColMap.delete(deleteColIndexs[i]),
137
149
  isMaintainArrayData) for (let j = 0; j < this.records.length; j++) {
138
150
  const record = this.records[j];
139
151
  Array.isArray(record) && record.splice(deleteColIndexs[i], 1);
140
152
  }
153
+ this.internalProps._colRangeWidthsMap.clear();
154
+ const resizedColIndexs = Array.from(this.internalProps._widthResizedColMap.keys());
155
+ for (let i = 0; i < resizedColIndexs.length; i++) for (let j = 0; j < deleteColIndexs.length; j++) if (resizedColIndexs[i] > deleteColIndexs[j]) {
156
+ this.internalProps._widthResizedColMap.delete(resizedColIndexs[i]), this.internalProps._widthResizedColMap.add(resizedColIndexs[i] - (deleteColIndexs.length - j));
157
+ break;
158
+ }
141
159
  if (isMaintainArrayData) for (let i = 0; i < columns.length; i++) columns[i].field = i;
142
- this.updateColumns(columns), this.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DELETE_COLUMN, {
160
+ this.updateColumns(columns, {
161
+ clearRowHeightCache: !1
162
+ }), this.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DELETE_COLUMN, {
143
163
  deleteColIndexs: deleteColIndexs,
144
164
  columns: columns
145
165
  });