handsontable 12.1.2 → 12.2.0
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 +72 -174
- package/3rdparty/walkontable/src/border.mjs +74 -161
- 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 +26 -76
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +26 -69
- package/3rdparty/walkontable/src/calculator/viewportRows.js +20 -48
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +20 -41
- package/3rdparty/walkontable/src/cell/coords.js +13 -43
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -38
- package/3rdparty/walkontable/src/cell/range.js +55 -130
- package/3rdparty/walkontable/src/cell/range.mjs +60 -126
- package/3rdparty/walkontable/src/core/_base.js +16 -74
- package/3rdparty/walkontable/src/core/_base.mjs +19 -70
- package/3rdparty/walkontable/src/core/clone.js +1 -40
- package/3rdparty/walkontable/src/core/clone.mjs +3 -30
- package/3rdparty/walkontable/src/core/core.js +3 -57
- package/3rdparty/walkontable/src/core/core.mjs +5 -41
- package/3rdparty/walkontable/src/event.js +31 -78
- package/3rdparty/walkontable/src/event.mjs +31 -65
- package/3rdparty/walkontable/src/facade/core.js +1 -17
- package/3rdparty/walkontable/src/facade/core.mjs +7 -20
- package/3rdparty/walkontable/src/filter/column.js +9 -18
- package/3rdparty/walkontable/src/filter/column.mjs +9 -17
- package/3rdparty/walkontable/src/filter/row.js +9 -18
- package/3rdparty/walkontable/src/filter/row.mjs +9 -17
- package/3rdparty/walkontable/src/index.js +0 -31
- package/3rdparty/walkontable/src/overlay/_base.js +24 -69
- package/3rdparty/walkontable/src/overlay/_base.mjs +31 -68
- package/3rdparty/walkontable/src/overlay/bottom.js +28 -99
- package/3rdparty/walkontable/src/overlay/bottom.mjs +30 -86
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +7 -53
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +9 -40
- 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 +21 -91
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +23 -78
- package/3rdparty/walkontable/src/overlay/top.js +27 -100
- package/3rdparty/walkontable/src/overlay/top.mjs +29 -87
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +4 -51
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +6 -38
- package/3rdparty/walkontable/src/overlays.js +58 -129
- package/3rdparty/walkontable/src/overlays.mjs +60 -121
- package/3rdparty/walkontable/src/renderer/_base.js +4 -20
- package/3rdparty/walkontable/src/renderer/_base.mjs +8 -22
- package/3rdparty/walkontable/src/renderer/cells.js +10 -54
- package/3rdparty/walkontable/src/renderer/cells.mjs +22 -52
- package/3rdparty/walkontable/src/renderer/colGroup.js +10 -47
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +21 -46
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +19 -49
- package/3rdparty/walkontable/src/renderer/index.js +13 -36
- package/3rdparty/walkontable/src/renderer/index.mjs +17 -27
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +20 -49
- package/3rdparty/walkontable/src/renderer/rows.js +3 -46
- package/3rdparty/walkontable/src/renderer/rows.mjs +3 -29
- package/3rdparty/walkontable/src/renderer/table.js +22 -49
- package/3rdparty/walkontable/src/renderer/table.mjs +22 -48
- package/3rdparty/walkontable/src/scroll.js +56 -86
- package/3rdparty/walkontable/src/scroll.mjs +58 -86
- package/3rdparty/walkontable/src/selection.js +20 -101
- package/3rdparty/walkontable/src/selection.mjs +22 -85
- package/3rdparty/walkontable/src/settings.js +9 -29
- package/3rdparty/walkontable/src/settings.mjs +9 -27
- package/3rdparty/walkontable/src/table/bottom.js +1 -35
- package/3rdparty/walkontable/src/table/bottom.mjs +6 -25
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table/inlineStart.js +1 -35
- package/3rdparty/walkontable/src/table/inlineStart.mjs +3 -22
- package/3rdparty/walkontable/src/table/master.js +10 -55
- package/3rdparty/walkontable/src/table/master.mjs +15 -44
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +7 -20
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +7 -23
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +7 -21
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +7 -20
- package/3rdparty/walkontable/src/table/top.js +1 -35
- package/3rdparty/walkontable/src/table/top.mjs +6 -25
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table.js +74 -238
- package/3rdparty/walkontable/src/table.mjs +84 -227
- package/3rdparty/walkontable/src/types.js +0 -5
- package/3rdparty/walkontable/src/types.mjs +0 -5
- package/3rdparty/walkontable/src/utils/column.js +9 -31
- package/3rdparty/walkontable/src/utils/column.mjs +13 -30
- package/3rdparty/walkontable/src/utils/nodesPool.js +3 -12
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +3 -11
- 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 +2 -33
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +6 -26
- package/3rdparty/walkontable/src/utils/orderView/view.js +14 -46
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +21 -50
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +3 -15
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +3 -14
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +8 -22
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +23 -34
- package/3rdparty/walkontable/src/utils/row.js +2 -13
- package/3rdparty/walkontable/src/utils/row.mjs +2 -12
- package/3rdparty/walkontable/src/viewport.js +38 -100
- package/3rdparty/walkontable/src/viewport.mjs +40 -99
- package/CHANGELOG.md +103 -5
- package/base.js +6 -17
- package/base.mjs +6 -12
- 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 +3 -5
- 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 -4
- package/core.js +514 -974
- package/core.mjs +519 -921
- package/dataMap/dataMap.js +127 -212
- package/dataMap/dataMap.mjs +127 -188
- package/{dataSource.js → dataMap/dataSource.js} +18 -66
- package/{dataSource.mjs → dataMap/dataSource.mjs} +20 -60
- package/dataMap/index.js +0 -13
- package/dataMap/metaManager/index.js +21 -46
- package/dataMap/metaManager/index.mjs +47 -64
- package/dataMap/metaManager/lazyFactoryMap.js +23 -55
- package/dataMap/metaManager/lazyFactoryMap.mjs +23 -43
- package/dataMap/metaManager/metaLayers/cellMeta.js +16 -52
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +16 -37
- package/dataMap/metaManager/metaLayers/columnMeta.js +8 -22
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +14 -25
- package/dataMap/metaManager/metaLayers/globalMeta.js +4 -19
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.js +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +28 -37
- package/dataMap/metaManager/metaSchema.js +196 -257
- package/dataMap/metaManager/metaSchema.mjs +196 -248
- package/dataMap/metaManager/mods/dynamicCellMeta.js +6 -36
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +20 -39
- package/dataMap/metaManager/mods/extendMetaProperties.js +5 -28
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +4 -18
- package/dataMap/metaManager/utils.js +11 -20
- package/dataMap/metaManager/utils.mjs +21 -23
- package/dataMap/replaceData.js +14 -35
- package/dataMap/replaceData.mjs +35 -45
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +64469 -93042
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +527 -284
- package/dist/handsontable.js +9616 -21414
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +0 -175
- package/dist/languages/ar-AR.js +0 -10
- package/dist/languages/cs-CZ.js +0 -10
- package/dist/languages/de-CH.js +0 -10
- package/dist/languages/de-DE.js +0 -10
- package/dist/languages/en-US.js +0 -10
- package/dist/languages/es-MX.js +0 -10
- package/dist/languages/fr-FR.js +0 -10
- package/dist/languages/it-IT.js +0 -10
- package/dist/languages/ja-JP.js +0 -10
- package/dist/languages/ko-KR.js +0 -10
- package/dist/languages/lv-LV.js +0 -10
- package/dist/languages/nb-NO.js +0 -10
- package/dist/languages/nl-NL.js +0 -10
- package/dist/languages/pl-PL.js +0 -10
- package/dist/languages/pt-BR.js +0 -10
- package/dist/languages/ru-RU.js +0 -10
- package/dist/languages/sr-SP.js +0 -10
- package/dist/languages/zh-CN.js +0 -10
- package/dist/languages/zh-TW.js +0 -10
- package/editorManager.js +89 -124
- package/editorManager.mjs +89 -104
- package/editors/autocompleteEditor/autocompleteEditor.js +26 -133
- package/editors/autocompleteEditor/autocompleteEditor.mjs +26 -104
- package/editors/autocompleteEditor/index.js +0 -2
- package/editors/baseEditor/baseEditor.js +45 -155
- package/editors/baseEditor/baseEditor.mjs +45 -129
- package/editors/baseEditor/index.js +0 -2
- package/editors/checkboxEditor/checkboxEditor.js +2 -33
- package/editors/checkboxEditor/checkboxEditor.mjs +2 -19
- package/editors/checkboxEditor/index.js +0 -2
- package/editors/dateEditor/dateEditor.js +36 -97
- package/editors/dateEditor/dateEditor.mjs +35 -74
- package/editors/dateEditor/index.js +0 -2
- package/editors/dropdownEditor/dropdownEditor.js +1 -41
- package/editors/dropdownEditor/dropdownEditor.mjs +1 -22
- package/editors/dropdownEditor/index.js +0 -2
- package/editors/handsontableEditor/handsontableEditor.js +13 -85
- package/editors/handsontableEditor/handsontableEditor.mjs +13 -66
- package/editors/handsontableEditor/index.js +0 -2
- package/editors/index.js +0 -25
- package/editors/index.mjs +3 -5
- package/editors/numericEditor/index.js +0 -2
- package/editors/numericEditor/numericEditor.js +1 -31
- package/editors/numericEditor/numericEditor.mjs +1 -18
- package/editors/passwordEditor/index.js +0 -2
- package/editors/passwordEditor/passwordEditor.js +1 -38
- package/editors/passwordEditor/passwordEditor.mjs +1 -22
- package/editors/registry.js +10 -36
- package/editors/registry.mjs +10 -28
- package/editors/selectEditor/index.js +0 -2
- package/editors/selectEditor/selectEditor.js +21 -73
- package/editors/selectEditor/selectEditor.mjs +21 -56
- package/editors/textEditor/caretPositioner.js +0 -12
- package/editors/textEditor/caretPositioner.mjs +10 -20
- package/editors/textEditor/index.js +0 -2
- package/editors/textEditor/textEditor.js +38 -137
- package/editors/textEditor/textEditor.mjs +38 -106
- package/editors/timeEditor/index.js +0 -2
- package/editors/timeEditor/timeEditor.js +1 -36
- package/editors/timeEditor/timeEditor.mjs +1 -21
- package/eventManager.js +20 -56
- package/eventManager.mjs +23 -56
- 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 +8 -16
- package/helpers/data.d.ts +0 -1
- package/helpers/data.js +10 -55
- package/helpers/data.mjs +10 -33
- package/helpers/date.js +2 -3
- package/helpers/date.mjs +2 -2
- package/helpers/dom/element.js +67 -259
- package/helpers/dom/element.mjs +74 -194
- package/helpers/dom/event.js +3 -7
- package/helpers/dom/event.mjs +3 -3
- package/helpers/feature.js +13 -47
- package/helpers/feature.mjs +13 -31
- package/helpers/function.js +14 -59
- package/helpers/function.mjs +20 -52
- package/helpers/mixed.js +9 -66
- package/helpers/mixed.mjs +15 -51
- package/helpers/number.js +4 -46
- package/helpers/number.mjs +4 -23
- package/helpers/object.js +15 -72
- package/helpers/object.mjs +21 -52
- package/helpers/string.js +6 -28
- package/helpers/string.mjs +12 -21
- package/helpers/templateLiteralTag.js +0 -6
- package/helpers/templateLiteralTag.mjs +7 -10
- package/helpers/unicode.js +17 -26
- package/helpers/unicode.mjs +17 -15
- package/helpers/wrappers/jquery.js +4 -14
- package/helpers/wrappers/jquery.mjs +4 -13
- package/i18n/constants.js +1 -3
- package/i18n/constants.mjs +1 -1
- package/i18n/index.js +0 -7
- package/i18n/languages/ar-AR.js +0 -16
- package/i18n/languages/ar-AR.mjs +1 -4
- package/i18n/languages/cs-CZ.js +0 -16
- package/i18n/languages/cs-CZ.mjs +1 -4
- package/i18n/languages/de-CH.js +0 -16
- package/i18n/languages/de-CH.mjs +1 -4
- package/i18n/languages/de-DE.js +0 -16
- package/i18n/languages/de-DE.mjs +1 -4
- package/i18n/languages/en-US.js +0 -16
- package/i18n/languages/en-US.mjs +1 -4
- package/i18n/languages/es-MX.js +0 -16
- package/i18n/languages/es-MX.mjs +1 -4
- package/i18n/languages/fr-FR.js +0 -16
- package/i18n/languages/fr-FR.mjs +1 -4
- package/i18n/languages/index.js +0 -39
- package/i18n/languages/it-IT.js +0 -16
- package/i18n/languages/it-IT.mjs +1 -4
- package/i18n/languages/ja-JP.js +0 -16
- package/i18n/languages/ja-JP.mjs +1 -4
- package/i18n/languages/ko-KR.js +0 -16
- package/i18n/languages/ko-KR.mjs +1 -4
- package/i18n/languages/lv-LV.js +0 -16
- package/i18n/languages/lv-LV.mjs +1 -4
- package/i18n/languages/nb-NO.js +0 -16
- package/i18n/languages/nb-NO.mjs +1 -4
- package/i18n/languages/nl-NL.js +0 -16
- package/i18n/languages/nl-NL.mjs +1 -4
- package/i18n/languages/pl-PL.js +0 -16
- package/i18n/languages/pl-PL.mjs +1 -4
- package/i18n/languages/pt-BR.js +0 -16
- package/i18n/languages/pt-BR.mjs +1 -4
- package/i18n/languages/ru-RU.js +0 -16
- package/i18n/languages/ru-RU.mjs +1 -4
- package/i18n/languages/sr-SP.js +0 -16
- package/i18n/languages/sr-SP.mjs +1 -4
- package/i18n/languages/zh-CN.js +0 -16
- package/i18n/languages/zh-CN.mjs +1 -4
- package/i18n/languages/zh-TW.js +0 -16
- package/i18n/languages/zh-TW.mjs +1 -4
- 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 +8 -11
- package/i18n/registry.js +18 -59
- package/i18n/registry.mjs +18 -30
- package/i18n/utils.js +4 -22
- package/i18n/utils.mjs +13 -21
- package/index.js +19 -56
- package/index.mjs +19 -15
- package/languages/all.js +0 -175
- package/languages/ar-AR.js +0 -10
- package/languages/ar-AR.mjs +1 -4
- package/languages/cs-CZ.js +0 -10
- package/languages/cs-CZ.mjs +1 -4
- package/languages/de-CH.js +0 -10
- package/languages/de-CH.mjs +1 -4
- package/languages/de-DE.js +0 -10
- package/languages/de-DE.mjs +1 -4
- package/languages/en-US.js +0 -10
- package/languages/en-US.mjs +1 -4
- package/languages/es-MX.js +0 -10
- package/languages/es-MX.mjs +1 -4
- package/languages/fr-FR.js +0 -10
- package/languages/fr-FR.mjs +1 -4
- package/languages/index.js +0 -175
- package/languages/it-IT.js +0 -10
- package/languages/it-IT.mjs +1 -4
- package/languages/ja-JP.js +0 -10
- package/languages/ja-JP.mjs +1 -4
- package/languages/ko-KR.js +0 -10
- package/languages/ko-KR.mjs +1 -4
- package/languages/lv-LV.js +0 -10
- package/languages/lv-LV.mjs +1 -4
- package/languages/nb-NO.js +0 -10
- package/languages/nb-NO.mjs +1 -4
- package/languages/nl-NL.js +0 -10
- package/languages/nl-NL.mjs +1 -4
- package/languages/pl-PL.js +0 -10
- package/languages/pl-PL.mjs +1 -4
- package/languages/pt-BR.js +0 -10
- package/languages/pt-BR.mjs +1 -4
- package/languages/ru-RU.js +0 -10
- package/languages/ru-RU.mjs +1 -4
- package/languages/sr-SP.js +0 -10
- package/languages/sr-SP.mjs +1 -4
- package/languages/zh-CN.js +0 -10
- package/languages/zh-CN.mjs +1 -4
- package/languages/zh-TW.js +0 -10
- package/languages/zh-TW.mjs +1 -4
- package/mixins/hooksRefRegisterer.js +4 -18
- package/mixins/hooksRefRegisterer.mjs +4 -15
- package/mixins/localHooks.js +7 -17
- package/mixins/localHooks.mjs +7 -14
- package/package.json +1 -1
- package/pluginHooks.d.ts +3 -4
- package/pluginHooks.js +288 -110
- package/pluginHooks.mjs +287 -97
- package/plugins/autoColumnSize/autoColumnSize.js +74 -172
- package/plugins/autoColumnSize/autoColumnSize.mjs +74 -137
- package/plugins/autoColumnSize/index.js +0 -2
- package/plugins/autoRowSize/autoRowSize.js +73 -153
- package/plugins/autoRowSize/autoRowSize.mjs +73 -124
- package/plugins/autoRowSize/index.js +0 -2
- package/plugins/autofill/autofill.js +46 -163
- package/plugins/autofill/autofill.mjs +46 -131
- 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 +21 -92
- package/plugins/base/base.mjs +21 -63
- package/plugins/base/index.js +0 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +19 -52
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +19 -33
- package/plugins/bindRowsWithHeaders/index.js +0 -2
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +5 -41
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +5 -29
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -53
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +6 -37
- package/plugins/collapsibleColumns/collapsibleColumns.js +96 -188
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +97 -158
- package/plugins/collapsibleColumns/index.js +0 -2
- package/plugins/columnSorting/columnSorting.js +50 -188
- package/plugins/columnSorting/columnSorting.mjs +50 -143
- package/plugins/columnSorting/columnStatesManager.js +15 -71
- package/plugins/columnSorting/columnStatesManager.mjs +15 -48
- 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 +12 -21
- package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
- package/plugins/columnSorting/sortFunction/checkbox.mjs +16 -21
- package/plugins/columnSorting/sortFunction/date.js +2 -19
- package/plugins/columnSorting/sortFunction/date.mjs +10 -23
- package/plugins/columnSorting/sortFunction/default.js +2 -17
- package/plugins/columnSorting/sortFunction/default.mjs +10 -23
- package/plugins/columnSorting/sortFunction/numeric.js +2 -11
- package/plugins/columnSorting/sortFunction/numeric.mjs +10 -17
- package/plugins/columnSorting/sortService/engine.js +3 -13
- package/plugins/columnSorting/sortService/engine.mjs +3 -5
- 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 +66 -126
- package/plugins/columnSummary/columnSummary.mjs +66 -101
- package/plugins/columnSummary/endpoints.js +21 -98
- package/plugins/columnSummary/endpoints.mjs +26 -99
- package/plugins/columnSummary/index.js +0 -2
- package/plugins/columnSummary/utils.js +13 -0
- package/plugins/columnSummary/utils.mjs +9 -0
- package/plugins/comments/commentEditor.js +16 -28
- package/plugins/comments/commentEditor.mjs +21 -32
- package/plugins/comments/comments.js +92 -175
- package/plugins/comments/comments.mjs +92 -149
- package/plugins/comments/displaySwitch.js +6 -23
- package/plugins/comments/displaySwitch.mjs +6 -18
- package/plugins/comments/index.js +0 -2
- package/plugins/contextMenu/commandExecutor.js +9 -40
- package/plugins/contextMenu/commandExecutor.mjs +14 -41
- package/plugins/contextMenu/contextMenu.js +26 -105
- package/plugins/contextMenu/contextMenu.mjs +26 -75
- package/plugins/contextMenu/cursor.js +6 -20
- package/plugins/contextMenu/cursor.mjs +11 -24
- package/plugins/contextMenu/index.js +0 -2
- package/plugins/contextMenu/itemsFactory.js +14 -43
- package/plugins/contextMenu/itemsFactory.mjs +19 -44
- package/plugins/contextMenu/menu.js +61 -177
- package/plugins/contextMenu/menu.mjs +61 -149
- 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 +3 -38
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -18
- package/plugins/contextMenu/predefinedItems/removeRow.js +3 -37
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -17
- 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 +2 -48
- package/plugins/contextMenu/predefinedItems.mjs +2 -7
- package/plugins/contextMenu/utils.js +17 -57
- package/plugins/contextMenu/utils.mjs +21 -39
- package/plugins/copyPaste/clipboardData.js +1 -10
- package/plugins/copyPaste/clipboardData.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copy.js +2 -17
- package/plugins/copyPaste/contextMenuItem/copy.mjs +6 -9
- package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
- package/plugins/copyPaste/contextMenuItem/cut.mjs +6 -9
- package/plugins/copyPaste/copyPaste.js +53 -185
- package/plugins/copyPaste/copyPaste.mjs +53 -144
- package/plugins/copyPaste/focusableElement.js +12 -56
- package/plugins/copyPaste/focusableElement.mjs +15 -49
- package/plugins/copyPaste/index.js +0 -2
- package/plugins/copyPaste/pasteEvent.js +1 -10
- package/plugins/copyPaste/pasteEvent.mjs +3 -10
- package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
- package/plugins/customBorders/contextMenuItem/bottom.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/index.js +0 -11
- package/plugins/customBorders/contextMenuItem/left.js +0 -17
- package/plugins/customBorders/contextMenuItem/left.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
- package/plugins/customBorders/contextMenuItem/noBorders.mjs +4 -6
- package/plugins/customBorders/contextMenuItem/right.js +0 -17
- package/plugins/customBorders/contextMenuItem/right.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/top.js +0 -17
- package/plugins/customBorders/contextMenuItem/top.mjs +4 -8
- package/plugins/customBorders/customBorders.js +52 -181
- package/plugins/customBorders/customBorders.mjs +52 -147
- package/plugins/customBorders/index.js +0 -2
- package/plugins/customBorders/utils.js +13 -52
- package/plugins/customBorders/utils.mjs +20 -39
- package/plugins/dragToScroll/dragToScroll.js +17 -74
- package/plugins/dragToScroll/dragToScroll.mjs +17 -55
- package/plugins/dragToScroll/index.js +0 -2
- package/plugins/dropdownMenu/dropdownMenu.js +47 -126
- package/plugins/dropdownMenu/dropdownMenu.mjs +47 -95
- package/plugins/dropdownMenu/index.js +0 -2
- package/plugins/exportFile/dataProvider.js +24 -69
- package/plugins/exportFile/dataProvider.mjs +26 -60
- package/plugins/exportFile/exportFile.js +48 -58
- package/plugins/exportFile/exportFile.mjs +48 -36
- package/plugins/exportFile/index.js +0 -2
- package/plugins/exportFile/typeFactory.js +1 -11
- package/plugins/exportFile/typeFactory.mjs +1 -4
- package/plugins/exportFile/types/_base.js +2 -16
- package/plugins/exportFile/types/_base.mjs +4 -16
- package/plugins/exportFile/types/csv.js +2 -50
- package/plugins/exportFile/types/csv.mjs +2 -29
- package/plugins/filters/component/_base.js +12 -32
- package/plugins/filters/component/_base.mjs +15 -30
- package/plugins/filters/component/actionBar.js +6 -55
- package/plugins/filters/component/actionBar.mjs +9 -38
- package/plugins/filters/component/condition.js +25 -122
- package/plugins/filters/component/condition.mjs +24 -88
- package/plugins/filters/component/operators.js +10 -68
- package/plugins/filters/component/operators.mjs +10 -45
- package/plugins/filters/component/value.js +25 -99
- package/plugins/filters/component/value.mjs +28 -72
- package/plugins/filters/condition/beginsWith.js +2 -32
- package/plugins/filters/condition/beginsWith.mjs +2 -10
- package/plugins/filters/condition/between.js +3 -37
- package/plugins/filters/condition/between.mjs +3 -15
- package/plugins/filters/condition/byValue.js +3 -27
- package/plugins/filters/condition/byValue.mjs +3 -12
- package/plugins/filters/condition/contains.js +2 -32
- package/plugins/filters/condition/contains.mjs +2 -10
- package/plugins/filters/condition/date/after.js +2 -34
- package/plugins/filters/condition/date/after.mjs +2 -12
- package/plugins/filters/condition/date/before.js +2 -34
- package/plugins/filters/condition/date/before.mjs +2 -12
- 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 +2 -32
- package/plugins/filters/condition/endsWith.mjs +2 -10
- package/plugins/filters/condition/equal.js +2 -31
- package/plugins/filters/condition/equal.mjs +2 -10
- package/plugins/filters/condition/false.js +1 -5
- package/plugins/filters/condition/false.mjs +1 -1
- package/plugins/filters/condition/greaterThan.js +2 -32
- package/plugins/filters/condition/greaterThan.mjs +2 -12
- package/plugins/filters/condition/greaterThanOrEqual.js +2 -32
- package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/lessThan.js +2 -32
- package/plugins/filters/condition/lessThan.mjs +2 -12
- package/plugins/filters/condition/lessThanOrEqual.js +2 -32
- package/plugins/filters/condition/lessThanOrEqual.mjs +2 -12
- 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 +21 -80
- package/plugins/filters/conditionCollection.mjs +21 -57
- package/plugins/filters/conditionRegisterer.js +5 -14
- package/plugins/filters/conditionRegisterer.mjs +5 -9
- package/plugins/filters/conditionUpdateObserver.js +17 -57
- package/plugins/filters/conditionUpdateObserver.mjs +25 -53
- package/plugins/filters/constants.js +1 -66
- package/plugins/filters/constants.mjs +1 -8
- package/plugins/filters/dataFilter.js +4 -21
- package/plugins/filters/dataFilter.mjs +7 -23
- package/plugins/filters/filters.d.ts +1 -1
- package/plugins/filters/filters.js +147 -272
- package/plugins/filters/filters.mjs +148 -228
- 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 +12 -55
- package/plugins/filters/ui/_base.mjs +12 -35
- package/plugins/filters/ui/input.js +7 -52
- package/plugins/filters/ui/input.mjs +7 -34
- package/plugins/filters/ui/link.js +3 -43
- package/plugins/filters/ui/link.mjs +3 -25
- package/plugins/filters/ui/multipleSelect.js +26 -120
- package/plugins/filters/ui/multipleSelect.mjs +20 -76
- package/plugins/filters/ui/radioInput.js +6 -47
- package/plugins/filters/ui/radioInput.mjs +6 -30
- package/plugins/filters/ui/select.js +14 -76
- package/plugins/filters/ui/select.mjs +14 -52
- 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 +29 -51
- package/plugins/formulas/engine/settings.js +4 -24
- package/plugins/formulas/engine/settings.mjs +4 -12
- package/plugins/formulas/formulas.js +103 -295
- package/plugins/formulas/formulas.mjs +104 -248
- 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 +4 -38
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +8 -25
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +21 -29
- package/plugins/hiddenColumns/hiddenColumns.js +72 -153
- package/plugins/hiddenColumns/hiddenColumns.mjs +72 -110
- package/plugins/hiddenColumns/index.js +0 -2
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +4 -38
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +8 -25
- package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +21 -29
- package/plugins/hiddenRows/hiddenRows.js +70 -152
- package/plugins/hiddenRows/hiddenRows.mjs +70 -109
- package/plugins/hiddenRows/index.js +0 -2
- package/plugins/index.js +0 -71
- package/plugins/index.mjs +3 -5
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/index.js +0 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +21 -78
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +21 -54
- package/plugins/manualColumnMove/index.js +0 -2
- package/plugins/manualColumnMove/manualColumnMove.js +45 -134
- package/plugins/manualColumnMove/manualColumnMove.mjs +45 -106
- package/plugins/manualColumnMove/ui/_base.js +12 -30
- package/plugins/manualColumnMove/ui/_base.mjs +12 -27
- package/plugins/manualColumnMove/ui/backlight.js +1 -37
- package/plugins/manualColumnMove/ui/backlight.mjs +1 -22
- package/plugins/manualColumnMove/ui/guideline.js +1 -37
- package/plugins/manualColumnMove/ui/guideline.mjs +1 -22
- package/plugins/manualColumnResize/index.js +0 -2
- package/plugins/manualColumnResize/manualColumnResize.js +44 -143
- package/plugins/manualColumnResize/manualColumnResize.mjs +43 -118
- package/plugins/manualRowMove/index.js +0 -2
- package/plugins/manualRowMove/manualRowMove.js +45 -137
- package/plugins/manualRowMove/manualRowMove.mjs +45 -109
- package/plugins/manualRowMove/ui/_base.js +12 -27
- package/plugins/manualRowMove/ui/_base.mjs +12 -26
- package/plugins/manualRowMove/ui/backlight.js +1 -37
- package/plugins/manualRowMove/ui/backlight.mjs +1 -22
- package/plugins/manualRowMove/ui/guideline.js +1 -37
- package/plugins/manualRowMove/ui/guideline.mjs +1 -22
- package/plugins/manualRowResize/index.js +0 -2
- package/plugins/manualRowResize/manualRowResize.js +42 -138
- package/plugins/manualRowResize/manualRowResize.mjs +41 -112
- package/plugins/mergeCells/calculations/autofill.js +39 -130
- package/plugins/mergeCells/calculations/autofill.mjs +44 -122
- package/plugins/mergeCells/calculations/selection.js +9 -40
- package/plugins/mergeCells/calculations/selection.mjs +9 -37
- package/plugins/mergeCells/cellCoords.js +30 -51
- package/plugins/mergeCells/cellCoords.mjs +35 -54
- package/plugins/mergeCells/cellsCollection.js +13 -84
- package/plugins/mergeCells/cellsCollection.mjs +18 -69
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +4 -11
- package/plugins/mergeCells/index.js +0 -2
- package/plugins/mergeCells/mergeCells.js +130 -333
- package/plugins/mergeCells/mergeCells.mjs +130 -292
- package/plugins/mergeCells/utils.js +0 -3
- package/plugins/mergeCells/utils.mjs +0 -1
- package/plugins/multiColumnSorting/domHelpers.js +3 -15
- package/plugins/multiColumnSorting/domHelpers.mjs +3 -7
- package/plugins/multiColumnSorting/index.js +0 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +14 -66
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +14 -44
- package/plugins/multiColumnSorting/rootComparator.js +2 -26
- package/plugins/multiColumnSorting/rootComparator.mjs +9 -23
- package/plugins/multiColumnSorting/utils.js +0 -7
- package/plugins/multiColumnSorting/utils.mjs +3 -8
- package/plugins/multipleSelectionHandles/index.js +0 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +6 -109
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +6 -87
- package/plugins/nestedHeaders/index.js +0 -2
- package/plugins/nestedHeaders/nestedHeaders.js +79 -200
- package/plugins/nestedHeaders/nestedHeaders.mjs +80 -173
- package/plugins/nestedHeaders/stateManager/headersTree.js +16 -93
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +16 -73
- package/plugins/nestedHeaders/stateManager/index.js +24 -107
- package/plugins/nestedHeaders/stateManager/index.mjs +51 -115
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +38 -51
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +29 -35
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +26 -32
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +9 -20
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -5
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +9 -21
- 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 +44 -61
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +16 -78
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +21 -68
- package/plugins/nestedHeaders/stateManager/utils.js +19 -22
- package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
- package/plugins/nestedHeaders/utils/ghostTable.js +9 -37
- package/plugins/nestedHeaders/utils/ghostTable.mjs +16 -43
- package/plugins/nestedRows/data/dataManager.js +40 -161
- package/plugins/nestedRows/data/dataManager.mjs +44 -148
- package/plugins/nestedRows/index.js +0 -2
- package/plugins/nestedRows/nestedRows.js +41 -119
- package/plugins/nestedRows/nestedRows.mjs +41 -86
- package/plugins/nestedRows/ui/_base.js +1 -9
- package/plugins/nestedRows/ui/_base.mjs +1 -8
- package/plugins/nestedRows/ui/collapsing.js +28 -134
- package/plugins/nestedRows/ui/collapsing.mjs +34 -118
- package/plugins/nestedRows/ui/contextMenu.js +2 -53
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -32
- package/plugins/nestedRows/ui/headers.js +5 -50
- package/plugins/nestedRows/ui/headers.mjs +11 -41
- package/plugins/nestedRows/utils/rowMoveController.js +28 -78
- package/plugins/nestedRows/utils/rowMoveController.mjs +33 -66
- package/plugins/persistentState/index.js +0 -2
- package/plugins/persistentState/persistentState.js +10 -58
- package/plugins/persistentState/persistentState.mjs +10 -37
- package/plugins/persistentState/storage.js +9 -25
- package/plugins/persistentState/storage.mjs +12 -26
- package/plugins/registry.js +7 -51
- package/plugins/registry.mjs +8 -34
- package/plugins/search/index.js +0 -2
- package/plugins/search/search.js +16 -98
- package/plugins/search/search.mjs +16 -68
- package/plugins/touchScroll/index.js +0 -2
- package/plugins/touchScroll/touchScroll.js +15 -76
- package/plugins/touchScroll/touchScroll.mjs +15 -58
- package/plugins/trimRows/index.js +0 -2
- package/plugins/trimRows/trimRows.js +62 -88
- package/plugins/trimRows/trimRows.mjs +62 -65
- package/plugins/undoRedo/index.js +0 -14
- package/plugins/undoRedo/undoRedo.js +48 -218
- package/plugins/undoRedo/undoRedo.mjs +48 -188
- package/registry.js +0 -11
- package/registry.mjs +2 -4
- 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 +2 -9
- 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 +3 -5
- package/renderers/numericRenderer/index.js +0 -2
- package/renderers/numericRenderer/numericRenderer.js +1 -23
- package/renderers/numericRenderer/numericRenderer.mjs +1 -10
- 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 +2 -14
- package/renderers/textRenderer/textRenderer.mjs +2 -6
- 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 +17 -73
- package/selection/highlight/highlight.mjs +31 -64
- package/selection/highlight/types/activeHeader.js +1 -21
- package/selection/highlight/types/activeHeader.mjs +6 -16
- package/selection/highlight/types/area.js +2 -22
- package/selection/highlight/types/area.mjs +10 -20
- package/selection/highlight/types/cell.js +1 -21
- package/selection/highlight/types/cell.mjs +9 -19
- package/selection/highlight/types/customSelection.js +2 -22
- package/selection/highlight/types/customSelection.mjs +11 -21
- package/selection/highlight/types/fill.js +2 -17
- package/selection/highlight/types/fill.mjs +9 -14
- package/selection/highlight/types/header.js +3 -23
- package/selection/highlight/types/header.mjs +13 -23
- package/selection/highlight/types/index.js +3 -24
- package/selection/highlight/types/index.mjs +3 -10
- package/selection/highlight/visualSelection.js +24 -74
- package/selection/highlight/visualSelection.mjs +24 -62
- package/selection/index.js +0 -14
- package/selection/mouseEventHandler.js +19 -30
- package/selection/mouseEventHandler.mjs +32 -36
- package/selection/range.js +11 -31
- package/selection/range.mjs +11 -22
- package/selection/selection.js +62 -157
- package/selection/selection.mjs +65 -132
- package/selection/transformation.js +10 -40
- package/selection/transformation.mjs +18 -45
- package/selection/utils.js +22 -70
- package/selection/utils.mjs +22 -47
- package/shortcuts/context.js +23 -78
- package/shortcuts/context.mjs +23 -55
- package/shortcuts/index.js +0 -2
- package/shortcuts/keyObserver.js +4 -17
- package/shortcuts/keyObserver.mjs +4 -12
- package/shortcuts/manager.js +16 -36
- package/shortcuts/manager.mjs +16 -33
- package/shortcuts/recorder.js +20 -47
- package/shortcuts/recorder.mjs +20 -39
- package/shortcuts/utils.js +5 -24
- package/shortcuts/utils.mjs +5 -8
- package/tableView.js +100 -270
- package/tableView.mjs +100 -248
- package/translations/changesObservable/observable.js +5 -54
- package/translations/changesObservable/observable.mjs +12 -51
- package/translations/changesObservable/observer.js +4 -32
- package/translations/changesObservable/observer.mjs +9 -29
- package/translations/changesObservable/utils.js +1 -5
- package/translations/changesObservable/utils.mjs +1 -4
- package/translations/index.js +0 -11
- package/translations/indexMapper.js +70 -158
- package/translations/indexMapper.mjs +70 -125
- package/translations/mapCollections/aggregatedCollection.js +9 -51
- package/translations/mapCollections/aggregatedCollection.mjs +12 -41
- package/translations/mapCollections/index.js +0 -7
- package/translations/mapCollections/mapCollection.js +10 -33
- package/translations/mapCollections/mapCollection.mjs +10 -22
- package/translations/maps/hidingMap.js +2 -35
- package/translations/maps/hidingMap.mjs +7 -28
- package/translations/maps/index.js +1 -24
- package/translations/maps/index.mjs +1 -3
- package/translations/maps/indexMap.js +12 -34
- package/translations/maps/indexMap.mjs +16 -32
- package/translations/maps/indexesSequence.js +3 -41
- package/translations/maps/indexesSequence.mjs +9 -32
- package/translations/maps/linkedPhysicalIndexToValueMap.js +9 -78
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +16 -59
- package/translations/maps/physicalIndexToValueMap.js +2 -39
- package/translations/maps/physicalIndexToValueMap.mjs +8 -31
- package/translations/maps/trimmingMap.js +2 -35
- package/translations/maps/trimmingMap.mjs +7 -28
- package/translations/maps/utils/actionsOnIndexes.js +1 -7
- package/translations/maps/utils/actionsOnIndexes.mjs +9 -12
- 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 +10 -19
- package/translations/maps/utils/physicallyIndexed.js +1 -27
- package/translations/maps/utils/physicallyIndexed.mjs +11 -21
- package/utils/dataStructures/linkedList.js +15 -56
- package/utils/dataStructures/linkedList.mjs +15 -54
- package/utils/dataStructures/priorityMap.js +8 -46
- package/utils/dataStructures/priorityMap.mjs +8 -29
- package/utils/dataStructures/queue.js +6 -17
- package/utils/dataStructures/queue.mjs +6 -16
- package/utils/dataStructures/stack.js +6 -17
- package/utils/dataStructures/stack.mjs +6 -16
- package/utils/dataStructures/tree.js +11 -75
- package/utils/dataStructures/tree.mjs +11 -54
- package/utils/dataStructures/uniqueMap.js +17 -56
- package/utils/dataStructures/uniqueMap.mjs +17 -42
- package/utils/dataStructures/uniqueSet.js +5 -32
- package/utils/dataStructures/uniqueSet.mjs +5 -19
- package/utils/ghostTable.js +33 -104
- package/utils/ghostTable.mjs +35 -92
- package/utils/interval.js +10 -37
- package/utils/interval.mjs +7 -29
- 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 +15 -51
- package/utils/samplesGenerator.mjs +17 -44
- 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 +3 -5
- 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/utils/sortingAlgorithms/mergeSort.js +0 -120
- package/utils/sortingAlgorithms/mergeSort.mjs +0 -110
package/pluginHooks.mjs
CHANGED
@@ -1,14 +1,9 @@
|
|
1
1
|
import "core-js/modules/es.array.slice.js";
|
2
2
|
import "core-js/modules/es.object.freeze.js";
|
3
|
-
|
4
3
|
var _templateObject;
|
5
|
-
|
6
4
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
7
|
-
|
8
5
|
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); } }
|
9
|
-
|
10
6
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
11
|
-
|
12
7
|
import "core-js/modules/es.array.iterator.js";
|
13
8
|
import "core-js/modules/es.map.js";
|
14
9
|
import "core-js/modules/es.object.to-string.js";
|
@@ -16,9 +11,7 @@ import "core-js/modules/es.string.iterator.js";
|
|
16
11
|
import "core-js/modules/web.dom-collections.iterator.js";
|
17
12
|
import "core-js/modules/es.array.index-of.js";
|
18
13
|
import "core-js/modules/es.array.splice.js";
|
19
|
-
|
20
14
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
21
|
-
|
22
15
|
import { arrayEach } from "./helpers/array.mjs";
|
23
16
|
import { objectEach } from "./helpers/object.mjs";
|
24
17
|
import { substitute } from "./helpers/string.mjs";
|
@@ -31,6 +24,7 @@ import { fastCall } from "./helpers/function.mjs";
|
|
31
24
|
*
|
32
25
|
* @example
|
33
26
|
*
|
27
|
+
* ::: only-for javascript
|
34
28
|
* ```js
|
35
29
|
* // Using events as callbacks:
|
36
30
|
* ...
|
@@ -44,7 +38,25 @@ import { fastCall } from "./helpers/function.mjs";
|
|
44
38
|
* });
|
45
39
|
* ...
|
46
40
|
* ```
|
41
|
+
* :::
|
42
|
+
*
|
43
|
+
* ::: only-for react
|
44
|
+
* ```jsx
|
45
|
+
* <HotTable
|
46
|
+
* afterChange={(changes, source) => {
|
47
|
+
* fetch('save.php', {
|
48
|
+
* method: 'POST',
|
49
|
+
* headers: {
|
50
|
+
* 'Accept': 'application/json',
|
51
|
+
* 'Content-Type': 'application/json'
|
52
|
+
* },
|
53
|
+
* body: JSON.stringify(changes)
|
54
|
+
* });
|
55
|
+
* }}
|
56
|
+
* />
|
57
|
+
* :::
|
47
58
|
*
|
59
|
+
* ::: only-for javascript
|
48
60
|
* ```js
|
49
61
|
* // Using events as plugin hooks:
|
50
62
|
* ...
|
@@ -69,13 +81,46 @@ import { fastCall } from "./helpers/function.mjs";
|
|
69
81
|
* // function body - will only run in #example2
|
70
82
|
* });
|
71
83
|
* ```
|
84
|
+
* :::
|
85
|
+
*
|
86
|
+
* ::: only-for react
|
87
|
+
* ```jsx
|
88
|
+
* const hotRef1 = useRef(null);
|
89
|
+
* const hotRef2 = useRef(null);
|
90
|
+
*
|
91
|
+
* // Using events as plugin hooks:
|
92
|
+
* ...
|
93
|
+
*
|
94
|
+
* <HotTable
|
95
|
+
* ref={hotRef1}
|
96
|
+
* myPlugin={true}
|
97
|
+
* });
|
98
|
+
*
|
99
|
+
* <HotTable
|
100
|
+
* ref={hotRef2}
|
101
|
+
* myPlugin={false}
|
102
|
+
* });
|
103
|
+
*
|
104
|
+
* ...
|
105
|
+
*
|
106
|
+
* const hot2 = hotRef2.current.hotInstance;
|
107
|
+
* // local hook (has same effect as a callback)
|
108
|
+
* hot2.addHook('afterChange', function() {
|
109
|
+
* // function body - will only run in #example2
|
110
|
+
* });
|
111
|
+
*
|
112
|
+
* // global hook
|
113
|
+
* Handsontable.hooks.add('afterChange', function() {
|
114
|
+
* // Fired twice - for hot1 and hot2
|
115
|
+
* if (this.getSettings().myPlugin) {
|
116
|
+
* // function body - will only run for first instance
|
117
|
+
* }
|
118
|
+
* });
|
119
|
+
* :::
|
72
120
|
* ...
|
73
121
|
*/
|
74
122
|
// @TODO: Move plugin description hooks to plugin?
|
75
|
-
|
76
|
-
var REGISTERED_HOOKS = [
|
77
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
78
|
-
|
123
|
+
var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sentence */
|
79
124
|
/**
|
80
125
|
* Fired after resetting a cell's meta. This happens when the {@link Core#updateSettings} method is called.
|
81
126
|
*
|
@@ -89,18 +134,32 @@ var REGISTERED_HOOKS = [
|
|
89
134
|
* __Note:__ For performance reasons, the `changes` array is null for `"loadData"` source.
|
90
135
|
*
|
91
136
|
* @event Hooks#afterChange
|
92
|
-
* @param {Array} changes 2D array containing information about each of the edited cells `[[row, prop, oldVal, newVal], ...]`.
|
137
|
+
* @param {Array[]} changes 2D array containing information about each of the edited cells `[[row, prop, oldVal, newVal], ...]`. `row` is a visual row index.
|
93
138
|
* @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)).
|
94
139
|
* @example
|
140
|
+
* ::: only-for javascript
|
95
141
|
* ```js
|
96
142
|
* new Handsontable(element, {
|
97
143
|
* afterChange: (changes) => {
|
98
|
-
* changes
|
144
|
+
* changes?.forEach(([row, prop, oldValue, newValue]) => {
|
99
145
|
* // Some logic...
|
100
146
|
* });
|
101
147
|
* }
|
102
148
|
* })
|
103
149
|
* ```
|
150
|
+
* :::
|
151
|
+
*
|
152
|
+
* ::: only-for react
|
153
|
+
* ```jsx
|
154
|
+
* <HotTable
|
155
|
+
* afterChange={(changes, source) => {
|
156
|
+
* changes?.forEach(([row, prop, oldValue, newValue]) => {
|
157
|
+
* // Some logic...
|
158
|
+
* });
|
159
|
+
* }}
|
160
|
+
* />
|
161
|
+
* ```
|
162
|
+
* :::
|
104
163
|
*/
|
105
164
|
'afterChange',
|
106
165
|
/**
|
@@ -183,6 +242,7 @@ var REGISTERED_HOOKS = [
|
|
183
242
|
* ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
|
184
243
|
* @returns {*} If `false` then creating columns is cancelled.
|
185
244
|
* @example
|
245
|
+
* ::: only-for javascript
|
186
246
|
* ```js
|
187
247
|
* // Return `false` to cancel column inserting.
|
188
248
|
* new Handsontable(element, {
|
@@ -191,6 +251,18 @@ var REGISTERED_HOOKS = [
|
|
191
251
|
* }
|
192
252
|
* });
|
193
253
|
* ```
|
254
|
+
* :::
|
255
|
+
*
|
256
|
+
* ::: only-for react
|
257
|
+
* ```jsx
|
258
|
+
* // Return `false` to cancel column inserting.
|
259
|
+
* <HotTable
|
260
|
+
* beforeCreateCol={(data, coords) => {
|
261
|
+
* return false;
|
262
|
+
* }}
|
263
|
+
* />
|
264
|
+
* ```
|
265
|
+
* :::
|
194
266
|
*/
|
195
267
|
'beforeCreateCol',
|
196
268
|
/**
|
@@ -225,7 +297,7 @@ var REGISTERED_HOOKS = [
|
|
225
297
|
*/
|
226
298
|
'afterCreateRow',
|
227
299
|
/**
|
228
|
-
* Fired after
|
300
|
+
* Fired after all selected cells are deselected.
|
229
301
|
*
|
230
302
|
* @event Hooks#afterDeselect
|
231
303
|
*/
|
@@ -275,9 +347,13 @@ var REGISTERED_HOOKS = [
|
|
275
347
|
/**
|
276
348
|
* Fired after retrieving information about a column header and appending it to the table header.
|
277
349
|
*
|
350
|
+
* Since the 12.2 the hook is triggered with the 3rd `headerLevel` argument.
|
351
|
+
*
|
278
352
|
* @event Hooks#afterGetColHeader
|
279
353
|
* @param {number} column Visual column index.
|
280
354
|
* @param {HTMLTableCellElement} TH Header's TH element.
|
355
|
+
* @param {number} [headerLevel=0] The index of header level counting from the top (positive
|
356
|
+
* values counting from 0 to N).
|
281
357
|
*/
|
282
358
|
'afterGetColHeader',
|
283
359
|
/**
|
@@ -477,6 +553,7 @@ var REGISTERED_HOOKS = [
|
|
477
553
|
* @param {object} preventScrolling Object with `value` property where its value change will be observed.
|
478
554
|
* @param {number} selectionLayerLevel The number which indicates what selection layer is currently modified.
|
479
555
|
* @example
|
556
|
+
* ::: only-for javascript
|
480
557
|
* ```js
|
481
558
|
* new Handsontable(element, {
|
482
559
|
* afterSelection: (row, column, row2, column2, preventScrolling, selectionLayerLevel) => {
|
@@ -488,6 +565,21 @@ var REGISTERED_HOOKS = [
|
|
488
565
|
* }
|
489
566
|
* })
|
490
567
|
* ```
|
568
|
+
* :::
|
569
|
+
*
|
570
|
+
* ::: only-for react
|
571
|
+
* ```jsx
|
572
|
+
* <HotTable
|
573
|
+
* afterSelection={(row, column, row2, column2, preventScrolling, selectionLayerLevel) => {
|
574
|
+
* // If set to `false` (default): when cell selection is outside the viewport,
|
575
|
+
* // Handsontable scrolls the viewport to cell selection's end corner.
|
576
|
+
* // If set to `true`: when cell selection is outside the viewport,
|
577
|
+
* // Handsontable doesn't scroll to cell selection's end corner.
|
578
|
+
* preventScrolling.value = true;
|
579
|
+
* }}
|
580
|
+
* />
|
581
|
+
* ```
|
582
|
+
* :::
|
491
583
|
*/
|
492
584
|
'afterSelection',
|
493
585
|
/**
|
@@ -504,6 +596,7 @@ var REGISTERED_HOOKS = [
|
|
504
596
|
* @param {number} selectionLayerLevel The number which indicates what selection layer is currently modified.
|
505
597
|
* @example
|
506
598
|
* ```js
|
599
|
+
* ::: only-for javascript
|
507
600
|
* new Handsontable(element, {
|
508
601
|
* afterSelectionByProp: (row, column, row2, column2, preventScrolling, selectionLayerLevel) => {
|
509
602
|
* // setting if prevent scrolling after selection
|
@@ -511,6 +604,18 @@ var REGISTERED_HOOKS = [
|
|
511
604
|
* }
|
512
605
|
* })
|
513
606
|
* ```
|
607
|
+
* :::
|
608
|
+
*
|
609
|
+
* ::: only-for react
|
610
|
+
* ```jsx
|
611
|
+
* <HotTable
|
612
|
+
* afterSelectionByProp={(row, column, row2, column2, preventScrolling, selectionLayerLevel) => {
|
613
|
+
* // setting if prevent scrolling after selection
|
614
|
+
* preventScrolling.value = true;
|
615
|
+
* }}
|
616
|
+
* />
|
617
|
+
* ```
|
618
|
+
* :::
|
514
619
|
*/
|
515
620
|
'afterSelectionByProp',
|
516
621
|
/**
|
@@ -606,7 +711,7 @@ var REGISTERED_HOOKS = [
|
|
606
711
|
* @param {string|number} prop Property name / visual column index.
|
607
712
|
* @param {string} [source] String that identifies source of hook call
|
608
713
|
* ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
|
609
|
-
* @returns {
|
714
|
+
* @returns {undefined | boolean} If `false` the cell will be marked as invalid, `true` otherwise.
|
610
715
|
*/
|
611
716
|
'afterValidate',
|
612
717
|
/**
|
@@ -672,31 +777,39 @@ var REGISTERED_HOOKS = [
|
|
672
777
|
*/
|
673
778
|
'beforeCellAlignment',
|
674
779
|
/**
|
675
|
-
* Fired before one or more cells
|
676
|
-
*
|
780
|
+
* Fired before one or more cells are changed.
|
781
|
+
*
|
782
|
+
* Use this hook to silently alter the user's changes before Handsontable re-renders.
|
783
|
+
*
|
784
|
+
* To ignore the user's changes, use a nullified array or return `false`.
|
677
785
|
*
|
678
786
|
* @event Hooks#beforeChange
|
679
|
-
* @param {Array[]} changes 2D array containing information about each of the edited cells.
|
787
|
+
* @param {Array[]} changes 2D array containing information about each of the edited cells `[[row, prop, oldVal, newVal], ...]`. `row` is a visual row index.
|
680
788
|
* @param {string} [source] String that identifies source of hook call
|
681
789
|
* ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
|
682
|
-
* @returns {
|
790
|
+
* @returns {undefined | boolean} If `false` all changes were cancelled, `true` otherwise.
|
683
791
|
* @example
|
792
|
+
* ::: only-for javascript
|
684
793
|
* ```js
|
685
|
-
* //
|
794
|
+
* // to alter a single change, overwrite the value with `changes[i][3]`
|
686
795
|
* new Handsontable(element, {
|
687
796
|
* beforeChange: (changes, source) => {
|
688
797
|
* // [[row, prop, oldVal, newVal], ...]
|
689
|
-
* changes[0] =
|
798
|
+
* changes[0][3] = 10;
|
690
799
|
* }
|
691
800
|
* });
|
692
|
-
*
|
801
|
+
*
|
802
|
+
* // to ignore a single change, set `changes[i]` to `null`
|
803
|
+
* // or remove `changes[i]` from the array, by using `changes.splice(i, 1)`
|
693
804
|
* new Handsontable(element, {
|
694
805
|
* beforeChange: (changes, source) => {
|
695
806
|
* // [[row, prop, oldVal, newVal], ...]
|
696
|
-
* changes[0]
|
807
|
+
* changes[0] = null;
|
697
808
|
* }
|
698
809
|
* });
|
699
|
-
*
|
810
|
+
*
|
811
|
+
* // to ignore all changes, return `false`
|
812
|
+
* // or set the array's length to 0, by using `changes.length = 0`
|
700
813
|
* new Handsontable(element, {
|
701
814
|
* beforeChange: (changes, source) => {
|
702
815
|
* // [[row, prop, oldVal, newVal], ...]
|
@@ -704,6 +817,37 @@ var REGISTERED_HOOKS = [
|
|
704
817
|
* }
|
705
818
|
* });
|
706
819
|
* ```
|
820
|
+
* :::
|
821
|
+
*
|
822
|
+
* ::: only-for react
|
823
|
+
* ```jsx
|
824
|
+
* // to alter a single change, overwrite the desired value with `changes[i][3]`
|
825
|
+
* <HotTable
|
826
|
+
* beforeChange={(changes, source) => {
|
827
|
+
* // [[row, prop, oldVal, newVal], ...]
|
828
|
+
* changes[0][3] = 10;
|
829
|
+
* }}
|
830
|
+
* />
|
831
|
+
*
|
832
|
+
* // to ignore a single change, set `changes[i]` to `null`
|
833
|
+
* // or remove `changes[i]` from the array, by using changes.splice(i, 1).
|
834
|
+
* <HotTable
|
835
|
+
* beforeChange={(changes, source) => {
|
836
|
+
* // [[row, prop, oldVal, newVal], ...]
|
837
|
+
* changes[0] = null;
|
838
|
+
* }}
|
839
|
+
* />
|
840
|
+
*
|
841
|
+
* // to ignore all changes, return `false`
|
842
|
+
* // or set the array's length to 0 (`changes.length = 0`)
|
843
|
+
* <HotTable
|
844
|
+
* beforeChange={(changes, source) => {
|
845
|
+
* // [[row, prop, oldVal, newVal], ...]
|
846
|
+
* return false;
|
847
|
+
* }}
|
848
|
+
* />
|
849
|
+
* ```
|
850
|
+
* :::
|
707
851
|
*/
|
708
852
|
'beforeChange',
|
709
853
|
/**
|
@@ -929,7 +1073,7 @@ var REGISTERED_HOOKS = [
|
|
929
1073
|
* @param {number} column Visual column index.
|
930
1074
|
* @param {string} key The updated meta key.
|
931
1075
|
* @param {*} value The updated meta value.
|
932
|
-
* @returns {
|
1076
|
+
* @returns {boolean|undefined} If false is returned the action is canceled.
|
933
1077
|
*/
|
934
1078
|
'beforeSetCellMeta',
|
935
1079
|
/**
|
@@ -1063,6 +1207,7 @@ var REGISTERED_HOOKS = [
|
|
1063
1207
|
* @param {boolean} topmost If set to `true`, it returns the TD element from the topmost overlay. For example,
|
1064
1208
|
* if the wanted cell is in the range of fixed rows, it will return a TD element
|
1065
1209
|
* from the `top` overlay.
|
1210
|
+
* @returns {undefined|number[]}
|
1066
1211
|
*/
|
1067
1212
|
'modifyGetCellCoords',
|
1068
1213
|
/**
|
@@ -1094,8 +1239,9 @@ var REGISTERED_HOOKS = [
|
|
1094
1239
|
*/
|
1095
1240
|
'beforeHighlightingColumnHeader',
|
1096
1241
|
/**
|
1097
|
-
* Fired by {@link PersistentState} plugin, after loading value, saved under given key, from browser local storage.
|
1098
|
-
*
|
1242
|
+
* Fired by {@link PersistentState} plugin, after loading value, saved under given key, from browser local storage.
|
1243
|
+
*
|
1244
|
+
* The `persistentStateLoad` hook is fired even when the {@link Options#persistentState} option is disabled.
|
1099
1245
|
*
|
1100
1246
|
* @event Hooks#persistentStateLoad
|
1101
1247
|
* @param {string} key Key.
|
@@ -1111,8 +1257,9 @@ var REGISTERED_HOOKS = [
|
|
1111
1257
|
*/
|
1112
1258
|
'persistentStateReset',
|
1113
1259
|
/**
|
1114
|
-
* Fired by {@link PersistentState} plugin, after saving value under given key in browser local storage.
|
1115
|
-
*
|
1260
|
+
* Fired by {@link PersistentState} plugin, after saving value under given key in browser local storage.
|
1261
|
+
*
|
1262
|
+
* The `persistentStateSave` hook is fired even when the {@link Options#persistentState} option is disabled.
|
1116
1263
|
*
|
1117
1264
|
* @event Hooks#persistentStateSave
|
1118
1265
|
* @param {string} key Key.
|
@@ -1128,7 +1275,7 @@ var REGISTERED_HOOKS = [
|
|
1128
1275
|
* @event Hooks#beforeColumnSort
|
1129
1276
|
* @param {Array} currentSortConfig Current sort configuration (for all sorted columns).
|
1130
1277
|
* @param {Array} destinationSortConfigs Destination sort configuration (for all sorted columns).
|
1131
|
-
* @returns {boolean |
|
1278
|
+
* @returns {boolean | undefined} If `false` the column will not be sorted, `true` otherwise.
|
1132
1279
|
*/
|
1133
1280
|
'beforeColumnSort',
|
1134
1281
|
/**
|
@@ -1166,6 +1313,7 @@ var REGISTERED_HOOKS = [
|
|
1166
1313
|
* which will be cut out.
|
1167
1314
|
* @returns {*} If returns `false` then operation of the cutting out is canceled.
|
1168
1315
|
* @example
|
1316
|
+
* ::: only-for javascript
|
1169
1317
|
* ```js
|
1170
1318
|
* // To disregard a single row, remove it from the array using data.splice(i, 1).
|
1171
1319
|
* new Handsontable(element, {
|
@@ -1183,6 +1331,27 @@ var REGISTERED_HOOKS = [
|
|
1183
1331
|
* }
|
1184
1332
|
* });
|
1185
1333
|
* ```
|
1334
|
+
* :::
|
1335
|
+
*
|
1336
|
+
* ::: only-for react
|
1337
|
+
* ```jsx
|
1338
|
+
* // To disregard a single row, remove it from the array using data.splice(i, 1).
|
1339
|
+
* <HotTable
|
1340
|
+
* beforeCut={(data, coords) => {
|
1341
|
+
* // data -> [[1, 2, 3], [4, 5, 6]]
|
1342
|
+
* data.splice(0, 1);
|
1343
|
+
* // data -> [[4, 5, 6]]
|
1344
|
+
* // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
|
1345
|
+
* }}
|
1346
|
+
* />
|
1347
|
+
* // To cancel a cutting action, just return `false`.
|
1348
|
+
* <HotTable
|
1349
|
+
* beforeCut={(data, coords) => {
|
1350
|
+
* return false;
|
1351
|
+
* }}
|
1352
|
+
* />
|
1353
|
+
* ```
|
1354
|
+
* :::
|
1186
1355
|
*/
|
1187
1356
|
'beforeCut',
|
1188
1357
|
/**
|
@@ -1205,6 +1374,7 @@ var REGISTERED_HOOKS = [
|
|
1205
1374
|
* @returns {*} If returns `false` then copying is canceled.
|
1206
1375
|
*
|
1207
1376
|
* @example
|
1377
|
+
* ::: only-for javascript
|
1208
1378
|
* ```js
|
1209
1379
|
* // To disregard a single row, remove it from array using data.splice(i, 1).
|
1210
1380
|
* ...
|
@@ -1227,6 +1397,32 @@ var REGISTERED_HOOKS = [
|
|
1227
1397
|
* });
|
1228
1398
|
* ...
|
1229
1399
|
* ```
|
1400
|
+
* :::
|
1401
|
+
*
|
1402
|
+
* ::: only-for react
|
1403
|
+
* ```jsx
|
1404
|
+
* // To disregard a single row, remove it from array using data.splice(i, 1).
|
1405
|
+
* ...
|
1406
|
+
* <HotTable
|
1407
|
+
* beforeCopy={(data, coords) => {
|
1408
|
+
* // data -> [[1, 2, 3], [4, 5, 6]]
|
1409
|
+
* data.splice(0, 1);
|
1410
|
+
* // data -> [[4, 5, 6]]
|
1411
|
+
* // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
|
1412
|
+
* }}
|
1413
|
+
* />
|
1414
|
+
* ...
|
1415
|
+
*
|
1416
|
+
* // To cancel copying, return false from the callback.
|
1417
|
+
* ...
|
1418
|
+
* <HotTable
|
1419
|
+
* beforeCopy={(data, coords) => {
|
1420
|
+
* return false;
|
1421
|
+
* }}
|
1422
|
+
* />
|
1423
|
+
* ...
|
1424
|
+
* ```
|
1425
|
+
* :::
|
1230
1426
|
*/
|
1231
1427
|
'beforeCopy',
|
1232
1428
|
/**
|
@@ -1250,6 +1446,7 @@ var REGISTERED_HOOKS = [
|
|
1250
1446
|
* @returns {*} If returns `false` then pasting is canceled.
|
1251
1447
|
* @example
|
1252
1448
|
* ```js
|
1449
|
+
* ::: only-for javascript
|
1253
1450
|
* // To disregard a single row, remove it from array using data.splice(i, 1).
|
1254
1451
|
* new Handsontable(example, {
|
1255
1452
|
* beforePaste: (data, coords) => {
|
@@ -1266,6 +1463,27 @@ var REGISTERED_HOOKS = [
|
|
1266
1463
|
* }
|
1267
1464
|
* });
|
1268
1465
|
* ```
|
1466
|
+
* :::
|
1467
|
+
*
|
1468
|
+
* ::: only-for react
|
1469
|
+
* ```jsx
|
1470
|
+
* // To disregard a single row, remove it from array using data.splice(i, 1).
|
1471
|
+
* <HotTable
|
1472
|
+
* beforePaste={(data, coords) => {
|
1473
|
+
* // data -> [[1, 2, 3], [4, 5, 6]]
|
1474
|
+
* data.splice(0, 1);
|
1475
|
+
* // data -> [[4, 5, 6]]
|
1476
|
+
* // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
|
1477
|
+
* }}
|
1478
|
+
* />
|
1479
|
+
* // To cancel pasting, return false from the callback.
|
1480
|
+
* <HotTable
|
1481
|
+
* beforePaste={(data, coords) => {
|
1482
|
+
* return false;
|
1483
|
+
* }}
|
1484
|
+
* />
|
1485
|
+
* ```
|
1486
|
+
* :::
|
1269
1487
|
*/
|
1270
1488
|
'beforePaste',
|
1271
1489
|
/**
|
@@ -1313,7 +1531,7 @@ var REGISTERED_HOOKS = [
|
|
1313
1531
|
* [documentation](@/guides/columns/column-moving.md).
|
1314
1532
|
* It's `undefined` when `dragColumns` function wasn't called.
|
1315
1533
|
* @param {boolean} movePossible Indicates if it's possible to move rows to the desired position.
|
1316
|
-
* @returns {
|
1534
|
+
* @returns {undefined | boolean} If `false` the column will not be moved, `true` otherwise.
|
1317
1535
|
*/
|
1318
1536
|
'beforeColumnMove',
|
1319
1537
|
/**
|
@@ -1421,7 +1639,7 @@ var REGISTERED_HOOKS = [
|
|
1421
1639
|
* @param {number} newSize Calculated new row height.
|
1422
1640
|
* @param {number} row Visual index of the resized row.
|
1423
1641
|
* @param {boolean} isDoubleClick Flag that determines whether there was a double-click.
|
1424
|
-
* @returns {number} Returns the new row size or `undefined` if row size should be calculated automatically.
|
1642
|
+
* @returns {number|undefined} Returns the new row size or `undefined` if row size should be calculated automatically.
|
1425
1643
|
*/
|
1426
1644
|
'beforeRowResize',
|
1427
1645
|
/**
|
@@ -1454,7 +1672,7 @@ var REGISTERED_HOOKS = [
|
|
1454
1672
|
* @event Hooks#beforeStretchingColumnWidth
|
1455
1673
|
* @param {number} stretchedWidth Calculated width.
|
1456
1674
|
* @param {number} column Visual column index.
|
1457
|
-
* @returns {number} Returns new width which will be applied to the column element.
|
1675
|
+
* @returns {number|undefined} Returns new width which will be applied to the column element.
|
1458
1676
|
*/
|
1459
1677
|
'beforeStretchingColumnWidth',
|
1460
1678
|
/**
|
@@ -1513,15 +1731,25 @@ var REGISTERED_HOOKS = [
|
|
1513
1731
|
*/
|
1514
1732
|
'afterFilter',
|
1515
1733
|
/**
|
1516
|
-
*
|
1734
|
+
* Fired by the {@link Formulas} plugin, when any cell value changes.
|
1735
|
+
*
|
1736
|
+
* Returns an array of objects that contains:
|
1737
|
+
* - The addresses (`sheet`, `row`, `col`) and new values (`newValue`) of the changed cells.
|
1738
|
+
* - The addresses and new values of any cells that had to be recalculated (because their formulas depend on the cells that changed).
|
1739
|
+
*
|
1740
|
+
* This hook gets also fired on Handsontable's initialization, returning the addresses and values of all cells.
|
1741
|
+
*
|
1742
|
+
* Read more:
|
1743
|
+
* - [Guides: Formula calculation](@/guides/formulas/formula-calculation.md)
|
1744
|
+
* - [HyperFormula documentation: `valuesUpdated`](https://hyperformula.handsontable.com/api/interfaces/listeners.html#valuesupdated)
|
1517
1745
|
*
|
1518
1746
|
* @since 9.0.0
|
1519
1747
|
* @event Hooks#afterFormulasValuesUpdate
|
1520
|
-
* @param {Array} changes The
|
1748
|
+
* @param {Array} changes The addresses and new values of all the changed and recalculated cells.
|
1521
1749
|
*/
|
1522
1750
|
'afterFormulasValuesUpdate',
|
1523
1751
|
/**
|
1524
|
-
*
|
1752
|
+
* Fired when a named expression is added to the Formulas' engine instance.
|
1525
1753
|
*
|
1526
1754
|
* @since 9.0.0
|
1527
1755
|
* @event Hooks#afterNamedExpressionAdded
|
@@ -1530,7 +1758,7 @@ var REGISTERED_HOOKS = [
|
|
1530
1758
|
*/
|
1531
1759
|
'afterNamedExpressionAdded',
|
1532
1760
|
/**
|
1533
|
-
*
|
1761
|
+
* Fired when a named expression is removed from the Formulas' engine instance.
|
1534
1762
|
*
|
1535
1763
|
* @since 9.0.0
|
1536
1764
|
* @event Hooks#afterNamedExpressionRemoved
|
@@ -1539,7 +1767,7 @@ var REGISTERED_HOOKS = [
|
|
1539
1767
|
*/
|
1540
1768
|
'afterNamedExpressionRemoved',
|
1541
1769
|
/**
|
1542
|
-
*
|
1770
|
+
* Fired when a new sheet is added to the Formulas' engine instance.
|
1543
1771
|
*
|
1544
1772
|
* @since 9.0.0
|
1545
1773
|
* @event Hooks#afterSheetAdded
|
@@ -1547,7 +1775,7 @@ var REGISTERED_HOOKS = [
|
|
1547
1775
|
*/
|
1548
1776
|
'afterSheetAdded',
|
1549
1777
|
/**
|
1550
|
-
*
|
1778
|
+
* Fired when a sheet in the Formulas' engine instance is renamed.
|
1551
1779
|
*
|
1552
1780
|
* @since 9.0.0
|
1553
1781
|
* @event Hooks#afterSheetRenamed
|
@@ -1556,7 +1784,7 @@ var REGISTERED_HOOKS = [
|
|
1556
1784
|
*/
|
1557
1785
|
'afterSheetRenamed',
|
1558
1786
|
/**
|
1559
|
-
*
|
1787
|
+
* Fired when a sheet is removed from the Formulas' engine instance.
|
1560
1788
|
*
|
1561
1789
|
* @since 9.0.0
|
1562
1790
|
* @event Hooks#afterSheetRemoved
|
@@ -2042,13 +2270,14 @@ var REGISTERED_HOOKS = [
|
|
2042
2270
|
* @param {*} cellValue Value of the cell.
|
2043
2271
|
*/
|
2044
2272
|
'modifyAutoColumnSizeSeed'];
|
2273
|
+
|
2045
2274
|
/**
|
2046
2275
|
* Template warning message for removed hooks.
|
2047
2276
|
*
|
2048
2277
|
* @type {string}
|
2049
2278
|
*/
|
2050
|
-
|
2051
2279
|
var REMOVED_MESSAGE = 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."])));
|
2280
|
+
|
2052
2281
|
/**
|
2053
2282
|
* The list of the hooks which are removed from the API. The warning message is printed out in
|
2054
2283
|
* the developer console when the hook is used.
|
@@ -2058,10 +2287,9 @@ var REMOVED_MESSAGE = toSingleLine(_templateObject || (_templateObject = _tagged
|
|
2058
2287
|
*
|
2059
2288
|
* @type {Map<string, string>}
|
2060
2289
|
*/
|
2061
|
-
|
2062
2290
|
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']]);
|
2063
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
2064
2291
|
|
2292
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
2065
2293
|
/**
|
2066
2294
|
* The list of the hooks which are deprecated. The warning message is printed out in
|
2067
2295
|
* the developer console when the hook is used.
|
@@ -2081,20 +2309,17 @@ var REMOVED_HOOKS = new Map([['modifyRow', '8.0.0'], ['modifyCol', '8.0.0'], ['u
|
|
2081
2309
|
*
|
2082
2310
|
* @type {Map<string, string>}
|
2083
2311
|
*/
|
2084
|
-
|
2085
2312
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
2086
|
-
|
2087
2313
|
var DEPRECATED_HOOKS = new Map([['beforeAutofillInsidePopulate', 'The plugin hook "beforeAutofillInsidePopulate" is deprecated and will be removed in the next major release.']]);
|
2088
|
-
|
2089
2314
|
var Hooks = /*#__PURE__*/function () {
|
2090
2315
|
/**
|
2091
2316
|
*
|
2092
2317
|
*/
|
2093
2318
|
function Hooks() {
|
2094
2319
|
_classCallCheck(this, Hooks);
|
2095
|
-
|
2096
2320
|
this.globalBucket = this.createEmptyBucket();
|
2097
2321
|
}
|
2322
|
+
|
2098
2323
|
/**
|
2099
2324
|
* Returns a new object with empty handlers related to every registered hook name.
|
2100
2325
|
*
|
@@ -2113,40 +2338,37 @@ var Hooks = /*#__PURE__*/function () {
|
|
2113
2338
|
* }
|
2114
2339
|
* ```
|
2115
2340
|
*/
|
2116
|
-
|
2117
|
-
|
2118
2341
|
_createClass(Hooks, [{
|
2119
2342
|
key: "createEmptyBucket",
|
2120
2343
|
value: function createEmptyBucket() {
|
2121
|
-
var bucket = Object.create(null);
|
2344
|
+
var bucket = Object.create(null);
|
2122
2345
|
|
2346
|
+
// eslint-disable-next-line no-return-assign
|
2123
2347
|
arrayEach(REGISTERED_HOOKS, function (hook) {
|
2124
2348
|
return bucket[hook] = [];
|
2125
2349
|
});
|
2126
2350
|
return bucket;
|
2127
2351
|
}
|
2352
|
+
|
2128
2353
|
/**
|
2129
2354
|
* Get hook bucket based on the context of the object or if argument is `undefined`, get the global hook bucket.
|
2130
2355
|
*
|
2131
2356
|
* @param {object} [context=null] A Handsontable instance.
|
2132
2357
|
* @returns {object} Returns a global or Handsontable instance bucket.
|
2133
2358
|
*/
|
2134
|
-
|
2135
2359
|
}, {
|
2136
2360
|
key: "getBucket",
|
2137
2361
|
value: function getBucket() {
|
2138
2362
|
var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
2139
|
-
|
2140
2363
|
if (context) {
|
2141
2364
|
if (!context.pluginHookBucket) {
|
2142
2365
|
context.pluginHookBucket = this.createEmptyBucket();
|
2143
2366
|
}
|
2144
|
-
|
2145
2367
|
return context.pluginHookBucket;
|
2146
2368
|
}
|
2147
|
-
|
2148
2369
|
return this.globalBucket;
|
2149
2370
|
}
|
2371
|
+
|
2150
2372
|
/**
|
2151
2373
|
* Adds a listener (globally or locally) to a specified hook name.
|
2152
2374
|
* If the `context` parameter is provided, the hook will be added only to the instance it references.
|
@@ -2175,14 +2397,11 @@ var Hooks = /*#__PURE__*/function () {
|
|
2175
2397
|
* Handsontable.hooks.add('beforeInit', [myCallback, anotherCallback]);
|
2176
2398
|
* ```
|
2177
2399
|
*/
|
2178
|
-
|
2179
2400
|
}, {
|
2180
2401
|
key: "add",
|
2181
2402
|
value: function add(key, callback) {
|
2182
2403
|
var _this = this;
|
2183
|
-
|
2184
2404
|
var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
2185
|
-
|
2186
2405
|
if (Array.isArray(callback)) {
|
2187
2406
|
arrayEach(callback, function (c) {
|
2188
2407
|
return _this.add(key, c, context);
|
@@ -2194,24 +2413,18 @@ var Hooks = /*#__PURE__*/function () {
|
|
2194
2413
|
removedInVersion: REMOVED_HOOKS.get(key)
|
2195
2414
|
}));
|
2196
2415
|
}
|
2197
|
-
|
2198
2416
|
if (DEPRECATED_HOOKS.has(key)) {
|
2199
2417
|
warn(DEPRECATED_HOOKS.get(key));
|
2200
2418
|
}
|
2201
|
-
|
2202
2419
|
var bucket = this.getBucket(context);
|
2203
|
-
|
2204
2420
|
if (typeof bucket[key] === 'undefined') {
|
2205
2421
|
this.register(key);
|
2206
2422
|
bucket[key] = [];
|
2207
2423
|
}
|
2208
|
-
|
2209
2424
|
callback.skip = false;
|
2210
|
-
|
2211
2425
|
if (bucket[key].indexOf(callback) === -1) {
|
2212
2426
|
// only add a hook if it has not already been added (adding the same hook twice is now silently ignored)
|
2213
2427
|
var foundInitialHook = false;
|
2214
|
-
|
2215
2428
|
if (callback.initialHook) {
|
2216
2429
|
arrayEach(bucket[key], function (cb, i) {
|
2217
2430
|
if (cb.initialHook) {
|
@@ -2221,15 +2434,14 @@ var Hooks = /*#__PURE__*/function () {
|
|
2221
2434
|
}
|
2222
2435
|
});
|
2223
2436
|
}
|
2224
|
-
|
2225
2437
|
if (!foundInitialHook) {
|
2226
2438
|
bucket[key].push(callback);
|
2227
2439
|
}
|
2228
2440
|
}
|
2229
2441
|
}
|
2230
|
-
|
2231
2442
|
return this;
|
2232
2443
|
}
|
2444
|
+
|
2233
2445
|
/**
|
2234
2446
|
* Adds a listener to a specified hook. After the hook runs this listener will be automatically removed from the bucket.
|
2235
2447
|
*
|
@@ -2243,14 +2455,11 @@ var Hooks = /*#__PURE__*/function () {
|
|
2243
2455
|
* Handsontable.hooks.once('beforeInit', myCallback, hotInstance);
|
2244
2456
|
* ```
|
2245
2457
|
*/
|
2246
|
-
|
2247
2458
|
}, {
|
2248
2459
|
key: "once",
|
2249
2460
|
value: function once(key, callback) {
|
2250
2461
|
var _this2 = this;
|
2251
|
-
|
2252
2462
|
var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
2253
|
-
|
2254
2463
|
if (Array.isArray(callback)) {
|
2255
2464
|
arrayEach(callback, function (c) {
|
2256
2465
|
return _this2.once(key, c, context);
|
@@ -2260,6 +2469,7 @@ var Hooks = /*#__PURE__*/function () {
|
|
2260
2469
|
this.add(key, callback, context);
|
2261
2470
|
}
|
2262
2471
|
}
|
2472
|
+
|
2263
2473
|
/**
|
2264
2474
|
* 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.
|
2265
2475
|
*
|
@@ -2274,22 +2484,20 @@ var Hooks = /*#__PURE__*/function () {
|
|
2274
2484
|
* Handsontable.hooks.remove('beforeInit', myCallback);
|
2275
2485
|
* ```
|
2276
2486
|
*/
|
2277
|
-
|
2278
2487
|
}, {
|
2279
2488
|
key: "remove",
|
2280
2489
|
value: function remove(key, callback) {
|
2281
2490
|
var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
2282
2491
|
var bucket = this.getBucket(context);
|
2283
|
-
|
2284
2492
|
if (typeof bucket[key] !== 'undefined') {
|
2285
2493
|
if (bucket[key].indexOf(callback) >= 0) {
|
2286
2494
|
callback.skip = true;
|
2287
2495
|
return true;
|
2288
2496
|
}
|
2289
2497
|
}
|
2290
|
-
|
2291
2498
|
return false;
|
2292
2499
|
}
|
2500
|
+
|
2293
2501
|
/**
|
2294
2502
|
* Checks whether there are any registered listeners for the provided hook name.
|
2295
2503
|
* If the `context` parameter is provided, it only checks for listeners assigned to the given Handsontable instance.
|
@@ -2298,7 +2506,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2298
2506
|
* @param {object} [context=null] A Handsontable instance.
|
2299
2507
|
* @returns {boolean} `true` for success, `false` otherwise.
|
2300
2508
|
*/
|
2301
|
-
|
2302
2509
|
}, {
|
2303
2510
|
key: "has",
|
2304
2511
|
value: function has(key) {
|
@@ -2306,6 +2513,7 @@ var Hooks = /*#__PURE__*/function () {
|
|
2306
2513
|
var bucket = this.getBucket(context);
|
2307
2514
|
return !!(bucket[key] !== void 0 && bucket[key].length);
|
2308
2515
|
}
|
2516
|
+
|
2309
2517
|
/**
|
2310
2518
|
* Runs all local and global callbacks assigned to the hook identified by the `key` parameter.
|
2311
2519
|
* It returns either a return value from the last called callback or the first parameter (`p1`) passed to the `run` function.
|
@@ -2326,7 +2534,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2326
2534
|
* Handsontable.hooks.run(hot, 'beforeInit');
|
2327
2535
|
* ```
|
2328
2536
|
*/
|
2329
|
-
|
2330
2537
|
}, {
|
2331
2538
|
key: "run",
|
2332
2539
|
value: function run(context, key, p1, p2, p3, p4, p5, p6) {
|
@@ -2334,66 +2541,53 @@ var Hooks = /*#__PURE__*/function () {
|
|
2334
2541
|
var globalHandlers = this.globalBucket[key];
|
2335
2542
|
var length = globalHandlers ? globalHandlers.length : 0;
|
2336
2543
|
var index = 0;
|
2337
|
-
|
2338
2544
|
if (length) {
|
2339
2545
|
// Do not optimise this loop with arrayEach or arrow function! If you do You'll decrease perf because of GC.
|
2340
2546
|
while (index < length) {
|
2341
2547
|
if (!globalHandlers[index] || globalHandlers[index].skip) {
|
2342
2548
|
index += 1;
|
2343
2549
|
/* eslint-disable no-continue */
|
2344
|
-
|
2345
2550
|
continue;
|
2346
2551
|
}
|
2347
|
-
|
2348
2552
|
var res = fastCall(globalHandlers[index], context, p1, p2, p3, p4, p5, p6);
|
2349
|
-
|
2350
2553
|
if (res !== void 0) {
|
2351
2554
|
// eslint-disable-next-line no-param-reassign
|
2352
2555
|
p1 = res;
|
2353
2556
|
}
|
2354
|
-
|
2355
2557
|
if (globalHandlers[index] && globalHandlers[index].runOnce) {
|
2356
2558
|
this.remove(key, globalHandlers[index]);
|
2357
2559
|
}
|
2358
|
-
|
2359
2560
|
index += 1;
|
2360
2561
|
}
|
2361
2562
|
}
|
2362
2563
|
}
|
2363
2564
|
{
|
2364
2565
|
var localHandlers = this.getBucket(context)[key];
|
2365
|
-
|
2366
2566
|
var _length = localHandlers ? localHandlers.length : 0;
|
2367
|
-
|
2368
2567
|
var _index = 0;
|
2369
|
-
|
2370
2568
|
if (_length) {
|
2371
2569
|
// Do not optimise this loop with arrayEach or arrow function! If you do You'll decrease perf because of GC.
|
2372
2570
|
while (_index < _length) {
|
2373
2571
|
if (!localHandlers[_index] || localHandlers[_index].skip) {
|
2374
2572
|
_index += 1;
|
2375
2573
|
/* eslint-disable no-continue */
|
2376
|
-
|
2377
2574
|
continue;
|
2378
2575
|
}
|
2379
|
-
|
2380
2576
|
var _res = fastCall(localHandlers[_index], context, p1, p2, p3, p4, p5, p6);
|
2381
|
-
|
2382
2577
|
if (_res !== void 0) {
|
2383
2578
|
// eslint-disable-next-line no-param-reassign
|
2384
2579
|
p1 = _res;
|
2385
2580
|
}
|
2386
|
-
|
2387
2581
|
if (localHandlers[_index] && localHandlers[_index].runOnce) {
|
2388
2582
|
this.remove(key, localHandlers[_index], context);
|
2389
2583
|
}
|
2390
|
-
|
2391
2584
|
_index += 1;
|
2392
2585
|
}
|
2393
2586
|
}
|
2394
2587
|
}
|
2395
2588
|
return p1;
|
2396
2589
|
}
|
2590
|
+
|
2397
2591
|
/**
|
2398
2592
|
* Destroy all listeners connected to the context. If no context is provided, the global listeners will be destroyed.
|
2399
2593
|
*
|
@@ -2407,7 +2601,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2407
2601
|
* Handsontable.hooks.destroy(hotInstance);
|
2408
2602
|
* ```
|
2409
2603
|
*/
|
2410
|
-
|
2411
2604
|
}, {
|
2412
2605
|
key: "destroy",
|
2413
2606
|
value: function destroy() {
|
@@ -2417,6 +2610,7 @@ var Hooks = /*#__PURE__*/function () {
|
|
2417
2610
|
return bucket[key].length = 0;
|
2418
2611
|
});
|
2419
2612
|
}
|
2613
|
+
|
2420
2614
|
/**
|
2421
2615
|
* Registers a hook name (adds it to the list of the known hook names). Used by plugins.
|
2422
2616
|
* It is not necessary to call register, but if you use it, your plugin hook will be used returned by
|
@@ -2429,7 +2623,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2429
2623
|
* Handsontable.hooks.register('myHook');
|
2430
2624
|
* ```
|
2431
2625
|
*/
|
2432
|
-
|
2433
2626
|
}, {
|
2434
2627
|
key: "register",
|
2435
2628
|
value: function register(key) {
|
@@ -2437,6 +2630,7 @@ var Hooks = /*#__PURE__*/function () {
|
|
2437
2630
|
REGISTERED_HOOKS.push(key);
|
2438
2631
|
}
|
2439
2632
|
}
|
2633
|
+
|
2440
2634
|
/**
|
2441
2635
|
* Deregisters a hook name (removes it from the list of known hook names).
|
2442
2636
|
*
|
@@ -2447,7 +2641,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2447
2641
|
* Handsontable.hooks.deregister('myHook');
|
2448
2642
|
* ```
|
2449
2643
|
*/
|
2450
|
-
|
2451
2644
|
}, {
|
2452
2645
|
key: "deregister",
|
2453
2646
|
value: function deregister(key) {
|
@@ -2455,6 +2648,7 @@ var Hooks = /*#__PURE__*/function () {
|
|
2455
2648
|
REGISTERED_HOOKS.splice(REGISTERED_HOOKS.indexOf(key), 1);
|
2456
2649
|
}
|
2457
2650
|
}
|
2651
|
+
|
2458
2652
|
/**
|
2459
2653
|
* Returns a boolean value depending on if a hook by such name has been removed or deprecated.
|
2460
2654
|
*
|
@@ -2469,12 +2663,12 @@ var Hooks = /*#__PURE__*/function () {
|
|
2469
2663
|
* true
|
2470
2664
|
* ```
|
2471
2665
|
*/
|
2472
|
-
|
2473
2666
|
}, {
|
2474
2667
|
key: "isDeprecated",
|
2475
2668
|
value: function isDeprecated(hookName) {
|
2476
2669
|
return DEPRECATED_HOOKS.has(hookName) || REMOVED_HOOKS.has(hookName);
|
2477
2670
|
}
|
2671
|
+
|
2478
2672
|
/**
|
2479
2673
|
* Returns a boolean depending on if a hook by such name has been registered.
|
2480
2674
|
*
|
@@ -2488,12 +2682,12 @@ var Hooks = /*#__PURE__*/function () {
|
|
2488
2682
|
* true
|
2489
2683
|
* ```
|
2490
2684
|
*/
|
2491
|
-
|
2492
2685
|
}, {
|
2493
2686
|
key: "isRegistered",
|
2494
2687
|
value: function isRegistered(hookName) {
|
2495
2688
|
return REGISTERED_HOOKS.indexOf(hookName) >= 0;
|
2496
2689
|
}
|
2690
|
+
|
2497
2691
|
/**
|
2498
2692
|
* Returns an array of registered hooks.
|
2499
2693
|
*
|
@@ -2515,7 +2709,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2515
2709
|
* ]
|
2516
2710
|
* ```
|
2517
2711
|
*/
|
2518
|
-
|
2519
2712
|
}, {
|
2520
2713
|
key: "getRegistered",
|
2521
2714
|
value: function getRegistered() {
|
@@ -2527,17 +2720,14 @@ var Hooks = /*#__PURE__*/function () {
|
|
2527
2720
|
return getGlobalSingleton();
|
2528
2721
|
}
|
2529
2722
|
}]);
|
2530
|
-
|
2531
2723
|
return Hooks;
|
2532
2724
|
}();
|
2533
|
-
|
2534
2725
|
var globalSingleton = new Hooks();
|
2726
|
+
|
2535
2727
|
/**
|
2536
2728
|
* @returns {Hooks}
|
2537
2729
|
*/
|
2538
|
-
|
2539
2730
|
function getGlobalSingleton() {
|
2540
2731
|
return globalSingleton;
|
2541
2732
|
}
|
2542
|
-
|
2543
2733
|
export default Hooks;
|