handsontable 14.4.0-next-1ffa7bc-20240606 → 14.5.0-next-ede811d-20240717
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 +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
|
}
|