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.js
CHANGED
@@ -1,54 +1,34 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
require("core-js/modules/es.array.slice.js");
|
4
|
-
|
5
4
|
require("core-js/modules/es.object.freeze.js");
|
6
|
-
|
7
5
|
exports.__esModule = true;
|
8
6
|
exports.default = void 0;
|
9
|
-
|
10
7
|
require("core-js/modules/es.array.iterator.js");
|
11
|
-
|
12
8
|
require("core-js/modules/es.map.js");
|
13
|
-
|
14
9
|
require("core-js/modules/es.object.to-string.js");
|
15
|
-
|
16
10
|
require("core-js/modules/es.string.iterator.js");
|
17
|
-
|
18
11
|
require("core-js/modules/web.dom-collections.iterator.js");
|
19
|
-
|
20
12
|
require("core-js/modules/es.array.index-of.js");
|
21
|
-
|
22
13
|
require("core-js/modules/es.array.splice.js");
|
23
|
-
|
24
14
|
var _array = require("./helpers/array");
|
25
|
-
|
26
15
|
var _object = require("./helpers/object");
|
27
|
-
|
28
16
|
var _string = require("./helpers/string");
|
29
|
-
|
30
17
|
var _console = require("./helpers/console");
|
31
|
-
|
32
18
|
var _templateLiteralTag = require("./helpers/templateLiteralTag");
|
33
|
-
|
34
19
|
var _function = require("./helpers/function");
|
35
|
-
|
36
20
|
var _templateObject;
|
37
|
-
|
38
21
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
39
|
-
|
40
22
|
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
|
-
|
42
23
|
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
|
-
|
44
24
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
45
|
-
|
46
25
|
/**
|
47
26
|
* @description
|
48
27
|
* Handsontable events are the common interface that function in 2 ways: as __callbacks__ and as __hooks__.
|
49
28
|
*
|
50
29
|
* @example
|
51
30
|
*
|
31
|
+
* ::: only-for javascript
|
52
32
|
* ```js
|
53
33
|
* // Using events as callbacks:
|
54
34
|
* ...
|
@@ -62,7 +42,25 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
|
|
62
42
|
* });
|
63
43
|
* ...
|
64
44
|
* ```
|
45
|
+
* :::
|
46
|
+
*
|
47
|
+
* ::: only-for react
|
48
|
+
* ```jsx
|
49
|
+
* <HotTable
|
50
|
+
* afterChange={(changes, source) => {
|
51
|
+
* fetch('save.php', {
|
52
|
+
* method: 'POST',
|
53
|
+
* headers: {
|
54
|
+
* 'Accept': 'application/json',
|
55
|
+
* 'Content-Type': 'application/json'
|
56
|
+
* },
|
57
|
+
* body: JSON.stringify(changes)
|
58
|
+
* });
|
59
|
+
* }}
|
60
|
+
* />
|
61
|
+
* :::
|
65
62
|
*
|
63
|
+
* ::: only-for javascript
|
66
64
|
* ```js
|
67
65
|
* // Using events as plugin hooks:
|
68
66
|
* ...
|
@@ -87,12 +85,47 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
|
|
87
85
|
* // function body - will only run in #example2
|
88
86
|
* });
|
89
87
|
* ```
|
88
|
+
* :::
|
89
|
+
*
|
90
|
+
* ::: only-for react
|
91
|
+
* ```jsx
|
92
|
+
* const hotRef1 = useRef(null);
|
93
|
+
* const hotRef2 = useRef(null);
|
94
|
+
*
|
95
|
+
* // Using events as plugin hooks:
|
96
|
+
* ...
|
97
|
+
*
|
98
|
+
* <HotTable
|
99
|
+
* ref={hotRef1}
|
100
|
+
* myPlugin={true}
|
101
|
+
* });
|
102
|
+
*
|
103
|
+
* <HotTable
|
104
|
+
* ref={hotRef2}
|
105
|
+
* myPlugin={false}
|
106
|
+
* });
|
107
|
+
*
|
108
|
+
* ...
|
109
|
+
*
|
110
|
+
* const hot2 = hotRef2.current.hotInstance;
|
111
|
+
* // local hook (has same effect as a callback)
|
112
|
+
* hot2.addHook('afterChange', function() {
|
113
|
+
* // function body - will only run in #example2
|
114
|
+
* });
|
115
|
+
*
|
116
|
+
* // global hook
|
117
|
+
* Handsontable.hooks.add('afterChange', function() {
|
118
|
+
* // Fired twice - for hot1 and hot2
|
119
|
+
* if (this.getSettings().myPlugin) {
|
120
|
+
* // function body - will only run for first instance
|
121
|
+
* }
|
122
|
+
* });
|
123
|
+
* :::
|
90
124
|
* ...
|
91
125
|
*/
|
92
|
-
// @TODO: Move plugin description hooks to plugin?
|
93
|
-
var REGISTERED_HOOKS = [
|
94
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
95
126
|
|
127
|
+
// @TODO: Move plugin description hooks to plugin?
|
128
|
+
var REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-sentence */
|
96
129
|
/**
|
97
130
|
* Fired after resetting a cell's meta. This happens when the {@link Core#updateSettings} method is called.
|
98
131
|
*
|
@@ -106,18 +139,32 @@ var REGISTERED_HOOKS = [
|
|
106
139
|
* __Note:__ For performance reasons, the `changes` array is null for `"loadData"` source.
|
107
140
|
*
|
108
141
|
* @event Hooks#afterChange
|
109
|
-
* @param {Array} changes 2D array containing information about each of the edited cells `[[row, prop, oldVal, newVal], ...]`.
|
142
|
+
* @param {Array[]} changes 2D array containing information about each of the edited cells `[[row, prop, oldVal, newVal], ...]`. `row` is a visual row index.
|
110
143
|
* @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
144
|
* @example
|
145
|
+
* ::: only-for javascript
|
112
146
|
* ```js
|
113
147
|
* new Handsontable(element, {
|
114
148
|
* afterChange: (changes) => {
|
115
|
-
* changes
|
149
|
+
* changes?.forEach(([row, prop, oldValue, newValue]) => {
|
116
150
|
* // Some logic...
|
117
151
|
* });
|
118
152
|
* }
|
119
153
|
* })
|
120
154
|
* ```
|
155
|
+
* :::
|
156
|
+
*
|
157
|
+
* ::: only-for react
|
158
|
+
* ```jsx
|
159
|
+
* <HotTable
|
160
|
+
* afterChange={(changes, source) => {
|
161
|
+
* changes?.forEach(([row, prop, oldValue, newValue]) => {
|
162
|
+
* // Some logic...
|
163
|
+
* });
|
164
|
+
* }}
|
165
|
+
* />
|
166
|
+
* ```
|
167
|
+
* :::
|
121
168
|
*/
|
122
169
|
'afterChange',
|
123
170
|
/**
|
@@ -200,6 +247,7 @@ var REGISTERED_HOOKS = [
|
|
200
247
|
* ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
|
201
248
|
* @returns {*} If `false` then creating columns is cancelled.
|
202
249
|
* @example
|
250
|
+
* ::: only-for javascript
|
203
251
|
* ```js
|
204
252
|
* // Return `false` to cancel column inserting.
|
205
253
|
* new Handsontable(element, {
|
@@ -208,6 +256,18 @@ var REGISTERED_HOOKS = [
|
|
208
256
|
* }
|
209
257
|
* });
|
210
258
|
* ```
|
259
|
+
* :::
|
260
|
+
*
|
261
|
+
* ::: only-for react
|
262
|
+
* ```jsx
|
263
|
+
* // Return `false` to cancel column inserting.
|
264
|
+
* <HotTable
|
265
|
+
* beforeCreateCol={(data, coords) => {
|
266
|
+
* return false;
|
267
|
+
* }}
|
268
|
+
* />
|
269
|
+
* ```
|
270
|
+
* :::
|
211
271
|
*/
|
212
272
|
'beforeCreateCol',
|
213
273
|
/**
|
@@ -242,7 +302,7 @@ var REGISTERED_HOOKS = [
|
|
242
302
|
*/
|
243
303
|
'afterCreateRow',
|
244
304
|
/**
|
245
|
-
* Fired after
|
305
|
+
* Fired after all selected cells are deselected.
|
246
306
|
*
|
247
307
|
* @event Hooks#afterDeselect
|
248
308
|
*/
|
@@ -292,9 +352,13 @@ var REGISTERED_HOOKS = [
|
|
292
352
|
/**
|
293
353
|
* Fired after retrieving information about a column header and appending it to the table header.
|
294
354
|
*
|
355
|
+
* Since the 12.2 the hook is triggered with the 3rd `headerLevel` argument.
|
356
|
+
*
|
295
357
|
* @event Hooks#afterGetColHeader
|
296
358
|
* @param {number} column Visual column index.
|
297
359
|
* @param {HTMLTableCellElement} TH Header's TH element.
|
360
|
+
* @param {number} [headerLevel=0] The index of header level counting from the top (positive
|
361
|
+
* values counting from 0 to N).
|
298
362
|
*/
|
299
363
|
'afterGetColHeader',
|
300
364
|
/**
|
@@ -494,6 +558,7 @@ var REGISTERED_HOOKS = [
|
|
494
558
|
* @param {object} preventScrolling Object with `value` property where its value change will be observed.
|
495
559
|
* @param {number} selectionLayerLevel The number which indicates what selection layer is currently modified.
|
496
560
|
* @example
|
561
|
+
* ::: only-for javascript
|
497
562
|
* ```js
|
498
563
|
* new Handsontable(element, {
|
499
564
|
* afterSelection: (row, column, row2, column2, preventScrolling, selectionLayerLevel) => {
|
@@ -505,6 +570,21 @@ var REGISTERED_HOOKS = [
|
|
505
570
|
* }
|
506
571
|
* })
|
507
572
|
* ```
|
573
|
+
* :::
|
574
|
+
*
|
575
|
+
* ::: only-for react
|
576
|
+
* ```jsx
|
577
|
+
* <HotTable
|
578
|
+
* afterSelection={(row, column, row2, column2, preventScrolling, selectionLayerLevel) => {
|
579
|
+
* // If set to `false` (default): when cell selection is outside the viewport,
|
580
|
+
* // Handsontable scrolls the viewport to cell selection's end corner.
|
581
|
+
* // If set to `true`: when cell selection is outside the viewport,
|
582
|
+
* // Handsontable doesn't scroll to cell selection's end corner.
|
583
|
+
* preventScrolling.value = true;
|
584
|
+
* }}
|
585
|
+
* />
|
586
|
+
* ```
|
587
|
+
* :::
|
508
588
|
*/
|
509
589
|
'afterSelection',
|
510
590
|
/**
|
@@ -521,6 +601,7 @@ var REGISTERED_HOOKS = [
|
|
521
601
|
* @param {number} selectionLayerLevel The number which indicates what selection layer is currently modified.
|
522
602
|
* @example
|
523
603
|
* ```js
|
604
|
+
* ::: only-for javascript
|
524
605
|
* new Handsontable(element, {
|
525
606
|
* afterSelectionByProp: (row, column, row2, column2, preventScrolling, selectionLayerLevel) => {
|
526
607
|
* // setting if prevent scrolling after selection
|
@@ -528,6 +609,18 @@ var REGISTERED_HOOKS = [
|
|
528
609
|
* }
|
529
610
|
* })
|
530
611
|
* ```
|
612
|
+
* :::
|
613
|
+
*
|
614
|
+
* ::: only-for react
|
615
|
+
* ```jsx
|
616
|
+
* <HotTable
|
617
|
+
* afterSelectionByProp={(row, column, row2, column2, preventScrolling, selectionLayerLevel) => {
|
618
|
+
* // setting if prevent scrolling after selection
|
619
|
+
* preventScrolling.value = true;
|
620
|
+
* }}
|
621
|
+
* />
|
622
|
+
* ```
|
623
|
+
* :::
|
531
624
|
*/
|
532
625
|
'afterSelectionByProp',
|
533
626
|
/**
|
@@ -623,7 +716,7 @@ var REGISTERED_HOOKS = [
|
|
623
716
|
* @param {string|number} prop Property name / visual column index.
|
624
717
|
* @param {string} [source] String that identifies source of hook call
|
625
718
|
* ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
|
626
|
-
* @returns {
|
719
|
+
* @returns {undefined | boolean} If `false` the cell will be marked as invalid, `true` otherwise.
|
627
720
|
*/
|
628
721
|
'afterValidate',
|
629
722
|
/**
|
@@ -689,31 +782,39 @@ var REGISTERED_HOOKS = [
|
|
689
782
|
*/
|
690
783
|
'beforeCellAlignment',
|
691
784
|
/**
|
692
|
-
* Fired before one or more cells
|
693
|
-
*
|
785
|
+
* Fired before one or more cells are changed.
|
786
|
+
*
|
787
|
+
* Use this hook to silently alter the user's changes before Handsontable re-renders.
|
788
|
+
*
|
789
|
+
* To ignore the user's changes, use a nullified array or return `false`.
|
694
790
|
*
|
695
791
|
* @event Hooks#beforeChange
|
696
|
-
* @param {Array[]} changes 2D array containing information about each of the edited cells.
|
792
|
+
* @param {Array[]} changes 2D array containing information about each of the edited cells `[[row, prop, oldVal, newVal], ...]`. `row` is a visual row index.
|
697
793
|
* @param {string} [source] String that identifies source of hook call
|
698
794
|
* ([list of all available sources](@/guides/getting-started/events-and-hooks.md#definition-for-source-argument)).
|
699
|
-
* @returns {
|
795
|
+
* @returns {undefined | boolean} If `false` all changes were cancelled, `true` otherwise.
|
700
796
|
* @example
|
797
|
+
* ::: only-for javascript
|
701
798
|
* ```js
|
702
|
-
* //
|
799
|
+
* // to alter a single change, overwrite the value with `changes[i][3]`
|
703
800
|
* new Handsontable(element, {
|
704
801
|
* beforeChange: (changes, source) => {
|
705
802
|
* // [[row, prop, oldVal, newVal], ...]
|
706
|
-
* changes[0] =
|
803
|
+
* changes[0][3] = 10;
|
707
804
|
* }
|
708
805
|
* });
|
709
|
-
*
|
806
|
+
*
|
807
|
+
* // to ignore a single change, set `changes[i]` to `null`
|
808
|
+
* // or remove `changes[i]` from the array, by using `changes.splice(i, 1)`
|
710
809
|
* new Handsontable(element, {
|
711
810
|
* beforeChange: (changes, source) => {
|
712
811
|
* // [[row, prop, oldVal, newVal], ...]
|
713
|
-
* changes[0]
|
812
|
+
* changes[0] = null;
|
714
813
|
* }
|
715
814
|
* });
|
716
|
-
*
|
815
|
+
*
|
816
|
+
* // to ignore all changes, return `false`
|
817
|
+
* // or set the array's length to 0, by using `changes.length = 0`
|
717
818
|
* new Handsontable(element, {
|
718
819
|
* beforeChange: (changes, source) => {
|
719
820
|
* // [[row, prop, oldVal, newVal], ...]
|
@@ -721,6 +822,37 @@ var REGISTERED_HOOKS = [
|
|
721
822
|
* }
|
722
823
|
* });
|
723
824
|
* ```
|
825
|
+
* :::
|
826
|
+
*
|
827
|
+
* ::: only-for react
|
828
|
+
* ```jsx
|
829
|
+
* // to alter a single change, overwrite the desired value with `changes[i][3]`
|
830
|
+
* <HotTable
|
831
|
+
* beforeChange={(changes, source) => {
|
832
|
+
* // [[row, prop, oldVal, newVal], ...]
|
833
|
+
* changes[0][3] = 10;
|
834
|
+
* }}
|
835
|
+
* />
|
836
|
+
*
|
837
|
+
* // to ignore a single change, set `changes[i]` to `null`
|
838
|
+
* // or remove `changes[i]` from the array, by using changes.splice(i, 1).
|
839
|
+
* <HotTable
|
840
|
+
* beforeChange={(changes, source) => {
|
841
|
+
* // [[row, prop, oldVal, newVal], ...]
|
842
|
+
* changes[0] = null;
|
843
|
+
* }}
|
844
|
+
* />
|
845
|
+
*
|
846
|
+
* // to ignore all changes, return `false`
|
847
|
+
* // or set the array's length to 0 (`changes.length = 0`)
|
848
|
+
* <HotTable
|
849
|
+
* beforeChange={(changes, source) => {
|
850
|
+
* // [[row, prop, oldVal, newVal], ...]
|
851
|
+
* return false;
|
852
|
+
* }}
|
853
|
+
* />
|
854
|
+
* ```
|
855
|
+
* :::
|
724
856
|
*/
|
725
857
|
'beforeChange',
|
726
858
|
/**
|
@@ -946,7 +1078,7 @@ var REGISTERED_HOOKS = [
|
|
946
1078
|
* @param {number} column Visual column index.
|
947
1079
|
* @param {string} key The updated meta key.
|
948
1080
|
* @param {*} value The updated meta value.
|
949
|
-
* @returns {
|
1081
|
+
* @returns {boolean|undefined} If false is returned the action is canceled.
|
950
1082
|
*/
|
951
1083
|
'beforeSetCellMeta',
|
952
1084
|
/**
|
@@ -1080,6 +1212,7 @@ var REGISTERED_HOOKS = [
|
|
1080
1212
|
* @param {boolean} topmost If set to `true`, it returns the TD element from the topmost overlay. For example,
|
1081
1213
|
* if the wanted cell is in the range of fixed rows, it will return a TD element
|
1082
1214
|
* from the `top` overlay.
|
1215
|
+
* @returns {undefined|number[]}
|
1083
1216
|
*/
|
1084
1217
|
'modifyGetCellCoords',
|
1085
1218
|
/**
|
@@ -1111,8 +1244,9 @@ var REGISTERED_HOOKS = [
|
|
1111
1244
|
*/
|
1112
1245
|
'beforeHighlightingColumnHeader',
|
1113
1246
|
/**
|
1114
|
-
* Fired by {@link PersistentState} plugin, after loading value, saved under given key, from browser local storage.
|
1115
|
-
*
|
1247
|
+
* Fired by {@link PersistentState} plugin, after loading value, saved under given key, from browser local storage.
|
1248
|
+
*
|
1249
|
+
* The `persistentStateLoad` hook is fired even when the {@link Options#persistentState} option is disabled.
|
1116
1250
|
*
|
1117
1251
|
* @event Hooks#persistentStateLoad
|
1118
1252
|
* @param {string} key Key.
|
@@ -1128,8 +1262,9 @@ var REGISTERED_HOOKS = [
|
|
1128
1262
|
*/
|
1129
1263
|
'persistentStateReset',
|
1130
1264
|
/**
|
1131
|
-
* Fired by {@link PersistentState} plugin, after saving value under given key in browser local storage.
|
1132
|
-
*
|
1265
|
+
* Fired by {@link PersistentState} plugin, after saving value under given key in browser local storage.
|
1266
|
+
*
|
1267
|
+
* The `persistentStateSave` hook is fired even when the {@link Options#persistentState} option is disabled.
|
1133
1268
|
*
|
1134
1269
|
* @event Hooks#persistentStateSave
|
1135
1270
|
* @param {string} key Key.
|
@@ -1145,7 +1280,7 @@ var REGISTERED_HOOKS = [
|
|
1145
1280
|
* @event Hooks#beforeColumnSort
|
1146
1281
|
* @param {Array} currentSortConfig Current sort configuration (for all sorted columns).
|
1147
1282
|
* @param {Array} destinationSortConfigs Destination sort configuration (for all sorted columns).
|
1148
|
-
* @returns {boolean |
|
1283
|
+
* @returns {boolean | undefined} If `false` the column will not be sorted, `true` otherwise.
|
1149
1284
|
*/
|
1150
1285
|
'beforeColumnSort',
|
1151
1286
|
/**
|
@@ -1183,6 +1318,7 @@ var REGISTERED_HOOKS = [
|
|
1183
1318
|
* which will be cut out.
|
1184
1319
|
* @returns {*} If returns `false` then operation of the cutting out is canceled.
|
1185
1320
|
* @example
|
1321
|
+
* ::: only-for javascript
|
1186
1322
|
* ```js
|
1187
1323
|
* // To disregard a single row, remove it from the array using data.splice(i, 1).
|
1188
1324
|
* new Handsontable(element, {
|
@@ -1200,6 +1336,27 @@ var REGISTERED_HOOKS = [
|
|
1200
1336
|
* }
|
1201
1337
|
* });
|
1202
1338
|
* ```
|
1339
|
+
* :::
|
1340
|
+
*
|
1341
|
+
* ::: only-for react
|
1342
|
+
* ```jsx
|
1343
|
+
* // To disregard a single row, remove it from the array using data.splice(i, 1).
|
1344
|
+
* <HotTable
|
1345
|
+
* beforeCut={(data, coords) => {
|
1346
|
+
* // data -> [[1, 2, 3], [4, 5, 6]]
|
1347
|
+
* data.splice(0, 1);
|
1348
|
+
* // data -> [[4, 5, 6]]
|
1349
|
+
* // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
|
1350
|
+
* }}
|
1351
|
+
* />
|
1352
|
+
* // To cancel a cutting action, just return `false`.
|
1353
|
+
* <HotTable
|
1354
|
+
* beforeCut={(data, coords) => {
|
1355
|
+
* return false;
|
1356
|
+
* }}
|
1357
|
+
* />
|
1358
|
+
* ```
|
1359
|
+
* :::
|
1203
1360
|
*/
|
1204
1361
|
'beforeCut',
|
1205
1362
|
/**
|
@@ -1222,6 +1379,7 @@ var REGISTERED_HOOKS = [
|
|
1222
1379
|
* @returns {*} If returns `false` then copying is canceled.
|
1223
1380
|
*
|
1224
1381
|
* @example
|
1382
|
+
* ::: only-for javascript
|
1225
1383
|
* ```js
|
1226
1384
|
* // To disregard a single row, remove it from array using data.splice(i, 1).
|
1227
1385
|
* ...
|
@@ -1244,6 +1402,32 @@ var REGISTERED_HOOKS = [
|
|
1244
1402
|
* });
|
1245
1403
|
* ...
|
1246
1404
|
* ```
|
1405
|
+
* :::
|
1406
|
+
*
|
1407
|
+
* ::: only-for react
|
1408
|
+
* ```jsx
|
1409
|
+
* // To disregard a single row, remove it from array using data.splice(i, 1).
|
1410
|
+
* ...
|
1411
|
+
* <HotTable
|
1412
|
+
* beforeCopy={(data, coords) => {
|
1413
|
+
* // data -> [[1, 2, 3], [4, 5, 6]]
|
1414
|
+
* data.splice(0, 1);
|
1415
|
+
* // data -> [[4, 5, 6]]
|
1416
|
+
* // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
|
1417
|
+
* }}
|
1418
|
+
* />
|
1419
|
+
* ...
|
1420
|
+
*
|
1421
|
+
* // To cancel copying, return false from the callback.
|
1422
|
+
* ...
|
1423
|
+
* <HotTable
|
1424
|
+
* beforeCopy={(data, coords) => {
|
1425
|
+
* return false;
|
1426
|
+
* }}
|
1427
|
+
* />
|
1428
|
+
* ...
|
1429
|
+
* ```
|
1430
|
+
* :::
|
1247
1431
|
*/
|
1248
1432
|
'beforeCopy',
|
1249
1433
|
/**
|
@@ -1267,6 +1451,7 @@ var REGISTERED_HOOKS = [
|
|
1267
1451
|
* @returns {*} If returns `false` then pasting is canceled.
|
1268
1452
|
* @example
|
1269
1453
|
* ```js
|
1454
|
+
* ::: only-for javascript
|
1270
1455
|
* // To disregard a single row, remove it from array using data.splice(i, 1).
|
1271
1456
|
* new Handsontable(example, {
|
1272
1457
|
* beforePaste: (data, coords) => {
|
@@ -1283,6 +1468,27 @@ var REGISTERED_HOOKS = [
|
|
1283
1468
|
* }
|
1284
1469
|
* });
|
1285
1470
|
* ```
|
1471
|
+
* :::
|
1472
|
+
*
|
1473
|
+
* ::: only-for react
|
1474
|
+
* ```jsx
|
1475
|
+
* // To disregard a single row, remove it from array using data.splice(i, 1).
|
1476
|
+
* <HotTable
|
1477
|
+
* beforePaste={(data, coords) => {
|
1478
|
+
* // data -> [[1, 2, 3], [4, 5, 6]]
|
1479
|
+
* data.splice(0, 1);
|
1480
|
+
* // data -> [[4, 5, 6]]
|
1481
|
+
* // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
|
1482
|
+
* }}
|
1483
|
+
* />
|
1484
|
+
* // To cancel pasting, return false from the callback.
|
1485
|
+
* <HotTable
|
1486
|
+
* beforePaste={(data, coords) => {
|
1487
|
+
* return false;
|
1488
|
+
* }}
|
1489
|
+
* />
|
1490
|
+
* ```
|
1491
|
+
* :::
|
1286
1492
|
*/
|
1287
1493
|
'beforePaste',
|
1288
1494
|
/**
|
@@ -1330,7 +1536,7 @@ var REGISTERED_HOOKS = [
|
|
1330
1536
|
* [documentation](@/guides/columns/column-moving.md).
|
1331
1537
|
* It's `undefined` when `dragColumns` function wasn't called.
|
1332
1538
|
* @param {boolean} movePossible Indicates if it's possible to move rows to the desired position.
|
1333
|
-
* @returns {
|
1539
|
+
* @returns {undefined | boolean} If `false` the column will not be moved, `true` otherwise.
|
1334
1540
|
*/
|
1335
1541
|
'beforeColumnMove',
|
1336
1542
|
/**
|
@@ -1438,7 +1644,7 @@ var REGISTERED_HOOKS = [
|
|
1438
1644
|
* @param {number} newSize Calculated new row height.
|
1439
1645
|
* @param {number} row Visual index of the resized row.
|
1440
1646
|
* @param {boolean} isDoubleClick Flag that determines whether there was a double-click.
|
1441
|
-
* @returns {number} Returns the new row size or `undefined` if row size should be calculated automatically.
|
1647
|
+
* @returns {number|undefined} Returns the new row size or `undefined` if row size should be calculated automatically.
|
1442
1648
|
*/
|
1443
1649
|
'beforeRowResize',
|
1444
1650
|
/**
|
@@ -1471,7 +1677,7 @@ var REGISTERED_HOOKS = [
|
|
1471
1677
|
* @event Hooks#beforeStretchingColumnWidth
|
1472
1678
|
* @param {number} stretchedWidth Calculated width.
|
1473
1679
|
* @param {number} column Visual column index.
|
1474
|
-
* @returns {number} Returns new width which will be applied to the column element.
|
1680
|
+
* @returns {number|undefined} Returns new width which will be applied to the column element.
|
1475
1681
|
*/
|
1476
1682
|
'beforeStretchingColumnWidth',
|
1477
1683
|
/**
|
@@ -1530,15 +1736,25 @@ var REGISTERED_HOOKS = [
|
|
1530
1736
|
*/
|
1531
1737
|
'afterFilter',
|
1532
1738
|
/**
|
1533
|
-
*
|
1739
|
+
* Fired by the {@link Formulas} plugin, when any cell value changes.
|
1740
|
+
*
|
1741
|
+
* Returns an array of objects that contains:
|
1742
|
+
* - The addresses (`sheet`, `row`, `col`) and new values (`newValue`) of the changed cells.
|
1743
|
+
* - The addresses and new values of any cells that had to be recalculated (because their formulas depend on the cells that changed).
|
1744
|
+
*
|
1745
|
+
* This hook gets also fired on Handsontable's initialization, returning the addresses and values of all cells.
|
1746
|
+
*
|
1747
|
+
* Read more:
|
1748
|
+
* - [Guides: Formula calculation](@/guides/formulas/formula-calculation.md)
|
1749
|
+
* - [HyperFormula documentation: `valuesUpdated`](https://hyperformula.handsontable.com/api/interfaces/listeners.html#valuesupdated)
|
1534
1750
|
*
|
1535
1751
|
* @since 9.0.0
|
1536
1752
|
* @event Hooks#afterFormulasValuesUpdate
|
1537
|
-
* @param {Array} changes The
|
1753
|
+
* @param {Array} changes The addresses and new values of all the changed and recalculated cells.
|
1538
1754
|
*/
|
1539
1755
|
'afterFormulasValuesUpdate',
|
1540
1756
|
/**
|
1541
|
-
*
|
1757
|
+
* Fired when a named expression is added to the Formulas' engine instance.
|
1542
1758
|
*
|
1543
1759
|
* @since 9.0.0
|
1544
1760
|
* @event Hooks#afterNamedExpressionAdded
|
@@ -1547,7 +1763,7 @@ var REGISTERED_HOOKS = [
|
|
1547
1763
|
*/
|
1548
1764
|
'afterNamedExpressionAdded',
|
1549
1765
|
/**
|
1550
|
-
*
|
1766
|
+
* Fired when a named expression is removed from the Formulas' engine instance.
|
1551
1767
|
*
|
1552
1768
|
* @since 9.0.0
|
1553
1769
|
* @event Hooks#afterNamedExpressionRemoved
|
@@ -1556,7 +1772,7 @@ var REGISTERED_HOOKS = [
|
|
1556
1772
|
*/
|
1557
1773
|
'afterNamedExpressionRemoved',
|
1558
1774
|
/**
|
1559
|
-
*
|
1775
|
+
* Fired when a new sheet is added to the Formulas' engine instance.
|
1560
1776
|
*
|
1561
1777
|
* @since 9.0.0
|
1562
1778
|
* @event Hooks#afterSheetAdded
|
@@ -1564,7 +1780,7 @@ var REGISTERED_HOOKS = [
|
|
1564
1780
|
*/
|
1565
1781
|
'afterSheetAdded',
|
1566
1782
|
/**
|
1567
|
-
*
|
1783
|
+
* Fired when a sheet in the Formulas' engine instance is renamed.
|
1568
1784
|
*
|
1569
1785
|
* @since 9.0.0
|
1570
1786
|
* @event Hooks#afterSheetRenamed
|
@@ -1573,7 +1789,7 @@ var REGISTERED_HOOKS = [
|
|
1573
1789
|
*/
|
1574
1790
|
'afterSheetRenamed',
|
1575
1791
|
/**
|
1576
|
-
*
|
1792
|
+
* Fired when a sheet is removed from the Formulas' engine instance.
|
1577
1793
|
*
|
1578
1794
|
* @since 9.0.0
|
1579
1795
|
* @event Hooks#afterSheetRemoved
|
@@ -2059,13 +2275,14 @@ var REGISTERED_HOOKS = [
|
|
2059
2275
|
* @param {*} cellValue Value of the cell.
|
2060
2276
|
*/
|
2061
2277
|
'modifyAutoColumnSizeSeed'];
|
2278
|
+
|
2062
2279
|
/**
|
2063
2280
|
* Template warning message for removed hooks.
|
2064
2281
|
*
|
2065
2282
|
* @type {string}
|
2066
2283
|
*/
|
2067
|
-
|
2068
2284
|
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."])));
|
2285
|
+
|
2069
2286
|
/**
|
2070
2287
|
* The list of the hooks which are removed from the API. The warning message is printed out in
|
2071
2288
|
* the developer console when the hook is used.
|
@@ -2075,10 +2292,9 @@ var REMOVED_MESSAGE = (0, _templateLiteralTag.toSingleLine)(_templateObject || (
|
|
2075
2292
|
*
|
2076
2293
|
* @type {Map<string, string>}
|
2077
2294
|
*/
|
2078
|
-
|
2079
2295
|
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']]);
|
2080
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
2081
2296
|
|
2297
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
2082
2298
|
/**
|
2083
2299
|
* The list of the hooks which are deprecated. The warning message is printed out in
|
2084
2300
|
* the developer console when the hook is used.
|
@@ -2098,20 +2314,17 @@ var REMOVED_HOOKS = new Map([['modifyRow', '8.0.0'], ['modifyCol', '8.0.0'], ['u
|
|
2098
2314
|
*
|
2099
2315
|
* @type {Map<string, string>}
|
2100
2316
|
*/
|
2101
|
-
|
2102
2317
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
2103
|
-
|
2104
2318
|
var DEPRECATED_HOOKS = new Map([['beforeAutofillInsidePopulate', 'The plugin hook "beforeAutofillInsidePopulate" is deprecated and will be removed in the next major release.']]);
|
2105
|
-
|
2106
2319
|
var Hooks = /*#__PURE__*/function () {
|
2107
2320
|
/**
|
2108
2321
|
*
|
2109
2322
|
*/
|
2110
2323
|
function Hooks() {
|
2111
2324
|
_classCallCheck(this, Hooks);
|
2112
|
-
|
2113
2325
|
this.globalBucket = this.createEmptyBucket();
|
2114
2326
|
}
|
2327
|
+
|
2115
2328
|
/**
|
2116
2329
|
* Returns a new object with empty handlers related to every registered hook name.
|
2117
2330
|
*
|
@@ -2130,40 +2343,37 @@ var Hooks = /*#__PURE__*/function () {
|
|
2130
2343
|
* }
|
2131
2344
|
* ```
|
2132
2345
|
*/
|
2133
|
-
|
2134
|
-
|
2135
2346
|
_createClass(Hooks, [{
|
2136
2347
|
key: "createEmptyBucket",
|
2137
2348
|
value: function createEmptyBucket() {
|
2138
|
-
var bucket = Object.create(null);
|
2349
|
+
var bucket = Object.create(null);
|
2139
2350
|
|
2351
|
+
// eslint-disable-next-line no-return-assign
|
2140
2352
|
(0, _array.arrayEach)(REGISTERED_HOOKS, function (hook) {
|
2141
2353
|
return bucket[hook] = [];
|
2142
2354
|
});
|
2143
2355
|
return bucket;
|
2144
2356
|
}
|
2357
|
+
|
2145
2358
|
/**
|
2146
2359
|
* Get hook bucket based on the context of the object or if argument is `undefined`, get the global hook bucket.
|
2147
2360
|
*
|
2148
2361
|
* @param {object} [context=null] A Handsontable instance.
|
2149
2362
|
* @returns {object} Returns a global or Handsontable instance bucket.
|
2150
2363
|
*/
|
2151
|
-
|
2152
2364
|
}, {
|
2153
2365
|
key: "getBucket",
|
2154
2366
|
value: function getBucket() {
|
2155
2367
|
var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
2156
|
-
|
2157
2368
|
if (context) {
|
2158
2369
|
if (!context.pluginHookBucket) {
|
2159
2370
|
context.pluginHookBucket = this.createEmptyBucket();
|
2160
2371
|
}
|
2161
|
-
|
2162
2372
|
return context.pluginHookBucket;
|
2163
2373
|
}
|
2164
|
-
|
2165
2374
|
return this.globalBucket;
|
2166
2375
|
}
|
2376
|
+
|
2167
2377
|
/**
|
2168
2378
|
* Adds a listener (globally or locally) to a specified hook name.
|
2169
2379
|
* If the `context` parameter is provided, the hook will be added only to the instance it references.
|
@@ -2192,14 +2402,11 @@ var Hooks = /*#__PURE__*/function () {
|
|
2192
2402
|
* Handsontable.hooks.add('beforeInit', [myCallback, anotherCallback]);
|
2193
2403
|
* ```
|
2194
2404
|
*/
|
2195
|
-
|
2196
2405
|
}, {
|
2197
2406
|
key: "add",
|
2198
2407
|
value: function add(key, callback) {
|
2199
2408
|
var _this = this;
|
2200
|
-
|
2201
2409
|
var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
2202
|
-
|
2203
2410
|
if (Array.isArray(callback)) {
|
2204
2411
|
(0, _array.arrayEach)(callback, function (c) {
|
2205
2412
|
return _this.add(key, c, context);
|
@@ -2211,24 +2418,18 @@ var Hooks = /*#__PURE__*/function () {
|
|
2211
2418
|
removedInVersion: REMOVED_HOOKS.get(key)
|
2212
2419
|
}));
|
2213
2420
|
}
|
2214
|
-
|
2215
2421
|
if (DEPRECATED_HOOKS.has(key)) {
|
2216
2422
|
(0, _console.warn)(DEPRECATED_HOOKS.get(key));
|
2217
2423
|
}
|
2218
|
-
|
2219
2424
|
var bucket = this.getBucket(context);
|
2220
|
-
|
2221
2425
|
if (typeof bucket[key] === 'undefined') {
|
2222
2426
|
this.register(key);
|
2223
2427
|
bucket[key] = [];
|
2224
2428
|
}
|
2225
|
-
|
2226
2429
|
callback.skip = false;
|
2227
|
-
|
2228
2430
|
if (bucket[key].indexOf(callback) === -1) {
|
2229
2431
|
// only add a hook if it has not already been added (adding the same hook twice is now silently ignored)
|
2230
2432
|
var foundInitialHook = false;
|
2231
|
-
|
2232
2433
|
if (callback.initialHook) {
|
2233
2434
|
(0, _array.arrayEach)(bucket[key], function (cb, i) {
|
2234
2435
|
if (cb.initialHook) {
|
@@ -2238,15 +2439,14 @@ var Hooks = /*#__PURE__*/function () {
|
|
2238
2439
|
}
|
2239
2440
|
});
|
2240
2441
|
}
|
2241
|
-
|
2242
2442
|
if (!foundInitialHook) {
|
2243
2443
|
bucket[key].push(callback);
|
2244
2444
|
}
|
2245
2445
|
}
|
2246
2446
|
}
|
2247
|
-
|
2248
2447
|
return this;
|
2249
2448
|
}
|
2449
|
+
|
2250
2450
|
/**
|
2251
2451
|
* Adds a listener to a specified hook. After the hook runs this listener will be automatically removed from the bucket.
|
2252
2452
|
*
|
@@ -2260,14 +2460,11 @@ var Hooks = /*#__PURE__*/function () {
|
|
2260
2460
|
* Handsontable.hooks.once('beforeInit', myCallback, hotInstance);
|
2261
2461
|
* ```
|
2262
2462
|
*/
|
2263
|
-
|
2264
2463
|
}, {
|
2265
2464
|
key: "once",
|
2266
2465
|
value: function once(key, callback) {
|
2267
2466
|
var _this2 = this;
|
2268
|
-
|
2269
2467
|
var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
2270
|
-
|
2271
2468
|
if (Array.isArray(callback)) {
|
2272
2469
|
(0, _array.arrayEach)(callback, function (c) {
|
2273
2470
|
return _this2.once(key, c, context);
|
@@ -2277,6 +2474,7 @@ var Hooks = /*#__PURE__*/function () {
|
|
2277
2474
|
this.add(key, callback, context);
|
2278
2475
|
}
|
2279
2476
|
}
|
2477
|
+
|
2280
2478
|
/**
|
2281
2479
|
* 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.
|
2282
2480
|
*
|
@@ -2291,22 +2489,20 @@ var Hooks = /*#__PURE__*/function () {
|
|
2291
2489
|
* Handsontable.hooks.remove('beforeInit', myCallback);
|
2292
2490
|
* ```
|
2293
2491
|
*/
|
2294
|
-
|
2295
2492
|
}, {
|
2296
2493
|
key: "remove",
|
2297
2494
|
value: function remove(key, callback) {
|
2298
2495
|
var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
2299
2496
|
var bucket = this.getBucket(context);
|
2300
|
-
|
2301
2497
|
if (typeof bucket[key] !== 'undefined') {
|
2302
2498
|
if (bucket[key].indexOf(callback) >= 0) {
|
2303
2499
|
callback.skip = true;
|
2304
2500
|
return true;
|
2305
2501
|
}
|
2306
2502
|
}
|
2307
|
-
|
2308
2503
|
return false;
|
2309
2504
|
}
|
2505
|
+
|
2310
2506
|
/**
|
2311
2507
|
* Checks whether there are any registered listeners for the provided hook name.
|
2312
2508
|
* If the `context` parameter is provided, it only checks for listeners assigned to the given Handsontable instance.
|
@@ -2315,7 +2511,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2315
2511
|
* @param {object} [context=null] A Handsontable instance.
|
2316
2512
|
* @returns {boolean} `true` for success, `false` otherwise.
|
2317
2513
|
*/
|
2318
|
-
|
2319
2514
|
}, {
|
2320
2515
|
key: "has",
|
2321
2516
|
value: function has(key) {
|
@@ -2323,6 +2518,7 @@ var Hooks = /*#__PURE__*/function () {
|
|
2323
2518
|
var bucket = this.getBucket(context);
|
2324
2519
|
return !!(bucket[key] !== void 0 && bucket[key].length);
|
2325
2520
|
}
|
2521
|
+
|
2326
2522
|
/**
|
2327
2523
|
* Runs all local and global callbacks assigned to the hook identified by the `key` parameter.
|
2328
2524
|
* It returns either a return value from the last called callback or the first parameter (`p1`) passed to the `run` function.
|
@@ -2343,7 +2539,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2343
2539
|
* Handsontable.hooks.run(hot, 'beforeInit');
|
2344
2540
|
* ```
|
2345
2541
|
*/
|
2346
|
-
|
2347
2542
|
}, {
|
2348
2543
|
key: "run",
|
2349
2544
|
value: function run(context, key, p1, p2, p3, p4, p5, p6) {
|
@@ -2351,66 +2546,53 @@ var Hooks = /*#__PURE__*/function () {
|
|
2351
2546
|
var globalHandlers = this.globalBucket[key];
|
2352
2547
|
var length = globalHandlers ? globalHandlers.length : 0;
|
2353
2548
|
var index = 0;
|
2354
|
-
|
2355
2549
|
if (length) {
|
2356
2550
|
// Do not optimise this loop with arrayEach or arrow function! If you do You'll decrease perf because of GC.
|
2357
2551
|
while (index < length) {
|
2358
2552
|
if (!globalHandlers[index] || globalHandlers[index].skip) {
|
2359
2553
|
index += 1;
|
2360
2554
|
/* eslint-disable no-continue */
|
2361
|
-
|
2362
2555
|
continue;
|
2363
2556
|
}
|
2364
|
-
|
2365
2557
|
var res = (0, _function.fastCall)(globalHandlers[index], context, p1, p2, p3, p4, p5, p6);
|
2366
|
-
|
2367
2558
|
if (res !== void 0) {
|
2368
2559
|
// eslint-disable-next-line no-param-reassign
|
2369
2560
|
p1 = res;
|
2370
2561
|
}
|
2371
|
-
|
2372
2562
|
if (globalHandlers[index] && globalHandlers[index].runOnce) {
|
2373
2563
|
this.remove(key, globalHandlers[index]);
|
2374
2564
|
}
|
2375
|
-
|
2376
2565
|
index += 1;
|
2377
2566
|
}
|
2378
2567
|
}
|
2379
2568
|
}
|
2380
2569
|
{
|
2381
2570
|
var localHandlers = this.getBucket(context)[key];
|
2382
|
-
|
2383
2571
|
var _length = localHandlers ? localHandlers.length : 0;
|
2384
|
-
|
2385
2572
|
var _index = 0;
|
2386
|
-
|
2387
2573
|
if (_length) {
|
2388
2574
|
// Do not optimise this loop with arrayEach or arrow function! If you do You'll decrease perf because of GC.
|
2389
2575
|
while (_index < _length) {
|
2390
2576
|
if (!localHandlers[_index] || localHandlers[_index].skip) {
|
2391
2577
|
_index += 1;
|
2392
2578
|
/* eslint-disable no-continue */
|
2393
|
-
|
2394
2579
|
continue;
|
2395
2580
|
}
|
2396
|
-
|
2397
2581
|
var _res = (0, _function.fastCall)(localHandlers[_index], context, p1, p2, p3, p4, p5, p6);
|
2398
|
-
|
2399
2582
|
if (_res !== void 0) {
|
2400
2583
|
// eslint-disable-next-line no-param-reassign
|
2401
2584
|
p1 = _res;
|
2402
2585
|
}
|
2403
|
-
|
2404
2586
|
if (localHandlers[_index] && localHandlers[_index].runOnce) {
|
2405
2587
|
this.remove(key, localHandlers[_index], context);
|
2406
2588
|
}
|
2407
|
-
|
2408
2589
|
_index += 1;
|
2409
2590
|
}
|
2410
2591
|
}
|
2411
2592
|
}
|
2412
2593
|
return p1;
|
2413
2594
|
}
|
2595
|
+
|
2414
2596
|
/**
|
2415
2597
|
* Destroy all listeners connected to the context. If no context is provided, the global listeners will be destroyed.
|
2416
2598
|
*
|
@@ -2424,7 +2606,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2424
2606
|
* Handsontable.hooks.destroy(hotInstance);
|
2425
2607
|
* ```
|
2426
2608
|
*/
|
2427
|
-
|
2428
2609
|
}, {
|
2429
2610
|
key: "destroy",
|
2430
2611
|
value: function destroy() {
|
@@ -2434,6 +2615,7 @@ var Hooks = /*#__PURE__*/function () {
|
|
2434
2615
|
return bucket[key].length = 0;
|
2435
2616
|
});
|
2436
2617
|
}
|
2618
|
+
|
2437
2619
|
/**
|
2438
2620
|
* Registers a hook name (adds it to the list of the known hook names). Used by plugins.
|
2439
2621
|
* It is not necessary to call register, but if you use it, your plugin hook will be used returned by
|
@@ -2446,7 +2628,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2446
2628
|
* Handsontable.hooks.register('myHook');
|
2447
2629
|
* ```
|
2448
2630
|
*/
|
2449
|
-
|
2450
2631
|
}, {
|
2451
2632
|
key: "register",
|
2452
2633
|
value: function register(key) {
|
@@ -2454,6 +2635,7 @@ var Hooks = /*#__PURE__*/function () {
|
|
2454
2635
|
REGISTERED_HOOKS.push(key);
|
2455
2636
|
}
|
2456
2637
|
}
|
2638
|
+
|
2457
2639
|
/**
|
2458
2640
|
* Deregisters a hook name (removes it from the list of known hook names).
|
2459
2641
|
*
|
@@ -2464,7 +2646,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2464
2646
|
* Handsontable.hooks.deregister('myHook');
|
2465
2647
|
* ```
|
2466
2648
|
*/
|
2467
|
-
|
2468
2649
|
}, {
|
2469
2650
|
key: "deregister",
|
2470
2651
|
value: function deregister(key) {
|
@@ -2472,6 +2653,7 @@ var Hooks = /*#__PURE__*/function () {
|
|
2472
2653
|
REGISTERED_HOOKS.splice(REGISTERED_HOOKS.indexOf(key), 1);
|
2473
2654
|
}
|
2474
2655
|
}
|
2656
|
+
|
2475
2657
|
/**
|
2476
2658
|
* Returns a boolean value depending on if a hook by such name has been removed or deprecated.
|
2477
2659
|
*
|
@@ -2486,12 +2668,12 @@ var Hooks = /*#__PURE__*/function () {
|
|
2486
2668
|
* true
|
2487
2669
|
* ```
|
2488
2670
|
*/
|
2489
|
-
|
2490
2671
|
}, {
|
2491
2672
|
key: "isDeprecated",
|
2492
2673
|
value: function isDeprecated(hookName) {
|
2493
2674
|
return DEPRECATED_HOOKS.has(hookName) || REMOVED_HOOKS.has(hookName);
|
2494
2675
|
}
|
2676
|
+
|
2495
2677
|
/**
|
2496
2678
|
* Returns a boolean depending on if a hook by such name has been registered.
|
2497
2679
|
*
|
@@ -2505,12 +2687,12 @@ var Hooks = /*#__PURE__*/function () {
|
|
2505
2687
|
* true
|
2506
2688
|
* ```
|
2507
2689
|
*/
|
2508
|
-
|
2509
2690
|
}, {
|
2510
2691
|
key: "isRegistered",
|
2511
2692
|
value: function isRegistered(hookName) {
|
2512
2693
|
return REGISTERED_HOOKS.indexOf(hookName) >= 0;
|
2513
2694
|
}
|
2695
|
+
|
2514
2696
|
/**
|
2515
2697
|
* Returns an array of registered hooks.
|
2516
2698
|
*
|
@@ -2532,7 +2714,6 @@ var Hooks = /*#__PURE__*/function () {
|
|
2532
2714
|
* ]
|
2533
2715
|
* ```
|
2534
2716
|
*/
|
2535
|
-
|
2536
2717
|
}, {
|
2537
2718
|
key: "getRegistered",
|
2538
2719
|
value: function getRegistered() {
|
@@ -2544,18 +2725,15 @@ var Hooks = /*#__PURE__*/function () {
|
|
2544
2725
|
return getGlobalSingleton();
|
2545
2726
|
}
|
2546
2727
|
}]);
|
2547
|
-
|
2548
2728
|
return Hooks;
|
2549
2729
|
}();
|
2550
|
-
|
2551
2730
|
var globalSingleton = new Hooks();
|
2731
|
+
|
2552
2732
|
/**
|
2553
2733
|
* @returns {Hooks}
|
2554
2734
|
*/
|
2555
|
-
|
2556
2735
|
function getGlobalSingleton() {
|
2557
2736
|
return globalSingleton;
|
2558
2737
|
}
|
2559
|
-
|
2560
2738
|
var _default = Hooks;
|
2561
2739
|
exports.default = _default;
|