handsontable 0.0.0-next-a1e4b4f-20230628 → 0.0.0-next-e697250-20230707
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/cell/coords.d.ts +6 -1
- package/3rdparty/walkontable/src/cell/coords.js +50 -28
- package/3rdparty/walkontable/src/cell/coords.mjs +50 -28
- package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
- package/3rdparty/walkontable/src/cell/range.js +69 -36
- package/3rdparty/walkontable/src/cell/range.mjs +68 -35
- package/3rdparty/walkontable/src/event.js +3 -5
- package/3rdparty/walkontable/src/event.mjs +3 -5
- package/3rdparty/walkontable/src/overlay/_base.js +6 -7
- package/3rdparty/walkontable/src/overlay/_base.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/bottom.js +6 -7
- package/3rdparty/walkontable/src/overlay/bottom.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/top.js +6 -7
- package/3rdparty/walkontable/src/overlay/top.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +10 -12
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +10 -12
- package/3rdparty/walkontable/src/overlays.js +55 -64
- package/3rdparty/walkontable/src/overlays.mjs +55 -64
- package/3rdparty/walkontable/src/renderer/table.js +0 -2
- package/3rdparty/walkontable/src/renderer/table.mjs +0 -2
- package/3rdparty/walkontable/src/scroll.js +20 -23
- package/3rdparty/walkontable/src/scroll.mjs +20 -23
- package/3rdparty/walkontable/src/selection/border/border.js +1 -0
- package/3rdparty/walkontable/src/selection/border/border.mjs +1 -0
- package/3rdparty/walkontable/src/selection/manager.js +40 -45
- package/3rdparty/walkontable/src/selection/manager.mjs +33 -38
- package/3rdparty/walkontable/src/selection/scanner.js +5 -4
- package/3rdparty/walkontable/src/selection/scanner.mjs +1 -0
- package/3rdparty/walkontable/src/settings.js +13 -15
- package/3rdparty/walkontable/src/settings.mjs +13 -15
- package/3rdparty/walkontable/src/table.js +23 -26
- package/3rdparty/walkontable/src/table.mjs +23 -26
- package/CHANGELOG.md +56 -0
- package/base.js +2 -4
- package/base.mjs +2 -2
- package/common.d.ts +1 -1
- package/core.d.ts +7 -9
- package/core.js +241 -439
- package/core.mjs +245 -443
- package/dataMap/dataMap.js +1 -0
- package/dataMap/dataMap.mjs +1 -0
- package/dataMap/dataSource.js +5 -5
- package/dataMap/dataSource.mjs +5 -5
- package/dataMap/metaManager/lazyFactoryMap.js +1 -0
- package/dataMap/metaManager/lazyFactoryMap.mjs +1 -0
- package/dataMap/metaManager/metaLayers/cellMeta.js +1 -0
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -0
- package/dataMap/metaManager/metaSchema.js +33 -24
- package/dataMap/metaManager/metaSchema.mjs +33 -24
- package/dist/handsontable.css +25 -3
- package/dist/handsontable.full.css +25 -3
- package/dist/handsontable.full.js +14539 -11358
- package/dist/handsontable.full.min.css +5 -5
- package/dist/handsontable.full.min.js +137 -125
- package/dist/handsontable.js +31414 -28455
- package/dist/handsontable.min.css +5 -5
- package/dist/handsontable.min.js +11 -3
- package/dist/languages/all.js +133 -0
- package/dist/languages/ar-AR.js +7 -0
- package/dist/languages/cs-CZ.js +7 -0
- package/dist/languages/de-CH.js +7 -0
- package/dist/languages/de-DE.js +7 -0
- package/dist/languages/en-US.js +7 -0
- package/dist/languages/es-MX.js +7 -0
- package/dist/languages/fr-FR.js +7 -0
- package/dist/languages/it-IT.js +7 -0
- package/dist/languages/ja-JP.js +7 -0
- package/dist/languages/ko-KR.js +7 -0
- package/dist/languages/lv-LV.js +7 -0
- package/dist/languages/nb-NO.js +7 -0
- package/dist/languages/nl-NL.js +7 -0
- package/dist/languages/pl-PL.js +7 -0
- package/dist/languages/pt-BR.js +7 -0
- package/dist/languages/ru-RU.js +7 -0
- package/dist/languages/sr-SP.js +7 -0
- package/dist/languages/zh-CN.js +7 -0
- package/dist/languages/zh-TW.js +7 -0
- package/editorManager.js +19 -89
- package/editorManager.mjs +24 -93
- package/editors/baseEditor/baseEditor.js +1 -0
- package/editors/baseEditor/baseEditor.mjs +1 -0
- package/editors/textEditor/textEditor.js +14 -20
- package/editors/textEditor/textEditor.mjs +16 -22
- package/helpers/dom/element.js +0 -11
- package/helpers/dom/element.mjs +0 -10
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/helpers/number.d.ts +1 -0
- package/helpers/number.js +18 -0
- package/helpers/number.mjs +17 -0
- package/helpers/object.js +2 -0
- package/helpers/object.mjs +2 -0
- package/i18n/languages/ar-AR.js +7 -1
- package/i18n/languages/cs-CZ.js +7 -1
- package/i18n/languages/de-CH.js +7 -1
- package/i18n/languages/de-DE.js +7 -1
- package/i18n/languages/en-US.js +7 -1
- package/i18n/languages/es-MX.js +7 -1
- package/i18n/languages/fr-FR.js +7 -1
- package/i18n/languages/it-IT.js +7 -1
- package/i18n/languages/ja-JP.js +7 -1
- package/i18n/languages/ko-KR.js +7 -1
- package/i18n/languages/lv-LV.js +7 -1
- package/i18n/languages/nb-NO.js +7 -1
- package/i18n/languages/nl-NL.js +7 -1
- package/i18n/languages/pl-PL.js +7 -1
- package/i18n/languages/pt-BR.js +7 -1
- package/i18n/languages/ru-RU.js +7 -1
- package/i18n/languages/sr-SP.js +7 -1
- package/i18n/languages/zh-CN.js +7 -1
- package/i18n/languages/zh-TW.js +7 -1
- package/languages/all.js +133 -0
- package/languages/ar-AR.js +7 -0
- package/languages/cs-CZ.js +7 -0
- package/languages/de-CH.js +7 -0
- package/languages/de-DE.js +7 -0
- package/languages/en-US.js +7 -0
- package/languages/es-MX.js +7 -0
- package/languages/fr-FR.js +7 -0
- package/languages/index.js +133 -0
- package/languages/it-IT.js +7 -0
- package/languages/ja-JP.js +7 -0
- package/languages/ko-KR.js +7 -0
- package/languages/lv-LV.js +7 -0
- package/languages/nb-NO.js +7 -0
- package/languages/nl-NL.js +7 -0
- package/languages/pl-PL.js +7 -0
- package/languages/pt-BR.js +7 -0
- package/languages/ru-RU.js +7 -0
- package/languages/sr-SP.js +7 -0
- package/languages/zh-CN.js +7 -0
- package/languages/zh-TW.js +7 -0
- package/package.json +3 -2
- package/pluginHooks.d.ts +8 -2
- package/pluginHooks.js +116 -18
- package/pluginHooks.mjs +115 -15
- package/plugins/autoColumnSize/autoColumnSize.js +1 -0
- package/plugins/autoColumnSize/autoColumnSize.mjs +1 -0
- package/plugins/autoRowSize/autoRowSize.js +3 -2
- package/plugins/autoRowSize/autoRowSize.mjs +3 -2
- package/plugins/autofill/autofill.js +2 -2
- package/plugins/autofill/autofill.mjs +3 -3
- package/plugins/autofill/utils.js +1 -39
- package/plugins/autofill/utils.mjs +0 -37
- package/plugins/base/base.js +1 -0
- package/plugins/base/base.mjs +1 -0
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +1 -0
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +1 -0
- package/plugins/collapsibleColumns/collapsibleColumns.js +82 -24
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +82 -24
- package/plugins/columnSorting/columnSorting.js +51 -8
- package/plugins/columnSorting/columnSorting.mjs +50 -9
- package/plugins/columnSorting/columnStatesManager.js +1 -0
- package/plugins/columnSorting/columnStatesManager.mjs +1 -0
- package/plugins/columnSorting/index.js +4 -2
- package/plugins/columnSorting/index.mjs +1 -1
- package/plugins/columnSorting/rootComparator.js +1 -0
- package/plugins/columnSorting/rootComparator.mjs +1 -0
- package/plugins/comments/commentEditor.js +1 -0
- package/plugins/comments/commentEditor.mjs +1 -0
- package/plugins/comments/comments.js +289 -224
- package/plugins/comments/comments.mjs +297 -234
- package/plugins/comments/contextMenuItem/addEditComment.js +51 -0
- package/plugins/comments/contextMenuItem/addEditComment.mjs +35 -0
- package/plugins/comments/contextMenuItem/readOnlyComment.js +63 -0
- package/plugins/comments/contextMenuItem/readOnlyComment.mjs +55 -0
- package/plugins/comments/contextMenuItem/removeComment.js +48 -0
- package/plugins/comments/contextMenuItem/removeComment.mjs +32 -0
- package/plugins/contextMenu/contextMenu.d.ts +1 -1
- package/plugins/contextMenu/contextMenu.js +81 -29
- package/plugins/contextMenu/contextMenu.mjs +82 -30
- package/plugins/contextMenu/predefinedItems/alignment.js +7 -0
- package/plugins/contextMenu/predefinedItems/alignment.mjs +7 -0
- package/plugins/contextMenu/predefinedItems/clearColumn.js +5 -3
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/columnLeft.js +5 -3
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/columnRight.js +5 -3
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/readOnly.js +7 -0
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
- package/plugins/contextMenu/predefinedItems/removeColumn.js +8 -5
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +6 -3
- package/plugins/contextMenu/predefinedItems/removeRow.js +8 -5
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +6 -3
- package/plugins/contextMenu/predefinedItems/rowAbove.js +5 -3
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/rowBelow.js +5 -3
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +5 -3
- package/plugins/contextMenu/utils.js +25 -16
- package/plugins/contextMenu/utils.mjs +24 -15
- package/plugins/copyPaste/contextMenuItem/copy.js +7 -0
- package/plugins/copyPaste/contextMenuItem/copy.mjs +7 -0
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +7 -0
- package/plugins/copyPaste/contextMenuItem/cut.mjs +7 -0
- package/plugins/copyPaste/copyPaste.js +100 -14
- package/plugins/copyPaste/copyPaste.mjs +100 -14
- package/plugins/copyPaste/copyableRanges.js +25 -31
- package/plugins/copyPaste/copyableRanges.mjs +18 -24
- package/plugins/copyPaste/focusableElement.js +219 -0
- package/plugins/copyPaste/focusableElement.mjs +213 -0
- package/plugins/customBorders/customBorders.d.ts +2 -0
- package/plugins/customBorders/customBorders.js +19 -50
- package/plugins/customBorders/customBorders.mjs +19 -50
- package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
- package/plugins/dropdownMenu/dropdownMenu.js +94 -30
- package/plugins/dropdownMenu/dropdownMenu.mjs +94 -30
- package/plugins/exportFile/dataProvider.js +1 -0
- package/plugins/exportFile/dataProvider.mjs +1 -0
- package/plugins/filters/component/value.js +1 -0
- package/plugins/filters/component/value.mjs +1 -0
- package/plugins/filters/condition/beginsWith.js +1 -0
- package/plugins/filters/condition/beginsWith.mjs +1 -0
- package/plugins/filters/condition/between.js +1 -0
- package/plugins/filters/condition/between.mjs +1 -0
- package/plugins/filters/condition/byValue.js +1 -0
- package/plugins/filters/condition/byValue.mjs +1 -0
- package/plugins/filters/condition/contains.js +1 -0
- package/plugins/filters/condition/contains.mjs +1 -0
- package/plugins/filters/condition/date/after.js +1 -0
- package/plugins/filters/condition/date/after.mjs +1 -0
- package/plugins/filters/condition/date/before.js +1 -0
- package/plugins/filters/condition/date/before.mjs +1 -0
- package/plugins/filters/condition/endsWith.js +1 -0
- package/plugins/filters/condition/endsWith.mjs +1 -0
- package/plugins/filters/condition/equal.js +1 -0
- package/plugins/filters/condition/equal.mjs +1 -0
- package/plugins/filters/condition/greaterThan.js +1 -0
- package/plugins/filters/condition/greaterThan.mjs +1 -0
- package/plugins/filters/condition/greaterThanOrEqual.js +1 -0
- package/plugins/filters/condition/greaterThanOrEqual.mjs +1 -0
- package/plugins/filters/condition/lessThan.js +1 -0
- package/plugins/filters/condition/lessThan.mjs +1 -0
- package/plugins/filters/condition/lessThanOrEqual.js +1 -0
- package/plugins/filters/condition/lessThanOrEqual.mjs +1 -0
- package/plugins/filters/conditionCollection.js +1 -0
- package/plugins/filters/conditionCollection.mjs +1 -0
- package/plugins/filters/filters.js +68 -42
- package/plugins/filters/filters.mjs +67 -41
- package/plugins/filters/ui/multipleSelect.js +1 -0
- package/plugins/filters/ui/multipleSelect.mjs +1 -0
- package/plugins/formulas/formulas.js +191 -168
- package/plugins/formulas/formulas.mjs +191 -168
- package/plugins/formulas/indexSyncer/axisSyncer.js +379 -0
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +374 -0
- package/plugins/formulas/indexSyncer/index.js +225 -0
- package/plugins/formulas/indexSyncer/index.mjs +219 -0
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -0
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +1 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +1 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +1 -0
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -0
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +1 -0
- package/plugins/hiddenRows/contextMenuItem/showRow.js +1 -0
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +1 -0
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -0
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -0
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -0
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -0
- package/plugins/manualColumnResize/manualColumnResize.js +36 -5
- package/plugins/manualColumnResize/manualColumnResize.mjs +36 -5
- package/plugins/manualRowMove/manualRowMove.js +31 -12
- package/plugins/manualRowMove/manualRowMove.mjs +32 -13
- package/plugins/manualRowResize/manualRowResize.js +40 -9
- package/plugins/manualRowResize/manualRowResize.mjs +40 -9
- package/plugins/mergeCells/calculations/autofill.js +1 -0
- package/plugins/mergeCells/calculations/autofill.mjs +1 -0
- package/plugins/mergeCells/cellsCollection.js +1 -0
- package/plugins/mergeCells/cellsCollection.mjs +1 -0
- package/plugins/mergeCells/mergeCells.js +6 -2
- package/plugins/mergeCells/mergeCells.mjs +6 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +42 -3
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +42 -3
- package/plugins/multiColumnSorting/rootComparator.js +1 -0
- package/plugins/multiColumnSorting/rootComparator.mjs +1 -0
- package/plugins/nestedHeaders/nestedHeaders.js +129 -6
- package/plugins/nestedHeaders/nestedHeaders.mjs +129 -6
- package/plugins/nestedHeaders/stateManager/headersTree.js +24 -26
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -23
- package/plugins/nestedHeaders/stateManager/index.js +40 -3
- package/plugins/nestedHeaders/stateManager/index.mjs +37 -0
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +1 -0
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +2 -1
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +1 -0
- package/plugins/nestedHeaders/utils/ghostTable.js +30 -35
- package/plugins/nestedHeaders/utils/ghostTable.mjs +30 -35
- package/plugins/nestedRows/data/dataManager.js +1 -0
- package/plugins/nestedRows/data/dataManager.mjs +1 -0
- package/plugins/nestedRows/nestedRows.js +53 -7
- package/plugins/nestedRows/nestedRows.mjs +53 -7
- package/plugins/nestedRows/ui/collapsing.js +1 -0
- package/plugins/nestedRows/ui/collapsing.mjs +1 -0
- package/plugins/nestedRows/utils/rowMoveController.js +1 -0
- package/plugins/nestedRows/utils/rowMoveController.mjs +1 -0
- package/plugins/persistentState/storage.js +1 -0
- package/plugins/persistentState/storage.mjs +1 -0
- package/plugins/registry.js +4 -1
- package/plugins/registry.mjs +1 -0
- package/plugins/undoRedo/undoRedo.js +1 -1
- package/plugins/undoRedo/undoRedo.mjs +1 -1
- package/renderers/baseRenderer/baseRenderer.js +0 -3
- package/renderers/baseRenderer/baseRenderer.mjs +0 -3
- package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +120 -98
- package/selection/highlight/highlight.mjs +118 -96
- package/selection/highlight/visualSelection.js +30 -17
- package/selection/highlight/visualSelection.mjs +30 -17
- 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 +246 -153
- package/selection/selection.mjs +247 -154
- package/selection/transformation.js +233 -96
- package/selection/transformation.mjs +230 -93
- package/selection/utils.js +12 -35
- package/selection/utils.mjs +13 -35
- package/settings.d.ts +2 -1
- package/shortcutContexts/commands/editor/closeAndSave.js +15 -0
- package/shortcutContexts/commands/editor/closeAndSave.mjs +10 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.js +13 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
- package/shortcutContexts/commands/editor/fastOpen.js +16 -0
- package/shortcutContexts/commands/editor/fastOpen.mjs +11 -0
- package/shortcutContexts/commands/editor/index.js +16 -0
- package/shortcutContexts/commands/editor/index.mjs +12 -0
- package/shortcutContexts/commands/editor/open.js +29 -0
- package/shortcutContexts/commands/editor/open.mjs +24 -0
- package/shortcutContexts/commands/emptySelectedCells.js +12 -0
- package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
- package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +21 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +16 -0
- package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
- package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
- package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +14 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +22 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +12 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +12 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +40 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +35 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +40 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +35 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +22 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +14 -0
- package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +21 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +16 -0
- package/shortcutContexts/commands/index.js +53 -0
- package/shortcutContexts/commands/index.mjs +49 -0
- package/shortcutContexts/commands/moveCellSelection/down.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/down.mjs +7 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +29 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +24 -0
- package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
- package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/left.js +11 -0
- package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/right.js +11 -0
- package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +11 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +12 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +11 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +36 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +31 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +36 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +31 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +11 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +18 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/up.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/up.mjs +7 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +29 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +24 -0
- package/shortcutContexts/commands/populateSelectedCellsData.js +35 -0
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +30 -0
- package/shortcutContexts/commands/scrollToFocusedCell.js +38 -0
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +33 -0
- package/shortcutContexts/commands/selectAll.js +11 -0
- package/shortcutContexts/commands/selectAll.mjs +6 -0
- package/shortcutContexts/constants.js +19 -0
- package/shortcutContexts/constants.mjs +12 -0
- package/shortcutContexts/editor.js +29 -0
- package/shortcutContexts/editor.mjs +25 -0
- package/shortcutContexts/grid.js +252 -0
- package/shortcutContexts/grid.mjs +248 -0
- package/shortcutContexts/index.js +29 -0
- package/shortcutContexts/index.mjs +15 -0
- package/shortcuts/context.js +1 -0
- package/shortcuts/context.mjs +1 -0
- package/shortcuts/manager.js +2 -0
- package/shortcuts/manager.mjs +2 -0
- package/shortcuts/recorder.js +2 -2
- package/shortcuts/recorder.mjs +2 -2
- package/shortcuts/utils.js +21 -5
- package/shortcuts/utils.mjs +20 -4
- package/tableView.js +112 -82
- package/tableView.mjs +112 -82
- package/translations/changesObservable/observable.js +41 -46
- package/translations/changesObservable/observable.mjs +36 -41
- package/translations/changesObservable/observer.js +1 -1
- package/translations/indexMapper.d.ts +0 -2
- package/translations/indexMapper.js +38 -64
- package/translations/indexMapper.mjs +39 -64
- package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -0
- package/translations/maps/utils/indexesSequence.js +1 -0
- package/translations/maps/utils/indexesSequence.mjs +1 -0
- package/translations/maps/utils/physicallyIndexed.js +1 -0
- package/translations/maps/utils/physicallyIndexed.mjs +1 -0
- package/utils/dataStructures/priorityMap.js +1 -0
- package/utils/dataStructures/priorityMap.mjs +1 -0
- package/utils/dataStructures/tree.js +16 -18
- package/utils/dataStructures/tree.mjs +16 -18
- package/utils/dataStructures/uniqueMap.js +1 -0
- package/utils/dataStructures/uniqueMap.mjs +1 -0
- package/utils/dataStructures/uniqueSet.js +1 -0
- package/utils/dataStructures/uniqueSet.mjs +1 -0
- package/utils/ghostTable.js +1 -0
- package/utils/ghostTable.mjs +1 -0
- package/utils/parseTable.js +5 -1
- package/utils/parseTable.mjs +5 -1
- package/utils/staticRegister.js +1 -0
- package/utils/staticRegister.mjs +1 -0
- package/focusManager.d.ts +0 -12
- package/focusManager.js +0 -275
- package/focusManager.mjs +0 -270
@@ -4,7 +4,12 @@ export default class CellCoords {
|
|
4
4
|
row: number;
|
5
5
|
col: number;
|
6
6
|
|
7
|
-
isValid(
|
7
|
+
isValid(tableParams: {
|
8
|
+
countRows?: number;
|
9
|
+
countCols?: number;
|
10
|
+
countRowHeaders?: number;
|
11
|
+
countColHeaders?: number;
|
12
|
+
}): boolean;
|
8
13
|
isEqual(cellCoords: CellCoords): boolean;
|
9
14
|
isSouthEastOf(testedCoords: any): boolean;
|
10
15
|
isNorthWestOf(testedCoords: any): boolean;
|
@@ -4,16 +4,24 @@ require("core-js/modules/es.symbol.to-primitive.js");
|
|
4
4
|
require("core-js/modules/es.date.to-primitive.js");
|
5
5
|
require("core-js/modules/es.symbol.js");
|
6
6
|
require("core-js/modules/es.symbol.description.js");
|
7
|
-
require("core-js/modules/es.
|
7
|
+
require("core-js/modules/es.object.keys.js");
|
8
|
+
require("core-js/modules/es.array.filter.js");
|
9
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
10
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
11
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
8
12
|
require("core-js/modules/es.symbol.iterator.js");
|
9
13
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
10
14
|
exports.__esModule = true;
|
11
15
|
exports.default = void 0;
|
16
|
+
require("core-js/modules/es.number.is-integer.js");
|
17
|
+
require("core-js/modules/es.number.constructor.js");
|
12
18
|
require("core-js/modules/es.array.iterator.js");
|
13
19
|
require("core-js/modules/es.object.to-string.js");
|
14
20
|
require("core-js/modules/es.string.iterator.js");
|
15
21
|
require("core-js/modules/es.weak-map.js");
|
16
22
|
require("core-js/modules/web.dom-collections.iterator.js");
|
23
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
24
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
17
25
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
18
26
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
19
27
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
@@ -47,27 +55,24 @@ var _isRtl = /*#__PURE__*/new WeakMap();
|
|
47
55
|
* ```
|
48
56
|
*/
|
49
57
|
var CellCoords = /*#__PURE__*/function () {
|
50
|
-
/**
|
51
|
-
* A visual row index.
|
52
|
-
*
|
53
|
-
* @type {number}
|
54
|
-
*/
|
55
|
-
|
56
|
-
/**
|
57
|
-
* A visual column index.
|
58
|
-
*
|
59
|
-
* @type {number}
|
60
|
-
*/
|
61
|
-
|
62
|
-
/**
|
63
|
-
* @type {boolean}
|
64
|
-
*/
|
65
|
-
|
66
58
|
function CellCoords(row, column) {
|
67
59
|
var isRtl = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
68
60
|
_classCallCheck(this, CellCoords);
|
61
|
+
/**
|
62
|
+
* A visual row index.
|
63
|
+
*
|
64
|
+
* @type {number}
|
65
|
+
*/
|
69
66
|
_defineProperty(this, "row", null);
|
67
|
+
/**
|
68
|
+
* A visual column index.
|
69
|
+
*
|
70
|
+
* @type {number}
|
71
|
+
*/
|
70
72
|
_defineProperty(this, "col", null);
|
73
|
+
/**
|
74
|
+
* @type {boolean}
|
75
|
+
*/
|
71
76
|
_classPrivateFieldInitSpec(this, _isRtl, {
|
72
77
|
writable: true,
|
73
78
|
value: false
|
@@ -81,28 +86,45 @@ var CellCoords = /*#__PURE__*/function () {
|
|
81
86
|
|
82
87
|
/**
|
83
88
|
* Checks if the coordinates in your `CellCoords` instance are valid
|
84
|
-
* in the context of
|
89
|
+
* in the context of given table parameters.
|
85
90
|
*
|
86
91
|
* The `row` index:
|
87
|
-
* -
|
88
|
-
* -
|
92
|
+
* - Must be an integer.
|
93
|
+
* - Must be higher than the number of column headers in the table.
|
94
|
+
* - Must be lower than the total number of rows in the table.
|
89
95
|
*
|
90
96
|
* The `col` index:
|
91
|
-
* -
|
92
|
-
* -
|
97
|
+
* - Must be an integer.
|
98
|
+
* - Must be higher than the number of row headers in the table.
|
99
|
+
* - Must be lower than the total number of columns in the table.
|
93
100
|
*
|
94
|
-
* @param {
|
101
|
+
* @param {object} [tableParams] An object with a defined table size.
|
102
|
+
* @param {number} [tableParams.countRows=0] The total number of rows.
|
103
|
+
* @param {number} [tableParams.countCols=0] The total number of columns.
|
104
|
+
* @param {number} [tableParams.countRowHeaders=0] A number of row headers.
|
105
|
+
* @param {number} [tableParams.countColHeaders=0] A number of column headers.
|
95
106
|
* @returns {boolean} `true`: The coordinates are valid.
|
96
107
|
*/
|
97
108
|
_createClass(CellCoords, [{
|
98
109
|
key: "isValid",
|
99
|
-
value: function isValid(
|
100
|
-
|
101
|
-
|
110
|
+
value: function isValid(tableParams) {
|
111
|
+
var _countRows$countCols$ = _objectSpread({
|
112
|
+
countRows: 0,
|
113
|
+
countCols: 0,
|
114
|
+
countRowHeaders: 0,
|
115
|
+
countColHeaders: 0
|
116
|
+
}, tableParams),
|
117
|
+
countRows = _countRows$countCols$.countRows,
|
118
|
+
countCols = _countRows$countCols$.countCols,
|
119
|
+
countRowHeaders = _countRows$countCols$.countRowHeaders,
|
120
|
+
countColHeaders = _countRows$countCols$.countColHeaders;
|
121
|
+
if (!Number.isInteger(this.row) || !Number.isInteger(this.col)) {
|
122
|
+
return false;
|
123
|
+
}
|
124
|
+
if (this.row < -countColHeaders || this.col < -countRowHeaders) {
|
102
125
|
return false;
|
103
126
|
}
|
104
|
-
|
105
|
-
if (this.row >= wot.getSetting('totalRows') || this.col >= wot.getSetting('totalColumns')) {
|
127
|
+
if (this.row >= countRows || this.col >= countCols) {
|
106
128
|
return false;
|
107
129
|
}
|
108
130
|
return true;
|
@@ -1,4 +1,6 @@
|
|
1
1
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
2
|
+
import "core-js/modules/es.number.is-integer.js";
|
3
|
+
import "core-js/modules/es.number.constructor.js";
|
2
4
|
import "core-js/modules/es.array.iterator.js";
|
3
5
|
import "core-js/modules/es.object.to-string.js";
|
4
6
|
import "core-js/modules/es.string.iterator.js";
|
@@ -8,8 +10,14 @@ import "core-js/modules/es.symbol.to-primitive.js";
|
|
8
10
|
import "core-js/modules/es.date.to-primitive.js";
|
9
11
|
import "core-js/modules/es.symbol.js";
|
10
12
|
import "core-js/modules/es.symbol.description.js";
|
11
|
-
import "core-js/modules/es.
|
13
|
+
import "core-js/modules/es.object.keys.js";
|
14
|
+
import "core-js/modules/es.array.filter.js";
|
15
|
+
import "core-js/modules/es.object.get-own-property-descriptor.js";
|
16
|
+
import "core-js/modules/web.dom-collections.for-each.js";
|
17
|
+
import "core-js/modules/es.object.get-own-property-descriptors.js";
|
12
18
|
import "core-js/modules/es.symbol.iterator.js";
|
19
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
20
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
13
21
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
14
22
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
15
23
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
@@ -43,27 +51,24 @@ var _isRtl = /*#__PURE__*/new WeakMap();
|
|
43
51
|
* ```
|
44
52
|
*/
|
45
53
|
var CellCoords = /*#__PURE__*/function () {
|
46
|
-
/**
|
47
|
-
* A visual row index.
|
48
|
-
*
|
49
|
-
* @type {number}
|
50
|
-
*/
|
51
|
-
|
52
|
-
/**
|
53
|
-
* A visual column index.
|
54
|
-
*
|
55
|
-
* @type {number}
|
56
|
-
*/
|
57
|
-
|
58
|
-
/**
|
59
|
-
* @type {boolean}
|
60
|
-
*/
|
61
|
-
|
62
54
|
function CellCoords(row, column) {
|
63
55
|
var isRtl = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
64
56
|
_classCallCheck(this, CellCoords);
|
57
|
+
/**
|
58
|
+
* A visual row index.
|
59
|
+
*
|
60
|
+
* @type {number}
|
61
|
+
*/
|
65
62
|
_defineProperty(this, "row", null);
|
63
|
+
/**
|
64
|
+
* A visual column index.
|
65
|
+
*
|
66
|
+
* @type {number}
|
67
|
+
*/
|
66
68
|
_defineProperty(this, "col", null);
|
69
|
+
/**
|
70
|
+
* @type {boolean}
|
71
|
+
*/
|
67
72
|
_classPrivateFieldInitSpec(this, _isRtl, {
|
68
73
|
writable: true,
|
69
74
|
value: false
|
@@ -77,28 +82,45 @@ var CellCoords = /*#__PURE__*/function () {
|
|
77
82
|
|
78
83
|
/**
|
79
84
|
* Checks if the coordinates in your `CellCoords` instance are valid
|
80
|
-
* in the context of
|
85
|
+
* in the context of given table parameters.
|
81
86
|
*
|
82
87
|
* The `row` index:
|
83
|
-
* -
|
84
|
-
* -
|
88
|
+
* - Must be an integer.
|
89
|
+
* - Must be higher than the number of column headers in the table.
|
90
|
+
* - Must be lower than the total number of rows in the table.
|
85
91
|
*
|
86
92
|
* The `col` index:
|
87
|
-
* -
|
88
|
-
* -
|
93
|
+
* - Must be an integer.
|
94
|
+
* - Must be higher than the number of row headers in the table.
|
95
|
+
* - Must be lower than the total number of columns in the table.
|
89
96
|
*
|
90
|
-
* @param {
|
97
|
+
* @param {object} [tableParams] An object with a defined table size.
|
98
|
+
* @param {number} [tableParams.countRows=0] The total number of rows.
|
99
|
+
* @param {number} [tableParams.countCols=0] The total number of columns.
|
100
|
+
* @param {number} [tableParams.countRowHeaders=0] A number of row headers.
|
101
|
+
* @param {number} [tableParams.countColHeaders=0] A number of column headers.
|
91
102
|
* @returns {boolean} `true`: The coordinates are valid.
|
92
103
|
*/
|
93
104
|
_createClass(CellCoords, [{
|
94
105
|
key: "isValid",
|
95
|
-
value: function isValid(
|
96
|
-
|
97
|
-
|
106
|
+
value: function isValid(tableParams) {
|
107
|
+
var _countRows$countCols$ = _objectSpread({
|
108
|
+
countRows: 0,
|
109
|
+
countCols: 0,
|
110
|
+
countRowHeaders: 0,
|
111
|
+
countColHeaders: 0
|
112
|
+
}, tableParams),
|
113
|
+
countRows = _countRows$countCols$.countRows,
|
114
|
+
countCols = _countRows$countCols$.countCols,
|
115
|
+
countRowHeaders = _countRows$countCols$.countRowHeaders,
|
116
|
+
countColHeaders = _countRows$countCols$.countColHeaders;
|
117
|
+
if (!Number.isInteger(this.row) || !Number.isInteger(this.col)) {
|
118
|
+
return false;
|
119
|
+
}
|
120
|
+
if (this.row < -countColHeaders || this.col < -countRowHeaders) {
|
98
121
|
return false;
|
99
122
|
}
|
100
|
-
|
101
|
-
if (this.row >= wot.getSetting('totalRows') || this.col >= wot.getSetting('totalColumns')) {
|
123
|
+
if (this.row >= countRows || this.col >= countCols) {
|
102
124
|
return false;
|
103
125
|
}
|
104
126
|
return true;
|
@@ -12,8 +12,15 @@ export default class CellRange {
|
|
12
12
|
setHighlight(coords: CellCoords): CellRange;
|
13
13
|
setFrom(coords: CellCoords): CellRange;
|
14
14
|
setTo(coords: CellCoords): CellRange;
|
15
|
-
isValid(
|
16
|
-
|
15
|
+
isValid(tableParams: {
|
16
|
+
countRows?: number;
|
17
|
+
countCols?: number;
|
18
|
+
countRowHeaders?: number;
|
19
|
+
countColHeaders?: number;
|
20
|
+
}): boolean;
|
21
|
+
isSingleCell(): boolean;
|
22
|
+
isSingleHeader(): boolean;
|
23
|
+
containsHeaders(): boolean;
|
17
24
|
getOuterHeight(): number;
|
18
25
|
getOuterWidth(): number;
|
19
26
|
getHeight(): number;
|
@@ -32,7 +32,6 @@ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) {
|
|
32
32
|
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
33
33
|
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
34
34
|
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; } }
|
35
|
-
var _isRtl = /*#__PURE__*/new WeakMap();
|
36
35
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
37
36
|
/**
|
38
37
|
* @description
|
@@ -52,48 +51,45 @@ var _isRtl = /*#__PURE__*/new WeakMap();
|
|
52
51
|
* import Handsontable, { CellRange } from '/handsontable/base';
|
53
52
|
* ```
|
54
53
|
*/
|
54
|
+
var _isRtl = /*#__PURE__*/new WeakMap();
|
55
55
|
var CellRange = /*#__PURE__*/function () {
|
56
|
-
/**
|
57
|
-
* Used to draw bold border around a cell where selection was started and to edit the cell
|
58
|
-
* when you press Enter. The highlight cannot point to headers (negative values) so its
|
59
|
-
* coordinates object is normalized while assigning.
|
60
|
-
*
|
61
|
-
* @private
|
62
|
-
* @type {CellCoords}
|
63
|
-
*/
|
64
|
-
|
65
|
-
/**
|
66
|
-
* Usually the same as highlight, but in Excel there is distinction - one can change
|
67
|
-
* highlight within a selection.
|
68
|
-
*
|
69
|
-
* @private
|
70
|
-
* @type {CellCoords}
|
71
|
-
*/
|
72
|
-
|
73
|
-
/**
|
74
|
-
* End selection.
|
75
|
-
*
|
76
|
-
* @private
|
77
|
-
* @type {CellCoords}
|
78
|
-
*/
|
79
|
-
|
80
|
-
/**
|
81
|
-
* @type {boolean}
|
82
|
-
*/
|
83
|
-
|
84
56
|
function CellRange(highlight) {
|
85
57
|
var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : highlight;
|
86
58
|
var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : highlight;
|
87
59
|
var isRtl = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
88
60
|
_classCallCheck(this, CellRange);
|
61
|
+
/**
|
62
|
+
* Used to draw bold border around a cell where selection was started and to edit the cell
|
63
|
+
* when you press Enter. The highlight cannot point to headers (negative values) so its
|
64
|
+
* coordinates object is normalized while assigning.
|
65
|
+
*
|
66
|
+
* @private
|
67
|
+
* @type {CellCoords}
|
68
|
+
*/
|
89
69
|
_defineProperty(this, "highlight", null);
|
70
|
+
/**
|
71
|
+
* Usually the same as highlight, but in Excel there is distinction - one can change
|
72
|
+
* highlight within a selection.
|
73
|
+
*
|
74
|
+
* @private
|
75
|
+
* @type {CellCoords}
|
76
|
+
*/
|
90
77
|
_defineProperty(this, "from", null);
|
78
|
+
/**
|
79
|
+
* End selection.
|
80
|
+
*
|
81
|
+
* @private
|
82
|
+
* @type {CellCoords}
|
83
|
+
*/
|
91
84
|
_defineProperty(this, "to", null);
|
85
|
+
/**
|
86
|
+
* @type {boolean}
|
87
|
+
*/
|
92
88
|
_classPrivateFieldInitSpec(this, _isRtl, {
|
93
89
|
writable: true,
|
94
90
|
value: false
|
95
91
|
});
|
96
|
-
this.highlight = highlight.clone()
|
92
|
+
this.highlight = highlight.clone();
|
97
93
|
this.from = from.clone();
|
98
94
|
this.to = to.clone();
|
99
95
|
_classPrivateFieldSet(this, _isRtl, isRtl);
|
@@ -108,7 +104,7 @@ var CellRange = /*#__PURE__*/function () {
|
|
108
104
|
_createClass(CellRange, [{
|
109
105
|
key: "setHighlight",
|
110
106
|
value: function setHighlight(coords) {
|
111
|
-
this.highlight = coords.clone()
|
107
|
+
this.highlight = coords.clone();
|
112
108
|
return this;
|
113
109
|
}
|
114
110
|
|
@@ -140,30 +136,67 @@ var CellRange = /*#__PURE__*/function () {
|
|
140
136
|
|
141
137
|
/**
|
142
138
|
* Checks if the coordinates in your `CellRange` instance are valid
|
143
|
-
* in the context of
|
139
|
+
* in the context of given table parameters.
|
144
140
|
*
|
145
141
|
* See the [`isValid()`](@/api/cellCoords.md#isvalid) method of the [`CellCoords`](@/api/cellCoords.md) class.
|
146
142
|
*
|
147
|
-
* @param {
|
143
|
+
* @param {object} tableParams An object with a defined table size.
|
144
|
+
* @param {number} tableParams.countRows The total number of rows.
|
145
|
+
* @param {number} tableParams.countCols The total number of columns.
|
146
|
+
* @param {number} tableParams.countRowHeaders A number of row headers.
|
147
|
+
* @param {number} tableParams.countColHeaders A number of column headers.
|
148
148
|
* @returns {boolean}
|
149
149
|
*/
|
150
150
|
}, {
|
151
151
|
key: "isValid",
|
152
|
-
value: function isValid(
|
153
|
-
return this.from.isValid(
|
152
|
+
value: function isValid(tableParams) {
|
153
|
+
return this.from.isValid(tableParams) && this.to.isValid(tableParams);
|
154
154
|
}
|
155
155
|
|
156
156
|
/**
|
157
|
-
* Checks if your range is just a single cell.
|
157
|
+
* Checks if your range is just a single cell or header.
|
158
158
|
*
|
159
159
|
* @returns {boolean}
|
160
160
|
*/
|
161
161
|
}, {
|
162
162
|
key: "isSingle",
|
163
163
|
value: function isSingle() {
|
164
|
+
return this.isSingleCell() || this.isSingleHeader();
|
165
|
+
}
|
166
|
+
|
167
|
+
/**
|
168
|
+
* Checks if your range is just a single cell.
|
169
|
+
*
|
170
|
+
* @returns {boolean}
|
171
|
+
*/
|
172
|
+
}, {
|
173
|
+
key: "isSingleCell",
|
174
|
+
value: function isSingleCell() {
|
164
175
|
return this.from.row >= 0 && this.from.row === this.to.row && this.from.col >= 0 && this.from.col === this.to.col;
|
165
176
|
}
|
166
177
|
|
178
|
+
/**
|
179
|
+
* Checks if your range is just a single header.
|
180
|
+
*
|
181
|
+
* @returns {boolean}
|
182
|
+
*/
|
183
|
+
}, {
|
184
|
+
key: "isSingleHeader",
|
185
|
+
value: function isSingleHeader() {
|
186
|
+
return (this.from.row < 0 || this.from.col < 0) && this.from.row === this.to.row && this.from.col === this.to.col;
|
187
|
+
}
|
188
|
+
|
189
|
+
/**
|
190
|
+
* Checks if your range overlaps headers range (negative coordinates).
|
191
|
+
*
|
192
|
+
* @returns {boolean}
|
193
|
+
*/
|
194
|
+
}, {
|
195
|
+
key: "containsHeaders",
|
196
|
+
value: function containsHeaders() {
|
197
|
+
return this.from.isHeader() || this.to.isHeader();
|
198
|
+
}
|
199
|
+
|
167
200
|
/**
|
168
201
|
* Returns the height of your range (as a number of rows, including row headers).
|
169
202
|
*
|
@@ -48,47 +48,43 @@ import CellCoords from "./../cell/coords.mjs";
|
|
48
48
|
*/
|
49
49
|
var _isRtl = /*#__PURE__*/new WeakMap();
|
50
50
|
var CellRange = /*#__PURE__*/function () {
|
51
|
-
/**
|
52
|
-
* Used to draw bold border around a cell where selection was started and to edit the cell
|
53
|
-
* when you press Enter. The highlight cannot point to headers (negative values) so its
|
54
|
-
* coordinates object is normalized while assigning.
|
55
|
-
*
|
56
|
-
* @private
|
57
|
-
* @type {CellCoords}
|
58
|
-
*/
|
59
|
-
|
60
|
-
/**
|
61
|
-
* Usually the same as highlight, but in Excel there is distinction - one can change
|
62
|
-
* highlight within a selection.
|
63
|
-
*
|
64
|
-
* @private
|
65
|
-
* @type {CellCoords}
|
66
|
-
*/
|
67
|
-
|
68
|
-
/**
|
69
|
-
* End selection.
|
70
|
-
*
|
71
|
-
* @private
|
72
|
-
* @type {CellCoords}
|
73
|
-
*/
|
74
|
-
|
75
|
-
/**
|
76
|
-
* @type {boolean}
|
77
|
-
*/
|
78
|
-
|
79
51
|
function CellRange(highlight) {
|
80
52
|
var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : highlight;
|
81
53
|
var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : highlight;
|
82
54
|
var isRtl = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
83
55
|
_classCallCheck(this, CellRange);
|
56
|
+
/**
|
57
|
+
* Used to draw bold border around a cell where selection was started and to edit the cell
|
58
|
+
* when you press Enter. The highlight cannot point to headers (negative values) so its
|
59
|
+
* coordinates object is normalized while assigning.
|
60
|
+
*
|
61
|
+
* @private
|
62
|
+
* @type {CellCoords}
|
63
|
+
*/
|
84
64
|
_defineProperty(this, "highlight", null);
|
65
|
+
/**
|
66
|
+
* Usually the same as highlight, but in Excel there is distinction - one can change
|
67
|
+
* highlight within a selection.
|
68
|
+
*
|
69
|
+
* @private
|
70
|
+
* @type {CellCoords}
|
71
|
+
*/
|
85
72
|
_defineProperty(this, "from", null);
|
73
|
+
/**
|
74
|
+
* End selection.
|
75
|
+
*
|
76
|
+
* @private
|
77
|
+
* @type {CellCoords}
|
78
|
+
*/
|
86
79
|
_defineProperty(this, "to", null);
|
80
|
+
/**
|
81
|
+
* @type {boolean}
|
82
|
+
*/
|
87
83
|
_classPrivateFieldInitSpec(this, _isRtl, {
|
88
84
|
writable: true,
|
89
85
|
value: false
|
90
86
|
});
|
91
|
-
this.highlight = highlight.clone()
|
87
|
+
this.highlight = highlight.clone();
|
92
88
|
this.from = from.clone();
|
93
89
|
this.to = to.clone();
|
94
90
|
_classPrivateFieldSet(this, _isRtl, isRtl);
|
@@ -103,7 +99,7 @@ var CellRange = /*#__PURE__*/function () {
|
|
103
99
|
_createClass(CellRange, [{
|
104
100
|
key: "setHighlight",
|
105
101
|
value: function setHighlight(coords) {
|
106
|
-
this.highlight = coords.clone()
|
102
|
+
this.highlight = coords.clone();
|
107
103
|
return this;
|
108
104
|
}
|
109
105
|
|
@@ -135,30 +131,67 @@ var CellRange = /*#__PURE__*/function () {
|
|
135
131
|
|
136
132
|
/**
|
137
133
|
* Checks if the coordinates in your `CellRange` instance are valid
|
138
|
-
* in the context of
|
134
|
+
* in the context of given table parameters.
|
139
135
|
*
|
140
136
|
* See the [`isValid()`](@/api/cellCoords.md#isvalid) method of the [`CellCoords`](@/api/cellCoords.md) class.
|
141
137
|
*
|
142
|
-
* @param {
|
138
|
+
* @param {object} tableParams An object with a defined table size.
|
139
|
+
* @param {number} tableParams.countRows The total number of rows.
|
140
|
+
* @param {number} tableParams.countCols The total number of columns.
|
141
|
+
* @param {number} tableParams.countRowHeaders A number of row headers.
|
142
|
+
* @param {number} tableParams.countColHeaders A number of column headers.
|
143
143
|
* @returns {boolean}
|
144
144
|
*/
|
145
145
|
}, {
|
146
146
|
key: "isValid",
|
147
|
-
value: function isValid(
|
148
|
-
return this.from.isValid(
|
147
|
+
value: function isValid(tableParams) {
|
148
|
+
return this.from.isValid(tableParams) && this.to.isValid(tableParams);
|
149
149
|
}
|
150
150
|
|
151
151
|
/**
|
152
|
-
* Checks if your range is just a single cell.
|
152
|
+
* Checks if your range is just a single cell or header.
|
153
153
|
*
|
154
154
|
* @returns {boolean}
|
155
155
|
*/
|
156
156
|
}, {
|
157
157
|
key: "isSingle",
|
158
158
|
value: function isSingle() {
|
159
|
+
return this.isSingleCell() || this.isSingleHeader();
|
160
|
+
}
|
161
|
+
|
162
|
+
/**
|
163
|
+
* Checks if your range is just a single cell.
|
164
|
+
*
|
165
|
+
* @returns {boolean}
|
166
|
+
*/
|
167
|
+
}, {
|
168
|
+
key: "isSingleCell",
|
169
|
+
value: function isSingleCell() {
|
159
170
|
return this.from.row >= 0 && this.from.row === this.to.row && this.from.col >= 0 && this.from.col === this.to.col;
|
160
171
|
}
|
161
172
|
|
173
|
+
/**
|
174
|
+
* Checks if your range is just a single header.
|
175
|
+
*
|
176
|
+
* @returns {boolean}
|
177
|
+
*/
|
178
|
+
}, {
|
179
|
+
key: "isSingleHeader",
|
180
|
+
value: function isSingleHeader() {
|
181
|
+
return (this.from.row < 0 || this.from.col < 0) && this.from.row === this.to.row && this.from.col === this.to.col;
|
182
|
+
}
|
183
|
+
|
184
|
+
/**
|
185
|
+
* Checks if your range overlaps headers range (negative coordinates).
|
186
|
+
*
|
187
|
+
* @returns {boolean}
|
188
|
+
*/
|
189
|
+
}, {
|
190
|
+
key: "containsHeaders",
|
191
|
+
value: function containsHeaders() {
|
192
|
+
return this.from.isHeader() || this.to.isHeader();
|
193
|
+
}
|
194
|
+
|
162
195
|
/**
|
163
196
|
* Returns the height of your range (as a number of rows, including row headers).
|
164
197
|
*
|
@@ -62,8 +62,7 @@ var Event = /*#__PURE__*/function () {
|
|
62
62
|
* Should be use only for passing face called external origin methods, like registered event listeners.
|
63
63
|
* It provides backward compatibility by getting instance facade.
|
64
64
|
*
|
65
|
-
* @todo Consider about removing this from Event class, because it make relationship into facade (implicit circular
|
66
|
-
* dependency).
|
65
|
+
* @todo Consider about removing this from Event class, because it make relationship into facade (implicit circular dependency).
|
67
66
|
* @todo Con. Maybe passing listener caller as an ioc from faced resolves this issue. To rethink later.
|
68
67
|
*
|
69
68
|
* @type {FacadeGetter}
|
@@ -206,9 +205,8 @@ var Event = /*#__PURE__*/function () {
|
|
206
205
|
var getParentNode = (0, _function.partial)(_element.getParent, event.target);
|
207
206
|
var realTarget = event.target;
|
208
207
|
|
209
|
-
// ignore
|
210
|
-
|
211
|
-
if (!['TD', 'TH'].includes(activeElement.nodeName) && (realTarget === activeElement || getParentNode(0) === activeElement || getParentNode(1) === activeElement)) {
|
208
|
+
// ignore focusable element from mouse down processing (https://github.com/handsontable/handsontable/issues/3555)
|
209
|
+
if (realTarget === activeElement || getParentNode(0) === activeElement || getParentNode(1) === activeElement) {
|
212
210
|
return;
|
213
211
|
}
|
214
212
|
var cell = this.parentCell(realTarget);
|
@@ -58,8 +58,7 @@ var Event = /*#__PURE__*/function () {
|
|
58
58
|
* Should be use only for passing face called external origin methods, like registered event listeners.
|
59
59
|
* It provides backward compatibility by getting instance facade.
|
60
60
|
*
|
61
|
-
* @todo Consider about removing this from Event class, because it make relationship into facade (implicit circular
|
62
|
-
* dependency).
|
61
|
+
* @todo Consider about removing this from Event class, because it make relationship into facade (implicit circular dependency).
|
63
62
|
* @todo Con. Maybe passing listener caller as an ioc from faced resolves this issue. To rethink later.
|
64
63
|
*
|
65
64
|
* @type {FacadeGetter}
|
@@ -202,9 +201,8 @@ var Event = /*#__PURE__*/function () {
|
|
202
201
|
var getParentNode = partial(getParent, event.target);
|
203
202
|
var realTarget = event.target;
|
204
203
|
|
205
|
-
// ignore
|
206
|
-
|
207
|
-
if (!['TD', 'TH'].includes(activeElement.nodeName) && (realTarget === activeElement || getParentNode(0) === activeElement || getParentNode(1) === activeElement)) {
|
204
|
+
// ignore focusable element from mouse down processing (https://github.com/handsontable/handsontable/issues/3555)
|
205
|
+
if (realTarget === activeElement || getParentNode(0) === activeElement || getParentNode(1) === activeElement) {
|
208
206
|
return;
|
209
207
|
}
|
210
208
|
var cell = this.parentCell(realTarget);
|
@@ -36,13 +36,6 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
36
36
|
* @property {Walkontable} wot The Walkontable instance.
|
37
37
|
*/
|
38
38
|
var Overlay = /*#__PURE__*/function () {
|
39
|
-
/**
|
40
|
-
* The Walkontable settings.
|
41
|
-
*
|
42
|
-
* @private
|
43
|
-
* @type {Settings}
|
44
|
-
*/
|
45
|
-
|
46
39
|
/**
|
47
40
|
* @param {Walkontable} wotInstance The Walkontable instance. @TODO refactoring: check if can be deleted.
|
48
41
|
* @param {FacadeGetter} facadeGetter Function which return proper facade.
|
@@ -52,6 +45,12 @@ var Overlay = /*#__PURE__*/function () {
|
|
52
45
|
*/
|
53
46
|
function Overlay(wotInstance, facadeGetter, type, wtSettings, domBindings) {
|
54
47
|
_classCallCheck(this, Overlay);
|
48
|
+
/**
|
49
|
+
* The Walkontable settings.
|
50
|
+
*
|
51
|
+
* @private
|
52
|
+
* @type {Settings}
|
53
|
+
*/
|
55
54
|
_defineProperty(this, "wtSettings", null);
|
56
55
|
(0, _object.defineGetter)(this, 'wot', wotInstance, {
|
57
56
|
writable: false
|