handsontable 0.0.0-next-9379dd1-20231020 → 0.0.0-next-9059914-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/{selection/border/border.js → border.js} +12 -7
- package/3rdparty/walkontable/src/{selection/border/border.mjs → border.mjs} +12 -7
- package/3rdparty/walkontable/src/cell/coords.d.ts +1 -6
- package/3rdparty/walkontable/src/cell/coords.js +11 -50
- package/3rdparty/walkontable/src/cell/coords.mjs +11 -50
- package/3rdparty/walkontable/src/cell/range.d.ts +2 -9
- package/3rdparty/walkontable/src/cell/range.js +7 -38
- package/3rdparty/walkontable/src/cell/range.mjs +7 -38
- package/3rdparty/walkontable/src/core/_base.js +3 -9
- package/3rdparty/walkontable/src/core/_base.mjs +3 -9
- package/3rdparty/walkontable/src/core/clone.js +2 -2
- package/3rdparty/walkontable/src/core/clone.mjs +2 -2
- package/3rdparty/walkontable/src/core/core.js +2 -3
- package/3rdparty/walkontable/src/core/core.mjs +2 -3
- package/3rdparty/walkontable/src/event.js +10 -12
- package/3rdparty/walkontable/src/event.mjs +10 -12
- package/3rdparty/walkontable/src/facade/core.js +2 -2
- package/3rdparty/walkontable/src/facade/core.mjs +2 -2
- package/3rdparty/walkontable/src/index.js +2 -10
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +2 -13
- package/3rdparty/walkontable/src/overlay/_base.mjs +3 -14
- package/3rdparty/walkontable/src/overlay/inlineStart.js +6 -2
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +6 -2
- package/3rdparty/walkontable/src/overlay/top.js +6 -2
- package/3rdparty/walkontable/src/overlay/top.mjs +6 -2
- package/3rdparty/walkontable/src/renderer/cells.js +0 -10
- package/3rdparty/walkontable/src/renderer/cells.mjs +1 -11
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +0 -10
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +1 -11
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +0 -5
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +0 -5
- package/3rdparty/walkontable/src/renderer/rows.js +0 -13
- package/3rdparty/walkontable/src/renderer/rows.mjs +0 -13
- package/3rdparty/walkontable/src/renderer/table.js +0 -9
- package/3rdparty/walkontable/src/renderer/table.mjs +0 -9
- package/3rdparty/walkontable/src/scroll.js +0 -2
- package/3rdparty/walkontable/src/scroll.mjs +0 -2
- package/3rdparty/walkontable/src/selection.js +295 -0
- package/3rdparty/walkontable/src/selection.mjs +290 -0
- package/3rdparty/walkontable/src/settings.js +4 -13
- package/3rdparty/walkontable/src/settings.mjs +4 -13
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +0 -9
- package/3rdparty/walkontable/src/table.js +78 -19
- package/3rdparty/walkontable/src/table.mjs +79 -20
- 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 +0 -3
- package/cellTypes/index.js +0 -4
- package/cellTypes/index.mjs +1 -3
- package/core.d.ts +4 -9
- package/core.js +327 -285
- package/core.mjs +327 -285
- package/dataMap/metaManager/metaSchema.js +0 -65
- package/dataMap/metaManager/metaSchema.mjs +0 -65
- package/dataMap/metaManager/mods/extendMetaProperties.js +1 -7
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +1 -7
- package/dataMap/replaceData.js +0 -5
- package/dataMap/replaceData.mjs +0 -5
- package/dist/handsontable.css +5 -40
- package/dist/handsontable.full.css +5 -40
- package/dist/handsontable.full.js +8038 -12837
- package/dist/handsontable.full.min.css +4 -4
- package/dist/handsontable.full.min.js +141 -141
- package/dist/handsontable.js +11488 -16287
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +21 -21
- package/dist/languages/all.js +2 -6
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/en-US.js +1 -3
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/pl-PL.js +1 -3
- package/dist/languages/pl-PL.min.js +1 -1
- package/editorManager.js +87 -15
- package/editorManager.mjs +87 -16
- package/editors/autocompleteEditor/autocompleteEditor.js +2 -53
- package/editors/autocompleteEditor/autocompleteEditor.mjs +3 -54
- package/editors/dateEditor/dateEditor.js +7 -26
- package/editors/dateEditor/dateEditor.mjs +8 -27
- package/editors/handsontableEditor/handsontableEditor.js +1 -9
- package/editors/handsontableEditor/handsontableEditor.mjs +2 -10
- package/editors/textEditor/textEditor.js +27 -19
- package/editors/textEditor/textEditor.mjs +30 -22
- package/helpers/dom/element.js +9 -188
- package/helpers/dom/element.mjs +9 -182
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/helpers/number.d.ts +0 -1
- package/helpers/number.js +0 -18
- package/helpers/number.mjs +0 -17
- package/i18n/constants.js +1 -7
- package/i18n/constants.mjs +1 -4
- package/i18n/languages/en-US.js +1 -3
- package/i18n/languages/en-US.mjs +1 -3
- package/i18n/languages/pl-PL.js +1 -3
- package/i18n/languages/pl-PL.mjs +1 -3
- package/languages/all.js +2 -6
- package/languages/en-US.js +1 -3
- package/languages/en-US.mjs +1 -3
- package/languages/index.js +2 -6
- package/languages/pl-PL.js +1 -3
- package/languages/pl-PL.mjs +1 -3
- package/package.json +99 -116
- package/pluginHooks.d.ts +1 -12
- package/pluginHooks.js +1 -152
- package/pluginHooks.mjs +1 -152
- package/plugins/collapsibleColumns/collapsibleColumns.js +4 -74
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +5 -75
- package/plugins/columnSorting/columnSorting.js +0 -43
- package/plugins/columnSorting/columnSorting.mjs +3 -44
- package/plugins/columnSorting/index.js +1 -3
- package/plugins/columnSorting/index.mjs +1 -1
- package/plugins/comments/commentEditor.js +0 -1
- package/plugins/comments/commentEditor.mjs +0 -1
- package/plugins/comments/comments.js +189 -252
- package/plugins/comments/comments.mjs +190 -251
- package/plugins/contextMenu/commandExecutor.js +3 -2
- package/plugins/contextMenu/commandExecutor.mjs +3 -2
- package/plugins/contextMenu/contextMenu.d.ts +1 -1
- package/plugins/contextMenu/contextMenu.js +36 -75
- package/plugins/contextMenu/contextMenu.mjs +35 -74
- package/plugins/contextMenu/{menu/cursor.mjs → cursor.js} +10 -4
- package/plugins/contextMenu/{menu/cursor.js → cursor.mjs} +4 -6
- package/plugins/contextMenu/itemsFactory.js +3 -2
- package/plugins/contextMenu/itemsFactory.mjs +4 -3
- package/plugins/contextMenu/{menu/menu.js → menu.js} +308 -96
- package/plugins/contextMenu/{menu/menu.mjs → menu.mjs} +309 -97
- package/plugins/contextMenu/predefinedItems/alignment.js +0 -7
- package/plugins/contextMenu/predefinedItems/alignment.mjs +0 -7
- package/plugins/contextMenu/predefinedItems/clearColumn.js +3 -5
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -5
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/columnRight.js +3 -5
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/readOnly.js +0 -7
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +0 -7
- package/plugins/contextMenu/predefinedItems/removeColumn.js +5 -7
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/removeRow.js +5 -7
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -5
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/rowBelow.js +3 -5
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +3 -5
- package/plugins/contextMenu/{predefinedItems/index.js → predefinedItems.js} +14 -14
- package/plugins/contextMenu/predefinedItems.mjs +68 -0
- package/plugins/contextMenu/utils.js +151 -35
- package/plugins/contextMenu/utils.mjs +144 -35
- package/plugins/copyPaste/contextMenuItem/copy.js +0 -7
- package/plugins/copyPaste/contextMenuItem/copy.mjs +0 -7
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +1 -9
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/cut.js +0 -7
- package/plugins/copyPaste/contextMenuItem/cut.mjs +0 -7
- package/plugins/copyPaste/copyPaste.js +78 -127
- package/plugins/copyPaste/copyPaste.mjs +79 -128
- package/plugins/copyPaste/focusableElement.js +186 -0
- package/plugins/copyPaste/focusableElement.mjs +180 -0
- package/plugins/customBorders/customBorders.js +20 -23
- package/plugins/customBorders/customBorders.mjs +21 -24
- package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
- package/plugins/dropdownMenu/dropdownMenu.js +38 -97
- package/plugins/dropdownMenu/dropdownMenu.mjs +37 -96
- package/plugins/filters/constants.mjs +1 -1
- package/plugins/filters/filters.js +14 -31
- package/plugins/filters/filters.mjs +14 -31
- package/plugins/filters/ui/select.js +3 -3
- package/plugins/filters/ui/select.mjs +2 -2
- package/plugins/hiddenColumns/hiddenColumns.mjs +1 -1
- package/plugins/hiddenRows/hiddenRows.mjs +1 -1
- package/plugins/manualColumnMove/manualColumnMove.js +1 -3
- package/plugins/manualColumnMove/manualColumnMove.mjs +1 -3
- package/plugins/mergeCells/mergeCells.js +16 -5
- package/plugins/mergeCells/mergeCells.mjs +16 -5
- package/plugins/multiColumnSorting/multiColumnSorting.js +2 -37
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -37
- package/plugins/nestedHeaders/nestedHeaders.js +10 -240
- package/plugins/nestedHeaders/nestedHeaders.mjs +11 -241
- package/plugins/nestedHeaders/stateManager/index.js +3 -102
- package/plugins/nestedHeaders/stateManager/index.mjs +3 -102
- package/plugins/nestedRows/nestedRows.js +0 -41
- package/plugins/nestedRows/nestedRows.mjs +0 -41
- package/plugins/nestedRows/ui/headers.js +0 -11
- package/plugins/nestedRows/ui/headers.mjs +1 -12
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -8
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +0 -8
- package/renderers/baseRenderer/baseRenderer.js +0 -17
- package/renderers/baseRenderer/baseRenderer.mjs +1 -18
- package/renderers/checkboxRenderer/checkboxRenderer.js +4 -9
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +4 -9
- package/renderers/index.d.ts +0 -9
- package/selection/highlight/constants.js +15 -0
- package/selection/highlight/constants.mjs +6 -0
- package/selection/highlight/highlight.js +71 -256
- package/selection/highlight/highlight.mjs +71 -250
- package/selection/highlight/types/activeHeader.js +8 -10
- package/selection/highlight/types/activeHeader.mjs +8 -10
- package/selection/highlight/types/area.js +18 -6
- package/selection/highlight/types/area.mjs +18 -6
- package/selection/highlight/types/{focus.js → cell.js} +7 -5
- package/selection/highlight/types/{focus.mjs → cell.mjs} +7 -5
- package/selection/highlight/types/customSelection.js +9 -7
- package/selection/highlight/types/customSelection.mjs +9 -7
- package/selection/highlight/types/fill.js +7 -5
- package/selection/highlight/types/fill.mjs +7 -5
- package/selection/highlight/types/header.js +18 -9
- package/selection/highlight/types/header.mjs +18 -9
- package/selection/highlight/types/index.js +35 -0
- package/selection/highlight/types/index.mjs +31 -0
- package/selection/highlight/visualSelection.js +27 -31
- package/selection/highlight/visualSelection.mjs +27 -31
- package/selection/index.js +7 -4
- package/selection/index.mjs +3 -2
- package/selection/mouseEventHandler.js +1 -7
- package/selection/mouseEventHandler.mjs +1 -7
- package/selection/range.js +8 -8
- package/selection/range.mjs +8 -8
- package/selection/selection.js +152 -321
- package/selection/selection.mjs +151 -318
- package/selection/transformation.js +90 -232
- package/selection/transformation.mjs +90 -232
- package/selection/utils.js +21 -15
- package/selection/utils.mjs +21 -16
- package/settings.d.ts +0 -4
- package/shortcuts/context.js +2 -20
- package/shortcuts/context.mjs +3 -20
- package/shortcuts/manager.js +7 -25
- package/shortcuts/manager.mjs +7 -26
- package/shortcuts/recorder.js +3 -3
- package/shortcuts/recorder.mjs +3 -3
- package/shortcuts/utils.js +5 -19
- package/shortcuts/utils.mjs +4 -18
- package/tableView.js +13 -111
- package/tableView.mjs +14 -112
- package/3rdparty/walkontable/src/selection/border/constants.js +0 -16
- package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
- package/3rdparty/walkontable/src/selection/constants.js +0 -62
- package/3rdparty/walkontable/src/selection/constants.mjs +0 -51
- package/3rdparty/walkontable/src/selection/index.js +0 -26
- package/3rdparty/walkontable/src/selection/index.mjs +0 -5
- package/3rdparty/walkontable/src/selection/manager.js +0 -274
- package/3rdparty/walkontable/src/selection/manager.mjs +0 -269
- package/3rdparty/walkontable/src/selection/scanner.js +0 -270
- package/3rdparty/walkontable/src/selection/scanner.mjs +0 -267
- package/3rdparty/walkontable/src/selection/selection.js +0 -101
- package/3rdparty/walkontable/src/selection/selection.mjs +0 -96
- package/cellTypes/selectType/index.d.ts +0 -1
- package/cellTypes/selectType/index.js +0 -6
- package/cellTypes/selectType/index.mjs +0 -1
- package/cellTypes/selectType/selectType.d.ts +0 -14
- package/cellTypes/selectType/selectType.js +0 -13
- package/cellTypes/selectType/selectType.mjs +0 -8
- package/core/focusCatcher/focusDetector.js +0 -63
- package/core/focusCatcher/focusDetector.mjs +0 -59
- package/core/focusCatcher/index.js +0 -142
- package/core/focusCatcher/index.mjs +0 -138
- package/core/index.js +0 -9
- package/core/index.mjs +0 -1
- package/focusManager.d.ts +0 -12
- package/focusManager.js +0 -265
- package/focusManager.mjs +0 -261
- package/helpers/a11y.js +0 -79
- package/helpers/a11y.mjs +0 -38
- package/plugins/comments/contextMenuItem/addEditComment.js +0 -41
- package/plugins/comments/contextMenuItem/addEditComment.mjs +0 -35
- package/plugins/comments/contextMenuItem/readOnlyComment.js +0 -49
- package/plugins/comments/contextMenuItem/readOnlyComment.mjs +0 -43
- package/plugins/comments/contextMenuItem/removeComment.js +0 -38
- package/plugins/comments/contextMenuItem/removeComment.mjs +0 -32
- package/plugins/contextMenu/menu/index.js +0 -9
- package/plugins/contextMenu/menu/index.mjs +0 -1
- package/plugins/contextMenu/menu/navigator.js +0 -152
- package/plugins/contextMenu/menu/navigator.mjs +0 -148
- package/plugins/contextMenu/menu/positioner.js +0 -213
- package/plugins/contextMenu/menu/positioner.mjs +0 -209
- package/plugins/contextMenu/menu/utils.js +0 -177
- package/plugins/contextMenu/menu/utils.mjs +0 -163
- package/plugins/contextMenu/predefinedItems/index.mjs +0 -68
- package/renderers/dateRenderer/dateRenderer.d.ts +0 -5
- package/renderers/dateRenderer/dateRenderer.js +0 -29
- package/renderers/dateRenderer/dateRenderer.mjs +0 -24
- package/renderers/dateRenderer/index.d.ts +0 -1
- package/renderers/dateRenderer/index.js +0 -6
- package/renderers/dateRenderer/index.mjs +0 -1
- package/renderers/handsontableRenderer/handsontableRenderer.d.ts +0 -5
- package/renderers/handsontableRenderer/handsontableRenderer.js +0 -29
- package/renderers/handsontableRenderer/handsontableRenderer.mjs +0 -24
- package/renderers/handsontableRenderer/index.d.ts +0 -1
- package/renderers/handsontableRenderer/index.js +0 -6
- package/renderers/handsontableRenderer/index.mjs +0 -1
- package/renderers/selectRenderer/index.d.ts +0 -1
- package/renderers/selectRenderer/index.js +0 -6
- package/renderers/selectRenderer/index.mjs +0 -1
- package/renderers/selectRenderer/selectRenderer.d.ts +0 -5
- package/renderers/selectRenderer/selectRenderer.js +0 -27
- package/renderers/selectRenderer/selectRenderer.mjs +0 -22
- package/selection/highlight/types/areaLayered.js +0 -31
- package/selection/highlight/types/areaLayered.mjs +0 -26
- package/selection/highlight/types/column.js +0 -27
- package/selection/highlight/types/column.mjs +0 -22
- package/selection/highlight/types/row.js +0 -27
- package/selection/highlight/types/row.mjs +0 -22
- package/shortcutContexts/commands/editor/closeAndSave.js +0 -12
- package/shortcutContexts/commands/editor/closeAndSave.mjs +0 -8
- package/shortcutContexts/commands/editor/closeWithoutSaving.js +0 -12
- package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +0 -8
- package/shortcutContexts/commands/editor/fastOpen.js +0 -16
- package/shortcutContexts/commands/editor/fastOpen.mjs +0 -12
- package/shortcutContexts/commands/editor/index.js +0 -16
- package/shortcutContexts/commands/editor/index.mjs +0 -12
- package/shortcutContexts/commands/editor/open.js +0 -27
- package/shortcutContexts/commands/editor/open.mjs +0 -23
- package/shortcutContexts/commands/emptySelectedCells.js +0 -11
- package/shortcutContexts/commands/emptySelectedCells.mjs +0 -7
- package/shortcutContexts/commands/extendCellsSelection/down.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +0 -11
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +0 -25
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +0 -21
- package/shortcutContexts/commands/extendCellsSelection/index.js +0 -26
- package/shortcutContexts/commands/extendCellsSelection/index.mjs +0 -22
- package/shortcutContexts/commands/extendCellsSelection/left.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +0 -11
- package/shortcutContexts/commands/extendCellsSelection/right.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +0 -11
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +0 -15
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +0 -29
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +0 -25
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +0 -15
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +0 -15
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +0 -29
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +0 -25
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +0 -29
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +0 -25
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +0 -29
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +0 -25
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +0 -15
- package/shortcutContexts/commands/extendCellsSelection/up.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +0 -11
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +0 -25
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +0 -21
- package/shortcutContexts/commands/index.js +0 -35
- package/shortcutContexts/commands/index.mjs +0 -31
- package/shortcutContexts/commands/moveCellSelection/down.js +0 -13
- package/shortcutContexts/commands/moveCellSelection/down.mjs +0 -9
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +0 -33
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +0 -29
- package/shortcutContexts/commands/moveCellSelection/index.js +0 -28
- package/shortcutContexts/commands/moveCellSelection/index.mjs +0 -24
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -12
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -8
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -12
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -8
- package/shortcutContexts/commands/moveCellSelection/left.js +0 -10
- package/shortcutContexts/commands/moveCellSelection/left.mjs +0 -6
- package/shortcutContexts/commands/moveCellSelection/right.js +0 -10
- package/shortcutContexts/commands/moveCellSelection/right.mjs +0 -6
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +0 -13
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +0 -18
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +0 -14
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +0 -14
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +0 -10
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +0 -13
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +0 -19
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +0 -15
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +0 -21
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +0 -13
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +0 -19
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +0 -15
- package/shortcutContexts/commands/moveCellSelection/up.js +0 -13
- package/shortcutContexts/commands/moveCellSelection/up.mjs +0 -9
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +0 -33
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +0 -29
- package/shortcutContexts/commands/populateSelectedCellsData.js +0 -29
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +0 -25
- package/shortcutContexts/commands/scrollToFocusedCell.js +0 -35
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +0 -31
- package/shortcutContexts/commands/selectAll.js +0 -12
- package/shortcutContexts/commands/selectAll.mjs +0 -8
- package/shortcutContexts/constants.js +0 -13
- package/shortcutContexts/constants.mjs +0 -8
- package/shortcutContexts/editor.js +0 -25
- package/shortcutContexts/editor.mjs +0 -21
- package/shortcutContexts/grid.js +0 -163
- package/shortcutContexts/grid.mjs +0 -159
- package/shortcutContexts/index.js +0 -24
- package/shortcutContexts/index.mjs +0 -11
@@ -1,209 +0,0 @@
|
|
1
|
-
import "core-js/modules/es.error.cause.js";
|
2
|
-
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
3
|
-
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
4
|
-
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
5
|
-
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
6
|
-
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
7
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
8
|
-
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
9
|
-
import { Cursor } from "./cursor.mjs";
|
10
|
-
/**
|
11
|
-
* Helper class for positioning the menu and submenus in the correct place relative to the
|
12
|
-
* cursor position (DOM element or mouse coordinates).
|
13
|
-
*
|
14
|
-
* @private
|
15
|
-
* @class Positioner
|
16
|
-
*/
|
17
|
-
var _container = /*#__PURE__*/new WeakMap();
|
18
|
-
var _parentContainer = /*#__PURE__*/new WeakMap();
|
19
|
-
var _cursor = /*#__PURE__*/new WeakMap();
|
20
|
-
var _keepInViewport = /*#__PURE__*/new WeakMap();
|
21
|
-
var _offset = /*#__PURE__*/new WeakMap();
|
22
|
-
export class Positioner {
|
23
|
-
constructor(keepInViewport) {
|
24
|
-
/**
|
25
|
-
* The menu container element the positioning will be applied to.
|
26
|
-
*
|
27
|
-
* @type {HTMLElement}
|
28
|
-
*/
|
29
|
-
_classPrivateFieldInitSpec(this, _container, {
|
30
|
-
writable: true,
|
31
|
-
value: void 0
|
32
|
-
});
|
33
|
-
/**
|
34
|
-
* For positioning the submenu, the parent element is used to calculate offsets to ensure that submenu
|
35
|
-
* is positioned right next to the parent menu.
|
36
|
-
*
|
37
|
-
* @type {HTMLElement}
|
38
|
-
*/
|
39
|
-
_classPrivateFieldInitSpec(this, _parentContainer, {
|
40
|
-
writable: true,
|
41
|
-
value: void 0
|
42
|
-
});
|
43
|
-
/**
|
44
|
-
* The instance of the Cursor class.
|
45
|
-
*
|
46
|
-
* @type {Cursor}
|
47
|
-
*/
|
48
|
-
_classPrivateFieldInitSpec(this, _cursor, {
|
49
|
-
writable: true,
|
50
|
-
value: void 0
|
51
|
-
});
|
52
|
-
/**
|
53
|
-
* Enabling the option allows changing the position calculation so that the menus (or submenus)
|
54
|
-
* are always placed within the visible viewport of the browser.
|
55
|
-
*
|
56
|
-
* @type {boolean}
|
57
|
-
*/
|
58
|
-
_classPrivateFieldInitSpec(this, _keepInViewport, {
|
59
|
-
writable: true,
|
60
|
-
value: false
|
61
|
-
});
|
62
|
-
/**
|
63
|
-
* Allows apply the position offset for directions.
|
64
|
-
*
|
65
|
-
* @type {{above: number, below: number, left: number, right: number}}
|
66
|
-
*/
|
67
|
-
_classPrivateFieldInitSpec(this, _offset, {
|
68
|
-
writable: true,
|
69
|
-
value: {
|
70
|
-
above: 0,
|
71
|
-
below: 0,
|
72
|
-
left: 0,
|
73
|
-
right: 0
|
74
|
-
}
|
75
|
-
});
|
76
|
-
_classPrivateFieldSet(this, _keepInViewport, keepInViewport);
|
77
|
-
}
|
78
|
-
|
79
|
-
/**
|
80
|
-
* Sets offset position for specified directions (`above`, `below`, `left` or `right`).
|
81
|
-
*
|
82
|
-
* @param {'above' | 'below' | 'left' | 'right'} direction A direction name.
|
83
|
-
* @param {number} [offset=0] Offset value.
|
84
|
-
* @returns {Positioner}
|
85
|
-
*/
|
86
|
-
setOffset(direction) {
|
87
|
-
let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
88
|
-
_classPrivateFieldGet(this, _offset)[direction] = offset;
|
89
|
-
return this;
|
90
|
-
}
|
91
|
-
|
92
|
-
/**
|
93
|
-
* Sets the menu element to work with. The element can be owned by the main menu or the submenu.
|
94
|
-
*
|
95
|
-
* @param {HTMLElement} container The menu container element.
|
96
|
-
* @returns {Positioner}
|
97
|
-
*/
|
98
|
-
setElement(container) {
|
99
|
-
_classPrivateFieldSet(this, _container, container);
|
100
|
-
return this;
|
101
|
-
}
|
102
|
-
|
103
|
-
/**
|
104
|
-
* Sets the parent menu element to work with.
|
105
|
-
*
|
106
|
-
* @param {HTMLElement} container The parent menu container element.
|
107
|
-
* @returns {Positioner}
|
108
|
-
*/
|
109
|
-
setParentElement(container) {
|
110
|
-
_classPrivateFieldSet(this, _parentContainer, container);
|
111
|
-
return this;
|
112
|
-
}
|
113
|
-
|
114
|
-
/**
|
115
|
-
* Updates the menu position.
|
116
|
-
*
|
117
|
-
* @param {object|MouseEvent} coords The literal object with `top`, `left`, `width` and `height` props or a
|
118
|
-
* mouse event object.
|
119
|
-
*/
|
120
|
-
updatePosition(coords) {
|
121
|
-
_classPrivateFieldSet(this, _cursor, new Cursor(coords, _classPrivateFieldGet(this, _container).ownerDocument.defaultView));
|
122
|
-
if (_classPrivateFieldGet(this, _keepInViewport)) {
|
123
|
-
if (_classPrivateFieldGet(this, _cursor).fitsBelow(_classPrivateFieldGet(this, _container))) {
|
124
|
-
this.setPositionBelowCursor();
|
125
|
-
} else if (_classPrivateFieldGet(this, _cursor).fitsAbove(_classPrivateFieldGet(this, _container))) {
|
126
|
-
this.setPositionAboveCursor();
|
127
|
-
} else {
|
128
|
-
this.setPositionBelowCursor();
|
129
|
-
}
|
130
|
-
this.updateHorizontalPosition();
|
131
|
-
} else {
|
132
|
-
this.setPositionBelowCursor();
|
133
|
-
this.setPositionOnRightOfCursor();
|
134
|
-
}
|
135
|
-
}
|
136
|
-
|
137
|
-
/**
|
138
|
-
* Updates the menu horizontal position.
|
139
|
-
*/
|
140
|
-
updateHorizontalPosition() {
|
141
|
-
if (_classPrivateFieldGet(this, _container).dir === 'rtl') {
|
142
|
-
if (_classPrivateFieldGet(this, _cursor).fitsOnLeft(_classPrivateFieldGet(this, _container))) {
|
143
|
-
this.setPositionOnLeftOfCursor();
|
144
|
-
} else {
|
145
|
-
this.setPositionOnRightOfCursor();
|
146
|
-
}
|
147
|
-
} else if (_classPrivateFieldGet(this, _cursor).fitsOnRight(_classPrivateFieldGet(this, _container))) {
|
148
|
-
this.setPositionOnRightOfCursor();
|
149
|
-
} else {
|
150
|
-
this.setPositionOnLeftOfCursor();
|
151
|
-
}
|
152
|
-
}
|
153
|
-
|
154
|
-
/**
|
155
|
-
* Sets the menu position above the cursor object.
|
156
|
-
*/
|
157
|
-
setPositionAboveCursor() {
|
158
|
-
let top = _classPrivateFieldGet(this, _offset).above + _classPrivateFieldGet(this, _cursor).top - _classPrivateFieldGet(this, _container).offsetHeight;
|
159
|
-
if (_classPrivateFieldGet(this, _parentContainer)) {
|
160
|
-
top = _classPrivateFieldGet(this, _cursor).top + _classPrivateFieldGet(this, _cursor).cellHeight - _classPrivateFieldGet(this, _container).offsetHeight + 3;
|
161
|
-
}
|
162
|
-
_classPrivateFieldGet(this, _container).style.top = `${top}px`;
|
163
|
-
}
|
164
|
-
|
165
|
-
/**
|
166
|
-
* Sets the menu position below the cursor object.
|
167
|
-
*/
|
168
|
-
setPositionBelowCursor() {
|
169
|
-
let top = _classPrivateFieldGet(this, _offset).below + _classPrivateFieldGet(this, _cursor).top + 1;
|
170
|
-
if (_classPrivateFieldGet(this, _parentContainer)) {
|
171
|
-
top = _classPrivateFieldGet(this, _cursor).top - 1;
|
172
|
-
}
|
173
|
-
_classPrivateFieldGet(this, _container).style.top = `${top}px`;
|
174
|
-
}
|
175
|
-
|
176
|
-
/**
|
177
|
-
* Sets the menu position on the right of the cursor object.
|
178
|
-
*/
|
179
|
-
setPositionOnRightOfCursor() {
|
180
|
-
let left = _classPrivateFieldGet(this, _cursor).left;
|
181
|
-
if (_classPrivateFieldGet(this, _parentContainer)) {
|
182
|
-
const {
|
183
|
-
right: parentMenuRight
|
184
|
-
} = _classPrivateFieldGet(this, _parentContainer).getBoundingClientRect();
|
185
|
-
|
186
|
-
// move the sub menu by the width of the parent's border (usually by 1-2 pixels)
|
187
|
-
left += _classPrivateFieldGet(this, _cursor).cellWidth + parentMenuRight - (_classPrivateFieldGet(this, _cursor).left + _classPrivateFieldGet(this, _cursor).cellWidth);
|
188
|
-
} else {
|
189
|
-
left += _classPrivateFieldGet(this, _offset).right;
|
190
|
-
}
|
191
|
-
_classPrivateFieldGet(this, _container).style.left = `${left}px`;
|
192
|
-
}
|
193
|
-
|
194
|
-
/**
|
195
|
-
* Sets the menu position on the left of the cursor object.
|
196
|
-
*/
|
197
|
-
setPositionOnLeftOfCursor() {
|
198
|
-
let left = _classPrivateFieldGet(this, _offset).left + _classPrivateFieldGet(this, _cursor).left - _classPrivateFieldGet(this, _container).offsetWidth;
|
199
|
-
if (_classPrivateFieldGet(this, _parentContainer)) {
|
200
|
-
const {
|
201
|
-
left: parentMenuLeft
|
202
|
-
} = _classPrivateFieldGet(this, _parentContainer).getBoundingClientRect();
|
203
|
-
|
204
|
-
// move the sub menu by the width of the parent's border (usually by 1-2 pixels)
|
205
|
-
left -= _classPrivateFieldGet(this, _cursor).left - parentMenuLeft;
|
206
|
-
}
|
207
|
-
_classPrivateFieldGet(this, _container).style.left = `${left}px`;
|
208
|
-
}
|
209
|
-
}
|
@@ -1,177 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
exports.__esModule = true;
|
4
|
-
exports.filterSeparators = filterSeparators;
|
5
|
-
exports.hasSubMenu = hasSubMenu;
|
6
|
-
exports.isDisabled = isDisabled;
|
7
|
-
exports.isItemDisabled = isItemDisabled;
|
8
|
-
exports.isItemHidden = isItemHidden;
|
9
|
-
exports.isItemSelectionDisabled = isItemSelectionDisabled;
|
10
|
-
exports.isItemSeparator = isItemSeparator;
|
11
|
-
exports.isItemSubMenu = isItemSubMenu;
|
12
|
-
exports.isSelectionDisabled = isSelectionDisabled;
|
13
|
-
exports.isSeparator = isSeparator;
|
14
|
-
exports.normalizeSelection = normalizeSelection;
|
15
|
-
require("core-js/modules/es.array.push.js");
|
16
|
-
var _array = require("../../../helpers/array");
|
17
|
-
var _object = require("../../../helpers/object");
|
18
|
-
var _element = require("../../../helpers/dom/element");
|
19
|
-
var _predefinedItems = require("./../predefinedItems");
|
20
|
-
/**
|
21
|
-
* @param {CellRange[]} selRanges An array of the cell ranges.
|
22
|
-
* @returns {object[]}
|
23
|
-
*/
|
24
|
-
function normalizeSelection(selRanges) {
|
25
|
-
return (0, _array.arrayMap)(selRanges, range => ({
|
26
|
-
start: range.getTopStartCorner(),
|
27
|
-
end: range.getBottomEndCorner()
|
28
|
-
}));
|
29
|
-
}
|
30
|
-
|
31
|
-
/**
|
32
|
-
* Check if the provided element is a submenu opener.
|
33
|
-
*
|
34
|
-
* @param {object} itemToTest Item element.
|
35
|
-
* @returns {boolean}
|
36
|
-
*/
|
37
|
-
function isItemSubMenu(itemToTest) {
|
38
|
-
return (0, _object.hasOwnProperty)(itemToTest, 'submenu');
|
39
|
-
}
|
40
|
-
|
41
|
-
/**
|
42
|
-
* Check if the provided element is a menu separator.
|
43
|
-
*
|
44
|
-
* @param {object} itemToTest Item element.
|
45
|
-
* @returns {boolean}
|
46
|
-
*/
|
47
|
-
function isItemSeparator(itemToTest) {
|
48
|
-
return new RegExp(_predefinedItems.SEPARATOR, 'i').test(itemToTest.name);
|
49
|
-
}
|
50
|
-
|
51
|
-
/**
|
52
|
-
* Check if the provided element presents the disabled menu item.
|
53
|
-
*
|
54
|
-
* @param {object} itemToTest Item element.
|
55
|
-
* @param {object} hot The context for the item function.
|
56
|
-
* @returns {boolean}
|
57
|
-
*/
|
58
|
-
function isItemDisabled(itemToTest, hot) {
|
59
|
-
return itemToTest.disabled === true || typeof itemToTest.disabled === 'function' && itemToTest.disabled.call(hot) === true;
|
60
|
-
}
|
61
|
-
|
62
|
-
/**
|
63
|
-
* Check if the provided element presents the disabled selection menu item.
|
64
|
-
*
|
65
|
-
* @param {object} itemToTest Item element.
|
66
|
-
* @returns {boolean}
|
67
|
-
*/
|
68
|
-
function isItemSelectionDisabled(itemToTest) {
|
69
|
-
return (0, _object.hasOwnProperty)(itemToTest, 'disableSelection');
|
70
|
-
}
|
71
|
-
|
72
|
-
/**
|
73
|
-
* @param {HTMLElement} cell The HTML cell element to check.
|
74
|
-
* @returns {boolean}
|
75
|
-
*/
|
76
|
-
function isSeparator(cell) {
|
77
|
-
return (0, _element.hasClass)(cell, 'htSeparator');
|
78
|
-
}
|
79
|
-
|
80
|
-
/**
|
81
|
-
* @param {HTMLElement} cell The HTML cell element to check.
|
82
|
-
* @returns {boolean}
|
83
|
-
*/
|
84
|
-
function hasSubMenu(cell) {
|
85
|
-
return (0, _element.hasClass)(cell, 'htSubmenu');
|
86
|
-
}
|
87
|
-
|
88
|
-
/**
|
89
|
-
* @param {HTMLElement} cell The HTML cell element to check.
|
90
|
-
* @returns {boolean}
|
91
|
-
*/
|
92
|
-
function isDisabled(cell) {
|
93
|
-
return (0, _element.hasClass)(cell, 'htDisabled');
|
94
|
-
}
|
95
|
-
|
96
|
-
/**
|
97
|
-
* @param {HTMLElement} cell The HTML cell element to check.
|
98
|
-
* @returns {boolean}
|
99
|
-
*/
|
100
|
-
function isSelectionDisabled(cell) {
|
101
|
-
return (0, _element.hasClass)(cell, 'htSelectionDisabled');
|
102
|
-
}
|
103
|
-
|
104
|
-
/**
|
105
|
-
* @param {object} item The object which describes the context menu item properties.
|
106
|
-
* @param {Core} instance The Handsontable instance.
|
107
|
-
* @returns {boolean}
|
108
|
-
*/
|
109
|
-
function isItemHidden(item, instance) {
|
110
|
-
return !item.hidden || !(typeof item.hidden === 'function' && item.hidden.call(instance));
|
111
|
-
}
|
112
|
-
|
113
|
-
/**
|
114
|
-
* @param {object[]} items The context menu items collection.
|
115
|
-
* @param {string} separator The string which identifies the context menu separator item.
|
116
|
-
* @returns {object[]}
|
117
|
-
*/
|
118
|
-
function shiftSeparators(items, separator) {
|
119
|
-
const result = items.slice(0);
|
120
|
-
for (let i = 0; i < result.length;) {
|
121
|
-
if (result[i].name === separator) {
|
122
|
-
result.shift();
|
123
|
-
} else {
|
124
|
-
break;
|
125
|
-
}
|
126
|
-
}
|
127
|
-
return result;
|
128
|
-
}
|
129
|
-
|
130
|
-
/**
|
131
|
-
* @param {object[]} items The context menu items collection.
|
132
|
-
* @param {string} separator The string which identifies the context menu separator item.
|
133
|
-
* @returns {object[]}
|
134
|
-
*/
|
135
|
-
function popSeparators(items, separator) {
|
136
|
-
let result = items.slice(0);
|
137
|
-
result.reverse();
|
138
|
-
result = shiftSeparators(result, separator);
|
139
|
-
result.reverse();
|
140
|
-
return result;
|
141
|
-
}
|
142
|
-
|
143
|
-
/**
|
144
|
-
* Removes duplicated menu separators from the context menu items collection.
|
145
|
-
*
|
146
|
-
* @param {object[]} items The context menu items collection.
|
147
|
-
* @returns {object[]}
|
148
|
-
*/
|
149
|
-
function removeDuplicatedSeparators(items) {
|
150
|
-
const result = [];
|
151
|
-
(0, _array.arrayEach)(items, (value, index) => {
|
152
|
-
if (index > 0) {
|
153
|
-
if (result[result.length - 1].name !== value.name) {
|
154
|
-
result.push(value);
|
155
|
-
}
|
156
|
-
} else {
|
157
|
-
result.push(value);
|
158
|
-
}
|
159
|
-
});
|
160
|
-
return result;
|
161
|
-
}
|
162
|
-
|
163
|
-
/**
|
164
|
-
* Removes menu separators from the context menu items collection.
|
165
|
-
*
|
166
|
-
* @param {object[]} items The context menu items collection.
|
167
|
-
* @param {string} separator The string which identifies the context menu separator item.
|
168
|
-
* @returns {object[]}
|
169
|
-
*/
|
170
|
-
function filterSeparators(items) {
|
171
|
-
let separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _predefinedItems.SEPARATOR;
|
172
|
-
let result = items.slice(0);
|
173
|
-
result = shiftSeparators(result, separator);
|
174
|
-
result = popSeparators(result, separator);
|
175
|
-
result = removeDuplicatedSeparators(result);
|
176
|
-
return result;
|
177
|
-
}
|
@@ -1,163 +0,0 @@
|
|
1
|
-
import "core-js/modules/es.array.push.js";
|
2
|
-
import { arrayEach, arrayMap } from "../../../helpers/array.mjs";
|
3
|
-
import { hasOwnProperty } from "../../../helpers/object.mjs";
|
4
|
-
import { hasClass } from "../../../helpers/dom/element.mjs";
|
5
|
-
import { SEPARATOR } from "./../predefinedItems/index.mjs";
|
6
|
-
/**
|
7
|
-
* @param {CellRange[]} selRanges An array of the cell ranges.
|
8
|
-
* @returns {object[]}
|
9
|
-
*/
|
10
|
-
export function normalizeSelection(selRanges) {
|
11
|
-
return arrayMap(selRanges, range => ({
|
12
|
-
start: range.getTopStartCorner(),
|
13
|
-
end: range.getBottomEndCorner()
|
14
|
-
}));
|
15
|
-
}
|
16
|
-
|
17
|
-
/**
|
18
|
-
* Check if the provided element is a submenu opener.
|
19
|
-
*
|
20
|
-
* @param {object} itemToTest Item element.
|
21
|
-
* @returns {boolean}
|
22
|
-
*/
|
23
|
-
export function isItemSubMenu(itemToTest) {
|
24
|
-
return hasOwnProperty(itemToTest, 'submenu');
|
25
|
-
}
|
26
|
-
|
27
|
-
/**
|
28
|
-
* Check if the provided element is a menu separator.
|
29
|
-
*
|
30
|
-
* @param {object} itemToTest Item element.
|
31
|
-
* @returns {boolean}
|
32
|
-
*/
|
33
|
-
export function isItemSeparator(itemToTest) {
|
34
|
-
return new RegExp(SEPARATOR, 'i').test(itemToTest.name);
|
35
|
-
}
|
36
|
-
|
37
|
-
/**
|
38
|
-
* Check if the provided element presents the disabled menu item.
|
39
|
-
*
|
40
|
-
* @param {object} itemToTest Item element.
|
41
|
-
* @param {object} hot The context for the item function.
|
42
|
-
* @returns {boolean}
|
43
|
-
*/
|
44
|
-
export function isItemDisabled(itemToTest, hot) {
|
45
|
-
return itemToTest.disabled === true || typeof itemToTest.disabled === 'function' && itemToTest.disabled.call(hot) === true;
|
46
|
-
}
|
47
|
-
|
48
|
-
/**
|
49
|
-
* Check if the provided element presents the disabled selection menu item.
|
50
|
-
*
|
51
|
-
* @param {object} itemToTest Item element.
|
52
|
-
* @returns {boolean}
|
53
|
-
*/
|
54
|
-
export function isItemSelectionDisabled(itemToTest) {
|
55
|
-
return hasOwnProperty(itemToTest, 'disableSelection');
|
56
|
-
}
|
57
|
-
|
58
|
-
/**
|
59
|
-
* @param {HTMLElement} cell The HTML cell element to check.
|
60
|
-
* @returns {boolean}
|
61
|
-
*/
|
62
|
-
export function isSeparator(cell) {
|
63
|
-
return hasClass(cell, 'htSeparator');
|
64
|
-
}
|
65
|
-
|
66
|
-
/**
|
67
|
-
* @param {HTMLElement} cell The HTML cell element to check.
|
68
|
-
* @returns {boolean}
|
69
|
-
*/
|
70
|
-
export function hasSubMenu(cell) {
|
71
|
-
return hasClass(cell, 'htSubmenu');
|
72
|
-
}
|
73
|
-
|
74
|
-
/**
|
75
|
-
* @param {HTMLElement} cell The HTML cell element to check.
|
76
|
-
* @returns {boolean}
|
77
|
-
*/
|
78
|
-
export function isDisabled(cell) {
|
79
|
-
return hasClass(cell, 'htDisabled');
|
80
|
-
}
|
81
|
-
|
82
|
-
/**
|
83
|
-
* @param {HTMLElement} cell The HTML cell element to check.
|
84
|
-
* @returns {boolean}
|
85
|
-
*/
|
86
|
-
export function isSelectionDisabled(cell) {
|
87
|
-
return hasClass(cell, 'htSelectionDisabled');
|
88
|
-
}
|
89
|
-
|
90
|
-
/**
|
91
|
-
* @param {object} item The object which describes the context menu item properties.
|
92
|
-
* @param {Core} instance The Handsontable instance.
|
93
|
-
* @returns {boolean}
|
94
|
-
*/
|
95
|
-
export function isItemHidden(item, instance) {
|
96
|
-
return !item.hidden || !(typeof item.hidden === 'function' && item.hidden.call(instance));
|
97
|
-
}
|
98
|
-
|
99
|
-
/**
|
100
|
-
* @param {object[]} items The context menu items collection.
|
101
|
-
* @param {string} separator The string which identifies the context menu separator item.
|
102
|
-
* @returns {object[]}
|
103
|
-
*/
|
104
|
-
function shiftSeparators(items, separator) {
|
105
|
-
const result = items.slice(0);
|
106
|
-
for (let i = 0; i < result.length;) {
|
107
|
-
if (result[i].name === separator) {
|
108
|
-
result.shift();
|
109
|
-
} else {
|
110
|
-
break;
|
111
|
-
}
|
112
|
-
}
|
113
|
-
return result;
|
114
|
-
}
|
115
|
-
|
116
|
-
/**
|
117
|
-
* @param {object[]} items The context menu items collection.
|
118
|
-
* @param {string} separator The string which identifies the context menu separator item.
|
119
|
-
* @returns {object[]}
|
120
|
-
*/
|
121
|
-
function popSeparators(items, separator) {
|
122
|
-
let result = items.slice(0);
|
123
|
-
result.reverse();
|
124
|
-
result = shiftSeparators(result, separator);
|
125
|
-
result.reverse();
|
126
|
-
return result;
|
127
|
-
}
|
128
|
-
|
129
|
-
/**
|
130
|
-
* Removes duplicated menu separators from the context menu items collection.
|
131
|
-
*
|
132
|
-
* @param {object[]} items The context menu items collection.
|
133
|
-
* @returns {object[]}
|
134
|
-
*/
|
135
|
-
function removeDuplicatedSeparators(items) {
|
136
|
-
const result = [];
|
137
|
-
arrayEach(items, (value, index) => {
|
138
|
-
if (index > 0) {
|
139
|
-
if (result[result.length - 1].name !== value.name) {
|
140
|
-
result.push(value);
|
141
|
-
}
|
142
|
-
} else {
|
143
|
-
result.push(value);
|
144
|
-
}
|
145
|
-
});
|
146
|
-
return result;
|
147
|
-
}
|
148
|
-
|
149
|
-
/**
|
150
|
-
* Removes menu separators from the context menu items collection.
|
151
|
-
*
|
152
|
-
* @param {object[]} items The context menu items collection.
|
153
|
-
* @param {string} separator The string which identifies the context menu separator item.
|
154
|
-
* @returns {object[]}
|
155
|
-
*/
|
156
|
-
export function filterSeparators(items) {
|
157
|
-
let separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : SEPARATOR;
|
158
|
-
let result = items.slice(0);
|
159
|
-
result = shiftSeparators(result, separator);
|
160
|
-
result = popSeparators(result, separator);
|
161
|
-
result = removeDuplicatedSeparators(result);
|
162
|
-
return result;
|
163
|
-
}
|
@@ -1,68 +0,0 @@
|
|
1
|
-
import { objectEach } from "../../../helpers/object.mjs";
|
2
|
-
import alignmentItem, { KEY as ALIGNMENT } from "./alignment.mjs";
|
3
|
-
import clearColumnItem, { KEY as CLEAR_COLUMN } from "./clearColumn.mjs";
|
4
|
-
import columnLeftItem, { KEY as COLUMN_LEFT } from "./columnLeft.mjs";
|
5
|
-
import columnRightItem, { KEY as COLUMN_RIGHT } from "./columnRight.mjs";
|
6
|
-
import readOnlyItem, { KEY as READ_ONLY } from "./readOnly.mjs";
|
7
|
-
import redoItem, { KEY as REDO } from "./redo.mjs";
|
8
|
-
import removeColumnItem, { KEY as REMOVE_COLUMN } from "./removeColumn.mjs";
|
9
|
-
import removeRowItem, { KEY as REMOVE_ROW } from "./removeRow.mjs";
|
10
|
-
import rowAboveItem, { KEY as ROW_ABOVE } from "./rowAbove.mjs";
|
11
|
-
import rowBelowItem, { KEY as ROW_BELOW } from "./rowBelow.mjs";
|
12
|
-
import separatorItem, { KEY as SEPARATOR } from "./separator.mjs";
|
13
|
-
import noItemsItem, { KEY as NO_ITEMS } from "./noItems.mjs";
|
14
|
-
import undoItem, { KEY as UNDO } from "./undo.mjs";
|
15
|
-
export { KEY as ALIGNMENT } from "./alignment.mjs";
|
16
|
-
export { KEY as CLEAR_COLUMN } from "./clearColumn.mjs";
|
17
|
-
export { KEY as COLUMN_LEFT } from "./columnLeft.mjs";
|
18
|
-
export { KEY as COLUMN_RIGHT } from "./columnRight.mjs";
|
19
|
-
export { KEY as READ_ONLY } from "./readOnly.mjs";
|
20
|
-
export { KEY as REDO } from "./redo.mjs";
|
21
|
-
export { KEY as REMOVE_COLUMN } from "./removeColumn.mjs";
|
22
|
-
export { KEY as REMOVE_ROW } from "./removeRow.mjs";
|
23
|
-
export { KEY as ROW_ABOVE } from "./rowAbove.mjs";
|
24
|
-
export { KEY as ROW_BELOW } from "./rowBelow.mjs";
|
25
|
-
export { KEY as SEPARATOR } from "./separator.mjs";
|
26
|
-
export { KEY as NO_ITEMS } from "./noItems.mjs";
|
27
|
-
export { KEY as UNDO } from "./undo.mjs";
|
28
|
-
export const ITEMS = [ROW_ABOVE, ROW_BELOW, COLUMN_LEFT, COLUMN_RIGHT, CLEAR_COLUMN, REMOVE_ROW, REMOVE_COLUMN, UNDO, REDO, READ_ONLY, ALIGNMENT, SEPARATOR, NO_ITEMS];
|
29
|
-
const _predefinedItems = {
|
30
|
-
[SEPARATOR]: separatorItem,
|
31
|
-
[NO_ITEMS]: noItemsItem,
|
32
|
-
[ROW_ABOVE]: rowAboveItem,
|
33
|
-
[ROW_BELOW]: rowBelowItem,
|
34
|
-
[COLUMN_LEFT]: columnLeftItem,
|
35
|
-
[COLUMN_RIGHT]: columnRightItem,
|
36
|
-
[CLEAR_COLUMN]: clearColumnItem,
|
37
|
-
[REMOVE_ROW]: removeRowItem,
|
38
|
-
[REMOVE_COLUMN]: removeColumnItem,
|
39
|
-
[UNDO]: undoItem,
|
40
|
-
[REDO]: redoItem,
|
41
|
-
[READ_ONLY]: readOnlyItem,
|
42
|
-
[ALIGNMENT]: alignmentItem
|
43
|
-
};
|
44
|
-
|
45
|
-
/**
|
46
|
-
* Gets new object with all predefined menu items.
|
47
|
-
*
|
48
|
-
* @returns {object}
|
49
|
-
*/
|
50
|
-
export function predefinedItems() {
|
51
|
-
const items = {};
|
52
|
-
objectEach(_predefinedItems, (itemFactory, key) => {
|
53
|
-
items[key] = itemFactory();
|
54
|
-
});
|
55
|
-
return items;
|
56
|
-
}
|
57
|
-
|
58
|
-
/**
|
59
|
-
* Add new predefined menu item to the collection.
|
60
|
-
*
|
61
|
-
* @param {string} key Menu command id.
|
62
|
-
* @param {object} item Object command descriptor.
|
63
|
-
*/
|
64
|
-
export function addItem(key, item) {
|
65
|
-
if (ITEMS.indexOf(key) === -1) {
|
66
|
-
_predefinedItems[key] = item;
|
67
|
-
}
|
68
|
-
}
|
@@ -1,5 +0,0 @@
|
|
1
|
-
import Core from '../../core';
|
2
|
-
import { CellProperties } from '../../settings';
|
3
|
-
|
4
|
-
export const RENDERER_TYPE: 'date';
|
5
|
-
export function dateRenderer(instance: Core, TD: HTMLTableCellElement, row: number, col: number, prop: string | number, value: any, cellProperties: CellProperties): void;
|
@@ -1,29 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
exports.__esModule = true;
|
4
|
-
exports.dateRenderer = dateRenderer;
|
5
|
-
var _autocompleteRenderer = require("../autocompleteRenderer");
|
6
|
-
var _a11y = require("../../helpers/a11y");
|
7
|
-
var _element = require("../../helpers/dom/element");
|
8
|
-
const RENDERER_TYPE = 'date';
|
9
|
-
|
10
|
-
/**
|
11
|
-
* Handsontable renderer.
|
12
|
-
*
|
13
|
-
* @private
|
14
|
-
* @param {Core} instance The Handsontable instance.
|
15
|
-
* @param {HTMLTableCellElement} TD The rendered cell element.
|
16
|
-
* @param {number} row The visual row index.
|
17
|
-
* @param {number} col The visual column index.
|
18
|
-
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
19
|
-
* @param {*} value The rendered value.
|
20
|
-
* @param {object} cellProperties The cell meta object ({@see Core#getCellMeta}).
|
21
|
-
*/
|
22
|
-
exports.RENDERER_TYPE = RENDERER_TYPE;
|
23
|
-
function dateRenderer(instance, TD, row, col, prop, value, cellProperties) {
|
24
|
-
_autocompleteRenderer.autocompleteRenderer.apply(this, [instance, TD, row, col, prop, value, cellProperties]);
|
25
|
-
if (instance.getSettings().ariaTags) {
|
26
|
-
(0, _element.setAttribute)(TD, [(0, _a11y.A11Y_HASPOPUP)('dialog'), (0, _a11y.A11Y_EXPANDED)('false')]);
|
27
|
-
}
|
28
|
-
}
|
29
|
-
dateRenderer.RENDERER_TYPE = RENDERER_TYPE;
|
@@ -1,24 +0,0 @@
|
|
1
|
-
import { autocompleteRenderer } from "../autocompleteRenderer/index.mjs";
|
2
|
-
import { A11Y_EXPANDED, A11Y_HASPOPUP } from "../../helpers/a11y.mjs";
|
3
|
-
import { setAttribute } from "../../helpers/dom/element.mjs";
|
4
|
-
export const RENDERER_TYPE = 'date';
|
5
|
-
|
6
|
-
/**
|
7
|
-
* Handsontable renderer.
|
8
|
-
*
|
9
|
-
* @private
|
10
|
-
* @param {Core} instance The Handsontable instance.
|
11
|
-
* @param {HTMLTableCellElement} TD The rendered cell element.
|
12
|
-
* @param {number} row The visual row index.
|
13
|
-
* @param {number} col The visual column index.
|
14
|
-
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
15
|
-
* @param {*} value The rendered value.
|
16
|
-
* @param {object} cellProperties The cell meta object ({@see Core#getCellMeta}).
|
17
|
-
*/
|
18
|
-
export function dateRenderer(instance, TD, row, col, prop, value, cellProperties) {
|
19
|
-
autocompleteRenderer.apply(this, [instance, TD, row, col, prop, value, cellProperties]);
|
20
|
-
if (instance.getSettings().ariaTags) {
|
21
|
-
setAttribute(TD, [A11Y_HASPOPUP('dialog'), A11Y_EXPANDED('false')]);
|
22
|
-
}
|
23
|
-
}
|
24
|
-
dateRenderer.RENDERER_TYPE = RENDERER_TYPE;
|
@@ -1 +0,0 @@
|
|
1
|
-
export { RENDERER_TYPE, dateRenderer } from './dateRenderer';
|
@@ -1 +0,0 @@
|
|
1
|
-
export { RENDERER_TYPE, dateRenderer } from "./dateRenderer.mjs";
|