handsontable 12.1.3 → 12.3.0-next-bb1a7c2-20221208
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/SheetClip/SheetClip.js +3 -32
- package/3rdparty/SheetClip/SheetClip.mjs +3 -23
- package/3rdparty/SheetClip/index.js +0 -2
- package/3rdparty/autoResize/autoResize.js +119 -145
- package/3rdparty/autoResize/autoResize.mjs +119 -143
- package/3rdparty/autoResize/index.js +0 -2
- package/3rdparty/walkontable/src/border.js +44 -154
- package/3rdparty/walkontable/src/border.mjs +41 -136
- package/3rdparty/walkontable/src/calculator/constants.js +0 -3
- package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
- package/3rdparty/walkontable/src/calculator/index.js +0 -10
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +36 -77
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +36 -70
- package/3rdparty/walkontable/src/calculator/viewportRows.js +30 -49
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +30 -42
- package/3rdparty/walkontable/src/cell/coords.d.ts +1 -1
- package/3rdparty/walkontable/src/cell/coords.js +73 -65
- package/3rdparty/walkontable/src/cell/coords.mjs +73 -60
- package/3rdparty/walkontable/src/cell/range.d.ts +19 -16
- package/3rdparty/walkontable/src/cell/range.js +251 -231
- package/3rdparty/walkontable/src/cell/range.mjs +251 -222
- package/3rdparty/walkontable/src/core/_base.js +30 -74
- package/3rdparty/walkontable/src/core/_base.mjs +30 -67
- package/3rdparty/walkontable/src/core/clone.js +11 -44
- package/3rdparty/walkontable/src/core/clone.mjs +11 -32
- package/3rdparty/walkontable/src/core/core.js +8 -56
- package/3rdparty/walkontable/src/core/core.mjs +8 -38
- package/3rdparty/walkontable/src/event.js +41 -79
- package/3rdparty/walkontable/src/event.mjs +41 -66
- package/3rdparty/walkontable/src/facade/core.js +14 -16
- package/3rdparty/walkontable/src/facade/core.mjs +14 -13
- package/3rdparty/walkontable/src/filter/column.js +22 -17
- package/3rdparty/walkontable/src/filter/column.mjs +22 -16
- package/3rdparty/walkontable/src/filter/row.js +22 -17
- package/3rdparty/walkontable/src/filter/row.mjs +22 -16
- package/3rdparty/walkontable/src/index.js +0 -31
- package/3rdparty/walkontable/src/overlay/_base.js +38 -69
- package/3rdparty/walkontable/src/overlay/_base.mjs +38 -61
- package/3rdparty/walkontable/src/overlay/bottom.js +38 -103
- package/3rdparty/walkontable/src/overlay/bottom.mjs +38 -88
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +12 -52
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +12 -37
- package/3rdparty/walkontable/src/overlay/constants.js +0 -6
- package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
- package/3rdparty/walkontable/src/overlay/index.js +0 -17
- package/3rdparty/walkontable/src/overlay/inlineStart.js +26 -90
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +26 -75
- package/3rdparty/walkontable/src/overlay/top.js +37 -104
- package/3rdparty/walkontable/src/overlay/top.mjs +37 -89
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +14 -55
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +14 -40
- package/3rdparty/walkontable/src/overlays.js +124 -145
- package/3rdparty/walkontable/src/overlays.mjs +124 -135
- package/3rdparty/walkontable/src/renderer/_base.js +17 -19
- package/3rdparty/walkontable/src/renderer/_base.mjs +17 -17
- package/3rdparty/walkontable/src/renderer/cells.js +15 -53
- package/3rdparty/walkontable/src/renderer/cells.mjs +15 -39
- package/3rdparty/walkontable/src/renderer/colGroup.js +15 -46
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +15 -34
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +13 -49
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +13 -37
- package/3rdparty/walkontable/src/renderer/index.js +26 -35
- package/3rdparty/walkontable/src/renderer/index.mjs +26 -22
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +13 -49
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +13 -36
- package/3rdparty/walkontable/src/renderer/rows.js +11 -49
- package/3rdparty/walkontable/src/renderer/rows.mjs +11 -32
- package/3rdparty/walkontable/src/renderer/table.js +35 -48
- package/3rdparty/walkontable/src/renderer/table.mjs +35 -47
- package/3rdparty/walkontable/src/scroll.js +69 -86
- package/3rdparty/walkontable/src/scroll.mjs +69 -84
- package/3rdparty/walkontable/src/selection.js +28 -103
- package/3rdparty/walkontable/src/selection.mjs +26 -83
- package/3rdparty/walkontable/src/settings.js +25 -31
- package/3rdparty/walkontable/src/settings.mjs +25 -29
- package/3rdparty/walkontable/src/table/bottom.js +6 -34
- package/3rdparty/walkontable/src/table/bottom.mjs +6 -19
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +6 -34
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +6 -19
- package/3rdparty/walkontable/src/table/inlineStart.js +6 -34
- package/3rdparty/walkontable/src/table/inlineStart.mjs +6 -19
- package/3rdparty/walkontable/src/table/master.js +15 -54
- package/3rdparty/walkontable/src/table/master.mjs +15 -38
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +1 -16
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +1 -14
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +1 -16
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +1 -14
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +1 -10
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +1 -8
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +1 -11
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +1 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +1 -10
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +1 -8
- package/3rdparty/walkontable/src/table/top.js +6 -34
- package/3rdparty/walkontable/src/table/top.mjs +6 -19
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +6 -34
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +6 -19
- package/3rdparty/walkontable/src/table.js +73 -233
- package/3rdparty/walkontable/src/table.mjs +71 -210
- package/3rdparty/walkontable/src/types.js +0 -5
- package/3rdparty/walkontable/src/types.mjs +0 -5
- package/3rdparty/walkontable/src/utils/column.js +18 -30
- package/3rdparty/walkontable/src/utils/column.mjs +18 -25
- package/3rdparty/walkontable/src/utils/nodesPool.js +16 -11
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +16 -10
- package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
- package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
- package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +7 -32
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +7 -21
- package/3rdparty/walkontable/src/utils/orderView/view.js +27 -45
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +27 -42
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +16 -14
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +16 -13
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +21 -21
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +21 -18
- package/3rdparty/walkontable/src/utils/row.js +15 -12
- package/3rdparty/walkontable/src/utils/row.mjs +15 -11
- package/3rdparty/walkontable/src/viewport.js +51 -99
- package/3rdparty/walkontable/src/viewport.mjs +51 -96
- package/CHANGELOG.md +99 -1
- package/base.d.ts +1 -0
- package/base.js +11 -17
- package/base.mjs +10 -11
- package/cellTypes/autocompleteType/autocompleteType.js +0 -4
- package/cellTypes/autocompleteType/index.js +0 -2
- package/cellTypes/checkboxType/checkboxType.js +0 -3
- package/cellTypes/checkboxType/index.js +0 -2
- package/cellTypes/dateType/dateType.js +0 -4
- package/cellTypes/dateType/index.js +0 -2
- package/cellTypes/dropdownType/dropdownType.js +0 -4
- package/cellTypes/dropdownType/index.js +0 -2
- package/cellTypes/handsontableType/handsontableType.js +0 -3
- package/cellTypes/handsontableType/index.js +0 -2
- package/cellTypes/index.js +0 -21
- package/cellTypes/index.mjs +0 -1
- package/cellTypes/numericType/index.js +0 -2
- package/cellTypes/numericType/numericType.js +0 -4
- package/cellTypes/passwordType/index.js +0 -2
- package/cellTypes/passwordType/passwordType.js +0 -3
- package/cellTypes/registry.js +10 -25
- package/cellTypes/registry.mjs +10 -20
- package/cellTypes/textType/index.js +0 -2
- package/cellTypes/textType/textType.js +0 -3
- package/cellTypes/timeType/index.js +0 -2
- package/cellTypes/timeType/timeType.js +0 -4
- package/core.d.ts +6 -2
- package/core.js +714 -1070
- package/core.mjs +717 -1015
- package/dataMap/dataMap.js +202 -236
- package/dataMap/dataMap.mjs +201 -209
- package/{dataSource.js → dataMap/dataSource.js} +29 -65
- package/{dataSource.mjs → dataMap/dataSource.mjs} +29 -57
- package/dataMap/index.js +0 -13
- package/dataMap/metaManager/index.js +33 -45
- package/dataMap/metaManager/index.mjs +33 -37
- package/dataMap/metaManager/lazyFactoryMap.js +17 -62
- package/dataMap/metaManager/lazyFactoryMap.mjs +17 -46
- package/dataMap/metaManager/metaLayers/cellMeta.js +26 -57
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +25 -41
- package/dataMap/metaManager/metaLayers/columnMeta.js +23 -24
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +24 -21
- package/dataMap/metaManager/metaLayers/globalMeta.js +30 -21
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +31 -18
- package/dataMap/metaManager/metaLayers/tableMeta.js +18 -15
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +19 -14
- package/dataMap/metaManager/metaSchema.js +173 -213
- package/dataMap/metaManager/metaSchema.mjs +173 -204
- package/dataMap/metaManager/mods/dynamicCellMeta.js +15 -35
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +15 -24
- package/dataMap/metaManager/mods/extendMetaProperties.js +14 -27
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +14 -19
- package/dataMap/metaManager/utils.js +49 -28
- package/dataMap/metaManager/utils.mjs +50 -21
- package/dataMap/replaceData.js +15 -35
- package/dataMap/replaceData.mjs +15 -23
- package/dist/handsontable.css +9 -9
- package/dist/handsontable.full.css +9 -9
- package/dist/handsontable.full.js +13065 -28165
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +108 -114
- package/dist/handsontable.js +11528 -21792
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +111 -240
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.js +50 -14
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.js +52 -16
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.js +52 -16
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.js +53 -17
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.js +56 -20
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +56 -20
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.js +55 -19
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/it-IT.js +55 -19
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.js +83 -43
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.js +84 -43
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.js +85 -43
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.js +86 -43
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.js +87 -43
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.js +88 -43
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +67 -28
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.js +67 -28
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.js +55 -16
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.js +55 -16
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.js +55 -16
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +53 -113
- package/editorManager.mjs +50 -90
- package/editors/autocompleteEditor/autocompleteEditor.js +36 -138
- package/editors/autocompleteEditor/autocompleteEditor.mjs +35 -108
- package/editors/autocompleteEditor/index.js +0 -2
- package/editors/baseEditor/baseEditor.js +55 -160
- package/editors/baseEditor/baseEditor.mjs +54 -133
- package/editors/baseEditor/index.js +0 -2
- package/editors/checkboxEditor/checkboxEditor.js +8 -34
- package/editors/checkboxEditor/checkboxEditor.mjs +8 -20
- package/editors/checkboxEditor/index.js +0 -2
- package/editors/dateEditor/dateEditor.js +26 -97
- package/editors/dateEditor/dateEditor.mjs +26 -76
- package/editors/dateEditor/index.js +0 -2
- package/editors/dropdownEditor/dropdownEditor.js +7 -42
- package/editors/dropdownEditor/dropdownEditor.mjs +7 -23
- package/editors/dropdownEditor/index.js +0 -2
- package/editors/handsontableEditor/handsontableEditor.js +19 -86
- package/editors/handsontableEditor/handsontableEditor.mjs +19 -67
- package/editors/handsontableEditor/index.js +0 -2
- package/editors/index.js +0 -25
- package/editors/index.mjs +0 -1
- package/editors/numericEditor/index.js +0 -2
- package/editors/numericEditor/numericEditor.js +7 -32
- package/editors/numericEditor/numericEditor.mjs +7 -19
- package/editors/passwordEditor/index.js +0 -2
- package/editors/passwordEditor/passwordEditor.js +7 -39
- package/editors/passwordEditor/passwordEditor.mjs +7 -23
- package/editors/registry.js +13 -36
- package/editors/registry.mjs +12 -26
- package/editors/selectEditor/index.js +0 -2
- package/editors/selectEditor/selectEditor.js +27 -74
- package/editors/selectEditor/selectEditor.mjs +27 -57
- package/editors/textEditor/caretPositioner.js +0 -8
- package/editors/textEditor/caretPositioner.mjs +0 -7
- package/editors/textEditor/index.js +0 -2
- package/editors/textEditor/textEditor.js +45 -139
- package/editors/textEditor/textEditor.mjs +45 -108
- package/editors/timeEditor/index.js +0 -2
- package/editors/timeEditor/timeEditor.js +7 -37
- package/editors/timeEditor/timeEditor.mjs +7 -22
- package/eventManager.js +26 -47
- package/eventManager.mjs +27 -45
- package/helpers/array.js +22 -88
- package/helpers/array.mjs +22 -58
- package/helpers/browser.js +25 -51
- package/helpers/browser.mjs +25 -32
- package/helpers/console.js +3 -13
- package/helpers/console.mjs +3 -10
- package/helpers/data.d.ts +0 -2
- package/helpers/data.js +8 -102
- package/helpers/data.mjs +9 -80
- package/helpers/date.js +2 -3
- package/helpers/date.mjs +2 -2
- package/helpers/dom/element.js +89 -256
- package/helpers/dom/element.mjs +88 -184
- package/helpers/dom/event.js +3 -7
- package/helpers/dom/event.mjs +3 -3
- package/helpers/feature.js +21 -82
- package/helpers/feature.mjs +15 -60
- package/helpers/function.js +14 -59
- package/helpers/function.mjs +14 -45
- package/helpers/mixed.js +9 -64
- package/helpers/mixed.mjs +9 -43
- package/helpers/number.js +4 -46
- package/helpers/number.mjs +4 -23
- package/helpers/object.js +30 -77
- package/helpers/object.mjs +25 -47
- package/helpers/string.js +6 -28
- package/helpers/string.mjs +6 -14
- package/helpers/templateLiteralTag.js +0 -6
- package/helpers/templateLiteralTag.mjs +0 -2
- package/helpers/unicode.js +17 -22
- package/helpers/unicode.mjs +17 -13
- package/helpers/wrappers/jquery.js +4 -14
- package/helpers/wrappers/jquery.mjs +4 -13
- package/i18n/constants.js +50 -45
- package/i18n/constants.mjs +46 -42
- package/i18n/index.js +0 -7
- package/i18n/languages/ar-AR.js +12 -23
- package/i18n/languages/ar-AR.mjs +14 -3
- package/i18n/languages/cs-CZ.js +12 -23
- package/i18n/languages/cs-CZ.mjs +14 -3
- package/i18n/languages/de-CH.js +12 -23
- package/i18n/languages/de-CH.mjs +14 -3
- package/i18n/languages/de-DE.js +12 -23
- package/i18n/languages/de-DE.mjs +14 -3
- package/i18n/languages/en-US.js +13 -24
- package/i18n/languages/en-US.mjs +15 -4
- package/i18n/languages/es-MX.js +13 -24
- package/i18n/languages/es-MX.mjs +17 -5
- package/i18n/languages/fr-FR.js +12 -23
- package/i18n/languages/fr-FR.mjs +14 -3
- package/i18n/languages/index.js +0 -39
- package/i18n/languages/it-IT.js +12 -23
- package/i18n/languages/it-IT.mjs +14 -3
- package/i18n/languages/ja-JP.js +12 -23
- package/i18n/languages/ja-JP.mjs +14 -3
- package/i18n/languages/ko-KR.js +12 -23
- package/i18n/languages/ko-KR.mjs +14 -3
- package/i18n/languages/lv-LV.js +13 -24
- package/i18n/languages/lv-LV.mjs +17 -6
- package/i18n/languages/nb-NO.js +12 -23
- package/i18n/languages/nb-NO.mjs +14 -3
- package/i18n/languages/nl-NL.js +13 -24
- package/i18n/languages/nl-NL.mjs +17 -6
- package/i18n/languages/pl-PL.js +13 -24
- package/i18n/languages/pl-PL.mjs +16 -5
- package/i18n/languages/pt-BR.js +12 -23
- package/i18n/languages/pt-BR.mjs +14 -3
- package/i18n/languages/ru-RU.js +12 -23
- package/i18n/languages/ru-RU.mjs +14 -3
- package/i18n/languages/sr-SP.js +12 -23
- package/i18n/languages/sr-SP.mjs +14 -3
- package/i18n/languages/zh-CN.js +12 -23
- package/i18n/languages/zh-CN.mjs +14 -3
- package/i18n/languages/zh-TW.js +12 -23
- package/i18n/languages/zh-TW.mjs +14 -3
- package/i18n/phraseFormatters/index.js +4 -11
- package/i18n/phraseFormatters/index.mjs +4 -6
- package/i18n/phraseFormatters/pluralize.js +0 -5
- package/i18n/phraseFormatters/pluralize.mjs +0 -3
- package/i18n/phraseFormatters/substituteVariables.js +0 -4
- package/i18n/phraseFormatters/substituteVariables.mjs +0 -2
- package/i18n/registry.js +18 -59
- package/i18n/registry.mjs +18 -30
- package/i18n/utils.js +4 -22
- package/i18n/utils.mjs +4 -11
- package/index.d.ts +9 -0
- package/index.js +23 -58
- package/index.mjs +21 -16
- package/languages/all.js +111 -240
- package/languages/ar-AR.js +50 -14
- package/languages/ar-AR.mjs +14 -3
- package/languages/cs-CZ.js +52 -16
- package/languages/cs-CZ.mjs +14 -3
- package/languages/de-CH.js +52 -16
- package/languages/de-CH.mjs +14 -3
- package/languages/de-DE.js +53 -17
- package/languages/de-DE.mjs +14 -3
- package/languages/en-US.js +56 -20
- package/languages/en-US.mjs +15 -4
- package/languages/es-MX.js +56 -20
- package/languages/es-MX.mjs +17 -5
- package/languages/fr-FR.js +55 -19
- package/languages/fr-FR.mjs +14 -3
- package/languages/index.js +111 -240
- package/languages/it-IT.js +55 -19
- package/languages/it-IT.mjs +14 -3
- package/languages/ja-JP.js +83 -43
- package/languages/ja-JP.mjs +14 -3
- package/languages/ko-KR.js +84 -43
- package/languages/ko-KR.mjs +14 -3
- package/languages/lv-LV.js +85 -43
- package/languages/lv-LV.mjs +17 -6
- package/languages/nb-NO.js +86 -43
- package/languages/nb-NO.mjs +14 -3
- package/languages/nl-NL.js +87 -43
- package/languages/nl-NL.mjs +17 -6
- package/languages/pl-PL.js +88 -43
- package/languages/pl-PL.mjs +16 -5
- package/languages/pt-BR.js +67 -28
- package/languages/pt-BR.mjs +14 -3
- package/languages/ru-RU.js +67 -28
- package/languages/ru-RU.mjs +14 -3
- package/languages/sr-SP.js +55 -16
- package/languages/sr-SP.mjs +14 -3
- package/languages/zh-CN.js +55 -16
- package/languages/zh-CN.mjs +14 -3
- package/languages/zh-TW.js +55 -16
- package/languages/zh-TW.mjs +14 -3
- package/mixins/hooksRefRegisterer.js +1 -12
- package/mixins/hooksRefRegisterer.mjs +1 -9
- package/mixins/localHooks.js +4 -11
- package/mixins/localHooks.mjs +4 -8
- package/package.json +2 -2
- package/pluginHooks.d.ts +10 -5
- package/pluginHooks.js +376 -116
- package/pluginHooks.mjs +375 -103
- package/plugins/autoColumnSize/autoColumnSize.js +81 -174
- package/plugins/autoColumnSize/autoColumnSize.mjs +81 -139
- package/plugins/autoColumnSize/index.js +0 -2
- package/plugins/autoRowSize/autoRowSize.js +89 -160
- package/plugins/autoRowSize/autoRowSize.mjs +89 -131
- package/plugins/autoRowSize/index.js +0 -2
- package/plugins/autofill/autofill.js +53 -165
- package/plugins/autofill/autofill.mjs +53 -133
- package/plugins/autofill/index.js +0 -2
- package/plugins/autofill/utils.js +4 -26
- package/plugins/autofill/utils.mjs +4 -18
- package/plugins/base/base.js +28 -91
- package/plugins/base/base.mjs +28 -63
- package/plugins/base/index.js +0 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +25 -53
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +25 -34
- package/plugins/bindRowsWithHeaders/index.js +0 -2
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +11 -42
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +11 -30
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +12 -54
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +12 -38
- package/plugins/collapsibleColumns/collapsibleColumns.js +106 -193
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +106 -162
- package/plugins/collapsibleColumns/index.js +0 -2
- package/plugins/columnSorting/columnSorting.js +58 -192
- package/plugins/columnSorting/columnSorting.mjs +58 -147
- package/plugins/columnSorting/columnStatesManager.js +27 -77
- package/plugins/columnSorting/columnStatesManager.mjs +24 -51
- package/plugins/columnSorting/domHelpers.js +2 -18
- package/plugins/columnSorting/domHelpers.mjs +2 -7
- package/plugins/columnSorting/index.js +0 -2
- package/plugins/columnSorting/rootComparator.js +5 -24
- package/plugins/columnSorting/rootComparator.mjs +5 -13
- package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
- package/plugins/columnSorting/sortFunction/checkbox.mjs +8 -12
- package/plugins/columnSorting/sortFunction/date.js +2 -19
- package/plugins/columnSorting/sortFunction/date.mjs +2 -14
- package/plugins/columnSorting/sortFunction/default.js +2 -17
- package/plugins/columnSorting/sortFunction/default.mjs +2 -14
- package/plugins/columnSorting/sortFunction/numeric.js +2 -11
- package/plugins/columnSorting/sortFunction/numeric.mjs +2 -8
- package/plugins/columnSorting/sortService/engine.js +1 -7
- package/plugins/columnSorting/sortService/engine.mjs +1 -3
- package/plugins/columnSorting/sortService/index.js +0 -5
- package/plugins/columnSorting/sortService/registry.js +6 -18
- package/plugins/columnSorting/sortService/registry.mjs +6 -10
- package/plugins/columnSorting/utils.js +9 -34
- package/plugins/columnSorting/utils.mjs +9 -15
- package/plugins/columnSummary/columnSummary.js +65 -126
- package/plugins/columnSummary/columnSummary.mjs +65 -101
- package/plugins/columnSummary/endpoints.js +33 -109
- package/plugins/columnSummary/endpoints.mjs +33 -105
- package/plugins/columnSummary/index.js +0 -2
- package/plugins/columnSummary/utils.js +0 -1
- package/plugins/comments/commentEditor.js +29 -27
- package/plugins/comments/commentEditor.mjs +29 -26
- package/plugins/comments/comments.js +106 -178
- package/plugins/comments/comments.mjs +106 -152
- package/plugins/comments/displaySwitch.js +20 -24
- package/plugins/comments/displaySwitch.mjs +20 -19
- package/plugins/comments/index.js +0 -2
- package/plugins/contextMenu/commandExecutor.js +17 -29
- package/plugins/contextMenu/commandExecutor.mjs +17 -27
- package/plugins/contextMenu/contextMenu.d.ts +4 -3
- package/plugins/contextMenu/contextMenu.js +28 -121
- package/plugins/contextMenu/contextMenu.mjs +28 -91
- package/plugins/contextMenu/cursor.js +19 -19
- package/plugins/contextMenu/cursor.mjs +19 -18
- package/plugins/contextMenu/index.js +0 -2
- package/plugins/contextMenu/itemsFactory.js +21 -35
- package/plugins/contextMenu/itemsFactory.mjs +21 -31
- package/plugins/contextMenu/menu.js +71 -180
- package/plugins/contextMenu/menu.mjs +70 -151
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
- package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
- package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
- package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
- package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
- package/plugins/contextMenu/predefinedItems/redo.js +1 -16
- package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +4 -39
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +4 -19
- package/plugins/contextMenu/predefinedItems/removeRow.js +4 -38
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +4 -18
- package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
- package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/separator.js +1 -2
- package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -16
- package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems.js +14 -55
- package/plugins/contextMenu/predefinedItems.mjs +16 -8
- package/plugins/contextMenu/utils.js +17 -57
- package/plugins/contextMenu/utils.mjs +17 -34
- package/plugins/copyPaste/clipboardData.js +14 -9
- package/plugins/copyPaste/clipboardData.mjs +14 -8
- package/plugins/copyPaste/contextMenuItem/copy.js +5 -32
- package/plugins/copyPaste/contextMenuItem/copy.mjs +5 -7
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +35 -0
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +31 -0
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +35 -0
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +31 -0
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +35 -0
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +31 -0
- package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
- package/plugins/copyPaste/contextMenuItem/cut.mjs +2 -4
- package/plugins/copyPaste/copyPaste.d.ts +10 -2
- package/plugins/copyPaste/copyPaste.js +339 -372
- package/plugins/copyPaste/copyPaste.mjs +339 -331
- package/plugins/copyPaste/copyableRanges.js +269 -0
- package/plugins/copyPaste/copyableRanges.mjs +264 -0
- package/plugins/copyPaste/focusableElement.js +21 -55
- package/plugins/copyPaste/focusableElement.mjs +21 -45
- package/plugins/copyPaste/index.js +0 -2
- package/plugins/copyPaste/pasteEvent.js +14 -9
- package/plugins/copyPaste/pasteEvent.mjs +14 -7
- package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
- package/plugins/customBorders/contextMenuItem/bottom.mjs +0 -3
- package/plugins/customBorders/contextMenuItem/index.js +0 -11
- package/plugins/customBorders/contextMenuItem/left.js +0 -17
- package/plugins/customBorders/contextMenuItem/left.mjs +0 -3
- package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
- package/plugins/customBorders/contextMenuItem/noBorders.mjs +0 -1
- package/plugins/customBorders/contextMenuItem/right.js +0 -17
- package/plugins/customBorders/contextMenuItem/right.mjs +0 -3
- package/plugins/customBorders/contextMenuItem/top.js +0 -17
- package/plugins/customBorders/contextMenuItem/top.mjs +0 -3
- package/plugins/customBorders/customBorders.js +64 -188
- package/plugins/customBorders/customBorders.mjs +63 -153
- package/plugins/customBorders/index.js +0 -2
- package/plugins/customBorders/utils.js +13 -52
- package/plugins/customBorders/utils.mjs +13 -31
- package/plugins/dragToScroll/dragToScroll.js +23 -75
- package/plugins/dragToScroll/dragToScroll.mjs +23 -56
- package/plugins/dragToScroll/index.js +0 -2
- package/plugins/dropdownMenu/dropdownMenu.js +49 -127
- package/plugins/dropdownMenu/dropdownMenu.mjs +49 -96
- package/plugins/dropdownMenu/index.js +0 -2
- package/plugins/exportFile/dataProvider.js +34 -72
- package/plugins/exportFile/dataProvider.mjs +31 -58
- package/plugins/exportFile/exportFile.js +56 -61
- package/plugins/exportFile/exportFile.mjs +54 -37
- package/plugins/exportFile/index.js +0 -2
- package/plugins/exportFile/typeFactory.js +15 -12
- package/plugins/exportFile/typeFactory.mjs +15 -5
- package/plugins/exportFile/types/_base.js +15 -15
- package/plugins/exportFile/types/_base.mjs +15 -13
- package/plugins/exportFile/types/csv.js +8 -51
- package/plugins/exportFile/types/csv.mjs +8 -30
- package/plugins/filters/component/_base.js +25 -31
- package/plugins/filters/component/_base.mjs +25 -26
- package/plugins/filters/component/actionBar.js +13 -56
- package/plugins/filters/component/actionBar.mjs +11 -34
- package/plugins/filters/component/condition.js +22 -95
- package/plugins/filters/component/condition.mjs +20 -63
- package/plugins/filters/component/operators.js +18 -71
- package/plugins/filters/component/operators.mjs +18 -48
- package/plugins/filters/component/value.js +22 -97
- package/plugins/filters/component/value.mjs +22 -67
- package/plugins/filters/condition/beginsWith.js +3 -33
- package/plugins/filters/condition/beginsWith.mjs +3 -11
- package/plugins/filters/condition/between.js +4 -38
- package/plugins/filters/condition/between.mjs +4 -16
- package/plugins/filters/condition/byValue.js +4 -28
- package/plugins/filters/condition/byValue.mjs +4 -13
- package/plugins/filters/condition/contains.js +3 -33
- package/plugins/filters/condition/contains.mjs +3 -11
- package/plugins/filters/condition/date/after.js +3 -35
- package/plugins/filters/condition/date/after.mjs +3 -13
- package/plugins/filters/condition/date/before.js +3 -35
- package/plugins/filters/condition/date/before.mjs +3 -13
- package/plugins/filters/condition/date/today.js +1 -22
- package/plugins/filters/condition/date/today.mjs +1 -3
- package/plugins/filters/condition/date/tomorrow.js +1 -22
- package/plugins/filters/condition/date/tomorrow.mjs +1 -3
- package/plugins/filters/condition/date/yesterday.js +1 -22
- package/plugins/filters/condition/date/yesterday.mjs +1 -3
- package/plugins/filters/condition/empty.js +1 -19
- package/plugins/filters/condition/empty.mjs +1 -1
- package/plugins/filters/condition/endsWith.js +3 -33
- package/plugins/filters/condition/endsWith.mjs +3 -11
- package/plugins/filters/condition/equal.js +3 -32
- package/plugins/filters/condition/equal.mjs +3 -11
- package/plugins/filters/condition/false.js +1 -5
- package/plugins/filters/condition/false.mjs +1 -1
- package/plugins/filters/condition/greaterThan.js +3 -33
- package/plugins/filters/condition/greaterThan.mjs +3 -13
- package/plugins/filters/condition/greaterThanOrEqual.js +3 -33
- package/plugins/filters/condition/greaterThanOrEqual.mjs +3 -13
- package/plugins/filters/condition/lessThan.js +3 -33
- package/plugins/filters/condition/lessThan.mjs +3 -13
- package/plugins/filters/condition/lessThanOrEqual.js +3 -33
- package/plugins/filters/condition/lessThanOrEqual.mjs +3 -13
- package/plugins/filters/condition/none.js +1 -18
- package/plugins/filters/condition/none.mjs +1 -1
- package/plugins/filters/condition/notBetween.js +1 -19
- package/plugins/filters/condition/notBetween.mjs +1 -1
- package/plugins/filters/condition/notContains.js +1 -19
- package/plugins/filters/condition/notContains.mjs +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -19
- package/plugins/filters/condition/notEmpty.mjs +1 -1
- package/plugins/filters/condition/notEqual.js +1 -19
- package/plugins/filters/condition/notEqual.mjs +1 -1
- package/plugins/filters/condition/true.js +1 -5
- package/plugins/filters/condition/true.mjs +1 -1
- package/plugins/filters/conditionCollection.js +31 -84
- package/plugins/filters/conditionCollection.mjs +39 -69
- package/plugins/filters/conditionRegisterer.js +5 -14
- package/plugins/filters/conditionRegisterer.mjs +5 -9
- package/plugins/filters/conditionUpdateObserver.js +29 -56
- package/plugins/filters/conditionUpdateObserver.mjs +29 -44
- package/plugins/filters/constants.js +15 -67
- package/plugins/filters/constants.mjs +15 -9
- package/plugins/filters/dataFilter.js +17 -20
- package/plugins/filters/dataFilter.mjs +17 -19
- package/plugins/filters/filters.js +110 -210
- package/plugins/filters/filters.mjs +110 -165
- package/plugins/filters/index.js +0 -2
- package/plugins/filters/logicalOperationRegisterer.js +3 -9
- package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
- package/plugins/filters/logicalOperations/conjunction.js +2 -19
- package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunction.js +2 -19
- package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
- package/plugins/filters/ui/_base.js +24 -62
- package/plugins/filters/ui/_base.mjs +26 -36
- package/plugins/filters/ui/input.js +13 -53
- package/plugins/filters/ui/input.mjs +13 -35
- package/plugins/filters/ui/link.js +9 -44
- package/plugins/filters/ui/link.mjs +9 -26
- package/plugins/filters/ui/multipleSelect.js +25 -113
- package/plugins/filters/ui/multipleSelect.mjs +26 -77
- package/plugins/filters/ui/radioInput.js +12 -48
- package/plugins/filters/ui/radioInput.mjs +12 -31
- package/plugins/filters/ui/select.js +20 -77
- package/plugins/filters/ui/select.mjs +20 -53
- package/plugins/filters/utils.js +6 -39
- package/plugins/filters/utils.mjs +6 -23
- package/plugins/formulas/engine/register.js +24 -74
- package/plugins/formulas/engine/register.mjs +24 -45
- package/plugins/formulas/engine/settings.js +16 -25
- package/plugins/formulas/engine/settings.mjs +16 -13
- package/plugins/formulas/formulas.js +127 -306
- package/plugins/formulas/formulas.mjs +128 -259
- package/plugins/formulas/index.js +0 -2
- package/plugins/formulas/utils.js +1 -3
- package/plugins/formulas/utils.mjs +1 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +5 -39
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +5 -21
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +17 -24
- package/plugins/hiddenColumns/hiddenColumns.js +77 -150
- package/plugins/hiddenColumns/hiddenColumns.mjs +77 -109
- package/plugins/hiddenColumns/index.js +0 -2
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +5 -39
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +5 -21
- package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +17 -24
- package/plugins/hiddenRows/hiddenRows.js +75 -149
- package/plugins/hiddenRows/hiddenRows.mjs +75 -108
- package/plugins/hiddenRows/index.js +0 -2
- package/plugins/index.js +0 -71
- package/plugins/index.mjs +0 -1
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +2 -29
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +2 -13
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +2 -29
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +2 -13
- package/plugins/manualColumnFreeze/index.js +0 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +27 -79
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +27 -55
- package/plugins/manualColumnMove/index.js +0 -2
- package/plugins/manualColumnMove/manualColumnMove.js +51 -135
- package/plugins/manualColumnMove/manualColumnMove.mjs +51 -107
- package/plugins/manualColumnMove/ui/_base.js +26 -31
- package/plugins/manualColumnMove/ui/_base.mjs +26 -28
- package/plugins/manualColumnMove/ui/backlight.js +7 -38
- package/plugins/manualColumnMove/ui/backlight.mjs +7 -23
- package/plugins/manualColumnMove/ui/guideline.js +7 -38
- package/plugins/manualColumnMove/ui/guideline.mjs +7 -23
- package/plugins/manualColumnResize/index.js +0 -2
- package/plugins/manualColumnResize/manualColumnResize.js +50 -144
- package/plugins/manualColumnResize/manualColumnResize.mjs +49 -119
- package/plugins/manualRowMove/index.js +0 -2
- package/plugins/manualRowMove/manualRowMove.js +51 -138
- package/plugins/manualRowMove/manualRowMove.mjs +51 -110
- package/plugins/manualRowMove/ui/_base.js +26 -28
- package/plugins/manualRowMove/ui/_base.mjs +26 -27
- package/plugins/manualRowMove/ui/backlight.js +7 -38
- package/plugins/manualRowMove/ui/backlight.mjs +7 -23
- package/plugins/manualRowMove/ui/guideline.js +7 -38
- package/plugins/manualRowMove/ui/guideline.mjs +7 -23
- package/plugins/manualRowResize/index.js +0 -2
- package/plugins/manualRowResize/manualRowResize.js +48 -139
- package/plugins/manualRowResize/manualRowResize.mjs +47 -113
- package/plugins/mergeCells/calculations/autofill.js +49 -133
- package/plugins/mergeCells/calculations/autofill.mjs +46 -117
- package/plugins/mergeCells/calculations/selection.js +22 -39
- package/plugins/mergeCells/calculations/selection.mjs +22 -36
- package/plugins/mergeCells/cellCoords.js +43 -50
- package/plugins/mergeCells/cellCoords.mjs +43 -48
- package/plugins/mergeCells/cellsCollection.js +22 -86
- package/plugins/mergeCells/cellsCollection.mjs +19 -63
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +0 -6
- package/plugins/mergeCells/index.js +0 -2
- package/plugins/mergeCells/mergeCells.js +136 -334
- package/plugins/mergeCells/mergeCells.mjs +136 -293
- package/plugins/mergeCells/utils.js +0 -3
- package/plugins/mergeCells/utils.mjs +0 -1
- package/plugins/multiColumnSorting/domHelpers.js +2 -12
- package/plugins/multiColumnSorting/domHelpers.mjs +2 -5
- package/plugins/multiColumnSorting/index.js +0 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +20 -67
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +20 -45
- package/plugins/multiColumnSorting/rootComparator.js +2 -26
- package/plugins/multiColumnSorting/rootComparator.mjs +2 -15
- package/plugins/multiColumnSorting/utils.js +0 -7
- package/plugins/multiColumnSorting/utils.mjs +0 -4
- package/plugins/multipleSelectionHandles/index.js +0 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +12 -110
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +12 -88
- package/plugins/nestedHeaders/index.js +0 -2
- package/plugins/nestedHeaders/nestedHeaders.js +198 -211
- package/plugins/nestedHeaders/nestedHeaders.mjs +206 -191
- package/plugins/nestedHeaders/stateManager/headersTree.js +26 -96
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +26 -76
- package/plugins/nestedHeaders/stateManager/index.js +55 -118
- package/plugins/nestedHeaders/stateManager/index.mjs +61 -105
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +7 -18
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +12 -17
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +10 -15
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +3 -13
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +1 -3
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +3 -14
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +5 -20
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +27 -81
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +33 -71
- package/plugins/nestedHeaders/stateManager/utils.js +19 -22
- package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
- package/plugins/nestedHeaders/utils/ghostTable.js +23 -37
- package/plugins/nestedHeaders/utils/ghostTable.mjs +23 -36
- package/plugins/nestedRows/data/dataManager.js +47 -162
- package/plugins/nestedRows/data/dataManager.mjs +45 -143
- package/plugins/nestedRows/index.js +0 -2
- package/plugins/nestedRows/nestedRows.js +46 -119
- package/plugins/nestedRows/nestedRows.mjs +46 -86
- package/plugins/nestedRows/ui/_base.js +14 -8
- package/plugins/nestedRows/ui/_base.mjs +14 -7
- package/plugins/nestedRows/ui/collapsing.js +33 -133
- package/plugins/nestedRows/ui/collapsing.mjs +33 -111
- package/plugins/nestedRows/ui/contextMenu.js +9 -55
- package/plugins/nestedRows/ui/contextMenu.mjs +8 -33
- package/plugins/nestedRows/ui/headers.js +10 -49
- package/plugins/nestedRows/ui/headers.mjs +10 -34
- package/plugins/nestedRows/utils/rowMoveController.js +36 -79
- package/plugins/nestedRows/utils/rowMoveController.mjs +45 -71
- package/plugins/persistentState/index.js +0 -2
- package/plugins/persistentState/persistentState.js +16 -59
- package/plugins/persistentState/persistentState.mjs +16 -38
- package/plugins/persistentState/storage.js +22 -24
- package/plugins/persistentState/storage.mjs +22 -22
- package/plugins/registry.js +8 -52
- package/plugins/registry.mjs +8 -33
- package/plugins/search/index.js +0 -2
- package/plugins/search/search.js +22 -97
- package/plugins/search/search.mjs +22 -68
- package/plugins/touchScroll/index.js +0 -2
- package/plugins/touchScroll/touchScroll.js +21 -77
- package/plugins/touchScroll/touchScroll.mjs +21 -59
- package/plugins/trimRows/index.js +0 -2
- package/plugins/trimRows/trimRows.js +64 -86
- package/plugins/trimRows/trimRows.mjs +64 -63
- package/plugins/undoRedo/index.js +0 -14
- package/plugins/undoRedo/undoRedo.js +98 -250
- package/plugins/undoRedo/undoRedo.mjs +98 -220
- package/registry.js +0 -11
- package/registry.mjs +1 -2
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
- package/renderers/autocompleteRenderer/index.js +0 -2
- package/renderers/baseRenderer/baseRenderer.js +2 -11
- package/renderers/baseRenderer/baseRenderer.mjs +1 -7
- package/renderers/baseRenderer/index.js +0 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
- package/renderers/checkboxRenderer/index.js +0 -2
- package/renderers/htmlRenderer/htmlRenderer.js +1 -7
- package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
- package/renderers/htmlRenderer/index.js +0 -2
- package/renderers/index.js +0 -19
- package/renderers/index.mjs +0 -1
- package/renderers/numericRenderer/index.js +0 -2
- package/renderers/numericRenderer/numericRenderer.js +1 -21
- package/renderers/numericRenderer/numericRenderer.mjs +1 -9
- package/renderers/passwordRenderer/index.js +0 -2
- package/renderers/passwordRenderer/passwordRenderer.js +1 -8
- package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
- package/renderers/registry.js +7 -16
- package/renderers/registry.mjs +7 -14
- package/renderers/textRenderer/index.js +0 -2
- package/renderers/textRenderer/textRenderer.js +1 -13
- package/renderers/textRenderer/textRenderer.mjs +1 -5
- package/renderers/timeRenderer/index.js +0 -2
- package/renderers/timeRenderer/timeRenderer.js +1 -6
- package/renderers/timeRenderer/timeRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +24 -73
- package/selection/highlight/highlight.mjs +24 -50
- package/selection/highlight/types/activeHeader.js +14 -23
- package/selection/highlight/types/activeHeader.mjs +14 -12
- package/selection/highlight/types/area.js +15 -24
- package/selection/highlight/types/area.mjs +15 -13
- package/selection/highlight/types/cell.js +14 -23
- package/selection/highlight/types/cell.mjs +14 -12
- package/selection/highlight/types/customSelection.js +15 -24
- package/selection/highlight/types/customSelection.mjs +15 -13
- package/selection/highlight/types/fill.js +16 -20
- package/selection/highlight/types/fill.mjs +16 -9
- package/selection/highlight/types/header.js +16 -25
- package/selection/highlight/types/header.mjs +16 -14
- package/selection/highlight/types/index.js +17 -27
- package/selection/highlight/types/index.mjs +17 -13
- package/selection/highlight/visualSelection.js +35 -80
- package/selection/highlight/visualSelection.mjs +35 -68
- package/selection/index.js +0 -14
- package/selection/mouseEventHandler.js +19 -30
- package/selection/mouseEventHandler.mjs +19 -22
- package/selection/range.js +17 -30
- package/selection/range.mjs +17 -21
- package/selection/selection.js +72 -160
- package/selection/selection.mjs +77 -137
- package/selection/transformation.js +23 -39
- package/selection/transformation.mjs +23 -36
- package/selection/utils.js +23 -71
- package/selection/utils.mjs +23 -48
- package/shortcuts/context.js +24 -79
- package/shortcuts/context.mjs +24 -56
- package/shortcuts/index.js +0 -2
- package/shortcuts/keyObserver.js +0 -9
- package/shortcuts/keyObserver.mjs +0 -4
- package/shortcuts/manager.js +17 -37
- package/shortcuts/manager.mjs +17 -34
- package/shortcuts/recorder.js +9 -40
- package/shortcuts/recorder.mjs +9 -31
- package/shortcuts/utils.js +5 -20
- package/shortcuts/utils.mjs +5 -6
- package/tableView.js +239 -330
- package/tableView.mjs +239 -308
- package/translations/changesObservable/observable.js +14 -53
- package/translations/changesObservable/observable.mjs +14 -43
- package/translations/changesObservable/observer.js +13 -31
- package/translations/changesObservable/observer.mjs +13 -23
- package/translations/changesObservable/utils.js +1 -5
- package/translations/changesObservable/utils.mjs +1 -4
- package/translations/index.js +0 -11
- package/translations/indexMapper.js +80 -162
- package/translations/indexMapper.mjs +85 -134
- package/translations/mapCollections/aggregatedCollection.js +14 -50
- package/translations/mapCollections/aggregatedCollection.mjs +14 -37
- package/translations/mapCollections/index.js +0 -7
- package/translations/mapCollections/mapCollection.js +20 -34
- package/translations/mapCollections/mapCollection.mjs +20 -23
- package/translations/maps/hidingMap.js +7 -34
- package/translations/maps/hidingMap.mjs +7 -22
- package/translations/maps/index.js +1 -24
- package/translations/maps/index.mjs +1 -3
- package/translations/maps/indexMap.js +25 -33
- package/translations/maps/indexMap.mjs +25 -27
- package/translations/maps/indexesSequence.js +8 -40
- package/translations/maps/indexesSequence.mjs +8 -25
- package/translations/maps/linkedPhysicalIndexToValueMap.js +18 -81
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +17 -54
- package/translations/maps/physicalIndexToValueMap.js +7 -38
- package/translations/maps/physicalIndexToValueMap.mjs +7 -24
- package/translations/maps/trimmingMap.js +7 -34
- package/translations/maps/trimmingMap.mjs +7 -22
- package/translations/maps/utils/actionsOnIndexes.js +1 -7
- package/translations/maps/utils/actionsOnIndexes.mjs +1 -3
- package/translations/maps/utils/index.js +0 -13
- package/translations/maps/utils/index.mjs +0 -3
- package/translations/maps/utils/indexesSequence.js +1 -24
- package/translations/maps/utils/indexesSequence.mjs +1 -9
- package/translations/maps/utils/physicallyIndexed.js +1 -27
- package/translations/maps/utils/physicallyIndexed.mjs +1 -10
- package/utils/dataStructures/linkedList.js +23 -50
- package/utils/dataStructures/linkedList.mjs +23 -48
- package/utils/dataStructures/priorityMap.js +9 -47
- package/utils/dataStructures/priorityMap.mjs +9 -30
- package/utils/dataStructures/queue.js +19 -16
- package/utils/dataStructures/queue.mjs +19 -15
- package/utils/dataStructures/stack.js +19 -16
- package/utils/dataStructures/stack.mjs +19 -15
- package/utils/dataStructures/tree.js +19 -77
- package/utils/dataStructures/tree.mjs +19 -56
- package/utils/dataStructures/uniqueMap.js +18 -57
- package/utils/dataStructures/uniqueMap.mjs +18 -43
- package/utils/dataStructures/uniqueSet.js +5 -32
- package/utils/dataStructures/uniqueSet.mjs +5 -19
- package/utils/ghostTable.js +42 -106
- package/utils/ghostTable.mjs +40 -90
- package/utils/interval.js +17 -29
- package/utils/interval.mjs +18 -26
- package/utils/parseTable.js +11 -92
- package/utils/parseTable.mjs +11 -62
- package/utils/rootInstance.js +3 -14
- package/utils/rootInstance.mjs +3 -3
- package/utils/samplesGenerator.js +25 -51
- package/utils/samplesGenerator.mjs +25 -42
- package/utils/staticRegister.js +6 -33
- package/utils/staticRegister.mjs +6 -19
- package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
- package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
- package/validators/autocompleteValidator/index.js +0 -2
- package/validators/dateValidator/dateValidator.js +2 -21
- package/validators/dateValidator/dateValidator.mjs +2 -11
- package/validators/dateValidator/index.js +0 -2
- package/validators/index.js +0 -11
- package/validators/index.mjs +0 -1
- package/validators/numericValidator/index.js +0 -2
- package/validators/numericValidator/numericValidator.js +1 -7
- package/validators/numericValidator/numericValidator.mjs +1 -3
- package/validators/registry.js +7 -16
- package/validators/registry.mjs +7 -14
- package/validators/timeValidator/index.js +0 -2
- package/validators/timeValidator/timeValidator.js +6 -18
- package/validators/timeValidator/timeValidator.mjs +8 -13
package/pluginHooks.js
CHANGED
@@ -1,56 +1,55 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
3
4
|
require("core-js/modules/es.array.slice.js");
|
4
|
-
|
5
5
|
require("core-js/modules/es.object.freeze.js");
|
6
|
-
|
6
|
+
require("core-js/modules/es.symbol.to-primitive.js");
|
7
|
+
require("core-js/modules/es.date.to-primitive.js");
|
8
|
+
require("core-js/modules/es.symbol.js");
|
9
|
+
require("core-js/modules/es.symbol.description.js");
|
10
|
+
require("core-js/modules/es.number.constructor.js");
|
11
|
+
require("core-js/modules/es.symbol.iterator.js");
|
7
12
|
exports.__esModule = true;
|
8
13
|
exports.default = void 0;
|
9
|
-
|
10
14
|
require("core-js/modules/es.array.iterator.js");
|
11
|
-
|
12
15
|
require("core-js/modules/es.map.js");
|
13
|
-
|
14
16
|
require("core-js/modules/es.object.to-string.js");
|
15
|
-
|
16
17
|
require("core-js/modules/es.string.iterator.js");
|
17
|
-
|
18
18
|
require("core-js/modules/web.dom-collections.iterator.js");
|
19
|
-
|
20
19
|
require("core-js/modules/es.array.index-of.js");
|
21
|
-
|
22
20
|
require("core-js/modules/es.array.splice.js");
|
23
|
-
|
24
21
|
var _array = require("./helpers/array");
|
25
|
-
|
26
22
|
var _object = require("./helpers/object");
|
27
|
-
|
28
23
|
var _string = require("./helpers/string");
|
29
|
-
|
30
24
|
var _console = require("./helpers/console");
|
31
|
-
|
32
25
|
var _templateLiteralTag = require("./helpers/templateLiteralTag");
|
33
|
-
|
34
26
|
var _function = require("./helpers/function");
|
35
|
-
|
36
27
|
var _templateObject;
|
37
|
-
|
38
28
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
39
|
-
|
40
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
41
|
-
|
29
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
42
30
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
43
|
-
|
31
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
32
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
44
33
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
45
|
-
|
34
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
46
35
|
/**
|
47
36
|
* @description
|
37
|
+
*
|
38
|
+
* ::: only-for javascript
|
48
39
|
* Handsontable events are the common interface that function in 2 ways: as __callbacks__ and as __hooks__.
|
40
|
+
* :::
|
41
|
+
*
|
42
|
+
* ::: only-for react
|
43
|
+
* This page lists all the **Handsontable hooks** – callbacks that let you react before or after an action occurs.
|
44
|
+
*
|
45
|
+
* Read more on the [Events and hooks](@/guides/getting-started/events-and-hooks.md) page.
|
46
|
+
* :::
|
49
47
|
*
|
50
48
|
* @example
|
51
49
|
*
|
50
|
+
* ::: only-for javascript
|
52
51
|
* ```js
|
53
|
-
* //
|
52
|
+
* // using events as callbacks
|
54
53
|
* ...
|
55
54
|
* const hot1 = new Handsontable(document.getElementById('example1'), {
|
56
55
|
* afterChange: function(changes, source) {
|
@@ -62,9 +61,27 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
|
|
62
61
|
* });
|
63
62
|
* ...
|
64
63
|
* ```
|
64
|
+
* :::
|
65
|
+
*
|
66
|
+
* ::: only-for react
|
67
|
+
* ```jsx
|
68
|
+
* <HotTable
|
69
|
+
* afterChange={(changes, source) => {
|
70
|
+
* fetch('save.php', {
|
71
|
+
* method: 'POST',
|
72
|
+
* headers: {
|
73
|
+
* 'Accept': 'application/json',
|
74
|
+
* 'Content-Type': 'application/json'
|
75
|
+
* },
|
76
|
+
* body: JSON.stringify(changes)
|
77
|
+
* });
|
78
|
+
* }}
|
79
|
+
* />
|
80
|
+
* :::
|
65
81
|
*
|
82
|
+
* ::: only-for javascript
|
66
83
|
* ```js
|
67
|
-
* //
|
84
|
+
* // using events as plugin hooks
|
68
85
|
* ...
|
69
86
|
* const hot1 = new Handsontable(document.getElementById('example1'), {
|
70
87
|
* myPlugin: true
|
@@ -87,12 +104,47 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
|
|
87
104
|
* // function body - will only run in #example2
|
88
105
|
* });
|
89
106
|
* ```
|
107
|
+
* :::
|
108
|
+
*
|
109
|
+
* ::: only-for react
|
110
|
+
* ```jsx
|
111
|
+
* const hotRef1 = useRef(null);
|
112
|
+
* const hotRef2 = useRef(null);
|
113
|
+
*
|
114
|
+
* // Using events as plugin hooks:
|
115
|
+
* ...
|
116
|
+
*
|
117
|
+
* <HotTable
|
118
|
+
* ref={hotRef1}
|
119
|
+
* myPlugin={true}
|
120
|
+
* });
|
121
|
+
*
|
122
|
+
* <HotTable
|
123
|
+
* ref={hotRef2}
|
124
|
+
* myPlugin={false}
|
125
|
+
* });
|
126
|
+
*
|
127
|
+
* ...
|
128
|
+
*
|
129
|
+
* const hot2 = hotRef2.current.hotInstance;
|
130
|
+
* // local hook (has same effect as a callback)
|
131
|
+
* hot2.addHook('afterChange', function() {
|
132
|
+
* // function body - will only run in #example2
|
133
|
+
* });
|
134
|
+
*
|
135
|
+
* // global hook
|
136
|
+
* Handsontable.hooks.add('afterChange', function() {
|
137
|
+
* // Fired twice - for hot1 and hot2
|
138
|
+
* if (this.getSettings().myPlugin) {
|
139
|
+
* // function body - will only run for first instance
|
140
|
+
* }
|
141
|
+
* });
|
142
|
+
* :::
|
90
143
|
* ...
|
91
144
|
*/
|
92
|
-
// @TODO: Move plugin description hooks to plugin?
|
93
|
-
var REGISTERED_HOOKS = [
|
94
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
95
145
|
|
146
|
+
// @TODO: Move plugin description hooks to plugin?
|
147
|
+
var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sentence */
|
96
148
|
/**
|
97
149
|
* Fired after resetting a cell's meta. This happens when the {@link Core#updateSettings} method is called.
|
98
150
|
*
|
@@ -109,15 +161,29 @@ var REGISTERED_HOOKS = [
|
|
109
161
|
* @param {Array[]} changes 2D array containing information about each of the edited cells `[[row, prop, oldVal, newVal], ...]`. `row` is a visual row index.
|
110
162
|
* @param {string} [source] String that identifies source of hook call ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
|
111
163
|
* @example
|
164
|
+
* ::: only-for javascript
|
112
165
|
* ```js
|
113
166
|
* new Handsontable(element, {
|
114
167
|
* afterChange: (changes) => {
|
115
|
-
* changes
|
168
|
+
* changes?.forEach(([row, prop, oldValue, newValue]) => {
|
116
169
|
* // Some logic...
|
117
170
|
* });
|
118
171
|
* }
|
119
172
|
* })
|
120
173
|
* ```
|
174
|
+
* :::
|
175
|
+
*
|
176
|
+
* ::: only-for react
|
177
|
+
* ```jsx
|
178
|
+
* <HotTable
|
179
|
+
* afterChange={(changes, source) => {
|
180
|
+
* changes?.forEach(([row, prop, oldValue, newValue]) => {
|
181
|
+
* // Some logic...
|
182
|
+
* });
|
183
|
+
* }}
|
184
|
+
* />
|
185
|
+
* ```
|
186
|
+
* :::
|
121
187
|
*/
|
122
188
|
'afterChange',
|
123
189
|
/**
|
@@ -200,6 +266,7 @@ var REGISTERED_HOOKS = [
|
|
200
266
|
* ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
|
201
267
|
* @returns {*} If `false` then creating columns is cancelled.
|
202
268
|
* @example
|
269
|
+
* ::: only-for javascript
|
203
270
|
* ```js
|
204
271
|
* // Return `false` to cancel column inserting.
|
205
272
|
* new Handsontable(element, {
|
@@ -208,6 +275,18 @@ var REGISTERED_HOOKS = [
|
|
208
275
|
* }
|
209
276
|
* });
|
210
277
|
* ```
|
278
|
+
* :::
|
279
|
+
*
|
280
|
+
* ::: only-for react
|
281
|
+
* ```jsx
|
282
|
+
* // Return `false` to cancel column inserting.
|
283
|
+
* <HotTable
|
284
|
+
* beforeCreateCol={(data, coords) => {
|
285
|
+
* return false;
|
286
|
+
* }}
|
287
|
+
* />
|
288
|
+
* ```
|
289
|
+
* :::
|
211
290
|
*/
|
212
291
|
'beforeCreateCol',
|
213
292
|
/**
|
@@ -295,6 +374,10 @@ var REGISTERED_HOOKS = [
|
|
295
374
|
* @event Hooks#afterGetColHeader
|
296
375
|
* @param {number} column Visual column index.
|
297
376
|
* @param {HTMLTableCellElement} TH Header's TH element.
|
377
|
+
* @param {number} [headerLevel=0] (Since 12.2.0) Header level index. Accepts positive (0 to n)
|
378
|
+
* and negative (-1 to -n) values. For positive values, 0 points to the
|
379
|
+
* topmost header. For negative values, -1 points to the bottom-most
|
380
|
+
* header (the header closest to the cells).
|
298
381
|
*/
|
299
382
|
'afterGetColHeader',
|
300
383
|
/**
|
@@ -494,6 +577,7 @@ var REGISTERED_HOOKS = [
|
|
494
577
|
* @param {object} preventScrolling Object with `value` property where its value change will be observed.
|
495
578
|
* @param {number} selectionLayerLevel The number which indicates what selection layer is currently modified.
|
496
579
|
* @example
|
580
|
+
* ::: only-for javascript
|
497
581
|
* ```js
|
498
582
|
* new Handsontable(element, {
|
499
583
|
* afterSelection: (row, column, row2, column2, preventScrolling, selectionLayerLevel) => {
|
@@ -505,6 +589,21 @@ var REGISTERED_HOOKS = [
|
|
505
589
|
* }
|
506
590
|
* })
|
507
591
|
* ```
|
592
|
+
* :::
|
593
|
+
*
|
594
|
+
* ::: only-for react
|
595
|
+
* ```jsx
|
596
|
+
* <HotTable
|
597
|
+
* afterSelection={(row, column, row2, column2, preventScrolling, selectionLayerLevel) => {
|
598
|
+
* // If set to `false` (default): when cell selection is outside the viewport,
|
599
|
+
* // Handsontable scrolls the viewport to cell selection's end corner.
|
600
|
+
* // If set to `true`: when cell selection is outside the viewport,
|
601
|
+
* // Handsontable doesn't scroll to cell selection's end corner.
|
602
|
+
* preventScrolling.value = true;
|
603
|
+
* }}
|
604
|
+
* />
|
605
|
+
* ```
|
606
|
+
* :::
|
508
607
|
*/
|
509
608
|
'afterSelection',
|
510
609
|
/**
|
@@ -521,6 +620,7 @@ var REGISTERED_HOOKS = [
|
|
521
620
|
* @param {number} selectionLayerLevel The number which indicates what selection layer is currently modified.
|
522
621
|
* @example
|
523
622
|
* ```js
|
623
|
+
* ::: only-for javascript
|
524
624
|
* new Handsontable(element, {
|
525
625
|
* afterSelectionByProp: (row, column, row2, column2, preventScrolling, selectionLayerLevel) => {
|
526
626
|
* // setting if prevent scrolling after selection
|
@@ -528,6 +628,18 @@ var REGISTERED_HOOKS = [
|
|
528
628
|
* }
|
529
629
|
* })
|
530
630
|
* ```
|
631
|
+
* :::
|
632
|
+
*
|
633
|
+
* ::: only-for react
|
634
|
+
* ```jsx
|
635
|
+
* <HotTable
|
636
|
+
* afterSelectionByProp={(row, column, row2, column2, preventScrolling, selectionLayerLevel) => {
|
637
|
+
* // setting if prevent scrolling after selection
|
638
|
+
* preventScrolling.value = true;
|
639
|
+
* }}
|
640
|
+
* />
|
641
|
+
* ```
|
642
|
+
* :::
|
531
643
|
*/
|
532
644
|
'afterSelectionByProp',
|
533
645
|
/**
|
@@ -689,8 +801,11 @@ var REGISTERED_HOOKS = [
|
|
689
801
|
*/
|
690
802
|
'beforeCellAlignment',
|
691
803
|
/**
|
692
|
-
* Fired before one or more cells
|
693
|
-
*
|
804
|
+
* Fired before one or more cells are changed.
|
805
|
+
*
|
806
|
+
* Use this hook to silently alter the user's changes before Handsontable re-renders.
|
807
|
+
*
|
808
|
+
* To ignore the user's changes, use a nullified array or return `false`.
|
694
809
|
*
|
695
810
|
* @event Hooks#beforeChange
|
696
811
|
* @param {Array[]} changes 2D array containing information about each of the edited cells `[[row, prop, oldVal, newVal], ...]`. `row` is a visual row index.
|
@@ -698,22 +813,27 @@ var REGISTERED_HOOKS = [
|
|
698
813
|
* ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
|
699
814
|
* @returns {undefined | boolean} If `false` all changes were cancelled, `true` otherwise.
|
700
815
|
* @example
|
816
|
+
* ::: only-for javascript
|
701
817
|
* ```js
|
702
|
-
* //
|
818
|
+
* // to alter a single change, overwrite the value with `changes[i][3]`
|
703
819
|
* new Handsontable(element, {
|
704
820
|
* beforeChange: (changes, source) => {
|
705
821
|
* // [[row, prop, oldVal, newVal], ...]
|
706
|
-
* changes[0] =
|
822
|
+
* changes[0][3] = 10;
|
707
823
|
* }
|
708
824
|
* });
|
709
|
-
*
|
825
|
+
*
|
826
|
+
* // to ignore a single change, set `changes[i]` to `null`
|
827
|
+
* // or remove `changes[i]` from the array, by using `changes.splice(i, 1)`
|
710
828
|
* new Handsontable(element, {
|
711
829
|
* beforeChange: (changes, source) => {
|
712
830
|
* // [[row, prop, oldVal, newVal], ...]
|
713
|
-
* changes[0]
|
831
|
+
* changes[0] = null;
|
714
832
|
* }
|
715
833
|
* });
|
716
|
-
*
|
834
|
+
*
|
835
|
+
* // to ignore all changes, return `false`
|
836
|
+
* // or set the array's length to 0, by using `changes.length = 0`
|
717
837
|
* new Handsontable(element, {
|
718
838
|
* beforeChange: (changes, source) => {
|
719
839
|
* // [[row, prop, oldVal, newVal], ...]
|
@@ -721,6 +841,37 @@ var REGISTERED_HOOKS = [
|
|
721
841
|
* }
|
722
842
|
* });
|
723
843
|
* ```
|
844
|
+
* :::
|
845
|
+
*
|
846
|
+
* ::: only-for react
|
847
|
+
* ```jsx
|
848
|
+
* // to alter a single change, overwrite the desired value with `changes[i][3]`
|
849
|
+
* <HotTable
|
850
|
+
* beforeChange={(changes, source) => {
|
851
|
+
* // [[row, prop, oldVal, newVal], ...]
|
852
|
+
* changes[0][3] = 10;
|
853
|
+
* }}
|
854
|
+
* />
|
855
|
+
*
|
856
|
+
* // to ignore a single change, set `changes[i]` to `null`
|
857
|
+
* // or remove `changes[i]` from the array, by using changes.splice(i, 1).
|
858
|
+
* <HotTable
|
859
|
+
* beforeChange={(changes, source) => {
|
860
|
+
* // [[row, prop, oldVal, newVal], ...]
|
861
|
+
* changes[0] = null;
|
862
|
+
* }}
|
863
|
+
* />
|
864
|
+
*
|
865
|
+
* // to ignore all changes, return `false`
|
866
|
+
* // or set the array's length to 0 (`changes.length = 0`)
|
867
|
+
* <HotTable
|
868
|
+
* beforeChange={(changes, source) => {
|
869
|
+
* // [[row, prop, oldVal, newVal], ...]
|
870
|
+
* return false;
|
871
|
+
* }}
|
872
|
+
* />
|
873
|
+
* ```
|
874
|
+
* :::
|
724
875
|
*/
|
725
876
|
'beforeChange',
|
726
877
|
/**
|
@@ -1177,7 +1328,7 @@ var REGISTERED_HOOKS = [
|
|
1177
1328
|
*/
|
1178
1329
|
'modifyCopyableRange',
|
1179
1330
|
/**
|
1180
|
-
* Fired by {@link CopyPaste} plugin before copying the values
|
1331
|
+
* Fired by {@link CopyPaste} plugin before copying the values to the clipboard and before clearing values of
|
1181
1332
|
* the selected cells. This hook is fired when {@link Options#copyPaste} option is enabled.
|
1182
1333
|
*
|
1183
1334
|
* @event Hooks#beforeCut
|
@@ -1186,6 +1337,7 @@ var REGISTERED_HOOKS = [
|
|
1186
1337
|
* which will be cut out.
|
1187
1338
|
* @returns {*} If returns `false` then operation of the cutting out is canceled.
|
1188
1339
|
* @example
|
1340
|
+
* ::: only-for javascript
|
1189
1341
|
* ```js
|
1190
1342
|
* // To disregard a single row, remove it from the array using data.splice(i, 1).
|
1191
1343
|
* new Handsontable(element, {
|
@@ -1203,6 +1355,27 @@ var REGISTERED_HOOKS = [
|
|
1203
1355
|
* }
|
1204
1356
|
* });
|
1205
1357
|
* ```
|
1358
|
+
* :::
|
1359
|
+
*
|
1360
|
+
* ::: only-for react
|
1361
|
+
* ```jsx
|
1362
|
+
* // To disregard a single row, remove it from the array using data.splice(i, 1).
|
1363
|
+
* <HotTable
|
1364
|
+
* beforeCut={(data, coords) => {
|
1365
|
+
* // data -> [[1, 2, 3], [4, 5, 6]]
|
1366
|
+
* data.splice(0, 1);
|
1367
|
+
* // data -> [[4, 5, 6]]
|
1368
|
+
* // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
|
1369
|
+
* }}
|
1370
|
+
* />
|
1371
|
+
* // To cancel a cutting action, just return `false`.
|
1372
|
+
* <HotTable
|
1373
|
+
* beforeCut={(data, coords) => {
|
1374
|
+
* return false;
|
1375
|
+
* }}
|
1376
|
+
* />
|
1377
|
+
* ```
|
1378
|
+
* :::
|
1206
1379
|
*/
|
1207
1380
|
'beforeCut',
|
1208
1381
|
/**
|
@@ -1210,21 +1383,23 @@ var REGISTERED_HOOKS = [
|
|
1210
1383
|
* {@link Options#copyPaste} option is enabled.
|
1211
1384
|
*
|
1212
1385
|
* @event Hooks#afterCut
|
1213
|
-
* @param {Array[]} data An array of arrays
|
1386
|
+
* @param {Array[]} data An array of arrays with the cut data.
|
1214
1387
|
* @param {object[]} coords An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
|
1215
1388
|
* which was cut out.
|
1216
1389
|
*/
|
1217
1390
|
'afterCut',
|
1218
1391
|
/**
|
1219
|
-
* Fired before values are copied
|
1392
|
+
* Fired before values are copied to the clipboard.
|
1220
1393
|
*
|
1221
1394
|
* @event Hooks#beforeCopy
|
1222
1395
|
* @param {Array[]} data An array of arrays which contains data to copied.
|
1223
1396
|
* @param {object[]} coords An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
|
1224
1397
|
* which will copied.
|
1398
|
+
* @param {{ columnHeadersCount: number }} copiedHeadersCount (Since 12.3.0) The number of copied column headers.
|
1225
1399
|
* @returns {*} If returns `false` then copying is canceled.
|
1226
1400
|
*
|
1227
1401
|
* @example
|
1402
|
+
* ::: only-for javascript
|
1228
1403
|
* ```js
|
1229
1404
|
* // To disregard a single row, remove it from array using data.splice(i, 1).
|
1230
1405
|
* ...
|
@@ -1247,6 +1422,32 @@ var REGISTERED_HOOKS = [
|
|
1247
1422
|
* });
|
1248
1423
|
* ...
|
1249
1424
|
* ```
|
1425
|
+
* :::
|
1426
|
+
*
|
1427
|
+
* ::: only-for react
|
1428
|
+
* ```jsx
|
1429
|
+
* // To disregard a single row, remove it from array using data.splice(i, 1).
|
1430
|
+
* ...
|
1431
|
+
* <HotTable
|
1432
|
+
* beforeCopy={(data, coords) => {
|
1433
|
+
* // data -> [[1, 2, 3], [4, 5, 6]]
|
1434
|
+
* data.splice(0, 1);
|
1435
|
+
* // data -> [[4, 5, 6]]
|
1436
|
+
* // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
|
1437
|
+
* }}
|
1438
|
+
* />
|
1439
|
+
* ...
|
1440
|
+
*
|
1441
|
+
* // To cancel copying, return false from the callback.
|
1442
|
+
* ...
|
1443
|
+
* <HotTable
|
1444
|
+
* beforeCopy={(data, coords) => {
|
1445
|
+
* return false;
|
1446
|
+
* }}
|
1447
|
+
* />
|
1448
|
+
* ...
|
1449
|
+
* ```
|
1450
|
+
* :::
|
1250
1451
|
*/
|
1251
1452
|
'beforeCopy',
|
1252
1453
|
/**
|
@@ -1257,6 +1458,7 @@ var REGISTERED_HOOKS = [
|
|
1257
1458
|
* @param {Array[]} data An array of arrays which contains the copied data.
|
1258
1459
|
* @param {object[]} coords An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
|
1259
1460
|
* which was copied.
|
1461
|
+
* @param {{ columnHeadersCount: number }} copiedHeadersCount (Since 12.3.0) The number of copied column headers.
|
1260
1462
|
*/
|
1261
1463
|
'afterCopy',
|
1262
1464
|
/**
|
@@ -1270,6 +1472,7 @@ var REGISTERED_HOOKS = [
|
|
1270
1472
|
* @returns {*} If returns `false` then pasting is canceled.
|
1271
1473
|
* @example
|
1272
1474
|
* ```js
|
1475
|
+
* ::: only-for javascript
|
1273
1476
|
* // To disregard a single row, remove it from array using data.splice(i, 1).
|
1274
1477
|
* new Handsontable(example, {
|
1275
1478
|
* beforePaste: (data, coords) => {
|
@@ -1286,6 +1489,27 @@ var REGISTERED_HOOKS = [
|
|
1286
1489
|
* }
|
1287
1490
|
* });
|
1288
1491
|
* ```
|
1492
|
+
* :::
|
1493
|
+
*
|
1494
|
+
* ::: only-for react
|
1495
|
+
* ```jsx
|
1496
|
+
* // To disregard a single row, remove it from array using data.splice(i, 1).
|
1497
|
+
* <HotTable
|
1498
|
+
* beforePaste={(data, coords) => {
|
1499
|
+
* // data -> [[1, 2, 3], [4, 5, 6]]
|
1500
|
+
* data.splice(0, 1);
|
1501
|
+
* // data -> [[4, 5, 6]]
|
1502
|
+
* // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
|
1503
|
+
* }}
|
1504
|
+
* />
|
1505
|
+
* // To cancel pasting, return false from the callback.
|
1506
|
+
* <HotTable
|
1507
|
+
* beforePaste={(data, coords) => {
|
1508
|
+
* return false;
|
1509
|
+
* }}
|
1510
|
+
* />
|
1511
|
+
* ```
|
1512
|
+
* :::
|
1289
1513
|
*/
|
1290
1514
|
'beforePaste',
|
1291
1515
|
/**
|
@@ -1293,7 +1517,7 @@ var REGISTERED_HOOKS = [
|
|
1293
1517
|
* {@link Options#copyPaste} option is enabled.
|
1294
1518
|
*
|
1295
1519
|
* @event Hooks#afterPaste
|
1296
|
-
* @param {Array[]} data An array of arrays
|
1520
|
+
* @param {Array[]} data An array of arrays with the pasted data.
|
1297
1521
|
* @param {object[]} coords An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
|
1298
1522
|
* that correspond to the previously selected area.
|
1299
1523
|
*/
|
@@ -1478,13 +1702,22 @@ var REGISTERED_HOOKS = [
|
|
1478
1702
|
*/
|
1479
1703
|
'beforeStretchingColumnWidth',
|
1480
1704
|
/**
|
1481
|
-
* Fired by
|
1482
|
-
*
|
1705
|
+
* Fired by the [`Filters`](@/api/filters.md) plugin,
|
1706
|
+
* before a [column filter](@/guides/columns/column-filter.md) gets applied.
|
1707
|
+
*
|
1708
|
+
* [`beforeFilter`](#beforefilter) takes one argument (`conditionsStack`), which is an array of objects.
|
1709
|
+
* Each object represents one of your [column filters](@/api/filters.md#addcondition),
|
1710
|
+
* and consists of the following properties:
|
1711
|
+
*
|
1712
|
+
* | Property | Possible values | Description |
|
1713
|
+
* | ------------ | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
|
1714
|
+
* | `column` | Number | A visual index of the column to which the filter will be applied. |
|
1715
|
+
* | `conditions` | Array of objects | Each object represents one condition. For details, see [`addCondition()`](@/api/filters.md#addcondition). |
|
1716
|
+
* | `operation` | `'conjunction'` \| `'disjunction'` \| `'disjunctionWithExtraCondition'` | An operation to perform on your set of `conditions`. For details, see [`addCondition()`](@/api/filters.md#addcondition). |
|
1717
|
+
*
|
1718
|
+
* An example of the format of the `conditionsStack` argument:
|
1483
1719
|
*
|
1484
|
-
* @event Hooks#beforeFilter
|
1485
|
-
* @param {object[]} conditionsStack An array of objects with added formulas.
|
1486
1720
|
* ```js
|
1487
|
-
* // Example format of the conditionsStack argument:
|
1488
1721
|
* [
|
1489
1722
|
* {
|
1490
1723
|
* column: 2,
|
@@ -1502,17 +1735,47 @@ var REGISTERED_HOOKS = [
|
|
1502
1735
|
* },
|
1503
1736
|
* ]
|
1504
1737
|
* ```
|
1505
|
-
*
|
1738
|
+
*
|
1739
|
+
* To perform server-side filtering (i.e., to not apply filtering to Handsontable's UI),
|
1740
|
+
* set [`beforeFilter`](#beforefilter) to return `false`:
|
1741
|
+
*
|
1742
|
+
* ```js
|
1743
|
+
* new Handsontable(document.getElementById('example'), {
|
1744
|
+
* beforeFilter: (conditionsStack) => {
|
1745
|
+
* return false;
|
1746
|
+
* }
|
1747
|
+
* });
|
1748
|
+
*```
|
1749
|
+
*
|
1750
|
+
* Read more:
|
1751
|
+
* - [Guides: Column filter](@/guides/columns/column-filter.md)
|
1752
|
+
* - [Hooks: `afterFilter`](#afterfilter)
|
1753
|
+
* - [Options: `filters`](@/api/options.md#filters)
|
1754
|
+
* - [Plugins: `Filters`](@/api/filters.md)
|
1755
|
+
* – [Plugin methods: `addCondition()`](@/api/filters.md#addcondition)
|
1756
|
+
*
|
1757
|
+
* @event Hooks#beforeFilter
|
1758
|
+
* @param {object[]} conditionsStack An array of objects with your [column filters](@/api/filters.md#addcondition).
|
1759
|
+
* @returns {boolean} To perform server-side filtering (i.e., to not apply filtering to Handsontable's UI), return `false`.
|
1506
1760
|
*/
|
1507
1761
|
'beforeFilter',
|
1508
1762
|
/**
|
1509
|
-
* Fired by
|
1510
|
-
*
|
1763
|
+
* Fired by the [`Filters`](@/api/filters.md) plugin,
|
1764
|
+
* after a [column filter](@/guides/columns/column-filter.md) gets applied.
|
1765
|
+
*
|
1766
|
+
* [`afterFilter`](#afterfilter) takes one argument (`conditionsStack`), which is an array of objects.
|
1767
|
+
* Each object represents one of your [column filters](@/api/filters.md#addcondition),
|
1768
|
+
* and consists of the following properties:
|
1769
|
+
*
|
1770
|
+
* | Property | Possible values | Description |
|
1771
|
+
* | ------------ | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
|
1772
|
+
* | `column` | Number | A visual index of the column to which the filter was applied. |
|
1773
|
+
* | `conditions` | Array of objects | Each object represents one condition. For details, see [`addCondition()`](@/api/filters.md#addcondition). |
|
1774
|
+
* | `operation` | `'conjunction'` \| `'disjunction'` \| `'disjunctionWithExtraCondition'` | An operation to perform on your set of `conditions`. For details, see [`addCondition()`](@/api/filters.md#addcondition). |
|
1775
|
+
*
|
1776
|
+
* An example of the format of the `conditionsStack` argument:
|
1511
1777
|
*
|
1512
|
-
* @event Hooks#afterFilter
|
1513
|
-
* @param {object[]} conditionsStack An array of objects with added conditions.
|
1514
1778
|
* ```js
|
1515
|
-
* // Example format of the conditionsStack argument:
|
1516
1779
|
* [
|
1517
1780
|
* {
|
1518
1781
|
* column: 2,
|
@@ -1530,18 +1793,38 @@ var REGISTERED_HOOKS = [
|
|
1530
1793
|
* },
|
1531
1794
|
* ]
|
1532
1795
|
* ```
|
1796
|
+
*
|
1797
|
+
* Read more:
|
1798
|
+
* - [Guides: Column filter](@/guides/columns/column-filter.md)
|
1799
|
+
* - [Hooks: `beforeFilter`](#beforefilter)
|
1800
|
+
* - [Options: `filters`](@/api/options.md#filters)
|
1801
|
+
* - [Plugins: `Filters`](@/api/filters.md)
|
1802
|
+
* – [Plugin methods: `addCondition()`](@/api/filters.md#addcondition)
|
1803
|
+
*
|
1804
|
+
* @event Hooks#afterFilter
|
1805
|
+
* @param {object[]} conditionsStack An array of objects with your [column filters](@/api/filters.md#addcondition).
|
1533
1806
|
*/
|
1534
1807
|
'afterFilter',
|
1535
1808
|
/**
|
1536
|
-
*
|
1809
|
+
* Fired by the {@link Formulas} plugin, when any cell value changes.
|
1810
|
+
*
|
1811
|
+
* Returns an array of objects that contains:
|
1812
|
+
* - The addresses (`sheet`, `row`, `col`) and new values (`newValue`) of the changed cells.
|
1813
|
+
* - The addresses and new values of any cells that had to be recalculated (because their formulas depend on the cells that changed).
|
1814
|
+
*
|
1815
|
+
* This hook gets also fired on Handsontable's initialization, returning the addresses and values of all cells.
|
1816
|
+
*
|
1817
|
+
* Read more:
|
1818
|
+
* - [Guides: Formula calculation](@/guides/formulas/formula-calculation.md)
|
1819
|
+
* - [HyperFormula documentation: `valuesUpdated`](https://hyperformula.handsontable.com/api/interfaces/listeners.html#valuesupdated)
|
1537
1820
|
*
|
1538
1821
|
* @since 9.0.0
|
1539
1822
|
* @event Hooks#afterFormulasValuesUpdate
|
1540
|
-
* @param {Array} changes The
|
1823
|
+
* @param {Array} changes The addresses and new values of all the changed and recalculated cells.
|
1541
1824
|
*/
|
1542
1825
|
'afterFormulasValuesUpdate',
|
1543
1826
|
/**
|
1544
|
-
*
|
1827
|
+
* Fired when a named expression is added to the Formulas' engine instance.
|
1545
1828
|
*
|
1546
1829
|
* @since 9.0.0
|
1547
1830
|
* @event Hooks#afterNamedExpressionAdded
|
@@ -1550,7 +1833,7 @@ var REGISTERED_HOOKS = [
|
|
1550
1833
|
*/
|
1551
1834
|
'afterNamedExpressionAdded',
|
1552
1835
|
/**
|
1553
|
-
*
|
1836
|
+
* Fired when a named expression is removed from the Formulas' engine instance.
|
1554
1837
|
*
|
1555
1838
|
* @since 9.0.0
|
1556
1839
|
* @event Hooks#afterNamedExpressionRemoved
|
@@ -1559,7 +1842,7 @@ var REGISTERED_HOOKS = [
|
|
1559
1842
|
*/
|
1560
1843
|
'afterNamedExpressionRemoved',
|
1561
1844
|
/**
|
1562
|
-
*
|
1845
|
+
* Fired when a new sheet is added to the Formulas' engine instance.
|
1563
1846
|
*
|
1564
1847
|
* @since 9.0.0
|
1565
1848
|
* @event Hooks#afterSheetAdded
|
@@ -1567,7 +1850,7 @@ var REGISTERED_HOOKS = [
|
|
1567
1850
|
*/
|
1568
1851
|
'afterSheetAdded',
|
1569
1852
|
/**
|
1570
|
-
*
|
1853
|
+
* Fired when a sheet in the Formulas' engine instance is renamed.
|
1571
1854
|
*
|
1572
1855
|
* @since 9.0.0
|
1573
1856
|
* @event Hooks#afterSheetRenamed
|
@@ -1576,7 +1859,7 @@ var REGISTERED_HOOKS = [
|
|
1576
1859
|
*/
|
1577
1860
|
'afterSheetRenamed',
|
1578
1861
|
/**
|
1579
|
-
*
|
1862
|
+
* Fired when a sheet is removed from the Formulas' engine instance.
|
1580
1863
|
*
|
1581
1864
|
* @since 9.0.0
|
1582
1865
|
* @event Hooks#afterSheetRemoved
|
@@ -1590,6 +1873,20 @@ var REGISTERED_HOOKS = [
|
|
1590
1873
|
* @event Hooks#modifyColumnHeaderHeight
|
1591
1874
|
*/
|
1592
1875
|
'modifyColumnHeaderHeight',
|
1876
|
+
/**
|
1877
|
+
* Fired while retrieving a column header's value.
|
1878
|
+
*
|
1879
|
+
* @since 12.3.0
|
1880
|
+
* @event Hooks#modifyColumnHeaderValue
|
1881
|
+
* @param {string} value A column header value.
|
1882
|
+
* @param {number} visualColumnIndex A visual column index.
|
1883
|
+
* @param {number} [headerLevel=0] Header level index. Accepts positive (0 to n)
|
1884
|
+
* and negative (-1 to -n) values. For positive values, 0 points to the
|
1885
|
+
* topmost header. For negative values, -1 points to the bottom-most
|
1886
|
+
* header (the header closest to the cells).
|
1887
|
+
* @returns {string} The column header value to be updated.
|
1888
|
+
*/
|
1889
|
+
'modifyColumnHeaderValue',
|
1593
1890
|
/**
|
1594
1891
|
* Fired by {@link UndoRedo} plugin before the undo action. Contains information about the action that is being undone.
|
1595
1892
|
* This hook is fired when {@link Options#undo} option is enabled.
|
@@ -1990,7 +2287,7 @@ var REGISTERED_HOOKS = [
|
|
1990
2287
|
*/
|
1991
2288
|
'afterUnlisten',
|
1992
2289
|
/**
|
1993
|
-
* Fired after the window was resized.
|
2290
|
+
* Fired after the window was resized or the size of the Handsontable root element was changed.
|
1994
2291
|
*
|
1995
2292
|
* @event Hooks#afterRefreshDimensions
|
1996
2293
|
* @param {object} previousDimensions Previous dimensions of the container.
|
@@ -1999,7 +2296,8 @@ var REGISTERED_HOOKS = [
|
|
1999
2296
|
*/
|
2000
2297
|
'afterRefreshDimensions',
|
2001
2298
|
/**
|
2002
|
-
* Cancellable hook, called after resizing a window
|
2299
|
+
* Cancellable hook, called after resizing a window or after detecting size change of the
|
2300
|
+
* Handsontable root element, but before redrawing a table.
|
2003
2301
|
*
|
2004
2302
|
* @event Hooks#beforeRefreshDimensions
|
2005
2303
|
* @param {object} previousDimensions Previous dimensions of the container.
|
@@ -2062,13 +2360,14 @@ var REGISTERED_HOOKS = [
|
|
2062
2360
|
* @param {*} cellValue Value of the cell.
|
2063
2361
|
*/
|
2064
2362
|
'modifyAutoColumnSizeSeed'];
|
2363
|
+
|
2065
2364
|
/**
|
2066
2365
|
* Template warning message for removed hooks.
|
2067
2366
|
*
|
2068
2367
|
* @type {string}
|
2069
2368
|
*/
|
2070
|
-
|
2071
2369
|
var REMOVED_MESSAGE = (0, _templateLiteralTag.toSingleLine)(_templateObject || (_templateObject = _taggedTemplateLiteral(["The plugin hook \"[hookName]\" was removed in Handsontable [removedInVersion]. \n Please consult release notes https://github.com/handsontable/handsontable/releases/tag/[removedInVersion] to \n learn about the migration path."], ["The plugin hook \"[hookName]\" was removed in Handsontable [removedInVersion].\\x20\n Please consult release notes https://github.com/handsontable/handsontable/releases/tag/[removedInVersion] to\\x20\n learn about the migration path."])));
|
2370
|
+
|
2072
2371
|
/**
|
2073
2372
|
* The list of the hooks which are removed from the API. The warning message is printed out in
|
2074
2373
|
* the developer console when the hook is used.
|
@@ -2078,10 +2377,9 @@ var REMOVED_MESSAGE = (0, _templateLiteralTag.toSingleLine)(_templateObject || (
|
|
2078
2377
|
*
|
2079
2378
|
* @type {Map<string, string>}
|
2080
2379
|
*/
|
2081
|
-
|
2082
2380
|
var REMOVED_HOOKS = new Map([['modifyRow', '8.0.0'], ['modifyCol', '8.0.0'], ['unmodifyRow', '8.0.0'], ['unmodifyCol', '8.0.0'], ['skipLengthCache', '8.0.0'], ['hiddenColumn', '8.0.0'], ['hiddenRow', '8.0.0']]);
|
2083
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
2084
2381
|
|
2382
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
2085
2383
|
/**
|
2086
2384
|
* The list of the hooks which are deprecated. The warning message is printed out in
|
2087
2385
|
* the developer console when the hook is used.
|
@@ -2101,20 +2399,17 @@ var REMOVED_HOOKS = new Map([['modifyRow', '8.0.0'], ['modifyCol', '8.0.0'], ['u
|
|
2101
2399
|
*
|
2102
2400
|
* @type {Map<string, string>}
|
2103
2401
|
*/
|
2104
|
-
|
2105
2402
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
2106
|
-
|
2107
2403
|
var DEPRECATED_HOOKS = new Map([['beforeAutofillInsidePopulate', 'The plugin hook "beforeAutofillInsidePopulate" is deprecated and will be removed in the next major release.']]);
|
2108
|
-
|
2109
2404
|
var Hooks = /*#__PURE__*/function () {
|
2110
2405
|
/**
|
2111
2406
|
*
|
2112
2407
|
*/
|
2113
2408
|
function Hooks() {
|
2114
2409
|
_classCallCheck(this, Hooks);
|
2115
|
-
|
2116
2410
|
this.globalBucket = this.createEmptyBucket();
|
2117
2411
|
}
|
2412
|
+
|
2118
2413
|
/**
|
2119
2414
|
* Returns a new object with empty handlers related to every registered hook name.
|
2120
2415
|
*
|
@@ -2133,40 +2428,37 @@ var Hooks = /*#__PURE__*/function () {
|
|
2133
2428
|
* }
|
2134
2429
|
* ```
|
2135
2430
|
*/
|
2136
|
-
|
2137
|
-
|
2138
2431
|
_createClass(Hooks, [{
|
2139
2432
|
key: "createEmptyBucket",
|
2140
2433
|
value: function createEmptyBucket() {
|
2141
|
-
var bucket = Object.create(null);
|
2434
|
+
var bucket = Object.create(null);
|
2142
2435
|
|
2436
|
+
// eslint-disable-next-line no-return-assign
|
2143
2437
|
(0, _array.arrayEach)(REGISTERED_HOOKS, function (hook) {
|
2144
2438
|
return bucket[hook] = [];
|
2145
2439
|
});
|
2146
2440
|
return bucket;
|
2147
2441
|
}
|
2442
|
+
|
2148
2443
|
/**
|
2149
2444
|
* Get hook bucket based on the context of the object or if argument is `undefined`, get the global hook bucket.
|
2150
2445
|
*
|
2151
2446
|
* @param {object} [context=null] A Handsontable instance.
|
2152
2447
|
* @returns {object} Returns a global or Handsontable instance bucket.
|
2153
2448
|
*/
|
2154
|
-
|
2155
2449
|
}, {
|
2156
2450
|
key: "getBucket",
|
2157
2451
|
value: function getBucket() {
|
2158
2452
|
var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
2159
|
-
|
2160
2453
|
if (context) {
|
2161
2454
|
if (!context.pluginHookBucket) {
|
2162
2455
|
context.pluginHookBucket = this.createEmptyBucket();
|
2163
2456
|
}
|
2164
|
-
|
2165
2457
|
return context.pluginHookBucket;
|
2166
2458
|
}
|
2167
|
-
|
2168
2459
|
return this.globalBucket;
|
2169
2460
|
}
|
2461
|
+
|
2170
2462
|
/**
|
2171
2463
|
* Adds a listener (globally or locally) to a specified hook name.
|
2172
2464
|
* If the `context` parameter is provided, the hook will be added only to the instance it references.
|
@@ -2195,14 +2487,11 @@ var Hooks = /*#__PURE__*/function () {
|
|
2195
2487
|
* Handsontable.hooks.add('beforeInit', [myCallback, anotherCallback]);
|
2196
2488
|
* ```
|
2197
2489
|
*/
|
2198
|
-
|
2199
2490
|
}, {
|
2200
2491
|
key: "add",
|
2201
2492
|
value: function add(key, callback) {
|
2202
2493
|
var _this = this;
|
2203
|
-
|
2204
2494
|
var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
2205
|
-
|
2206
2495
|
if (Array.isArray(callback)) {
|
2207
2496
|
(0, _array.arrayEach)(callback, function (c) {
|
2208
2497
|
return _this.add(key, c, context);
|
@@ -2214,24 +2503,18 @@ var Hooks = /*#__PURE__*/function () {
|
|
2214
2503
|
removedInVersion: REMOVED_HOOKS.get(key)
|
2215
2504
|
}));
|
2216
2505
|
}
|
2217
|
-
|
2218
2506
|
if (DEPRECATED_HOOKS.has(key)) {
|
2219
2507
|
(0, _console.warn)(DEPRECATED_HOOKS.get(key));
|
2220
2508
|
}
|
2221
|
-
|
2222
2509
|
var bucket = this.getBucket(context);
|
2223
|
-
|
2224
2510
|
if (typeof bucket[key] === 'undefined') {
|
2225
2511
|
this.register(key);
|
2226
2512
|
bucket[key] = [];
|
2227
2513
|
}
|
2228
|
-
|
2229
2514
|
callback.skip = false;
|
2230
|
-
|
2231
2515
|
if (bucket[key].indexOf(callback) === -1) {
|
2232
2516
|
// only add a hook if it has not already been added (adding the same hook twice is now silently ignored)
|
2233
2517
|
var foundInitialHook = false;
|
2234
|
-
|
2235
2518
|
if (callback.initialHook) {
|
2236
2519
|
(0, _array.arrayEach)(bucket[key], function (cb, i) {
|
2237
2520
|
if (cb.initialHook) {
|
@@ -2241,15 +2524,14 @@ var Hooks = /*#__PURE__*/function () {
|
|
2241
2524
|
}
|
2242
2525
|
});
|
2243
2526
|
}
|
2244
|
-
|
2245
2527
|
if (!foundInitialHook) {
|
2246
2528
|
bucket[key].push(callback);
|
2247
2529
|
}
|
2248
2530
|
}
|
2249
2531
|
}
|
2250
|
-
|
2251
2532
|
return this;
|
2252
2533
|
}
|
2534
|
+
|
2253
2535
|
/**
|
2254
2536
|
* Adds a listener to a specified hook. After the hook runs this listener will be automatically removed from the bucket.
|
2255
2537
|
*
|
@@ -2263,14 +2545,11 @@ var Hooks = /*#__PURE__*/function () {
|
|
2263
2545
|
* Handsontable.hooks.once('beforeInit', myCallback, hotInstance);
|
2264
2546
|
* ```
|
2265
2547
|
*/
|
2266
|
-
|
2267
2548
|
}, {
|
2268
2549
|
key: "once",
|
2269
2550
|
value: function once(key, callback) {
|
2270
2551
|
var _this2 = this;
|
2271
|
-
|
2272
2552
|
var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
2273
|
-
|
2274
2553
|
if (Array.isArray(callback)) {
|
2275
2554
|
(0, _array.arrayEach)(callback, function (c) {
|
2276
2555
|
return _this2.once(key, c, context);
|
@@ -2280,6 +2559,7 @@ var Hooks = /*#__PURE__*/function () {
|
|
2280
2559
|
this.add(key, callback, context);
|
2281
2560
|
}
|
2282
2561
|
}
|
2562
|
+
|
2283
2563
|
/**
|
2284
2564
|
* Removes a listener from a hook with a given name. If the `context` argument is provided, it removes a listener from a local hook assigned to the given Handsontable instance.
|
2285
2565
|
*
|
@@ -2294,22 +2574,20 @@ var Hooks = /*#__PURE__*/function () {
|
|
2294
2574
|
* Handsontable.hooks.remove('beforeInit', myCallback);
|
2295
2575
|
* ```
|
2296
2576
|
*/
|
2297
|
-
|
2298
2577
|
}, {
|
2299
2578
|
key: "remove",
|
2300
2579
|
value: function remove(key, callback) {
|
2301
2580
|
var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
2302
2581
|
var bucket = this.getBucket(context);
|
2303
|
-
|
2304
2582
|
if (typeof bucket[key] !== 'undefined') {
|
2305
2583
|
if (bucket[key].indexOf(callback) >= 0) {
|
2306
2584
|
callback.skip = true;
|
2307
2585
|
return true;
|
2308
2586
|
}
|
2309
2587
|
}
|
2310
|
-
|
2311
2588
|
return false;
|
2312
2589
|
}
|
2590
|
+
|
2313
2591
|
/**
|
2314
2592
|
* Checks whether there are any registered listeners for the provided hook name.
|
2315
2593
|
* If the `context` parameter is provided, it only checks for listeners assigned to the given Handsontable instance.
|
@@ -2318,7 +2596,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2318
2596
|
* @param {object} [context=null] A Handsontable instance.
|
2319
2597
|
* @returns {boolean} `true` for success, `false` otherwise.
|
2320
2598
|
*/
|
2321
|
-
|
2322
2599
|
}, {
|
2323
2600
|
key: "has",
|
2324
2601
|
value: function has(key) {
|
@@ -2326,6 +2603,7 @@ var Hooks = /*#__PURE__*/function () {
|
|
2326
2603
|
var bucket = this.getBucket(context);
|
2327
2604
|
return !!(bucket[key] !== void 0 && bucket[key].length);
|
2328
2605
|
}
|
2606
|
+
|
2329
2607
|
/**
|
2330
2608
|
* Runs all local and global callbacks assigned to the hook identified by the `key` parameter.
|
2331
2609
|
* It returns either a return value from the last called callback or the first parameter (`p1`) passed to the `run` function.
|
@@ -2346,7 +2624,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2346
2624
|
* Handsontable.hooks.run(hot, 'beforeInit');
|
2347
2625
|
* ```
|
2348
2626
|
*/
|
2349
|
-
|
2350
2627
|
}, {
|
2351
2628
|
key: "run",
|
2352
2629
|
value: function run(context, key, p1, p2, p3, p4, p5, p6) {
|
@@ -2354,66 +2631,53 @@ var Hooks = /*#__PURE__*/function () {
|
|
2354
2631
|
var globalHandlers = this.globalBucket[key];
|
2355
2632
|
var length = globalHandlers ? globalHandlers.length : 0;
|
2356
2633
|
var index = 0;
|
2357
|
-
|
2358
2634
|
if (length) {
|
2359
2635
|
// Do not optimise this loop with arrayEach or arrow function! If you do You'll decrease perf because of GC.
|
2360
2636
|
while (index < length) {
|
2361
2637
|
if (!globalHandlers[index] || globalHandlers[index].skip) {
|
2362
2638
|
index += 1;
|
2363
2639
|
/* eslint-disable no-continue */
|
2364
|
-
|
2365
2640
|
continue;
|
2366
2641
|
}
|
2367
|
-
|
2368
2642
|
var res = (0, _function.fastCall)(globalHandlers[index], context, p1, p2, p3, p4, p5, p6);
|
2369
|
-
|
2370
2643
|
if (res !== void 0) {
|
2371
2644
|
// eslint-disable-next-line no-param-reassign
|
2372
2645
|
p1 = res;
|
2373
2646
|
}
|
2374
|
-
|
2375
2647
|
if (globalHandlers[index] && globalHandlers[index].runOnce) {
|
2376
2648
|
this.remove(key, globalHandlers[index]);
|
2377
2649
|
}
|
2378
|
-
|
2379
2650
|
index += 1;
|
2380
2651
|
}
|
2381
2652
|
}
|
2382
2653
|
}
|
2383
2654
|
{
|
2384
2655
|
var localHandlers = this.getBucket(context)[key];
|
2385
|
-
|
2386
2656
|
var _length = localHandlers ? localHandlers.length : 0;
|
2387
|
-
|
2388
2657
|
var _index = 0;
|
2389
|
-
|
2390
2658
|
if (_length) {
|
2391
2659
|
// Do not optimise this loop with arrayEach or arrow function! If you do You'll decrease perf because of GC.
|
2392
2660
|
while (_index < _length) {
|
2393
2661
|
if (!localHandlers[_index] || localHandlers[_index].skip) {
|
2394
2662
|
_index += 1;
|
2395
2663
|
/* eslint-disable no-continue */
|
2396
|
-
|
2397
2664
|
continue;
|
2398
2665
|
}
|
2399
|
-
|
2400
2666
|
var _res = (0, _function.fastCall)(localHandlers[_index], context, p1, p2, p3, p4, p5, p6);
|
2401
|
-
|
2402
2667
|
if (_res !== void 0) {
|
2403
2668
|
// eslint-disable-next-line no-param-reassign
|
2404
2669
|
p1 = _res;
|
2405
2670
|
}
|
2406
|
-
|
2407
2671
|
if (localHandlers[_index] && localHandlers[_index].runOnce) {
|
2408
2672
|
this.remove(key, localHandlers[_index], context);
|
2409
2673
|
}
|
2410
|
-
|
2411
2674
|
_index += 1;
|
2412
2675
|
}
|
2413
2676
|
}
|
2414
2677
|
}
|
2415
2678
|
return p1;
|
2416
2679
|
}
|
2680
|
+
|
2417
2681
|
/**
|
2418
2682
|
* Destroy all listeners connected to the context. If no context is provided, the global listeners will be destroyed.
|
2419
2683
|
*
|
@@ -2427,7 +2691,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2427
2691
|
* Handsontable.hooks.destroy(hotInstance);
|
2428
2692
|
* ```
|
2429
2693
|
*/
|
2430
|
-
|
2431
2694
|
}, {
|
2432
2695
|
key: "destroy",
|
2433
2696
|
value: function destroy() {
|
@@ -2437,6 +2700,7 @@ var Hooks = /*#__PURE__*/function () {
|
|
2437
2700
|
return bucket[key].length = 0;
|
2438
2701
|
});
|
2439
2702
|
}
|
2703
|
+
|
2440
2704
|
/**
|
2441
2705
|
* Registers a hook name (adds it to the list of the known hook names). Used by plugins.
|
2442
2706
|
* It is not necessary to call register, but if you use it, your plugin hook will be used returned by
|
@@ -2449,7 +2713,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2449
2713
|
* Handsontable.hooks.register('myHook');
|
2450
2714
|
* ```
|
2451
2715
|
*/
|
2452
|
-
|
2453
2716
|
}, {
|
2454
2717
|
key: "register",
|
2455
2718
|
value: function register(key) {
|
@@ -2457,6 +2720,7 @@ var Hooks = /*#__PURE__*/function () {
|
|
2457
2720
|
REGISTERED_HOOKS.push(key);
|
2458
2721
|
}
|
2459
2722
|
}
|
2723
|
+
|
2460
2724
|
/**
|
2461
2725
|
* Deregisters a hook name (removes it from the list of known hook names).
|
2462
2726
|
*
|
@@ -2467,7 +2731,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2467
2731
|
* Handsontable.hooks.deregister('myHook');
|
2468
2732
|
* ```
|
2469
2733
|
*/
|
2470
|
-
|
2471
2734
|
}, {
|
2472
2735
|
key: "deregister",
|
2473
2736
|
value: function deregister(key) {
|
@@ -2475,6 +2738,7 @@ var Hooks = /*#__PURE__*/function () {
|
|
2475
2738
|
REGISTERED_HOOKS.splice(REGISTERED_HOOKS.indexOf(key), 1);
|
2476
2739
|
}
|
2477
2740
|
}
|
2741
|
+
|
2478
2742
|
/**
|
2479
2743
|
* Returns a boolean value depending on if a hook by such name has been removed or deprecated.
|
2480
2744
|
*
|
@@ -2489,12 +2753,12 @@ var Hooks = /*#__PURE__*/function () {
|
|
2489
2753
|
* true
|
2490
2754
|
* ```
|
2491
2755
|
*/
|
2492
|
-
|
2493
2756
|
}, {
|
2494
2757
|
key: "isDeprecated",
|
2495
2758
|
value: function isDeprecated(hookName) {
|
2496
2759
|
return DEPRECATED_HOOKS.has(hookName) || REMOVED_HOOKS.has(hookName);
|
2497
2760
|
}
|
2761
|
+
|
2498
2762
|
/**
|
2499
2763
|
* Returns a boolean depending on if a hook by such name has been registered.
|
2500
2764
|
*
|
@@ -2508,12 +2772,12 @@ var Hooks = /*#__PURE__*/function () {
|
|
2508
2772
|
* true
|
2509
2773
|
* ```
|
2510
2774
|
*/
|
2511
|
-
|
2512
2775
|
}, {
|
2513
2776
|
key: "isRegistered",
|
2514
2777
|
value: function isRegistered(hookName) {
|
2515
2778
|
return REGISTERED_HOOKS.indexOf(hookName) >= 0;
|
2516
2779
|
}
|
2780
|
+
|
2517
2781
|
/**
|
2518
2782
|
* Returns an array of registered hooks.
|
2519
2783
|
*
|
@@ -2535,7 +2799,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2535
2799
|
* ]
|
2536
2800
|
* ```
|
2537
2801
|
*/
|
2538
|
-
|
2539
2802
|
}, {
|
2540
2803
|
key: "getRegistered",
|
2541
2804
|
value: function getRegistered() {
|
@@ -2547,18 +2810,15 @@ var Hooks = /*#__PURE__*/function () {
|
|
2547
2810
|
return getGlobalSingleton();
|
2548
2811
|
}
|
2549
2812
|
}]);
|
2550
|
-
|
2551
2813
|
return Hooks;
|
2552
2814
|
}();
|
2553
|
-
|
2554
2815
|
var globalSingleton = new Hooks();
|
2816
|
+
|
2555
2817
|
/**
|
2556
2818
|
* @returns {Hooks}
|
2557
2819
|
*/
|
2558
|
-
|
2559
2820
|
function getGlobalSingleton() {
|
2560
2821
|
return globalSingleton;
|
2561
2822
|
}
|
2562
|
-
|
2563
2823
|
var _default = Hooks;
|
2564
2824
|
exports.default = _default;
|