k-vtable 1.0.20 → 1.0.22

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 (247) hide show
  1. package/cjs/ListTable.d.ts +7 -3
  2. package/cjs/ListTable.js +91 -24
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotChart.js +10 -8
  5. package/cjs/PivotChart.js.map +1 -1
  6. package/cjs/PivotTable.d.ts +2 -1
  7. package/cjs/PivotTable.js +9 -6
  8. package/cjs/PivotTable.js.map +1 -1
  9. package/cjs/body-helper/style/ButtonStyle.d.ts +10 -1
  10. package/cjs/body-helper/style/ButtonStyle.js.map +1 -1
  11. package/cjs/body-helper/style/CheckboxStyle.d.ts +14 -1
  12. package/cjs/body-helper/style/CheckboxStyle.js.map +1 -1
  13. package/cjs/body-helper/style/RadioStyle.d.ts +8 -1
  14. package/cjs/body-helper/style/RadioStyle.js.map +1 -1
  15. package/cjs/body-helper/style/SwitchStyle.d.ts +13 -1
  16. package/cjs/body-helper/style/SwitchStyle.js.map +1 -1
  17. package/cjs/core/BaseTable.d.ts +4 -0
  18. package/cjs/core/BaseTable.js +24 -2
  19. package/cjs/core/BaseTable.js.map +1 -1
  20. package/cjs/core/TABLE_EVENT_TYPE.d.ts +7 -0
  21. package/cjs/core/TABLE_EVENT_TYPE.js +8 -1
  22. package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
  23. package/cjs/core/record-helper.d.ts +2 -2
  24. package/cjs/core/record-helper.js +141 -129
  25. package/cjs/core/record-helper.js.map +1 -1
  26. package/cjs/core/tableHelper.js +6 -1
  27. package/cjs/core/tableHelper.js.map +1 -1
  28. package/cjs/core/utils/get-cell-position.d.ts +2 -0
  29. package/cjs/core/utils/get-cell-position.js +29 -2
  30. package/cjs/core/utils/get-cell-position.js.map +1 -1
  31. package/cjs/data/CachedDataSource.js +2 -2
  32. package/cjs/data/CachedDataSource.js.map +1 -1
  33. package/cjs/data/DataSource.js +1 -1
  34. package/cjs/data/DataSource.js.map +1 -1
  35. package/cjs/dataset/dataset.js +5 -1
  36. package/cjs/dataset/dataset.js.map +1 -1
  37. package/cjs/event/event.d.ts +1 -1
  38. package/cjs/event/event.js +5 -4
  39. package/cjs/event/event.js.map +1 -1
  40. package/cjs/event/helper.js +3 -1
  41. package/cjs/event/helper.js.map +1 -1
  42. package/cjs/event/listener/container-dom.js +3 -3
  43. package/cjs/event/listener/container-dom.js.map +1 -1
  44. package/cjs/event/listener/table-group.js +3 -2
  45. package/cjs/event/listener/table-group.js.map +1 -1
  46. package/cjs/event/listener/touch.js +2 -1
  47. package/cjs/event/listener/touch.js.map +1 -1
  48. package/cjs/event/scroll.d.ts +3 -1
  49. package/cjs/event/scroll.js +16 -7
  50. package/cjs/event/scroll.js.map +1 -1
  51. package/cjs/index.d.ts +2 -1
  52. package/cjs/index.js +18 -4
  53. package/cjs/index.js.map +1 -1
  54. package/cjs/layout/chart-helper/get-axis-config.d.ts +1 -0
  55. package/cjs/layout/chart-helper/get-axis-config.js +11 -8
  56. package/cjs/layout/chart-helper/get-axis-config.js.map +1 -1
  57. package/cjs/layout/chart-helper/get-chart-spec.js +7 -7
  58. package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
  59. package/cjs/layout/pivot-header-layout.d.ts +2 -1
  60. package/cjs/layout/pivot-header-layout.js +37 -3
  61. package/cjs/layout/pivot-header-layout.js.map +1 -1
  62. package/cjs/layout/row-height-map.d.ts +2 -2
  63. package/cjs/layout/row-height-map.js +27 -28
  64. package/cjs/layout/row-height-map.js.map +1 -1
  65. package/cjs/layout/simple-header-layout.js +20 -9
  66. package/cjs/layout/simple-header-layout.js.map +1 -1
  67. package/cjs/scenegraph/component/cell-mover.js +3 -3
  68. package/cjs/scenegraph/component/cell-mover.js.map +1 -1
  69. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +4 -4
  70. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  71. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +1 -1
  72. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  73. package/cjs/scenegraph/group-creater/cell-helper.js +1 -1
  74. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  75. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js +8 -2
  76. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  77. package/cjs/scenegraph/group-creater/progress/proxy.js +1 -1
  78. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  79. package/cjs/scenegraph/layout/compute-col-width.js +5 -2
  80. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  81. package/cjs/scenegraph/layout/compute-row-height.js +7 -3
  82. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  83. package/cjs/scenegraph/layout/frozen-react.js +6 -6
  84. package/cjs/scenegraph/layout/frozen-react.js.map +1 -1
  85. package/cjs/scenegraph/layout/update-height.js +1 -3
  86. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  87. package/cjs/scenegraph/scenegraph.js +5 -3
  88. package/cjs/scenegraph/scenegraph.js.map +1 -1
  89. package/cjs/scenegraph/select/update-select-border.js +6 -1
  90. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  91. package/cjs/scenegraph/utils/text-icon-layout.js +17 -3
  92. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  93. package/cjs/state/cell-move/adjust-header.d.ts +13 -0
  94. package/cjs/state/cell-move/adjust-header.js +50 -3
  95. package/cjs/state/cell-move/adjust-header.js.map +1 -1
  96. package/cjs/state/cell-move/index.d.ts +1 -1
  97. package/cjs/state/cell-move/index.js +25 -15
  98. package/cjs/state/cell-move/index.js.map +1 -1
  99. package/cjs/state/resize/update-resize-column.js +6 -1
  100. package/cjs/state/resize/update-resize-column.js.map +1 -1
  101. package/cjs/state/resize/update-resize-row.js +6 -1
  102. package/cjs/state/resize/update-resize-row.js.map +1 -1
  103. package/cjs/state/select/is-cell-select-highlight.js +3 -2
  104. package/cjs/state/select/is-cell-select-highlight.js.map +1 -1
  105. package/cjs/state/state.d.ts +2 -1
  106. package/cjs/state/state.js +9 -7
  107. package/cjs/state/state.js.map +1 -1
  108. package/cjs/tools/debounce.js +3 -3
  109. package/cjs/tools/debounce.js.map +1 -1
  110. package/cjs/tools/helper.d.ts +2 -1
  111. package/cjs/tools/helper.js.map +1 -1
  112. package/cjs/ts-types/base-table.d.ts +13 -3
  113. package/cjs/ts-types/base-table.js.map +1 -1
  114. package/cjs/ts-types/events.d.ts +55 -2
  115. package/cjs/ts-types/events.js.map +1 -1
  116. package/cjs/ts-types/list-table/define/basic-define.d.ts +1 -1
  117. package/cjs/ts-types/list-table/define/basic-define.js.map +1 -1
  118. package/cjs/ts-types/new-data-set.d.ts +1 -0
  119. package/cjs/ts-types/new-data-set.js.map +1 -1
  120. package/cjs/ts-types/table-engine.d.ts +10 -2
  121. package/cjs/ts-types/table-engine.js.map +1 -1
  122. package/cjs/vrender.js.map +1 -1
  123. package/dist/vtable.js +957 -396
  124. package/dist/vtable.min.js +2 -2
  125. package/es/ListTable.d.ts +7 -3
  126. package/es/ListTable.js +92 -25
  127. package/es/ListTable.js.map +1 -1
  128. package/es/PivotChart.js +10 -8
  129. package/es/PivotChart.js.map +1 -1
  130. package/es/PivotTable.d.ts +2 -1
  131. package/es/PivotTable.js +9 -6
  132. package/es/PivotTable.js.map +1 -1
  133. package/es/body-helper/style/ButtonStyle.d.ts +10 -1
  134. package/es/body-helper/style/ButtonStyle.js.map +1 -1
  135. package/es/body-helper/style/CheckboxStyle.d.ts +14 -1
  136. package/es/body-helper/style/CheckboxStyle.js.map +1 -1
  137. package/es/body-helper/style/RadioStyle.d.ts +8 -1
  138. package/es/body-helper/style/RadioStyle.js.map +1 -1
  139. package/es/body-helper/style/SwitchStyle.d.ts +13 -1
  140. package/es/body-helper/style/SwitchStyle.js.map +1 -1
  141. package/es/core/BaseTable.d.ts +4 -0
  142. package/es/core/BaseTable.js +25 -3
  143. package/es/core/BaseTable.js.map +1 -1
  144. package/es/core/TABLE_EVENT_TYPE.d.ts +7 -0
  145. package/es/core/TABLE_EVENT_TYPE.js +8 -1
  146. package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
  147. package/es/core/record-helper.d.ts +2 -2
  148. package/es/core/record-helper.js +141 -129
  149. package/es/core/record-helper.js.map +1 -1
  150. package/es/core/tableHelper.js +7 -2
  151. package/es/core/tableHelper.js.map +1 -1
  152. package/es/core/utils/get-cell-position.d.ts +2 -0
  153. package/es/core/utils/get-cell-position.js +26 -0
  154. package/es/core/utils/get-cell-position.js.map +1 -1
  155. package/es/data/CachedDataSource.js +2 -2
  156. package/es/data/CachedDataSource.js.map +1 -1
  157. package/es/data/DataSource.js +1 -1
  158. package/es/data/DataSource.js.map +1 -1
  159. package/es/dataset/dataset.js +5 -1
  160. package/es/dataset/dataset.js.map +1 -1
  161. package/es/event/event.d.ts +1 -1
  162. package/es/event/event.js +5 -4
  163. package/es/event/event.js.map +1 -1
  164. package/es/event/helper.js +3 -1
  165. package/es/event/helper.js.map +1 -1
  166. package/es/event/listener/container-dom.js +3 -3
  167. package/es/event/listener/container-dom.js.map +1 -1
  168. package/es/event/listener/table-group.js +3 -2
  169. package/es/event/listener/table-group.js.map +1 -1
  170. package/es/event/listener/touch.js +2 -2
  171. package/es/event/listener/touch.js.map +1 -1
  172. package/es/event/scroll.d.ts +3 -1
  173. package/es/event/scroll.js +14 -4
  174. package/es/event/scroll.js.map +1 -1
  175. package/es/index.d.ts +2 -1
  176. package/es/index.js +3 -1
  177. package/es/index.js.map +1 -1
  178. package/es/layout/chart-helper/get-axis-config.d.ts +1 -0
  179. package/es/layout/chart-helper/get-axis-config.js +11 -8
  180. package/es/layout/chart-helper/get-axis-config.js.map +1 -1
  181. package/es/layout/chart-helper/get-chart-spec.js +6 -7
  182. package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
  183. package/es/layout/pivot-header-layout.d.ts +2 -1
  184. package/es/layout/pivot-header-layout.js +37 -3
  185. package/es/layout/pivot-header-layout.js.map +1 -1
  186. package/es/layout/row-height-map.d.ts +2 -2
  187. package/es/layout/row-height-map.js +27 -28
  188. package/es/layout/row-height-map.js.map +1 -1
  189. package/es/layout/simple-header-layout.js +20 -9
  190. package/es/layout/simple-header-layout.js.map +1 -1
  191. package/es/scenegraph/component/cell-mover.js +3 -3
  192. package/es/scenegraph/component/cell-mover.js.map +1 -1
  193. package/es/scenegraph/graphic/contributions/chart-render-helper.js +5 -5
  194. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  195. package/es/scenegraph/graphic/contributions/rect-contribution-render.js +1 -1
  196. package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  197. package/es/scenegraph/group-creater/cell-helper.js +2 -2
  198. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  199. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js +8 -2
  200. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  201. package/es/scenegraph/group-creater/progress/proxy.js +1 -1
  202. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  203. package/es/scenegraph/layout/compute-col-width.js +5 -2
  204. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  205. package/es/scenegraph/layout/compute-row-height.js +7 -3
  206. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  207. package/es/scenegraph/layout/frozen-react.js +6 -6
  208. package/es/scenegraph/layout/frozen-react.js.map +1 -1
  209. package/es/scenegraph/layout/update-height.js +0 -4
  210. package/es/scenegraph/layout/update-height.js.map +1 -1
  211. package/es/scenegraph/scenegraph.js +5 -3
  212. package/es/scenegraph/scenegraph.js.map +1 -1
  213. package/es/scenegraph/select/update-select-border.js +7 -0
  214. package/es/scenegraph/select/update-select-border.js.map +1 -1
  215. package/es/scenegraph/utils/text-icon-layout.js +18 -2
  216. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  217. package/es/state/cell-move/adjust-header.d.ts +13 -0
  218. package/es/state/cell-move/adjust-header.js +46 -2
  219. package/es/state/cell-move/adjust-header.js.map +1 -1
  220. package/es/state/cell-move/index.d.ts +1 -1
  221. package/es/state/cell-move/index.js +25 -15
  222. package/es/state/cell-move/index.js.map +1 -1
  223. package/es/state/resize/update-resize-column.js +6 -1
  224. package/es/state/resize/update-resize-column.js.map +1 -1
  225. package/es/state/resize/update-resize-row.js +6 -1
  226. package/es/state/resize/update-resize-row.js.map +1 -1
  227. package/es/state/select/is-cell-select-highlight.js +3 -2
  228. package/es/state/select/is-cell-select-highlight.js.map +1 -1
  229. package/es/state/state.d.ts +2 -1
  230. package/es/state/state.js +9 -7
  231. package/es/state/state.js.map +1 -1
  232. package/es/tools/debounce.js +4 -2
  233. package/es/tools/debounce.js.map +1 -1
  234. package/es/tools/helper.d.ts +2 -1
  235. package/es/tools/helper.js.map +1 -1
  236. package/es/ts-types/base-table.d.ts +13 -3
  237. package/es/ts-types/base-table.js.map +1 -1
  238. package/es/ts-types/events.d.ts +55 -2
  239. package/es/ts-types/events.js.map +1 -1
  240. package/es/ts-types/list-table/define/basic-define.d.ts +1 -1
  241. package/es/ts-types/list-table/define/basic-define.js.map +1 -1
  242. package/es/ts-types/new-data-set.d.ts +1 -0
  243. package/es/ts-types/new-data-set.js.map +1 -1
  244. package/es/ts-types/table-engine.d.ts +10 -2
  245. package/es/ts-types/table-engine.js.map +1 -1
  246. package/es/vrender.js.map +1 -1
  247. package/package.json +6 -6
@@ -20,10 +20,11 @@ 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
- addColumn(column: ColumnDefine, colIndex?: number, isMaintainArrayData?: boolean): void;
26
- deleteColumn(colIndex: number): void;
26
+ addColumns(toAddColumns: ColumnDefine[], colIndex?: number, isMaintainArrayData?: boolean): void;
27
+ deleteColumns(deleteColIndexs: number[], isMaintainArrayData?: boolean): void;
27
28
  get columns(): ColumnsDefine;
28
29
  get header(): ColumnsDefine;
29
30
  set header(header: ColumnsDefine);
@@ -68,7 +69,10 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
68
69
  getMenuInfo(col: number, row: number, type: string): DropDownMenuEventInfo;
69
70
  _getSortFuncFromHeaderOption(columns: ColumnsDefine | undefined, field: FieldDef, fieldKey?: FieldKeyDef): SortState['orderFn'] | undefined;
70
71
  updateSortState(sortState: SortState[] | SortState | null, executeSort?: boolean): void;
71
- updateFilterRules(filterRules: FilterRules): void;
72
+ updateFilterRules(filterRules: FilterRules, options?: {
73
+ clearRowHeightCache?: boolean;
74
+ }): void;
75
+ getFilteredRecords(): any[];
72
76
  getCheckboxState(field?: string | number): any[];
73
77
  getCellCheckboxState(col: number, row: number): boolean | "indeterminate";
74
78
  getRadioState(field?: string | number): number | boolean | Record<string | number, number | boolean | Record<number, number>>;
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"), 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"), get_custom_merge_cell_func_1 = require("./core/utils/get-custom-merge-cell-func");
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"), get_custom_merge_cell_func_1 = require("./core/utils/get-custom-merge-cell-func"), adjust_header_1 = require("./state/cell-move/adjust-header");
33
33
 
34
34
  class ListTable extends core_1.BaseTable {
35
35
  constructor(container, options) {
@@ -47,7 +47,8 @@ class ListTable extends core_1.BaseTable {
47
47
  internalProps.enableTreeNodeMerge = null !== (_d = null !== (_c = options.enableTreeNodeMerge) && void 0 !== _c ? _c : (0,
48
48
  vutils_1.isValid)(this.internalProps.groupBy)) && void 0 !== _d && _d, this.internalProps.headerHelper.setTableColumnsEditor(),
49
49
  this.showHeader = null === (_e = options.showHeader) || void 0 === _e || _e, this.internalProps.columnWidthConfig = options.columnWidthConfig,
50
- this.transpose = null !== (_f = options.transpose) && void 0 !== _f && _f, "node" !== env_1.Env.mode && (this.editorManager = new edit_manager_1.EditManager(this)),
50
+ this.internalProps.rowHeightConfig = options.rowHeightConfig, this.transpose = null !== (_f = options.transpose) && void 0 !== _f && _f,
51
+ "node" !== env_1.Env.mode && (this.editorManager = new edit_manager_1.EditManager(this)),
51
52
  this.refreshHeader(), this.internalProps.useOneRowHeightFillAll = !1, options.dataSource ? this.dataSource = options.dataSource : options.records ? this.setRecords(options.records, {
52
53
  sortState: internalProps.sortState
53
54
  }) : this.setRecords([]), options.title) {
@@ -85,7 +86,10 @@ class ListTable extends core_1.BaseTable {
85
86
  get recordsCount() {
86
87
  return this.dataSource.records.length;
87
88
  }
88
- updateColumns(columns, options) {
89
+ updateColumns(columns, options = {
90
+ clearColWidthCache: !1,
91
+ clearRowHeightCache: !0
92
+ }) {
89
93
  var _a, _b, _c, _d;
90
94
  this.scenegraph.clearCells();
91
95
  const oldHoverState = {
@@ -98,7 +102,7 @@ class ListTable extends core_1.BaseTable {
98
102
  this._hasAutoImageColumn = void 0, this.refreshHeader(), null === (_b = (_a = this.dataSource).updateColumns) || void 0 === _b || _b.call(_a, this.internalProps.columns),
99
103
  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),
100
104
  this.internalProps.useOneRowHeightFillAll = !1, this.headerStyleCache = new Map,
101
- this.bodyStyleCache = new Map, this.bodyBottomStyleCache = new Map, this.scenegraph.createSceneGraph(),
105
+ this.bodyStyleCache = new Map, this.bodyBottomStyleCache = new Map, this.scenegraph.createSceneGraph(!(null == options ? void 0 : options.clearRowHeightCache)),
102
106
  this.stateManager.updateHoverPos(oldHoverState.col, oldHoverState.row), this.renderAsync(),
103
107
  this.eventManager.updateEventBinder();
104
108
  }
@@ -115,21 +119,52 @@ class ListTable extends core_1.BaseTable {
115
119
  this.scenegraph.createSceneGraph(), this.stateManager.updateHoverPos(oldHoverState.col, oldHoverState.row),
116
120
  this.renderAsync(), this.eventManager.updateEventBinder();
117
121
  }
118
- addColumn(column, colIndex, isMaintainArrayData = !0) {
122
+ addColumns(toAddColumns, colIndex, isMaintainArrayData = !0) {
123
+ var _a;
119
124
  const columns = this.options.columns;
120
- if (void 0 === colIndex) columns.push(column); else {
121
- if (isMaintainArrayData) for (let i = 0; i < columns.length; i++) "number" == typeof columns[i].field && columns[i].field >= colIndex && (columns[i].field = columns[i].field + 1);
122
- columns.splice(colIndex, 0, column);
123
- }
124
- if (isMaintainArrayData) for (let i = 0; i < this.records.length; i++) {
125
- const record = this.records[i];
126
- Array.isArray(record) && record.splice(colIndex, 0, void 0);
125
+ void 0 === colIndex ? (colIndex = columns.length, columns.push(...toAddColumns)) : columns.splice(colIndex, 0, ...toAddColumns);
126
+ 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);
127
+ this.internalProps._colRangeWidthsMap.clear();
128
+ const resizedColIndexs = Array.from(this.internalProps._widthResizedColMap.keys());
129
+ for (let i = 0; i < resizedColIndexs.length; i++) resizedColIndexs[i] >= colIndex && (this.internalProps._widthResizedColMap.delete(resizedColIndexs[i]),
130
+ this.internalProps._widthResizedColMap.add(resizedColIndexs[i] + toAddColumns.length));
131
+ if (isMaintainArrayData) {
132
+ for (let i = 0; i < columns.length; i++) columns[i].field = i;
133
+ for (let i = 0; i < this.records.length; i++) {
134
+ const record = this.records[i];
135
+ Array.isArray(record) && record.splice(colIndex, 0, ...Array(toAddColumns.length).fill(void 0));
136
+ }
127
137
  }
128
- this.updateColumns(columns);
138
+ this.updateColumns(columns, {
139
+ clearRowHeightCache: !1
140
+ }), this.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.ADD_COLUMN, {
141
+ columnIndex: colIndex,
142
+ columnCount: toAddColumns.length,
143
+ columns: columns
144
+ });
129
145
  }
130
- deleteColumn(colIndex) {
146
+ deleteColumns(deleteColIndexs, isMaintainArrayData = !0) {
131
147
  const columns = this.options.columns;
132
- columns.splice(colIndex, 1), this.updateColumns(columns);
148
+ deleteColIndexs.sort(((a, b) => b - a));
149
+ for (let i = 0; i < deleteColIndexs.length; i++) if (columns.splice(deleteColIndexs[i], 1),
150
+ this.colWidthsMap.delAndReorder(deleteColIndexs[i]), this.internalProps._widthResizedColMap.delete(deleteColIndexs[i]),
151
+ isMaintainArrayData) for (let j = 0; j < this.records.length; j++) {
152
+ const record = this.records[j];
153
+ Array.isArray(record) && record.splice(deleteColIndexs[i], 1);
154
+ }
155
+ this.internalProps._colRangeWidthsMap.clear();
156
+ const resizedColIndexs = Array.from(this.internalProps._widthResizedColMap.keys());
157
+ for (let i = 0; i < resizedColIndexs.length; i++) for (let j = 0; j < deleteColIndexs.length; j++) if (resizedColIndexs[i] > deleteColIndexs[j]) {
158
+ this.internalProps._widthResizedColMap.delete(resizedColIndexs[i]), this.internalProps._widthResizedColMap.add(resizedColIndexs[i] - (deleteColIndexs.length - j));
159
+ break;
160
+ }
161
+ if (isMaintainArrayData) for (let i = 0; i < columns.length; i++) columns[i].field = i;
162
+ this.updateColumns(columns, {
163
+ clearRowHeightCache: !1
164
+ }), this.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DELETE_COLUMN, {
165
+ deleteColIndexs: deleteColIndexs,
166
+ columns: columns
167
+ });
133
168
  }
134
169
  get columns() {
135
170
  return this.internalProps.layoutMap.columnTree.getCopiedTree();
@@ -291,7 +326,7 @@ class ListTable extends core_1.BaseTable {
291
326
  vutils_1.isValid)(this.internalProps.groupBy)) && void 0 !== _e && _e, this.internalProps.headerHelper.setTableColumnsEditor(),
292
327
  this.transpose = null !== (_f = options.transpose) && void 0 !== _f && _f, this.refreshHeader(),
293
328
  this.internalProps.useOneRowHeightFillAll = !1, this.internalProps.columnWidthConfig = options.columnWidthConfig,
294
- internalProps.releaseList) for (let i = internalProps.releaseList.length - 1; i >= 0; i--) {
329
+ this.internalProps.rowHeightConfig = options.rowHeightConfig, internalProps.releaseList) for (let i = internalProps.releaseList.length - 1; i >= 0; i--) {
295
330
  const releaseObj = internalProps.releaseList[i];
296
331
  releaseObj instanceof data_1.DataSource ? releaseObj.updateColumns(this.internalProps.columns) : (null === (_g = null == releaseObj ? void 0 : releaseObj.release) || void 0 === _g || _g.call(releaseObj),
297
332
  internalProps.releaseList.splice(i, 1));
@@ -361,8 +396,9 @@ class ListTable extends core_1.BaseTable {
361
396
  _moveHeaderPosition(source, target) {
362
397
  const sourceCellRange = this.getCellRange(source.col, source.row), targetCellRange = this.getCellRange(target.col, target.row), moveContext = this.internalProps.layoutMap.moveHeaderPosition(source, target);
363
398
  return moveContext ? ("column" === moveContext.moveType ? (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),
364
- this.transpose || (this.colWidthsLimit = {}, this.setMinMaxLimitWidth())) : 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),
365
- moveContext) : null;
399
+ (0, adjust_header_1.adjustWidthResizedColMap)(moveContext, this), this.transpose || (this.colWidthsLimit = {},
400
+ this.setMinMaxLimitWidth())) : (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),
401
+ (0, adjust_header_1.adjustHeightResizedRowMap)(moveContext, this)), moveContext) : null;
366
402
  }
367
403
  changeRecordOrder(sourceIndex, targetIndex) {
368
404
  this.transpose ? (sourceIndex = this.getRecordShowIndexByCell(sourceIndex, 0), targetIndex = this.getRecordShowIndexByCell(targetIndex, 0)) : (sourceIndex = this.getRecordShowIndexByCell(0, sourceIndex),
@@ -526,12 +562,17 @@ class ListTable extends core_1.BaseTable {
526
562
  }))), this.internalProps.layoutMap.clearCellRangeMap(), this.internalProps.useOneRowHeightFillAll = !1,
527
563
  this.scenegraph.sortCell()), sortState.length && this.stateManager.updateSortState(sortState);
528
564
  }
529
- updateFilterRules(filterRules) {
565
+ updateFilterRules(filterRules, options = {
566
+ clearRowHeightCache: !0
567
+ }) {
530
568
  this.scenegraph.clearCells(), this.sortState ? (this.dataSource.updateFilterRulesForSorted(filterRules),
531
569
  (0, record_helper_1.sortRecords)(this)) : this.dataSource.updateFilterRules(filterRules),
532
- this.refreshRowColCount(), this.stateManager.initCheckedState(this.records), this.scenegraph.createSceneGraph(),
570
+ this.refreshRowColCount(), this.stateManager.initCheckedState(this.records), this.scenegraph.createSceneGraph(!(null == options ? void 0 : options.clearRowHeightCache)),
533
571
  this.resize();
534
572
  }
573
+ getFilteredRecords() {
574
+ return this.dataSource.records;
575
+ }
535
576
  getCheckboxState(field) {
536
577
  if (this.stateManager.checkedState.size < this.rowCount - this.columnHeaderLevelCount && this.stateManager.initLeftRecordsCheckState(this.records),
537
578
  (0, vutils_1.isValid)(field)) {
@@ -673,18 +714,44 @@ class ListTable extends core_1.BaseTable {
673
714
  }
674
715
  addRecord(record, recordIndex) {
675
716
  var _a;
676
- (0, record_helper_1.listTableAddRecord)(record, recordIndex, this), null === (_a = this.internalProps.emptyTip) || void 0 === _a || _a.resetVisible();
717
+ const success = (0, record_helper_1.listTableAddRecord)(record, recordIndex, this);
718
+ (0, adjust_header_1.adjustHeightResizedRowMapWithAddRecordIndex)(this, recordIndex, [ record ]),
719
+ null === (_a = this.internalProps.emptyTip) || void 0 === _a || _a.resetVisible(),
720
+ success && this.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.ADD_RECORD, {
721
+ records: [ record ],
722
+ recordIndex: recordIndex,
723
+ recordCount: 1
724
+ });
677
725
  }
678
726
  addRecords(records, recordIndex) {
679
727
  var _a;
680
- (0, record_helper_1.listTableAddRecords)(records, recordIndex, this), null === (_a = this.internalProps.emptyTip) || void 0 === _a || _a.resetVisible();
728
+ const success = (0, record_helper_1.listTableAddRecords)(records, recordIndex, this);
729
+ "number" == typeof recordIndex && (0, adjust_header_1.adjustHeightResizedRowMapWithAddRecordIndex)(this, recordIndex, records),
730
+ null === (_a = this.internalProps.emptyTip) || void 0 === _a || _a.resetVisible(),
731
+ success && this.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.ADD_RECORD, {
732
+ records: records,
733
+ recordIndex: recordIndex,
734
+ recordCount: records.length
735
+ });
681
736
  }
682
737
  deleteRecords(recordIndexs) {
683
738
  var _a;
684
- (0, record_helper_1.listTableDeleteRecords)(recordIndexs, this), null === (_a = this.internalProps.emptyTip) || void 0 === _a || _a.resetVisible();
739
+ (0, record_helper_1.listTableDeleteRecords)(recordIndexs, this), (0, adjust_header_1.adjustHeightResizedRowMapWithDeleteRecordIndex)(this, recordIndexs),
740
+ null === (_a = this.internalProps.emptyTip) || void 0 === _a || _a.resetVisible();
741
+ const rowIndexs = [];
742
+ for (let i = 0; i < recordIndexs.length; i++) rowIndexs.push(this.getBodyRowIndexByRecordIndex(recordIndexs[i]) + this.columnHeaderLevelCount);
743
+ this.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DELETE_RECORD, {
744
+ recordIndexs: recordIndexs,
745
+ rowIndexs: rowIndexs,
746
+ deletedCount: (Array.isArray(recordIndexs[0]), recordIndexs.length)
747
+ });
685
748
  }
686
749
  updateRecords(records, recordIndexs) {
687
- (0, record_helper_1.listTableUpdateRecords)(records, recordIndexs, this);
750
+ (0, record_helper_1.listTableUpdateRecords)(records, recordIndexs, this), this.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.UPDATE_RECORD, {
751
+ records: records,
752
+ recordIndexs: recordIndexs,
753
+ updateCount: records.length
754
+ });
688
755
  }
689
756
  _hasCustomRenderOrLayout() {
690
757
  var _a, _b, _c, _d;