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
@@ -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;
|