handsontable 9.0.1 → 11.0.1
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/autoResize/autoResize.js +2 -0
- package/3rdparty/autoResize/autoResize.mjs +1 -0
- package/3rdparty/walkontable/src/border.js +3 -1
- package/3rdparty/walkontable/src/border.mjs +2 -1
- package/3rdparty/walkontable/src/calculator/constants.js +1 -1
- package/3rdparty/walkontable/src/calculator/index.js +2 -0
- package/3rdparty/walkontable/src/calculator/viewportColumns.d.ts +18 -0
- package/3rdparty/walkontable/src/cell/coords.d.ts +16 -0
- package/3rdparty/walkontable/src/cell/range.d.ts +51 -0
- package/3rdparty/walkontable/src/index.d.ts +1 -0
- package/3rdparty/walkontable/src/overlay/bottom.js +3 -3
- package/3rdparty/walkontable/src/overlay/bottom.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/bottomLeftCorner.js +3 -3
- package/3rdparty/walkontable/src/overlay/bottomLeftCorner.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/constants.js +1 -1
- package/3rdparty/walkontable/src/overlay/index.js +2 -0
- package/3rdparty/walkontable/src/overlay/left.js +3 -3
- package/3rdparty/walkontable/src/overlay/left.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/registerer.js +1 -1
- package/3rdparty/walkontable/src/overlay/top.js +3 -3
- package/3rdparty/walkontable/src/overlay/top.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/topLeftCorner.js +3 -3
- package/3rdparty/walkontable/src/overlay/topLeftCorner.mjs +2 -2
- package/3rdparty/walkontable/src/overlays.js +2 -0
- package/3rdparty/walkontable/src/overlays.mjs +1 -0
- package/3rdparty/walkontable/src/renderer/cells.js +1 -1
- package/3rdparty/walkontable/src/renderer/cells.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/colGroup.js +3 -3
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +3 -3
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +1 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rows.js +3 -3
- package/3rdparty/walkontable/src/renderer/rows.mjs +2 -2
- package/3rdparty/walkontable/src/selection.js +5 -3
- package/3rdparty/walkontable/src/selection.mjs +3 -2
- package/3rdparty/walkontable/src/table/bottom.js +3 -3
- package/3rdparty/walkontable/src/table/bottom.mjs +2 -2
- package/3rdparty/walkontable/src/table/bottomLeftCorner.js +3 -3
- package/3rdparty/walkontable/src/table/bottomLeftCorner.mjs +2 -2
- package/3rdparty/walkontable/src/table/left.js +3 -3
- package/3rdparty/walkontable/src/table/left.mjs +2 -2
- package/3rdparty/walkontable/src/table/master.js +3 -3
- package/3rdparty/walkontable/src/table/master.mjs +2 -2
- package/3rdparty/walkontable/src/table/top.js +3 -3
- package/3rdparty/walkontable/src/table/top.mjs +2 -2
- package/3rdparty/walkontable/src/table/topLeftCorner.js +3 -3
- package/3rdparty/walkontable/src/table/topLeftCorner.mjs +2 -2
- package/3rdparty/walkontable/src/table.js +5 -3
- package/3rdparty/walkontable/src/table.mjs +3 -2
- package/3rdparty/walkontable/src/utils/orderView/constants.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +3 -3
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +2 -2
- package/CHANGELOG.md +72 -0
- package/LICENSE.txt +19 -22
- package/README.md +2 -1
- package/base.d.ts +1 -1
- package/base.js +16 -3
- package/base.mjs +14 -4
- package/cellTypes/autocompleteType/autocompleteType.d.ts +17 -0
- package/cellTypes/autocompleteType/autocompleteType.js +1 -1
- package/cellTypes/autocompleteType/index.d.ts +1 -0
- package/cellTypes/base.d.ts +14 -0
- package/cellTypes/checkboxType/checkboxType.d.ts +14 -0
- package/cellTypes/checkboxType/index.d.ts +1 -0
- package/cellTypes/dateType/dateType.d.ts +17 -0
- package/cellTypes/dateType/index.d.ts +1 -0
- package/cellTypes/dropdownType/dropdownType.d.ts +17 -0
- package/cellTypes/dropdownType/index.d.ts +1 -0
- package/cellTypes/handsontableType/handsontableType.d.ts +14 -0
- package/cellTypes/handsontableType/index.d.ts +1 -0
- package/cellTypes/index.d.ts +47 -0
- package/cellTypes/index.js +18 -2
- package/cellTypes/index.mjs +26 -9
- package/cellTypes/numericType/index.d.ts +1 -0
- package/cellTypes/numericType/numericType.d.ts +17 -0
- package/cellTypes/passwordType/index.d.ts +1 -0
- package/cellTypes/passwordType/passwordType.d.ts +14 -0
- package/cellTypes/registry.d.ts +18 -0
- package/cellTypes/registry.js +2 -2
- package/cellTypes/textType/index.d.ts +1 -0
- package/cellTypes/textType/textType.d.ts +14 -0
- package/cellTypes/timeType/index.d.ts +1 -0
- package/cellTypes/timeType/timeType.d.ts +17 -0
- package/common.d.ts +74 -0
- package/core.d.ts +159 -0
- package/core.js +143 -103
- package/core.mjs +141 -103
- package/{dataMap.js → dataMap/dataMap.js} +37 -35
- package/{dataMap.mjs → dataMap/dataMap.mjs} +37 -35
- package/dataMap/index.js +5 -1
- package/dataMap/index.mjs +3 -2
- package/dataMap/metaManager/index.js +54 -6
- package/dataMap/metaManager/index.mjs +51 -6
- package/dataMap/metaManager/lazyFactoryMap.js +3 -3
- package/dataMap/metaManager/lazyFactoryMap.mjs +3 -3
- package/dataMap/metaManager/metaLayers/cellMeta.js +2 -0
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -0
- package/dataMap/metaManager/metaLayers/globalMeta.js +2 -1
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +2 -1
- package/dataMap/metaManager/metaSchema.js +2331 -871
- package/dataMap/metaManager/metaSchema.mjs +2331 -871
- package/dataMap/metaManager/mods/dynamicCellMeta.js +136 -0
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +119 -0
- package/dataMap/metaManager/utils.js +3 -3
- package/dataSource.js +2 -0
- package/dataSource.mjs +1 -0
- package/dist/handsontable.css +309 -303
- package/dist/handsontable.full.css +309 -303
- package/dist/handsontable.full.js +50435 -45020
- package/dist/handsontable.full.min.css +25 -28
- package/dist/handsontable.full.min.js +181 -164
- package/dist/handsontable.js +31234 -28030
- package/dist/handsontable.min.css +25 -28
- package/dist/handsontable.min.js +22 -25
- package/editorManager.js +15 -12
- package/editorManager.mjs +15 -13
- package/editors/autocompleteEditor/autocompleteEditor.d.ts +29 -0
- package/editors/autocompleteEditor/autocompleteEditor.js +91 -87
- package/editors/autocompleteEditor/autocompleteEditor.mjs +89 -84
- package/editors/autocompleteEditor/index.d.ts +1 -0
- package/editors/autocompleteEditor/index.js +1 -1
- package/editors/baseEditor/baseEditor.d.ts +45 -0
- package/editors/baseEditor/baseEditor.js +8 -7
- package/editors/baseEditor/baseEditor.mjs +5 -5
- package/editors/baseEditor/index.d.ts +1 -0
- package/editors/baseEditor/index.js +1 -1
- package/editors/checkboxEditor/checkboxEditor.d.ts +12 -0
- package/editors/checkboxEditor/checkboxEditor.js +4 -4
- package/editors/checkboxEditor/checkboxEditor.mjs +2 -2
- package/editors/checkboxEditor/index.d.ts +1 -0
- package/editors/checkboxEditor/index.js +1 -1
- package/editors/dateEditor/dateEditor.d.ts +18 -0
- package/editors/dateEditor/dateEditor.js +20 -20
- package/editors/dateEditor/dateEditor.mjs +19 -19
- package/editors/dateEditor/index.d.ts +1 -0
- package/editors/dateEditor/index.js +1 -1
- package/editors/dropdownEditor/dropdownEditor.d.ts +7 -0
- package/editors/dropdownEditor/dropdownEditor.js +5 -5
- package/editors/dropdownEditor/dropdownEditor.mjs +3 -3
- package/editors/dropdownEditor/index.d.ts +1 -0
- package/editors/dropdownEditor/index.js +1 -1
- package/editors/handsontableEditor/handsontableEditor.d.ts +10 -0
- package/editors/handsontableEditor/handsontableEditor.js +4 -4
- package/editors/handsontableEditor/handsontableEditor.mjs +3 -3
- package/editors/handsontableEditor/index.d.ts +1 -0
- package/editors/index.d.ts +53 -0
- package/editors/index.js +19 -2
- package/editors/index.mjs +28 -10
- package/editors/numericEditor/index.d.ts +1 -0
- package/editors/numericEditor/numericEditor.d.ts +7 -0
- package/editors/numericEditor/numericEditor.js +3 -3
- package/editors/numericEditor/numericEditor.mjs +2 -2
- package/editors/passwordEditor/index.d.ts +1 -0
- package/editors/passwordEditor/passwordEditor.d.ts +7 -0
- package/editors/passwordEditor/passwordEditor.js +4 -4
- package/editors/passwordEditor/passwordEditor.mjs +3 -3
- package/editors/registry.d.ts +29 -0
- package/editors/registry.js +2 -2
- package/editors/selectEditor/index.d.ts +1 -0
- package/editors/selectEditor/selectEditor.d.ts +16 -0
- package/editors/selectEditor/selectEditor.js +4 -4
- package/editors/selectEditor/selectEditor.mjs +3 -3
- package/editors/textEditor/index.d.ts +1 -0
- package/editors/textEditor/textEditor.d.ts +24 -0
- package/editors/textEditor/textEditor.js +4 -4
- package/editors/textEditor/textEditor.mjs +3 -3
- package/eventManager.d.ts +13 -0
- package/eventManager.js +1 -1
- package/handsontable-non-commercial-license.pdf +0 -0
- package/helpers/array.d.ts +18 -0
- package/helpers/array.js +10 -10
- package/helpers/array.mjs +1 -1
- package/helpers/browser.d.ts +25 -0
- package/helpers/browser.js +11 -9
- package/helpers/browser.mjs +1 -0
- package/helpers/console.d.ts +4 -0
- package/helpers/console.js +2 -2
- package/helpers/data.d.ts +13 -0
- package/helpers/data.js +7 -35
- package/helpers/data.mjs +1 -27
- package/helpers/date.d.ts +1 -0
- package/helpers/dom/element.d.ts +49 -0
- package/helpers/dom/element.js +44 -45
- package/helpers/dom/element.mjs +7 -8
- package/helpers/dom/event.d.ts +4 -0
- package/helpers/dom/event.js +2 -2
- package/helpers/dom/index.d.ts +2 -0
- package/helpers/feature.d.ts +11 -0
- package/helpers/feature.js +6 -6
- package/helpers/function.d.ts +10 -0
- package/helpers/function.js +43 -5
- package/helpers/function.mjs +35 -0
- package/helpers/index.d.ts +14 -0
- package/helpers/mixed.d.ts +5 -0
- package/helpers/mixed.js +5 -5
- package/helpers/mixed.mjs +2 -2
- package/helpers/number.d.ts +5 -0
- package/helpers/number.js +96 -17
- package/helpers/number.mjs +85 -17
- package/helpers/object.d.ts +16 -0
- package/helpers/object.js +11 -11
- package/helpers/string.d.ts +7 -0
- package/helpers/string.js +4 -4
- package/helpers/templateLiteralTag.d.ts +1 -0
- package/helpers/unicode.d.ts +73 -0
- package/helpers/unicode.js +49 -33
- package/helpers/unicode.mjs +44 -27
- package/i18n/constants.js +1 -1
- package/i18n/index.d.ts +2 -0
- package/i18n/index.js +2 -0
- package/i18n/languages/de-CH.d.ts +5 -0
- package/i18n/languages/de-DE.d.ts +5 -0
- package/i18n/languages/en-US.d.ts +5 -0
- package/i18n/languages/es-MX.d.ts +5 -0
- package/i18n/languages/fr-FR.d.ts +5 -0
- package/i18n/languages/index.d.ts +35 -0
- package/i18n/languages/it-IT.d.ts +5 -0
- package/i18n/languages/ja-JP.d.ts +5 -0
- package/i18n/languages/ko-KR.d.ts +5 -0
- package/i18n/languages/lv-LV.d.ts +5 -0
- package/i18n/languages/nb-NO.d.ts +5 -0
- package/i18n/languages/nl-NL.d.ts +5 -0
- package/i18n/languages/pl-PL.d.ts +5 -0
- package/i18n/languages/pt-BR.d.ts +5 -0
- package/i18n/languages/ru-RU.d.ts +5 -0
- package/i18n/languages/zh-CN.d.ts +5 -0
- package/i18n/languages/zh-TW.d.ts +5 -0
- package/i18n/phraseFormatters/index.js +1 -1
- package/i18n/registry.d.ts +13 -0
- package/i18n/registry.js +4 -4
- package/i18n/utils.js +1 -1
- package/index.d.ts +516 -0
- package/index.js +40 -112
- package/index.mjs +17 -90
- package/mixins/localHooks.js +17 -14
- package/mixins/localHooks.mjs +16 -13
- package/package.json +103 -10
- package/pluginHooks.d.ts +255 -0
- package/pluginHooks.js +132 -57
- package/pluginHooks.mjs +131 -57
- package/plugins/autoColumnSize/autoColumnSize.d.ts +27 -0
- package/plugins/autoColumnSize/autoColumnSize.js +20 -13
- package/plugins/autoColumnSize/autoColumnSize.mjs +18 -12
- package/plugins/autoColumnSize/index.d.ts +1 -0
- package/plugins/autoColumnSize/index.js +1 -1
- package/plugins/autoRowSize/autoRowSize.d.ts +27 -0
- package/plugins/autoRowSize/autoRowSize.js +22 -14
- package/plugins/autoRowSize/autoRowSize.mjs +19 -12
- package/plugins/autoRowSize/index.d.ts +1 -0
- package/plugins/autoRowSize/index.js +1 -1
- package/plugins/autofill/autofill.d.ts +18 -0
- package/plugins/autofill/autofill.js +10 -19
- package/plugins/autofill/autofill.mjs +7 -16
- package/plugins/autofill/index.d.ts +1 -0
- package/plugins/autofill/index.js +1 -1
- package/plugins/autofill/utils.js +1 -1
- package/plugins/base/base.d.ts +21 -0
- package/plugins/base/base.js +2 -2
- package/plugins/base/base.mjs +1 -1
- package/plugins/base/index.d.ts +1 -0
- package/plugins/base/index.js +1 -1
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.d.ts +9 -0
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +4 -3
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +3 -2
- package/plugins/bindRowsWithHeaders/index.d.ts +1 -0
- package/plugins/bindRowsWithHeaders/index.js +1 -1
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +4 -4
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +3 -3
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -4
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +4 -3
- package/plugins/collapsibleColumns/collapsibleColumns.d.ts +22 -0
- package/plugins/collapsibleColumns/collapsibleColumns.js +13 -6
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +11 -5
- package/plugins/collapsibleColumns/index.d.ts +1 -0
- package/plugins/collapsibleColumns/index.js +1 -1
- package/plugins/columnSorting/columnSorting.d.ts +30 -0
- package/plugins/columnSorting/columnSorting.js +19 -14
- package/plugins/columnSorting/columnSorting.mjs +16 -12
- package/plugins/columnSorting/columnStatesManager.js +5 -3
- package/plugins/columnSorting/columnStatesManager.mjs +4 -3
- package/plugins/columnSorting/index.d.ts +1 -0
- package/plugins/columnSorting/index.js +1 -1
- package/plugins/columnSorting/rootComparator.js +2 -0
- package/plugins/columnSorting/rootComparator.mjs +1 -0
- package/plugins/columnSorting/sortFunction/checkbox.js +1 -1
- package/plugins/columnSorting/sortFunction/date.js +1 -1
- package/plugins/columnSorting/sortFunction/default.js +4 -3
- package/plugins/columnSorting/sortFunction/default.mjs +3 -2
- package/plugins/columnSorting/sortFunction/numeric.js +1 -1
- package/plugins/columnSorting/sortService/engine.js +1 -1
- package/plugins/columnSorting/sortService/registry.js +1 -1
- package/plugins/columnSorting/utils.js +4 -4
- package/plugins/columnSorting/utils.mjs +1 -1
- package/plugins/columnSummary/columnSummary.d.ts +72 -0
- package/plugins/columnSummary/columnSummary.js +31 -12
- package/plugins/columnSummary/columnSummary.mjs +29 -10
- package/plugins/columnSummary/endpoints.js +6 -4
- package/plugins/columnSummary/endpoints.mjs +5 -4
- package/plugins/columnSummary/index.d.ts +1 -0
- package/plugins/columnSummary/index.js +1 -1
- package/plugins/comments/commentEditor.js +1 -1
- package/plugins/comments/commentEditor.mjs +1 -1
- package/plugins/comments/comments.d.ts +50 -0
- package/plugins/comments/comments.js +11 -6
- package/plugins/comments/comments.mjs +10 -5
- package/plugins/comments/displaySwitch.js +1 -1
- package/plugins/comments/displaySwitch.mjs +1 -1
- package/plugins/comments/index.d.ts +1 -0
- package/plugins/comments/index.js +1 -1
- package/plugins/contextMenu/commandExecutor.js +1 -1
- package/plugins/contextMenu/commandExecutor.mjs +1 -1
- package/plugins/contextMenu/contextMenu.d.ts +65 -0
- package/plugins/contextMenu/contextMenu.js +8 -7
- package/plugins/contextMenu/contextMenu.mjs +6 -5
- package/plugins/contextMenu/cursor.js +1 -1
- package/plugins/contextMenu/cursor.mjs +1 -1
- package/plugins/contextMenu/index.d.ts +1 -0
- package/plugins/contextMenu/index.js +1 -1
- package/plugins/contextMenu/itemsFactory.js +1 -1
- package/plugins/contextMenu/itemsFactory.mjs +1 -1
- package/plugins/contextMenu/menu.js +4 -4
- package/plugins/contextMenu/menu.mjs +3 -3
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnLeft.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnRight.js +1 -1
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
- package/plugins/contextMenu/predefinedItems/redo.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +4 -2
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +2 -1
- package/plugins/contextMenu/predefinedItems/removeRow.js +4 -2
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +2 -1
- package/plugins/contextMenu/predefinedItems/rowAbove.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowBelow.js +1 -1
- package/plugins/contextMenu/predefinedItems/separator.js +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -1
- package/plugins/contextMenu/predefinedItems.js +2 -2
- package/plugins/contextMenu/utils.js +10 -10
- package/plugins/copyPaste/clipboardData.js +3 -0
- package/plugins/copyPaste/clipboardData.mjs +3 -0
- package/plugins/copyPaste/copyPaste.d.ts +35 -0
- package/plugins/copyPaste/copyPaste.js +13 -10
- package/plugins/copyPaste/copyPaste.mjs +11 -9
- package/plugins/copyPaste/focusableElement.js +1 -2
- package/plugins/copyPaste/focusableElement.mjs +1 -2
- package/plugins/copyPaste/index.d.ts +1 -0
- package/plugins/copyPaste/index.js +1 -1
- package/plugins/copyPaste/pasteEvent.js +3 -0
- package/plugins/copyPaste/pasteEvent.mjs +3 -0
- package/plugins/customBorders/customBorders.d.ts +38 -0
- package/plugins/customBorders/customBorders.js +11 -9
- package/plugins/customBorders/customBorders.mjs +8 -7
- package/plugins/customBorders/index.d.ts +1 -0
- package/plugins/customBorders/index.js +1 -1
- package/plugins/customBorders/utils.js +3 -3
- package/plugins/dragToScroll/dragToScroll.d.ts +15 -0
- package/plugins/dragToScroll/dragToScroll.js +5 -5
- package/plugins/dragToScroll/dragToScroll.mjs +3 -3
- package/plugins/dragToScroll/index.d.ts +1 -0
- package/plugins/dragToScroll/index.js +1 -1
- package/plugins/dropdownMenu/dropdownMenu.d.ts +24 -0
- package/plugins/dropdownMenu/dropdownMenu.js +9 -9
- package/plugins/dropdownMenu/dropdownMenu.mjs +7 -7
- package/plugins/dropdownMenu/index.d.ts +1 -0
- package/plugins/dropdownMenu/index.js +1 -1
- package/plugins/exportFile/dataProvider.js +3 -5
- package/plugins/exportFile/dataProvider.mjs +3 -5
- package/plugins/exportFile/exportFile.d.ts +12 -0
- package/plugins/exportFile/exportFile.js +6 -5
- package/plugins/exportFile/exportFile.mjs +4 -3
- package/plugins/exportFile/index.d.ts +1 -0
- package/plugins/exportFile/index.js +1 -1
- package/plugins/exportFile/typeFactory.js +2 -1
- package/plugins/exportFile/typeFactory.mjs +1 -0
- package/plugins/exportFile/types/_base.js +0 -1
- package/plugins/exportFile/types/_base.mjs +0 -1
- package/plugins/exportFile/types/csv.js +3 -4
- package/plugins/exportFile/types/csv.mjs +2 -3
- package/plugins/filters/component/_base.js +1 -1
- package/plugins/filters/component/_base.mjs +1 -1
- package/plugins/filters/component/actionBar.js +4 -4
- package/plugins/filters/component/actionBar.mjs +3 -3
- package/plugins/filters/component/condition.js +7 -5
- package/plugins/filters/component/condition.mjs +5 -4
- package/plugins/filters/component/operators.js +4 -4
- package/plugins/filters/component/operators.mjs +3 -3
- package/plugins/filters/component/value.js +13 -6
- package/plugins/filters/component/value.mjs +11 -5
- package/plugins/filters/condition/beginsWith.js +5 -3
- package/plugins/filters/condition/beginsWith.mjs +3 -2
- package/plugins/filters/condition/between.js +4 -2
- package/plugins/filters/condition/between.mjs +2 -1
- package/plugins/filters/condition/byValue.js +4 -2
- package/plugins/filters/condition/byValue.mjs +2 -1
- package/plugins/filters/condition/contains.js +5 -3
- package/plugins/filters/condition/contains.mjs +3 -2
- package/plugins/filters/condition/date/after.js +4 -2
- package/plugins/filters/condition/date/after.mjs +2 -1
- package/plugins/filters/condition/date/before.js +4 -2
- package/plugins/filters/condition/date/before.mjs +2 -1
- package/plugins/filters/condition/date/today.js +1 -1
- package/plugins/filters/condition/date/tomorrow.js +1 -1
- package/plugins/filters/condition/date/yesterday.js +1 -1
- package/plugins/filters/condition/empty.js +1 -1
- package/plugins/filters/condition/endsWith.js +5 -3
- package/plugins/filters/condition/endsWith.mjs +3 -2
- package/plugins/filters/condition/equal.js +5 -3
- package/plugins/filters/condition/equal.mjs +3 -2
- package/plugins/filters/condition/false.js +1 -1
- package/plugins/filters/condition/greaterThan.js +4 -2
- package/plugins/filters/condition/greaterThan.mjs +2 -1
- package/plugins/filters/condition/greaterThanOrEqual.js +4 -2
- package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -1
- package/plugins/filters/condition/lessThan.js +4 -2
- package/plugins/filters/condition/lessThan.mjs +2 -1
- package/plugins/filters/condition/lessThanOrEqual.js +4 -2
- package/plugins/filters/condition/lessThanOrEqual.mjs +2 -1
- package/plugins/filters/condition/none.js +1 -1
- package/plugins/filters/condition/notBetween.js +1 -1
- package/plugins/filters/condition/notContains.js +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -1
- package/plugins/filters/condition/notEqual.js +1 -1
- package/plugins/filters/condition/true.js +1 -1
- package/plugins/filters/conditionCollection.d.ts +32 -0
- package/plugins/filters/conditionCollection.js +8 -5
- package/plugins/filters/conditionCollection.mjs +6 -4
- package/plugins/filters/conditionRegisterer.js +1 -1
- package/plugins/filters/conditionUpdateObserver.d.ts +10 -0
- package/plugins/filters/conditionUpdateObserver.js +3 -1
- package/plugins/filters/conditionUpdateObserver.mjs +2 -1
- package/plugins/filters/constants.js +2 -1
- package/plugins/filters/constants.mjs +1 -0
- package/plugins/filters/dataFilter.js +1 -1
- package/plugins/filters/dataFilter.mjs +1 -1
- package/plugins/filters/filters.d.ts +56 -0
- package/plugins/filters/filters.js +19 -14
- package/plugins/filters/filters.mjs +17 -13
- package/plugins/filters/index.d.ts +1 -0
- package/plugins/filters/index.js +1 -1
- package/plugins/filters/logicalOperationRegisterer.js +1 -1
- package/plugins/filters/logicalOperations/conjunction.js +3 -3
- package/plugins/filters/logicalOperations/conjunction.mjs +1 -0
- package/plugins/filters/logicalOperations/disjunction.js +3 -3
- package/plugins/filters/logicalOperations/disjunction.mjs +1 -0
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +3 -3
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +1 -0
- package/plugins/filters/ui/_base.js +2 -3
- package/plugins/filters/ui/_base.mjs +2 -3
- package/plugins/filters/ui/input.js +3 -3
- package/plugins/filters/ui/input.mjs +3 -3
- package/plugins/filters/ui/link.js +3 -3
- package/plugins/filters/ui/link.mjs +3 -3
- package/plugins/filters/ui/multipleSelect.js +31 -5
- package/plugins/filters/ui/multipleSelect.mjs +30 -5
- package/plugins/filters/ui/radioInput.js +3 -3
- package/plugins/filters/ui/radioInput.mjs +3 -3
- package/plugins/filters/ui/select.js +3 -3
- package/plugins/filters/ui/select.mjs +3 -3
- package/plugins/filters/utils.js +3 -3
- package/plugins/formulas/engine/register.js +3 -3
- package/plugins/formulas/engine/settings.js +4 -4
- package/plugins/formulas/engine/settings.mjs +2 -3
- package/plugins/formulas/formulas.d.ts +31 -0
- package/plugins/formulas/formulas.js +286 -89
- package/plugins/formulas/formulas.mjs +279 -86
- package/plugins/formulas/index.d.ts +1 -0
- package/plugins/formulas/index.js +1 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +3 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +2 -1
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +4 -2
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -1
- package/plugins/hiddenColumns/hiddenColumns.d.ts +21 -0
- package/plugins/hiddenColumns/hiddenColumns.js +37 -24
- package/plugins/hiddenColumns/hiddenColumns.mjs +36 -23
- package/plugins/hiddenColumns/index.d.ts +1 -0
- package/plugins/hiddenColumns/index.js +1 -1
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +3 -1
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +2 -1
- package/plugins/hiddenRows/contextMenuItem/showRow.js +4 -2
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -1
- package/plugins/hiddenRows/hiddenRows.d.ts +21 -0
- package/plugins/hiddenRows/hiddenRows.js +37 -25
- package/plugins/hiddenRows/hiddenRows.mjs +36 -24
- package/plugins/hiddenRows/index.d.ts +1 -0
- package/plugins/hiddenRows/index.js +1 -1
- package/plugins/index.d.ts +111 -0
- package/plugins/index.js +98 -58
- package/plugins/index.mjs +75 -34
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +3 -1
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +2 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +3 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +2 -1
- package/plugins/manualColumnFreeze/index.d.ts +1 -0
- package/plugins/manualColumnFreeze/index.js +1 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.d.ts +11 -0
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +11 -6
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +10 -5
- package/plugins/manualColumnMove/index.d.ts +1 -0
- package/plugins/manualColumnMove/index.js +1 -1
- package/plugins/manualColumnMove/manualColumnMove.d.ts +14 -0
- package/plugins/manualColumnMove/manualColumnMove.js +28 -23
- package/plugins/manualColumnMove/manualColumnMove.mjs +27 -22
- package/plugins/manualColumnMove/ui/_base.js +1 -1
- package/plugins/manualColumnMove/ui/_base.mjs +1 -1
- package/plugins/manualColumnMove/ui/backlight.js +4 -4
- package/plugins/manualColumnMove/ui/backlight.mjs +3 -3
- package/plugins/manualColumnMove/ui/guideline.js +4 -4
- package/plugins/manualColumnMove/ui/guideline.mjs +3 -3
- package/plugins/manualColumnResize/index.d.ts +1 -0
- package/plugins/manualColumnResize/index.js +1 -1
- package/plugins/manualColumnResize/manualColumnResize.d.ts +30 -0
- package/plugins/manualColumnResize/manualColumnResize.js +7 -6
- package/plugins/manualColumnResize/manualColumnResize.mjs +6 -5
- package/plugins/manualRowMove/index.d.ts +1 -0
- package/plugins/manualRowMove/index.js +1 -1
- package/plugins/manualRowMove/manualRowMove.d.ts +14 -0
- package/plugins/manualRowMove/manualRowMove.js +25 -22
- package/plugins/manualRowMove/manualRowMove.mjs +24 -21
- package/plugins/manualRowMove/ui/_base.js +1 -2
- package/plugins/manualRowMove/ui/_base.mjs +1 -2
- package/plugins/manualRowMove/ui/backlight.js +5 -5
- package/plugins/manualRowMove/ui/backlight.mjs +4 -4
- package/plugins/manualRowMove/ui/guideline.js +5 -5
- package/plugins/manualRowMove/ui/guideline.mjs +4 -4
- package/plugins/manualRowResize/index.d.ts +1 -0
- package/plugins/manualRowResize/index.js +1 -1
- package/plugins/manualRowResize/manualRowResize.d.ts +29 -0
- package/plugins/manualRowResize/manualRowResize.js +6 -5
- package/plugins/manualRowResize/manualRowResize.mjs +5 -4
- package/plugins/mergeCells/calculations/autofill.js +4 -3
- package/plugins/mergeCells/calculations/autofill.mjs +3 -3
- package/plugins/mergeCells/calculations/selection.js +1 -2
- package/plugins/mergeCells/calculations/selection.mjs +1 -2
- package/plugins/mergeCells/cellCoords.js +1 -1
- package/plugins/mergeCells/cellCoords.mjs +1 -1
- package/plugins/mergeCells/cellsCollection.js +5 -3
- package/plugins/mergeCells/cellsCollection.mjs +4 -3
- package/plugins/mergeCells/index.d.ts +1 -0
- package/plugins/mergeCells/index.js +1 -1
- package/plugins/mergeCells/mergeCells.d.ts +22 -0
- package/plugins/mergeCells/mergeCells.js +7 -4
- package/plugins/mergeCells/mergeCells.mjs +5 -3
- package/plugins/multiColumnSorting/domHelpers.js +2 -0
- package/plugins/multiColumnSorting/domHelpers.mjs +1 -0
- package/plugins/multiColumnSorting/index.d.ts +1 -0
- package/plugins/multiColumnSorting/index.js +1 -1
- package/plugins/multiColumnSorting/multiColumnSorting.d.ts +8 -0
- package/plugins/multiColumnSorting/multiColumnSorting.js +11 -8
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +9 -6
- package/plugins/multiColumnSorting/rootComparator.js +2 -0
- package/plugins/multiColumnSorting/rootComparator.mjs +1 -0
- package/plugins/multipleSelectionHandles/index.d.ts +1 -0
- package/plugins/multipleSelectionHandles/index.js +1 -1
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.d.ts +21 -0
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +7 -5
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +5 -3
- package/plugins/nestedHeaders/index.d.ts +1 -0
- package/plugins/nestedHeaders/index.js +1 -1
- package/plugins/nestedHeaders/nestedHeaders.d.ts +17 -0
- package/plugins/nestedHeaders/nestedHeaders.js +41 -21
- package/plugins/nestedHeaders/nestedHeaders.mjs +38 -19
- package/plugins/nestedHeaders/stateManager/headersTree.js +11 -5
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +10 -5
- package/plugins/nestedHeaders/stateManager/index.js +9 -6
- package/plugins/nestedHeaders/stateManager/index.mjs +9 -6
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +1 -1
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +2 -0
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +1 -0
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +8 -4
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +8 -4
- package/plugins/nestedHeaders/utils/ghostTable.js +10 -2
- package/plugins/nestedHeaders/utils/ghostTable.mjs +10 -2
- package/plugins/nestedRows/data/dataManager.js +40 -14
- package/plugins/nestedRows/data/dataManager.mjs +38 -13
- package/plugins/nestedRows/index.d.ts +1 -0
- package/plugins/nestedRows/index.js +1 -1
- package/plugins/nestedRows/nestedRows.d.ts +12 -0
- package/plugins/nestedRows/nestedRows.js +48 -34
- package/plugins/nestedRows/nestedRows.mjs +43 -32
- package/plugins/nestedRows/ui/_base.js +1 -2
- package/plugins/nestedRows/ui/_base.mjs +1 -2
- package/plugins/nestedRows/ui/collapsing.js +6 -5
- package/plugins/nestedRows/ui/collapsing.mjs +4 -4
- package/plugins/nestedRows/ui/contextMenu.js +2 -3
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -3
- package/plugins/nestedRows/ui/headers.js +4 -5
- package/plugins/nestedRows/ui/headers.mjs +3 -4
- package/plugins/nestedRows/utils/rowMoveController.js +10 -9
- package/plugins/nestedRows/utils/rowMoveController.mjs +8 -8
- package/plugins/persistentState/index.d.ts +1 -0
- package/plugins/persistentState/persistentState.d.ts +13 -0
- package/plugins/persistentState/persistentState.js +13 -4
- package/plugins/persistentState/persistentState.mjs +12 -3
- package/plugins/persistentState/storage.js +1 -1
- package/plugins/persistentState/storage.mjs +1 -1
- package/plugins/registry.d.ts +9 -0
- package/plugins/registry.js +4 -2
- package/plugins/registry.mjs +2 -1
- package/plugins/search/index.d.ts +1 -0
- package/plugins/search/search.d.ts +28 -0
- package/plugins/search/search.js +7 -6
- package/plugins/search/search.mjs +7 -6
- package/plugins/touchScroll/index.d.ts +1 -0
- package/plugins/touchScroll/touchScroll.d.ts +13 -0
- package/plugins/touchScroll/touchScroll.js +9 -9
- package/plugins/touchScroll/touchScroll.mjs +8 -8
- package/plugins/trimRows/index.d.ts +1 -0
- package/plugins/trimRows/trimRows.d.ts +17 -0
- package/plugins/trimRows/trimRows.js +3 -2
- package/plugins/trimRows/trimRows.mjs +3 -2
- package/plugins/undoRedo/index.d.ts +1 -0
- package/plugins/undoRedo/undoRedo.d.ts +49 -0
- package/plugins/undoRedo/undoRedo.js +28 -30
- package/plugins/undoRedo/undoRedo.mjs +26 -29
- package/registry.d.ts +6 -0
- package/registry.js +46 -0
- package/registry.mjs +27 -0
- package/renderers/autocompleteRenderer/autocompleteRenderer.d.ts +5 -0
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -1
- package/renderers/autocompleteRenderer/index.d.ts +1 -0
- package/renderers/base.d.ts +3 -0
- package/renderers/baseRenderer/baseRenderer.d.ts +5 -0
- package/renderers/baseRenderer/baseRenderer.js +1 -1
- package/renderers/baseRenderer/index.d.ts +1 -0
- package/renderers/checkboxRenderer/checkboxRenderer.d.ts +5 -0
- package/renderers/checkboxRenderer/checkboxRenderer.js +3 -5
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +3 -4
- package/renderers/checkboxRenderer/index.d.ts +1 -0
- package/renderers/htmlRenderer/htmlRenderer.d.ts +5 -0
- package/renderers/htmlRenderer/htmlRenderer.js +1 -1
- package/renderers/htmlRenderer/index.d.ts +1 -0
- package/renderers/index.d.ts +42 -0
- package/renderers/index.js +16 -2
- package/renderers/index.mjs +22 -7
- package/renderers/numericRenderer/index.d.ts +1 -0
- package/renderers/numericRenderer/numericRenderer.d.ts +5 -0
- package/renderers/numericRenderer/numericRenderer.js +1 -1
- package/renderers/passwordRenderer/index.d.ts +1 -0
- package/renderers/passwordRenderer/passwordRenderer.d.ts +5 -0
- package/renderers/passwordRenderer/passwordRenderer.js +1 -1
- package/renderers/registry.d.ts +18 -0
- package/renderers/registry.js +3 -2
- package/renderers/textRenderer/index.d.ts +1 -0
- package/renderers/textRenderer/textRenderer.d.ts +5 -0
- package/renderers/textRenderer/textRenderer.js +1 -1
- package/selection/highlight/constants.js +1 -1
- package/selection/highlight/highlight.js +7 -5
- package/selection/highlight/highlight.mjs +5 -4
- package/selection/highlight/types/activeHeader.js +2 -0
- package/selection/highlight/types/activeHeader.mjs +1 -0
- package/selection/highlight/types/area.js +2 -0
- package/selection/highlight/types/area.mjs +1 -0
- package/selection/highlight/types/cell.js +2 -0
- package/selection/highlight/types/cell.mjs +1 -0
- package/selection/highlight/types/customSelection.js +2 -0
- package/selection/highlight/types/customSelection.mjs +1 -0
- package/selection/highlight/types/fill.js +2 -0
- package/selection/highlight/types/fill.mjs +1 -0
- package/selection/highlight/types/header.js +2 -0
- package/selection/highlight/types/header.mjs +1 -0
- package/selection/highlight/types/index.js +2 -0
- package/selection/highlight/types/index.mjs +1 -0
- package/selection/highlight/visualSelection.js +7 -5
- package/selection/highlight/visualSelection.mjs +5 -4
- package/selection/index.d.ts +5 -0
- package/selection/index.js +2 -0
- package/selection/mouseEventHandler.js +4 -4
- package/selection/mouseEventHandler.mjs +3 -3
- package/selection/range.js +5 -5
- package/selection/range.mjs +4 -4
- package/selection/selection.js +18 -9
- package/selection/selection.mjs +17 -9
- package/selection/transformation.js +3 -2
- package/selection/transformation.mjs +3 -2
- package/selection/utils.js +6 -4
- package/selection/utils.mjs +3 -2
- package/settings.d.ts +208 -0
- package/tableView.js +20 -14
- package/tableView.mjs +19 -14
- package/translations/changesObservable/observable.js +10 -5
- package/translations/changesObservable/observable.mjs +10 -5
- package/translations/changesObservable/observer.js +6 -1
- package/translations/changesObservable/observer.mjs +6 -1
- package/translations/changesObservable/utils.js +1 -0
- package/translations/changesObservable/utils.mjs +1 -0
- package/translations/index.d.ts +1 -0
- package/translations/index.js +3 -1
- package/translations/indexMapper.d.ts +45 -0
- package/translations/indexMapper.js +8 -3
- package/translations/indexMapper.mjs +6 -2
- package/translations/mapCollections/aggregatedCollection.js +3 -3
- package/translations/mapCollections/aggregatedCollection.mjs +2 -2
- package/translations/mapCollections/index.js +2 -0
- package/translations/mapCollections/mapCollection.js +1 -1
- package/translations/maps/hidingMap.js +3 -3
- package/translations/maps/hidingMap.mjs +2 -2
- package/translations/maps/indexMap.d.ts +10 -0
- package/translations/maps/indexesSequence.js +4 -4
- package/translations/maps/indexesSequence.mjs +3 -3
- package/translations/maps/linkedPhysicalIndexToValueMap.js +4 -2
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +3 -2
- package/translations/maps/physicalIndexToValueMap.js +4 -4
- package/translations/maps/physicalIndexToValueMap.mjs +3 -3
- package/translations/maps/trimmingMap.js +3 -3
- package/translations/maps/trimmingMap.mjs +2 -2
- package/translations/maps/utils/actionsOnIndexes.js +2 -0
- package/translations/maps/utils/actionsOnIndexes.mjs +1 -0
- package/translations/maps/utils/indexesSequence.js +2 -0
- package/translations/maps/utils/indexesSequence.mjs +1 -0
- package/translations/maps/utils/physicallyIndexed.js +2 -0
- package/translations/maps/utils/physicallyIndexed.mjs +1 -0
- package/utils/dataStructures/priorityMap.js +4 -2
- package/utils/dataStructures/priorityMap.mjs +2 -1
- package/utils/dataStructures/tree.js +3 -1
- package/utils/dataStructures/tree.mjs +1 -0
- package/utils/dataStructures/uniqueMap.js +3 -1
- package/utils/dataStructures/uniqueMap.mjs +2 -1
- package/utils/dataStructures/uniqueSet.js +2 -0
- package/utils/dataStructures/uniqueSet.mjs +1 -0
- package/utils/ghostTable.js +5 -4
- package/utils/ghostTable.mjs +3 -3
- package/utils/interval.js +1 -2
- package/utils/interval.mjs +0 -1
- package/utils/parseTable.d.ts +5 -0
- package/utils/parseTable.js +2 -2
- package/utils/parseTable.mjs +1 -1
- package/utils/rootInstance.js +3 -2
- package/utils/samplesGenerator.js +0 -1
- package/utils/samplesGenerator.mjs +0 -1
- package/utils/staticRegister.js +3 -1
- package/utils/staticRegister.mjs +1 -0
- package/validators/autocompleteValidator/autocompleteValidator.d.ts +5 -0
- package/validators/autocompleteValidator/autocompleteValidator.js +1 -1
- package/validators/autocompleteValidator/index.d.ts +1 -0
- package/validators/base.d.ts +6 -0
- package/validators/dateValidator/dateValidator.d.ts +5 -0
- package/validators/dateValidator/dateValidator.js +2 -2
- package/validators/dateValidator/index.d.ts +1 -0
- package/validators/index.d.ts +33 -0
- package/validators/index.js +13 -2
- package/validators/index.mjs +16 -4
- package/validators/numericValidator/index.d.ts +1 -0
- package/validators/numericValidator/numericValidator.d.ts +5 -0
- package/validators/numericValidator/numericValidator.js +1 -1
- package/validators/registry.d.ts +18 -0
- package/validators/registry.js +3 -2
- package/validators/timeValidator/index.d.ts +1 -0
- package/validators/timeValidator/timeValidator.d.ts +5 -0
- package/validators/timeValidator/timeValidator.js +3 -1
- package/validators/timeValidator/timeValidator.mjs +1 -0
- package/handsontable-general-terms.pdf +0 -0
- package/handsontable.d.ts +0 -2616
- package/plugins/formulas/autofill.js +0 -180
- package/plugins/formulas/autofill.mjs +0 -172
@@ -22,17 +22,25 @@ require("core-js/modules/es.function.name.js");
|
|
22
22
|
|
23
23
|
require("core-js/modules/es.array.from.js");
|
24
24
|
|
25
|
+
require("core-js/modules/es.regexp.exec.js");
|
26
|
+
|
27
|
+
require("core-js/modules/es.object.keys.js");
|
28
|
+
|
29
|
+
require("core-js/modules/es.array.filter.js");
|
30
|
+
|
31
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
32
|
+
|
25
33
|
exports.__esModule = true;
|
26
|
-
exports.
|
34
|
+
exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.Formulas = void 0;
|
27
35
|
|
28
36
|
require("core-js/modules/es.array.concat.js");
|
29
37
|
|
38
|
+
require("core-js/modules/es.object.to-string.js");
|
39
|
+
|
30
40
|
require("core-js/modules/web.dom-collections.for-each.js");
|
31
41
|
|
32
42
|
require("core-js/modules/es.array.iterator.js");
|
33
43
|
|
34
|
-
require("core-js/modules/es.object.to-string.js");
|
35
|
-
|
36
44
|
require("core-js/modules/es.set.js");
|
37
45
|
|
38
46
|
require("core-js/modules/es.string.iterator.js");
|
@@ -53,12 +61,12 @@ require("core-js/modules/es.weak-map.js");
|
|
53
61
|
|
54
62
|
var _base = require("../base");
|
55
63
|
|
56
|
-
var _autofill = require("./autofill");
|
57
|
-
|
58
64
|
var _staticRegister = _interopRequireDefault(require("../../utils/staticRegister"));
|
59
65
|
|
60
66
|
var _console = require("../../helpers/console");
|
61
67
|
|
68
|
+
var _number = require("../../helpers/number");
|
69
|
+
|
62
70
|
var _mixed = require("../../helpers/mixed");
|
63
71
|
|
64
72
|
var _register = require("./engine/register");
|
@@ -83,6 +91,10 @@ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symb
|
|
83
91
|
|
84
92
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
85
93
|
|
94
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
95
|
+
|
96
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
97
|
+
|
86
98
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
87
99
|
|
88
100
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
@@ -93,7 +105,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
93
105
|
|
94
106
|
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; }
|
95
107
|
|
96
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr
|
108
|
+
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; }
|
97
109
|
|
98
110
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
99
111
|
|
@@ -103,7 +115,7 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
103
115
|
|
104
116
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
105
117
|
|
106
|
-
function _get(
|
118
|
+
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } 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); }
|
107
119
|
|
108
120
|
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
109
121
|
|
@@ -113,7 +125,7 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || func
|
|
113
125
|
|
114
126
|
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); }; }
|
115
127
|
|
116
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
128
|
+
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); }
|
117
129
|
|
118
130
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
119
131
|
|
@@ -123,6 +135,10 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
|
|
123
135
|
|
124
136
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
125
137
|
|
138
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
139
|
+
|
140
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
141
|
+
|
126
142
|
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
127
143
|
|
128
144
|
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; } }
|
@@ -137,6 +153,7 @@ var PLUGIN_KEY = 'formulas';
|
|
137
153
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
138
154
|
var PLUGIN_PRIORITY = 260;
|
139
155
|
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
156
|
+
var ROW_MOVE_UNDO_REDO_NAME = 'row_move';
|
140
157
|
|
141
158
|
_pluginHooks.default.getSingleton().register('afterNamedExpressionAdded');
|
142
159
|
|
@@ -148,13 +165,24 @@ _pluginHooks.default.getSingleton().register('afterSheetRemoved');
|
|
148
165
|
|
149
166
|
_pluginHooks.default.getSingleton().register('afterSheetRenamed');
|
150
167
|
|
151
|
-
_pluginHooks.default.getSingleton().register('afterFormulasValuesUpdate');
|
168
|
+
_pluginHooks.default.getSingleton().register('afterFormulasValuesUpdate'); // This function will be used for detecting changes coming from the `UndoRedo` plugin. This kind of change won't be
|
169
|
+
// handled by whole body of listeners and therefore won't change undo/redo stack inside engine provided by HyperFormula.
|
170
|
+
// HyperFormula's `undo` and `redo` methods will do it instead. Please keep in mind that undo/redo stacks inside
|
171
|
+
// instances of Handsontable and HyperFormula should be synced (number of actions should be the same).
|
172
|
+
|
173
|
+
|
174
|
+
var isBlockedSource = function isBlockedSource(source) {
|
175
|
+
return source === 'UndoRedo.undo' || source === 'UndoRedo.redo' || source === 'auto';
|
176
|
+
};
|
152
177
|
/**
|
153
178
|
* This plugin allows you to perform Excel-like calculations in your business applications. It does it by an
|
154
179
|
* integration with our other product, [HyperFormula](https://github.com/handsontable/hyperformula/), which is a
|
155
180
|
* powerful calculation engine with an extensive number of features.
|
156
181
|
*
|
182
|
+
* To test out HyperFormula, see [this guide](@/guides/formulas/formula-calculation.md#available-functions).
|
183
|
+
*
|
157
184
|
* @plugin Formulas
|
185
|
+
* @class Formulas
|
158
186
|
*/
|
159
187
|
|
160
188
|
|
@@ -180,17 +208,17 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
180
208
|
|
181
209
|
_this = _super.call.apply(_super, [this].concat(_args));
|
182
210
|
|
183
|
-
|
211
|
+
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _internalOperationPending, {
|
184
212
|
writable: true,
|
185
213
|
value: false
|
186
214
|
});
|
187
215
|
|
188
|
-
|
216
|
+
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _hotWasInitializedWithEmptyData, {
|
189
217
|
writable: true,
|
190
218
|
value: false
|
191
219
|
});
|
192
220
|
|
193
|
-
|
221
|
+
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _engineListeners, {
|
194
222
|
writable: true,
|
195
223
|
value: [['valuesUpdated', function () {
|
196
224
|
var _this2;
|
@@ -275,7 +303,11 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
275
303
|
|
276
304
|
|
277
305
|
if (this.sheetName !== null && !this.engine.doesSheetExist(this.sheetName)) {
|
278
|
-
|
306
|
+
var newSheetName = this.addSheet(this.sheetName, this.hot.getSourceDataArray());
|
307
|
+
|
308
|
+
if (newSheetName !== false) {
|
309
|
+
this.sheetName = newSheetName;
|
310
|
+
}
|
279
311
|
}
|
280
312
|
|
281
313
|
this.addHook('beforeLoadData', function () {
|
@@ -325,10 +357,31 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
325
357
|
});
|
326
358
|
this.addHook('afterRemoveCol', function () {
|
327
359
|
return _this8.onAfterRemoveCol.apply(_this8, arguments);
|
360
|
+
}); // Handling undo actions on data just using HyperFormula's UndoRedo mechanism
|
361
|
+
|
362
|
+
this.addHook('beforeUndo', function (action) {
|
363
|
+
// TODO: Move action isn't handled by HyperFormula.
|
364
|
+
if ((action === null || action === void 0 ? void 0 : action.actionType) === ROW_MOVE_UNDO_REDO_NAME) {
|
365
|
+
return;
|
366
|
+
}
|
367
|
+
|
368
|
+
_this8.engine.undo();
|
369
|
+
}); // Handling redo actions on data just using HyperFormula's UndoRedo mechanism
|
370
|
+
|
371
|
+
this.addHook('beforeRedo', function (action) {
|
372
|
+
// TODO: Move action isn't handled by HyperFormula.
|
373
|
+
if ((action === null || action === void 0 ? void 0 : action.actionType) === ROW_MOVE_UNDO_REDO_NAME) {
|
374
|
+
return;
|
375
|
+
}
|
376
|
+
|
377
|
+
_this8.engine.redo();
|
378
|
+
});
|
379
|
+
this.addHook('afterDetachChild', function () {
|
380
|
+
return _this8.onAfterDetachChild.apply(_this8, arguments);
|
381
|
+
});
|
382
|
+
this.addHook('beforeAutofill', function () {
|
383
|
+
return _this8.onBeforeAutofill.apply(_this8, arguments);
|
328
384
|
});
|
329
|
-
var autofillHooks = (0, _autofill.createAutofillHooks)(this);
|
330
|
-
this.addHook('beforeAutofill', autofillHooks.beforeAutofill);
|
331
|
-
this.addHook('afterAutofill', autofillHooks.afterAutofill);
|
332
385
|
|
333
386
|
_classPrivateFieldGet(this, _engineListeners).forEach(function (_ref) {
|
334
387
|
var _ref2 = _slicedToArray(_ref, 2),
|
@@ -358,6 +411,7 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
358
411
|
});
|
359
412
|
|
360
413
|
(0, _register.unregisterEngine)(this.engine, this.hot);
|
414
|
+
this.engine = null;
|
361
415
|
|
362
416
|
_get(_getPrototypeOf(Formulas.prototype), "disablePlugin", this).call(this);
|
363
417
|
}
|
@@ -414,6 +468,7 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
414
468
|
_classPrivateFieldSet(this, _engineListeners, null);
|
415
469
|
|
416
470
|
(0, _register.unregisterEngine)(this.engine, this.hot);
|
471
|
+
this.engine = null;
|
417
472
|
|
418
473
|
_get(_getPrototypeOf(Formulas.prototype), "destroy", this).call(this);
|
419
474
|
}
|
@@ -503,7 +558,7 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
503
558
|
var actualSheetName = this.engine.addSheet(sheetName !== null && sheetName !== void 0 ? sheetName : void 0);
|
504
559
|
|
505
560
|
if (sheetData) {
|
506
|
-
this.engine.setSheetContent(actualSheetName, sheetData);
|
561
|
+
this.engine.setSheetContent(this.engine.getSheetId(actualSheetName), sheetData);
|
507
562
|
}
|
508
563
|
|
509
564
|
return actualSheetName;
|
@@ -540,18 +595,26 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
540
595
|
* @param {number} row Visual row index.
|
541
596
|
* @param {number} column Visual column index.
|
542
597
|
* @param {number} [sheet] The target sheet id, defaults to the current sheet.
|
543
|
-
* @returns {string} Possible values: 'FORMULA' | 'VALUE' | '
|
598
|
+
* @returns {string} Possible values: 'FORMULA' | 'VALUE' | 'ARRAYFORMULA' | 'EMPTY'.
|
544
599
|
*/
|
545
600
|
|
546
601
|
}, {
|
547
602
|
key: "getCellType",
|
548
603
|
value: function getCellType(row, column) {
|
549
604
|
var sheet = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.sheetId;
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
605
|
+
var physicalRow = this.hot.toPhysicalRow(row);
|
606
|
+
var physicalColumn = this.hot.toPhysicalColumn(column);
|
607
|
+
|
608
|
+
if (physicalRow !== null && physicalColumn !== null) {
|
609
|
+
return this.engine.getCellType({
|
610
|
+
sheet: sheet,
|
611
|
+
row: physicalRow,
|
612
|
+
col: physicalColumn
|
613
|
+
});
|
614
|
+
} else {
|
615
|
+
// Should return `EMPTY` when out of bounds (according to the test cases).
|
616
|
+
return 'EMPTY';
|
617
|
+
}
|
555
618
|
}
|
556
619
|
/**
|
557
620
|
* Returns `true` if under specified visual coordinates is formula.
|
@@ -566,8 +629,18 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
566
629
|
key: "isFormulaCellType",
|
567
630
|
value: function isFormulaCellType(row, column) {
|
568
631
|
var sheet = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.sheetId;
|
569
|
-
var
|
570
|
-
|
632
|
+
var physicalRow = this.hot.toPhysicalRow(row);
|
633
|
+
var physicalColumn = this.hot.toPhysicalColumn(column);
|
634
|
+
|
635
|
+
if (physicalRow === null || physicalColumn === null) {
|
636
|
+
return false;
|
637
|
+
}
|
638
|
+
|
639
|
+
return this.engine.doesCellHaveFormula({
|
640
|
+
sheet: sheet,
|
641
|
+
row: physicalRow,
|
642
|
+
col: physicalColumn
|
643
|
+
});
|
571
644
|
}
|
572
645
|
/**
|
573
646
|
* Renders dependent sheets (handsontable instances) based on the changes - list of the
|
@@ -716,6 +789,44 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
716
789
|
|
717
790
|
return value;
|
718
791
|
}
|
792
|
+
/**
|
793
|
+
* `onBeforeAutofill` hook callback.
|
794
|
+
*
|
795
|
+
* @private
|
796
|
+
* @param {Array[]} fillData The data that was used to fill the `targetRange`. If `beforeAutofill` was used
|
797
|
+
* and returned `[[]]`, this will be the same object that was returned from `beforeAutofill`.
|
798
|
+
* @param {CellRange} sourceRange The range values will be filled from.
|
799
|
+
* @param {CellRange} targetRange The range new values will be filled into.
|
800
|
+
* @returns {boolean|*}
|
801
|
+
*/
|
802
|
+
|
803
|
+
}, {
|
804
|
+
key: "onBeforeAutofill",
|
805
|
+
value: function onBeforeAutofill(fillData, sourceRange, targetRange) {
|
806
|
+
var _this13 = this;
|
807
|
+
|
808
|
+
var withSheetId = function withSheetId(range) {
|
809
|
+
return _objectSpread(_objectSpread({}, range), {}, {
|
810
|
+
sheet: _this13.sheetId
|
811
|
+
});
|
812
|
+
};
|
813
|
+
|
814
|
+
var engineSourceRange = {
|
815
|
+
start: withSheetId(sourceRange.getTopLeftCorner()),
|
816
|
+
end: withSheetId(sourceRange.getBottomRightCorner())
|
817
|
+
};
|
818
|
+
var engineTargetRange = {
|
819
|
+
start: withSheetId(targetRange.getTopLeftCorner()),
|
820
|
+
end: withSheetId(targetRange.getBottomRightCorner())
|
821
|
+
}; // Blocks the autofill operation if HyperFormula says that at least one of
|
822
|
+
// the underlying cell's contents cannot be set.
|
823
|
+
|
824
|
+
if (this.engine.isItPossibleToSetCellContents(engineTargetRange) === false) {
|
825
|
+
return false;
|
826
|
+
}
|
827
|
+
|
828
|
+
return this.engine.getFillRangeData(engineSourceRange, engineTargetRange);
|
829
|
+
}
|
719
830
|
/**
|
720
831
|
* `beforeLoadData` hook callback.
|
721
832
|
*
|
@@ -761,10 +872,10 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
761
872
|
if (!_classPrivateFieldGet(this, _hotWasInitializedWithEmptyData)) {
|
762
873
|
var sourceDataArray = this.hot.getSourceDataArray();
|
763
874
|
|
764
|
-
if (this.engine.isItPossibleToReplaceSheetContent(this.
|
875
|
+
if (this.engine.isItPossibleToReplaceSheetContent(this.sheetId, sourceDataArray)) {
|
765
876
|
_classPrivateFieldSet(this, _internalOperationPending, true);
|
766
877
|
|
767
|
-
var dependentCells = this.engine.setSheetContent(this.
|
878
|
+
var dependentCells = this.engine.setSheetContent(this.sheetId, this.hot.getSourceDataArray());
|
768
879
|
this.renderDependentSheets(dependentCells);
|
769
880
|
|
770
881
|
_classPrivateFieldSet(this, _internalOperationPending, false);
|
@@ -789,18 +900,23 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
789
900
|
value: function onModifyData(row, column, valueHolder, ioMode) {
|
790
901
|
if (ioMode !== 'get' || _classPrivateFieldGet(this, _internalOperationPending) || this.sheetName === null || !this.engine.doesSheetExist(this.sheetName)) {
|
791
902
|
return;
|
792
|
-
}
|
903
|
+
}
|
793
904
|
|
905
|
+
var visualRow = this.hot.toVisualRow(row); // `column` is here as visual index because of inconsistencies related to hook execution in `src/dataMap`.
|
794
906
|
|
795
|
-
var isFormulaCellType = this.isFormulaCellType(
|
907
|
+
var isFormulaCellType = this.isFormulaCellType(visualRow, column);
|
796
908
|
|
797
909
|
if (!isFormulaCellType) {
|
798
|
-
|
799
|
-
valueHolder.value = (0, _utils.unescapeFormulaExpression)(valueHolder.value);
|
800
|
-
}
|
910
|
+
var cellType = this.getCellType(visualRow, column);
|
801
911
|
|
802
|
-
|
803
|
-
|
912
|
+
if (cellType !== 'ARRAY') {
|
913
|
+
if ((0, _utils.isEscapedFormulaExpression)(valueHolder.value)) {
|
914
|
+
valueHolder.value = (0, _utils.unescapeFormulaExpression)(valueHolder.value);
|
915
|
+
}
|
916
|
+
|
917
|
+
return;
|
918
|
+
}
|
919
|
+
} // `toPhysicalColumn` is here because of inconsistencies related to hook execution in `DataMap`.
|
804
920
|
|
805
921
|
|
806
922
|
var address = {
|
@@ -831,12 +947,17 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
831
947
|
return;
|
832
948
|
}
|
833
949
|
|
950
|
+
var visualRow = this.hot.toVisualRow(row);
|
834
951
|
var visualColumn = this.hot.propToCol(columnOrProp); // `column` is here as visual index because of inconsistencies related to hook execution in `src/dataMap`.
|
835
952
|
|
836
|
-
var isFormulaCellType = this.isFormulaCellType(
|
953
|
+
var isFormulaCellType = this.isFormulaCellType(visualRow, visualColumn);
|
837
954
|
|
838
955
|
if (!isFormulaCellType) {
|
839
|
-
|
956
|
+
var cellType = this.getCellType(visualRow, visualColumn);
|
957
|
+
|
958
|
+
if (cellType !== 'ARRAY') {
|
959
|
+
return;
|
960
|
+
}
|
840
961
|
}
|
841
962
|
|
842
963
|
var dimensions = this.engine.getSheetDimensions(this.engine.getSheetId(this.sheetName)); // Don't actually change the source data if HyperFormula is not
|
@@ -861,42 +982,49 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
861
982
|
*
|
862
983
|
* @private
|
863
984
|
* @param {Array[]} changes An array of changes in format [[row, prop, oldValue, value], ...].
|
985
|
+
* @param {string} [source] String that identifies source of hook call
|
986
|
+
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
864
987
|
*/
|
865
988
|
|
866
989
|
}, {
|
867
990
|
key: "onAfterSetDataAtCell",
|
868
|
-
value: function onAfterSetDataAtCell(changes) {
|
869
|
-
var
|
991
|
+
value: function onAfterSetDataAtCell(changes, source) {
|
992
|
+
var _this14 = this;
|
993
|
+
|
994
|
+
if (isBlockedSource(source)) {
|
995
|
+
return;
|
996
|
+
}
|
870
997
|
|
871
|
-
var dependentCells = [];
|
872
998
|
var outOfBoundsChanges = [];
|
873
999
|
var changedCells = [];
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
|
1000
|
+
var dependentCells = this.engine.batch(function () {
|
1001
|
+
changes.forEach(function (_ref9) {
|
1002
|
+
var _ref10 = _slicedToArray(_ref9, 4),
|
1003
|
+
row = _ref10[0],
|
1004
|
+
prop = _ref10[1],
|
1005
|
+
newValue = _ref10[3];
|
879
1006
|
|
880
|
-
|
1007
|
+
var column = _this14.hot.propToCol(prop);
|
881
1008
|
|
882
|
-
|
1009
|
+
var physicalRow = _this14.hot.toPhysicalRow(row);
|
883
1010
|
|
884
|
-
|
1011
|
+
var physicalColumn = _this14.hot.toPhysicalColumn(column);
|
885
1012
|
|
886
|
-
|
887
|
-
|
888
|
-
|
889
|
-
|
890
|
-
|
1013
|
+
var address = {
|
1014
|
+
row: physicalRow,
|
1015
|
+
col: physicalColumn,
|
1016
|
+
sheet: _this14.sheetId
|
1017
|
+
};
|
891
1018
|
|
892
|
-
|
893
|
-
|
894
|
-
|
895
|
-
|
896
|
-
|
1019
|
+
if (physicalRow !== null && physicalColumn !== null) {
|
1020
|
+
_this14.syncChangeWithEngine(row, column, newValue);
|
1021
|
+
} else {
|
1022
|
+
outOfBoundsChanges.push([row, column, newValue]);
|
1023
|
+
}
|
897
1024
|
|
898
|
-
|
899
|
-
|
1025
|
+
changedCells.push({
|
1026
|
+
address: address
|
1027
|
+
});
|
900
1028
|
});
|
901
1029
|
});
|
902
1030
|
|
@@ -904,17 +1032,18 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
904
1032
|
// Workaround for rows/columns being created two times (by HOT and the engine).
|
905
1033
|
// (unfortunately, this requires an extra re-render)
|
906
1034
|
this.hot.addHookOnce('afterChange', function () {
|
907
|
-
var outOfBoundsDependentCells =
|
908
|
-
|
909
|
-
|
910
|
-
|
911
|
-
|
912
|
-
|
913
|
-
|
914
|
-
|
1035
|
+
var outOfBoundsDependentCells = _this14.engine.batch(function () {
|
1036
|
+
outOfBoundsChanges.forEach(function (_ref11) {
|
1037
|
+
var _ref12 = _slicedToArray(_ref11, 3),
|
1038
|
+
row = _ref12[0],
|
1039
|
+
column = _ref12[1],
|
1040
|
+
newValue = _ref12[2];
|
1041
|
+
|
1042
|
+
_this14.syncChangeWithEngine(row, column, newValue);
|
1043
|
+
});
|
915
1044
|
});
|
916
1045
|
|
917
|
-
|
1046
|
+
_this14.renderDependentSheets(outOfBoundsDependentCells, true);
|
918
1047
|
});
|
919
1048
|
}
|
920
1049
|
|
@@ -926,28 +1055,40 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
926
1055
|
*
|
927
1056
|
* @private
|
928
1057
|
* @param {Array[]} changes An array of changes in format [[row, column, oldValue, value], ...].
|
1058
|
+
* @param {string} [source] String that identifies source of hook call
|
1059
|
+
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
929
1060
|
*/
|
930
1061
|
|
931
1062
|
}, {
|
932
1063
|
key: "onAfterSetSourceDataAtCell",
|
933
|
-
value: function onAfterSetSourceDataAtCell(changes) {
|
934
|
-
var
|
1064
|
+
value: function onAfterSetSourceDataAtCell(changes, source) {
|
1065
|
+
var _this15 = this;
|
1066
|
+
|
1067
|
+
if (isBlockedSource(source)) {
|
1068
|
+
return;
|
1069
|
+
}
|
935
1070
|
|
936
1071
|
var dependentCells = [];
|
937
1072
|
var changedCells = [];
|
938
1073
|
changes.forEach(function (_ref13) {
|
939
1074
|
var _ref14 = _slicedToArray(_ref13, 4),
|
940
1075
|
row = _ref14[0],
|
941
|
-
|
1076
|
+
prop = _ref14[1],
|
942
1077
|
newValue = _ref14[3];
|
943
1078
|
|
1079
|
+
var column = _this15.hot.propToCol(prop);
|
1080
|
+
|
1081
|
+
if (!(0, _number.isNumeric)(column)) {
|
1082
|
+
return;
|
1083
|
+
}
|
1084
|
+
|
944
1085
|
var address = {
|
945
1086
|
row: row,
|
946
|
-
col:
|
947
|
-
sheet:
|
1087
|
+
col: _this15.toPhysicalColumnPosition(column),
|
1088
|
+
sheet: _this15.sheetId
|
948
1089
|
};
|
949
1090
|
|
950
|
-
if (!
|
1091
|
+
if (!_this15.engine.isItPossibleToSetCellContents(address)) {
|
951
1092
|
(0, _console.warn)("Not possible to set source cell data at ".concat(JSON.stringify(address)));
|
952
1093
|
return;
|
953
1094
|
}
|
@@ -955,7 +1096,7 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
955
1096
|
changedCells.push({
|
956
1097
|
address: address
|
957
1098
|
});
|
958
|
-
dependentCells.push.apply(dependentCells, _toConsumableArray(
|
1099
|
+
dependentCells.push.apply(dependentCells, _toConsumableArray(_this15.engine.setCellContents(address, newValue)));
|
959
1100
|
});
|
960
1101
|
this.renderDependentSheets(dependentCells);
|
961
1102
|
this.validateDependentCells(dependentCells, changedCells);
|
@@ -972,7 +1113,7 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
972
1113
|
}, {
|
973
1114
|
key: "onBeforeCreateRow",
|
974
1115
|
value: function onBeforeCreateRow(row, amount) {
|
975
|
-
if (!this.engine.isItPossibleToAddRows(this.sheetId, [this.toPhysicalRowPosition(row), amount])) {
|
1116
|
+
if (this.sheetId === null || !this.engine.doesSheetExist(this.sheetName) || !this.engine.isItPossibleToAddRows(this.sheetId, [this.toPhysicalRowPosition(row), amount])) {
|
976
1117
|
return false;
|
977
1118
|
}
|
978
1119
|
}
|
@@ -988,7 +1129,7 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
988
1129
|
}, {
|
989
1130
|
key: "onBeforeCreateCol",
|
990
1131
|
value: function onBeforeCreateCol(col, amount) {
|
991
|
-
if (!this.engine.isItPossibleToAddColumns(this.sheetId, [this.toPhysicalColumnPosition(col), amount])) {
|
1132
|
+
if (this.sheetId === null || !this.engine.doesSheetExist(this.sheetName) || !this.engine.isItPossibleToAddColumns(this.sheetId, [this.toPhysicalColumnPosition(col), amount])) {
|
992
1133
|
return false;
|
993
1134
|
}
|
994
1135
|
}
|
@@ -1005,10 +1146,10 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1005
1146
|
}, {
|
1006
1147
|
key: "onBeforeRemoveRow",
|
1007
1148
|
value: function onBeforeRemoveRow(row, amount, physicalRows) {
|
1008
|
-
var
|
1149
|
+
var _this16 = this;
|
1009
1150
|
|
1010
1151
|
var possible = physicalRows.every(function (physicalRow) {
|
1011
|
-
return
|
1152
|
+
return _this16.engine.isItPossibleToRemoveRows(_this16.sheetId, [physicalRow, 1]);
|
1012
1153
|
});
|
1013
1154
|
return possible === false ? false : void 0;
|
1014
1155
|
}
|
@@ -1025,10 +1166,10 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1025
1166
|
}, {
|
1026
1167
|
key: "onBeforeRemoveCol",
|
1027
1168
|
value: function onBeforeRemoveCol(col, amount, physicalColumns) {
|
1028
|
-
var
|
1169
|
+
var _this17 = this;
|
1029
1170
|
|
1030
1171
|
var possible = physicalColumns.every(function (physicalColumn) {
|
1031
|
-
return
|
1172
|
+
return _this17.engine.isItPossibleToRemoveColumns(_this17.sheetId, [physicalColumn, 1]);
|
1032
1173
|
});
|
1033
1174
|
return possible === false ? false : void 0;
|
1034
1175
|
}
|
@@ -1038,11 +1179,17 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1038
1179
|
* @private
|
1039
1180
|
* @param {number} row Represents the visual index of first newly created row in the data source array.
|
1040
1181
|
* @param {number} amount Number of newly created rows in the data source array.
|
1182
|
+
* @param {string} [source] String that identifies source of hook call
|
1183
|
+
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
1041
1184
|
*/
|
1042
1185
|
|
1043
1186
|
}, {
|
1044
1187
|
key: "onAfterCreateRow",
|
1045
|
-
value: function onAfterCreateRow(row, amount) {
|
1188
|
+
value: function onAfterCreateRow(row, amount, source) {
|
1189
|
+
if (isBlockedSource(source)) {
|
1190
|
+
return;
|
1191
|
+
}
|
1192
|
+
|
1046
1193
|
var changes = this.engine.addRows(this.sheetId, [this.toPhysicalRowPosition(row), amount]);
|
1047
1194
|
this.renderDependentSheets(changes);
|
1048
1195
|
}
|
@@ -1052,11 +1199,17 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1052
1199
|
* @private
|
1053
1200
|
* @param {number} col Represents the visual index of first newly created column in the data source.
|
1054
1201
|
* @param {number} amount Number of newly created columns in the data source.
|
1202
|
+
* @param {string} [source] String that identifies source of hook call
|
1203
|
+
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
1055
1204
|
*/
|
1056
1205
|
|
1057
1206
|
}, {
|
1058
1207
|
key: "onAfterCreateCol",
|
1059
|
-
value: function onAfterCreateCol(col, amount) {
|
1208
|
+
value: function onAfterCreateCol(col, amount, source) {
|
1209
|
+
if (isBlockedSource(source)) {
|
1210
|
+
return;
|
1211
|
+
}
|
1212
|
+
|
1060
1213
|
var changes = this.engine.addColumns(this.sheetId, [this.toPhysicalColumnPosition(col), amount]);
|
1061
1214
|
this.renderDependentSheets(changes);
|
1062
1215
|
}
|
@@ -1067,17 +1220,23 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1067
1220
|
* @param {number} row Visual index of starter row.
|
1068
1221
|
* @param {number} amount An amount of removed rows.
|
1069
1222
|
* @param {number[]} physicalRows An array of physical rows removed from the data source.
|
1223
|
+
* @param {string} [source] String that identifies source of hook call
|
1224
|
+
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
1070
1225
|
*/
|
1071
1226
|
|
1072
1227
|
}, {
|
1073
1228
|
key: "onAfterRemoveRow",
|
1074
|
-
value: function onAfterRemoveRow(row, amount, physicalRows) {
|
1075
|
-
var
|
1229
|
+
value: function onAfterRemoveRow(row, amount, physicalRows, source) {
|
1230
|
+
var _this18 = this;
|
1231
|
+
|
1232
|
+
if (isBlockedSource(source)) {
|
1233
|
+
return;
|
1234
|
+
}
|
1076
1235
|
|
1077
1236
|
var descendingPhysicalRows = physicalRows.sort().reverse();
|
1078
1237
|
var changes = this.engine.batch(function () {
|
1079
1238
|
descendingPhysicalRows.forEach(function (physicalRow) {
|
1080
|
-
|
1239
|
+
_this18.engine.removeRows(_this18.sheetId, [physicalRow, 1]);
|
1081
1240
|
});
|
1082
1241
|
});
|
1083
1242
|
this.renderDependentSheets(changes);
|
@@ -1089,21 +1248,59 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
1089
1248
|
* @param {number} col Visual index of starter column.
|
1090
1249
|
* @param {number} amount An amount of removed columns.
|
1091
1250
|
* @param {number[]} physicalColumns An array of physical columns removed from the data source.
|
1251
|
+
* @param {string} [source] String that identifies source of hook call
|
1252
|
+
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
1092
1253
|
*/
|
1093
1254
|
|
1094
1255
|
}, {
|
1095
1256
|
key: "onAfterRemoveCol",
|
1096
|
-
value: function onAfterRemoveCol(col, amount, physicalColumns) {
|
1097
|
-
var
|
1257
|
+
value: function onAfterRemoveCol(col, amount, physicalColumns, source) {
|
1258
|
+
var _this19 = this;
|
1259
|
+
|
1260
|
+
if (isBlockedSource(source)) {
|
1261
|
+
return;
|
1262
|
+
}
|
1098
1263
|
|
1099
1264
|
var descendingPhysicalColumns = physicalColumns.sort().reverse();
|
1100
1265
|
var changes = this.engine.batch(function () {
|
1101
1266
|
descendingPhysicalColumns.forEach(function (physicalColumn) {
|
1102
|
-
|
1267
|
+
_this19.engine.removeColumns(_this19.sheetId, [physicalColumn, 1]);
|
1103
1268
|
});
|
1104
1269
|
});
|
1105
1270
|
this.renderDependentSheets(changes);
|
1106
1271
|
}
|
1272
|
+
/**
|
1273
|
+
* `afterDetachChild` hook callback.
|
1274
|
+
* Used to sync the data of the rows detached in the Nested Rows plugin with the engine's dataset.
|
1275
|
+
*
|
1276
|
+
* @private
|
1277
|
+
* @param {object} parent An object representing the parent from which the element was detached.
|
1278
|
+
* @param {object} element The detached element.
|
1279
|
+
* @param {number} finalElementRowIndex The final row index of the detached element.
|
1280
|
+
*/
|
1281
|
+
|
1282
|
+
}, {
|
1283
|
+
key: "onAfterDetachChild",
|
1284
|
+
value: function onAfterDetachChild(parent, element, finalElementRowIndex) {
|
1285
|
+
var _element$__children,
|
1286
|
+
_this20 = this;
|
1287
|
+
|
1288
|
+
_classPrivateFieldSet(this, _internalOperationPending, true);
|
1289
|
+
|
1290
|
+
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());
|
1291
|
+
|
1292
|
+
_classPrivateFieldSet(this, _internalOperationPending, false);
|
1293
|
+
|
1294
|
+
rowsData.forEach(function (row, relativeRowIndex) {
|
1295
|
+
row.forEach(function (value, colIndex) {
|
1296
|
+
_this20.engine.setCellContents({
|
1297
|
+
col: colIndex,
|
1298
|
+
row: finalElementRowIndex + relativeRowIndex,
|
1299
|
+
sheet: _this20.sheetId
|
1300
|
+
}, [[value]]);
|
1301
|
+
});
|
1302
|
+
});
|
1303
|
+
}
|
1107
1304
|
/**
|
1108
1305
|
* Called when a value is updated in the engine.
|
1109
1306
|
*
|