@visactor/vtable 0.9.3-alpha.7 → 0.10.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 (179) hide show
  1. package/cjs/ListTable.js +6 -5
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/PivotTable.js +2 -2
  4. package/cjs/PivotTable.js.map +1 -1
  5. package/cjs/components/axis/axis.d.ts +1 -0
  6. package/cjs/components/axis/axis.js +10 -1
  7. package/cjs/components/axis/axis.js.map +1 -1
  8. package/cjs/components/legend/legend.js +5 -3
  9. package/cjs/components/legend/legend.js.map +1 -1
  10. package/cjs/core/BaseTable.d.ts +4 -2
  11. package/cjs/core/BaseTable.js +33 -16
  12. package/cjs/core/BaseTable.js.map +1 -1
  13. package/cjs/event/drill.d.ts +2 -0
  14. package/cjs/event/drill.js +15 -2
  15. package/cjs/event/drill.js.map +1 -1
  16. package/cjs/event/event.js +2 -1
  17. package/cjs/event/event.js.map +1 -1
  18. package/cjs/event/pivot-chart/axis-click.js +3 -2
  19. package/cjs/event/pivot-chart/axis-click.js.map +1 -1
  20. package/cjs/index.d.ts +1 -1
  21. package/cjs/index.js +1 -1
  22. package/cjs/index.js.map +1 -1
  23. package/cjs/layout/chart-helper/get-axis-config.js +5 -5
  24. package/cjs/layout/chart-helper/get-axis-config.js.map +1 -1
  25. package/cjs/layout/chart-helper/get-chart-spec.js +2 -2
  26. package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
  27. package/cjs/layout/pivot-layout.js +4 -2
  28. package/cjs/layout/pivot-layout.js.map +1 -1
  29. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  30. package/cjs/scenegraph/graphic/contributions/chart-render-helper.d.ts +8 -0
  31. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +66 -0
  32. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -0
  33. package/cjs/scenegraph/graphic/contributions/chart-render.js +9 -35
  34. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  35. package/cjs/scenegraph/group-creater/cell-helper.js +2 -1
  36. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  37. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +1 -1
  38. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  39. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +1 -1
  40. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  41. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +1 -1
  42. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  43. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +1 -1
  44. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  45. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +1 -1
  46. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  47. package/cjs/scenegraph/group-creater/column-helper.js +3 -3
  48. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  49. package/cjs/scenegraph/group-creater/init-scenegraph.d.ts +2 -0
  50. package/cjs/scenegraph/group-creater/init-scenegraph.js +61 -0
  51. package/cjs/scenegraph/group-creater/init-scenegraph.js.map +1 -0
  52. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +7 -2
  53. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  54. package/cjs/scenegraph/group-creater/progress/proxy.d.ts +1 -0
  55. package/cjs/scenegraph/group-creater/progress/proxy.js +9 -5
  56. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  57. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +35 -44
  58. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  59. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +3 -17
  60. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  61. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-column.d.ts +2 -0
  62. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-column.js +37 -0
  63. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-column.js.map +1 -0
  64. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  65. package/cjs/scenegraph/group-creater/progress/update-position/util.d.ts +8 -0
  66. package/cjs/scenegraph/group-creater/progress/update-position/util.js +70 -0
  67. package/cjs/scenegraph/group-creater/progress/update-position/util.js.map +1 -0
  68. package/cjs/scenegraph/layout/frozen.d.ts +2 -0
  69. package/cjs/scenegraph/layout/frozen.js +139 -6
  70. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  71. package/cjs/scenegraph/layout/update-height.js +2 -1
  72. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  73. package/cjs/scenegraph/layout/update-width.js +39 -64
  74. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  75. package/cjs/scenegraph/refresh-node/update-chart.js +8 -6
  76. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
  77. package/cjs/scenegraph/scenegraph.d.ts +9 -4
  78. package/cjs/scenegraph/scenegraph.js +35 -97
  79. package/cjs/scenegraph/scenegraph.js.map +1 -1
  80. package/cjs/scenegraph/style/corner-cell.d.ts +2 -2
  81. package/cjs/scenegraph/style/corner-cell.js +8 -9
  82. package/cjs/scenegraph/style/corner-cell.js.map +1 -1
  83. package/cjs/state/hover/update-position.js +1 -1
  84. package/cjs/state/hover/update-position.js.map +1 -1
  85. package/cjs/ts-types/base-table.d.ts +7 -0
  86. package/cjs/ts-types/base-table.js.map +1 -1
  87. package/cjs/ts-types/table-engine.d.ts +1 -1
  88. package/cjs/ts-types/table-engine.js.map +1 -1
  89. package/dist/vtable.js +1086 -689
  90. package/dist/vtable.min.js +3 -3
  91. package/es/ListTable.js +6 -5
  92. package/es/ListTable.js.map +1 -1
  93. package/es/PivotTable.js +2 -2
  94. package/es/PivotTable.js.map +1 -1
  95. package/es/components/axis/axis.d.ts +1 -0
  96. package/es/components/axis/axis.js +10 -1
  97. package/es/components/axis/axis.js.map +1 -1
  98. package/es/components/legend/legend.js +5 -3
  99. package/es/components/legend/legend.js.map +1 -1
  100. package/es/core/BaseTable.d.ts +4 -2
  101. package/es/core/BaseTable.js +27 -9
  102. package/es/core/BaseTable.js.map +1 -1
  103. package/es/event/drill.d.ts +2 -0
  104. package/es/event/drill.js +13 -0
  105. package/es/event/drill.js.map +1 -1
  106. package/es/event/event.js +3 -3
  107. package/es/event/event.js.map +1 -1
  108. package/es/event/pivot-chart/axis-click.js +3 -2
  109. package/es/event/pivot-chart/axis-click.js.map +1 -1
  110. package/es/index.d.ts +1 -1
  111. package/es/index.js +1 -1
  112. package/es/index.js.map +1 -1
  113. package/es/layout/chart-helper/get-axis-config.js +5 -5
  114. package/es/layout/chart-helper/get-axis-config.js.map +1 -1
  115. package/es/layout/chart-helper/get-chart-spec.js +2 -2
  116. package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
  117. package/es/layout/pivot-layout.js +4 -2
  118. package/es/layout/pivot-layout.js.map +1 -1
  119. package/es/scenegraph/graphic/chart.js.map +1 -1
  120. package/es/scenegraph/graphic/contributions/chart-render-helper.d.ts +8 -0
  121. package/es/scenegraph/graphic/contributions/chart-render-helper.js +61 -0
  122. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -0
  123. package/es/scenegraph/graphic/contributions/chart-render.js +9 -34
  124. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  125. package/es/scenegraph/group-creater/cell-helper.js +2 -1
  126. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  127. package/es/scenegraph/group-creater/cell-type/chart-cell.js +1 -1
  128. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  129. package/es/scenegraph/group-creater/cell-type/image-cell.js +1 -1
  130. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  131. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +1 -1
  132. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  133. package/es/scenegraph/group-creater/cell-type/text-cell.js +1 -1
  134. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  135. package/es/scenegraph/group-creater/cell-type/video-cell.js +1 -1
  136. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  137. package/es/scenegraph/group-creater/column-helper.js +3 -3
  138. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  139. package/es/scenegraph/group-creater/init-scenegraph.d.ts +2 -0
  140. package/es/scenegraph/group-creater/init-scenegraph.js +55 -0
  141. package/es/scenegraph/group-creater/init-scenegraph.js.map +1 -0
  142. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +6 -2
  143. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  144. package/es/scenegraph/group-creater/progress/proxy.d.ts +1 -0
  145. package/es/scenegraph/group-creater/progress/proxy.js +10 -3
  146. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  147. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +36 -44
  148. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  149. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +2 -17
  150. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  151. package/es/scenegraph/group-creater/progress/update-position/update-auto-column.d.ts +2 -0
  152. package/es/scenegraph/group-creater/progress/update-position/update-auto-column.js +29 -0
  153. package/es/scenegraph/group-creater/progress/update-position/update-auto-column.js.map +1 -0
  154. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  155. package/es/scenegraph/group-creater/progress/update-position/util.d.ts +8 -0
  156. package/es/scenegraph/group-creater/progress/update-position/util.js +60 -0
  157. package/es/scenegraph/group-creater/progress/update-position/util.js.map +1 -0
  158. package/es/scenegraph/layout/frozen.d.ts +2 -0
  159. package/es/scenegraph/layout/frozen.js +137 -3
  160. package/es/scenegraph/layout/frozen.js.map +1 -1
  161. package/es/scenegraph/layout/update-height.js +2 -1
  162. package/es/scenegraph/layout/update-height.js.map +1 -1
  163. package/es/scenegraph/layout/update-width.js +39 -64
  164. package/es/scenegraph/layout/update-width.js.map +1 -1
  165. package/es/scenegraph/refresh-node/update-chart.js +9 -5
  166. package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
  167. package/es/scenegraph/scenegraph.d.ts +9 -4
  168. package/es/scenegraph/scenegraph.js +35 -100
  169. package/es/scenegraph/scenegraph.js.map +1 -1
  170. package/es/scenegraph/style/corner-cell.d.ts +2 -2
  171. package/es/scenegraph/style/corner-cell.js +4 -7
  172. package/es/scenegraph/style/corner-cell.js.map +1 -1
  173. package/es/state/hover/update-position.js +1 -1
  174. package/es/state/hover/update-position.js.map +1 -1
  175. package/es/ts-types/base-table.d.ts +7 -0
  176. package/es/ts-types/base-table.js.map +1 -1
  177. package/es/ts-types/table-engine.d.ts +1 -1
  178. package/es/ts-types/table-engine.js.map +1 -1
  179. package/package.json +2 -2
@@ -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");
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
  }
@@ -622,6 +552,14 @@ class Scenegraph {
622
552
  updateFrozen() {
623
553
  this.clear || (this.resetFrozen(), this.dealFrozen(), this.component.updateScrollBar());
624
554
  }
555
+ dealWidthRightFrozen(rightFrozenColCount) {
556
+ this.clear ? this.table.internalProps.rightFrozenColCount = rightFrozenColCount : (0,
557
+ frozen_1.dealRightFrozen)(rightFrozenColCount, this);
558
+ }
559
+ dealWidthBottomFrozen(bottomFrozenRowCount) {
560
+ this.clear ? this.table.internalProps.bottomFrozenRowCount = bottomFrozenRowCount : (0,
561
+ frozen_1.dealBottomFrozen)(bottomFrozenRowCount, this);
562
+ }
625
563
  updateBorderSizeAndPosition() {
626
564
  this.bodyGroup.border && (this.bodyGroup.appendChild(this.bodyGroup.border), (0,
627
565
  frame_border_1.updateFrameBorderSize)(this.bodyGroup), 0 === this.rowHeaderGroup.attribute.width ? (0,