handsontable 13.1.0 → 14.0.0-next-e8f87aa-20231030
Sign up to get free protection for your applications and to get access to all the features.
- package/3rdparty/walkontable/src/calculator/constants.js +3 -6
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +1 -2
- package/3rdparty/walkontable/src/calculator/viewportRows.js +1 -2
- package/3rdparty/walkontable/src/cell/coords.d.ts +8 -1
- package/3rdparty/walkontable/src/cell/coords.js +81 -13
- package/3rdparty/walkontable/src/cell/coords.mjs +80 -11
- package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
- package/3rdparty/walkontable/src/cell/range.js +39 -9
- 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 +13 -12
- 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/filter/column.js +1 -2
- package/3rdparty/walkontable/src/filter/row.js +1 -2
- package/3rdparty/walkontable/src/index.js +12 -4
- 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/constants.js +7 -14
- 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/overlays.js +1 -2
- 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 +13 -0
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +14 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -0
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +8 -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 +3 -2
- package/3rdparty/walkontable/src/scroll.mjs +2 -0
- package/3rdparty/walkontable/src/{border.js → selection/border/border.js} +8 -14
- package/3rdparty/walkontable/src/{border.mjs → selection/border/border.mjs} +7 -12
- package/3rdparty/walkontable/src/selection/border/constants.js +15 -0
- package/3rdparty/walkontable/src/selection/border/constants.mjs +12 -0
- package/3rdparty/walkontable/src/selection/constants.js +54 -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 +100 -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/bottom.js +1 -2
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -2
- package/3rdparty/walkontable/src/table/inlineStart.js +1 -2
- package/3rdparty/walkontable/src/table/master.js +3 -6
- package/3rdparty/walkontable/src/table/master.mjs +2 -4
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +10 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +10 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +10 -2
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +10 -2
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +10 -2
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -0
- package/3rdparty/walkontable/src/table/top.js +1 -2
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -2
- package/3rdparty/walkontable/src/table.js +20 -80
- package/3rdparty/walkontable/src/table.mjs +20 -79
- package/3rdparty/walkontable/src/utils/orderView/constants.js +3 -6
- package/3rdparty/walkontable/src/viewport.js +1 -2
- package/CHANGELOG.md +51 -0
- package/base.js +3 -4
- package/base.mjs +2 -2
- package/cellTypes/autocompleteType/autocompleteType.js +3 -5
- package/cellTypes/checkboxType/checkboxType.js +3 -5
- package/cellTypes/dateType/dateType.d.ts +3 -3
- package/cellTypes/dateType/dateType.js +5 -7
- package/cellTypes/dateType/dateType.mjs +2 -2
- package/cellTypes/dropdownType/dropdownType.js +3 -5
- package/cellTypes/handsontableType/handsontableType.d.ts +3 -3
- package/cellTypes/handsontableType/handsontableType.js +5 -7
- 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/numericType/numericType.js +3 -5
- package/cellTypes/passwordType/passwordType.js +3 -5
- 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 +11 -0
- package/cellTypes/selectType/selectType.mjs +8 -0
- package/cellTypes/textType/textType.js +3 -5
- package/cellTypes/timeType/timeType.js +3 -5
- package/common.d.ts +1 -1
- package/core/focusCatcher/focusDetector.js +63 -0
- package/core/focusCatcher/focusDetector.mjs +59 -0
- package/core/focusCatcher/index.js +148 -0
- package/core/focusCatcher/index.mjs +144 -0
- package/core/index.js +9 -0
- package/core/index.mjs +1 -0
- package/core.d.ts +10 -5
- package/core.js +327 -359
- package/core.mjs +327 -359
- package/dataMap/dataMap.js +1 -2
- package/dataMap/dataSource.js +1 -2
- 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 +94 -76
- package/dist/handsontable.full.css +94 -76
- package/dist/handsontable.full.js +23133 -15992
- package/dist/handsontable.full.min.css +8 -8
- package/dist/handsontable.full.min.js +170 -152
- package/dist/handsontable.js +21856 -15085
- package/dist/handsontable.min.css +7 -7
- package/dist/handsontable.min.js +30 -22
- package/dist/languages/all.js +47 -40
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.js +1 -2
- package/dist/languages/cs-CZ.js +1 -2
- package/dist/languages/de-CH.js +1 -2
- package/dist/languages/de-DE.js +1 -2
- package/dist/languages/en-US.js +15 -3
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +1 -2
- package/dist/languages/fr-FR.js +1 -2
- package/dist/languages/it-IT.js +1 -2
- package/dist/languages/ja-JP.js +1 -2
- package/dist/languages/ko-KR.js +1 -2
- package/dist/languages/lv-LV.js +1 -2
- package/dist/languages/nb-NO.js +1 -2
- package/dist/languages/nl-NL.js +1 -2
- package/dist/languages/pl-PL.js +15 -3
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +1 -2
- package/dist/languages/ru-RU.js +1 -2
- package/dist/languages/sr-SP.js +1 -2
- package/dist/languages/zh-CN.js +1 -2
- package/dist/languages/zh-TW.js +1 -2
- package/editorManager.js +17 -91
- package/editorManager.mjs +16 -87
- package/editors/autocompleteEditor/autocompleteEditor.js +65 -11
- package/editors/autocompleteEditor/autocompleteEditor.mjs +65 -10
- package/editors/baseEditor/baseEditor.js +19 -13
- package/editors/baseEditor/baseEditor.mjs +16 -7
- package/editors/checkboxEditor/checkboxEditor.js +1 -2
- package/editors/dateEditor/dateEditor.js +27 -9
- package/editors/dateEditor/dateEditor.mjs +27 -8
- package/editors/dropdownEditor/dropdownEditor.js +1 -2
- package/editors/handsontableEditor/handsontableEditor.js +14 -7
- package/editors/handsontableEditor/handsontableEditor.mjs +14 -6
- package/editors/numericEditor/numericEditor.js +1 -2
- package/editors/passwordEditor/passwordEditor.js +1 -2
- package/editors/selectEditor/selectEditor.js +1 -2
- package/editors/textEditor/textEditor.js +20 -29
- package/editors/textEditor/textEditor.mjs +22 -30
- package/editors/timeEditor/timeEditor.js +1 -2
- package/eventManager.js +1 -2
- package/focusManager.d.ts +12 -0
- package/focusManager.js +265 -0
- package/focusManager.mjs +261 -0
- package/helpers/a11y.js +81 -0
- package/helpers/a11y.mjs +39 -0
- package/helpers/dom/element.js +224 -12
- package/helpers/dom/element.mjs +216 -10
- package/helpers/dom/event.d.ts +1 -0
- package/helpers/dom/event.js +25 -0
- package/helpers/dom/event.mjs +24 -0
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/helpers/number.d.ts +1 -0
- package/helpers/number.js +18 -0
- package/helpers/number.mjs +17 -0
- package/helpers/unicode.js +1 -2
- package/i18n/constants.js +97 -160
- package/i18n/constants.mjs +17 -1
- package/i18n/languages/ar-AR.js +3 -4
- package/i18n/languages/cs-CZ.js +3 -4
- package/i18n/languages/de-CH.js +3 -4
- package/i18n/languages/de-DE.js +3 -4
- package/i18n/languages/en-US.js +17 -5
- package/i18n/languages/en-US.mjs +14 -1
- package/i18n/languages/es-MX.js +3 -4
- package/i18n/languages/fr-FR.js +3 -4
- package/i18n/languages/it-IT.js +3 -4
- package/i18n/languages/ja-JP.js +3 -4
- package/i18n/languages/ko-KR.js +3 -4
- package/i18n/languages/lv-LV.js +3 -4
- package/i18n/languages/nb-NO.js +3 -4
- package/i18n/languages/nl-NL.js +3 -4
- package/i18n/languages/pl-PL.js +17 -5
- package/i18n/languages/pl-PL.mjs +14 -1
- package/i18n/languages/pt-BR.js +3 -4
- package/i18n/languages/ru-RU.js +3 -4
- package/i18n/languages/sr-SP.js +3 -4
- package/i18n/languages/zh-CN.js +3 -4
- package/i18n/languages/zh-TW.js +3 -4
- package/i18n/registry.js +4 -6
- package/index.js +3 -4
- package/languages/all.js +47 -40
- package/languages/ar-AR.js +1 -2
- package/languages/cs-CZ.js +1 -2
- package/languages/de-CH.js +1 -2
- package/languages/de-DE.js +1 -2
- package/languages/en-US.js +15 -3
- package/languages/en-US.mjs +14 -1
- package/languages/es-MX.js +1 -2
- package/languages/fr-FR.js +1 -2
- package/languages/index.js +47 -40
- package/languages/it-IT.js +1 -2
- package/languages/ja-JP.js +1 -2
- package/languages/ko-KR.js +1 -2
- package/languages/lv-LV.js +1 -2
- package/languages/nb-NO.js +1 -2
- package/languages/nl-NL.js +1 -2
- package/languages/pl-PL.js +15 -3
- package/languages/pl-PL.mjs +14 -1
- package/languages/pt-BR.js +1 -2
- package/languages/ru-RU.js +1 -2
- package/languages/sr-SP.js +1 -2
- package/languages/zh-CN.js +1 -2
- package/languages/zh-TW.js +1 -2
- package/mixins/hooksRefRegisterer.js +1 -2
- package/mixins/localHooks.js +1 -2
- package/package.json +119 -96
- package/pluginHooks.d.ts +42 -7
- package/pluginHooks.js +301 -65
- package/pluginHooks.mjs +300 -63
- package/plugins/autoColumnSize/autoColumnSize.d.ts +2 -0
- package/plugins/autoColumnSize/autoColumnSize.js +2 -4
- package/plugins/autoRowSize/autoRowSize.d.ts +2 -0
- package/plugins/autoRowSize/autoRowSize.js +15 -10
- package/plugins/autoRowSize/autoRowSize.mjs +13 -6
- package/plugins/autofill/autofill.js +2 -4
- package/plugins/autofill/utils.js +1 -2
- package/plugins/base/base.js +1 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +2 -4
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +1 -2
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +1 -2
- package/plugins/collapsibleColumns/collapsibleColumns.js +77 -8
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +76 -5
- package/plugins/columnSorting/columnSorting.js +71 -6
- package/plugins/columnSorting/columnSorting.mjs +70 -3
- package/plugins/columnSorting/index.js +3 -1
- package/plugins/columnSorting/index.mjs +1 -1
- package/plugins/columnSorting/sortFunction/checkbox.js +1 -2
- package/plugins/columnSorting/sortFunction/date.js +1 -2
- package/plugins/columnSorting/sortFunction/default.js +1 -2
- package/plugins/columnSorting/sortFunction/numeric.js +1 -2
- package/plugins/columnSorting/sortService/engine.js +3 -6
- package/plugins/columnSorting/utils.js +3 -6
- package/plugins/columnSummary/columnSummary.js +2 -4
- package/plugins/columnSummary/endpoints.js +1 -2
- package/plugins/comments/commentEditor.js +2 -2
- package/plugins/comments/commentEditor.mjs +1 -0
- package/plugins/comments/comments.js +254 -197
- 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/comments/displaySwitch.js +1 -2
- 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 +77 -40
- 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 +70 -0
- package/plugins/contextMenu/menu/menuItemRenderer.mjs +66 -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 +10 -4
- package/plugins/contextMenu/predefinedItems/alignment.mjs +7 -0
- package/plugins/contextMenu/predefinedItems/clearColumn.js +8 -7
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/columnLeft.js +8 -7
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/columnRight.js +8 -7
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/index.js +75 -0
- package/plugins/contextMenu/predefinedItems/index.mjs +68 -0
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -2
- package/plugins/contextMenu/predefinedItems/readOnly.js +10 -4
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
- package/plugins/contextMenu/predefinedItems/redo.js +3 -4
- package/plugins/contextMenu/predefinedItems/removeColumn.js +10 -9
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/removeRow.js +10 -9
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/rowAbove.js +8 -7
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/rowBelow.js +8 -7
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/separator.js +1 -2
- package/plugins/contextMenu/predefinedItems/undo.js +3 -4
- package/plugins/contextMenu/utils.js +35 -151
- package/plugins/contextMenu/utils.mjs +35 -144
- package/plugins/copyPaste/clipboardData/clipboardData.js +516 -0
- package/plugins/copyPaste/clipboardData/clipboardData.mjs +512 -0
- package/plugins/copyPaste/clipboardData/copyClipboardData.js +69 -0
- package/plugins/copyPaste/clipboardData/copyClipboardData.mjs +65 -0
- package/plugins/copyPaste/clipboardData/index.js +9 -0
- package/plugins/copyPaste/clipboardData/index.mjs +4 -0
- package/plugins/copyPaste/clipboardData/pasteClipboardData.js +81 -0
- package/plugins/copyPaste/clipboardData/pasteClipboardData.mjs +77 -0
- 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 +9 -2
- package/plugins/copyPaste/contextMenuItem/cut.mjs +7 -0
- package/plugins/copyPaste/copyPaste.js +160 -167
- package/plugins/copyPaste/copyPaste.mjs +161 -166
- package/plugins/customBorders/contextMenuItem/bottom.js +2 -2
- package/plugins/customBorders/contextMenuItem/left.js +2 -2
- package/plugins/customBorders/contextMenuItem/noBorders.js +2 -2
- package/plugins/customBorders/contextMenuItem/right.js +2 -2
- package/plugins/customBorders/contextMenuItem/top.js +2 -2
- package/plugins/customBorders/customBorders.js +27 -26
- package/plugins/customBorders/customBorders.mjs +24 -21
- package/plugins/dragToScroll/dragToScroll.js +2 -4
- package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
- package/plugins/dropdownMenu/dropdownMenu.js +130 -44
- package/plugins/dropdownMenu/dropdownMenu.mjs +127 -39
- package/plugins/exportFile/dataProvider.js +1 -2
- package/plugins/exportFile/exportFile.js +4 -6
- package/plugins/exportFile/typeFactory.js +5 -8
- package/plugins/exportFile/types/_base.js +1 -2
- package/plugins/exportFile/types/csv.js +1 -2
- package/plugins/filters/component/_base.js +23 -8
- package/plugins/filters/component/_base.mjs +23 -8
- package/plugins/filters/component/actionBar.js +31 -29
- package/plugins/filters/component/actionBar.mjs +26 -23
- package/plugins/filters/component/condition.js +48 -61
- 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 +37 -28
- package/plugins/filters/component/value.mjs +32 -22
- package/plugins/filters/condition/beginsWith.js +3 -4
- package/plugins/filters/condition/between.js +3 -4
- package/plugins/filters/condition/byValue.js +1 -2
- package/plugins/filters/condition/contains.js +3 -4
- package/plugins/filters/condition/date/after.js +3 -4
- package/plugins/filters/condition/date/before.js +3 -4
- package/plugins/filters/condition/date/today.js +3 -4
- package/plugins/filters/condition/date/tomorrow.js +3 -4
- package/plugins/filters/condition/date/yesterday.js +3 -4
- package/plugins/filters/condition/empty.js +3 -4
- package/plugins/filters/condition/endsWith.js +3 -4
- package/plugins/filters/condition/equal.js +3 -4
- package/plugins/filters/condition/false.js +1 -2
- package/plugins/filters/condition/greaterThan.js +3 -4
- package/plugins/filters/condition/greaterThanOrEqual.js +3 -4
- package/plugins/filters/condition/lessThan.js +3 -4
- package/plugins/filters/condition/lessThanOrEqual.js +3 -4
- package/plugins/filters/condition/none.js +3 -4
- package/plugins/filters/condition/notBetween.js +3 -4
- package/plugins/filters/condition/notContains.js +3 -4
- package/plugins/filters/condition/notEmpty.js +3 -4
- package/plugins/filters/condition/notEqual.js +3 -4
- package/plugins/filters/condition/true.js +1 -2
- package/plugins/filters/conditionCollection.d.ts +3 -2
- package/plugins/filters/conditionCollection.js +1 -2
- package/plugins/filters/conditionRegisterer.js +1 -2
- package/plugins/filters/conditionUpdateObserver.js +1 -2
- package/plugins/filters/constants.js +4 -8
- package/plugins/filters/constants.mjs +1 -1
- package/plugins/filters/dataFilter.js +1 -2
- package/plugins/filters/filters.d.ts +3 -5
- package/plugins/filters/filters.js +118 -67
- package/plugins/filters/filters.mjs +109 -56
- package/plugins/filters/logicalOperationRegisterer.js +1 -2
- package/plugins/filters/logicalOperations/conjunction.js +4 -6
- package/plugins/filters/logicalOperations/disjunction.js +4 -6
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +4 -6
- 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 +37 -15
- package/plugins/filters/ui/_base.mjs +35 -13
- package/plugins/filters/ui/input.js +43 -35
- package/plugins/filters/ui/input.mjs +42 -33
- package/plugins/filters/ui/link.js +44 -12
- package/plugins/filters/ui/link.mjs +44 -11
- package/plugins/filters/ui/multipleSelect.js +237 -133
- 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 +152 -77
- package/plugins/filters/ui/select.mjs +148 -72
- package/plugins/formulas/engine/settings.js +2 -4
- package/plugins/formulas/formulas.js +3 -6
- package/plugins/formulas/indexSyncer/axisSyncer.js +1 -2
- package/plugins/formulas/indexSyncer/index.js +1 -2
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +2 -2
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +2 -2
- package/plugins/hiddenColumns/hiddenColumns.d.ts +1 -0
- package/plugins/hiddenColumns/hiddenColumns.js +49 -6
- package/plugins/hiddenColumns/hiddenColumns.mjs +48 -3
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +2 -2
- package/plugins/hiddenRows/contextMenuItem/showRow.js +2 -2
- package/plugins/hiddenRows/hiddenRows.d.ts +1 -0
- package/plugins/hiddenRows/hiddenRows.js +49 -6
- package/plugins/hiddenRows/hiddenRows.mjs +48 -3
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +2 -2
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +2 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +2 -4
- package/plugins/manualColumnMove/manualColumnMove.js +9 -17
- package/plugins/manualColumnMove/manualColumnMove.mjs +7 -13
- package/plugins/manualColumnMove/ui/_base.js +1 -2
- package/plugins/manualColumnMove/ui/backlight.js +1 -2
- package/plugins/manualColumnMove/ui/guideline.js +1 -2
- package/plugins/manualColumnResize/manualColumnResize.js +2 -4
- package/plugins/manualRowMove/manualRowMove.js +6 -23
- package/plugins/manualRowMove/manualRowMove.mjs +4 -19
- package/plugins/manualRowMove/ui/_base.js +1 -2
- package/plugins/manualRowMove/ui/backlight.js +1 -2
- package/plugins/manualRowMove/ui/guideline.js +1 -2
- package/plugins/manualRowResize/manualRowResize.js +2 -4
- package/plugins/mergeCells/calculations/autofill.js +1 -2
- package/plugins/mergeCells/calculations/selection.js +1 -2
- package/plugins/mergeCells/cellCoords.js +1 -2
- package/plugins/mergeCells/cellsCollection.js +1 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +2 -2
- package/plugins/mergeCells/mergeCells.js +7 -20
- package/plugins/mergeCells/mergeCells.mjs +5 -16
- package/plugins/multiColumnSorting/multiColumnSorting.js +60 -6
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +59 -3
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +2 -4
- package/plugins/nestedHeaders/nestedHeaders.js +263 -36
- package/plugins/nestedHeaders/nestedHeaders.mjs +262 -33
- package/plugins/nestedHeaders/stateManager/index.js +102 -3
- package/plugins/nestedHeaders/stateManager/index.mjs +102 -3
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +1 -2
- package/plugins/nestedHeaders/utils/ghostTable.js +1 -2
- package/plugins/nestedRows/data/dataManager.js +1 -2
- package/plugins/nestedRows/nestedRows.js +47 -10
- package/plugins/nestedRows/nestedRows.mjs +45 -6
- package/plugins/nestedRows/ui/_base.js +1 -2
- package/plugins/nestedRows/ui/collapsing.js +1 -2
- package/plugins/nestedRows/ui/contextMenu.js +3 -4
- package/plugins/nestedRows/ui/headers.js +13 -3
- package/plugins/nestedRows/ui/headers.mjs +13 -2
- package/plugins/persistentState/persistentState.js +2 -4
- package/plugins/persistentState/storage.js +1 -2
- package/plugins/search/search.js +2 -4
- package/plugins/touchScroll/touchScroll.js +2 -4
- package/plugins/trimRows/trimRows.js +2 -4
- package/plugins/undoRedo/index.js +2 -2
- package/plugins/undoRedo/undoRedo.js +2 -4
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +9 -2
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +8 -0
- package/renderers/baseRenderer/baseRenderer.js +18 -2
- package/renderers/baseRenderer/baseRenderer.mjs +18 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +10 -6
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +9 -4
- package/renderers/dateRenderer/dateRenderer.d.ts +5 -0
- package/renderers/dateRenderer/dateRenderer.js +28 -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 +28 -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/htmlRenderer/htmlRenderer.js +1 -2
- package/renderers/index.d.ts +9 -0
- package/renderers/numericRenderer/numericRenderer.js +1 -2
- package/renderers/passwordRenderer/passwordRenderer.js +1 -2
- 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 +26 -0
- package/renderers/selectRenderer/selectRenderer.mjs +22 -0
- package/renderers/textRenderer/textRenderer.js +1 -2
- package/renderers/timeRenderer/timeRenderer.js +1 -2
- package/selection/highlight/highlight.js +257 -73
- 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 +32 -29
- 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 +9 -10
- package/selection/range.mjs +8 -8
- package/selection/selection.js +334 -154
- package/selection/selection.mjs +330 -151
- package/selection/transformation.js +233 -94
- package/selection/transformation.mjs +232 -92
- package/selection/utils.js +20 -31
- package/selection/utils.mjs +16 -21
- package/settings.d.ts +4 -0
- package/shortcutContexts/commands/editor/closeAndSave.js +11 -0
- package/shortcutContexts/commands/editor/closeAndSave.mjs +8 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.js +11 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
- package/shortcutContexts/commands/editor/fastOpen.js +15 -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 +26 -0
- package/shortcutContexts/commands/editor/open.mjs +23 -0
- package/shortcutContexts/commands/emptySelectedCells.js +10 -0
- package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
- package/shortcutContexts/commands/extendCellsSelection/down.js +14 -0
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +24 -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 +14 -0
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/right.js +14 -0
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +18 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +28 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +18 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +18 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +28 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +28 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +28 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +18 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/up.js +14 -0
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +24 -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 +12 -0
- package/shortcutContexts/commands/moveCellSelection/down.mjs +9 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +32 -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 +11 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +11 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/left.js +9 -0
- package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/right.js +9 -0
- package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +14 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +10 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +18 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +15 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +20 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +18 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +15 -0
- package/shortcutContexts/commands/moveCellSelection/up.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/up.mjs +9 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +32 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +29 -0
- package/shortcutContexts/commands/populateSelectedCellsData.js +28 -0
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +25 -0
- package/shortcutContexts/commands/scrollToFocusedCell.js +34 -0
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +31 -0
- package/shortcutContexts/commands/selectAll.js +11 -0
- package/shortcutContexts/commands/selectAll.mjs +8 -0
- package/shortcutContexts/constants.js +11 -0
- package/shortcutContexts/constants.mjs +8 -0
- package/shortcutContexts/editor.js +25 -0
- package/shortcutContexts/editor.mjs +21 -0
- package/shortcutContexts/grid.js +167 -0
- package/shortcutContexts/grid.mjs +163 -0
- package/shortcutContexts/index.js +24 -0
- package/shortcutContexts/index.mjs +11 -0
- package/shortcuts/context.d.ts +1 -0
- package/shortcuts/context.js +23 -4
- package/shortcuts/context.mjs +23 -5
- package/shortcuts/manager.js +31 -7
- package/shortcuts/manager.mjs +32 -7
- package/shortcuts/recorder.js +30 -14
- package/shortcuts/recorder.mjs +30 -14
- package/shortcuts/utils.js +19 -5
- package/shortcuts/utils.mjs +18 -4
- package/tableView.js +113 -16
- package/tableView.mjs +113 -15
- package/utils/dataStructures/linkedList.js +1 -2
- package/utils/dataStructures/priorityMap.js +2 -4
- package/utils/dataStructures/queue.js +1 -2
- package/utils/dataStructures/stack.js +1 -2
- package/utils/dataStructures/tree.js +3 -6
- package/utils/ghostTable.js +32 -17
- package/utils/ghostTable.mjs +31 -15
- package/utils/interval.js +1 -2
- package/utils/paginator.js +151 -0
- package/utils/paginator.mjs +147 -0
- package/utils/parseTable.js +527 -83
- package/utils/parseTable.mjs +523 -82
- package/utils/rootInstance.js +2 -4
- package/utils/samplesGenerator.js +21 -13
- package/utils/samplesGenerator.mjs +20 -11
- package/utils/staticRegister.js +1 -2
- package/validators/autocompleteValidator/autocompleteValidator.js +1 -2
- package/validators/dateValidator/dateValidator.js +1 -2
- package/validators/numericValidator/numericValidator.js +1 -2
- package/validators/timeValidator/timeValidator.js +1 -2
- package/3rdparty/walkontable/src/selection.js +0 -295
- package/3rdparty/walkontable/src/selection.mjs +0 -290
- package/plugins/contextMenu/predefinedItems.js +0 -76
- package/plugins/contextMenu/predefinedItems.mjs +0 -68
- package/plugins/copyPaste/clipboardData.js +0 -18
- package/plugins/copyPaste/clipboardData.mjs +0 -14
- package/plugins/copyPaste/focusableElement.js +0 -186
- package/plugins/copyPaste/focusableElement.mjs +0 -180
- package/plugins/copyPaste/pasteEvent.js +0 -14
- package/plugins/copyPaste/pasteEvent.mjs +0 -9
- 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
package/pluginHooks.mjs
CHANGED
@@ -540,6 +540,34 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
540
540
|
* @param {'init'|'remove'|'insert'|'move'|'update'} [source] A string that indicates what caused the change to the order of rows.
|
541
541
|
*/
|
542
542
|
'afterRowSequenceChange',
|
543
|
+
/**
|
544
|
+
* Fired before the vertical viewport scroll. Triggered by the [`scrollViewportTo()`](@/api/core.md#scrollviewportto)
|
545
|
+
* method or table internals.
|
546
|
+
*
|
547
|
+
* @since 14.0.0
|
548
|
+
* @event Hooks#beforeViewportScrollVertically
|
549
|
+
* @param {number} visualRow Visual row index.
|
550
|
+
* @returns {number} Returns modified row index (or the same as passed in the method argument) to which the viewport will be scrolled.
|
551
|
+
*/
|
552
|
+
'beforeViewportScrollVertically',
|
553
|
+
/**
|
554
|
+
* Fired before the horizontal viewport scroll. Triggered by the [`scrollViewportTo()`](@/api/core.md#scrollviewportto)
|
555
|
+
* method or table internals.
|
556
|
+
*
|
557
|
+
* @since 14.0.0
|
558
|
+
* @event Hooks#beforeViewportScrollHorizontally
|
559
|
+
* @param {number} visualColumn Visual column index.
|
560
|
+
* @returns {number} Returns modified column index (or the same as passed in the method argument) to which the viewport will be scrolled.
|
561
|
+
*/
|
562
|
+
'beforeViewportScrollHorizontally',
|
563
|
+
/**
|
564
|
+
* Fired before the vertical or horizontal viewport scroll. Triggered by the [`scrollViewportTo()`](@/api/core.md#scrollviewportto)
|
565
|
+
* method or table internals.
|
566
|
+
*
|
567
|
+
* @since 14.0.0
|
568
|
+
* @event Hooks#beforeViewportScroll
|
569
|
+
*/
|
570
|
+
'beforeViewportScroll',
|
543
571
|
/**
|
544
572
|
* Fired after the horizontal scroll event.
|
545
573
|
*
|
@@ -552,6 +580,13 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
552
580
|
* @event Hooks#afterScrollVertically
|
553
581
|
*/
|
554
582
|
'afterScrollVertically',
|
583
|
+
/**
|
584
|
+
* Fired after the vertical or horizontal scroll event.
|
585
|
+
*
|
586
|
+
* @since 14.0.0
|
587
|
+
* @event Hooks#afterScroll
|
588
|
+
*/
|
589
|
+
'afterScroll',
|
555
590
|
/**
|
556
591
|
* Fired after one or more cells are selected (e.g. During mouse move).
|
557
592
|
*
|
@@ -655,6 +690,94 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
655
690
|
* @param {number} selectionLayerLevel The number which indicates what selection layer is currently modified.
|
656
691
|
*/
|
657
692
|
'afterSelectionEndByProp',
|
693
|
+
/**
|
694
|
+
* Fired before one or more columns are selected (e.g. During mouse header click or {@link Core#selectColumns} API call).
|
695
|
+
*
|
696
|
+
* @since 14.0.0
|
697
|
+
* @event Hooks#beforeSelectColumns
|
698
|
+
* @param {CellCoords} from Selection start coords object.
|
699
|
+
* @param {CellCoords} to Selection end coords object.
|
700
|
+
* @param {CellCoords} highlight Selection cell focus coords object.
|
701
|
+
* @example
|
702
|
+
* ::: only-for javascript
|
703
|
+
* ```js
|
704
|
+
* new Handsontable(element, {
|
705
|
+
* beforeSelectColumns: (from, to, highlight) => {
|
706
|
+
* // Extend the column selection by one column left and one column right.
|
707
|
+
* from.col = Math.max(from.col - 1, 0);
|
708
|
+
* to.col = Math.min(to.col + 1, this.countCols() - 1);
|
709
|
+
* }
|
710
|
+
* })
|
711
|
+
* ```
|
712
|
+
* :::
|
713
|
+
*
|
714
|
+
* ::: only-for react
|
715
|
+
* ```jsx
|
716
|
+
* <HotTable
|
717
|
+
* beforeSelectColumns={(from, to, highlight) => {
|
718
|
+
* // Extend the column selection by one column left and one column right.
|
719
|
+
* from.col = Math.max(from.col - 1, 0);
|
720
|
+
* to.col = Math.min(to.col + 1, this.countCols() - 1);
|
721
|
+
* }}
|
722
|
+
* />
|
723
|
+
* ```
|
724
|
+
* :::
|
725
|
+
*/
|
726
|
+
'beforeSelectColumns',
|
727
|
+
/**
|
728
|
+
* Fired after one or more columns are selected (e.g. During mouse header click or {@link Core#selectColumns} API call).
|
729
|
+
*
|
730
|
+
* @since 14.0.0
|
731
|
+
* @event Hooks#afterSelectColumns
|
732
|
+
* @param {CellCoords} from Selection start coords object.
|
733
|
+
* @param {CellCoords} to Selection end coords object.
|
734
|
+
* @param {CellCoords} highlight Selection cell focus coords object.
|
735
|
+
*/
|
736
|
+
'afterSelectColumns',
|
737
|
+
/**
|
738
|
+
* Fired before one or more rows are selected (e.g. During mouse header click or {@link Core#selectRows} API call).
|
739
|
+
*
|
740
|
+
* @since 14.0.0
|
741
|
+
* @event Hooks#beforeSelectRows
|
742
|
+
* @param {CellCoords} from Selection start coords object.
|
743
|
+
* @param {CellCoords} to Selection end coords object.
|
744
|
+
* @param {CellCoords} highlight Selection cell focus coords object.
|
745
|
+
* @example
|
746
|
+
* ::: only-for javascript
|
747
|
+
* ```js
|
748
|
+
* new Handsontable(element, {
|
749
|
+
* beforeSelectRows: (from, to, highlight) => {
|
750
|
+
* // Extend the row selection by one row up and one row bottom more.
|
751
|
+
* from.row = Math.max(from.row - 1, 0);
|
752
|
+
* to.row = Math.min(to.row + 1, this.countRows() - 1);
|
753
|
+
* }
|
754
|
+
* })
|
755
|
+
* ```
|
756
|
+
* :::
|
757
|
+
*
|
758
|
+
* ::: only-for react
|
759
|
+
* ```jsx
|
760
|
+
* <HotTable
|
761
|
+
* beforeSelectRows={(from, to, highlight) => {
|
762
|
+
* // Extend the row selection by one row up and one row bottom more.
|
763
|
+
* from.row = Math.max(from.row - 1, 0);
|
764
|
+
* to.row = Math.min(to.row + 1, this.countRows() - 1);
|
765
|
+
* }}
|
766
|
+
* />
|
767
|
+
* ```
|
768
|
+
* :::
|
769
|
+
*/
|
770
|
+
'beforeSelectRows',
|
771
|
+
/**
|
772
|
+
* Fired after one or more rows are selected (e.g. During mouse header click or {@link Core#selectRows} API call).
|
773
|
+
*
|
774
|
+
* @since 14.0.0
|
775
|
+
* @event Hooks#afterSelectRows
|
776
|
+
* @param {CellCoords} from Selection start coords object.
|
777
|
+
* @param {CellCoords} to Selection end coords object.
|
778
|
+
* @param {CellCoords} highlight Selection cell focus coords object.
|
779
|
+
*/
|
780
|
+
'afterSelectRows',
|
658
781
|
/**
|
659
782
|
* Fired after cell meta is changed.
|
660
783
|
*
|
@@ -1077,6 +1200,38 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
1077
1200
|
* If set to `false`, the rendering gets triggered by scrolling or moving the selection.
|
1078
1201
|
*/
|
1079
1202
|
'afterRender',
|
1203
|
+
/**
|
1204
|
+
* When the focus position is moved to the next or previous row caused by the {@link Options#autoWrapRow} option
|
1205
|
+
* the hook is triggered.
|
1206
|
+
*
|
1207
|
+
* @since 14.0.0
|
1208
|
+
* @event Hooks#beforeRowWrap
|
1209
|
+
* @param {boolean} isWrapEnabled Tells whether the row wrapping is going to happen.
|
1210
|
+
* There may be situations where the option does not work even though it is enabled.
|
1211
|
+
* This is due to the priority of other options that may block the feature.
|
1212
|
+
* For example, when the {@link Options#minSpareCols} is defined, the {@link Options#autoWrapRow} option is not checked.
|
1213
|
+
* Thus, row wrapping is off.
|
1214
|
+
* @param {CellCoords} newCoords The new focus position.
|
1215
|
+
* @param {boolean} isFlipped `true` if the row index was flipped, `false` otherwise.
|
1216
|
+
* Flipped index means that the user reached the last row and the focus is moved to the first row or vice versa.
|
1217
|
+
*/
|
1218
|
+
'beforeRowWrap',
|
1219
|
+
/**
|
1220
|
+
* When the focus position is moved to the next or previous column caused by the {@link Options#autoWrapCol} option
|
1221
|
+
* the hook is triggered.
|
1222
|
+
*
|
1223
|
+
* @since 14.0.0
|
1224
|
+
* @event Hooks#beforeColumnWrap
|
1225
|
+
* @param {boolean} isWrapEnabled Tells whether the column wrapping is going to happen.
|
1226
|
+
* There may be situations where the option does not work even though it is enabled.
|
1227
|
+
* This is due to the priority of other options that may block the feature.
|
1228
|
+
* For example, when the {@link Options#minSpareRows} is defined, the {@link Options#autoWrapCol} option is not checked.
|
1229
|
+
* Thus, column wrapping is off.
|
1230
|
+
* @param {CellCoords} newCoords The new focus position.
|
1231
|
+
* @param {boolean} isFlipped `true` if the column index was flipped, `false` otherwise.
|
1232
|
+
* Flipped index means that the user reached the last column and the focus is moved to the first column or vice versa.
|
1233
|
+
*/
|
1234
|
+
'beforeColumnWrap',
|
1080
1235
|
/**
|
1081
1236
|
* Fired before cell meta is changed.
|
1082
1237
|
*
|
@@ -1110,6 +1265,13 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
1110
1265
|
* @param {CellCoords} coords CellCoords instance.
|
1111
1266
|
*/
|
1112
1267
|
'beforeSetRangeEnd',
|
1268
|
+
/**
|
1269
|
+
* Fired before applying selection coordinates to the renderable coordinates for Walkontable (rendering engine).
|
1270
|
+
*
|
1271
|
+
* @since 14.0.0
|
1272
|
+
* @event Hooks#beforeSelectionHighlightSet
|
1273
|
+
*/
|
1274
|
+
'beforeSelectionHighlightSet',
|
1113
1275
|
/**
|
1114
1276
|
* Fired before the logic of handling a touch scroll, when user started scrolling on a touch-enabled device.
|
1115
1277
|
*
|
@@ -1166,6 +1328,17 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
1166
1328
|
* @param {number} column Visual column index.
|
1167
1329
|
*/
|
1168
1330
|
'modifyColWidth',
|
1331
|
+
/**
|
1332
|
+
* Fired when focusing a cell or a header element. Allows replacing the element to be focused by returning a
|
1333
|
+
* different HTML element.
|
1334
|
+
*
|
1335
|
+
* @since 14.0.0
|
1336
|
+
* @event Hooks#modifyFocusedElement
|
1337
|
+
* @param {number} row Row index.
|
1338
|
+
* @param {number} column Column index.
|
1339
|
+
* @param {HTMLElement|undefined} focusedElement The element to be focused.
|
1340
|
+
*/
|
1341
|
+
'modifyFocusedElement',
|
1169
1342
|
/**
|
1170
1343
|
* Fired when a row header index is about to be modified by a callback function.
|
1171
1344
|
*
|
@@ -1223,6 +1396,16 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
1223
1396
|
* @returns {undefined|number[]}
|
1224
1397
|
*/
|
1225
1398
|
'modifyGetCellCoords',
|
1399
|
+
/**
|
1400
|
+
* Used to modify the cell coordinates when the table is activated (going into the listen mode).
|
1401
|
+
*
|
1402
|
+
* @event Hooks#modifyFocusOnTabNavigation
|
1403
|
+
* @since 14.0.0
|
1404
|
+
* @param {'from_above' | 'from_below'} tabActivationDir The browsers Tab navigation direction. Depending on
|
1405
|
+
* whether the user activated the table from the element above or below, another cell can be selected.
|
1406
|
+
* @param {CellCoords} visualCoords The coords that will be used to select a cell.
|
1407
|
+
*/
|
1408
|
+
'modifyFocusOnTabNavigation',
|
1226
1409
|
/**
|
1227
1410
|
* Allows modify the visual row index that is used to retrieve the row header element (TH) before it's
|
1228
1411
|
* highlighted (proper CSS class names are added). Modifying the visual row index allows building a custom
|
@@ -1320,26 +1503,35 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
1320
1503
|
* Fired by {@link CopyPaste} plugin before copying the values to the clipboard and before clearing values of
|
1321
1504
|
* the selected cells. This hook is fired when {@link Options#copyPaste} option is enabled.
|
1322
1505
|
*
|
1506
|
+
* Note: Please keep in mind since @14.0.0 the method arguments has been changed.
|
1507
|
+
*
|
1323
1508
|
* @event Hooks#beforeCut
|
1324
|
-
* @param {
|
1325
|
-
* @param {
|
1326
|
-
*
|
1509
|
+
* @param {object} clipboardData Information about cut action which is going to happen.
|
1510
|
+
* @param {Function} clipboardData.removeRow Remove row from the copied dataset.
|
1511
|
+
* @param {Function} clipboardData.removeColumn Remove column from the copied dataset.
|
1512
|
+
* @param {Function} clipboardData.insertAtRow Insert values at row index.
|
1513
|
+
* @param {Function} clipboardData.insertAtColumn Insert values at column index.
|
1514
|
+
* @param {Function} clipboardData.setCellAt Change headers or cells in the copied dataset.
|
1515
|
+
* @param {Function} clipboardData.getCellAt Get headers or cells from the copied dataset.
|
1516
|
+
* @param {Function} clipboardData.getData Gets copied data stored as array of arrays.
|
1517
|
+
* @param {Function} clipboardData.getMetaInfo Gets meta information for the copied data.
|
1518
|
+
* @param {Function} clipboardData.getRanges Returns ranges related to copied part of Handsontable.
|
1327
1519
|
* @returns {*} If returns `false` then operation of the cutting out is canceled.
|
1328
1520
|
* @example
|
1329
1521
|
* ::: only-for javascript
|
1330
1522
|
* ```js
|
1331
|
-
* // To disregard a single row, remove it from
|
1523
|
+
* // To disregard a single row or column, remove it from copied dataset using `removeRows`/`removeColumns` method on the object from the first callback argument.
|
1332
1524
|
* new Handsontable(element, {
|
1333
|
-
* beforeCut: function(
|
1334
|
-
* //
|
1335
|
-
*
|
1336
|
-
*
|
1337
|
-
* //
|
1525
|
+
* beforeCut: function(clipboardData) {
|
1526
|
+
* // clipboardData.getData() -> [[1, 2, 3], [4, 5, 6]]
|
1527
|
+
* clipboardData.removeRows([0]);
|
1528
|
+
* clipboardData.removeColumns([0]);
|
1529
|
+
* // clipboardData.getData() -> [[5, 6]]
|
1338
1530
|
* }
|
1339
1531
|
* });
|
1340
1532
|
* // To cancel a cutting action, just return `false`.
|
1341
1533
|
* new Handsontable(element, {
|
1342
|
-
* beforeCut: function(
|
1534
|
+
* beforeCut: function(clipboardData) {
|
1343
1535
|
* return false;
|
1344
1536
|
* }
|
1345
1537
|
* });
|
@@ -1348,18 +1540,18 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
1348
1540
|
*
|
1349
1541
|
* ::: only-for react
|
1350
1542
|
* ```jsx
|
1351
|
-
* // To disregard a single row, remove it from
|
1543
|
+
* // To disregard a single row or column, remove it from copied dataset using `removeRows`/`removeColumns` method on the object from the first callback argument.
|
1352
1544
|
* <HotTable
|
1353
|
-
* beforeCut={(
|
1354
|
-
* //
|
1355
|
-
*
|
1356
|
-
*
|
1357
|
-
* //
|
1545
|
+
* beforeCut={(clipboardData) => {
|
1546
|
+
* // clipboardData.getData() -> [[1, 2, 3], [4, 5, 6]]
|
1547
|
+
* clipboardData.removeRows([0]);
|
1548
|
+
* clipboardData.removeColumns([0]);
|
1549
|
+
* // clipboardData.getData() -> [[5, 6]]
|
1358
1550
|
* }}
|
1359
1551
|
* />
|
1360
1552
|
* // To cancel a cutting action, just return `false`.
|
1361
1553
|
* <HotTable
|
1362
|
-
* beforeCut={(
|
1554
|
+
* beforeCut={(clipboardData) => {
|
1363
1555
|
* return false;
|
1364
1556
|
* }}
|
1365
1557
|
* />
|
@@ -1371,33 +1563,50 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
1371
1563
|
* Fired by {@link CopyPaste} plugin after data was cut out from the table. This hook is fired when
|
1372
1564
|
* {@link Options#copyPaste} option is enabled.
|
1373
1565
|
*
|
1566
|
+
* Note: Please keep in mind since @14.0.0 the method arguments has been changed.
|
1567
|
+
*
|
1374
1568
|
* @event Hooks#afterCut
|
1375
|
-
* @param {
|
1376
|
-
* @param {
|
1377
|
-
*
|
1569
|
+
* @param {object} clipboardData Information about already performed cut action.
|
1570
|
+
* @param {Function} clipboardData.removeRow Remove row from the copied dataset.
|
1571
|
+
* @param {Function} clipboardData.removeColumn Remove column from the copied dataset.
|
1572
|
+
* @param {Function} clipboardData.insertAtRow Insert values at row index.
|
1573
|
+
* @param {Function} clipboardData.insertAtColumn Insert values at column index.
|
1574
|
+
* @param {Function} clipboardData.setCellAt Change headers or cells in the copied dataset.
|
1575
|
+
* @param {Function} clipboardData.getCellAt Get headers or cells from the copied dataset.
|
1576
|
+
* @param {Function} clipboardData.getData Gets copied data stored as array of arrays.
|
1577
|
+
* @param {Function} clipboardData.getMetaInfo Gets meta information for the copied data.
|
1578
|
+
* @param {Function} clipboardData.getRanges Returns ranges related to copied part of Handsontable.
|
1378
1579
|
*/
|
1379
1580
|
'afterCut',
|
1380
1581
|
/**
|
1381
1582
|
* Fired before values are copied to the clipboard.
|
1382
1583
|
*
|
1584
|
+
* Note: Please keep in mind since @14.0.0 the method arguments has been changed.
|
1585
|
+
*
|
1383
1586
|
* @event Hooks#beforeCopy
|
1384
|
-
* @param {
|
1385
|
-
* @param {
|
1386
|
-
*
|
1387
|
-
* @param {
|
1587
|
+
* @param {object} clipboardData Information about copy action which is going to happen.
|
1588
|
+
* @param {Function} clipboardData.removeRow Remove row from the copied dataset.
|
1589
|
+
* @param {Function} clipboardData.removeColumn Remove column from the copied dataset.
|
1590
|
+
* @param {Function} clipboardData.insertAtRow Insert values at row index.
|
1591
|
+
* @param {Function} clipboardData.insertAtColumn Insert values at column index.
|
1592
|
+
* @param {Function} clipboardData.setCellAt Change headers or cells in the copied dataset.
|
1593
|
+
* @param {Function} clipboardData.getCellAt Get headers or cells from the copied dataset.
|
1594
|
+
* @param {Function} clipboardData.getData Gets copied data stored as array of arrays.
|
1595
|
+
* @param {Function} clipboardData.getMetaInfo Gets meta information for the copied data.
|
1596
|
+
* @param {Function} clipboardData.getRanges Returns ranges related to copied part of Handsontable.
|
1388
1597
|
* @returns {*} If returns `false` then copying is canceled.
|
1389
1598
|
*
|
1390
1599
|
* @example
|
1391
1600
|
* ::: only-for javascript
|
1392
1601
|
* ```js
|
1393
|
-
* // To disregard a single row, remove it from
|
1602
|
+
* // To disregard a single row or column, remove it from copied dataset using `removeRows`/`removeColumns` method on the object from the first callback argument.
|
1394
1603
|
* ...
|
1395
1604
|
* new Handsontable(document.getElementById('example'), {
|
1396
|
-
* beforeCopy: (
|
1397
|
-
* //
|
1398
|
-
*
|
1399
|
-
*
|
1400
|
-
* //
|
1605
|
+
* beforeCopy: (clipboardData) => {
|
1606
|
+
* // clipboardData.getData() -> [[1, 2, 3], [4, 5, 6]]
|
1607
|
+
* clipboardData.removeRows([0]);
|
1608
|
+
* clipboardData.removeColumns([0]);
|
1609
|
+
* // clipboardData.getData() -> [[5, 6]]
|
1401
1610
|
* }
|
1402
1611
|
* });
|
1403
1612
|
* ...
|
@@ -1405,7 +1614,7 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
1405
1614
|
* // To cancel copying, return false from the callback.
|
1406
1615
|
* ...
|
1407
1616
|
* new Handsontable(document.getElementById('example'), {
|
1408
|
-
* beforeCopy: (
|
1617
|
+
* beforeCopy: (clipboardData) => {
|
1409
1618
|
* return false;
|
1410
1619
|
* }
|
1411
1620
|
* });
|
@@ -1415,14 +1624,14 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
1415
1624
|
*
|
1416
1625
|
* ::: only-for react
|
1417
1626
|
* ```jsx
|
1418
|
-
* // To disregard a single row, remove it from
|
1627
|
+
* // To disregard a single row or column, remove it from copied dataset using `removeRows`/`removeColumns` method on the object from the first callback argument.
|
1419
1628
|
* ...
|
1420
1629
|
* <HotTable
|
1421
|
-
* beforeCopy={(
|
1422
|
-
* //
|
1423
|
-
*
|
1424
|
-
*
|
1425
|
-
* //
|
1630
|
+
* beforeCopy={(clipboardData) => {
|
1631
|
+
* // clipboardData.getData() -> [[1, 2, 3], [4, 5, 6]]
|
1632
|
+
* clipboardData.removeRows([0]);
|
1633
|
+
* clipboardData.removeColumns([0]);
|
1634
|
+
* // clipboardData.getData() -> [[5, 6]]
|
1426
1635
|
* }}
|
1427
1636
|
* />
|
1428
1637
|
* ...
|
@@ -1430,7 +1639,7 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
1430
1639
|
* // To cancel copying, return false from the callback.
|
1431
1640
|
* ...
|
1432
1641
|
* <HotTable
|
1433
|
-
* beforeCopy={(
|
1642
|
+
* beforeCopy={(clipboardData) => {
|
1434
1643
|
* return false;
|
1435
1644
|
* }}
|
1436
1645
|
* />
|
@@ -1443,37 +1652,55 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
1443
1652
|
* Fired by {@link CopyPaste} plugin after data are pasted into table. This hook is fired when {@link Options#copyPaste}
|
1444
1653
|
* option is enabled.
|
1445
1654
|
*
|
1655
|
+
* Note: Please keep in mind since @14.0.0 the method arguments has been changed.
|
1656
|
+
*
|
1446
1657
|
* @event Hooks#afterCopy
|
1447
|
-
* @param {
|
1448
|
-
* @param {
|
1449
|
-
*
|
1450
|
-
* @param {
|
1658
|
+
* @param {object} clipboardData Information about already performed copy action.
|
1659
|
+
* @param {Function} clipboardData.removeRow Remove row from the copied dataset.
|
1660
|
+
* @param {Function} clipboardData.removeColumn Remove column from the copied dataset.
|
1661
|
+
* @param {Function} clipboardData.insertAtRow Insert values at row index.
|
1662
|
+
* @param {Function} clipboardData.insertAtColumn Insert values at column index.
|
1663
|
+
* @param {Function} clipboardData.setCellAt Change headers or cells in the copied dataset.
|
1664
|
+
* @param {Function} clipboardData.getCellAt Get headers or cells from the copied dataset.
|
1665
|
+
* @param {Function} clipboardData.getData Gets copied data stored as array of arrays.
|
1666
|
+
* @param {Function} clipboardData.getMetaInfo Gets meta information for the copied data.
|
1667
|
+
* @param {Function} clipboardData.getRanges Returns ranges related to copied part of Handsontable.
|
1451
1668
|
*/
|
1452
1669
|
'afterCopy',
|
1453
1670
|
/**
|
1454
1671
|
* Fired by {@link CopyPaste} plugin before values are pasted into table. This hook is fired when
|
1455
1672
|
* {@link Options#copyPaste} option is enabled.
|
1456
1673
|
*
|
1674
|
+
* Note: Please keep in mind since @14.0.0 the method arguments has been changed.
|
1675
|
+
*
|
1457
1676
|
* @event Hooks#beforePaste
|
1458
|
-
* @param {
|
1459
|
-
* @param {
|
1460
|
-
*
|
1677
|
+
* @param {object} clipboardData Information about paste action which is going to happen.
|
1678
|
+
* @param {Function} clipboardData.removeRow Remove row from the pasted dataset.
|
1679
|
+
* @param {Function} clipboardData.removeColumn Remove column from the pasted dataset.
|
1680
|
+
* @param {Function} clipboardData.insertAtRow Insert values at row index.
|
1681
|
+
* @param {Function} clipboardData.insertAtColumn Insert values at column index.
|
1682
|
+
* @param {Function} clipboardData.setCellAt Change headers or cells in the pasted dataset.
|
1683
|
+
* @param {Function} clipboardData.getCellAt Get headers or cells from the pasted dataset.
|
1684
|
+
* @param {Function} clipboardData.getData Gets copied data stored as array of arrays.
|
1685
|
+
* @param {Function} clipboardData.getMetaInfo Gets meta information for the copied data.
|
1686
|
+
* @param {Function} clipboardData.getSource Gets information about source of the copied data
|
1687
|
+
* (Handsontable, table or string).
|
1461
1688
|
* @returns {*} If returns `false` then pasting is canceled.
|
1462
1689
|
* @example
|
1463
1690
|
* ```js
|
1464
1691
|
* ::: only-for javascript
|
1465
|
-
* // To disregard a single row, remove it from
|
1692
|
+
* // To disregard a single row or column, remove it from copied dataset using `removeRows`/`removeColumns` method on the object from the first callback argument.
|
1466
1693
|
* new Handsontable(example, {
|
1467
|
-
* beforePaste: (
|
1468
|
-
* //
|
1469
|
-
*
|
1470
|
-
*
|
1471
|
-
* //
|
1694
|
+
* beforePaste: (clipboardData) => {
|
1695
|
+
* // clipboardData.getData() -> [[1, 2, 3], [4, 5, 6]]
|
1696
|
+
* clipboardData.removeRows([0]);
|
1697
|
+
* clipboardData.removeColumns([0]);
|
1698
|
+
* // clipboardData.getData() -> [[5, 6]]
|
1472
1699
|
* }
|
1473
1700
|
* });
|
1474
1701
|
* // To cancel pasting, return false from the callback.
|
1475
1702
|
* new Handsontable(example, {
|
1476
|
-
* beforePaste: (
|
1703
|
+
* beforePaste: (clipboardData) => {
|
1477
1704
|
* return false;
|
1478
1705
|
* }
|
1479
1706
|
* });
|
@@ -1482,18 +1709,18 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
1482
1709
|
*
|
1483
1710
|
* ::: only-for react
|
1484
1711
|
* ```jsx
|
1485
|
-
* // To disregard a single row, remove it from
|
1712
|
+
* // To disregard a single row or column, remove it from copied dataset using `removeRows`/`removeColumns` method on the object from the first callback argument.
|
1486
1713
|
* <HotTable
|
1487
|
-
* beforePaste={(
|
1488
|
-
* //
|
1489
|
-
*
|
1490
|
-
*
|
1491
|
-
* //
|
1714
|
+
* beforePaste={(clipboardData) => {
|
1715
|
+
* // clipboardData.getData() -> [[1, 2, 3], [4, 5, 6]]
|
1716
|
+
* clipboardData.removeRows([0]);
|
1717
|
+
* clipboardData.removeColumns([0]);
|
1718
|
+
* // clipboardData.getData() -> [[5, 6]]
|
1492
1719
|
* }}
|
1493
1720
|
* />
|
1494
1721
|
* // To cancel pasting, return false from the callback.
|
1495
1722
|
* <HotTable
|
1496
|
-
* beforePaste={(
|
1723
|
+
* beforePaste={(clipboardData) => {
|
1497
1724
|
* return false;
|
1498
1725
|
* }}
|
1499
1726
|
* />
|
@@ -1505,10 +1732,20 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
1505
1732
|
* Fired by {@link CopyPaste} plugin after values are pasted into table. This hook is fired when
|
1506
1733
|
* {@link Options#copyPaste} option is enabled.
|
1507
1734
|
*
|
1735
|
+
* Note: Please keep in mind since @14.0.0 the method arguments has been changed.
|
1736
|
+
*
|
1508
1737
|
* @event Hooks#afterPaste
|
1509
|
-
* @param {
|
1510
|
-
* @param {
|
1511
|
-
*
|
1738
|
+
* @param {object} clipboardData Information about already performed paste action.
|
1739
|
+
* @param {Function} clipboardData.removeRow Remove row from the pasted dataset.
|
1740
|
+
* @param {Function} clipboardData.removeColumn Remove column from the pasted dataset.
|
1741
|
+
* @param {Function} clipboardData.insertAtRow Insert values at row index.
|
1742
|
+
* @param {Function} clipboardData.insertAtColumn Insert values at column index.
|
1743
|
+
* @param {Function} clipboardData.setCellAt Change headers or cells in the pasted dataset.
|
1744
|
+
* @param {Function} clipboardData.getCellAt Get headers or cells from the pasted dataset.
|
1745
|
+
* @param {Function} clipboardData.getData Gets copied data stored as array of arrays.
|
1746
|
+
* @param {Function} clipboardData.getMetaInfo Gets meta information for the copied data.
|
1747
|
+
* @param {Function} clipboardData.getSource Gets information about source of the copied data
|
1748
|
+
* (Handsontable, table or string).
|
1512
1749
|
*/
|
1513
1750
|
'afterPaste',
|
1514
1751
|
/**
|
@@ -2380,7 +2617,7 @@ const REMOVED_HOOKS = new Map([['modifyRow', '8.0.0'], ['modifyCol', '8.0.0'], [
|
|
2380
2617
|
* @type {Map<string, string>}
|
2381
2618
|
*/
|
2382
2619
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
2383
|
-
const DEPRECATED_HOOKS = new Map([]);
|
2620
|
+
const DEPRECATED_HOOKS = new Map([['beforeRemoveCellClassNames', 'The hook "beforeRemoveCellClassNames" is deprecated and will be removed in the next major release.']]);
|
2384
2621
|
class Hooks {
|
2385
2622
|
static getSingleton() {
|
2386
2623
|
return getGlobalSingleton();
|
@@ -16,10 +16,8 @@ var _translations = require("../../translations");
|
|
16
16
|
var _mixed = require("../../helpers/mixed");
|
17
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
18
18
|
_pluginHooks.default.getSingleton().register('modifyAutoColumnSizeSeed');
|
19
|
-
const PLUGIN_KEY = 'autoColumnSize';
|
20
|
-
exports.
|
21
|
-
const PLUGIN_PRIORITY = 10;
|
22
|
-
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
19
|
+
const PLUGIN_KEY = exports.PLUGIN_KEY = 'autoColumnSize';
|
20
|
+
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 10;
|
23
21
|
const privatePool = new WeakMap();
|
24
22
|
const COLUMN_SIZE_MAP_NAME = 'autoColumnSize';
|
25
23
|
|
@@ -12,10 +12,8 @@ var _samplesGenerator = _interopRequireDefault(require("../../utils/samplesGener
|
|
12
12
|
var _string = require("../../helpers/string");
|
13
13
|
var _translations = require("../../translations");
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
|
-
const PLUGIN_KEY = 'autoRowSize';
|
16
|
-
exports.
|
17
|
-
const PLUGIN_PRIORITY = 40;
|
18
|
-
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
15
|
+
const PLUGIN_KEY = exports.PLUGIN_KEY = 'autoRowSize';
|
16
|
+
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 40;
|
19
17
|
const ROW_WIDTHS_MAP_NAME = 'autoRowSize';
|
20
18
|
|
21
19
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
@@ -147,12 +145,19 @@ class AutoRowSize extends _base.BasePlugin {
|
|
147
145
|
* @private
|
148
146
|
* @type {SamplesGenerator}
|
149
147
|
*/
|
150
|
-
this.samplesGenerator = new _samplesGenerator.default((row,
|
148
|
+
this.samplesGenerator = new _samplesGenerator.default((row, column) => {
|
149
|
+
if (row >= 0 && column >= 0) {
|
150
|
+
const cellMeta = this.hot.getCellMeta(row, column);
|
151
|
+
if (cellMeta.hidden) {
|
152
|
+
// do not generate samples for cells that are covered by merged cell (null values)
|
153
|
+
return false;
|
154
|
+
}
|
155
|
+
}
|
151
156
|
let cellValue;
|
152
157
|
if (row >= 0) {
|
153
|
-
cellValue = this.hot.getDataAtCell(row,
|
158
|
+
cellValue = this.hot.getDataAtCell(row, column);
|
154
159
|
} else if (row === -1) {
|
155
|
-
cellValue = this.hot.getColHeader(
|
160
|
+
cellValue = this.hot.getColHeader(column);
|
156
161
|
}
|
157
162
|
return {
|
158
163
|
value: cellValue
|
@@ -187,7 +192,7 @@ class AutoRowSize extends _base.BasePlugin {
|
|
187
192
|
this.hot.rowIndexMapper.registerMap(ROW_WIDTHS_MAP_NAME, this.rowHeightsMap);
|
188
193
|
|
189
194
|
// Leave the listener active to allow auto-sizing the rows when the plugin is disabled.
|
190
|
-
// This is
|
195
|
+
// This is necessary for height recalculation for resize handler doubleclick (ManualRowResize).
|
191
196
|
this.addHook('beforeRowResize', (size, row, isDblClick) => this.onBeforeRowResize(size, row, isDblClick));
|
192
197
|
}
|
193
198
|
|
@@ -577,11 +582,11 @@ class AutoRowSize extends _base.BasePlugin {
|
|
577
582
|
this.recalculateAllRowsHeight();
|
578
583
|
} else {
|
579
584
|
// first load - initialization
|
580
|
-
|
585
|
+
this.hot._registerTimeout(() => {
|
581
586
|
if (this.hot) {
|
582
587
|
this.recalculateAllRowsHeight();
|
583
588
|
}
|
584
|
-
}
|
589
|
+
});
|
585
590
|
}
|
586
591
|
}
|
587
592
|
|