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
@@ -5,6 +5,7 @@ require("core-js/modules/es.date.to-primitive.js");
|
|
5
5
|
require("core-js/modules/es.number.constructor.js");
|
6
6
|
require("core-js/modules/es.array.from.js");
|
7
7
|
require("core-js/modules/es.array.slice.js");
|
8
|
+
require("core-js/modules/es.regexp.to-string.js");
|
8
9
|
require("core-js/modules/es.function.name.js");
|
9
10
|
require("core-js/modules/es.regexp.exec.js");
|
10
11
|
require("core-js/modules/es.object.keys.js");
|
@@ -65,8 +66,6 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
65
66
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
66
67
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
67
68
|
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
68
|
-
var _createHighlight = /*#__PURE__*/new WeakSet();
|
69
|
-
_Symbol$iterator = Symbol.iterator;
|
70
69
|
/**
|
71
70
|
* Highlight class responsible for managing Walkontable Selection classes.
|
72
71
|
*
|
@@ -82,102 +81,9 @@ _Symbol$iterator = Symbol.iterator;
|
|
82
81
|
* @class Highlight
|
83
82
|
* @util
|
84
83
|
*/
|
84
|
+
var _createHighlight = /*#__PURE__*/new WeakSet();
|
85
|
+
_Symbol$iterator = Symbol.iterator;
|
85
86
|
var Highlight = /*#__PURE__*/function () {
|
86
|
-
/**
|
87
|
-
* Options consumed by Highlight class and Walkontable Selection classes.
|
88
|
-
*
|
89
|
-
* @type {object}
|
90
|
-
*/
|
91
|
-
|
92
|
-
/**
|
93
|
-
* The property which describes which layer level of the visual selection will be modified.
|
94
|
-
* This option is valid only for `area` and `header` highlight types which occurs multiple times on
|
95
|
-
* the table (as a non-consecutive selection).
|
96
|
-
*
|
97
|
-
* An order of the layers is the same as the order of added new non-consecutive selections.
|
98
|
-
*
|
99
|
-
* @type {number}
|
100
|
-
* @default 0
|
101
|
-
*/
|
102
|
-
|
103
|
-
/**
|
104
|
-
* `cell` highlight object which describes attributes for the currently selected cell.
|
105
|
-
* It can only occur only once on the table.
|
106
|
-
*
|
107
|
-
* @type {Selection}
|
108
|
-
*/
|
109
|
-
|
110
|
-
/**
|
111
|
-
* `fill` highlight object which describes attributes for the borders for autofill functionality.
|
112
|
-
* It can only occur only once on the table.
|
113
|
-
*
|
114
|
-
* @type {Selection}
|
115
|
-
*/
|
116
|
-
|
117
|
-
/**
|
118
|
-
* Collection of the `area` highlights. That objects describes attributes for the borders and selection of
|
119
|
-
* the multiple selected cells. It can occur multiple times on the table.
|
120
|
-
*
|
121
|
-
* @type {Map.<number, Selection>}
|
122
|
-
*/
|
123
|
-
|
124
|
-
/**
|
125
|
-
* Collection of the `highlight` highlights. That objects describes attributes for the borders and selection of
|
126
|
-
* the multiple selected cells. It can occur multiple times on the table.
|
127
|
-
*
|
128
|
-
* @type {Map.<number, Selection>}
|
129
|
-
*/
|
130
|
-
|
131
|
-
/**
|
132
|
-
* Collection of the `header` highlights. That objects describes attributes for the selection of
|
133
|
-
* the multiple selected rows in the table header. It can occur multiple times on the table.
|
134
|
-
*
|
135
|
-
* @type {Map.<number, Selection>}
|
136
|
-
*/
|
137
|
-
|
138
|
-
/**
|
139
|
-
* Collection of the `header` highlights. That objects describes attributes for the selection of
|
140
|
-
* the multiple selected columns in the table header. It can occur multiple times on the table.
|
141
|
-
*
|
142
|
-
* @type {Map.<number, Selection>}
|
143
|
-
*/
|
144
|
-
|
145
|
-
/**
|
146
|
-
* Collection of the `active-header` highlights. That objects describes attributes for the selection of
|
147
|
-
* the multiple selected rows in the table header. The table headers which have selected all items in
|
148
|
-
* a row will be marked as `active-header`.
|
149
|
-
*
|
150
|
-
* @type {Map.<number, Selection>}
|
151
|
-
*/
|
152
|
-
|
153
|
-
/**
|
154
|
-
* Collection of the `active-header` highlights. That objects describes attributes for the selection of
|
155
|
-
* the multiple selected columns in the table header. The table headers which have selected all items in
|
156
|
-
* a row will be marked as `active-header`.
|
157
|
-
*
|
158
|
-
* @type {Map.<number, Selection>}
|
159
|
-
*/
|
160
|
-
|
161
|
-
/**
|
162
|
-
* Collection of the `rows` highlights. That objects describes attributes for the selection of
|
163
|
-
* the multiple selected cells in a row. It can occur multiple times on the table.
|
164
|
-
*
|
165
|
-
* @type {Map.<number, Selection>}
|
166
|
-
*/
|
167
|
-
|
168
|
-
/**
|
169
|
-
* Collection of the `columns` highlights. That objects describes attributes for the selection of
|
170
|
-
* the multiple selected cells in a column. It can occur multiple times on the table.
|
171
|
-
*
|
172
|
-
* @type {Map.<number, Selection>}
|
173
|
-
*/
|
174
|
-
|
175
|
-
/**
|
176
|
-
* Collection of the `custom-selection`, holder for example borders added through CustomBorders plugin.
|
177
|
-
*
|
178
|
-
* @type {Selection[]}
|
179
|
-
*/
|
180
|
-
|
181
87
|
function Highlight(options) {
|
182
88
|
_classCallCheck(this, Highlight);
|
183
89
|
/**
|
@@ -188,18 +94,108 @@ var Highlight = /*#__PURE__*/function () {
|
|
188
94
|
* @returns {VisualSelection}
|
189
95
|
*/
|
190
96
|
_classPrivateMethodInitSpec(this, _createHighlight);
|
97
|
+
/**
|
98
|
+
* Options consumed by Highlight class and Walkontable Selection classes.
|
99
|
+
*
|
100
|
+
* @type {object}
|
101
|
+
*/
|
191
102
|
_defineProperty(this, "options", void 0);
|
103
|
+
/**
|
104
|
+
* The property which describes which layer level of the visual selection will be modified.
|
105
|
+
* This option is valid only for `area` and `header` highlight types which occurs multiple times on
|
106
|
+
* the table (as a non-consecutive selection).
|
107
|
+
*
|
108
|
+
* An order of the layers is the same as the order of added new non-consecutive selections.
|
109
|
+
*
|
110
|
+
* @type {number}
|
111
|
+
* @default 0
|
112
|
+
*/
|
192
113
|
_defineProperty(this, "layerLevel", 0);
|
114
|
+
/**
|
115
|
+
* `cell` highlight object which describes attributes for the currently selected cell.
|
116
|
+
* It can only occur only once on the table.
|
117
|
+
*
|
118
|
+
* @type {Selection}
|
119
|
+
*/
|
193
120
|
_defineProperty(this, "focus", void 0);
|
121
|
+
/**
|
122
|
+
* `fill` highlight object which describes attributes for the borders for autofill functionality.
|
123
|
+
* It can only occur only once on the table.
|
124
|
+
*
|
125
|
+
* @type {Selection}
|
126
|
+
*/
|
194
127
|
_defineProperty(this, "fill", void 0);
|
128
|
+
/**
|
129
|
+
* Collection of the `area` highlights. That objects describes attributes for the borders and selection of
|
130
|
+
* the multiple selected cells. It can occur multiple times on the table.
|
131
|
+
*
|
132
|
+
* @type {Map.<number, Selection>}
|
133
|
+
*/
|
195
134
|
_defineProperty(this, "layeredAreas", new Map());
|
135
|
+
/**
|
136
|
+
* Collection of the `highlight` highlights. That objects describes attributes for the borders and selection of
|
137
|
+
* the multiple selected cells. It can occur multiple times on the table.
|
138
|
+
*
|
139
|
+
* @type {Map.<number, Selection>}
|
140
|
+
*/
|
196
141
|
_defineProperty(this, "areas", new Map());
|
142
|
+
/**
|
143
|
+
* Collection of the `header` highlights. That objects describes attributes for the selection of
|
144
|
+
* the multiple selected rows in the table header. It can occur multiple times on the table.
|
145
|
+
*
|
146
|
+
* @type {Map.<number, Selection>}
|
147
|
+
*/
|
197
148
|
_defineProperty(this, "rowHeaders", new Map());
|
149
|
+
/**
|
150
|
+
* Collection of the `header` highlights. That objects describes attributes for the selection of
|
151
|
+
* the multiple selected columns in the table header. It can occur multiple times on the table.
|
152
|
+
*
|
153
|
+
* @type {Map.<number, Selection>}
|
154
|
+
*/
|
198
155
|
_defineProperty(this, "columnHeaders", new Map());
|
156
|
+
/**
|
157
|
+
* Collection of the `active-header` highlights. That objects describes attributes for the selection of
|
158
|
+
* the multiple selected rows in the table header. The table headers which have selected all items in
|
159
|
+
* a row will be marked as `active-header`.
|
160
|
+
*
|
161
|
+
* @type {Map.<number, Selection>}
|
162
|
+
*/
|
199
163
|
_defineProperty(this, "activeRowHeaders", new Map());
|
164
|
+
/**
|
165
|
+
* Collection of the `active-header` highlights. That objects describes attributes for the selection of
|
166
|
+
* the multiple selected columns in the table header. The table headers which have selected all items in
|
167
|
+
* a row will be marked as `active-header`.
|
168
|
+
*
|
169
|
+
* @type {Map.<number, Selection>}
|
170
|
+
*/
|
200
171
|
_defineProperty(this, "activeColumnHeaders", new Map());
|
172
|
+
/**
|
173
|
+
* Collection of the `active-header` highlights. That objects describes attributes for the selection of
|
174
|
+
* the selected corner in the table header. The table headers which have selected all items in
|
175
|
+
* a row will be marked as `active-header`.
|
176
|
+
*
|
177
|
+
* @type {Map.<number, Selection>}
|
178
|
+
*/
|
179
|
+
_defineProperty(this, "activeCornerHeaders", new Map());
|
180
|
+
/**
|
181
|
+
* Collection of the `rows` highlights. That objects describes attributes for the selection of
|
182
|
+
* the multiple selected cells in a row. It can occur multiple times on the table.
|
183
|
+
*
|
184
|
+
* @type {Map.<number, Selection>}
|
185
|
+
*/
|
201
186
|
_defineProperty(this, "rowHighlights", new Map());
|
187
|
+
/**
|
188
|
+
* Collection of the `columns` highlights. That objects describes attributes for the selection of
|
189
|
+
* the multiple selected cells in a column. It can occur multiple times on the table.
|
190
|
+
*
|
191
|
+
* @type {Map.<number, Selection>}
|
192
|
+
*/
|
202
193
|
_defineProperty(this, "columnHighlights", new Map());
|
194
|
+
/**
|
195
|
+
* Collection of the `custom-selection`, holder for example borders added through CustomBorders plugin.
|
196
|
+
*
|
197
|
+
* @type {Selection[]}
|
198
|
+
*/
|
203
199
|
_defineProperty(this, "customSelections", []);
|
204
200
|
this.options = options;
|
205
201
|
this.focus = (0, _focus.createHighlight)(options);
|
@@ -408,6 +404,29 @@ var Highlight = /*#__PURE__*/function () {
|
|
408
404
|
return _toConsumableArray(this.activeColumnHeaders.values());
|
409
405
|
}
|
410
406
|
|
407
|
+
/**
|
408
|
+
* Creates (if not exist in the cache) Walkontable Selection instance created for controlling
|
409
|
+
* highlight for the headers corner.
|
410
|
+
*
|
411
|
+
* @returns {Selection}
|
412
|
+
*/
|
413
|
+
}, {
|
414
|
+
key: "createActiveCornerHeader",
|
415
|
+
value: function createActiveCornerHeader() {
|
416
|
+
return _classPrivateMethodGet(this, _createHighlight, _createHighlight2).call(this, this.activeCornerHeaders, _activeHeader.createHighlight);
|
417
|
+
}
|
418
|
+
|
419
|
+
/**
|
420
|
+
* Get all Walkontable Selection instances which describes the state of the visual highlight of the headers corner.
|
421
|
+
*
|
422
|
+
* @returns {Selection[]}
|
423
|
+
*/
|
424
|
+
}, {
|
425
|
+
key: "getActiveCornerHeaders",
|
426
|
+
value: function getActiveCornerHeaders() {
|
427
|
+
return _toConsumableArray(this.activeCornerHeaders.values());
|
428
|
+
}
|
429
|
+
|
411
430
|
/**
|
412
431
|
* Creates (if not exist in the cache) Walkontable Selection instance created for controlling
|
413
432
|
* highlight cells in a row.
|
@@ -502,6 +521,9 @@ var Highlight = /*#__PURE__*/function () {
|
|
502
521
|
(0, _array.arrayEach)(this.activeColumnHeaders.values(), function (highlight) {
|
503
522
|
return void highlight.clear();
|
504
523
|
});
|
524
|
+
(0, _array.arrayEach)(this.activeCornerHeaders.values(), function (highlight) {
|
525
|
+
return void highlight.clear();
|
526
|
+
});
|
505
527
|
(0, _array.arrayEach)(this.rowHighlights.values(), function (highlight) {
|
506
528
|
return void highlight.clear();
|
507
529
|
});
|
@@ -518,7 +540,7 @@ var Highlight = /*#__PURE__*/function () {
|
|
518
540
|
* @returns {Selection[]}
|
519
541
|
*/
|
520
542
|
function value() {
|
521
|
-
return [this.focus, this.fill].concat(_toConsumableArray(this.areas.values()), _toConsumableArray(this.layeredAreas.values()), _toConsumableArray(this.rowHeaders.values()), _toConsumableArray(this.columnHeaders.values()), _toConsumableArray(this.activeRowHeaders.values()), _toConsumableArray(this.activeColumnHeaders.values()), _toConsumableArray(this.rowHighlights.values()), _toConsumableArray(this.columnHighlights.values()), _toConsumableArray(this.customSelections))[Symbol.iterator]();
|
543
|
+
return [this.focus, this.fill].concat(_toConsumableArray(this.areas.values()), _toConsumableArray(this.layeredAreas.values()), _toConsumableArray(this.rowHeaders.values()), _toConsumableArray(this.columnHeaders.values()), _toConsumableArray(this.activeRowHeaders.values()), _toConsumableArray(this.activeColumnHeaders.values()), _toConsumableArray(this.activeCornerHeaders.values()), _toConsumableArray(this.rowHighlights.values()), _toConsumableArray(this.columnHighlights.values()), _toConsumableArray(this.customSelections))[Symbol.iterator]();
|
522
544
|
}
|
523
545
|
}]);
|
524
546
|
return Highlight;
|
@@ -26,6 +26,7 @@ import "core-js/modules/es.date.to-primitive.js";
|
|
26
26
|
import "core-js/modules/es.number.constructor.js";
|
27
27
|
import "core-js/modules/es.array.from.js";
|
28
28
|
import "core-js/modules/es.array.slice.js";
|
29
|
+
import "core-js/modules/es.regexp.to-string.js";
|
29
30
|
import "core-js/modules/es.function.name.js";
|
30
31
|
import "core-js/modules/es.regexp.exec.js";
|
31
32
|
import "core-js/modules/es.object.keys.js";
|
@@ -73,101 +74,6 @@ export { HIGHLIGHT_ACTIVE_HEADER_TYPE as ACTIVE_HEADER_TYPE, HIGHLIGHT_AREA_TYPE
|
|
73
74
|
var _createHighlight = /*#__PURE__*/new WeakSet();
|
74
75
|
_Symbol$iterator = Symbol.iterator;
|
75
76
|
var Highlight = /*#__PURE__*/function () {
|
76
|
-
/**
|
77
|
-
* Options consumed by Highlight class and Walkontable Selection classes.
|
78
|
-
*
|
79
|
-
* @type {object}
|
80
|
-
*/
|
81
|
-
|
82
|
-
/**
|
83
|
-
* The property which describes which layer level of the visual selection will be modified.
|
84
|
-
* This option is valid only for `area` and `header` highlight types which occurs multiple times on
|
85
|
-
* the table (as a non-consecutive selection).
|
86
|
-
*
|
87
|
-
* An order of the layers is the same as the order of added new non-consecutive selections.
|
88
|
-
*
|
89
|
-
* @type {number}
|
90
|
-
* @default 0
|
91
|
-
*/
|
92
|
-
|
93
|
-
/**
|
94
|
-
* `cell` highlight object which describes attributes for the currently selected cell.
|
95
|
-
* It can only occur only once on the table.
|
96
|
-
*
|
97
|
-
* @type {Selection}
|
98
|
-
*/
|
99
|
-
|
100
|
-
/**
|
101
|
-
* `fill` highlight object which describes attributes for the borders for autofill functionality.
|
102
|
-
* It can only occur only once on the table.
|
103
|
-
*
|
104
|
-
* @type {Selection}
|
105
|
-
*/
|
106
|
-
|
107
|
-
/**
|
108
|
-
* Collection of the `area` highlights. That objects describes attributes for the borders and selection of
|
109
|
-
* the multiple selected cells. It can occur multiple times on the table.
|
110
|
-
*
|
111
|
-
* @type {Map.<number, Selection>}
|
112
|
-
*/
|
113
|
-
|
114
|
-
/**
|
115
|
-
* Collection of the `highlight` highlights. That objects describes attributes for the borders and selection of
|
116
|
-
* the multiple selected cells. It can occur multiple times on the table.
|
117
|
-
*
|
118
|
-
* @type {Map.<number, Selection>}
|
119
|
-
*/
|
120
|
-
|
121
|
-
/**
|
122
|
-
* Collection of the `header` highlights. That objects describes attributes for the selection of
|
123
|
-
* the multiple selected rows in the table header. It can occur multiple times on the table.
|
124
|
-
*
|
125
|
-
* @type {Map.<number, Selection>}
|
126
|
-
*/
|
127
|
-
|
128
|
-
/**
|
129
|
-
* Collection of the `header` highlights. That objects describes attributes for the selection of
|
130
|
-
* the multiple selected columns in the table header. It can occur multiple times on the table.
|
131
|
-
*
|
132
|
-
* @type {Map.<number, Selection>}
|
133
|
-
*/
|
134
|
-
|
135
|
-
/**
|
136
|
-
* Collection of the `active-header` highlights. That objects describes attributes for the selection of
|
137
|
-
* the multiple selected rows in the table header. The table headers which have selected all items in
|
138
|
-
* a row will be marked as `active-header`.
|
139
|
-
*
|
140
|
-
* @type {Map.<number, Selection>}
|
141
|
-
*/
|
142
|
-
|
143
|
-
/**
|
144
|
-
* Collection of the `active-header` highlights. That objects describes attributes for the selection of
|
145
|
-
* the multiple selected columns in the table header. The table headers which have selected all items in
|
146
|
-
* a row will be marked as `active-header`.
|
147
|
-
*
|
148
|
-
* @type {Map.<number, Selection>}
|
149
|
-
*/
|
150
|
-
|
151
|
-
/**
|
152
|
-
* Collection of the `rows` highlights. That objects describes attributes for the selection of
|
153
|
-
* the multiple selected cells in a row. It can occur multiple times on the table.
|
154
|
-
*
|
155
|
-
* @type {Map.<number, Selection>}
|
156
|
-
*/
|
157
|
-
|
158
|
-
/**
|
159
|
-
* Collection of the `columns` highlights. That objects describes attributes for the selection of
|
160
|
-
* the multiple selected cells in a column. It can occur multiple times on the table.
|
161
|
-
*
|
162
|
-
* @type {Map.<number, Selection>}
|
163
|
-
*/
|
164
|
-
|
165
|
-
/**
|
166
|
-
* Collection of the `custom-selection`, holder for example borders added through CustomBorders plugin.
|
167
|
-
*
|
168
|
-
* @type {Selection[]}
|
169
|
-
*/
|
170
|
-
|
171
77
|
function Highlight(options) {
|
172
78
|
_classCallCheck(this, Highlight);
|
173
79
|
/**
|
@@ -178,18 +84,108 @@ var Highlight = /*#__PURE__*/function () {
|
|
178
84
|
* @returns {VisualSelection}
|
179
85
|
*/
|
180
86
|
_classPrivateMethodInitSpec(this, _createHighlight);
|
87
|
+
/**
|
88
|
+
* Options consumed by Highlight class and Walkontable Selection classes.
|
89
|
+
*
|
90
|
+
* @type {object}
|
91
|
+
*/
|
181
92
|
_defineProperty(this, "options", void 0);
|
93
|
+
/**
|
94
|
+
* The property which describes which layer level of the visual selection will be modified.
|
95
|
+
* This option is valid only for `area` and `header` highlight types which occurs multiple times on
|
96
|
+
* the table (as a non-consecutive selection).
|
97
|
+
*
|
98
|
+
* An order of the layers is the same as the order of added new non-consecutive selections.
|
99
|
+
*
|
100
|
+
* @type {number}
|
101
|
+
* @default 0
|
102
|
+
*/
|
182
103
|
_defineProperty(this, "layerLevel", 0);
|
104
|
+
/**
|
105
|
+
* `cell` highlight object which describes attributes for the currently selected cell.
|
106
|
+
* It can only occur only once on the table.
|
107
|
+
*
|
108
|
+
* @type {Selection}
|
109
|
+
*/
|
183
110
|
_defineProperty(this, "focus", void 0);
|
111
|
+
/**
|
112
|
+
* `fill` highlight object which describes attributes for the borders for autofill functionality.
|
113
|
+
* It can only occur only once on the table.
|
114
|
+
*
|
115
|
+
* @type {Selection}
|
116
|
+
*/
|
184
117
|
_defineProperty(this, "fill", void 0);
|
118
|
+
/**
|
119
|
+
* Collection of the `area` highlights. That objects describes attributes for the borders and selection of
|
120
|
+
* the multiple selected cells. It can occur multiple times on the table.
|
121
|
+
*
|
122
|
+
* @type {Map.<number, Selection>}
|
123
|
+
*/
|
185
124
|
_defineProperty(this, "layeredAreas", new Map());
|
125
|
+
/**
|
126
|
+
* Collection of the `highlight` highlights. That objects describes attributes for the borders and selection of
|
127
|
+
* the multiple selected cells. It can occur multiple times on the table.
|
128
|
+
*
|
129
|
+
* @type {Map.<number, Selection>}
|
130
|
+
*/
|
186
131
|
_defineProperty(this, "areas", new Map());
|
132
|
+
/**
|
133
|
+
* Collection of the `header` highlights. That objects describes attributes for the selection of
|
134
|
+
* the multiple selected rows in the table header. It can occur multiple times on the table.
|
135
|
+
*
|
136
|
+
* @type {Map.<number, Selection>}
|
137
|
+
*/
|
187
138
|
_defineProperty(this, "rowHeaders", new Map());
|
139
|
+
/**
|
140
|
+
* Collection of the `header` highlights. That objects describes attributes for the selection of
|
141
|
+
* the multiple selected columns in the table header. It can occur multiple times on the table.
|
142
|
+
*
|
143
|
+
* @type {Map.<number, Selection>}
|
144
|
+
*/
|
188
145
|
_defineProperty(this, "columnHeaders", new Map());
|
146
|
+
/**
|
147
|
+
* Collection of the `active-header` highlights. That objects describes attributes for the selection of
|
148
|
+
* the multiple selected rows in the table header. The table headers which have selected all items in
|
149
|
+
* a row will be marked as `active-header`.
|
150
|
+
*
|
151
|
+
* @type {Map.<number, Selection>}
|
152
|
+
*/
|
189
153
|
_defineProperty(this, "activeRowHeaders", new Map());
|
154
|
+
/**
|
155
|
+
* Collection of the `active-header` highlights. That objects describes attributes for the selection of
|
156
|
+
* the multiple selected columns in the table header. The table headers which have selected all items in
|
157
|
+
* a row will be marked as `active-header`.
|
158
|
+
*
|
159
|
+
* @type {Map.<number, Selection>}
|
160
|
+
*/
|
190
161
|
_defineProperty(this, "activeColumnHeaders", new Map());
|
162
|
+
/**
|
163
|
+
* Collection of the `active-header` highlights. That objects describes attributes for the selection of
|
164
|
+
* the selected corner in the table header. The table headers which have selected all items in
|
165
|
+
* a row will be marked as `active-header`.
|
166
|
+
*
|
167
|
+
* @type {Map.<number, Selection>}
|
168
|
+
*/
|
169
|
+
_defineProperty(this, "activeCornerHeaders", new Map());
|
170
|
+
/**
|
171
|
+
* Collection of the `rows` highlights. That objects describes attributes for the selection of
|
172
|
+
* the multiple selected cells in a row. It can occur multiple times on the table.
|
173
|
+
*
|
174
|
+
* @type {Map.<number, Selection>}
|
175
|
+
*/
|
191
176
|
_defineProperty(this, "rowHighlights", new Map());
|
177
|
+
/**
|
178
|
+
* Collection of the `columns` highlights. That objects describes attributes for the selection of
|
179
|
+
* the multiple selected cells in a column. It can occur multiple times on the table.
|
180
|
+
*
|
181
|
+
* @type {Map.<number, Selection>}
|
182
|
+
*/
|
192
183
|
_defineProperty(this, "columnHighlights", new Map());
|
184
|
+
/**
|
185
|
+
* Collection of the `custom-selection`, holder for example borders added through CustomBorders plugin.
|
186
|
+
*
|
187
|
+
* @type {Selection[]}
|
188
|
+
*/
|
193
189
|
_defineProperty(this, "customSelections", []);
|
194
190
|
this.options = options;
|
195
191
|
this.focus = createFocusHighlight(options);
|
@@ -398,6 +394,29 @@ var Highlight = /*#__PURE__*/function () {
|
|
398
394
|
return _toConsumableArray(this.activeColumnHeaders.values());
|
399
395
|
}
|
400
396
|
|
397
|
+
/**
|
398
|
+
* Creates (if not exist in the cache) Walkontable Selection instance created for controlling
|
399
|
+
* highlight for the headers corner.
|
400
|
+
*
|
401
|
+
* @returns {Selection}
|
402
|
+
*/
|
403
|
+
}, {
|
404
|
+
key: "createActiveCornerHeader",
|
405
|
+
value: function createActiveCornerHeader() {
|
406
|
+
return _classPrivateMethodGet(this, _createHighlight, _createHighlight2).call(this, this.activeCornerHeaders, createActiveHighlight);
|
407
|
+
}
|
408
|
+
|
409
|
+
/**
|
410
|
+
* Get all Walkontable Selection instances which describes the state of the visual highlight of the headers corner.
|
411
|
+
*
|
412
|
+
* @returns {Selection[]}
|
413
|
+
*/
|
414
|
+
}, {
|
415
|
+
key: "getActiveCornerHeaders",
|
416
|
+
value: function getActiveCornerHeaders() {
|
417
|
+
return _toConsumableArray(this.activeCornerHeaders.values());
|
418
|
+
}
|
419
|
+
|
401
420
|
/**
|
402
421
|
* Creates (if not exist in the cache) Walkontable Selection instance created for controlling
|
403
422
|
* highlight cells in a row.
|
@@ -492,6 +511,9 @@ var Highlight = /*#__PURE__*/function () {
|
|
492
511
|
arrayEach(this.activeColumnHeaders.values(), function (highlight) {
|
493
512
|
return void highlight.clear();
|
494
513
|
});
|
514
|
+
arrayEach(this.activeCornerHeaders.values(), function (highlight) {
|
515
|
+
return void highlight.clear();
|
516
|
+
});
|
495
517
|
arrayEach(this.rowHighlights.values(), function (highlight) {
|
496
518
|
return void highlight.clear();
|
497
519
|
});
|
@@ -508,7 +530,7 @@ var Highlight = /*#__PURE__*/function () {
|
|
508
530
|
* @returns {Selection[]}
|
509
531
|
*/
|
510
532
|
function value() {
|
511
|
-
return [this.focus, this.fill].concat(_toConsumableArray(this.areas.values()), _toConsumableArray(this.layeredAreas.values()), _toConsumableArray(this.rowHeaders.values()), _toConsumableArray(this.columnHeaders.values()), _toConsumableArray(this.activeRowHeaders.values()), _toConsumableArray(this.activeColumnHeaders.values()), _toConsumableArray(this.rowHighlights.values()), _toConsumableArray(this.columnHighlights.values()), _toConsumableArray(this.customSelections))[Symbol.iterator]();
|
533
|
+
return [this.focus, this.fill].concat(_toConsumableArray(this.areas.values()), _toConsumableArray(this.layeredAreas.values()), _toConsumableArray(this.rowHeaders.values()), _toConsumableArray(this.columnHeaders.values()), _toConsumableArray(this.activeRowHeaders.values()), _toConsumableArray(this.activeColumnHeaders.values()), _toConsumableArray(this.activeCornerHeaders.values()), _toConsumableArray(this.rowHighlights.values()), _toConsumableArray(this.columnHighlights.values()), _toConsumableArray(this.customSelections))[Symbol.iterator]();
|
512
534
|
}
|
513
535
|
}]);
|
514
536
|
return Highlight;
|
@@ -37,16 +37,15 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
37
37
|
var VisualSelection = /*#__PURE__*/function (_Selection) {
|
38
38
|
_inherits(VisualSelection, _Selection);
|
39
39
|
var _super = _createSuper(VisualSelection);
|
40
|
-
/**
|
41
|
-
* Range of selection visually. Visual representation may have representation in a rendered selection.
|
42
|
-
*
|
43
|
-
* @type {null|CellRange}
|
44
|
-
*/
|
45
|
-
|
46
40
|
function VisualSelection(settings, visualCellRange) {
|
47
41
|
var _this;
|
48
42
|
_classCallCheck(this, VisualSelection);
|
49
43
|
_this = _super.call(this, settings, null);
|
44
|
+
/**
|
45
|
+
* Range of selection visually. Visual representation may have representation in a rendered selection.
|
46
|
+
*
|
47
|
+
* @type {null|CellRange}
|
48
|
+
*/
|
50
49
|
_defineProperty(_assertThisInitialized(_this), "visualCellRange", null);
|
51
50
|
_this.visualCellRange = visualCellRange || null;
|
52
51
|
_this.commit();
|
@@ -121,13 +120,13 @@ var VisualSelection = /*#__PURE__*/function (_Selection) {
|
|
121
120
|
key: "getNearestNotHiddenCoords",
|
122
121
|
value: function getNearestNotHiddenCoords(coords, rowSearchDirection) {
|
123
122
|
var columnSearchDirection = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : rowSearchDirection;
|
124
|
-
var nextVisibleRow = this.getNearestNotHiddenIndex(this.settings.rowIndexMapper
|
123
|
+
var nextVisibleRow = this.getNearestNotHiddenIndex(this.settings.rowIndexMapper, coords.row, rowSearchDirection);
|
125
124
|
|
126
125
|
// There are no more visual rows in the range.
|
127
126
|
if (nextVisibleRow === null) {
|
128
127
|
return null;
|
129
128
|
}
|
130
|
-
var nextVisibleColumn = this.getNearestNotHiddenIndex(this.settings.columnIndexMapper
|
129
|
+
var nextVisibleColumn = this.getNearestNotHiddenIndex(this.settings.columnIndexMapper, coords.col, columnSearchDirection);
|
131
130
|
|
132
131
|
// There are no more visual columns in the range.
|
133
132
|
if (nextVisibleColumn === null) {
|
@@ -193,24 +192,38 @@ var VisualSelection = /*#__PURE__*/function (_Selection) {
|
|
193
192
|
}, {
|
194
193
|
key: "syncWith",
|
195
194
|
value: function syncWith(broaderCellRange) {
|
195
|
+
var coordsFrom = broaderCellRange.from.clone().normalize();
|
196
196
|
var rowDirection = broaderCellRange.getVerticalDirection() === 'N-S' ? 1 : -1;
|
197
197
|
var columnDirection = broaderCellRange.getHorizontalDirection() === 'W-E' ? 1 : -1;
|
198
|
-
var
|
199
|
-
|
200
|
-
|
198
|
+
var renderableHighlight = this.settings.visualToRenderableCoords(this.visualCellRange.highlight);
|
199
|
+
var cellCoordsVisual = null;
|
200
|
+
if (renderableHighlight === null || renderableHighlight.col === null || renderableHighlight.row === null) {
|
201
|
+
cellCoordsVisual = this.getNearestNotHiddenCoords(coordsFrom, rowDirection, columnDirection);
|
202
|
+
}
|
203
|
+
if (cellCoordsVisual !== null && broaderCellRange.overlaps(cellCoordsVisual)) {
|
204
|
+
var currentHighlight = broaderCellRange.highlight.clone();
|
205
|
+
if (currentHighlight.row >= 0) {
|
206
|
+
currentHighlight.row = cellCoordsVisual.row;
|
207
|
+
}
|
208
|
+
if (currentHighlight.col >= 0) {
|
209
|
+
currentHighlight.col = cellCoordsVisual.col;
|
210
|
+
}
|
211
|
+
|
212
|
+
// We can't show selection visually now, but we found first visible range in the broader cell range.
|
201
213
|
if (this.cellRange === null) {
|
202
|
-
var
|
203
|
-
this.cellRange = this.settings.createCellRange(
|
214
|
+
var cellCoordsRenderable = this.settings.visualToRenderableCoords(currentHighlight);
|
215
|
+
this.cellRange = this.settings.createCellRange(cellCoordsRenderable);
|
204
216
|
}
|
205
217
|
|
206
218
|
// We set new highlight as it might change (for example, when showing/hiding some cells from the broader selection range)
|
207
219
|
// TODO: It is also handled by the `MergeCells` plugin while adjusting already modified coordinates. Should it?
|
208
|
-
broaderCellRange.setHighlight(
|
209
|
-
return this;
|
220
|
+
broaderCellRange.setHighlight(currentHighlight);
|
210
221
|
}
|
211
222
|
|
212
|
-
//
|
213
|
-
|
223
|
+
// Sync the highlight coords from the visual selection layer with logical coords.
|
224
|
+
if (this.settings.selectionType === 'focus' && renderableHighlight !== null && cellCoordsVisual === null) {
|
225
|
+
broaderCellRange.setHighlight(this.visualCellRange.highlight);
|
226
|
+
}
|
214
227
|
return this;
|
215
228
|
}
|
216
229
|
|