handsontable 14.2.0 → 14.3.0-next-3fa6b18-20240410
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/walkontable/src/calculator/renderAllColumns.js +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllColumns.mjs +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllRows.js +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllRows.mjs +1 -1
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +13 -18
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +13 -18
- package/3rdparty/walkontable/src/calculator/viewportRows.js +11 -16
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +11 -16
- package/3rdparty/walkontable/src/cell/coords.js +13 -18
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -18
- package/3rdparty/walkontable/src/cell/range.d.ts +2 -1
- package/3rdparty/walkontable/src/cell/range.js +42 -30
- package/3rdparty/walkontable/src/cell/range.mjs +42 -30
- package/3rdparty/walkontable/src/core/_base.js +2 -2
- package/3rdparty/walkontable/src/core/_base.mjs +2 -2
- package/3rdparty/walkontable/src/core/clone.js +1 -1
- package/3rdparty/walkontable/src/core/clone.mjs +1 -1
- package/3rdparty/walkontable/src/event.js +72 -104
- package/3rdparty/walkontable/src/event.mjs +72 -104
- package/3rdparty/walkontable/src/filter/column.js +1 -1
- package/3rdparty/walkontable/src/filter/column.mjs +1 -1
- package/3rdparty/walkontable/src/filter/row.js +1 -1
- package/3rdparty/walkontable/src/filter/row.mjs +1 -1
- package/3rdparty/walkontable/src/index.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.js +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.js +15 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +16 -2
- package/3rdparty/walkontable/src/overlay/top.js +12 -1
- package/3rdparty/walkontable/src/overlay/top.mjs +13 -2
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +1 -1
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +1 -1
- package/3rdparty/walkontable/src/overlays.js +47 -5
- package/3rdparty/walkontable/src/overlays.mjs +47 -5
- package/3rdparty/walkontable/src/renderer/_base.js +1 -1
- package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/cells.js +1 -1
- package/3rdparty/walkontable/src/renderer/cells.mjs +1 -1
- 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 +1 -1
- package/3rdparty/walkontable/src/renderer/rows.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/table.js +1 -1
- package/3rdparty/walkontable/src/renderer/table.mjs +1 -1
- package/3rdparty/walkontable/src/scroll.js +16 -18
- package/3rdparty/walkontable/src/scroll.mjs +16 -18
- package/3rdparty/walkontable/src/selection/manager.js +48 -69
- package/3rdparty/walkontable/src/selection/manager.mjs +48 -69
- package/3rdparty/walkontable/src/selection/scanner.js +33 -42
- package/3rdparty/walkontable/src/selection/scanner.mjs +33 -42
- package/3rdparty/walkontable/src/settings.js +1 -1
- package/3rdparty/walkontable/src/settings.mjs +1 -1
- package/3rdparty/walkontable/src/table.js +1 -1
- package/3rdparty/walkontable/src/table.mjs +1 -1
- package/3rdparty/walkontable/src/utils/column.js +1 -1
- package/3rdparty/walkontable/src/utils/column.mjs +1 -1
- package/3rdparty/walkontable/src/utils/columnStretching.js +28 -45
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +28 -45
- package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/view.js +2 -2
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +2 -2
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
- package/3rdparty/walkontable/src/utils/row.js +1 -1
- package/3rdparty/walkontable/src/utils/row.mjs +1 -1
- package/CHANGELOG.md +20 -0
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/viewportScroll/index.js +4 -1
- package/core/viewportScroll/index.mjs +4 -1
- package/core/viewportScroll/scrollStrategies/focusScroll.js +15 -0
- package/core/viewportScroll/scrollStrategies/focusScroll.mjs +11 -0
- package/core.d.ts +4 -3
- package/core.js +98 -43
- package/core.mjs +98 -43
- package/dataMap/dataMap.js +1 -1
- package/dataMap/dataMap.mjs +1 -1
- package/dataMap/dataSource.js +2 -2
- package/dataMap/dataSource.mjs +2 -2
- package/dataMap/metaManager/lazyFactoryMap.js +3 -5
- package/dataMap/metaManager/lazyFactoryMap.mjs +2 -4
- package/dataMap/metaManager/metaLayers/cellMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +2 -2
- package/dataMap/metaManager/metaLayers/columnMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/tableMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +1 -1
- package/dataMap/metaManager/metaSchema.js +272 -272
- package/dataMap/metaManager/metaSchema.mjs +272 -272
- package/dataMap/metaManager/mods/dynamicCellMeta.js +1 -1
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.js +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +1 -1
- package/dataMap/replaceData.js +1 -1
- package/dataMap/replaceData.mjs +1 -1
- package/dist/handsontable.css +4 -4
- package/dist/handsontable.full.css +4 -4
- package/dist/handsontable.full.js +9814 -10020
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +292 -292
- package/dist/handsontable.js +7484 -7056
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +25 -25
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/hr-HR.min.js +1 -1
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +26 -24
- package/editorManager.mjs +26 -24
- package/editors/autocompleteEditor/autocompleteEditor.js +7 -11
- package/editors/autocompleteEditor/autocompleteEditor.mjs +7 -11
- package/editors/baseEditor/baseEditor.js +1 -1
- package/editors/baseEditor/baseEditor.mjs +1 -1
- package/editors/dateEditor/dateEditor.js +49 -11
- package/editors/dateEditor/dateEditor.mjs +49 -11
- package/editors/selectEditor/selectEditor.js +20 -19
- package/editors/selectEditor/selectEditor.mjs +20 -19
- package/editors/textEditor/textEditor.js +1 -1
- package/editors/textEditor/textEditor.mjs +1 -1
- package/eventManager.js +2 -2
- package/eventManager.mjs +2 -2
- package/focusManager.js +64 -82
- package/focusManager.mjs +64 -82
- package/helpers/dom/element.js +23 -1
- package/helpers/dom/element.mjs +21 -1
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/helpers/object.js +2 -2
- package/helpers/object.mjs +2 -2
- package/i18n/languages/ar-AR.d.ts +5 -0
- package/i18n/languages/ar-AR.js +1 -1
- package/i18n/languages/cs-CZ.d.ts +5 -0
- package/i18n/languages/cs-CZ.js +1 -1
- package/i18n/languages/de-CH.js +1 -1
- package/i18n/languages/de-DE.js +1 -1
- package/i18n/languages/en-US.js +1 -1
- package/i18n/languages/es-MX.js +1 -1
- package/i18n/languages/fr-FR.js +1 -1
- package/i18n/languages/hr-HR.d.ts +5 -0
- package/i18n/languages/hr-HR.js +1 -1
- package/i18n/languages/it-IT.js +1 -1
- package/i18n/languages/ja-JP.js +1 -1
- package/i18n/languages/ko-KR.js +1 -1
- package/i18n/languages/lv-LV.js +1 -1
- package/i18n/languages/nb-NO.js +1 -1
- package/i18n/languages/nl-NL.js +1 -1
- package/i18n/languages/pl-PL.js +1 -1
- package/i18n/languages/pt-BR.js +1 -1
- package/i18n/languages/ru-RU.js +1 -1
- package/i18n/languages/sr-SP.d.ts +5 -0
- package/i18n/languages/sr-SP.js +1 -1
- package/i18n/languages/zh-CN.js +1 -1
- package/i18n/languages/zh-TW.js +1 -1
- package/i18n/registry.js +1 -1
- package/index.d.ts +10 -0
- package/index.js +1 -1
- package/package.json +14 -10
- package/pluginHooks.d.ts +4 -3
- package/pluginHooks.js +143 -82
- package/pluginHooks.mjs +143 -82
- package/plugins/autoColumnSize/autoColumnSize.js +50 -66
- package/plugins/autoColumnSize/autoColumnSize.mjs +50 -66
- package/plugins/autoRowSize/autoRowSize.js +29 -35
- package/plugins/autoRowSize/autoRowSize.mjs +29 -35
- package/plugins/autofill/autofill.js +31 -39
- package/plugins/autofill/autofill.mjs +31 -39
- package/plugins/base/base.js +13 -18
- package/plugins/base/base.mjs +13 -18
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +6 -6
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +6 -6
- package/plugins/collapsibleColumns/collapsibleColumns.js +60 -51
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +60 -51
- package/plugins/columnSorting/columnSorting.js +50 -46
- package/plugins/columnSorting/columnSorting.mjs +50 -46
- package/plugins/columnSorting/columnStatesManager.js +1 -1
- package/plugins/columnSorting/columnStatesManager.mjs +1 -1
- package/plugins/columnSummary/columnSummary.js +36 -40
- package/plugins/columnSummary/columnSummary.mjs +36 -40
- package/plugins/columnSummary/endpoints.js +1 -1
- package/plugins/columnSummary/endpoints.mjs +1 -1
- package/plugins/comments/commentEditor.js +1 -1
- package/plugins/comments/commentEditor.mjs +1 -1
- package/plugins/comments/comments.js +117 -159
- package/plugins/comments/comments.mjs +117 -159
- package/plugins/comments/contextMenuItem/addEditComment.js +1 -1
- package/plugins/comments/contextMenuItem/readOnlyComment.js +1 -1
- package/plugins/comments/contextMenuItem/removeComment.js +1 -1
- package/plugins/comments/displaySwitch.js +1 -1
- package/plugins/comments/displaySwitch.mjs +1 -1
- package/plugins/contextMenu/commandExecutor.js +1 -1
- package/plugins/contextMenu/commandExecutor.mjs +1 -1
- package/plugins/contextMenu/contextMenu.js +24 -30
- package/plugins/contextMenu/contextMenu.mjs +24 -30
- package/plugins/contextMenu/itemsFactory.js +2 -2
- package/plugins/contextMenu/itemsFactory.mjs +2 -2
- package/plugins/contextMenu/menu/cursor.js +1 -1
- package/plugins/contextMenu/menu/cursor.mjs +1 -1
- package/plugins/contextMenu/menu/defaultShortcutsList.js +26 -10
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +26 -10
- package/plugins/contextMenu/menu/menu.js +14 -22
- package/plugins/contextMenu/menu/menu.mjs +14 -22
- package/plugins/contextMenu/menu/positioner.js +41 -58
- package/plugins/contextMenu/menu/positioner.mjs +41 -58
- 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/index.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 +1 -1
- package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowAbove.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowBelow.js +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +1 -1
- package/plugins/copyPaste/copyPaste.js +120 -161
- package/plugins/copyPaste/copyPaste.mjs +120 -161
- package/plugins/copyPaste/copyableRanges.js +43 -66
- package/plugins/copyPaste/copyableRanges.mjs +43 -66
- package/plugins/customBorders/contextMenuItem/bottom.js +1 -1
- package/plugins/customBorders/contextMenuItem/left.js +1 -1
- package/plugins/customBorders/contextMenuItem/noBorders.js +1 -1
- package/plugins/customBorders/contextMenuItem/right.js +1 -1
- package/plugins/customBorders/contextMenuItem/top.js +1 -1
- package/plugins/customBorders/customBorders.js +14 -16
- package/plugins/customBorders/customBorders.mjs +13 -15
- package/plugins/dragToScroll/dragToScroll.js +7 -7
- package/plugins/dragToScroll/dragToScroll.mjs +7 -7
- package/plugins/dropdownMenu/dropdownMenu.js +84 -110
- package/plugins/dropdownMenu/dropdownMenu.mjs +84 -110
- package/plugins/exportFile/dataProvider.js +2 -2
- package/plugins/exportFile/dataProvider.mjs +2 -2
- package/plugins/exportFile/exportFile.js +2 -2
- package/plugins/exportFile/exportFile.mjs +1 -1
- package/plugins/exportFile/types/_base.js +1 -1
- package/plugins/exportFile/types/_base.mjs +1 -1
- package/plugins/filters/component/_base.js +1 -1
- package/plugins/filters/component/_base.mjs +1 -1
- package/plugins/filters/component/actionBar.js +11 -11
- package/plugins/filters/component/actionBar.mjs +9 -9
- package/plugins/filters/component/condition.js +15 -17
- package/plugins/filters/component/condition.mjs +14 -16
- package/plugins/filters/component/operators.js +7 -7
- package/plugins/filters/component/operators.mjs +7 -7
- package/plugins/filters/component/value.js +26 -30
- package/plugins/filters/component/value.mjs +25 -29
- package/plugins/filters/condition/beginsWith.js +1 -1
- package/plugins/filters/condition/between.js +1 -1
- package/plugins/filters/condition/contains.js +1 -1
- package/plugins/filters/condition/date/after.js +1 -1
- package/plugins/filters/condition/date/before.js +1 -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 +1 -1
- package/plugins/filters/condition/equal.js +1 -1
- package/plugins/filters/condition/greaterThan.js +1 -1
- package/plugins/filters/condition/greaterThanOrEqual.js +1 -1
- package/plugins/filters/condition/lessThan.js +1 -1
- package/plugins/filters/condition/lessThanOrEqual.js +1 -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/conditionCollection.js +1 -1
- package/plugins/filters/conditionCollection.mjs +1 -1
- package/plugins/filters/conditionUpdateObserver.js +23 -25
- package/plugins/filters/conditionUpdateObserver.mjs +23 -25
- package/plugins/filters/dataFilter.js +2 -2
- package/plugins/filters/dataFilter.mjs +2 -2
- package/plugins/filters/filters.js +84 -98
- package/plugins/filters/filters.mjs +83 -97
- package/plugins/filters/logicalOperations/conjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +1 -1
- package/plugins/filters/ui/_base.js +2 -2
- package/plugins/filters/ui/_base.mjs +1 -1
- package/plugins/filters/ui/input.js +13 -19
- package/plugins/filters/ui/input.mjs +13 -19
- package/plugins/filters/ui/link.js +8 -13
- package/plugins/filters/ui/link.mjs +8 -13
- package/plugins/filters/ui/multipleSelect.js +86 -113
- package/plugins/filters/ui/multipleSelect.mjs +85 -112
- package/plugins/filters/ui/radioInput.js +12 -20
- package/plugins/filters/ui/radioInput.mjs +12 -20
- package/plugins/filters/ui/select.js +51 -73
- package/plugins/filters/ui/select.mjs +49 -71
- package/plugins/formulas/formulas.js +270 -328
- package/plugins/formulas/formulas.mjs +271 -329
- package/plugins/formulas/indexSyncer/axisSyncer.js +38 -61
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +38 -61
- package/plugins/formulas/indexSyncer/index.js +25 -48
- package/plugins/formulas/indexSyncer/index.mjs +25 -48
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -1
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +1 -1
- package/plugins/hiddenColumns/hiddenColumns.js +68 -87
- package/plugins/hiddenColumns/hiddenColumns.mjs +68 -87
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -1
- package/plugins/hiddenRows/contextMenuItem/showRow.js +1 -1
- package/plugins/hiddenRows/hiddenRows.js +67 -86
- package/plugins/hiddenRows/hiddenRows.mjs +67 -86
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +24 -32
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +25 -33
- package/plugins/manualColumnMove/manualColumnMove.js +133 -177
- package/plugins/manualColumnMove/manualColumnMove.mjs +133 -177
- package/plugins/manualColumnMove/ui/_base.js +1 -1
- package/plugins/manualColumnMove/ui/_base.mjs +1 -1
- package/plugins/manualColumnResize/manualColumnResize.js +169 -230
- package/plugins/manualColumnResize/manualColumnResize.mjs +169 -230
- package/plugins/manualRowMove/manualRowMove.js +106 -135
- package/plugins/manualRowMove/manualRowMove.mjs +106 -135
- package/plugins/manualRowMove/ui/_base.js +1 -1
- package/plugins/manualRowMove/ui/_base.mjs +1 -1
- package/plugins/manualRowResize/manualRowResize.js +150 -209
- package/plugins/manualRowResize/manualRowResize.mjs +150 -209
- package/plugins/mergeCells/calculations/autofill.js +1 -1
- package/plugins/mergeCells/calculations/autofill.mjs +1 -1
- package/plugins/mergeCells/calculations/selection.js +3 -72
- package/plugins/mergeCells/calculations/selection.mjs +3 -72
- package/plugins/mergeCells/cellCoords.js +1 -1
- package/plugins/mergeCells/cellCoords.mjs +1 -1
- package/plugins/mergeCells/cellsCollection.js +118 -2
- package/plugins/mergeCells/cellsCollection.mjs +118 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +12 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +11 -1
- package/plugins/mergeCells/focusOrder.js +305 -0
- package/plugins/mergeCells/focusOrder.mjs +300 -0
- package/plugins/mergeCells/mergeCells.js +500 -398
- package/plugins/mergeCells/mergeCells.mjs +500 -398
- package/plugins/multiColumnSorting/multiColumnSorting.js +9 -3
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +9 -3
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +2 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +2 -2
- package/plugins/nestedHeaders/nestedHeaders.js +206 -254
- package/plugins/nestedHeaders/nestedHeaders.mjs +207 -255
- package/plugins/nestedHeaders/stateManager/headersTree.js +21 -32
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -32
- package/plugins/nestedHeaders/stateManager/index.js +30 -41
- package/plugins/nestedHeaders/stateManager/index.mjs +30 -41
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -30
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -30
- package/plugins/nestedHeaders/utils/ghostTable.js +1 -1
- package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -1
- package/plugins/nestedRows/data/dataManager.js +2 -2
- package/plugins/nestedRows/data/dataManager.mjs +2 -2
- package/plugins/nestedRows/nestedRows.js +154 -185
- package/plugins/nestedRows/nestedRows.mjs +155 -186
- package/plugins/nestedRows/ui/_base.js +1 -1
- package/plugins/nestedRows/ui/_base.mjs +1 -1
- package/plugins/nestedRows/ui/contextMenu.js +13 -17
- package/plugins/nestedRows/ui/contextMenu.mjs +11 -15
- package/plugins/nestedRows/utils/rowMoveController.js +6 -6
- package/plugins/nestedRows/utils/rowMoveController.mjs +6 -6
- package/plugins/persistentState/persistentState.js +1 -1
- package/plugins/persistentState/persistentState.mjs +1 -1
- package/plugins/persistentState/storage.js +3 -3
- package/plugins/persistentState/storage.mjs +3 -3
- package/plugins/search/search.js +8 -8
- package/plugins/search/search.mjs +8 -8
- package/plugins/touchScroll/touchScroll.js +16 -20
- package/plugins/touchScroll/touchScroll.mjs +17 -21
- package/plugins/trimRows/trimRows.js +7 -7
- package/plugins/trimRows/trimRows.mjs +7 -7
- package/plugins/undoRedo/index.js +1 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +8 -5
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +8 -5
- package/selection/highlight/highlight.js +16 -18
- package/selection/highlight/highlight.mjs +15 -17
- package/selection/highlight/visualSelection.js +3 -1
- package/selection/highlight/visualSelection.mjs +3 -1
- package/selection/range.js +3 -5
- package/selection/range.mjs +2 -4
- package/selection/selection.js +227 -69
- package/selection/selection.mjs +225 -67
- package/selection/transformation.js +149 -118
- package/selection/transformation.mjs +149 -118
- package/shortcutContexts/commands/editor/closeAndSave.js +2 -2
- package/shortcutContexts/commands/editor/closeAndSave.mjs +2 -2
- package/shortcutContexts/commands/editor/open.js +18 -3
- package/shortcutContexts/commands/editor/open.mjs +18 -3
- package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +9 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +9 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +10 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +10 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +6 -1
- package/shortcutContexts/grid.js +9 -3
- package/shortcutContexts/grid.mjs +9 -3
- package/shortcuts/context.js +3 -2
- package/shortcuts/context.mjs +3 -2
- package/shortcuts/manager.js +2 -2
- package/shortcuts/manager.mjs +2 -2
- package/tableView.js +53 -79
- package/tableView.mjs +53 -79
- package/translations/changesObservable/observable.js +21 -38
- package/translations/changesObservable/observable.mjs +21 -38
- package/translations/changesObservable/observer.js +7 -12
- package/translations/changesObservable/observer.mjs +6 -11
- package/translations/indexMapper.js +1 -1
- package/translations/indexMapper.mjs +1 -1
- package/translations/mapCollections/aggregatedCollection.js +2 -2
- package/translations/mapCollections/aggregatedCollection.mjs +2 -2
- package/translations/mapCollections/mapCollection.js +1 -1
- package/translations/mapCollections/mapCollection.mjs +1 -1
- package/translations/maps/indexMap.js +2 -2
- package/translations/maps/indexMap.mjs +2 -2
- package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -1
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -1
- package/utils/dataStructures/linkedList.js +7 -2
- package/utils/dataStructures/linkedList.mjs +7 -2
- package/utils/dataStructures/tree.js +2 -2
- package/utils/dataStructures/tree.mjs +2 -2
- package/utils/ghostTable.js +1 -1
- package/utils/ghostTable.mjs +1 -1
- package/utils/interval.js +27 -45
- package/utils/interval.mjs +27 -45
- package/utils/samplesGenerator.js +1 -1
- package/utils/samplesGenerator.mjs +1 -1
@@ -1,18 +1,15 @@
|
|
1
|
-
import "core-js/modules/es.json.stringify.js";
|
2
|
-
import "core-js/modules/es.array.push.js";
|
3
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/es.array.push.js";
|
3
|
+
import "core-js/modules/es.json.stringify.js";
|
4
4
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
5
5
|
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; }
|
6
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
7
7
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
8
8
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
9
9
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
10
|
-
function _classPrivateFieldSet(
|
11
|
-
function
|
12
|
-
function
|
13
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
14
|
-
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
15
|
-
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
10
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
11
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
12
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
16
13
|
import { BasePlugin } from "../base/index.mjs";
|
17
14
|
import staticRegister from "../../utils/staticRegister.mjs";
|
18
15
|
import { error, warn } from "../../helpers/console.mjs";
|
@@ -46,7 +43,7 @@ const isBlockedSource = source => source === 'UndoRedo.undo' || source === 'Undo
|
|
46
43
|
* integration with our other product, [HyperFormula](https://github.com/handsontable/hyperformula/), which is a
|
47
44
|
* powerful calculation engine with an extensive number of features.
|
48
45
|
*
|
49
|
-
* To test out HyperFormula, see [this guide](@/guides/formulas/formula-calculation.md#available-functions).
|
46
|
+
* To test out HyperFormula, see [this guide](@/guides/formulas/formula-calculation/formula-calculation.md#available-functions).
|
50
47
|
*
|
51
48
|
* @plugin Formulas
|
52
49
|
* @class Formulas
|
@@ -54,228 +51,12 @@ const isBlockedSource = source => source === 'UndoRedo.undo' || source === 'Undo
|
|
54
51
|
var _internalOperationPending = /*#__PURE__*/new WeakMap();
|
55
52
|
var _hotWasInitializedWithEmptyData = /*#__PURE__*/new WeakMap();
|
56
53
|
var _engineListeners = /*#__PURE__*/new WeakMap();
|
57
|
-
var
|
58
|
-
var _onBeforeAutofill = /*#__PURE__*/new WeakSet();
|
59
|
-
var _onBeforeLoadData = /*#__PURE__*/new WeakSet();
|
60
|
-
var _onAfterCellMetaReset = /*#__PURE__*/new WeakSet();
|
61
|
-
var _onAfterLoadData = /*#__PURE__*/new WeakSet();
|
62
|
-
var _onModifyData = /*#__PURE__*/new WeakSet();
|
63
|
-
var _onModifySourceData = /*#__PURE__*/new WeakSet();
|
64
|
-
var _onAfterSetDataAtCell = /*#__PURE__*/new WeakSet();
|
65
|
-
var _onAfterSetSourceDataAtCell = /*#__PURE__*/new WeakSet();
|
66
|
-
var _onBeforeCreateRow = /*#__PURE__*/new WeakSet();
|
67
|
-
var _onBeforeCreateCol = /*#__PURE__*/new WeakSet();
|
68
|
-
var _onBeforeRemoveRow = /*#__PURE__*/new WeakSet();
|
69
|
-
var _onBeforeRemoveCol = /*#__PURE__*/new WeakSet();
|
70
|
-
var _onAfterCreateRow = /*#__PURE__*/new WeakSet();
|
71
|
-
var _onAfterCreateCol = /*#__PURE__*/new WeakSet();
|
72
|
-
var _onAfterRemoveRow = /*#__PURE__*/new WeakSet();
|
73
|
-
var _onAfterRemoveCol = /*#__PURE__*/new WeakSet();
|
74
|
-
var _onAfterDetachChild = /*#__PURE__*/new WeakSet();
|
75
|
-
var _onEngineValuesUpdated = /*#__PURE__*/new WeakSet();
|
76
|
-
var _onEngineNamedExpressionsAdded = /*#__PURE__*/new WeakSet();
|
77
|
-
var _onEngineNamedExpressionsRemoved = /*#__PURE__*/new WeakSet();
|
78
|
-
var _onEngineSheetAdded = /*#__PURE__*/new WeakSet();
|
79
|
-
var _onEngineSheetRenamed = /*#__PURE__*/new WeakSet();
|
80
|
-
var _onEngineSheetRemoved = /*#__PURE__*/new WeakSet();
|
54
|
+
var _Formulas_brand = /*#__PURE__*/new WeakSet();
|
81
55
|
export class Formulas extends BasePlugin {
|
82
56
|
constructor() {
|
83
57
|
var _this;
|
84
58
|
super(...arguments);
|
85
59
|
_this = this;
|
86
|
-
/**
|
87
|
-
* Called when a sheet is removed from the engine instance.
|
88
|
-
*
|
89
|
-
* @fires Hooks#afterSheetRemoved
|
90
|
-
* @param {string} removedSheetDisplayName The removed sheet name.
|
91
|
-
* @param {Array} changes The values and location of applied changes.
|
92
|
-
*/
|
93
|
-
_classPrivateMethodInitSpec(this, _onEngineSheetRemoved);
|
94
|
-
/**
|
95
|
-
* Called when a sheet in the engine instance is renamed.
|
96
|
-
*
|
97
|
-
* @fires Hooks#afterSheetRenamed
|
98
|
-
* @param {string} oldDisplayName The old name of the sheet.
|
99
|
-
* @param {string} newDisplayName The new name of the sheet.
|
100
|
-
*/
|
101
|
-
_classPrivateMethodInitSpec(this, _onEngineSheetRenamed);
|
102
|
-
/**
|
103
|
-
* Called when a new sheet is added to the engine instance.
|
104
|
-
*
|
105
|
-
* @fires Hooks#afterSheetAdded
|
106
|
-
* @param {string} addedSheetDisplayName The name of the added sheet.
|
107
|
-
*/
|
108
|
-
_classPrivateMethodInitSpec(this, _onEngineSheetAdded);
|
109
|
-
/**
|
110
|
-
* Called when a named expression is removed from the engine instance.
|
111
|
-
*
|
112
|
-
* @fires Hooks#afterNamedExpressionRemoved
|
113
|
-
* @param {string} namedExpressionName The name of the removed expression.
|
114
|
-
* @param {Array} changes The values and location of applied changes.
|
115
|
-
*/
|
116
|
-
_classPrivateMethodInitSpec(this, _onEngineNamedExpressionsRemoved);
|
117
|
-
/**
|
118
|
-
* Called when a named expression is added to the engine instance.
|
119
|
-
*
|
120
|
-
* @fires Hooks#afterNamedExpressionAdded
|
121
|
-
* @param {string} namedExpressionName The name of the added expression.
|
122
|
-
* @param {Array} changes The values and location of applied changes.
|
123
|
-
*/
|
124
|
-
_classPrivateMethodInitSpec(this, _onEngineNamedExpressionsAdded);
|
125
|
-
/**
|
126
|
-
* Called when a value is updated in the engine.
|
127
|
-
*
|
128
|
-
* @fires Hooks#afterFormulasValuesUpdate
|
129
|
-
* @param {Array} changes The values and location of applied changes.
|
130
|
-
*/
|
131
|
-
_classPrivateMethodInitSpec(this, _onEngineValuesUpdated);
|
132
|
-
/**
|
133
|
-
* `afterDetachChild` hook callback.
|
134
|
-
* Used to sync the data of the rows detached in the Nested Rows plugin with the engine's dataset.
|
135
|
-
*
|
136
|
-
* @param {object} parent An object representing the parent from which the element was detached.
|
137
|
-
* @param {object} element The detached element.
|
138
|
-
* @param {number} finalElementRowIndex The final row index of the detached element.
|
139
|
-
*/
|
140
|
-
_classPrivateMethodInitSpec(this, _onAfterDetachChild);
|
141
|
-
/**
|
142
|
-
* `afterRemoveCol` hook callback.
|
143
|
-
*
|
144
|
-
* @param {number} col Visual index of starter column.
|
145
|
-
* @param {number} amount An amount of removed columns.
|
146
|
-
* @param {number[]} physicalColumns An array of physical columns removed from the data source.
|
147
|
-
* @param {string} [source] String that identifies source of hook call
|
148
|
-
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
149
|
-
*/
|
150
|
-
_classPrivateMethodInitSpec(this, _onAfterRemoveCol);
|
151
|
-
/**
|
152
|
-
* `afterRemoveRow` hook callback.
|
153
|
-
*
|
154
|
-
* @param {number} row Visual index of starter row.
|
155
|
-
* @param {number} amount An amount of removed rows.
|
156
|
-
* @param {number[]} physicalRows An array of physical rows removed from the data source.
|
157
|
-
* @param {string} [source] String that identifies source of hook call
|
158
|
-
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
159
|
-
*/
|
160
|
-
_classPrivateMethodInitSpec(this, _onAfterRemoveRow);
|
161
|
-
/**
|
162
|
-
* `afterCreateCol` hook callback.
|
163
|
-
*
|
164
|
-
* @param {number} visualColumn Represents the visual index of first newly created column in the data source.
|
165
|
-
* @param {number} amount Number of newly created columns in the data source.
|
166
|
-
* @param {string} [source] String that identifies source of hook call
|
167
|
-
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
168
|
-
*/
|
169
|
-
_classPrivateMethodInitSpec(this, _onAfterCreateCol);
|
170
|
-
/**
|
171
|
-
* `afterCreateRow` hook callback.
|
172
|
-
*
|
173
|
-
* @param {number} visualRow Represents the visual index of first newly created row in the data source array.
|
174
|
-
* @param {number} amount Number of newly created rows in the data source array.
|
175
|
-
* @param {string} [source] String that identifies source of hook call
|
176
|
-
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
177
|
-
*/
|
178
|
-
_classPrivateMethodInitSpec(this, _onAfterCreateRow);
|
179
|
-
/**
|
180
|
-
* `beforeRemoveCol` hook callback.
|
181
|
-
*
|
182
|
-
* @param {number} col Visual index of starter column.
|
183
|
-
* @param {number} amount Amount of columns to be removed.
|
184
|
-
* @param {number[]} physicalColumns An array of physical columns removed from the data source.
|
185
|
-
* @returns {*|boolean} If false is returned the action is canceled.
|
186
|
-
*/
|
187
|
-
_classPrivateMethodInitSpec(this, _onBeforeRemoveCol);
|
188
|
-
/**
|
189
|
-
* `beforeRemoveRow` hook callback.
|
190
|
-
*
|
191
|
-
* @param {number} row Visual index of starter row.
|
192
|
-
* @param {number} amount Amount of rows to be removed.
|
193
|
-
* @param {number[]} physicalRows An array of physical rows removed from the data source.
|
194
|
-
* @returns {*|boolean} If false is returned the action is canceled.
|
195
|
-
*/
|
196
|
-
_classPrivateMethodInitSpec(this, _onBeforeRemoveRow);
|
197
|
-
/**
|
198
|
-
* `beforeCreateCol` hook callback.
|
199
|
-
*
|
200
|
-
* @param {number} visualColumn Represents the visual index of first newly created column in the data source.
|
201
|
-
* @param {number} amount Number of newly created columns in the data source.
|
202
|
-
* @returns {*|boolean} If false is returned the action is canceled.
|
203
|
-
*/
|
204
|
-
_classPrivateMethodInitSpec(this, _onBeforeCreateCol);
|
205
|
-
/**
|
206
|
-
* `beforeCreateRow` hook callback.
|
207
|
-
*
|
208
|
-
* @param {number} visualRow Represents the visual index of first newly created row in the data source array.
|
209
|
-
* @param {number} amount Number of newly created rows in the data source array.
|
210
|
-
* @returns {*|boolean} If false is returned the action is canceled.
|
211
|
-
*/
|
212
|
-
_classPrivateMethodInitSpec(this, _onBeforeCreateRow);
|
213
|
-
/**
|
214
|
-
* `onAfterSetSourceDataAtCell` hook callback.
|
215
|
-
*
|
216
|
-
* @param {Array[]} changes An array of changes in format [[row, column, oldValue, value], ...].
|
217
|
-
* @param {string} [source] String that identifies source of hook call
|
218
|
-
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
219
|
-
*/
|
220
|
-
_classPrivateMethodInitSpec(this, _onAfterSetSourceDataAtCell);
|
221
|
-
/**
|
222
|
-
* `onAfterSetDataAtCell` hook callback.
|
223
|
-
*
|
224
|
-
* @param {Array[]} changes An array of changes in format [[row, prop, oldValue, value], ...].
|
225
|
-
* @param {string} [source] String that identifies source of hook call
|
226
|
-
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
227
|
-
*/
|
228
|
-
_classPrivateMethodInitSpec(this, _onAfterSetDataAtCell);
|
229
|
-
/**
|
230
|
-
* `modifySourceData` hook callback.
|
231
|
-
*
|
232
|
-
* @param {number} row Physical row index.
|
233
|
-
* @param {number|string} columnOrProp Physical column index or prop.
|
234
|
-
* @param {object} valueHolder Object which contains original value which can be modified by overwriting `.value`
|
235
|
-
* property.
|
236
|
-
* @param {string} ioMode String which indicates for what operation hook is fired (`get` or `set`).
|
237
|
-
*/
|
238
|
-
_classPrivateMethodInitSpec(this, _onModifySourceData);
|
239
|
-
/**
|
240
|
-
* `modifyData` hook callback.
|
241
|
-
*
|
242
|
-
* @param {number} physicalRow Physical row index.
|
243
|
-
* @param {number} visualColumn Visual column index.
|
244
|
-
* @param {object} valueHolder Object which contains original value which can be modified by overwriting `.value`
|
245
|
-
* property.
|
246
|
-
* @param {string} ioMode String which indicates for what operation hook is fired (`get` or `set`).
|
247
|
-
*/
|
248
|
-
_classPrivateMethodInitSpec(this, _onModifyData);
|
249
|
-
/**
|
250
|
-
* `afterLoadData` hook callback.
|
251
|
-
*
|
252
|
-
* @param {Array} sourceData Array of arrays or array of objects containing data.
|
253
|
-
* @param {boolean} initialLoad Flag that determines whether the data has been loaded during the initialization.
|
254
|
-
* @param {string} [source] Source of the call.
|
255
|
-
*/
|
256
|
-
_classPrivateMethodInitSpec(this, _onAfterLoadData);
|
257
|
-
/**
|
258
|
-
* Callback to `afterCellMetaReset` hook which is triggered after setting cell meta.
|
259
|
-
*/
|
260
|
-
_classPrivateMethodInitSpec(this, _onAfterCellMetaReset);
|
261
|
-
/**
|
262
|
-
* `beforeLoadData` hook callback.
|
263
|
-
*
|
264
|
-
* @param {Array} sourceData Array of arrays or array of objects containing data.
|
265
|
-
* @param {boolean} initialLoad Flag that determines whether the data has been loaded during the initialization.
|
266
|
-
* @param {string} [source] Source of the call.
|
267
|
-
*/
|
268
|
-
_classPrivateMethodInitSpec(this, _onBeforeLoadData);
|
269
|
-
/**
|
270
|
-
* `onBeforeAutofill` hook callback.
|
271
|
-
*
|
272
|
-
* @param {Array[]} fillData The data that was used to fill the `targetRange`. If `beforeAutofill` was used
|
273
|
-
* and returned `[[]]`, this will be the same object that was returned from `beforeAutofill`.
|
274
|
-
* @param {CellRange} sourceRange The range values will be filled from.
|
275
|
-
* @param {CellRange} targetRange The range new values will be filled into.
|
276
|
-
* @returns {boolean|*}
|
277
|
-
*/
|
278
|
-
_classPrivateMethodInitSpec(this, _onBeforeAutofill);
|
279
60
|
/**
|
280
61
|
* The hook allows to translate the formula value to calculated value before it goes to the
|
281
62
|
* validator function.
|
@@ -285,66 +66,57 @@ export class Formulas extends BasePlugin {
|
|
285
66
|
* @param {number|string} prop The visual column index or property name of the column.
|
286
67
|
* @returns {*} Returns value to validate.
|
287
68
|
*/
|
288
|
-
_classPrivateMethodInitSpec(this,
|
69
|
+
_classPrivateMethodInitSpec(this, _Formulas_brand);
|
289
70
|
/**
|
290
71
|
* Flag used to bypass hooks in internal operations.
|
291
72
|
*
|
292
73
|
* @private
|
293
74
|
* @type {boolean}
|
294
75
|
*/
|
295
|
-
_classPrivateFieldInitSpec(this, _internalOperationPending,
|
296
|
-
writable: true,
|
297
|
-
value: false
|
298
|
-
});
|
76
|
+
_classPrivateFieldInitSpec(this, _internalOperationPending, false);
|
299
77
|
/**
|
300
78
|
* Flag needed to mark if Handsontable was initialized with no data.
|
301
79
|
* (Required to work around the fact, that Handsontable auto-generates sample data, when no data is provided).
|
302
80
|
*
|
303
81
|
* @type {boolean}
|
304
82
|
*/
|
305
|
-
_classPrivateFieldInitSpec(this, _hotWasInitializedWithEmptyData,
|
306
|
-
writable: true,
|
307
|
-
value: false
|
308
|
-
});
|
83
|
+
_classPrivateFieldInitSpec(this, _hotWasInitializedWithEmptyData, false);
|
309
84
|
/**
|
310
85
|
* The list of the HyperFormula listeners.
|
311
86
|
*
|
312
87
|
* @type {Array}
|
313
88
|
*/
|
314
|
-
_classPrivateFieldInitSpec(this, _engineListeners, {
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
return _classPrivateMethodGet(_this, _onEngineSheetRemoved, _onEngineSheetRemoved2).call(_this, ...args);
|
346
|
-
}]]
|
347
|
-
});
|
89
|
+
_classPrivateFieldInitSpec(this, _engineListeners, [['valuesUpdated', function () {
|
90
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
91
|
+
args[_key] = arguments[_key];
|
92
|
+
}
|
93
|
+
return _assertClassBrand(_Formulas_brand, _this, _onEngineValuesUpdated).call(_this, ...args);
|
94
|
+
}], ['namedExpressionAdded', function () {
|
95
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
96
|
+
args[_key2] = arguments[_key2];
|
97
|
+
}
|
98
|
+
return _assertClassBrand(_Formulas_brand, _this, _onEngineNamedExpressionsAdded).call(_this, ...args);
|
99
|
+
}], ['namedExpressionRemoved', function () {
|
100
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
101
|
+
args[_key3] = arguments[_key3];
|
102
|
+
}
|
103
|
+
return _assertClassBrand(_Formulas_brand, _this, _onEngineNamedExpressionsRemoved).call(_this, ...args);
|
104
|
+
}], ['sheetAdded', function () {
|
105
|
+
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
106
|
+
args[_key4] = arguments[_key4];
|
107
|
+
}
|
108
|
+
return _assertClassBrand(_Formulas_brand, _this, _onEngineSheetAdded).call(_this, ...args);
|
109
|
+
}], ['sheetRenamed', function () {
|
110
|
+
for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
111
|
+
args[_key5] = arguments[_key5];
|
112
|
+
}
|
113
|
+
return _assertClassBrand(_Formulas_brand, _this, _onEngineSheetRenamed).call(_this, ...args);
|
114
|
+
}], ['sheetRemoved', function () {
|
115
|
+
for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
|
116
|
+
args[_key6] = arguments[_key6];
|
117
|
+
}
|
118
|
+
return _assertClassBrand(_Formulas_brand, _this, _onEngineSheetRemoved).call(_this, ...args);
|
119
|
+
}]]);
|
348
120
|
/**
|
349
121
|
* Static register used to set up one global HyperFormula instance.
|
350
122
|
* TODO: currently used in tests, might be removed later.
|
@@ -439,13 +211,13 @@ export class Formulas extends BasePlugin {
|
|
439
211
|
for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
|
440
212
|
args[_key7] = arguments[_key7];
|
441
213
|
}
|
442
|
-
return
|
214
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onBeforeLoadData).call(_this2, ...args);
|
443
215
|
});
|
444
216
|
this.addHook('afterLoadData', function () {
|
445
217
|
for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
|
446
218
|
args[_key8] = arguments[_key8];
|
447
219
|
}
|
448
|
-
return
|
220
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onAfterLoadData).call(_this2, ...args);
|
449
221
|
});
|
450
222
|
|
451
223
|
// The `updateData` hooks utilize the same logic as the `loadData` hooks.
|
@@ -453,97 +225,97 @@ export class Formulas extends BasePlugin {
|
|
453
225
|
for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {
|
454
226
|
args[_key9] = arguments[_key9];
|
455
227
|
}
|
456
|
-
return
|
228
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onBeforeLoadData).call(_this2, ...args);
|
457
229
|
});
|
458
230
|
this.addHook('afterUpdateData', function () {
|
459
231
|
for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {
|
460
232
|
args[_key10] = arguments[_key10];
|
461
233
|
}
|
462
|
-
return
|
234
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onAfterLoadData).call(_this2, ...args);
|
463
235
|
});
|
464
236
|
this.addHook('modifyData', function () {
|
465
237
|
for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {
|
466
238
|
args[_key11] = arguments[_key11];
|
467
239
|
}
|
468
|
-
return
|
240
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onModifyData).call(_this2, ...args);
|
469
241
|
});
|
470
242
|
this.addHook('modifySourceData', function () {
|
471
243
|
for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {
|
472
244
|
args[_key12] = arguments[_key12];
|
473
245
|
}
|
474
|
-
return
|
246
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onModifySourceData).call(_this2, ...args);
|
475
247
|
});
|
476
248
|
this.addHook('beforeValidate', function () {
|
477
249
|
for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) {
|
478
250
|
args[_key13] = arguments[_key13];
|
479
251
|
}
|
480
|
-
return
|
252
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onBeforeValidate).call(_this2, ...args);
|
481
253
|
});
|
482
254
|
this.addHook('afterSetSourceDataAtCell', function () {
|
483
255
|
for (var _len14 = arguments.length, args = new Array(_len14), _key14 = 0; _key14 < _len14; _key14++) {
|
484
256
|
args[_key14] = arguments[_key14];
|
485
257
|
}
|
486
|
-
return
|
258
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onAfterSetSourceDataAtCell).call(_this2, ...args);
|
487
259
|
});
|
488
260
|
this.addHook('afterSetDataAtCell', function () {
|
489
261
|
for (var _len15 = arguments.length, args = new Array(_len15), _key15 = 0; _key15 < _len15; _key15++) {
|
490
262
|
args[_key15] = arguments[_key15];
|
491
263
|
}
|
492
|
-
return
|
264
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onAfterSetDataAtCell).call(_this2, ...args);
|
493
265
|
});
|
494
266
|
this.addHook('afterSetDataAtRowProp', function () {
|
495
267
|
for (var _len16 = arguments.length, args = new Array(_len16), _key16 = 0; _key16 < _len16; _key16++) {
|
496
268
|
args[_key16] = arguments[_key16];
|
497
269
|
}
|
498
|
-
return
|
270
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onAfterSetDataAtCell).call(_this2, ...args);
|
499
271
|
});
|
500
272
|
this.addHook('beforeCreateRow', function () {
|
501
273
|
for (var _len17 = arguments.length, args = new Array(_len17), _key17 = 0; _key17 < _len17; _key17++) {
|
502
274
|
args[_key17] = arguments[_key17];
|
503
275
|
}
|
504
|
-
return
|
276
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onBeforeCreateRow).call(_this2, ...args);
|
505
277
|
});
|
506
278
|
this.addHook('beforeCreateCol', function () {
|
507
279
|
for (var _len18 = arguments.length, args = new Array(_len18), _key18 = 0; _key18 < _len18; _key18++) {
|
508
280
|
args[_key18] = arguments[_key18];
|
509
281
|
}
|
510
|
-
return
|
282
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onBeforeCreateCol).call(_this2, ...args);
|
511
283
|
});
|
512
284
|
this.addHook('afterCreateRow', function () {
|
513
285
|
for (var _len19 = arguments.length, args = new Array(_len19), _key19 = 0; _key19 < _len19; _key19++) {
|
514
286
|
args[_key19] = arguments[_key19];
|
515
287
|
}
|
516
|
-
return
|
288
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onAfterCreateRow).call(_this2, ...args);
|
517
289
|
});
|
518
290
|
this.addHook('afterCreateCol', function () {
|
519
291
|
for (var _len20 = arguments.length, args = new Array(_len20), _key20 = 0; _key20 < _len20; _key20++) {
|
520
292
|
args[_key20] = arguments[_key20];
|
521
293
|
}
|
522
|
-
return
|
294
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onAfterCreateCol).call(_this2, ...args);
|
523
295
|
});
|
524
296
|
this.addHook('beforeRemoveRow', function () {
|
525
297
|
for (var _len21 = arguments.length, args = new Array(_len21), _key21 = 0; _key21 < _len21; _key21++) {
|
526
298
|
args[_key21] = arguments[_key21];
|
527
299
|
}
|
528
|
-
return
|
300
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onBeforeRemoveRow).call(_this2, ...args);
|
529
301
|
});
|
530
302
|
this.addHook('beforeRemoveCol', function () {
|
531
303
|
for (var _len22 = arguments.length, args = new Array(_len22), _key22 = 0; _key22 < _len22; _key22++) {
|
532
304
|
args[_key22] = arguments[_key22];
|
533
305
|
}
|
534
|
-
return
|
306
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onBeforeRemoveCol).call(_this2, ...args);
|
535
307
|
});
|
536
308
|
this.addHook('afterRemoveRow', function () {
|
537
309
|
for (var _len23 = arguments.length, args = new Array(_len23), _key23 = 0; _key23 < _len23; _key23++) {
|
538
310
|
args[_key23] = arguments[_key23];
|
539
311
|
}
|
540
|
-
return
|
312
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onAfterRemoveRow).call(_this2, ...args);
|
541
313
|
});
|
542
314
|
this.addHook('afterRemoveCol', function () {
|
543
315
|
for (var _len24 = arguments.length, args = new Array(_len24), _key24 = 0; _key24 < _len24; _key24++) {
|
544
316
|
args[_key24] = arguments[_key24];
|
545
317
|
}
|
546
|
-
return
|
318
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onAfterRemoveCol).call(_this2, ...args);
|
547
319
|
});
|
548
320
|
this.indexSyncer = new IndexSyncer(this.hot.rowIndexMapper, this.hot.columnIndexMapper, postponedAction => {
|
549
321
|
this.hot.addHookOnce('init', () => {
|
@@ -588,7 +360,7 @@ export class Formulas extends BasePlugin {
|
|
588
360
|
for (var _len25 = arguments.length, args = new Array(_len25), _key25 = 0; _key25 < _len25; _key25++) {
|
589
361
|
args[_key25] = arguments[_key25];
|
590
362
|
}
|
591
|
-
return
|
363
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onAfterCellMetaReset).call(_this2, ...args);
|
592
364
|
});
|
593
365
|
|
594
366
|
// Handling undo actions on data just using HyperFormula's UndoRedo mechanism
|
@@ -612,15 +384,15 @@ export class Formulas extends BasePlugin {
|
|
612
384
|
for (var _len26 = arguments.length, args = new Array(_len26), _key26 = 0; _key26 < _len26; _key26++) {
|
613
385
|
args[_key26] = arguments[_key26];
|
614
386
|
}
|
615
|
-
return
|
387
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onAfterDetachChild).call(_this2, ...args);
|
616
388
|
});
|
617
389
|
this.addHook('beforeAutofill', function () {
|
618
390
|
for (var _len27 = arguments.length, args = new Array(_len27), _key27 = 0; _key27 < _len27; _key27++) {
|
619
391
|
args[_key27] = arguments[_key27];
|
620
392
|
}
|
621
|
-
return
|
393
|
+
return _assertClassBrand(_Formulas_brand, _this2, _onBeforeAutofill).call(_this2, ...args);
|
622
394
|
});
|
623
|
-
_classPrivateFieldGet(
|
395
|
+
_classPrivateFieldGet(_engineListeners, this).forEach(_ref => {
|
624
396
|
let [eventName, listener] = _ref;
|
625
397
|
return this.engine.on(eventName, listener);
|
626
398
|
});
|
@@ -631,7 +403,7 @@ export class Formulas extends BasePlugin {
|
|
631
403
|
* Disables the plugin functionality for this Handsontable instance.
|
632
404
|
*/
|
633
405
|
disablePlugin() {
|
634
|
-
_classPrivateFieldGet(
|
406
|
+
_classPrivateFieldGet(_engineListeners, this).forEach(_ref2 => {
|
635
407
|
let [eventName, listener] = _ref2;
|
636
408
|
return this.engine.off(eventName, listener);
|
637
409
|
});
|
@@ -673,12 +445,12 @@ export class Formulas extends BasePlugin {
|
|
673
445
|
* Destroys the plugin instance.
|
674
446
|
*/
|
675
447
|
destroy() {
|
676
|
-
_classPrivateFieldGet(
|
448
|
+
_classPrivateFieldGet(_engineListeners, this).forEach(_ref3 => {
|
677
449
|
var _this$engine;
|
678
450
|
let [eventName, listener] = _ref3;
|
679
451
|
return (_this$engine = this.engine) === null || _this$engine === void 0 ? void 0 : _this$engine.off(eventName, listener);
|
680
452
|
});
|
681
|
-
_classPrivateFieldSet(
|
453
|
+
_classPrivateFieldSet(_engineListeners, this, null);
|
682
454
|
unregisterEngine(this.engine, this.hot);
|
683
455
|
this.engine = null;
|
684
456
|
super.destroy();
|
@@ -887,7 +659,7 @@ export class Formulas extends BasePlugin {
|
|
887
659
|
return this.engine.setCellContents(address, newValue);
|
888
660
|
}
|
889
661
|
}
|
890
|
-
function
|
662
|
+
function _onBeforeValidate(value, visualRow, prop) {
|
891
663
|
const visualColumn = this.hot.propToCol(prop);
|
892
664
|
if (this.isFormulaCellType(visualRow, visualColumn)) {
|
893
665
|
const address = {
|
@@ -907,7 +679,16 @@ function _onBeforeValidate2(value, visualRow, prop) {
|
|
907
679
|
}
|
908
680
|
return value;
|
909
681
|
}
|
910
|
-
|
682
|
+
/**
|
683
|
+
* `onBeforeAutofill` hook callback.
|
684
|
+
*
|
685
|
+
* @param {Array[]} fillData The data that was used to fill the `targetRange`. If `beforeAutofill` was used
|
686
|
+
* and returned `[[]]`, this will be the same object that was returned from `beforeAutofill`.
|
687
|
+
* @param {CellRange} sourceRange The range values will be filled from.
|
688
|
+
* @param {CellRange} targetRange The range new values will be filled into.
|
689
|
+
* @returns {boolean|*}
|
690
|
+
*/
|
691
|
+
function _onBeforeAutofill(fillData, sourceRange, targetRange) {
|
911
692
|
const {
|
912
693
|
row: sourceTopStartRow,
|
913
694
|
col: sourceTopStartColumn
|
@@ -984,7 +765,14 @@ function _onBeforeAutofill2(fillData, sourceRange, targetRange) {
|
|
984
765
|
}
|
985
766
|
return fillRangeData;
|
986
767
|
}
|
987
|
-
|
768
|
+
/**
|
769
|
+
* `beforeLoadData` hook callback.
|
770
|
+
*
|
771
|
+
* @param {Array} sourceData Array of arrays or array of objects containing data.
|
772
|
+
* @param {boolean} initialLoad Flag that determines whether the data has been loaded during the initialization.
|
773
|
+
* @param {string} [source] Source of the call.
|
774
|
+
*/
|
775
|
+
function _onBeforeLoadData(sourceData, initialLoad) {
|
988
776
|
let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
989
777
|
if (source.includes(toUpperCaseFirst(PLUGIN_KEY))) {
|
990
778
|
return;
|
@@ -992,9 +780,12 @@ function _onBeforeLoadData2(sourceData, initialLoad) {
|
|
992
780
|
|
993
781
|
// This flag needs to be defined, because not passing data to HOT results in HOT auto-generating a `null`-filled
|
994
782
|
// initial dataset.
|
995
|
-
_classPrivateFieldSet(
|
783
|
+
_classPrivateFieldSet(_hotWasInitializedWithEmptyData, this, isUndefined(this.hot.getSettings().data));
|
996
784
|
}
|
997
|
-
|
785
|
+
/**
|
786
|
+
* Callback to `afterCellMetaReset` hook which is triggered after setting cell meta.
|
787
|
+
*/
|
788
|
+
function _onAfterCellMetaReset() {
|
998
789
|
const sourceDataArray = this.hot.getSourceDataArray();
|
999
790
|
let valueChanged = false;
|
1000
791
|
sourceDataArray.forEach((rowData, rowIndex) => {
|
@@ -1014,32 +805,48 @@ function _onAfterCellMetaReset2() {
|
|
1014
805
|
});
|
1015
806
|
});
|
1016
807
|
if (valueChanged === true) {
|
1017
|
-
_classPrivateFieldSet(
|
808
|
+
_classPrivateFieldSet(_internalOperationPending, this, true);
|
1018
809
|
this.engine.setSheetContent(this.sheetId, sourceDataArray);
|
1019
|
-
_classPrivateFieldSet(
|
810
|
+
_classPrivateFieldSet(_internalOperationPending, this, false);
|
1020
811
|
}
|
1021
812
|
}
|
1022
|
-
|
813
|
+
/**
|
814
|
+
* `afterLoadData` hook callback.
|
815
|
+
*
|
816
|
+
* @param {Array} sourceData Array of arrays or array of objects containing data.
|
817
|
+
* @param {boolean} initialLoad Flag that determines whether the data has been loaded during the initialization.
|
818
|
+
* @param {string} [source] Source of the call.
|
819
|
+
*/
|
820
|
+
function _onAfterLoadData(sourceData, initialLoad) {
|
1023
821
|
let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
1024
822
|
if (source.includes(toUpperCaseFirst(PLUGIN_KEY))) {
|
1025
823
|
return;
|
1026
824
|
}
|
1027
825
|
this.sheetName = setupSheet(this.engine, this.hot.getSettings()[PLUGIN_KEY].sheetName);
|
1028
|
-
if (!_classPrivateFieldGet(
|
826
|
+
if (!_classPrivateFieldGet(_hotWasInitializedWithEmptyData, this)) {
|
1029
827
|
const sourceDataArray = this.hot.getSourceDataArray();
|
1030
828
|
if (this.engine.isItPossibleToReplaceSheetContent(this.sheetId, sourceDataArray)) {
|
1031
|
-
_classPrivateFieldSet(
|
829
|
+
_classPrivateFieldSet(_internalOperationPending, this, true);
|
1032
830
|
const dependentCells = this.engine.setSheetContent(this.sheetId, sourceDataArray);
|
1033
831
|
this.indexSyncer.setupSyncEndpoint(this.engine, this.sheetId);
|
1034
832
|
this.renderDependentSheets(dependentCells);
|
1035
|
-
_classPrivateFieldSet(
|
833
|
+
_classPrivateFieldSet(_internalOperationPending, this, false);
|
1036
834
|
}
|
1037
835
|
} else {
|
1038
836
|
this.switchSheet(this.sheetName);
|
1039
837
|
}
|
1040
838
|
}
|
1041
|
-
|
1042
|
-
|
839
|
+
/**
|
840
|
+
* `modifyData` hook callback.
|
841
|
+
*
|
842
|
+
* @param {number} physicalRow Physical row index.
|
843
|
+
* @param {number} visualColumn Visual column index.
|
844
|
+
* @param {object} valueHolder Object which contains original value which can be modified by overwriting `.value`
|
845
|
+
* property.
|
846
|
+
* @param {string} ioMode String which indicates for what operation hook is fired (`get` or `set`).
|
847
|
+
*/
|
848
|
+
function _onModifyData(physicalRow, visualColumn, valueHolder, ioMode) {
|
849
|
+
if (ioMode !== 'get' || _classPrivateFieldGet(_internalOperationPending, this) || this.sheetName === null || !this.engine.doesSheetExist(this.sheetName)) {
|
1043
850
|
return;
|
1044
851
|
}
|
1045
852
|
const visualRow = this.hot.toVisualRow(physicalRow);
|
@@ -1081,8 +888,17 @@ function _onModifyData2(physicalRow, visualColumn, valueHolder, ioMode) {
|
|
1081
888
|
const value = typeof cellValue === 'object' && cellValue !== null ? cellValue.value : cellValue;
|
1082
889
|
valueHolder.value = value;
|
1083
890
|
}
|
1084
|
-
|
1085
|
-
|
891
|
+
/**
|
892
|
+
* `modifySourceData` hook callback.
|
893
|
+
*
|
894
|
+
* @param {number} row Physical row index.
|
895
|
+
* @param {number|string} columnOrProp Physical column index or prop.
|
896
|
+
* @param {object} valueHolder Object which contains original value which can be modified by overwriting `.value`
|
897
|
+
* property.
|
898
|
+
* @param {string} ioMode String which indicates for what operation hook is fired (`get` or `set`).
|
899
|
+
*/
|
900
|
+
function _onModifySourceData(row, columnOrProp, valueHolder, ioMode) {
|
901
|
+
if (ioMode !== 'get' || _classPrivateFieldGet(_internalOperationPending, this) || this.sheetName === null || !this.engine.doesSheetExist(this.sheetName)) {
|
1086
902
|
return;
|
1087
903
|
}
|
1088
904
|
const visualRow = this.hot.toVisualRow(row);
|
@@ -1115,7 +931,14 @@ function _onModifySourceData2(row, columnOrProp, valueHolder, ioMode) {
|
|
1115
931
|
};
|
1116
932
|
valueHolder.value = this.engine.getCellSerialized(address);
|
1117
933
|
}
|
1118
|
-
|
934
|
+
/**
|
935
|
+
* `onAfterSetDataAtCell` hook callback.
|
936
|
+
*
|
937
|
+
* @param {Array[]} changes An array of changes in format [[row, prop, oldValue, value], ...].
|
938
|
+
* @param {string} [source] String that identifies source of hook call
|
939
|
+
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
940
|
+
*/
|
941
|
+
function _onAfterSetDataAtCell(changes, source) {
|
1119
942
|
if (isBlockedSource(source)) {
|
1120
943
|
return;
|
1121
944
|
}
|
@@ -1158,7 +981,14 @@ function _onAfterSetDataAtCell2(changes, source) {
|
|
1158
981
|
this.renderDependentSheets(dependentCells);
|
1159
982
|
this.validateDependentCells(dependentCells, changedCells);
|
1160
983
|
}
|
1161
|
-
|
984
|
+
/**
|
985
|
+
* `onAfterSetSourceDataAtCell` hook callback.
|
986
|
+
*
|
987
|
+
* @param {Array[]} changes An array of changes in format [[row, column, oldValue, value], ...].
|
988
|
+
* @param {string} [source] String that identifies source of hook call
|
989
|
+
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
990
|
+
*/
|
991
|
+
function _onAfterSetSourceDataAtCell(changes, source) {
|
1162
992
|
if (isBlockedSource(source)) {
|
1163
993
|
return;
|
1164
994
|
}
|
@@ -1187,7 +1017,14 @@ function _onAfterSetSourceDataAtCell2(changes, source) {
|
|
1187
1017
|
this.renderDependentSheets(dependentCells);
|
1188
1018
|
this.validateDependentCells(dependentCells, changedCells);
|
1189
1019
|
}
|
1190
|
-
|
1020
|
+
/**
|
1021
|
+
* `beforeCreateRow` hook callback.
|
1022
|
+
*
|
1023
|
+
* @param {number} visualRow Represents the visual index of first newly created row in the data source array.
|
1024
|
+
* @param {number} amount Number of newly created rows in the data source array.
|
1025
|
+
* @returns {*|boolean} If false is returned the action is canceled.
|
1026
|
+
*/
|
1027
|
+
function _onBeforeCreateRow(visualRow, amount) {
|
1191
1028
|
let hfRowIndex = this.rowAxisSyncer.getHfIndexFromVisualIndex(visualRow);
|
1192
1029
|
if (visualRow >= this.hot.countRows()) {
|
1193
1030
|
hfRowIndex = visualRow; // Row beyond the table boundaries.
|
@@ -1196,7 +1033,14 @@ function _onBeforeCreateRow2(visualRow, amount) {
|
|
1196
1033
|
return false;
|
1197
1034
|
}
|
1198
1035
|
}
|
1199
|
-
|
1036
|
+
/**
|
1037
|
+
* `beforeCreateCol` hook callback.
|
1038
|
+
*
|
1039
|
+
* @param {number} visualColumn Represents the visual index of first newly created column in the data source.
|
1040
|
+
* @param {number} amount Number of newly created columns in the data source.
|
1041
|
+
* @returns {*|boolean} If false is returned the action is canceled.
|
1042
|
+
*/
|
1043
|
+
function _onBeforeCreateCol(visualColumn, amount) {
|
1200
1044
|
let hfColumnIndex = this.columnAxisSyncer.getHfIndexFromVisualIndex(visualColumn);
|
1201
1045
|
if (visualColumn >= this.hot.countCols()) {
|
1202
1046
|
hfColumnIndex = visualColumn; // Column beyond the table boundaries.
|
@@ -1205,35 +1049,76 @@ function _onBeforeCreateCol2(visualColumn, amount) {
|
|
1205
1049
|
return false;
|
1206
1050
|
}
|
1207
1051
|
}
|
1208
|
-
|
1052
|
+
/**
|
1053
|
+
* `beforeRemoveRow` hook callback.
|
1054
|
+
*
|
1055
|
+
* @param {number} row Visual index of starter row.
|
1056
|
+
* @param {number} amount Amount of rows to be removed.
|
1057
|
+
* @param {number[]} physicalRows An array of physical rows removed from the data source.
|
1058
|
+
* @returns {*|boolean} If false is returned the action is canceled.
|
1059
|
+
*/
|
1060
|
+
function _onBeforeRemoveRow(row, amount, physicalRows) {
|
1209
1061
|
const hfRows = this.rowAxisSyncer.setRemovedHfIndexes(physicalRows);
|
1210
1062
|
const possible = hfRows.every(hfRow => {
|
1211
1063
|
return this.engine.isItPossibleToRemoveRows(this.sheetId, [hfRow, 1]);
|
1212
1064
|
});
|
1213
1065
|
return possible === false ? false : undefined;
|
1214
1066
|
}
|
1215
|
-
|
1067
|
+
/**
|
1068
|
+
* `beforeRemoveCol` hook callback.
|
1069
|
+
*
|
1070
|
+
* @param {number} col Visual index of starter column.
|
1071
|
+
* @param {number} amount Amount of columns to be removed.
|
1072
|
+
* @param {number[]} physicalColumns An array of physical columns removed from the data source.
|
1073
|
+
* @returns {*|boolean} If false is returned the action is canceled.
|
1074
|
+
*/
|
1075
|
+
function _onBeforeRemoveCol(col, amount, physicalColumns) {
|
1216
1076
|
const hfColumns = this.columnAxisSyncer.setRemovedHfIndexes(physicalColumns);
|
1217
1077
|
const possible = hfColumns.every(hfColumn => {
|
1218
1078
|
return this.engine.isItPossibleToRemoveColumns(this.sheetId, [hfColumn, 1]);
|
1219
1079
|
});
|
1220
1080
|
return possible === false ? false : undefined;
|
1221
1081
|
}
|
1222
|
-
|
1082
|
+
/**
|
1083
|
+
* `afterCreateRow` hook callback.
|
1084
|
+
*
|
1085
|
+
* @param {number} visualRow Represents the visual index of first newly created row in the data source array.
|
1086
|
+
* @param {number} amount Number of newly created rows in the data source array.
|
1087
|
+
* @param {string} [source] String that identifies source of hook call
|
1088
|
+
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
1089
|
+
*/
|
1090
|
+
function _onAfterCreateRow(visualRow, amount, source) {
|
1223
1091
|
if (isBlockedSource(source)) {
|
1224
1092
|
return;
|
1225
1093
|
}
|
1226
1094
|
const changes = this.engine.addRows(this.sheetId, [this.rowAxisSyncer.getHfIndexFromVisualIndex(visualRow), amount]);
|
1227
1095
|
this.renderDependentSheets(changes);
|
1228
1096
|
}
|
1229
|
-
|
1097
|
+
/**
|
1098
|
+
* `afterCreateCol` hook callback.
|
1099
|
+
*
|
1100
|
+
* @param {number} visualColumn Represents the visual index of first newly created column in the data source.
|
1101
|
+
* @param {number} amount Number of newly created columns in the data source.
|
1102
|
+
* @param {string} [source] String that identifies source of hook call
|
1103
|
+
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
1104
|
+
*/
|
1105
|
+
function _onAfterCreateCol(visualColumn, amount, source) {
|
1230
1106
|
if (isBlockedSource(source)) {
|
1231
1107
|
return;
|
1232
1108
|
}
|
1233
1109
|
const changes = this.engine.addColumns(this.sheetId, [this.columnAxisSyncer.getHfIndexFromVisualIndex(visualColumn), amount]);
|
1234
1110
|
this.renderDependentSheets(changes);
|
1235
1111
|
}
|
1236
|
-
|
1112
|
+
/**
|
1113
|
+
* `afterRemoveRow` hook callback.
|
1114
|
+
*
|
1115
|
+
* @param {number} row Visual index of starter row.
|
1116
|
+
* @param {number} amount An amount of removed rows.
|
1117
|
+
* @param {number[]} physicalRows An array of physical rows removed from the data source.
|
1118
|
+
* @param {string} [source] String that identifies source of hook call
|
1119
|
+
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
1120
|
+
*/
|
1121
|
+
function _onAfterRemoveRow(row, amount, physicalRows, source) {
|
1237
1122
|
if (isBlockedSource(source)) {
|
1238
1123
|
return;
|
1239
1124
|
}
|
@@ -1245,7 +1130,16 @@ function _onAfterRemoveRow2(row, amount, physicalRows, source) {
|
|
1245
1130
|
});
|
1246
1131
|
this.renderDependentSheets(changes);
|
1247
1132
|
}
|
1248
|
-
|
1133
|
+
/**
|
1134
|
+
* `afterRemoveCol` hook callback.
|
1135
|
+
*
|
1136
|
+
* @param {number} col Visual index of starter column.
|
1137
|
+
* @param {number} amount An amount of removed columns.
|
1138
|
+
* @param {number[]} physicalColumns An array of physical columns removed from the data source.
|
1139
|
+
* @param {string} [source] String that identifies source of hook call
|
1140
|
+
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
1141
|
+
*/
|
1142
|
+
function _onAfterRemoveCol(col, amount, physicalColumns, source) {
|
1249
1143
|
if (isBlockedSource(source)) {
|
1250
1144
|
return;
|
1251
1145
|
}
|
@@ -1257,11 +1151,19 @@ function _onAfterRemoveCol2(col, amount, physicalColumns, source) {
|
|
1257
1151
|
});
|
1258
1152
|
this.renderDependentSheets(changes);
|
1259
1153
|
}
|
1260
|
-
|
1154
|
+
/**
|
1155
|
+
* `afterDetachChild` hook callback.
|
1156
|
+
* Used to sync the data of the rows detached in the Nested Rows plugin with the engine's dataset.
|
1157
|
+
*
|
1158
|
+
* @param {object} parent An object representing the parent from which the element was detached.
|
1159
|
+
* @param {object} element The detached element.
|
1160
|
+
* @param {number} finalElementRowIndex The final row index of the detached element.
|
1161
|
+
*/
|
1162
|
+
function _onAfterDetachChild(parent, element, finalElementRowIndex) {
|
1261
1163
|
var _element$__children;
|
1262
|
-
_classPrivateFieldSet(
|
1164
|
+
_classPrivateFieldSet(_internalOperationPending, this, true);
|
1263
1165
|
const 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());
|
1264
|
-
_classPrivateFieldSet(
|
1166
|
+
_classPrivateFieldSet(_internalOperationPending, this, false);
|
1265
1167
|
rowsData.forEach((row, relativeRowIndex) => {
|
1266
1168
|
row.forEach((value, colIndex) => {
|
1267
1169
|
this.engine.setCellContents({
|
@@ -1272,22 +1174,62 @@ function _onAfterDetachChild2(parent, element, finalElementRowIndex) {
|
|
1272
1174
|
});
|
1273
1175
|
});
|
1274
1176
|
}
|
1275
|
-
|
1177
|
+
/**
|
1178
|
+
* Called when a value is updated in the engine.
|
1179
|
+
*
|
1180
|
+
* @fires Hooks#afterFormulasValuesUpdate
|
1181
|
+
* @param {Array} changes The values and location of applied changes.
|
1182
|
+
*/
|
1183
|
+
function _onEngineValuesUpdated(changes) {
|
1276
1184
|
this.hot.runHooks('afterFormulasValuesUpdate', changes);
|
1277
1185
|
}
|
1278
|
-
|
1186
|
+
/**
|
1187
|
+
* Called when a named expression is added to the engine instance.
|
1188
|
+
*
|
1189
|
+
* @fires Hooks#afterNamedExpressionAdded
|
1190
|
+
* @param {string} namedExpressionName The name of the added expression.
|
1191
|
+
* @param {Array} changes The values and location of applied changes.
|
1192
|
+
*/
|
1193
|
+
function _onEngineNamedExpressionsAdded(namedExpressionName, changes) {
|
1279
1194
|
this.hot.runHooks('afterNamedExpressionAdded', namedExpressionName, changes);
|
1280
1195
|
}
|
1281
|
-
|
1196
|
+
/**
|
1197
|
+
* Called when a named expression is removed from the engine instance.
|
1198
|
+
*
|
1199
|
+
* @fires Hooks#afterNamedExpressionRemoved
|
1200
|
+
* @param {string} namedExpressionName The name of the removed expression.
|
1201
|
+
* @param {Array} changes The values and location of applied changes.
|
1202
|
+
*/
|
1203
|
+
function _onEngineNamedExpressionsRemoved(namedExpressionName, changes) {
|
1282
1204
|
this.hot.runHooks('afterNamedExpressionRemoved', namedExpressionName, changes);
|
1283
1205
|
}
|
1284
|
-
|
1206
|
+
/**
|
1207
|
+
* Called when a new sheet is added to the engine instance.
|
1208
|
+
*
|
1209
|
+
* @fires Hooks#afterSheetAdded
|
1210
|
+
* @param {string} addedSheetDisplayName The name of the added sheet.
|
1211
|
+
*/
|
1212
|
+
function _onEngineSheetAdded(addedSheetDisplayName) {
|
1285
1213
|
this.hot.runHooks('afterSheetAdded', addedSheetDisplayName);
|
1286
1214
|
}
|
1287
|
-
|
1215
|
+
/**
|
1216
|
+
* Called when a sheet in the engine instance is renamed.
|
1217
|
+
*
|
1218
|
+
* @fires Hooks#afterSheetRenamed
|
1219
|
+
* @param {string} oldDisplayName The old name of the sheet.
|
1220
|
+
* @param {string} newDisplayName The new name of the sheet.
|
1221
|
+
*/
|
1222
|
+
function _onEngineSheetRenamed(oldDisplayName, newDisplayName) {
|
1288
1223
|
this.sheetName = newDisplayName;
|
1289
1224
|
this.hot.runHooks('afterSheetRenamed', oldDisplayName, newDisplayName);
|
1290
1225
|
}
|
1291
|
-
|
1226
|
+
/**
|
1227
|
+
* Called when a sheet is removed from the engine instance.
|
1228
|
+
*
|
1229
|
+
* @fires Hooks#afterSheetRemoved
|
1230
|
+
* @param {string} removedSheetDisplayName The removed sheet name.
|
1231
|
+
* @param {Array} changes The values and location of applied changes.
|
1232
|
+
*/
|
1233
|
+
function _onEngineSheetRemoved(removedSheetDisplayName, changes) {
|
1292
1234
|
this.hot.runHooks('afterSheetRemoved', removedSheetDisplayName, changes);
|
1293
1235
|
}
|