@visactor/vtable 1.4.0-alpha.0 → 1.4.1-beta.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 (217) hide show
  1. package/cjs/ListTable.js +38 -26
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/PivotChart.d.ts +1 -2
  4. package/cjs/PivotChart.js +5 -11
  5. package/cjs/PivotChart.js.map +1 -1
  6. package/cjs/PivotTable.d.ts +1 -1
  7. package/cjs/PivotTable.js +40 -18
  8. package/cjs/PivotTable.js.map +1 -1
  9. package/cjs/components/empty-tip/empty-tip.js +2 -2
  10. package/cjs/components/empty-tip/empty-tip.js.map +1 -1
  11. package/cjs/components/react/react-custom-layout.d.ts +21 -0
  12. package/cjs/components/react/react-custom-layout.js +48 -0
  13. package/cjs/components/react/react-custom-layout.js.map +1 -0
  14. package/cjs/components/tooltip/TooltipHandler.js +1 -3
  15. package/cjs/components/tooltip/TooltipHandler.js.map +1 -1
  16. package/cjs/components/tooltip/logic/BubbleTooltipElement.js +7 -3
  17. package/cjs/components/tooltip/logic/BubbleTooltipElement.js.map +1 -1
  18. package/cjs/components/tooltip/logic/BubbleTooltipElementStyle.js +1 -1
  19. package/cjs/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -1
  20. package/cjs/core/BaseTable.d.ts +11 -27
  21. package/cjs/core/BaseTable.js +77 -180
  22. package/cjs/core/BaseTable.js.map +1 -1
  23. package/cjs/core/style.js +1 -1
  24. package/cjs/core/style.js.map +1 -1
  25. package/cjs/core/tableHelper.d.ts +2 -2
  26. package/cjs/core/tableHelper.js.map +1 -1
  27. package/cjs/core/utils/get-cell-position.d.ts +22 -0
  28. package/cjs/core/utils/get-cell-position.js +206 -0
  29. package/cjs/core/utils/get-cell-position.js.map +1 -0
  30. package/cjs/data/DataSource.d.ts +6 -1
  31. package/cjs/data/DataSource.js +12 -2
  32. package/cjs/data/DataSource.js.map +1 -1
  33. package/cjs/dataset/dataset.d.ts +17 -2
  34. package/cjs/dataset/dataset.js +195 -79
  35. package/cjs/dataset/dataset.js.map +1 -1
  36. package/cjs/dataset/statistics-helper.d.ts +43 -3
  37. package/cjs/dataset/statistics-helper.js +61 -26
  38. package/cjs/dataset/statistics-helper.js.map +1 -1
  39. package/cjs/event/listener/container-dom.js +3 -2
  40. package/cjs/event/listener/container-dom.js.map +1 -1
  41. package/cjs/event/listener/table-group.js +7 -5
  42. package/cjs/event/listener/table-group.js.map +1 -1
  43. package/cjs/index.d.ts +3 -1
  44. package/cjs/index.js +13 -4
  45. package/cjs/index.js.map +1 -1
  46. package/cjs/layout/layout-helper.js.map +1 -1
  47. package/cjs/layout/pivot-header-layout.d.ts +1 -0
  48. package/cjs/layout/pivot-header-layout.js +66 -39
  49. package/cjs/layout/pivot-header-layout.js.map +1 -1
  50. package/cjs/layout/row-height-map.js +1 -0
  51. package/cjs/layout/row-height-map.js.map +1 -1
  52. package/cjs/scenegraph/component/custom.js +6 -4
  53. package/cjs/scenegraph/component/custom.js.map +1 -1
  54. package/cjs/scenegraph/debug-tool/debug-tool.js.map +1 -1
  55. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  56. package/cjs/scenegraph/group-creater/cell-helper.js +6 -2
  57. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  58. package/cjs/scenegraph/group-creater/progress/proxy.d.ts +3 -2
  59. package/cjs/scenegraph/group-creater/progress/proxy.js +10 -10
  60. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  61. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.d.ts +2 -1
  62. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +2 -3
  63. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  64. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.d.ts +3 -2
  65. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +15 -14
  66. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  67. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js +7 -5
  68. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  69. package/cjs/scenegraph/layout/compute-col-width.js +2 -2
  70. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  71. package/cjs/scenegraph/layout/compute-row-height.js +7 -4
  72. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  73. package/cjs/scenegraph/layout/frozen.js +12 -4
  74. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  75. package/cjs/scenegraph/layout/update-width.js +3 -0
  76. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  77. package/cjs/scenegraph/scenegraph.d.ts +2 -1
  78. package/cjs/scenegraph/scenegraph.js +14 -5
  79. package/cjs/scenegraph/scenegraph.js.map +1 -1
  80. package/cjs/state/cell-move/index.js +1 -1
  81. package/cjs/state/cell-move/index.js.map +1 -1
  82. package/cjs/state/sort/index.js +2 -2
  83. package/cjs/state/sort/index.js.map +1 -1
  84. package/cjs/state/state.js +1 -1
  85. package/cjs/themes/component.js +1 -1
  86. package/cjs/themes/theme.js +6 -0
  87. package/cjs/themes/theme.js.map +1 -1
  88. package/cjs/ts-types/base-table.d.ts +21 -28
  89. package/cjs/ts-types/base-table.js.map +1 -1
  90. package/cjs/ts-types/customLayout.d.ts +1 -1
  91. package/cjs/ts-types/customLayout.js.map +1 -1
  92. package/cjs/ts-types/icon.d.ts +2 -0
  93. package/cjs/ts-types/icon.js.map +1 -1
  94. package/cjs/ts-types/new-data-set.d.ts +9 -1
  95. package/cjs/ts-types/new-data-set.js +1 -1
  96. package/cjs/ts-types/new-data-set.js.map +1 -1
  97. package/cjs/ts-types/pivot-table/corner.d.ts +12 -0
  98. package/cjs/ts-types/pivot-table/corner.js.map +1 -1
  99. package/cjs/ts-types/table-engine.d.ts +12 -0
  100. package/cjs/ts-types/table-engine.js.map +1 -1
  101. package/cjs/ts-types/theme.d.ts +2 -0
  102. package/cjs/ts-types/theme.js.map +1 -1
  103. package/cjs/ts-types/tooltip.d.ts +2 -0
  104. package/cjs/ts-types/tooltip.js.map +1 -1
  105. package/cjs/vrender.d.ts +4 -0
  106. package/cjs/vrender.js +39 -11
  107. package/cjs/vrender.js.map +1 -1
  108. package/dist/vtable.js +25888 -9830
  109. package/dist/vtable.min.js +2 -2
  110. package/es/ListTable.js +34 -23
  111. package/es/ListTable.js.map +1 -1
  112. package/es/PivotChart.d.ts +1 -2
  113. package/es/PivotChart.js +6 -12
  114. package/es/PivotChart.js.map +1 -1
  115. package/es/PivotTable.d.ts +1 -1
  116. package/es/PivotTable.js +41 -19
  117. package/es/PivotTable.js.map +1 -1
  118. package/es/components/empty-tip/empty-tip.js +2 -2
  119. package/es/components/empty-tip/empty-tip.js.map +1 -1
  120. package/es/components/react/react-custom-layout.d.ts +21 -0
  121. package/es/components/react/react-custom-layout.js +38 -0
  122. package/es/components/react/react-custom-layout.js.map +1 -0
  123. package/es/components/tooltip/TooltipHandler.js +1 -3
  124. package/es/components/tooltip/TooltipHandler.js.map +1 -1
  125. package/es/components/tooltip/logic/BubbleTooltipElement.js +7 -3
  126. package/es/components/tooltip/logic/BubbleTooltipElement.js.map +1 -1
  127. package/es/components/tooltip/logic/BubbleTooltipElementStyle.js +1 -1
  128. package/es/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -1
  129. package/es/core/BaseTable.d.ts +11 -27
  130. package/es/core/BaseTable.js +83 -181
  131. package/es/core/BaseTable.js.map +1 -1
  132. package/es/core/style.js +1 -1
  133. package/es/core/style.js.map +1 -1
  134. package/es/core/tableHelper.d.ts +2 -2
  135. package/es/core/tableHelper.js.map +1 -1
  136. package/es/core/utils/get-cell-position.d.ts +22 -0
  137. package/es/core/utils/get-cell-position.js +194 -0
  138. package/es/core/utils/get-cell-position.js.map +1 -0
  139. package/es/data/DataSource.d.ts +6 -1
  140. package/es/data/DataSource.js +12 -2
  141. package/es/data/DataSource.js.map +1 -1
  142. package/es/dataset/dataset.d.ts +17 -2
  143. package/es/dataset/dataset.js +195 -80
  144. package/es/dataset/dataset.js.map +1 -1
  145. package/es/dataset/statistics-helper.d.ts +43 -3
  146. package/es/dataset/statistics-helper.js +55 -23
  147. package/es/dataset/statistics-helper.js.map +1 -1
  148. package/es/event/listener/container-dom.js +3 -2
  149. package/es/event/listener/container-dom.js.map +1 -1
  150. package/es/event/listener/table-group.js +7 -5
  151. package/es/event/listener/table-group.js.map +1 -1
  152. package/es/index.d.ts +3 -1
  153. package/es/index.js +5 -1
  154. package/es/index.js.map +1 -1
  155. package/es/layout/layout-helper.js.map +1 -1
  156. package/es/layout/pivot-header-layout.d.ts +1 -0
  157. package/es/layout/pivot-header-layout.js +65 -37
  158. package/es/layout/pivot-header-layout.js.map +1 -1
  159. package/es/layout/row-height-map.js +1 -0
  160. package/es/layout/row-height-map.js.map +1 -1
  161. package/es/scenegraph/component/custom.js +7 -3
  162. package/es/scenegraph/component/custom.js.map +1 -1
  163. package/es/scenegraph/debug-tool/debug-tool.js.map +1 -1
  164. package/es/scenegraph/graphic/chart.js.map +1 -1
  165. package/es/scenegraph/group-creater/cell-helper.js +6 -2
  166. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  167. package/es/scenegraph/group-creater/progress/proxy.d.ts +3 -2
  168. package/es/scenegraph/group-creater/progress/proxy.js +10 -10
  169. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  170. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.d.ts +2 -1
  171. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +2 -3
  172. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  173. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.d.ts +3 -2
  174. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +15 -13
  175. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  176. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js +7 -5
  177. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  178. package/es/scenegraph/layout/compute-col-width.js +3 -3
  179. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  180. package/es/scenegraph/layout/compute-row-height.js +8 -5
  181. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  182. package/es/scenegraph/layout/frozen.js +12 -4
  183. package/es/scenegraph/layout/frozen.js.map +1 -1
  184. package/es/scenegraph/layout/update-width.js +3 -0
  185. package/es/scenegraph/layout/update-width.js.map +1 -1
  186. package/es/scenegraph/scenegraph.d.ts +2 -1
  187. package/es/scenegraph/scenegraph.js +14 -5
  188. package/es/scenegraph/scenegraph.js.map +1 -1
  189. package/es/state/cell-move/index.js +1 -1
  190. package/es/state/cell-move/index.js.map +1 -1
  191. package/es/state/sort/index.js +2 -2
  192. package/es/state/sort/index.js.map +1 -1
  193. package/es/state/state.js +1 -1
  194. package/es/themes/component.js +1 -1
  195. package/es/themes/theme.js +6 -0
  196. package/es/themes/theme.js.map +1 -1
  197. package/es/ts-types/base-table.d.ts +21 -28
  198. package/es/ts-types/base-table.js.map +1 -1
  199. package/es/ts-types/customLayout.d.ts +1 -1
  200. package/es/ts-types/customLayout.js.map +1 -1
  201. package/es/ts-types/icon.d.ts +2 -0
  202. package/es/ts-types/icon.js.map +1 -1
  203. package/es/ts-types/new-data-set.d.ts +9 -1
  204. package/es/ts-types/new-data-set.js +1 -1
  205. package/es/ts-types/new-data-set.js.map +1 -1
  206. package/es/ts-types/pivot-table/corner.d.ts +12 -0
  207. package/es/ts-types/pivot-table/corner.js.map +1 -1
  208. package/es/ts-types/table-engine.d.ts +12 -0
  209. package/es/ts-types/table-engine.js.map +1 -1
  210. package/es/ts-types/theme.d.ts +2 -0
  211. package/es/ts-types/theme.js.map +1 -1
  212. package/es/ts-types/tooltip.d.ts +2 -0
  213. package/es/ts-types/tooltip.js.map +1 -1
  214. package/es/vrender.d.ts +4 -0
  215. package/es/vrender.js +9 -3
  216. package/es/vrender.js.map +1 -1
  217. package/package.json +6 -6
@@ -33,7 +33,7 @@ Object.defineProperty(exports, "__esModule", {
33
33
  value: !0
34
34
  }), exports.BaseTable = void 0;
35
35
 
36
- const columnStyleContents = __importStar(require("../body-helper/style")), headerStyleContents = __importStar(require("../header-helper/style")), style_1 = require("./style"), style = __importStar(require("../tools/style")), ts_types_1 = require("../ts-types"), helper_1 = require("../tools/helper"), TABLE_EVENT_TYPE_1 = require("./TABLE_EVENT_TYPE"), EventHandler_1 = require("../event/EventHandler"), EventTarget_1 = require("../event/EventTarget"), NumberMap_1 = require("../tools/NumberMap"), Rect_1 = require("../tools/Rect"), util_1 = require("../tools/util"), themes_1 = __importDefault(require("../themes")), env_1 = require("../tools/env"), scenegraph_1 = require("../scenegraph/scenegraph"), state_1 = require("../state/state"), event_1 = require("../event/event"), body_helper_1 = require("../body-helper/body-helper"), header_helper_1 = require("../header-helper/header-helper"), TooltipHandler_1 = require("../components/tooltip/TooltipHandler"), vutils_1 = require("@visactor/vutils"), text_measure_1 = require("../scenegraph/utils/text-measure"), get_prop_1 = require("../scenegraph/utils/get-prop"), icons_1 = require("../plugins/icons"), tableHelper_1 = require("./tableHelper"), MenuHandler_1 = require("../components/menu/dom/MenuHandler"), FouseInput_1 = require("./FouseInput"), pixel_ratio_1 = require("../tools/pixel-ratio"), create_legend_1 = require("../components/legend/create-legend"), vdataset_1 = require("@visactor/vdataset"), chart_render_helper_1 = require("../scenegraph/graphic/contributions/chart-render-helper"), get_axis_config_1 = require("../layout/chart-helper/get-axis-config"), row_height_map_1 = require("../layout/row-height-map"), row_series_number_helper_1 = require("./row-series-number-helper"), custom_cell_style_1 = require("../plugins/custom-cell-style"), update_select_border_1 = require("../scenegraph/select/update-select-border"), layout_helper_1 = require("../layout/layout-helper"), {toBoxArray: toBoxArray} = helper_1.style, {isTouchEvent: isTouchEvent} = helper_1.event, rangeReg = /^\$(\d+)\$(\d+)$/;
36
+ const columnStyleContents = __importStar(require("../body-helper/style")), headerStyleContents = __importStar(require("../header-helper/style")), style_1 = require("./style"), style = __importStar(require("../tools/style")), ts_types_1 = require("../ts-types"), helper_1 = require("../tools/helper"), TABLE_EVENT_TYPE_1 = require("./TABLE_EVENT_TYPE"), EventHandler_1 = require("../event/EventHandler"), EventTarget_1 = require("../event/EventTarget"), NumberMap_1 = require("../tools/NumberMap"), Rect_1 = require("../tools/Rect"), util_1 = require("../tools/util"), themes_1 = __importDefault(require("../themes")), env_1 = require("../tools/env"), scenegraph_1 = require("../scenegraph/scenegraph"), state_1 = require("../state/state"), event_1 = require("../event/event"), body_helper_1 = require("../body-helper/body-helper"), header_helper_1 = require("../header-helper/header-helper"), TooltipHandler_1 = require("../components/tooltip/TooltipHandler"), vutils_1 = require("@visactor/vutils"), text_measure_1 = require("../scenegraph/utils/text-measure"), get_prop_1 = require("../scenegraph/utils/get-prop"), icons_1 = require("../plugins/icons"), tableHelper_1 = require("./tableHelper"), MenuHandler_1 = require("../components/menu/dom/MenuHandler"), FouseInput_1 = require("./FouseInput"), pixel_ratio_1 = require("../tools/pixel-ratio"), create_legend_1 = require("../components/legend/create-legend"), vdataset_1 = require("@visactor/vdataset"), chart_render_helper_1 = require("../scenegraph/graphic/contributions/chart-render-helper"), get_axis_config_1 = require("../layout/chart-helper/get-axis-config"), row_height_map_1 = require("../layout/row-height-map"), row_series_number_helper_1 = require("./row-series-number-helper"), custom_cell_style_1 = require("../plugins/custom-cell-style"), update_select_border_1 = require("../scenegraph/select/update-select-border"), react_custom_layout_1 = require("../components/react/react-custom-layout"), layout_helper_1 = require("../layout/layout-helper"), get_cell_position_1 = require("./utils/get-cell-position"), {toBoxArray: toBoxArray} = helper_1.style, {isTouchEvent: isTouchEvent} = helper_1.event, rangeReg = /^\$(\d+)\$(\d+)$/;
37
37
 
38
38
  (0, style_1.importStyle)();
39
39
 
@@ -44,8 +44,8 @@ class BaseTable extends EventTarget_1.EventTarget {
44
44
  return TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE;
45
45
  }
46
46
  constructor(container, options = {}) {
47
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
48
- if (super(), this.showFrozenIcon = !0, this.version = "1.4.0-alpha.0", this.id = `VTable${Date.now()}`,
47
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
48
+ if (super(), this.showFrozenIcon = !0, this.version = "1.4.1-beta.0", this.id = `VTable${Date.now()}`,
49
49
  this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = (0, util_1.throttle2)(this.render.bind(this), 200),
50
50
  !container && "node" !== options.mode && !options.canvas) throw new Error("vtable's container is undefined");
51
51
  const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth, widthMode: widthMode = "standard", heightMode: heightMode = "standard", autoFillWidth: autoFillWidth = !1, autoFillHeight: autoFillHeight = !1, widthAdaptiveMode: widthAdaptiveMode = "only-body", heightAdaptiveMode: heightAdaptiveMode = "only-body", keyboardOptions: keyboardOptions, eventOptions: eventOptions, rowSeriesNumber: rowSeriesNumber, columnResizeMode: columnResizeMode, rowResizeMode: rowResizeMode = "none", dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, customRender: customRender, pixelRatio: pixelRatio = pixel_ratio_1.defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, mode: mode, modeParams: modeParams, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth, limitMinHeight: limitMinHeight, clearDOM: clearDOM = !0} = options;
@@ -70,7 +70,10 @@ class BaseTable extends EventTarget_1.EventTarget {
70
70
  internalProps.canvas = this.options.canvas, internalProps.context = internalProps.canvas.getContext("2d")) : "node" !== env_1.Env.mode && (internalProps.element = (0,
71
71
  tableHelper_1.createRootElement)(this.padding), internalProps.focusControl = new FouseInput_1.FocusInput(this, internalProps.element),
72
72
  internalProps.canvas = document.createElement("canvas"), internalProps.element.appendChild(internalProps.canvas),
73
- internalProps.context = internalProps.canvas.getContext("2d")), internalProps.handler = new EventHandler_1.EventHandler,
73
+ internalProps.context = internalProps.canvas.getContext("2d"), (null === (_b = options.customConfig) || void 0 === _b ? void 0 : _b.createReactContainer) && (internalProps.bodyDomContainer = document.createElement("div"),
74
+ internalProps.bodyDomContainer.classList.add("table-component-container"), internalProps.element.appendChild(internalProps.bodyDomContainer),
75
+ internalProps.headerDomContainer = document.createElement("div"), internalProps.headerDomContainer.classList.add("table-component-container"),
76
+ internalProps.element.appendChild(internalProps.headerDomContainer))), internalProps.handler = new EventHandler_1.EventHandler,
74
77
  (0, vutils_1.isNumber)(this.options.resizeTime) && (internalProps.handler.resizeTime = this.options.resizeTime),
75
78
  internalProps.pixelRatio = pixelRatio, internalProps.frozenColCount = frozenColCount,
76
79
  internalProps.defaultRowHeight = defaultRowHeight, internalProps.defaultHeaderRowHeight = null != defaultHeaderRowHeight ? defaultHeaderRowHeight : defaultRowHeight,
@@ -90,15 +93,15 @@ class BaseTable extends EventTarget_1.EventTarget {
90
93
  var _a;
91
94
  return "node" === env_1.Env.mode ? canvasWidth / (null != pixelRatio ? pixelRatio : 1) : this._.canvas.width / (null !== (_a = this._.context.pixelRatio) && void 0 !== _a ? _a : window.devicePixelRatio);
92
95
  }
93
- }, internalProps.cellTextOverflows = {}, internalProps.focusedTable = !1, internalProps.theme = themes_1.default.of(null !== (_b = options.theme) && void 0 !== _b ? _b : themes_1.default.DEFAULT),
96
+ }, internalProps.cellTextOverflows = {}, internalProps.focusedTable = !1, internalProps.theme = themes_1.default.of(null !== (_c = options.theme) && void 0 !== _c ? _c : themes_1.default.DEFAULT),
94
97
  internalProps.theme.isPivot = this.isPivotTable(), container ? (clearDOM && (container.innerHTML = ""),
95
98
  container.appendChild(internalProps.element), this._updateSize()) : this._updateSize(),
96
- this.options = options, internalProps.theme = themes_1.default.of(null !== (_c = options.theme) && void 0 !== _c ? _c : themes_1.default.DEFAULT),
99
+ this.options = options, internalProps.theme = themes_1.default.of(null !== (_d = options.theme) && void 0 !== _d ? _d : themes_1.default.DEFAULT),
97
100
  internalProps.theme.isPivot = this.isPivotTable(), internalProps.bodyHelper = new body_helper_1.BodyHelper(this),
98
101
  internalProps.headerHelper = new header_helper_1.HeaderHelper(this), internalProps.rowSeriesNumberHelper = new row_series_number_helper_1.RowSeriesNumberHelper(this),
99
102
  internalProps.autoWrapText = options.autoWrapText, internalProps.enableLineBreak = options.enableLineBreak,
100
- internalProps.allowFrozenColCount = null !== (_d = options.allowFrozenColCount) && void 0 !== _d ? _d : 0,
101
- internalProps.limitMaxAutoWidth = null !== (_e = options.limitMaxAutoWidth) && void 0 !== _e ? _e : 450,
103
+ internalProps.allowFrozenColCount = null !== (_e = options.allowFrozenColCount) && void 0 !== _e ? _e : 0,
104
+ internalProps.limitMaxAutoWidth = null !== (_f = options.limitMaxAutoWidth) && void 0 !== _f ? _f : 450,
102
105
  internalProps.limitMinWidth = null != limitMinWidth ? "number" == typeof limitMinWidth ? limitMinWidth : limitMinWidth ? 10 : 0 : 10,
103
106
  internalProps.limitMinHeight = null != limitMinHeight ? "number" == typeof limitMinHeight ? limitMinHeight : limitMinHeight ? 10 : 0 : 10,
104
107
  this._vDataSet = new vdataset_1.DataSet, this.scenegraph = new scenegraph_1.Scenegraph(this),
@@ -122,13 +125,13 @@ class BaseTable extends EventTarget_1.EventTarget {
122
125
  }, options.tooltip), "html" === internalProps.tooltip.renderMode && (internalProps.tooltipHandler = new TooltipHandler_1.TooltipHandler(this, internalProps.tooltip.confine)),
123
126
  internalProps.menu = Object.assign({
124
127
  renderMode: "html"
125
- }, options.menu), Array.isArray(null === (_f = options.menu) || void 0 === _f ? void 0 : _f.dropDownMenuHighlight) && this.setDropDownMenuHighlight(null === (_g = options.menu) || void 0 === _g ? void 0 : _g.dropDownMenuHighlight),
126
- Array.isArray(null === (_h = options.menu) || void 0 === _h ? void 0 : _h.defaultHeaderMenuItems) && (this.globalDropDownMenu = options.menu.defaultHeaderMenuItems),
128
+ }, options.menu), Array.isArray(null === (_g = options.menu) || void 0 === _g ? void 0 : _g.dropDownMenuHighlight) && this.setDropDownMenuHighlight(null === (_h = options.menu) || void 0 === _h ? void 0 : _h.dropDownMenuHighlight),
129
+ Array.isArray(null === (_j = options.menu) || void 0 === _j ? void 0 : _j.defaultHeaderMenuItems) && (this.globalDropDownMenu = options.menu.defaultHeaderMenuItems),
127
130
  "html" === internalProps.menu.renderMode && (internalProps.menuHandler = new MenuHandler_1.MenuHandler(this)),
128
131
  this.headerStyleCache = new Map, this.bodyStyleCache = new Map, this.bodyBottomStyleCache = new Map,
129
132
  internalProps.stick = {
130
133
  changedCells: new Map
131
- }, internalProps.customMergeCell = options.customMergeCell, this.customCellStylePlugin = new custom_cell_style_1.CustomCellStylePlugin(this, null !== (_j = options.customCellStyle) && void 0 !== _j ? _j : [], null !== (_k = options.customCellStyleArrangement) && void 0 !== _k ? _k : []);
134
+ }, internalProps.customMergeCell = options.customMergeCell, this.customCellStylePlugin = new custom_cell_style_1.CustomCellStylePlugin(this, null !== (_k = options.customCellStyle) && void 0 !== _k ? _k : [], null !== (_l = options.customCellStyleArrangement) && void 0 !== _l ? _l : []);
132
135
  }
133
136
  getContainer() {
134
137
  return this.container;
@@ -160,8 +163,8 @@ class BaseTable extends EventTarget_1.EventTarget {
160
163
  this.internalProps.colCount = colCount;
161
164
  }
162
165
  get frozenColCount() {
163
- var _a, _b, _c;
164
- return null !== (_c = null !== (_b = null === (_a = this.internalProps.layoutMap) || void 0 === _a ? void 0 : _a.frozenColCount) && void 0 !== _b ? _b : this.internalProps.frozenColCount) && void 0 !== _c ? _c : 0;
166
+ var _a, _b, _c, _d, _e;
167
+ return null !== (_e = null !== (_c = null === (_b = null === (_a = this.internalProps) || void 0 === _a ? void 0 : _a.layoutMap) || void 0 === _b ? void 0 : _b.frozenColCount) && void 0 !== _c ? _c : null === (_d = this.internalProps) || void 0 === _d ? void 0 : _d.frozenColCount) && void 0 !== _e ? _e : 0;
165
168
  }
166
169
  set frozenColCount(frozenColCount) {
167
170
  frozenColCount >= this.colCount && (frozenColCount = 0), this.internalProps.frozenColCount = frozenColCount,
@@ -180,22 +183,22 @@ class BaseTable extends EventTarget_1.EventTarget {
180
183
  this.options.frozenColCount && (this.tableNoFrameWidth - this.getColsWidth(0, this.options.frozenColCount - 1) <= 120 ? this._setFrozenColCount(0) : this.frozenColCount !== this.options.frozenColCount && this._setFrozenColCount(this.options.frozenColCount));
181
184
  }
182
185
  get frozenRowCount() {
183
- var _a, _b, _c;
184
- return null !== (_c = null !== (_b = null === (_a = this.internalProps.layoutMap) || void 0 === _a ? void 0 : _a.frozenRowCount) && void 0 !== _b ? _b : this.internalProps.frozenRowCount) && void 0 !== _c ? _c : 0;
186
+ var _a, _b, _c, _d, _e;
187
+ return null !== (_e = null !== (_c = null === (_b = null === (_a = this.internalProps) || void 0 === _a ? void 0 : _a.layoutMap) || void 0 === _b ? void 0 : _b.frozenRowCount) && void 0 !== _c ? _c : null === (_d = this.internalProps) || void 0 === _d ? void 0 : _d.frozenRowCount) && void 0 !== _e ? _e : 0;
185
188
  }
186
189
  set frozenRowCount(frozenRowCount) {
187
190
  this.internalProps.frozenRowCount = frozenRowCount;
188
191
  }
189
192
  get rightFrozenColCount() {
190
- var _a, _b, _c;
191
- return null !== (_c = null !== (_b = null === (_a = this.internalProps.layoutMap) || void 0 === _a ? void 0 : _a.rightFrozenColCount) && void 0 !== _b ? _b : this.internalProps.rightFrozenColCount) && void 0 !== _c ? _c : 0;
193
+ var _a, _b, _c, _d, _e;
194
+ return null !== (_e = null !== (_c = null === (_b = null === (_a = this.internalProps) || void 0 === _a ? void 0 : _a.layoutMap) || void 0 === _b ? void 0 : _b.rightFrozenColCount) && void 0 !== _c ? _c : null === (_d = this.internalProps) || void 0 === _d ? void 0 : _d.rightFrozenColCount) && void 0 !== _e ? _e : 0;
192
195
  }
193
196
  set rightFrozenColCount(rightFrozenColCount) {
194
197
  this.scenegraph.dealWidthRightFrozen(rightFrozenColCount);
195
198
  }
196
199
  get bottomFrozenRowCount() {
197
- var _a, _b, _c;
198
- return null !== (_c = null !== (_b = null === (_a = this.internalProps.layoutMap) || void 0 === _a ? void 0 : _a.bottomFrozenRowCount) && void 0 !== _b ? _b : this.internalProps.bottomFrozenRowCount) && void 0 !== _c ? _c : 0;
200
+ var _a, _b, _c, _d, _e;
201
+ return null !== (_e = null !== (_c = null === (_b = null === (_a = this.internalProps) || void 0 === _a ? void 0 : _a.layoutMap) || void 0 === _b ? void 0 : _b.bottomFrozenRowCount) && void 0 !== _c ? _c : null === (_d = this.internalProps) || void 0 === _d ? void 0 : _d.bottomFrozenRowCount) && void 0 !== _e ? _e : 0;
199
202
  }
200
203
  set bottomFrozenRowCount(bottomFrozenRowCount) {
201
204
  this.scenegraph.dealWidthBottomFrozen(bottomFrozenRowCount);
@@ -359,7 +362,9 @@ class BaseTable extends EventTarget_1.EventTarget {
359
362
  heightP = null !== (_e = null === (_d = canvas.parentElement) || void 0 === _d ? void 0 : _d.offsetHeight) && void 0 !== _e ? _e : 0,
360
363
  (null === (_f = null == this ? void 0 : this.scenegraph) || void 0 === _f ? void 0 : _f.stage) ? this.scenegraph.stage.resize(widthP, heightP) : (canvas.style.width = "",
361
364
  canvas.style.height = "", canvas.width = widthP, canvas.height = heightP, canvas.style.width = `${widthP}px`,
362
- canvas.style.height = `${heightP}px`);
365
+ canvas.style.height = `${heightP}px`), this.internalProps.bodyDomContainer && (this.internalProps.bodyDomContainer.style.width = `${widthP}px`,
366
+ this.internalProps.bodyDomContainer.style.height = `${heightP}px`), this.internalProps.headerDomContainer && (this.internalProps.headerDomContainer.style.width = `${widthP}px`,
367
+ this.internalProps.headerDomContainer.style.height = `${heightP}px`);
363
368
  } else "node" === env_1.Env.mode && (widthP = this.canvasWidth - 1, heightP = this.canvasHeight - 1);
364
369
  const width = Math.floor(widthP - style.getScrollBarSize(this.getTheme().scrollStyle)), height = Math.floor(heightP - style.getScrollBarSize(this.getTheme().scrollStyle));
365
370
  if (null === (_g = this.internalProps.theme) || void 0 === _g ? void 0 : _g.frameStyle) {
@@ -531,9 +536,9 @@ class BaseTable extends EventTarget_1.EventTarget {
531
536
  let absoluteLeft;
532
537
  const width = this.getColWidth(col);
533
538
  let absoluteTop;
534
- absoluteLeft = isFrozenCell && isFrozenCell.col && this.isRightFrozenColumn(col, row) ? this.tableNoFrameWidth - (null !== (_a = this.getColsWidth(col, this.colCount - 1)) && void 0 !== _a ? _a : 0) : this.getColsWidth(0, col - 1) || 0;
539
+ absoluteLeft = isFrozenCell && isFrozenCell.col && this.isRightFrozenColumn(col, row) ? this.getAllColsWidth() <= this.tableNoFrameWidth ? this.getColsWidth(0, col - 1) || 0 : this.tableNoFrameWidth - (null !== (_a = this.getColsWidth(col, this.colCount - 1)) && void 0 !== _a ? _a : 0) : this.getColsWidth(0, col - 1) || 0;
535
540
  const height = this.getRowHeight(row);
536
- return absoluteTop = isFrozenCell && isFrozenCell.row && this.isBottomFrozenRow(col, row) ? this.tableNoFrameHeight - (null !== (_b = this.getRowsHeight(row, this.rowCount - 1)) && void 0 !== _b ? _b : 0) : this.getRowsHeight(0, row - 1),
541
+ return absoluteTop = isFrozenCell && isFrozenCell.row && this.isBottomFrozenRow(col, row) ? this.getAllRowsHeight() <= this.tableNoFrameHeight ? this.getRowsHeight(0, row - 1) : this.tableNoFrameHeight - (null !== (_b = this.getRowsHeight(row, this.rowCount - 1)) && void 0 !== _b ? _b : 0) : this.getRowsHeight(0, row - 1),
537
542
  new Rect_1.Rect(Math.round(absoluteLeft), Math.round(absoluteTop), Math.round(width), Math.round(height));
538
543
  }
539
544
  getMergeCellRect(col, row) {
@@ -612,41 +617,16 @@ class BaseTable extends EventTarget_1.EventTarget {
612
617
  } : null;
613
618
  }
614
619
  getRowAt(absoluteY) {
615
- const frozen = (0, tableHelper_1._getTargetFrozenRowAt)(this, absoluteY);
616
- if (frozen) return frozen;
617
- let row = this.getTargetRowAt(absoluteY);
618
- return row || (row = {
619
- top: -1,
620
- row: -1,
621
- bottom: -1,
622
- height: -1
623
- }), row;
620
+ return (0, get_cell_position_1.getRowAt)(absoluteY, this);
624
621
  }
625
622
  getColAt(absoluteX) {
626
- const frozen = (0, tableHelper_1._getTargetFrozenColAt)(this, absoluteX);
627
- if (frozen) return frozen;
628
- let col = this.getTargetColAt(absoluteX);
629
- return col || (col = {
630
- left: -1,
631
- col: -1,
632
- right: -1,
633
- width: 1
634
- }), col;
623
+ return (0, get_cell_position_1.getColAt)(absoluteX, this);
635
624
  }
636
625
  getCellAt(absoluteX, absoluteY) {
637
- const rowInfo = this.getRowAt(absoluteY), {row: row, top: top, bottom: bottom, height: height} = rowInfo, colInfo = this.getColAt(absoluteX), {col: col, left: left, right: right, width: width} = colInfo;
638
- return {
639
- row: row,
640
- col: col,
641
- rect: {
642
- left: left,
643
- right: right,
644
- top: top,
645
- bottom: bottom,
646
- width: width,
647
- height: height
648
- }
649
- };
626
+ return (0, get_cell_position_1.getCellAt)(absoluteX, absoluteY, this);
627
+ }
628
+ getCellAtRelativePosition(relativeX, relativeY) {
629
+ return (0, get_cell_position_1.getCellAtRelativePosition)(relativeX, relativeY, this);
650
630
  }
651
631
  _checkRowCol(col, row) {
652
632
  return col >= 0 && col < this.colCount && row >= 0 && row < this.rowCount;
@@ -807,7 +787,7 @@ class BaseTable extends EventTarget_1.EventTarget {
807
787
  this.autoFillWidth = null != autoFillWidth && autoFillWidth, this.autoFillHeight = null != autoFillHeight && autoFillHeight,
808
788
  this.customRender = customRender;
809
789
  const internalProps = this.internalProps;
810
- if ("node" !== env_1.Env.mode && (0, tableHelper_1.updateRootElementPadding)(internalProps.element, this.padding),
790
+ if ("node" === env_1.Env.mode || options.canvas || (0, tableHelper_1.updateRootElementPadding)(internalProps.element, this.padding),
811
791
  this.columnWidthComputeMode = null !== (_a = options.columnWidthComputeMode) && void 0 !== _a ? _a : "normal",
812
792
  internalProps.frozenColCount = frozenColCount, internalProps.defaultRowHeight = defaultRowHeight,
813
793
  internalProps.defaultHeaderRowHeight = null != defaultHeaderRowHeight ? defaultHeaderRowHeight : defaultRowHeight,
@@ -864,8 +844,8 @@ class BaseTable extends EventTarget_1.EventTarget {
864
844
  col: this.stateManager.hover.cellPos.col,
865
845
  row: this.stateManager.hover.cellPos.row
866
846
  };
867
- this.refreshHeader(), this.scenegraph.clearCells(), this.clearCellStyleCache(),
868
- this.scenegraph.createSceneGraph(), this.stateManager.updateHoverPos(oldHoverState.col, oldHoverState.row),
847
+ this.refreshHeader(), this.internalProps.useOneRowHeightFillAll = !1, this.scenegraph.clearCells(),
848
+ this.clearCellStyleCache(), this.scenegraph.createSceneGraph(), this.stateManager.updateHoverPos(oldHoverState.col, oldHoverState.row),
869
849
  this.render();
870
850
  }
871
851
  getFrozenRowsHeight() {
@@ -920,127 +900,16 @@ class BaseTable extends EventTarget_1.EventTarget {
920
900
  return this.internalProps.theme;
921
901
  }
922
902
  getTargetColAt(absoluteX) {
923
- if (0 === absoluteX) return {
924
- left: 0,
925
- col: 0,
926
- right: 0,
927
- width: 0
928
- };
929
- const findAfter = (startCol, startRight) => {
930
- let left = startRight - this.getColWidth(startCol);
931
- const {colCount: colCount} = this.internalProps;
932
- for (let col = startCol; col < colCount; col++) {
933
- const width = this.getColWidth(col), right = left + width;
934
- if (Math.round(left) <= Math.round(absoluteX) && Math.round(absoluteX) < Math.round(right)) return {
935
- left: left,
936
- col: col,
937
- right: right,
938
- width: width
939
- };
940
- left = right;
941
- }
942
- return null;
943
- }, candCol = this.computeTargetColByX(absoluteX), right = this.getColsWidth(0, candCol);
944
- return absoluteX >= right ? findAfter(candCol, right) : ((startCol, startRight) => {
945
- let right = startRight;
946
- for (let col = startCol; col >= 0; col--) {
947
- const width = this.getColWidth(col), left = right - width;
948
- if (Math.round(left) <= Math.round(absoluteX) && Math.round(absoluteX) < Math.round(right)) return {
949
- left: left,
950
- col: col,
951
- right: right,
952
- width: width
953
- };
954
- right = left;
955
- }
956
- return null;
957
- })(candCol, right);
903
+ return (0, get_cell_position_1.getTargetColAt)(absoluteX, this);
958
904
  }
959
905
  getTargetRowAt(absoluteY) {
960
- if (0 === absoluteY) return {
961
- top: 0,
962
- row: 0,
963
- bottom: 0,
964
- height: 0
965
- };
966
- const findAfter = (startRow, startBottom) => {
967
- let top = startBottom - this.getRowHeight(startRow);
968
- const {rowCount: rowCount} = this.internalProps;
969
- for (let row = startRow; row < rowCount; row++) {
970
- const height = this.getRowHeight(row), bottom = top + height;
971
- if (Math.round(top) <= Math.round(absoluteY) && Math.round(absoluteY) < Math.round(bottom)) return {
972
- top: top,
973
- row: row,
974
- bottom: bottom,
975
- height: height
976
- };
977
- top = bottom;
978
- }
979
- return null;
980
- }, candRow = this.computeTargetRowByY(absoluteY), bottom = this.getRowsHeight(0, candRow);
981
- return absoluteY >= bottom ? findAfter(candRow, bottom) : ((startRow, startBottom) => {
982
- let bottom = startBottom;
983
- for (let row = startRow; row >= 0; row--) {
984
- const height = this.getRowHeight(row), top = bottom - height;
985
- if (Math.round(top) <= Math.round(absoluteY) && Math.round(absoluteY) < Math.round(bottom)) return {
986
- top: top,
987
- row: row,
988
- bottom: bottom,
989
- height: height
990
- };
991
- bottom = top;
992
- }
993
- return null;
994
- })(candRow, bottom);
906
+ return (0, get_cell_position_1.getTargetRowAt)(absoluteY, this);
995
907
  }
996
908
  getTargetColAtConsiderRightFrozen(absoluteX, isConsider) {
997
- if (0 === absoluteX) return {
998
- left: 0,
999
- col: 0,
1000
- right: 0,
1001
- width: 0
1002
- };
1003
- if (isConsider && absoluteX > this.tableNoFrameWidth - this.getRightFrozenColsWidth() && absoluteX < this.tableNoFrameWidth) for (let i = 0; i < this.rightFrozenColCount; i++) if (absoluteX > this.tableNoFrameWidth - this.getColsWidth(this.colCount - i - 1, this.colCount - 1)) return {
1004
- col: this.colCount - i - 1,
1005
- left: void 0,
1006
- right: void 0,
1007
- width: void 0
1008
- };
1009
- return this.getTargetColAt(absoluteX);
909
+ return (0, get_cell_position_1.getTargetColAtConsiderRightFrozen)(absoluteX, isConsider, this);
1010
910
  }
1011
911
  getTargetRowAtConsiderBottomFrozen(absoluteY, isConsider) {
1012
- if (0 === absoluteY) return {
1013
- top: 0,
1014
- row: 0,
1015
- bottom: 0,
1016
- height: 0
1017
- };
1018
- if (isConsider && absoluteY > this.tableNoFrameHeight - this.getBottomFrozenRowsHeight() && absoluteY < this.tableNoFrameHeight) for (let i = 0; i < this.rightFrozenColCount; i++) if (absoluteY > this.tableNoFrameHeight - this.getRowsHeight(this.rowCount - i - 1, this.rowCount - 1)) return {
1019
- row: this.rowCount - i - 1,
1020
- top: void 0,
1021
- bottom: void 0,
1022
- height: void 0
1023
- };
1024
- return this.getTargetRowAt(absoluteY);
1025
- }
1026
- computeTargetRowByY(absoluteY) {
1027
- let defaultRowHeight = this.internalProps.defaultRowHeight;
1028
- return this._rowRangeHeightsMap.get("$0$" + (this.rowCount - 1)) && (defaultRowHeight = this._rowRangeHeightsMap.get("$0$" + (this.rowCount - 1)) / this.rowCount),
1029
- Math.min(Math.ceil(absoluteY / defaultRowHeight), this.rowCount - 1);
1030
- }
1031
- computeTargetColByX(absoluteX) {
1032
- if (this._colRangeWidthsMap.get("$0$" + (this.colCount - 1))) {
1033
- let startCol = 0, endCol = this.colCount - 1;
1034
- for (;endCol - startCol > 1; ) {
1035
- const midCol = Math.floor((startCol + endCol) / 2);
1036
- if (absoluteX < this._colRangeWidthsMap.get(`$0$${midCol}`)) endCol = midCol; else {
1037
- if (!(absoluteX > this._colRangeWidthsMap.get(`$0$${midCol}`))) return midCol;
1038
- startCol = midCol;
1039
- }
1040
- }
1041
- return endCol;
1042
- }
1043
- return Math.min(Math.ceil(absoluteX / this.internalProps.defaultColWidth), this.colCount - 1);
912
+ return (0, get_cell_position_1.getTargetRowAtConsiderBottomFrozen)(absoluteY, isConsider, this);
1044
913
  }
1045
914
  clearSelected() {
1046
915
  this.stateManager.updateSelectPos(-1, -1);
@@ -1184,7 +1053,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1184
1053
  var _a;
1185
1054
  if (this.internalProps.customMergeCell) {
1186
1055
  const customMerge = this.internalProps.customMergeCell(col, row, this);
1187
- if (customMerge && customMerge.range && customMerge.text) return customMerge.range;
1056
+ if (customMerge && customMerge.range && (customMerge.text || customMerge.customLayout || customMerge.customRender)) return customMerge.range;
1188
1057
  }
1189
1058
  return null === (_a = this.internalProps.layoutMap) || void 0 === _a ? void 0 : _a.getCellRange(col, row);
1190
1059
  }
@@ -1664,30 +1533,49 @@ class BaseTable extends EventTarget_1.EventTarget {
1664
1533
  return "chart" === (null === (_f = null === (_e = null == cellGroup ? void 0 : cellGroup.getChildren()) || void 0 === _e ? void 0 : _e[0]) || void 0 === _f ? void 0 : _f.type) ? cellGroup.getChildren()[0].activeChartInstance : null;
1665
1534
  }
1666
1535
  cellIsInVisualView(col, row) {
1536
+ var _a, _b, _c, _d;
1667
1537
  const drawRange = this.getDrawRange(), rect = this.getCellRelativeRect(col, row);
1668
1538
  if (col < this.frozenColCount && row < this.frozenRowCount) return !0;
1669
- const colHeaderRangeRect = this.getCellRangeRelativeRect({
1539
+ let colHeaderRangeRect, rowHeaderRangeRect, bottomFrozenRangeRect, rightFrozenRangeRect;
1540
+ if (this.frozenRowCount >= 1 && (colHeaderRangeRect = this.getCellRangeRelativeRect({
1670
1541
  start: {
1671
1542
  col: 0,
1672
1543
  row: 0
1673
1544
  },
1674
1545
  end: {
1675
1546
  col: this.colCount - 1,
1676
- row: this.columnHeaderLevelCount
1547
+ row: this.frozenRowCount - 1
1677
1548
  }
1678
- }), rowHeaderRangeRect = this.getCellRangeRelativeRect({
1549
+ })), this.frozenColCount >= 1 && (rowHeaderRangeRect = this.getCellRangeRelativeRect({
1679
1550
  start: {
1680
1551
  col: 0,
1681
1552
  row: 0
1682
1553
  },
1683
1554
  end: {
1684
- col: this.rowHeaderLevelCount,
1555
+ col: this.frozenColCount - 1,
1685
1556
  row: this.rowCount - 1
1686
1557
  }
1687
- });
1688
- if (rect.top >= drawRange.top && rect.bottom <= drawRange.bottom && rect.left >= drawRange.left && rect.right <= drawRange.right) {
1689
- if (this.isHeader(col, row)) return !0;
1690
- if (drawRange.top >= colHeaderRangeRect.bottom && drawRange.left >= rowHeaderRangeRect.right) return !0;
1558
+ })), this.bottomFrozenRowCount >= 1 && (bottomFrozenRangeRect = this.getCellRangeRelativeRect({
1559
+ start: {
1560
+ col: 0,
1561
+ row: this.rowCount - this.bottomFrozenRowCount
1562
+ },
1563
+ end: {
1564
+ col: this.colCount - 1,
1565
+ row: this.rowCount - 1
1566
+ }
1567
+ })), this.rightFrozenColCount >= 1 && (rightFrozenRangeRect = this.getCellRangeRelativeRect({
1568
+ start: {
1569
+ col: this.colCount - this.rightFrozenColCount,
1570
+ row: 0
1571
+ },
1572
+ end: {
1573
+ col: this.colCount - 1,
1574
+ row: this.rowCount - 1
1575
+ }
1576
+ })), rect.top >= drawRange.top && rect.bottom <= drawRange.bottom && rect.left >= drawRange.left && rect.right <= drawRange.right) {
1577
+ if (this.isFrozenCell(col, row)) return !0;
1578
+ if (rect.top >= (null !== (_a = null == colHeaderRangeRect ? void 0 : colHeaderRangeRect.bottom) && void 0 !== _a ? _a : rect.top) && rect.left >= (null !== (_b = null == rowHeaderRangeRect ? void 0 : rowHeaderRangeRect.right) && void 0 !== _b ? _b : rect.left) && rect.bottom <= (null !== (_c = null == bottomFrozenRangeRect ? void 0 : bottomFrozenRangeRect.top) && void 0 !== _c ? _c : rect.bottom) && rect.right <= (null !== (_d = null == rightFrozenRangeRect ? void 0 : rightFrozenRangeRect.left) && void 0 !== _d ? _d : rect.right)) return !0;
1691
1579
  }
1692
1580
  return !1;
1693
1581
  }
@@ -1848,6 +1736,15 @@ class BaseTable extends EventTarget_1.EventTarget {
1848
1736
  var _a;
1849
1737
  null === (_a = this.dataSource) || void 0 === _a || _a.setSortedIndexMap(field, filedMap);
1850
1738
  }
1739
+ checkReactCustomLayout() {
1740
+ this.reactCustomLayout || (this.reactCustomLayout = new react_custom_layout_1.ReactCustomLayout(this));
1741
+ }
1742
+ get bodyDomContainer() {
1743
+ return this.internalProps.bodyDomContainer;
1744
+ }
1745
+ get headerDomContainer() {
1746
+ return this.internalProps.headerDomContainer;
1747
+ }
1851
1748
  }
1852
1749
 
1853
1750
  exports.BaseTable = BaseTable;