@visactor/vtable 0.21.4-alpha.4 → 0.22.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 (209) hide show
  1. package/cjs/ListTable.d.ts +2 -4
  2. package/cjs/ListTable.js +37 -28
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotChart.d.ts +1 -0
  5. package/cjs/PivotChart.js +1 -0
  6. package/cjs/PivotChart.js.map +1 -1
  7. package/cjs/PivotTable.d.ts +1 -0
  8. package/cjs/PivotTable.js +13 -4
  9. package/cjs/PivotTable.js.map +1 -1
  10. package/cjs/components/menu/dom/MenuHandler.js.map +1 -1
  11. package/cjs/core/BaseTable.d.ts +14 -9
  12. package/cjs/core/BaseTable.js +44 -33
  13. package/cjs/core/BaseTable.js.map +1 -1
  14. package/cjs/core/row-series-number-helper.d.ts +8 -0
  15. package/cjs/core/row-series-number-helper.js +45 -0
  16. package/cjs/core/row-series-number-helper.js.map +1 -0
  17. package/cjs/core/style.js +2 -1
  18. package/cjs/core/tableHelper.js +1 -1
  19. package/cjs/core/tableHelper.js.map +1 -1
  20. package/cjs/data/CachedDataSource.d.ts +2 -2
  21. package/cjs/data/CachedDataSource.js +5 -5
  22. package/cjs/data/CachedDataSource.js.map +1 -1
  23. package/cjs/data/DataSource.d.ts +6 -2
  24. package/cjs/data/DataSource.js +113 -41
  25. package/cjs/data/DataSource.js.map +1 -1
  26. package/cjs/event/event.js.map +1 -1
  27. package/cjs/event/listener/table-group.js +2 -1
  28. package/cjs/event/listener/table-group.js.map +1 -1
  29. package/cjs/event/media-click.js +1 -2
  30. package/cjs/event/media-click.js.map +1 -1
  31. package/cjs/event/scroll.js +1 -0
  32. package/cjs/header-helper/header-helper.js.map +1 -1
  33. package/cjs/icons.js +14 -0
  34. package/cjs/icons.js.map +1 -1
  35. package/cjs/index.d.ts +1 -1
  36. package/cjs/index.js +1 -1
  37. package/cjs/index.js.map +1 -1
  38. package/cjs/layout/layout-helper.d.ts +1 -0
  39. package/cjs/layout/layout-helper.js +12 -2
  40. package/cjs/layout/layout-helper.js.map +1 -1
  41. package/cjs/layout/pivot-header-layout.d.ts +16 -5
  42. package/cjs/layout/pivot-header-layout.js +102 -46
  43. package/cjs/layout/pivot-header-layout.js.map +1 -1
  44. package/cjs/layout/simple-header-layout.d.ts +17 -4
  45. package/cjs/layout/simple-header-layout.js +170 -61
  46. package/cjs/layout/simple-header-layout.js.map +1 -1
  47. package/cjs/plugins/themes.js +1 -2
  48. package/cjs/scenegraph/component/cell-mover.js +1 -1
  49. package/cjs/scenegraph/component/cell-mover.js.map +1 -1
  50. package/cjs/scenegraph/component/custom.js +1 -1
  51. package/cjs/scenegraph/component/custom.js.map +1 -1
  52. package/cjs/scenegraph/component/menu.js.map +1 -1
  53. package/cjs/scenegraph/group-creater/cell-helper.d.ts +0 -1
  54. package/cjs/scenegraph/group-creater/cell-helper.js +28 -18
  55. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  56. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  57. package/cjs/scenegraph/group-creater/column-helper.js +3 -4
  58. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  59. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +9 -2
  60. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  61. package/cjs/scenegraph/group-creater/progress/proxy.js +1 -1
  62. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  63. package/cjs/scenegraph/layout/compute-col-width.js +2 -2
  64. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  65. package/cjs/scenegraph/layout/compute-row-height.js +2 -2
  66. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  67. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  68. package/cjs/scenegraph/layout/update-row.js +8 -2
  69. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  70. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  71. package/cjs/scenegraph/scenegraph.d.ts +1 -1
  72. package/cjs/scenegraph/scenegraph.js +4 -3
  73. package/cjs/scenegraph/scenegraph.js.map +1 -1
  74. package/cjs/scenegraph/select/update-select-border.d.ts +1 -3
  75. package/cjs/scenegraph/select/update-select-border.js +4 -21
  76. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  77. package/cjs/scenegraph/utils/get-cell-merge.js.map +1 -1
  78. package/cjs/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
  79. package/cjs/state/cell-move/adjust-header.js +3 -4
  80. package/cjs/state/cell-move/adjust-header.js.map +1 -1
  81. package/cjs/state/cell-move/index.js +15 -10
  82. package/cjs/state/cell-move/index.js.map +1 -1
  83. package/cjs/state/hover/is-cell-hover.js.map +1 -1
  84. package/cjs/state/resize/update-resize-column.js.map +1 -1
  85. package/cjs/state/select/update-position.js +33 -6
  86. package/cjs/state/select/update-position.js.map +1 -1
  87. package/cjs/state/state.js +2 -1
  88. package/cjs/state/state.js.map +1 -1
  89. package/cjs/themes/component.js +1 -1
  90. package/cjs/ts-types/base-table.d.ts +15 -6
  91. package/cjs/ts-types/base-table.js.map +1 -1
  92. package/cjs/ts-types/icon.d.ts +4 -2
  93. package/cjs/ts-types/icon.js +3 -2
  94. package/cjs/ts-types/icon.js.map +1 -1
  95. package/cjs/ts-types/list-table/layout-map/api.d.ts +17 -3
  96. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  97. package/cjs/ts-types/new-data-set.d.ts +1 -2
  98. package/cjs/ts-types/new-data-set.js.map +1 -1
  99. package/cjs/ts-types/pivot-table/title.d.ts +5 -5
  100. package/cjs/ts-types/pivot-table/title.js.map +1 -1
  101. package/cjs/ts-types/table-engine.d.ts +30 -3
  102. package/cjs/ts-types/table-engine.js.map +1 -1
  103. package/cjs/vrender.js.map +1 -1
  104. package/dist/vtable.js +1042 -296
  105. package/dist/vtable.min.js +2 -2
  106. package/es/ListTable.d.ts +2 -4
  107. package/es/ListTable.js +37 -28
  108. package/es/ListTable.js.map +1 -1
  109. package/es/PivotChart.d.ts +1 -0
  110. package/es/PivotChart.js +1 -0
  111. package/es/PivotChart.js.map +1 -1
  112. package/es/PivotTable.d.ts +1 -0
  113. package/es/PivotTable.js +13 -4
  114. package/es/PivotTable.js.map +1 -1
  115. package/es/components/menu/dom/MenuHandler.js.map +1 -1
  116. package/es/core/BaseTable.d.ts +14 -9
  117. package/es/core/BaseTable.js +46 -34
  118. package/es/core/BaseTable.js.map +1 -1
  119. package/es/core/row-series-number-helper.d.ts +8 -0
  120. package/es/core/row-series-number-helper.js +14 -0
  121. package/es/core/row-series-number-helper.js.map +1 -0
  122. package/es/core/style.js +2 -1
  123. package/es/core/tableHelper.js +1 -1
  124. package/es/core/tableHelper.js.map +1 -1
  125. package/es/data/CachedDataSource.d.ts +2 -2
  126. package/es/data/CachedDataSource.js +5 -5
  127. package/es/data/CachedDataSource.js.map +1 -1
  128. package/es/data/DataSource.d.ts +6 -2
  129. package/es/data/DataSource.js +113 -41
  130. package/es/data/DataSource.js.map +1 -1
  131. package/es/event/event.js.map +1 -1
  132. package/es/event/listener/table-group.js +3 -2
  133. package/es/event/listener/table-group.js.map +1 -1
  134. package/es/event/media-click.js +1 -2
  135. package/es/event/media-click.js.map +1 -1
  136. package/es/event/scroll.js +2 -1
  137. package/es/header-helper/header-helper.js.map +1 -1
  138. package/es/icons.js +14 -0
  139. package/es/icons.js.map +1 -1
  140. package/es/index.d.ts +1 -1
  141. package/es/index.js +1 -1
  142. package/es/index.js.map +1 -1
  143. package/es/layout/layout-helper.d.ts +1 -0
  144. package/es/layout/layout-helper.js +10 -0
  145. package/es/layout/layout-helper.js.map +1 -1
  146. package/es/layout/pivot-header-layout.d.ts +16 -5
  147. package/es/layout/pivot-header-layout.js +102 -46
  148. package/es/layout/pivot-header-layout.js.map +1 -1
  149. package/es/layout/simple-header-layout.d.ts +17 -4
  150. package/es/layout/simple-header-layout.js +170 -61
  151. package/es/layout/simple-header-layout.js.map +1 -1
  152. package/es/plugins/themes.js +1 -2
  153. package/es/scenegraph/component/cell-mover.js +1 -1
  154. package/es/scenegraph/component/cell-mover.js.map +1 -1
  155. package/es/scenegraph/component/custom.js +1 -1
  156. package/es/scenegraph/component/custom.js.map +1 -1
  157. package/es/scenegraph/component/menu.js.map +1 -1
  158. package/es/scenegraph/group-creater/cell-helper.d.ts +0 -1
  159. package/es/scenegraph/group-creater/cell-helper.js +26 -14
  160. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  161. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  162. package/es/scenegraph/group-creater/column-helper.js +5 -6
  163. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  164. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +6 -2
  165. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  166. package/es/scenegraph/group-creater/progress/proxy.js +1 -1
  167. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  168. package/es/scenegraph/layout/compute-col-width.js +3 -3
  169. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  170. package/es/scenegraph/layout/compute-row-height.js +3 -3
  171. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  172. package/es/scenegraph/layout/update-height.js.map +1 -1
  173. package/es/scenegraph/layout/update-row.js +7 -2
  174. package/es/scenegraph/layout/update-row.js.map +1 -1
  175. package/es/scenegraph/layout/update-width.js.map +1 -1
  176. package/es/scenegraph/scenegraph.d.ts +1 -1
  177. package/es/scenegraph/scenegraph.js +4 -3
  178. package/es/scenegraph/scenegraph.js.map +1 -1
  179. package/es/scenegraph/select/update-select-border.d.ts +1 -3
  180. package/es/scenegraph/select/update-select-border.js +2 -18
  181. package/es/scenegraph/select/update-select-border.js.map +1 -1
  182. package/es/scenegraph/utils/get-cell-merge.js.map +1 -1
  183. package/es/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
  184. package/es/state/cell-move/adjust-header.js +3 -4
  185. package/es/state/cell-move/adjust-header.js.map +1 -1
  186. package/es/state/cell-move/index.js +14 -10
  187. package/es/state/cell-move/index.js.map +1 -1
  188. package/es/state/hover/is-cell-hover.js.map +1 -1
  189. package/es/state/resize/update-resize-column.js.map +1 -1
  190. package/es/state/select/update-position.js +33 -6
  191. package/es/state/select/update-position.js.map +1 -1
  192. package/es/state/state.js +2 -1
  193. package/es/state/state.js.map +1 -1
  194. package/es/themes/component.js +1 -1
  195. package/es/ts-types/base-table.d.ts +15 -6
  196. package/es/ts-types/base-table.js.map +1 -1
  197. package/es/ts-types/icon.d.ts +4 -2
  198. package/es/ts-types/icon.js +3 -2
  199. package/es/ts-types/icon.js.map +1 -1
  200. package/es/ts-types/list-table/layout-map/api.d.ts +17 -3
  201. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  202. package/es/ts-types/new-data-set.d.ts +1 -2
  203. package/es/ts-types/new-data-set.js.map +1 -1
  204. package/es/ts-types/pivot-table/title.d.ts +5 -5
  205. package/es/ts-types/pivot-table/title.js.map +1 -1
  206. package/es/ts-types/table-engine.d.ts +30 -3
  207. package/es/ts-types/table-engine.js.map +1 -1
  208. package/es/vrender.js.map +1 -1
  209. package/package.json +5 -5
package/es/ListTable.d.ts CHANGED
@@ -34,9 +34,7 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
34
34
  getCellOriginRecord(col: number, row: number): MaybePromiseOrUndefined;
35
35
  getCellRawRecord(col: number, row: number): MaybePromiseOrUndefined;
36
36
  _canResizeColumn(col: number, row: number): boolean;
37
- updateOption(options: ListTableConstructorOptions & {
38
- restoreHierarchyState?: boolean;
39
- }): Promise<unknown>;
37
+ updateOption(options: ListTableConstructorOptions): Promise<unknown>;
40
38
  updatePagination(pagination: IPagination): void;
41
39
  refreshHeader(): void;
42
40
  refreshRowColCount(): void;
@@ -49,6 +47,7 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
49
47
  targetSize: number;
50
48
  moveType: "row" | "column";
51
49
  };
50
+ changeRecordOrder(sourceIndex: number, targetIndex: number): void;
52
51
  getCellAddress(findTargetRecord: any | ((record: any) => boolean), field: FieldDef): CellAddress;
53
52
  getCellRangeByField(field: FieldDef, index: number): CellRange | null;
54
53
  getHierarchyState(col: number, row: number): HierarchyState;
@@ -62,7 +61,6 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
62
61
  getCheckboxState(field?: string | number): boolean[] | Record<string | number, boolean>[];
63
62
  getCellCheckboxState(col: number, row: number): boolean;
64
63
  setRecords(records: Array<any>, option?: {
65
- restoreHierarchyState?: boolean;
66
64
  sortState?: SortState | SortState[];
67
65
  }): void;
68
66
  setRecordChildren(records: any[], col: number, row: number): void;
package/es/ListTable.js CHANGED
@@ -101,6 +101,14 @@ export class ListTable extends BaseTable {
101
101
  const customMergeText = this.getCustomMergeValue(col, row);
102
102
  if (customMergeText) return customMergeText;
103
103
  const table = this;
104
+ if (table.internalProps.layoutMap.isSeriesNumber(col, row)) {
105
+ if (table.internalProps.layoutMap.isSeriesNumberInHeader(col, row)) {
106
+ const {title: title} = table.internalProps.layoutMap.getSeriesNumberHeader(col, row);
107
+ return title;
108
+ }
109
+ const {format: format} = table.internalProps.layoutMap.getSeriesNumberBody(col, row);
110
+ return "function" == typeof format ? format(col, row, this) : row - this.columnHeaderLevelCount + 1;
111
+ }
104
112
  if (table.internalProps.layoutMap.isHeader(col, row)) {
105
113
  const {title: title} = table.internalProps.layoutMap.getHeader(col, row);
106
114
  return "function" == typeof title ? title() : title;
@@ -121,6 +129,14 @@ export class ListTable extends BaseTable {
121
129
  getCellOriginValue(col, row) {
122
130
  if (-1 === col || -1 === row) return null;
123
131
  const table = this;
132
+ if (table.internalProps.layoutMap.isSeriesNumber(col, row)) {
133
+ if (table.internalProps.layoutMap.isSeriesNumberInHeader(col, row)) {
134
+ const {title: title} = table.internalProps.layoutMap.getSeriesNumberHeader(col, row);
135
+ return title;
136
+ }
137
+ const {format: format} = table.internalProps.layoutMap.getSeriesNumberBody(col, row);
138
+ return "function" == typeof format ? format(col, row, this) : row - this.columnHeaderLevelCount;
139
+ }
124
140
  if (table.internalProps.layoutMap.isHeader(col, row)) {
125
141
  const {title: title} = table.internalProps.layoutMap.getHeader(col, row);
126
142
  return "function" == typeof title ? title() : title;
@@ -201,7 +217,6 @@ export class ListTable extends BaseTable {
201
217
  var _a;
202
218
  return null === (_a = null == releaseObj ? void 0 : releaseObj.release) || void 0 === _a ? void 0 : _a.call(releaseObj);
203
219
  })), internalProps.releaseList = null), options.dataSource ? _setDataSource(this, options.dataSource) : options.records ? this.setRecords(options.records, {
204
- restoreHierarchyState: options.restoreHierarchyState,
205
220
  sortState: options.sortState
206
221
  }) : (this._resetFrozenColCount(), this.scenegraph.createSceneGraph(), this.render()),
207
222
  options.title && (internalProps.title = new Title(options.title, this), this.scenegraph.resize()),
@@ -228,24 +243,24 @@ export class ListTable extends BaseTable {
228
243
  this.refreshRowColCount();
229
244
  }
230
245
  refreshRowColCount() {
231
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
246
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
232
247
  const table = this, {layoutMap: layoutMap} = table.internalProps;
233
248
  layoutMap && (layoutMap.recordsCount = (null !== (_b = null === (_a = table.internalProps.dataSource) || void 0 === _a ? void 0 : _a.length) && void 0 !== _b ? _b : 0) + layoutMap.hasAggregationOnTopCount + layoutMap.hasAggregationOnBottomCount,
234
249
  table.transpose ? (table.rowCount = null !== (_c = layoutMap.rowCount) && void 0 !== _c ? _c : 0,
235
- table.colCount = layoutMap.recordsCount * layoutMap.bodyRowSpanCount + layoutMap.headerLevelCount,
236
- table.frozenRowCount = 0, this.internalProps.frozenColCount = null !== (_d = layoutMap.headerLevelCount) && void 0 !== _d ? _d : 0,
237
- table.bottomFrozenRowCount !== (null !== (_e = this.options.bottomFrozenRowCount) && void 0 !== _e ? _e : 0) && (table.bottomFrozenRowCount = null !== (_f = this.options.bottomFrozenRowCount) && void 0 !== _f ? _f : 0),
238
- table.rightFrozenColCount !== (null !== (_g = this.options.rightFrozenColCount) && void 0 !== _g ? _g : 0) && (table.rightFrozenColCount = null !== (_h = this.options.rightFrozenColCount) && void 0 !== _h ? _h : 0)) : (table.colCount = null !== (_j = layoutMap.colCount) && void 0 !== _j ? _j : 0,
250
+ table.colCount = null !== (_d = layoutMap.colCount) && void 0 !== _d ? _d : 0, table.frozenRowCount = 0,
251
+ this.internalProps.frozenColCount = Math.max((null !== (_e = layoutMap.headerLevelCount) && void 0 !== _e ? _e : 0) + layoutMap.leftRowSeriesNumberColumnCount, null !== (_f = this.options.frozenColCount) && void 0 !== _f ? _f : 0),
252
+ table.bottomFrozenRowCount !== (null !== (_g = this.options.bottomFrozenRowCount) && void 0 !== _g ? _g : 0) && (table.bottomFrozenRowCount = null !== (_h = this.options.bottomFrozenRowCount) && void 0 !== _h ? _h : 0),
253
+ table.rightFrozenColCount !== (null !== (_j = this.options.rightFrozenColCount) && void 0 !== _j ? _j : 0) && (table.rightFrozenColCount = null !== (_k = this.options.rightFrozenColCount) && void 0 !== _k ? _k : 0)) : (table.colCount = null !== (_l = layoutMap.colCount) && void 0 !== _l ? _l : 0,
239
254
  table.rowCount = layoutMap.recordsCount * layoutMap.bodyRowSpanCount + layoutMap.headerLevelCount,
240
- this.internalProps.frozenColCount = null !== (_k = this.options.frozenColCount) && void 0 !== _k ? _k : 0,
241
- table.frozenRowCount = layoutMap.headerLevelCount, table.bottomFrozenRowCount !== (null !== (_l = this.options.bottomFrozenRowCount) && void 0 !== _l ? _l : 0) && (table.bottomFrozenRowCount = null !== (_m = this.options.bottomFrozenRowCount) && void 0 !== _m ? _m : 0),
242
- table.rightFrozenColCount !== (null !== (_o = this.options.rightFrozenColCount) && void 0 !== _o ? _o : 0) && (table.rightFrozenColCount = null !== (_p = this.options.rightFrozenColCount) && void 0 !== _p ? _p : 0)),
255
+ this.internalProps.frozenColCount = null !== (_m = this.options.frozenColCount) && void 0 !== _m ? _m : 0,
256
+ table.frozenRowCount = layoutMap.headerLevelCount, table.bottomFrozenRowCount !== (null !== (_o = this.options.bottomFrozenRowCount) && void 0 !== _o ? _o : 0) && (table.bottomFrozenRowCount = null !== (_p = this.options.bottomFrozenRowCount) && void 0 !== _p ? _p : 0),
257
+ table.rightFrozenColCount !== (null !== (_q = this.options.rightFrozenColCount) && void 0 !== _q ? _q : 0) && (table.rightFrozenColCount = null !== (_r = this.options.rightFrozenColCount) && void 0 !== _r ? _r : 0)),
243
258
  this.stateManager.setFrozenCol(this.internalProps.frozenColCount));
244
259
  }
245
260
  getFieldData(field, col, row) {
246
261
  if (null === field) return null;
247
262
  if (this.internalProps.layoutMap.isHeader(col, row)) return null;
248
- const index = this.getRecordShowIndexByCell(col, row);
263
+ const index = this.getRecordShowIndexByCell(this.transpose ? col - this.internalProps.layoutMap.leftRowSeriesNumberColumnCount : col, row);
249
264
  return this.internalProps.dataSource.getField(index, field, col, row, this);
250
265
  }
251
266
  getRawFieldData(field, col, row) {
@@ -256,10 +271,10 @@ export class ListTable extends BaseTable {
256
271
  }
257
272
  _moveHeaderPosition(source, target) {
258
273
  var _a, _b;
259
- const moveContext = this.internalProps.layoutMap.moveHeaderPosition(source, target);
274
+ const sourceCellRange = this.getCellRange(source.col, source.row), targetCellRange = this.getCellRange(target.col, target.row), moveContext = this.internalProps.layoutMap.moveHeaderPosition(source, target);
260
275
  if (moveContext) {
261
276
  if ("column" === moveContext.moveType) {
262
- if (this.colWidthsMap.adjustOrder(moveContext.sourceIndex, moveContext.targetIndex, moveContext.sourceSize),
277
+ if (this.colWidthsMap.exchangeOrder(sourceCellRange.start.col, sourceCellRange.end.col - sourceCellRange.start.col + 1, targetCellRange.start.col, targetCellRange.end.col - targetCellRange.start.col + 1, moveContext.targetIndex),
263
278
  !this.transpose) {
264
279
  this.colWidthsLimit = {};
265
280
  for (let col = 0; col < this.internalProps.layoutMap.columnWidths.length; col++) {
@@ -268,16 +283,15 @@ export class ListTable extends BaseTable {
268
283
  maxWidth && ("number" == typeof maxWidth && maxWidth > 0 || "string" == typeof maxWidth) && this.setMaxColWidth(col, maxWidth);
269
284
  }
270
285
  }
271
- const colStart = Math.min(moveContext.sourceIndex, moveContext.targetIndex), colEnd = Math.max(moveContext.sourceIndex, moveContext.targetIndex);
272
- for (let col = colStart; col <= colEnd; col++) this._clearColRangeWidthsMap(col);
273
- } else {
274
- const rowStart = Math.min(moveContext.sourceIndex, moveContext.targetIndex), rowEnd = Math.max(moveContext.sourceIndex, moveContext.targetIndex);
275
- for (let row = rowStart; row <= rowEnd; row++) this._clearRowRangeHeightsMap(row);
276
- }
286
+ } else moveContext.targetIndex > moveContext.sourceIndex ? this.rowHeightsMap.exchangeOrder(moveContext.sourceIndex, moveContext.sourceSize, moveContext.targetIndex + moveContext.sourceSize - moveContext.targetSize, moveContext.targetSize, moveContext.targetIndex) : this.rowHeightsMap.exchangeOrder(moveContext.sourceIndex, moveContext.sourceSize, moveContext.targetIndex, moveContext.targetSize, moveContext.targetIndex);
277
287
  return moveContext;
278
288
  }
279
289
  return null;
280
290
  }
291
+ changeRecordOrder(sourceIndex, targetIndex) {
292
+ this.transpose ? (sourceIndex = this.getRecordShowIndexByCell(sourceIndex, 0), targetIndex = this.getRecordShowIndexByCell(targetIndex, 0)) : (sourceIndex = this.getRecordShowIndexByCell(0, sourceIndex),
293
+ targetIndex = this.getRecordShowIndexByCell(0, targetIndex)), this.dataSource.reorderRecord(sourceIndex, targetIndex);
294
+ }
281
295
  getCellAddress(findTargetRecord, field) {
282
296
  let targetRecordIndex;
283
297
  for (let i = 0; i < this.internalProps.records.length; i++) {
@@ -413,7 +427,7 @@ export class ListTable extends BaseTable {
413
427
  }
414
428
  }
415
429
  setRecords(records, option) {
416
- var _a, _b, _c, _d, _e, _f, _g, _h;
430
+ var _a;
417
431
  let sort;
418
432
  Array.isArray(option) || (null == option ? void 0 : option.order) ? sort = option : option ? sort = option.sortState : null === option && (sort = null);
419
433
  "undefined" != typeof window && window.performance.now();
@@ -421,23 +435,18 @@ export class ListTable extends BaseTable {
421
435
  col: this.stateManager.hover.cellPos.col,
422
436
  row: this.stateManager.hover.cellPos.row
423
437
  };
424
- this.scenegraph.clearCells(), void 0 !== sort && (this.internalProps.sortState = sort,
425
- this.stateManager.setSortState(this.sortState));
426
- const currentPagerIndexedData = null === (_a = this.dataSource) || void 0 === _a ? void 0 : _a._currentPagerIndexedData, currentIndexedData = null === (_b = this.dataSource) || void 0 === _b ? void 0 : _b.currentIndexedData, treeDataHierarchyState = null === (_c = this.dataSource) || void 0 === _c ? void 0 : _c.treeDataHierarchyState, oldRecordLength = null !== (_e = null === (_d = this.records) || void 0 === _d ? void 0 : _d.length) && void 0 !== _e ? _e : 0;
427
- if (records) {
438
+ if (this.scenegraph.clearCells(), void 0 !== sort && (this.internalProps.sortState = sort,
439
+ this.stateManager.setSortState(this.sortState)), records) {
428
440
  if (_setRecords(this, records), this.sortState) {
429
441
  let order, field;
430
- if (Array.isArray(this.sortState) ? 0 !== this.sortState.length && ({order: order, field: field} = null === (_f = this.sortState) || void 0 === _f ? void 0 : _f[0]) : ({order: order, field: field} = this.sortState),
442
+ if (Array.isArray(this.sortState) ? 0 !== this.sortState.length && ({order: order, field: field} = null === (_a = this.sortState) || void 0 === _a ? void 0 : _a[0]) : ({order: order, field: field} = this.sortState),
431
443
  order && field && "normal" !== order) {
432
444
  const sortFunc = this._getSortFuncFromHeaderOption(void 0, field), hd = this.internalProps.layoutMap.headerObjects.find((col => col && col.field === field));
433
445
  !1 !== hd.define.sort && this.dataSource.sort(hd.field, order, null != sortFunc ? sortFunc : defaultOrderFn);
434
446
  }
435
447
  }
436
- (null == option ? void 0 : option.restoreHierarchyState) && oldRecordLength === (null === (_g = this.records) || void 0 === _g ? void 0 : _g.length) && (this.dataSource._currentPagerIndexedData = currentPagerIndexedData,
437
- this.dataSource.currentIndexedData = currentIndexedData, this.dataSource.treeDataHierarchyState = treeDataHierarchyState),
438
448
  this.refreshRowColCount();
439
- } else _setRecords(this, records), (null == option ? void 0 : option.restoreHierarchyState) && oldRecordLength === (null === (_h = this.records) || void 0 === _h ? void 0 : _h.length) && (this.dataSource._currentPagerIndexedData = currentPagerIndexedData,
440
- this.dataSource.currentIndexedData = currentIndexedData, this.dataSource.treeDataHierarchyState = treeDataHierarchyState);
449
+ } else _setRecords(this, records);
441
450
  this.stateManager.initCheckedState(records), this.clearCellStyleCache(), this.scenegraph.createSceneGraph(),
442
451
  this.stateManager.updateHoverPos(oldHoverState.col, oldHoverState.row), this.internalProps.title && !this.internalProps.title.isReleased && (this._updateSize(),
443
452
  this.internalProps.title.resize(), this.scenegraph.resize()), this.render();