handsontable 0.0.0-next-08765b9-20230714 → 0.0.0-next-6b996e8-20230714
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- package/3rdparty/walkontable/src/{selection/border/border.js → border.js} +12 -7
- package/3rdparty/walkontable/src/{selection/border/border.mjs → border.mjs} +12 -7
- package/3rdparty/walkontable/src/cell/coords.d.ts +1 -6
- package/3rdparty/walkontable/src/cell/coords.js +11 -50
- package/3rdparty/walkontable/src/cell/coords.mjs +11 -50
- package/3rdparty/walkontable/src/cell/range.d.ts +2 -9
- package/3rdparty/walkontable/src/cell/range.js +7 -38
- package/3rdparty/walkontable/src/cell/range.mjs +7 -38
- package/3rdparty/walkontable/src/core/_base.js +3 -9
- package/3rdparty/walkontable/src/core/_base.mjs +3 -9
- package/3rdparty/walkontable/src/core/clone.js +2 -2
- package/3rdparty/walkontable/src/core/clone.mjs +2 -2
- package/3rdparty/walkontable/src/core/core.js +2 -3
- package/3rdparty/walkontable/src/core/core.mjs +2 -3
- package/3rdparty/walkontable/src/event.js +7 -7
- package/3rdparty/walkontable/src/event.mjs +7 -7
- package/3rdparty/walkontable/src/facade/core.js +2 -2
- package/3rdparty/walkontable/src/facade/core.mjs +2 -2
- package/3rdparty/walkontable/src/index.js +2 -10
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.js +6 -2
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +6 -2
- package/3rdparty/walkontable/src/overlay/top.js +6 -2
- package/3rdparty/walkontable/src/overlay/top.mjs +6 -2
- package/3rdparty/walkontable/src/selection.js +295 -0
- package/3rdparty/walkontable/src/selection.mjs +290 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +0 -9
- package/3rdparty/walkontable/src/table.js +78 -6
- package/3rdparty/walkontable/src/table.mjs +79 -7
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/common.d.ts +1 -1
- package/core.d.ts +3 -6
- package/core.js +290 -173
- package/core.mjs +290 -173
- package/dataMap/metaManager/metaSchema.js +0 -41
- package/dataMap/metaManager/metaSchema.mjs +0 -41
- package/dist/handsontable.css +3 -19
- package/dist/handsontable.full.css +3 -19
- package/dist/handsontable.full.js +5369 -8671
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +25 -25
- package/dist/handsontable.js +8117 -11419
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +19 -19
- package/editorManager.js +75 -11
- package/editorManager.mjs +74 -11
- package/editors/textEditor/textEditor.js +11 -3
- package/editors/textEditor/textEditor.mjs +12 -4
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/helpers/number.d.ts +0 -1
- package/helpers/number.js +0 -18
- package/helpers/number.mjs +0 -17
- package/package.json +1 -1
- package/pluginHooks.d.ts +1 -7
- package/pluginHooks.js +1 -106
- package/pluginHooks.mjs +1 -106
- package/plugins/collapsibleColumns/collapsibleColumns.js +4 -58
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +4 -58
- package/plugins/columnSorting/columnSorting.js +0 -38
- package/plugins/columnSorting/columnSorting.mjs +2 -38
- package/plugins/columnSorting/index.js +1 -3
- package/plugins/columnSorting/index.mjs +1 -1
- package/plugins/comments/commentEditor.js +0 -1
- package/plugins/comments/commentEditor.mjs +0 -1
- package/plugins/comments/comments.js +189 -251
- package/plugins/comments/comments.mjs +190 -250
- package/plugins/contextMenu/contextMenu.d.ts +1 -1
- package/plugins/contextMenu/contextMenu.js +30 -72
- package/plugins/contextMenu/contextMenu.mjs +31 -73
- package/plugins/contextMenu/predefinedItems/alignment.js +0 -7
- package/plugins/contextMenu/predefinedItems/alignment.mjs +0 -7
- package/plugins/contextMenu/predefinedItems/clearColumn.js +3 -5
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -5
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/columnRight.js +3 -5
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/readOnly.js +0 -7
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +0 -7
- package/plugins/contextMenu/predefinedItems/removeColumn.js +5 -7
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/removeRow.js +5 -7
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -5
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/rowBelow.js +3 -5
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +3 -5
- package/plugins/contextMenu/utils.js +16 -28
- package/plugins/contextMenu/utils.mjs +15 -27
- package/plugins/copyPaste/contextMenuItem/copy.js +0 -7
- package/plugins/copyPaste/contextMenuItem/copy.mjs +0 -7
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +1 -9
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/cut.js +0 -7
- package/plugins/copyPaste/contextMenuItem/cut.mjs +0 -7
- package/plugins/copyPaste/copyPaste.js +2 -6
- package/plugins/copyPaste/copyPaste.mjs +2 -6
- package/plugins/customBorders/customBorders.js +20 -23
- package/plugins/customBorders/customBorders.mjs +21 -24
- package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
- package/plugins/dropdownMenu/dropdownMenu.js +32 -89
- package/plugins/dropdownMenu/dropdownMenu.mjs +32 -89
- package/plugins/filters/filters.js +14 -31
- package/plugins/filters/filters.mjs +13 -30
- package/plugins/mergeCells/mergeCells.js +16 -5
- package/plugins/mergeCells/mergeCells.mjs +16 -5
- package/plugins/multiColumnSorting/multiColumnSorting.js +2 -37
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -37
- package/plugins/nestedHeaders/nestedHeaders.js +8 -121
- package/plugins/nestedHeaders/nestedHeaders.mjs +8 -121
- package/plugins/nestedHeaders/stateManager/index.js +0 -37
- package/plugins/nestedHeaders/stateManager/index.mjs +0 -37
- package/plugins/nestedRows/nestedRows.js +0 -41
- package/plugins/nestedRows/nestedRows.mjs +0 -41
- package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
- package/selection/highlight/constants.js +15 -0
- package/selection/highlight/constants.mjs +6 -0
- package/selection/highlight/highlight.js +71 -256
- package/selection/highlight/highlight.mjs +71 -250
- package/selection/highlight/types/activeHeader.js +8 -10
- package/selection/highlight/types/activeHeader.mjs +8 -10
- package/selection/highlight/types/area.js +18 -6
- package/selection/highlight/types/area.mjs +18 -6
- package/selection/highlight/types/{focus.js → cell.js} +7 -5
- package/selection/highlight/types/{focus.mjs → cell.mjs} +7 -5
- package/selection/highlight/types/customSelection.js +9 -7
- package/selection/highlight/types/customSelection.mjs +9 -7
- package/selection/highlight/types/fill.js +7 -5
- package/selection/highlight/types/fill.mjs +7 -5
- package/selection/highlight/types/header.js +18 -9
- package/selection/highlight/types/header.mjs +18 -9
- package/selection/highlight/types/index.js +35 -0
- package/selection/highlight/types/index.mjs +31 -0
- package/selection/highlight/visualSelection.js +27 -31
- package/selection/highlight/visualSelection.mjs +27 -31
- package/selection/index.js +7 -4
- package/selection/index.mjs +3 -2
- package/selection/mouseEventHandler.js +1 -1
- package/selection/mouseEventHandler.mjs +1 -1
- package/selection/range.js +8 -8
- package/selection/range.mjs +8 -8
- package/selection/selection.js +154 -290
- package/selection/selection.mjs +153 -287
- package/selection/transformation.js +90 -232
- package/selection/transformation.mjs +90 -232
- package/selection/utils.js +21 -15
- package/selection/utils.mjs +21 -16
- package/settings.d.ts +0 -2
- package/shortcuts/manager.js +0 -2
- package/shortcuts/manager.mjs +0 -2
- package/shortcuts/recorder.js +2 -2
- package/shortcuts/recorder.mjs +2 -2
- package/shortcuts/utils.js +5 -19
- package/shortcuts/utils.mjs +4 -18
- package/tableView.js +13 -67
- package/tableView.mjs +13 -67
- package/3rdparty/walkontable/src/selection/border/constants.js +0 -16
- package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
- package/3rdparty/walkontable/src/selection/constants.js +0 -62
- package/3rdparty/walkontable/src/selection/constants.mjs +0 -51
- package/3rdparty/walkontable/src/selection/index.js +0 -26
- package/3rdparty/walkontable/src/selection/index.mjs +0 -5
- package/3rdparty/walkontable/src/selection/manager.js +0 -259
- package/3rdparty/walkontable/src/selection/manager.mjs +0 -254
- package/3rdparty/walkontable/src/selection/scanner.js +0 -270
- package/3rdparty/walkontable/src/selection/scanner.mjs +0 -267
- package/3rdparty/walkontable/src/selection/selection.js +0 -101
- package/3rdparty/walkontable/src/selection/selection.mjs +0 -96
- package/core/focusCatcher/focusDetector.js +0 -58
- package/core/focusCatcher/focusDetector.mjs +0 -54
- package/core/focusCatcher/index.js +0 -142
- package/core/focusCatcher/index.mjs +0 -138
- package/core/index.js +0 -9
- package/core/index.mjs +0 -1
- package/plugins/comments/contextMenuItem/addEditComment.js +0 -41
- package/plugins/comments/contextMenuItem/addEditComment.mjs +0 -35
- package/plugins/comments/contextMenuItem/readOnlyComment.js +0 -49
- package/plugins/comments/contextMenuItem/readOnlyComment.mjs +0 -43
- package/plugins/comments/contextMenuItem/removeComment.js +0 -38
- package/plugins/comments/contextMenuItem/removeComment.mjs +0 -32
- package/selection/highlight/types/areaLayered.js +0 -31
- package/selection/highlight/types/areaLayered.mjs +0 -26
- package/selection/highlight/types/column.js +0 -27
- package/selection/highlight/types/column.mjs +0 -22
- package/selection/highlight/types/row.js +0 -27
- package/selection/highlight/types/row.mjs +0 -22
- package/shortcutContexts/commands/editor/closeAndSave.js +0 -12
- package/shortcutContexts/commands/editor/closeAndSave.mjs +0 -8
- package/shortcutContexts/commands/editor/closeWithoutSaving.js +0 -12
- package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +0 -8
- package/shortcutContexts/commands/editor/fastOpen.js +0 -16
- package/shortcutContexts/commands/editor/fastOpen.mjs +0 -12
- package/shortcutContexts/commands/editor/index.js +0 -16
- package/shortcutContexts/commands/editor/index.mjs +0 -12
- package/shortcutContexts/commands/editor/open.js +0 -27
- package/shortcutContexts/commands/editor/open.mjs +0 -23
- package/shortcutContexts/commands/emptySelectedCells.js +0 -11
- package/shortcutContexts/commands/emptySelectedCells.mjs +0 -7
- package/shortcutContexts/commands/extendCellsSelection/down.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +0 -11
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +0 -21
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +0 -17
- package/shortcutContexts/commands/extendCellsSelection/index.js +0 -26
- package/shortcutContexts/commands/extendCellsSelection/index.mjs +0 -22
- package/shortcutContexts/commands/extendCellsSelection/left.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +0 -11
- package/shortcutContexts/commands/extendCellsSelection/right.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +0 -11
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +0 -15
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +0 -29
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +0 -25
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +0 -15
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +0 -15
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +0 -29
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +0 -25
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +0 -29
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +0 -25
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +0 -29
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +0 -25
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +0 -15
- package/shortcutContexts/commands/extendCellsSelection/up.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +0 -11
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +0 -21
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +0 -17
- package/shortcutContexts/commands/index.js +0 -35
- package/shortcutContexts/commands/index.mjs +0 -31
- package/shortcutContexts/commands/moveCellSelection/down.js +0 -13
- package/shortcutContexts/commands/moveCellSelection/down.mjs +0 -9
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +0 -31
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +0 -27
- package/shortcutContexts/commands/moveCellSelection/index.js +0 -28
- package/shortcutContexts/commands/moveCellSelection/index.mjs +0 -24
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -12
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -8
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -12
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -8
- package/shortcutContexts/commands/moveCellSelection/left.js +0 -10
- package/shortcutContexts/commands/moveCellSelection/left.mjs +0 -6
- package/shortcutContexts/commands/moveCellSelection/right.js +0 -10
- package/shortcutContexts/commands/moveCellSelection/right.mjs +0 -6
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +0 -13
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +0 -18
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +0 -14
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +0 -14
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +0 -10
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +0 -13
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +0 -19
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +0 -15
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +0 -21
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +0 -13
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +0 -19
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +0 -15
- package/shortcutContexts/commands/moveCellSelection/up.js +0 -13
- package/shortcutContexts/commands/moveCellSelection/up.mjs +0 -9
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +0 -31
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +0 -27
- package/shortcutContexts/commands/populateSelectedCellsData.js +0 -29
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +0 -25
- package/shortcutContexts/commands/scrollToFocusedCell.js +0 -36
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +0 -32
- package/shortcutContexts/commands/selectAll.js +0 -10
- package/shortcutContexts/commands/selectAll.mjs +0 -6
- package/shortcutContexts/constants.js +0 -13
- package/shortcutContexts/constants.mjs +0 -8
- package/shortcutContexts/editor.js +0 -25
- package/shortcutContexts/editor.mjs +0 -21
- package/shortcutContexts/grid.js +0 -163
- package/shortcutContexts/grid.mjs +0 -159
- package/shortcutContexts/index.js +0 -24
- package/shortcutContexts/index.mjs +0 -11
@@ -1,303 +1,161 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
|
-
require("core-js/modules/es.error.cause.js");
|
5
4
|
var _object = require("../helpers/object");
|
6
5
|
var _localHooks = _interopRequireDefault(require("./../mixins/localHooks"));
|
7
6
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
8
|
-
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
9
|
-
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
10
|
-
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
11
|
-
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
12
|
-
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
13
|
-
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
14
|
-
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
15
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
16
|
-
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; } }
|
17
7
|
/**
|
18
8
|
* The Transformation class implements algorithms for transforming coordinates based on current settings
|
19
|
-
* passed to the Handsontable.
|
9
|
+
* passed to the Handsontable.
|
20
10
|
*
|
21
11
|
* Transformation is always applied relative to the current selection.
|
22
12
|
*
|
23
|
-
* The class operates on a table size defined by the renderable indexes. If the `navigableHeaders`
|
24
|
-
* option is enabled, the table size is increased by the number of row and/or column headers.
|
25
|
-
* Because the headers are treated as cells as part of the table size (indexes always go from 0 to N),
|
26
|
-
* the algorithm can be written as simply as possible (without new if's that distinguish the headers
|
27
|
-
* logic).
|
28
|
-
*
|
29
13
|
* @class Transformation
|
30
14
|
* @util
|
31
15
|
*/
|
32
|
-
var _range = /*#__PURE__*/new WeakMap();
|
33
|
-
var _options = /*#__PURE__*/new WeakMap();
|
34
|
-
var _offset = /*#__PURE__*/new WeakMap();
|
35
|
-
var _setOffsetSize = /*#__PURE__*/new WeakSet();
|
36
|
-
var _clampCoords = /*#__PURE__*/new WeakSet();
|
37
|
-
var _getTableSize = /*#__PURE__*/new WeakSet();
|
38
|
-
var _visualToZeroBasedCoords = /*#__PURE__*/new WeakSet();
|
39
|
-
var _zeroBasedToVisualCoords = /*#__PURE__*/new WeakSet();
|
40
16
|
class Transformation {
|
41
17
|
constructor(range, options) {
|
42
|
-
/**
|
43
|
-
* Translates the zero-based coordinates to visual ones.
|
44
|
-
*
|
45
|
-
* @param {CellCoords} zeroBasedCoords The coordinates to process.
|
46
|
-
* @returns {CellCoords}
|
47
|
-
*/
|
48
|
-
_classPrivateMethodInitSpec(this, _zeroBasedToVisualCoords);
|
49
|
-
/**
|
50
|
-
* Translates the visual coordinates to zero-based ones.
|
51
|
-
*
|
52
|
-
* @param {CellCoords} visualCoords The visual coords to process.
|
53
|
-
* @returns {{x: number, y: number}}
|
54
|
-
*/
|
55
|
-
_classPrivateMethodInitSpec(this, _visualToZeroBasedCoords);
|
56
|
-
/**
|
57
|
-
* Gets the table size in number of rows with headers as "height" and number of columns with
|
58
|
-
* headers as "width".
|
59
|
-
*
|
60
|
-
* @returns {{width: number, height: number}}
|
61
|
-
*/
|
62
|
-
_classPrivateMethodInitSpec(this, _getTableSize);
|
63
|
-
/**
|
64
|
-
* Clamps the coords to make sure they points to the cell (or header) in the table range.
|
65
|
-
*
|
66
|
-
* @param {CellCoords} zeroBasedCoords The coords object to clamp.
|
67
|
-
* @returns {{rowDir: 1|0|-1, colDir: 1|0|-1}}
|
68
|
-
*/
|
69
|
-
_classPrivateMethodInitSpec(this, _clampCoords);
|
70
|
-
/**
|
71
|
-
* Sets the additional offset in table size that may occur when the `navigableHeaders` option
|
72
|
-
* is enabled.
|
73
|
-
*
|
74
|
-
* @param {{x: number, y: number}} offset Offset as x and y properties.
|
75
|
-
*/
|
76
|
-
_classPrivateMethodInitSpec(this, _setOffsetSize);
|
77
18
|
/**
|
78
19
|
* Instance of the SelectionRange, holder for visual coordinates applied to the table.
|
79
20
|
*
|
80
21
|
* @type {SelectionRange}
|
81
22
|
*/
|
82
|
-
|
83
|
-
writable: true,
|
84
|
-
value: void 0
|
85
|
-
});
|
23
|
+
this.range = range;
|
86
24
|
/**
|
87
25
|
* Additional options which define the state of the settings which can infer transformation and
|
88
26
|
* give the possibility to translate indexes.
|
89
27
|
*
|
90
28
|
* @type {object}
|
91
29
|
*/
|
92
|
-
|
93
|
-
writable: true,
|
94
|
-
value: void 0
|
95
|
-
});
|
96
|
-
/**
|
97
|
-
* Increases the table size by applying the offsets. The option is used by the `navigableHeaders`
|
98
|
-
* option.
|
99
|
-
*
|
100
|
-
* @type {{ x: number, y: number }}
|
101
|
-
*/
|
102
|
-
_classPrivateFieldInitSpec(this, _offset, {
|
103
|
-
writable: true,
|
104
|
-
value: {
|
105
|
-
x: 0,
|
106
|
-
y: 0
|
107
|
-
}
|
108
|
-
});
|
109
|
-
_classPrivateFieldSet(this, _range, range);
|
110
|
-
_classPrivateFieldSet(this, _options, options);
|
30
|
+
this.options = options;
|
111
31
|
}
|
112
32
|
|
113
33
|
/**
|
114
|
-
* Selects cell relative to
|
34
|
+
* Selects cell relative to current cell (if possible).
|
115
35
|
*
|
116
36
|
* @param {number} rowDelta Rows number to move, value can be passed as negative number.
|
117
37
|
* @param {number} colDelta Columns number to move, value can be passed as negative number.
|
118
|
-
* @param {boolean} [
|
38
|
+
* @param {boolean} [force=false] If `true` the new rows/columns will be created if necessary. Otherwise, row/column will
|
119
39
|
* be created according to `minSpareRows/minSpareCols` settings of Handsontable.
|
120
40
|
* @returns {CellCoords} Visual coordinates after transformation.
|
121
41
|
*/
|
122
42
|
transformStart(rowDelta, colDelta) {
|
123
|
-
let
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
43
|
+
let force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
44
|
+
const delta = this.options.createCellCoords(rowDelta, colDelta);
|
45
|
+
const highlightCoords = this.range.current().highlight;
|
46
|
+
const {
|
47
|
+
row: renderableRow,
|
48
|
+
col: renderableColumn
|
49
|
+
} = this.options.visualToRenderableCoords(highlightCoords);
|
50
|
+
let visualCoords = highlightCoords;
|
131
51
|
let rowTransformDir = 0;
|
132
52
|
let colTransformDir = 0;
|
133
53
|
this.runLocalHooks('beforeTransformStart', delta);
|
134
|
-
if (
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
const
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
const autoWrapRow = _classPrivateFieldGet(this, _options).autoWrapRow();
|
147
|
-
const autoWrapCol = _classPrivateFieldGet(this, _options).autoWrapCol();
|
148
|
-
const rawCoords = {
|
149
|
-
row: y + delta.row,
|
150
|
-
col: x + delta.col
|
151
|
-
};
|
152
|
-
if (rawCoords.row >= height) {
|
153
|
-
if (createMissingRecords && minSpareRows > 0 && fixedRowsBottom === 0) {
|
154
|
-
this.runLocalHooks('insertRowRequire', _classPrivateFieldGet(this, _options).countRenderableRows());
|
54
|
+
if (renderableRow !== null && renderableColumn !== null) {
|
55
|
+
let totalRows = this.options.countRows();
|
56
|
+
let totalCols = this.options.countCols();
|
57
|
+
const fixedRowsBottom = this.options.fixedRowsBottom();
|
58
|
+
const minSpareRows = this.options.minSpareRows();
|
59
|
+
const minSpareCols = this.options.minSpareCols();
|
60
|
+
const autoWrapRow = this.options.autoWrapRow();
|
61
|
+
const autoWrapCol = this.options.autoWrapCol();
|
62
|
+
if (renderableRow + rowDelta > totalRows - 1) {
|
63
|
+
if (force && minSpareRows > 0 && !(fixedRowsBottom && renderableRow >= totalRows - fixedRowsBottom - 1)) {
|
64
|
+
this.runLocalHooks('insertRowRequire', totalRows);
|
65
|
+
totalRows = this.options.countRows();
|
155
66
|
} else if (autoWrapCol) {
|
156
|
-
|
157
|
-
|
158
|
-
rawCoords.col = nextColumn >= width ? nextColumn - width : nextColumn;
|
159
|
-
}
|
160
|
-
} else if (rawCoords.row < 0) {
|
161
|
-
if (autoWrapCol) {
|
162
|
-
const previousColumn = rawCoords.col - 1;
|
163
|
-
rawCoords.row = height + rawCoords.row;
|
164
|
-
rawCoords.col = previousColumn < 0 ? width + previousColumn : previousColumn;
|
67
|
+
delta.row = 1 - totalRows;
|
68
|
+
delta.col = renderableColumn + delta.col === totalCols - 1 ? 1 - totalCols : 1;
|
165
69
|
}
|
70
|
+
} else if (autoWrapCol && renderableRow + delta.row < 0 && renderableColumn + delta.col >= 0) {
|
71
|
+
delta.row = totalRows - 1;
|
72
|
+
delta.col = renderableColumn + delta.col === 0 ? totalCols - 1 : -1;
|
166
73
|
}
|
167
|
-
if (
|
168
|
-
if (
|
169
|
-
this.runLocalHooks('insertColRequire',
|
74
|
+
if (renderableColumn + delta.col > totalCols - 1) {
|
75
|
+
if (force && minSpareCols > 0) {
|
76
|
+
this.runLocalHooks('insertColRequire', totalCols);
|
77
|
+
totalCols = this.options.countCols();
|
170
78
|
} else if (autoWrapRow) {
|
171
|
-
|
172
|
-
|
173
|
-
rawCoords.col = rawCoords.col - width;
|
174
|
-
}
|
175
|
-
} else if (rawCoords.col < 0) {
|
176
|
-
if (autoWrapRow) {
|
177
|
-
const previousRow = rawCoords.row - 1;
|
178
|
-
rawCoords.row = previousRow < 0 ? height + previousRow : previousRow;
|
179
|
-
rawCoords.col = width + rawCoords.col;
|
79
|
+
delta.row = renderableRow + delta.row === totalRows - 1 ? 1 - totalRows : 1;
|
80
|
+
delta.col = 1 - totalCols;
|
180
81
|
}
|
82
|
+
} else if (autoWrapRow && renderableColumn + delta.col < 0 && renderableRow + delta.row >= 0) {
|
83
|
+
delta.row = renderableRow + delta.row === 0 ? totalRows - 1 : -1;
|
84
|
+
delta.col = totalCols - 1;
|
181
85
|
}
|
182
|
-
const coords =
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
86
|
+
const coords = this.options.createCellCoords(renderableRow + delta.row, renderableColumn + delta.col);
|
87
|
+
rowTransformDir = 0;
|
88
|
+
colTransformDir = 0;
|
89
|
+
if (coords.row < 0) {
|
90
|
+
rowTransformDir = -1;
|
91
|
+
coords.row = 0;
|
92
|
+
} else if (coords.row > 0 && coords.row >= totalRows) {
|
93
|
+
rowTransformDir = 1;
|
94
|
+
coords.row = totalRows - 1;
|
95
|
+
}
|
96
|
+
if (coords.col < 0) {
|
97
|
+
colTransformDir = -1;
|
98
|
+
coords.col = 0;
|
99
|
+
} else if (coords.col > 0 && coords.col >= totalCols) {
|
100
|
+
colTransformDir = 1;
|
101
|
+
coords.col = totalCols - 1;
|
102
|
+
}
|
103
|
+
visualCoords = this.options.renderableToVisualCoords(coords);
|
190
104
|
}
|
191
105
|
this.runLocalHooks('afterTransformStart', visualCoords, rowTransformDir, colTransformDir);
|
192
106
|
return visualCoords;
|
193
107
|
}
|
194
108
|
|
195
109
|
/**
|
196
|
-
* Sets selection end cell relative to
|
110
|
+
* Sets selection end cell relative to current selection end cell (if possible).
|
197
111
|
*
|
198
112
|
* @param {number} rowDelta Rows number to move, value can be passed as negative number.
|
199
113
|
* @param {number} colDelta Columns number to move, value can be passed as negative number.
|
200
114
|
* @returns {CellCoords} Visual coordinates after transformation.
|
201
115
|
*/
|
202
116
|
transformEnd(rowDelta, colDelta) {
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
});
|
207
|
-
const delta = _classPrivateFieldGet(this, _options).createCellCoords(rowDelta, colDelta);
|
208
|
-
const cellRange = _classPrivateFieldGet(this, _range).current();
|
209
|
-
const highlightRenderableCoords = _classPrivateFieldGet(this, _options).visualToRenderableCoords(cellRange.highlight);
|
210
|
-
const visualCoords = cellRange.to.clone();
|
117
|
+
const delta = this.options.createCellCoords(rowDelta, colDelta);
|
118
|
+
const cellRange = this.range.current();
|
119
|
+
let visualCoords = cellRange.to;
|
211
120
|
let rowTransformDir = 0;
|
212
121
|
let colTransformDir = 0;
|
213
122
|
this.runLocalHooks('beforeTransformEnd', delta);
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
const coords = _classPrivateFieldGet(this, _options).createCellCoords(rawCoords.row, rawCoords.col);
|
123
|
+
const {
|
124
|
+
row: rowHighlight,
|
125
|
+
col: colHighlight
|
126
|
+
} = this.options.visualToRenderableCoords(cellRange.highlight);
|
127
|
+
|
128
|
+
// We have highlight (start point for the selection).
|
129
|
+
if (rowHighlight !== null && colHighlight !== null) {
|
130
|
+
const totalRows = this.options.countRows();
|
131
|
+
const totalCols = this.options.countCols();
|
224
132
|
const {
|
225
|
-
|
226
|
-
|
227
|
-
} =
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
if (
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
133
|
+
row: rowTo,
|
134
|
+
col: colTo
|
135
|
+
} = this.options.visualToRenderableCoords(cellRange.to);
|
136
|
+
const coords = this.options.createCellCoords(rowTo + delta.row, colTo + delta.col);
|
137
|
+
rowTransformDir = 0;
|
138
|
+
colTransformDir = 0;
|
139
|
+
if (coords.row < 0) {
|
140
|
+
rowTransformDir = -1;
|
141
|
+
coords.row = 0;
|
142
|
+
} else if (coords.row > 0 && coords.row >= totalRows) {
|
143
|
+
rowTransformDir = 1;
|
144
|
+
coords.row = totalRows - 1;
|
145
|
+
}
|
146
|
+
if (coords.col < 0) {
|
147
|
+
colTransformDir = -1;
|
148
|
+
coords.col = 0;
|
149
|
+
} else if (coords.col > 0 && coords.col >= totalCols) {
|
150
|
+
colTransformDir = 1;
|
151
|
+
coords.col = totalCols - 1;
|
238
152
|
}
|
153
|
+
visualCoords = this.options.renderableToVisualCoords(coords);
|
239
154
|
}
|
240
155
|
this.runLocalHooks('afterTransformEnd', visualCoords, rowTransformDir, colTransformDir);
|
241
156
|
return visualCoords;
|
242
157
|
}
|
243
158
|
}
|
244
|
-
function _setOffsetSize2(_ref) {
|
245
|
-
let {
|
246
|
-
x,
|
247
|
-
y
|
248
|
-
} = _ref;
|
249
|
-
_classPrivateFieldSet(this, _offset, {
|
250
|
-
x,
|
251
|
-
y
|
252
|
-
});
|
253
|
-
}
|
254
|
-
function _clampCoords2(zeroBasedCoords) {
|
255
|
-
const {
|
256
|
-
width,
|
257
|
-
height
|
258
|
-
} = _classPrivateMethodGet(this, _getTableSize, _getTableSize2).call(this);
|
259
|
-
let rowDir = 0;
|
260
|
-
let colDir = 0;
|
261
|
-
if (zeroBasedCoords.row < 0) {
|
262
|
-
rowDir = -1;
|
263
|
-
zeroBasedCoords.row = 0;
|
264
|
-
} else if (zeroBasedCoords.row > 0 && zeroBasedCoords.row >= height) {
|
265
|
-
rowDir = 1;
|
266
|
-
zeroBasedCoords.row = height - 1;
|
267
|
-
}
|
268
|
-
if (zeroBasedCoords.col < 0) {
|
269
|
-
colDir = -1;
|
270
|
-
zeroBasedCoords.col = 0;
|
271
|
-
} else if (zeroBasedCoords.col > 0 && zeroBasedCoords.col >= width) {
|
272
|
-
colDir = 1;
|
273
|
-
zeroBasedCoords.col = width - 1;
|
274
|
-
}
|
275
|
-
return {
|
276
|
-
rowDir,
|
277
|
-
colDir
|
278
|
-
};
|
279
|
-
}
|
280
|
-
function _getTableSize2() {
|
281
|
-
return {
|
282
|
-
width: _classPrivateFieldGet(this, _offset).x + _classPrivateFieldGet(this, _options).countRenderableColumns(),
|
283
|
-
height: _classPrivateFieldGet(this, _offset).y + _classPrivateFieldGet(this, _options).countRenderableRows()
|
284
|
-
};
|
285
|
-
}
|
286
|
-
function _visualToZeroBasedCoords2(visualCoords) {
|
287
|
-
const {
|
288
|
-
row,
|
289
|
-
col
|
290
|
-
} = _classPrivateFieldGet(this, _options).visualToRenderableCoords(visualCoords);
|
291
|
-
return {
|
292
|
-
x: _classPrivateFieldGet(this, _offset).x + col,
|
293
|
-
y: _classPrivateFieldGet(this, _offset).y + row
|
294
|
-
};
|
295
|
-
}
|
296
|
-
function _zeroBasedToVisualCoords2(zeroBasedCoords) {
|
297
|
-
zeroBasedCoords.col = zeroBasedCoords.col - _classPrivateFieldGet(this, _offset).x;
|
298
|
-
zeroBasedCoords.row = zeroBasedCoords.row - _classPrivateFieldGet(this, _offset).y;
|
299
|
-
return _classPrivateFieldGet(this, _options).renderableToVisualCoords(zeroBasedCoords);
|
300
|
-
}
|
301
159
|
(0, _object.mixin)(Transformation, _localHooks.default);
|
302
160
|
var _default = Transformation;
|
303
161
|
exports.default = _default;
|