handsontable 0.0.0-next-2becb78-20240313 → 0.0.0-next-bff5041-20240315
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/3rdparty/walkontable/src/calculator/viewportColumns.js +12 -17
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +12 -17
- package/3rdparty/walkontable/src/calculator/viewportRows.js +10 -15
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +10 -15
- package/3rdparty/walkontable/src/cell/coords.js +12 -17
- package/3rdparty/walkontable/src/cell/coords.mjs +12 -17
- package/3rdparty/walkontable/src/cell/range.d.ts +0 -1
- package/3rdparty/walkontable/src/cell/range.js +23 -45
- package/3rdparty/walkontable/src/cell/range.mjs +23 -45
- package/3rdparty/walkontable/src/core/_base.js +1 -1
- package/3rdparty/walkontable/src/core/_base.mjs +1 -1
- package/3rdparty/walkontable/src/event.js +72 -104
- package/3rdparty/walkontable/src/event.mjs +72 -104
- package/3rdparty/walkontable/src/overlays.js +1 -1
- package/3rdparty/walkontable/src/overlays.mjs +1 -1
- package/3rdparty/walkontable/src/scroll.js +15 -17
- package/3rdparty/walkontable/src/scroll.mjs +15 -17
- package/3rdparty/walkontable/src/selection/manager.js +48 -69
- package/3rdparty/walkontable/src/selection/manager.mjs +48 -69
- package/3rdparty/walkontable/src/selection/scanner.js +33 -42
- package/3rdparty/walkontable/src/selection/scanner.mjs +33 -42
- package/3rdparty/walkontable/src/utils/columnStretching.js +27 -44
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +27 -44
- package/3rdparty/walkontable/src/utils/orderView/view.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +1 -1
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/viewportScroll/index.js +1 -4
- package/core/viewportScroll/index.mjs +1 -4
- package/core.d.ts +3 -4
- package/core.js +22 -82
- package/core.mjs +22 -82
- package/dataMap/dataSource.js +1 -1
- package/dataMap/dataSource.mjs +1 -1
- package/dataMap/metaManager/metaLayers/cellMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -1
- package/dataMap/replaceData.js +1 -1
- package/dataMap/replaceData.mjs +1 -1
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +7619 -10404
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +277 -277
- package/dist/handsontable.js +5525 -7857
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +33 -33
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/hr-HR.min.js +1 -1
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +21 -27
- package/editorManager.mjs +21 -27
- package/editors/autocompleteEditor/autocompleteEditor.js +6 -10
- package/editors/autocompleteEditor/autocompleteEditor.mjs +6 -10
- package/eventManager.js +1 -1
- package/eventManager.mjs +1 -1
- package/focusManager.js +58 -82
- package/focusManager.mjs +58 -82
- package/helpers/dom/element.js +1 -1
- package/helpers/dom/element.mjs +1 -1
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/helpers/object.js +2 -2
- package/helpers/object.mjs +2 -2
- package/index.d.ts +10 -0
- package/package.json +2 -1
- package/pluginHooks.d.ts +0 -4
- package/pluginHooks.js +2 -44
- package/pluginHooks.mjs +2 -44
- package/plugins/autoColumnSize/autoColumnSize.js +49 -65
- package/plugins/autoColumnSize/autoColumnSize.mjs +49 -65
- package/plugins/autoRowSize/autoRowSize.js +28 -34
- package/plugins/autoRowSize/autoRowSize.mjs +28 -34
- package/plugins/autofill/autofill.js +30 -38
- package/plugins/autofill/autofill.mjs +30 -38
- package/plugins/base/base.js +12 -17
- package/plugins/base/base.mjs +12 -17
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +5 -5
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +5 -5
- package/plugins/collapsibleColumns/collapsibleColumns.js +36 -54
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +36 -54
- package/plugins/columnSorting/columnSorting.js +40 -46
- package/plugins/columnSorting/columnSorting.mjs +40 -46
- package/plugins/columnSummary/columnSummary.js +22 -26
- package/plugins/columnSummary/columnSummary.mjs +22 -26
- package/plugins/comments/comments.js +116 -158
- package/plugins/comments/comments.mjs +116 -158
- package/plugins/contextMenu/contextMenu.js +20 -26
- package/plugins/contextMenu/contextMenu.mjs +20 -26
- package/plugins/contextMenu/itemsFactory.js +1 -1
- package/plugins/contextMenu/itemsFactory.mjs +1 -1
- package/plugins/contextMenu/menu/defaultShortcutsList.js +10 -26
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +10 -26
- package/plugins/contextMenu/menu/menu.js +13 -21
- package/plugins/contextMenu/menu/menu.mjs +13 -21
- package/plugins/contextMenu/menu/positioner.js +41 -58
- package/plugins/contextMenu/menu/positioner.mjs +41 -58
- package/plugins/copyPaste/copyPaste.js +113 -154
- package/plugins/copyPaste/copyPaste.mjs +113 -154
- package/plugins/copyPaste/copyableRanges.js +43 -66
- package/plugins/copyPaste/copyableRanges.mjs +43 -66
- package/plugins/customBorders/customBorders.js +11 -13
- package/plugins/customBorders/customBorders.mjs +11 -13
- package/plugins/dragToScroll/dragToScroll.js +6 -6
- package/plugins/dragToScroll/dragToScroll.mjs +6 -6
- package/plugins/dropdownMenu/dropdownMenu.js +78 -100
- package/plugins/dropdownMenu/dropdownMenu.mjs +78 -100
- package/plugins/exportFile/dataProvider.js +1 -1
- package/plugins/exportFile/dataProvider.mjs +1 -1
- package/plugins/filters/component/actionBar.js +9 -9
- package/plugins/filters/component/actionBar.mjs +8 -8
- package/plugins/filters/component/condition.js +13 -15
- package/plugins/filters/component/condition.mjs +13 -15
- package/plugins/filters/component/operators.js +6 -6
- package/plugins/filters/component/operators.mjs +6 -6
- package/plugins/filters/component/value.js +24 -28
- package/plugins/filters/component/value.mjs +24 -28
- package/plugins/filters/conditionUpdateObserver.js +22 -24
- package/plugins/filters/conditionUpdateObserver.mjs +22 -24
- package/plugins/filters/dataFilter.js +1 -1
- package/plugins/filters/dataFilter.mjs +1 -1
- package/plugins/filters/filters.js +81 -95
- package/plugins/filters/filters.mjs +81 -95
- package/plugins/filters/ui/input.js +13 -19
- package/plugins/filters/ui/input.mjs +13 -19
- package/plugins/filters/ui/link.js +8 -13
- package/plugins/filters/ui/link.mjs +8 -13
- package/plugins/filters/ui/multipleSelect.js +85 -112
- package/plugins/filters/ui/multipleSelect.mjs +85 -112
- package/plugins/filters/ui/radioInput.js +12 -20
- package/plugins/filters/ui/radioInput.mjs +12 -20
- package/plugins/filters/ui/select.js +50 -72
- package/plugins/filters/ui/select.mjs +49 -71
- package/plugins/formulas/formulas.js +268 -326
- package/plugins/formulas/formulas.mjs +269 -327
- package/plugins/formulas/indexSyncer/axisSyncer.js +38 -61
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +38 -61
- package/plugins/formulas/indexSyncer/index.js +25 -48
- package/plugins/formulas/indexSyncer/index.mjs +25 -48
- package/plugins/hiddenColumns/hiddenColumns.js +64 -83
- package/plugins/hiddenColumns/hiddenColumns.mjs +64 -83
- package/plugins/hiddenRows/hiddenRows.js +63 -82
- package/plugins/hiddenRows/hiddenRows.mjs +63 -82
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +24 -32
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +25 -33
- package/plugins/manualColumnMove/manualColumnMove.js +126 -170
- package/plugins/manualColumnMove/manualColumnMove.mjs +126 -170
- package/plugins/manualColumnResize/manualColumnResize.js +169 -230
- package/plugins/manualColumnResize/manualColumnResize.mjs +169 -230
- package/plugins/manualRowMove/manualRowMove.js +99 -128
- package/plugins/manualRowMove/manualRowMove.mjs +99 -128
- package/plugins/manualRowResize/manualRowResize.js +150 -209
- package/plugins/manualRowResize/manualRowResize.mjs +150 -209
- package/plugins/mergeCells/calculations/selection.js +71 -2
- package/plugins/mergeCells/calculations/selection.mjs +71 -2
- package/plugins/mergeCells/cellsCollection.js +1 -117
- package/plugins/mergeCells/cellsCollection.mjs +1 -117
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +1 -11
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +1 -11
- package/plugins/mergeCells/mergeCells.js +353 -593
- package/plugins/mergeCells/mergeCells.mjs +353 -593
- package/plugins/multiColumnSorting/multiColumnSorting.js +0 -6
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +0 -6
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +1 -1
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +1 -1
- package/plugins/nestedHeaders/nestedHeaders.js +204 -254
- package/plugins/nestedHeaders/nestedHeaders.mjs +205 -255
- package/plugins/nestedHeaders/stateManager/headersTree.js +21 -32
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -32
- package/plugins/nestedHeaders/stateManager/index.js +30 -41
- package/plugins/nestedHeaders/stateManager/index.mjs +30 -41
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -30
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -30
- package/plugins/nestedRows/data/dataManager.js +1 -1
- package/plugins/nestedRows/data/dataManager.mjs +1 -1
- package/plugins/nestedRows/nestedRows.js +138 -179
- package/plugins/nestedRows/nestedRows.mjs +139 -180
- package/plugins/nestedRows/ui/contextMenu.js +11 -15
- package/plugins/nestedRows/ui/contextMenu.mjs +10 -14
- package/plugins/nestedRows/utils/rowMoveController.js +1 -1
- package/plugins/nestedRows/utils/rowMoveController.mjs +1 -1
- package/plugins/persistentState/storage.js +2 -2
- package/plugins/persistentState/storage.mjs +2 -2
- package/plugins/search/search.js +7 -7
- package/plugins/search/search.mjs +7 -7
- package/plugins/touchScroll/touchScroll.js +15 -19
- package/plugins/touchScroll/touchScroll.mjs +16 -20
- package/plugins/trimRows/trimRows.js +6 -6
- package/plugins/trimRows/trimRows.mjs +6 -6
- package/renderers/checkboxRenderer/checkboxRenderer.js +5 -8
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +5 -8
- package/selection/highlight/highlight.js +14 -14
- package/selection/highlight/highlight.mjs +13 -13
- package/selection/highlight/visualSelection.js +2 -16
- package/selection/highlight/visualSelection.mjs +2 -16
- package/selection/selection.js +60 -255
- package/selection/selection.mjs +59 -254
- package/selection/transformation.js +101 -175
- package/selection/transformation.mjs +101 -175
- package/shortcutContexts/commands/editor/closeAndSave.js +2 -2
- package/shortcutContexts/commands/editor/closeAndSave.mjs +2 -2
- package/shortcutContexts/commands/editor/open.js +3 -18
- package/shortcutContexts/commands/editor/open.mjs +3 -18
- package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +3 -9
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +3 -9
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +3 -10
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +3 -10
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +1 -6
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +1 -6
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +1 -6
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +1 -6
- package/shortcutContexts/grid.js +2 -2
- package/shortcutContexts/grid.mjs +2 -2
- package/shortcuts/context.js +1 -2
- package/shortcuts/context.mjs +1 -2
- package/tableView.js +52 -98
- package/tableView.mjs +52 -98
- package/translations/changesObservable/observable.js +21 -38
- package/translations/changesObservable/observable.mjs +21 -38
- package/translations/changesObservable/observer.js +7 -12
- package/translations/changesObservable/observer.mjs +6 -11
- package/translations/mapCollections/aggregatedCollection.js +1 -1
- package/translations/mapCollections/aggregatedCollection.mjs +1 -1
- package/translations/maps/indexMap.js +1 -1
- package/translations/maps/indexMap.mjs +1 -1
- package/utils/dataStructures/linkedList.js +1 -6
- package/utils/dataStructures/linkedList.mjs +1 -6
- package/utils/dataStructures/tree.js +1 -1
- package/utils/dataStructures/tree.mjs +1 -1
- package/utils/interval.js +26 -44
- package/utils/interval.mjs +26 -44
- package/core/viewportScroll/scrollStrategies/focusScroll.js +0 -15
- package/core/viewportScroll/scrollStrategies/focusScroll.mjs +0 -11
- package/plugins/mergeCells/focusOrder.js +0 -327
- package/plugins/mergeCells/focusOrder.mjs +0 -322
@@ -2,12 +2,9 @@ import "core-js/modules/es.error.cause.js";
|
|
2
2
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
3
3
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
4
4
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
5
|
-
function
|
6
|
-
function
|
7
|
-
function
|
8
|
-
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
9
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
10
|
-
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
5
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
6
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
7
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
11
8
|
import { mixin, createObjectPropListener } from "../helpers/object.mjs";
|
12
9
|
import localHooks from "./../mixins/localHooks.mjs";
|
13
10
|
/**
|
@@ -28,77 +25,29 @@ import localHooks from "./../mixins/localHooks.mjs";
|
|
28
25
|
var _range = /*#__PURE__*/new WeakMap();
|
29
26
|
var _options = /*#__PURE__*/new WeakMap();
|
30
27
|
var _offset = /*#__PURE__*/new WeakMap();
|
31
|
-
var
|
32
|
-
var _getTableSize = /*#__PURE__*/new WeakSet();
|
33
|
-
var _findFirstNonHiddenZeroBasedRow = /*#__PURE__*/new WeakSet();
|
34
|
-
var _findFirstNonHiddenZeroBasedColumn = /*#__PURE__*/new WeakSet();
|
35
|
-
var _visualToZeroBasedCoords = /*#__PURE__*/new WeakSet();
|
36
|
-
var _zeroBasedToVisualCoords = /*#__PURE__*/new WeakSet();
|
28
|
+
var _Transformation_brand = /*#__PURE__*/new WeakSet();
|
37
29
|
class Transformation {
|
38
30
|
constructor(range, options) {
|
39
31
|
/**
|
40
|
-
*
|
32
|
+
* Sets the additional offset in table size that may occur when the `navigableHeaders` option
|
33
|
+
* is enabled.
|
41
34
|
*
|
42
|
-
* @param {
|
43
|
-
* @returns {CellCoords}
|
35
|
+
* @param {{x: number, y: number}} offset Offset as x and y properties.
|
44
36
|
*/
|
45
|
-
_classPrivateMethodInitSpec(this,
|
46
|
-
/**
|
47
|
-
* Translates the visual coordinates to zero-based ones.
|
48
|
-
*
|
49
|
-
* @param {CellCoords} visualCoords The visual coords to process.
|
50
|
-
* @returns {CellCoords}
|
51
|
-
*/
|
52
|
-
_classPrivateMethodInitSpec(this, _visualToZeroBasedCoords);
|
53
|
-
/**
|
54
|
-
* Finds the first non-hidden zero-based column in the table range.
|
55
|
-
*
|
56
|
-
* @param {number} visualColumnFrom The visual column from which the search should start.
|
57
|
-
* @param {number} visualColumnTo The visual column to which the search should end.
|
58
|
-
* @returns {number | null}
|
59
|
-
*/
|
60
|
-
_classPrivateMethodInitSpec(this, _findFirstNonHiddenZeroBasedColumn);
|
61
|
-
/**
|
62
|
-
* Finds the first non-hidden zero-based row in the table range.
|
63
|
-
*
|
64
|
-
* @param {number} visualRowFrom The visual row from which the search should start.
|
65
|
-
* @param {number} visualRowTo The visual row to which the search should end.
|
66
|
-
* @returns {number | null}
|
67
|
-
*/
|
68
|
-
_classPrivateMethodInitSpec(this, _findFirstNonHiddenZeroBasedRow);
|
69
|
-
/**
|
70
|
-
* Gets the table size in number of rows with headers as "height" and number of columns with
|
71
|
-
* headers as "width".
|
72
|
-
*
|
73
|
-
* @returns {{width: number, height: number}}
|
74
|
-
*/
|
75
|
-
_classPrivateMethodInitSpec(this, _getTableSize);
|
76
|
-
/**
|
77
|
-
* Clamps the coords to make sure they points to the cell (or header) in the table range.
|
78
|
-
*
|
79
|
-
* @param {CellCoords} zeroBasedCoords The coords object to clamp.
|
80
|
-
* @returns {{rowDir: 1|0|-1, colDir: 1|0|-1}}
|
81
|
-
*/
|
82
|
-
_classPrivateMethodInitSpec(this, _clampCoords);
|
37
|
+
_classPrivateMethodInitSpec(this, _Transformation_brand);
|
83
38
|
/**
|
84
39
|
* Instance of the SelectionRange, holder for visual coordinates applied to the table.
|
85
40
|
*
|
86
41
|
* @type {SelectionRange}
|
87
42
|
*/
|
88
|
-
_classPrivateFieldInitSpec(this, _range,
|
89
|
-
writable: true,
|
90
|
-
value: void 0
|
91
|
-
});
|
43
|
+
_classPrivateFieldInitSpec(this, _range, void 0);
|
92
44
|
/**
|
93
45
|
* Additional options which define the state of the settings which can infer transformation and
|
94
46
|
* give the possibility to translate indexes.
|
95
47
|
*
|
96
48
|
* @type {object}
|
97
49
|
*/
|
98
|
-
_classPrivateFieldInitSpec(this, _options,
|
99
|
-
writable: true,
|
100
|
-
value: void 0
|
101
|
-
});
|
50
|
+
_classPrivateFieldInitSpec(this, _options, void 0);
|
102
51
|
/**
|
103
52
|
* Increases the table size by applying the offsets. The option is used by the `navigableHeaders`
|
104
53
|
* option.
|
@@ -106,14 +55,11 @@ class Transformation {
|
|
106
55
|
* @type {{ x: number, y: number }}
|
107
56
|
*/
|
108
57
|
_classPrivateFieldInitSpec(this, _offset, {
|
109
|
-
|
110
|
-
|
111
|
-
x: 0,
|
112
|
-
y: 0
|
113
|
-
}
|
58
|
+
x: 0,
|
59
|
+
y: 0
|
114
60
|
});
|
115
|
-
_classPrivateFieldSet(
|
116
|
-
_classPrivateFieldSet(
|
61
|
+
_classPrivateFieldSet(_range, this, range);
|
62
|
+
_classPrivateFieldSet(_options, this, options);
|
117
63
|
}
|
118
64
|
|
119
65
|
/**
|
@@ -127,9 +73,13 @@ class Transformation {
|
|
127
73
|
*/
|
128
74
|
transformStart(rowDelta, colDelta) {
|
129
75
|
let createMissingRecords = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
130
|
-
|
131
|
-
|
132
|
-
|
76
|
+
_assertClassBrand(_Transformation_brand, this, _setOffsetSize).call(this, {
|
77
|
+
x: _classPrivateFieldGet(_options, this).navigableHeaders() ? _classPrivateFieldGet(_options, this).countRowHeaders() : 0,
|
78
|
+
y: _classPrivateFieldGet(_options, this).navigableHeaders() ? _classPrivateFieldGet(_options, this).countColHeaders() : 0
|
79
|
+
});
|
80
|
+
const delta = _classPrivateFieldGet(_options, this).createCellCoords(rowDelta, colDelta);
|
81
|
+
let visualCoords = _classPrivateFieldGet(_range, this).current().highlight;
|
82
|
+
const highlightRenderableCoords = _classPrivateFieldGet(_options, this).visualToRenderableCoords(visualCoords);
|
133
83
|
let rowTransformDir = 0;
|
134
84
|
let colTransformDir = 0;
|
135
85
|
this.runLocalHooks('beforeTransformStart', delta);
|
@@ -137,32 +87,32 @@ class Transformation {
|
|
137
87
|
const {
|
138
88
|
width,
|
139
89
|
height
|
140
|
-
} =
|
90
|
+
} = _assertClassBrand(_Transformation_brand, this, _getTableSize).call(this);
|
141
91
|
const {
|
142
92
|
row,
|
143
93
|
col
|
144
|
-
} =
|
145
|
-
const fixedRowsBottom = _classPrivateFieldGet(
|
146
|
-
const minSpareRows = _classPrivateFieldGet(
|
147
|
-
const minSpareCols = _classPrivateFieldGet(
|
148
|
-
const autoWrapRow = _classPrivateFieldGet(
|
149
|
-
const autoWrapCol = _classPrivateFieldGet(
|
150
|
-
const zeroBasedCoords = _classPrivateFieldGet(
|
94
|
+
} = _assertClassBrand(_Transformation_brand, this, _visualToZeroBasedCoords).call(this, visualCoords);
|
95
|
+
const fixedRowsBottom = _classPrivateFieldGet(_options, this).fixedRowsBottom();
|
96
|
+
const minSpareRows = _classPrivateFieldGet(_options, this).minSpareRows();
|
97
|
+
const minSpareCols = _classPrivateFieldGet(_options, this).minSpareCols();
|
98
|
+
const autoWrapRow = _classPrivateFieldGet(_options, this).autoWrapRow();
|
99
|
+
const autoWrapCol = _classPrivateFieldGet(_options, this).autoWrapCol();
|
100
|
+
const zeroBasedCoords = _classPrivateFieldGet(_options, this).createCellCoords(row + delta.row, col + delta.col);
|
151
101
|
if (zeroBasedCoords.row >= height) {
|
152
102
|
const isActionInterrupted = createObjectPropListener(createMissingRecords && minSpareRows > 0 && fixedRowsBottom === 0);
|
153
103
|
const nextColumn = zeroBasedCoords.col + 1;
|
154
|
-
const newCoords = _classPrivateFieldGet(
|
155
|
-
this.runLocalHooks('beforeColumnWrap', isActionInterrupted,
|
104
|
+
const newCoords = _classPrivateFieldGet(_options, this).createCellCoords(zeroBasedCoords.row - height, nextColumn >= width ? nextColumn - width : nextColumn);
|
105
|
+
this.runLocalHooks('beforeColumnWrap', isActionInterrupted, _assertClassBrand(_Transformation_brand, this, _zeroBasedToVisualCoords).call(this, newCoords), nextColumn >= width);
|
156
106
|
if (isActionInterrupted.value) {
|
157
|
-
this.runLocalHooks('insertRowRequire', _classPrivateFieldGet(
|
107
|
+
this.runLocalHooks('insertRowRequire', _classPrivateFieldGet(_options, this).countRenderableRows());
|
158
108
|
} else if (autoWrapCol) {
|
159
109
|
zeroBasedCoords.assign(newCoords);
|
160
110
|
}
|
161
111
|
} else if (zeroBasedCoords.row < 0) {
|
162
112
|
const isActionInterrupted = createObjectPropListener(autoWrapCol);
|
163
113
|
const previousColumn = zeroBasedCoords.col - 1;
|
164
|
-
const newCoords = _classPrivateFieldGet(
|
165
|
-
this.runLocalHooks('beforeColumnWrap', isActionInterrupted,
|
114
|
+
const newCoords = _classPrivateFieldGet(_options, this).createCellCoords(height + zeroBasedCoords.row, previousColumn < 0 ? width + previousColumn : previousColumn);
|
115
|
+
this.runLocalHooks('beforeColumnWrap', isActionInterrupted, _assertClassBrand(_Transformation_brand, this, _zeroBasedToVisualCoords).call(this, newCoords), previousColumn < 0);
|
166
116
|
if (autoWrapCol) {
|
167
117
|
zeroBasedCoords.assign(newCoords);
|
168
118
|
}
|
@@ -170,18 +120,18 @@ class Transformation {
|
|
170
120
|
if (zeroBasedCoords.col >= width) {
|
171
121
|
const isActionInterrupted = createObjectPropListener(createMissingRecords && minSpareCols > 0);
|
172
122
|
const nextRow = zeroBasedCoords.row + 1;
|
173
|
-
const newCoords = _classPrivateFieldGet(
|
174
|
-
this.runLocalHooks('beforeRowWrap', isActionInterrupted,
|
123
|
+
const newCoords = _classPrivateFieldGet(_options, this).createCellCoords(nextRow >= height ? nextRow - height : nextRow, zeroBasedCoords.col - width);
|
124
|
+
this.runLocalHooks('beforeRowWrap', isActionInterrupted, _assertClassBrand(_Transformation_brand, this, _zeroBasedToVisualCoords).call(this, newCoords), nextRow >= height);
|
175
125
|
if (isActionInterrupted.value) {
|
176
|
-
this.runLocalHooks('insertColRequire', _classPrivateFieldGet(
|
126
|
+
this.runLocalHooks('insertColRequire', _classPrivateFieldGet(_options, this).countRenderableColumns());
|
177
127
|
} else if (autoWrapRow) {
|
178
128
|
zeroBasedCoords.assign(newCoords);
|
179
129
|
}
|
180
130
|
} else if (zeroBasedCoords.col < 0) {
|
181
131
|
const isActionInterrupted = createObjectPropListener(autoWrapRow);
|
182
132
|
const previousRow = zeroBasedCoords.row - 1;
|
183
|
-
const newCoords = _classPrivateFieldGet(
|
184
|
-
this.runLocalHooks('beforeRowWrap', isActionInterrupted,
|
133
|
+
const newCoords = _classPrivateFieldGet(_options, this).createCellCoords(previousRow < 0 ? height + previousRow : previousRow, width + zeroBasedCoords.col);
|
134
|
+
this.runLocalHooks('beforeRowWrap', isActionInterrupted, _assertClassBrand(_Transformation_brand, this, _zeroBasedToVisualCoords).call(this, newCoords), previousRow < 0);
|
185
135
|
if (autoWrapRow) {
|
186
136
|
zeroBasedCoords.assign(newCoords);
|
187
137
|
}
|
@@ -189,10 +139,10 @@ class Transformation {
|
|
189
139
|
const {
|
190
140
|
rowDir,
|
191
141
|
colDir
|
192
|
-
} =
|
142
|
+
} = _assertClassBrand(_Transformation_brand, this, _clampCoords).call(this, zeroBasedCoords);
|
193
143
|
rowTransformDir = rowDir;
|
194
144
|
colTransformDir = colDir;
|
195
|
-
visualCoords =
|
145
|
+
visualCoords = _assertClassBrand(_Transformation_brand, this, _zeroBasedToVisualCoords).call(this, zeroBasedCoords);
|
196
146
|
}
|
197
147
|
this.runLocalHooks('afterTransformStart', visualCoords, rowTransformDir, colTransformDir);
|
198
148
|
return visualCoords;
|
@@ -206,54 +156,30 @@ class Transformation {
|
|
206
156
|
* @returns {CellCoords} Visual coordinates after transformation.
|
207
157
|
*/
|
208
158
|
transformEnd(rowDelta, colDelta) {
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
const
|
159
|
+
_assertClassBrand(_Transformation_brand, this, _setOffsetSize).call(this, {
|
160
|
+
x: _classPrivateFieldGet(_options, this).navigableHeaders() ? _classPrivateFieldGet(_options, this).countRowHeaders() : 0,
|
161
|
+
y: _classPrivateFieldGet(_options, this).navigableHeaders() ? _classPrivateFieldGet(_options, this).countColHeaders() : 0
|
162
|
+
});
|
163
|
+
const delta = _classPrivateFieldGet(_options, this).createCellCoords(rowDelta, colDelta);
|
164
|
+
const cellRange = _classPrivateFieldGet(_range, this).current();
|
165
|
+
const highlightRenderableCoords = _classPrivateFieldGet(_options, this).visualToRenderableCoords(cellRange.highlight);
|
214
166
|
const visualCoords = cellRange.to.clone();
|
215
167
|
let rowTransformDir = 0;
|
216
168
|
let colTransformDir = 0;
|
217
169
|
this.runLocalHooks('beforeTransformEnd', delta);
|
218
|
-
if (highlightRenderableCoords.row !== null && highlightRenderableCoords.col !== null
|
170
|
+
if (highlightRenderableCoords.row !== null && highlightRenderableCoords.col !== null) {
|
219
171
|
const {
|
220
|
-
row
|
221
|
-
col
|
222
|
-
} =
|
223
|
-
const coords = _classPrivateFieldGet(
|
224
|
-
const restDelta = {
|
225
|
-
row: coords.row - highlightRow,
|
226
|
-
col: coords.col - highlightColumn
|
227
|
-
};
|
228
|
-
this.runLocalHooks('modifyTransformEndRestDelta', restDelta, delta, _classPrivateMethodGet(this, _zeroBasedToVisualCoords, _zeroBasedToVisualCoords2).call(this, coords));
|
229
|
-
const topStartCorner = cellRange.getTopStartCorner();
|
230
|
-
const topEndCorner = cellRange.getTopEndCorner();
|
231
|
-
const bottomEndCorner = cellRange.getBottomEndCorner();
|
232
|
-
if (delta.col < 0) {
|
233
|
-
if (toColumn >= highlightColumn && coords.col < highlightColumn) {
|
234
|
-
coords.col = _classPrivateMethodGet(this, _findFirstNonHiddenZeroBasedColumn, _findFirstNonHiddenZeroBasedColumn2).call(this, topStartCorner.col, topEndCorner.col) + restDelta.col;
|
235
|
-
}
|
236
|
-
} else if (delta.col > 0) {
|
237
|
-
if (toColumn <= highlightColumn && coords.col > highlightColumn) {
|
238
|
-
coords.col = _classPrivateMethodGet(this, _findFirstNonHiddenZeroBasedColumn, _findFirstNonHiddenZeroBasedColumn2).call(this, topEndCorner.col, topStartCorner.col) + restDelta.col;
|
239
|
-
}
|
240
|
-
}
|
241
|
-
if (delta.row < 0) {
|
242
|
-
if (toRow >= highlightRow && coords.row < highlightRow) {
|
243
|
-
coords.row = _classPrivateMethodGet(this, _findFirstNonHiddenZeroBasedRow, _findFirstNonHiddenZeroBasedRow2).call(this, topStartCorner.row, bottomEndCorner.row) + restDelta.row;
|
244
|
-
}
|
245
|
-
} else if (delta.row > 0) {
|
246
|
-
if (toRow <= highlightRow && coords.row > highlightRow) {
|
247
|
-
coords.row = _classPrivateMethodGet(this, _findFirstNonHiddenZeroBasedRow, _findFirstNonHiddenZeroBasedRow2).call(this, bottomEndCorner.row, topStartCorner.row) + restDelta.row;
|
248
|
-
}
|
249
|
-
}
|
172
|
+
row,
|
173
|
+
col
|
174
|
+
} = _assertClassBrand(_Transformation_brand, this, _visualToZeroBasedCoords).call(this, cellRange.to);
|
175
|
+
const coords = _classPrivateFieldGet(_options, this).createCellCoords(row + delta.row, col + delta.col);
|
250
176
|
const {
|
251
177
|
rowDir,
|
252
178
|
colDir
|
253
|
-
} =
|
179
|
+
} = _assertClassBrand(_Transformation_brand, this, _clampCoords).call(this, coords);
|
254
180
|
rowTransformDir = rowDir;
|
255
181
|
colTransformDir = colDir;
|
256
|
-
const newVisualCoords =
|
182
|
+
const newVisualCoords = _assertClassBrand(_Transformation_brand, this, _zeroBasedToVisualCoords).call(this, coords);
|
257
183
|
if (delta.row === 0 && delta.col !== 0) {
|
258
184
|
visualCoords.col = newVisualCoords.col;
|
259
185
|
} else if (delta.row !== 0 && delta.col === 0) {
|
@@ -266,29 +192,28 @@ class Transformation {
|
|
266
192
|
this.runLocalHooks('afterTransformEnd', visualCoords, rowTransformDir, colTransformDir);
|
267
193
|
return visualCoords;
|
268
194
|
}
|
269
|
-
|
270
|
-
/**
|
271
|
-
* Sets the additional offset in table size that may occur when the `navigableHeaders` option
|
272
|
-
* is enabled.
|
273
|
-
*
|
274
|
-
* @param {{x: number, y: number}} offset Offset as x and y properties.
|
275
|
-
*/
|
276
|
-
setOffsetSize(_ref) {
|
277
|
-
let {
|
278
|
-
x,
|
279
|
-
y
|
280
|
-
} = _ref;
|
281
|
-
_classPrivateFieldSet(this, _offset, {
|
282
|
-
x,
|
283
|
-
y
|
284
|
-
});
|
285
|
-
}
|
286
195
|
}
|
287
|
-
function
|
196
|
+
function _setOffsetSize(_ref) {
|
197
|
+
let {
|
198
|
+
x,
|
199
|
+
y
|
200
|
+
} = _ref;
|
201
|
+
_classPrivateFieldSet(_offset, this, {
|
202
|
+
x,
|
203
|
+
y
|
204
|
+
});
|
205
|
+
}
|
206
|
+
/**
|
207
|
+
* Clamps the coords to make sure they points to the cell (or header) in the table range.
|
208
|
+
*
|
209
|
+
* @param {CellCoords} zeroBasedCoords The coords object to clamp.
|
210
|
+
* @returns {{rowDir: 1|0|-1, colDir: 1|0|-1}}
|
211
|
+
*/
|
212
|
+
function _clampCoords(zeroBasedCoords) {
|
288
213
|
const {
|
289
214
|
width,
|
290
215
|
height
|
291
|
-
} =
|
216
|
+
} = _assertClassBrand(_Transformation_brand, this, _getTableSize).call(this);
|
292
217
|
let rowDir = 0;
|
293
218
|
let colDir = 0;
|
294
219
|
if (zeroBasedCoords.row < 0) {
|
@@ -310,41 +235,42 @@ function _clampCoords2(zeroBasedCoords) {
|
|
310
235
|
colDir
|
311
236
|
};
|
312
237
|
}
|
313
|
-
|
238
|
+
/**
|
239
|
+
* Gets the table size in number of rows with headers as "height" and number of columns with
|
240
|
+
* headers as "width".
|
241
|
+
*
|
242
|
+
* @returns {{width: number, height: number}}
|
243
|
+
*/
|
244
|
+
function _getTableSize() {
|
314
245
|
return {
|
315
|
-
width: _classPrivateFieldGet(
|
316
|
-
height: _classPrivateFieldGet(
|
246
|
+
width: _classPrivateFieldGet(_offset, this).x + _classPrivateFieldGet(_options, this).countRenderableColumns(),
|
247
|
+
height: _classPrivateFieldGet(_offset, this).y + _classPrivateFieldGet(_options, this).countRenderableRows()
|
317
248
|
};
|
318
249
|
}
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
function _findFirstNonHiddenZeroBasedColumn2(visualColumnFrom, visualColumnTo) {
|
327
|
-
const column = _classPrivateFieldGet(this, _options).findFirstNonHiddenRenderableColumn(visualColumnFrom, visualColumnTo);
|
328
|
-
if (column === null) {
|
329
|
-
return null;
|
330
|
-
}
|
331
|
-
return _classPrivateFieldGet(this, _offset).x + column;
|
332
|
-
}
|
333
|
-
function _visualToZeroBasedCoords2(visualCoords) {
|
250
|
+
/**
|
251
|
+
* Translates the visual coordinates to zero-based ones.
|
252
|
+
*
|
253
|
+
* @param {CellCoords} visualCoords The visual coords to process.
|
254
|
+
* @returns {CellCoords}
|
255
|
+
*/
|
256
|
+
function _visualToZeroBasedCoords(visualCoords) {
|
334
257
|
const {
|
335
258
|
row,
|
336
259
|
col
|
337
|
-
} = _classPrivateFieldGet(
|
338
|
-
|
339
|
-
throw new Error('Renderable coords are not visible.');
|
340
|
-
}
|
341
|
-
return _classPrivateFieldGet(this, _options).createCellCoords(_classPrivateFieldGet(this, _offset).y + row, _classPrivateFieldGet(this, _offset).x + col);
|
260
|
+
} = _classPrivateFieldGet(_options, this).visualToRenderableCoords(visualCoords);
|
261
|
+
return _classPrivateFieldGet(_options, this).createCellCoords(_classPrivateFieldGet(_offset, this).y + row, _classPrivateFieldGet(_offset, this).x + col);
|
342
262
|
}
|
343
|
-
|
263
|
+
/**
|
264
|
+
* Translates the zero-based coordinates to visual ones.
|
265
|
+
*
|
266
|
+
* @param {CellCoords} zeroBasedCoords The coordinates to process.
|
267
|
+
* @returns {CellCoords}
|
268
|
+
*/
|
269
|
+
function _zeroBasedToVisualCoords(zeroBasedCoords) {
|
344
270
|
const coords = zeroBasedCoords.clone();
|
345
|
-
coords.col = zeroBasedCoords.col - _classPrivateFieldGet(
|
346
|
-
coords.row = zeroBasedCoords.row - _classPrivateFieldGet(
|
347
|
-
return _classPrivateFieldGet(
|
271
|
+
coords.col = zeroBasedCoords.col - _classPrivateFieldGet(_offset, this).x;
|
272
|
+
coords.row = zeroBasedCoords.row - _classPrivateFieldGet(_offset, this).y;
|
273
|
+
return _classPrivateFieldGet(_options, this).renderableToVisualCoords(coords);
|
348
274
|
}
|
349
275
|
mixin(Transformation, localHooks);
|
350
276
|
export default Transformation;
|
@@ -3,9 +3,9 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
const command = exports.command = {
|
5
5
|
name: 'editorCloseAndSave',
|
6
|
-
callback(hot, event) {
|
6
|
+
callback(hot, event, keys) {
|
7
7
|
const editorManager = hot._getEditorManager();
|
8
8
|
editorManager.closeEditorAndSaveChanges(event.ctrlKey || event.metaKey);
|
9
|
-
editorManager.moveSelectionAfterEnter(
|
9
|
+
editorManager.moveSelectionAfterEnter(keys.includes('shift'));
|
10
10
|
}
|
11
11
|
};
|
@@ -1,8 +1,8 @@
|
|
1
1
|
export const command = {
|
2
2
|
name: 'editorCloseAndSave',
|
3
|
-
callback(hot, event) {
|
3
|
+
callback(hot, event, keys) {
|
4
4
|
const editorManager = hot._getEditorManager();
|
5
5
|
editorManager.closeEditorAndSaveChanges(event.ctrlKey || event.metaKey);
|
6
|
-
editorManager.moveSelectionAfterEnter(
|
6
|
+
editorManager.moveSelectionAfterEnter(keys.includes('shift'));
|
7
7
|
}
|
8
8
|
};
|
@@ -6,35 +6,20 @@ const command = exports.command = {
|
|
6
6
|
name: 'editorOpen',
|
7
7
|
callback(hot, event, keys) {
|
8
8
|
const editorManager = hot._getEditorManager();
|
9
|
-
const selectedRange = hot.getSelectedRangeLast();
|
10
9
|
const {
|
11
10
|
highlight
|
12
|
-
} =
|
13
|
-
|
14
|
-
// supports for navigating with enter key when multiple cells are selected
|
15
|
-
if (hot.selection.isMultiple() && !selectedRange.isHeader() && hot.countRenderedCols() > 0 && hot.countRenderedRows() > 0) {
|
16
|
-
const settings = hot.getSettings();
|
17
|
-
const enterMoves = typeof settings.enterMoves === 'function' ? settings.enterMoves(event) : settings.enterMoves;
|
18
|
-
if (keys.includes('shift')) {
|
19
|
-
hot.selection.transformFocus(-enterMoves.row, -enterMoves.col);
|
20
|
-
} else {
|
21
|
-
hot.selection.transformFocus(enterMoves.row, enterMoves.col);
|
22
|
-
}
|
23
|
-
return;
|
24
|
-
}
|
11
|
+
} = hot.getSelectedRangeLast();
|
25
12
|
if (highlight.isHeader()) {
|
26
13
|
return;
|
27
14
|
}
|
28
|
-
|
29
|
-
// supports editor opening with enter key
|
30
15
|
if (hot.getSettings().enterBeginsEditing) {
|
31
16
|
if (editorManager.cellProperties.readOnly) {
|
32
|
-
editorManager.moveSelectionAfterEnter(
|
17
|
+
editorManager.moveSelectionAfterEnter();
|
33
18
|
} else {
|
34
19
|
editorManager.openEditor(null, event, true);
|
35
20
|
}
|
36
21
|
} else {
|
37
|
-
editorManager.moveSelectionAfterEnter(
|
22
|
+
editorManager.moveSelectionAfterEnter(keys.includes('shift'));
|
38
23
|
}
|
39
24
|
(0, _event.stopImmediatePropagation)(event); // required by HandsontableEditor
|
40
25
|
}
|
@@ -3,35 +3,20 @@ export const command = {
|
|
3
3
|
name: 'editorOpen',
|
4
4
|
callback(hot, event, keys) {
|
5
5
|
const editorManager = hot._getEditorManager();
|
6
|
-
const selectedRange = hot.getSelectedRangeLast();
|
7
6
|
const {
|
8
7
|
highlight
|
9
|
-
} =
|
10
|
-
|
11
|
-
// supports for navigating with enter key when multiple cells are selected
|
12
|
-
if (hot.selection.isMultiple() && !selectedRange.isHeader() && hot.countRenderedCols() > 0 && hot.countRenderedRows() > 0) {
|
13
|
-
const settings = hot.getSettings();
|
14
|
-
const enterMoves = typeof settings.enterMoves === 'function' ? settings.enterMoves(event) : settings.enterMoves;
|
15
|
-
if (keys.includes('shift')) {
|
16
|
-
hot.selection.transformFocus(-enterMoves.row, -enterMoves.col);
|
17
|
-
} else {
|
18
|
-
hot.selection.transformFocus(enterMoves.row, enterMoves.col);
|
19
|
-
}
|
20
|
-
return;
|
21
|
-
}
|
8
|
+
} = hot.getSelectedRangeLast();
|
22
9
|
if (highlight.isHeader()) {
|
23
10
|
return;
|
24
11
|
}
|
25
|
-
|
26
|
-
// supports editor opening with enter key
|
27
12
|
if (hot.getSettings().enterBeginsEditing) {
|
28
13
|
if (editorManager.cellProperties.readOnly) {
|
29
|
-
editorManager.moveSelectionAfterEnter(
|
14
|
+
editorManager.moveSelectionAfterEnter();
|
30
15
|
} else {
|
31
16
|
editorManager.openEditor(null, event, true);
|
32
17
|
}
|
33
18
|
} else {
|
34
|
-
editorManager.moveSelectionAfterEnter(
|
19
|
+
editorManager.moveSelectionAfterEnter(keys.includes('shift'));
|
35
20
|
}
|
36
21
|
stopImmediatePropagation(event); // required by HandsontableEditor
|
37
22
|
}
|
@@ -7,7 +7,7 @@ const command = exports.command = {
|
|
7
7
|
const {
|
8
8
|
highlight
|
9
9
|
} = hot.getSelectedRangeLast();
|
10
|
-
if (
|
10
|
+
if (highlight.isCell() || highlight.isHeader() && hot.selection.isSelectedByRowHeader()) {
|
11
11
|
hot.selection.transformEnd(1, 0);
|
12
12
|
}
|
13
13
|
}
|
@@ -4,7 +4,7 @@ export const command = {
|
|
4
4
|
const {
|
5
5
|
highlight
|
6
6
|
} = hot.getSelectedRangeLast();
|
7
|
-
if (
|
7
|
+
if (highlight.isCell() || highlight.isHeader() && hot.selection.isSelectedByRowHeader()) {
|
8
8
|
hot.selection.transformEnd(1, 0);
|
9
9
|
}
|
10
10
|
}
|
@@ -7,7 +7,7 @@ const command = exports.command = {
|
|
7
7
|
const {
|
8
8
|
highlight
|
9
9
|
} = hot.getSelectedRangeLast();
|
10
|
-
if (
|
10
|
+
if (highlight.isCell() || highlight.isHeader() && hot.selection.isSelectedByColumnHeader()) {
|
11
11
|
hot.selection.transformEnd(0, -1 * hot.getDirectionFactor());
|
12
12
|
}
|
13
13
|
}
|
@@ -4,7 +4,7 @@ export const command = {
|
|
4
4
|
const {
|
5
5
|
highlight
|
6
6
|
} = hot.getSelectedRangeLast();
|
7
|
-
if (
|
7
|
+
if (highlight.isCell() || highlight.isHeader() && hot.selection.isSelectedByColumnHeader()) {
|
8
8
|
hot.selection.transformEnd(0, -1 * hot.getDirectionFactor());
|
9
9
|
}
|
10
10
|
}
|
@@ -7,7 +7,7 @@ const command = exports.command = {
|
|
7
7
|
const {
|
8
8
|
highlight
|
9
9
|
} = hot.getSelectedRangeLast();
|
10
|
-
if (
|
10
|
+
if (highlight.isCell() || highlight.isHeader() && hot.selection.isSelectedByColumnHeader()) {
|
11
11
|
hot.selection.transformEnd(0, hot.getDirectionFactor());
|
12
12
|
}
|
13
13
|
}
|
@@ -4,7 +4,7 @@ export const command = {
|
|
4
4
|
const {
|
5
5
|
highlight
|
6
6
|
} = hot.getSelectedRangeLast();
|
7
|
-
if (
|
7
|
+
if (highlight.isCell() || highlight.isHeader() && hot.selection.isSelectedByColumnHeader()) {
|
8
8
|
hot.selection.transformEnd(0, hot.getDirectionFactor());
|
9
9
|
}
|
10
10
|
}
|
@@ -16,9 +16,7 @@ const command = exports.command = {
|
|
16
16
|
const isFocusHighlightedByHeader = highlight.isHeader() && hot.selection.isSelectedByRowHeader();
|
17
17
|
if (highlight.isCell() || isFocusHighlightedByHeader) {
|
18
18
|
const row = rowIndexMapper.getNearestNotHiddenIndex(hot.countRows() - 1, -1);
|
19
|
-
|
20
|
-
newFrom.row = highlight.row;
|
21
|
-
selection.setRangeStart(newFrom, undefined, false, highlight.clone());
|
19
|
+
selection.setRangeStart(from.clone());
|
22
20
|
|
23
21
|
// Restore the row highlight by header flag after setting up a new selection.
|
24
22
|
if (isFocusHighlightedByHeader) {
|
@@ -13,9 +13,7 @@ export const command = {
|
|
13
13
|
const isFocusHighlightedByHeader = highlight.isHeader() && hot.selection.isSelectedByRowHeader();
|
14
14
|
if (highlight.isCell() || isFocusHighlightedByHeader) {
|
15
15
|
const row = rowIndexMapper.getNearestNotHiddenIndex(hot.countRows() - 1, -1);
|
16
|
-
|
17
|
-
newFrom.row = highlight.row;
|
18
|
-
selection.setRangeStart(newFrom, undefined, false, highlight.clone());
|
16
|
+
selection.setRangeStart(from.clone());
|
19
17
|
|
20
18
|
// Restore the row highlight by header flag after setting up a new selection.
|
21
19
|
if (isFocusHighlightedByHeader) {
|
@@ -9,16 +9,10 @@ const command = exports.command = {
|
|
9
9
|
columnIndexMapper
|
10
10
|
} = hot;
|
11
11
|
const {
|
12
|
-
highlight
|
13
|
-
from,
|
14
|
-
to
|
12
|
+
highlight
|
15
13
|
} = hot.getSelectedRangeLast();
|
16
|
-
if (
|
17
|
-
|
18
|
-
const newFrom = from.clone();
|
19
|
-
newFrom.col = highlight.col;
|
20
|
-
selection.setRangeStart(newFrom, undefined, false, highlight.clone());
|
21
|
-
selection.setRangeEnd(hot._createCellCoords(to.row, column));
|
14
|
+
if (highlight.isCell()) {
|
15
|
+
selection.setRangeEnd(hot._createCellCoords(selection.selectedRange.current().from.row, columnIndexMapper.getNearestNotHiddenIndex(hot.countCols() - 1, -1)));
|
22
16
|
}
|
23
17
|
}
|
24
18
|
};
|