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
package/shortcuts/utils.mjs
CHANGED
@@ -6,6 +6,10 @@ import "core-js/modules/web.dom-collections.iterator.js";
|
|
6
6
|
import "core-js/modules/es.array.join.js";
|
7
7
|
import "core-js/modules/es.array.sort.js";
|
8
8
|
import "core-js/modules/es.array.map.js";
|
9
|
+
import "core-js/modules/es.regexp.constructor.js";
|
10
|
+
import "core-js/modules/es.regexp.exec.js";
|
11
|
+
import "core-js/modules/es.regexp.to-string.js";
|
12
|
+
import "core-js/modules/es.string.replace.js";
|
9
13
|
// This file handles key-name discrepancies between browsers.
|
10
14
|
// For the list of discrepancies, go to: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values.
|
11
15
|
var mappings = new Map([[' ', 'space'],
|
@@ -41,11 +45,23 @@ export var getKeysList = function getKeysList(normalizedKeys) {
|
|
41
45
|
};
|
42
46
|
|
43
47
|
/**
|
44
|
-
*
|
48
|
+
* The regex tests if the event.code matches to the pattern and it's used to extract letters and digits from
|
49
|
+
* the string.
|
50
|
+
*/
|
51
|
+
var codeToKeyRegExp = new RegExp('^(?:Key|Digit)([A-Z0-9])$');
|
52
|
+
|
53
|
+
/**
|
54
|
+
* Normalizes a keyboard event key value to a key before its modification. When the keyboard event
|
55
|
+
* is triggered with Alt, Control or Shift keys the `key` property contains modified key e.g. for Alt+L
|
56
|
+
* it will be `ł`. But that value is only valid for polish keyboard layout. To fix that limitations, for
|
57
|
+
* letters and digits the value is taken from the `code` property which holds original value before
|
58
|
+
* transformation.
|
45
59
|
*
|
46
|
-
* @param {
|
60
|
+
* @param {Event} event The KeyboardEvent object.
|
47
61
|
* @returns {string}
|
48
62
|
*/
|
49
|
-
export var normalizeEventKey = function normalizeEventKey(
|
50
|
-
|
63
|
+
export var normalizeEventKey = function normalizeEventKey(_ref) {
|
64
|
+
var key = _ref.key,
|
65
|
+
code = _ref.code;
|
66
|
+
return (codeToKeyRegExp.test(code) ? code.replace(codeToKeyRegExp, '$1') : key).toLowerCase();
|
51
67
|
};
|
package/tableView.js
CHANGED
@@ -7,6 +7,7 @@ require("core-js/modules/es.symbol.description.js");
|
|
7
7
|
require("core-js/modules/es.symbol.iterator.js");
|
8
8
|
require("core-js/modules/es.array.from.js");
|
9
9
|
require("core-js/modules/es.array.slice.js");
|
10
|
+
require("core-js/modules/es.regexp.to-string.js");
|
10
11
|
require("core-js/modules/es.function.name.js");
|
11
12
|
require("core-js/modules/es.regexp.exec.js");
|
12
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); }
|
@@ -58,98 +59,88 @@ var privatePool = new WeakMap();
|
|
58
59
|
var _columnHeadersCount = /*#__PURE__*/new WeakMap();
|
59
60
|
var _rowHeadersCount = /*#__PURE__*/new WeakMap();
|
60
61
|
var TableView = /*#__PURE__*/function () {
|
61
|
-
/**
|
62
|
-
* Instance of {@link Handsontable}.
|
63
|
-
*
|
64
|
-
* @private
|
65
|
-
* @type {Handsontable}
|
66
|
-
*/
|
67
|
-
|
68
|
-
/**
|
69
|
-
* Instance of {@link EventManager}.
|
70
|
-
*
|
71
|
-
* @private
|
72
|
-
* @type {EventManager}
|
73
|
-
*/
|
74
|
-
|
75
|
-
/**
|
76
|
-
* Current Handsontable's GridSettings object.
|
77
|
-
*
|
78
|
-
* @private
|
79
|
-
* @type {GridSettings}
|
80
|
-
*/
|
81
|
-
|
82
|
-
/**
|
83
|
-
* Main <THEAD> element.
|
84
|
-
*
|
85
|
-
* @private
|
86
|
-
* @type {HTMLTableSectionElement}
|
87
|
-
*/
|
88
|
-
|
89
|
-
/**
|
90
|
-
* Main <TBODY> element.
|
91
|
-
*
|
92
|
-
* @private
|
93
|
-
* @type {HTMLTableSectionElement}
|
94
|
-
*/
|
95
|
-
|
96
|
-
/**
|
97
|
-
* Main Walkontable instance.
|
98
|
-
*
|
99
|
-
* @private
|
100
|
-
* @type {Walkontable}
|
101
|
-
*/
|
102
|
-
|
103
|
-
/**
|
104
|
-
* Main Walkontable instance.
|
105
|
-
*
|
106
|
-
* @private
|
107
|
-
* @type {Walkontable}
|
108
|
-
*/
|
109
|
-
|
110
|
-
/**
|
111
|
-
* The total number of the column header renderers applied to the table through the
|
112
|
-
* `afterGetColumnHeaderRenderers` hook.
|
113
|
-
*
|
114
|
-
* @type {number}
|
115
|
-
*/
|
116
|
-
|
117
|
-
/**
|
118
|
-
* The total number of the row header renderers applied to the table through the
|
119
|
-
* `afterGetRowHeaderRenderers` hook.
|
120
|
-
*
|
121
|
-
* @type {number}
|
122
|
-
*/
|
123
|
-
|
124
|
-
/**
|
125
|
-
* The flag determines if the `adjustElementsSize` method call was made during
|
126
|
-
* the render suspending. If true, the method has to be triggered once after render
|
127
|
-
* resuming.
|
128
|
-
*
|
129
|
-
* @private
|
130
|
-
* @type {boolean}
|
131
|
-
*/
|
132
|
-
|
133
62
|
/**
|
134
63
|
* @param {Hanstontable} instance Instance of {@link Handsontable}.
|
135
64
|
*/
|
136
65
|
function TableView(instance) {
|
137
66
|
_classCallCheck(this, TableView);
|
67
|
+
/**
|
68
|
+
* Instance of {@link Handsontable}.
|
69
|
+
*
|
70
|
+
* @private
|
71
|
+
* @type {Handsontable}
|
72
|
+
*/
|
138
73
|
_defineProperty(this, "instance", void 0);
|
74
|
+
/**
|
75
|
+
* Instance of {@link EventManager}.
|
76
|
+
*
|
77
|
+
* @private
|
78
|
+
* @type {EventManager}
|
79
|
+
*/
|
139
80
|
_defineProperty(this, "eventManager", void 0);
|
81
|
+
/**
|
82
|
+
* Current Handsontable's GridSettings object.
|
83
|
+
*
|
84
|
+
* @private
|
85
|
+
* @type {GridSettings}
|
86
|
+
*/
|
140
87
|
_defineProperty(this, "settings", void 0);
|
88
|
+
/**
|
89
|
+
* Main <THEAD> element.
|
90
|
+
*
|
91
|
+
* @private
|
92
|
+
* @type {HTMLTableSectionElement}
|
93
|
+
*/
|
141
94
|
_defineProperty(this, "THEAD", void 0);
|
95
|
+
/**
|
96
|
+
* Main <TBODY> element.
|
97
|
+
*
|
98
|
+
* @private
|
99
|
+
* @type {HTMLTableSectionElement}
|
100
|
+
*/
|
142
101
|
_defineProperty(this, "TBODY", void 0);
|
102
|
+
/**
|
103
|
+
* Main Walkontable instance.
|
104
|
+
*
|
105
|
+
* @private
|
106
|
+
* @type {Walkontable}
|
107
|
+
*/
|
143
108
|
_defineProperty(this, "_wt", void 0);
|
109
|
+
/**
|
110
|
+
* Main Walkontable instance.
|
111
|
+
*
|
112
|
+
* @private
|
113
|
+
* @type {Walkontable}
|
114
|
+
*/
|
144
115
|
_defineProperty(this, "activeWt", void 0);
|
116
|
+
/**
|
117
|
+
* The total number of the column header renderers applied to the table through the
|
118
|
+
* `afterGetColumnHeaderRenderers` hook.
|
119
|
+
*
|
120
|
+
* @type {number}
|
121
|
+
*/
|
145
122
|
_classPrivateFieldInitSpec(this, _columnHeadersCount, {
|
146
123
|
writable: true,
|
147
124
|
value: 0
|
148
125
|
});
|
126
|
+
/**
|
127
|
+
* The total number of the row header renderers applied to the table through the
|
128
|
+
* `afterGetRowHeaderRenderers` hook.
|
129
|
+
*
|
130
|
+
* @type {number}
|
131
|
+
*/
|
149
132
|
_classPrivateFieldInitSpec(this, _rowHeadersCount, {
|
150
133
|
writable: true,
|
151
134
|
value: 0
|
152
135
|
});
|
136
|
+
/**
|
137
|
+
* The flag determines if the `adjustElementsSize` method call was made during
|
138
|
+
* the render suspending. If true, the method has to be triggered once after render
|
139
|
+
* resuming.
|
140
|
+
*
|
141
|
+
* @private
|
142
|
+
* @type {boolean}
|
143
|
+
*/
|
153
144
|
_defineProperty(this, "postponedAdjustElementsSize", false);
|
154
145
|
this.instance = instance;
|
155
146
|
this.eventManager = new _eventManager.default(this.instance);
|
@@ -309,7 +300,6 @@ var TableView = /*#__PURE__*/function () {
|
|
309
300
|
(0, _element.addClass)(rootElement, 'handsontable');
|
310
301
|
priv.table = rootDocument.createElement('TABLE');
|
311
302
|
(0, _element.addClass)(priv.table, 'htCore');
|
312
|
-
priv.table.setAttribute('role', 'treegrid');
|
313
303
|
if (this.instance.getSettings().tableClassName) {
|
314
304
|
(0, _element.addClass)(priv.table, this.instance.getSettings().tableClassName);
|
315
305
|
}
|
@@ -366,11 +356,14 @@ var TableView = /*#__PURE__*/function () {
|
|
366
356
|
});
|
367
357
|
this.eventManager.addEventListener(documentElement, 'mouseup', function (event) {
|
368
358
|
if (selection.isInProgress() && (0, _event.isLeftClick)(event)) {
|
369
|
-
// is left mouse button
|
370
359
|
selection.finish();
|
371
360
|
}
|
372
361
|
priv.mouseDown = false;
|
373
|
-
|
362
|
+
var isOutsideInputElement = (0, _element.isOutsideInput)(rootDocument.activeElement);
|
363
|
+
if (!isOutsideInputElement) {
|
364
|
+
return;
|
365
|
+
}
|
366
|
+
if (isOutsideInputElement || !selection.isSelected() && !selection.isSelectedByAnyHeader() && !rootElement.contains(event.target) && !(0, _event.isRightClick)(event)) {
|
374
367
|
_this.instance.unlisten();
|
375
368
|
}
|
376
369
|
});
|
@@ -623,6 +616,44 @@ var TableView = /*#__PURE__*/function () {
|
|
623
616
|
return this.countNotHiddenRowIndexes(visualFixedRowsBottom, 1);
|
624
617
|
}
|
625
618
|
|
619
|
+
/**
|
620
|
+
* The function returns the number of renderable column indexes within the passed range of the visual indexes.
|
621
|
+
*
|
622
|
+
* @param {number} columnStart The column visual start index.
|
623
|
+
* @param {number} columnEnd The column visual end index.
|
624
|
+
* @returns {number}
|
625
|
+
*/
|
626
|
+
}, {
|
627
|
+
key: "countRenderableColumnsInRange",
|
628
|
+
value: function countRenderableColumnsInRange(columnStart, columnEnd) {
|
629
|
+
var count = 0;
|
630
|
+
for (var column = columnStart; column <= columnEnd; column++) {
|
631
|
+
if (this.instance.columnIndexMapper.getRenderableFromVisualIndex(column) !== null) {
|
632
|
+
count += 1;
|
633
|
+
}
|
634
|
+
}
|
635
|
+
return count;
|
636
|
+
}
|
637
|
+
|
638
|
+
/**
|
639
|
+
* The function returns the number of renderable row indexes within the passed range of the visual indexes.
|
640
|
+
*
|
641
|
+
* @param {number} rowStart The row visual start index.
|
642
|
+
* @param {number} rowEnd The row visual end index.
|
643
|
+
* @returns {number}
|
644
|
+
*/
|
645
|
+
}, {
|
646
|
+
key: "countRenderableRowsInRange",
|
647
|
+
value: function countRenderableRowsInRange(rowStart, rowEnd) {
|
648
|
+
var count = 0;
|
649
|
+
for (var row = rowStart; row <= rowEnd; row++) {
|
650
|
+
if (this.instance.rowIndexMapper.getRenderableFromVisualIndex(row) !== null) {
|
651
|
+
count += 1;
|
652
|
+
}
|
653
|
+
}
|
654
|
+
return count;
|
655
|
+
}
|
656
|
+
|
626
657
|
/**
|
627
658
|
* Checks if at least one cell than belongs to the main table is not covered by the top, left or
|
628
659
|
* bottom overlay.
|
@@ -884,10 +915,12 @@ var TableView = /*#__PURE__*/function () {
|
|
884
915
|
return _this2.afterRender(force);
|
885
916
|
},
|
886
917
|
onScrollVertically: function onScrollVertically() {
|
887
|
-
|
918
|
+
_this2.instance.runHooks('afterScrollVertically');
|
919
|
+
_this2.instance.runHooks('afterScroll');
|
888
920
|
},
|
889
921
|
onScrollHorizontally: function onScrollHorizontally() {
|
890
|
-
|
922
|
+
_this2.instance.runHooks('afterScrollHorizontally');
|
923
|
+
_this2.instance.runHooks('afterScroll');
|
891
924
|
},
|
892
925
|
onBeforeRemoveCellClassNames: function onBeforeRemoveCellClassNames() {
|
893
926
|
return _this2.instance.runHooks('beforeRemoveCellClassNames');
|
@@ -927,10 +960,7 @@ var TableView = /*#__PURE__*/function () {
|
|
927
960
|
var selectedRange = _this2.instance.selection.getSelectedRange();
|
928
961
|
var selectionRangeSize = selectedRange.size();
|
929
962
|
if (selectionRangeSize > 0) {
|
930
|
-
|
931
|
-
// Please look at the `SelectedRange` class and it's method for getting selection's layer for more information.
|
932
|
-
var selectionOffset = (layerLevel !== null && layerLevel !== void 0 ? layerLevel : 0) + 1 - selectionRangeSize;
|
933
|
-
var selectionForLayer = selectedRange.peekByIndex(selectionOffset);
|
963
|
+
var selectionForLayer = selectedRange.peekByIndex(layerLevel !== null && layerLevel !== void 0 ? layerLevel : 0);
|
934
964
|
cornersOfSelection = [selectionForLayer.from.row, selectionForLayer.from.col, selectionForLayer.to.row, selectionForLayer.to.col];
|
935
965
|
}
|
936
966
|
return _this2.instance.runHooks('afterDrawSelection', visualRowIndex, visualColumnIndex, cornersOfSelection, layerLevel);
|
@@ -1104,7 +1134,7 @@ var TableView = /*#__PURE__*/function () {
|
|
1104
1134
|
key: "isSelectedOnlyCell",
|
1105
1135
|
value: function isSelectedOnlyCell() {
|
1106
1136
|
var _this$instance$getSel, _this$instance$getSel2;
|
1107
|
-
return (_this$instance$getSel = (_this$instance$getSel2 = this.instance.getSelectedRangeLast()) === null || _this$instance$getSel2 === void 0 ? void 0 : _this$instance$getSel2.
|
1137
|
+
return (_this$instance$getSel = (_this$instance$getSel2 = this.instance.getSelectedRangeLast()) === null || _this$instance$getSel2 === void 0 ? void 0 : _this$instance$getSel2.isSingleCell()) !== null && _this$instance$getSel !== void 0 ? _this$instance$getSel : false;
|
1108
1138
|
}
|
1109
1139
|
|
1110
1140
|
/**
|
package/tableView.mjs
CHANGED
@@ -36,6 +36,7 @@ import "core-js/modules/es.symbol.description.js";
|
|
36
36
|
import "core-js/modules/es.symbol.iterator.js";
|
37
37
|
import "core-js/modules/es.array.from.js";
|
38
38
|
import "core-js/modules/es.array.slice.js";
|
39
|
+
import "core-js/modules/es.regexp.to-string.js";
|
39
40
|
import "core-js/modules/es.function.name.js";
|
40
41
|
import "core-js/modules/es.regexp.exec.js";
|
41
42
|
import { addClass, clearTextSelection, empty, fastInnerHTML, fastInnerText, getScrollbarWidth, hasClass, isChildOf, isInput, isOutsideInput } from "./helpers/dom/element.mjs";
|
@@ -53,98 +54,88 @@ var privatePool = new WeakMap();
|
|
53
54
|
var _columnHeadersCount = /*#__PURE__*/new WeakMap();
|
54
55
|
var _rowHeadersCount = /*#__PURE__*/new WeakMap();
|
55
56
|
var TableView = /*#__PURE__*/function () {
|
56
|
-
/**
|
57
|
-
* Instance of {@link Handsontable}.
|
58
|
-
*
|
59
|
-
* @private
|
60
|
-
* @type {Handsontable}
|
61
|
-
*/
|
62
|
-
|
63
|
-
/**
|
64
|
-
* Instance of {@link EventManager}.
|
65
|
-
*
|
66
|
-
* @private
|
67
|
-
* @type {EventManager}
|
68
|
-
*/
|
69
|
-
|
70
|
-
/**
|
71
|
-
* Current Handsontable's GridSettings object.
|
72
|
-
*
|
73
|
-
* @private
|
74
|
-
* @type {GridSettings}
|
75
|
-
*/
|
76
|
-
|
77
|
-
/**
|
78
|
-
* Main <THEAD> element.
|
79
|
-
*
|
80
|
-
* @private
|
81
|
-
* @type {HTMLTableSectionElement}
|
82
|
-
*/
|
83
|
-
|
84
|
-
/**
|
85
|
-
* Main <TBODY> element.
|
86
|
-
*
|
87
|
-
* @private
|
88
|
-
* @type {HTMLTableSectionElement}
|
89
|
-
*/
|
90
|
-
|
91
|
-
/**
|
92
|
-
* Main Walkontable instance.
|
93
|
-
*
|
94
|
-
* @private
|
95
|
-
* @type {Walkontable}
|
96
|
-
*/
|
97
|
-
|
98
|
-
/**
|
99
|
-
* Main Walkontable instance.
|
100
|
-
*
|
101
|
-
* @private
|
102
|
-
* @type {Walkontable}
|
103
|
-
*/
|
104
|
-
|
105
|
-
/**
|
106
|
-
* The total number of the column header renderers applied to the table through the
|
107
|
-
* `afterGetColumnHeaderRenderers` hook.
|
108
|
-
*
|
109
|
-
* @type {number}
|
110
|
-
*/
|
111
|
-
|
112
|
-
/**
|
113
|
-
* The total number of the row header renderers applied to the table through the
|
114
|
-
* `afterGetRowHeaderRenderers` hook.
|
115
|
-
*
|
116
|
-
* @type {number}
|
117
|
-
*/
|
118
|
-
|
119
|
-
/**
|
120
|
-
* The flag determines if the `adjustElementsSize` method call was made during
|
121
|
-
* the render suspending. If true, the method has to be triggered once after render
|
122
|
-
* resuming.
|
123
|
-
*
|
124
|
-
* @private
|
125
|
-
* @type {boolean}
|
126
|
-
*/
|
127
|
-
|
128
57
|
/**
|
129
58
|
* @param {Hanstontable} instance Instance of {@link Handsontable}.
|
130
59
|
*/
|
131
60
|
function TableView(instance) {
|
132
61
|
_classCallCheck(this, TableView);
|
62
|
+
/**
|
63
|
+
* Instance of {@link Handsontable}.
|
64
|
+
*
|
65
|
+
* @private
|
66
|
+
* @type {Handsontable}
|
67
|
+
*/
|
133
68
|
_defineProperty(this, "instance", void 0);
|
69
|
+
/**
|
70
|
+
* Instance of {@link EventManager}.
|
71
|
+
*
|
72
|
+
* @private
|
73
|
+
* @type {EventManager}
|
74
|
+
*/
|
134
75
|
_defineProperty(this, "eventManager", void 0);
|
76
|
+
/**
|
77
|
+
* Current Handsontable's GridSettings object.
|
78
|
+
*
|
79
|
+
* @private
|
80
|
+
* @type {GridSettings}
|
81
|
+
*/
|
135
82
|
_defineProperty(this, "settings", void 0);
|
83
|
+
/**
|
84
|
+
* Main <THEAD> element.
|
85
|
+
*
|
86
|
+
* @private
|
87
|
+
* @type {HTMLTableSectionElement}
|
88
|
+
*/
|
136
89
|
_defineProperty(this, "THEAD", void 0);
|
90
|
+
/**
|
91
|
+
* Main <TBODY> element.
|
92
|
+
*
|
93
|
+
* @private
|
94
|
+
* @type {HTMLTableSectionElement}
|
95
|
+
*/
|
137
96
|
_defineProperty(this, "TBODY", void 0);
|
97
|
+
/**
|
98
|
+
* Main Walkontable instance.
|
99
|
+
*
|
100
|
+
* @private
|
101
|
+
* @type {Walkontable}
|
102
|
+
*/
|
138
103
|
_defineProperty(this, "_wt", void 0);
|
104
|
+
/**
|
105
|
+
* Main Walkontable instance.
|
106
|
+
*
|
107
|
+
* @private
|
108
|
+
* @type {Walkontable}
|
109
|
+
*/
|
139
110
|
_defineProperty(this, "activeWt", void 0);
|
111
|
+
/**
|
112
|
+
* The total number of the column header renderers applied to the table through the
|
113
|
+
* `afterGetColumnHeaderRenderers` hook.
|
114
|
+
*
|
115
|
+
* @type {number}
|
116
|
+
*/
|
140
117
|
_classPrivateFieldInitSpec(this, _columnHeadersCount, {
|
141
118
|
writable: true,
|
142
119
|
value: 0
|
143
120
|
});
|
121
|
+
/**
|
122
|
+
* The total number of the row header renderers applied to the table through the
|
123
|
+
* `afterGetRowHeaderRenderers` hook.
|
124
|
+
*
|
125
|
+
* @type {number}
|
126
|
+
*/
|
144
127
|
_classPrivateFieldInitSpec(this, _rowHeadersCount, {
|
145
128
|
writable: true,
|
146
129
|
value: 0
|
147
130
|
});
|
131
|
+
/**
|
132
|
+
* The flag determines if the `adjustElementsSize` method call was made during
|
133
|
+
* the render suspending. If true, the method has to be triggered once after render
|
134
|
+
* resuming.
|
135
|
+
*
|
136
|
+
* @private
|
137
|
+
* @type {boolean}
|
138
|
+
*/
|
148
139
|
_defineProperty(this, "postponedAdjustElementsSize", false);
|
149
140
|
this.instance = instance;
|
150
141
|
this.eventManager = new EventManager(this.instance);
|
@@ -304,7 +295,6 @@ var TableView = /*#__PURE__*/function () {
|
|
304
295
|
addClass(rootElement, 'handsontable');
|
305
296
|
priv.table = rootDocument.createElement('TABLE');
|
306
297
|
addClass(priv.table, 'htCore');
|
307
|
-
priv.table.setAttribute('role', 'treegrid');
|
308
298
|
if (this.instance.getSettings().tableClassName) {
|
309
299
|
addClass(priv.table, this.instance.getSettings().tableClassName);
|
310
300
|
}
|
@@ -361,11 +351,14 @@ var TableView = /*#__PURE__*/function () {
|
|
361
351
|
});
|
362
352
|
this.eventManager.addEventListener(documentElement, 'mouseup', function (event) {
|
363
353
|
if (selection.isInProgress() && isLeftClick(event)) {
|
364
|
-
// is left mouse button
|
365
354
|
selection.finish();
|
366
355
|
}
|
367
356
|
priv.mouseDown = false;
|
368
|
-
|
357
|
+
var isOutsideInputElement = isOutsideInput(rootDocument.activeElement);
|
358
|
+
if (!isOutsideInputElement) {
|
359
|
+
return;
|
360
|
+
}
|
361
|
+
if (isOutsideInputElement || !selection.isSelected() && !selection.isSelectedByAnyHeader() && !rootElement.contains(event.target) && !isRightClick(event)) {
|
369
362
|
_this.instance.unlisten();
|
370
363
|
}
|
371
364
|
});
|
@@ -618,6 +611,44 @@ var TableView = /*#__PURE__*/function () {
|
|
618
611
|
return this.countNotHiddenRowIndexes(visualFixedRowsBottom, 1);
|
619
612
|
}
|
620
613
|
|
614
|
+
/**
|
615
|
+
* The function returns the number of renderable column indexes within the passed range of the visual indexes.
|
616
|
+
*
|
617
|
+
* @param {number} columnStart The column visual start index.
|
618
|
+
* @param {number} columnEnd The column visual end index.
|
619
|
+
* @returns {number}
|
620
|
+
*/
|
621
|
+
}, {
|
622
|
+
key: "countRenderableColumnsInRange",
|
623
|
+
value: function countRenderableColumnsInRange(columnStart, columnEnd) {
|
624
|
+
var count = 0;
|
625
|
+
for (var column = columnStart; column <= columnEnd; column++) {
|
626
|
+
if (this.instance.columnIndexMapper.getRenderableFromVisualIndex(column) !== null) {
|
627
|
+
count += 1;
|
628
|
+
}
|
629
|
+
}
|
630
|
+
return count;
|
631
|
+
}
|
632
|
+
|
633
|
+
/**
|
634
|
+
* The function returns the number of renderable row indexes within the passed range of the visual indexes.
|
635
|
+
*
|
636
|
+
* @param {number} rowStart The row visual start index.
|
637
|
+
* @param {number} rowEnd The row visual end index.
|
638
|
+
* @returns {number}
|
639
|
+
*/
|
640
|
+
}, {
|
641
|
+
key: "countRenderableRowsInRange",
|
642
|
+
value: function countRenderableRowsInRange(rowStart, rowEnd) {
|
643
|
+
var count = 0;
|
644
|
+
for (var row = rowStart; row <= rowEnd; row++) {
|
645
|
+
if (this.instance.rowIndexMapper.getRenderableFromVisualIndex(row) !== null) {
|
646
|
+
count += 1;
|
647
|
+
}
|
648
|
+
}
|
649
|
+
return count;
|
650
|
+
}
|
651
|
+
|
621
652
|
/**
|
622
653
|
* Checks if at least one cell than belongs to the main table is not covered by the top, left or
|
623
654
|
* bottom overlay.
|
@@ -879,10 +910,12 @@ var TableView = /*#__PURE__*/function () {
|
|
879
910
|
return _this2.afterRender(force);
|
880
911
|
},
|
881
912
|
onScrollVertically: function onScrollVertically() {
|
882
|
-
|
913
|
+
_this2.instance.runHooks('afterScrollVertically');
|
914
|
+
_this2.instance.runHooks('afterScroll');
|
883
915
|
},
|
884
916
|
onScrollHorizontally: function onScrollHorizontally() {
|
885
|
-
|
917
|
+
_this2.instance.runHooks('afterScrollHorizontally');
|
918
|
+
_this2.instance.runHooks('afterScroll');
|
886
919
|
},
|
887
920
|
onBeforeRemoveCellClassNames: function onBeforeRemoveCellClassNames() {
|
888
921
|
return _this2.instance.runHooks('beforeRemoveCellClassNames');
|
@@ -922,10 +955,7 @@ var TableView = /*#__PURE__*/function () {
|
|
922
955
|
var selectedRange = _this2.instance.selection.getSelectedRange();
|
923
956
|
var selectionRangeSize = selectedRange.size();
|
924
957
|
if (selectionRangeSize > 0) {
|
925
|
-
|
926
|
-
// Please look at the `SelectedRange` class and it's method for getting selection's layer for more information.
|
927
|
-
var selectionOffset = (layerLevel !== null && layerLevel !== void 0 ? layerLevel : 0) + 1 - selectionRangeSize;
|
928
|
-
var selectionForLayer = selectedRange.peekByIndex(selectionOffset);
|
958
|
+
var selectionForLayer = selectedRange.peekByIndex(layerLevel !== null && layerLevel !== void 0 ? layerLevel : 0);
|
929
959
|
cornersOfSelection = [selectionForLayer.from.row, selectionForLayer.from.col, selectionForLayer.to.row, selectionForLayer.to.col];
|
930
960
|
}
|
931
961
|
return _this2.instance.runHooks('afterDrawSelection', visualRowIndex, visualColumnIndex, cornersOfSelection, layerLevel);
|
@@ -1099,7 +1129,7 @@ var TableView = /*#__PURE__*/function () {
|
|
1099
1129
|
key: "isSelectedOnlyCell",
|
1100
1130
|
value: function isSelectedOnlyCell() {
|
1101
1131
|
var _this$instance$getSel, _this$instance$getSel2;
|
1102
|
-
return (_this$instance$getSel = (_this$instance$getSel2 = this.instance.getSelectedRangeLast()) === null || _this$instance$getSel2 === void 0 ? void 0 : _this$instance$getSel2.
|
1132
|
+
return (_this$instance$getSel = (_this$instance$getSel2 = this.instance.getSelectedRangeLast()) === null || _this$instance$getSel2 === void 0 ? void 0 : _this$instance$getSel2.isSingleCell()) !== null && _this$instance$getSel !== void 0 ? _this$instance$getSel : false;
|
1103
1133
|
}
|
1104
1134
|
|
1105
1135
|
/**
|