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