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
@@ -21,15 +21,15 @@ var _array = require("../../helpers/array");
|
|
21
21
|
var _object = require("../../helpers/object");
|
22
22
|
var _console = require("../../helpers/console");
|
23
23
|
var _number = require("../../helpers/number");
|
24
|
-
var _utils = require("./utils");
|
25
24
|
var _element = require("../../helpers/dom/element");
|
26
25
|
var _browser = require("../../helpers/browser");
|
27
26
|
var _focusOrder2 = require("./focusOrder");
|
28
|
-
|
29
|
-
function
|
30
|
-
function
|
31
|
-
function
|
32
|
-
function
|
27
|
+
var _renderer = require("./renderer");
|
28
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
29
|
+
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
30
|
+
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
31
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
32
|
+
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; }
|
33
33
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
34
34
|
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); }
|
35
35
|
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
@@ -83,6 +83,7 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
|
|
83
83
|
var _lastSelectedFocus = /*#__PURE__*/new WeakMap();
|
84
84
|
var _lastFocusDelta = /*#__PURE__*/new WeakMap();
|
85
85
|
var _focusOrder = /*#__PURE__*/new WeakMap();
|
86
|
+
var _cellRenderer = /*#__PURE__*/new WeakMap();
|
86
87
|
var _MergeCells_brand = /*#__PURE__*/new WeakSet();
|
87
88
|
class MergeCells extends _base.BasePlugin {
|
88
89
|
constructor() {
|
@@ -139,6 +140,12 @@ class MergeCells extends _base.BasePlugin {
|
|
139
140
|
rowIndexMapper: this.hot.rowIndexMapper,
|
140
141
|
columnIndexMapper: this.hot.columnIndexMapper
|
141
142
|
}));
|
143
|
+
/**
|
144
|
+
* The cell renderer responsible for rendering the merged cells.
|
145
|
+
*
|
146
|
+
* @type {{before: Function, after: Function}}
|
147
|
+
*/
|
148
|
+
_classPrivateFieldInitSpec(this, _cellRenderer, (0, _renderer.createMergeCellRenderer)(this));
|
142
149
|
}
|
143
150
|
static get PLUGIN_KEY() {
|
144
151
|
return PLUGIN_KEY;
|
@@ -240,94 +247,97 @@ class MergeCells extends _base.BasePlugin {
|
|
240
247
|
return _assertClassBrand(_MergeCells_brand, _this, _onAfterIsMultipleSelection).call(_this, ...args);
|
241
248
|
});
|
242
249
|
this.addHook('afterRenderer', function () {
|
250
|
+
return _classPrivateFieldGet(_cellRenderer, _this).after(...arguments);
|
251
|
+
});
|
252
|
+
this.addHook('afterContextMenuDefaultOptions', function () {
|
243
253
|
for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) {
|
244
254
|
args[_key13] = arguments[_key13];
|
245
255
|
}
|
246
|
-
return _assertClassBrand(_MergeCells_brand, _this,
|
256
|
+
return _assertClassBrand(_MergeCells_brand, _this, _addMergeActionsToContextMenu).call(_this, ...args);
|
247
257
|
});
|
248
|
-
this.addHook('
|
258
|
+
this.addHook('afterGetCellMeta', function () {
|
249
259
|
for (var _len14 = arguments.length, args = new Array(_len14), _key14 = 0; _key14 < _len14; _key14++) {
|
250
260
|
args[_key14] = arguments[_key14];
|
251
261
|
}
|
252
|
-
return _assertClassBrand(_MergeCells_brand, _this,
|
262
|
+
return _assertClassBrand(_MergeCells_brand, _this, _onAfterGetCellMeta).call(_this, ...args);
|
253
263
|
});
|
254
|
-
this.addHook('
|
264
|
+
this.addHook('afterViewportRowCalculatorOverride', function () {
|
255
265
|
for (var _len15 = arguments.length, args = new Array(_len15), _key15 = 0; _key15 < _len15; _key15++) {
|
256
266
|
args[_key15] = arguments[_key15];
|
257
267
|
}
|
258
|
-
return _assertClassBrand(_MergeCells_brand, _this,
|
268
|
+
return _assertClassBrand(_MergeCells_brand, _this, _onAfterViewportRowCalculatorOverride).call(_this, ...args);
|
259
269
|
});
|
260
|
-
this.addHook('
|
270
|
+
this.addHook('afterViewportColumnCalculatorOverride', function () {
|
261
271
|
for (var _len16 = arguments.length, args = new Array(_len16), _key16 = 0; _key16 < _len16; _key16++) {
|
262
272
|
args[_key16] = arguments[_key16];
|
263
273
|
}
|
264
|
-
return _assertClassBrand(_MergeCells_brand, _this,
|
274
|
+
return _assertClassBrand(_MergeCells_brand, _this, _onAfterViewportColumnCalculatorOverride).call(_this, ...args);
|
265
275
|
});
|
266
|
-
this.addHook('
|
276
|
+
this.addHook('modifyAutofillRange', function () {
|
267
277
|
for (var _len17 = arguments.length, args = new Array(_len17), _key17 = 0; _key17 < _len17; _key17++) {
|
268
278
|
args[_key17] = arguments[_key17];
|
269
279
|
}
|
270
|
-
return _assertClassBrand(_MergeCells_brand, _this,
|
280
|
+
return _assertClassBrand(_MergeCells_brand, _this, _onModifyAutofillRange).call(_this, ...args);
|
271
281
|
});
|
272
|
-
this.addHook('
|
282
|
+
this.addHook('afterCreateCol', function () {
|
273
283
|
for (var _len18 = arguments.length, args = new Array(_len18), _key18 = 0; _key18 < _len18; _key18++) {
|
274
284
|
args[_key18] = arguments[_key18];
|
275
285
|
}
|
276
|
-
return _assertClassBrand(_MergeCells_brand, _this,
|
286
|
+
return _assertClassBrand(_MergeCells_brand, _this, _onAfterCreateCol).call(_this, ...args);
|
277
287
|
});
|
278
|
-
this.addHook('
|
288
|
+
this.addHook('afterRemoveCol', function () {
|
279
289
|
for (var _len19 = arguments.length, args = new Array(_len19), _key19 = 0; _key19 < _len19; _key19++) {
|
280
290
|
args[_key19] = arguments[_key19];
|
281
291
|
}
|
282
|
-
return _assertClassBrand(_MergeCells_brand, _this,
|
292
|
+
return _assertClassBrand(_MergeCells_brand, _this, _onAfterRemoveCol).call(_this, ...args);
|
283
293
|
});
|
284
|
-
this.addHook('
|
294
|
+
this.addHook('afterCreateRow', function () {
|
285
295
|
for (var _len20 = arguments.length, args = new Array(_len20), _key20 = 0; _key20 < _len20; _key20++) {
|
286
296
|
args[_key20] = arguments[_key20];
|
287
297
|
}
|
288
|
-
return _assertClassBrand(_MergeCells_brand, _this,
|
298
|
+
return _assertClassBrand(_MergeCells_brand, _this, _onAfterCreateRow).call(_this, ...args);
|
289
299
|
});
|
290
|
-
this.addHook('
|
300
|
+
this.addHook('afterRemoveRow', function () {
|
291
301
|
for (var _len21 = arguments.length, args = new Array(_len21), _key21 = 0; _key21 < _len21; _key21++) {
|
292
302
|
args[_key21] = arguments[_key21];
|
293
303
|
}
|
294
|
-
return _assertClassBrand(_MergeCells_brand, _this,
|
304
|
+
return _assertClassBrand(_MergeCells_brand, _this, _onAfterRemoveRow).call(_this, ...args);
|
295
305
|
});
|
296
|
-
this.addHook('
|
306
|
+
this.addHook('afterChange', function () {
|
297
307
|
for (var _len22 = arguments.length, args = new Array(_len22), _key22 = 0; _key22 < _len22; _key22++) {
|
298
308
|
args[_key22] = arguments[_key22];
|
299
309
|
}
|
300
|
-
return _assertClassBrand(_MergeCells_brand, _this,
|
310
|
+
return _assertClassBrand(_MergeCells_brand, _this, _onAfterChange).call(_this, ...args);
|
301
311
|
});
|
302
|
-
this.addHook('
|
312
|
+
this.addHook('beforeDrawBorders', function () {
|
303
313
|
for (var _len23 = arguments.length, args = new Array(_len23), _key23 = 0; _key23 < _len23; _key23++) {
|
304
314
|
args[_key23] = arguments[_key23];
|
305
315
|
}
|
306
|
-
return _assertClassBrand(_MergeCells_brand, _this,
|
316
|
+
return _assertClassBrand(_MergeCells_brand, _this, _onBeforeDrawAreaBorders).call(_this, ...args);
|
307
317
|
});
|
308
|
-
this.addHook('
|
318
|
+
this.addHook('afterDrawSelection', function () {
|
309
319
|
for (var _len24 = arguments.length, args = new Array(_len24), _key24 = 0; _key24 < _len24; _key24++) {
|
310
320
|
args[_key24] = arguments[_key24];
|
311
321
|
}
|
312
|
-
return _assertClassBrand(_MergeCells_brand, _this,
|
322
|
+
return _assertClassBrand(_MergeCells_brand, _this, _onAfterDrawSelection).call(_this, ...args);
|
313
323
|
});
|
314
|
-
this.addHook('
|
324
|
+
this.addHook('beforeRemoveCellClassNames', function () {
|
315
325
|
for (var _len25 = arguments.length, args = new Array(_len25), _key25 = 0; _key25 < _len25; _key25++) {
|
316
326
|
args[_key25] = arguments[_key25];
|
317
327
|
}
|
318
|
-
return _assertClassBrand(_MergeCells_brand, _this,
|
328
|
+
return _assertClassBrand(_MergeCells_brand, _this, _onBeforeRemoveCellClassNames).call(_this, ...args);
|
319
329
|
});
|
320
|
-
this.addHook('
|
330
|
+
this.addHook('beforeBeginEditing', function () {
|
321
331
|
for (var _len26 = arguments.length, args = new Array(_len26), _key26 = 0; _key26 < _len26; _key26++) {
|
322
332
|
args[_key26] = arguments[_key26];
|
323
333
|
}
|
324
|
-
return _assertClassBrand(_MergeCells_brand, _this,
|
334
|
+
return _assertClassBrand(_MergeCells_brand, _this, _onBeforeBeginEditing).call(_this, ...args);
|
325
335
|
});
|
326
|
-
this.addHook('
|
336
|
+
this.addHook('modifyRowHeightByOverlayName', function () {
|
327
337
|
for (var _len27 = arguments.length, args = new Array(_len27), _key27 = 0; _key27 < _len27; _key27++) {
|
328
338
|
args[_key27] = arguments[_key27];
|
329
339
|
}
|
330
|
-
return _assertClassBrand(_MergeCells_brand, _this,
|
340
|
+
return _assertClassBrand(_MergeCells_brand, _this, _onModifyRowHeightByOverlayName).call(_this, ...args);
|
331
341
|
});
|
332
342
|
this.addHook('beforeUndoStackChange', (action, source) => {
|
333
343
|
if (source === 'MergeCells') {
|
@@ -418,24 +428,26 @@ class MergeCells extends _base.BasePlugin {
|
|
418
428
|
* @returns {boolean}
|
419
429
|
*/
|
420
430
|
validateSetting(setting) {
|
421
|
-
let valid = true;
|
422
431
|
if (!setting) {
|
423
432
|
return false;
|
424
433
|
}
|
425
434
|
if (_cellCoords.default.containsNegativeValues(setting)) {
|
426
435
|
(0, _console.warn)(_cellCoords.default.NEGATIVE_VALUES_WARNING(setting));
|
427
|
-
|
428
|
-
}
|
436
|
+
return false;
|
437
|
+
}
|
438
|
+
if (_cellCoords.default.isOutOfBounds(setting, this.hot.countRows(), this.hot.countCols())) {
|
429
439
|
(0, _console.warn)(_cellCoords.default.IS_OUT_OF_BOUNDS_WARNING(setting));
|
430
|
-
|
431
|
-
}
|
440
|
+
return false;
|
441
|
+
}
|
442
|
+
if (_cellCoords.default.isSingleCell(setting)) {
|
432
443
|
(0, _console.warn)(_cellCoords.default.IS_SINGLE_CELL(setting));
|
433
|
-
|
434
|
-
}
|
444
|
+
return false;
|
445
|
+
}
|
446
|
+
if (_cellCoords.default.containsZeroSpan(setting)) {
|
435
447
|
(0, _console.warn)(_cellCoords.default.ZERO_SPAN_WARNING(setting));
|
436
|
-
|
448
|
+
return false;
|
437
449
|
}
|
438
|
-
return
|
450
|
+
return true;
|
439
451
|
}
|
440
452
|
|
441
453
|
/**
|
@@ -445,36 +457,42 @@ class MergeCells extends _base.BasePlugin {
|
|
445
457
|
* @param {Array|boolean} settings The settings provided to the plugin.
|
446
458
|
*/
|
447
459
|
generateFromSettings(settings) {
|
448
|
-
if (Array.isArray(settings)) {
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
populatedNulls.push([rowIndex, columnIndex, null]);
|
465
|
-
}
|
466
|
-
});
|
467
|
-
});
|
468
|
-
});
|
460
|
+
if (!Array.isArray(settings)) {
|
461
|
+
return;
|
462
|
+
}
|
463
|
+
const validSettings = settings.filter(mergeCellInfo => this.validateSetting(mergeCellInfo));
|
464
|
+
const nonOverlappingSettings = this.mergedCellsCollection.filterOverlappingMergeCells(validSettings);
|
465
|
+
const populatedNulls = [];
|
466
|
+
nonOverlappingSettings.forEach(mergeCellInfo => {
|
467
|
+
const {
|
468
|
+
row,
|
469
|
+
col,
|
470
|
+
rowspan,
|
471
|
+
colspan
|
472
|
+
} = mergeCellInfo;
|
473
|
+
const from = this.hot._createCellCoords(row, col);
|
474
|
+
const to = this.hot._createCellCoords(row + rowspan - 1, col + colspan - 1);
|
475
|
+
const mergeRange = this.hot._createCellRange(from, from, to);
|
469
476
|
|
470
|
-
//
|
471
|
-
|
472
|
-
|
477
|
+
// Merging without data population.
|
478
|
+
this.mergeRange(mergeRange, true, true);
|
479
|
+
for (let r = row; r < row + rowspan; r++) {
|
480
|
+
for (let c = col; c < col + colspan; c++) {
|
481
|
+
// Not resetting a cell representing a merge area's value.
|
482
|
+
if (r !== row || c !== col) {
|
483
|
+
populatedNulls.push([r, c, null]);
|
484
|
+
}
|
485
|
+
}
|
473
486
|
}
|
487
|
+
});
|
474
488
|
|
475
|
-
|
476
|
-
|
489
|
+
// There are no merged cells. Thus, no data population is needed.
|
490
|
+
if (populatedNulls.length === 0) {
|
491
|
+
return;
|
477
492
|
}
|
493
|
+
|
494
|
+
// TODO: Change the `source` argument to a more meaningful value, e.g. `${this.pluginName}.clearCells`.
|
495
|
+
this.hot.setDataAtCell(populatedNulls, undefined, undefined, this.pluginName);
|
478
496
|
}
|
479
497
|
|
480
498
|
/**
|
@@ -580,7 +598,7 @@ class MergeCells extends _base.BasePlugin {
|
|
580
598
|
});
|
581
599
|
});
|
582
600
|
this.hot.setCellMeta(mergeParent.row, mergeParent.col, 'spanned', true);
|
583
|
-
const mergedCellAdded = this.mergedCellsCollection.add(mergeParent);
|
601
|
+
const mergedCellAdded = this.mergedCellsCollection.add(mergeParent, auto);
|
584
602
|
if (mergedCellAdded) {
|
585
603
|
if (preventPopulation) {
|
586
604
|
populationInfo = [mergeParent.row, mergeParent.col, clearedData];
|
@@ -610,7 +628,7 @@ class MergeCells extends _base.BasePlugin {
|
|
610
628
|
unmergeRange(cellRange) {
|
611
629
|
let auto = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
612
630
|
const mergedCells = this.mergedCellsCollection.getWithinRange(cellRange);
|
613
|
-
if (
|
631
|
+
if (mergedCells.length === 0) {
|
614
632
|
return;
|
615
633
|
}
|
616
634
|
this.hot.runHooks('beforeUnmergeCells', cellRange, auto);
|
@@ -1115,45 +1133,6 @@ function _addMergeActionsToContextMenu(defaultOptions) {
|
|
1115
1133
|
name: '---------'
|
1116
1134
|
}, (0, _toggleMerge.default)(this));
|
1117
1135
|
}
|
1118
|
-
/**
|
1119
|
-
* `afterRenderer` hook callback.
|
1120
|
-
*
|
1121
|
-
* @param {HTMLElement} TD The cell to be modified.
|
1122
|
-
* @param {number} row Row index.
|
1123
|
-
* @param {number} col Visual column index.
|
1124
|
-
*/
|
1125
|
-
function _onAfterRenderer(TD, row, col) {
|
1126
|
-
const mergedCell = this.mergedCellsCollection.get(row, col);
|
1127
|
-
// We shouldn't override data in the collection.
|
1128
|
-
const mergedCellCopy = (0, _object.isObject)(mergedCell) ? (0, _object.clone)(mergedCell) : undefined;
|
1129
|
-
if ((0, _object.isObject)(mergedCellCopy)) {
|
1130
|
-
const {
|
1131
|
-
rowIndexMapper: rowMapper,
|
1132
|
-
columnIndexMapper: columnMapper
|
1133
|
-
} = this.hot;
|
1134
|
-
const {
|
1135
|
-
row: mergeRow,
|
1136
|
-
col: mergeColumn,
|
1137
|
-
colspan,
|
1138
|
-
rowspan
|
1139
|
-
} = mergedCellCopy;
|
1140
|
-
const [lastMergedRowIndex, lastMergedColumnIndex] = this.translateMergedCellToRenderable(mergeRow, rowspan, mergeColumn, colspan);
|
1141
|
-
const renderedRowIndex = rowMapper.getRenderableFromVisualIndex(row);
|
1142
|
-
const renderedColumnIndex = columnMapper.getRenderableFromVisualIndex(col);
|
1143
|
-
const maxRowSpan = lastMergedRowIndex - renderedRowIndex + 1; // Number of rendered columns.
|
1144
|
-
const maxColSpan = lastMergedColumnIndex - renderedColumnIndex + 1; // Number of rendered columns.
|
1145
|
-
|
1146
|
-
// We just try to determine some values basing on the actual number of rendered indexes (some columns may be hidden).
|
1147
|
-
mergedCellCopy.row = rowMapper.getNearestNotHiddenIndex(mergedCellCopy.row, 1);
|
1148
|
-
// We just try to determine some values basing on the actual number of rendered indexes (some columns may be hidden).
|
1149
|
-
mergedCellCopy.col = columnMapper.getNearestNotHiddenIndex(mergedCellCopy.col, 1);
|
1150
|
-
// The `rowSpan` property for a `TD` element should be at most equal to number of rendered rows in the merge area.
|
1151
|
-
mergedCellCopy.rowspan = Math.min(mergedCellCopy.rowspan, maxRowSpan);
|
1152
|
-
// The `colSpan` property for a `TD` element should be at most equal to number of rendered columns in the merge area.
|
1153
|
-
mergedCellCopy.colspan = Math.min(mergedCellCopy.colspan, maxColSpan);
|
1154
|
-
}
|
1155
|
-
(0, _utils.applySpanProperties)(TD, mergedCellCopy, row, col);
|
1156
|
-
}
|
1157
1136
|
/**
|
1158
1137
|
* Clears the last selected coordinates before setting a new selection range.
|
1159
1138
|
*/
|
@@ -1295,17 +1274,11 @@ function _onModifyAutofillRange(drag, select) {
|
|
1295
1274
|
dragArea = select;
|
1296
1275
|
return dragArea;
|
1297
1276
|
}
|
1298
|
-
const
|
1299
|
-
|
1300
|
-
|
1301
|
-
|
1302
|
-
|
1303
|
-
to: {
|
1304
|
-
row: select[2],
|
1305
|
-
col: select[3]
|
1306
|
-
}
|
1307
|
-
});
|
1308
|
-
if (!mergedCellsWithinSelectionArea) {
|
1277
|
+
const from = this.hot._createCellCoords(select[0], select[1]);
|
1278
|
+
const to = this.hot._createCellCoords(select[2], select[3]);
|
1279
|
+
const range = this.hot._createCellRange(from, from, to);
|
1280
|
+
const mergedCellsWithinSelectionArea = this.mergedCellsCollection.getWithinRange(range);
|
1281
|
+
if (mergedCellsWithinSelectionArea.length === 0) {
|
1309
1282
|
return dragArea;
|
1310
1283
|
}
|
1311
1284
|
dragArea = this.autofillCalculations.snapDragArea(select, dragArea, dragDirection, mergedCellsWithinSelectionArea);
|
@@ -1429,4 +1402,80 @@ function _onBeforeBeginEditing(row, column, initialValue, event) {
|
|
1429
1402
|
const from = this.hot._createCellCoords(mergeCell.row, mergeCell.col);
|
1430
1403
|
const to = this.hot._createCellCoords(mergeCell.row + mergeCell.rowspan - 1, mergeCell.col + mergeCell.colspan - 1);
|
1431
1404
|
return this.hot.selection.getLayerLevel() === 0 && selection.isEqual(this.hot._createCellRange(from, from, to));
|
1405
|
+
}
|
1406
|
+
/**
|
1407
|
+
* Hook used to modify the row height depends on the merged cells in the row.
|
1408
|
+
*
|
1409
|
+
* @param {number} height The row height value provided by the Core.
|
1410
|
+
* @param {number} row The visual row index.
|
1411
|
+
* @param {string} overlayType The overlay type that is currently rendered.
|
1412
|
+
* @returns {number}
|
1413
|
+
*/
|
1414
|
+
function _onModifyRowHeightByOverlayName(height, row, overlayType) {
|
1415
|
+
if (this.hot.getSettings().rowHeaders ||
|
1416
|
+
// merged cells do not work with the bottom overlays
|
1417
|
+
overlayType === 'bottom' || overlayType === 'bottom_inline_start_corner') {
|
1418
|
+
return height;
|
1419
|
+
}
|
1420
|
+
let firstColumn;
|
1421
|
+
let lastColumn;
|
1422
|
+
if (overlayType === 'master') {
|
1423
|
+
firstColumn = this.hot.view.getFirstRenderedVisibleColumn();
|
1424
|
+
lastColumn = this.hot.view.getLastRenderedVisibleColumn();
|
1425
|
+
} else {
|
1426
|
+
const activeOverlay = this.hot.view.getOverlayByName(overlayType);
|
1427
|
+
firstColumn = this.hot.columnIndexMapper.getVisualFromRenderableIndex(activeOverlay.clone.wtTable.getFirstRenderedColumn());
|
1428
|
+
lastColumn = this.hot.columnIndexMapper.getVisualFromRenderableIndex(activeOverlay.clone.wtTable.getLastRenderedColumn());
|
1429
|
+
}
|
1430
|
+
const firstMergedCellInRow = this.mergedCellsCollection.get(row, firstColumn);
|
1431
|
+
if (!firstMergedCellInRow) {
|
1432
|
+
return height;
|
1433
|
+
}
|
1434
|
+
const from = this.hot._createCellCoords(row, firstColumn);
|
1435
|
+
const to = this.hot._createCellCoords(row, lastColumn);
|
1436
|
+
const viewportRange = this.hot._createCellRange(from, from, to);
|
1437
|
+
const mergedCellsWithinRange = this.mergedCellsCollection.getWithinRange(viewportRange);
|
1438
|
+
const maxRowspan = mergedCellsWithinRange.reduce((acc, _ref) => {
|
1439
|
+
let {
|
1440
|
+
rowspan
|
1441
|
+
} = _ref;
|
1442
|
+
return Math.max(acc, rowspan);
|
1443
|
+
}, 1);
|
1444
|
+
let rowspanCorrection = 0;
|
1445
|
+
if (mergedCellsWithinRange.length > 1 && mergedCellsWithinRange[0].rowspan < maxRowspan) {
|
1446
|
+
rowspanCorrection = maxRowspan - mergedCellsWithinRange[0].rowspan;
|
1447
|
+
}
|
1448
|
+
mergedCellsWithinRange.forEach(_ref2 => {
|
1449
|
+
var _height;
|
1450
|
+
let {
|
1451
|
+
rowspan
|
1452
|
+
} = _ref2;
|
1453
|
+
let rowspanAfterCorrection = 0;
|
1454
|
+
if (overlayType === 'top' || overlayType === 'top_inline_start_corner') {
|
1455
|
+
rowspanAfterCorrection = Math.min(maxRowspan, this.hot.view.countNotHiddenFixedRowsTop() - row);
|
1456
|
+
} else {
|
1457
|
+
rowspanAfterCorrection = rowspan - rowspanCorrection;
|
1458
|
+
}
|
1459
|
+
height = Math.max((_height = height) !== null && _height !== void 0 ? _height : 0, _assertClassBrand(_MergeCells_brand, this, _sumCellsHeights).call(this, row, rowspanAfterCorrection));
|
1460
|
+
});
|
1461
|
+
return height;
|
1462
|
+
}
|
1463
|
+
/**
|
1464
|
+
* Sums the heights of the all cells that the merge cell consists of.
|
1465
|
+
*
|
1466
|
+
* @param {number} row The visual row index of the merged cell.
|
1467
|
+
* @param {number} rowspan The rowspan value of the merged cell.
|
1468
|
+
* @returns {number}
|
1469
|
+
*/
|
1470
|
+
function _sumCellsHeights(row, rowspan) {
|
1471
|
+
const defaultHeight = this.hot.view._wt.wtSettings.getSettingPure('defaultRowHeight');
|
1472
|
+
const autoRowSizePlugin = this.hot.getPlugin('autoRowSize');
|
1473
|
+
let height = 0;
|
1474
|
+
for (let i = row; i < row + rowspan; i++) {
|
1475
|
+
if (!this.hot.rowIndexMapper.isHidden(i)) {
|
1476
|
+
var _autoRowSizePlugin$ge;
|
1477
|
+
height += (_autoRowSizePlugin$ge = autoRowSizePlugin === null || autoRowSizePlugin === void 0 ? void 0 : autoRowSizePlugin.getRowHeight(i)) !== null && _autoRowSizePlugin$ge !== void 0 ? _autoRowSizePlugin$ge : defaultHeight;
|
1478
|
+
}
|
1479
|
+
}
|
1480
|
+
return height;
|
1432
1481
|
}
|