@visactor/vtable 0.9.3-alpha.6 → 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 (237) hide show
  1. package/cjs/ListTable.d.ts +2 -1
  2. package/cjs/ListTable.js +9 -7
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotChart.d.ts +1 -0
  5. package/cjs/PivotChart.js +6 -5
  6. package/cjs/PivotChart.js.map +1 -1
  7. package/cjs/PivotTable.d.ts +1 -0
  8. package/cjs/PivotTable.js +7 -5
  9. package/cjs/PivotTable.js.map +1 -1
  10. package/cjs/components/axis/axis.d.ts +1 -0
  11. package/cjs/components/axis/axis.js +10 -1
  12. package/cjs/components/axis/axis.js.map +1 -1
  13. package/cjs/components/axis/get-axis-component-size.js +13 -9
  14. package/cjs/components/axis/get-axis-component-size.js.map +1 -1
  15. package/cjs/components/legend/legend.js +5 -3
  16. package/cjs/components/legend/legend.js.map +1 -1
  17. package/cjs/core/BaseTable.d.ts +8 -5
  18. package/cjs/core/BaseTable.js +40 -27
  19. package/cjs/core/BaseTable.js.map +1 -1
  20. package/cjs/event/drill.d.ts +2 -0
  21. package/cjs/event/drill.js +15 -2
  22. package/cjs/event/drill.js.map +1 -1
  23. package/cjs/event/event.js +2 -1
  24. package/cjs/event/event.js.map +1 -1
  25. package/cjs/event/listener/container-dom.js +1 -1
  26. package/cjs/event/listener/container-dom.js.map +1 -1
  27. package/cjs/event/listener/scroll-bar.js +2 -0
  28. package/cjs/event/listener/scroll-bar.js.map +1 -1
  29. package/cjs/event/pivot-chart/axis-click.js +3 -2
  30. package/cjs/event/pivot-chart/axis-click.js.map +1 -1
  31. package/cjs/event/scroll.js +8 -4
  32. package/cjs/event/scroll.js.map +1 -1
  33. package/cjs/index.d.ts +1 -1
  34. package/cjs/index.js +1 -1
  35. package/cjs/index.js.map +1 -1
  36. package/cjs/layout/chart-helper/get-axis-config.js +5 -5
  37. package/cjs/layout/chart-helper/get-axis-config.js.map +1 -1
  38. package/cjs/layout/chart-helper/get-chart-spec.js +2 -2
  39. package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
  40. package/cjs/layout/pivot-layout.js +4 -2
  41. package/cjs/layout/pivot-layout.js.map +1 -1
  42. package/cjs/render/layout/text.js +1 -0
  43. package/cjs/render/layout/text.js.map +1 -1
  44. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  45. package/cjs/scenegraph/graphic/contributions/chart-render-helper.d.ts +8 -0
  46. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +66 -0
  47. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -0
  48. package/cjs/scenegraph/graphic/contributions/chart-render.js +9 -35
  49. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  50. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +6 -3
  51. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  52. package/cjs/scenegraph/graphic/text.js +6 -4
  53. package/cjs/scenegraph/graphic/text.js.map +1 -1
  54. package/cjs/scenegraph/group-creater/cell-helper.js +2 -1
  55. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  56. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +1 -1
  57. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  58. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +1 -1
  59. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  60. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +1 -1
  61. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  62. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +1 -1
  63. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  64. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +1 -1
  65. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  66. package/cjs/scenegraph/group-creater/column-helper.js +3 -3
  67. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  68. package/cjs/scenegraph/group-creater/init-scenegraph.d.ts +2 -0
  69. package/cjs/scenegraph/group-creater/init-scenegraph.js +61 -0
  70. package/cjs/scenegraph/group-creater/init-scenegraph.js.map +1 -0
  71. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +7 -2
  72. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  73. package/cjs/scenegraph/group-creater/progress/proxy.d.ts +1 -1
  74. package/cjs/scenegraph/group-creater/progress/proxy.js +12 -21
  75. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  76. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +36 -44
  77. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  78. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +5 -19
  79. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  80. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-column.d.ts +2 -0
  81. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-column.js +37 -0
  82. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-column.js.map +1 -0
  83. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  84. package/cjs/scenegraph/group-creater/progress/update-position/util.d.ts +8 -0
  85. package/cjs/scenegraph/group-creater/progress/update-position/util.js +70 -0
  86. package/cjs/scenegraph/group-creater/progress/update-position/util.js.map +1 -0
  87. package/cjs/scenegraph/layout/compute-col-width.js +5 -3
  88. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  89. package/cjs/scenegraph/layout/compute-row-height.d.ts +1 -1
  90. package/cjs/scenegraph/layout/compute-row-height.js +26 -13
  91. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  92. package/cjs/scenegraph/layout/frozen.d.ts +2 -0
  93. package/cjs/scenegraph/layout/frozen.js +139 -6
  94. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  95. package/cjs/scenegraph/layout/update-height.js +2 -1
  96. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  97. package/cjs/scenegraph/layout/update-width.js +45 -66
  98. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  99. package/cjs/scenegraph/refresh-node/update-chart.js +8 -6
  100. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
  101. package/cjs/scenegraph/scenegraph.d.ts +9 -4
  102. package/cjs/scenegraph/scenegraph.js +39 -102
  103. package/cjs/scenegraph/scenegraph.js.map +1 -1
  104. package/cjs/scenegraph/style/corner-cell.d.ts +2 -2
  105. package/cjs/scenegraph/style/corner-cell.js +8 -9
  106. package/cjs/scenegraph/style/corner-cell.js.map +1 -1
  107. package/cjs/scenegraph/utils/measure-text.js +9 -8
  108. package/cjs/scenegraph/utils/measure-text.js.map +1 -1
  109. package/cjs/state/hover/update-position.js +1 -1
  110. package/cjs/state/hover/update-position.js.map +1 -1
  111. package/cjs/state/state.d.ts +1 -0
  112. package/cjs/state/state.js +4 -2
  113. package/cjs/state/state.js.map +1 -1
  114. package/cjs/ts-types/base-table.d.ts +10 -2
  115. package/cjs/ts-types/base-table.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 +1244 -790
  119. package/dist/vtable.min.js +3 -3
  120. package/es/ListTable.d.ts +2 -1
  121. package/es/ListTable.js +9 -7
  122. package/es/ListTable.js.map +1 -1
  123. package/es/PivotChart.d.ts +1 -0
  124. package/es/PivotChart.js +6 -5
  125. package/es/PivotChart.js.map +1 -1
  126. package/es/PivotTable.d.ts +1 -0
  127. package/es/PivotTable.js +7 -5
  128. package/es/PivotTable.js.map +1 -1
  129. package/es/components/axis/axis.d.ts +1 -0
  130. package/es/components/axis/axis.js +10 -1
  131. package/es/components/axis/axis.js.map +1 -1
  132. package/es/components/axis/get-axis-component-size.js +13 -9
  133. package/es/components/axis/get-axis-component-size.js.map +1 -1
  134. package/es/components/legend/legend.js +5 -3
  135. package/es/components/legend/legend.js.map +1 -1
  136. package/es/core/BaseTable.d.ts +8 -5
  137. package/es/core/BaseTable.js +34 -20
  138. package/es/core/BaseTable.js.map +1 -1
  139. package/es/event/drill.d.ts +2 -0
  140. package/es/event/drill.js +13 -0
  141. package/es/event/drill.js.map +1 -1
  142. package/es/event/event.js +3 -3
  143. package/es/event/event.js.map +1 -1
  144. package/es/event/listener/container-dom.js +1 -1
  145. package/es/event/listener/container-dom.js.map +1 -1
  146. package/es/event/listener/scroll-bar.js +2 -0
  147. package/es/event/listener/scroll-bar.js.map +1 -1
  148. package/es/event/pivot-chart/axis-click.js +3 -2
  149. package/es/event/pivot-chart/axis-click.js.map +1 -1
  150. package/es/event/scroll.js +4 -1
  151. package/es/event/scroll.js.map +1 -1
  152. package/es/index.d.ts +1 -1
  153. package/es/index.js +1 -1
  154. package/es/index.js.map +1 -1
  155. package/es/layout/chart-helper/get-axis-config.js +5 -5
  156. package/es/layout/chart-helper/get-axis-config.js.map +1 -1
  157. package/es/layout/chart-helper/get-chart-spec.js +2 -2
  158. package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
  159. package/es/layout/pivot-layout.js +4 -2
  160. package/es/layout/pivot-layout.js.map +1 -1
  161. package/es/render/layout/text.js +1 -0
  162. package/es/render/layout/text.js.map +1 -1
  163. package/es/scenegraph/graphic/chart.js.map +1 -1
  164. package/es/scenegraph/graphic/contributions/chart-render-helper.d.ts +8 -0
  165. package/es/scenegraph/graphic/contributions/chart-render-helper.js +61 -0
  166. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -0
  167. package/es/scenegraph/graphic/contributions/chart-render.js +9 -34
  168. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  169. package/es/scenegraph/graphic/contributions/group-contribution-render.js +7 -2
  170. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  171. package/es/scenegraph/graphic/text.js +6 -4
  172. package/es/scenegraph/graphic/text.js.map +1 -1
  173. package/es/scenegraph/group-creater/cell-helper.js +2 -1
  174. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  175. package/es/scenegraph/group-creater/cell-type/chart-cell.js +1 -1
  176. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  177. package/es/scenegraph/group-creater/cell-type/image-cell.js +1 -1
  178. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  179. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +1 -1
  180. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  181. package/es/scenegraph/group-creater/cell-type/text-cell.js +1 -1
  182. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  183. package/es/scenegraph/group-creater/cell-type/video-cell.js +1 -1
  184. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  185. package/es/scenegraph/group-creater/column-helper.js +3 -3
  186. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  187. package/es/scenegraph/group-creater/init-scenegraph.d.ts +2 -0
  188. package/es/scenegraph/group-creater/init-scenegraph.js +55 -0
  189. package/es/scenegraph/group-creater/init-scenegraph.js.map +1 -0
  190. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +6 -2
  191. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  192. package/es/scenegraph/group-creater/progress/proxy.d.ts +1 -1
  193. package/es/scenegraph/group-creater/progress/proxy.js +13 -18
  194. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  195. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +37 -44
  196. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  197. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +6 -22
  198. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  199. package/es/scenegraph/group-creater/progress/update-position/update-auto-column.d.ts +2 -0
  200. package/es/scenegraph/group-creater/progress/update-position/update-auto-column.js +29 -0
  201. package/es/scenegraph/group-creater/progress/update-position/update-auto-column.js.map +1 -0
  202. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  203. package/es/scenegraph/group-creater/progress/update-position/util.d.ts +8 -0
  204. package/es/scenegraph/group-creater/progress/update-position/util.js +60 -0
  205. package/es/scenegraph/group-creater/progress/update-position/util.js.map +1 -0
  206. package/es/scenegraph/layout/compute-col-width.js +4 -2
  207. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  208. package/es/scenegraph/layout/compute-row-height.d.ts +1 -1
  209. package/es/scenegraph/layout/compute-row-height.js +26 -13
  210. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  211. package/es/scenegraph/layout/frozen.d.ts +2 -0
  212. package/es/scenegraph/layout/frozen.js +137 -3
  213. package/es/scenegraph/layout/frozen.js.map +1 -1
  214. package/es/scenegraph/layout/update-height.js +2 -1
  215. package/es/scenegraph/layout/update-height.js.map +1 -1
  216. package/es/scenegraph/layout/update-width.js +45 -66
  217. package/es/scenegraph/layout/update-width.js.map +1 -1
  218. package/es/scenegraph/refresh-node/update-chart.js +9 -5
  219. package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
  220. package/es/scenegraph/scenegraph.d.ts +9 -4
  221. package/es/scenegraph/scenegraph.js +39 -104
  222. package/es/scenegraph/scenegraph.js.map +1 -1
  223. package/es/scenegraph/style/corner-cell.d.ts +2 -2
  224. package/es/scenegraph/style/corner-cell.js +4 -7
  225. package/es/scenegraph/style/corner-cell.js.map +1 -1
  226. package/es/scenegraph/utils/measure-text.js +10 -9
  227. package/es/scenegraph/utils/measure-text.js.map +1 -1
  228. package/es/state/hover/update-position.js +1 -1
  229. package/es/state/hover/update-position.js.map +1 -1
  230. package/es/state/state.d.ts +1 -0
  231. package/es/state/state.js +5 -1
  232. package/es/state/state.js.map +1 -1
  233. package/es/ts-types/base-table.d.ts +10 -2
  234. package/es/ts-types/base-table.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 +2 -2
@@ -41,8 +41,6 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
41
41
  stateManeger?: StateManeger;
42
42
  eventManeger?: EventManeger;
43
43
  _pixelRatio: number;
44
- bottomFrozenRowCount: number;
45
- rightFrozenColCount: number;
46
44
  static get EVENT_TYPE(): typeof TABLE_EVENT_TYPE;
47
45
  readonly options: BaseTableConstructorOptions;
48
46
  version: string;
@@ -50,9 +48,10 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
50
48
  id: string;
51
49
  headerStyleCache: any;
52
50
  bodyStyleCache: any;
53
- constructor(options?: BaseTableConstructorOptions);
51
+ container: HTMLElement;
52
+ constructor(container: HTMLElement, options?: BaseTableConstructorOptions);
54
53
  throttleInvalidate: (this: any, ...args: any[]) => void;
55
- getParentElement(): HTMLElement;
54
+ getContainer(): HTMLElement;
56
55
  getElement(): HTMLElement;
57
56
  get canvas(): HTMLCanvasElement;
58
57
  resize(): void;
@@ -67,6 +66,10 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
67
66
  _resetFrozenColCount(): void;
68
67
  get frozenRowCount(): number;
69
68
  set frozenRowCount(frozenRowCount: number);
69
+ get rightFrozenColCount(): number;
70
+ set rightFrozenColCount(rightFrozenColCount: number);
71
+ get bottomFrozenRowCount(): number;
72
+ set bottomFrozenRowCount(bottomFrozenRowCount: number);
70
73
  get defaultRowHeight(): number;
71
74
  set defaultRowHeight(defaultRowHeight: number);
72
75
  get defaultHeaderRowHeight(): number | number[];
@@ -115,7 +118,6 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
115
118
  getColsWidth(startCol: number, endCol: number): number;
116
119
  getRowHeight(row: number): number;
117
120
  setRowHeight(row: number, height: number, clearCache?: boolean): void;
118
- fillRowsHeight(rowStart: number, rowEnd: number, rowHeight: number): void;
119
121
  getRowsHeight(startRow: number, endRow: number): number;
120
122
  getColWidthDefine(col: number): string | number;
121
123
  getColWidth(col: number): number;
@@ -285,6 +287,7 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
285
287
  getSelectedCellInfos(): CellInfo[][];
286
288
  measureText(text: string, font: {
287
289
  fontSize: number;
290
+ fontWeight: string | number;
288
291
  fontFamily: string;
289
292
  }): ITextSize;
290
293
  measureTextBounds(attributes: IWrapTextGraphicAttribute): ITextSize;
@@ -36,7 +36,7 @@ import { HeaderHelper } from "../header-helper/header-helper";
36
36
 
37
37
  import { TooltipHandler } from "../components/tooltip/TooltipHandler";
38
38
 
39
- import { isBoolean } from "@visactor/vutils";
39
+ import { isBoolean, isFunction } from "@visactor/vutils";
40
40
 
41
41
  import { WrapText } from "../scenegraph/graphic/text";
42
42
 
@@ -60,6 +60,8 @@ import { DataSet } from "@visactor/vdataset";
60
60
 
61
61
  import { Title } from "../components/title/title";
62
62
 
63
+ import { setBatchRenderChartCount } from "../scenegraph/graphic/contributions/chart-render-helper";
64
+
63
65
  const {toBoxArray: toBoxArray} = utilStyle, {isTouchEvent: isTouchEvent} = event, rangeReg = /^\$(\d+)\$(\d+)$/;
64
66
 
65
67
  importStyle();
@@ -70,14 +72,15 @@ export class BaseTable extends EventTarget {
70
72
  static get EVENT_TYPE() {
71
73
  return TABLE_EVENT_TYPE;
72
74
  }
73
- constructor(options = {}) {
75
+ constructor(container, options = {}) {
74
76
  var _a, _b, _c, _d, _e, _f, _g;
75
- super(), this.showFrozenIcon = !0, this.showSort = !0, this.bottomFrozenRowCount = 0,
76
- this.rightFrozenColCount = 0, this.version = "0.9.3-alpha.6", this.id = `VTable${Date.now()}`,
77
- this.throttleInvalidate = throttle2(this.render.bind(this), 200);
78
- const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth, widthMode: widthMode = "standard", heightMode: heightMode = "standard", autoFillWidth: autoFillWidth = !1, keyboardOptions: keyboardOptions, parentElement: parentElement, columnResizeMode: columnResizeMode, dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, customRender: customRender, pixelRatio: pixelRatio = defaultPixelRatio} = options;
79
- this.options = options, this._widthMode = widthMode, this._heightMode = heightMode,
80
- this._autoFillWidth = autoFillWidth, this.customRender = customRender, this.padding = {
77
+ if (super(), this.showFrozenIcon = !0, this.showSort = !0, this.version = "0.10.0",
78
+ this.id = `VTable${Date.now()}`, this.throttleInvalidate = throttle2(this.render.bind(this), 200),
79
+ !container) throw new Error("vtable's container is undefined");
80
+ const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth, widthMode: widthMode = "standard", heightMode: heightMode = "standard", autoFillWidth: autoFillWidth = !1, keyboardOptions: keyboardOptions, columnResizeMode: columnResizeMode, dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, customRender: customRender, pixelRatio: pixelRatio = defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount} = options;
81
+ this.container = container, this.options = options, this.options.container = container,
82
+ this._widthMode = widthMode, this._heightMode = heightMode, this._autoFillWidth = autoFillWidth,
83
+ this.customRender = customRender, this.padding = {
81
84
  top: 0,
82
85
  right: 0,
83
86
  left: 0,
@@ -96,7 +99,8 @@ export class BaseTable extends EventTarget {
96
99
  internalProps.defaultRowHeight = defaultRowHeight, internalProps.defaultHeaderRowHeight = null != defaultHeaderRowHeight ? defaultHeaderRowHeight : defaultRowHeight,
97
100
  internalProps.defaultColWidth = defaultColWidth, internalProps.defaultHeaderColWidth = null != defaultHeaderColWidth ? defaultHeaderColWidth : defaultColWidth,
98
101
  internalProps.keyboardOptions = keyboardOptions, internalProps.columnResizeMode = columnResizeMode,
99
- internalProps.dragHeaderMode = dragHeaderMode, internalProps._rowHeightsMap = new NumberMap,
102
+ internalProps.dragHeaderMode = dragHeaderMode, internalProps.renderChartAsync = renderChartAsync,
103
+ setBatchRenderChartCount(renderChartAsyncBatchCount), internalProps._rowHeightsMap = new NumberMap,
100
104
  internalProps._rowRangeHeightsMap = new Map, internalProps._colRangeWidthsMap = new Map,
101
105
  this.colWidthsMap = new NumberMap, this.colContentWidthsMap = new NumberMap, this.colWidthsLimit = {},
102
106
  internalProps.calcWidthContext = {
@@ -106,7 +110,7 @@ export class BaseTable extends EventTarget {
106
110
  return this._.canvas.width / (null !== (_a = this._.context.pixelRatio) && void 0 !== _a ? _a : window.devicePixelRatio);
107
111
  }
108
112
  }, internalProps.cellTextOverflows = {}, internalProps.focusedTable = !1, internalProps.theme = themes.of(null !== (_a = options.theme) && void 0 !== _a ? _a : themes.DEFAULT),
109
- parentElement ? (parentElement.innerHTML = "", parentElement.appendChild(internalProps.element),
113
+ container ? (container.innerHTML = "", container.appendChild(internalProps.element),
110
114
  this._updateSize()) : this._updateSize(), this.options = options, internalProps.theme = themes.of(null !== (_b = options.theme) && void 0 !== _b ? _b : themes.DEFAULT),
111
115
  internalProps.bodyHelper = new BodyHelper(this), internalProps.headerHelper = new HeaderHelper(this),
112
116
  internalProps.autoWrapText = options.autoWrapText, internalProps.allowFrozenColCount = null !== (_c = options.allowFrozenColCount) && void 0 !== _c ? _c : internalProps.colCount,
@@ -131,8 +135,8 @@ export class BaseTable extends EventTarget {
131
135
  "html" === internalProps.menu.renderMode && (internalProps.menuHandler = new MenuHandler(this)),
132
136
  this.headerStyleCache = new Map, this.bodyStyleCache = new Map;
133
137
  }
134
- getParentElement() {
135
- return this.options.parentElement;
138
+ getContainer() {
139
+ return this.container;
136
140
  }
137
141
  getElement() {
138
142
  return this.internalProps.element;
@@ -184,6 +188,20 @@ export class BaseTable extends EventTarget {
184
188
  set frozenRowCount(frozenRowCount) {
185
189
  this.internalProps.frozenRowCount = frozenRowCount;
186
190
  }
191
+ get rightFrozenColCount() {
192
+ var _a;
193
+ return null !== (_a = this.internalProps.rightFrozenColCount) && void 0 !== _a ? _a : 0;
194
+ }
195
+ set rightFrozenColCount(rightFrozenColCount) {
196
+ this.scenegraph.dealWidthRightFrozen(rightFrozenColCount);
197
+ }
198
+ get bottomFrozenRowCount() {
199
+ var _a;
200
+ return null !== (_a = this.internalProps.bottomFrozenRowCount) && void 0 !== _a ? _a : 0;
201
+ }
202
+ set bottomFrozenRowCount(bottomFrozenRowCount) {
203
+ this.scenegraph.dealWidthBottomFrozen(bottomFrozenRowCount);
204
+ }
187
205
  get defaultRowHeight() {
188
206
  return this.internalProps.defaultRowHeight;
189
207
  }
@@ -350,11 +368,6 @@ export class BaseTable extends EventTarget {
350
368
  setRowHeight(row, height, clearCache) {
351
369
  this.rowHeightsMap.put(row, Math.round(height)), clearCache && this._clearRowRangeHeightsMap(row);
352
370
  }
353
- fillRowsHeight(rowStart, rowEnd, rowHeight) {
354
- var _a;
355
- for (let row = rowStart; row <= rowEnd; row++) this.rowHeightsMap.put(row, Math.round(rowHeight)),
356
- this._rowRangeHeightsMap.set(`$0$${row}`, Math.round((null !== (_a = this._rowRangeHeightsMap.get("$0$" + (row - 1))) && void 0 !== _a ? _a : 0) + rowHeight));
357
- }
358
371
  getRowsHeight(startRow, endRow) {
359
372
  var _a, _b;
360
373
  const cachedRowHeight = this._rowRangeHeightsMap.get(`$${startRow}$${endRow}`);
@@ -658,7 +671,7 @@ export class BaseTable extends EventTarget {
658
671
  updateOption(options) {
659
672
  var _a, _b, _c, _d, _e;
660
673
  this.options = options;
661
- const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth = 80, keyboardOptions: keyboardOptions, columnResizeMode: columnResizeMode, dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, pixelRatio: pixelRatio, widthMode: widthMode, heightMode: heightMode, autoFillWidth: autoFillWidth, customRender: customRender} = options;
674
+ const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth = 80, keyboardOptions: keyboardOptions, columnResizeMode: columnResizeMode, dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, pixelRatio: pixelRatio, widthMode: widthMode, heightMode: heightMode, autoFillWidth: autoFillWidth, customRender: customRender, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount} = options;
662
675
  pixelRatio && pixelRatio !== this.internalProps.pixelRatio && (this.internalProps.pixelRatio = pixelRatio),
663
676
  padding && ("number" == typeof padding ? (this.padding.top = padding, this.padding.left = padding,
664
677
  this.padding.bottom = padding, this.padding.right = padding) : (padding.top && (this.padding.top = padding.top),
@@ -673,7 +686,8 @@ export class BaseTable extends EventTarget {
673
686
  internalProps.defaultHeaderRowHeight = null != defaultHeaderRowHeight ? defaultHeaderRowHeight : defaultRowHeight,
674
687
  internalProps.defaultColWidth = defaultColWidth, internalProps.defaultHeaderColWidth = null != defaultHeaderColWidth ? defaultHeaderColWidth : defaultColWidth,
675
688
  internalProps.keyboardOptions = keyboardOptions, internalProps.columnResizeMode = columnResizeMode,
676
- internalProps.dragHeaderMode = dragHeaderMode, internalProps.cellTextOverflows = {},
689
+ internalProps.dragHeaderMode = dragHeaderMode, internalProps.renderChartAsync = renderChartAsync,
690
+ setBatchRenderChartCount(renderChartAsyncBatchCount), internalProps.cellTextOverflows = {},
677
691
  internalProps._rowHeightsMap = new NumberMap, internalProps._rowRangeHeightsMap = new Map,
678
692
  internalProps._colRangeWidthsMap = new Map, this.colWidthsMap = new NumberMap, this.colContentWidthsMap = new NumberMap,
679
693
  this.colWidthsLimit = {}, internalProps.theme = themes.of(null !== (_a = options.theme) && void 0 !== _a ? _a : themes.DEFAULT),
@@ -1096,7 +1110,7 @@ export class BaseTable extends EventTarget {
1096
1110
  value: this.getCellValue(col, row),
1097
1111
  dataValue: this.getCellOriginValue(col, row),
1098
1112
  cellHeaderPaths: this.getCellHeaderPaths(col, row)
1099
- }, styleClass, this.options.autoWrapText), this.bodyStyleCache.set(cacheKey, cacheStyle),
1113
+ }, styleClass, this.options.autoWrapText), isFunction(style) || this.bodyStyleCache.set(cacheKey, cacheStyle),
1100
1114
  cacheStyle;
1101
1115
  }
1102
1116
  clearCellStyleCache() {