@visactor/vtable 1.6.0-alpha.2 → 1.6.0-alpha.3

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 (221) hide show
  1. package/cjs/ListTable-all.js +5 -5
  2. package/cjs/ListTable-all.js.map +1 -1
  3. package/cjs/ListTable.d.ts +0 -3
  4. package/cjs/ListTable.js +275 -32
  5. package/cjs/ListTable.js.map +1 -1
  6. package/cjs/body-helper/style.js +1 -2
  7. package/cjs/core/BaseTable.d.ts +5 -5
  8. package/cjs/core/BaseTable.js +88 -12
  9. package/cjs/core/BaseTable.js.map +1 -1
  10. package/cjs/core/style.js +1 -1
  11. package/cjs/core/style.js.map +1 -1
  12. package/cjs/core/tableHelper.d.ts +3 -1
  13. package/cjs/core/tableHelper.js +22 -12
  14. package/cjs/core/tableHelper.js.map +1 -1
  15. package/cjs/data/CachedDataSource.d.ts +1 -10
  16. package/cjs/data/CachedDataSource.js +2 -101
  17. package/cjs/data/CachedDataSource.js.map +1 -1
  18. package/cjs/data/DataSource.js +2 -2
  19. package/cjs/dataset/dataset-pivot-table.js +1 -0
  20. package/cjs/dataset/dataset-pivot-table.js.map +1 -1
  21. package/cjs/edit/edit-manager.js +1 -2
  22. package/cjs/edit/editors.js +2 -1
  23. package/cjs/event/EventHandler.js +1 -1
  24. package/cjs/event/EventTarget.js +1 -1
  25. package/cjs/event/drill.js +1 -1
  26. package/cjs/event/event.js +2 -4
  27. package/cjs/event/event.js.map +1 -1
  28. package/cjs/event/listener/container-dom.js +1 -1
  29. package/cjs/event/listener/container-dom.js.map +1 -1
  30. package/cjs/event/listener/table-group.js +6 -4
  31. package/cjs/event/listener/table-group.js.map +1 -1
  32. package/cjs/event/media-click.js +1 -1
  33. package/cjs/event/scroll.js +1 -1
  34. package/cjs/event/sparkline-event.js +1 -1
  35. package/cjs/event/util.js +1 -1
  36. package/cjs/index.d.ts +3 -3
  37. package/cjs/index.js +1 -1
  38. package/cjs/index.js.map +1 -1
  39. package/cjs/layout/layout-helper.js +0 -1
  40. package/cjs/layout/layout-helper.js.map +1 -1
  41. package/cjs/layout/row-height-map.js +0 -1
  42. package/cjs/layout/simple-header-layout.d.ts +2 -1
  43. package/cjs/layout/simple-header-layout.js +88 -2
  44. package/cjs/layout/simple-header-layout.js.map +1 -1
  45. package/cjs/layout/tree-helper.js +1 -0
  46. package/cjs/scenegraph/component/custom.js +1 -1
  47. package/cjs/scenegraph/component/custom.js.map +1 -1
  48. package/cjs/scenegraph/component/table-component.js +18 -14
  49. package/cjs/scenegraph/component/table-component.js.map +1 -1
  50. package/cjs/scenegraph/graphic/group.js +1 -1
  51. package/cjs/scenegraph/graphic/group.js.map +1 -1
  52. package/cjs/scenegraph/group-creater/cell-helper.d.ts +1 -2
  53. package/cjs/scenegraph/group-creater/cell-helper.js +10 -29
  54. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  55. package/cjs/scenegraph/group-creater/column-helper.js +2 -9
  56. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  57. package/cjs/scenegraph/group-creater/init-scenegraph.js +2 -2
  58. package/cjs/scenegraph/group-creater/init-scenegraph.js.map +1 -1
  59. package/cjs/scenegraph/layout/update-height.js +1 -3
  60. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  61. package/cjs/scenegraph/layout/update-width.js +3 -5
  62. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  63. package/cjs/scenegraph/utils/cell-border-stroke-width.js +9 -14
  64. package/cjs/scenegraph/utils/cell-border-stroke-width.js.map +1 -1
  65. package/cjs/scenegraph/utils/get-cell-merge.js +1 -1
  66. package/cjs/scenegraph/utils/get-cell-merge.js.map +1 -1
  67. package/cjs/scenegraph/utils/get-hierarchy-offset.js +8 -6
  68. package/cjs/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
  69. package/cjs/state/state.d.ts +2 -2
  70. package/cjs/state/state.js +4 -4
  71. package/cjs/state/state.js.map +1 -1
  72. package/cjs/themes/ARCO.js +1 -1
  73. package/cjs/themes/BRIGHT.js +1 -1
  74. package/cjs/themes/DARK.js +1 -1
  75. package/cjs/themes/DEFAULT.js +1 -1
  76. package/cjs/themes/SIMPLIFY.js +1 -1
  77. package/cjs/themes/component.js +1 -1
  78. package/cjs/themes/theme.d.ts +0 -2
  79. package/cjs/themes/theme.js +10 -13
  80. package/cjs/themes/theme.js.map +1 -1
  81. package/cjs/tools/helper.js.map +1 -1
  82. package/cjs/tools/style.d.ts +2 -1
  83. package/cjs/tools/style.js +9 -3
  84. package/cjs/tools/style.js.map +1 -1
  85. package/cjs/ts-types/base-table.d.ts +2 -9
  86. package/cjs/ts-types/base-table.js.map +1 -1
  87. package/cjs/ts-types/new-data-set.d.ts +0 -1
  88. package/cjs/ts-types/new-data-set.js.map +1 -1
  89. package/cjs/ts-types/table-engine.d.ts +46 -11
  90. package/cjs/ts-types/table-engine.js.map +1 -1
  91. package/cjs/ts-types/theme.d.ts +2 -1
  92. package/cjs/ts-types/theme.js.map +1 -1
  93. package/cjs/vrender.js +1 -2
  94. package/cjs/vrender.js.map +1 -1
  95. package/dist/vtable.js +3451 -4042
  96. package/dist/vtable.min.js +2 -2
  97. package/es/ListTable-all.js +3 -5
  98. package/es/ListTable-all.js.map +1 -1
  99. package/es/ListTable.d.ts +0 -3
  100. package/es/ListTable.js +277 -35
  101. package/es/ListTable.js.map +1 -1
  102. package/es/body-helper/style.js +1 -2
  103. package/es/core/BaseTable.d.ts +5 -5
  104. package/es/core/BaseTable.js +93 -17
  105. package/es/core/BaseTable.js.map +1 -1
  106. package/es/core/style.js +1 -1
  107. package/es/core/style.js.map +1 -1
  108. package/es/core/tableHelper.d.ts +3 -1
  109. package/es/core/tableHelper.js +21 -9
  110. package/es/core/tableHelper.js.map +1 -1
  111. package/es/data/CachedDataSource.d.ts +1 -10
  112. package/es/data/CachedDataSource.js +1 -104
  113. package/es/data/CachedDataSource.js.map +1 -1
  114. package/es/data/DataSource.js +2 -2
  115. package/es/dataset/dataset-pivot-table.js +1 -0
  116. package/es/dataset/dataset-pivot-table.js.map +1 -1
  117. package/es/edit/edit-manager.js +1 -2
  118. package/es/edit/editors.js +2 -1
  119. package/es/event/EventHandler.js +1 -1
  120. package/es/event/EventTarget.js +1 -1
  121. package/es/event/drill.js +1 -1
  122. package/es/event/event.js +2 -4
  123. package/es/event/event.js.map +1 -1
  124. package/es/event/listener/container-dom.js +1 -1
  125. package/es/event/listener/container-dom.js.map +1 -1
  126. package/es/event/listener/table-group.js +6 -4
  127. package/es/event/listener/table-group.js.map +1 -1
  128. package/es/event/media-click.js +1 -1
  129. package/es/event/scroll.js +1 -1
  130. package/es/event/sparkline-event.js +1 -1
  131. package/es/event/util.js +1 -1
  132. package/es/index.d.ts +3 -3
  133. package/es/index.js +1 -1
  134. package/es/index.js.map +1 -1
  135. package/es/layout/layout-helper.js +0 -1
  136. package/es/layout/layout-helper.js.map +1 -1
  137. package/es/layout/row-height-map.js +1 -2
  138. package/es/layout/simple-header-layout.d.ts +2 -1
  139. package/es/layout/simple-header-layout.js +87 -3
  140. package/es/layout/simple-header-layout.js.map +1 -1
  141. package/es/layout/tree-helper.js +2 -1
  142. package/es/scenegraph/component/custom.js +1 -1
  143. package/es/scenegraph/component/custom.js.map +1 -1
  144. package/es/scenegraph/component/table-component.js +18 -14
  145. package/es/scenegraph/component/table-component.js.map +1 -1
  146. package/es/scenegraph/graphic/group.js +1 -1
  147. package/es/scenegraph/graphic/group.js.map +1 -1
  148. package/es/scenegraph/group-creater/cell-helper.d.ts +1 -2
  149. package/es/scenegraph/group-creater/cell-helper.js +8 -23
  150. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  151. package/es/scenegraph/group-creater/column-helper.js +2 -8
  152. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  153. package/es/scenegraph/group-creater/init-scenegraph.js +2 -2
  154. package/es/scenegraph/group-creater/init-scenegraph.js.map +1 -1
  155. package/es/scenegraph/layout/update-height.js +1 -3
  156. package/es/scenegraph/layout/update-height.js.map +1 -1
  157. package/es/scenegraph/layout/update-width.js +3 -5
  158. package/es/scenegraph/layout/update-width.js.map +1 -1
  159. package/es/scenegraph/utils/cell-border-stroke-width.js +6 -9
  160. package/es/scenegraph/utils/cell-border-stroke-width.js.map +1 -1
  161. package/es/scenegraph/utils/get-cell-merge.js +1 -1
  162. package/es/scenegraph/utils/get-cell-merge.js.map +1 -1
  163. package/es/scenegraph/utils/get-hierarchy-offset.js +9 -7
  164. package/es/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
  165. package/es/state/state.d.ts +2 -2
  166. package/es/state/state.js +4 -4
  167. package/es/state/state.js.map +1 -1
  168. package/es/themes/ARCO.js +1 -1
  169. package/es/themes/BRIGHT.js +1 -1
  170. package/es/themes/DARK.js +1 -1
  171. package/es/themes/DEFAULT.js +1 -1
  172. package/es/themes/SIMPLIFY.js +1 -1
  173. package/es/themes/component.js +1 -1
  174. package/es/themes/theme.d.ts +0 -2
  175. package/es/themes/theme.js +10 -13
  176. package/es/themes/theme.js.map +1 -1
  177. package/es/tools/helper.js.map +1 -1
  178. package/es/tools/style.d.ts +2 -1
  179. package/es/tools/style.js +7 -2
  180. package/es/tools/style.js.map +1 -1
  181. package/es/ts-types/base-table.d.ts +2 -9
  182. package/es/ts-types/base-table.js.map +1 -1
  183. package/es/ts-types/new-data-set.d.ts +0 -1
  184. package/es/ts-types/new-data-set.js.map +1 -1
  185. package/es/ts-types/table-engine.d.ts +46 -11
  186. package/es/ts-types/table-engine.js.map +1 -1
  187. package/es/ts-types/theme.d.ts +2 -1
  188. package/es/ts-types/theme.js.map +1 -1
  189. package/es/vrender.js +2 -3
  190. package/es/vrender.js.map +1 -1
  191. package/package.json +4 -4
  192. package/cjs/core/group-helper.d.ts +0 -6
  193. package/cjs/core/group-helper.js +0 -22
  194. package/cjs/core/group-helper.js.map +0 -1
  195. package/cjs/core/record-helper.d.ts +0 -8
  196. package/cjs/core/record-helper.js +0 -337
  197. package/cjs/core/record-helper.js.map +0 -1
  198. package/cjs/core/style-helper.d.ts +0 -3
  199. package/cjs/core/style-helper.js +0 -110
  200. package/cjs/core/style-helper.js.map +0 -1
  201. package/cjs/layout/cell-range/simple-cell-range.d.ts +0 -4
  202. package/cjs/layout/cell-range/simple-cell-range.js +0 -106
  203. package/cjs/layout/cell-range/simple-cell-range.js.map +0 -1
  204. package/cjs/plugins/list-tree-stick-cell.d.ts +0 -16
  205. package/cjs/plugins/list-tree-stick-cell.js +0 -178
  206. package/cjs/plugins/list-tree-stick-cell.js.map +0 -1
  207. package/es/core/group-helper.d.ts +0 -6
  208. package/es/core/group-helper.js +0 -14
  209. package/es/core/group-helper.js.map +0 -1
  210. package/es/core/record-helper.d.ts +0 -8
  211. package/es/core/record-helper.js +0 -332
  212. package/es/core/record-helper.js.map +0 -1
  213. package/es/core/style-helper.d.ts +0 -3
  214. package/es/core/style-helper.js +0 -86
  215. package/es/core/style-helper.js.map +0 -1
  216. package/es/layout/cell-range/simple-cell-range.d.ts +0 -4
  217. package/es/layout/cell-range/simple-cell-range.js +0 -99
  218. package/es/layout/cell-range/simple-cell-range.js.map +0 -1
  219. package/es/plugins/list-tree-stick-cell.d.ts +0 -16
  220. package/es/plugins/list-tree-stick-cell.js +0 -176
  221. package/es/plugins/list-tree-stick-cell.js.map +0 -1
@@ -2,13 +2,11 @@ import { ListTable } from "./ListTable";
2
2
 
3
3
  import { registerAxis, registerEmptyTip, registerLegend, registerMenu, registerTitle, registerTooltip } from "./components";
4
4
 
5
- import { registerListTreeStickCellPlugin } from "./plugins/list-tree-stick-cell";
6
-
7
5
  import { registerChartCell, registerCheckboxCell, registerImageCell, registerProgressBarCell, registerRadioCell, registerSparkLineCell, registerTextCell, registerVideoCell } from "./scenegraph/group-creater/cell-type";
8
6
 
9
7
  registerAxis(), registerEmptyTip(), registerLegend(), registerMenu(), registerTitle(),
10
- registerTooltip(), registerListTreeStickCellPlugin(), registerChartCell(), registerCheckboxCell(),
11
- registerImageCell(), registerProgressBarCell(), registerRadioCell(), registerSparkLineCell(),
12
- registerTextCell(), registerVideoCell();
8
+ registerTooltip(), registerChartCell(), registerCheckboxCell(), registerImageCell(),
9
+ registerProgressBarCell(), registerRadioCell(), registerSparkLineCell(), registerTextCell(),
10
+ registerVideoCell();
13
11
 
14
12
  export class ListTableAll extends ListTable {}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ListTable-all.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,sCAAsC,CAAC;AAE9C,YAAY,EAAE,CAAC;AACf,gBAAgB,EAAE,CAAC;AACnB,cAAc,EAAE,CAAC;AACjB,YAAY,EAAE,CAAC;AACf,aAAa,EAAE,CAAC;AAChB,eAAe,EAAE,CAAC;AAClB,+BAA+B,EAAE,CAAC;AAElC,iBAAiB,EAAE,CAAC;AACpB,oBAAoB,EAAE,CAAC;AACvB,iBAAiB,EAAE,CAAC;AACpB,uBAAuB,EAAE,CAAC;AAC1B,iBAAiB,EAAE,CAAC;AACpB,qBAAqB,EAAE,CAAC;AACxB,gBAAgB,EAAE,CAAC;AACnB,iBAAiB,EAAE,CAAC;AACpB,MAAM,OAAO,YAAa,SAAQ,SAAS;CAAG","file":"ListTable-all.js","sourcesContent":["import { ListTable } from './ListTable';\nimport {\n registerAxis,\n registerEmptyTip,\n registerLegend,\n registerMenu,\n registerTitle,\n registerTooltip\n} from './components';\nimport { registerListTreeStickCellPlugin } from './plugins/list-tree-stick-cell';\nimport {\n registerChartCell,\n registerCheckboxCell,\n registerImageCell,\n registerProgressBarCell,\n registerRadioCell,\n registerSparkLineCell,\n registerTextCell,\n registerVideoCell\n} from './scenegraph/group-creater/cell-type';\n\nregisterAxis();\nregisterEmptyTip();\nregisterLegend();\nregisterMenu();\nregisterTitle();\nregisterTooltip();\nregisterListTreeStickCellPlugin();\n\nregisterChartCell();\nregisterCheckboxCell();\nregisterImageCell();\nregisterProgressBarCell();\nregisterRadioCell();\nregisterSparkLineCell();\nregisterTextCell();\nregisterVideoCell();\nexport class ListTableAll extends ListTable {}\n"]}
1
+ {"version":3,"sources":["../src/ListTable-all.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,sCAAsC,CAAC;AAE9C,YAAY,EAAE,CAAC;AACf,gBAAgB,EAAE,CAAC;AACnB,cAAc,EAAE,CAAC;AACjB,YAAY,EAAE,CAAC;AACf,aAAa,EAAE,CAAC;AAChB,eAAe,EAAE,CAAC;AAElB,iBAAiB,EAAE,CAAC;AACpB,oBAAoB,EAAE,CAAC;AACvB,iBAAiB,EAAE,CAAC;AACpB,uBAAuB,EAAE,CAAC;AAC1B,iBAAiB,EAAE,CAAC;AACpB,qBAAqB,EAAE,CAAC;AACxB,gBAAgB,EAAE,CAAC;AACnB,iBAAiB,EAAE,CAAC;AACpB,MAAM,OAAO,YAAa,SAAQ,SAAS;CAAG","file":"ListTable-all.js","sourcesContent":["import { ListTable } from './ListTable';\nimport {\n registerAxis,\n registerEmptyTip,\n registerLegend,\n registerMenu,\n registerTitle,\n registerTooltip\n} from './components';\nimport {\n registerChartCell,\n registerCheckboxCell,\n registerImageCell,\n registerProgressBarCell,\n registerRadioCell,\n registerSparkLineCell,\n registerTextCell,\n registerVideoCell\n} from './scenegraph/group-creater/cell-type';\n\nregisterAxis();\nregisterEmptyTip();\nregisterLegend();\nregisterMenu();\nregisterTitle();\nregisterTooltip();\n\nregisterChartCell();\nregisterCheckboxCell();\nregisterImageCell();\nregisterProgressBarCell();\nregisterRadioCell();\nregisterSparkLineCell();\nregisterTextCell();\nregisterVideoCell();\nexport class ListTableAll extends ListTable {}\n"]}
package/es/ListTable.d.ts CHANGED
@@ -3,12 +3,10 @@ import { HierarchyState } from './ts-types';
3
3
  import { BaseTable } from './core';
4
4
  import type { ListTableProtected } from './ts-types/base-table';
5
5
  import type { IEditor } from '@visactor/vtable-editors';
6
- import type { ListTreeStickCellPlugin } from './plugins/list-tree-stick-cell';
7
6
  export declare class ListTable extends BaseTable implements ListTableAPI {
8
7
  internalProps: ListTableProtected;
9
8
  options: ListTableConstructorOptions;
10
9
  showHeader: boolean;
11
- listTreeStickCellPlugin?: ListTreeStickCellPlugin;
12
10
  constructor(options: ListTableConstructorOptions);
13
11
  constructor(container: HTMLElement, options: ListTableConstructorOptions);
14
12
  isListTable(): true;
@@ -87,5 +85,4 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
87
85
  }[];
88
86
  }[];
89
87
  isAggregation(col: number, row: number): boolean;
90
- getGroupTitleLevel(col: number, row: number): number | undefined;
91
88
  }
package/es/ListTable.js CHANGED
@@ -2,9 +2,9 @@ import { HierarchyState } from "./ts-types";
2
2
 
3
3
  import { SimpleHeaderLayoutMap } from "./layout";
4
4
 
5
- import { isArray, isValid } from "@visactor/vutils";
5
+ import { isValid } from "@visactor/vutils";
6
6
 
7
- import { _setDataSource, _setRecords } from "./core/tableHelper";
7
+ import { _setDataSource, _setRecords, sortRecords } from "./core/tableHelper";
8
8
 
9
9
  import { BaseTable } from "./core";
10
10
 
@@ -16,6 +16,10 @@ import * as editors from "./edit/editors";
16
16
 
17
17
  import { EditManeger } from "./edit/edit-manager";
18
18
 
19
+ import { computeColWidth } from "./scenegraph/layout/compute-col-width";
20
+
21
+ import { computeRowHeight } from "./scenegraph/layout/compute-row-height";
22
+
19
23
  import { defaultOrderFn } from "./tools/util";
20
24
 
21
25
  import { getCellRadioState, setCellRadioState } from "./state/radio/radio";
@@ -26,23 +30,17 @@ import { setCellCheckboxState } from "./state/checkbox/checkbox";
26
30
 
27
31
  import { Factory } from "./core/factory";
28
32
 
29
- import { getGroupByDataConfig } from "./core/group-helper";
30
-
31
- import { listTableAddRecord, listTableAddRecords, listTableChangeCellValue, listTableChangeCellValues, listTableDeleteRecords, listTableUpdateRecords, sortRecords } from "./core/record-helper";
32
-
33
33
  export class ListTable extends BaseTable {
34
34
  constructor(container, options) {
35
- var _a, _b, _c, _d;
35
+ var _a, _b;
36
36
  "node" === Env.mode ? (options = container, container = null) : container instanceof HTMLElement || (options = container,
37
37
  container = container.container ? container.container : null), super(container, options),
38
38
  this.showHeader = !0;
39
39
  const internalProps = this.internalProps;
40
40
  if (internalProps.frozenColDragHeaderMode = options.frozenColDragHeaderMode, this.pagination = options.pagination,
41
- internalProps.sortState = options.sortState, internalProps.dataConfig = options.groupBy ? getGroupByDataConfig(options.groupBy) : {},
42
- internalProps.columns = options.columns ? cloneDeepSpec(options.columns, [ "children" ]) : options.header ? cloneDeepSpec(options.header, [ "children" ]) : [],
43
- internalProps.enableTreeNodeMerge = null !== (_b = null !== (_a = options.enableTreeNodeMerge) && void 0 !== _a ? _a : isValid(options.groupBy)) && void 0 !== _b && _b,
44
- this.internalProps.headerHelper.setTableColumnsEditor(), this.showHeader = null === (_c = options.showHeader) || void 0 === _c || _c,
45
- this.transpose = null !== (_d = options.transpose) && void 0 !== _d && _d, "node" !== Env.mode && (this.editorManager = new EditManeger(this)),
41
+ internalProps.sortState = options.sortState, internalProps.dataConfig = {}, internalProps.columns = options.columns ? cloneDeepSpec(options.columns, [ "children" ]) : options.header ? cloneDeepSpec(options.header, [ "children" ]) : [],
42
+ this.internalProps.headerHelper.setTableColumnsEditor(), this.showHeader = null === (_a = options.showHeader) || void 0 === _a || _a,
43
+ this.transpose = null !== (_b = options.transpose) && void 0 !== _b && _b, "node" !== Env.mode && (this.editorManager = new EditManeger(this)),
46
44
  this.refreshHeader(), this.internalProps.useOneRowHeightFillAll = !1, options.dataSource ? _setDataSource(this, options.dataSource) : options.records ? this.setRecords(options.records, {
47
45
  sortState: internalProps.sortState
48
46
  }) : this.setRecords([]), options.title) {
@@ -53,10 +51,6 @@ export class ListTable extends BaseTable {
53
51
  const EmptyTip = Factory.getComponent("emptyTip");
54
52
  this.internalProps.emptyTip = new EmptyTip(this.options.emptyTip, this), this.internalProps.emptyTip.resetVisible();
55
53
  }
56
- if (options.enableTreeStickCell) {
57
- const ListTreeStickCellPlugin = Factory.getComponent("listTreeStickCellPlugin");
58
- this.listTreeStickCellPlugin = new ListTreeStickCellPlugin(this);
59
- }
60
54
  setTimeout((() => {
61
55
  this.fireListeners(TABLE_EVENT_TYPE.INITIALIZED, null);
62
56
  }), 0);
@@ -227,8 +221,8 @@ export class ListTable extends BaseTable {
227
221
  const internalProps = this.internalProps;
228
222
  if (super.updateOption(options), internalProps.frozenColDragHeaderMode = options.frozenColDragHeaderMode,
229
223
  this.pagination = options.pagination, internalProps.sortState = options.sortState,
230
- internalProps.dataConfig = options.groupBy ? getGroupByDataConfig(options.groupBy) : {},
231
- this.showHeader = null === (_a = options.showHeader) || void 0 === _a || _a, internalProps.columns = options.columns ? cloneDeepSpec(options.columns, [ "children" ]) : options.header ? cloneDeepSpec(options.header, [ "children" ]) : [],
224
+ internalProps.dataConfig = {}, this.showHeader = null === (_a = options.showHeader) || void 0 === _a || _a,
225
+ internalProps.columns = options.columns ? cloneDeepSpec(options.columns, [ "children" ]) : options.header ? cloneDeepSpec(options.header, [ "children" ]) : [],
232
226
  this.internalProps.headerHelper.setTableColumnsEditor(), this.transpose = null !== (_b = options.transpose) && void 0 !== _b && _b,
233
227
  this.refreshHeader(), this.internalProps.useOneRowHeightFillAll = !1, internalProps.releaseList && (internalProps.releaseList.forEach((releaseObj => {
234
228
  var _a;
@@ -350,9 +344,7 @@ export class ListTable extends BaseTable {
350
344
  return null;
351
345
  }
352
346
  getHierarchyState(col, row) {
353
- if (!this.options.groupBy) {
354
- if (!this.getBodyColumnDefine(col, row).tree) return HierarchyState.none;
355
- }
347
+ if (!this.getBodyColumnDefine(col, row).tree) return HierarchyState.none;
356
348
  const index = this.getRecordShowIndexByCell(col, row);
357
349
  return this.dataSource.getHierarchyState(index);
358
350
  }
@@ -532,22 +524,280 @@ export class ListTable extends BaseTable {
532
524
  return isValid(editorDefine);
533
525
  }
534
526
  changeCellValue(col, row, value, workOnEditableCell = !1) {
535
- return listTableChangeCellValue(col, row, value, workOnEditableCell, this);
527
+ if (workOnEditableCell && this.isHasEditorDefine(col, row) || !1 === workOnEditableCell) {
528
+ const recordIndex = this.getRecordShowIndexByCell(col, row), {field: field} = this.internalProps.layoutMap.getBody(col, row), beforeChangeValue = this.getCellRawValue(col, row), oldValue = this.getCellOriginValue(col, row);
529
+ this.isHeader(col, row) ? this.internalProps.layoutMap.updateColumnTitle(col, row, value) : this.dataSource.changeFieldValue(value, recordIndex, field, col, row, this);
530
+ const range = this.getCellRange(col, row), aggregators = this.internalProps.layoutMap.getAggregatorsByCell(col, row);
531
+ if (aggregators) {
532
+ if (Array.isArray(aggregators)) for (let i = 0; i < (null == aggregators ? void 0 : aggregators.length); i++) aggregators[i].recalculate(); else aggregators.recalculate();
533
+ const aggregatorCells = this.internalProps.layoutMap.getAggregatorCellAddress(range.start.col, range.start.row, range.end.col, range.end.row);
534
+ for (let i = 0; i < aggregatorCells.length; i++) {
535
+ const range = this.getCellRange(aggregatorCells[i].col, aggregatorCells[i].row);
536
+ for (let sCol = range.start.col; sCol <= range.end.col; sCol++) for (let sRow = range.start.row; sRow <= range.end.row; sRow++) this.scenegraph.updateCellContent(sCol, sRow);
537
+ }
538
+ }
539
+ for (let sCol = range.start.col; sCol <= range.end.col; sCol++) for (let sRow = range.start.row; sRow <= range.end.row; sRow++) this.scenegraph.updateCellContent(sCol, sRow);
540
+ if ("adaptive" === this.widthMode || this.autoFillWidth && this.getAllColsWidth() <= this.tableNoFrameWidth) 0 === this.internalProps._widthResizedColMap.size && this.scenegraph.recalculateColWidths(); else if (!this.internalProps._widthResizedColMap.has(col)) {
541
+ const oldWidth = this.getColWidth(col), newWidth = computeColWidth(col, 0, this.rowCount - 1, this, !1);
542
+ newWidth !== oldWidth && this.scenegraph.updateColWidth(col, newWidth - oldWidth);
543
+ }
544
+ if ("adaptive" === this.heightMode || this.autoFillHeight && this.getAllRowsHeight() <= this.tableNoFrameHeight) 0 === this.internalProps._heightResizedRowMap.size && this.scenegraph.recalculateRowHeights(); else if ("autoHeight" === this.heightMode && !this.internalProps._heightResizedRowMap.has(row)) {
545
+ const oldHeight = this.getRowHeight(row), newHeight = computeRowHeight(row, 0, this.colCount - 1, this);
546
+ this.scenegraph.updateRowHeight(row, newHeight - oldHeight);
547
+ }
548
+ this.fireListeners(TABLE_EVENT_TYPE.CHANGE_CELL_VALUE, {
549
+ col: col,
550
+ row: row,
551
+ rawValue: beforeChangeValue,
552
+ currentValue: oldValue,
553
+ changedValue: this.getCellOriginValue(col, row)
554
+ }), this.scenegraph.updateNextFrame();
555
+ }
536
556
  }
537
557
  changeCellValues(startCol, startRow, values, workOnEditableCell = !1) {
538
- return listTableChangeCellValues(startCol, startRow, values, workOnEditableCell, this);
558
+ let pasteColEnd = startCol, pasteRowEnd = startRow;
559
+ const beforeChangeValues = [], oldValues = [];
560
+ for (let i = 0; i < values.length && !(startRow + i > this.rowCount - 1); i++) {
561
+ const rowValues = values[i], rawRowValues = [], oldRowValues = [];
562
+ beforeChangeValues.push(rawRowValues), oldValues.push(oldRowValues);
563
+ for (let j = 0; j < rowValues.length && !(startCol + j > this.colCount - 1); j++) {
564
+ const beforeChangeValue = this.getCellRawValue(startCol + j, startRow + i);
565
+ rawRowValues.push(beforeChangeValue);
566
+ const oldValue = this.getCellOriginValue(startCol + j, startRow + i);
567
+ oldRowValues.push(oldValue);
568
+ }
569
+ }
570
+ for (let i = 0; i < values.length && !(startRow + i > this.rowCount - 1); i++) {
571
+ pasteRowEnd = startRow + i;
572
+ const rowValues = values[i];
573
+ let thisRowPasteColEnd = startCol;
574
+ for (let j = 0; j < rowValues.length && !(startCol + j > this.colCount - 1); j++) if (thisRowPasteColEnd = startCol + j,
575
+ workOnEditableCell && this.isHasEditorDefine(startCol + j, startRow + i) || !1 === workOnEditableCell) {
576
+ const value = rowValues[j], recordIndex = this.getRecordShowIndexByCell(startCol + j, startRow + i), {field: field} = this.internalProps.layoutMap.getBody(startCol + j, startRow + i), beforeChangeValue = beforeChangeValues[i][j], oldValue = oldValues[i][j];
577
+ this.isHeader(startCol + j, startRow + i) ? this.internalProps.layoutMap.updateColumnTitle(startCol + j, startRow + i, value) : this.dataSource.changeFieldValue(value, recordIndex, field, startCol + j, startRow + i, this),
578
+ this.fireListeners(TABLE_EVENT_TYPE.CHANGE_CELL_VALUE, {
579
+ col: startCol + j,
580
+ row: startRow + i,
581
+ rawValue: beforeChangeValue,
582
+ currentValue: oldValue,
583
+ changedValue: this.getCellOriginValue(startCol + j, startRow + i)
584
+ });
585
+ }
586
+ pasteColEnd = Math.max(pasteColEnd, thisRowPasteColEnd);
587
+ }
588
+ const startRange = this.getCellRange(startCol, startRow), range = this.getCellRange(pasteColEnd, pasteRowEnd), aggregators = this.internalProps.layoutMap.getAggregatorsByCellRange(startRange.start.col, startRange.start.row, range.end.col, range.end.row);
589
+ if (aggregators) {
590
+ for (let i = 0; i < (null == aggregators ? void 0 : aggregators.length); i++) aggregators[i].recalculate();
591
+ const aggregatorCells = this.internalProps.layoutMap.getAggregatorCellAddress(startRange.start.col, startRange.start.row, range.end.col, range.end.row);
592
+ for (let i = 0; i < aggregatorCells.length; i++) {
593
+ const range = this.getCellRange(aggregatorCells[i].col, aggregatorCells[i].row);
594
+ for (let sCol = range.start.col; sCol <= range.end.col; sCol++) for (let sRow = range.start.row; sRow <= range.end.row; sRow++) this.scenegraph.updateCellContent(sCol, sRow);
595
+ }
596
+ }
597
+ for (let sCol = startRange.start.col; sCol <= range.end.col; sCol++) for (let sRow = startRange.start.row; sRow <= range.end.row; sRow++) this.scenegraph.updateCellContent(sCol, sRow);
598
+ if ("adaptive" === this.widthMode || this.autoFillWidth && this.getAllColsWidth() <= this.tableNoFrameWidth) 0 === this.internalProps._widthResizedColMap.size && this.scenegraph.recalculateColWidths(); else for (let sCol = startCol; sCol <= range.end.col; sCol++) if (!this.internalProps._widthResizedColMap.has(sCol)) {
599
+ const oldWidth = this.getColWidth(sCol), newWidth = computeColWidth(sCol, 0, this.rowCount - 1, this, !1);
600
+ newWidth !== oldWidth && this.scenegraph.updateColWidth(sCol, newWidth - oldWidth);
601
+ }
602
+ if ("adaptive" === this.heightMode || this.autoFillHeight && this.getAllRowsHeight() <= this.tableNoFrameHeight) this.scenegraph.recalculateRowHeights(); else if ("autoHeight" === this.heightMode) {
603
+ const rows = [], deltaYs = [];
604
+ for (let sRow = startRow; sRow <= range.end.row; sRow++) if (this.rowHeightsMap.get(sRow)) {
605
+ const oldHeight = this.getRowHeight(sRow), newHeight = computeRowHeight(sRow, 0, this.colCount - 1, this);
606
+ rows.push(sRow), deltaYs.push(newHeight - oldHeight);
607
+ }
608
+ this.scenegraph.updateRowsHeight(rows, deltaYs);
609
+ }
610
+ this.scenegraph.updateNextFrame();
539
611
  }
540
612
  addRecord(record, recordIndex) {
541
- listTableAddRecord(record, recordIndex, this);
613
+ if (this.sortState) this.dataSource.addRecordForSorted(record), sortRecords(this),
614
+ this.refreshRowColCount(), this.scenegraph.clearCells(), this.scenegraph.createSceneGraph(); else {
615
+ (void 0 === recordIndex || recordIndex > this.dataSource.sourceLength) && (recordIndex = this.dataSource.sourceLength);
616
+ const headerCount = this.transpose ? this.rowHeaderLevelCount : this.columnHeaderLevelCount;
617
+ this.dataSource.addRecord(record, recordIndex);
618
+ const oldRowCount = this.rowCount;
619
+ if (this.refreshRowColCount(), 0 === this.scenegraph.proxy.totalActualBodyRowCount) return this.scenegraph.clearCells(),
620
+ void this.scenegraph.createSceneGraph();
621
+ const newRowCount = this.transpose ? this.colCount : this.rowCount;
622
+ if (this.pagination) {
623
+ const {perPageCount: perPageCount, currentPage: currentPage} = this.pagination, endIndex = perPageCount * (currentPage || 0) + perPageCount;
624
+ if (recordIndex < endIndex) if (recordIndex < endIndex - perPageCount) this.scenegraph.clearCells(),
625
+ this.scenegraph.createSceneGraph(); else {
626
+ const rowNum = recordIndex - (endIndex - perPageCount) + headerCount;
627
+ if (oldRowCount - headerCount === this.pagination.perPageCount) {
628
+ const updateRows = [];
629
+ for (let row = rowNum; row < newRowCount; row++) this.transpose ? updateRows.push({
630
+ col: row,
631
+ row: 0
632
+ }) : updateRows.push({
633
+ col: 0,
634
+ row: row
635
+ });
636
+ this.transpose ? this.scenegraph.updateCol([], [], updateRows) : this.scenegraph.updateRow([], [], updateRows);
637
+ } else {
638
+ const addRows = [];
639
+ for (let row = rowNum; row < Math.min(newRowCount, rowNum + 1); row++) this.transpose ? addRows.push({
640
+ col: row,
641
+ row: 0
642
+ }) : addRows.push({
643
+ col: 0,
644
+ row: row
645
+ });
646
+ this.transpose ? this.scenegraph.updateCol([], addRows, []) : this.scenegraph.updateRow([], addRows, []);
647
+ }
648
+ }
649
+ } else {
650
+ const addRows = [];
651
+ for (let row = recordIndex + headerCount; row < recordIndex + headerCount + 1; row++) this.transpose ? addRows.push({
652
+ col: row,
653
+ row: 0
654
+ }) : addRows.push({
655
+ col: 0,
656
+ row: row
657
+ });
658
+ this.transpose ? this.scenegraph.updateCol([], addRows, []) : this.scenegraph.updateRow([], addRows, []);
659
+ }
660
+ }
542
661
  }
543
662
  addRecords(records, recordIndex) {
544
- listTableAddRecords(records, recordIndex, this);
663
+ if (this.sortState) this.dataSource.addRecordsForSorted(records), sortRecords(this),
664
+ this.refreshRowColCount(), this.scenegraph.clearCells(), this.scenegraph.createSceneGraph(); else {
665
+ void 0 === recordIndex || recordIndex > this.dataSource.sourceLength ? recordIndex = this.dataSource.sourceLength : recordIndex < 0 && (recordIndex = 0);
666
+ const headerCount = this.transpose ? this.rowHeaderLevelCount : this.columnHeaderLevelCount;
667
+ this.dataSource.addRecords(records, recordIndex);
668
+ const oldRowCount = this.transpose ? this.colCount : this.rowCount;
669
+ if (this.refreshRowColCount(), 0 === this.scenegraph.proxy.totalActualBodyRowCount) return this.scenegraph.clearCells(),
670
+ void this.scenegraph.createSceneGraph();
671
+ const newRowCount = this.transpose ? this.colCount : this.rowCount;
672
+ if (this.pagination) {
673
+ const {perPageCount: perPageCount, currentPage: currentPage} = this.pagination, endIndex = perPageCount * (currentPage || 0) + perPageCount;
674
+ if (recordIndex < endIndex) if (recordIndex < endIndex - perPageCount) this.scenegraph.clearCells(),
675
+ this.scenegraph.createSceneGraph(); else {
676
+ const rowNum = recordIndex - (endIndex - perPageCount) + headerCount;
677
+ if (oldRowCount - headerCount === this.pagination.perPageCount) {
678
+ const updateRows = [];
679
+ for (let row = rowNum; row < newRowCount; row++) this.transpose ? updateRows.push({
680
+ col: row,
681
+ row: 0
682
+ }) : updateRows.push({
683
+ col: 0,
684
+ row: row
685
+ });
686
+ this.transpose ? this.scenegraph.updateCol([], [], updateRows) : this.scenegraph.updateRow([], [], updateRows);
687
+ } else {
688
+ const addRows = [];
689
+ for (let row = rowNum; row < Math.min(newRowCount, rowNum + (Array.isArray(records) ? records.length : 1)); row++) this.transpose ? addRows.push({
690
+ col: row,
691
+ row: 0
692
+ }) : addRows.push({
693
+ col: 0,
694
+ row: row
695
+ });
696
+ this.transpose ? this.scenegraph.updateCol([], addRows, []) : this.scenegraph.updateRow([], addRows, []);
697
+ }
698
+ }
699
+ } else {
700
+ const addRows = [];
701
+ for (let row = recordIndex + headerCount; row < recordIndex + headerCount + (Array.isArray(records) ? records.length : 1); row++) this.transpose ? addRows.push({
702
+ col: row,
703
+ row: 0
704
+ }) : addRows.push({
705
+ col: 0,
706
+ row: row
707
+ });
708
+ this.transpose ? this.scenegraph.updateCol([], addRows, []) : this.scenegraph.updateRow([], addRows, []);
709
+ }
710
+ }
545
711
  }
546
712
  deleteRecords(recordIndexs) {
547
- listTableDeleteRecords(recordIndexs, this);
713
+ if ((null == recordIndexs ? void 0 : recordIndexs.length) > 0) if (this.sortState) this.dataSource.deleteRecordsForSorted(recordIndexs),
714
+ sortRecords(this), this.refreshRowColCount(), this.scenegraph.clearCells(), this.scenegraph.createSceneGraph(); else {
715
+ const deletedRecordIndexs = this.dataSource.deleteRecords(recordIndexs);
716
+ if (0 === deletedRecordIndexs.length) return;
717
+ const oldRowCount = this.transpose ? this.colCount : this.rowCount;
718
+ this.refreshRowColCount();
719
+ const newRowCount = this.transpose ? this.colCount : this.rowCount, recordIndexsMinToMax = deletedRecordIndexs.sort(((a, b) => a - b)), minRecordIndex = recordIndexsMinToMax[0];
720
+ if (this.pagination) {
721
+ const {perPageCount: perPageCount, currentPage: currentPage} = this.pagination, endIndex = perPageCount * (currentPage || 0) + perPageCount;
722
+ if (minRecordIndex < endIndex) if (minRecordIndex < endIndex - perPageCount) this.scenegraph.clearCells(),
723
+ this.scenegraph.createSceneGraph(); else {
724
+ const updateRows = [], delRows = [];
725
+ for (let row = minRecordIndex - (endIndex - perPageCount) + (this.transpose ? this.rowHeaderLevelCount : this.columnHeaderLevelCount); row < newRowCount; row++) this.transpose ? updateRows.push({
726
+ col: row,
727
+ row: 0
728
+ }) : updateRows.push({
729
+ col: 0,
730
+ row: row
731
+ });
732
+ if (newRowCount < oldRowCount) for (let row = newRowCount; row < oldRowCount; row++) this.transpose ? delRows.push({
733
+ col: row,
734
+ row: 0
735
+ }) : delRows.push({
736
+ col: 0,
737
+ row: row
738
+ });
739
+ this.transpose ? this.scenegraph.updateCol(delRows, [], updateRows) : this.scenegraph.updateRow(delRows, [], updateRows);
740
+ }
741
+ } else {
742
+ const delRows = [];
743
+ for (let index = 0; index < recordIndexsMinToMax.length; index++) {
744
+ const rowNum = recordIndexsMinToMax[index] + (this.transpose ? this.rowHeaderLevelCount : this.columnHeaderLevelCount);
745
+ this.transpose ? delRows.push({
746
+ col: rowNum,
747
+ row: 0
748
+ }) : delRows.push({
749
+ col: 0,
750
+ row: rowNum
751
+ });
752
+ }
753
+ this.transpose ? this.scenegraph.updateCol(delRows, [], []) : this.scenegraph.updateRow(delRows, [], []);
754
+ }
755
+ }
548
756
  }
549
757
  updateRecords(records, recordIndexs) {
550
- listTableUpdateRecords(records, recordIndexs, this);
758
+ if ((null == recordIndexs ? void 0 : recordIndexs.length) > 0) if (this.sortState) this.dataSource.updateRecordsForSorted(records, recordIndexs),
759
+ sortRecords(this), this.refreshRowColCount(), this.scenegraph.clearCells(), this.scenegraph.createSceneGraph(); else {
760
+ const updateRecordIndexs = this.dataSource.updateRecords(records, recordIndexs);
761
+ if (0 === updateRecordIndexs.length) return;
762
+ const recordIndexsMinToMax = updateRecordIndexs.sort(((a, b) => a - b));
763
+ if (this.pagination) {
764
+ const {perPageCount: perPageCount, currentPage: currentPage} = this.pagination, endIndex = perPageCount * (currentPage || 0) + perPageCount, updateRows = [];
765
+ for (let index = 0; index < recordIndexsMinToMax.length; index++) {
766
+ const recordIndex = recordIndexsMinToMax[index];
767
+ if (recordIndex < endIndex && recordIndex >= endIndex - perPageCount) {
768
+ const rowNum = recordIndex - (endIndex - perPageCount) + (this.transpose ? this.rowHeaderLevelCount : this.columnHeaderLevelCount);
769
+ updateRows.push(rowNum);
770
+ }
771
+ }
772
+ if (updateRows.length >= 1) {
773
+ const updateRowCells = [];
774
+ for (let index = 0; index < updateRows.length; index++) {
775
+ const updateRow = updateRows[index];
776
+ this.transpose ? updateRowCells.push({
777
+ col: updateRow,
778
+ row: 0
779
+ }) : updateRowCells.push({
780
+ col: 0,
781
+ row: updateRow
782
+ });
783
+ }
784
+ this.transpose ? this.scenegraph.updateCol([], [], updateRowCells) : this.scenegraph.updateRow([], [], updateRowCells);
785
+ }
786
+ } else {
787
+ const updateRows = [];
788
+ for (let index = 0; index < recordIndexsMinToMax.length; index++) {
789
+ const rowNum = recordIndexsMinToMax[index] + (this.transpose ? this.rowHeaderLevelCount : this.columnHeaderLevelCount);
790
+ this.transpose ? updateRows.push({
791
+ col: rowNum,
792
+ row: 0
793
+ }) : updateRows.push({
794
+ col: 0,
795
+ row: rowNum
796
+ });
797
+ }
798
+ this.transpose ? this.scenegraph.updateCol([], [], updateRows) : this.scenegraph.updateRow([], [], updateRows);
799
+ }
800
+ }
551
801
  }
552
802
  _hasCustomRenderOrLayout() {
553
803
  var _a, _b, _c, _d;
@@ -583,13 +833,5 @@ export class ListTable extends BaseTable {
583
833
  isAggregation(col, row) {
584
834
  return this.internalProps.layoutMap.isAggregation(col, row);
585
835
  }
586
- getGroupTitleLevel(col, row) {
587
- var _a;
588
- if (!this.options.groupBy) return;
589
- const indexArr = this.dataSource.getIndexKey(this.getRecordShowIndexByCell(col, row)), groupLength = null !== (_a = this.dataSource.getGroupLength()) && void 0 !== _a ? _a : 0;
590
- let indexArrLngth = isArray(indexArr) ? indexArr.length - 1 : 0;
591
- return groupLength > 0 && indexArrLngth === groupLength && (indexArrLngth = void 0),
592
- indexArrLngth;
593
- }
594
836
  }
595
837
  //# sourceMappingURL=ListTable.js.map