handsontable 13.1.0 → 14.0.0-next-e8f87aa-20231030
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
|