handsontable 0.0.0-next-9059914-20231025 → 0.0.0-next-21d91d0-20231025
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 -11
- package/3rdparty/walkontable/src/cell/coords.mjs +50 -11
- package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
- package/3rdparty/walkontable/src/cell/range.js +38 -7
- package/3rdparty/walkontable/src/cell/range.mjs +38 -7
- package/3rdparty/walkontable/src/core/_base.js +9 -3
- package/3rdparty/walkontable/src/core/_base.mjs +9 -3
- package/3rdparty/walkontable/src/core/clone.js +2 -2
- package/3rdparty/walkontable/src/core/clone.mjs +2 -2
- package/3rdparty/walkontable/src/core/core.js +3 -2
- package/3rdparty/walkontable/src/core/core.mjs +3 -2
- package/3rdparty/walkontable/src/event.js +12 -10
- package/3rdparty/walkontable/src/event.mjs +12 -10
- package/3rdparty/walkontable/src/facade/core.js +2 -2
- package/3rdparty/walkontable/src/facade/core.mjs +2 -2
- package/3rdparty/walkontable/src/index.js +10 -2
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +13 -2
- package/3rdparty/walkontable/src/overlay/_base.mjs +14 -3
- package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -6
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -6
- package/3rdparty/walkontable/src/overlay/top.js +2 -6
- package/3rdparty/walkontable/src/overlay/top.mjs +2 -6
- package/3rdparty/walkontable/src/renderer/cells.js +10 -0
- package/3rdparty/walkontable/src/renderer/cells.mjs +11 -1
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +10 -0
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +11 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +5 -0
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +5 -0
- package/3rdparty/walkontable/src/renderer/rows.js +13 -0
- package/3rdparty/walkontable/src/renderer/rows.mjs +13 -0
- package/3rdparty/walkontable/src/renderer/table.js +9 -0
- package/3rdparty/walkontable/src/renderer/table.mjs +9 -0
- package/3rdparty/walkontable/src/scroll.js +2 -0
- package/3rdparty/walkontable/src/scroll.mjs +2 -0
- package/3rdparty/walkontable/src/{border.js → selection/border/border.js} +7 -12
- package/3rdparty/walkontable/src/{border.mjs → selection/border/border.mjs} +7 -12
- package/3rdparty/walkontable/src/selection/border/constants.js +16 -0
- package/3rdparty/walkontable/src/selection/border/constants.mjs +12 -0
- package/3rdparty/walkontable/src/selection/constants.js +62 -0
- package/3rdparty/walkontable/src/selection/constants.mjs +51 -0
- package/3rdparty/walkontable/src/selection/index.js +26 -0
- package/3rdparty/walkontable/src/selection/index.mjs +5 -0
- package/3rdparty/walkontable/src/selection/manager.js +274 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +269 -0
- package/3rdparty/walkontable/src/selection/scanner.js +270 -0
- package/3rdparty/walkontable/src/selection/scanner.mjs +267 -0
- package/3rdparty/walkontable/src/selection/selection.js +101 -0
- package/3rdparty/walkontable/src/selection/selection.mjs +96 -0
- package/3rdparty/walkontable/src/settings.js +13 -4
- package/3rdparty/walkontable/src/settings.mjs +13 -4
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -0
- package/3rdparty/walkontable/src/table.js +19 -78
- package/3rdparty/walkontable/src/table.mjs +20 -79
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/cellTypes/dateType/dateType.d.ts +3 -3
- package/cellTypes/dateType/dateType.js +2 -2
- package/cellTypes/dateType/dateType.mjs +2 -2
- package/cellTypes/handsontableType/handsontableType.d.ts +3 -3
- package/cellTypes/handsontableType/handsontableType.js +2 -2
- package/cellTypes/handsontableType/handsontableType.mjs +2 -2
- package/cellTypes/index.d.ts +3 -0
- package/cellTypes/index.js +4 -0
- package/cellTypes/index.mjs +3 -1
- package/cellTypes/selectType/index.d.ts +1 -0
- package/cellTypes/selectType/index.js +6 -0
- package/cellTypes/selectType/index.mjs +1 -0
- package/cellTypes/selectType/selectType.d.ts +14 -0
- package/cellTypes/selectType/selectType.js +13 -0
- package/cellTypes/selectType/selectType.mjs +8 -0
- package/core/focusCatcher/focusDetector.js +63 -0
- package/core/focusCatcher/focusDetector.mjs +59 -0
- package/core/focusCatcher/index.js +142 -0
- package/core/focusCatcher/index.mjs +138 -0
- package/core/index.js +9 -0
- package/core/index.mjs +1 -0
- package/core.d.ts +9 -4
- package/core.js +285 -327
- package/core.mjs +285 -327
- package/dataMap/metaManager/metaSchema.js +65 -0
- package/dataMap/metaManager/metaSchema.mjs +65 -0
- package/dataMap/metaManager/mods/extendMetaProperties.js +7 -1
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +7 -1
- package/dataMap/replaceData.js +5 -0
- package/dataMap/replaceData.mjs +5 -0
- package/dist/handsontable.css +51 -15
- package/dist/handsontable.full.css +51 -15
- package/dist/handsontable.full.js +13360 -7840
- package/dist/handsontable.full.min.css +7 -7
- package/dist/handsontable.full.min.js +136 -136
- package/dist/handsontable.js +20955 -15435
- package/dist/handsontable.min.css +6 -6
- package/dist/handsontable.min.js +24 -24
- package/dist/languages/all.js +6 -2
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/en-US.js +3 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/pl-PL.js +3 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/editorManager.js +15 -87
- package/editorManager.mjs +16 -87
- package/editors/autocompleteEditor/autocompleteEditor.js +53 -2
- package/editors/autocompleteEditor/autocompleteEditor.mjs +54 -3
- package/editors/dateEditor/dateEditor.js +26 -7
- package/editors/dateEditor/dateEditor.mjs +27 -8
- package/editors/handsontableEditor/handsontableEditor.js +9 -1
- package/editors/handsontableEditor/handsontableEditor.mjs +10 -2
- package/editors/textEditor/textEditor.js +19 -27
- package/editors/textEditor/textEditor.mjs +22 -30
- package/focusManager.d.ts +12 -0
- package/focusManager.js +265 -0
- package/focusManager.mjs +261 -0
- package/helpers/a11y.js +79 -0
- package/helpers/a11y.mjs +38 -0
- package/helpers/dom/element.js +188 -9
- package/helpers/dom/element.mjs +182 -9
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/helpers/number.d.ts +1 -0
- package/helpers/number.js +18 -0
- package/helpers/number.mjs +17 -0
- package/i18n/constants.js +7 -1
- package/i18n/constants.mjs +4 -1
- package/i18n/languages/en-US.js +3 -1
- package/i18n/languages/en-US.mjs +3 -1
- package/i18n/languages/pl-PL.js +3 -1
- package/i18n/languages/pl-PL.mjs +3 -1
- package/languages/all.js +6 -2
- package/languages/en-US.js +3 -1
- package/languages/en-US.mjs +3 -1
- package/languages/index.js +6 -2
- package/languages/pl-PL.js +3 -1
- package/languages/pl-PL.mjs +3 -1
- package/package.json +21 -1
- package/pluginHooks.d.ts +12 -1
- package/pluginHooks.js +152 -1
- package/pluginHooks.mjs +152 -1
- package/plugins/collapsibleColumns/collapsibleColumns.js +74 -4
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +75 -5
- package/plugins/columnSorting/columnSorting.js +43 -0
- package/plugins/columnSorting/columnSorting.mjs +44 -3
- package/plugins/columnSorting/index.js +3 -1
- package/plugins/columnSorting/index.mjs +1 -1
- package/plugins/comments/commentEditor.js +1 -0
- package/plugins/comments/commentEditor.mjs +1 -0
- package/plugins/comments/comments.js +252 -189
- package/plugins/comments/comments.mjs +251 -190
- package/plugins/comments/contextMenuItem/addEditComment.js +41 -0
- package/plugins/comments/contextMenuItem/addEditComment.mjs +35 -0
- package/plugins/comments/contextMenuItem/readOnlyComment.js +49 -0
- package/plugins/comments/contextMenuItem/readOnlyComment.mjs +43 -0
- package/plugins/comments/contextMenuItem/removeComment.js +38 -0
- package/plugins/comments/contextMenuItem/removeComment.mjs +32 -0
- package/plugins/contextMenu/commandExecutor.js +2 -3
- package/plugins/contextMenu/commandExecutor.mjs +2 -3
- package/plugins/contextMenu/contextMenu.d.ts +1 -1
- package/plugins/contextMenu/contextMenu.js +75 -36
- package/plugins/contextMenu/contextMenu.mjs +74 -35
- package/plugins/contextMenu/itemsFactory.js +2 -3
- package/plugins/contextMenu/itemsFactory.mjs +3 -4
- package/plugins/contextMenu/{cursor.mjs → menu/cursor.js} +6 -4
- package/plugins/contextMenu/{cursor.js → menu/cursor.mjs} +4 -10
- package/plugins/contextMenu/menu/defaultShortcutsList.js +88 -0
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +84 -0
- package/plugins/contextMenu/menu/index.js +9 -0
- package/plugins/contextMenu/menu/index.mjs +1 -0
- package/plugins/contextMenu/{menu.js → menu/menu.js} +145 -421
- package/plugins/contextMenu/{menu.mjs → menu/menu.mjs} +146 -422
- package/plugins/contextMenu/menu/menuItemRenderer.js +58 -0
- package/plugins/contextMenu/menu/menuItemRenderer.mjs +54 -0
- package/plugins/contextMenu/menu/navigator.js +27 -0
- package/plugins/contextMenu/menu/navigator.mjs +23 -0
- package/plugins/contextMenu/menu/positioner.js +213 -0
- package/plugins/contextMenu/menu/positioner.mjs +209 -0
- package/plugins/contextMenu/menu/shortcuts.js +114 -0
- package/plugins/contextMenu/menu/shortcuts.mjs +110 -0
- package/plugins/contextMenu/menu/utils.js +177 -0
- package/plugins/contextMenu/menu/utils.mjs +163 -0
- 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.js → predefinedItems/index.js} +14 -14
- package/plugins/contextMenu/predefinedItems/index.mjs +68 -0
- package/plugins/contextMenu/predefinedItems/readOnly.js +7 -0
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
- package/plugins/contextMenu/predefinedItems/removeColumn.js +7 -5
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/removeRow.js +7 -5
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +5 -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 +35 -151
- package/plugins/contextMenu/utils.mjs +35 -144
- 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 +127 -78
- package/plugins/copyPaste/copyPaste.mjs +128 -79
- package/plugins/customBorders/customBorders.js +23 -20
- package/plugins/customBorders/customBorders.mjs +24 -21
- package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
- package/plugins/dropdownMenu/dropdownMenu.js +127 -40
- package/plugins/dropdownMenu/dropdownMenu.mjs +126 -39
- package/plugins/filters/component/_base.js +23 -8
- package/plugins/filters/component/_base.mjs +23 -8
- package/plugins/filters/component/actionBar.js +29 -27
- package/plugins/filters/component/actionBar.mjs +26 -23
- package/plugins/filters/component/condition.js +46 -59
- package/plugins/filters/component/condition.mjs +40 -52
- package/plugins/filters/component/operators.js +21 -22
- package/plugins/filters/component/operators.mjs +18 -18
- package/plugins/filters/component/value.js +35 -26
- package/plugins/filters/component/value.mjs +32 -22
- package/plugins/filters/constants.mjs +1 -1
- package/plugins/filters/filters.js +106 -62
- package/plugins/filters/filters.mjs +99 -55
- package/plugins/filters/menu/focusController.js +123 -0
- package/plugins/filters/menu/focusController.mjs +119 -0
- package/plugins/filters/menu/focusNavigator.js +30 -0
- package/plugins/filters/menu/focusNavigator.mjs +26 -0
- package/plugins/filters/ui/_base.js +35 -13
- package/plugins/filters/ui/_base.mjs +35 -13
- package/plugins/filters/ui/input.js +43 -32
- package/plugins/filters/ui/input.mjs +42 -30
- package/plugins/filters/ui/link.js +44 -12
- package/plugins/filters/ui/link.mjs +44 -11
- package/plugins/filters/ui/multipleSelect.js +234 -129
- package/plugins/filters/ui/multipleSelect.mjs +232 -127
- package/plugins/filters/ui/radioInput.js +42 -18
- package/plugins/filters/ui/radioInput.mjs +42 -17
- package/plugins/filters/ui/select.js +144 -75
- package/plugins/filters/ui/select.mjs +142 -72
- package/plugins/hiddenColumns/hiddenColumns.mjs +1 -1
- package/plugins/hiddenRows/hiddenRows.mjs +1 -1
- package/plugins/manualColumnMove/manualColumnMove.js +3 -1
- package/plugins/manualColumnMove/manualColumnMove.mjs +3 -1
- package/plugins/mergeCells/mergeCells.js +5 -16
- package/plugins/mergeCells/mergeCells.mjs +5 -16
- package/plugins/multiColumnSorting/multiColumnSorting.js +37 -2
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +37 -2
- package/plugins/nestedHeaders/nestedHeaders.js +240 -10
- package/plugins/nestedHeaders/nestedHeaders.mjs +241 -11
- package/plugins/nestedHeaders/stateManager/index.js +102 -3
- package/plugins/nestedHeaders/stateManager/index.mjs +102 -3
- package/plugins/nestedRows/nestedRows.js +41 -0
- package/plugins/nestedRows/nestedRows.mjs +41 -0
- package/plugins/nestedRows/ui/headers.js +11 -0
- package/plugins/nestedRows/ui/headers.mjs +12 -1
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +8 -0
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +8 -0
- package/renderers/baseRenderer/baseRenderer.js +17 -0
- package/renderers/baseRenderer/baseRenderer.mjs +18 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +9 -4
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +9 -4
- package/renderers/dateRenderer/dateRenderer.d.ts +5 -0
- package/renderers/dateRenderer/dateRenderer.js +29 -0
- package/renderers/dateRenderer/dateRenderer.mjs +24 -0
- package/renderers/dateRenderer/index.d.ts +1 -0
- package/renderers/dateRenderer/index.js +6 -0
- package/renderers/dateRenderer/index.mjs +1 -0
- package/renderers/handsontableRenderer/handsontableRenderer.d.ts +5 -0
- package/renderers/handsontableRenderer/handsontableRenderer.js +29 -0
- package/renderers/handsontableRenderer/handsontableRenderer.mjs +24 -0
- package/renderers/handsontableRenderer/index.d.ts +1 -0
- package/renderers/handsontableRenderer/index.js +6 -0
- package/renderers/handsontableRenderer/index.mjs +1 -0
- package/renderers/index.d.ts +9 -0
- package/renderers/selectRenderer/index.d.ts +1 -0
- package/renderers/selectRenderer/index.js +6 -0
- package/renderers/selectRenderer/index.mjs +1 -0
- package/renderers/selectRenderer/selectRenderer.d.ts +5 -0
- package/renderers/selectRenderer/selectRenderer.js +27 -0
- package/renderers/selectRenderer/selectRenderer.mjs +22 -0
- package/selection/highlight/highlight.js +256 -71
- package/selection/highlight/highlight.mjs +250 -71
- package/selection/highlight/types/activeHeader.js +10 -8
- package/selection/highlight/types/activeHeader.mjs +10 -8
- package/selection/highlight/types/area.js +6 -18
- package/selection/highlight/types/area.mjs +6 -18
- package/selection/highlight/types/areaLayered.js +31 -0
- package/selection/highlight/types/areaLayered.mjs +26 -0
- package/selection/highlight/types/column.js +27 -0
- package/selection/highlight/types/column.mjs +22 -0
- package/selection/highlight/types/customSelection.js +7 -9
- package/selection/highlight/types/customSelection.mjs +7 -9
- package/selection/highlight/types/fill.js +5 -7
- package/selection/highlight/types/fill.mjs +5 -7
- package/selection/highlight/types/{cell.js → focus.js} +5 -7
- package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
- package/selection/highlight/types/header.js +9 -18
- package/selection/highlight/types/header.mjs +9 -18
- package/selection/highlight/types/row.js +27 -0
- package/selection/highlight/types/row.mjs +22 -0
- package/selection/highlight/visualSelection.js +31 -27
- package/selection/highlight/visualSelection.mjs +31 -27
- package/selection/index.js +4 -7
- package/selection/index.mjs +2 -3
- package/selection/mouseEventHandler.js +7 -1
- package/selection/mouseEventHandler.mjs +7 -1
- package/selection/range.js +8 -8
- package/selection/range.mjs +8 -8
- package/selection/selection.js +321 -152
- package/selection/selection.mjs +318 -151
- package/selection/transformation.js +232 -90
- package/selection/transformation.mjs +232 -90
- package/selection/utils.js +15 -21
- package/selection/utils.mjs +16 -21
- package/settings.d.ts +4 -0
- package/shortcutContexts/commands/editor/closeAndSave.js +12 -0
- package/shortcutContexts/commands/editor/closeAndSave.mjs +8 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.js +12 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
- package/shortcutContexts/commands/editor/fastOpen.js +16 -0
- package/shortcutContexts/commands/editor/fastOpen.mjs +12 -0
- package/shortcutContexts/commands/editor/index.js +16 -0
- package/shortcutContexts/commands/editor/index.mjs +12 -0
- package/shortcutContexts/commands/editor/open.js +27 -0
- package/shortcutContexts/commands/editor/open.mjs +23 -0
- package/shortcutContexts/commands/emptySelectedCells.js +11 -0
- package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
- package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +25 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +21 -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 +11 -0
- package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +29 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +29 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +29 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +29 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +25 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +21 -0
- package/shortcutContexts/commands/index.js +35 -0
- package/shortcutContexts/commands/index.mjs +31 -0
- package/shortcutContexts/commands/moveCellSelection/down.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/down.mjs +9 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +33 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +29 -0
- package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
- package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/left.js +10 -0
- package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/right.js +10 -0
- package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +18 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +14 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +14 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +10 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +19 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +15 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +21 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +19 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +15 -0
- package/shortcutContexts/commands/moveCellSelection/up.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/up.mjs +9 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +33 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +29 -0
- package/shortcutContexts/commands/populateSelectedCellsData.js +29 -0
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +25 -0
- package/shortcutContexts/commands/scrollToFocusedCell.js +35 -0
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +31 -0
- package/shortcutContexts/commands/selectAll.js +12 -0
- package/shortcutContexts/commands/selectAll.mjs +8 -0
- package/shortcutContexts/constants.js +13 -0
- package/shortcutContexts/constants.mjs +8 -0
- package/shortcutContexts/editor.js +25 -0
- package/shortcutContexts/editor.mjs +21 -0
- package/shortcutContexts/grid.js +163 -0
- package/shortcutContexts/grid.mjs +159 -0
- package/shortcutContexts/index.js +24 -0
- package/shortcutContexts/index.mjs +11 -0
- package/shortcuts/context.js +23 -4
- package/shortcuts/context.mjs +23 -5
- package/shortcuts/manager.js +25 -7
- package/shortcuts/manager.mjs +26 -7
- package/shortcuts/recorder.js +3 -3
- package/shortcuts/recorder.mjs +3 -3
- package/shortcuts/utils.js +19 -5
- package/shortcuts/utils.mjs +18 -4
- package/tableView.js +111 -13
- package/tableView.mjs +112 -14
- package/utils/paginator.js +151 -0
- package/utils/paginator.mjs +147 -0
- package/3rdparty/walkontable/src/selection.js +0 -295
- package/3rdparty/walkontable/src/selection.mjs +0 -290
- package/plugins/contextMenu/predefinedItems.mjs +0 -68
- package/plugins/copyPaste/focusableElement.js +0 -186
- package/plugins/copyPaste/focusableElement.mjs +0 -180
- package/selection/highlight/constants.js +0 -15
- package/selection/highlight/constants.mjs +0 -6
- package/selection/highlight/types/index.js +0 -35
- package/selection/highlight/types/index.mjs +0 -31
@@ -10,6 +10,7 @@ var _console = require("../../helpers/console");
|
|
10
10
|
var _element = require("../../helpers/dom/element");
|
11
11
|
var _eventManager = _interopRequireDefault(require("../../eventManager"));
|
12
12
|
var _event = require("../../helpers/dom/event");
|
13
|
+
var _a11y = require("../../helpers/a11y");
|
13
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14
15
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
15
16
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
@@ -27,6 +28,7 @@ const PLUGIN_PRIORITY = 290;
|
|
27
28
|
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
28
29
|
const SETTING_KEYS = ['nestedHeaders'];
|
29
30
|
const COLLAPSIBLE_ELEMENT_CLASS = 'collapsibleIndicator';
|
31
|
+
const SHORTCUTS_GROUP = PLUGIN_KEY;
|
30
32
|
const actionDictionary = new Map([['collapse', {
|
31
33
|
hideColumn: true,
|
32
34
|
beforeHook: 'beforeColumnCollapse',
|
@@ -191,6 +193,7 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
191
193
|
return _this.onAfterGetColHeader(...arguments);
|
192
194
|
});
|
193
195
|
this.addHook('beforeOnCellMouseDown', (event, coords, TD) => this.onBeforeOnCellMouseDown(event, coords, TD));
|
196
|
+
this.registerShortcuts();
|
194
197
|
super.enablePlugin();
|
195
198
|
// @TODO: Workaround for broken plugin initialization abstraction (#6806).
|
196
199
|
this.updatePlugin();
|
@@ -238,10 +241,62 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
238
241
|
this.hot.columnIndexMapper.unregisterMap(this.pluginName);
|
239
242
|
_classPrivateFieldSet(this, _collapsedColumnsMap, null);
|
240
243
|
this.nestedHeadersPlugin = null;
|
244
|
+
this.unregisterShortcuts();
|
241
245
|
this.clearButtons();
|
242
246
|
super.disablePlugin();
|
243
247
|
}
|
244
248
|
|
249
|
+
/**
|
250
|
+
* Register shortcuts responsible for toggling collapsible columns.
|
251
|
+
*
|
252
|
+
* @private
|
253
|
+
*/
|
254
|
+
registerShortcuts() {
|
255
|
+
this.hot.getShortcutManager().getContext('grid').addShortcut({
|
256
|
+
keys: [['Enter']],
|
257
|
+
callback: () => {
|
258
|
+
var _this$headerStateMana;
|
259
|
+
const {
|
260
|
+
row,
|
261
|
+
col
|
262
|
+
} = this.hot.getSelectedRangeLast().highlight;
|
263
|
+
const {
|
264
|
+
collapsible,
|
265
|
+
isCollapsed,
|
266
|
+
columnIndex
|
267
|
+
} = (_this$headerStateMana = this.headerStateManager.getHeaderTreeNodeData(row, col)) !== null && _this$headerStateMana !== void 0 ? _this$headerStateMana : {};
|
268
|
+
if (!collapsible) {
|
269
|
+
return;
|
270
|
+
}
|
271
|
+
if (isCollapsed) {
|
272
|
+
this.expandSection({
|
273
|
+
row,
|
274
|
+
col: columnIndex
|
275
|
+
});
|
276
|
+
} else {
|
277
|
+
this.collapseSection({
|
278
|
+
row,
|
279
|
+
col: columnIndex
|
280
|
+
});
|
281
|
+
}
|
282
|
+
},
|
283
|
+
runOnlyIf: () => {
|
284
|
+
var _this$hot$getSelected;
|
285
|
+
return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
|
286
|
+
},
|
287
|
+
group: SHORTCUTS_GROUP
|
288
|
+
});
|
289
|
+
}
|
290
|
+
|
291
|
+
/**
|
292
|
+
* Unregister shortcuts responsible for toggling collapsible columns.
|
293
|
+
*
|
294
|
+
* @private
|
295
|
+
*/
|
296
|
+
unregisterShortcuts() {
|
297
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
298
|
+
}
|
299
|
+
|
245
300
|
/**
|
246
301
|
* Clears the expand/collapse buttons.
|
247
302
|
*
|
@@ -362,7 +417,7 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
362
417
|
});
|
363
418
|
let isActionPossible = filteredCoords.length > 0;
|
364
419
|
(0, _array.arrayEach)(filteredCoords, _ref2 => {
|
365
|
-
var _this$
|
420
|
+
var _this$headerStateMana2;
|
366
421
|
let {
|
367
422
|
row,
|
368
423
|
col: column
|
@@ -370,7 +425,7 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
370
425
|
const {
|
371
426
|
collapsible,
|
372
427
|
isCollapsed
|
373
|
-
} = (_this$
|
428
|
+
} = (_this$headerStateMana2 = this.headerStateManager.getHeaderSettings(row, column)) !== null && _this$headerStateMana2 !== void 0 ? _this$headerStateMana2 : {};
|
374
429
|
if (!collapsible || isCollapsed && action === 'collapse' || !isCollapsed && action === 'expand') {
|
375
430
|
isActionPossible = false;
|
376
431
|
return false;
|
@@ -442,14 +497,16 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
442
497
|
* values counting from 0 to N).
|
443
498
|
*/
|
444
499
|
onAfterGetColHeader(column, TH, headerLevel) {
|
445
|
-
var _this$
|
500
|
+
var _this$headerStateMana3;
|
446
501
|
const {
|
447
502
|
collapsible,
|
448
503
|
origColspan,
|
449
504
|
isCollapsed
|
450
|
-
} = (_this$
|
505
|
+
} = (_this$headerStateMana3 = this.headerStateManager.getHeaderSettings(headerLevel, column)) !== null && _this$headerStateMana3 !== void 0 ? _this$headerStateMana3 : {};
|
451
506
|
const isNodeCollapsible = collapsible && origColspan > 1 && column >= this.hot.getSettings().fixedColumnsStart;
|
507
|
+
const isAriaTagsEnabled = this.hot.getSettings().ariaTags;
|
452
508
|
let collapsibleElement = TH.querySelector(`.${COLLAPSIBLE_ELEMENT_CLASS}`);
|
509
|
+
(0, _element.removeAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)('')[0]]);
|
453
510
|
if (isNodeCollapsible) {
|
454
511
|
if (!collapsibleElement) {
|
455
512
|
collapsibleElement = this.hot.rootDocument.createElement('div');
|
@@ -460,9 +517,22 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
460
517
|
if (isCollapsed) {
|
461
518
|
(0, _element.addClass)(collapsibleElement, 'collapsed');
|
462
519
|
(0, _element.fastInnerText)(collapsibleElement, '+');
|
520
|
+
|
521
|
+
// Add ARIA tags
|
522
|
+
if (isAriaTagsEnabled) {
|
523
|
+
(0, _element.setAttribute)(TH, ...(0, _a11y.A11Y_EXPANDED)(false));
|
524
|
+
}
|
463
525
|
} else {
|
464
526
|
(0, _element.addClass)(collapsibleElement, 'expanded');
|
465
527
|
(0, _element.fastInnerText)(collapsibleElement, '-');
|
528
|
+
|
529
|
+
// Add ARIA tags
|
530
|
+
if (isAriaTagsEnabled) {
|
531
|
+
(0, _element.setAttribute)(TH, ...(0, _a11y.A11Y_EXPANDED)(true));
|
532
|
+
}
|
533
|
+
}
|
534
|
+
if (isAriaTagsEnabled) {
|
535
|
+
(0, _element.setAttribute)(collapsibleElement, ...(0, _a11y.A11Y_HIDDEN)());
|
466
536
|
}
|
467
537
|
} else {
|
468
538
|
var _collapsibleElement;
|
@@ -14,13 +14,15 @@ import { BasePlugin } from "../base/index.mjs";
|
|
14
14
|
import { arrayEach, arrayFilter, arrayUnique } from "../../helpers/array.mjs";
|
15
15
|
import { rangeEach } from "../../helpers/number.mjs";
|
16
16
|
import { warn } from "../../helpers/console.mjs";
|
17
|
-
import { addClass, hasClass, removeClass, fastInnerText } from "../../helpers/dom/element.mjs";
|
17
|
+
import { addClass, hasClass, removeClass, fastInnerText, removeAttribute, setAttribute } from "../../helpers/dom/element.mjs";
|
18
18
|
import EventManager from "../../eventManager.mjs";
|
19
19
|
import { stopImmediatePropagation } from "../../helpers/dom/event.mjs";
|
20
|
+
import { A11Y_EXPANDED, A11Y_HIDDEN } from "../../helpers/a11y.mjs";
|
20
21
|
export const PLUGIN_KEY = 'collapsibleColumns';
|
21
22
|
export const PLUGIN_PRIORITY = 290;
|
22
23
|
const SETTING_KEYS = ['nestedHeaders'];
|
23
24
|
const COLLAPSIBLE_ELEMENT_CLASS = 'collapsibleIndicator';
|
25
|
+
const SHORTCUTS_GROUP = PLUGIN_KEY;
|
24
26
|
const actionDictionary = new Map([['collapse', {
|
25
27
|
hideColumn: true,
|
26
28
|
beforeHook: 'beforeColumnCollapse',
|
@@ -185,6 +187,7 @@ export class CollapsibleColumns extends BasePlugin {
|
|
185
187
|
return _this.onAfterGetColHeader(...arguments);
|
186
188
|
});
|
187
189
|
this.addHook('beforeOnCellMouseDown', (event, coords, TD) => this.onBeforeOnCellMouseDown(event, coords, TD));
|
190
|
+
this.registerShortcuts();
|
188
191
|
super.enablePlugin();
|
189
192
|
// @TODO: Workaround for broken plugin initialization abstraction (#6806).
|
190
193
|
this.updatePlugin();
|
@@ -232,10 +235,62 @@ export class CollapsibleColumns extends BasePlugin {
|
|
232
235
|
this.hot.columnIndexMapper.unregisterMap(this.pluginName);
|
233
236
|
_classPrivateFieldSet(this, _collapsedColumnsMap, null);
|
234
237
|
this.nestedHeadersPlugin = null;
|
238
|
+
this.unregisterShortcuts();
|
235
239
|
this.clearButtons();
|
236
240
|
super.disablePlugin();
|
237
241
|
}
|
238
242
|
|
243
|
+
/**
|
244
|
+
* Register shortcuts responsible for toggling collapsible columns.
|
245
|
+
*
|
246
|
+
* @private
|
247
|
+
*/
|
248
|
+
registerShortcuts() {
|
249
|
+
this.hot.getShortcutManager().getContext('grid').addShortcut({
|
250
|
+
keys: [['Enter']],
|
251
|
+
callback: () => {
|
252
|
+
var _this$headerStateMana;
|
253
|
+
const {
|
254
|
+
row,
|
255
|
+
col
|
256
|
+
} = this.hot.getSelectedRangeLast().highlight;
|
257
|
+
const {
|
258
|
+
collapsible,
|
259
|
+
isCollapsed,
|
260
|
+
columnIndex
|
261
|
+
} = (_this$headerStateMana = this.headerStateManager.getHeaderTreeNodeData(row, col)) !== null && _this$headerStateMana !== void 0 ? _this$headerStateMana : {};
|
262
|
+
if (!collapsible) {
|
263
|
+
return;
|
264
|
+
}
|
265
|
+
if (isCollapsed) {
|
266
|
+
this.expandSection({
|
267
|
+
row,
|
268
|
+
col: columnIndex
|
269
|
+
});
|
270
|
+
} else {
|
271
|
+
this.collapseSection({
|
272
|
+
row,
|
273
|
+
col: columnIndex
|
274
|
+
});
|
275
|
+
}
|
276
|
+
},
|
277
|
+
runOnlyIf: () => {
|
278
|
+
var _this$hot$getSelected;
|
279
|
+
return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
|
280
|
+
},
|
281
|
+
group: SHORTCUTS_GROUP
|
282
|
+
});
|
283
|
+
}
|
284
|
+
|
285
|
+
/**
|
286
|
+
* Unregister shortcuts responsible for toggling collapsible columns.
|
287
|
+
*
|
288
|
+
* @private
|
289
|
+
*/
|
290
|
+
unregisterShortcuts() {
|
291
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
292
|
+
}
|
293
|
+
|
239
294
|
/**
|
240
295
|
* Clears the expand/collapse buttons.
|
241
296
|
*
|
@@ -356,7 +411,7 @@ export class CollapsibleColumns extends BasePlugin {
|
|
356
411
|
});
|
357
412
|
let isActionPossible = filteredCoords.length > 0;
|
358
413
|
arrayEach(filteredCoords, _ref2 => {
|
359
|
-
var _this$
|
414
|
+
var _this$headerStateMana2;
|
360
415
|
let {
|
361
416
|
row,
|
362
417
|
col: column
|
@@ -364,7 +419,7 @@ export class CollapsibleColumns extends BasePlugin {
|
|
364
419
|
const {
|
365
420
|
collapsible,
|
366
421
|
isCollapsed
|
367
|
-
} = (_this$
|
422
|
+
} = (_this$headerStateMana2 = this.headerStateManager.getHeaderSettings(row, column)) !== null && _this$headerStateMana2 !== void 0 ? _this$headerStateMana2 : {};
|
368
423
|
if (!collapsible || isCollapsed && action === 'collapse' || !isCollapsed && action === 'expand') {
|
369
424
|
isActionPossible = false;
|
370
425
|
return false;
|
@@ -436,14 +491,16 @@ export class CollapsibleColumns extends BasePlugin {
|
|
436
491
|
* values counting from 0 to N).
|
437
492
|
*/
|
438
493
|
onAfterGetColHeader(column, TH, headerLevel) {
|
439
|
-
var _this$
|
494
|
+
var _this$headerStateMana3;
|
440
495
|
const {
|
441
496
|
collapsible,
|
442
497
|
origColspan,
|
443
498
|
isCollapsed
|
444
|
-
} = (_this$
|
499
|
+
} = (_this$headerStateMana3 = this.headerStateManager.getHeaderSettings(headerLevel, column)) !== null && _this$headerStateMana3 !== void 0 ? _this$headerStateMana3 : {};
|
445
500
|
const isNodeCollapsible = collapsible && origColspan > 1 && column >= this.hot.getSettings().fixedColumnsStart;
|
501
|
+
const isAriaTagsEnabled = this.hot.getSettings().ariaTags;
|
446
502
|
let collapsibleElement = TH.querySelector(`.${COLLAPSIBLE_ELEMENT_CLASS}`);
|
503
|
+
removeAttribute(TH, [A11Y_EXPANDED('')[0]]);
|
447
504
|
if (isNodeCollapsible) {
|
448
505
|
if (!collapsibleElement) {
|
449
506
|
collapsibleElement = this.hot.rootDocument.createElement('div');
|
@@ -454,9 +511,22 @@ export class CollapsibleColumns extends BasePlugin {
|
|
454
511
|
if (isCollapsed) {
|
455
512
|
addClass(collapsibleElement, 'collapsed');
|
456
513
|
fastInnerText(collapsibleElement, '+');
|
514
|
+
|
515
|
+
// Add ARIA tags
|
516
|
+
if (isAriaTagsEnabled) {
|
517
|
+
setAttribute(TH, ...A11Y_EXPANDED(false));
|
518
|
+
}
|
457
519
|
} else {
|
458
520
|
addClass(collapsibleElement, 'expanded');
|
459
521
|
fastInnerText(collapsibleElement, '-');
|
522
|
+
|
523
|
+
// Add ARIA tags
|
524
|
+
if (isAriaTagsEnabled) {
|
525
|
+
setAttribute(TH, ...A11Y_EXPANDED(true));
|
526
|
+
}
|
527
|
+
}
|
528
|
+
if (isAriaTagsEnabled) {
|
529
|
+
setAttribute(collapsibleElement, ...A11Y_HIDDEN());
|
460
530
|
}
|
461
531
|
} else {
|
462
532
|
var _collapsibleElement;
|
@@ -15,13 +15,17 @@ var _utils = require("./utils");
|
|
15
15
|
var _domHelpers = require("./domHelpers");
|
16
16
|
var _rootComparator = require("./rootComparator");
|
17
17
|
var _sortService = require("./sortService");
|
18
|
+
var _a11y = require("../../helpers/a11y");
|
18
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
19
20
|
const PLUGIN_KEY = 'columnSorting';
|
20
21
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
21
22
|
const PLUGIN_PRIORITY = 50;
|
22
23
|
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
23
24
|
const APPEND_COLUMN_CONFIG_STRATEGY = 'append';
|
25
|
+
exports.APPEND_COLUMN_CONFIG_STRATEGY = APPEND_COLUMN_CONFIG_STRATEGY;
|
24
26
|
const REPLACE_COLUMN_CONFIG_STRATEGY = 'replace';
|
27
|
+
exports.REPLACE_COLUMN_CONFIG_STRATEGY = REPLACE_COLUMN_CONFIG_STRATEGY;
|
28
|
+
const SHORTCUTS_GROUP = PLUGIN_KEY;
|
25
29
|
(0, _sortService.registerRootComparator)(PLUGIN_KEY, _rootComparator.rootComparator);
|
26
30
|
_pluginHooks.default.getSingleton().register('beforeColumnSort');
|
27
31
|
_pluginHooks.default.getSingleton().register('afterColumnSort');
|
@@ -156,6 +160,7 @@ class ColumnSorting extends _base.BasePlugin {
|
|
156
160
|
if (this.hot.view) {
|
157
161
|
this.loadOrSortBySettings();
|
158
162
|
}
|
163
|
+
this.registerShortcuts();
|
159
164
|
super.enablePlugin();
|
160
165
|
}
|
161
166
|
|
@@ -186,9 +191,43 @@ class ColumnSorting extends _base.BasePlugin {
|
|
186
191
|
this.columnStatesManager.destroy();
|
187
192
|
this.columnMetaCache = null;
|
188
193
|
this.columnStatesManager = null;
|
194
|
+
this.unregisterShortcuts();
|
189
195
|
super.disablePlugin();
|
190
196
|
}
|
191
197
|
|
198
|
+
/**
|
199
|
+
* Register shortcuts responsible for toggling column sorting functionality.
|
200
|
+
*
|
201
|
+
* @private
|
202
|
+
*/
|
203
|
+
registerShortcuts() {
|
204
|
+
this.hot.getShortcutManager().getContext('grid').addShortcut({
|
205
|
+
keys: [['Enter']],
|
206
|
+
callback: () => {
|
207
|
+
const {
|
208
|
+
highlight
|
209
|
+
} = this.hot.getSelectedRangeLast();
|
210
|
+
if (highlight.row === -1 && highlight.col >= 0) {
|
211
|
+
this.sort(this.getColumnNextConfig(highlight.col));
|
212
|
+
}
|
213
|
+
},
|
214
|
+
runOnlyIf: () => {
|
215
|
+
var _this$hot$getSelected;
|
216
|
+
return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
|
217
|
+
},
|
218
|
+
group: SHORTCUTS_GROUP
|
219
|
+
});
|
220
|
+
}
|
221
|
+
|
222
|
+
/**
|
223
|
+
* Unregister shortcuts responsible for toggling column sorting functionality.
|
224
|
+
*
|
225
|
+
* @private
|
226
|
+
*/
|
227
|
+
unregisterShortcuts() {
|
228
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
229
|
+
}
|
230
|
+
|
192
231
|
// DIFF - MultiColumnSorting & ColumnSorting: changed function documentation.
|
193
232
|
/**
|
194
233
|
* Sorts the table by chosen columns and orders.
|
@@ -608,6 +647,10 @@ class ColumnSorting extends _base.BasePlugin {
|
|
608
647
|
const showSortIndicator = pluginSettingsForColumn.indicator;
|
609
648
|
const headerActionEnabled = pluginSettingsForColumn.headerAction;
|
610
649
|
this.updateHeaderClasses(headerSpanElement, this.columnStatesManager, column, showSortIndicator, headerActionEnabled);
|
650
|
+
if (this.hot.getSettings().ariaTags) {
|
651
|
+
const currentSortState = this.columnStatesManager.getSortOrderOfColumn(column);
|
652
|
+
(0, _element.setAttribute)(TH, ...(0, _a11y.A11Y_SORT)(currentSortState ? `${currentSortState}ending` : 'none'));
|
653
|
+
}
|
611
654
|
}
|
612
655
|
|
613
656
|
/**
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import "core-js/modules/es.array.push.js";
|
2
|
-
import { addClass, removeClass } from "../../helpers/dom/element.mjs";
|
2
|
+
import { addClass, removeClass, setAttribute } from "../../helpers/dom/element.mjs";
|
3
3
|
import { isUndefined, isDefined } from "../../helpers/mixed.mjs";
|
4
4
|
import { isObject } from "../../helpers/object.mjs";
|
5
5
|
import { isFunction } from "../../helpers/function.mjs";
|
@@ -12,10 +12,12 @@ import { getNextSortOrder, areValidSortStates, getHeaderSpanElement, isFirstLeve
|
|
12
12
|
import { getClassesToRemove, getClassesToAdd } from "./domHelpers.mjs";
|
13
13
|
import { rootComparator } from "./rootComparator.mjs";
|
14
14
|
import { registerRootComparator, sort } from "./sortService/index.mjs";
|
15
|
+
import { A11Y_SORT } from "../../helpers/a11y.mjs";
|
15
16
|
export const PLUGIN_KEY = 'columnSorting';
|
16
17
|
export const PLUGIN_PRIORITY = 50;
|
17
|
-
const APPEND_COLUMN_CONFIG_STRATEGY = 'append';
|
18
|
-
const REPLACE_COLUMN_CONFIG_STRATEGY = 'replace';
|
18
|
+
export const APPEND_COLUMN_CONFIG_STRATEGY = 'append';
|
19
|
+
export const REPLACE_COLUMN_CONFIG_STRATEGY = 'replace';
|
20
|
+
const SHORTCUTS_GROUP = PLUGIN_KEY;
|
19
21
|
registerRootComparator(PLUGIN_KEY, rootComparator);
|
20
22
|
Hooks.getSingleton().register('beforeColumnSort');
|
21
23
|
Hooks.getSingleton().register('afterColumnSort');
|
@@ -150,6 +152,7 @@ export class ColumnSorting extends BasePlugin {
|
|
150
152
|
if (this.hot.view) {
|
151
153
|
this.loadOrSortBySettings();
|
152
154
|
}
|
155
|
+
this.registerShortcuts();
|
153
156
|
super.enablePlugin();
|
154
157
|
}
|
155
158
|
|
@@ -180,9 +183,43 @@ export class ColumnSorting extends BasePlugin {
|
|
180
183
|
this.columnStatesManager.destroy();
|
181
184
|
this.columnMetaCache = null;
|
182
185
|
this.columnStatesManager = null;
|
186
|
+
this.unregisterShortcuts();
|
183
187
|
super.disablePlugin();
|
184
188
|
}
|
185
189
|
|
190
|
+
/**
|
191
|
+
* Register shortcuts responsible for toggling column sorting functionality.
|
192
|
+
*
|
193
|
+
* @private
|
194
|
+
*/
|
195
|
+
registerShortcuts() {
|
196
|
+
this.hot.getShortcutManager().getContext('grid').addShortcut({
|
197
|
+
keys: [['Enter']],
|
198
|
+
callback: () => {
|
199
|
+
const {
|
200
|
+
highlight
|
201
|
+
} = this.hot.getSelectedRangeLast();
|
202
|
+
if (highlight.row === -1 && highlight.col >= 0) {
|
203
|
+
this.sort(this.getColumnNextConfig(highlight.col));
|
204
|
+
}
|
205
|
+
},
|
206
|
+
runOnlyIf: () => {
|
207
|
+
var _this$hot$getSelected;
|
208
|
+
return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
|
209
|
+
},
|
210
|
+
group: SHORTCUTS_GROUP
|
211
|
+
});
|
212
|
+
}
|
213
|
+
|
214
|
+
/**
|
215
|
+
* Unregister shortcuts responsible for toggling column sorting functionality.
|
216
|
+
*
|
217
|
+
* @private
|
218
|
+
*/
|
219
|
+
unregisterShortcuts() {
|
220
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
221
|
+
}
|
222
|
+
|
186
223
|
// DIFF - MultiColumnSorting & ColumnSorting: changed function documentation.
|
187
224
|
/**
|
188
225
|
* Sorts the table by chosen columns and orders.
|
@@ -602,6 +639,10 @@ export class ColumnSorting extends BasePlugin {
|
|
602
639
|
const showSortIndicator = pluginSettingsForColumn.indicator;
|
603
640
|
const headerActionEnabled = pluginSettingsForColumn.headerAction;
|
604
641
|
this.updateHeaderClasses(headerSpanElement, this.columnStatesManager, column, showSortIndicator, headerActionEnabled);
|
642
|
+
if (this.hot.getSettings().ariaTags) {
|
643
|
+
const currentSortState = this.columnStatesManager.getSortOrderOfColumn(column);
|
644
|
+
setAttribute(TH, ...A11Y_SORT(currentSortState ? `${currentSortState}ending` : 'none'));
|
645
|
+
}
|
605
646
|
}
|
606
647
|
|
607
648
|
/**
|
@@ -4,4 +4,6 @@ exports.__esModule = true;
|
|
4
4
|
var _columnSorting = require("./columnSorting");
|
5
5
|
exports.PLUGIN_KEY = _columnSorting.PLUGIN_KEY;
|
6
6
|
exports.PLUGIN_PRIORITY = _columnSorting.PLUGIN_PRIORITY;
|
7
|
-
exports.ColumnSorting = _columnSorting.ColumnSorting;
|
7
|
+
exports.ColumnSorting = _columnSorting.ColumnSorting;
|
8
|
+
exports.APPEND_COLUMN_CONFIG_STRATEGY = _columnSorting.APPEND_COLUMN_CONFIG_STRATEGY;
|
9
|
+
exports.REPLACE_COLUMN_CONFIG_STRATEGY = _columnSorting.REPLACE_COLUMN_CONFIG_STRATEGY;
|
@@ -1 +1 @@
|
|
1
|
-
export { PLUGIN_KEY, PLUGIN_PRIORITY, ColumnSorting } from "./columnSorting.mjs";
|
1
|
+
export { PLUGIN_KEY, PLUGIN_PRIORITY, ColumnSorting, APPEND_COLUMN_CONFIG_STRATEGY, REPLACE_COLUMN_CONFIG_STRATEGY } from "./columnSorting.mjs";
|
@@ -165,6 +165,7 @@ class CommentEditor {
|
|
165
165
|
this.rootDocument.body.appendChild(this.container);
|
166
166
|
(0, _element.addClass)(editor, CommentEditor.CLASS_EDITOR);
|
167
167
|
(0, _element.addClass)(textArea, CommentEditor.CLASS_INPUT);
|
168
|
+
textArea.setAttribute('data-hot-input', true);
|
168
169
|
editor.appendChild(textArea);
|
169
170
|
this.container.appendChild(editor);
|
170
171
|
return editor;
|
@@ -162,6 +162,7 @@ class CommentEditor {
|
|
162
162
|
this.rootDocument.body.appendChild(this.container);
|
163
163
|
addClass(editor, CommentEditor.CLASS_EDITOR);
|
164
164
|
addClass(textArea, CommentEditor.CLASS_INPUT);
|
165
|
+
textArea.setAttribute('data-hot-input', true);
|
165
166
|
editor.appendChild(textArea);
|
166
167
|
this.container.appendChild(editor);
|
167
168
|
return editor;
|