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