handsontable 14.6.1 → 15.0.0-next-4472a60-20241203
Sign up to get free protection for your applications and to get access to all the features.
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +23 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +23 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +23 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +23 -0
- package/3rdparty/walkontable/src/calculator/index.js +1 -2
- package/3rdparty/walkontable/src/calculator/index.mjs +2 -2
- package/3rdparty/walkontable/src/calculator/viewportBase.js +2 -0
- package/3rdparty/walkontable/src/calculator/viewportBase.mjs +2 -0
- package/3rdparty/walkontable/src/calculator/viewportRows.js +3 -3
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +3 -3
- package/3rdparty/walkontable/src/core/_base.js +29 -23
- package/3rdparty/walkontable/src/core/_base.mjs +29 -23
- package/3rdparty/walkontable/src/core/clone.js +1 -0
- package/3rdparty/walkontable/src/core/clone.mjs +1 -0
- package/3rdparty/walkontable/src/core/core.js +2 -0
- package/3rdparty/walkontable/src/core/core.mjs +2 -0
- package/3rdparty/walkontable/src/facade/core.js +12 -6
- package/3rdparty/walkontable/src/facade/core.mjs +12 -6
- package/3rdparty/walkontable/src/index.js +0 -1
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +8 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +8 -1
- package/3rdparty/walkontable/src/overlay/bottom.js +5 -6
- package/3rdparty/walkontable/src/overlay/bottom.mjs +5 -6
- package/3rdparty/walkontable/src/overlay/index.js +2 -0
- package/3rdparty/walkontable/src/overlay/inlineStart.js +8 -7
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +9 -8
- package/3rdparty/walkontable/src/overlay/top.js +9 -8
- package/3rdparty/walkontable/src/overlay/top.mjs +10 -9
- package/3rdparty/walkontable/src/overlays.js +10 -26
- package/3rdparty/walkontable/src/overlays.mjs +10 -26
- package/3rdparty/walkontable/src/renderer/colGroup.js +1 -1
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/index.js +4 -2
- package/3rdparty/walkontable/src/renderer/index.mjs +4 -2
- package/3rdparty/walkontable/src/renderer/table.js +13 -4
- package/3rdparty/walkontable/src/renderer/table.mjs +13 -4
- package/3rdparty/walkontable/src/scroll.js +46 -37
- package/3rdparty/walkontable/src/scroll.mjs +46 -37
- package/3rdparty/walkontable/src/selection/border/border.js +52 -58
- package/3rdparty/walkontable/src/selection/border/border.mjs +53 -59
- package/3rdparty/walkontable/src/selection/border/utils.js +26 -0
- package/3rdparty/walkontable/src/selection/border/utils.mjs +22 -0
- package/3rdparty/walkontable/src/selection/index.js +6 -4
- package/3rdparty/walkontable/src/selection/index.mjs +1 -1
- package/3rdparty/walkontable/src/selection/manager.js +3 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +3 -0
- package/3rdparty/walkontable/src/selection/scanner.js +46 -11
- package/3rdparty/walkontable/src/selection/scanner.mjs +46 -11
- package/3rdparty/walkontable/src/settings.js +8 -9
- package/3rdparty/walkontable/src/settings.mjs +8 -9
- package/3rdparty/walkontable/src/table/master.js +1 -1
- package/3rdparty/walkontable/src/table/master.mjs +2 -2
- package/3rdparty/walkontable/src/table.js +25 -36
- package/3rdparty/walkontable/src/table.mjs +25 -36
- package/3rdparty/walkontable/src/types.js +1 -0
- package/3rdparty/walkontable/src/types.mjs +1 -0
- package/3rdparty/walkontable/src/utils/column.js +1 -43
- package/3rdparty/walkontable/src/utils/column.mjs +1 -43
- package/3rdparty/walkontable/src/utils/stylesHandler.js +295 -0
- package/3rdparty/walkontable/src/utils/stylesHandler.mjs +291 -0
- package/3rdparty/walkontable/src/viewport.js +94 -91
- package/3rdparty/walkontable/src/viewport.mjs +95 -92
- package/CHANGELOG.md +36 -0
- package/README.md +1 -1
- package/base.js +4 -4
- package/base.mjs +3 -3
- package/core/focusCatcher/focusDetector.js +1 -0
- package/core/focusCatcher/focusDetector.mjs +1 -0
- package/core/hooks/bucket.js +184 -0
- package/core/hooks/bucket.mjs +180 -0
- package/{pluginHooks.mjs → core/hooks/constants.js} +38 -486
- package/{pluginHooks.js → core/hooks/constants.mjs} +34 -489
- package/{pluginHooks.d.ts → core/hooks/index.d.ts} +22 -25
- package/core/hooks/index.js +385 -0
- package/core/hooks/index.mjs +381 -0
- package/core/index.js +2 -0
- package/core.d.ts +5 -3
- package/core.js +77 -35
- package/core.mjs +69 -27
- package/dataMap/dataMap.js +3 -0
- package/dataMap/dataMap.mjs +3 -0
- package/dataMap/dataSource.js +2 -0
- package/dataMap/dataSource.mjs +2 -0
- package/dataMap/metaManager/index.js +2 -0
- package/dataMap/metaManager/index.mjs +2 -0
- package/dataMap/metaManager/metaSchema.js +91 -5
- package/dataMap/metaManager/metaSchema.mjs +91 -5
- package/dataMap/metaManager/mods/dynamicCellMeta.js +2 -3
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.js +2 -0
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +2 -0
- package/dist/handsontable.css +84 -72
- package/dist/handsontable.full.css +317 -304
- package/dist/handsontable.full.js +14826 -7294
- package/dist/handsontable.full.min.css +15 -10
- package/dist/handsontable.full.min.js +262 -69
- package/dist/handsontable.js +7826 -5552
- package/dist/handsontable.min.css +10 -6
- package/dist/handsontable.min.js +33 -33
- package/dist/languages/all.js +1 -1
- package/dist/languages/ar-AR.js +1 -1
- package/dist/languages/cs-CZ.js +1 -1
- package/dist/languages/de-CH.js +1 -1
- package/dist/languages/de-DE.js +1 -1
- package/dist/languages/en-US.js +1 -1
- package/dist/languages/es-MX.js +1 -1
- package/dist/languages/fr-FR.js +1 -1
- package/dist/languages/hr-HR.js +1 -1
- package/dist/languages/it-IT.js +1 -1
- package/dist/languages/ja-JP.js +1 -1
- package/dist/languages/ko-KR.js +1 -1
- package/dist/languages/lv-LV.js +1 -1
- package/dist/languages/nb-NO.js +1 -1
- package/dist/languages/nl-NL.js +1 -1
- package/dist/languages/pl-PL.js +1 -1
- package/dist/languages/pt-BR.js +1 -1
- package/dist/languages/ru-RU.js +1 -1
- package/dist/languages/sr-SP.js +1 -1
- package/dist/languages/zh-CN.js +1 -1
- package/dist/languages/zh-TW.js +1 -1
- package/editorManager.js +2 -2
- package/editorManager.mjs +2 -2
- package/editors/autocompleteEditor/autocompleteEditor.js +34 -16
- package/editors/autocompleteEditor/autocompleteEditor.mjs +34 -16
- package/editors/baseEditor/baseEditor.js +25 -18
- package/editors/baseEditor/baseEditor.mjs +26 -19
- package/editors/dateEditor/dateEditor.js +9 -0
- package/editors/dateEditor/dateEditor.mjs +10 -1
- package/editors/dropdownEditor/dropdownEditor.js +4 -3
- package/editors/dropdownEditor/dropdownEditor.mjs +3 -1
- package/editors/handsontableEditor/handsontableEditor.js +36 -2
- package/editors/handsontableEditor/handsontableEditor.mjs +36 -2
- package/editors/passwordEditor/passwordEditor.js +18 -0
- package/editors/passwordEditor/passwordEditor.mjs +18 -0
- package/editors/registry.js +2 -2
- package/editors/registry.mjs +1 -1
- package/editors/selectEditor/selectEditor.js +20 -9
- package/editors/selectEditor/selectEditor.mjs +20 -9
- package/editors/textEditor/textEditor.js +5 -12
- package/editors/textEditor/textEditor.mjs +6 -13
- package/focusManager.js +5 -7
- package/focusManager.mjs +5 -7
- package/helpers/array.js +2 -0
- package/helpers/array.mjs +2 -0
- package/helpers/data.js +3 -0
- package/helpers/data.mjs +3 -0
- package/helpers/dom/element.js +39 -18
- package/helpers/dom/element.mjs +38 -17
- package/helpers/mixed.js +3 -3
- package/helpers/mixed.mjs +3 -3
- package/helpers/moves.js +3 -0
- package/helpers/moves.mjs +3 -0
- package/helpers/number.js +1 -0
- package/helpers/number.mjs +1 -0
- package/helpers/object.js +2 -0
- package/helpers/object.mjs +2 -0
- package/helpers/themes.js +17 -0
- package/helpers/themes.mjs +13 -0
- package/i18n/index.js +2 -0
- package/i18n/languages/index.d.ts +8 -0
- package/i18n/languages/ja-JP.d.ts +1 -1
- package/i18n/phraseFormatters/substituteVariables.js +1 -0
- package/i18n/phraseFormatters/substituteVariables.mjs +1 -0
- package/index.d.ts +9 -1
- package/languages/all.js +1 -1
- package/languages/ar-AR.js +1 -1
- package/languages/cs-CZ.js +1 -1
- package/languages/de-CH.js +1 -1
- package/languages/de-DE.js +1 -1
- package/languages/en-US.js +1 -1
- package/languages/es-MX.js +1 -1
- package/languages/fr-FR.js +1 -1
- package/languages/hr-HR.js +1 -1
- package/languages/index.js +1 -1
- package/languages/it-IT.js +1 -1
- package/languages/ja-JP.js +1 -1
- package/languages/ko-KR.js +1 -1
- package/languages/lv-LV.js +1 -1
- package/languages/nb-NO.js +1 -1
- package/languages/nl-NL.js +1 -1
- package/languages/pl-PL.js +1 -1
- package/languages/pt-BR.js +1 -1
- package/languages/ru-RU.js +1 -1
- package/languages/sr-SP.js +1 -1
- package/languages/zh-CN.js +1 -1
- package/languages/zh-TW.js +1 -1
- package/package.json +22 -7
- package/plugins/autoColumnSize/autoColumnSize.js +22 -27
- package/plugins/autoColumnSize/autoColumnSize.mjs +22 -27
- package/plugins/autoRowSize/autoRowSize.js +20 -22
- package/plugins/autoRowSize/autoRowSize.mjs +21 -23
- package/plugins/autofill/autofill.js +4 -5
- package/plugins/autofill/autofill.mjs +1 -1
- package/plugins/base/base.d.ts +1 -1
- package/plugins/base/base.js +41 -0
- package/plugins/base/base.mjs +42 -1
- package/plugins/base/index.js +2 -1
- package/plugins/base/index.mjs +1 -1
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +2 -5
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +2 -5
- package/plugins/columnSorting/columnSorting.js +5 -4
- package/plugins/columnSorting/columnSorting.mjs +3 -1
- package/plugins/columnSorting/columnStatesManager.js +1 -0
- package/plugins/columnSorting/columnStatesManager.mjs +1 -0
- package/plugins/columnSorting/utils.js +3 -0
- package/plugins/columnSorting/utils.mjs +3 -0
- package/plugins/columnSummary/endpoints.js +3 -0
- package/plugins/columnSummary/endpoints.mjs +3 -0
- package/plugins/comments/commentEditor.js +9 -0
- package/plugins/comments/commentEditor.mjs +9 -0
- package/plugins/comments/comments.js +24 -18
- package/plugins/comments/comments.mjs +26 -20
- package/plugins/comments/editorResizeObserver.js +2 -0
- package/plugins/comments/editorResizeObserver.mjs +2 -0
- package/plugins/contextMenu/contextMenu.d.ts +2 -1
- package/plugins/contextMenu/contextMenu.js +6 -7
- package/plugins/contextMenu/contextMenu.mjs +1 -1
- package/plugins/contextMenu/menu/index.js +2 -0
- package/plugins/contextMenu/menu/menu.js +10 -5
- package/plugins/contextMenu/menu/menu.mjs +11 -6
- package/plugins/contextMenu/menu/positioner.js +4 -2
- package/plugins/contextMenu/menu/positioner.mjs +4 -2
- package/plugins/contextMenu/menu/shortcuts.js +3 -1
- package/plugins/contextMenu/menu/shortcuts.mjs +3 -1
- package/plugins/contextMenu/predefinedItems/alignment.js +7 -84
- package/plugins/contextMenu/predefinedItems/alignment.mjs +8 -85
- package/plugins/contextMenu/utils.js +0 -10
- package/plugins/contextMenu/utils.mjs +0 -9
- package/plugins/copyPaste/copyPaste.d.ts +1 -0
- package/plugins/copyPaste/copyPaste.js +32 -23
- package/plugins/copyPaste/copyPaste.mjs +24 -15
- package/plugins/customBorders/utils.js +2 -0
- package/plugins/customBorders/utils.mjs +2 -0
- package/plugins/dropdownMenu/dropdownMenu.d.ts +2 -1
- package/plugins/dropdownMenu/dropdownMenu.js +6 -7
- package/plugins/dropdownMenu/dropdownMenu.mjs +1 -1
- package/plugins/exportFile/types/csv.js +1 -0
- package/plugins/exportFile/types/csv.mjs +1 -0
- package/plugins/filters/component/condition.js +2 -0
- package/plugins/filters/component/condition.mjs +2 -0
- package/plugins/filters/component/operators.js +2 -0
- package/plugins/filters/component/operators.mjs +2 -0
- package/plugins/filters/component/value.js +3 -0
- package/plugins/filters/component/value.mjs +3 -0
- package/plugins/filters/conditionCollection.js +3 -0
- package/plugins/filters/conditionCollection.mjs +3 -0
- package/plugins/filters/conditionUpdateObserver.js +2 -0
- package/plugins/filters/conditionUpdateObserver.mjs +2 -0
- package/plugins/filters/filters.js +43 -13
- package/plugins/filters/filters.mjs +43 -13
- package/plugins/filters/logicalOperations/conjunction.js +2 -0
- package/plugins/filters/logicalOperations/conjunction.mjs +2 -0
- package/plugins/filters/logicalOperations/disjunction.js +2 -0
- package/plugins/filters/logicalOperations/disjunction.mjs +2 -0
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -0
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -0
- package/plugins/filters/menu/focusController.js +38 -14
- package/plugins/filters/menu/focusController.mjs +38 -14
- package/plugins/filters/ui/multipleSelect.js +10 -0
- package/plugins/filters/ui/multipleSelect.mjs +10 -0
- package/plugins/formulas/engine/register.js +3 -0
- package/plugins/formulas/engine/register.mjs +3 -0
- package/plugins/formulas/engine/settings.js +3 -0
- package/plugins/formulas/engine/settings.mjs +3 -0
- package/plugins/formulas/formulas.js +12 -7
- package/plugins/formulas/formulas.mjs +6 -1
- package/plugins/formulas/indexSyncer/axisSyncer.js +3 -0
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +3 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +2 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -0
- package/plugins/hiddenColumns/hiddenColumns.js +22 -30
- package/plugins/hiddenColumns/hiddenColumns.mjs +18 -26
- package/plugins/hiddenRows/contextMenuItem/showRow.js +2 -0
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -0
- package/plugins/hiddenRows/hiddenRows.js +21 -29
- package/plugins/hiddenRows/hiddenRows.mjs +17 -25
- package/plugins/index.d.ts +3 -0
- package/plugins/index.js +3 -0
- package/plugins/index.mjs +3 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +7 -5
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +3 -1
- package/plugins/manualColumnMove/manualColumnMove.js +6 -6
- package/plugins/manualColumnMove/manualColumnMove.mjs +4 -4
- package/plugins/manualColumnResize/manualColumnResize.js +26 -12
- package/plugins/manualColumnResize/manualColumnResize.mjs +26 -12
- package/plugins/manualRowMove/manualRowMove.js +8 -6
- package/plugins/manualRowMove/manualRowMove.mjs +6 -4
- package/plugins/manualRowResize/manualRowResize.js +3 -2
- package/plugins/manualRowResize/manualRowResize.mjs +4 -3
- package/plugins/mergeCells/cellsCollection.js +19 -3
- package/plugins/mergeCells/cellsCollection.mjs +20 -4
- package/plugins/mergeCells/mergeCells.d.ts +6 -2
- package/plugins/mergeCells/mergeCells.js +84 -56
- package/plugins/mergeCells/mergeCells.mjs +82 -54
- package/plugins/mergeCells/renderer.js +13 -3
- package/plugins/mergeCells/renderer.mjs +13 -3
- package/plugins/multiColumnSorting/domHelpers.js +2 -0
- package/plugins/multiColumnSorting/domHelpers.mjs +2 -0
- package/plugins/nestedHeaders/nestedHeaders.js +63 -16
- package/plugins/nestedHeaders/nestedHeaders.mjs +63 -16
- package/plugins/nestedHeaders/stateManager/index.js +1 -0
- package/plugins/nestedHeaders/stateManager/index.mjs +1 -0
- package/plugins/nestedRows/nestedRows.js +3 -0
- package/plugins/nestedRows/nestedRows.mjs +3 -0
- package/plugins/nestedRows/ui/headers.js +7 -1
- package/plugins/nestedRows/ui/headers.mjs +7 -1
- package/plugins/nestedRows/utils/rowMoveController.js +4 -0
- package/plugins/nestedRows/utils/rowMoveController.mjs +4 -0
- package/plugins/persistentState/persistentState.js +4 -4
- package/plugins/persistentState/persistentState.mjs +1 -1
- package/plugins/stretchColumns/calculator.js +162 -0
- package/plugins/stretchColumns/calculator.mjs +158 -0
- package/plugins/stretchColumns/index.d.ts +1 -0
- package/plugins/stretchColumns/index.js +7 -0
- package/plugins/stretchColumns/index.mjs +1 -0
- package/plugins/stretchColumns/strategies/_base.js +85 -0
- package/plugins/stretchColumns/strategies/_base.mjs +81 -0
- package/plugins/stretchColumns/strategies/all.js +71 -0
- package/plugins/stretchColumns/strategies/all.mjs +67 -0
- package/plugins/stretchColumns/strategies/last.js +79 -0
- package/plugins/stretchColumns/strategies/last.mjs +75 -0
- package/plugins/stretchColumns/stretchColumns.d.ts +11 -0
- package/plugins/stretchColumns/stretchColumns.js +222 -0
- package/plugins/stretchColumns/stretchColumns.mjs +218 -0
- package/plugins/trimRows/trimRows.js +2 -0
- package/plugins/trimRows/trimRows.mjs +2 -0
- package/plugins/undoRedo/undoRedo.js +9 -5
- package/plugins/undoRedo/undoRedo.mjs +8 -3
- package/renderers/checkboxRenderer/checkboxRenderer.js +19 -8
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +18 -7
- package/selection/index.js +2 -0
- package/selection/range.js +2 -0
- package/selection/range.mjs +2 -0
- package/selection/selection.js +7 -2
- package/selection/selection.mjs +7 -2
- package/selection/utils.js +2 -0
- package/selection/utils.mjs +2 -0
- package/settings.d.ts +4 -1
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +1 -1
- package/shortcutContexts/commands/index.js +2 -0
- package/shortcutContexts/commands/index.mjs +2 -0
- package/shortcutContexts/commands/scrollToFocusedCell.js +4 -4
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +4 -4
- package/shortcutContexts/index.js +2 -0
- package/shortcutContexts/index.mjs +2 -0
- package/shortcuts/context.js +3 -0
- package/shortcuts/context.mjs +3 -0
- package/shortcuts/recorder.js +3 -3
- package/shortcuts/recorder.mjs +3 -3
- package/shortcuts/utils.js +1 -0
- package/shortcuts/utils.mjs +1 -0
- package/styles/handsontable.css +2307 -0
- package/styles/handsontable.min.css +30 -0
- package/styles/ht-theme-horizon.css +607 -0
- package/styles/ht-theme-horizon.min.css +30 -0
- package/styles/ht-theme-main.css +613 -0
- package/styles/ht-theme-main.min.css +30 -0
- package/tableView.js +205 -33
- package/tableView.mjs +206 -34
- package/translations/changesObservable/observable.js +2 -0
- package/translations/changesObservable/observable.mjs +2 -0
- package/translations/index.js +2 -0
- package/translations/indexMapper.js +4 -0
- package/translations/indexMapper.mjs +4 -0
- package/translations/mapCollections/index.js +2 -0
- package/translations/mapCollections/mapCollection.js +2 -0
- package/translations/mapCollections/mapCollection.mjs +2 -0
- package/translations/maps/index.js +2 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -0
- package/translations/maps/utils/actionsOnIndexes.js +2 -0
- package/translations/maps/utils/actionsOnIndexes.mjs +2 -0
- package/translations/maps/utils/physicallyIndexed.js +1 -0
- package/translations/maps/utils/physicallyIndexed.mjs +1 -0
- package/utils/autoResize.js +11 -3
- package/utils/autoResize.mjs +11 -3
- package/utils/dataStructures/priorityMap.js +1 -0
- package/utils/dataStructures/priorityMap.mjs +1 -0
- package/utils/dataStructures/uniqueMap.js +2 -0
- package/utils/dataStructures/uniqueMap.mjs +2 -0
- package/utils/ghostTable.js +7 -3
- package/utils/ghostTable.mjs +7 -3
- package/utils/parseTable.js +4 -0
- package/utils/parseTable.mjs +4 -0
- package/3rdparty/walkontable/src/selection/border/constants.js +0 -15
- package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
- package/3rdparty/walkontable/src/utils/columnStretching.js +0 -197
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +0 -193
@@ -1,4 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
3
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
2
4
|
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; }
|
3
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
4
6
|
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); }
|
@@ -298,7 +300,9 @@ export class Overlay {
|
|
298
300
|
// todo ioc , or factor func if used only here
|
299
301
|
event: this.wot.wtEvent,
|
300
302
|
// todo ioc , or factory func if used only here
|
301
|
-
selectionManager: this.wot.selectionManager
|
303
|
+
selectionManager: this.wot.selectionManager,
|
304
|
+
// todo ioc , or factory func if used only here
|
305
|
+
stylesHandler: this.wot.stylesHandler
|
302
306
|
});
|
303
307
|
}
|
304
308
|
|
@@ -312,7 +316,10 @@ export class Overlay {
|
|
312
316
|
refresh() {
|
313
317
|
let fastDraw = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
314
318
|
if (this.needFullRender) {
|
319
|
+
const cloneSource = this.clone.cloneSource;
|
320
|
+
cloneSource.activeOverlayName = this.clone.wtTable.name;
|
315
321
|
this.clone.draw(fastDraw);
|
322
|
+
cloneSource.activeOverlayName = 'master';
|
316
323
|
}
|
317
324
|
}
|
318
325
|
|
@@ -144,9 +144,9 @@ class BottomOverlay extends _base.Overlay {
|
|
144
144
|
sumCellSizes(from, to) {
|
145
145
|
const {
|
146
146
|
wtTable,
|
147
|
-
|
147
|
+
stylesHandler
|
148
148
|
} = this.wot;
|
149
|
-
const defaultRowHeight =
|
149
|
+
const defaultRowHeight = stylesHandler.getDefaultRowHeight();
|
150
150
|
let row = from;
|
151
151
|
let sum = 0;
|
152
152
|
while (row < to) {
|
@@ -180,14 +180,13 @@ class BottomOverlay extends _base.Overlay {
|
|
180
180
|
rootDocument,
|
181
181
|
rootWindow
|
182
182
|
} = this.domBindings;
|
183
|
-
const scrollbarWidth = (0, _element.getScrollbarWidth)(rootDocument);
|
184
183
|
const overlayRoot = this.clone.wtTable.holder.parentNode;
|
185
184
|
const overlayRootStyle = overlayRoot.style;
|
186
185
|
const preventOverflow = this.wtSettings.getSetting('preventOverflow');
|
187
186
|
if (this.trimmingContainer !== rootWindow || preventOverflow === 'horizontal') {
|
188
187
|
let width = wtViewport.getWorkspaceWidth();
|
189
|
-
if (
|
190
|
-
width -=
|
188
|
+
if (wtViewport.hasVerticalScroll()) {
|
189
|
+
width -= (0, _element.getScrollbarWidth)(rootDocument);
|
191
190
|
}
|
192
191
|
width = Math.min(width, wtTable.wtRootElement.scrollWidth);
|
193
192
|
overlayRootStyle.width = `${width}px`;
|
@@ -196,7 +195,7 @@ class BottomOverlay extends _base.Overlay {
|
|
196
195
|
}
|
197
196
|
this.clone.wtTable.holder.style.width = overlayRootStyle.width;
|
198
197
|
let tableHeight = (0, _element.outerHeight)(this.clone.wtTable.TABLE);
|
199
|
-
if (!
|
198
|
+
if (!wtTable.hasDefinedSize()) {
|
200
199
|
tableHeight = 0;
|
201
200
|
}
|
202
201
|
overlayRootStyle.height = `${tableHeight}px`;
|
@@ -140,9 +140,9 @@ export class BottomOverlay extends Overlay {
|
|
140
140
|
sumCellSizes(from, to) {
|
141
141
|
const {
|
142
142
|
wtTable,
|
143
|
-
|
143
|
+
stylesHandler
|
144
144
|
} = this.wot;
|
145
|
-
const defaultRowHeight =
|
145
|
+
const defaultRowHeight = stylesHandler.getDefaultRowHeight();
|
146
146
|
let row = from;
|
147
147
|
let sum = 0;
|
148
148
|
while (row < to) {
|
@@ -176,14 +176,13 @@ export class BottomOverlay extends Overlay {
|
|
176
176
|
rootDocument,
|
177
177
|
rootWindow
|
178
178
|
} = this.domBindings;
|
179
|
-
const scrollbarWidth = getScrollbarWidth(rootDocument);
|
180
179
|
const overlayRoot = this.clone.wtTable.holder.parentNode;
|
181
180
|
const overlayRootStyle = overlayRoot.style;
|
182
181
|
const preventOverflow = this.wtSettings.getSetting('preventOverflow');
|
183
182
|
if (this.trimmingContainer !== rootWindow || preventOverflow === 'horizontal') {
|
184
183
|
let width = wtViewport.getWorkspaceWidth();
|
185
|
-
if (
|
186
|
-
width -=
|
184
|
+
if (wtViewport.hasVerticalScroll()) {
|
185
|
+
width -= getScrollbarWidth(rootDocument);
|
187
186
|
}
|
188
187
|
width = Math.min(width, wtTable.wtRootElement.scrollWidth);
|
189
188
|
overlayRootStyle.width = `${width}px`;
|
@@ -192,7 +191,7 @@ export class BottomOverlay extends Overlay {
|
|
192
191
|
}
|
193
192
|
this.clone.wtTable.holder.style.width = overlayRootStyle.width;
|
194
193
|
let tableHeight = outerHeight(this.clone.wtTable.TABLE);
|
195
|
-
if (!
|
194
|
+
if (!wtTable.hasDefinedSize()) {
|
196
195
|
tableHeight = 0;
|
197
196
|
}
|
198
197
|
overlayRootStyle.height = `${tableHeight}px`;
|
@@ -119,7 +119,7 @@ class InlineStartOverlay extends _base.Overlay {
|
|
119
119
|
let column = from;
|
120
120
|
let sum = 0;
|
121
121
|
while (column < to) {
|
122
|
-
sum += this.wot.wtTable.
|
122
|
+
sum += this.wot.wtTable.getColumnWidth(column) || defaultColumnWidth;
|
123
123
|
column += 1;
|
124
124
|
}
|
125
125
|
return sum;
|
@@ -141,20 +141,20 @@ class InlineStartOverlay extends _base.Overlay {
|
|
141
141
|
*/
|
142
142
|
adjustRootElementSize() {
|
143
143
|
const {
|
144
|
-
wtTable
|
144
|
+
wtTable,
|
145
|
+
wtViewport
|
145
146
|
} = this.wot;
|
146
147
|
const {
|
147
148
|
rootDocument,
|
148
149
|
rootWindow
|
149
150
|
} = this.domBindings;
|
150
|
-
const scrollbarHeight = (0, _element.getScrollbarWidth)(rootDocument);
|
151
151
|
const overlayRoot = this.clone.wtTable.holder.parentNode;
|
152
152
|
const overlayRootStyle = overlayRoot.style;
|
153
153
|
const preventOverflow = this.wtSettings.getSetting('preventOverflow');
|
154
154
|
if (this.trimmingContainer !== rootWindow || preventOverflow === 'vertical') {
|
155
|
-
let height =
|
156
|
-
if (
|
157
|
-
height -=
|
155
|
+
let height = wtViewport.getWorkspaceHeight();
|
156
|
+
if (wtViewport.hasHorizontalScroll()) {
|
157
|
+
height -= (0, _element.getScrollbarWidth)(rootDocument);
|
158
158
|
}
|
159
159
|
height = Math.min(height, wtTable.wtRootElement.scrollHeight);
|
160
160
|
overlayRootStyle.height = `${height}px`;
|
@@ -173,7 +173,8 @@ class InlineStartOverlay extends _base.Overlay {
|
|
173
173
|
const {
|
174
174
|
holder
|
175
175
|
} = this.clone.wtTable;
|
176
|
-
const
|
176
|
+
const cornerStyle = (0, _selection.getCornerStyle)(this.wot);
|
177
|
+
const selectionCornerOffset = this.wot.selectionManager.getFocusSelection() ? parseInt(cornerStyle.width, 10) / 2 : 0;
|
177
178
|
this.clone.wtTable.hider.style.height = this.hider.style.height;
|
178
179
|
holder.style.height = holder.parentNode.style.height;
|
179
180
|
// Add selection corner protruding part to the holder total width to make sure that
|
@@ -2,7 +2,7 @@ import "core-js/modules/es.error.cause.js";
|
|
2
2
|
import { addClass, getScrollbarWidth, getScrollLeft, getMaximumScrollLeft, getWindowScrollTop, hasClass, outerWidth, removeClass, setOverlayPosition, resetCssTransform } from "../../../../helpers/dom/element.mjs";
|
3
3
|
import InlineStartOverlayTable from "../table/inlineStart.mjs";
|
4
4
|
import { Overlay } from "./_base.mjs";
|
5
|
-
import {
|
5
|
+
import { getCornerStyle } from "../selection/index.mjs";
|
6
6
|
import { CLONE_INLINE_START } from "./constants.mjs";
|
7
7
|
/**
|
8
8
|
* @class InlineStartOverlay
|
@@ -115,7 +115,7 @@ export class InlineStartOverlay extends Overlay {
|
|
115
115
|
let column = from;
|
116
116
|
let sum = 0;
|
117
117
|
while (column < to) {
|
118
|
-
sum += this.wot.wtTable.
|
118
|
+
sum += this.wot.wtTable.getColumnWidth(column) || defaultColumnWidth;
|
119
119
|
column += 1;
|
120
120
|
}
|
121
121
|
return sum;
|
@@ -137,20 +137,20 @@ export class InlineStartOverlay extends Overlay {
|
|
137
137
|
*/
|
138
138
|
adjustRootElementSize() {
|
139
139
|
const {
|
140
|
-
wtTable
|
140
|
+
wtTable,
|
141
|
+
wtViewport
|
141
142
|
} = this.wot;
|
142
143
|
const {
|
143
144
|
rootDocument,
|
144
145
|
rootWindow
|
145
146
|
} = this.domBindings;
|
146
|
-
const scrollbarHeight = getScrollbarWidth(rootDocument);
|
147
147
|
const overlayRoot = this.clone.wtTable.holder.parentNode;
|
148
148
|
const overlayRootStyle = overlayRoot.style;
|
149
149
|
const preventOverflow = this.wtSettings.getSetting('preventOverflow');
|
150
150
|
if (this.trimmingContainer !== rootWindow || preventOverflow === 'vertical') {
|
151
|
-
let height =
|
152
|
-
if (
|
153
|
-
height -=
|
151
|
+
let height = wtViewport.getWorkspaceHeight();
|
152
|
+
if (wtViewport.hasHorizontalScroll()) {
|
153
|
+
height -= getScrollbarWidth(rootDocument);
|
154
154
|
}
|
155
155
|
height = Math.min(height, wtTable.wtRootElement.scrollHeight);
|
156
156
|
overlayRootStyle.height = `${height}px`;
|
@@ -169,7 +169,8 @@ export class InlineStartOverlay extends Overlay {
|
|
169
169
|
const {
|
170
170
|
holder
|
171
171
|
} = this.clone.wtTable;
|
172
|
-
const
|
172
|
+
const cornerStyle = getCornerStyle(this.wot);
|
173
|
+
const selectionCornerOffset = this.wot.selectionManager.getFocusSelection() ? parseInt(cornerStyle.width, 10) / 2 : 0;
|
173
174
|
this.clone.wtTable.hider.style.height = this.hider.style.height;
|
174
175
|
holder.style.height = holder.parentNode.style.height;
|
175
176
|
// Add selection corner protruding part to the holder total width to make sure that
|
@@ -138,7 +138,7 @@ class TopOverlay extends _base.Overlay {
|
|
138
138
|
* @returns {number} Height sum.
|
139
139
|
*/
|
140
140
|
sumCellSizes(from, to) {
|
141
|
-
const defaultRowHeight = this.
|
141
|
+
const defaultRowHeight = this.wot.stylesHandler.getDefaultRowHeight();
|
142
142
|
let row = from;
|
143
143
|
let sum = 0;
|
144
144
|
while (row < to) {
|
@@ -165,20 +165,20 @@ class TopOverlay extends _base.Overlay {
|
|
165
165
|
*/
|
166
166
|
adjustRootElementSize() {
|
167
167
|
const {
|
168
|
-
wtTable
|
168
|
+
wtTable,
|
169
|
+
wtViewport
|
169
170
|
} = this.wot;
|
170
171
|
const {
|
171
172
|
rootDocument,
|
172
173
|
rootWindow
|
173
174
|
} = this.domBindings;
|
174
|
-
const scrollbarWidth = (0, _element.getScrollbarWidth)(rootDocument);
|
175
175
|
const overlayRoot = this.clone.wtTable.holder.parentNode;
|
176
176
|
const overlayRootStyle = overlayRoot.style;
|
177
177
|
const preventOverflow = this.wtSettings.getSetting('preventOverflow');
|
178
178
|
if (this.trimmingContainer !== rootWindow || preventOverflow === 'horizontal') {
|
179
|
-
let width =
|
180
|
-
if (
|
181
|
-
width -=
|
179
|
+
let width = wtViewport.getWorkspaceWidth();
|
180
|
+
if (wtViewport.hasVerticalScroll()) {
|
181
|
+
width -= (0, _element.getScrollbarWidth)(rootDocument);
|
182
182
|
}
|
183
183
|
width = Math.min(width, wtTable.wtRootElement.scrollWidth);
|
184
184
|
overlayRootStyle.width = `${width}px`;
|
@@ -187,7 +187,7 @@ class TopOverlay extends _base.Overlay {
|
|
187
187
|
}
|
188
188
|
this.clone.wtTable.holder.style.width = overlayRootStyle.width;
|
189
189
|
let tableHeight = (0, _element.outerHeight)(this.clone.wtTable.TABLE);
|
190
|
-
if (!
|
190
|
+
if (!wtTable.hasDefinedSize()) {
|
191
191
|
tableHeight = 0;
|
192
192
|
}
|
193
193
|
overlayRootStyle.height = `${tableHeight}px`;
|
@@ -200,7 +200,8 @@ class TopOverlay extends _base.Overlay {
|
|
200
200
|
const {
|
201
201
|
holder
|
202
202
|
} = this.clone.wtTable;
|
203
|
-
const
|
203
|
+
const cornerStyle = (0, _selection.getCornerStyle)(this.wot);
|
204
|
+
const selectionCornerOffset = this.wot.selectionManager.getFocusSelection() ? parseInt(cornerStyle.height, 10) / 2 : 0;
|
204
205
|
this.clone.wtTable.hider.style.width = this.hider.style.width;
|
205
206
|
holder.style.width = holder.parentNode.style.width;
|
206
207
|
// Add selection corner protruding part to the holder total height to make sure that
|
@@ -5,7 +5,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
5
5
|
import { addClass, getMaximumScrollTop, getScrollbarWidth, getScrollTop, getWindowScrollLeft, hasClass, outerHeight, removeClass, setOverlayPosition, resetCssTransform } from "../../../../helpers/dom/element.mjs";
|
6
6
|
import TopOverlayTable from "./../table/top.mjs";
|
7
7
|
import { Overlay } from "./_base.mjs";
|
8
|
-
import {
|
8
|
+
import { getCornerStyle } from "../selection/index.mjs";
|
9
9
|
import { CLONE_TOP } from "./constants.mjs";
|
10
10
|
/**
|
11
11
|
* @class TopOverlay
|
@@ -134,7 +134,7 @@ export class TopOverlay extends Overlay {
|
|
134
134
|
* @returns {number} Height sum.
|
135
135
|
*/
|
136
136
|
sumCellSizes(from, to) {
|
137
|
-
const defaultRowHeight = this.
|
137
|
+
const defaultRowHeight = this.wot.stylesHandler.getDefaultRowHeight();
|
138
138
|
let row = from;
|
139
139
|
let sum = 0;
|
140
140
|
while (row < to) {
|
@@ -161,20 +161,20 @@ export class TopOverlay extends Overlay {
|
|
161
161
|
*/
|
162
162
|
adjustRootElementSize() {
|
163
163
|
const {
|
164
|
-
wtTable
|
164
|
+
wtTable,
|
165
|
+
wtViewport
|
165
166
|
} = this.wot;
|
166
167
|
const {
|
167
168
|
rootDocument,
|
168
169
|
rootWindow
|
169
170
|
} = this.domBindings;
|
170
|
-
const scrollbarWidth = getScrollbarWidth(rootDocument);
|
171
171
|
const overlayRoot = this.clone.wtTable.holder.parentNode;
|
172
172
|
const overlayRootStyle = overlayRoot.style;
|
173
173
|
const preventOverflow = this.wtSettings.getSetting('preventOverflow');
|
174
174
|
if (this.trimmingContainer !== rootWindow || preventOverflow === 'horizontal') {
|
175
|
-
let width =
|
176
|
-
if (
|
177
|
-
width -=
|
175
|
+
let width = wtViewport.getWorkspaceWidth();
|
176
|
+
if (wtViewport.hasVerticalScroll()) {
|
177
|
+
width -= getScrollbarWidth(rootDocument);
|
178
178
|
}
|
179
179
|
width = Math.min(width, wtTable.wtRootElement.scrollWidth);
|
180
180
|
overlayRootStyle.width = `${width}px`;
|
@@ -183,7 +183,7 @@ export class TopOverlay extends Overlay {
|
|
183
183
|
}
|
184
184
|
this.clone.wtTable.holder.style.width = overlayRootStyle.width;
|
185
185
|
let tableHeight = outerHeight(this.clone.wtTable.TABLE);
|
186
|
-
if (!
|
186
|
+
if (!wtTable.hasDefinedSize()) {
|
187
187
|
tableHeight = 0;
|
188
188
|
}
|
189
189
|
overlayRootStyle.height = `${tableHeight}px`;
|
@@ -196,7 +196,8 @@ export class TopOverlay extends Overlay {
|
|
196
196
|
const {
|
197
197
|
holder
|
198
198
|
} = this.clone.wtTable;
|
199
|
-
const
|
199
|
+
const cornerStyle = getCornerStyle(this.wot);
|
200
|
+
const selectionCornerOffset = this.wot.selectionManager.getFocusSelection() ? parseInt(cornerStyle.height, 10) / 2 : 0;
|
200
201
|
this.clone.wtTable.hider.style.width = this.hider.style.width;
|
201
202
|
holder.style.width = holder.parentNode.style.width;
|
202
203
|
// Add selection corner protruding part to the holder total height to make sure that
|
@@ -3,6 +3,9 @@
|
|
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.iterator.constructor.js");
|
7
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
8
|
+
require("core-js/modules/esnext.iterator.reduce.js");
|
6
9
|
var _element = require("../../../helpers/dom/element");
|
7
10
|
var _feature = require("../../../helpers/feature");
|
8
11
|
var _array = require("../../../helpers/array");
|
@@ -163,8 +166,6 @@ class Overlays {
|
|
163
166
|
const isOverflowHidden = rootWindow.getComputedStyle(wtTable.wtRootElement.parentNode).getPropertyValue('overflow') === 'hidden';
|
164
167
|
this.scrollableElement = isOverflowHidden ? wtTable.holder : (0, _element.getScrollableElement)(wtTable.TABLE);
|
165
168
|
this.initOverlays();
|
166
|
-
this.hasScrollbarBottom = false;
|
167
|
-
this.hasScrollbarRight = false;
|
168
169
|
this.destroyed = false;
|
169
170
|
this.keyPressed = false;
|
170
171
|
this.spreaderLastSize = {
|
@@ -329,13 +330,14 @@ class Overlays {
|
|
329
330
|
});
|
330
331
|
let resizeTimeout;
|
331
332
|
this.eventManager.addEventListener(rootWindow, 'resize', () => {
|
332
|
-
|
333
|
-
|
333
|
+
(0, _feature.requestAnimationFrame)(() => {
|
334
|
+
clearTimeout(resizeTimeout);
|
334
335
|
this.wtSettings.getSetting('onWindowResize');
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
336
|
+
resizeTimeout = setTimeout(() => {
|
337
|
+
// Remove resizing the window from the ResizeObserver's endless-loop-blocking logic.
|
338
|
+
_classPrivateFieldSet(_containerDomResizeCount, this, 0);
|
339
|
+
}, 200);
|
340
|
+
});
|
339
341
|
});
|
340
342
|
if (!isScrollOnWindow) {
|
341
343
|
this.resizeObserver.observe(this.wtTable.wtRootElement.parentElement);
|
@@ -641,24 +643,6 @@ class Overlays {
|
|
641
643
|
// we need to adjust the hider dimensions by the header border size. (https://github.com/handsontable/dev-handsontable/issues/1772)
|
642
644
|
hiderStyle.width = `${proposedHiderWidth + rowHeaderBorderCompensation}px`;
|
643
645
|
hiderStyle.height = `${proposedHiderHeight + columnHeaderBorderCompensation}px`;
|
644
|
-
if (this.scrollbarSize > 0) {
|
645
|
-
// todo refactoring, looking as a part of logic which should be moved outside the class
|
646
|
-
const {
|
647
|
-
scrollHeight: rootElemScrollHeight,
|
648
|
-
scrollWidth: rootElemScrollWidth
|
649
|
-
} = wtTable.wtRootElement;
|
650
|
-
const {
|
651
|
-
scrollHeight: holderScrollHeight,
|
652
|
-
scrollWidth: holderScrollWidth
|
653
|
-
} = wtTable.holder;
|
654
|
-
this.hasScrollbarRight = rootElemScrollHeight < holderScrollHeight;
|
655
|
-
this.hasScrollbarBottom = rootElemScrollWidth < holderScrollWidth;
|
656
|
-
if (this.hasScrollbarRight && wtTable.hider.scrollWidth + this.scrollbarSize > rootElemScrollWidth) {
|
657
|
-
this.hasScrollbarBottom = true;
|
658
|
-
} else if (this.hasScrollbarBottom && wtTable.hider.scrollHeight + this.scrollbarSize > rootElemScrollHeight) {
|
659
|
-
this.hasScrollbarRight = true;
|
660
|
-
}
|
661
|
-
}
|
662
646
|
this.topOverlay.adjustElementsSize();
|
663
647
|
this.inlineStartOverlay.adjustElementsSize();
|
664
648
|
this.bottomOverlay.adjustElementsSize();
|
@@ -1,5 +1,8 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
4
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
5
|
+
import "core-js/modules/esnext.iterator.reduce.js";
|
3
6
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
4
7
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
5
8
|
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; }
|
@@ -160,8 +163,6 @@ class Overlays {
|
|
160
163
|
const isOverflowHidden = rootWindow.getComputedStyle(wtTable.wtRootElement.parentNode).getPropertyValue('overflow') === 'hidden';
|
161
164
|
this.scrollableElement = isOverflowHidden ? wtTable.holder : getScrollableElement(wtTable.TABLE);
|
162
165
|
this.initOverlays();
|
163
|
-
this.hasScrollbarBottom = false;
|
164
|
-
this.hasScrollbarRight = false;
|
165
166
|
this.destroyed = false;
|
166
167
|
this.keyPressed = false;
|
167
168
|
this.spreaderLastSize = {
|
@@ -326,13 +327,14 @@ class Overlays {
|
|
326
327
|
});
|
327
328
|
let resizeTimeout;
|
328
329
|
this.eventManager.addEventListener(rootWindow, 'resize', () => {
|
329
|
-
|
330
|
-
|
330
|
+
requestAnimationFrame(() => {
|
331
|
+
clearTimeout(resizeTimeout);
|
331
332
|
this.wtSettings.getSetting('onWindowResize');
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
333
|
+
resizeTimeout = setTimeout(() => {
|
334
|
+
// Remove resizing the window from the ResizeObserver's endless-loop-blocking logic.
|
335
|
+
_classPrivateFieldSet(_containerDomResizeCount, this, 0);
|
336
|
+
}, 200);
|
337
|
+
});
|
336
338
|
});
|
337
339
|
if (!isScrollOnWindow) {
|
338
340
|
this.resizeObserver.observe(this.wtTable.wtRootElement.parentElement);
|
@@ -638,24 +640,6 @@ class Overlays {
|
|
638
640
|
// we need to adjust the hider dimensions by the header border size. (https://github.com/handsontable/dev-handsontable/issues/1772)
|
639
641
|
hiderStyle.width = `${proposedHiderWidth + rowHeaderBorderCompensation}px`;
|
640
642
|
hiderStyle.height = `${proposedHiderHeight + columnHeaderBorderCompensation}px`;
|
641
|
-
if (this.scrollbarSize > 0) {
|
642
|
-
// todo refactoring, looking as a part of logic which should be moved outside the class
|
643
|
-
const {
|
644
|
-
scrollHeight: rootElemScrollHeight,
|
645
|
-
scrollWidth: rootElemScrollWidth
|
646
|
-
} = wtTable.wtRootElement;
|
647
|
-
const {
|
648
|
-
scrollHeight: holderScrollHeight,
|
649
|
-
scrollWidth: holderScrollWidth
|
650
|
-
} = wtTable.holder;
|
651
|
-
this.hasScrollbarRight = rootElemScrollHeight < holderScrollHeight;
|
652
|
-
this.hasScrollbarBottom = rootElemScrollWidth < holderScrollWidth;
|
653
|
-
if (this.hasScrollbarRight && wtTable.hider.scrollWidth + this.scrollbarSize > rootElemScrollWidth) {
|
654
|
-
this.hasScrollbarBottom = true;
|
655
|
-
} else if (this.hasScrollbarBottom && wtTable.hider.scrollHeight + this.scrollbarSize > rootElemScrollHeight) {
|
656
|
-
this.hasScrollbarRight = true;
|
657
|
-
}
|
658
|
-
}
|
659
643
|
this.topOverlay.adjustElementsSize();
|
660
644
|
this.inlineStartOverlay.adjustElementsSize();
|
661
645
|
this.bottomOverlay.adjustElementsSize();
|
@@ -70,7 +70,7 @@ class ColGroupRenderer extends _base.default {
|
|
70
70
|
// Render column nodes for cells
|
71
71
|
for (let visibleColumnIndex = 0; visibleColumnIndex < columnsToRender; visibleColumnIndex++) {
|
72
72
|
const sourceColumnIndex = this.table.renderedColumnToSource(visibleColumnIndex);
|
73
|
-
const width = this.table.columnUtils.
|
73
|
+
const width = this.table.columnUtils.getWidth(sourceColumnIndex);
|
74
74
|
this.rootNode.childNodes[visibleColumnIndex + rowHeadersCount].style.width = `${width}px`;
|
75
75
|
}
|
76
76
|
const firstChild = this.rootNode.firstChild;
|
@@ -66,7 +66,7 @@ export default class ColGroupRenderer extends BaseRenderer {
|
|
66
66
|
// Render column nodes for cells
|
67
67
|
for (let visibleColumnIndex = 0; visibleColumnIndex < columnsToRender; visibleColumnIndex++) {
|
68
68
|
const sourceColumnIndex = this.table.renderedColumnToSource(visibleColumnIndex);
|
69
|
-
const width = this.table.columnUtils.
|
69
|
+
const width = this.table.columnUtils.getWidth(sourceColumnIndex);
|
70
70
|
this.rootNode.childNodes[visibleColumnIndex + rowHeadersCount].style.width = `${width}px`;
|
71
71
|
}
|
72
72
|
const firstChild = this.rootNode.firstChild;
|
@@ -28,7 +28,8 @@ class Renderer {
|
|
28
28
|
TBODY,
|
29
29
|
rowUtils,
|
30
30
|
columnUtils,
|
31
|
-
cellRenderer
|
31
|
+
cellRenderer,
|
32
|
+
stylesHandler
|
32
33
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
33
34
|
/**
|
34
35
|
* General renderer class used to render Walkontable content on screen.
|
@@ -36,7 +37,8 @@ class Renderer {
|
|
36
37
|
* @type {TableRenderer}
|
37
38
|
*/
|
38
39
|
this.renderer = new _table.default(TABLE, {
|
39
|
-
cellRenderer
|
40
|
+
cellRenderer,
|
41
|
+
stylesHandler
|
40
42
|
});
|
41
43
|
this.renderer.setRenderers({
|
42
44
|
rowHeaders: new _rowHeaders.default(),
|
@@ -18,7 +18,8 @@ class Renderer {
|
|
18
18
|
TBODY,
|
19
19
|
rowUtils,
|
20
20
|
columnUtils,
|
21
|
-
cellRenderer
|
21
|
+
cellRenderer,
|
22
|
+
stylesHandler
|
22
23
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
23
24
|
/**
|
24
25
|
* General renderer class used to render Walkontable content on screen.
|
@@ -26,7 +27,8 @@ class Renderer {
|
|
26
27
|
* @type {TableRenderer}
|
27
28
|
*/
|
28
29
|
this.renderer = new TableRenderer(TABLE, {
|
29
|
-
cellRenderer
|
30
|
+
cellRenderer,
|
31
|
+
stylesHandler
|
30
32
|
});
|
31
33
|
this.renderer.setRenderers({
|
32
34
|
rowHeaders: new RowHeadersRenderer(),
|
@@ -52,7 +52,8 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
52
52
|
class TableRenderer {
|
53
53
|
constructor(rootNode) {
|
54
54
|
let {
|
55
|
-
cellRenderer
|
55
|
+
cellRenderer,
|
56
|
+
stylesHandler
|
56
57
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
57
58
|
/**
|
58
59
|
* Table element which will be used to render the children element.
|
@@ -168,9 +169,14 @@ class TableRenderer {
|
|
168
169
|
* @type {'inline_start'|'top'|'top_inline_start_corner'|'bottom'|'bottom_inline_start_corner'|'master'}
|
169
170
|
*/
|
170
171
|
_defineProperty(this, "activeOverlayName", void 0);
|
172
|
+
/**
|
173
|
+
* Styles handler instance.
|
174
|
+
*/
|
175
|
+
_defineProperty(this, "stylesHandler", void 0);
|
171
176
|
this.rootNode = rootNode;
|
172
177
|
this.rootDocument = this.rootNode.ownerDocument;
|
173
178
|
this.cellRenderer = cellRenderer;
|
179
|
+
this.stylesHandler = stylesHandler;
|
174
180
|
}
|
175
181
|
|
176
182
|
/**
|
@@ -301,7 +307,7 @@ class TableRenderer {
|
|
301
307
|
this.rowHeaders.render();
|
302
308
|
this.cells.render();
|
303
309
|
|
304
|
-
// After the cells are rendered calculate columns width
|
310
|
+
// After the cells are rendered calculate columns width to prepare proper values
|
305
311
|
// for colGroup renderer (which renders COL elements).
|
306
312
|
this.columnUtils.calculateWidths();
|
307
313
|
this.colGroup.render();
|
@@ -313,12 +319,15 @@ class TableRenderer {
|
|
313
319
|
// Fix for multi-line content and for supporting `rowHeights` option.
|
314
320
|
for (let visibleRowIndex = 0; visibleRowIndex < rowsToRender; visibleRowIndex++) {
|
315
321
|
const TR = rows.getRenderedNode(visibleRowIndex);
|
322
|
+
const rowUtils = this.rowUtils;
|
316
323
|
if (TR.firstChild) {
|
317
324
|
const sourceRowIndex = this.renderedRowToSource(visibleRowIndex);
|
318
|
-
const rowHeight =
|
325
|
+
const rowHeight = rowUtils.getHeightByOverlayName(sourceRowIndex, this.activeOverlayName);
|
326
|
+
const isBorderBoxSizing = this.stylesHandler.areCellsBorderBox();
|
327
|
+
const borderCompensation = isBorderBoxSizing ? 0 : 1;
|
319
328
|
if (rowHeight) {
|
320
329
|
// Decrease height. 1 pixel will be "replaced" by 1px border top
|
321
|
-
TR.firstChild.style.height = `${rowHeight -
|
330
|
+
TR.firstChild.style.height = `${rowHeight - borderCompensation}px`;
|
322
331
|
} else {
|
323
332
|
TR.firstChild.style.height = '';
|
324
333
|
}
|
@@ -49,7 +49,8 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
49
49
|
export default class TableRenderer {
|
50
50
|
constructor(rootNode) {
|
51
51
|
let {
|
52
|
-
cellRenderer
|
52
|
+
cellRenderer,
|
53
|
+
stylesHandler
|
53
54
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
54
55
|
/**
|
55
56
|
* Table element which will be used to render the children element.
|
@@ -165,9 +166,14 @@ export default class TableRenderer {
|
|
165
166
|
* @type {'inline_start'|'top'|'top_inline_start_corner'|'bottom'|'bottom_inline_start_corner'|'master'}
|
166
167
|
*/
|
167
168
|
_defineProperty(this, "activeOverlayName", void 0);
|
169
|
+
/**
|
170
|
+
* Styles handler instance.
|
171
|
+
*/
|
172
|
+
_defineProperty(this, "stylesHandler", void 0);
|
168
173
|
this.rootNode = rootNode;
|
169
174
|
this.rootDocument = this.rootNode.ownerDocument;
|
170
175
|
this.cellRenderer = cellRenderer;
|
176
|
+
this.stylesHandler = stylesHandler;
|
171
177
|
}
|
172
178
|
|
173
179
|
/**
|
@@ -298,7 +304,7 @@ export default class TableRenderer {
|
|
298
304
|
this.rowHeaders.render();
|
299
305
|
this.cells.render();
|
300
306
|
|
301
|
-
// After the cells are rendered calculate columns width
|
307
|
+
// After the cells are rendered calculate columns width to prepare proper values
|
302
308
|
// for colGroup renderer (which renders COL elements).
|
303
309
|
this.columnUtils.calculateWidths();
|
304
310
|
this.colGroup.render();
|
@@ -310,12 +316,15 @@ export default class TableRenderer {
|
|
310
316
|
// Fix for multi-line content and for supporting `rowHeights` option.
|
311
317
|
for (let visibleRowIndex = 0; visibleRowIndex < rowsToRender; visibleRowIndex++) {
|
312
318
|
const TR = rows.getRenderedNode(visibleRowIndex);
|
319
|
+
const rowUtils = this.rowUtils;
|
313
320
|
if (TR.firstChild) {
|
314
321
|
const sourceRowIndex = this.renderedRowToSource(visibleRowIndex);
|
315
|
-
const rowHeight =
|
322
|
+
const rowHeight = rowUtils.getHeightByOverlayName(sourceRowIndex, this.activeOverlayName);
|
323
|
+
const isBorderBoxSizing = this.stylesHandler.areCellsBorderBox();
|
324
|
+
const borderCompensation = isBorderBoxSizing ? 0 : 1;
|
316
325
|
if (rowHeight) {
|
317
326
|
// Decrease height. 1 pixel will be "replaced" by 1px border top
|
318
|
-
TR.firstChild.style.height = `${rowHeight -
|
327
|
+
TR.firstChild.style.height = `${rowHeight - borderCompensation}px`;
|
319
328
|
} else {
|
320
329
|
TR.firstChild.style.height = '';
|
321
330
|
}
|