@visactor/vtable 0.18.4 → 0.19.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 (161) hide show
  1. package/cjs/ListTable.d.ts +1 -1
  2. package/cjs/ListTable.js +7 -5
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotTable.d.ts +2 -2
  5. package/cjs/PivotTable.js.map +1 -1
  6. package/cjs/core/BaseTable.d.ts +3 -2
  7. package/cjs/core/BaseTable.js +14 -31
  8. package/cjs/core/BaseTable.js.map +1 -1
  9. package/cjs/edit/edit-manager.d.ts +1 -1
  10. package/cjs/edit/edit-manager.js +30 -13
  11. package/cjs/edit/edit-manager.js.map +1 -1
  12. package/cjs/event/event.js +2 -2
  13. package/cjs/event/event.js.map +1 -1
  14. package/cjs/event/listener/table-group.js +1 -1
  15. package/cjs/event/listener/table-group.js.map +1 -1
  16. package/cjs/icons.js +10 -0
  17. package/cjs/icons.js.map +1 -1
  18. package/cjs/index.d.ts +1 -1
  19. package/cjs/index.js +1 -1
  20. package/cjs/index.js.map +1 -1
  21. package/cjs/layout/{pivot-layout-helper.d.ts → layout-helper.d.ts} +18 -16
  22. package/cjs/layout/{pivot-layout-helper.js → layout-helper.js} +33 -16
  23. package/cjs/layout/layout-helper.js.map +1 -0
  24. package/cjs/layout/pivot-header-layout.d.ts +4 -4
  25. package/cjs/layout/pivot-header-layout.js +42 -10
  26. package/cjs/layout/pivot-header-layout.js.map +1 -1
  27. package/cjs/layout/row-height-map.d.ts +32 -0
  28. package/cjs/layout/row-height-map.js +144 -0
  29. package/cjs/layout/row-height-map.js.map +1 -0
  30. package/cjs/layout/simple-header-layout.d.ts +2 -0
  31. package/cjs/layout/simple-header-layout.js +8 -3
  32. package/cjs/layout/simple-header-layout.js.map +1 -1
  33. package/cjs/scenegraph/component/cell-mover.js +3 -5
  34. package/cjs/scenegraph/component/cell-mover.js.map +1 -1
  35. package/cjs/scenegraph/graphic/contributions/draw-interceptor.d.ts +13 -0
  36. package/cjs/scenegraph/graphic/contributions/draw-interceptor.js +90 -0
  37. package/cjs/scenegraph/graphic/contributions/draw-interceptor.js.map +1 -0
  38. package/cjs/scenegraph/graphic/contributions/index.js +4 -2
  39. package/cjs/scenegraph/graphic/contributions/index.js.map +1 -1
  40. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +38 -18
  41. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  42. package/cjs/scenegraph/group-creater/progress/proxy.js +3 -3
  43. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  44. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +2 -2
  45. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  46. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +3 -3
  47. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  48. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.d.ts +1 -1
  49. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js +9 -3
  50. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  51. package/cjs/scenegraph/layout/compute-row-height.js +14 -4
  52. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  53. package/cjs/scenegraph/layout/move-cell.js +7 -1
  54. package/cjs/scenegraph/layout/move-cell.js.map +1 -1
  55. package/cjs/scenegraph/layout/update-height.js +2 -2
  56. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  57. package/cjs/scenegraph/layout/update-row.js +6 -10
  58. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  59. package/cjs/scenegraph/scenegraph.js +16 -9
  60. package/cjs/scenegraph/scenegraph.js.map +1 -1
  61. package/cjs/scenegraph/stick-text/index.js +5 -5
  62. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  63. package/cjs/scenegraph/utils/keep-aspect-ratio.js +5 -4
  64. package/cjs/scenegraph/utils/keep-aspect-ratio.js.map +1 -1
  65. package/cjs/state/cell-move/index.js +6 -4
  66. package/cjs/state/cell-move/index.js.map +1 -1
  67. package/cjs/state/select/update-position.js +10 -1
  68. package/cjs/state/select/update-position.js.map +1 -1
  69. package/cjs/themes/ARCO.js +2 -1
  70. package/cjs/tools/LimitPromiseQueue.js +1 -1
  71. package/cjs/tools/util.d.ts +1 -0
  72. package/cjs/tools/util.js +8 -2
  73. package/cjs/tools/util.js.map +1 -1
  74. package/cjs/ts-types/base-table.d.ts +5 -3
  75. package/cjs/ts-types/base-table.js.map +1 -1
  76. package/cjs/ts-types/table-engine.d.ts +1 -0
  77. package/cjs/ts-types/table-engine.js.map +1 -1
  78. package/cjs/vrender.js.map +1 -1
  79. package/dist/vtable.js +1439 -811
  80. package/dist/vtable.min.js +2 -2
  81. package/es/ListTable.d.ts +1 -1
  82. package/es/ListTable.js +5 -4
  83. package/es/ListTable.js.map +1 -1
  84. package/es/PivotTable.d.ts +2 -2
  85. package/es/PivotTable.js.map +1 -1
  86. package/es/core/BaseTable.d.ts +3 -2
  87. package/es/core/BaseTable.js +16 -28
  88. package/es/core/BaseTable.js.map +1 -1
  89. package/es/edit/edit-manager.d.ts +1 -1
  90. package/es/edit/edit-manager.js +30 -13
  91. package/es/edit/edit-manager.js.map +1 -1
  92. package/es/event/event.js +3 -1
  93. package/es/event/event.js.map +1 -1
  94. package/es/event/listener/table-group.js +1 -1
  95. package/es/event/listener/table-group.js.map +1 -1
  96. package/es/icons.js +10 -0
  97. package/es/icons.js.map +1 -1
  98. package/es/index.d.ts +1 -1
  99. package/es/index.js +1 -1
  100. package/es/index.js.map +1 -1
  101. package/es/layout/{pivot-layout-helper.d.ts → layout-helper.d.ts} +18 -16
  102. package/es/layout/{pivot-layout-helper.js → layout-helper.js} +33 -16
  103. package/es/layout/layout-helper.js.map +1 -0
  104. package/es/layout/pivot-header-layout.d.ts +4 -4
  105. package/es/layout/pivot-header-layout.js +34 -2
  106. package/es/layout/pivot-header-layout.js.map +1 -1
  107. package/es/layout/row-height-map.d.ts +32 -0
  108. package/es/layout/row-height-map.js +136 -0
  109. package/es/layout/row-height-map.js.map +1 -0
  110. package/es/layout/simple-header-layout.d.ts +2 -0
  111. package/es/layout/simple-header-layout.js +9 -2
  112. package/es/layout/simple-header-layout.js.map +1 -1
  113. package/es/scenegraph/component/cell-mover.js +3 -5
  114. package/es/scenegraph/component/cell-mover.js.map +1 -1
  115. package/es/scenegraph/graphic/contributions/draw-interceptor.d.ts +13 -0
  116. package/es/scenegraph/graphic/contributions/draw-interceptor.js +64 -0
  117. package/es/scenegraph/graphic/contributions/draw-interceptor.js.map +1 -0
  118. package/es/scenegraph/graphic/contributions/index.js +5 -2
  119. package/es/scenegraph/graphic/contributions/index.js.map +1 -1
  120. package/es/scenegraph/group-creater/cell-type/image-cell.js +35 -17
  121. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  122. package/es/scenegraph/group-creater/progress/proxy.js +3 -3
  123. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  124. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +2 -2
  125. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  126. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +3 -3
  127. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  128. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.d.ts +1 -1
  129. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js +9 -3
  130. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  131. package/es/scenegraph/layout/compute-row-height.js +14 -4
  132. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  133. package/es/scenegraph/layout/move-cell.js +7 -1
  134. package/es/scenegraph/layout/move-cell.js.map +1 -1
  135. package/es/scenegraph/layout/update-height.js +2 -2
  136. package/es/scenegraph/layout/update-height.js.map +1 -1
  137. package/es/scenegraph/layout/update-row.js +4 -8
  138. package/es/scenegraph/layout/update-row.js.map +1 -1
  139. package/es/scenegraph/scenegraph.js +16 -9
  140. package/es/scenegraph/scenegraph.js.map +1 -1
  141. package/es/scenegraph/stick-text/index.js +5 -5
  142. package/es/scenegraph/stick-text/index.js.map +1 -1
  143. package/es/scenegraph/utils/keep-aspect-ratio.js +5 -4
  144. package/es/scenegraph/utils/keep-aspect-ratio.js.map +1 -1
  145. package/es/state/cell-move/index.js +6 -4
  146. package/es/state/cell-move/index.js.map +1 -1
  147. package/es/state/select/update-position.js +10 -1
  148. package/es/state/select/update-position.js.map +1 -1
  149. package/es/themes/ARCO.js +2 -1
  150. package/es/tools/LimitPromiseQueue.js +1 -1
  151. package/es/tools/util.d.ts +1 -0
  152. package/es/tools/util.js +6 -0
  153. package/es/tools/util.js.map +1 -1
  154. package/es/ts-types/base-table.d.ts +5 -3
  155. package/es/ts-types/base-table.js.map +1 -1
  156. package/es/ts-types/table-engine.d.ts +1 -0
  157. package/es/ts-types/table-engine.js.map +1 -1
  158. package/es/vrender.js.map +1 -1
  159. package/package.json +7 -7
  160. package/cjs/layout/pivot-layout-helper.js.map +0 -1
  161. package/es/layout/pivot-layout-helper.js.map +0 -1
@@ -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"), {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"), {toBoxArray: toBoxArray} = helper_1.style, {isTouchEvent: isTouchEvent} = helper_1.event, rangeReg = /^\$(\d+)\$(\d+)$/;
37
37
 
38
38
  (0, style_1.importStyle)();
39
39
 
@@ -45,7 +45,7 @@ class BaseTable extends EventTarget_1.EventTarget {
45
45
  }
46
46
  constructor(container, options = {}) {
47
47
  var _a, _b, _c, _d, _e, _f, _g;
48
- if (super(), this.showFrozenIcon = !0, this.showSort = !0, this.version = "0.18.4",
48
+ if (super(), this.showFrozenIcon = !0, this.showSort = !0, this.version = "0.19.0",
49
49
  this.id = `VTable${Date.now()}`, this.isReleased = !1, this._chartEventMap = {},
50
50
  this.throttleInvalidate = (0, util_1.throttle2)(this.render.bind(this), 200), !container && "node" !== options.mode) 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, keyboardOptions: keyboardOptions, eventOptions: eventOptions, columnResizeMode: columnResizeMode, 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} = options;
@@ -75,7 +75,7 @@ class BaseTable extends EventTarget_1.EventTarget {
75
75
  internalProps.columnResizeMode = columnResizeMode, internalProps.dragHeaderMode = dragHeaderMode,
76
76
  internalProps.renderChartAsync = renderChartAsync, (0, chart_render_helper_1.setBatchRenderChartCount)(renderChartAsyncBatchCount),
77
77
  internalProps.overscrollBehavior = null != overscrollBehavior ? overscrollBehavior : "auto",
78
- internalProps._rowHeightsMap = new NumberMap_1.NumberMap, internalProps._rowRangeHeightsMap = new Map,
78
+ internalProps._rowHeightsMap = new row_height_map_1.NumberRangeMap(this), internalProps._rowRangeHeightsMap = new Map,
79
79
  internalProps._colRangeWidthsMap = new Map, internalProps._widthResizedColMap = new Set,
80
80
  this.colWidthsMap = new NumberMap_1.NumberMap, this.colContentWidthsMap = new NumberMap_1.NumberMap,
81
81
  this.colWidthsLimit = {}, internalProps.calcWidthContext = {
@@ -109,7 +109,7 @@ class BaseTable extends EventTarget_1.EventTarget {
109
109
  "html" === internalProps.menu.renderMode && (internalProps.menuHandler = new MenuHandler_1.MenuHandler(this)),
110
110
  this.headerStyleCache = new Map, this.bodyStyleCache = new Map, this.bodyBottomStyleCache = new Map,
111
111
  internalProps.stick = {
112
- changedCells: []
112
+ changedCells: new Map
113
113
  }, internalProps.customMergeCell = options.customMergeCell;
114
114
  }
115
115
  getContainer() {
@@ -323,7 +323,8 @@ class BaseTable extends EventTarget_1.EventTarget {
323
323
  return "grid";
324
324
  }
325
325
  getColsWidth(startCol, endCol) {
326
- endCol = Math.min(endCol, this.colCount - 1);
326
+ var _a;
327
+ startCol = Math.max(startCol, 0), endCol = Math.min(endCol, (null !== (_a = this.colCount) && void 0 !== _a ? _a : 1 / 0) - 1);
327
328
  const cachedColWidth = this._colRangeWidthsMap.get(`$${startCol}$${endCol}`);
328
329
  if (null != cachedColWidth) return cachedColWidth;
329
330
  const cachedLowerColWidth = this._colRangeWidthsMap.get(`$${startCol}$${endCol - 1}`);
@@ -338,7 +339,7 @@ class BaseTable extends EventTarget_1.EventTarget {
338
339
  Math.round(w);
339
340
  }
340
341
  getRowHeight(row) {
341
- if (this.rowHeightsMap.get(row)) return this.rowHeightsMap.get(row);
342
+ if ((0, vutils_1.isValid)(this.rowHeightsMap.get(row))) return this.rowHeightsMap.get(row);
342
343
  const defaultHeight = this.getDefaultRowHeight(row);
343
344
  return (0, vutils_1.isNumber)(defaultHeight) ? defaultHeight : this.defaultRowHeight;
344
345
  }
@@ -351,23 +352,13 @@ class BaseTable extends EventTarget_1.EventTarget {
351
352
  }
352
353
  getRowsHeight(startRow, endRow) {
353
354
  var _a;
354
- const cachedRowHeight = this._rowRangeHeightsMap.get(`$${startRow}$${endRow}`);
355
- if (null != cachedRowHeight) return cachedRowHeight;
356
- const cachedLowerRowHeight = this._rowRangeHeightsMap.get(`$${startRow}$${endRow - 1}`);
357
- if (null != cachedLowerRowHeight) {
358
- const height = Math.round(cachedLowerRowHeight + (null !== (_a = this.rowHeightsMap.get(endRow)) && void 0 !== _a ? _a : this.isColumnHeader(0, endRow) || this.isCornerHeader(0, endRow) ? Array.isArray(this.defaultHeaderRowHeight) && (0,
359
- vutils_1.isNumber)(this.defaultHeaderRowHeight[endRow]) ? this.defaultHeaderRowHeight[endRow] : (0,
360
- vutils_1.isNumber)(this.defaultHeaderRowHeight) ? this.defaultHeaderRowHeight : this.internalProps.defaultRowHeight : this.internalProps.defaultRowHeight));
361
- return startRow >= 0 && endRow >= 0 && this._rowRangeHeightsMap.set(`$${startRow}$${endRow}`, Math.round(height)),
362
- height;
363
- }
355
+ startRow = Math.max(startRow, 0), endRow = Math.min(endRow, (null !== (_a = this.rowCount) && void 0 !== _a ? _a : 1 / 0) - 1);
364
356
  let h = 0;
365
357
  if ("standard" === this.heightMode && !this.autoFillHeight && this.internalProps.layoutMap && endRow >= this.columnHeaderLevelCount && !this.bottomFrozenRowCount && !this.hasAutoImageColumn()) {
366
358
  for (let i = startRow; i < this.columnHeaderLevelCount; i++) h += this.getRowHeight(i);
367
359
  h += this.defaultRowHeight * (endRow - Math.max(this.columnHeaderLevelCount, startRow) + 1);
368
- } else for (let i = startRow; i <= endRow; i++) h += this.getRowHeight(i);
369
- return startRow >= 0 && endRow >= 0 && h > 0 && this._rowRangeHeightsMap.set(`$${startRow}$${endRow}`, Math.round(h)),
370
- Math.round(h);
360
+ } else h = this.rowHeightsMap.getSumInRange(startRow, endRow);
361
+ return Math.round(h);
371
362
  }
372
363
  getColWidthDefined(col) {
373
364
  var _a, _b, _c;
@@ -402,16 +393,7 @@ class BaseTable extends EventTarget_1.EventTarget {
402
393
  }
403
394
  }
404
395
  _clearRowRangeHeightsMap(row) {
405
- if ("number" != typeof row) this._rowRangeHeightsMap.clear(); else {
406
- const keys = this._rowRangeHeightsMap.keys();
407
- for (const key of keys) {
408
- const reg = rangeReg.exec(key);
409
- if (reg) {
410
- const start = Number(reg[1]), end = Number(reg[2]);
411
- row >= start && row <= end && this._rowRangeHeightsMap.delete(key);
412
- }
413
- }
414
- }
396
+ this.rowHeightsMap.clearRange();
415
397
  }
416
398
  _getColContentWidth(col) {
417
399
  return Number(this.colContentWidthsMap.get(col));
@@ -731,11 +713,11 @@ class BaseTable extends EventTarget_1.EventTarget {
731
713
  internalProps.columnResizeMode = columnResizeMode, internalProps.dragHeaderMode = dragHeaderMode,
732
714
  internalProps.renderChartAsync = renderChartAsync, (0, chart_render_helper_1.setBatchRenderChartCount)(renderChartAsyncBatchCount),
733
715
  internalProps.overscrollBehavior = null != overscrollBehavior ? overscrollBehavior : "auto",
734
- internalProps.cellTextOverflows = {}, internalProps._rowHeightsMap = new NumberMap_1.NumberMap,
716
+ internalProps.cellTextOverflows = {}, internalProps._rowHeightsMap = new row_height_map_1.NumberRangeMap(this),
735
717
  internalProps._rowRangeHeightsMap = new Map, internalProps._colRangeWidthsMap = new Map,
736
718
  internalProps._widthResizedColMap = new Set, this.colWidthsMap = new NumberMap_1.NumberMap,
737
719
  this.colContentWidthsMap = new NumberMap_1.NumberMap, this.colWidthsLimit = {},
738
- internalProps.theme = themes_1.default.of(null !== (_a = options.theme) && void 0 !== _a ? _a : themes_1.default.DEFAULT),
720
+ internalProps.stick.changedCells.clear(), internalProps.theme = themes_1.default.of(null !== (_a = options.theme) && void 0 !== _a ? _a : themes_1.default.DEFAULT),
739
721
  this.scenegraph.updateStageBackground(), internalProps.autoWrapText = options.autoWrapText,
740
722
  internalProps.allowFrozenColCount = null !== (_b = options.allowFrozenColCount) && void 0 !== _b ? _b : 0,
741
723
  internalProps.limitMaxAutoWidth = null !== (_c = options.limitMaxAutoWidth) && void 0 !== _c ? _c : 450,
@@ -1241,6 +1223,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1241
1223
  }
1242
1224
  _canDragHeaderPosition(col, row) {
1243
1225
  if (this.isHeader(col, row) && this.stateManager.isSelected(col, row)) {
1226
+ if ("disabled" === this.internalProps.frozenColDragHeaderMode && (this.isFrozenColumn(col) || this.isRightFrozenColumn(col))) return !1;
1244
1227
  const selectRange = this.stateManager.select.ranges[0];
1245
1228
  if (this.isColumnHeader(col, row)) {
1246
1229
  if (selectRange.end.row !== this.rowCount - 1) return !1;