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