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