handsontable 14.6.1 → 15.0.0-next-4472a60-20241203
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
package/core.mjs
CHANGED
@@ -7,6 +7,10 @@ import "core-js/modules/es.set.is-subset-of.v2.js";
|
|
7
7
|
import "core-js/modules/es.set.is-superset-of.v2.js";
|
8
8
|
import "core-js/modules/es.set.symmetric-difference.v2.js";
|
9
9
|
import "core-js/modules/es.set.union.v2.js";
|
10
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
11
|
+
import "core-js/modules/esnext.iterator.filter.js";
|
12
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
13
|
+
import "core-js/modules/esnext.iterator.map.js";
|
10
14
|
import "core-js/modules/web.immediate.js";
|
11
15
|
import { addClass, empty, observeVisibilityChangeOnce, removeClass } from "./helpers/dom/element.mjs";
|
12
16
|
import { isFunction } from "./helpers/function.mjs";
|
@@ -30,7 +34,7 @@ import { spreadsheetColumnLabel } from "./helpers/data.mjs";
|
|
30
34
|
import { IndexMapper } from "./translations/index.mjs";
|
31
35
|
import { registerAsRootInstance, hasValidParameter, isRootInstance } from "./utils/rootInstance.mjs";
|
32
36
|
import { DEFAULT_COLUMN_WIDTH } from "./3rdparty/walkontable/src/index.mjs";
|
33
|
-
import Hooks from "./
|
37
|
+
import { Hooks } from "./core/hooks/index.mjs";
|
34
38
|
import { hasLanguageDictionary, getValidLanguageCode, getTranslatedPhrase } from "./i18n/registry.mjs";
|
35
39
|
import { warnUserAboutLanguageRegistration, normalizeLanguageCode } from "./i18n/utils.mjs";
|
36
40
|
import { Selection } from "./selection/index.mjs";
|
@@ -39,6 +43,7 @@ import { installFocusCatcher, createViewportScroller } from "./core/index.mjs";
|
|
39
43
|
import { createUniqueMap } from "./utils/dataStructures/uniqueMap.mjs";
|
40
44
|
import { createShortcutManager } from "./shortcuts/index.mjs";
|
41
45
|
import { registerAllShortcutContexts } from "./shortcutContexts/index.mjs";
|
46
|
+
import { getThemeClassName } from "./helpers/themes.mjs";
|
42
47
|
let activeGuid = null;
|
43
48
|
|
44
49
|
/**
|
@@ -225,6 +230,7 @@ export default function Core(rootElement, userSettings) {
|
|
225
230
|
rootElement.insertBefore(this.container, rootElement.firstChild);
|
226
231
|
if (isRootInstance(this)) {
|
227
232
|
_injectProductInfo(userSettings.licenseKey, rootElement);
|
233
|
+
addClass(rootElement, 'ht-wrapper');
|
228
234
|
}
|
229
235
|
this.guid = `ht_${randomString()}`; // this is the namespace for global events
|
230
236
|
|
@@ -937,7 +943,9 @@ export default function Core(rootElement, userSettings) {
|
|
937
943
|
// when 'value' is array and 'orgValue' is null, set 'orgValue' to
|
938
944
|
// an empty array so that the null value can be compared to 'value'
|
939
945
|
// as an empty value for the array context
|
940
|
-
if (Array.isArray(value) && orgValue === null)
|
946
|
+
if (Array.isArray(value) && orgValue === null) {
|
947
|
+
orgValue = [];
|
948
|
+
}
|
941
949
|
if (orgValue === null || typeof orgValue !== 'object') {
|
942
950
|
pushData = false;
|
943
951
|
} else {
|
@@ -1025,6 +1033,13 @@ export default function Core(rootElement, userSettings) {
|
|
1025
1033
|
}
|
1026
1034
|
this.updateSettings(tableMeta, true);
|
1027
1035
|
this.view = new TableView(this);
|
1036
|
+
const themeName = tableMeta.themeName || getThemeClassName(instance.rootElement);
|
1037
|
+
|
1038
|
+
// Use the theme defined as a root element class or in the settings (in that order).
|
1039
|
+
instance.useTheme(themeName);
|
1040
|
+
|
1041
|
+
// Add the theme class name to the license info element.
|
1042
|
+
instance.view.addClassNameToLicenseElement(instance.getCurrentThemeName());
|
1028
1043
|
editorManager = EditorManager.getInstance(instance, tableMeta, selection);
|
1029
1044
|
viewportScroller = createViewportScroller(instance);
|
1030
1045
|
focusManager = new FocusManager(instance);
|
@@ -1402,7 +1417,7 @@ export default function Core(rootElement, userSettings) {
|
|
1402
1417
|
if (!changeSource && typeof row === 'object') {
|
1403
1418
|
changeSource = column;
|
1404
1419
|
}
|
1405
|
-
const processedChanges = processChanges(changes,
|
1420
|
+
const processedChanges = processChanges(changes, changeSource);
|
1406
1421
|
instance.runHooks('afterSetDataAtCell', processedChanges, changeSource);
|
1407
1422
|
validateChanges(processedChanges, changeSource, () => {
|
1408
1423
|
applyChanges(processedChanges, changeSource);
|
@@ -2289,9 +2304,10 @@ export default function Core(rootElement, userSettings) {
|
|
2289
2304
|
setClassName('tableClassName', settings.tableClassName);
|
2290
2305
|
instance.view._wt.wtOverlays.syncOverlayTableClassNames();
|
2291
2306
|
} else if (Hooks.getSingleton().isRegistered(i) || Hooks.getSingleton().isDeprecated(i)) {
|
2292
|
-
if (isFunction(settings[i])
|
2293
|
-
settings[i]
|
2294
|
-
|
2307
|
+
if (isFunction(settings[i])) {
|
2308
|
+
Hooks.getSingleton().addAsFixed(i, settings[i], instance);
|
2309
|
+
} else if (Array.isArray(settings[i])) {
|
2310
|
+
Hooks.getSingleton().add(i, settings[i], instance);
|
2295
2311
|
}
|
2296
2312
|
} else if (!init && hasOwnProperty(settings, i)) {
|
2297
2313
|
// Update settings
|
@@ -2377,6 +2393,19 @@ export default function Core(rootElement, userSettings) {
|
|
2377
2393
|
if (instance.view) {
|
2378
2394
|
instance.view._wt.wtViewport.resetHasOversizedColumnHeadersMarked();
|
2379
2395
|
instance.view._wt.exportSettingsAsClassNames();
|
2396
|
+
const currentThemeName = instance.getCurrentThemeName();
|
2397
|
+
const themeNameOptionExists = hasOwnProperty(settings, 'themeName');
|
2398
|
+
if (currentThemeName && themeNameOptionExists) {
|
2399
|
+
instance.view.getStylesHandler().removeClassNames();
|
2400
|
+
instance.view.removeClassNameFromLicenseElement(currentThemeName);
|
2401
|
+
}
|
2402
|
+
const themeName = themeNameOptionExists && settings.themeName || getThemeClassName(instance.rootElement);
|
2403
|
+
|
2404
|
+
// Use the theme defined as a root element class or in the settings (in that order).
|
2405
|
+
instance.useTheme(themeName);
|
2406
|
+
|
2407
|
+
// Add the theme class name to the license info element.
|
2408
|
+
instance.view.addClassNameToLicenseElement(instance.getCurrentThemeName());
|
2380
2409
|
}
|
2381
2410
|
instance.runHooks('afterUpdateSettings', settings);
|
2382
2411
|
}
|
@@ -3488,12 +3517,13 @@ export default function Core(rootElement, userSettings) {
|
|
3488
3517
|
* @memberof Core#
|
3489
3518
|
* @function getColWidth
|
3490
3519
|
* @param {number} column Visual column index.
|
3520
|
+
* @param {string} [source] The source of the call.
|
3491
3521
|
* @returns {number} Column width.
|
3492
3522
|
* @fires Hooks#modifyColWidth
|
3493
3523
|
*/
|
3494
|
-
this.getColWidth = function (column) {
|
3524
|
+
this.getColWidth = function (column, source) {
|
3495
3525
|
let width = instance._getColWidthFromSettings(column);
|
3496
|
-
width = instance.runHooks('modifyColWidth', width, column);
|
3526
|
+
width = instance.runHooks('modifyColWidth', width, column, source);
|
3497
3527
|
if (width === undefined) {
|
3498
3528
|
width = DEFAULT_COLUMN_WIDTH;
|
3499
3529
|
}
|
@@ -3553,12 +3583,13 @@ export default function Core(rootElement, userSettings) {
|
|
3553
3583
|
* @memberof Core#
|
3554
3584
|
* @function getRowHeight
|
3555
3585
|
* @param {number} row A visual row index.
|
3586
|
+
* @param {string} [source] The source of the call.
|
3556
3587
|
* @returns {number|undefined} The height of the specified row, in pixels.
|
3557
3588
|
* @fires Hooks#modifyRowHeight
|
3558
3589
|
*/
|
3559
|
-
this.getRowHeight = function (row) {
|
3590
|
+
this.getRowHeight = function (row, source) {
|
3560
3591
|
let height = instance._getRowHeightFromSettings(row);
|
3561
|
-
height = instance.runHooks('modifyRowHeight', height, row);
|
3592
|
+
height = instance.runHooks('modifyRowHeight', height, row, source);
|
3562
3593
|
return height;
|
3563
3594
|
};
|
3564
3595
|
|
@@ -4071,22 +4102,8 @@ export default function Core(rootElement, userSettings) {
|
|
4071
4102
|
const {
|
4072
4103
|
row,
|
4073
4104
|
col,
|
4074
|
-
verticalSnap,
|
4075
|
-
horizontalSnap,
|
4076
4105
|
considerHiddenIndexes
|
4077
4106
|
} = (_options = options) !== null && _options !== void 0 ? _options : {};
|
4078
|
-
let snapToTop;
|
4079
|
-
let snapToBottom;
|
4080
|
-
let snapToInlineStart;
|
4081
|
-
let snapToInlineEnd;
|
4082
|
-
if (verticalSnap !== undefined) {
|
4083
|
-
snapToTop = verticalSnap === 'top';
|
4084
|
-
snapToBottom = !snapToTop;
|
4085
|
-
}
|
4086
|
-
if (horizontalSnap !== undefined) {
|
4087
|
-
snapToInlineStart = horizontalSnap === 'start';
|
4088
|
-
snapToInlineEnd = !snapToInlineStart;
|
4089
|
-
}
|
4090
4107
|
let renderableRow = row;
|
4091
4108
|
let renderableColumn = col;
|
4092
4109
|
if (considerHiddenIndexes === undefined || considerHiddenIndexes) {
|
@@ -4103,13 +4120,13 @@ export default function Core(rootElement, userSettings) {
|
|
4103
4120
|
const isRowInteger = Number.isInteger(renderableRow);
|
4104
4121
|
const isColumnInteger = Number.isInteger(renderableColumn);
|
4105
4122
|
if (isRowInteger && renderableRow >= 0 && isColumnInteger && renderableColumn >= 0) {
|
4106
|
-
return instance.view.scrollViewport(instance._createCellCoords(renderableRow, renderableColumn),
|
4123
|
+
return instance.view.scrollViewport(instance._createCellCoords(renderableRow, renderableColumn), options.horizontalSnap, options.verticalSnap);
|
4107
4124
|
}
|
4108
4125
|
if (isRowInteger && renderableRow >= 0 && (isColumnInteger && renderableColumn < 0 || !isColumnInteger)) {
|
4109
|
-
return instance.view.scrollViewportVertically(renderableRow,
|
4126
|
+
return instance.view.scrollViewportVertically(renderableRow, options.verticalSnap);
|
4110
4127
|
}
|
4111
4128
|
if (isColumnInteger && renderableColumn >= 0 && (isRowInteger && renderableRow < 0 || !isRowInteger)) {
|
4112
|
-
return instance.view.scrollViewportHorizontally(renderableColumn,
|
4129
|
+
return instance.view.scrollViewportHorizontally(renderableColumn, options.horizontalSnap);
|
4113
4130
|
}
|
4114
4131
|
return false;
|
4115
4132
|
};
|
@@ -4578,6 +4595,31 @@ export default function Core(rootElement, userSettings) {
|
|
4578
4595
|
};
|
4579
4596
|
this.timeouts = [];
|
4580
4597
|
|
4598
|
+
/**
|
4599
|
+
* Use the theme specified by the provided name.
|
4600
|
+
*
|
4601
|
+
* @memberof Core#
|
4602
|
+
* @function useTheme
|
4603
|
+
* @since 15.0.0
|
4604
|
+
* @param {string|boolean|undefined} themeName The name of the theme to use.
|
4605
|
+
*/
|
4606
|
+
this.useTheme = themeName => {
|
4607
|
+
this.view.getStylesHandler().useTheme(themeName);
|
4608
|
+
this.runHooks('afterSetTheme', themeName, !!firstRun);
|
4609
|
+
};
|
4610
|
+
|
4611
|
+
/**
|
4612
|
+
* Gets the name of the currently used theme.
|
4613
|
+
*
|
4614
|
+
* @memberof Core#
|
4615
|
+
* @function getCurrentThemeName
|
4616
|
+
* @since 15.0.0
|
4617
|
+
* @returns {string|undefined} The name of the currently used theme.
|
4618
|
+
*/
|
4619
|
+
this.getCurrentThemeName = () => {
|
4620
|
+
return this.view.getStylesHandler().getThemeName();
|
4621
|
+
};
|
4622
|
+
|
4581
4623
|
/**
|
4582
4624
|
* Sets timeout. Purpose of this method is to clear all known timeouts when `destroy` method is called.
|
4583
4625
|
*
|
package/dataMap/dataMap.js
CHANGED
@@ -3,6 +3,9 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
7
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
8
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
6
9
|
var _SheetClip = require("../3rdparty/SheetClip");
|
7
10
|
var _data = require("../helpers/data");
|
8
11
|
var _object = require("../helpers/object");
|
package/dataMap/dataMap.mjs
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
4
|
+
import "core-js/modules/esnext.iterator.filter.js";
|
5
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
3
6
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
4
7
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
5
8
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
package/dataMap/dataSource.js
CHANGED
@@ -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 _object = require("../helpers/object");
|
7
9
|
var _data = require("../helpers/data");
|
8
10
|
var _array = require("../helpers/array");
|
package/dataMap/dataSource.mjs
CHANGED
@@ -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); }
|
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
6
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
5
7
|
var _globalMeta = _interopRequireDefault(require("./metaLayers/globalMeta"));
|
6
8
|
var _tableMeta = _interopRequireDefault(require("./metaLayers/tableMeta"));
|
7
9
|
var _columnMeta = _interopRequireDefault(require("./metaLayers/columnMeta"));
|
@@ -1,4 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
3
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
2
4
|
import GlobalMeta from "./metaLayers/globalMeta.mjs";
|
3
5
|
import TableMeta from "./metaLayers/tableMeta.mjs";
|
4
6
|
import ColumnMeta from "./metaLayers/columnMeta.mjs";
|
@@ -3842,8 +3842,8 @@ var _default = () => {
|
|
3842
3842
|
/**
|
3843
3843
|
* The `rowHeights` option sets rows' heights, in pixels.
|
3844
3844
|
*
|
3845
|
-
* In the rendering process, the default row height is 23 px (22 px + 1 px of the row's bottom border).
|
3846
|
-
* You can change it to equal or greater than
|
3845
|
+
* In the rendering process, the default row height is 23 px (in the classic theme: 22 px + 1 px of the row's bottom border) or whatever is defined in the used theme (based on the line height, vertical padding and cell borders).
|
3846
|
+
* You can change it to equal or greater than the defautl value, by setting the `rowHeights` option to one of the following:
|
3847
3847
|
*
|
3848
3848
|
* | Setting | Description | Example |
|
3849
3849
|
* | ----------- | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
|
@@ -3875,7 +3875,7 @@ var _default = () => {
|
|
3875
3875
|
* // set the first (by visual index) row's height to 100
|
3876
3876
|
* // set the second (by visual index) row's height to 120
|
3877
3877
|
* // set the third (by visual index) row's height to `undefined`
|
3878
|
-
* // set any other row's height to the default
|
3878
|
+
* // set any other row's height to the default height value
|
3879
3879
|
* rowHeights: [100, 120, undefined],
|
3880
3880
|
*
|
3881
3881
|
* // set each row's height individually, using a function
|
@@ -4313,6 +4313,26 @@ var _default = () => {
|
|
4313
4313
|
* ```
|
4314
4314
|
*/
|
4315
4315
|
tableClassName: undefined,
|
4316
|
+
/**
|
4317
|
+
* The `themeName` option allows enabling a theme by that name.
|
4318
|
+
*
|
4319
|
+
* If no `themeName` is provided, the table will use the classic theme (if the correct CSS files are imported).
|
4320
|
+
*
|
4321
|
+
* Read more:
|
4322
|
+
* - [Themes](@/guides/styling/themes/themes.md)
|
4323
|
+
*
|
4324
|
+
* @memberof Options#
|
4325
|
+
* @type {string|boolean|undefined}
|
4326
|
+
* @default undefined
|
4327
|
+
* @category Core
|
4328
|
+
* @since 15.0.0
|
4329
|
+
*
|
4330
|
+
* @example
|
4331
|
+
* ```js
|
4332
|
+
* themeName: 'ht-theme-name',
|
4333
|
+
* ```
|
4334
|
+
*/
|
4335
|
+
themeName: undefined,
|
4316
4336
|
/**
|
4317
4337
|
* The `tabMoves` option configures the action of the <kbd>**Tab**</kbd> key.
|
4318
4338
|
*
|
@@ -4681,7 +4701,7 @@ var _default = () => {
|
|
4681
4701
|
* - [Performance: Define the number of pre-rendered rows and columns](@/guides/optimization/performance/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
|
4682
4702
|
*
|
4683
4703
|
* @memberof Options#
|
4684
|
-
* @type {number|
|
4704
|
+
* @type {number|'auto'}
|
4685
4705
|
* @default 'auto'
|
4686
4706
|
* @category Core
|
4687
4707
|
*
|
@@ -4711,7 +4731,7 @@ var _default = () => {
|
|
4711
4731
|
* - [Column virtualization](@/guides/columns/column-virtualization/column-virtualization.md)
|
4712
4732
|
*
|
4713
4733
|
* @memberof Options#
|
4714
|
-
* @type {number|
|
4734
|
+
* @type {number|'auto'}
|
4715
4735
|
* @default 'auto'
|
4716
4736
|
* @category Core
|
4717
4737
|
*
|
@@ -4722,6 +4742,72 @@ var _default = () => {
|
|
4722
4742
|
* ```
|
4723
4743
|
*/
|
4724
4744
|
viewportRowRenderingOffset: 'auto',
|
4745
|
+
/**
|
4746
|
+
* @description
|
4747
|
+
* The `viewportColumnRenderingThreshold` option configures what column number starting from the left or right
|
4748
|
+
* (depends on the scroll direction) should trigger the rendering of columns outside of the grid's viewport.
|
4749
|
+
*
|
4750
|
+
* You can set the `viewportColumnRenderingThreshold` option to one of the following:
|
4751
|
+
*
|
4752
|
+
* | Setting | Description |
|
4753
|
+
* | ------------------ | ------------------------------------------------------- |
|
4754
|
+
* | `auto` | Triggers rendering at half the offset defined by [`viewportColumnRenderingOffset`](#viewportColumnRenderingOffset) option |
|
4755
|
+
* | A number | Sets the offset manually (`0` is a default) |
|
4756
|
+
*
|
4757
|
+
* The `viewportColumnRenderingThreshold` setting is ignored when [`renderAllColumn`](#renderAllColumn) is set to `true`.
|
4758
|
+
*
|
4759
|
+
* Read more:
|
4760
|
+
* - [Performance: Define the number of pre-rendered rows and columns](@/guides/optimization/performance/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
|
4761
|
+
* - [Column virtualization](@/guides/columns/column-virtualization/column-virtualization.md)
|
4762
|
+
*
|
4763
|
+
* @memberof Options#
|
4764
|
+
* @since 1.14.7
|
4765
|
+
* @type {number|'auto'}
|
4766
|
+
* @default 0
|
4767
|
+
* @category Core
|
4768
|
+
*
|
4769
|
+
* @example
|
4770
|
+
* ```js
|
4771
|
+
* // render 12 columns outside of the grid's viewport
|
4772
|
+
* viewportColumnRenderingOffset: 12,
|
4773
|
+
* // the columns outside of the viewport will be rendered when the user scrolls to the 8th column from/to
|
4774
|
+
* viewportColumnRenderingThreshold: 8,
|
4775
|
+
* ```
|
4776
|
+
*/
|
4777
|
+
viewportColumnRenderingThreshold: 0,
|
4778
|
+
/**
|
4779
|
+
* @description
|
4780
|
+
* The `viewportRowRenderingThreshold` option configures what row number starting from the top or bottom
|
4781
|
+
* (depends on the scroll direction) should trigger the rendering of rows outside of the grid's viewport.
|
4782
|
+
*
|
4783
|
+
* You can set the `viewportRowRenderingThreshold` option to one of the following:
|
4784
|
+
*
|
4785
|
+
* | Setting | Description |
|
4786
|
+
* | ------------------ | ------------------------------------------------------- |
|
4787
|
+
* | `auto` | Triggers rendering at half the offset defined by [`viewportRowRenderingOffset`](#viewportRowRenderingOffset) option |
|
4788
|
+
* | A number | Sets the offset manually (`0` is a default) |
|
4789
|
+
*
|
4790
|
+
* The `viewportRowRenderingThreshold` setting is ignored when [`renderAllRows`](#renderAllRows) is set to `true`.
|
4791
|
+
*
|
4792
|
+
* Read more:
|
4793
|
+
* - [Performance: Define the number of pre-rendered rows and columns](@/guides/optimization/performance/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
|
4794
|
+
* - [Row virtualization](@/guides/rows/row-virtualization/row-virtualization.md)
|
4795
|
+
*
|
4796
|
+
* @memberof Options#
|
4797
|
+
* @since 1.14.7
|
4798
|
+
* @type {number|'auto'}
|
4799
|
+
* @default 0
|
4800
|
+
* @category Core
|
4801
|
+
*
|
4802
|
+
* @example
|
4803
|
+
* ```js
|
4804
|
+
* // render 12 rows outside of the grid's viewport
|
4805
|
+
* viewportRowRenderingOffset: 12,
|
4806
|
+
* // the rows outside of the viewport will be rendered when the user scrolls to the 8th row from/to
|
4807
|
+
* viewportRowRenderingThreshold: 8,
|
4808
|
+
* ```
|
4809
|
+
*/
|
4810
|
+
viewportRowRenderingThreshold: 0,
|
4725
4811
|
/**
|
4726
4812
|
* The `visibleRows` option sets the height of the [`autocomplete`](@/guides/cell-types/autocomplete-cell-type/autocomplete-cell-type.md)
|
4727
4813
|
* and [`dropdown`](@/guides/cell-types/dropdown-cell-type/dropdown-cell-type.md) lists.
|
@@ -3839,8 +3839,8 @@ export default () => {
|
|
3839
3839
|
/**
|
3840
3840
|
* The `rowHeights` option sets rows' heights, in pixels.
|
3841
3841
|
*
|
3842
|
-
* In the rendering process, the default row height is 23 px (22 px + 1 px of the row's bottom border).
|
3843
|
-
* You can change it to equal or greater than
|
3842
|
+
* In the rendering process, the default row height is 23 px (in the classic theme: 22 px + 1 px of the row's bottom border) or whatever is defined in the used theme (based on the line height, vertical padding and cell borders).
|
3843
|
+
* You can change it to equal or greater than the defautl value, by setting the `rowHeights` option to one of the following:
|
3844
3844
|
*
|
3845
3845
|
* | Setting | Description | Example |
|
3846
3846
|
* | ----------- | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
|
@@ -3872,7 +3872,7 @@ export default () => {
|
|
3872
3872
|
* // set the first (by visual index) row's height to 100
|
3873
3873
|
* // set the second (by visual index) row's height to 120
|
3874
3874
|
* // set the third (by visual index) row's height to `undefined`
|
3875
|
-
* // set any other row's height to the default
|
3875
|
+
* // set any other row's height to the default height value
|
3876
3876
|
* rowHeights: [100, 120, undefined],
|
3877
3877
|
*
|
3878
3878
|
* // set each row's height individually, using a function
|
@@ -4310,6 +4310,26 @@ export default () => {
|
|
4310
4310
|
* ```
|
4311
4311
|
*/
|
4312
4312
|
tableClassName: undefined,
|
4313
|
+
/**
|
4314
|
+
* The `themeName` option allows enabling a theme by that name.
|
4315
|
+
*
|
4316
|
+
* If no `themeName` is provided, the table will use the classic theme (if the correct CSS files are imported).
|
4317
|
+
*
|
4318
|
+
* Read more:
|
4319
|
+
* - [Themes](@/guides/styling/themes/themes.md)
|
4320
|
+
*
|
4321
|
+
* @memberof Options#
|
4322
|
+
* @type {string|boolean|undefined}
|
4323
|
+
* @default undefined
|
4324
|
+
* @category Core
|
4325
|
+
* @since 15.0.0
|
4326
|
+
*
|
4327
|
+
* @example
|
4328
|
+
* ```js
|
4329
|
+
* themeName: 'ht-theme-name',
|
4330
|
+
* ```
|
4331
|
+
*/
|
4332
|
+
themeName: undefined,
|
4313
4333
|
/**
|
4314
4334
|
* The `tabMoves` option configures the action of the <kbd>**Tab**</kbd> key.
|
4315
4335
|
*
|
@@ -4678,7 +4698,7 @@ export default () => {
|
|
4678
4698
|
* - [Performance: Define the number of pre-rendered rows and columns](@/guides/optimization/performance/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
|
4679
4699
|
*
|
4680
4700
|
* @memberof Options#
|
4681
|
-
* @type {number|
|
4701
|
+
* @type {number|'auto'}
|
4682
4702
|
* @default 'auto'
|
4683
4703
|
* @category Core
|
4684
4704
|
*
|
@@ -4708,7 +4728,7 @@ export default () => {
|
|
4708
4728
|
* - [Column virtualization](@/guides/columns/column-virtualization/column-virtualization.md)
|
4709
4729
|
*
|
4710
4730
|
* @memberof Options#
|
4711
|
-
* @type {number|
|
4731
|
+
* @type {number|'auto'}
|
4712
4732
|
* @default 'auto'
|
4713
4733
|
* @category Core
|
4714
4734
|
*
|
@@ -4719,6 +4739,72 @@ export default () => {
|
|
4719
4739
|
* ```
|
4720
4740
|
*/
|
4721
4741
|
viewportRowRenderingOffset: 'auto',
|
4742
|
+
/**
|
4743
|
+
* @description
|
4744
|
+
* The `viewportColumnRenderingThreshold` option configures what column number starting from the left or right
|
4745
|
+
* (depends on the scroll direction) should trigger the rendering of columns outside of the grid's viewport.
|
4746
|
+
*
|
4747
|
+
* You can set the `viewportColumnRenderingThreshold` option to one of the following:
|
4748
|
+
*
|
4749
|
+
* | Setting | Description |
|
4750
|
+
* | ------------------ | ------------------------------------------------------- |
|
4751
|
+
* | `auto` | Triggers rendering at half the offset defined by [`viewportColumnRenderingOffset`](#viewportColumnRenderingOffset) option |
|
4752
|
+
* | A number | Sets the offset manually (`0` is a default) |
|
4753
|
+
*
|
4754
|
+
* The `viewportColumnRenderingThreshold` setting is ignored when [`renderAllColumn`](#renderAllColumn) is set to `true`.
|
4755
|
+
*
|
4756
|
+
* Read more:
|
4757
|
+
* - [Performance: Define the number of pre-rendered rows and columns](@/guides/optimization/performance/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
|
4758
|
+
* - [Column virtualization](@/guides/columns/column-virtualization/column-virtualization.md)
|
4759
|
+
*
|
4760
|
+
* @memberof Options#
|
4761
|
+
* @since 1.14.7
|
4762
|
+
* @type {number|'auto'}
|
4763
|
+
* @default 0
|
4764
|
+
* @category Core
|
4765
|
+
*
|
4766
|
+
* @example
|
4767
|
+
* ```js
|
4768
|
+
* // render 12 columns outside of the grid's viewport
|
4769
|
+
* viewportColumnRenderingOffset: 12,
|
4770
|
+
* // the columns outside of the viewport will be rendered when the user scrolls to the 8th column from/to
|
4771
|
+
* viewportColumnRenderingThreshold: 8,
|
4772
|
+
* ```
|
4773
|
+
*/
|
4774
|
+
viewportColumnRenderingThreshold: 0,
|
4775
|
+
/**
|
4776
|
+
* @description
|
4777
|
+
* The `viewportRowRenderingThreshold` option configures what row number starting from the top or bottom
|
4778
|
+
* (depends on the scroll direction) should trigger the rendering of rows outside of the grid's viewport.
|
4779
|
+
*
|
4780
|
+
* You can set the `viewportRowRenderingThreshold` option to one of the following:
|
4781
|
+
*
|
4782
|
+
* | Setting | Description |
|
4783
|
+
* | ------------------ | ------------------------------------------------------- |
|
4784
|
+
* | `auto` | Triggers rendering at half the offset defined by [`viewportRowRenderingOffset`](#viewportRowRenderingOffset) option |
|
4785
|
+
* | A number | Sets the offset manually (`0` is a default) |
|
4786
|
+
*
|
4787
|
+
* The `viewportRowRenderingThreshold` setting is ignored when [`renderAllRows`](#renderAllRows) is set to `true`.
|
4788
|
+
*
|
4789
|
+
* Read more:
|
4790
|
+
* - [Performance: Define the number of pre-rendered rows and columns](@/guides/optimization/performance/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
|
4791
|
+
* - [Row virtualization](@/guides/rows/row-virtualization/row-virtualization.md)
|
4792
|
+
*
|
4793
|
+
* @memberof Options#
|
4794
|
+
* @since 1.14.7
|
4795
|
+
* @type {number|'auto'}
|
4796
|
+
* @default 0
|
4797
|
+
* @category Core
|
4798
|
+
*
|
4799
|
+
* @example
|
4800
|
+
* ```js
|
4801
|
+
* // render 12 rows outside of the grid's viewport
|
4802
|
+
* viewportRowRenderingOffset: 12,
|
4803
|
+
* // the rows outside of the viewport will be rendered when the user scrolls to the 8th row from/to
|
4804
|
+
* viewportRowRenderingThreshold: 8,
|
4805
|
+
* ```
|
4806
|
+
*/
|
4807
|
+
viewportRowRenderingThreshold: 0,
|
4722
4808
|
/**
|
4723
4809
|
* The `visibleRows` option sets the height of the [`autocomplete`](@/guides/cell-types/autocomplete-cell-type/autocomplete-cell-type.md)
|
4724
4810
|
* and [`dropdown`](@/guides/cell-types/dropdown-cell-type/dropdown-cell-type.md) lists.
|
@@ -9,10 +9,9 @@ require("core-js/modules/es.set.is-subset-of.v2.js");
|
|
9
9
|
require("core-js/modules/es.set.is-superset-of.v2.js");
|
10
10
|
require("core-js/modules/es.set.symmetric-difference.v2.js");
|
11
11
|
require("core-js/modules/es.set.union.v2.js");
|
12
|
-
var
|
12
|
+
var _hooks = require("../../../core/hooks");
|
13
13
|
var _object = require("../../../helpers/object");
|
14
14
|
var _function = require("../../../helpers/function");
|
15
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
16
15
|
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; }
|
17
16
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
18
17
|
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); }
|
@@ -43,7 +42,7 @@ class DynamicCellMetaMod {
|
|
43
42
|
_defineProperty(this, "metaSyncMemo", new Map());
|
44
43
|
this.metaManager = metaManager;
|
45
44
|
metaManager.addLocalHook('afterGetCellMeta', cellMeta => this.extendCellMeta(cellMeta));
|
46
|
-
|
45
|
+
_hooks.Hooks.getSingleton().add('beforeRender', forceFullRender => {
|
47
46
|
if (forceFullRender) {
|
48
47
|
this.metaSyncMemo.clear();
|
49
48
|
}
|
@@ -9,7 +9,7 @@ import "core-js/modules/es.set.union.v2.js";
|
|
9
9
|
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; }
|
10
10
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
11
11
|
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); }
|
12
|
-
import Hooks from "../../../
|
12
|
+
import { Hooks } from "../../../core/hooks/index.mjs";
|
13
13
|
import { hasOwnProperty } from "../../../helpers/object.mjs";
|
14
14
|
import { isFunction } from "../../../helpers/function.mjs";
|
15
15
|
/**
|
@@ -10,6 +10,8 @@ require("core-js/modules/es.set.is-subset-of.v2.js");
|
|
10
10
|
require("core-js/modules/es.set.is-superset-of.v2.js");
|
11
11
|
require("core-js/modules/es.set.symmetric-difference.v2.js");
|
12
12
|
require("core-js/modules/es.set.union.v2.js");
|
13
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
14
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
13
15
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
14
16
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
15
17
|
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; }
|
@@ -7,6 +7,8 @@ import "core-js/modules/es.set.is-subset-of.v2.js";
|
|
7
7
|
import "core-js/modules/es.set.is-superset-of.v2.js";
|
8
8
|
import "core-js/modules/es.set.symmetric-difference.v2.js";
|
9
9
|
import "core-js/modules/es.set.union.v2.js";
|
10
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
11
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
10
12
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
11
13
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
12
14
|
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; }
|