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
@@ -1,29 +1,16 @@
|
|
1
1
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
2
|
-
|
3
2
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
4
|
-
|
5
3
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
6
|
-
|
7
4
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
8
|
-
|
9
5
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
10
|
-
|
11
6
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
12
|
-
|
13
7
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
14
|
-
|
15
8
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
16
|
-
|
17
9
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
18
|
-
|
19
10
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
20
|
-
|
21
11
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
22
|
-
|
23
12
|
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
24
|
-
|
25
13
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
26
|
-
|
27
14
|
import "core-js/modules/es.array.concat.js";
|
28
15
|
import "core-js/modules/es.object.to-string.js";
|
29
16
|
import "core-js/modules/web.dom-collections.for-each.js";
|
@@ -52,47 +39,26 @@ import "core-js/modules/es.regexp.exec.js";
|
|
52
39
|
import "core-js/modules/es.object.keys.js";
|
53
40
|
import "core-js/modules/es.array.filter.js";
|
54
41
|
import "core-js/modules/es.object.get-own-property-descriptors.js";
|
55
|
-
|
56
42
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
57
|
-
|
58
43
|
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); } }
|
59
|
-
|
60
44
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
61
|
-
|
62
45
|
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
|
63
|
-
|
64
46
|
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
65
|
-
|
66
47
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
67
|
-
|
68
48
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
69
|
-
|
70
49
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
71
|
-
|
72
50
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
73
|
-
|
74
51
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
75
|
-
|
76
52
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
77
|
-
|
78
53
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
79
|
-
|
80
54
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
81
|
-
|
82
55
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
83
|
-
|
84
56
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
85
|
-
|
86
57
|
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
87
|
-
|
88
58
|
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
89
|
-
|
90
59
|
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
91
|
-
|
92
60
|
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
93
|
-
|
94
61
|
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
95
|
-
|
96
62
|
import { BasePlugin } from "../base/index.mjs";
|
97
63
|
import staticRegister from "../../utils/staticRegister.mjs";
|
98
64
|
import { error, warn } from "../../helpers/console.mjs";
|
@@ -112,14 +78,16 @@ Hooks.getSingleton().register('afterNamedExpressionRemoved');
|
|
112
78
|
Hooks.getSingleton().register('afterSheetAdded');
|
113
79
|
Hooks.getSingleton().register('afterSheetRemoved');
|
114
80
|
Hooks.getSingleton().register('afterSheetRenamed');
|
115
|
-
Hooks.getSingleton().register('afterFormulasValuesUpdate');
|
81
|
+
Hooks.getSingleton().register('afterFormulasValuesUpdate');
|
82
|
+
|
83
|
+
// This function will be used for detecting changes coming from the `UndoRedo` plugin. This kind of change won't be
|
116
84
|
// handled by whole body of listeners and therefore won't change undo/redo stack inside engine provided by HyperFormula.
|
117
85
|
// HyperFormula's `undo` and `redo` methods will do it instead. Please keep in mind that undo/redo stacks inside
|
118
86
|
// instances of Handsontable and HyperFormula should be synced (number of actions should be the same).
|
119
|
-
|
120
87
|
var isBlockedSource = function isBlockedSource(source) {
|
121
88
|
return source === 'UndoRedo.undo' || source === 'UndoRedo.redo' || source === 'auto';
|
122
89
|
};
|
90
|
+
|
123
91
|
/**
|
124
92
|
* This plugin allows you to perform Excel-like calculations in your business applications. It does it by an
|
125
93
|
* integration with our other product, [HyperFormula](https://github.com/handsontable/hyperformula/), which is a
|
@@ -130,78 +98,54 @@ var isBlockedSource = function isBlockedSource(source) {
|
|
130
98
|
* @plugin Formulas
|
131
99
|
* @class Formulas
|
132
100
|
*/
|
133
|
-
|
134
|
-
|
135
101
|
var _internalOperationPending = /*#__PURE__*/new WeakMap();
|
136
|
-
|
137
102
|
var _hotWasInitializedWithEmptyData = /*#__PURE__*/new WeakMap();
|
138
|
-
|
139
103
|
var _engineListeners = /*#__PURE__*/new WeakMap();
|
140
|
-
|
141
104
|
export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
142
105
|
_inherits(Formulas, _BasePlugin);
|
143
|
-
|
144
106
|
var _super = _createSuper(Formulas);
|
145
|
-
|
146
107
|
function Formulas() {
|
147
108
|
var _this;
|
148
|
-
|
149
109
|
_classCallCheck(this, Formulas);
|
150
|
-
|
151
110
|
for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {
|
152
111
|
_args[_key] = arguments[_key];
|
153
112
|
}
|
154
|
-
|
155
113
|
_this = _super.call.apply(_super, [this].concat(_args));
|
156
|
-
|
157
114
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _internalOperationPending, {
|
158
115
|
writable: true,
|
159
116
|
value: false
|
160
117
|
});
|
161
|
-
|
162
118
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _hotWasInitializedWithEmptyData, {
|
163
119
|
writable: true,
|
164
120
|
value: false
|
165
121
|
});
|
166
|
-
|
167
122
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _engineListeners, {
|
168
123
|
writable: true,
|
169
124
|
value: [['valuesUpdated', function () {
|
170
125
|
var _this2;
|
171
|
-
|
172
126
|
return (_this2 = _this).onEngineValuesUpdated.apply(_this2, arguments);
|
173
127
|
}], ['namedExpressionAdded', function () {
|
174
128
|
var _this3;
|
175
|
-
|
176
129
|
return (_this3 = _this).onEngineNamedExpressionsAdded.apply(_this3, arguments);
|
177
130
|
}], ['namedExpressionRemoved', function () {
|
178
131
|
var _this4;
|
179
|
-
|
180
132
|
return (_this4 = _this).onEngineNamedExpressionsRemoved.apply(_this4, arguments);
|
181
133
|
}], ['sheetAdded', function () {
|
182
134
|
var _this5;
|
183
|
-
|
184
135
|
return (_this5 = _this).onEngineSheetAdded.apply(_this5, arguments);
|
185
136
|
}], ['sheetRenamed', function () {
|
186
137
|
var _this6;
|
187
|
-
|
188
138
|
return (_this6 = _this).onEngineSheetRenamed.apply(_this6, arguments);
|
189
139
|
}], ['sheetRemoved', function () {
|
190
140
|
var _this7;
|
191
|
-
|
192
141
|
return (_this7 = _this).onEngineSheetRemoved.apply(_this7, arguments);
|
193
142
|
}]]
|
194
143
|
});
|
195
|
-
|
196
144
|
_defineProperty(_assertThisInitialized(_this), "staticRegister", staticRegister('formulas'));
|
197
|
-
|
198
145
|
_defineProperty(_assertThisInitialized(_this), "engine", null);
|
199
|
-
|
200
146
|
_defineProperty(_assertThisInitialized(_this), "sheetName", null);
|
201
|
-
|
202
147
|
return _this;
|
203
148
|
}
|
204
|
-
|
205
149
|
_createClass(Formulas, [{
|
206
150
|
key: "sheetId",
|
207
151
|
get:
|
@@ -213,49 +157,44 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
213
157
|
function get() {
|
214
158
|
return this.sheetName === null ? null : this.engine.getSheetId(this.sheetName);
|
215
159
|
}
|
160
|
+
|
216
161
|
/**
|
217
162
|
* Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
|
218
|
-
* hook and if it returns `true`
|
163
|
+
* hook and if it returns `true` then the {@link Formulas#enablePlugin} method is called.
|
219
164
|
*
|
220
165
|
* @returns {boolean}
|
221
166
|
*/
|
222
|
-
|
223
167
|
}, {
|
224
168
|
key: "isEnabled",
|
225
169
|
value: function isEnabled() {
|
226
170
|
/* eslint-disable no-unneeded-ternary */
|
227
171
|
return this.hot.getSettings()[PLUGIN_KEY] ? true : false;
|
228
172
|
}
|
173
|
+
|
229
174
|
/**
|
230
175
|
* Enables the plugin functionality for this Handsontable instance.
|
231
176
|
*/
|
232
|
-
|
233
177
|
}, {
|
234
178
|
key: "enablePlugin",
|
235
179
|
value: function enablePlugin() {
|
236
180
|
var _setupEngine,
|
237
|
-
|
238
|
-
|
181
|
+
_this8 = this;
|
239
182
|
if (this.enabled) {
|
240
183
|
return;
|
241
184
|
}
|
242
|
-
|
243
185
|
this.engine = (_setupEngine = setupEngine(this.hot)) !== null && _setupEngine !== void 0 ? _setupEngine : this.engine;
|
244
|
-
|
245
186
|
if (!this.engine) {
|
246
187
|
warn('Missing the required `engine` key in the Formulas settings. Please fill it with either an' + ' engine class or an engine instance.');
|
247
188
|
return;
|
248
|
-
}
|
249
|
-
|
189
|
+
}
|
250
190
|
|
191
|
+
// Useful for disabling -> enabling the plugin using `updateSettings` or the API.
|
251
192
|
if (this.sheetName !== null && !this.engine.doesSheetExist(this.sheetName)) {
|
252
193
|
var newSheetName = this.addSheet(this.sheetName, this.hot.getSourceDataArray());
|
253
|
-
|
254
194
|
if (newSheetName !== false) {
|
255
195
|
this.sheetName = newSheetName;
|
256
196
|
}
|
257
197
|
}
|
258
|
-
|
259
198
|
this.addHook('beforeLoadData', function () {
|
260
199
|
return _this8.onBeforeLoadData.apply(_this8, arguments);
|
261
200
|
});
|
@@ -303,23 +242,23 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
303
242
|
});
|
304
243
|
this.addHook('afterRemoveCol', function () {
|
305
244
|
return _this8.onAfterRemoveCol.apply(_this8, arguments);
|
306
|
-
});
|
245
|
+
});
|
307
246
|
|
247
|
+
// Handling undo actions on data just using HyperFormula's UndoRedo mechanism
|
308
248
|
this.addHook('beforeUndo', function (action) {
|
309
249
|
// TODO: Move action isn't handled by HyperFormula.
|
310
250
|
if ((action === null || action === void 0 ? void 0 : action.actionType) === ROW_MOVE_UNDO_REDO_NAME) {
|
311
251
|
return;
|
312
252
|
}
|
313
|
-
|
314
253
|
_this8.engine.undo();
|
315
|
-
});
|
254
|
+
});
|
316
255
|
|
256
|
+
// Handling redo actions on data just using HyperFormula's UndoRedo mechanism
|
317
257
|
this.addHook('beforeRedo', function (action) {
|
318
258
|
// TODO: Move action isn't handled by HyperFormula.
|
319
259
|
if ((action === null || action === void 0 ? void 0 : action.actionType) === ROW_MOVE_UNDO_REDO_NAME) {
|
320
260
|
return;
|
321
261
|
}
|
322
|
-
|
323
262
|
_this8.engine.redo();
|
324
263
|
});
|
325
264
|
this.addHook('afterDetachChild', function () {
|
@@ -328,96 +267,81 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
328
267
|
this.addHook('beforeAutofill', function () {
|
329
268
|
return _this8.onBeforeAutofill.apply(_this8, arguments);
|
330
269
|
});
|
331
|
-
|
332
270
|
_classPrivateFieldGet(this, _engineListeners).forEach(function (_ref) {
|
333
271
|
var _ref2 = _slicedToArray(_ref, 2),
|
334
|
-
|
335
|
-
|
336
|
-
|
272
|
+
eventName = _ref2[0],
|
273
|
+
listener = _ref2[1];
|
337
274
|
return _this8.engine.on(eventName, listener);
|
338
275
|
});
|
339
|
-
|
340
276
|
_get(_getPrototypeOf(Formulas.prototype), "enablePlugin", this).call(this);
|
341
277
|
}
|
278
|
+
|
342
279
|
/**
|
343
280
|
* Disables the plugin functionality for this Handsontable instance.
|
344
281
|
*/
|
345
|
-
|
346
282
|
}, {
|
347
283
|
key: "disablePlugin",
|
348
284
|
value: function disablePlugin() {
|
349
285
|
var _this9 = this;
|
350
|
-
|
351
286
|
_classPrivateFieldGet(this, _engineListeners).forEach(function (_ref3) {
|
352
287
|
var _ref4 = _slicedToArray(_ref3, 2),
|
353
|
-
|
354
|
-
|
355
|
-
|
288
|
+
eventName = _ref4[0],
|
289
|
+
listener = _ref4[1];
|
356
290
|
return _this9.engine.off(eventName, listener);
|
357
291
|
});
|
358
|
-
|
359
292
|
unregisterEngine(this.engine, this.hot);
|
360
293
|
this.engine = null;
|
361
|
-
|
362
294
|
_get(_getPrototypeOf(Formulas.prototype), "disablePlugin", this).call(this);
|
363
295
|
}
|
296
|
+
|
364
297
|
/**
|
365
298
|
* Triggered on `updateSettings`.
|
366
299
|
*
|
367
300
|
* @private
|
368
301
|
* @param {object} newSettings New set of settings passed to the `updateSettings` method.
|
369
302
|
*/
|
370
|
-
|
371
303
|
}, {
|
372
304
|
key: "updatePlugin",
|
373
305
|
value: function updatePlugin(newSettings) {
|
374
306
|
this.engine.updateConfig(getEngineSettingsWithOverrides(this.hot.getSettings()));
|
375
307
|
var pluginSettings = this.hot.getSettings()[PLUGIN_KEY];
|
376
|
-
|
377
308
|
if (isDefined(pluginSettings) && isDefined(pluginSettings.sheetName) && pluginSettings.sheetName !== this.sheetName) {
|
378
309
|
this.switchSheet(pluginSettings.sheetName);
|
379
|
-
}
|
380
|
-
// new sheet using the currently used data. Otherwise, it will be handled by the `afterLoadData` call.
|
381
|
-
|
310
|
+
}
|
382
311
|
|
312
|
+
// If no data was passed to the `updateSettings` method and no sheet is connected to the instance -> create a
|
313
|
+
// new sheet using the currently used data. Otherwise, it will be handled by the `afterLoadData` call.
|
383
314
|
if (!newSettings.data && this.sheetName === null) {
|
384
315
|
var sheetName = this.hot.getSettings()[PLUGIN_KEY].sheetName;
|
385
|
-
|
386
316
|
if (sheetName && this.engine.doesSheetExist(sheetName)) {
|
387
317
|
this.switchSheet(this.sheetName);
|
388
318
|
} else {
|
389
319
|
this.sheetName = this.addSheet(sheetName !== null && sheetName !== void 0 ? sheetName : void 0, this.hot.getSourceDataArray());
|
390
320
|
}
|
391
321
|
}
|
392
|
-
|
393
322
|
_get(_getPrototypeOf(Formulas.prototype), "updatePlugin", this).call(this, newSettings);
|
394
323
|
}
|
324
|
+
|
395
325
|
/**
|
396
326
|
* Destroys the plugin instance.
|
397
327
|
*/
|
398
|
-
|
399
328
|
}, {
|
400
329
|
key: "destroy",
|
401
330
|
value: function destroy() {
|
402
331
|
var _this10 = this;
|
403
|
-
|
404
332
|
_classPrivateFieldGet(this, _engineListeners).forEach(function (_ref5) {
|
405
333
|
var _this10$engine;
|
406
|
-
|
407
334
|
var _ref6 = _slicedToArray(_ref5, 2),
|
408
|
-
|
409
|
-
|
410
|
-
|
335
|
+
eventName = _ref6[0],
|
336
|
+
listener = _ref6[1];
|
411
337
|
return (_this10$engine = _this10.engine) === null || _this10$engine === void 0 ? void 0 : _this10$engine.off(eventName, listener);
|
412
338
|
});
|
413
|
-
|
414
339
|
_classPrivateFieldSet(this, _engineListeners, null);
|
415
|
-
|
416
340
|
unregisterEngine(this.engine, this.hot);
|
417
341
|
this.engine = null;
|
418
|
-
|
419
342
|
_get(_getPrototypeOf(Formulas.prototype), "destroy", this).call(this);
|
420
343
|
}
|
344
|
+
|
421
345
|
/**
|
422
346
|
* Helper function for `toPhysicalRowPosition` and `toPhysicalColumnPosition`.
|
423
347
|
*
|
@@ -430,7 +354,6 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
430
354
|
* `toPhysical` alias.
|
431
355
|
* @returns {*}
|
432
356
|
*/
|
433
|
-
|
434
357
|
}, {
|
435
358
|
key: "getPhysicalIndexPosition",
|
436
359
|
value: function getPhysicalIndexPosition(visualIndex, physicalIndex, entriesCount, sourceEntriesCount, contained) {
|
@@ -439,9 +362,9 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
439
362
|
return sourceEntriesCount + (visualIndex - entriesCount);
|
440
363
|
}
|
441
364
|
}
|
442
|
-
|
443
365
|
return physicalIndex;
|
444
366
|
}
|
367
|
+
|
445
368
|
/**
|
446
369
|
* Returns the physical row index. The difference between this and Core's `toPhysical` is that it doesn't return
|
447
370
|
* `null` on rows with indexes higher than the number of rows.
|
@@ -452,13 +375,13 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
452
375
|
* `toPhysical` alias.
|
453
376
|
* @returns {number} The physical row index.
|
454
377
|
*/
|
455
|
-
|
456
378
|
}, {
|
457
379
|
key: "toPhysicalRowPosition",
|
458
380
|
value: function toPhysicalRowPosition(row) {
|
459
381
|
var contained = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
460
382
|
return this.getPhysicalIndexPosition(row, this.hot.toPhysicalRow(row), this.hot.countRows(), this.hot.countSourceRows(), contained);
|
461
383
|
}
|
384
|
+
|
462
385
|
/**
|
463
386
|
* Returns the physical column index. The difference between this and Core's `toPhysical` is that it doesn't return
|
464
387
|
* `null` on columns with indexes higher than the number of columns.
|
@@ -469,13 +392,13 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
469
392
|
* `toPhysical` alias.
|
470
393
|
* @returns {number} The physical column index.
|
471
394
|
*/
|
472
|
-
|
473
395
|
}, {
|
474
396
|
key: "toPhysicalColumnPosition",
|
475
397
|
value: function toPhysicalColumnPosition(column) {
|
476
398
|
var contained = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
477
399
|
return this.getPhysicalIndexPosition(column, this.hot.toPhysicalColumn(column), this.hot.countCols(), this.hot.countSourceCols(), contained);
|
478
400
|
}
|
401
|
+
|
479
402
|
/**
|
480
403
|
* Add a sheet to the shared HyperFormula instance.
|
481
404
|
*
|
@@ -486,7 +409,6 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
486
409
|
* @returns {boolean|string} `false` if the data format is unusable or it is impossible to add a new sheet to the
|
487
410
|
* engine, the created sheet name otherwise.
|
488
411
|
*/
|
489
|
-
|
490
412
|
}, {
|
491
413
|
key: "addSheet",
|
492
414
|
value: function addSheet(sheetName, sheetData) {
|
@@ -494,32 +416,28 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
494
416
|
warn('The provided data should be an array of arrays.');
|
495
417
|
return false;
|
496
418
|
}
|
497
|
-
|
498
419
|
if (sheetName !== void 0 && sheetName !== null && this.engine.doesSheetExist(sheetName)) {
|
499
420
|
warn('Sheet with the provided name already exists.');
|
500
421
|
return false;
|
501
422
|
}
|
502
|
-
|
503
423
|
try {
|
504
424
|
var actualSheetName = this.engine.addSheet(sheetName !== null && sheetName !== void 0 ? sheetName : void 0);
|
505
|
-
|
506
425
|
if (sheetData) {
|
507
426
|
this.engine.setSheetContent(this.engine.getSheetId(actualSheetName), sheetData);
|
508
427
|
}
|
509
|
-
|
510
428
|
return actualSheetName;
|
511
429
|
} catch (e) {
|
512
430
|
warn(e.message);
|
513
431
|
return false;
|
514
432
|
}
|
515
433
|
}
|
434
|
+
|
516
435
|
/**
|
517
436
|
* Switch the sheet used as data in the Handsontable instance (it loads the data from the shared HyperFormula
|
518
437
|
* instance).
|
519
438
|
*
|
520
439
|
* @param {string} sheetName Sheet name used in the shared HyperFormula instance.
|
521
440
|
*/
|
522
|
-
|
523
441
|
}, {
|
524
442
|
key: "switchSheet",
|
525
443
|
value: function switchSheet(sheetName) {
|
@@ -527,14 +445,13 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
527
445
|
error("The sheet named `".concat(sheetName, "` does not exist, switch aborted."));
|
528
446
|
return;
|
529
447
|
}
|
530
|
-
|
531
448
|
this.sheetName = sheetName;
|
532
449
|
var serialized = this.engine.getSheetSerialized(this.sheetId);
|
533
|
-
|
534
450
|
if (serialized.length > 0) {
|
535
451
|
this.hot.loadData(serialized, "".concat(toUpperCaseFirst(PLUGIN_KEY), ".switchSheet"));
|
536
452
|
}
|
537
453
|
}
|
454
|
+
|
538
455
|
/**
|
539
456
|
* Get the cell type under specified visual coordinates.
|
540
457
|
*
|
@@ -543,14 +460,12 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
543
460
|
* @param {number} [sheet] The target sheet id, defaults to the current sheet.
|
544
461
|
* @returns {string} Possible values: 'FORMULA' | 'VALUE' | 'ARRAYFORMULA' | 'EMPTY'.
|
545
462
|
*/
|
546
|
-
|
547
463
|
}, {
|
548
464
|
key: "getCellType",
|
549
465
|
value: function getCellType(row, column) {
|
550
466
|
var sheet = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.sheetId;
|
551
467
|
var physicalRow = this.hot.toPhysicalRow(row);
|
552
468
|
var physicalColumn = this.hot.toPhysicalColumn(column);
|
553
|
-
|
554
469
|
if (physicalRow !== null && physicalColumn !== null) {
|
555
470
|
return this.engine.getCellType({
|
556
471
|
sheet: sheet,
|
@@ -562,6 +477,7 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
562
477
|
return 'EMPTY';
|
563
478
|
}
|
564
479
|
}
|
480
|
+
|
565
481
|
/**
|
566
482
|
* Returns `true` if under specified visual coordinates is formula.
|
567
483
|
*
|
@@ -570,24 +486,22 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
570
486
|
* @param {number} [sheet] The target sheet id, defaults to the current sheet.
|
571
487
|
* @returns {boolean}
|
572
488
|
*/
|
573
|
-
|
574
489
|
}, {
|
575
490
|
key: "isFormulaCellType",
|
576
491
|
value: function isFormulaCellType(row, column) {
|
577
492
|
var sheet = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.sheetId;
|
578
493
|
var physicalRow = this.hot.toPhysicalRow(row);
|
579
494
|
var physicalColumn = this.hot.toPhysicalColumn(column);
|
580
|
-
|
581
495
|
if (physicalRow === null || physicalColumn === null) {
|
582
496
|
return false;
|
583
497
|
}
|
584
|
-
|
585
498
|
return this.engine.doesCellHaveFormula({
|
586
499
|
sheet: sheet,
|
587
500
|
row: physicalRow,
|
588
501
|
col: physicalColumn
|
589
502
|
});
|
590
503
|
}
|
504
|
+
|
591
505
|
/**
|
592
506
|
* Renders dependent sheets (handsontable instances) based on the changes - list of the
|
593
507
|
* recalculated dependent cells.
|
@@ -596,20 +510,16 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
596
510
|
* @param {object[]} dependentCells The values and location of applied changes within HF engine.
|
597
511
|
* @param {boolean} [renderSelf] `true` if it's supposed to render itself, `false` otherwise.
|
598
512
|
*/
|
599
|
-
|
600
513
|
}, {
|
601
514
|
key: "renderDependentSheets",
|
602
515
|
value: function renderDependentSheets(dependentCells) {
|
603
516
|
var _this11 = this;
|
604
|
-
|
605
517
|
var renderSelf = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
606
518
|
var affectedSheetIds = new Set();
|
607
519
|
dependentCells.forEach(function (change) {
|
608
520
|
var _change$address;
|
609
|
-
|
610
521
|
// For the Named expression the address is empty, hence the `sheetId` is undefined.
|
611
522
|
var sheetId = change === null || change === void 0 ? void 0 : (_change$address = change.address) === null || _change$address === void 0 ? void 0 : _change$address.sheet;
|
612
|
-
|
613
523
|
if (sheetId !== void 0) {
|
614
524
|
if (!affectedSheetIds.has(sheetId)) {
|
615
525
|
affectedSheetIds.add(sheetId);
|
@@ -619,12 +529,12 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
619
529
|
getRegisteredHotInstances(this.engine).forEach(function (relatedHot, sheetId) {
|
620
530
|
if ((renderSelf || sheetId !== _this11.sheetId) && affectedSheetIds.has(sheetId)) {
|
621
531
|
var _relatedHot$view;
|
622
|
-
|
623
532
|
relatedHot.render();
|
624
533
|
(_relatedHot$view = relatedHot.view) === null || _relatedHot$view === void 0 ? void 0 : _relatedHot$view.adjustElementsSize();
|
625
534
|
}
|
626
535
|
});
|
627
536
|
}
|
537
|
+
|
628
538
|
/**
|
629
539
|
* Validates dependent cells based on the cells that are modified by the change.
|
630
540
|
*
|
@@ -632,59 +542,55 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
632
542
|
* @param {object[]} dependentCells The values and location of applied changes within HF engine.
|
633
543
|
* @param {object[]} [changedCells] The values and location of applied changes by developer (through API or UI).
|
634
544
|
*/
|
635
|
-
|
636
545
|
}, {
|
637
546
|
key: "validateDependentCells",
|
638
547
|
value: function validateDependentCells(dependentCells) {
|
639
548
|
var _this12 = this;
|
640
|
-
|
641
549
|
var changedCells = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
642
|
-
|
643
550
|
var stringifyAddress = function stringifyAddress(change) {
|
644
551
|
var _change$address2;
|
645
|
-
|
646
552
|
var _ref7 = (_change$address2 = change === null || change === void 0 ? void 0 : change.address) !== null && _change$address2 !== void 0 ? _change$address2 : {},
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
553
|
+
row = _ref7.row,
|
554
|
+
col = _ref7.col,
|
555
|
+
sheet = _ref7.sheet;
|
651
556
|
return isDefined(sheet) ? "".concat(sheet, ":").concat(row, "x").concat(col) : '';
|
652
557
|
};
|
653
|
-
|
654
558
|
var changedCellsSet = new Set(changedCells.map(function (change) {
|
655
559
|
return stringifyAddress(change);
|
656
560
|
}));
|
657
561
|
dependentCells.forEach(function (change) {
|
658
562
|
var _change$address3, _change$address4;
|
659
|
-
|
660
563
|
var _ref8 = (_change$address3 = change.address) !== null && _change$address3 !== void 0 ? _change$address3 : {},
|
661
|
-
|
662
|
-
|
663
|
-
|
564
|
+
row = _ref8.row,
|
565
|
+
col = _ref8.col;
|
664
566
|
var visualRow = isDefined(row) ? _this12.hot.toVisualRow(row) : null;
|
665
|
-
var visualColumn = isDefined(col) ? _this12.hot.toVisualColumn(col) : null;
|
567
|
+
var visualColumn = isDefined(col) ? _this12.hot.toVisualColumn(col) : null;
|
666
568
|
|
569
|
+
// Don't try to validate cells outside of the visual part of the table.
|
667
570
|
if (visualRow === null || visualColumn === null) {
|
668
571
|
return;
|
669
|
-
}
|
670
|
-
|
572
|
+
}
|
671
573
|
|
574
|
+
// For the Named expression the address is empty, hence the `sheetId` is undefined.
|
672
575
|
var sheetId = change === null || change === void 0 ? void 0 : (_change$address4 = change.address) === null || _change$address4 === void 0 ? void 0 : _change$address4.sheet;
|
673
|
-
var addressId = stringifyAddress(change);
|
674
|
-
// where the user directly changes the values - the Core triggers those validators.
|
576
|
+
var addressId = stringifyAddress(change);
|
675
577
|
|
578
|
+
// Validate the cells that depend on the calculated formulas. Skip that cells
|
579
|
+
// where the user directly changes the values - the Core triggers those validators.
|
676
580
|
if (sheetId !== void 0 && !changedCellsSet.has(addressId)) {
|
677
|
-
var boundHot = getRegisteredHotInstances(_this12.engine).get(sheetId);
|
581
|
+
var boundHot = getRegisteredHotInstances(_this12.engine).get(sheetId);
|
678
582
|
|
583
|
+
// if `sheetId` is not bound to any Handsontable instance, skip the validation process
|
679
584
|
if (!boundHot) {
|
680
585
|
return;
|
681
|
-
}
|
682
|
-
|
586
|
+
}
|
683
587
|
|
588
|
+
// It will just re-render certain cell when necessary.
|
684
589
|
boundHot.validateCell(boundHot.getDataAtCell(visualRow, visualColumn), boundHot.getCellMeta(visualRow, visualColumn), function () {});
|
685
590
|
}
|
686
591
|
});
|
687
592
|
}
|
593
|
+
|
688
594
|
/**
|
689
595
|
* Sync a change from the change-related hooks with the engine.
|
690
596
|
*
|
@@ -694,7 +600,6 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
694
600
|
* @param {Handsontable.CellValue} newValue New value.
|
695
601
|
* @returns {Array} Array of changes exported from the engine.
|
696
602
|
*/
|
697
|
-
|
698
603
|
}, {
|
699
604
|
key: "syncChangeWithEngine",
|
700
605
|
value: function syncChangeWithEngine(row, column, newValue) {
|
@@ -703,14 +608,13 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
703
608
|
col: this.toPhysicalColumnPosition(column),
|
704
609
|
sheet: this.sheetId
|
705
610
|
};
|
706
|
-
|
707
611
|
if (!this.engine.isItPossibleToSetCellContents(address)) {
|
708
612
|
warn("Not possible to set cell data at ".concat(JSON.stringify(address)));
|
709
613
|
return;
|
710
614
|
}
|
711
|
-
|
712
615
|
return this.engine.setCellContents(address, newValue);
|
713
616
|
}
|
617
|
+
|
714
618
|
/**
|
715
619
|
* The hook allows to translate the formula value to calculated value before it goes to the
|
716
620
|
* validator function.
|
@@ -721,25 +625,24 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
721
625
|
* @param {number|string} prop The visual column index or property name of the column.
|
722
626
|
* @returns {*} Returns value to validate.
|
723
627
|
*/
|
724
|
-
|
725
628
|
}, {
|
726
629
|
key: "onBeforeValidate",
|
727
630
|
value: function onBeforeValidate(value, visualRow, prop) {
|
728
631
|
var visualColumn = this.hot.propToCol(prop);
|
729
|
-
|
730
632
|
if (this.isFormulaCellType(visualRow, visualColumn)) {
|
731
633
|
var address = {
|
732
634
|
row: this.hot.toPhysicalRow(visualRow),
|
733
635
|
col: this.hot.toPhysicalColumn(visualColumn),
|
734
636
|
sheet: this.sheetId
|
735
637
|
};
|
736
|
-
var cellValue = this.engine.getCellValue(address);
|
638
|
+
var cellValue = this.engine.getCellValue(address);
|
737
639
|
|
640
|
+
// If `cellValue` is an object it is expected to be an error
|
738
641
|
return _typeof(cellValue) === 'object' && cellValue !== null ? cellValue.value : cellValue;
|
739
642
|
}
|
740
|
-
|
741
643
|
return value;
|
742
644
|
}
|
645
|
+
|
743
646
|
/**
|
744
647
|
* `onBeforeAutofill` hook callback.
|
745
648
|
*
|
@@ -750,18 +653,15 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
750
653
|
* @param {CellRange} targetRange The range new values will be filled into.
|
751
654
|
* @returns {boolean|*}
|
752
655
|
*/
|
753
|
-
|
754
656
|
}, {
|
755
657
|
key: "onBeforeAutofill",
|
756
658
|
value: function onBeforeAutofill(fillData, sourceRange, targetRange) {
|
757
659
|
var _this13 = this;
|
758
|
-
|
759
660
|
var withSheetId = function withSheetId(range) {
|
760
661
|
return _objectSpread(_objectSpread({}, range), {}, {
|
761
662
|
sheet: _this13.sheetId
|
762
663
|
});
|
763
664
|
};
|
764
|
-
|
765
665
|
var engineSourceRange = {
|
766
666
|
start: withSheetId(sourceRange.getTopStartCorner()),
|
767
667
|
end: withSheetId(sourceRange.getBottomEndCorner())
|
@@ -769,15 +669,16 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
769
669
|
var engineTargetRange = {
|
770
670
|
start: withSheetId(targetRange.getTopStartCorner()),
|
771
671
|
end: withSheetId(targetRange.getBottomEndCorner())
|
772
|
-
};
|
773
|
-
// the underlying cell's contents cannot be set.
|
672
|
+
};
|
774
673
|
|
674
|
+
// Blocks the autofill operation if HyperFormula says that at least one of
|
675
|
+
// the underlying cell's contents cannot be set.
|
775
676
|
if (this.engine.isItPossibleToSetCellContents(engineTargetRange) === false) {
|
776
677
|
return false;
|
777
678
|
}
|
778
|
-
|
779
679
|
return this.engine.getFillRangeData(engineSourceRange, engineTargetRange);
|
780
680
|
}
|
681
|
+
|
781
682
|
/**
|
782
683
|
* `beforeLoadData` hook callback.
|
783
684
|
*
|
@@ -786,20 +687,19 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
786
687
|
* @param {string} [source] Source of the call.
|
787
688
|
* @private
|
788
689
|
*/
|
789
|
-
|
790
690
|
}, {
|
791
691
|
key: "onBeforeLoadData",
|
792
692
|
value: function onBeforeLoadData(sourceData, initialLoad) {
|
793
693
|
var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
794
|
-
|
795
694
|
if (source.includes(toUpperCaseFirst(PLUGIN_KEY))) {
|
796
695
|
return;
|
797
|
-
}
|
798
|
-
// initial dataset.
|
799
|
-
|
696
|
+
}
|
800
697
|
|
698
|
+
// This flag needs to be defined, because not passing data to HOT results in HOT auto-generating a `null`-filled
|
699
|
+
// initial dataset.
|
801
700
|
_classPrivateFieldSet(this, _hotWasInitializedWithEmptyData, isUndefined(this.hot.getSettings().data));
|
802
701
|
}
|
702
|
+
|
803
703
|
/**
|
804
704
|
* `afterLoadData` hook callback.
|
805
705
|
*
|
@@ -808,33 +708,27 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
808
708
|
* @param {string} [source] Source of the call.
|
809
709
|
* @private
|
810
710
|
*/
|
811
|
-
|
812
711
|
}, {
|
813
712
|
key: "onAfterLoadData",
|
814
713
|
value: function onAfterLoadData(sourceData, initialLoad) {
|
815
714
|
var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
816
|
-
|
817
715
|
if (source.includes(toUpperCaseFirst(PLUGIN_KEY))) {
|
818
716
|
return;
|
819
717
|
}
|
820
|
-
|
821
718
|
this.sheetName = setupSheet(this.engine, this.hot.getSettings()[PLUGIN_KEY].sheetName);
|
822
|
-
|
823
719
|
if (!_classPrivateFieldGet(this, _hotWasInitializedWithEmptyData)) {
|
824
720
|
var sourceDataArray = this.hot.getSourceDataArray();
|
825
|
-
|
826
721
|
if (this.engine.isItPossibleToReplaceSheetContent(this.sheetId, sourceDataArray)) {
|
827
722
|
_classPrivateFieldSet(this, _internalOperationPending, true);
|
828
|
-
|
829
723
|
var dependentCells = this.engine.setSheetContent(this.sheetId, this.hot.getSourceDataArray());
|
830
724
|
this.renderDependentSheets(dependentCells);
|
831
|
-
|
832
725
|
_classPrivateFieldSet(this, _internalOperationPending, false);
|
833
726
|
}
|
834
727
|
} else {
|
835
728
|
this.switchSheet(this.sheetName);
|
836
729
|
}
|
837
730
|
}
|
731
|
+
|
838
732
|
/**
|
839
733
|
* `modifyData` hook callback.
|
840
734
|
*
|
@@ -845,41 +739,39 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
845
739
|
* property.
|
846
740
|
* @param {string} ioMode String which indicates for what operation hook is fired (`get` or `set`).
|
847
741
|
*/
|
848
|
-
|
849
742
|
}, {
|
850
743
|
key: "onModifyData",
|
851
744
|
value: function onModifyData(row, column, valueHolder, ioMode) {
|
852
745
|
if (ioMode !== 'get' || _classPrivateFieldGet(this, _internalOperationPending) || this.sheetName === null || !this.engine.doesSheetExist(this.sheetName)) {
|
853
746
|
return;
|
854
747
|
}
|
748
|
+
var visualRow = this.hot.toVisualRow(row);
|
855
749
|
|
856
|
-
|
857
|
-
|
750
|
+
// `column` is here as visual index because of inconsistencies related to hook execution in `src/dataMap`.
|
858
751
|
var isFormulaCellType = this.isFormulaCellType(visualRow, column);
|
859
|
-
|
860
752
|
if (!isFormulaCellType) {
|
861
753
|
var cellType = this.getCellType(visualRow, column);
|
862
|
-
|
863
754
|
if (cellType !== 'ARRAY') {
|
864
755
|
if (isEscapedFormulaExpression(valueHolder.value)) {
|
865
756
|
valueHolder.value = unescapeFormulaExpression(valueHolder.value);
|
866
757
|
}
|
867
|
-
|
868
758
|
return;
|
869
759
|
}
|
870
|
-
}
|
871
|
-
|
760
|
+
}
|
872
761
|
|
762
|
+
// `toPhysicalColumn` is here because of inconsistencies related to hook execution in `DataMap`.
|
873
763
|
var address = {
|
874
764
|
row: row,
|
875
765
|
col: this.toPhysicalColumnPosition(column),
|
876
766
|
sheet: this.sheetId
|
877
767
|
};
|
878
|
-
var cellValue = this.engine.getCellValue(address);
|
768
|
+
var cellValue = this.engine.getCellValue(address);
|
879
769
|
|
770
|
+
// If `cellValue` is an object it is expected to be an error
|
880
771
|
var value = _typeof(cellValue) === 'object' && cellValue !== null ? cellValue.value : cellValue;
|
881
772
|
valueHolder.value = value;
|
882
773
|
}
|
774
|
+
|
883
775
|
/**
|
884
776
|
* `modifySourceData` hook callback.
|
885
777
|
*
|
@@ -890,36 +782,32 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
890
782
|
* property.
|
891
783
|
* @param {string} ioMode String which indicates for what operation hook is fired (`get` or `set`).
|
892
784
|
*/
|
893
|
-
|
894
785
|
}, {
|
895
786
|
key: "onModifySourceData",
|
896
787
|
value: function onModifySourceData(row, columnOrProp, valueHolder, ioMode) {
|
897
788
|
if (ioMode !== 'get' || _classPrivateFieldGet(this, _internalOperationPending) || this.sheetName === null || !this.engine.doesSheetExist(this.sheetName)) {
|
898
789
|
return;
|
899
790
|
}
|
900
|
-
|
901
791
|
var visualRow = this.hot.toVisualRow(row);
|
902
|
-
var visualColumn = this.hot.propToCol(columnOrProp);
|
792
|
+
var visualColumn = this.hot.propToCol(columnOrProp);
|
903
793
|
|
794
|
+
// `column` is here as visual index because of inconsistencies related to hook execution in `src/dataMap`.
|
904
795
|
var isFormulaCellType = this.isFormulaCellType(visualRow, visualColumn);
|
905
|
-
|
906
796
|
if (!isFormulaCellType) {
|
907
797
|
var cellType = this.getCellType(visualRow, visualColumn);
|
908
|
-
|
909
798
|
if (cellType !== 'ARRAY') {
|
910
799
|
return;
|
911
800
|
}
|
912
801
|
}
|
802
|
+
var dimensions = this.engine.getSheetDimensions(this.engine.getSheetId(this.sheetName));
|
913
803
|
|
914
|
-
|
804
|
+
// Don't actually change the source data if HyperFormula is not
|
915
805
|
// initialized yet. This is done to allow the `afterLoadData` hook to
|
916
806
|
// load the existing source data with `Handsontable#getSourceDataArray`
|
917
807
|
// properly.
|
918
|
-
|
919
808
|
if (dimensions.width === 0 && dimensions.height === 0) {
|
920
809
|
return;
|
921
810
|
}
|
922
|
-
|
923
811
|
var address = {
|
924
812
|
row: row,
|
925
813
|
// Workaround for inconsistencies in `src/dataSource.js`
|
@@ -928,6 +816,7 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
928
816
|
};
|
929
817
|
valueHolder.value = this.engine.getCellSerialized(address);
|
930
818
|
}
|
819
|
+
|
931
820
|
/**
|
932
821
|
* `onAfterSetDataAtCell` hook callback.
|
933
822
|
*
|
@@ -936,49 +825,39 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
936
825
|
* @param {string} [source] String that identifies source of hook call
|
937
826
|
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
938
827
|
*/
|
939
|
-
|
940
828
|
}, {
|
941
829
|
key: "onAfterSetDataAtCell",
|
942
830
|
value: function onAfterSetDataAtCell(changes, source) {
|
943
831
|
var _this14 = this;
|
944
|
-
|
945
832
|
if (isBlockedSource(source)) {
|
946
833
|
return;
|
947
834
|
}
|
948
|
-
|
949
835
|
var outOfBoundsChanges = [];
|
950
836
|
var changedCells = [];
|
951
837
|
var dependentCells = this.engine.batch(function () {
|
952
838
|
changes.forEach(function (_ref9) {
|
953
839
|
var _ref10 = _slicedToArray(_ref9, 4),
|
954
|
-
|
955
|
-
|
956
|
-
|
957
|
-
|
840
|
+
row = _ref10[0],
|
841
|
+
prop = _ref10[1],
|
842
|
+
newValue = _ref10[3];
|
958
843
|
var column = _this14.hot.propToCol(prop);
|
959
|
-
|
960
844
|
var physicalRow = _this14.hot.toPhysicalRow(row);
|
961
|
-
|
962
845
|
var physicalColumn = _this14.hot.toPhysicalColumn(column);
|
963
|
-
|
964
846
|
var address = {
|
965
847
|
row: physicalRow,
|
966
848
|
col: physicalColumn,
|
967
849
|
sheet: _this14.sheetId
|
968
850
|
};
|
969
|
-
|
970
851
|
if (physicalRow !== null && physicalColumn !== null) {
|
971
852
|
_this14.syncChangeWithEngine(row, column, newValue);
|
972
853
|
} else {
|
973
854
|
outOfBoundsChanges.push([row, column, newValue]);
|
974
855
|
}
|
975
|
-
|
976
856
|
changedCells.push({
|
977
857
|
address: address
|
978
858
|
});
|
979
859
|
});
|
980
860
|
});
|
981
|
-
|
982
861
|
if (outOfBoundsChanges.length) {
|
983
862
|
// Workaround for rows/columns being created two times (by HOT and the engine).
|
984
863
|
// (unfortunately, this requires an extra re-render)
|
@@ -986,21 +865,19 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
986
865
|
var outOfBoundsDependentCells = _this14.engine.batch(function () {
|
987
866
|
outOfBoundsChanges.forEach(function (_ref11) {
|
988
867
|
var _ref12 = _slicedToArray(_ref11, 3),
|
989
|
-
|
990
|
-
|
991
|
-
|
992
|
-
|
868
|
+
row = _ref12[0],
|
869
|
+
column = _ref12[1],
|
870
|
+
newValue = _ref12[2];
|
993
871
|
_this14.syncChangeWithEngine(row, column, newValue);
|
994
872
|
});
|
995
873
|
});
|
996
|
-
|
997
874
|
_this14.renderDependentSheets(outOfBoundsDependentCells, true);
|
998
875
|
});
|
999
876
|
}
|
1000
|
-
|
1001
877
|
this.renderDependentSheets(dependentCells);
|
1002
878
|
this.validateDependentCells(dependentCells, changedCells);
|
1003
879
|
}
|
880
|
+
|
1004
881
|
/**
|
1005
882
|
* `onAfterSetSourceDataAtCell` hook callback.
|
1006
883
|
*
|
@@ -1009,41 +886,33 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1009
886
|
* @param {string} [source] String that identifies source of hook call
|
1010
887
|
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
1011
888
|
*/
|
1012
|
-
|
1013
889
|
}, {
|
1014
890
|
key: "onAfterSetSourceDataAtCell",
|
1015
891
|
value: function onAfterSetSourceDataAtCell(changes, source) {
|
1016
892
|
var _this15 = this;
|
1017
|
-
|
1018
893
|
if (isBlockedSource(source)) {
|
1019
894
|
return;
|
1020
895
|
}
|
1021
|
-
|
1022
896
|
var dependentCells = [];
|
1023
897
|
var changedCells = [];
|
1024
898
|
changes.forEach(function (_ref13) {
|
1025
899
|
var _ref14 = _slicedToArray(_ref13, 4),
|
1026
|
-
|
1027
|
-
|
1028
|
-
|
1029
|
-
|
900
|
+
row = _ref14[0],
|
901
|
+
prop = _ref14[1],
|
902
|
+
newValue = _ref14[3];
|
1030
903
|
var column = _this15.hot.propToCol(prop);
|
1031
|
-
|
1032
904
|
if (!isNumeric(column)) {
|
1033
905
|
return;
|
1034
906
|
}
|
1035
|
-
|
1036
907
|
var address = {
|
1037
908
|
row: row,
|
1038
909
|
col: _this15.toPhysicalColumnPosition(column),
|
1039
910
|
sheet: _this15.sheetId
|
1040
911
|
};
|
1041
|
-
|
1042
912
|
if (!_this15.engine.isItPossibleToSetCellContents(address)) {
|
1043
913
|
warn("Not possible to set source cell data at ".concat(JSON.stringify(address)));
|
1044
914
|
return;
|
1045
915
|
}
|
1046
|
-
|
1047
916
|
changedCells.push({
|
1048
917
|
address: address
|
1049
918
|
});
|
@@ -1052,6 +921,7 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1052
921
|
this.renderDependentSheets(dependentCells);
|
1053
922
|
this.validateDependentCells(dependentCells, changedCells);
|
1054
923
|
}
|
924
|
+
|
1055
925
|
/**
|
1056
926
|
* `beforeCreateRow` hook callback.
|
1057
927
|
*
|
@@ -1060,7 +930,6 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1060
930
|
* @param {number} amount Number of newly created rows in the data source array.
|
1061
931
|
* @returns {*|boolean} If false is returned the action is canceled.
|
1062
932
|
*/
|
1063
|
-
|
1064
933
|
}, {
|
1065
934
|
key: "onBeforeCreateRow",
|
1066
935
|
value: function onBeforeCreateRow(row, amount) {
|
@@ -1068,6 +937,7 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1068
937
|
return false;
|
1069
938
|
}
|
1070
939
|
}
|
940
|
+
|
1071
941
|
/**
|
1072
942
|
* `beforeCreateCol` hook callback.
|
1073
943
|
*
|
@@ -1076,7 +946,6 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1076
946
|
* @param {number} amount Number of newly created columns in the data source.
|
1077
947
|
* @returns {*|boolean} If false is returned the action is canceled.
|
1078
948
|
*/
|
1079
|
-
|
1080
949
|
}, {
|
1081
950
|
key: "onBeforeCreateCol",
|
1082
951
|
value: function onBeforeCreateCol(col, amount) {
|
@@ -1084,6 +953,7 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1084
953
|
return false;
|
1085
954
|
}
|
1086
955
|
}
|
956
|
+
|
1087
957
|
/**
|
1088
958
|
* `beforeRemoveRow` hook callback.
|
1089
959
|
*
|
@@ -1093,17 +963,16 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1093
963
|
* @param {number[]} physicalRows An array of physical rows removed from the data source.
|
1094
964
|
* @returns {*|boolean} If false is returned the action is canceled.
|
1095
965
|
*/
|
1096
|
-
|
1097
966
|
}, {
|
1098
967
|
key: "onBeforeRemoveRow",
|
1099
968
|
value: function onBeforeRemoveRow(row, amount, physicalRows) {
|
1100
969
|
var _this16 = this;
|
1101
|
-
|
1102
970
|
var possible = physicalRows.every(function (physicalRow) {
|
1103
971
|
return _this16.engine.isItPossibleToRemoveRows(_this16.sheetId, [physicalRow, 1]);
|
1104
972
|
});
|
1105
973
|
return possible === false ? false : void 0;
|
1106
974
|
}
|
975
|
+
|
1107
976
|
/**
|
1108
977
|
* `beforeRemoveCol` hook callback.
|
1109
978
|
*
|
@@ -1113,17 +982,16 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1113
982
|
* @param {number[]} physicalColumns An array of physical columns removed from the data source.
|
1114
983
|
* @returns {*|boolean} If false is returned the action is canceled.
|
1115
984
|
*/
|
1116
|
-
|
1117
985
|
}, {
|
1118
986
|
key: "onBeforeRemoveCol",
|
1119
987
|
value: function onBeforeRemoveCol(col, amount, physicalColumns) {
|
1120
988
|
var _this17 = this;
|
1121
|
-
|
1122
989
|
var possible = physicalColumns.every(function (physicalColumn) {
|
1123
990
|
return _this17.engine.isItPossibleToRemoveColumns(_this17.sheetId, [physicalColumn, 1]);
|
1124
991
|
});
|
1125
992
|
return possible === false ? false : void 0;
|
1126
993
|
}
|
994
|
+
|
1127
995
|
/**
|
1128
996
|
* `afterCreateRow` hook callback.
|
1129
997
|
*
|
@@ -1133,17 +1001,16 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1133
1001
|
* @param {string} [source] String that identifies source of hook call
|
1134
1002
|
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
1135
1003
|
*/
|
1136
|
-
|
1137
1004
|
}, {
|
1138
1005
|
key: "onAfterCreateRow",
|
1139
1006
|
value: function onAfterCreateRow(row, amount, source) {
|
1140
1007
|
if (isBlockedSource(source)) {
|
1141
1008
|
return;
|
1142
1009
|
}
|
1143
|
-
|
1144
1010
|
var changes = this.engine.addRows(this.sheetId, [this.toPhysicalRowPosition(row), amount]);
|
1145
1011
|
this.renderDependentSheets(changes);
|
1146
1012
|
}
|
1013
|
+
|
1147
1014
|
/**
|
1148
1015
|
* `afterCreateCol` hook callback.
|
1149
1016
|
*
|
@@ -1153,17 +1020,16 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1153
1020
|
* @param {string} [source] String that identifies source of hook call
|
1154
1021
|
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
1155
1022
|
*/
|
1156
|
-
|
1157
1023
|
}, {
|
1158
1024
|
key: "onAfterCreateCol",
|
1159
1025
|
value: function onAfterCreateCol(col, amount, source) {
|
1160
1026
|
if (isBlockedSource(source)) {
|
1161
1027
|
return;
|
1162
1028
|
}
|
1163
|
-
|
1164
1029
|
var changes = this.engine.addColumns(this.sheetId, [this.toPhysicalColumnPosition(col), amount]);
|
1165
1030
|
this.renderDependentSheets(changes);
|
1166
1031
|
}
|
1032
|
+
|
1167
1033
|
/**
|
1168
1034
|
* `afterRemoveRow` hook callback.
|
1169
1035
|
*
|
@@ -1174,16 +1040,13 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1174
1040
|
* @param {string} [source] String that identifies source of hook call
|
1175
1041
|
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
1176
1042
|
*/
|
1177
|
-
|
1178
1043
|
}, {
|
1179
1044
|
key: "onAfterRemoveRow",
|
1180
1045
|
value: function onAfterRemoveRow(row, amount, physicalRows, source) {
|
1181
1046
|
var _this18 = this;
|
1182
|
-
|
1183
1047
|
if (isBlockedSource(source)) {
|
1184
1048
|
return;
|
1185
1049
|
}
|
1186
|
-
|
1187
1050
|
var descendingPhysicalRows = physicalRows.sort().reverse();
|
1188
1051
|
var changes = this.engine.batch(function () {
|
1189
1052
|
descendingPhysicalRows.forEach(function (physicalRow) {
|
@@ -1192,6 +1055,7 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1192
1055
|
});
|
1193
1056
|
this.renderDependentSheets(changes);
|
1194
1057
|
}
|
1058
|
+
|
1195
1059
|
/**
|
1196
1060
|
* `afterRemoveCol` hook callback.
|
1197
1061
|
*
|
@@ -1202,16 +1066,13 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1202
1066
|
* @param {string} [source] String that identifies source of hook call
|
1203
1067
|
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
1204
1068
|
*/
|
1205
|
-
|
1206
1069
|
}, {
|
1207
1070
|
key: "onAfterRemoveCol",
|
1208
1071
|
value: function onAfterRemoveCol(col, amount, physicalColumns, source) {
|
1209
1072
|
var _this19 = this;
|
1210
|
-
|
1211
1073
|
if (isBlockedSource(source)) {
|
1212
1074
|
return;
|
1213
1075
|
}
|
1214
|
-
|
1215
1076
|
var descendingPhysicalColumns = physicalColumns.sort().reverse();
|
1216
1077
|
var changes = this.engine.batch(function () {
|
1217
1078
|
descendingPhysicalColumns.forEach(function (physicalColumn) {
|
@@ -1220,6 +1081,7 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1220
1081
|
});
|
1221
1082
|
this.renderDependentSheets(changes);
|
1222
1083
|
}
|
1084
|
+
|
1223
1085
|
/**
|
1224
1086
|
* `afterDetachChild` hook callback.
|
1225
1087
|
* Used to sync the data of the rows detached in the Nested Rows plugin with the engine's dataset.
|
@@ -1229,19 +1091,14 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1229
1091
|
* @param {object} element The detached element.
|
1230
1092
|
* @param {number} finalElementRowIndex The final row index of the detached element.
|
1231
1093
|
*/
|
1232
|
-
|
1233
1094
|
}, {
|
1234
1095
|
key: "onAfterDetachChild",
|
1235
1096
|
value: function onAfterDetachChild(parent, element, finalElementRowIndex) {
|
1236
1097
|
var _element$__children,
|
1237
|
-
|
1238
|
-
|
1098
|
+
_this20 = this;
|
1239
1099
|
_classPrivateFieldSet(this, _internalOperationPending, true);
|
1240
|
-
|
1241
1100
|
var rowsData = this.hot.getSourceDataArray(finalElementRowIndex, 0, finalElementRowIndex + (((_element$__children = element.__children) === null || _element$__children === void 0 ? void 0 : _element$__children.length) || 0), this.hot.countSourceCols());
|
1242
|
-
|
1243
1101
|
_classPrivateFieldSet(this, _internalOperationPending, false);
|
1244
|
-
|
1245
1102
|
rowsData.forEach(function (row, relativeRowIndex) {
|
1246
1103
|
row.forEach(function (value, colIndex) {
|
1247
1104
|
_this20.engine.setCellContents({
|
@@ -1252,6 +1109,7 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1252
1109
|
});
|
1253
1110
|
});
|
1254
1111
|
}
|
1112
|
+
|
1255
1113
|
/**
|
1256
1114
|
* Called when a value is updated in the engine.
|
1257
1115
|
*
|
@@ -1259,12 +1117,12 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1259
1117
|
* @fires Hooks#afterFormulasValuesUpdate
|
1260
1118
|
* @param {Array} changes The values and location of applied changes.
|
1261
1119
|
*/
|
1262
|
-
|
1263
1120
|
}, {
|
1264
1121
|
key: "onEngineValuesUpdated",
|
1265
1122
|
value: function onEngineValuesUpdated(changes) {
|
1266
1123
|
this.hot.runHooks('afterFormulasValuesUpdate', changes);
|
1267
1124
|
}
|
1125
|
+
|
1268
1126
|
/**
|
1269
1127
|
* Called when a named expression is added to the engine instance.
|
1270
1128
|
*
|
@@ -1273,12 +1131,12 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1273
1131
|
* @param {string} namedExpressionName The name of the added expression.
|
1274
1132
|
* @param {Array} changes The values and location of applied changes.
|
1275
1133
|
*/
|
1276
|
-
|
1277
1134
|
}, {
|
1278
1135
|
key: "onEngineNamedExpressionsAdded",
|
1279
1136
|
value: function onEngineNamedExpressionsAdded(namedExpressionName, changes) {
|
1280
1137
|
this.hot.runHooks('afterNamedExpressionAdded', namedExpressionName, changes);
|
1281
1138
|
}
|
1139
|
+
|
1282
1140
|
/**
|
1283
1141
|
* Called when a named expression is removed from the engine instance.
|
1284
1142
|
*
|
@@ -1287,12 +1145,12 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1287
1145
|
* @param {string} namedExpressionName The name of the removed expression.
|
1288
1146
|
* @param {Array} changes The values and location of applied changes.
|
1289
1147
|
*/
|
1290
|
-
|
1291
1148
|
}, {
|
1292
1149
|
key: "onEngineNamedExpressionsRemoved",
|
1293
1150
|
value: function onEngineNamedExpressionsRemoved(namedExpressionName, changes) {
|
1294
1151
|
this.hot.runHooks('afterNamedExpressionRemoved', namedExpressionName, changes);
|
1295
1152
|
}
|
1153
|
+
|
1296
1154
|
/**
|
1297
1155
|
* Called when a new sheet is added to the engine instance.
|
1298
1156
|
*
|
@@ -1300,12 +1158,12 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1300
1158
|
* @fires Hooks#afterSheetAdded
|
1301
1159
|
* @param {string} addedSheetDisplayName The name of the added sheet.
|
1302
1160
|
*/
|
1303
|
-
|
1304
1161
|
}, {
|
1305
1162
|
key: "onEngineSheetAdded",
|
1306
1163
|
value: function onEngineSheetAdded(addedSheetDisplayName) {
|
1307
1164
|
this.hot.runHooks('afterSheetAdded', addedSheetDisplayName);
|
1308
1165
|
}
|
1166
|
+
|
1309
1167
|
/**
|
1310
1168
|
* Called when a sheet in the engine instance is renamed.
|
1311
1169
|
*
|
@@ -1314,12 +1172,12 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1314
1172
|
* @param {string} oldDisplayName The old name of the sheet.
|
1315
1173
|
* @param {string} newDisplayName The new name of the sheet.
|
1316
1174
|
*/
|
1317
|
-
|
1318
1175
|
}, {
|
1319
1176
|
key: "onEngineSheetRenamed",
|
1320
1177
|
value: function onEngineSheetRenamed(oldDisplayName, newDisplayName) {
|
1321
1178
|
this.hot.runHooks('afterSheetRenamed', oldDisplayName, newDisplayName);
|
1322
1179
|
}
|
1180
|
+
|
1323
1181
|
/**
|
1324
1182
|
* Called when a sheet is removed from the engine instance.
|
1325
1183
|
*
|
@@ -1328,7 +1186,6 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1328
1186
|
* @param {string} removedSheetDisplayName The removed sheet name.
|
1329
1187
|
* @param {Array} changes The values and location of applied changes.
|
1330
1188
|
*/
|
1331
|
-
|
1332
1189
|
}, {
|
1333
1190
|
key: "onEngineSheetRemoved",
|
1334
1191
|
value: function onEngineSheetRemoved(removedSheetDisplayName, changes) {
|
@@ -1344,14 +1201,13 @@ export var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1344
1201
|
get: function get() {
|
1345
1202
|
return PLUGIN_PRIORITY;
|
1346
1203
|
}
|
1204
|
+
|
1347
1205
|
/**
|
1348
1206
|
* Flag used to bypass hooks in internal operations.
|
1349
1207
|
*
|
1350
1208
|
* @private
|
1351
1209
|
* @type {boolean}
|
1352
1210
|
*/
|
1353
|
-
|
1354
1211
|
}]);
|
1355
|
-
|
1356
1212
|
return Formulas;
|
1357
1213
|
}(BasePlugin);
|