@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
package/es/ListTable.d.ts CHANGED
@@ -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/es/ListTable.js CHANGED
@@ -91,7 +91,10 @@ export class ListTable extends BaseTable {
91
91
  get recordsCount() {
92
92
  return this.dataSource.records.length;
93
93
  }
94
- updateColumns(columns, options) {
94
+ updateColumns(columns, options = {
95
+ clearColWidthCache: !1,
96
+ clearRowHeightCache: !0
97
+ }) {
95
98
  var _a, _b, _c, _d;
96
99
  this.scenegraph.clearCells();
97
100
  const oldHoverState = {
@@ -104,7 +107,7 @@ export class ListTable extends BaseTable {
104
107
  this._hasAutoImageColumn = void 0, this.refreshHeader(), null === (_b = (_a = this.dataSource).updateColumns) || void 0 === _b || _b.call(_a, this.internalProps.columns),
105
108
  this.records && 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),
106
109
  this.internalProps.useOneRowHeightFillAll = !1, this.headerStyleCache = new Map,
107
- this.bodyStyleCache = new Map, this.bodyBottomStyleCache = new Map, this.scenegraph.createSceneGraph(),
110
+ this.bodyStyleCache = new Map, this.bodyBottomStyleCache = new Map, this.scenegraph.createSceneGraph(!(null == options ? void 0 : options.clearRowHeightCache)),
108
111
  this.stateManager.updateHoverPos(oldHoverState.col, oldHoverState.row), this.renderAsync(),
109
112
  this.eventManager.updateEventBinder();
110
113
  }
@@ -122,16 +125,24 @@ export class ListTable extends BaseTable {
122
125
  this.renderAsync(), this.eventManager.updateEventBinder();
123
126
  }
124
127
  addColumns(toAddColumns, colIndex, isMaintainArrayData = !0) {
128
+ var _a;
125
129
  const columns = this.options.columns;
126
- if (void 0 === colIndex ? (colIndex = columns.length, columns.push(...toAddColumns)) : columns.splice(colIndex, 0, ...toAddColumns),
127
- isMaintainArrayData) {
130
+ void 0 === colIndex ? (colIndex = columns.length, columns.push(...toAddColumns)) : columns.splice(colIndex, 0, ...toAddColumns);
131
+ 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);
132
+ this.internalProps._colRangeWidthsMap.clear();
133
+ const resizedColIndexs = Array.from(this.internalProps._widthResizedColMap.keys());
134
+ for (let i = 0; i < resizedColIndexs.length; i++) resizedColIndexs[i] >= colIndex && (this.internalProps._widthResizedColMap.delete(resizedColIndexs[i]),
135
+ this.internalProps._widthResizedColMap.add(resizedColIndexs[i] + toAddColumns.length));
136
+ if (isMaintainArrayData) {
128
137
  for (let i = 0; i < columns.length; i++) columns[i].field = i;
129
138
  for (let i = 0; i < this.records.length; i++) {
130
139
  const record = this.records[i];
131
140
  Array.isArray(record) && record.splice(colIndex, 0, ...Array(toAddColumns.length).fill(void 0));
132
141
  }
133
142
  }
134
- this.updateColumns(columns), this.fireListeners(TABLE_EVENT_TYPE.ADD_COLUMN, {
143
+ this.updateColumns(columns, {
144
+ clearRowHeightCache: !1
145
+ }), this.fireListeners(TABLE_EVENT_TYPE.ADD_COLUMN, {
135
146
  columnIndex: colIndex,
136
147
  columnCount: toAddColumns.length,
137
148
  columns: columns
@@ -141,12 +152,21 @@ export class ListTable extends BaseTable {
141
152
  const columns = this.options.columns;
142
153
  deleteColIndexs.sort(((a, b) => b - a));
143
154
  for (let i = 0; i < deleteColIndexs.length; i++) if (columns.splice(deleteColIndexs[i], 1),
155
+ this.colWidthsMap.delAndReorder(deleteColIndexs[i]), this.internalProps._widthResizedColMap.delete(deleteColIndexs[i]),
144
156
  isMaintainArrayData) for (let j = 0; j < this.records.length; j++) {
145
157
  const record = this.records[j];
146
158
  Array.isArray(record) && record.splice(deleteColIndexs[i], 1);
147
159
  }
160
+ this.internalProps._colRangeWidthsMap.clear();
161
+ const resizedColIndexs = Array.from(this.internalProps._widthResizedColMap.keys());
162
+ for (let i = 0; i < resizedColIndexs.length; i++) for (let j = 0; j < deleteColIndexs.length; j++) if (resizedColIndexs[i] > deleteColIndexs[j]) {
163
+ this.internalProps._widthResizedColMap.delete(resizedColIndexs[i]), this.internalProps._widthResizedColMap.add(resizedColIndexs[i] - (deleteColIndexs.length - j));
164
+ break;
165
+ }
148
166
  if (isMaintainArrayData) for (let i = 0; i < columns.length; i++) columns[i].field = i;
149
- this.updateColumns(columns), this.fireListeners(TABLE_EVENT_TYPE.DELETE_COLUMN, {
167
+ this.updateColumns(columns, {
168
+ clearRowHeightCache: !1
169
+ }), this.fireListeners(TABLE_EVENT_TYPE.DELETE_COLUMN, {
150
170
  deleteColIndexs: deleteColIndexs,
151
171
  columns: columns
152
172
  });