@visactor/vtable 0.9.3-alpha.7 → 0.10.1-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 (241) hide show
  1. package/cjs/ListTable.d.ts +1 -2
  2. package/cjs/ListTable.js +8 -10
  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.js +10 -7
  7. package/cjs/PivotTable.js.map +1 -1
  8. package/cjs/components/axis/axis.d.ts +1 -0
  9. package/cjs/components/axis/axis.js +10 -1
  10. package/cjs/components/axis/axis.js.map +1 -1
  11. package/cjs/components/legend/legend.js +5 -3
  12. package/cjs/components/legend/legend.js.map +1 -1
  13. package/cjs/components/tooltip/TooltipHandler.js +2 -0
  14. package/cjs/components/tooltip/TooltipHandler.js.map +1 -1
  15. package/cjs/core/BaseTable.d.ts +4 -2
  16. package/cjs/core/BaseTable.js +35 -18
  17. package/cjs/core/BaseTable.js.map +1 -1
  18. package/cjs/event/drill.d.ts +2 -0
  19. package/cjs/event/drill.js +17 -2
  20. package/cjs/event/drill.js.map +1 -1
  21. package/cjs/event/event.js +3 -2
  22. package/cjs/event/event.js.map +1 -1
  23. package/cjs/event/listener/table-group.js +19 -9
  24. package/cjs/event/listener/table-group.js.map +1 -1
  25. package/cjs/event/pivot-chart/axis-click.js +3 -2
  26. package/cjs/event/pivot-chart/axis-click.js.map +1 -1
  27. package/cjs/index.d.ts +1 -1
  28. package/cjs/index.js +1 -1
  29. package/cjs/index.js.map +1 -1
  30. package/cjs/layout/chart-helper/get-axis-config.js +5 -5
  31. package/cjs/layout/chart-helper/get-axis-config.js.map +1 -1
  32. package/cjs/layout/chart-helper/get-chart-spec.js +2 -2
  33. package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
  34. package/cjs/layout/pivot-header-layout.d.ts +1 -0
  35. package/cjs/layout/pivot-header-layout.js +28 -4
  36. package/cjs/layout/pivot-header-layout.js.map +1 -1
  37. package/cjs/layout/pivot-layout.js +4 -2
  38. package/cjs/layout/pivot-layout.js.map +1 -1
  39. package/cjs/scenegraph/component/table-component.d.ts +3 -3
  40. package/cjs/scenegraph/component/table-component.js +6 -6
  41. package/cjs/scenegraph/component/table-component.js.map +1 -1
  42. package/cjs/scenegraph/component/util.d.ts +1 -1
  43. package/cjs/scenegraph/component/util.js +2 -1
  44. package/cjs/scenegraph/component/util.js.map +1 -1
  45. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  46. package/cjs/scenegraph/graphic/contributions/chart-render-helper.d.ts +8 -0
  47. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +66 -0
  48. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -0
  49. package/cjs/scenegraph/graphic/contributions/chart-render.js +9 -35
  50. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  51. package/cjs/scenegraph/group-creater/cell-helper.js +2 -1
  52. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  53. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +1 -1
  54. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  55. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +1 -1
  56. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  57. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +1 -1
  58. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  59. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +1 -1
  60. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  61. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +1 -1
  62. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  63. package/cjs/scenegraph/group-creater/column-helper.js +3 -3
  64. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  65. package/cjs/scenegraph/group-creater/init-scenegraph.d.ts +2 -0
  66. package/cjs/scenegraph/group-creater/init-scenegraph.js +61 -0
  67. package/cjs/scenegraph/group-creater/init-scenegraph.js.map +1 -0
  68. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +7 -2
  69. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  70. package/cjs/scenegraph/group-creater/progress/proxy.d.ts +1 -0
  71. package/cjs/scenegraph/group-creater/progress/proxy.js +9 -5
  72. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  73. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +35 -44
  74. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  75. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +3 -17
  76. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  77. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-column.d.ts +2 -0
  78. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-column.js +37 -0
  79. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-column.js.map +1 -0
  80. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  81. package/cjs/scenegraph/group-creater/progress/update-position/util.d.ts +8 -0
  82. package/cjs/scenegraph/group-creater/progress/update-position/util.js +70 -0
  83. package/cjs/scenegraph/group-creater/progress/update-position/util.js.map +1 -0
  84. package/cjs/scenegraph/layout/frozen.d.ts +2 -0
  85. package/cjs/scenegraph/layout/frozen.js +139 -6
  86. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  87. package/cjs/scenegraph/layout/update-height.js +2 -1
  88. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  89. package/cjs/scenegraph/layout/update-width.js +44 -64
  90. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  91. package/cjs/scenegraph/refresh-node/update-chart.js +8 -6
  92. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
  93. package/cjs/scenegraph/scenegraph.d.ts +10 -4
  94. package/cjs/scenegraph/scenegraph.js +53 -117
  95. package/cjs/scenegraph/scenegraph.js.map +1 -1
  96. package/cjs/scenegraph/style/corner-cell.d.ts +2 -2
  97. package/cjs/scenegraph/style/corner-cell.js +8 -9
  98. package/cjs/scenegraph/style/corner-cell.js.map +1 -1
  99. package/cjs/scenegraph/utils/update-container.d.ts +2 -0
  100. package/cjs/scenegraph/utils/update-container.js +13 -0
  101. package/cjs/scenegraph/utils/update-container.js.map +1 -0
  102. package/cjs/state/hover/update-position.js +1 -1
  103. package/cjs/state/hover/update-position.js.map +1 -1
  104. package/cjs/state/resize/update-resize-column.d.ts +2 -0
  105. package/cjs/state/resize/update-resize-column.js +72 -0
  106. package/cjs/state/resize/update-resize-column.js.map +1 -0
  107. package/cjs/state/sort/index.js +4 -2
  108. package/cjs/state/sort/index.js.map +1 -1
  109. package/cjs/state/state.d.ts +2 -1
  110. package/cjs/state/state.js +5 -24
  111. package/cjs/state/state.js.map +1 -1
  112. package/cjs/ts-types/base-table.d.ts +8 -0
  113. package/cjs/ts-types/base-table.js.map +1 -1
  114. package/cjs/ts-types/events.d.ts +1 -1
  115. package/cjs/ts-types/events.js.map +1 -1
  116. package/cjs/ts-types/table-engine.d.ts +1 -1
  117. package/cjs/ts-types/table-engine.js.map +1 -1
  118. package/dist/vtable.js +3357 -2080
  119. package/dist/vtable.min.js +3 -3
  120. package/es/ListTable.d.ts +1 -2
  121. package/es/ListTable.js +8 -10
  122. package/es/ListTable.js.map +1 -1
  123. package/es/PivotChart.js +10 -8
  124. package/es/PivotChart.js.map +1 -1
  125. package/es/PivotTable.js +10 -7
  126. package/es/PivotTable.js.map +1 -1
  127. package/es/components/axis/axis.d.ts +1 -0
  128. package/es/components/axis/axis.js +10 -1
  129. package/es/components/axis/axis.js.map +1 -1
  130. package/es/components/legend/legend.js +5 -3
  131. package/es/components/legend/legend.js.map +1 -1
  132. package/es/components/tooltip/TooltipHandler.js +2 -0
  133. package/es/components/tooltip/TooltipHandler.js.map +1 -1
  134. package/es/core/BaseTable.d.ts +4 -2
  135. package/es/core/BaseTable.js +29 -11
  136. package/es/core/BaseTable.js.map +1 -1
  137. package/es/event/drill.d.ts +2 -0
  138. package/es/event/drill.js +15 -0
  139. package/es/event/drill.js.map +1 -1
  140. package/es/event/event.js +4 -4
  141. package/es/event/event.js.map +1 -1
  142. package/es/event/listener/table-group.js +19 -9
  143. package/es/event/listener/table-group.js.map +1 -1
  144. package/es/event/pivot-chart/axis-click.js +3 -2
  145. package/es/event/pivot-chart/axis-click.js.map +1 -1
  146. package/es/index.d.ts +1 -1
  147. package/es/index.js +1 -1
  148. package/es/index.js.map +1 -1
  149. package/es/layout/chart-helper/get-axis-config.js +5 -5
  150. package/es/layout/chart-helper/get-axis-config.js.map +1 -1
  151. package/es/layout/chart-helper/get-chart-spec.js +2 -2
  152. package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
  153. package/es/layout/pivot-header-layout.d.ts +1 -0
  154. package/es/layout/pivot-header-layout.js +26 -4
  155. package/es/layout/pivot-header-layout.js.map +1 -1
  156. package/es/layout/pivot-layout.js +4 -2
  157. package/es/layout/pivot-layout.js.map +1 -1
  158. package/es/scenegraph/component/table-component.d.ts +3 -3
  159. package/es/scenegraph/component/table-component.js +6 -6
  160. package/es/scenegraph/component/table-component.js.map +1 -1
  161. package/es/scenegraph/component/util.d.ts +1 -1
  162. package/es/scenegraph/component/util.js +2 -1
  163. package/es/scenegraph/component/util.js.map +1 -1
  164. package/es/scenegraph/graphic/chart.js.map +1 -1
  165. package/es/scenegraph/graphic/contributions/chart-render-helper.d.ts +8 -0
  166. package/es/scenegraph/graphic/contributions/chart-render-helper.js +61 -0
  167. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -0
  168. package/es/scenegraph/graphic/contributions/chart-render.js +9 -34
  169. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  170. package/es/scenegraph/group-creater/cell-helper.js +2 -1
  171. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  172. package/es/scenegraph/group-creater/cell-type/chart-cell.js +1 -1
  173. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  174. package/es/scenegraph/group-creater/cell-type/image-cell.js +1 -1
  175. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  176. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +1 -1
  177. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  178. package/es/scenegraph/group-creater/cell-type/text-cell.js +1 -1
  179. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  180. package/es/scenegraph/group-creater/cell-type/video-cell.js +1 -1
  181. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  182. package/es/scenegraph/group-creater/column-helper.js +3 -3
  183. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  184. package/es/scenegraph/group-creater/init-scenegraph.d.ts +2 -0
  185. package/es/scenegraph/group-creater/init-scenegraph.js +55 -0
  186. package/es/scenegraph/group-creater/init-scenegraph.js.map +1 -0
  187. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +6 -2
  188. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  189. package/es/scenegraph/group-creater/progress/proxy.d.ts +1 -0
  190. package/es/scenegraph/group-creater/progress/proxy.js +10 -3
  191. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  192. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +36 -44
  193. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  194. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +2 -17
  195. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  196. package/es/scenegraph/group-creater/progress/update-position/update-auto-column.d.ts +2 -0
  197. package/es/scenegraph/group-creater/progress/update-position/update-auto-column.js +29 -0
  198. package/es/scenegraph/group-creater/progress/update-position/update-auto-column.js.map +1 -0
  199. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  200. package/es/scenegraph/group-creater/progress/update-position/util.d.ts +8 -0
  201. package/es/scenegraph/group-creater/progress/update-position/util.js +60 -0
  202. package/es/scenegraph/group-creater/progress/update-position/util.js.map +1 -0
  203. package/es/scenegraph/layout/frozen.d.ts +2 -0
  204. package/es/scenegraph/layout/frozen.js +137 -3
  205. package/es/scenegraph/layout/frozen.js.map +1 -1
  206. package/es/scenegraph/layout/update-height.js +2 -1
  207. package/es/scenegraph/layout/update-height.js.map +1 -1
  208. package/es/scenegraph/layout/update-width.js +44 -64
  209. package/es/scenegraph/layout/update-width.js.map +1 -1
  210. package/es/scenegraph/refresh-node/update-chart.js +9 -5
  211. package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
  212. package/es/scenegraph/scenegraph.d.ts +10 -4
  213. package/es/scenegraph/scenegraph.js +51 -119
  214. package/es/scenegraph/scenegraph.js.map +1 -1
  215. package/es/scenegraph/style/corner-cell.d.ts +2 -2
  216. package/es/scenegraph/style/corner-cell.js +4 -7
  217. package/es/scenegraph/style/corner-cell.js.map +1 -1
  218. package/es/scenegraph/utils/update-container.d.ts +2 -0
  219. package/es/scenegraph/utils/update-container.js +7 -0
  220. package/es/scenegraph/utils/update-container.js.map +1 -0
  221. package/es/state/hover/update-position.js +1 -1
  222. package/es/state/hover/update-position.js.map +1 -1
  223. package/es/state/resize/update-resize-column.d.ts +2 -0
  224. package/es/state/resize/update-resize-column.js +66 -0
  225. package/es/state/resize/update-resize-column.js.map +1 -0
  226. package/es/state/sort/index.js +4 -2
  227. package/es/state/sort/index.js.map +1 -1
  228. package/es/state/state.d.ts +2 -1
  229. package/es/state/state.js +6 -23
  230. package/es/state/state.js.map +1 -1
  231. package/es/ts-types/base-table.d.ts +8 -0
  232. package/es/ts-types/base-table.js.map +1 -1
  233. package/es/ts-types/events.d.ts +1 -1
  234. package/es/ts-types/events.js.map +1 -1
  235. package/es/ts-types/table-engine.d.ts +1 -1
  236. package/es/ts-types/table-engine.js.map +1 -1
  237. package/package.json +5 -5
  238. package/cjs/scenegraph/component/menu.d.ts +0 -41
  239. package/cjs/scenegraph/graphic/text.d.ts +0 -15
  240. package/es/scenegraph/component/menu.d.ts +0 -41
  241. package/es/scenegraph/graphic/text.d.ts +0 -15
@@ -1,6 +1,6 @@
1
1
  import type { IStage, IRect } from '@visactor/vrender';
2
2
  import { type CellAddress, type CellType, type ColumnIconOption, type SortOrder, IconFuncTypeEnum } from '../ts-types';
3
- import { Group } from './graphic/group';
3
+ import type { Group } from './graphic/group';
4
4
  import type { Icon } from './graphic/icon';
5
5
  import { TableComponent } from './component/table-component';
6
6
  import { SceneProxy } from './group-creater/progress/proxy';
@@ -20,9 +20,9 @@ export declare class Scenegraph {
20
20
  bodyGroup: Group;
21
21
  rightFrozenGroup: Group;
22
22
  bottomFrozenGroup: Group;
23
- rightTopCellGroup: Group;
24
- leftBottomCellGroup: Group;
25
- rightBottomCellGroup: Group;
23
+ rightTopCornerGroup: Group;
24
+ leftBottomCornerGroup: Group;
25
+ rightBottomCornerGroup: Group;
26
26
  componentGroup: Group;
27
27
  selectedRangeComponents: Map<string, {
28
28
  rect: IRect;
@@ -61,6 +61,9 @@ export declare class Scenegraph {
61
61
  highPerformanceGetCell(col: number, row: number, getShadow?: boolean): Group;
62
62
  getColGroup(col: number, isCornerOrColHeader?: boolean): Group;
63
63
  getColGroupInBottom(col: number): Group | undefined;
64
+ getColGroupInLeftBottomCorner(col: number): Group | undefined;
65
+ getColGroupInRightTopCorner(col: number): Group | undefined;
66
+ getColGroupInRightBottomCorner(col: number): Group | undefined;
64
67
  getCellSize(col: number, row: number): {
65
68
  width: number;
66
69
  height: number;
@@ -113,9 +116,12 @@ export declare class Scenegraph {
113
116
  col: number;
114
117
  row: number;
115
118
  x?: number;
119
+ rightFrozen?: boolean;
116
120
  };
117
121
  updateIcon(icon: Icon, iconConfig: ColumnIconOption): void;
118
122
  updateFrozen(): void;
123
+ dealWidthRightFrozen(rightFrozenColCount: number): void;
124
+ dealWidthBottomFrozen(bottomFrozenRowCount: number): void;
119
125
  updateBorderSizeAndPosition(): void;
120
126
  updateSortIcon(col: number, row: number, iconMark: Icon, order: SortOrder, oldSortCol: number, oldSortRow: number, oldIconMark: Icon | undefined): void;
121
127
  updateFrozenIcon(col: number, oldFrozenCol: number): void;
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", {
10
10
  value: !0
11
11
  }), exports.Scenegraph = void 0;
12
12
 
13
- const vrender_1 = require("@visactor/vrender"), ts_types_1 = require("../ts-types"), vutils_1 = require("@visactor/vutils"), group_1 = require("./graphic/group"), get_cell_merge_1 = require("./utils/get-cell-merge"), update_width_1 = require("./layout/update-width"), table_component_1 = require("./component/table-component"), update_height_1 = require("./layout/update-height"), image_cell_1 = require("./group-creater/cell-type/image-cell"), padding_1 = require("./utils/padding"), frame_border_1 = require("./style/frame-border"), global_1 = require("../tools/global"), contributions_1 = __importDefault(require("./graphic/contributions")), get_prop_1 = require("./utils/get-prop"), text_icon_layout_1 = require("./utils/text-icon-layout"), proxy_1 = require("./group-creater/progress/proxy"), compute_col_width_1 = require("./layout/compute-col-width"), move_cell_1 = require("./layout/move-cell"), cell_helper_1 = require("./group-creater/cell-helper"), update_select_border_1 = require("./select/update-select-border"), create_select_border_1 = require("./select/create-select-border"), move_select_border_1 = require("./select/move-select-border"), delete_select_border_1 = require("./select/delete-select-border"), update_row_1 = require("./layout/update-row"), stick_text_1 = require("./stick-text"), compute_row_height_1 = require("./layout/compute-row-height"), empty_group_1 = require("./utils/empty-group"), update_chart_1 = require("./refresh-node/update-chart"), frozen_1 = require("./layout/frozen"), corner_cell_1 = require("./style/corner-cell");
13
+ const vrender_1 = require("@visactor/vrender"), ts_types_1 = require("../ts-types"), vutils_1 = require("@visactor/vutils"), get_cell_merge_1 = require("./utils/get-cell-merge"), update_width_1 = require("./layout/update-width"), table_component_1 = require("./component/table-component"), update_height_1 = require("./layout/update-height"), image_cell_1 = require("./group-creater/cell-type/image-cell"), padding_1 = require("./utils/padding"), frame_border_1 = require("./style/frame-border"), global_1 = require("../tools/global"), contributions_1 = __importDefault(require("./graphic/contributions")), get_prop_1 = require("./utils/get-prop"), text_icon_layout_1 = require("./utils/text-icon-layout"), proxy_1 = require("./group-creater/progress/proxy"), compute_col_width_1 = require("./layout/compute-col-width"), move_cell_1 = require("./layout/move-cell"), cell_helper_1 = require("./group-creater/cell-helper"), update_select_border_1 = require("./select/update-select-border"), create_select_border_1 = require("./select/create-select-border"), move_select_border_1 = require("./select/move-select-border"), delete_select_border_1 = require("./select/delete-select-border"), update_row_1 = require("./layout/update-row"), stick_text_1 = require("./stick-text"), compute_row_height_1 = require("./layout/compute-row-height"), empty_group_1 = require("./utils/empty-group"), frozen_1 = require("./layout/frozen"), update_chart_1 = require("./refresh-node/update-chart"), init_scenegraph_1 = require("./group-creater/init-scenegraph"), update_container_1 = require("./utils/update-container");
14
14
 
15
15
  vrender_1.container.load(contributions_1.default);
16
16
 
@@ -58,94 +58,14 @@ class Scenegraph {
58
58
  return this.transpose || this.isPivot ? this.table.rowCount - 1 : null !== (_a = this.proxy.rowEnd) && void 0 !== _a ? _a : 0;
59
59
  }
60
60
  initSceneGraph() {
61
- this.isPivot = this.table.isPivotTable(), this.transpose = this.table.options.transpose;
62
- const width = this.table.tableNoFrameWidth, height = this.table.tableNoFrameHeight;
63
- this.tableGroup = new group_1.Group({
64
- x: 0,
65
- y: 0,
66
- width: width,
67
- height: height,
68
- clip: !0,
69
- pickable: !1
70
- }), this.tableGroup.role = "table";
71
- const colHeaderGroup = new group_1.Group({
72
- x: 0,
73
- y: 0,
74
- width: 0,
75
- height: 0,
76
- clip: !1,
77
- pickable: !1
78
- });
79
- colHeaderGroup.role = "col-header", this.colHeaderGroup = colHeaderGroup;
80
- const cornerHeaderGroup = new group_1.Group({
81
- x: 0,
82
- y: 0,
83
- width: 0,
84
- height: 0,
85
- clip: !1,
86
- pickable: !1
87
- });
88
- cornerHeaderGroup.role = "corner-header", this.cornerHeaderGroup = cornerHeaderGroup;
89
- const rowHeaderGroup = new group_1.Group({
90
- x: 0,
91
- y: 0,
92
- width: 0,
93
- height: 0,
94
- clip: !1,
95
- pickable: !1
96
- });
97
- rowHeaderGroup.role = "row-header", this.rowHeaderGroup = rowHeaderGroup;
98
- const bodyGroup = new group_1.Group({
99
- x: 0,
100
- y: 0,
101
- width: width,
102
- height: 0,
103
- clip: !1,
104
- pickable: !1
105
- });
106
- bodyGroup.role = "body", this.bodyGroup = bodyGroup;
107
- const rightFrozenGroup = new group_1.Group({
108
- x: 0,
109
- y: 0,
110
- width: width,
111
- height: 0,
112
- clip: !1,
113
- pickable: !1
114
- });
115
- rightFrozenGroup.role = "right-frozen", this.rightFrozenGroup = rightFrozenGroup;
116
- const bottomFrozenGroup = new group_1.Group({
117
- x: 0,
118
- y: 0,
119
- width: width,
120
- height: 0,
121
- clip: !1,
122
- pickable: !1
123
- });
124
- bottomFrozenGroup.role = "bottom-frozen", this.bottomFrozenGroup = bottomFrozenGroup;
125
- const componentGroup = new group_1.Group({
126
- x: 0,
127
- y: 0,
128
- width: 0,
129
- height: 0,
130
- clip: !1,
131
- pickable: !1,
132
- childrenPickable: !0
133
- });
134
- componentGroup.role = "component", this.componentGroup = componentGroup, this.rightTopCellGroup = (0,
135
- corner_cell_1.createCornerCell)(this.table.theme.cornerRightTopCellStyle || this.table.theme.cornerHeaderStyle),
136
- this.leftBottomCellGroup = (0, corner_cell_1.createCornerCell)(this.table.theme.cornerLeftBottomCellStyle || this.table.theme.cornerHeaderStyle),
137
- this.rightBottomCellGroup = (0, corner_cell_1.createCornerCell)(this.table.theme.cornerRightBottomCellStyle || this.table.theme.cornerHeaderStyle),
138
- this.tableGroup.addChild(bodyGroup), this.tableGroup.addChild(rightFrozenGroup),
139
- this.tableGroup.addChild(bottomFrozenGroup), this.tableGroup.addChild(rowHeaderGroup),
140
- this.tableGroup.addChild(colHeaderGroup), this.tableGroup.addChild(this.rightBottomCellGroup),
141
- this.tableGroup.addChild(this.rightTopCellGroup), this.tableGroup.addChild(this.leftBottomCellGroup),
142
- this.tableGroup.addChild(cornerHeaderGroup), this.tableGroup.addChild(componentGroup);
61
+ this.isPivot = this.table.isPivotTable(), this.transpose = this.table.options.transpose,
62
+ (0, init_scenegraph_1.initSceneGraph)(this);
143
63
  }
144
64
  clearCells() {
145
65
  this.clear = !0, this.hasFrozen = !1, this.mergeMap.clear(), this.colHeaderGroup.clear(),
146
66
  this.rowHeaderGroup.clear(), this.cornerHeaderGroup.clear(), this.bodyGroup.clear(),
147
- this.bottomFrozenGroup.clear(), this.rightFrozenGroup.clear(), this.rightTopCellGroup.clear(),
148
- this.rightBottomCellGroup.clear(), this.leftBottomCellGroup.clear(), this.colHeaderGroup.setAttributes({
67
+ this.bottomFrozenGroup.clear(), this.rightFrozenGroup.clear(), this.rightTopCornerGroup.clear(),
68
+ this.rightBottomCornerGroup.clear(), this.leftBottomCornerGroup.clear(), this.colHeaderGroup.setAttributes({
149
69
  x: 0,
150
70
  y: 0,
151
71
  width: 0,
@@ -175,19 +95,19 @@ class Scenegraph {
175
95
  y: 0,
176
96
  width: 0,
177
97
  height: 0
178
- }), this.rightTopCellGroup.setAttributes({
98
+ }), this.rightTopCornerGroup.setAttributes({
179
99
  x: 0,
180
100
  y: 0,
181
101
  width: 0,
182
102
  height: 0,
183
103
  visible: !1
184
- }), this.leftBottomCellGroup.setAttributes({
104
+ }), this.leftBottomCornerGroup.setAttributes({
185
105
  x: 0,
186
106
  y: 0,
187
107
  width: 0,
188
108
  height: 0,
189
109
  visible: !1
190
- }), this.rightTopCellGroup.setAttributes({
110
+ }), this.rightBottomCornerGroup.setAttributes({
191
111
  x: 0,
192
112
  y: 0,
193
113
  width: 0,
@@ -230,9 +150,9 @@ class Scenegraph {
230
150
  element || void 0;
231
151
  }
232
152
  getCell(col, row, getShadow) {
233
- var _a, _b, _c;
153
+ var _a, _b, _c, _d, _e, _f;
234
154
  let cell;
235
- if (cell = this.table.rightFrozenColCount > 0 && col > this.table.colCount - 1 - this.table.rightFrozenColCount ? null === (_a = this.rightFrozenGroup.getColGroup(col)) || void 0 === _a ? void 0 : _a.getRowGroup(row) : this.table.bottomFrozenRowCount > 0 && row > this.table.rowCount - 1 - this.table.bottomFrozenRowCount ? null === (_b = this.bottomFrozenGroup.getColGroup(col)) || void 0 === _b ? void 0 : _b.getRowGroup(row) : null === (_c = this.getColGroup(col, row < this.frozenRowCount)) || void 0 === _c ? void 0 : _c.getRowGroup(row),
155
+ if (cell = this.table.rightFrozenColCount > 0 && col >= this.table.colCount - this.table.rightFrozenColCount && row < this.table.frozenRowCount ? null === (_a = this.rightBottomCornerGroup.getColGroup(col)) || void 0 === _a ? void 0 : _a.getRowGroup(row) : this.table.bottomFrozenRowCount > 0 && row >= this.table.rowCount - this.table.bottomFrozenRowCount && col < this.table.frozenColCount ? null === (_b = this.leftBottomCornerGroup.getColGroup(col)) || void 0 === _b ? void 0 : _b.getRowGroup(row) : this.table.rightFrozenColCount > 0 && this.table.bottomFrozenRowCount > 0 && col >= this.table.colCount - this.table.rightFrozenColCount && row >= this.table.rowCount - this.table.bottomFrozenRowCount ? null === (_c = this.rightBottomCornerGroup.getColGroup(col)) || void 0 === _c ? void 0 : _c.getRowGroup(row) : this.table.rightFrozenColCount > 0 && col > this.table.colCount - 1 - this.table.rightFrozenColCount ? null === (_d = this.rightFrozenGroup.getColGroup(col)) || void 0 === _d ? void 0 : _d.getRowGroup(row) : this.table.bottomFrozenRowCount > 0 && row > this.table.rowCount - 1 - this.table.bottomFrozenRowCount ? null === (_e = this.bottomFrozenGroup.getColGroup(col)) || void 0 === _e ? void 0 : _e.getRowGroup(row) : null === (_f = this.getColGroup(col, row < this.frozenRowCount)) || void 0 === _f ? void 0 : _f.getRowGroup(row),
236
156
  cell && "shadow-cell" === cell.role && !getShadow) {
237
157
  const range = this.table.getCellRange(col, row);
238
158
  range.start.col === col && range.start.row === row || (cell = this.getCell(range.start.col, range.start.row));
@@ -250,6 +170,15 @@ class Scenegraph {
250
170
  getColGroupInBottom(col) {
251
171
  if (this.table.bottomFrozenRowCount > 0) return this.bottomFrozenGroup.getColGroup(col);
252
172
  }
173
+ getColGroupInLeftBottomCorner(col) {
174
+ if (this.table.bottomFrozenRowCount > 0) return this.leftBottomCornerGroup.getColGroup(col);
175
+ }
176
+ getColGroupInRightTopCorner(col) {
177
+ if (this.table.rightFrozenColCount > 0) return this.rightTopCornerGroup.getColGroup(col);
178
+ }
179
+ getColGroupInRightBottomCorner(col) {
180
+ if (this.table.rightFrozenColCount > 0 && this.table.bottomFrozenRowCount > 0) return this.rightBottomCornerGroup.getColGroup(col);
181
+ }
253
182
  getCellSize(col, row) {
254
183
  const cell = this.getCell(col, row), mergeInfo = (0, get_cell_merge_1.getCellMergeInfo)(this.table, col, row);
255
184
  let width = cell.attribute.width, height = cell.attribute.height;
@@ -394,28 +323,28 @@ class Scenegraph {
394
323
  updateTableSize() {
395
324
  var _a, _b;
396
325
  this.tableGroup.setAttributes({
397
- width: Math.min(this.table.tableNoFrameWidth, Math.max(this.colHeaderGroup.attribute.width, this.bodyGroup.attribute.width, 0) + Math.max(this.cornerHeaderGroup.attribute.width, this.rowHeaderGroup.attribute.width, 0) + this.rightBottomCellGroup.attribute.width),
326
+ width: Math.min(this.table.tableNoFrameWidth, Math.max(this.colHeaderGroup.attribute.width, this.bodyGroup.attribute.width, 0) + Math.max(this.cornerHeaderGroup.attribute.width, this.rowHeaderGroup.attribute.width, 0) + this.rightBottomCornerGroup.attribute.width),
398
327
  height: Math.min(this.table.tableNoFrameHeight, (null !== (_a = this.colHeaderGroup.attribute.height) && void 0 !== _a ? _a : 0) + (null !== (_b = this.bodyGroup.attribute.height) && void 0 !== _b ? _b : 0) + this.bottomFrozenGroup.attribute.height)
399
328
  }), this.tableGroup.border && this.tableGroup.border.setAttributes({
400
329
  width: this.tableGroup.attribute.width + this.tableGroup.border.attribute.lineWidth,
401
330
  height: this.tableGroup.attribute.height + this.tableGroup.border.attribute.lineWidth
402
331
  }), this.table.bottomFrozenRowCount > 0 && (this.bottomFrozenGroup.setAttribute("y", this.tableGroup.attribute.height - this.bottomFrozenGroup.attribute.height),
403
- this.leftBottomCellGroup.setAttributes({
332
+ this.leftBottomCornerGroup.setAttributes({
404
333
  visible: !0,
405
334
  y: this.tableGroup.attribute.height - this.bottomFrozenGroup.attribute.height,
406
335
  height: this.bottomFrozenGroup.attribute.height,
407
336
  width: this.table.getFrozenColsWidth()
408
- }), this.rightBottomCellGroup.setAttributes({
337
+ }), this.rightBottomCornerGroup.setAttributes({
409
338
  visible: !0,
410
339
  y: this.tableGroup.attribute.height - this.bottomFrozenGroup.attribute.height,
411
340
  height: this.bottomFrozenGroup.attribute.height
412
341
  })), this.table.rightFrozenColCount > 0 && (this.rightFrozenGroup.setAttribute("x", this.tableGroup.attribute.width - this.rightFrozenGroup.attribute.width),
413
- this.rightTopCellGroup.setAttributes({
342
+ this.rightTopCornerGroup.setAttributes({
414
343
  visible: !0,
415
344
  x: this.tableGroup.attribute.width - this.rightFrozenGroup.attribute.width,
416
345
  width: this.rightFrozenGroup.attribute.width,
417
346
  height: this.table.getFrozenRowsHeight()
418
- }), this.rightBottomCellGroup.setAttributes({
347
+ }), this.rightBottomCornerGroup.setAttributes({
419
348
  visible: !0,
420
349
  x: this.tableGroup.attribute.width - this.rightFrozenGroup.attribute.width,
421
350
  width: this.rightFrozenGroup.attribute.width
@@ -431,8 +360,9 @@ class Scenegraph {
431
360
  this.updateNextFrame();
432
361
  }
433
362
  updateContainerHeight(row, detaY) {
434
- row < this.frozenRowCount ? (this.colHeaderGroup.setDeltaHeight(detaY), this.cornerHeaderGroup.setDeltaHeight(detaY),
435
- this.rowHeaderGroup.setDeltaY(detaY), this.bodyGroup.setDeltaY(detaY)) : (this.rowHeaderGroup.setDeltaHeight(detaY),
363
+ row < this.table.frozenRowCount ? (this.colHeaderGroup.setDeltaHeight(detaY), this.cornerHeaderGroup.setDeltaHeight(detaY),
364
+ this.rowHeaderGroup.setDeltaY(detaY), this.bodyGroup.setDeltaY(detaY)) : row >= this.table.rowCount - this.table.bottomFrozenRowCount ? (this.leftBottomCornerGroup.setDeltaHeight(detaY),
365
+ this.bottomFrozenGroup.setDeltaHeight(detaY), this.rightBottomCornerGroup.setDeltaHeight(detaY)) : (this.rowHeaderGroup.setDeltaHeight(detaY),
436
366
  this.bodyGroup.setDeltaHeight(detaY)), this.updateTableSize(), this.component.updateScrollBar(),
437
367
  this.updateNextFrame();
438
368
  }
@@ -559,24 +489,21 @@ class Scenegraph {
559
489
  (0, move_cell_1.moveHeaderPosition)(colSource, rowSource, colTarget, rowTarget, this.table);
560
490
  }
561
491
  updateContainer() {
562
- let cornerX = 0;
563
- this.cornerHeaderGroup.forEachChildrenSkipChild(((column, index) => {
564
- column.setAttribute("x", cornerX), cornerX += column.attribute.width;
565
- }));
566
- let rowHeaderX = 0;
567
- this.rowHeaderGroup.forEachChildrenSkipChild(((column, index) => {
568
- column.setAttribute("x", rowHeaderX), rowHeaderX += column.attribute.width;
569
- }));
570
- let colHeaderX = 0;
571
- this.colHeaderGroup.forEachChildrenSkipChild(((column, index) => {
572
- column.setAttribute("x", colHeaderX), colHeaderX += column.attribute.width;
573
- }));
574
- let bodyX = 0;
575
- this.bodyGroup.forEachChildrenSkipChild(((column, index) => {
576
- column.setAttribute("x", bodyX), bodyX += column.attribute.width;
577
- })), this.cornerHeaderGroup.setDeltaWidth(cornerX - this.cornerHeaderGroup.attribute.width),
492
+ const cornerX = (0, update_container_1.updateContainerChildrenX)(this.cornerHeaderGroup), rowHeaderX = (0,
493
+ update_container_1.updateContainerChildrenX)(this.rowHeaderGroup), colHeaderX = (0,
494
+ update_container_1.updateContainerChildrenX)(this.colHeaderGroup), bodyX = (0, update_container_1.updateContainerChildrenX)(this.bodyGroup), rightX = (0,
495
+ update_container_1.updateContainerChildrenX)(this.rightFrozenGroup);
496
+ (0, update_container_1.updateContainerChildrenX)(this.bottomFrozenGroup), (0, update_container_1.updateContainerChildrenX)(this.leftBottomCornerGroup),
497
+ (0, update_container_1.updateContainerChildrenX)(this.rightTopCornerGroup), (0,
498
+ update_container_1.updateContainerChildrenX)(this.rightBottomCornerGroup), this.cornerHeaderGroup.setDeltaWidth(cornerX - this.cornerHeaderGroup.attribute.width),
499
+ this.leftBottomCornerGroup.setDeltaWidth(cornerX - this.leftBottomCornerGroup.attribute.width),
578
500
  this.colHeaderGroup.setDeltaWidth(colHeaderX - this.colHeaderGroup.attribute.width),
501
+ this.rightFrozenGroup.setDeltaWidth(colHeaderX - this.rightFrozenGroup.attribute.width),
579
502
  this.rowHeaderGroup.setDeltaWidth(rowHeaderX - this.rowHeaderGroup.attribute.width),
503
+ this.bottomFrozenGroup.setDeltaWidth(rowHeaderX - this.bottomFrozenGroup.attribute.width),
504
+ this.rightFrozenGroup.setDeltaWidth(rightX - this.rightFrozenGroup.attribute.width),
505
+ this.rightTopCornerGroup.setDeltaWidth(rightX - this.rightTopCornerGroup.attribute.width),
506
+ this.rightBottomCornerGroup.setDeltaWidth(rightX - this.rightBottomCornerGroup.attribute.width),
580
507
  this.bodyGroup.setDeltaWidth(bodyX - this.bodyGroup.attribute.width), this.colHeaderGroup.setAttribute("x", this.cornerHeaderGroup.attribute.width),
581
508
  this.bottomFrozenGroup.setAttribute("x", this.rowHeaderGroup.attribute.width), this.bodyGroup.setAttribute("x", this.rowHeaderGroup.attribute.width),
582
509
  this.updateTableSize();
@@ -599,16 +526,17 @@ class Scenegraph {
599
526
  }
600
527
  getResizeColAt(abstractX, abstractY, cellGroup, offset = global_1.ResizeColumnHotSpotSize / 2) {
601
528
  if (cellGroup) {
602
- if (abstractX < cellGroup.globalAABBBounds.x1 + offset) return {
529
+ let cell;
530
+ if (abstractX < cellGroup.globalAABBBounds.x1 + offset ? cell = {
603
531
  col: cellGroup.col - 1,
604
532
  row: cellGroup.row,
605
533
  x: cellGroup.globalAABBBounds.x1
606
- };
607
- if (cellGroup.globalAABBBounds.x2 - offset < abstractX) return {
534
+ } : cellGroup.globalAABBBounds.x2 - offset < abstractX && (cell = {
608
535
  col: cellGroup.col,
609
536
  row: cellGroup.row,
610
537
  x: cellGroup.globalAABBBounds.x2
611
- };
538
+ }), cell && this.table.rightFrozenColCount > 0 && cell.col === this.table.colCount - this.table.rightFrozenColCount - 1 && this.table.tableNoFrameWidth - this.table.getFrozenColsWidth() - this.table.getRightFrozenColsWidth() + this.table.scrollLeft < this.bodyGroup.attribute.width && (cell.col = cell.col + 1,
539
+ cell.rightFrozen = !0), cell) return cell;
612
540
  } else ;
613
541
  return {
614
542
  col: -1,
@@ -622,6 +550,14 @@ class Scenegraph {
622
550
  updateFrozen() {
623
551
  this.clear || (this.resetFrozen(), this.dealFrozen(), this.component.updateScrollBar());
624
552
  }
553
+ dealWidthRightFrozen(rightFrozenColCount) {
554
+ this.clear ? this.table.internalProps.rightFrozenColCount = rightFrozenColCount : (0,
555
+ frozen_1.dealRightFrozen)(rightFrozenColCount, this);
556
+ }
557
+ dealWidthBottomFrozen(bottomFrozenRowCount) {
558
+ this.clear ? this.table.internalProps.bottomFrozenRowCount = bottomFrozenRowCount : (0,
559
+ frozen_1.dealBottomFrozen)(bottomFrozenRowCount, this);
560
+ }
625
561
  updateBorderSizeAndPosition() {
626
562
  this.bodyGroup.border && (this.bodyGroup.appendChild(this.bodyGroup.border), (0,
627
563
  frame_border_1.updateFrameBorderSize)(this.bodyGroup), 0 === this.rowHeaderGroup.attribute.width ? (0,