handsontable 12.1.2 → 12.1.3
Sign up to get free protection for your applications and to get access to all the features.
- package/3rdparty/walkontable/src/border.js +43 -28
- package/3rdparty/walkontable/src/border.mjs +43 -28
- package/3rdparty/walkontable/src/table.js +13 -10
- package/3rdparty/walkontable/src/table.mjs +13 -10
- package/CHANGELOG.md +27 -4
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core.d.ts +1 -3
- package/core.js +9 -1
- package/core.mjs +9 -1
- package/dataMap/dataMap.js +35 -16
- package/dataMap/dataMap.mjs +30 -13
- package/dataMap/metaManager/lazyFactoryMap.js +24 -5
- package/dataMap/metaManager/lazyFactoryMap.mjs +19 -4
- package/dataMap/metaManager/metaSchema.js +112 -80
- package/dataMap/metaManager/metaSchema.mjs +112 -80
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +40800 -57808
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +527 -284
- package/dist/handsontable.js +3046 -3279
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/editorManager.js +69 -35
- package/editorManager.mjs +69 -35
- package/editors/baseEditor/baseEditor.js +1 -1
- package/editors/baseEditor/baseEditor.mjs +1 -1
- package/editors/dateEditor/dateEditor.js +17 -2
- package/editors/dateEditor/dateEditor.mjs +16 -0
- package/editors/textEditor/caretPositioner.js +0 -4
- package/editors/textEditor/caretPositioner.mjs +0 -2
- package/helpers/dom/element.js +2 -4
- package/helpers/dom/element.mjs +1 -2
- package/helpers/mixed.js +2 -4
- package/helpers/mixed.mjs +2 -3
- package/helpers/object.js +0 -4
- package/helpers/object.mjs +0 -2
- package/helpers/unicode.js +0 -4
- package/helpers/unicode.mjs +0 -2
- package/package.json +1 -1
- package/pluginHooks.d.ts +0 -1
- package/pluginHooks.js +17 -14
- package/pluginHooks.mjs +17 -14
- package/plugins/base/base.js +2 -4
- package/plugins/base/base.mjs +1 -2
- package/plugins/columnSorting/sortService/engine.js +2 -6
- package/plugins/columnSorting/sortService/engine.mjs +2 -2
- package/plugins/columnSummary/columnSummary.js +17 -11
- package/plugins/columnSummary/columnSummary.mjs +15 -9
- package/plugins/columnSummary/utils.js +14 -0
- package/plugins/columnSummary/utils.mjs +9 -0
- package/plugins/contextMenu/commandExecutor.js +0 -4
- package/plugins/contextMenu/commandExecutor.mjs +0 -2
- package/plugins/contextMenu/contextMenu.js +5 -1
- package/plugins/contextMenu/contextMenu.mjs +5 -1
- package/plugins/contextMenu/menu.js +4 -0
- package/plugins/contextMenu/menu.mjs +4 -0
- package/plugins/copyPaste/copyPaste.js +2 -0
- package/plugins/copyPaste/copyPaste.mjs +2 -0
- package/plugins/dropdownMenu/dropdownMenu.js +4 -0
- package/plugins/dropdownMenu/dropdownMenu.mjs +4 -0
- package/plugins/filters/component/condition.js +11 -29
- package/plugins/filters/component/condition.mjs +6 -21
- package/plugins/filters/component/value.js +12 -5
- package/plugins/filters/component/value.mjs +12 -5
- package/plugins/filters/filters.d.ts +1 -1
- package/plugins/filters/filters.js +62 -82
- package/plugins/filters/filters.mjs +63 -83
- package/plugins/hiddenColumns/hiddenColumns.js +0 -4
- package/plugins/hiddenColumns/hiddenColumns.mjs +0 -2
- package/plugins/hiddenRows/hiddenRows.js +0 -4
- package/plugins/hiddenRows/hiddenRows.mjs +0 -2
- package/plugins/multiColumnSorting/domHelpers.js +2 -4
- package/plugins/multiColumnSorting/domHelpers.mjs +1 -2
- package/plugins/nestedRows/nestedRows.js +1 -1
- package/plugins/nestedRows/nestedRows.mjs +1 -1
- package/plugins/search/search.js +0 -2
- package/plugins/search/search.mjs +0 -1
- package/plugins/trimRows/trimRows.js +3 -3
- package/plugins/trimRows/trimRows.mjs +3 -3
- package/renderers/numericRenderer/numericRenderer.js +0 -2
- package/renderers/numericRenderer/numericRenderer.mjs +0 -1
- package/renderers/textRenderer/textRenderer.js +1 -1
- package/renderers/textRenderer/textRenderer.mjs +1 -1
- package/shortcuts/recorder.js +14 -10
- package/shortcuts/recorder.mjs +13 -10
- package/shortcuts/utils.js +0 -4
- package/shortcuts/utils.mjs +0 -2
- package/translations/indexMapper.js +2 -2
- package/translations/indexMapper.mjs +2 -2
- package/utils/sortingAlgorithms/mergeSort.js +0 -120
- package/utils/sortingAlgorithms/mergeSort.mjs +0 -110
@@ -69,7 +69,7 @@ import { toSingleLine } from "../../helpers/templateLiteralTag.mjs";
|
|
69
69
|
import { warn } from "../../helpers/console.mjs";
|
70
70
|
import { rangeEach } from "../../helpers/number.mjs";
|
71
71
|
import EventManager from "../../eventManager.mjs";
|
72
|
-
import { addClass, removeClass
|
72
|
+
import { addClass, removeClass } from "../../helpers/dom/element.mjs";
|
73
73
|
import { SEPARATOR } from "../contextMenu/predefinedItems.mjs";
|
74
74
|
import * as constants from "../../i18n/constants.mjs";
|
75
75
|
import ConditionComponent from "./component/condition.mjs";
|
@@ -299,7 +299,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
299
299
|
this.components.forEach(function (component) {
|
300
300
|
return component.show();
|
301
301
|
});
|
302
|
-
this.registerEvents();
|
303
302
|
this.addHook('beforeDropdownMenuSetItems', function (items) {
|
304
303
|
return _this2.onBeforeDropdownMenuSetItems(items);
|
305
304
|
});
|
@@ -323,21 +322,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
323
322
|
|
324
323
|
_get(_getPrototypeOf(Filters.prototype), "enablePlugin", this).call(this);
|
325
324
|
}
|
326
|
-
/**
|
327
|
-
* Registers the DOM listeners.
|
328
|
-
*
|
329
|
-
* @private
|
330
|
-
*/
|
331
|
-
|
332
|
-
}, {
|
333
|
-
key: "registerEvents",
|
334
|
-
value: function registerEvents() {
|
335
|
-
var _this3 = this;
|
336
|
-
|
337
|
-
this.eventManager.addEventListener(this.hot.rootElement, 'click', function (event) {
|
338
|
-
return _this3.onTableClick(event);
|
339
|
-
});
|
340
|
-
}
|
341
325
|
/**
|
342
326
|
* Disables the plugin functionality for this Handsontable instance.
|
343
327
|
*/
|
@@ -345,7 +329,7 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
345
329
|
}, {
|
346
330
|
key: "disablePlugin",
|
347
331
|
value: function disablePlugin() {
|
348
|
-
var
|
332
|
+
var _this3 = this;
|
349
333
|
|
350
334
|
if (this.enabled) {
|
351
335
|
var _this$dropdownMenuPlu;
|
@@ -357,7 +341,7 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
357
341
|
this.components.forEach(function (component, key) {
|
358
342
|
component.destroy();
|
359
343
|
|
360
|
-
|
344
|
+
_this3.components.set(key, null);
|
361
345
|
});
|
362
346
|
this.conditionCollection.destroy();
|
363
347
|
this.conditionCollection = null;
|
@@ -490,7 +474,7 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
490
474
|
}, {
|
491
475
|
key: "filter",
|
492
476
|
value: function filter() {
|
493
|
-
var
|
477
|
+
var _this4 = this;
|
494
478
|
|
495
479
|
var dataFilter = this._createDataFilter();
|
496
480
|
|
@@ -503,19 +487,19 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
503
487
|
if (needToFilter) {
|
504
488
|
var trimmedRows = [];
|
505
489
|
this.hot.batchExecution(function () {
|
506
|
-
|
490
|
+
_this4.filtersRowsMap.clear();
|
507
491
|
|
508
492
|
visibleVisualRows = arrayMap(dataFilter.filter(), function (rowData) {
|
509
493
|
return rowData.meta.visualRow;
|
510
494
|
});
|
511
495
|
var visibleVisualRowsAssertion = createArrayAssertion(visibleVisualRows);
|
512
|
-
rangeEach(
|
496
|
+
rangeEach(_this4.hot.countSourceRows() - 1, function (row) {
|
513
497
|
if (!visibleVisualRowsAssertion(row)) {
|
514
498
|
trimmedRows.push(row);
|
515
499
|
}
|
516
500
|
});
|
517
501
|
arrayEach(trimmedRows, function (physicalRow) {
|
518
|
-
|
502
|
+
_this4.filtersRowsMap.setValueAtIndex(physicalRow, true);
|
519
503
|
});
|
520
504
|
}, true);
|
521
505
|
|
@@ -535,14 +519,26 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
535
519
|
/**
|
536
520
|
* Gets last selected column index.
|
537
521
|
*
|
538
|
-
* @returns {
|
539
|
-
*
|
522
|
+
* @returns {{visualIndex: number, physicalIndex: number} | null} Returns `null` when a column is
|
523
|
+
* not selected. Otherwise, returns an object with `visualIndex` and `physicalIndex` properties containing
|
524
|
+
* the index of the column.
|
540
525
|
*/
|
541
526
|
|
542
527
|
}, {
|
543
528
|
key: "getSelectedColumn",
|
544
529
|
value: function getSelectedColumn() {
|
545
|
-
|
530
|
+
var _this$hot$getSelected;
|
531
|
+
|
532
|
+
var highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
|
533
|
+
|
534
|
+
if (!highlight) {
|
535
|
+
return null;
|
536
|
+
}
|
537
|
+
|
538
|
+
return {
|
539
|
+
visualIndex: highlight.col,
|
540
|
+
physicalIndex: this.hot.toPhysicalColumn(highlight.col)
|
541
|
+
};
|
546
542
|
}
|
547
543
|
/**
|
548
544
|
* Clears column selection.
|
@@ -553,12 +549,10 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
553
549
|
}, {
|
554
550
|
key: "clearColumnSelection",
|
555
551
|
value: function clearColumnSelection() {
|
556
|
-
var
|
552
|
+
var selectedColumn = this.getSelectedColumn();
|
557
553
|
|
558
|
-
|
559
|
-
|
560
|
-
if (coords !== void 0) {
|
561
|
-
this.hot.selectCell(coords.row, coords.col);
|
554
|
+
if (selectedColumn !== null) {
|
555
|
+
this.hot.selectCell(0, selectedColumn.visualIndex);
|
562
556
|
}
|
563
557
|
}
|
564
558
|
/**
|
@@ -571,24 +565,24 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
571
565
|
}, {
|
572
566
|
key: "getDataMapAtColumn",
|
573
567
|
value: function getDataMapAtColumn(column) {
|
574
|
-
var
|
568
|
+
var _this5 = this;
|
575
569
|
|
576
570
|
var visualColumn = this.hot.toVisualColumn(column);
|
577
571
|
var data = [];
|
578
572
|
arrayEach(this.hot.getSourceDataAtCol(visualColumn), function (value, rowIndex) {
|
579
|
-
var
|
580
|
-
|
581
|
-
var
|
582
|
-
row =
|
583
|
-
col =
|
584
|
-
visualCol =
|
585
|
-
visualRow =
|
586
|
-
type =
|
587
|
-
instance =
|
588
|
-
dateFormat =
|
589
|
-
locale =
|
590
|
-
|
591
|
-
var dataValue = (
|
573
|
+
var _this5$hot$getDataAtC;
|
574
|
+
|
575
|
+
var _this5$hot$getCellMet = _this5.hot.getCellMeta(rowIndex, visualColumn),
|
576
|
+
row = _this5$hot$getCellMet.row,
|
577
|
+
col = _this5$hot$getCellMet.col,
|
578
|
+
visualCol = _this5$hot$getCellMet.visualCol,
|
579
|
+
visualRow = _this5$hot$getCellMet.visualRow,
|
580
|
+
type = _this5$hot$getCellMet.type,
|
581
|
+
instance = _this5$hot$getCellMet.instance,
|
582
|
+
dateFormat = _this5$hot$getCellMet.dateFormat,
|
583
|
+
locale = _this5$hot$getCellMet.locale;
|
584
|
+
|
585
|
+
var dataValue = (_this5$hot$getDataAtC = _this5.hot.getDataAtCell(_this5.hot.toVisualRow(rowIndex), visualColumn)) !== null && _this5$hot$getDataAtC !== void 0 ? _this5$hot$getDataAtC : value;
|
592
586
|
data.push({
|
593
587
|
meta: {
|
594
588
|
row: row,
|
@@ -615,17 +609,17 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
615
609
|
}, {
|
616
610
|
key: "onAfterChange",
|
617
611
|
value: function onAfterChange(changes) {
|
618
|
-
var
|
612
|
+
var _this6 = this;
|
619
613
|
|
620
614
|
if (changes) {
|
621
615
|
arrayEach(changes, function (change) {
|
622
616
|
var _change = _slicedToArray(change, 2),
|
623
617
|
prop = _change[1];
|
624
618
|
|
625
|
-
var columnIndex =
|
619
|
+
var columnIndex = _this6.hot.propToCol(prop);
|
626
620
|
|
627
|
-
if (
|
628
|
-
|
621
|
+
if (_this6.conditionCollection.hasConditions(columnIndex)) {
|
622
|
+
_this6.updateValueComponentCondition(columnIndex);
|
629
623
|
}
|
630
624
|
});
|
631
625
|
}
|
@@ -698,11 +692,11 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
698
692
|
}, {
|
699
693
|
key: "onBeforeDropdownMenuSetItems",
|
700
694
|
value: function onBeforeDropdownMenuSetItems() {
|
701
|
-
var
|
695
|
+
var _this7 = this;
|
702
696
|
|
703
697
|
if (this.dropdownMenuPlugin) {
|
704
698
|
this.dropdownMenuPlugin.menu.addLocalHook('afterOpen', function () {
|
705
|
-
|
699
|
+
_this7.dropdownMenuPlugin.menu.hotMenu.updateSettings({
|
706
700
|
hiddenRows: true
|
707
701
|
});
|
708
702
|
});
|
@@ -761,10 +755,19 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
761
755
|
}, {
|
762
756
|
key: "onActionBarSubmit",
|
763
757
|
value: function onActionBarSubmit(submitType) {
|
758
|
+
var _this$dropdownMenuPlu3;
|
759
|
+
|
764
760
|
if (submitType === 'accept') {
|
765
|
-
var
|
761
|
+
var selectedColumn = this.getSelectedColumn();
|
766
762
|
|
767
|
-
|
763
|
+
if (selectedColumn === null) {
|
764
|
+
var _this$dropdownMenuPlu2;
|
765
|
+
|
766
|
+
(_this$dropdownMenuPlu2 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu2 === void 0 ? void 0 : _this$dropdownMenuPlu2.close();
|
767
|
+
return;
|
768
|
+
}
|
769
|
+
|
770
|
+
var physicalIndex = selectedColumn.physicalIndex;
|
768
771
|
var byConditionState1 = this.components.get('filter_by_condition').getState();
|
769
772
|
var byConditionState2 = this.components.get('filter_by_condition2').getState();
|
770
773
|
var byValueState = this.components.get('filter_by_value').getState();
|
@@ -798,9 +801,7 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
798
801
|
this.filter();
|
799
802
|
}
|
800
803
|
|
801
|
-
|
802
|
-
this.dropdownMenuPlugin.close();
|
803
|
-
}
|
804
|
+
(_this$dropdownMenuPlu3 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu3 === void 0 ? void 0 : _this$dropdownMenuPlu3.close();
|
804
805
|
}
|
805
806
|
/**
|
806
807
|
* On component change listener.
|
@@ -885,27 +886,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
885
886
|
removeClass(TH, 'htFiltersActive');
|
886
887
|
}
|
887
888
|
}
|
888
|
-
/**
|
889
|
-
* On table click listener.
|
890
|
-
*
|
891
|
-
* @private
|
892
|
-
* @param {Event} event DOM Event.
|
893
|
-
*/
|
894
|
-
|
895
|
-
}, {
|
896
|
-
key: "onTableClick",
|
897
|
-
value: function onTableClick(event) {
|
898
|
-
var th = closest(event.target, 'TH');
|
899
|
-
|
900
|
-
if (th) {
|
901
|
-
var visualIndex = this.hot.getCoords(th).col;
|
902
|
-
var physicalIndex = this.hot.toPhysicalColumn(visualIndex);
|
903
|
-
this.lastSelectedColumn = {
|
904
|
-
visualIndex: visualIndex,
|
905
|
-
physicalIndex: physicalIndex
|
906
|
-
};
|
907
|
-
}
|
908
|
-
}
|
909
889
|
/**
|
910
890
|
* Creates DataFilter instance based on condition collection.
|
911
891
|
*
|
@@ -917,11 +897,11 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
917
897
|
}, {
|
918
898
|
key: "_createDataFilter",
|
919
899
|
value: function _createDataFilter() {
|
920
|
-
var
|
900
|
+
var _this8 = this;
|
921
901
|
|
922
902
|
var conditionCollection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.conditionCollection;
|
923
903
|
return new DataFilter(conditionCollection, function (physicalColumn) {
|
924
|
-
return
|
904
|
+
return _this8.getDataMapAtColumn(physicalColumn);
|
925
905
|
});
|
926
906
|
}
|
927
907
|
/**
|
@@ -936,9 +916,9 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
936
916
|
}, {
|
937
917
|
key: "updateComponents",
|
938
918
|
value: function updateComponents(conditionsState) {
|
939
|
-
var _this$
|
919
|
+
var _this$dropdownMenuPlu4;
|
940
920
|
|
941
|
-
if (!((_this$
|
921
|
+
if (!((_this$dropdownMenuPlu4 = this.dropdownMenuPlugin) !== null && _this$dropdownMenuPlu4 !== void 0 && _this$dropdownMenuPlu4.enabled)) {
|
942
922
|
return;
|
943
923
|
}
|
944
924
|
|
@@ -1068,14 +1048,14 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
1068
1048
|
}, {
|
1069
1049
|
key: "destroy",
|
1070
1050
|
value: function destroy() {
|
1071
|
-
var
|
1051
|
+
var _this9 = this;
|
1072
1052
|
|
1073
1053
|
if (this.enabled) {
|
1074
1054
|
this.components.forEach(function (component, key) {
|
1075
1055
|
if (component !== null) {
|
1076
1056
|
component.destroy();
|
1077
1057
|
|
1078
|
-
|
1058
|
+
_this9.components.set(key, null);
|
1079
1059
|
}
|
1080
1060
|
});
|
1081
1061
|
this.conditionCollection.destroy();
|
@@ -45,10 +45,6 @@ require("core-js/modules/es.number.constructor.js");
|
|
45
45
|
|
46
46
|
require("core-js/modules/es.array.index-of.js");
|
47
47
|
|
48
|
-
require("core-js/modules/es.regexp.exec.js");
|
49
|
-
|
50
|
-
require("core-js/modules/es.string.split.js");
|
51
|
-
|
52
48
|
require("core-js/modules/es.array.splice.js");
|
53
49
|
|
54
50
|
require("core-js/modules/es.array.join.js");
|
@@ -12,8 +12,6 @@ import "core-js/modules/web.dom-collections.iterator.js";
|
|
12
12
|
import "core-js/modules/es.number.is-integer.js";
|
13
13
|
import "core-js/modules/es.number.constructor.js";
|
14
14
|
import "core-js/modules/es.array.index-of.js";
|
15
|
-
import "core-js/modules/es.regexp.exec.js";
|
16
|
-
import "core-js/modules/es.string.split.js";
|
17
15
|
import "core-js/modules/es.array.splice.js";
|
18
16
|
import "core-js/modules/es.array.join.js";
|
19
17
|
import "core-js/modules/es.weak-map.js";
|
@@ -45,10 +45,6 @@ require("core-js/modules/es.number.constructor.js");
|
|
45
45
|
|
46
46
|
require("core-js/modules/es.array.index-of.js");
|
47
47
|
|
48
|
-
require("core-js/modules/es.regexp.exec.js");
|
49
|
-
|
50
|
-
require("core-js/modules/es.string.split.js");
|
51
|
-
|
52
48
|
require("core-js/modules/es.array.splice.js");
|
53
49
|
|
54
50
|
require("core-js/modules/es.array.join.js");
|
@@ -12,8 +12,6 @@ import "core-js/modules/web.dom-collections.iterator.js";
|
|
12
12
|
import "core-js/modules/es.number.is-integer.js";
|
13
13
|
import "core-js/modules/es.number.constructor.js";
|
14
14
|
import "core-js/modules/es.array.index-of.js";
|
15
|
-
import "core-js/modules/es.regexp.exec.js";
|
16
|
-
import "core-js/modules/es.string.split.js";
|
17
15
|
import "core-js/modules/es.array.splice.js";
|
18
16
|
import "core-js/modules/es.array.join.js";
|
19
17
|
import "core-js/modules/es.weak-map.js";
|
@@ -4,12 +4,10 @@ exports.__esModule = true;
|
|
4
4
|
exports.getClassesToAdd = getClassesToAdd;
|
5
5
|
exports.getClassesToRemove = getClassesToRemove;
|
6
6
|
|
7
|
-
require("core-js/modules/es.regexp.exec.js");
|
8
|
-
|
9
|
-
require("core-js/modules/es.string.split.js");
|
10
|
-
|
11
7
|
require("core-js/modules/es.regexp.constructor.js");
|
12
8
|
|
9
|
+
require("core-js/modules/es.regexp.exec.js");
|
10
|
+
|
13
11
|
require("core-js/modules/es.regexp.to-string.js");
|
14
12
|
|
15
13
|
require("core-js/modules/es.array.filter.js");
|
@@ -1,6 +1,5 @@
|
|
1
|
-
import "core-js/modules/es.regexp.exec.js";
|
2
|
-
import "core-js/modules/es.string.split.js";
|
3
1
|
import "core-js/modules/es.regexp.constructor.js";
|
2
|
+
import "core-js/modules/es.regexp.exec.js";
|
4
3
|
import "core-js/modules/es.regexp.to-string.js";
|
5
4
|
import "core-js/modules/es.array.filter.js";
|
6
5
|
import "core-js/modules/es.object.to-string.js";
|
@@ -525,7 +525,7 @@ var NestedRows = /*#__PURE__*/function (_BasePlugin) {
|
|
525
525
|
}, new Set())); // Modifying hook's argument by the reference.
|
526
526
|
|
527
527
|
physicalRows.length = 0;
|
528
|
-
physicalRows.push.apply(physicalRows,
|
528
|
+
physicalRows.push.apply(physicalRows, modifiedPhysicalRows);
|
529
529
|
}
|
530
530
|
/**
|
531
531
|
* `beforeAddChild` hook callback.
|
@@ -486,7 +486,7 @@ export var NestedRows = /*#__PURE__*/function (_BasePlugin) {
|
|
486
486
|
}, new Set())); // Modifying hook's argument by the reference.
|
487
487
|
|
488
488
|
physicalRows.length = 0;
|
489
|
-
physicalRows.push.apply(physicalRows,
|
489
|
+
physicalRows.push.apply(physicalRows, modifiedPhysicalRows);
|
490
490
|
}
|
491
491
|
/**
|
492
492
|
* `beforeAddChild` hook callback.
|
package/plugins/search/search.js
CHANGED
@@ -43,8 +43,6 @@ require("core-js/modules/es.regexp.exec.js");
|
|
43
43
|
|
44
44
|
require("core-js/modules/es.string.search.js");
|
45
45
|
|
46
|
-
require("core-js/modules/es.string.split.js");
|
47
|
-
|
48
46
|
require("core-js/modules/es.array.includes.js");
|
49
47
|
|
50
48
|
require("core-js/modules/es.string.includes.js");
|
@@ -41,7 +41,6 @@ import "core-js/modules/es.object.to-string.js";
|
|
41
41
|
import "core-js/modules/es.regexp.to-string.js";
|
42
42
|
import "core-js/modules/es.regexp.exec.js";
|
43
43
|
import "core-js/modules/es.string.search.js";
|
44
|
-
import "core-js/modules/es.string.split.js";
|
45
44
|
import "core-js/modules/es.array.includes.js";
|
46
45
|
import "core-js/modules/es.string.includes.js";
|
47
46
|
import "core-js/modules/es.array.splice.js";
|
@@ -262,7 +262,7 @@ var TrimRows = /*#__PURE__*/function (_BasePlugin) {
|
|
262
262
|
this.hot.runHooks('afterTrimRow', currentTrimConfig, destinationTrimConfig, isValidConfig, isValidConfig && destinationTrimConfig.length > currentTrimConfig.length);
|
263
263
|
}
|
264
264
|
/**
|
265
|
-
* Trims the row provided as physical row index (counting from 0).
|
265
|
+
* Trims the row provided as a physical row index (counting from 0).
|
266
266
|
*
|
267
267
|
* @param {...number} row Physical row index.
|
268
268
|
*/
|
@@ -321,7 +321,7 @@ var TrimRows = /*#__PURE__*/function (_BasePlugin) {
|
|
321
321
|
this.hot.runHooks('afterUntrimRow', currentTrimConfig, destinationTrimConfig, isValidConfig && isAnyRowUntrimmed, isValidConfig && destinationTrimConfig.length < currentTrimConfig.length);
|
322
322
|
}
|
323
323
|
/**
|
324
|
-
* Untrims the row provided as row index (counting from 0).
|
324
|
+
* Untrims the row provided as a physical row index (counting from 0).
|
325
325
|
*
|
326
326
|
* @param {...number} row Physical row index.
|
327
327
|
*/
|
@@ -357,7 +357,7 @@ var TrimRows = /*#__PURE__*/function (_BasePlugin) {
|
|
357
357
|
this.untrimRows(this.getTrimmedRows());
|
358
358
|
}
|
359
359
|
/**
|
360
|
-
* Get if trim config is valid. Check whether all of the provided row indexes are within source data.
|
360
|
+
* Get if trim config is valid. Check whether all of the provided physical row indexes are within source data.
|
361
361
|
*
|
362
362
|
* @param {Array} trimmedRows List of physical row indexes.
|
363
363
|
* @returns {boolean}
|
@@ -234,7 +234,7 @@ export var TrimRows = /*#__PURE__*/function (_BasePlugin) {
|
|
234
234
|
this.hot.runHooks('afterTrimRow', currentTrimConfig, destinationTrimConfig, isValidConfig, isValidConfig && destinationTrimConfig.length > currentTrimConfig.length);
|
235
235
|
}
|
236
236
|
/**
|
237
|
-
* Trims the row provided as physical row index (counting from 0).
|
237
|
+
* Trims the row provided as a physical row index (counting from 0).
|
238
238
|
*
|
239
239
|
* @param {...number} row Physical row index.
|
240
240
|
*/
|
@@ -293,7 +293,7 @@ export var TrimRows = /*#__PURE__*/function (_BasePlugin) {
|
|
293
293
|
this.hot.runHooks('afterUntrimRow', currentTrimConfig, destinationTrimConfig, isValidConfig && isAnyRowUntrimmed, isValidConfig && destinationTrimConfig.length < currentTrimConfig.length);
|
294
294
|
}
|
295
295
|
/**
|
296
|
-
* Untrims the row provided as row index (counting from 0).
|
296
|
+
* Untrims the row provided as a physical row index (counting from 0).
|
297
297
|
*
|
298
298
|
* @param {...number} row Physical row index.
|
299
299
|
*/
|
@@ -329,7 +329,7 @@ export var TrimRows = /*#__PURE__*/function (_BasePlugin) {
|
|
329
329
|
this.untrimRows(this.getTrimmedRows());
|
330
330
|
}
|
331
331
|
/**
|
332
|
-
* Get if trim config is valid. Check whether all of the provided row indexes are within source data.
|
332
|
+
* Get if trim config is valid. Check whether all of the provided physical row indexes are within source data.
|
333
333
|
*
|
334
334
|
* @param {Array} trimmedRows List of physical row indexes.
|
335
335
|
* @returns {boolean}
|
package/shortcuts/recorder.js
CHANGED
@@ -15,6 +15,8 @@ var _utils = require("./utils");
|
|
15
15
|
|
16
16
|
var _event = require("../helpers/dom/event");
|
17
17
|
|
18
|
+
var _element = require("../helpers/dom/element");
|
19
|
+
|
18
20
|
var _browser = require("../helpers/browser");
|
19
21
|
|
20
22
|
var MODIFIER_KEYS = ['meta', 'alt', 'shift', 'control'];
|
@@ -95,9 +97,11 @@ function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, call
|
|
95
97
|
return;
|
96
98
|
}
|
97
99
|
|
98
|
-
var result = beforeKeyDown(event);
|
100
|
+
var result = beforeKeyDown(event); // keyCode 229 aka 'uninitialized' doesn't take into account with editors. This key code is
|
101
|
+
// produced when unfinished character is entering using the IME editor. It is fired on macOS,
|
102
|
+
// Windows and linux (ubuntu) with installed ibus-pinyin package.
|
99
103
|
|
100
|
-
if (result === false || (0, _event.isImmediatePropagationStopped)(event)) {
|
104
|
+
if (event.keyCode === 229 || result === false || (0, _event.isImmediatePropagationStopped)(event)) {
|
101
105
|
return;
|
102
106
|
}
|
103
107
|
|
@@ -160,10 +164,10 @@ function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, call
|
|
160
164
|
var eventTarget = ownerWindow;
|
161
165
|
|
162
166
|
while (eventTarget) {
|
163
|
-
eventTarget.addEventListener('keydown', onkeydown);
|
164
|
-
eventTarget.addEventListener('keyup', onkeyup);
|
165
|
-
eventTarget.addEventListener('blur', onblur);
|
166
|
-
eventTarget = eventTarget
|
167
|
+
eventTarget.document.documentElement.addEventListener('keydown', onkeydown);
|
168
|
+
eventTarget.document.documentElement.addEventListener('keyup', onkeyup);
|
169
|
+
eventTarget.document.documentElement.addEventListener('blur', onblur);
|
170
|
+
eventTarget = (0, _element.getParentWindow)(eventTarget);
|
167
171
|
}
|
168
172
|
};
|
169
173
|
/**
|
@@ -175,10 +179,10 @@ function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, call
|
|
175
179
|
var eventTarget = ownerWindow;
|
176
180
|
|
177
181
|
while (eventTarget) {
|
178
|
-
eventTarget.removeEventListener('keydown', onkeydown);
|
179
|
-
eventTarget.removeEventListener('keyup', onkeyup);
|
180
|
-
eventTarget.removeEventListener('blur', onblur);
|
181
|
-
eventTarget = eventTarget
|
182
|
+
eventTarget.document.documentElement.removeEventListener('keydown', onkeydown);
|
183
|
+
eventTarget.document.documentElement.removeEventListener('keyup', onkeyup);
|
184
|
+
eventTarget.document.documentElement.removeEventListener('blur', onblur);
|
185
|
+
eventTarget = (0, _element.getParentWindow)(eventTarget);
|
182
186
|
}
|
183
187
|
};
|
184
188
|
|
package/shortcuts/recorder.mjs
CHANGED
@@ -4,6 +4,7 @@ import "core-js/modules/es.string.includes.js";
|
|
4
4
|
import { createKeysObserver } from "./keyObserver.mjs";
|
5
5
|
import { normalizeEventKey } from "./utils.mjs";
|
6
6
|
import { isImmediatePropagationStopped } from "../helpers/dom/event.mjs";
|
7
|
+
import { getParentWindow } from "../helpers/dom/element.mjs";
|
7
8
|
import { isMacOS } from "../helpers/browser.mjs";
|
8
9
|
var MODIFIER_KEYS = ['meta', 'alt', 'shift', 'control'];
|
9
10
|
var modifierKeysObserver = createKeysObserver();
|
@@ -83,9 +84,11 @@ export function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDow
|
|
83
84
|
return;
|
84
85
|
}
|
85
86
|
|
86
|
-
var result = beforeKeyDown(event);
|
87
|
+
var result = beforeKeyDown(event); // keyCode 229 aka 'uninitialized' doesn't take into account with editors. This key code is
|
88
|
+
// produced when unfinished character is entering using the IME editor. It is fired on macOS,
|
89
|
+
// Windows and linux (ubuntu) with installed ibus-pinyin package.
|
87
90
|
|
88
|
-
if (result === false || isImmediatePropagationStopped(event)) {
|
91
|
+
if (event.keyCode === 229 || result === false || isImmediatePropagationStopped(event)) {
|
89
92
|
return;
|
90
93
|
}
|
91
94
|
|
@@ -148,10 +151,10 @@ export function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDow
|
|
148
151
|
var eventTarget = ownerWindow;
|
149
152
|
|
150
153
|
while (eventTarget) {
|
151
|
-
eventTarget.addEventListener('keydown', onkeydown);
|
152
|
-
eventTarget.addEventListener('keyup', onkeyup);
|
153
|
-
eventTarget.addEventListener('blur', onblur);
|
154
|
-
eventTarget = eventTarget
|
154
|
+
eventTarget.document.documentElement.addEventListener('keydown', onkeydown);
|
155
|
+
eventTarget.document.documentElement.addEventListener('keyup', onkeyup);
|
156
|
+
eventTarget.document.documentElement.addEventListener('blur', onblur);
|
157
|
+
eventTarget = getParentWindow(eventTarget);
|
155
158
|
}
|
156
159
|
};
|
157
160
|
/**
|
@@ -163,10 +166,10 @@ export function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDow
|
|
163
166
|
var eventTarget = ownerWindow;
|
164
167
|
|
165
168
|
while (eventTarget) {
|
166
|
-
eventTarget.removeEventListener('keydown', onkeydown);
|
167
|
-
eventTarget.removeEventListener('keyup', onkeyup);
|
168
|
-
eventTarget.removeEventListener('blur', onblur);
|
169
|
-
eventTarget = eventTarget
|
169
|
+
eventTarget.document.documentElement.removeEventListener('keydown', onkeydown);
|
170
|
+
eventTarget.document.documentElement.removeEventListener('keyup', onkeyup);
|
171
|
+
eventTarget.document.documentElement.removeEventListener('blur', onblur);
|
172
|
+
eventTarget = getParentWindow(eventTarget);
|
170
173
|
}
|
171
174
|
};
|
172
175
|
|
package/shortcuts/utils.js
CHANGED
@@ -19,10 +19,6 @@ require("core-js/modules/es.array.sort.js");
|
|
19
19
|
|
20
20
|
require("core-js/modules/es.array.map.js");
|
21
21
|
|
22
|
-
require("core-js/modules/es.regexp.exec.js");
|
23
|
-
|
24
|
-
require("core-js/modules/es.string.split.js");
|
25
|
-
|
26
22
|
// This file handles key-name discrepancies between browsers.
|
27
23
|
// For the list of discrepancies, go to: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values.
|
28
24
|
var mappings = new Map([[' ', 'space'], // custom mapping
|
package/shortcuts/utils.mjs
CHANGED
@@ -6,8 +6,6 @@ import "core-js/modules/web.dom-collections.iterator.js";
|
|
6
6
|
import "core-js/modules/es.array.join.js";
|
7
7
|
import "core-js/modules/es.array.sort.js";
|
8
8
|
import "core-js/modules/es.array.map.js";
|
9
|
-
import "core-js/modules/es.regexp.exec.js";
|
10
|
-
import "core-js/modules/es.string.split.js";
|
11
9
|
// This file handles key-name discrepancies between browsers.
|
12
10
|
// For the list of discrepancies, go to: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values.
|
13
11
|
var mappings = new Map([[' ', 'space'], // custom mapping
|
@@ -486,9 +486,9 @@ var IndexMapper = /*#__PURE__*/function () {
|
|
486
486
|
* point when handled index is NOT hidden.
|
487
487
|
* @param {number} incrementBy We are searching for a next visible indexes by increasing (to be precise, or decreasing) indexes.
|
488
488
|
* This variable represent indexes shift. We are looking for an index:
|
489
|
-
* - for rows: from the
|
489
|
+
* - for rows: from the top to the bottom (increasing indexes, then variable should have value 1) or
|
490
490
|
* other way around (decreasing indexes, then variable should have the value -1)
|
491
|
-
* - for columns: from the
|
491
|
+
* - for columns: from the left to the right (increasing indexes, then variable should have value 1)
|
492
492
|
* or other way around (decreasing indexes, then variable should have the value -1).
|
493
493
|
* @param {boolean} searchAlsoOtherWayAround The argument determine if an additional other way around search should be
|
494
494
|
* performed, when the search in the first direction had no effect in finding visual index.
|