handsontable 0.0.0-next-c2596d4-20240705 → 0.0.0-next-2cb2d27-20240709
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- 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 +1 -1
- package/3rdparty/walkontable/src/event.js +2 -2
- package/3rdparty/walkontable/src/event.mjs +2 -2
- package/3rdparty/walkontable/src/facade/core.js +1 -1
- 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 +3 -3
- package/3rdparty/walkontable/src/overlays.mjs +3 -3
- 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 +1 -1
- 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 +1 -1
- package/3rdparty/walkontable/src/renderer/table.mjs +1 -1
- 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 +1 -1
- package/3rdparty/walkontable/src/settings.mjs +1 -1
- 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 +2 -2
- package/3rdparty/walkontable/src/table.mjs +1 -1
- package/3rdparty/walkontable/src/utils/column.js +1 -1
- package/3rdparty/walkontable/src/utils/column.mjs +1 -1
- package/3rdparty/walkontable/src/utils/columnStretching.js +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 +1 -1
- package/3rdparty/walkontable/src/utils/row.mjs +1 -1
- package/base.js +3 -3
- package/base.mjs +2 -2
- package/cellTypes/registry.js +1 -1
- package/core.d.ts +2 -0
- package/core.js +11 -1
- package/core.mjs +10 -0
- 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 +7 -5
- package/dist/handsontable.full.css +7 -5
- package/dist/handsontable.full.js +566 -486
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +15 -15
- package/dist/handsontable.js +562 -429
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +14 -14
- 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/mixed.js +2 -2
- package/helpers/mixed.mjs +1 -1
- 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 -2
- package/pluginHooks.js +1 -1
- package/pluginHooks.mjs +1 -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 +4 -4
- package/plugins/columnSorting/columnSorting.mjs +3 -3
- 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.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 +3 -3
- package/plugins/comments/commentEditor.mjs +2 -2
- package/plugins/comments/comments.js +5 -5
- package/plugins/comments/comments.mjs +4 -4
- package/plugins/comments/displaySwitch.js +2 -2
- package/plugins/comments/displaySwitch.mjs +1 -1
- package/plugins/comments/editorResizeObserver.js +4 -4
- package/plugins/comments/editorResizeObserver.mjs +3 -3
- 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 +4 -4
- package/plugins/contextMenu/menu/menu.mjs +3 -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 +3 -3
- package/plugins/dragToScroll/dragToScroll.mjs +3 -3
- 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 +5 -5
- package/plugins/formulas/formulas.mjs +4 -4
- 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 +1 -1
- package/plugins/mergeCells/calculations/autofill.mjs +1 -1
- package/plugins/mergeCells/calculations/selection.js +1 -1
- package/plugins/mergeCells/calculations/selection.mjs +1 -1
- package/plugins/mergeCells/cellCoords.js +3 -3
- package/plugins/mergeCells/cellCoords.mjs +3 -3
- package/plugins/mergeCells/cellsCollection.js +4 -4
- package/plugins/mergeCells/cellsCollection.mjs +3 -3
- 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 +5 -5
- package/plugins/mergeCells/mergeCells.mjs +4 -4
- package/plugins/multiColumnSorting/multiColumnSorting.js +1 -1
- package/plugins/multiColumnSorting/multiColumnSorting.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 +19 -8
- package/plugins/nestedHeaders/nestedHeaders.mjs +18 -7
- 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 +1 -1
- 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 +4 -4
- package/selection/selection.mjs +3 -3
- package/selection/transformation.js +4 -4
- package/selection/transformation.mjs +3 -3
- package/settings.d.ts +1 -0
- package/tableView.js +41 -18
- package/tableView.mjs +40 -17
- 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
@@ -3,15 +3,7 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
-
require("core-js/modules/esnext.set.difference.v2.js");
|
7
|
-
require("core-js/modules/esnext.set.intersection.v2.js");
|
8
|
-
require("core-js/modules/esnext.set.is-disjoint-from.v2.js");
|
9
|
-
require("core-js/modules/esnext.set.is-subset-of.v2.js");
|
10
|
-
require("core-js/modules/esnext.set.is-superset-of.v2.js");
|
11
|
-
require("core-js/modules/esnext.set.symmetric-difference.v2.js");
|
12
|
-
require("core-js/modules/esnext.set.union.v2.js");
|
13
6
|
var _base = require("../base");
|
14
|
-
var _array = require("../../helpers/array");
|
15
7
|
var _feature = require("../../helpers/feature");
|
16
8
|
var _ghostTable = _interopRequireDefault(require("../../utils/ghostTable"));
|
17
9
|
var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
|
@@ -21,16 +13,15 @@ var _samplesGenerator = _interopRequireDefault(require("../../utils/samplesGener
|
|
21
13
|
var _string = require("../../helpers/string");
|
22
14
|
var _src = require("../../3rdparty/walkontable/src");
|
23
15
|
var _translations = require("../../translations");
|
24
|
-
|
25
|
-
function
|
26
|
-
function
|
27
|
-
function
|
28
|
-
function
|
29
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
17
|
+
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
18
|
+
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
19
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
20
|
+
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; }
|
30
21
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
31
22
|
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); }
|
32
|
-
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
33
23
|
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
24
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
34
25
|
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"); }
|
35
26
|
_pluginHooks.default.getSingleton().register('modifyAutoColumnSizeSeed');
|
36
27
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'autoColumnSize';
|
@@ -135,6 +126,7 @@ const COLUMN_SIZE_MAP_NAME = 'autoColumnSize';
|
|
135
126
|
*/
|
136
127
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
137
128
|
var _cachedColumnHeaders = /*#__PURE__*/new WeakMap();
|
129
|
+
var _visualColumnsToRefresh = /*#__PURE__*/new WeakMap();
|
138
130
|
var _AutoColumnSize_brand = /*#__PURE__*/new WeakSet();
|
139
131
|
class AutoColumnSize extends _base.BasePlugin {
|
140
132
|
static get PLUGIN_KEY() {
|
@@ -163,7 +155,9 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
163
155
|
constructor(hotInstance) {
|
164
156
|
super(hotInstance);
|
165
157
|
/**
|
166
|
-
*
|
158
|
+
* Calculates specific columns width (overwrite cache values).
|
159
|
+
*
|
160
|
+
* @param {number[]} visualColumns List of visual columns to calculate.
|
167
161
|
*/
|
168
162
|
_classPrivateMethodInitSpec(this, _AutoColumnSize_brand);
|
169
163
|
_defineProperty(this, "ghostTable", new _ghostTable.default(this.hot));
|
@@ -194,13 +188,6 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
194
188
|
bundleSeed
|
195
189
|
};
|
196
190
|
}));
|
197
|
-
/**
|
198
|
-
* `true` only if the first calculation was performed.
|
199
|
-
*
|
200
|
-
* @private
|
201
|
-
* @type {boolean}
|
202
|
-
*/
|
203
|
-
_defineProperty(this, "firstCalculation", true);
|
204
191
|
/**
|
205
192
|
* `true` if the size calculation is in progress.
|
206
193
|
*
|
@@ -227,6 +214,12 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
227
214
|
* @type {Array}
|
228
215
|
*/
|
229
216
|
_classPrivateFieldInitSpec(this, _cachedColumnHeaders, []);
|
217
|
+
/**
|
218
|
+
* An array of column indexes whose width will be recalculated.
|
219
|
+
*
|
220
|
+
* @type {number[]}
|
221
|
+
*/
|
222
|
+
_classPrivateFieldInitSpec(this, _visualColumnsToRefresh, []);
|
230
223
|
this.hot.columnIndexMapper.registerMap(COLUMN_SIZE_MAP_NAME, this.columnWidthsMap);
|
231
224
|
|
232
225
|
// Leave the listener active to allow auto-sizing the columns when the plugin is disabled.
|
@@ -263,11 +256,21 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
263
256
|
}
|
264
257
|
return _assertClassBrand(_AutoColumnSize_brand, _this, _onAfterLoadData).call(_this, ...args);
|
265
258
|
});
|
266
|
-
this.addHook('beforeChangeRender',
|
267
|
-
|
268
|
-
|
259
|
+
this.addHook('beforeChangeRender', function () {
|
260
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
261
|
+
args[_key2] = arguments[_key2];
|
262
|
+
}
|
263
|
+
return _assertClassBrand(_AutoColumnSize_brand, _this, _onBeforeChange).call(_this, ...args);
|
264
|
+
});
|
265
|
+
this.addHook('afterFormulasValuesUpdate', function () {
|
266
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
267
|
+
args[_key3] = arguments[_key3];
|
268
|
+
}
|
269
|
+
return _assertClassBrand(_AutoColumnSize_brand, _this, _onAfterFormulasValuesUpdate).call(_this, ...args);
|
270
|
+
});
|
271
|
+
this.addHook('beforeRender', () => _assertClassBrand(_AutoColumnSize_brand, this, _onBeforeRender).call(this));
|
269
272
|
this.addHook('modifyColWidth', (width, col) => this.getColumnWidth(col, width));
|
270
|
-
this.addHook('
|
273
|
+
this.addHook('init', () => _assertClassBrand(_AutoColumnSize_brand, this, _onInit).call(this));
|
271
274
|
super.enablePlugin();
|
272
275
|
}
|
273
276
|
|
@@ -275,11 +278,7 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
275
278
|
* Updates the plugin's state. This method is executed when {@link Core#updateSettings} is invoked.
|
276
279
|
*/
|
277
280
|
updatePlugin() {
|
278
|
-
|
279
|
-
if (changedColumns.length) {
|
280
|
-
this.clearCache(changedColumns);
|
281
|
-
this.calculateVisibleColumnsWidth();
|
282
|
-
}
|
281
|
+
_classPrivateFieldSet(_visualColumnsToRefresh, this, this.findColumnsWhereHeaderWasChanged());
|
283
282
|
super.updatePlugin();
|
284
283
|
}
|
285
284
|
|
@@ -295,25 +294,23 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
295
294
|
}
|
296
295
|
|
297
296
|
/**
|
298
|
-
* Calculates visible columns
|
297
|
+
* Calculates widths for visible columns in the viewport only.
|
299
298
|
*/
|
300
299
|
calculateVisibleColumnsWidth() {
|
301
|
-
const rowsCount = this.hot.countRows();
|
302
|
-
|
303
300
|
// Keep last column widths unchanged for situation when all rows was deleted or trimmed (pro #6)
|
304
|
-
if (!
|
301
|
+
if (!this.hot.countRows()) {
|
305
302
|
return;
|
306
303
|
}
|
307
|
-
const force = this.hot.renderCall;
|
308
304
|
const firstVisibleColumn = this.getFirstVisibleColumn();
|
309
305
|
const lastVisibleColumn = this.getLastVisibleColumn();
|
310
306
|
if (firstVisibleColumn === -1 || lastVisibleColumn === -1) {
|
311
307
|
return;
|
312
308
|
}
|
309
|
+
const overwriteCache = this.hot.renderCall;
|
313
310
|
this.calculateColumnsWidth({
|
314
311
|
from: firstVisibleColumn,
|
315
312
|
to: lastVisibleColumn
|
316
|
-
}, undefined,
|
313
|
+
}, undefined, overwriteCache);
|
317
314
|
}
|
318
315
|
|
319
316
|
/**
|
@@ -321,7 +318,7 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
321
318
|
*
|
322
319
|
* @param {number|object} colRange Visual column index or an object with `from` and `to` visual indexes as a range.
|
323
320
|
* @param {number|object} rowRange Visual row index or an object with `from` and `to` visual indexes as a range.
|
324
|
-
* @param {boolean} [
|
321
|
+
* @param {boolean} [overwriteCache=false] If `true` the calculation will be processed regardless of whether the width exists in the cache.
|
325
322
|
*/
|
326
323
|
calculateColumnsWidth() {
|
327
324
|
let colRange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
@@ -332,8 +329,7 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
332
329
|
from: 0,
|
333
330
|
to: this.hot.countRows() - 1
|
334
331
|
};
|
335
|
-
let
|
336
|
-
// eslint-disable-line max-len
|
332
|
+
let overwriteCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
337
333
|
const columnsRange = typeof colRange === 'number' ? {
|
338
334
|
from: colRange,
|
339
335
|
to: colRange
|
@@ -347,12 +343,9 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
347
343
|
if (physicalColumn === null) {
|
348
344
|
physicalColumn = visualColumn;
|
349
345
|
}
|
350
|
-
if (
|
346
|
+
if (overwriteCache || this.columnWidthsMap.getValueAtIndex(physicalColumn) === null && !this.hot._getColWidthFromSettings(physicalColumn)) {
|
351
347
|
const samples = this.samplesGenerator.generateColumnSamples(visualColumn, rowsRange);
|
352
|
-
(
|
353
|
-
let [column, sample] = _ref;
|
354
|
-
return this.ghostTable.addColumn(column, sample);
|
355
|
-
});
|
348
|
+
samples.forEach((sample, column) => this.ghostTable.addColumn(column, sample));
|
356
349
|
}
|
357
350
|
});
|
358
351
|
if (this.ghostTable.columns.length) {
|
@@ -372,12 +365,14 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
372
365
|
* To retrieve width for specified column use {@link AutoColumnSize#getColumnWidth} method.
|
373
366
|
*
|
374
367
|
* @param {object|number} rowRange Row index or an object with `from` and `to` properties which define row range.
|
368
|
+
* @param {boolean} [overwriteCache] If `true` the calculation will be processed regardless of whether the width exists in the cache.
|
375
369
|
*/
|
376
370
|
calculateAllColumnsWidth() {
|
377
371
|
let rowRange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
378
372
|
from: 0,
|
379
373
|
to: this.hot.countRows() - 1
|
380
374
|
};
|
375
|
+
let overwriteCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
381
376
|
let current = 0;
|
382
377
|
const length = this.hot.countCols() - 1;
|
383
378
|
let timer = null;
|
@@ -392,7 +387,7 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
392
387
|
this.calculateColumnsWidth({
|
393
388
|
from: current,
|
394
389
|
to: Math.min(current + AutoColumnSize.CALCULATION_STEP, length)
|
395
|
-
}, rowRange);
|
390
|
+
}, rowRange, overwriteCache);
|
396
391
|
current = current + AutoColumnSize.CALCULATION_STEP + 1;
|
397
392
|
if (current < length) {
|
398
393
|
timer = (0, _feature.requestAnimationFrame)(loop);
|
@@ -407,12 +402,11 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
407
402
|
const syncLimit = this.getSyncCalculationLimit();
|
408
403
|
|
409
404
|
// sync
|
410
|
-
if (
|
405
|
+
if (syncLimit >= 0) {
|
411
406
|
this.calculateColumnsWidth({
|
412
407
|
from: 0,
|
413
408
|
to: syncLimit
|
414
|
-
}, rowRange);
|
415
|
-
this.firstCalculation = false;
|
409
|
+
}, rowRange, overwriteCache);
|
416
410
|
current = syncLimit + 1;
|
417
411
|
}
|
418
412
|
// async
|
@@ -422,7 +416,6 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
422
416
|
this.inProgress = false;
|
423
417
|
}
|
424
418
|
}
|
425
|
-
|
426
419
|
/**
|
427
420
|
* Sets the sampling options.
|
428
421
|
*
|
@@ -444,9 +437,11 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
444
437
|
* Recalculates all columns width (overwrite cache values).
|
445
438
|
*/
|
446
439
|
recalculateAllColumnsWidth() {
|
447
|
-
if (this.hot.view
|
448
|
-
this.
|
449
|
-
|
440
|
+
if (this.hot.view.isVisible()) {
|
441
|
+
this.calculateAllColumnsWidth({
|
442
|
+
from: 0,
|
443
|
+
to: this.hot.countRows() - 1
|
444
|
+
}, true);
|
450
445
|
}
|
451
446
|
}
|
452
447
|
|
@@ -481,8 +476,7 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
481
476
|
* @param {boolean} [keepMinimum=true] If `true` then returned value won't be smaller then 50 (default column width).
|
482
477
|
* @returns {number}
|
483
478
|
*/
|
484
|
-
getColumnWidth(column) {
|
485
|
-
let defaultWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
479
|
+
getColumnWidth(column, defaultWidth) {
|
486
480
|
let keepMinimum = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
487
481
|
let width = defaultWidth;
|
488
482
|
if (width === undefined) {
|
@@ -500,23 +494,8 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
500
494
|
* @returns {number} Returns visual column index, -1 if table is not rendered or if there are no columns to base the the calculations on.
|
501
495
|
*/
|
502
496
|
getFirstVisibleColumn() {
|
503
|
-
|
504
|
-
|
505
|
-
// Fist fully visible column is stored as renderable index.
|
506
|
-
const firstFullyVisibleColumn = wot.wtTable.getFirstVisibleColumn();
|
507
|
-
if (firstFullyVisibleColumn !== -1) {
|
508
|
-
return this.hot.columnIndexMapper.getVisualFromRenderableIndex(firstFullyVisibleColumn);
|
509
|
-
}
|
510
|
-
}
|
511
|
-
if (wot.wtViewport.columnsRenderCalculator) {
|
512
|
-
const firstRenderedColumn = wot.wtTable.getFirstRenderedColumn();
|
513
|
-
|
514
|
-
// There are no rendered column.
|
515
|
-
if (firstRenderedColumn !== -1) {
|
516
|
-
return this.hot.columnIndexMapper.getVisualFromRenderableIndex(firstRenderedColumn);
|
517
|
-
}
|
518
|
-
}
|
519
|
-
return -1;
|
497
|
+
var _this$hot$view$getFir;
|
498
|
+
return (_this$hot$view$getFir = this.hot.view.getFirstRenderedVisibleColumn()) !== null && _this$hot$view$getFir !== void 0 ? _this$hot$view$getFir : -1;
|
520
499
|
}
|
521
500
|
|
522
501
|
/**
|
@@ -525,38 +504,22 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
525
504
|
* @returns {number} Returns visual column index or -1 if table is not rendered.
|
526
505
|
*/
|
527
506
|
getLastVisibleColumn() {
|
528
|
-
|
529
|
-
|
530
|
-
// Last fully visible column is stored as renderable index.
|
531
|
-
const lastFullyVisibleColumn = wot.wtTable.getLastVisibleColumn();
|
532
|
-
if (lastFullyVisibleColumn !== -1) {
|
533
|
-
return this.hot.columnIndexMapper.getVisualFromRenderableIndex(lastFullyVisibleColumn);
|
534
|
-
}
|
535
|
-
}
|
536
|
-
if (wot.wtViewport.columnsRenderCalculator) {
|
537
|
-
// Last fully visible column is stored as renderable index.
|
538
|
-
const lastRenderedColumn = wot.wtTable.getLastRenderedColumn();
|
539
|
-
|
540
|
-
// There are no rendered columns.
|
541
|
-
if (lastRenderedColumn !== -1) {
|
542
|
-
return this.hot.columnIndexMapper.getVisualFromRenderableIndex(lastRenderedColumn);
|
543
|
-
}
|
544
|
-
}
|
545
|
-
return -1;
|
507
|
+
var _this$hot$view$getLas;
|
508
|
+
return (_this$hot$view$getLas = this.hot.view.getLastRenderedVisibleColumn()) !== null && _this$hot$view$getLas !== void 0 ? _this$hot$view$getLas : -1;
|
546
509
|
}
|
547
510
|
|
548
511
|
/**
|
549
512
|
* Collects all columns which titles has been changed in comparison to the previous state.
|
550
513
|
*
|
551
514
|
* @private
|
552
|
-
* @returns {Array} It returns an array of
|
515
|
+
* @returns {Array} It returns an array of visual column indexes.
|
553
516
|
*/
|
554
517
|
findColumnsWhereHeaderWasChanged() {
|
555
518
|
const columnHeaders = this.hot.getColHeader();
|
556
|
-
const changedColumns =
|
519
|
+
const changedColumns = columnHeaders.reduce((acc, columnTitle, physicalColumn) => {
|
557
520
|
const cachedColumnsLength = _classPrivateFieldGet(_cachedColumnHeaders, this).length;
|
558
521
|
if (cachedColumnsLength - 1 < physicalColumn || _classPrivateFieldGet(_cachedColumnHeaders, this)[physicalColumn] !== columnTitle) {
|
559
|
-
acc.push(physicalColumn);
|
522
|
+
acc.push(this.hot.toVisualColumn(physicalColumn));
|
560
523
|
}
|
561
524
|
if (cachedColumnsLength - 1 < physicalColumn) {
|
562
525
|
_classPrivateFieldGet(_cachedColumnHeaders, this).push(columnTitle);
|
@@ -572,13 +535,12 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
572
535
|
* Clears cache of calculated column widths. If you want to clear only selected columns pass an array with their indexes.
|
573
536
|
* Otherwise whole cache will be cleared.
|
574
537
|
*
|
575
|
-
* @param {number[]} [
|
538
|
+
* @param {number[]} [physicalColumns] List of physical column indexes to clear.
|
576
539
|
*/
|
577
|
-
clearCache() {
|
578
|
-
|
579
|
-
if (columns.length) {
|
540
|
+
clearCache(physicalColumns) {
|
541
|
+
if (Array.isArray(physicalColumns)) {
|
580
542
|
this.hot.batchExecution(() => {
|
581
|
-
|
543
|
+
physicalColumns.forEach(physicalIndex => {
|
582
544
|
this.columnWidthsMap.setValueAtIndex(physicalIndex, null);
|
583
545
|
});
|
584
546
|
}, true);
|
@@ -593,8 +555,13 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
593
555
|
* @returns {boolean}
|
594
556
|
*/
|
595
557
|
isNeedRecalculate() {
|
596
|
-
return !!
|
558
|
+
return !!this.columnWidthsMap.getValues().slice(0, this.measuredColumns).filter(item => item === null).length;
|
597
559
|
}
|
560
|
+
|
561
|
+
/**
|
562
|
+
* On before view render listener.
|
563
|
+
*/
|
564
|
+
|
598
565
|
/**
|
599
566
|
* Destroys the plugin instance.
|
600
567
|
*/
|
@@ -604,25 +571,47 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
604
571
|
}
|
605
572
|
}
|
606
573
|
exports.AutoColumnSize = AutoColumnSize;
|
607
|
-
function
|
574
|
+
function _calculateSpecificColumnsWidth(visualColumns) {
|
575
|
+
const rowsRange = {
|
576
|
+
from: 0,
|
577
|
+
to: this.hot.countRows() - 1
|
578
|
+
};
|
579
|
+
visualColumns.forEach(visualColumn => {
|
580
|
+
const physicalColumn = this.hot.toPhysicalColumn(visualColumn);
|
581
|
+
if (physicalColumn === null) {
|
582
|
+
return;
|
583
|
+
}
|
584
|
+
if (!this.hot._getColWidthFromSettings(physicalColumn)) {
|
585
|
+
const samples = this.samplesGenerator.generateColumnSamples(visualColumn, rowsRange);
|
586
|
+
samples.forEach((sample, column) => this.ghostTable.addColumn(column, sample));
|
587
|
+
}
|
588
|
+
});
|
589
|
+
if (this.ghostTable.columns.length) {
|
590
|
+
this.hot.batchExecution(() => {
|
591
|
+
this.ghostTable.getWidths((visualColumn, width) => {
|
592
|
+
const physicalColumn = this.hot.toPhysicalColumn(visualColumn);
|
593
|
+
this.columnWidthsMap.setValueAtIndex(physicalColumn, width);
|
594
|
+
});
|
595
|
+
}, true);
|
596
|
+
this.ghostTable.clean();
|
597
|
+
}
|
598
|
+
}
|
599
|
+
function _onBeforeRender() {
|
608
600
|
this.calculateVisibleColumnsWidth();
|
609
|
-
if (
|
610
|
-
this.
|
601
|
+
if (!this.inProgress) {
|
602
|
+
_assertClassBrand(_AutoColumnSize_brand, this, _calculateSpecificColumnsWidth).call(this, _classPrivateFieldGet(_visualColumnsToRefresh, this));
|
603
|
+
_classPrivateFieldSet(_visualColumnsToRefresh, this, []);
|
611
604
|
}
|
612
605
|
}
|
613
606
|
/**
|
614
607
|
* On after load data listener.
|
608
|
+
*
|
609
|
+
* @param {Array} sourceData Source data.
|
610
|
+
* @param {boolean} isFirstLoad `true` if this is the first load.
|
615
611
|
*/
|
616
|
-
function _onAfterLoadData() {
|
617
|
-
if (
|
612
|
+
function _onAfterLoadData(sourceData, isFirstLoad) {
|
613
|
+
if (!isFirstLoad) {
|
618
614
|
this.recalculateAllColumnsWidth();
|
619
|
-
} else {
|
620
|
-
// first load - initialization
|
621
|
-
setTimeout(() => {
|
622
|
-
if (this.hot) {
|
623
|
-
this.recalculateAllColumnsWidth();
|
624
|
-
}
|
625
|
-
}, 0);
|
626
615
|
}
|
627
616
|
}
|
628
617
|
/**
|
@@ -631,11 +620,15 @@ function _onAfterLoadData() {
|
|
631
620
|
* @param {Array} changes An array of modified data.
|
632
621
|
*/
|
633
622
|
function _onBeforeChange(changes) {
|
634
|
-
const changedColumns = (
|
635
|
-
let [, columnProperty] =
|
636
|
-
|
637
|
-
|
638
|
-
|
623
|
+
const changedColumns = changes.reduce((acc, _ref) => {
|
624
|
+
let [, columnProperty] = _ref;
|
625
|
+
const visualColumn = this.hot.propToCol(columnProperty);
|
626
|
+
if (Number.isInteger(visualColumn) && acc.indexOf(visualColumn) === -1) {
|
627
|
+
acc.push(visualColumn);
|
628
|
+
}
|
629
|
+
return acc;
|
630
|
+
}, []);
|
631
|
+
_classPrivateFieldGet(_visualColumnsToRefresh, this).push(...changedColumns);
|
639
632
|
}
|
640
633
|
/**
|
641
634
|
* On before column resize listener.
|
@@ -656,8 +649,9 @@ function _onBeforeColumnResize(size, column, isDblClick) {
|
|
656
649
|
/**
|
657
650
|
* On after Handsontable init fill plugin with all necessary values.
|
658
651
|
*/
|
659
|
-
function
|
652
|
+
function _onInit() {
|
660
653
|
_classPrivateFieldSet(_cachedColumnHeaders, this, this.hot.getColHeader());
|
654
|
+
this.recalculateAllColumnsWidth();
|
661
655
|
}
|
662
656
|
/**
|
663
657
|
* After formulas values updated listener.
|
@@ -665,10 +659,16 @@ function _onAfterInit() {
|
|
665
659
|
* @param {Array} changes An array of modified data.
|
666
660
|
*/
|
667
661
|
function _onAfterFormulasValuesUpdate(changes) {
|
668
|
-
const
|
662
|
+
const changedColumns = changes.reduce((acc, change) => {
|
669
663
|
var _change$address;
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
|
664
|
+
const physicalColumn = (_change$address = change.address) === null || _change$address === void 0 ? void 0 : _change$address.col;
|
665
|
+
if (Number.isInteger(physicalColumn)) {
|
666
|
+
const visualColumn = this.hot.toVisualColumn(physicalColumn);
|
667
|
+
if (acc.indexOf(visualColumn) === -1) {
|
668
|
+
acc.push(visualColumn);
|
669
|
+
}
|
670
|
+
}
|
671
|
+
return acc;
|
672
|
+
}, []);
|
673
|
+
_classPrivateFieldGet(_visualColumnsToRefresh, this).push(...changedColumns);
|
674
674
|
}
|