handsontable 0.0.0-next-a7809f3-20240708 → 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.d.ts +205 -205
- 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
@@ -1,23 +1,15 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
import "core-js/modules/esnext.set.is-superset-of.v2.js";
|
8
|
-
import "core-js/modules/esnext.set.symmetric-difference.v2.js";
|
9
|
-
import "core-js/modules/esnext.set.union.v2.js";
|
10
|
-
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
11
|
-
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
12
|
-
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
13
|
-
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; }
|
3
|
+
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
4
|
+
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
5
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
6
|
+
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; }
|
14
7
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
15
8
|
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); }
|
16
|
-
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
17
9
|
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
10
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
18
11
|
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"); }
|
19
12
|
import { BasePlugin } from "../base/index.mjs";
|
20
|
-
import { arrayEach, arrayFilter, arrayReduce, arrayMap } from "../../helpers/array.mjs";
|
21
13
|
import { cancelAnimationFrame, requestAnimationFrame } from "../../helpers/feature.mjs";
|
22
14
|
import GhostTable from "../../utils/ghostTable.mjs";
|
23
15
|
import Hooks from "../../pluginHooks.mjs";
|
@@ -27,7 +19,6 @@ import SamplesGenerator from "../../utils/samplesGenerator.mjs";
|
|
27
19
|
import { isPercentValue } from "../../helpers/string.mjs";
|
28
20
|
import { ViewportColumnsCalculator } from "../../3rdparty/walkontable/src/index.mjs";
|
29
21
|
import { PhysicalIndexToValueMap as IndexToValueMap } from "../../translations/index.mjs";
|
30
|
-
import { isDefined } from "../../helpers/mixed.mjs";
|
31
22
|
Hooks.getSingleton().register('modifyAutoColumnSizeSeed');
|
32
23
|
export const PLUGIN_KEY = 'autoColumnSize';
|
33
24
|
export const PLUGIN_PRIORITY = 10;
|
@@ -131,6 +122,7 @@ const COLUMN_SIZE_MAP_NAME = 'autoColumnSize';
|
|
131
122
|
*/
|
132
123
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
133
124
|
var _cachedColumnHeaders = /*#__PURE__*/new WeakMap();
|
125
|
+
var _visualColumnsToRefresh = /*#__PURE__*/new WeakMap();
|
134
126
|
var _AutoColumnSize_brand = /*#__PURE__*/new WeakSet();
|
135
127
|
export class AutoColumnSize extends BasePlugin {
|
136
128
|
static get PLUGIN_KEY() {
|
@@ -159,7 +151,9 @@ export class AutoColumnSize extends BasePlugin {
|
|
159
151
|
constructor(hotInstance) {
|
160
152
|
super(hotInstance);
|
161
153
|
/**
|
162
|
-
*
|
154
|
+
* Calculates specific columns width (overwrite cache values).
|
155
|
+
*
|
156
|
+
* @param {number[]} visualColumns List of visual columns to calculate.
|
163
157
|
*/
|
164
158
|
_classPrivateMethodInitSpec(this, _AutoColumnSize_brand);
|
165
159
|
_defineProperty(this, "ghostTable", new GhostTable(this.hot));
|
@@ -190,13 +184,6 @@ export class AutoColumnSize extends BasePlugin {
|
|
190
184
|
bundleSeed
|
191
185
|
};
|
192
186
|
}));
|
193
|
-
/**
|
194
|
-
* `true` only if the first calculation was performed.
|
195
|
-
*
|
196
|
-
* @private
|
197
|
-
* @type {boolean}
|
198
|
-
*/
|
199
|
-
_defineProperty(this, "firstCalculation", true);
|
200
187
|
/**
|
201
188
|
* `true` if the size calculation is in progress.
|
202
189
|
*
|
@@ -223,6 +210,12 @@ export class AutoColumnSize extends BasePlugin {
|
|
223
210
|
* @type {Array}
|
224
211
|
*/
|
225
212
|
_classPrivateFieldInitSpec(this, _cachedColumnHeaders, []);
|
213
|
+
/**
|
214
|
+
* An array of column indexes whose width will be recalculated.
|
215
|
+
*
|
216
|
+
* @type {number[]}
|
217
|
+
*/
|
218
|
+
_classPrivateFieldInitSpec(this, _visualColumnsToRefresh, []);
|
226
219
|
this.hot.columnIndexMapper.registerMap(COLUMN_SIZE_MAP_NAME, this.columnWidthsMap);
|
227
220
|
|
228
221
|
// Leave the listener active to allow auto-sizing the columns when the plugin is disabled.
|
@@ -259,11 +252,21 @@ export class AutoColumnSize extends BasePlugin {
|
|
259
252
|
}
|
260
253
|
return _assertClassBrand(_AutoColumnSize_brand, _this, _onAfterLoadData).call(_this, ...args);
|
261
254
|
});
|
262
|
-
this.addHook('beforeChangeRender',
|
263
|
-
|
264
|
-
|
255
|
+
this.addHook('beforeChangeRender', function () {
|
256
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
257
|
+
args[_key2] = arguments[_key2];
|
258
|
+
}
|
259
|
+
return _assertClassBrand(_AutoColumnSize_brand, _this, _onBeforeChange).call(_this, ...args);
|
260
|
+
});
|
261
|
+
this.addHook('afterFormulasValuesUpdate', function () {
|
262
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
263
|
+
args[_key3] = arguments[_key3];
|
264
|
+
}
|
265
|
+
return _assertClassBrand(_AutoColumnSize_brand, _this, _onAfterFormulasValuesUpdate).call(_this, ...args);
|
266
|
+
});
|
267
|
+
this.addHook('beforeRender', () => _assertClassBrand(_AutoColumnSize_brand, this, _onBeforeRender).call(this));
|
265
268
|
this.addHook('modifyColWidth', (width, col) => this.getColumnWidth(col, width));
|
266
|
-
this.addHook('
|
269
|
+
this.addHook('init', () => _assertClassBrand(_AutoColumnSize_brand, this, _onInit).call(this));
|
267
270
|
super.enablePlugin();
|
268
271
|
}
|
269
272
|
|
@@ -271,11 +274,7 @@ export class AutoColumnSize extends BasePlugin {
|
|
271
274
|
* Updates the plugin's state. This method is executed when {@link Core#updateSettings} is invoked.
|
272
275
|
*/
|
273
276
|
updatePlugin() {
|
274
|
-
|
275
|
-
if (changedColumns.length) {
|
276
|
-
this.clearCache(changedColumns);
|
277
|
-
this.calculateVisibleColumnsWidth();
|
278
|
-
}
|
277
|
+
_classPrivateFieldSet(_visualColumnsToRefresh, this, this.findColumnsWhereHeaderWasChanged());
|
279
278
|
super.updatePlugin();
|
280
279
|
}
|
281
280
|
|
@@ -291,25 +290,23 @@ export class AutoColumnSize extends BasePlugin {
|
|
291
290
|
}
|
292
291
|
|
293
292
|
/**
|
294
|
-
* Calculates visible columns
|
293
|
+
* Calculates widths for visible columns in the viewport only.
|
295
294
|
*/
|
296
295
|
calculateVisibleColumnsWidth() {
|
297
|
-
const rowsCount = this.hot.countRows();
|
298
|
-
|
299
296
|
// Keep last column widths unchanged for situation when all rows was deleted or trimmed (pro #6)
|
300
|
-
if (!
|
297
|
+
if (!this.hot.countRows()) {
|
301
298
|
return;
|
302
299
|
}
|
303
|
-
const force = this.hot.renderCall;
|
304
300
|
const firstVisibleColumn = this.getFirstVisibleColumn();
|
305
301
|
const lastVisibleColumn = this.getLastVisibleColumn();
|
306
302
|
if (firstVisibleColumn === -1 || lastVisibleColumn === -1) {
|
307
303
|
return;
|
308
304
|
}
|
305
|
+
const overwriteCache = this.hot.renderCall;
|
309
306
|
this.calculateColumnsWidth({
|
310
307
|
from: firstVisibleColumn,
|
311
308
|
to: lastVisibleColumn
|
312
|
-
}, undefined,
|
309
|
+
}, undefined, overwriteCache);
|
313
310
|
}
|
314
311
|
|
315
312
|
/**
|
@@ -317,7 +314,7 @@ export class AutoColumnSize extends BasePlugin {
|
|
317
314
|
*
|
318
315
|
* @param {number|object} colRange Visual column index or an object with `from` and `to` visual indexes as a range.
|
319
316
|
* @param {number|object} rowRange Visual row index or an object with `from` and `to` visual indexes as a range.
|
320
|
-
* @param {boolean} [
|
317
|
+
* @param {boolean} [overwriteCache=false] If `true` the calculation will be processed regardless of whether the width exists in the cache.
|
321
318
|
*/
|
322
319
|
calculateColumnsWidth() {
|
323
320
|
let colRange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
@@ -328,8 +325,7 @@ export class AutoColumnSize extends BasePlugin {
|
|
328
325
|
from: 0,
|
329
326
|
to: this.hot.countRows() - 1
|
330
327
|
};
|
331
|
-
let
|
332
|
-
// eslint-disable-line max-len
|
328
|
+
let overwriteCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
333
329
|
const columnsRange = typeof colRange === 'number' ? {
|
334
330
|
from: colRange,
|
335
331
|
to: colRange
|
@@ -343,12 +339,9 @@ export class AutoColumnSize extends BasePlugin {
|
|
343
339
|
if (physicalColumn === null) {
|
344
340
|
physicalColumn = visualColumn;
|
345
341
|
}
|
346
|
-
if (
|
342
|
+
if (overwriteCache || this.columnWidthsMap.getValueAtIndex(physicalColumn) === null && !this.hot._getColWidthFromSettings(physicalColumn)) {
|
347
343
|
const samples = this.samplesGenerator.generateColumnSamples(visualColumn, rowsRange);
|
348
|
-
|
349
|
-
let [column, sample] = _ref;
|
350
|
-
return this.ghostTable.addColumn(column, sample);
|
351
|
-
});
|
344
|
+
samples.forEach((sample, column) => this.ghostTable.addColumn(column, sample));
|
352
345
|
}
|
353
346
|
});
|
354
347
|
if (this.ghostTable.columns.length) {
|
@@ -368,12 +361,14 @@ export class AutoColumnSize extends BasePlugin {
|
|
368
361
|
* To retrieve width for specified column use {@link AutoColumnSize#getColumnWidth} method.
|
369
362
|
*
|
370
363
|
* @param {object|number} rowRange Row index or an object with `from` and `to` properties which define row range.
|
364
|
+
* @param {boolean} [overwriteCache] If `true` the calculation will be processed regardless of whether the width exists in the cache.
|
371
365
|
*/
|
372
366
|
calculateAllColumnsWidth() {
|
373
367
|
let rowRange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
374
368
|
from: 0,
|
375
369
|
to: this.hot.countRows() - 1
|
376
370
|
};
|
371
|
+
let overwriteCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
377
372
|
let current = 0;
|
378
373
|
const length = this.hot.countCols() - 1;
|
379
374
|
let timer = null;
|
@@ -388,7 +383,7 @@ export class AutoColumnSize extends BasePlugin {
|
|
388
383
|
this.calculateColumnsWidth({
|
389
384
|
from: current,
|
390
385
|
to: Math.min(current + AutoColumnSize.CALCULATION_STEP, length)
|
391
|
-
}, rowRange);
|
386
|
+
}, rowRange, overwriteCache);
|
392
387
|
current = current + AutoColumnSize.CALCULATION_STEP + 1;
|
393
388
|
if (current < length) {
|
394
389
|
timer = requestAnimationFrame(loop);
|
@@ -403,12 +398,11 @@ export class AutoColumnSize extends BasePlugin {
|
|
403
398
|
const syncLimit = this.getSyncCalculationLimit();
|
404
399
|
|
405
400
|
// sync
|
406
|
-
if (
|
401
|
+
if (syncLimit >= 0) {
|
407
402
|
this.calculateColumnsWidth({
|
408
403
|
from: 0,
|
409
404
|
to: syncLimit
|
410
|
-
}, rowRange);
|
411
|
-
this.firstCalculation = false;
|
405
|
+
}, rowRange, overwriteCache);
|
412
406
|
current = syncLimit + 1;
|
413
407
|
}
|
414
408
|
// async
|
@@ -418,7 +412,6 @@ export class AutoColumnSize extends BasePlugin {
|
|
418
412
|
this.inProgress = false;
|
419
413
|
}
|
420
414
|
}
|
421
|
-
|
422
415
|
/**
|
423
416
|
* Sets the sampling options.
|
424
417
|
*
|
@@ -440,9 +433,11 @@ export class AutoColumnSize extends BasePlugin {
|
|
440
433
|
* Recalculates all columns width (overwrite cache values).
|
441
434
|
*/
|
442
435
|
recalculateAllColumnsWidth() {
|
443
|
-
if (this.hot.view
|
444
|
-
this.
|
445
|
-
|
436
|
+
if (this.hot.view.isVisible()) {
|
437
|
+
this.calculateAllColumnsWidth({
|
438
|
+
from: 0,
|
439
|
+
to: this.hot.countRows() - 1
|
440
|
+
}, true);
|
446
441
|
}
|
447
442
|
}
|
448
443
|
|
@@ -477,8 +472,7 @@ export class AutoColumnSize extends BasePlugin {
|
|
477
472
|
* @param {boolean} [keepMinimum=true] If `true` then returned value won't be smaller then 50 (default column width).
|
478
473
|
* @returns {number}
|
479
474
|
*/
|
480
|
-
getColumnWidth(column) {
|
481
|
-
let defaultWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
475
|
+
getColumnWidth(column, defaultWidth) {
|
482
476
|
let keepMinimum = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
483
477
|
let width = defaultWidth;
|
484
478
|
if (width === undefined) {
|
@@ -496,23 +490,8 @@ export class AutoColumnSize extends BasePlugin {
|
|
496
490
|
* @returns {number} Returns visual column index, -1 if table is not rendered or if there are no columns to base the the calculations on.
|
497
491
|
*/
|
498
492
|
getFirstVisibleColumn() {
|
499
|
-
|
500
|
-
|
501
|
-
// Fist fully visible column is stored as renderable index.
|
502
|
-
const firstFullyVisibleColumn = wot.wtTable.getFirstVisibleColumn();
|
503
|
-
if (firstFullyVisibleColumn !== -1) {
|
504
|
-
return this.hot.columnIndexMapper.getVisualFromRenderableIndex(firstFullyVisibleColumn);
|
505
|
-
}
|
506
|
-
}
|
507
|
-
if (wot.wtViewport.columnsRenderCalculator) {
|
508
|
-
const firstRenderedColumn = wot.wtTable.getFirstRenderedColumn();
|
509
|
-
|
510
|
-
// There are no rendered column.
|
511
|
-
if (firstRenderedColumn !== -1) {
|
512
|
-
return this.hot.columnIndexMapper.getVisualFromRenderableIndex(firstRenderedColumn);
|
513
|
-
}
|
514
|
-
}
|
515
|
-
return -1;
|
493
|
+
var _this$hot$view$getFir;
|
494
|
+
return (_this$hot$view$getFir = this.hot.view.getFirstRenderedVisibleColumn()) !== null && _this$hot$view$getFir !== void 0 ? _this$hot$view$getFir : -1;
|
516
495
|
}
|
517
496
|
|
518
497
|
/**
|
@@ -521,38 +500,22 @@ export class AutoColumnSize extends BasePlugin {
|
|
521
500
|
* @returns {number} Returns visual column index or -1 if table is not rendered.
|
522
501
|
*/
|
523
502
|
getLastVisibleColumn() {
|
524
|
-
|
525
|
-
|
526
|
-
// Last fully visible column is stored as renderable index.
|
527
|
-
const lastFullyVisibleColumn = wot.wtTable.getLastVisibleColumn();
|
528
|
-
if (lastFullyVisibleColumn !== -1) {
|
529
|
-
return this.hot.columnIndexMapper.getVisualFromRenderableIndex(lastFullyVisibleColumn);
|
530
|
-
}
|
531
|
-
}
|
532
|
-
if (wot.wtViewport.columnsRenderCalculator) {
|
533
|
-
// Last fully visible column is stored as renderable index.
|
534
|
-
const lastRenderedColumn = wot.wtTable.getLastRenderedColumn();
|
535
|
-
|
536
|
-
// There are no rendered columns.
|
537
|
-
if (lastRenderedColumn !== -1) {
|
538
|
-
return this.hot.columnIndexMapper.getVisualFromRenderableIndex(lastRenderedColumn);
|
539
|
-
}
|
540
|
-
}
|
541
|
-
return -1;
|
503
|
+
var _this$hot$view$getLas;
|
504
|
+
return (_this$hot$view$getLas = this.hot.view.getLastRenderedVisibleColumn()) !== null && _this$hot$view$getLas !== void 0 ? _this$hot$view$getLas : -1;
|
542
505
|
}
|
543
506
|
|
544
507
|
/**
|
545
508
|
* Collects all columns which titles has been changed in comparison to the previous state.
|
546
509
|
*
|
547
510
|
* @private
|
548
|
-
* @returns {Array} It returns an array of
|
511
|
+
* @returns {Array} It returns an array of visual column indexes.
|
549
512
|
*/
|
550
513
|
findColumnsWhereHeaderWasChanged() {
|
551
514
|
const columnHeaders = this.hot.getColHeader();
|
552
|
-
const changedColumns =
|
515
|
+
const changedColumns = columnHeaders.reduce((acc, columnTitle, physicalColumn) => {
|
553
516
|
const cachedColumnsLength = _classPrivateFieldGet(_cachedColumnHeaders, this).length;
|
554
517
|
if (cachedColumnsLength - 1 < physicalColumn || _classPrivateFieldGet(_cachedColumnHeaders, this)[physicalColumn] !== columnTitle) {
|
555
|
-
acc.push(physicalColumn);
|
518
|
+
acc.push(this.hot.toVisualColumn(physicalColumn));
|
556
519
|
}
|
557
520
|
if (cachedColumnsLength - 1 < physicalColumn) {
|
558
521
|
_classPrivateFieldGet(_cachedColumnHeaders, this).push(columnTitle);
|
@@ -568,13 +531,12 @@ export class AutoColumnSize extends BasePlugin {
|
|
568
531
|
* Clears cache of calculated column widths. If you want to clear only selected columns pass an array with their indexes.
|
569
532
|
* Otherwise whole cache will be cleared.
|
570
533
|
*
|
571
|
-
* @param {number[]} [
|
534
|
+
* @param {number[]} [physicalColumns] List of physical column indexes to clear.
|
572
535
|
*/
|
573
|
-
clearCache() {
|
574
|
-
|
575
|
-
if (columns.length) {
|
536
|
+
clearCache(physicalColumns) {
|
537
|
+
if (Array.isArray(physicalColumns)) {
|
576
538
|
this.hot.batchExecution(() => {
|
577
|
-
|
539
|
+
physicalColumns.forEach(physicalIndex => {
|
578
540
|
this.columnWidthsMap.setValueAtIndex(physicalIndex, null);
|
579
541
|
});
|
580
542
|
}, true);
|
@@ -589,8 +551,13 @@ export class AutoColumnSize extends BasePlugin {
|
|
589
551
|
* @returns {boolean}
|
590
552
|
*/
|
591
553
|
isNeedRecalculate() {
|
592
|
-
return !!
|
554
|
+
return !!this.columnWidthsMap.getValues().slice(0, this.measuredColumns).filter(item => item === null).length;
|
593
555
|
}
|
556
|
+
|
557
|
+
/**
|
558
|
+
* On before view render listener.
|
559
|
+
*/
|
560
|
+
|
594
561
|
/**
|
595
562
|
* Destroys the plugin instance.
|
596
563
|
*/
|
@@ -599,25 +566,47 @@ export class AutoColumnSize extends BasePlugin {
|
|
599
566
|
super.destroy();
|
600
567
|
}
|
601
568
|
}
|
602
|
-
function
|
569
|
+
function _calculateSpecificColumnsWidth(visualColumns) {
|
570
|
+
const rowsRange = {
|
571
|
+
from: 0,
|
572
|
+
to: this.hot.countRows() - 1
|
573
|
+
};
|
574
|
+
visualColumns.forEach(visualColumn => {
|
575
|
+
const physicalColumn = this.hot.toPhysicalColumn(visualColumn);
|
576
|
+
if (physicalColumn === null) {
|
577
|
+
return;
|
578
|
+
}
|
579
|
+
if (!this.hot._getColWidthFromSettings(physicalColumn)) {
|
580
|
+
const samples = this.samplesGenerator.generateColumnSamples(visualColumn, rowsRange);
|
581
|
+
samples.forEach((sample, column) => this.ghostTable.addColumn(column, sample));
|
582
|
+
}
|
583
|
+
});
|
584
|
+
if (this.ghostTable.columns.length) {
|
585
|
+
this.hot.batchExecution(() => {
|
586
|
+
this.ghostTable.getWidths((visualColumn, width) => {
|
587
|
+
const physicalColumn = this.hot.toPhysicalColumn(visualColumn);
|
588
|
+
this.columnWidthsMap.setValueAtIndex(physicalColumn, width);
|
589
|
+
});
|
590
|
+
}, true);
|
591
|
+
this.ghostTable.clean();
|
592
|
+
}
|
593
|
+
}
|
594
|
+
function _onBeforeRender() {
|
603
595
|
this.calculateVisibleColumnsWidth();
|
604
|
-
if (
|
605
|
-
this.
|
596
|
+
if (!this.inProgress) {
|
597
|
+
_assertClassBrand(_AutoColumnSize_brand, this, _calculateSpecificColumnsWidth).call(this, _classPrivateFieldGet(_visualColumnsToRefresh, this));
|
598
|
+
_classPrivateFieldSet(_visualColumnsToRefresh, this, []);
|
606
599
|
}
|
607
600
|
}
|
608
601
|
/**
|
609
602
|
* On after load data listener.
|
603
|
+
*
|
604
|
+
* @param {Array} sourceData Source data.
|
605
|
+
* @param {boolean} isFirstLoad `true` if this is the first load.
|
610
606
|
*/
|
611
|
-
function _onAfterLoadData() {
|
612
|
-
if (
|
607
|
+
function _onAfterLoadData(sourceData, isFirstLoad) {
|
608
|
+
if (!isFirstLoad) {
|
613
609
|
this.recalculateAllColumnsWidth();
|
614
|
-
} else {
|
615
|
-
// first load - initialization
|
616
|
-
setTimeout(() => {
|
617
|
-
if (this.hot) {
|
618
|
-
this.recalculateAllColumnsWidth();
|
619
|
-
}
|
620
|
-
}, 0);
|
621
610
|
}
|
622
611
|
}
|
623
612
|
/**
|
@@ -626,11 +615,15 @@ function _onAfterLoadData() {
|
|
626
615
|
* @param {Array} changes An array of modified data.
|
627
616
|
*/
|
628
617
|
function _onBeforeChange(changes) {
|
629
|
-
const changedColumns =
|
630
|
-
let [, columnProperty] =
|
631
|
-
|
632
|
-
|
633
|
-
|
618
|
+
const changedColumns = changes.reduce((acc, _ref) => {
|
619
|
+
let [, columnProperty] = _ref;
|
620
|
+
const visualColumn = this.hot.propToCol(columnProperty);
|
621
|
+
if (Number.isInteger(visualColumn) && acc.indexOf(visualColumn) === -1) {
|
622
|
+
acc.push(visualColumn);
|
623
|
+
}
|
624
|
+
return acc;
|
625
|
+
}, []);
|
626
|
+
_classPrivateFieldGet(_visualColumnsToRefresh, this).push(...changedColumns);
|
634
627
|
}
|
635
628
|
/**
|
636
629
|
* On before column resize listener.
|
@@ -651,8 +644,9 @@ function _onBeforeColumnResize(size, column, isDblClick) {
|
|
651
644
|
/**
|
652
645
|
* On after Handsontable init fill plugin with all necessary values.
|
653
646
|
*/
|
654
|
-
function
|
647
|
+
function _onInit() {
|
655
648
|
_classPrivateFieldSet(_cachedColumnHeaders, this, this.hot.getColHeader());
|
649
|
+
this.recalculateAllColumnsWidth();
|
656
650
|
}
|
657
651
|
/**
|
658
652
|
* After formulas values updated listener.
|
@@ -660,10 +654,16 @@ function _onAfterInit() {
|
|
660
654
|
* @param {Array} changes An array of modified data.
|
661
655
|
*/
|
662
656
|
function _onAfterFormulasValuesUpdate(changes) {
|
663
|
-
const
|
657
|
+
const changedColumns = changes.reduce((acc, change) => {
|
664
658
|
var _change$address;
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
659
|
+
const physicalColumn = (_change$address = change.address) === null || _change$address === void 0 ? void 0 : _change$address.col;
|
660
|
+
if (Number.isInteger(physicalColumn)) {
|
661
|
+
const visualColumn = this.hot.toVisualColumn(physicalColumn);
|
662
|
+
if (acc.indexOf(visualColumn) === -1) {
|
663
|
+
acc.push(visualColumn);
|
664
|
+
}
|
665
|
+
}
|
666
|
+
return acc;
|
667
|
+
}, []);
|
668
|
+
_classPrivateFieldGet(_visualColumnsToRefresh, this).push(...changedColumns);
|
669
669
|
}
|
@@ -15,6 +15,7 @@ export class AutoRowSize extends BasePlugin {
|
|
15
15
|
measuredRows: number;
|
16
16
|
|
17
17
|
isEnabled(): boolean;
|
18
|
+
calculateVisibleRowsHeight(): void;
|
18
19
|
calculateRowsHeight(rowRange?: number | { from: number, to: number }, colRange?: number | { from: number, to: number }, force?: boolean): void;
|
19
20
|
calculateAllRowsHeight(colRange?: number | { from: number, to: number }): void;
|
20
21
|
recalculateAllRowsHeight(): void;
|
@@ -23,7 +24,7 @@ export class AutoRowSize extends BasePlugin {
|
|
23
24
|
getColumnHeaderHeight(): number;
|
24
25
|
getFirstVisibleRow(): number;
|
25
26
|
getLastVisibleRow(): number;
|
26
|
-
clearCache(): void;
|
27
|
+
clearCache(physicalRows?: number[]): void;
|
27
28
|
clearCacheByRange(range: number | { from: number, to: number }): void;
|
28
29
|
isNeedRecalculate(): boolean;
|
29
30
|
}
|