handsontable 14.6.1 → 15.0.0-next-fdd4480-20241205
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/walkontable/src/calculator/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
@@ -16,12 +16,10 @@ import { objectEach } from "../../../helpers/object.mjs";
|
|
16
16
|
* @property {Option} currentRowClassName Option `currentRowClassName`.
|
17
17
|
* @property {Option} data Option `data`.
|
18
18
|
* @property {Option} defaultColumnWidth Option `defaultColumnWidth`.
|
19
|
-
* @property {Option} defaultRowHeight Option `defaultRowHeight`.
|
20
19
|
* @property {Option} externalRowCalculator Option `externalRowCalculator`.
|
21
20
|
* @property {Option} fixedColumnsStart Option `fixedColumnsStart`.
|
22
21
|
* @property {Option} fixedRowsBottom Option `fixedRowsBottom`.
|
23
22
|
* @property {Option} fixedRowsTop Option `fixedRowsTop`.
|
24
|
-
* @property {Option} freezeOverlays Option `freezeOverlays`.
|
25
23
|
* @property {Option} groups Option `groups`.
|
26
24
|
* @property {Option} hideBorderOnMouseDownOver Option `hideBorderOnMouseDownOver`.
|
27
25
|
* @property {Option} isRtl Option `isRtl`.
|
@@ -30,7 +28,6 @@ import { objectEach } from "../../../helpers/object.mjs";
|
|
30
28
|
* @property {Option} onBeforeHighlightingColumnHeader Option `onBeforeHighlightingColumnHeader`.
|
31
29
|
* @property {Option} onBeforeHighlightingRowHeader Option `onBeforeHighlightingRowHeader`.
|
32
30
|
* @property {Option} onBeforeRemoveCellClassNames Option `onBeforeRemoveCellClassNames`.
|
33
|
-
* @property {Option} onBeforeStretchingColumnWidth Option `onBeforeStretchingColumnWidth`.
|
34
31
|
* @property {Option} preventOverflow Option `preventOverflow`.
|
35
32
|
* @property {Option} preventWheel Option `preventWheel`.
|
36
33
|
* @property {Option} renderAllColumns Option `renderAllColumns`.
|
@@ -41,7 +38,6 @@ import { objectEach } from "../../../helpers/object.mjs";
|
|
41
38
|
* @property {Option} shouldRenderBottomOverlay Option `shouldRenderBottomOverlay`.
|
42
39
|
* @property {Option} shouldRenderInlineStartOverlay Option `shouldRenderInlineStartOverlay`.
|
43
40
|
* @property {Option} shouldRenderTopOverlay Option `shouldRenderTopOverlay`.
|
44
|
-
* @property {Option} stretchH Option `stretchH`.
|
45
41
|
* @property {Option} table Option `table`.
|
46
42
|
* @property {Option} totalColumns Option `totalColumns`.
|
47
43
|
* @property {Option} totalRows Option `totalRows`.
|
@@ -63,6 +59,8 @@ import { objectEach } from "../../../helpers/object.mjs";
|
|
63
59
|
* @property {?Option} onCellMouseUp Option `onCellMouseUp`.
|
64
60
|
* @property {?Option} onDraw Option `onDraw`.
|
65
61
|
* @property {?Option} onModifyGetCellCoords Option `onModifyGetCellCoords`.
|
62
|
+
* @property {?Option} onModifyGetCoordsElement Option `onModifyGetCoordsElement`.
|
63
|
+
* @property {?Option} onModifyGetCoords Option `onModifyGetCoords`.
|
66
64
|
* @property {?Option} onModifyRowHeaderWidth Option `onModifyRowHeaderWidth`.
|
67
65
|
* @property {?Option} onBeforeViewportScrollHorizontally Option `onBeforeViewportScrollHorizontally`.
|
68
66
|
* @property {?Option} onBeforeViewportScrollVertically Option `onBeforeViewportScrollVertically`.
|
@@ -73,6 +71,8 @@ import { objectEach } from "../../../helpers/object.mjs";
|
|
73
71
|
* @property {?Option} selections Option `selections`.
|
74
72
|
* @property {?Option} viewportColumnCalculatorOverride Option `viewportColumnCalculatorOverride`.
|
75
73
|
* @property {?Option} viewportRowCalculatorOverride Option `viewportRowCalculatorOverride`.
|
74
|
+
* @property {?Option} viewportColumnRenderingThreshold Option `viewportColumnRenderingThreshold`.
|
75
|
+
* @property {?Option} viewportRowRenderingThreshold Option `viewportRowRenderingThreshold`.
|
76
76
|
*/
|
77
77
|
/**
|
78
78
|
* @template TValue.
|
@@ -128,8 +128,6 @@ export default class Settings {
|
|
128
128
|
isDataViewInstance: true,
|
129
129
|
// presentation mode
|
130
130
|
externalRowCalculator: false,
|
131
|
-
stretchH: 'none',
|
132
|
-
// values: all, last, none
|
133
131
|
currentRowClassName: null,
|
134
132
|
currentColumnClassName: null,
|
135
133
|
preventOverflow() {
|
@@ -138,7 +136,6 @@ export default class Settings {
|
|
138
136
|
preventWheel: false,
|
139
137
|
// data source
|
140
138
|
data: undefined,
|
141
|
-
freezeOverlays: false,
|
142
139
|
// Number of renderable columns for the left overlay.
|
143
140
|
fixedColumnsStart: 0,
|
144
141
|
// Number of renderable rows for the top overlay.
|
@@ -182,12 +179,13 @@ export default class Settings {
|
|
182
179
|
rowHeightByOverlayName() {
|
183
180
|
// return undefined means use default size for the rendered cell content
|
184
181
|
},
|
185
|
-
defaultRowHeight: 23,
|
186
182
|
defaultColumnWidth: 50,
|
187
183
|
selections: null,
|
188
184
|
hideBorderOnMouseDownOver: false,
|
189
185
|
viewportRowCalculatorOverride: null,
|
190
186
|
viewportColumnCalculatorOverride: null,
|
187
|
+
viewportRowRenderingThreshold: null,
|
188
|
+
viewportColumnRenderingThreshold: null,
|
191
189
|
// callbacks
|
192
190
|
onCellMouseDown: null,
|
193
191
|
onCellContextMenu: null,
|
@@ -212,9 +210,10 @@ export default class Settings {
|
|
212
210
|
//
|
213
211
|
onBeforeTouchScroll: null,
|
214
212
|
onAfterMomentumScroll: null,
|
215
|
-
onBeforeStretchingColumnWidth: width => width,
|
216
213
|
onModifyRowHeaderWidth: null,
|
217
214
|
onModifyGetCellCoords: null,
|
215
|
+
onModifyGetCoordsElement: null,
|
216
|
+
onModifyGetCoords: null,
|
218
217
|
onBeforeHighlightingRowHeader: sourceRow => sourceRow,
|
219
218
|
onBeforeHighlightingColumnHeader: sourceCol => sourceCol,
|
220
219
|
onWindowResize: null,
|
@@ -61,7 +61,7 @@ class MasterTable extends _table.default {
|
|
61
61
|
} else {
|
62
62
|
trimmingElementParent.appendChild(cloneNode);
|
63
63
|
}
|
64
|
-
const cloneHeight = parseInt(
|
64
|
+
const cloneHeight = parseInt(rootWindow.getComputedStyle(cloneNode).height, 10);
|
65
65
|
trimmingElementParent.removeChild(cloneNode);
|
66
66
|
if (cloneHeight === 0) {
|
67
67
|
height = 0;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { getStyle,
|
1
|
+
import { getStyle, getTrimmingContainer, isVisible } from "./../../../../helpers/dom/element.mjs";
|
2
2
|
import Table from "../table.mjs";
|
3
3
|
import calculatedRows from "./mixin/calculatedRows.mjs";
|
4
4
|
import calculatedColumns from "./mixin/calculatedColumns.mjs";
|
@@ -57,7 +57,7 @@ class MasterTable extends Table {
|
|
57
57
|
} else {
|
58
58
|
trimmingElementParent.appendChild(cloneNode);
|
59
59
|
}
|
60
|
-
const cloneHeight = parseInt(getComputedStyle(cloneNode
|
60
|
+
const cloneHeight = parseInt(rootWindow.getComputedStyle(cloneNode).height, 10);
|
61
61
|
trimmingElementParent.removeChild(cloneNode);
|
62
62
|
if (cloneHeight === 0) {
|
63
63
|
height = 0;
|
@@ -3,6 +3,8 @@
|
|
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");
|
6
8
|
var _element = require("../../../helpers/dom/element");
|
7
9
|
var _function = require("../../../helpers/function");
|
8
10
|
var _column = _interopRequireDefault(require("./filter/column"));
|
@@ -115,7 +117,8 @@ class Table {
|
|
115
117
|
TBODY: this.TBODY,
|
116
118
|
rowUtils: this.rowUtils,
|
117
119
|
columnUtils: this.columnUtils,
|
118
|
-
cellRenderer: this.wtSettings.getSettingPure('cellRenderer')
|
120
|
+
cellRenderer: this.wtSettings.getSettingPure('cellRenderer'),
|
121
|
+
stylesHandler: this.dataAccessObject.stylesHandler
|
119
122
|
});
|
120
123
|
}
|
121
124
|
|
@@ -296,10 +299,7 @@ class Table {
|
|
296
299
|
}
|
297
300
|
this.resetOversizedRows();
|
298
301
|
this.tableRenderer.setActiveOverlayName(this.name).setViewportSize(this.getRenderedRowsCount(), this.getRenderedColumnsCount()).setFilters(this.rowFilter, this.columnFilter).render();
|
299
|
-
let workspaceWidth;
|
300
302
|
if (this.isMaster) {
|
301
|
-
workspaceWidth = this.dataAccessObject.workspaceWidth;
|
302
|
-
wtViewport.containerWidth = null;
|
303
303
|
this.markOversizedColumnHeaders();
|
304
304
|
}
|
305
305
|
this.adjustColumnHeaderHeights();
|
@@ -312,19 +312,6 @@ class Table {
|
|
312
312
|
}
|
313
313
|
wtOverlays.refresh(false);
|
314
314
|
wtOverlays.applyToDOM();
|
315
|
-
const hiderWidth = (0, _element.outerWidth)(this.hider);
|
316
|
-
const tableWidth = (0, _element.outerWidth)(this.TABLE);
|
317
|
-
if (hiderWidth !== 0 && tableWidth !== hiderWidth) {
|
318
|
-
// Recalculate the column widths, if width changes made in the overlays removed the scrollbar, thus changing the viewport width.
|
319
|
-
this.columnUtils.calculateWidths();
|
320
|
-
this.tableRenderer.renderer.colGroup.render();
|
321
|
-
}
|
322
|
-
if (workspaceWidth !== wtViewport.getWorkspaceWidth()) {
|
323
|
-
// workspace width changed though to shown/hidden vertical scrollbar. Let's reapply stretching
|
324
|
-
wtViewport.containerWidth = null;
|
325
|
-
this.columnUtils.calculateWidths();
|
326
|
-
this.tableRenderer.renderer.colGroup.render();
|
327
|
-
}
|
328
315
|
this.wtSettings.getSetting('onDraw', true);
|
329
316
|
} else if (this.is(_overlay.CLONE_BOTTOM)) {
|
330
317
|
this.dataAccessObject.cloneSource.wtOverlays.adjustElementsSize();
|
@@ -367,7 +354,7 @@ class Table {
|
|
367
354
|
markIfOversizedColumnHeader(col) {
|
368
355
|
const sourceColIndex = this.columnFilter.renderedToSource(col);
|
369
356
|
let level = this.wtSettings.getSetting('columnHeaders').length;
|
370
|
-
const defaultRowHeight = this.
|
357
|
+
const defaultRowHeight = this.dataAccessObject.stylesHandler.getDefaultRowHeight();
|
371
358
|
let previousColHeaderHeight;
|
372
359
|
let currentHeader;
|
373
360
|
let currentHeaderHeight;
|
@@ -466,7 +453,7 @@ class Table {
|
|
466
453
|
getCell(coords) {
|
467
454
|
let row = coords.row;
|
468
455
|
let column = coords.col;
|
469
|
-
const hookResult = this.wtSettings.getSetting('onModifyGetCellCoords', row, column);
|
456
|
+
const hookResult = this.wtSettings.getSetting('onModifyGetCellCoords', row, column, !this.isMaster, 'render');
|
470
457
|
if (hookResult && Array.isArray(hookResult)) {
|
471
458
|
[row, column] = hookResult;
|
472
459
|
}
|
@@ -519,9 +506,8 @@ class Table {
|
|
519
506
|
} else {
|
520
507
|
return parentElement.childNodes[renderedRowIndex];
|
521
508
|
}
|
522
|
-
} else {
|
523
|
-
return false;
|
524
509
|
}
|
510
|
+
return false;
|
525
511
|
}
|
526
512
|
|
527
513
|
/**
|
@@ -631,6 +617,10 @@ class Table {
|
|
631
617
|
} else {
|
632
618
|
col = this.columnFilter.visibleRowHeadedColumnToSourceColumn(col);
|
633
619
|
}
|
620
|
+
const hookResult = this.wtSettings.getSetting('onModifyGetCoordsElement', row, col);
|
621
|
+
if (hookResult && Array.isArray(hookResult)) {
|
622
|
+
[row, col] = hookResult;
|
623
|
+
}
|
634
624
|
return this.wot.createCellCoords(row, col);
|
635
625
|
}
|
636
626
|
|
@@ -642,10 +632,14 @@ class Table {
|
|
642
632
|
return;
|
643
633
|
}
|
644
634
|
let rowCount = this.TBODY.childNodes.length;
|
645
|
-
const expectedTableHeight = rowCount * this.
|
635
|
+
const expectedTableHeight = rowCount * this.dataAccessObject.stylesHandler.getDefaultRowHeight();
|
646
636
|
const actualTableHeight = (0, _element.innerHeight)(this.TBODY) - 1;
|
637
|
+
const borderBoxSizing = this.wot.stylesHandler.areCellsBorderBox();
|
638
|
+
const rowHeightFn = borderBoxSizing ? _element.outerHeight : _element.innerHeight;
|
639
|
+
const borderCompensation = borderBoxSizing ? 0 : 1;
|
640
|
+
const firstRowBorderCompensation = borderBoxSizing ? 1 : 0;
|
647
641
|
let previousRowHeight;
|
648
|
-
let
|
642
|
+
let rowCurrentHeight;
|
649
643
|
let sourceRowIndex;
|
650
644
|
let currentTr;
|
651
645
|
let rowHeader;
|
@@ -659,14 +653,17 @@ class Table {
|
|
659
653
|
previousRowHeight = this.getRowHeight(sourceRowIndex);
|
660
654
|
currentTr = this.getTrForRow(sourceRowIndex);
|
661
655
|
rowHeader = currentTr.querySelector('th');
|
656
|
+
const topBorderCompensation = sourceRowIndex === 0 ? firstRowBorderCompensation : 0;
|
662
657
|
if (rowHeader) {
|
663
|
-
|
658
|
+
rowCurrentHeight = rowHeightFn(rowHeader);
|
664
659
|
} else {
|
665
|
-
|
660
|
+
rowCurrentHeight = rowHeightFn(currentTr) - borderCompensation;
|
666
661
|
}
|
667
|
-
if (!previousRowHeight && this.
|
668
|
-
|
669
|
-
|
662
|
+
if (!previousRowHeight && this.dataAccessObject.stylesHandler.getDefaultRowHeight() < rowCurrentHeight - topBorderCompensation || previousRowHeight < rowCurrentHeight) {
|
663
|
+
if (!borderBoxSizing) {
|
664
|
+
rowCurrentHeight += 1;
|
665
|
+
}
|
666
|
+
this.dataAccessObject.wtViewport.oversizedRows[sourceRowIndex] = rowCurrentHeight;
|
670
667
|
}
|
671
668
|
}
|
672
669
|
}
|
@@ -910,14 +907,6 @@ class Table {
|
|
910
907
|
return this.columnUtils.getWidth(sourceColumn);
|
911
908
|
}
|
912
909
|
|
913
|
-
/**
|
914
|
-
* @param {number} sourceColumn The physical column index.
|
915
|
-
* @returns {number}
|
916
|
-
*/
|
917
|
-
getStretchedColumnWidth(sourceColumn) {
|
918
|
-
return this.columnUtils.getStretchedColumnWidth(sourceColumn);
|
919
|
-
}
|
920
|
-
|
921
910
|
/**
|
922
911
|
* Checks if the table has defined size. It returns `true` when the table has width and height
|
923
912
|
* set bigger than `0px`.
|
@@ -1,5 +1,7 @@
|
|
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";
|
3
5
|
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; }
|
4
6
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
5
7
|
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); }
|
@@ -111,7 +113,8 @@ class Table {
|
|
111
113
|
TBODY: this.TBODY,
|
112
114
|
rowUtils: this.rowUtils,
|
113
115
|
columnUtils: this.columnUtils,
|
114
|
-
cellRenderer: this.wtSettings.getSettingPure('cellRenderer')
|
116
|
+
cellRenderer: this.wtSettings.getSettingPure('cellRenderer'),
|
117
|
+
stylesHandler: this.dataAccessObject.stylesHandler
|
115
118
|
});
|
116
119
|
}
|
117
120
|
|
@@ -292,10 +295,7 @@ class Table {
|
|
292
295
|
}
|
293
296
|
this.resetOversizedRows();
|
294
297
|
this.tableRenderer.setActiveOverlayName(this.name).setViewportSize(this.getRenderedRowsCount(), this.getRenderedColumnsCount()).setFilters(this.rowFilter, this.columnFilter).render();
|
295
|
-
let workspaceWidth;
|
296
298
|
if (this.isMaster) {
|
297
|
-
workspaceWidth = this.dataAccessObject.workspaceWidth;
|
298
|
-
wtViewport.containerWidth = null;
|
299
299
|
this.markOversizedColumnHeaders();
|
300
300
|
}
|
301
301
|
this.adjustColumnHeaderHeights();
|
@@ -308,19 +308,6 @@ class Table {
|
|
308
308
|
}
|
309
309
|
wtOverlays.refresh(false);
|
310
310
|
wtOverlays.applyToDOM();
|
311
|
-
const hiderWidth = outerWidth(this.hider);
|
312
|
-
const tableWidth = outerWidth(this.TABLE);
|
313
|
-
if (hiderWidth !== 0 && tableWidth !== hiderWidth) {
|
314
|
-
// Recalculate the column widths, if width changes made in the overlays removed the scrollbar, thus changing the viewport width.
|
315
|
-
this.columnUtils.calculateWidths();
|
316
|
-
this.tableRenderer.renderer.colGroup.render();
|
317
|
-
}
|
318
|
-
if (workspaceWidth !== wtViewport.getWorkspaceWidth()) {
|
319
|
-
// workspace width changed though to shown/hidden vertical scrollbar. Let's reapply stretching
|
320
|
-
wtViewport.containerWidth = null;
|
321
|
-
this.columnUtils.calculateWidths();
|
322
|
-
this.tableRenderer.renderer.colGroup.render();
|
323
|
-
}
|
324
311
|
this.wtSettings.getSetting('onDraw', true);
|
325
312
|
} else if (this.is(CLONE_BOTTOM)) {
|
326
313
|
this.dataAccessObject.cloneSource.wtOverlays.adjustElementsSize();
|
@@ -363,7 +350,7 @@ class Table {
|
|
363
350
|
markIfOversizedColumnHeader(col) {
|
364
351
|
const sourceColIndex = this.columnFilter.renderedToSource(col);
|
365
352
|
let level = this.wtSettings.getSetting('columnHeaders').length;
|
366
|
-
const defaultRowHeight = this.
|
353
|
+
const defaultRowHeight = this.dataAccessObject.stylesHandler.getDefaultRowHeight();
|
367
354
|
let previousColHeaderHeight;
|
368
355
|
let currentHeader;
|
369
356
|
let currentHeaderHeight;
|
@@ -462,7 +449,7 @@ class Table {
|
|
462
449
|
getCell(coords) {
|
463
450
|
let row = coords.row;
|
464
451
|
let column = coords.col;
|
465
|
-
const hookResult = this.wtSettings.getSetting('onModifyGetCellCoords', row, column);
|
452
|
+
const hookResult = this.wtSettings.getSetting('onModifyGetCellCoords', row, column, !this.isMaster, 'render');
|
466
453
|
if (hookResult && Array.isArray(hookResult)) {
|
467
454
|
[row, column] = hookResult;
|
468
455
|
}
|
@@ -515,9 +502,8 @@ class Table {
|
|
515
502
|
} else {
|
516
503
|
return parentElement.childNodes[renderedRowIndex];
|
517
504
|
}
|
518
|
-
} else {
|
519
|
-
return false;
|
520
505
|
}
|
506
|
+
return false;
|
521
507
|
}
|
522
508
|
|
523
509
|
/**
|
@@ -627,6 +613,10 @@ class Table {
|
|
627
613
|
} else {
|
628
614
|
col = this.columnFilter.visibleRowHeadedColumnToSourceColumn(col);
|
629
615
|
}
|
616
|
+
const hookResult = this.wtSettings.getSetting('onModifyGetCoordsElement', row, col);
|
617
|
+
if (hookResult && Array.isArray(hookResult)) {
|
618
|
+
[row, col] = hookResult;
|
619
|
+
}
|
630
620
|
return this.wot.createCellCoords(row, col);
|
631
621
|
}
|
632
622
|
|
@@ -638,10 +628,14 @@ class Table {
|
|
638
628
|
return;
|
639
629
|
}
|
640
630
|
let rowCount = this.TBODY.childNodes.length;
|
641
|
-
const expectedTableHeight = rowCount * this.
|
631
|
+
const expectedTableHeight = rowCount * this.dataAccessObject.stylesHandler.getDefaultRowHeight();
|
642
632
|
const actualTableHeight = innerHeight(this.TBODY) - 1;
|
633
|
+
const borderBoxSizing = this.wot.stylesHandler.areCellsBorderBox();
|
634
|
+
const rowHeightFn = borderBoxSizing ? outerHeight : innerHeight;
|
635
|
+
const borderCompensation = borderBoxSizing ? 0 : 1;
|
636
|
+
const firstRowBorderCompensation = borderBoxSizing ? 1 : 0;
|
643
637
|
let previousRowHeight;
|
644
|
-
let
|
638
|
+
let rowCurrentHeight;
|
645
639
|
let sourceRowIndex;
|
646
640
|
let currentTr;
|
647
641
|
let rowHeader;
|
@@ -655,14 +649,17 @@ class Table {
|
|
655
649
|
previousRowHeight = this.getRowHeight(sourceRowIndex);
|
656
650
|
currentTr = this.getTrForRow(sourceRowIndex);
|
657
651
|
rowHeader = currentTr.querySelector('th');
|
652
|
+
const topBorderCompensation = sourceRowIndex === 0 ? firstRowBorderCompensation : 0;
|
658
653
|
if (rowHeader) {
|
659
|
-
|
654
|
+
rowCurrentHeight = rowHeightFn(rowHeader);
|
660
655
|
} else {
|
661
|
-
|
656
|
+
rowCurrentHeight = rowHeightFn(currentTr) - borderCompensation;
|
662
657
|
}
|
663
|
-
if (!previousRowHeight && this.
|
664
|
-
|
665
|
-
|
658
|
+
if (!previousRowHeight && this.dataAccessObject.stylesHandler.getDefaultRowHeight() < rowCurrentHeight - topBorderCompensation || previousRowHeight < rowCurrentHeight) {
|
659
|
+
if (!borderBoxSizing) {
|
660
|
+
rowCurrentHeight += 1;
|
661
|
+
}
|
662
|
+
this.dataAccessObject.wtViewport.oversizedRows[sourceRowIndex] = rowCurrentHeight;
|
666
663
|
}
|
667
664
|
}
|
668
665
|
}
|
@@ -906,14 +903,6 @@ class Table {
|
|
906
903
|
return this.columnUtils.getWidth(sourceColumn);
|
907
904
|
}
|
908
905
|
|
909
|
-
/**
|
910
|
-
* @param {number} sourceColumn The physical column index.
|
911
|
-
* @returns {number}
|
912
|
-
*/
|
913
|
-
getStretchedColumnWidth(sourceColumn) {
|
914
|
-
return this.columnUtils.getStretchedColumnWidth(sourceColumn);
|
915
|
-
}
|
916
|
-
|
917
906
|
/**
|
918
907
|
* Checks if the table has defined size. It returns `true` when the table has width and height
|
919
908
|
* set bigger than `0px`.
|
@@ -66,6 +66,7 @@
|
|
66
66
|
* @property {Walkontable} cloneSource CloneSource.
|
67
67
|
* @property {Walkontable} wot Wot.
|
68
68
|
* @property {number} parentTableOffset ParentTableOffset.
|
69
|
+
* @property {StylesHandler} stylesHandler StylesHandler.
|
69
70
|
* @property {number|null} startColumnRendered StartColumnRendered.
|
70
71
|
* @property {number|null} startColumnVisible StartColumnVisible.
|
71
72
|
* @property {number|null} endColumnRendered EndColumnRendered.
|
@@ -66,6 +66,7 @@
|
|
66
66
|
* @property {Walkontable} cloneSource CloneSource.
|
67
67
|
* @property {Walkontable} wot Wot.
|
68
68
|
* @property {number} parentTableOffset ParentTableOffset.
|
69
|
+
* @property {StylesHandler} stylesHandler StylesHandler.
|
69
70
|
* @property {number|null} startColumnRendered StartColumnRendered.
|
70
71
|
* @property {number|null} startColumnVisible StartColumnVisible.
|
71
72
|
* @property {number|null} endColumnRendered EndColumnRendered.
|
@@ -2,8 +2,6 @@
|
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
|
-
var _element = require("./../../../../helpers/dom/element");
|
6
|
-
var _columnStretching = require("./columnStretching");
|
7
5
|
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; }
|
8
6
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
9
7
|
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); }
|
@@ -30,18 +28,8 @@ class ColumnUtils {
|
|
30
28
|
* @type {Map<number, number>}
|
31
29
|
*/
|
32
30
|
_defineProperty(this, "headerWidths", new Map());
|
33
|
-
/**
|
34
|
-
* @type {ColumnStretching}
|
35
|
-
*/
|
36
|
-
_defineProperty(this, "stretching", void 0);
|
37
31
|
this.dataAccessObject = dataAccessObject;
|
38
32
|
this.wtSettings = wtSettings;
|
39
|
-
this.stretching = new _columnStretching.ColumnStretching({
|
40
|
-
totalColumns: () => this.wtSettings.getSetting('totalColumns'),
|
41
|
-
stretchMode: () => this.wtSettings.getSetting('stretchH'),
|
42
|
-
stretchingColumnWidthFn: (stretchedWidth, column) => this.wtSettings.getSetting('onBeforeStretchingColumnWidth', stretchedWidth, column),
|
43
|
-
columnWidthFn: sourceCol => this.dataAccessObject.wtTable.getColumnWidth(sourceCol)
|
44
|
-
});
|
45
33
|
}
|
46
34
|
|
47
35
|
/**
|
@@ -55,21 +43,6 @@ class ColumnUtils {
|
|
55
43
|
return width;
|
56
44
|
}
|
57
45
|
|
58
|
-
/**
|
59
|
-
* Returns stretched column width based on passed source index.
|
60
|
-
*
|
61
|
-
* @param {number} sourceIndex Column source index.
|
62
|
-
* @returns {number}
|
63
|
-
*/
|
64
|
-
getStretchedColumnWidth(sourceIndex) {
|
65
|
-
let width = this.getWidth(sourceIndex);
|
66
|
-
const stretchedWidth = this.stretching.getStretchedColumnWidth(sourceIndex, width);
|
67
|
-
if (stretchedWidth) {
|
68
|
-
width = stretchedWidth;
|
69
|
-
}
|
70
|
-
return width;
|
71
|
-
}
|
72
|
-
|
73
46
|
/**
|
74
47
|
* Returns column header height based on passed header level.
|
75
48
|
*
|
@@ -77,7 +50,7 @@ class ColumnUtils {
|
|
77
50
|
* @returns {number}
|
78
51
|
*/
|
79
52
|
getHeaderHeight(level) {
|
80
|
-
let height = this.
|
53
|
+
let height = this.dataAccessObject.stylesHandler.getDefaultRowHeight();
|
81
54
|
const oversizedHeight = this.dataAccessObject.wtViewport.oversizedColumnHeaders[level];
|
82
55
|
if (oversizedHeight !== undefined) {
|
83
56
|
height = height ? Math.max(height, oversizedHeight) : oversizedHeight;
|
@@ -95,20 +68,6 @@ class ColumnUtils {
|
|
95
68
|
return this.headerWidths.get(this.dataAccessObject.wtTable.columnFilter.sourceToRendered(sourceIndex));
|
96
69
|
}
|
97
70
|
|
98
|
-
/**
|
99
|
-
* Refreshes the stretching column width by recalculating the widths of the columns.
|
100
|
-
*/
|
101
|
-
refreshStretching() {
|
102
|
-
const {
|
103
|
-
wtTable,
|
104
|
-
wtViewport,
|
105
|
-
cloneSource
|
106
|
-
} = this.dataAccessObject;
|
107
|
-
const mainHolder = cloneSource ? cloneSource.wtTable.holder : wtTable.holder;
|
108
|
-
const scrollbarCompensation = mainHolder.offsetHeight < mainHolder.scrollHeight ? (0, _element.getScrollbarWidth)() : 0;
|
109
|
-
this.stretching.refreshStretching(wtViewport.getViewportWidth() - scrollbarCompensation);
|
110
|
-
}
|
111
|
-
|
112
71
|
/**
|
113
72
|
* Calculates column header widths that can be retrieved from the cache.
|
114
73
|
*/
|
@@ -117,7 +76,6 @@ class ColumnUtils {
|
|
117
76
|
wtSettings
|
118
77
|
} = this;
|
119
78
|
let rowHeaderWidthSetting = wtSettings.getSetting('rowHeaderWidth');
|
120
|
-
this.refreshStretching();
|
121
79
|
rowHeaderWidthSetting = wtSettings.getSetting('onModifyRowHeaderWidth', rowHeaderWidthSetting);
|
122
80
|
if (rowHeaderWidthSetting !== null && rowHeaderWidthSetting !== undefined) {
|
123
81
|
const rowHeadersCount = wtSettings.getSetting('rowHeaders').length;
|
@@ -2,8 +2,6 @@ import "core-js/modules/es.error.cause.js";
|
|
2
2
|
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
3
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
4
4
|
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); }
|
5
|
-
import { getScrollbarWidth } from "./../../../../helpers/dom/element.mjs";
|
6
|
-
import { ColumnStretching } from "./columnStretching.mjs";
|
7
5
|
/**
|
8
6
|
* Column utils class contains all necessary information about sizes of the columns.
|
9
7
|
*
|
@@ -27,18 +25,8 @@ export default class ColumnUtils {
|
|
27
25
|
* @type {Map<number, number>}
|
28
26
|
*/
|
29
27
|
_defineProperty(this, "headerWidths", new Map());
|
30
|
-
/**
|
31
|
-
* @type {ColumnStretching}
|
32
|
-
*/
|
33
|
-
_defineProperty(this, "stretching", void 0);
|
34
28
|
this.dataAccessObject = dataAccessObject;
|
35
29
|
this.wtSettings = wtSettings;
|
36
|
-
this.stretching = new ColumnStretching({
|
37
|
-
totalColumns: () => this.wtSettings.getSetting('totalColumns'),
|
38
|
-
stretchMode: () => this.wtSettings.getSetting('stretchH'),
|
39
|
-
stretchingColumnWidthFn: (stretchedWidth, column) => this.wtSettings.getSetting('onBeforeStretchingColumnWidth', stretchedWidth, column),
|
40
|
-
columnWidthFn: sourceCol => this.dataAccessObject.wtTable.getColumnWidth(sourceCol)
|
41
|
-
});
|
42
30
|
}
|
43
31
|
|
44
32
|
/**
|
@@ -52,21 +40,6 @@ export default class ColumnUtils {
|
|
52
40
|
return width;
|
53
41
|
}
|
54
42
|
|
55
|
-
/**
|
56
|
-
* Returns stretched column width based on passed source index.
|
57
|
-
*
|
58
|
-
* @param {number} sourceIndex Column source index.
|
59
|
-
* @returns {number}
|
60
|
-
*/
|
61
|
-
getStretchedColumnWidth(sourceIndex) {
|
62
|
-
let width = this.getWidth(sourceIndex);
|
63
|
-
const stretchedWidth = this.stretching.getStretchedColumnWidth(sourceIndex, width);
|
64
|
-
if (stretchedWidth) {
|
65
|
-
width = stretchedWidth;
|
66
|
-
}
|
67
|
-
return width;
|
68
|
-
}
|
69
|
-
|
70
43
|
/**
|
71
44
|
* Returns column header height based on passed header level.
|
72
45
|
*
|
@@ -74,7 +47,7 @@ export default class ColumnUtils {
|
|
74
47
|
* @returns {number}
|
75
48
|
*/
|
76
49
|
getHeaderHeight(level) {
|
77
|
-
let height = this.
|
50
|
+
let height = this.dataAccessObject.stylesHandler.getDefaultRowHeight();
|
78
51
|
const oversizedHeight = this.dataAccessObject.wtViewport.oversizedColumnHeaders[level];
|
79
52
|
if (oversizedHeight !== undefined) {
|
80
53
|
height = height ? Math.max(height, oversizedHeight) : oversizedHeight;
|
@@ -92,20 +65,6 @@ export default class ColumnUtils {
|
|
92
65
|
return this.headerWidths.get(this.dataAccessObject.wtTable.columnFilter.sourceToRendered(sourceIndex));
|
93
66
|
}
|
94
67
|
|
95
|
-
/**
|
96
|
-
* Refreshes the stretching column width by recalculating the widths of the columns.
|
97
|
-
*/
|
98
|
-
refreshStretching() {
|
99
|
-
const {
|
100
|
-
wtTable,
|
101
|
-
wtViewport,
|
102
|
-
cloneSource
|
103
|
-
} = this.dataAccessObject;
|
104
|
-
const mainHolder = cloneSource ? cloneSource.wtTable.holder : wtTable.holder;
|
105
|
-
const scrollbarCompensation = mainHolder.offsetHeight < mainHolder.scrollHeight ? getScrollbarWidth() : 0;
|
106
|
-
this.stretching.refreshStretching(wtViewport.getViewportWidth() - scrollbarCompensation);
|
107
|
-
}
|
108
|
-
|
109
68
|
/**
|
110
69
|
* Calculates column header widths that can be retrieved from the cache.
|
111
70
|
*/
|
@@ -114,7 +73,6 @@ export default class ColumnUtils {
|
|
114
73
|
wtSettings
|
115
74
|
} = this;
|
116
75
|
let rowHeaderWidthSetting = wtSettings.getSetting('rowHeaderWidth');
|
117
|
-
this.refreshStretching();
|
118
76
|
rowHeaderWidthSetting = wtSettings.getSetting('onModifyRowHeaderWidth', rowHeaderWidthSetting);
|
119
77
|
if (rowHeaderWidthSetting !== null && rowHeaderWidthSetting !== undefined) {
|
120
78
|
const rowHeadersCount = wtSettings.getSetting('rowHeaders').length;
|