handsontable 14.0.0-next-d97b156-20231027 → 14.0.0-next-c22ab6f-20231030

Sign up to get free protection for your applications and to get access to all the features.
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 = "14.0.0-next-d97b156-20231027";
137
+ const hotVersion = "14.0.0-next-c22ab6f-20231030";
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 = "14.0.0-next-d97b156-20231027";
127
+ const hotVersion = "14.0.0-next-c22ab6f-20231030";
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": "14.0.0-next-d97b156-20231027",
13
+ "version": "14.0.0-next-c22ab6f-20231030",
14
14
  "main": "index",
15
15
  "module": "index.mjs",
16
16
  "jsnext:main": "index.mjs",
@@ -286,8 +286,12 @@ class Filters extends _base.BasePlugin {
286
286
  keys: [['Alt', 'A']],
287
287
  stopPropagation: true,
288
288
  callback: () => {
289
+ const selection = this.hot.getSelected();
289
290
  this.clearConditions();
290
291
  this.filter();
292
+ if (selection) {
293
+ this.hot.selectCells(selection);
294
+ }
291
295
  },
292
296
  group: SHORTCUTS_GROUP
293
297
  });
@@ -460,6 +464,9 @@ class Filters extends _base.BasePlugin {
460
464
  * @fires Hooks#afterFilter
461
465
  */
462
466
  filter() {
467
+ const {
468
+ navigableHeaders
469
+ } = this.hot.getSettings();
463
470
  const dataFilter = this._createDataFilter();
464
471
  const needToFilter = !this.conditionCollection.isEmpty();
465
472
  let visibleVisualRows = [];
@@ -481,7 +488,7 @@ class Filters extends _base.BasePlugin {
481
488
  this.filtersRowsMap.setValueAtIndex(physicalRow, true);
482
489
  });
483
490
  }, true);
484
- if (!visibleVisualRows.length) {
491
+ if (!navigableHeaders && !visibleVisualRows.length) {
485
492
  this.hot.deselectCell();
486
493
  }
487
494
  } else {
@@ -491,6 +498,9 @@ class Filters extends _base.BasePlugin {
491
498
  this.hot.runHooks('afterFilter', conditions);
492
499
  this.hot.view.adjustElementsSize(true);
493
500
  this.hot.render();
501
+ if (this.hot.selection.isSelected()) {
502
+ this.hot.selectCell(navigableHeaders ? -1 : 0, this.hot.getSelectedRangeLast().highlight.col);
503
+ }
494
504
  }
495
505
 
496
506
  /**
@@ -696,7 +706,6 @@ class Filters extends _base.BasePlugin {
696
706
  this.components.forEach(component => component.saveState(physicalIndex));
697
707
  this.filtersRowsMap.clear();
698
708
  this.filter();
699
- this.hot.selectCell(0, selectedColumn.visualIndex);
700
709
  }
701
710
  (_this$dropdownMenuPlu3 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu3 === void 0 || _this$dropdownMenuPlu3.close();
702
711
  }
@@ -280,8 +280,12 @@ export class Filters extends BasePlugin {
280
280
  keys: [['Alt', 'A']],
281
281
  stopPropagation: true,
282
282
  callback: () => {
283
+ const selection = this.hot.getSelected();
283
284
  this.clearConditions();
284
285
  this.filter();
286
+ if (selection) {
287
+ this.hot.selectCells(selection);
288
+ }
285
289
  },
286
290
  group: SHORTCUTS_GROUP
287
291
  });
@@ -454,6 +458,9 @@ export class Filters extends BasePlugin {
454
458
  * @fires Hooks#afterFilter
455
459
  */
456
460
  filter() {
461
+ const {
462
+ navigableHeaders
463
+ } = this.hot.getSettings();
457
464
  const dataFilter = this._createDataFilter();
458
465
  const needToFilter = !this.conditionCollection.isEmpty();
459
466
  let visibleVisualRows = [];
@@ -475,7 +482,7 @@ export class Filters extends BasePlugin {
475
482
  this.filtersRowsMap.setValueAtIndex(physicalRow, true);
476
483
  });
477
484
  }, true);
478
- if (!visibleVisualRows.length) {
485
+ if (!navigableHeaders && !visibleVisualRows.length) {
479
486
  this.hot.deselectCell();
480
487
  }
481
488
  } else {
@@ -485,6 +492,9 @@ export class Filters extends BasePlugin {
485
492
  this.hot.runHooks('afterFilter', conditions);
486
493
  this.hot.view.adjustElementsSize(true);
487
494
  this.hot.render();
495
+ if (this.hot.selection.isSelected()) {
496
+ this.hot.selectCell(navigableHeaders ? -1 : 0, this.hot.getSelectedRangeLast().highlight.col);
497
+ }
488
498
  }
489
499
 
490
500
  /**
@@ -690,7 +700,6 @@ export class Filters extends BasePlugin {
690
700
  this.components.forEach(component => component.saveState(physicalIndex));
691
701
  this.filtersRowsMap.clear();
692
702
  this.filter();
693
- this.hot.selectCell(0, selectedColumn.visualIndex);
694
703
  }
695
704
  (_this$dropdownMenuPlu3 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu3 === void 0 || _this$dropdownMenuPlu3.close();
696
705
  }