@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
@@ -4,8 +4,6 @@ import { IconFuncTypeEnum } from "../ts-types";
4
4
 
5
5
  import { isArray, isString } from "@visactor/vutils";
6
6
 
7
- import { Group } from "./graphic/group";
8
-
9
7
  import { getCellMergeInfo } from "./utils/get-cell-merge";
10
8
 
11
9
  import { updateColWidth } from "./layout/update-width";
@@ -52,11 +50,11 @@ import { computeRowsHeight } from "./layout/compute-row-height";
52
50
 
53
51
  import { emptyGroup } from "./utils/empty-group";
54
52
 
55
- import { updateChartSize, updateChartState } from "./refresh-node/update-chart";
53
+ import { dealBottomFrozen, dealFrozen, dealRightFrozen, resetFrozen } from "./layout/frozen";
56
54
 
57
- import { dealFrozen, resetFrozen } from "./layout/frozen";
55
+ import { updateChartSize, updateChartState } from "./refresh-node/update-chart";
58
56
 
59
- import { createCornerCell } from "./style/corner-cell";
57
+ import { initSceneGraph } from "./group-creater/init-scenegraph";
60
58
 
61
59
  container.load(splitModule);
62
60
 
@@ -104,93 +102,14 @@ export class Scenegraph {
104
102
  return this.transpose || this.isPivot ? this.table.rowCount - 1 : null !== (_a = this.proxy.rowEnd) && void 0 !== _a ? _a : 0;
105
103
  }
106
104
  initSceneGraph() {
107
- this.isPivot = this.table.isPivotTable(), this.transpose = this.table.options.transpose;
108
- const width = this.table.tableNoFrameWidth, height = this.table.tableNoFrameHeight;
109
- this.tableGroup = new Group({
110
- x: 0,
111
- y: 0,
112
- width: width,
113
- height: height,
114
- clip: !0,
115
- pickable: !1
116
- }), this.tableGroup.role = "table";
117
- const colHeaderGroup = new Group({
118
- x: 0,
119
- y: 0,
120
- width: 0,
121
- height: 0,
122
- clip: !1,
123
- pickable: !1
124
- });
125
- colHeaderGroup.role = "col-header", this.colHeaderGroup = colHeaderGroup;
126
- const cornerHeaderGroup = new Group({
127
- x: 0,
128
- y: 0,
129
- width: 0,
130
- height: 0,
131
- clip: !1,
132
- pickable: !1
133
- });
134
- cornerHeaderGroup.role = "corner-header", this.cornerHeaderGroup = cornerHeaderGroup;
135
- const rowHeaderGroup = new Group({
136
- x: 0,
137
- y: 0,
138
- width: 0,
139
- height: 0,
140
- clip: !1,
141
- pickable: !1
142
- });
143
- rowHeaderGroup.role = "row-header", this.rowHeaderGroup = rowHeaderGroup;
144
- const bodyGroup = new Group({
145
- x: 0,
146
- y: 0,
147
- width: width,
148
- height: 0,
149
- clip: !1,
150
- pickable: !1
151
- });
152
- bodyGroup.role = "body", this.bodyGroup = bodyGroup;
153
- const rightFrozenGroup = new Group({
154
- x: 0,
155
- y: 0,
156
- width: width,
157
- height: 0,
158
- clip: !1,
159
- pickable: !1
160
- });
161
- rightFrozenGroup.role = "right-frozen", this.rightFrozenGroup = rightFrozenGroup;
162
- const bottomFrozenGroup = new Group({
163
- x: 0,
164
- y: 0,
165
- width: width,
166
- height: 0,
167
- clip: !1,
168
- pickable: !1
169
- });
170
- bottomFrozenGroup.role = "bottom-frozen", this.bottomFrozenGroup = bottomFrozenGroup;
171
- const componentGroup = new Group({
172
- x: 0,
173
- y: 0,
174
- width: 0,
175
- height: 0,
176
- clip: !1,
177
- pickable: !1,
178
- childrenPickable: !0
179
- });
180
- componentGroup.role = "component", this.componentGroup = componentGroup, this.rightTopCellGroup = createCornerCell(this.table.theme.cornerRightTopCellStyle || this.table.theme.cornerHeaderStyle),
181
- this.leftBottomCellGroup = createCornerCell(this.table.theme.cornerLeftBottomCellStyle || this.table.theme.cornerHeaderStyle),
182
- this.rightBottomCellGroup = createCornerCell(this.table.theme.cornerRightBottomCellStyle || this.table.theme.cornerHeaderStyle),
183
- this.tableGroup.addChild(bodyGroup), this.tableGroup.addChild(rightFrozenGroup),
184
- this.tableGroup.addChild(bottomFrozenGroup), this.tableGroup.addChild(rowHeaderGroup),
185
- this.tableGroup.addChild(colHeaderGroup), this.tableGroup.addChild(this.rightBottomCellGroup),
186
- this.tableGroup.addChild(this.rightTopCellGroup), this.tableGroup.addChild(this.leftBottomCellGroup),
187
- this.tableGroup.addChild(cornerHeaderGroup), this.tableGroup.addChild(componentGroup);
105
+ this.isPivot = this.table.isPivotTable(), this.transpose = this.table.options.transpose,
106
+ initSceneGraph(this);
188
107
  }
189
108
  clearCells() {
190
109
  this.clear = !0, this.hasFrozen = !1, this.mergeMap.clear(), this.colHeaderGroup.clear(),
191
110
  this.rowHeaderGroup.clear(), this.cornerHeaderGroup.clear(), this.bodyGroup.clear(),
192
- this.bottomFrozenGroup.clear(), this.rightFrozenGroup.clear(), this.rightTopCellGroup.clear(),
193
- this.rightBottomCellGroup.clear(), this.leftBottomCellGroup.clear(), this.colHeaderGroup.setAttributes({
111
+ this.bottomFrozenGroup.clear(), this.rightFrozenGroup.clear(), this.rightTopCornerGroup.clear(),
112
+ this.rightBottomCornerGroup.clear(), this.leftBottomCornerGroup.clear(), this.colHeaderGroup.setAttributes({
194
113
  x: 0,
195
114
  y: 0,
196
115
  width: 0,
@@ -220,19 +139,19 @@ export class Scenegraph {
220
139
  y: 0,
221
140
  width: 0,
222
141
  height: 0
223
- }), this.rightTopCellGroup.setAttributes({
142
+ }), this.rightTopCornerGroup.setAttributes({
224
143
  x: 0,
225
144
  y: 0,
226
145
  width: 0,
227
146
  height: 0,
228
147
  visible: !1
229
- }), this.leftBottomCellGroup.setAttributes({
148
+ }), this.leftBottomCornerGroup.setAttributes({
230
149
  x: 0,
231
150
  y: 0,
232
151
  width: 0,
233
152
  height: 0,
234
153
  visible: !1
235
- }), this.rightTopCellGroup.setAttributes({
154
+ }), this.rightBottomCornerGroup.setAttributes({
236
155
  x: 0,
237
156
  y: 0,
238
157
  width: 0,
@@ -275,9 +194,9 @@ export class Scenegraph {
275
194
  element || void 0;
276
195
  }
277
196
  getCell(col, row, getShadow) {
278
- var _a, _b, _c;
197
+ var _a, _b, _c, _d, _e, _f;
279
198
  let cell;
280
- 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),
199
+ 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),
281
200
  cell && "shadow-cell" === cell.role && !getShadow) {
282
201
  const range = this.table.getCellRange(col, row);
283
202
  range.start.col === col && range.start.row === row || (cell = this.getCell(range.start.col, range.start.row));
@@ -295,6 +214,15 @@ export class Scenegraph {
295
214
  getColGroupInBottom(col) {
296
215
  if (this.table.bottomFrozenRowCount > 0) return this.bottomFrozenGroup.getColGroup(col);
297
216
  }
217
+ getColGroupInLeftBottomCorner(col) {
218
+ if (this.table.bottomFrozenRowCount > 0) return this.leftBottomCornerGroup.getColGroup(col);
219
+ }
220
+ getColGroupInRightTopCorner(col) {
221
+ if (this.table.rightFrozenColCount > 0) return this.rightTopCornerGroup.getColGroup(col);
222
+ }
223
+ getColGroupInRightBottomCorner(col) {
224
+ if (this.table.rightFrozenColCount > 0 && this.table.bottomFrozenRowCount > 0) return this.rightBottomCornerGroup.getColGroup(col);
225
+ }
298
226
  getCellSize(col, row) {
299
227
  const cell = this.getCell(col, row), mergeInfo = getCellMergeInfo(this.table, col, row);
300
228
  let width = cell.attribute.width, height = cell.attribute.height;
@@ -439,28 +367,28 @@ export class Scenegraph {
439
367
  updateTableSize() {
440
368
  var _a, _b;
441
369
  this.tableGroup.setAttributes({
442
- 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),
370
+ 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),
443
371
  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)
444
372
  }), this.tableGroup.border && this.tableGroup.border.setAttributes({
445
373
  width: this.tableGroup.attribute.width + this.tableGroup.border.attribute.lineWidth,
446
374
  height: this.tableGroup.attribute.height + this.tableGroup.border.attribute.lineWidth
447
375
  }), this.table.bottomFrozenRowCount > 0 && (this.bottomFrozenGroup.setAttribute("y", this.tableGroup.attribute.height - this.bottomFrozenGroup.attribute.height),
448
- this.leftBottomCellGroup.setAttributes({
376
+ this.leftBottomCornerGroup.setAttributes({
449
377
  visible: !0,
450
378
  y: this.tableGroup.attribute.height - this.bottomFrozenGroup.attribute.height,
451
379
  height: this.bottomFrozenGroup.attribute.height,
452
380
  width: this.table.getFrozenColsWidth()
453
- }), this.rightBottomCellGroup.setAttributes({
381
+ }), this.rightBottomCornerGroup.setAttributes({
454
382
  visible: !0,
455
383
  y: this.tableGroup.attribute.height - this.bottomFrozenGroup.attribute.height,
456
384
  height: this.bottomFrozenGroup.attribute.height
457
385
  })), this.table.rightFrozenColCount > 0 && (this.rightFrozenGroup.setAttribute("x", this.tableGroup.attribute.width - this.rightFrozenGroup.attribute.width),
458
- this.rightTopCellGroup.setAttributes({
386
+ this.rightTopCornerGroup.setAttributes({
459
387
  visible: !0,
460
388
  x: this.tableGroup.attribute.width - this.rightFrozenGroup.attribute.width,
461
389
  width: this.rightFrozenGroup.attribute.width,
462
390
  height: this.table.getFrozenRowsHeight()
463
- }), this.rightBottomCellGroup.setAttributes({
391
+ }), this.rightBottomCornerGroup.setAttributes({
464
392
  visible: !0,
465
393
  x: this.tableGroup.attribute.width - this.rightFrozenGroup.attribute.width,
466
394
  width: this.rightFrozenGroup.attribute.width
@@ -476,8 +404,9 @@ export class Scenegraph {
476
404
  this.updateNextFrame();
477
405
  }
478
406
  updateContainerHeight(row, detaY) {
479
- row < this.frozenRowCount ? (this.colHeaderGroup.setDeltaHeight(detaY), this.cornerHeaderGroup.setDeltaHeight(detaY),
480
- this.rowHeaderGroup.setDeltaY(detaY), this.bodyGroup.setDeltaY(detaY)) : (this.rowHeaderGroup.setDeltaHeight(detaY),
407
+ row < this.table.frozenRowCount ? (this.colHeaderGroup.setDeltaHeight(detaY), this.cornerHeaderGroup.setDeltaHeight(detaY),
408
+ this.rowHeaderGroup.setDeltaY(detaY), this.bodyGroup.setDeltaY(detaY)) : row >= this.table.rowCount - this.table.bottomFrozenRowCount ? (this.leftBottomCornerGroup.setDeltaHeight(detaY),
409
+ this.bottomFrozenGroup.setDeltaHeight(detaY), this.rightBottomCornerGroup.setDeltaHeight(detaY)) : (this.rowHeaderGroup.setDeltaHeight(detaY),
481
410
  this.bodyGroup.setDeltaHeight(detaY)), this.updateTableSize(), this.component.updateScrollBar(),
482
411
  this.updateNextFrame();
483
412
  }
@@ -665,6 +594,12 @@ export class Scenegraph {
665
594
  updateFrozen() {
666
595
  this.clear || (this.resetFrozen(), this.dealFrozen(), this.component.updateScrollBar());
667
596
  }
597
+ dealWidthRightFrozen(rightFrozenColCount) {
598
+ this.clear ? this.table.internalProps.rightFrozenColCount = rightFrozenColCount : dealRightFrozen(rightFrozenColCount, this);
599
+ }
600
+ dealWidthBottomFrozen(bottomFrozenRowCount) {
601
+ this.clear ? this.table.internalProps.bottomFrozenRowCount = bottomFrozenRowCount : dealBottomFrozen(bottomFrozenRowCount, this);
602
+ }
668
603
  updateBorderSizeAndPosition() {
669
604
  this.bodyGroup.border && (this.bodyGroup.appendChild(this.bodyGroup.border), updateFrameBorderSize(this.bodyGroup),
670
605
  0 === this.rowHeaderGroup.attribute.width ? updateFrameBorder(this.bodyGroup, this.table.theme.bodyStyle.frameStyle, [ !0, !0, !0, !0 ]) : updateFrameBorder(this.bodyGroup, this.table.theme.bodyStyle.frameStyle, [ !0, !0, !0, !1 ])),