handsontable 0.0.0-next-f900323-20250306 → 0.0.0-next-b209352-20250310

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.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

package/helpers/mixed.js CHANGED
@@ -134,7 +134,7 @@ const domMessages = {
134
134
  function _injectProductInfo(key, element) {
135
135
  const hasValidType = !isEmpty(key);
136
136
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
137
- const hotVersion = "0.0.0-next-f900323-20250306";
137
+ const hotVersion = "0.0.0-next-b209352-20250310";
138
138
  let keyValidityDate;
139
139
  let consoleMessageState = 'invalid';
140
140
  let domMessageState = 'invalid';
package/helpers/mixed.mjs CHANGED
@@ -124,7 +124,7 @@ const domMessages = {
124
124
  export function _injectProductInfo(key, element) {
125
125
  const hasValidType = !isEmpty(key);
126
126
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
127
- const hotVersion = "0.0.0-next-f900323-20250306";
127
+ const hotVersion = "0.0.0-next-b209352-20250310";
128
128
  let keyValidityDate;
129
129
  let consoleMessageState = 'invalid';
130
130
  let domMessageState = 'invalid';
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "url": "https://github.com/handsontable/handsontable/issues"
11
11
  },
12
12
  "author": "Handsoncode <hello@handsontable.com>",
13
- "version": "0.0.0-next-f900323-20250306",
13
+ "version": "0.0.0-next-b209352-20250310",
14
14
  "main": "index",
15
15
  "module": "index.mjs",
16
16
  "jsnext:main": "index.mjs",
@@ -574,6 +574,7 @@ class Menu {
574
574
  * and adjusts the width and height of the menu's holder and hider elements accordingly.
575
575
  */
576
576
  updateMenuDimensions() {
577
+ const stylesHandler = this.hotMenu.view.getStylesHandler();
577
578
  const {
578
579
  wtTable
579
580
  } = this.hotMenu.view._wt;
@@ -586,8 +587,14 @@ class Menu {
586
587
  const currentRowHeight = itemCell ? (0, _element.outerHeight)(this.hotMenu.getCell(index, 0)) : 0;
587
588
  return accumulator + (value.name === _predefinedItems.SEPARATOR ? 1 : currentRowHeight);
588
589
  }, 0);
589
- holderStyle.width = `${currentHiderWidth}px`;
590
- holderStyle.height = `${realHeight}px`;
590
+ if (stylesHandler.isClassicTheme()) {
591
+ // Additional 3px to menu's size because of additional border around its `table.htCore`.
592
+ holderStyle.width = `${currentHiderWidth + 3}px`;
593
+ holderStyle.height = `${realHeight + 3}px`;
594
+ } else {
595
+ holderStyle.width = `${currentHiderWidth}px`;
596
+ holderStyle.height = `${realHeight}px`;
597
+ }
591
598
  hiderStyle.height = holderStyle.height;
592
599
  }
593
600
 
@@ -570,6 +570,7 @@ export class Menu {
570
570
  * and adjusts the width and height of the menu's holder and hider elements accordingly.
571
571
  */
572
572
  updateMenuDimensions() {
573
+ const stylesHandler = this.hotMenu.view.getStylesHandler();
573
574
  const {
574
575
  wtTable
575
576
  } = this.hotMenu.view._wt;
@@ -582,8 +583,14 @@ export class Menu {
582
583
  const currentRowHeight = itemCell ? outerHeight(this.hotMenu.getCell(index, 0)) : 0;
583
584
  return accumulator + (value.name === SEPARATOR ? 1 : currentRowHeight);
584
585
  }, 0);
585
- holderStyle.width = `${currentHiderWidth}px`;
586
- holderStyle.height = `${realHeight}px`;
586
+ if (stylesHandler.isClassicTheme()) {
587
+ // Additional 3px to menu's size because of additional border around its `table.htCore`.
588
+ holderStyle.width = `${currentHiderWidth + 3}px`;
589
+ holderStyle.height = `${realHeight + 3}px`;
590
+ } else {
591
+ holderStyle.width = `${currentHiderWidth}px`;
592
+ holderStyle.height = `${realHeight}px`;
593
+ }
587
594
  hiderStyle.height = holderStyle.height;
588
595
  }
589
596
 
@@ -49,13 +49,6 @@ class ConditionCollection {
49
49
  * @type {LinkedPhysicalIndexToValueMap}
50
50
  */
51
51
  _defineProperty(this, "filteringStates", new _translations.LinkedPhysicalIndexToValueMap());
52
- /**
53
- * Stores the previous state of the condition stack before the latest filter operation.
54
- * This is used in the `beforeFilter` plugin to allow performing the undo operation.
55
- *
56
- * @type {null|Array}
57
- */
58
- _defineProperty(this, "previousConditionStack", null);
59
52
  this.hot = hot;
60
53
  this.isMapRegistrable = isMapRegistrable;
61
54
  if (this.isMapRegistrable === true) {
@@ -124,13 +117,6 @@ class ConditionCollection {
124
117
  const localeForColumn = this.hot.getCellMeta(0, column).locale;
125
118
  const args = conditionDefinition.args.map(v => typeof v === 'string' ? v.toLocaleLowerCase(localeForColumn) : v);
126
119
  const name = conditionDefinition.name || conditionDefinition.command.key;
127
-
128
- // If there's no previous condition stack defined (which means the condition stack was not cleared after the
129
- // previous filter operation or that there was no filter operation performed yet), store the current conditions as
130
- // the previous condition stack.
131
- if (this.previousConditionStack === null) {
132
- this.setPreviousConditionStack(this.exportAllConditions());
133
- }
134
120
  this.runLocalHooks('beforeAdd', column);
135
121
  const columnType = this.getOperation(column);
136
122
  if (columnType) {
@@ -259,8 +245,6 @@ class ConditionCollection {
259
245
  * @fires ConditionCollection#afterRemove
260
246
  */
261
247
  removeConditions(column) {
262
- // Store the current conditions as the previous condition stack before it's cleared.
263
- this.setPreviousConditionStack(this.exportAllConditions());
264
248
  this.runLocalHooks('beforeRemove', column);
265
249
  this.filteringStates.clearValue(column);
266
250
  this.runLocalHooks('afterRemove', column);
@@ -294,16 +278,6 @@ class ConditionCollection {
294
278
  return conditions.length > 0;
295
279
  }
296
280
 
297
- /**
298
- * Updates the `previousConditionStack` property with the provided stack.
299
- * It is used to store the current conditions before they are modified, allowing for undo operations.
300
- *
301
- * @param {Array|null} previousConditionStack The stack of previous conditions.
302
- */
303
- setPreviousConditionStack(previousConditionStack) {
304
- this.previousConditionStack = previousConditionStack;
305
- }
306
-
307
281
  /**
308
282
  * Destroy object.
309
283
  */
@@ -45,13 +45,6 @@ class ConditionCollection {
45
45
  * @type {LinkedPhysicalIndexToValueMap}
46
46
  */
47
47
  _defineProperty(this, "filteringStates", new IndexToValueMap());
48
- /**
49
- * Stores the previous state of the condition stack before the latest filter operation.
50
- * This is used in the `beforeFilter` plugin to allow performing the undo operation.
51
- *
52
- * @type {null|Array}
53
- */
54
- _defineProperty(this, "previousConditionStack", null);
55
48
  this.hot = hot;
56
49
  this.isMapRegistrable = isMapRegistrable;
57
50
  if (this.isMapRegistrable === true) {
@@ -120,13 +113,6 @@ class ConditionCollection {
120
113
  const localeForColumn = this.hot.getCellMeta(0, column).locale;
121
114
  const args = conditionDefinition.args.map(v => typeof v === 'string' ? v.toLocaleLowerCase(localeForColumn) : v);
122
115
  const name = conditionDefinition.name || conditionDefinition.command.key;
123
-
124
- // If there's no previous condition stack defined (which means the condition stack was not cleared after the
125
- // previous filter operation or that there was no filter operation performed yet), store the current conditions as
126
- // the previous condition stack.
127
- if (this.previousConditionStack === null) {
128
- this.setPreviousConditionStack(this.exportAllConditions());
129
- }
130
116
  this.runLocalHooks('beforeAdd', column);
131
117
  const columnType = this.getOperation(column);
132
118
  if (columnType) {
@@ -255,8 +241,6 @@ class ConditionCollection {
255
241
  * @fires ConditionCollection#afterRemove
256
242
  */
257
243
  removeConditions(column) {
258
- // Store the current conditions as the previous condition stack before it's cleared.
259
- this.setPreviousConditionStack(this.exportAllConditions());
260
244
  this.runLocalHooks('beforeRemove', column);
261
245
  this.filteringStates.clearValue(column);
262
246
  this.runLocalHooks('afterRemove', column);
@@ -290,16 +274,6 @@ class ConditionCollection {
290
274
  return conditions.length > 0;
291
275
  }
292
276
 
293
- /**
294
- * Updates the `previousConditionStack` property with the provided stack.
295
- * It is used to store the current conditions before they are modified, allowing for undo operations.
296
- *
297
- * @param {Array|null} previousConditionStack The stack of previous conditions.
298
- */
299
- setPreviousConditionStack(previousConditionStack) {
300
- this.previousConditionStack = previousConditionStack;
301
- }
302
-
303
277
  /**
304
278
  * Destroy object.
305
279
  */
@@ -48,6 +48,8 @@ export declare class Filters extends BasePlugin {
48
48
  addCondition(column: number, name: string, args: any[], operationId?: OperationType): void;
49
49
  removeConditions(column: number): void;
50
50
  clearConditions(column?: number): void;
51
+ importConditions(conditions: ColumnConditions[]): void;
52
+ exportConditions(): ColumnConditions[];
51
53
  filter(): void;
52
54
  getSelectedColumn(): { physicalIndex: number, visualIndex: number } | null;
53
55
  getDataMapAtColumn(column?: number): CellLikeData[];
@@ -81,6 +81,7 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
81
81
  */
82
82
  var _menuFocusNavigator = /*#__PURE__*/new WeakMap();
83
83
  var _dropdownMenuTraces = /*#__PURE__*/new WeakMap();
84
+ var _previousConditionStack = /*#__PURE__*/new WeakMap();
84
85
  var _Filters_brand = /*#__PURE__*/new WeakSet();
85
86
  class Filters extends _base.BasePlugin {
86
87
  static get PLUGIN_KEY() {
@@ -152,6 +153,13 @@ class Filters extends _base.BasePlugin {
152
153
  * @type {WeakSet<Menu>}
153
154
  */
154
155
  _classPrivateFieldInitSpec(this, _dropdownMenuTraces, new WeakSet());
156
+ /**
157
+ * Stores the previous state of the condition stack before the latest filter operation.
158
+ * This is used in the `beforeFilter` plugin to allow performing the undo operation.
159
+ *
160
+ * @type {Array}
161
+ */
162
+ _classPrivateFieldInitSpec(this, _previousConditionStack, []);
155
163
  this.hot.addHook('afterGetColHeader', function () {
156
164
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
157
165
  args[_key] = arguments[_key];
@@ -494,6 +502,51 @@ class Filters extends _base.BasePlugin {
494
502
  }
495
503
  }
496
504
 
505
+ /**
506
+ * Imports filter conditions to all columns to the plugin. The method accepts
507
+ * the array of conditions with the same structure as the {@link Filters#exportConditions} method returns.
508
+ * Importing conditions will replace the current conditions. Once replaced, the state of the condition
509
+ * will be reflected in the UI. To apply the changes and filter the table, call
510
+ * the {@link Filters#filter} method eventually.
511
+ *
512
+ * @param {Array} conditions Array of conditions.
513
+ */
514
+ importConditions(conditions) {
515
+ this.conditionCollection.importAllConditions(conditions);
516
+ }
517
+
518
+ /* eslint-disable jsdoc/require-description-complete-sentence */
519
+ /**
520
+ * Exports filter conditions for all columns from the plugin.
521
+ * The array represents the filter state for each column. For example:
522
+ *
523
+ * ```js
524
+ * [
525
+ * {
526
+ * column: 1,
527
+ * operation: 'conjunction',
528
+ * conditions: [
529
+ * { name: 'gt', args: [95] },
530
+ * ]
531
+ * },
532
+ * {
533
+ * column: 7,
534
+ * operation: 'conjunction',
535
+ * conditions: [
536
+ * { name: 'contains', args: ['mike'] },
537
+ * { name: 'begins_with', args: ['m'] },
538
+ * ]
539
+ * },
540
+ * ]
541
+ * ```
542
+ *
543
+ * @returns {Array}
544
+ */
545
+ /* eslint-enable jsdoc/require-description-complete-sentence */
546
+ exportConditions() {
547
+ return this.conditionCollection.exportAllConditions();
548
+ }
549
+
497
550
  /**
498
551
  * Filters data based on added filter conditions.
499
552
  *
@@ -507,8 +560,8 @@ class Filters extends _base.BasePlugin {
507
560
  const dataFilter = this._createDataFilter();
508
561
  const needToFilter = !this.conditionCollection.isEmpty();
509
562
  let visibleVisualRows = [];
510
- const conditions = this.conditionCollection.exportAllConditions();
511
- const allowFiltering = this.hot.runHooks('beforeFilter', conditions, this.conditionCollection.previousConditionStack);
563
+ const conditions = this.exportConditions();
564
+ const allowFiltering = this.hot.runHooks('beforeFilter', conditions, _classPrivateFieldGet(_previousConditionStack, this));
512
565
  if (allowFiltering !== false) {
513
566
  if (needToFilter) {
514
567
  const trimmedRows = [];
@@ -531,11 +584,13 @@ class Filters extends _base.BasePlugin {
531
584
  } else {
532
585
  this.filtersRowsMap.clear();
533
586
  }
587
+ _classPrivateFieldSet(_previousConditionStack, this, this.exportConditions());
588
+ this.hot.runHooks('afterFilter', conditions);
589
+ this.hot.view.adjustElementsSize();
590
+ this.hot.render();
591
+ } else {
592
+ this.importConditions(_classPrivateFieldGet(_previousConditionStack, this));
534
593
  }
535
- this.hot.runHooks('afterFilter', conditions);
536
- this.conditionCollection.setPreviousConditionStack(null);
537
- this.hot.view.adjustElementsSize();
538
- this.hot.render();
539
594
  if (this.hot.selection.isSelected()) {
540
595
  this.hot.selectCell(navigableHeaders ? -1 : 0, this.hot.getSelectedRangeLast().highlight.col);
541
596
  }
@@ -898,7 +953,6 @@ function _onActionBarSubmit(submitType) {
898
953
  }
899
954
  this.conditionUpdateObserver.flush();
900
955
  this.components.forEach(component => component.saveState(physicalIndex));
901
- this.filtersRowsMap.clear();
902
956
  this.filter();
903
957
  }
904
958
  (_this$dropdownMenuPlu3 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu3 === void 0 || _this$dropdownMenuPlu3.close();
@@ -940,8 +994,23 @@ function _updateComponents(conditionsState) {
940
994
  editedConditionStack: {
941
995
  conditions,
942
996
  column
943
- }
997
+ },
998
+ conditionArgsChange
944
999
  } = conditionsState;
1000
+ if (Array.isArray(conditionArgsChange)) {
1001
+ // update the previous condition stack (only for 'by_value' condition) on each dataset
1002
+ // change to make the undo/redo work properly
1003
+ _classPrivateFieldSet(_previousConditionStack, this, _classPrivateFieldGet(_previousConditionStack, this).map(stack => {
1004
+ if (stack.column === column && conditions.length > 0) {
1005
+ stack.conditions.forEach(condition => {
1006
+ if (condition.name === 'by_value') {
1007
+ condition.args = [[...conditionArgsChange]];
1008
+ }
1009
+ });
1010
+ }
1011
+ return stack;
1012
+ }));
1013
+ }
945
1014
  const conditionsByValue = conditions.filter(condition => condition.name === _constants2.CONDITION_BY_VALUE);
946
1015
  const conditionsWithoutByValue = conditions.filter(condition => condition.name !== _constants2.CONDITION_BY_VALUE);
947
1016
  if (conditionsByValue.length >= 2 || conditionsWithoutByValue.length >= 3) {
@@ -75,6 +75,7 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
75
75
  */
76
76
  var _menuFocusNavigator = /*#__PURE__*/new WeakMap();
77
77
  var _dropdownMenuTraces = /*#__PURE__*/new WeakMap();
78
+ var _previousConditionStack = /*#__PURE__*/new WeakMap();
78
79
  var _Filters_brand = /*#__PURE__*/new WeakSet();
79
80
  export class Filters extends BasePlugin {
80
81
  static get PLUGIN_KEY() {
@@ -146,6 +147,13 @@ export class Filters extends BasePlugin {
146
147
  * @type {WeakSet<Menu>}
147
148
  */
148
149
  _classPrivateFieldInitSpec(this, _dropdownMenuTraces, new WeakSet());
150
+ /**
151
+ * Stores the previous state of the condition stack before the latest filter operation.
152
+ * This is used in the `beforeFilter` plugin to allow performing the undo operation.
153
+ *
154
+ * @type {Array}
155
+ */
156
+ _classPrivateFieldInitSpec(this, _previousConditionStack, []);
149
157
  this.hot.addHook('afterGetColHeader', function () {
150
158
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
151
159
  args[_key] = arguments[_key];
@@ -488,6 +496,51 @@ export class Filters extends BasePlugin {
488
496
  }
489
497
  }
490
498
 
499
+ /**
500
+ * Imports filter conditions to all columns to the plugin. The method accepts
501
+ * the array of conditions with the same structure as the {@link Filters#exportConditions} method returns.
502
+ * Importing conditions will replace the current conditions. Once replaced, the state of the condition
503
+ * will be reflected in the UI. To apply the changes and filter the table, call
504
+ * the {@link Filters#filter} method eventually.
505
+ *
506
+ * @param {Array} conditions Array of conditions.
507
+ */
508
+ importConditions(conditions) {
509
+ this.conditionCollection.importAllConditions(conditions);
510
+ }
511
+
512
+ /* eslint-disable jsdoc/require-description-complete-sentence */
513
+ /**
514
+ * Exports filter conditions for all columns from the plugin.
515
+ * The array represents the filter state for each column. For example:
516
+ *
517
+ * ```js
518
+ * [
519
+ * {
520
+ * column: 1,
521
+ * operation: 'conjunction',
522
+ * conditions: [
523
+ * { name: 'gt', args: [95] },
524
+ * ]
525
+ * },
526
+ * {
527
+ * column: 7,
528
+ * operation: 'conjunction',
529
+ * conditions: [
530
+ * { name: 'contains', args: ['mike'] },
531
+ * { name: 'begins_with', args: ['m'] },
532
+ * ]
533
+ * },
534
+ * ]
535
+ * ```
536
+ *
537
+ * @returns {Array}
538
+ */
539
+ /* eslint-enable jsdoc/require-description-complete-sentence */
540
+ exportConditions() {
541
+ return this.conditionCollection.exportAllConditions();
542
+ }
543
+
491
544
  /**
492
545
  * Filters data based on added filter conditions.
493
546
  *
@@ -501,8 +554,8 @@ export class Filters extends BasePlugin {
501
554
  const dataFilter = this._createDataFilter();
502
555
  const needToFilter = !this.conditionCollection.isEmpty();
503
556
  let visibleVisualRows = [];
504
- const conditions = this.conditionCollection.exportAllConditions();
505
- const allowFiltering = this.hot.runHooks('beforeFilter', conditions, this.conditionCollection.previousConditionStack);
557
+ const conditions = this.exportConditions();
558
+ const allowFiltering = this.hot.runHooks('beforeFilter', conditions, _classPrivateFieldGet(_previousConditionStack, this));
506
559
  if (allowFiltering !== false) {
507
560
  if (needToFilter) {
508
561
  const trimmedRows = [];
@@ -525,11 +578,13 @@ export class Filters extends BasePlugin {
525
578
  } else {
526
579
  this.filtersRowsMap.clear();
527
580
  }
581
+ _classPrivateFieldSet(_previousConditionStack, this, this.exportConditions());
582
+ this.hot.runHooks('afterFilter', conditions);
583
+ this.hot.view.adjustElementsSize();
584
+ this.hot.render();
585
+ } else {
586
+ this.importConditions(_classPrivateFieldGet(_previousConditionStack, this));
528
587
  }
529
- this.hot.runHooks('afterFilter', conditions);
530
- this.conditionCollection.setPreviousConditionStack(null);
531
- this.hot.view.adjustElementsSize();
532
- this.hot.render();
533
588
  if (this.hot.selection.isSelected()) {
534
589
  this.hot.selectCell(navigableHeaders ? -1 : 0, this.hot.getSelectedRangeLast().highlight.col);
535
590
  }
@@ -891,7 +946,6 @@ function _onActionBarSubmit(submitType) {
891
946
  }
892
947
  this.conditionUpdateObserver.flush();
893
948
  this.components.forEach(component => component.saveState(physicalIndex));
894
- this.filtersRowsMap.clear();
895
949
  this.filter();
896
950
  }
897
951
  (_this$dropdownMenuPlu3 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu3 === void 0 || _this$dropdownMenuPlu3.close();
@@ -933,8 +987,23 @@ function _updateComponents(conditionsState) {
933
987
  editedConditionStack: {
934
988
  conditions,
935
989
  column
936
- }
990
+ },
991
+ conditionArgsChange
937
992
  } = conditionsState;
993
+ if (Array.isArray(conditionArgsChange)) {
994
+ // update the previous condition stack (only for 'by_value' condition) on each dataset
995
+ // change to make the undo/redo work properly
996
+ _classPrivateFieldSet(_previousConditionStack, this, _classPrivateFieldGet(_previousConditionStack, this).map(stack => {
997
+ if (stack.column === column && conditions.length > 0) {
998
+ stack.conditions.forEach(condition => {
999
+ if (condition.name === 'by_value') {
1000
+ condition.args = [[...conditionArgsChange]];
1001
+ }
1002
+ });
1003
+ }
1004
+ return stack;
1005
+ }));
1006
+ }
938
1007
  const conditionsByValue = conditions.filter(condition => condition.name === CONDITION_BY_VALUE);
939
1008
  const conditionsWithoutByValue = conditions.filter(condition => condition.name !== CONDITION_BY_VALUE);
940
1009
  if (conditionsByValue.length >= 2 || conditionsWithoutByValue.length >= 3) {
@@ -1497,12 +1497,11 @@ function _sumCellsHeights(row, rowspan) {
1497
1497
  } = this.hot;
1498
1498
  const stylesHandler = view.getStylesHandler();
1499
1499
  const defaultHeight = view.getDefaultRowHeight();
1500
- const autoRowSizePlugin = this.hot.getPlugin('autoRowSize');
1501
1500
  let height = 0;
1502
1501
  for (let i = row; i < row + rowspan; i++) {
1503
1502
  if (!rowIndexMapper.isHidden(i)) {
1504
- var _autoRowSizePlugin$ge;
1505
- height += (_autoRowSizePlugin$ge = autoRowSizePlugin === null || autoRowSizePlugin === void 0 ? void 0 : autoRowSizePlugin.getRowHeight(i)) !== null && _autoRowSizePlugin$ge !== void 0 ? _autoRowSizePlugin$ge : defaultHeight;
1503
+ var _this$hot$getRowHeigh;
1504
+ height += (_this$hot$getRowHeigh = this.hot.getRowHeight(i)) !== null && _this$hot$getRowHeigh !== void 0 ? _this$hot$getRowHeigh : defaultHeight;
1506
1505
  if (i === 0 && !stylesHandler.isClassicTheme()) {
1507
1506
  height += 1; // border-top-width
1508
1507
  }
@@ -1492,12 +1492,11 @@ function _sumCellsHeights(row, rowspan) {
1492
1492
  } = this.hot;
1493
1493
  const stylesHandler = view.getStylesHandler();
1494
1494
  const defaultHeight = view.getDefaultRowHeight();
1495
- const autoRowSizePlugin = this.hot.getPlugin('autoRowSize');
1496
1495
  let height = 0;
1497
1496
  for (let i = row; i < row + rowspan; i++) {
1498
1497
  if (!rowIndexMapper.isHidden(i)) {
1499
- var _autoRowSizePlugin$ge;
1500
- height += (_autoRowSizePlugin$ge = autoRowSizePlugin === null || autoRowSizePlugin === void 0 ? void 0 : autoRowSizePlugin.getRowHeight(i)) !== null && _autoRowSizePlugin$ge !== void 0 ? _autoRowSizePlugin$ge : defaultHeight;
1498
+ var _this$hot$getRowHeigh;
1499
+ height += (_this$hot$getRowHeigh = this.hot.getRowHeight(i)) !== null && _this$hot$getRowHeigh !== void 0 ? _this$hot$getRowHeigh : defaultHeight;
1501
1500
  if (i === 0 && !stylesHandler.isClassicTheme()) {
1502
1501
  height += 1; // border-top-width
1503
1502
  }
@@ -48,7 +48,7 @@ class FiltersAction extends _base.BaseAction {
48
48
  undo(hot, undoneCallback) {
49
49
  const filters = hot.getPlugin('filters');
50
50
  hot.addHookOnce('afterViewRender', undoneCallback);
51
- filters.conditionCollection.importAllConditions(this.previousConditionsStack);
51
+ filters.importConditions(this.previousConditionsStack);
52
52
  filters.filter();
53
53
  }
54
54
 
@@ -59,7 +59,7 @@ class FiltersAction extends _base.BaseAction {
59
59
  redo(hot, redoneCallback) {
60
60
  const filters = hot.getPlugin('filters');
61
61
  hot.addHookOnce('afterViewRender', redoneCallback);
62
- filters.conditionCollection.importAllConditions(this.conditionsStack);
62
+ filters.importConditions(this.conditionsStack);
63
63
  filters.filter();
64
64
  }
65
65
  }
@@ -45,7 +45,7 @@ export class FiltersAction extends BaseAction {
45
45
  undo(hot, undoneCallback) {
46
46
  const filters = hot.getPlugin('filters');
47
47
  hot.addHookOnce('afterViewRender', undoneCallback);
48
- filters.conditionCollection.importAllConditions(this.previousConditionsStack);
48
+ filters.importConditions(this.previousConditionsStack);
49
49
  filters.filter();
50
50
  }
51
51
 
@@ -56,7 +56,7 @@ export class FiltersAction extends BaseAction {
56
56
  redo(hot, redoneCallback) {
57
57
  const filters = hot.getPlugin('filters');
58
58
  hot.addHookOnce('afterViewRender', redoneCallback);
59
- filters.conditionCollection.importAllConditions(this.conditionsStack);
59
+ filters.importConditions(this.conditionsStack);
60
60
  filters.filter();
61
61
  }
62
62
  }
@@ -25,8 +25,8 @@
25
25
  * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
26
26
  * USE OR INABILITY TO USE THIS SOFTWARE.
27
27
  *
28
- * Version: 0.0.0-next-f900323-20250306
29
- * Release date: 20/02/2025 (built at 06/03/2025 08:11:41)
28
+ * Version: 0.0.0-next-b209352-20250310
29
+ * Release date: 20/02/2025 (built at 10/03/2025 12:40:00)
30
30
  */
31
31
  .ht-wrapper:not([class*=ht-theme]) {
32
32
  --ht-gap-size: 4px;