handsontable 14.4.0-next-1ffa7bc-20240606 → 14.5.0-next-ede811d-20240717
Sign up to get free protection for your applications and to get access to all the features.
- 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 +3 -3
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +3 -3
- package/3rdparty/walkontable/src/calculator/viewportRows.js +3 -3
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +3 -3
- package/3rdparty/walkontable/src/cell/coords.js +3 -3
- package/3rdparty/walkontable/src/cell/coords.mjs +3 -3
- package/3rdparty/walkontable/src/cell/range.js +4 -4
- package/3rdparty/walkontable/src/cell/range.mjs +3 -3
- package/3rdparty/walkontable/src/core/_base.js +2 -2
- package/3rdparty/walkontable/src/core/_base.mjs +1 -1
- package/3rdparty/walkontable/src/core/clone.js +2 -2
- package/3rdparty/walkontable/src/core/clone.mjs +1 -1
- package/3rdparty/walkontable/src/core/core.js +17 -1
- package/3rdparty/walkontable/src/core/core.mjs +16 -0
- package/3rdparty/walkontable/src/event.js +2 -2
- package/3rdparty/walkontable/src/event.mjs +2 -2
- package/3rdparty/walkontable/src/facade/core.js +4 -1
- package/3rdparty/walkontable/src/facade/core.mjs +3 -0
- 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 +2 -2
- package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.js +2 -2
- package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +1 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.js +1 -1
- package/3rdparty/walkontable/src/overlay/top.js +2 -2
- package/3rdparty/walkontable/src/overlay/top.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +2 -2
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +1 -1
- package/3rdparty/walkontable/src/overlays.js +36 -4
- package/3rdparty/walkontable/src/overlays.mjs +36 -4
- package/3rdparty/walkontable/src/renderer/_base.js +2 -2
- package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/cells.js +2 -2
- package/3rdparty/walkontable/src/renderer/cells.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/colGroup.js +1 -1
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +1 -1
- package/3rdparty/walkontable/src/renderer/index.js +12 -1
- package/3rdparty/walkontable/src/renderer/index.mjs +11 -0
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +2 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rows.js +2 -2
- package/3rdparty/walkontable/src/renderer/rows.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/table.js +17 -2
- package/3rdparty/walkontable/src/renderer/table.mjs +17 -2
- package/3rdparty/walkontable/src/scroll.js +3 -3
- package/3rdparty/walkontable/src/scroll.mjs +3 -3
- package/3rdparty/walkontable/src/selection/index.js +1 -1
- package/3rdparty/walkontable/src/selection/manager.js +4 -4
- package/3rdparty/walkontable/src/selection/manager.mjs +3 -3
- package/3rdparty/walkontable/src/selection/scanner.js +3 -3
- package/3rdparty/walkontable/src/selection/scanner.mjs +3 -3
- package/3rdparty/walkontable/src/selection/selection.js +1 -1
- package/3rdparty/walkontable/src/settings.js +6 -2
- package/3rdparty/walkontable/src/settings.mjs +6 -2
- package/3rdparty/walkontable/src/table/bottom.js +1 -1
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -1
- package/3rdparty/walkontable/src/table/inlineStart.js +1 -1
- package/3rdparty/walkontable/src/table/master.js +1 -1
- package/3rdparty/walkontable/src/table/top.js +1 -1
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -1
- package/3rdparty/walkontable/src/table.js +3 -3
- package/3rdparty/walkontable/src/table.mjs +2 -2
- 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 +3 -3
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +3 -3
- package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/index.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/view.js +2 -2
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +1 -1
- 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 +2 -2
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
- package/3rdparty/walkontable/src/utils/row.js +17 -1
- package/3rdparty/walkontable/src/utils/row.mjs +17 -1
- package/CHANGELOG.md +27 -1
- package/base.js +3 -3
- package/base.mjs +2 -2
- package/cellTypes/registry.js +1 -1
- package/common.d.ts +3 -0
- package/core.d.ts +2 -0
- package/core.js +36 -31
- package/core.mjs +35 -30
- package/dataMap/dataMap.js +1 -1
- package/dataMap/dataMap.mjs +1 -1
- package/dataMap/dataSource.js +1 -1
- package/dataMap/dataSource.mjs +1 -1
- package/dataMap/index.js +1 -1
- package/dataMap/metaManager/index.js +1 -1
- package/dataMap/metaManager/lazyFactoryMap.js +1 -1
- package/dataMap/metaManager/lazyFactoryMap.mjs +1 -1
- package/dataMap/metaManager/metaLayers/cellMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/columnMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.js +2 -2
- 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 +25 -0
- package/dataMap/metaManager/metaSchema.mjs +25 -0
- package/dataMap/metaManager/mods/dynamicCellMeta.js +2 -2
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.js +3 -3
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +3 -3
- package/dataMap/replaceData.js +1 -1
- package/dist/handsontable.css +134 -88
- package/dist/handsontable.full.css +134 -88
- package/dist/handsontable.full.js +2191 -1503
- package/dist/handsontable.full.min.css +7 -7
- package/dist/handsontable.full.min.js +86 -86
- package/dist/handsontable.js +2180 -1440
- package/dist/handsontable.min.css +6 -6
- package/dist/handsontable.min.js +23 -23
- package/dist/languages/all.js +3 -3
- package/dist/languages/ar-AR.js +3 -3
- package/dist/languages/cs-CZ.js +3 -3
- package/dist/languages/de-CH.js +3 -3
- package/dist/languages/de-DE.js +3 -3
- package/dist/languages/en-US.js +3 -3
- package/dist/languages/es-MX.js +3 -3
- package/dist/languages/fr-FR.js +3 -3
- package/dist/languages/hr-HR.js +3 -3
- package/dist/languages/it-IT.js +3 -3
- package/dist/languages/ja-JP.js +3 -3
- package/dist/languages/ko-KR.js +3 -3
- package/dist/languages/lv-LV.js +3 -3
- package/dist/languages/nb-NO.js +3 -3
- package/dist/languages/nl-NL.js +3 -3
- package/dist/languages/pl-PL.js +3 -3
- package/dist/languages/pt-BR.js +3 -3
- package/dist/languages/ru-RU.js +3 -3
- package/dist/languages/sr-SP.js +3 -3
- package/dist/languages/zh-CN.js +3 -3
- package/dist/languages/zh-TW.js +3 -3
- package/editorManager.js +4 -4
- package/editorManager.mjs +3 -3
- package/editors/autocompleteEditor/autocompleteEditor.js +3 -3
- package/editors/autocompleteEditor/autocompleteEditor.mjs +3 -3
- package/editors/baseEditor/baseEditor.js +2 -2
- package/editors/baseEditor/baseEditor.mjs +1 -1
- package/editors/dateEditor/dateEditor.js +2 -2
- package/editors/dateEditor/dateEditor.mjs +1 -1
- package/editors/dropdownEditor/dropdownEditor.js +1 -1
- package/editors/registry.js +1 -1
- package/editors/textEditor/textEditor.js +2 -2
- package/editors/textEditor/textEditor.mjs +1 -1
- package/eventManager.js +1 -1
- package/eventManager.mjs +1 -1
- package/focusManager.js +3 -3
- package/focusManager.mjs +3 -3
- package/helpers/dom/event.d.ts +1 -0
- package/helpers/dom/event.js +11 -0
- package/helpers/dom/event.mjs +10 -0
- package/helpers/mixed.js +3 -3
- package/helpers/mixed.mjs +2 -2
- package/helpers/string.js +1 -1
- package/i18n/languages/index.js +1 -1
- package/i18n/phraseFormatters/index.js +1 -1
- package/i18n/registry.js +1 -1
- package/index.js +1 -1
- package/languages/all.js +3 -3
- package/languages/ar-AR.js +3 -3
- package/languages/cs-CZ.js +3 -3
- package/languages/de-CH.js +3 -3
- package/languages/de-DE.js +3 -3
- package/languages/en-US.js +3 -3
- package/languages/es-MX.js +3 -3
- package/languages/fr-FR.js +3 -3
- package/languages/hr-HR.js +3 -3
- package/languages/index.js +3 -3
- package/languages/it-IT.js +3 -3
- package/languages/ja-JP.js +3 -3
- package/languages/ko-KR.js +3 -3
- package/languages/lv-LV.js +3 -3
- package/languages/nb-NO.js +3 -3
- package/languages/nl-NL.js +3 -3
- package/languages/pl-PL.js +3 -3
- package/languages/pt-BR.js +3 -3
- package/languages/ru-RU.js +3 -3
- package/languages/sr-SP.js +3 -3
- package/languages/zh-CN.js +3 -3
- package/languages/zh-TW.js +3 -3
- package/package.json +1 -5
- package/pluginHooks.d.ts +3 -1
- package/pluginHooks.js +12 -1
- package/pluginHooks.mjs +12 -1
- package/plugins/autoColumnSize/autoColumnSize.d.ts +1 -1
- package/plugins/autoColumnSize/autoColumnSize.js +123 -123
- package/plugins/autoColumnSize/autoColumnSize.mjs +122 -122
- package/plugins/autoRowSize/autoRowSize.d.ts +2 -1
- package/plugins/autoRowSize/autoRowSize.js +162 -100
- package/plugins/autoRowSize/autoRowSize.mjs +161 -99
- package/plugins/autofill/autofill.js +4 -4
- package/plugins/autofill/autofill.mjs +3 -3
- package/plugins/base/base.js +5 -5
- package/plugins/base/base.mjs +4 -4
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +4 -4
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +3 -3
- package/plugins/collapsibleColumns/collapsibleColumns.js +4 -4
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +4 -4
- package/plugins/columnSorting/columnSorting.js +6 -5
- package/plugins/columnSorting/columnSorting.mjs +5 -4
- package/plugins/columnSorting/columnStatesManager.js +1 -1
- package/plugins/columnSorting/columnStatesManager.mjs +1 -1
- package/plugins/columnSorting/sortService/registry.js +1 -1
- package/plugins/columnSorting/utils.js +1 -1
- package/plugins/columnSummary/columnSummary.d.ts +1 -1
- package/plugins/columnSummary/columnSummary.js +4 -4
- package/plugins/columnSummary/columnSummary.mjs +3 -3
- package/plugins/columnSummary/endpoints.js +1 -1
- package/plugins/columnSummary/endpoints.mjs +1 -1
- package/plugins/comments/commentEditor.js +74 -39
- package/plugins/comments/commentEditor.mjs +73 -39
- package/plugins/comments/comments.js +25 -44
- package/plugins/comments/comments.mjs +25 -44
- package/plugins/comments/displaySwitch.js +2 -2
- package/plugins/comments/displaySwitch.mjs +1 -1
- package/plugins/comments/editorResizeObserver.js +100 -0
- package/plugins/comments/editorResizeObserver.mjs +95 -0
- package/plugins/contextMenu/commandExecutor.js +1 -1
- package/plugins/contextMenu/commandExecutor.mjs +1 -1
- package/plugins/contextMenu/contextMenu.js +4 -4
- package/plugins/contextMenu/contextMenu.mjs +3 -3
- package/plugins/contextMenu/itemsFactory.js +1 -1
- package/plugins/contextMenu/itemsFactory.mjs +1 -1
- package/plugins/contextMenu/menu/cursor.js +1 -1
- package/plugins/contextMenu/menu/cursor.mjs +1 -1
- package/plugins/contextMenu/menu/menu.js +5 -4
- package/plugins/contextMenu/menu/menu.mjs +4 -3
- package/plugins/contextMenu/menu/positioner.js +2 -2
- package/plugins/contextMenu/menu/positioner.mjs +2 -2
- package/plugins/copyPaste/copyPaste.js +5 -5
- package/plugins/copyPaste/copyPaste.mjs +4 -4
- package/plugins/copyPaste/copyableRanges.js +3 -3
- package/plugins/copyPaste/copyableRanges.mjs +3 -3
- package/plugins/copyPaste/pasteEvent.js +1 -1
- package/plugins/customBorders/contextMenuItem/index.js +1 -1
- package/plugins/customBorders/customBorders.js +3 -3
- package/plugins/customBorders/customBorders.mjs +3 -3
- package/plugins/dragToScroll/dragToScroll.js +4 -4
- package/plugins/dragToScroll/dragToScroll.mjs +4 -4
- package/plugins/dropdownMenu/dropdownMenu.js +5 -5
- package/plugins/dropdownMenu/dropdownMenu.mjs +4 -4
- package/plugins/exportFile/dataProvider.js +1 -1
- package/plugins/exportFile/dataProvider.mjs +1 -1
- package/plugins/exportFile/exportFile.js +1 -1
- package/plugins/exportFile/typeFactory.js +1 -1
- package/plugins/exportFile/types/_base.js +1 -1
- package/plugins/exportFile/types/_base.mjs +1 -1
- package/plugins/exportFile/types/csv.js +1 -1
- package/plugins/filters/component/_base.js +2 -2
- package/plugins/filters/component/_base.mjs +1 -1
- package/plugins/filters/component/actionBar.js +3 -3
- package/plugins/filters/component/actionBar.mjs +3 -3
- package/plugins/filters/component/condition.js +3 -3
- package/plugins/filters/component/condition.mjs +3 -3
- package/plugins/filters/component/operators.js +3 -3
- package/plugins/filters/component/operators.mjs +3 -3
- package/plugins/filters/component/value.js +3 -3
- package/plugins/filters/component/value.mjs +3 -3
- 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/conditionCollection.js +2 -2
- package/plugins/filters/conditionCollection.mjs +1 -1
- package/plugins/filters/conditionUpdateObserver.js +4 -4
- package/plugins/filters/conditionUpdateObserver.mjs +3 -3
- package/plugins/filters/dataFilter.js +1 -1
- package/plugins/filters/dataFilter.mjs +1 -1
- package/plugins/filters/filters.js +5 -5
- package/plugins/filters/filters.mjs +4 -4
- package/plugins/filters/ui/_base.js +2 -2
- package/plugins/filters/ui/_base.mjs +1 -1
- package/plugins/filters/ui/input.js +3 -3
- package/plugins/filters/ui/input.mjs +3 -3
- package/plugins/filters/ui/link.js +2 -2
- package/plugins/filters/ui/link.mjs +2 -2
- package/plugins/filters/ui/multipleSelect.js +3 -3
- package/plugins/filters/ui/multipleSelect.mjs +3 -3
- package/plugins/filters/ui/radioInput.js +2 -2
- package/plugins/filters/ui/radioInput.mjs +2 -2
- package/plugins/filters/ui/select.js +3 -3
- package/plugins/filters/ui/select.mjs +3 -3
- package/plugins/formulas/engine/register.js +1 -1
- package/plugins/formulas/formulas.js +7 -7
- package/plugins/formulas/formulas.mjs +6 -6
- package/plugins/formulas/indexSyncer/axisSyncer.js +2 -2
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +2 -2
- package/plugins/formulas/indexSyncer/index.js +3 -3
- package/plugins/formulas/indexSyncer/index.mjs +2 -2
- package/plugins/formulas/utils.js +1 -1
- package/plugins/hiddenColumns/hiddenColumns.js +4 -4
- package/plugins/hiddenColumns/hiddenColumns.mjs +3 -3
- package/plugins/hiddenRows/hiddenRows.js +4 -4
- package/plugins/hiddenRows/hiddenRows.mjs +3 -3
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +4 -4
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +3 -3
- package/plugins/manualColumnMove/manualColumnMove.js +4 -4
- package/plugins/manualColumnMove/manualColumnMove.mjs +3 -3
- package/plugins/manualColumnMove/ui/_base.js +1 -1
- package/plugins/manualColumnMove/ui/_base.mjs +1 -1
- package/plugins/manualColumnMove/ui/backlight.js +1 -1
- package/plugins/manualColumnMove/ui/guideline.js +1 -1
- package/plugins/manualColumnResize/manualColumnResize.js +3 -3
- package/plugins/manualColumnResize/manualColumnResize.mjs +3 -3
- package/plugins/manualRowMove/manualRowMove.js +4 -4
- package/plugins/manualRowMove/manualRowMove.mjs +3 -3
- package/plugins/manualRowMove/ui/_base.js +1 -1
- package/plugins/manualRowMove/ui/_base.mjs +1 -1
- package/plugins/manualRowMove/ui/backlight.js +1 -1
- package/plugins/manualRowMove/ui/guideline.js +1 -1
- package/plugins/manualRowResize/manualRowResize.js +3 -3
- package/plugins/manualRowResize/manualRowResize.mjs +3 -3
- package/plugins/mergeCells/calculations/autofill.js +2 -2
- package/plugins/mergeCells/calculations/autofill.mjs +2 -2
- package/plugins/mergeCells/calculations/selection.js +1 -1
- package/plugins/mergeCells/calculations/selection.mjs +1 -1
- package/plugins/mergeCells/cellCoords.js +81 -24
- package/plugins/mergeCells/cellCoords.mjs +81 -24
- package/plugins/mergeCells/cellsCollection.js +167 -91
- package/plugins/mergeCells/cellsCollection.mjs +166 -90
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +1 -1
- package/plugins/mergeCells/focusOrder.js +4 -4
- package/plugins/mergeCells/focusOrder.mjs +3 -3
- package/plugins/mergeCells/mergeCells.js +171 -122
- package/plugins/mergeCells/mergeCells.mjs +171 -122
- package/plugins/mergeCells/renderer.js +74 -0
- package/plugins/mergeCells/renderer.mjs +70 -0
- package/plugins/multiColumnSorting/multiColumnSorting.js +2 -1
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -1
- package/plugins/multiColumnSorting/utils.js +1 -1
- package/plugins/multiColumnSorting/utils.mjs +1 -1
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +1 -1
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +1 -1
- package/plugins/nestedHeaders/nestedHeaders.d.ts +1 -0
- package/plugins/nestedHeaders/nestedHeaders.js +20 -9
- package/plugins/nestedHeaders/nestedHeaders.mjs +20 -9
- package/plugins/nestedHeaders/stateManager/headersTree.js +3 -3
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +2 -2
- package/plugins/nestedHeaders/stateManager/index.js +3 -3
- package/plugins/nestedHeaders/stateManager/index.mjs +2 -2
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -1
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +5 -1
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +2 -2
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +2 -2
- package/plugins/nestedHeaders/stateManager/utils.js +6 -2
- package/plugins/nestedHeaders/stateManager/utils.mjs +6 -2
- package/plugins/nestedHeaders/utils/ghostTable.js +1 -1
- package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -1
- package/plugins/nestedRows/data/dataManager.js +1 -1
- package/plugins/nestedRows/data/dataManager.mjs +1 -1
- package/plugins/nestedRows/nestedRows.js +5 -5
- package/plugins/nestedRows/nestedRows.mjs +4 -4
- package/plugins/nestedRows/ui/_base.js +1 -1
- package/plugins/nestedRows/ui/_base.mjs +1 -1
- package/plugins/nestedRows/ui/collapsing.js +1 -1
- package/plugins/nestedRows/ui/contextMenu.js +4 -4
- package/plugins/nestedRows/ui/contextMenu.mjs +3 -3
- package/plugins/nestedRows/ui/headers.js +1 -1
- package/plugins/nestedRows/utils/rowMoveController.js +1 -1
- package/plugins/nestedRows/utils/rowMoveController.mjs +1 -1
- package/plugins/persistentState/persistentState.js +2 -2
- package/plugins/persistentState/persistentState.mjs +1 -1
- package/plugins/persistentState/storage.js +1 -1
- package/plugins/persistentState/storage.mjs +1 -1
- package/plugins/search/search.js +3 -3
- package/plugins/search/search.mjs +3 -3
- package/plugins/touchScroll/touchScroll.js +3 -3
- package/plugins/touchScroll/touchScroll.mjs +3 -3
- package/plugins/trimRows/trimRows.js +3 -3
- package/plugins/trimRows/trimRows.mjs +3 -3
- package/plugins/undoRedo/undoRedo.js +38 -1
- package/plugins/undoRedo/undoRedo.mjs +37 -0
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +1 -1
- package/renderers/numericRenderer/numericRenderer.js +1 -1
- package/renderers/registry.js +1 -1
- package/selection/highlight/highlight.js +3 -3
- package/selection/highlight/highlight.mjs +3 -3
- package/selection/highlight/types/activeHeader.js +1 -1
- package/selection/highlight/types/area.js +1 -1
- package/selection/highlight/types/areaLayered.js +1 -1
- package/selection/highlight/types/column.js +1 -1
- package/selection/highlight/types/customSelection.js +1 -1
- package/selection/highlight/types/fill.js +1 -1
- package/selection/highlight/types/focus.js +1 -1
- package/selection/highlight/types/header.js +1 -1
- package/selection/highlight/types/row.js +1 -1
- package/selection/highlight/visualSelection.js +1 -1
- package/selection/highlight/visualSelection.mjs +1 -1
- package/selection/index.js +1 -1
- package/selection/range.js +1 -1
- package/selection/range.mjs +1 -1
- package/selection/selection.js +8 -4
- package/selection/selection.mjs +7 -3
- package/selection/transformation.js +14 -4
- package/selection/transformation.mjs +13 -3
- package/settings.d.ts +1 -0
- package/shortcuts/utils.js +18 -27
- package/shortcuts/utils.mjs +18 -27
- package/tableView.js +126 -28
- package/tableView.mjs +125 -27
- package/translations/changesObservable/observable.js +2 -2
- package/translations/changesObservable/observable.mjs +2 -2
- package/translations/changesObservable/observer.js +3 -3
- package/translations/changesObservable/observer.mjs +2 -2
- package/translations/indexMapper.js +2 -2
- package/translations/indexMapper.mjs +1 -1
- package/translations/mapCollections/aggregatedCollection.js +1 -1
- package/translations/mapCollections/aggregatedCollection.mjs +1 -1
- package/translations/mapCollections/mapCollection.js +2 -2
- package/translations/mapCollections/mapCollection.mjs +1 -1
- package/translations/maps/indexMap.js +2 -2
- package/translations/maps/indexMap.mjs +1 -1
- package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -1
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -1
- package/utils/dataStructures/linkedList.js +1 -1
- package/utils/dataStructures/linkedList.mjs +1 -1
- package/utils/dataStructures/tree.js +1 -1
- package/utils/dataStructures/tree.mjs +1 -1
- package/utils/ghostTable.js +1 -1
- package/utils/ghostTable.mjs +1 -1
- package/utils/interval.js +4 -4
- package/utils/interval.mjs +4 -4
- package/utils/samplesGenerator.js +1 -1
- package/utils/samplesGenerator.mjs +1 -1
- package/validators/dateValidator/dateValidator.js +1 -1
- package/validators/registry.js +1 -1
- package/validators/timeValidator/timeValidator.js +1 -1
- package/plugins/mergeCells/utils.js +0 -28
- package/plugins/mergeCells/utils.mjs +0 -24
@@ -2,22 +2,24 @@
|
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
|
+
require("core-js/modules/es.array.push.js");
|
5
6
|
var _base = require("../base");
|
6
|
-
var _array = require("../../helpers/array");
|
7
7
|
var _feature = require("../../helpers/feature");
|
8
|
-
var _element = require("../../helpers/dom/element");
|
9
8
|
var _ghostTable = _interopRequireDefault(require("../../utils/ghostTable"));
|
10
9
|
var _object = require("../../helpers/object");
|
11
10
|
var _number = require("../../helpers/number");
|
12
11
|
var _samplesGenerator = _interopRequireDefault(require("../../utils/samplesGenerator"));
|
13
12
|
var _string = require("../../helpers/string");
|
14
13
|
var _translations = require("../../translations");
|
15
|
-
function _interopRequireDefault(
|
16
|
-
function _classPrivateMethodInitSpec(
|
17
|
-
function
|
18
|
-
function
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
15
|
+
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
16
|
+
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
17
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
18
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
19
19
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
20
20
|
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); }
|
21
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
22
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
21
23
|
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"); }
|
22
24
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'autoRowSize';
|
23
25
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 40;
|
@@ -107,6 +109,7 @@ const ROW_WIDTHS_MAP_NAME = 'autoRowSize';
|
|
107
109
|
* :::
|
108
110
|
*/
|
109
111
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
112
|
+
var _visualRowsToRefresh = /*#__PURE__*/new WeakMap();
|
110
113
|
var _AutoRowSize_brand = /*#__PURE__*/new WeakSet();
|
111
114
|
class AutoRowSize extends _base.BasePlugin {
|
112
115
|
static get PLUGIN_KEY() {
|
@@ -135,7 +138,9 @@ class AutoRowSize extends _base.BasePlugin {
|
|
135
138
|
constructor(hotInstance) {
|
136
139
|
super(hotInstance);
|
137
140
|
/**
|
138
|
-
*
|
141
|
+
* Calculates specific rows height (overwrite cache values).
|
142
|
+
*
|
143
|
+
* @param {number[]} visualRows List of visual rows to calculate.
|
139
144
|
*/
|
140
145
|
_classPrivateMethodInitSpec(this, _AutoRowSize_brand);
|
141
146
|
_defineProperty(this, "headerHeight", null);
|
@@ -175,13 +180,6 @@ class AutoRowSize extends _base.BasePlugin {
|
|
175
180
|
value: cellValue
|
176
181
|
};
|
177
182
|
}));
|
178
|
-
/**
|
179
|
-
* `true` if only the first calculation was performed.
|
180
|
-
*
|
181
|
-
* @private
|
182
|
-
* @type {boolean}
|
183
|
-
*/
|
184
|
-
_defineProperty(this, "firstCalculation", true);
|
185
183
|
/**
|
186
184
|
* `true` if the size calculation is in progress.
|
187
185
|
*
|
@@ -201,6 +199,12 @@ class AutoRowSize extends _base.BasePlugin {
|
|
201
199
|
* @type {PhysicalIndexToValueMap}
|
202
200
|
*/
|
203
201
|
_defineProperty(this, "rowHeightsMap", new _translations.PhysicalIndexToValueMap());
|
202
|
+
/**
|
203
|
+
* An array of row indexes whose height will be recalculated.
|
204
|
+
*
|
205
|
+
* @type {number[]}
|
206
|
+
*/
|
207
|
+
_classPrivateFieldInitSpec(this, _visualRowsToRefresh, []);
|
204
208
|
this.hot.rowIndexMapper.registerMap(ROW_WIDTHS_MAP_NAME, this.rowHeightsMap);
|
205
209
|
|
206
210
|
// Leave the listener active to allow auto-sizing the rows when the plugin is disabled.
|
@@ -234,10 +238,22 @@ class AutoRowSize extends _base.BasePlugin {
|
|
234
238
|
}
|
235
239
|
return _assertClassBrand(_AutoRowSize_brand, _this, _onAfterLoadData).call(_this, ...args);
|
236
240
|
});
|
237
|
-
this.addHook('beforeChangeRender',
|
241
|
+
this.addHook('beforeChangeRender', function () {
|
242
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
243
|
+
args[_key2] = arguments[_key2];
|
244
|
+
}
|
245
|
+
return _assertClassBrand(_AutoRowSize_brand, _this, _onBeforeChange).call(_this, ...args);
|
246
|
+
});
|
238
247
|
this.addHook('beforeColumnResize', () => this.recalculateAllRowsHeight());
|
239
|
-
this.addHook('
|
248
|
+
this.addHook('afterFormulasValuesUpdate', function () {
|
249
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
250
|
+
args[_key3] = arguments[_key3];
|
251
|
+
}
|
252
|
+
return _assertClassBrand(_AutoRowSize_brand, _this, _onAfterFormulasValuesUpdate).call(_this, ...args);
|
253
|
+
});
|
254
|
+
this.addHook('beforeRender', () => _assertClassBrand(_AutoRowSize_brand, this, _onBeforeRender).call(this));
|
240
255
|
this.addHook('modifyRowHeight', (height, row) => this.getRowHeight(row, height));
|
256
|
+
this.addHook('init', () => _assertClassBrand(_AutoRowSize_brand, this, _onInit).call(this));
|
241
257
|
this.addHook('modifyColumnHeaderHeight', () => this.getColumnHeaderHeight());
|
242
258
|
super.enablePlugin();
|
243
259
|
}
|
@@ -250,16 +266,36 @@ class AutoRowSize extends _base.BasePlugin {
|
|
250
266
|
super.disablePlugin();
|
251
267
|
|
252
268
|
// Leave the listener active to allow auto-sizing the rows when the plugin is disabled.
|
253
|
-
// This is
|
269
|
+
// This is necessary for height recalculation for resize handler doubleclick (ManualRowResize).
|
254
270
|
this.addHook('beforeRowResize', (size, row, isDblClick) => _assertClassBrand(_AutoRowSize_brand, this, _onBeforeRowResize).call(this, size, row, isDblClick));
|
255
271
|
}
|
256
272
|
|
273
|
+
/**
|
274
|
+
* Calculates heights for visible rows in the viewport only.
|
275
|
+
*/
|
276
|
+
calculateVisibleRowsHeight() {
|
277
|
+
// Keep last row heights unchanged for situation when all columns was deleted or trimmed
|
278
|
+
if (!this.hot.countCols()) {
|
279
|
+
return;
|
280
|
+
}
|
281
|
+
const firstVisibleRow = this.getFirstVisibleRow();
|
282
|
+
const lastVisibleRow = this.getLastVisibleRow();
|
283
|
+
if (firstVisibleRow === -1 || lastVisibleRow === -1) {
|
284
|
+
return;
|
285
|
+
}
|
286
|
+
const overwriteCache = this.hot.renderCall;
|
287
|
+
this.calculateRowsHeight({
|
288
|
+
from: firstVisibleRow,
|
289
|
+
to: lastVisibleRow
|
290
|
+
}, undefined, overwriteCache);
|
291
|
+
}
|
292
|
+
|
257
293
|
/**
|
258
294
|
* Calculate a given rows height.
|
259
295
|
*
|
260
296
|
* @param {number|object} rowRange Row index or an object with `from` and `to` indexes as a range.
|
261
297
|
* @param {number|object} colRange Column index or an object with `from` and `to` indexes as a range.
|
262
|
-
* @param {boolean} [
|
298
|
+
* @param {boolean} [overwriteCache=false] If `true` the calculation will be processed regardless of whether the width exists in the cache.
|
263
299
|
*/
|
264
300
|
calculateRowsHeight() {
|
265
301
|
let rowRange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
@@ -270,8 +306,7 @@ class AutoRowSize extends _base.BasePlugin {
|
|
270
306
|
from: 0,
|
271
307
|
to: this.hot.countCols() - 1
|
272
308
|
};
|
273
|
-
let
|
274
|
-
// eslint-disable-line max-len
|
309
|
+
let overwriteCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
275
310
|
const rowsRange = typeof rowRange === 'number' ? {
|
276
311
|
from: rowRange,
|
277
312
|
to: rowRange
|
@@ -284,15 +319,17 @@ class AutoRowSize extends _base.BasePlugin {
|
|
284
319
|
const samples = this.samplesGenerator.generateRowSamples(-1, columnsRange);
|
285
320
|
this.ghostTable.addColumnHeadersRow(samples.get(-1));
|
286
321
|
}
|
287
|
-
(0, _number.rangeEach)(rowsRange.from, rowsRange.to,
|
322
|
+
(0, _number.rangeEach)(rowsRange.from, rowsRange.to, visualRow => {
|
323
|
+
let physicalRow = this.hot.toPhysicalRow(visualRow);
|
324
|
+
if (physicalRow === null) {
|
325
|
+
physicalRow = visualRow;
|
326
|
+
}
|
327
|
+
|
288
328
|
// For rows we must calculate row height even when user had set height value manually.
|
289
329
|
// We can shrink column but cannot shrink rows!
|
290
|
-
if (
|
291
|
-
const samples = this.samplesGenerator.generateRowSamples(
|
292
|
-
(
|
293
|
-
let [rowIndex, sample] = _ref;
|
294
|
-
return this.ghostTable.addRow(rowIndex, sample);
|
295
|
-
});
|
330
|
+
if (overwriteCache || this.rowHeightsMap.getValueAtIndex(physicalRow) === null) {
|
331
|
+
const samples = this.samplesGenerator.generateRowSamples(visualRow, columnsRange);
|
332
|
+
samples.forEach((sample, row) => this.ghostTable.addRow(row, sample));
|
296
333
|
}
|
297
334
|
});
|
298
335
|
if (this.ghostTable.rows.length) {
|
@@ -315,12 +352,14 @@ class AutoRowSize extends _base.BasePlugin {
|
|
315
352
|
* To retrieve height for specified row use {@link AutoRowSize#getRowHeight} method.
|
316
353
|
*
|
317
354
|
* @param {object|number} colRange Row index or an object with `from` and `to` properties which define row range.
|
355
|
+
* @param {boolean} [overwriteCache] If `true` the calculation will be processed regardless of whether the width exists in the cache.
|
318
356
|
*/
|
319
357
|
calculateAllRowsHeight() {
|
320
358
|
let colRange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
321
359
|
from: 0,
|
322
360
|
to: this.hot.countCols() - 1
|
323
361
|
};
|
362
|
+
let overwriteCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
324
363
|
let current = 0;
|
325
364
|
const length = this.hot.countRows() - 1;
|
326
365
|
let timer = null;
|
@@ -335,7 +374,7 @@ class AutoRowSize extends _base.BasePlugin {
|
|
335
374
|
this.calculateRowsHeight({
|
336
375
|
from: current,
|
337
376
|
to: Math.min(current + AutoRowSize.CALCULATION_STEP, length)
|
338
|
-
}, colRange);
|
377
|
+
}, colRange, overwriteCache);
|
339
378
|
current = current + AutoRowSize.CALCULATION_STEP + 1;
|
340
379
|
if (current < length) {
|
341
380
|
timer = (0, _feature.requestAnimationFrame)(loop);
|
@@ -355,12 +394,11 @@ class AutoRowSize extends _base.BasePlugin {
|
|
355
394
|
const syncLimit = this.getSyncCalculationLimit();
|
356
395
|
|
357
396
|
// sync
|
358
|
-
if (
|
397
|
+
if (syncLimit >= 0) {
|
359
398
|
this.calculateRowsHeight({
|
360
399
|
from: 0,
|
361
400
|
to: syncLimit
|
362
|
-
}, colRange);
|
363
|
-
this.firstCalculation = false;
|
401
|
+
}, colRange, overwriteCache);
|
364
402
|
current = syncLimit + 1;
|
365
403
|
}
|
366
404
|
// async
|
@@ -371,7 +409,6 @@ class AutoRowSize extends _base.BasePlugin {
|
|
371
409
|
this.hot.view.adjustElementsSize();
|
372
410
|
}
|
373
411
|
}
|
374
|
-
|
375
412
|
/**
|
376
413
|
* Sets the sampling options.
|
377
414
|
*
|
@@ -393,9 +430,11 @@ class AutoRowSize extends _base.BasePlugin {
|
|
393
430
|
* Recalculates all rows height (overwrite cache values).
|
394
431
|
*/
|
395
432
|
recalculateAllRowsHeight() {
|
396
|
-
if (
|
397
|
-
this.
|
398
|
-
|
433
|
+
if (this.hot.view.isVisible()) {
|
434
|
+
this.calculateAllRowsHeight({
|
435
|
+
from: 0,
|
436
|
+
to: this.hot.countCols() - 1
|
437
|
+
}, true);
|
399
438
|
}
|
400
439
|
}
|
401
440
|
|
@@ -435,8 +474,7 @@ class AutoRowSize extends _base.BasePlugin {
|
|
435
474
|
* @param {number} [defaultHeight] If no height is found, `defaultHeight` is returned instead.
|
436
475
|
* @returns {number} The height of the specified row, in pixels.
|
437
476
|
*/
|
438
|
-
getRowHeight(row) {
|
439
|
-
let defaultHeight = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
477
|
+
getRowHeight(row, defaultHeight) {
|
440
478
|
const cachedHeight = row < 0 ? this.headerHeight : this.rowHeightsMap.getValueAtIndex(this.hot.toPhysicalRow(row));
|
441
479
|
let height = defaultHeight;
|
442
480
|
if (cachedHeight !== null && cachedHeight > (defaultHeight || 0)) {
|
@@ -460,14 +498,8 @@ class AutoRowSize extends _base.BasePlugin {
|
|
460
498
|
* @returns {number} Returns row index, -1 if table is not rendered or if there are no rows to base the the calculations on.
|
461
499
|
*/
|
462
500
|
getFirstVisibleRow() {
|
463
|
-
|
464
|
-
|
465
|
-
return wot.wtTable.getFirstVisibleRow();
|
466
|
-
}
|
467
|
-
if (wot.wtViewport.rowsRenderCalculator) {
|
468
|
-
return wot.wtTable.getFirstRenderedRow();
|
469
|
-
}
|
470
|
-
return -1;
|
501
|
+
var _this$hot$view$getFir;
|
502
|
+
return (_this$hot$view$getFir = this.hot.view.getFirstRenderedVisibleRow()) !== null && _this$hot$view$getFir !== void 0 ? _this$hot$view$getFir : -1;
|
471
503
|
}
|
472
504
|
|
473
505
|
/**
|
@@ -476,22 +508,27 @@ class AutoRowSize extends _base.BasePlugin {
|
|
476
508
|
* @returns {number} Returns row index or -1 if table is not rendered.
|
477
509
|
*/
|
478
510
|
getLastVisibleRow() {
|
479
|
-
|
480
|
-
|
481
|
-
return wot.wtTable.getLastVisibleRow();
|
482
|
-
}
|
483
|
-
if (wot.wtViewport.rowsRenderCalculator) {
|
484
|
-
return wot.wtTable.getLastRenderedRow();
|
485
|
-
}
|
486
|
-
return -1;
|
511
|
+
var _this$hot$view$getLas;
|
512
|
+
return (_this$hot$view$getLas = this.hot.view.getLastRenderedVisibleRow()) !== null && _this$hot$view$getLas !== void 0 ? _this$hot$view$getLas : -1;
|
487
513
|
}
|
488
514
|
|
489
515
|
/**
|
490
|
-
* Clears
|
516
|
+
* Clears cache of calculated row heights. If you want to clear only selected rows pass an array with their indexes.
|
517
|
+
* Otherwise whole cache will be cleared.
|
518
|
+
*
|
519
|
+
* @param {number[]} [physicalRows] List of physical row indexes to clear.
|
491
520
|
*/
|
492
|
-
clearCache() {
|
521
|
+
clearCache(physicalRows) {
|
493
522
|
this.headerHeight = null;
|
494
|
-
|
523
|
+
if (Array.isArray(physicalRows)) {
|
524
|
+
this.hot.batchExecution(() => {
|
525
|
+
physicalRows.forEach(physicalIndex => {
|
526
|
+
this.rowHeightsMap.setValueAtIndex(physicalIndex, null);
|
527
|
+
});
|
528
|
+
}, true);
|
529
|
+
} else {
|
530
|
+
this.rowHeightsMap.clear();
|
531
|
+
}
|
495
532
|
}
|
496
533
|
|
497
534
|
/**
|
@@ -520,8 +557,13 @@ class AutoRowSize extends _base.BasePlugin {
|
|
520
557
|
* @returns {boolean}
|
521
558
|
*/
|
522
559
|
isNeedRecalculate() {
|
523
|
-
return !!
|
560
|
+
return !!this.rowHeightsMap.getValues().slice(0, this.measuredRows).filter(item => item === null).length;
|
524
561
|
}
|
562
|
+
|
563
|
+
/**
|
564
|
+
* On before view render listener.
|
565
|
+
*/
|
566
|
+
|
525
567
|
/**
|
526
568
|
* Destroys the plugin instance.
|
527
569
|
*/
|
@@ -531,29 +573,32 @@ class AutoRowSize extends _base.BasePlugin {
|
|
531
573
|
}
|
532
574
|
}
|
533
575
|
exports.AutoRowSize = AutoRowSize;
|
534
|
-
function
|
535
|
-
const
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
});
|
576
|
+
function _calculateSpecificRowsHeight(visualRows) {
|
577
|
+
const columnsRange = {
|
578
|
+
from: 0,
|
579
|
+
to: this.hot.countCols() - 1
|
580
|
+
};
|
581
|
+
visualRows.forEach(visualRow => {
|
582
|
+
// For rows we must calculate row height even when user had set height value manually.
|
583
|
+
// We can shrink column but cannot shrink rows!
|
584
|
+
const samples = this.samplesGenerator.generateRowSamples(visualRow, columnsRange);
|
585
|
+
samples.forEach((sample, row) => this.ghostTable.addRow(row, sample));
|
586
|
+
});
|
587
|
+
if (this.ghostTable.rows.length) {
|
588
|
+
this.hot.batchExecution(() => {
|
589
|
+
this.ghostTable.getHeights((visualRow, height) => {
|
590
|
+
const physicalRow = this.hot.toPhysicalRow(visualRow);
|
591
|
+
this.rowHeightsMap.setValueAtIndex(physicalRow, height);
|
592
|
+
});
|
593
|
+
}, true);
|
594
|
+
this.ghostTable.clean();
|
554
595
|
}
|
555
|
-
|
556
|
-
|
596
|
+
}
|
597
|
+
function _onBeforeRender() {
|
598
|
+
this.calculateVisibleRowsHeight();
|
599
|
+
if (!this.inProgress) {
|
600
|
+
_assertClassBrand(_AutoRowSize_brand, this, _calculateSpecificRowsHeight).call(this, _classPrivateFieldGet(_visualRowsToRefresh, this));
|
601
|
+
_classPrivateFieldSet(_visualRowsToRefresh, this, []);
|
557
602
|
}
|
558
603
|
}
|
559
604
|
/**
|
@@ -574,17 +619,13 @@ function _onBeforeRowResize(size, row, isDblClick) {
|
|
574
619
|
}
|
575
620
|
/**
|
576
621
|
* On after load data listener.
|
622
|
+
*
|
623
|
+
* @param {Array} sourceData Source data.
|
624
|
+
* @param {boolean} isFirstLoad `true` if this is the first load.
|
577
625
|
*/
|
578
|
-
function _onAfterLoadData() {
|
579
|
-
if (
|
626
|
+
function _onAfterLoadData(sourceData, isFirstLoad) {
|
627
|
+
if (!isFirstLoad) {
|
580
628
|
this.recalculateAllRowsHeight();
|
581
|
-
} else {
|
582
|
-
// first load - initialization
|
583
|
-
this.hot._registerTimeout(() => {
|
584
|
-
if (this.hot) {
|
585
|
-
this.recalculateAllRowsHeight();
|
586
|
-
}
|
587
|
-
});
|
588
629
|
}
|
589
630
|
}
|
590
631
|
/**
|
@@ -593,16 +634,37 @@ function _onAfterLoadData() {
|
|
593
634
|
* @param {Array} changes 2D array containing information about each of the edited cells.
|
594
635
|
*/
|
595
636
|
function _onBeforeChange(changes) {
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
637
|
+
const changedRows = changes.reduce((acc, _ref) => {
|
638
|
+
let [row] = _ref;
|
639
|
+
if (acc.indexOf(row) === -1) {
|
640
|
+
acc.push(row);
|
641
|
+
}
|
642
|
+
return acc;
|
643
|
+
}, []);
|
644
|
+
_classPrivateFieldGet(_visualRowsToRefresh, this).push(...changedRows);
|
645
|
+
}
|
646
|
+
/**
|
647
|
+
* On after Handsontable init plugin with all necessary values.
|
648
|
+
*/
|
649
|
+
function _onInit() {
|
650
|
+
this.recalculateAllRowsHeight();
|
651
|
+
}
|
652
|
+
/**
|
653
|
+
* After formulas values updated listener.
|
654
|
+
*
|
655
|
+
* @param {Array} changes An array of modified data.
|
656
|
+
*/
|
657
|
+
function _onAfterFormulasValuesUpdate(changes) {
|
658
|
+
const changedRows = changes.reduce((acc, change) => {
|
659
|
+
var _change$address;
|
660
|
+
const physicalRow = (_change$address = change.address) === null || _change$address === void 0 ? void 0 : _change$address.row;
|
661
|
+
if (Number.isInteger(physicalRow)) {
|
662
|
+
const visualRow = this.hot.toVisualRow(physicalRow);
|
663
|
+
if (acc.indexOf(visualRow) === -1) {
|
664
|
+
acc.push(visualRow);
|
665
|
+
}
|
666
|
+
}
|
667
|
+
return acc;
|
668
|
+
}, []);
|
669
|
+
_classPrivateFieldGet(_visualRowsToRefresh, this).push(...changedRows);
|
608
670
|
}
|