handsontable 16.0.1-next-eee5f08-20250710 → 16.1.0-next-abd8f2e-20250904
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/overlays.js +12 -2
- package/3rdparty/walkontable/src/overlays.mjs +12 -2
- package/3rdparty/walkontable/src/viewport.js +2 -6
- package/3rdparty/walkontable/src/viewport.mjs +2 -6
- package/CHANGELOG.md +32 -0
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/cellTypes/autocompleteType/accessors/index.js +7 -0
- package/cellTypes/autocompleteType/accessors/index.mjs +2 -0
- package/cellTypes/autocompleteType/accessors/valueGetter.js +14 -0
- package/cellTypes/autocompleteType/accessors/valueGetter.mjs +10 -0
- package/cellTypes/autocompleteType/accessors/valueSetter.js +25 -0
- package/cellTypes/autocompleteType/accessors/valueSetter.mjs +21 -0
- package/cellTypes/autocompleteType/autocompleteType.js +4 -1
- package/cellTypes/autocompleteType/autocompleteType.mjs +4 -1
- package/cellTypes/checkboxType/accessors/index.js +5 -0
- package/cellTypes/checkboxType/accessors/index.mjs +1 -0
- package/cellTypes/checkboxType/accessors/valueSetter.js +26 -0
- package/cellTypes/checkboxType/accessors/valueSetter.mjs +22 -0
- package/cellTypes/checkboxType/checkboxType.js +3 -1
- package/cellTypes/checkboxType/checkboxType.mjs +3 -1
- package/cellTypes/dropdownType/accessors/index.js +7 -0
- package/cellTypes/dropdownType/accessors/index.mjs +2 -0
- package/cellTypes/dropdownType/accessors/valueGetter.js +14 -0
- package/cellTypes/dropdownType/accessors/valueGetter.mjs +10 -0
- package/cellTypes/dropdownType/accessors/valueSetter.js +17 -0
- package/cellTypes/dropdownType/accessors/valueSetter.mjs +13 -0
- package/cellTypes/dropdownType/dropdownType.js +4 -1
- package/cellTypes/dropdownType/dropdownType.mjs +4 -1
- package/cellTypes/numericType/accessors/index.js +5 -0
- package/cellTypes/numericType/accessors/index.mjs +1 -0
- package/cellTypes/numericType/accessors/valueSetter.js +19 -0
- package/cellTypes/numericType/accessors/valueSetter.mjs +15 -0
- package/cellTypes/numericType/numericType.js +3 -1
- package/cellTypes/numericType/numericType.mjs +3 -1
- package/core/focusCatcher/index.js +37 -112
- package/core/focusCatcher/index.mjs +35 -110
- package/core/focusCatcher/utils.js +31 -0
- package/core/focusCatcher/utils.mjs +27 -0
- package/core/hooks/constants.js +242 -0
- package/core/hooks/constants.mjs +242 -0
- package/core/hooks/index.d.ts +22 -0
- package/core/viewportScroll/scrollStrategies/focusScroll.js +5 -1
- package/core/viewportScroll/scrollStrategies/focusScroll.mjs +5 -1
- package/core/viewportScroll/utils.js +1 -1
- package/core/viewportScroll/utils.mjs +1 -1
- package/core.d.ts +4 -0
- package/core.js +237 -139
- package/core.mjs +240 -142
- package/dataMap/dataMap.js +13 -3
- package/dataMap/dataMap.mjs +14 -4
- package/dataMap/dataSource.js +16 -0
- package/dataMap/dataSource.mjs +16 -0
- package/dataMap/metaManager/lazyFactoryMap.js +4 -3
- package/dataMap/metaManager/lazyFactoryMap.mjs +2 -1
- package/dataMap/metaManager/metaLayers/cellMeta.js +3 -2
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +3 -2
- package/dataMap/metaManager/metaSchema.js +289 -4
- package/dataMap/metaManager/metaSchema.mjs +289 -4
- package/dataMap/metaManager/utils.js +0 -11
- package/dataMap/metaManager/utils.mjs +0 -10
- package/dataMap/replaceData.js +1 -0
- package/dataMap/replaceData.mjs +1 -0
- package/dist/handsontable.css +281 -4
- package/dist/handsontable.full.css +281 -4
- package/dist/handsontable.full.js +7844 -2990
- package/dist/handsontable.full.min.css +4 -5
- package/dist/handsontable.full.min.js +167 -165
- package/dist/handsontable.js +9639 -4806
- package/dist/handsontable.min.css +4 -4
- package/dist/handsontable.min.js +52 -50
- package/dist/languages/all.js +231 -21
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.js +11 -1
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.js +11 -1
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.js +11 -1
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.js +11 -1
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.js +11 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +11 -1
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fa-IR.js +11 -1
- package/dist/languages/fa-IR.min.js +1 -1
- package/dist/languages/fr-FR.js +11 -1
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/hr-HR.js +11 -1
- package/dist/languages/hr-HR.min.js +1 -1
- package/dist/languages/it-IT.js +11 -1
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.js +11 -1
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.js +11 -1
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.js +11 -1
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.js +11 -1
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.js +11 -1
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.js +11 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +11 -1
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.js +11 -1
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.js +11 -1
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.js +11 -1
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.js +11 -1
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +4 -4
- package/editorManager.mjs +4 -4
- package/editors/autocompleteEditor/autocompleteEditor.js +50 -112
- package/editors/autocompleteEditor/autocompleteEditor.mjs +51 -113
- package/editors/baseEditor/baseEditor.js +10 -6
- package/editors/baseEditor/baseEditor.mjs +10 -6
- package/editors/handsontableEditor/handsontableEditor.js +9 -9
- package/editors/handsontableEditor/handsontableEditor.mjs +9 -9
- package/editors/textEditor/textEditor.js +0 -7
- package/editors/textEditor/textEditor.mjs +0 -7
- package/focusManager.js +2 -2
- package/focusManager.mjs +2 -2
- package/helpers/a11y.js +15 -2
- package/helpers/a11y.mjs +10 -2
- package/helpers/console.js +12 -0
- package/helpers/console.mjs +11 -0
- package/helpers/dom/element.js +4 -4
- package/helpers/dom/element.mjs +4 -4
- package/helpers/mixed.js +65 -2
- package/helpers/mixed.mjs +63 -2
- package/helpers/number.js +28 -0
- package/helpers/number.mjs +26 -0
- package/helpers/object.js +35 -0
- package/helpers/object.mjs +34 -0
- package/helpers/string.js +19 -0
- package/helpers/string.mjs +18 -0
- package/helpers/templateLiteralTag.js +57 -1
- package/helpers/templateLiteralTag.mjs +56 -1
- package/i18n/constants.js +13 -1
- package/i18n/constants.mjs +13 -1
- package/i18n/languages/ar-AR.js +11 -1
- package/i18n/languages/ar-AR.mjs +11 -1
- package/i18n/languages/cs-CZ.js +11 -1
- package/i18n/languages/cs-CZ.mjs +11 -1
- package/i18n/languages/de-CH.js +11 -1
- package/i18n/languages/de-CH.mjs +11 -1
- package/i18n/languages/de-DE.js +11 -1
- package/i18n/languages/de-DE.mjs +11 -1
- package/i18n/languages/en-US.js +11 -1
- package/i18n/languages/en-US.mjs +11 -1
- package/i18n/languages/es-MX.js +11 -1
- package/i18n/languages/es-MX.mjs +11 -1
- package/i18n/languages/fa-IR.js +11 -1
- package/i18n/languages/fa-IR.mjs +11 -1
- package/i18n/languages/fr-FR.js +11 -1
- package/i18n/languages/fr-FR.mjs +11 -1
- package/i18n/languages/hr-HR.js +11 -1
- package/i18n/languages/hr-HR.mjs +11 -1
- package/i18n/languages/it-IT.js +11 -1
- package/i18n/languages/it-IT.mjs +11 -1
- package/i18n/languages/ja-JP.js +11 -1
- package/i18n/languages/ja-JP.mjs +11 -1
- package/i18n/languages/ko-KR.js +11 -1
- package/i18n/languages/ko-KR.mjs +11 -1
- package/i18n/languages/lv-LV.js +11 -1
- package/i18n/languages/lv-LV.mjs +11 -1
- package/i18n/languages/nb-NO.js +11 -1
- package/i18n/languages/nb-NO.mjs +11 -1
- package/i18n/languages/nl-NL.js +11 -1
- package/i18n/languages/nl-NL.mjs +11 -1
- package/i18n/languages/pl-PL.js +11 -1
- package/i18n/languages/pl-PL.mjs +11 -1
- package/i18n/languages/pt-BR.js +11 -1
- package/i18n/languages/pt-BR.mjs +11 -1
- package/i18n/languages/ru-RU.js +11 -1
- package/i18n/languages/ru-RU.mjs +11 -1
- package/i18n/languages/sr-SP.js +11 -1
- package/i18n/languages/sr-SP.mjs +11 -1
- package/i18n/languages/zh-CN.js +11 -1
- package/i18n/languages/zh-CN.mjs +11 -1
- package/i18n/languages/zh-TW.js +11 -1
- package/i18n/languages/zh-TW.mjs +11 -1
- package/i18n/phraseFormatters/index.js +3 -1
- package/i18n/phraseFormatters/index.mjs +3 -1
- package/i18n/registry.js +5 -6
- package/i18n/registry.mjs +5 -6
- package/index.d.ts +27 -0
- package/languages/all.js +231 -21
- package/languages/ar-AR.js +11 -1
- package/languages/ar-AR.mjs +11 -1
- package/languages/cs-CZ.js +11 -1
- package/languages/cs-CZ.mjs +11 -1
- package/languages/de-CH.js +11 -1
- package/languages/de-CH.mjs +11 -1
- package/languages/de-DE.js +11 -1
- package/languages/de-DE.mjs +11 -1
- package/languages/en-US.js +11 -1
- package/languages/en-US.mjs +11 -1
- package/languages/es-MX.js +11 -1
- package/languages/es-MX.mjs +11 -1
- package/languages/fa-IR.js +11 -1
- package/languages/fa-IR.mjs +11 -1
- package/languages/fr-FR.js +11 -1
- package/languages/fr-FR.mjs +11 -1
- package/languages/hr-HR.js +11 -1
- package/languages/hr-HR.mjs +11 -1
- package/languages/index.js +231 -21
- package/languages/it-IT.js +11 -1
- package/languages/it-IT.mjs +11 -1
- package/languages/ja-JP.js +11 -1
- package/languages/ja-JP.mjs +11 -1
- package/languages/ko-KR.js +11 -1
- package/languages/ko-KR.mjs +11 -1
- package/languages/lv-LV.js +11 -1
- package/languages/lv-LV.mjs +11 -1
- package/languages/nb-NO.js +11 -1
- package/languages/nb-NO.mjs +11 -1
- package/languages/nl-NL.js +11 -1
- package/languages/nl-NL.mjs +11 -1
- package/languages/pl-PL.js +11 -1
- package/languages/pl-PL.mjs +11 -1
- package/languages/pt-BR.js +11 -1
- package/languages/pt-BR.mjs +11 -1
- package/languages/ru-RU.js +11 -1
- package/languages/ru-RU.mjs +11 -1
- package/languages/sr-SP.js +11 -1
- package/languages/sr-SP.mjs +11 -1
- package/languages/zh-CN.js +11 -1
- package/languages/zh-CN.mjs +11 -1
- package/languages/zh-TW.js +11 -1
- package/languages/zh-TW.mjs +11 -1
- package/mixins/localHooks.js +16 -0
- package/mixins/localHooks.mjs +16 -0
- package/package.json +19 -1
- package/plugins/autoRowSize/autoRowSize.js +43 -6
- package/plugins/autoRowSize/autoRowSize.mjs +43 -6
- package/plugins/autofill/autofill.js +50 -3
- package/plugins/autofill/autofill.mjs +50 -3
- package/plugins/base/base.js +86 -15
- package/plugins/base/base.mjs +87 -16
- package/plugins/collapsibleColumns/collapsibleColumns.js +4 -4
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +4 -4
- package/plugins/columnSorting/columnSorting.js +3 -3
- package/plugins/columnSorting/columnSorting.mjs +3 -3
- package/plugins/comments/comments.js +52 -22
- package/plugins/comments/comments.mjs +52 -22
- package/plugins/comments/contextMenuItem/addEditComment.js +3 -3
- package/plugins/comments/contextMenuItem/addEditComment.mjs +3 -3
- package/plugins/comments/contextMenuItem/readOnlyComment.js +2 -2
- package/plugins/comments/contextMenuItem/readOnlyComment.mjs +2 -2
- package/plugins/comments/contextMenuItem/removeComment.js +2 -2
- package/plugins/comments/contextMenuItem/removeComment.mjs +2 -2
- package/plugins/contextMenu/contextMenu.js +4 -5
- package/plugins/contextMenu/contextMenu.mjs +4 -5
- package/plugins/contextMenu/menu/cursor.js +1 -1
- package/plugins/contextMenu/menu/cursor.mjs +1 -1
- package/plugins/contextMenu/menu/defaultShortcutsList.js +5 -5
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +5 -5
- package/plugins/contextMenu/menu/menu.js +3 -3
- package/plugins/contextMenu/menu/menu.mjs +3 -3
- package/plugins/contextMenu/menu/positioner.js +1 -1
- package/plugins/contextMenu/menu/positioner.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
- package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -3
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -3
- package/plugins/contextMenu/predefinedItems/columnRight.js +3 -3
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +3 -3
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -3
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -3
- package/plugins/contextMenu/predefinedItems/rowBelow.js +3 -3
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +3 -3
- package/plugins/copyPaste/contextMenuItem/copy.js +1 -1
- package/plugins/copyPaste/contextMenuItem/copy.mjs +1 -1
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +3 -3
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +3 -3
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +3 -3
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +3 -3
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +3 -3
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +3 -3
- package/plugins/copyPaste/contextMenuItem/cut.js +1 -1
- package/plugins/copyPaste/contextMenuItem/cut.mjs +1 -1
- package/plugins/copyPaste/copyPaste.js +75 -40
- package/plugins/copyPaste/copyPaste.mjs +76 -41
- package/plugins/customBorders/customBorders.js +1 -1
- package/plugins/customBorders/customBorders.mjs +1 -1
- package/plugins/dialog/dialog.d.ts +23 -0
- package/plugins/dialog/dialog.js +489 -0
- package/plugins/dialog/dialog.mjs +485 -0
- package/plugins/dialog/index.d.ts +1 -0
- package/plugins/dialog/index.js +7 -0
- package/plugins/dialog/index.mjs +1 -0
- package/plugins/dialog/ui.js +264 -0
- package/plugins/dialog/ui.mjs +259 -0
- package/plugins/dropdownMenu/dropdownMenu.js +5 -4
- package/plugins/dropdownMenu/dropdownMenu.mjs +5 -4
- package/plugins/filters/filters.js +2 -2
- package/plugins/filters/filters.mjs +2 -2
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +3 -3
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +3 -3
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +4 -4
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +4 -4
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +3 -3
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +3 -3
- package/plugins/hiddenRows/contextMenuItem/showRow.js +4 -4
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +4 -4
- package/plugins/index.d.ts +9 -0
- package/plugins/index.js +9 -0
- package/plugins/index.mjs +7 -1
- package/plugins/loading/content.js +36 -0
- package/plugins/loading/content.mjs +31 -0
- package/plugins/loading/index.d.ts +1 -0
- package/plugins/loading/index.js +7 -0
- package/plugins/loading/index.mjs +1 -0
- package/plugins/loading/loading.d.ts +19 -0
- package/plugins/loading/loading.js +292 -0
- package/plugins/loading/loading.mjs +287 -0
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
- package/plugins/manualColumnMove/manualColumnMove.js +3 -3
- package/plugins/manualColumnMove/manualColumnMove.mjs +3 -3
- package/plugins/manualColumnResize/manualColumnResize.js +3 -3
- package/plugins/manualColumnResize/manualColumnResize.mjs +3 -3
- package/plugins/manualRowMove/manualRowMove.js +4 -4
- package/plugins/manualRowMove/manualRowMove.mjs +4 -4
- package/plugins/manualRowResize/manualRowResize.js +5 -2
- package/plugins/manualRowResize/manualRowResize.mjs +5 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +15 -15
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +15 -15
- package/plugins/mergeCells/focusOrder.js +75 -39
- package/plugins/mergeCells/focusOrder.mjs +75 -39
- package/plugins/mergeCells/mergeCells.js +26 -19
- package/plugins/mergeCells/mergeCells.mjs +26 -19
- package/plugins/mergeCells/renderer.js +14 -8
- package/plugins/mergeCells/renderer.mjs +14 -8
- package/plugins/multiColumnSorting/multiColumnSorting.js +3 -3
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +3 -3
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +3 -3
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +3 -3
- package/plugins/nestedHeaders/nestedHeaders.js +47 -41
- package/plugins/nestedHeaders/nestedHeaders.mjs +47 -41
- package/plugins/nestedRows/nestedRows.js +3 -3
- package/plugins/nestedRows/nestedRows.mjs +3 -3
- package/plugins/nestedRows/ui/collapsing.js +1 -2
- package/plugins/nestedRows/ui/collapsing.mjs +1 -2
- package/plugins/nestedRows/ui/contextMenu.js +4 -4
- package/plugins/nestedRows/ui/contextMenu.mjs +4 -4
- package/plugins/nestedRows/ui/headers.js +4 -1
- package/plugins/nestedRows/ui/headers.mjs +4 -1
- package/plugins/pagination/focusController.js +27 -0
- package/plugins/pagination/focusController.mjs +23 -0
- package/plugins/pagination/index.d.ts +1 -0
- package/plugins/pagination/index.js +7 -0
- package/plugins/pagination/index.mjs +1 -0
- package/plugins/pagination/pagination.d.ts +52 -0
- package/plugins/pagination/pagination.js +1034 -0
- package/plugins/pagination/pagination.mjs +1030 -0
- package/plugins/pagination/strategies/autoPageSize.js +96 -0
- package/plugins/pagination/strategies/autoPageSize.mjs +92 -0
- package/plugins/pagination/strategies/fixedPageSize.js +88 -0
- package/plugins/pagination/strategies/fixedPageSize.mjs +84 -0
- package/plugins/pagination/strategies/index.js +22 -0
- package/plugins/pagination/strategies/index.mjs +18 -0
- package/plugins/pagination/ui.js +449 -0
- package/plugins/pagination/ui.mjs +443 -0
- package/plugins/pagination/utils.js +28 -0
- package/plugins/pagination/utils.mjs +24 -0
- package/plugins/stretchColumns/calculator.js +4 -0
- package/plugins/stretchColumns/calculator.mjs +4 -0
- package/plugins/stretchColumns/stretchColumns.js +1 -1
- package/plugins/stretchColumns/stretchColumns.mjs +1 -1
- package/plugins/undoRedo/actions/dataChange.js +17 -15
- package/plugins/undoRedo/actions/dataChange.mjs +17 -15
- package/renderers/checkboxRenderer/checkboxRenderer.js +3 -3
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +3 -3
- package/selection/range.js +11 -0
- package/selection/range.mjs +11 -0
- package/selection/selection.js +163 -124
- package/selection/selection.mjs +163 -124
- package/selection/transformation/_base.js +448 -0
- package/selection/transformation/_base.mjs +443 -0
- package/selection/transformation/extender.js +55 -0
- package/selection/transformation/extender.mjs +51 -0
- package/selection/transformation/focus.js +77 -0
- package/selection/transformation/focus.mjs +73 -0
- package/selection/transformation/index.js +7 -0
- package/selection/transformation/index.mjs +2 -0
- package/selection/utils.js +2 -1
- package/selection/utils.mjs +2 -1
- package/settings.d.ts +10 -1
- package/shortcutContexts/commands/editor/fastOpen.js +1 -1
- package/shortcutContexts/commands/editor/fastOpen.mjs +1 -1
- package/shortcutContexts/commands/editor/open.js +10 -4
- package/shortcutContexts/commands/editor/open.mjs +10 -4
- package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +2 -2
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +2 -2
- package/shortcutContexts/commands/extendCellsSelection/left.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +2 -2
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +2 -2
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +2 -2
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +2 -2
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +5 -2
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +5 -2
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +5 -2
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +5 -2
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +2 -2
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +2 -2
- package/shortcutContexts/commands/scrollToFocusedCell.js +1 -1
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +1 -1
- package/shortcutContexts/grid.js +3 -3
- package/shortcutContexts/grid.mjs +3 -3
- package/shortcuts/context.js +4 -1
- package/shortcuts/context.mjs +4 -1
- package/shortcuts/manager.js +17 -3
- package/shortcuts/manager.mjs +17 -3
- package/styles/handsontable.css +288 -22
- package/styles/handsontable.min.css +3 -3
- package/styles/ht-theme-classic.css +828 -0
- package/styles/ht-theme-classic.min.css +30 -0
- package/styles/ht-theme-horizon.css +122 -26
- package/styles/ht-theme-horizon.min.css +3 -3
- package/styles/ht-theme-main.css +124 -28
- package/styles/ht-theme-main.min.css +3 -3
- package/tableView.js +61 -25
- package/tableView.mjs +61 -25
- package/utils/a11yAnnouncer.js +70 -0
- package/utils/a11yAnnouncer.mjs +64 -0
- package/{core/focusCatcher → utils}/focusDetector.js +30 -12
- package/{core/focusCatcher → utils}/focusDetector.mjs +30 -12
- package/utils/samplesGenerator.js +17 -1
- package/utils/samplesGenerator.mjs +17 -1
- package/utils/stylesHandler.js +23 -8
- package/utils/stylesHandler.mjs +23 -8
- package/utils/valueAccessors.js +45 -0
- package/utils/valueAccessors.mjs +40 -0
- package/validators/autocompleteValidator/autocompleteValidator.js +2 -1
- package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -1
- package/selection/transformation.js +0 -335
- package/selection/transformation.mjs +0 -331
@@ -1794,6 +1794,117 @@ export default () => {
|
|
1794
1794
|
* ```
|
1795
1795
|
*/
|
1796
1796
|
disableVisualSelection: false,
|
1797
|
+
/**
|
1798
|
+
* @description
|
1799
|
+
* The `dialog` option configures the [`Dialog`](@/api/dialog.md) plugin.
|
1800
|
+
*
|
1801
|
+
* You can set the `dialog` option to one of the following:
|
1802
|
+
*
|
1803
|
+
* | Setting | Description |
|
1804
|
+
* | --------- | --------------------------------------------------------------------------- |
|
1805
|
+
* | `false` | Disable the [`Dialog`](@/api/dialog.md) plugin |
|
1806
|
+
* | `true` | Enable the [`Dialog`](@/api/dialog.md) plugin with default options |
|
1807
|
+
*
|
1808
|
+
* ##### dialog: Additional options
|
1809
|
+
*
|
1810
|
+
* | Option | Possible settings | Description |
|
1811
|
+
* | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------|
|
1812
|
+
* | `content` | A string, HTMLElement or DocumentFragment (default: `''`) | The content of the dialog |
|
1813
|
+
* | `customClassName` | A string (default: `''`) | The custom class name of the dialog |
|
1814
|
+
* | `background` | One of the options: `'solid'` or `'semi-transparent'` (default: `'solid'`) | The background of the dialog |
|
1815
|
+
* | `contentBackground` | Boolean (default: `false`) | Whether to show the content background |
|
1816
|
+
* | `animation` | Boolean (default: `true`) | Whether to show the animation |
|
1817
|
+
* | `closable` | Boolean (default: `false`) | Whether to make the dialog closable |
|
1818
|
+
* | `a11y` | Object with accessibility options (default: `{ role: 'dialog', ariaLabel: 'Dialog', ariaLabelledby: '', ariaDescribedby: '' }`) | Accessibility options for the dialog |
|
1819
|
+
*
|
1820
|
+
* Read more:
|
1821
|
+
* - [Plugins: `Dialog`](@/api/dialog.md)
|
1822
|
+
*
|
1823
|
+
* @since 16.1.0
|
1824
|
+
* @memberof Options#
|
1825
|
+
* @type {boolean|object}
|
1826
|
+
* @default false
|
1827
|
+
* @category Dialog
|
1828
|
+
*
|
1829
|
+
* @example
|
1830
|
+
* ::: only-for javascript
|
1831
|
+
* ```js
|
1832
|
+
* // enable the Dialog plugin with default option
|
1833
|
+
* dialog: true,
|
1834
|
+
*
|
1835
|
+
* // enable the Dialog plugin with custom configuration
|
1836
|
+
* dialog: {
|
1837
|
+
* content: 'Dialog content',
|
1838
|
+
* customClassName: 'custom-dialog',
|
1839
|
+
* background: 'semi-transparent',
|
1840
|
+
* contentBackground: false,
|
1841
|
+
* animation: false,
|
1842
|
+
* closable: true,
|
1843
|
+
* a11y: {
|
1844
|
+
* role: 'dialog',
|
1845
|
+
* ariaLabel: 'Dialog',
|
1846
|
+
* ariaLabelledby: 'titleID',
|
1847
|
+
* ariaDescribedby: 'descriptionID',
|
1848
|
+
* }
|
1849
|
+
* }
|
1850
|
+
* ```
|
1851
|
+
* :::
|
1852
|
+
*
|
1853
|
+
* ::: only-for react
|
1854
|
+
* ```jsx
|
1855
|
+
* // enable the Dialog plugin with default option
|
1856
|
+
* <HotTable
|
1857
|
+
* dialog={true}
|
1858
|
+
* />
|
1859
|
+
*
|
1860
|
+
* // enable the Dialog plugin with custom configuration
|
1861
|
+
* <HotTable
|
1862
|
+
* dialog={{
|
1863
|
+
* content: 'Dialog content',
|
1864
|
+
* customClassName: 'custom-dialog',
|
1865
|
+
* background: 'semi-transparent',
|
1866
|
+
* contentBackground: false,
|
1867
|
+
* animation: false,
|
1868
|
+
* closable: true,
|
1869
|
+
* a11y: {
|
1870
|
+
* role: 'dialog',
|
1871
|
+
* ariaLabel: 'Dialog',
|
1872
|
+
* ariaLabelledby: 'titleID',
|
1873
|
+
* ariaDescribedby: 'descriptionID',
|
1874
|
+
* }
|
1875
|
+
* }
|
1876
|
+
* }}
|
1877
|
+
* />
|
1878
|
+
* ```
|
1879
|
+
* :::
|
1880
|
+
*
|
1881
|
+
* ::: only-for angular
|
1882
|
+
* ```ts
|
1883
|
+
* settings = {
|
1884
|
+
* dialog: {
|
1885
|
+
* content: 'Dialog content',
|
1886
|
+
* customClassName: 'custom-dialog',
|
1887
|
+
* background: 'semi-transparent',
|
1888
|
+
* contentBackground: false,
|
1889
|
+
* animation: false,
|
1890
|
+
* closable: true,
|
1891
|
+
* a11y: {
|
1892
|
+
* role: 'dialog',
|
1893
|
+
* ariaLabel: 'Dialog',
|
1894
|
+
* ariaLabelledby: 'titleID',
|
1895
|
+
* ariaDescribedby: 'descriptionID',
|
1896
|
+
* }
|
1897
|
+
* }
|
1898
|
+
* };
|
1899
|
+
* ```
|
1900
|
+
*
|
1901
|
+
* ```html
|
1902
|
+
* <hot-table [settings]="settings" />
|
1903
|
+
* ```
|
1904
|
+
* :::
|
1905
|
+
*
|
1906
|
+
*/
|
1907
|
+
dialog: false,
|
1797
1908
|
/**
|
1798
1909
|
* @description
|
1799
1910
|
* The `dragToScroll` option configures the [`DragToScroll`](@/api/dragToScroll.md) plugin.
|
@@ -2517,6 +2628,28 @@ export default () => {
|
|
2517
2628
|
* ```
|
2518
2629
|
*/
|
2519
2630
|
hiddenRows: undefined,
|
2631
|
+
/**
|
2632
|
+
* The `initialState` option configures the grid's initial state.
|
2633
|
+
* This object accepts any grid configuration option. In case of conflicts between
|
2634
|
+
* `initialState` and table settings, the table settings take precedence.
|
2635
|
+
* Note: The `initialState` option is ignored when passed to the
|
2636
|
+
* [`updateSettings()`](@/api/core.md#updatesettings) method.
|
2637
|
+
*
|
2638
|
+
* @since 16.1.0
|
2639
|
+
* @memberof Options#
|
2640
|
+
* @type {object | undefined}
|
2641
|
+
* @default undefined
|
2642
|
+
* @category Core
|
2643
|
+
*
|
2644
|
+
* @example
|
2645
|
+
* ```js
|
2646
|
+
* initialState: {
|
2647
|
+
* // configure initial column order
|
2648
|
+
* manualColumnMove: [1, 0],
|
2649
|
+
* },
|
2650
|
+
* ```
|
2651
|
+
*/
|
2652
|
+
initialState: undefined,
|
2520
2653
|
/**
|
2521
2654
|
* The `invalidCellClassName` option lets you add a CSS class name to cells
|
2522
2655
|
* that were marked as `invalid` by the [cell validator](@/guides/cell-functions/cell-validator/cell-validator.md).
|
@@ -2815,6 +2948,50 @@ export default () => {
|
|
2815
2948
|
* ```
|
2816
2949
|
*/
|
2817
2950
|
locale: 'en-US',
|
2951
|
+
/**
|
2952
|
+
* @description
|
2953
|
+
* The `loading` option configures the [`Loading`](@/api/loading.md) plugin.
|
2954
|
+
*
|
2955
|
+
* Loading plugin, automatically loads [`Dialog`](@/api/dialog.md) plugin.
|
2956
|
+
*
|
2957
|
+
* You can set the `loading` option to one of the following:
|
2958
|
+
*
|
2959
|
+
* | Setting | Description |
|
2960
|
+
* | --------- | --------------------------------------------------------------------------- |
|
2961
|
+
* | `false` | Disable the [`Loading`](@/api/loading.md) plugin |
|
2962
|
+
* | `true` | Enable the [`Loading`](@/api/loading.md) plugin with default configuration |
|
2963
|
+
* | An object | - Enable the [`Loading`](@/api/loading.md) plugin<br>- Apply custom configuration |
|
2964
|
+
*
|
2965
|
+
* If you set the `loading` option to an object, you can configure the following loading options:
|
2966
|
+
*
|
2967
|
+
* | Option | Possible settings | Description |
|
2968
|
+
* | ------------- | ----------------- | --------------------------------------------------------- |
|
2969
|
+
* | `icon` | A string | Custom loading icon to display (default: `<svg />`) |
|
2970
|
+
* | `title` | A string | Custom loading title to display (default: `'Loading...'`) |
|
2971
|
+
* | `description` | A string | Custom loading description to display (default: `''`) |
|
2972
|
+
*
|
2973
|
+
* Read more:
|
2974
|
+
* - [Plugins: `Loading`](@/api/loading.md)
|
2975
|
+
* @since 16.1.0
|
2976
|
+
* @memberof Options#
|
2977
|
+
* @type {boolean|object}
|
2978
|
+
* @default false
|
2979
|
+
* @category Loading
|
2980
|
+
*
|
2981
|
+
* @example
|
2982
|
+
* ```js
|
2983
|
+
* // enable the `Loading` plugin with default configuration
|
2984
|
+
* loading: true,
|
2985
|
+
*
|
2986
|
+
* // enable the `Loading` plugin with custom configuration
|
2987
|
+
* loading: {
|
2988
|
+
* icon: 'A custom loading icon in SVG format',
|
2989
|
+
* title: 'Custom loading title',
|
2990
|
+
* description: 'Custom loading description',
|
2991
|
+
* }
|
2992
|
+
* ```
|
2993
|
+
*/
|
2994
|
+
loading: false,
|
2818
2995
|
/**
|
2819
2996
|
* The `manualColumnFreeze` option configures the [`ManualColumnFreeze`](@/api/manualColumnFreeze.md) plugin.
|
2820
2997
|
*
|
@@ -3482,6 +3659,48 @@ export default () => {
|
|
3482
3659
|
* ```
|
3483
3660
|
*/
|
3484
3661
|
outsideClickDeselects: true,
|
3662
|
+
/**
|
3663
|
+
* @description
|
3664
|
+
* The `pagination` option configures the [`Pagination`](@/api/pagination.md) plugin.
|
3665
|
+
*
|
3666
|
+
* You can set the `pagination` option to one of the following:
|
3667
|
+
*
|
3668
|
+
* | Setting | Description |
|
3669
|
+
* | -------------------------------- | --------------------------------------------------------------------------------------------- |
|
3670
|
+
* | `false` | Disable the [`Pagination`](@/api/pagination.md) plugin |
|
3671
|
+
* | `true` | Enable the [`Pagination`](@/api/pagination.md) plugin |
|
3672
|
+
*
|
3673
|
+
* ##### pagination: Additional options
|
3674
|
+
*
|
3675
|
+
* If you set the `pagination` option to an object, you can set the following `Pagination` plugin options:
|
3676
|
+
*
|
3677
|
+
* | Option | Possible settings | Description |
|
3678
|
+
* | ------------------------ | -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
3679
|
+
* | `pageSize` | A number or `auto` (default: `10`) | Sets the number of rows displayed per page. If `'auto'` is set, the page size will be calculated to match all rows to the currently set table's viewport height |
|
3680
|
+
* | `pageSizeList` | An array (default: `['auto', 5, 10, 20, 50, 100]`) | Defines the selectable values for page size in the UI |
|
3681
|
+
* | `initialPage` | A number (default: `1`) | Specifies which page to display on initial load |
|
3682
|
+
* | `showPageSize` | Boolean (default: `true`) | Controls visibility of the "page size" section |
|
3683
|
+
* | `showCounter` | Boolean (default: `true`) | Controls visibility of the "page counter" section (e.g., "1 - 10 of 50"); |
|
3684
|
+
* | `showNavigation` | Boolean (default: `true`) | Controls visibility of the "page navigation" section |
|
3685
|
+
* | `uiContainer` | An HTML element (default: `null`) | The container element where the pagination UI will be installed. If not provided, the pagination container will be injected below the root table element. |
|
3686
|
+
*
|
3687
|
+
* Read more:
|
3688
|
+
* - [Rows pagination](@/guides/rows/rows-pagination/rows-pagination.md)
|
3689
|
+
* - [Plugins: `Pagination`](@/api/pagination.md)
|
3690
|
+
*
|
3691
|
+
* @since 16.1.0
|
3692
|
+
* @memberof Options#
|
3693
|
+
* @type {boolean}
|
3694
|
+
* @default undefined
|
3695
|
+
* @category Pagination
|
3696
|
+
*
|
3697
|
+
* @example
|
3698
|
+
* ```js
|
3699
|
+
* // enable the `Pagination` plugin
|
3700
|
+
* pagination: true,
|
3701
|
+
* ```
|
3702
|
+
*/
|
3703
|
+
pagination: undefined,
|
3485
3704
|
/**
|
3486
3705
|
* @description
|
3487
3706
|
* The `persistentState` option configures the [`PersistentState`](@/api/persistentState.md) plugin.
|
@@ -3883,7 +4102,7 @@ export default () => {
|
|
3883
4102
|
/**
|
3884
4103
|
* The `rowHeights` option sets rows' heights, in pixels.
|
3885
4104
|
*
|
3886
|
-
* In the rendering process, the default row height is `classic: 23px`, `main: 29px`, `horizon: 37px` (in the classic theme: 22px + 1px of the row's bottom border) or whatever is defined in the used theme (based on the line height, vertical padding and cell borders).
|
4105
|
+
* In the rendering process, the default row height is `classic (legacy): 23px`, `main: 29px`, `horizon: 37px` (in the classic (legacy) theme: 22px + 1px of the row's bottom border) or whatever is defined in the used theme (based on the line height, vertical padding and cell borders).
|
3887
4106
|
* You can change it to equal or greater than the default value, by setting the `rowHeights` option to one of the following:
|
3888
4107
|
*
|
3889
4108
|
* | Setting | Description | Example |
|
@@ -4175,9 +4394,13 @@ export default () => {
|
|
4175
4394
|
*
|
4176
4395
|
* You can set the `source` option to one of the following:
|
4177
4396
|
*
|
4178
|
-
* - An array
|
4397
|
+
* - An array of string values
|
4398
|
+
* - An array of objects with `key` and `value` properties
|
4179
4399
|
* - A function
|
4180
4400
|
*
|
4401
|
+
* Note: When defining the `source` option as an array of objects with `key` and `value` properties, the data format for that cell
|
4402
|
+
* needs to be an object with `key` and `value` properties as well.
|
4403
|
+
*
|
4181
4404
|
* Read more:
|
4182
4405
|
* - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type/autocomplete-cell-type.md)
|
4183
4406
|
* - [Dropdown cell type](@/guides/cell-types/dropdown-cell-type/dropdown-cell-type.md)
|
@@ -4193,7 +4416,7 @@ export default () => {
|
|
4193
4416
|
*
|
4194
4417
|
* @example
|
4195
4418
|
* ```js
|
4196
|
-
* // set `source` to an array
|
4419
|
+
* // set `source` to an array of string values
|
4197
4420
|
* columns: [{
|
4198
4421
|
* // set the `type` of each cell in this column to `autocomplete`
|
4199
4422
|
* type: 'autocomplete',
|
@@ -4201,6 +4424,20 @@ export default () => {
|
|
4201
4424
|
* source: ['A', 'B', 'C', 'D']
|
4202
4425
|
* }],
|
4203
4426
|
*
|
4427
|
+
* // set `source` to an array of objects with `key` and `value` properties
|
4428
|
+
* columns: [{
|
4429
|
+
* // set the `type` of each cell in this column to `autocomplete`
|
4430
|
+
* type: 'autocomplete',
|
4431
|
+
* // set options available in every `autocomplete` cell of this column
|
4432
|
+
* source: [{
|
4433
|
+
* key: 'A',
|
4434
|
+
* value: 'Label A'
|
4435
|
+
* }, {
|
4436
|
+
* key: 'B',
|
4437
|
+
* value: 'Label B'
|
4438
|
+
* }]
|
4439
|
+
* }],
|
4440
|
+
*
|
4204
4441
|
* // set `source` to a function
|
4205
4442
|
* columns: [{
|
4206
4443
|
* // set the `type` of each cell in this column to `autocomplete`
|
@@ -4388,7 +4625,7 @@ export default () => {
|
|
4388
4625
|
/**
|
4389
4626
|
* The `themeName` option allows enabling a theme by that name.
|
4390
4627
|
*
|
4391
|
-
* If no `themeName` is provided, the table will use the classic theme (if the correct CSS files are imported).
|
4628
|
+
* If no `themeName` is provided, the table will use the classic (legacy) theme (if the correct CSS files are imported).
|
4392
4629
|
*
|
4393
4630
|
* Read more:
|
4394
4631
|
* - [Themes](@/guides/styling/themes/themes.md)
|
@@ -4754,6 +4991,54 @@ export default () => {
|
|
4754
4991
|
* ```
|
4755
4992
|
*/
|
4756
4993
|
validator: undefined,
|
4994
|
+
/**
|
4995
|
+
* @description
|
4996
|
+
* The `valueGetter` option configures a function that defines what value will be used when displaying the cell content.
|
4997
|
+
* It can be used to modify the value of a cell before it is displayed (for example, for object-based data).
|
4998
|
+
*
|
4999
|
+
* @example
|
5000
|
+
* ```js
|
5001
|
+
* // use the `label` property of the value object with a fallback to the value itself
|
5002
|
+
* valueGetter: (value, row, column, cellMeta) => {
|
5003
|
+
* return value?.label ?? value;
|
5004
|
+
* }
|
5005
|
+
* ```
|
5006
|
+
*
|
5007
|
+
* @memberof Options#
|
5008
|
+
* @type {function(any, number, number): any}
|
5009
|
+
* @param {*} value The value to be displayed in the cell.
|
5010
|
+
* @param {number} row The visual row index of the cell.
|
5011
|
+
* @param {number} column The visual column index of the cell.
|
5012
|
+
* @param {object} cellMeta The cell meta object.
|
5013
|
+
* @since 16.1.0
|
5014
|
+
* @default undefined
|
5015
|
+
* @category Core
|
5016
|
+
*/
|
5017
|
+
valueGetter: undefined,
|
5018
|
+
/**
|
5019
|
+
* @description
|
5020
|
+
* The `valueSetter` option configures a function that defines what value will be used when setting the cell content.
|
5021
|
+
* It can be used to modify the value of a cell before it is saved (for example, for object-based data).
|
5022
|
+
*
|
5023
|
+
* @example
|
5024
|
+
* ```js
|
5025
|
+
* // Modify the value of a cell before it is saved
|
5026
|
+
* valueSetter: (value, row, column, cellMeta) => {
|
5027
|
+
* return { id: value?.id ?? value, value: `${value?.value ?? value} at ${row}, ${column}` }
|
5028
|
+
* },
|
5029
|
+
* ```
|
5030
|
+
*
|
5031
|
+
* @memberof Options#
|
5032
|
+
* @type {function(any, number, number): any}
|
5033
|
+
* @param {*} value The value to be set to a cell.
|
5034
|
+
* @param {number} row The visual row index of the cell.
|
5035
|
+
* @param {number} column The visual column index of the cell.
|
5036
|
+
* @param {object} cellMeta The cell meta object.
|
5037
|
+
* @since 16.1.0
|
5038
|
+
* @default undefined
|
5039
|
+
* @category Core
|
5040
|
+
*/
|
5041
|
+
valueSetter: undefined,
|
4757
5042
|
/**
|
4758
5043
|
* @description
|
4759
5044
|
* The `viewportColumnRenderingOffset` option configures the number of columns
|
@@ -5,7 +5,6 @@ exports.assert = assert;
|
|
5
5
|
exports.columnFactory = columnFactory;
|
6
6
|
exports.extendByMetaType = extendByMetaType;
|
7
7
|
exports.isNullish = isNullish;
|
8
|
-
exports.isUnsignedNumber = isUnsignedNumber;
|
9
8
|
require("core-js/modules/es.error.cause.js");
|
10
9
|
require("core-js/modules/es.set.difference.v2.js");
|
11
10
|
require("core-js/modules/es.set.intersection.v2.js");
|
@@ -95,16 +94,6 @@ function columnFactory(TableMeta) {
|
|
95
94
|
return ColumnMeta;
|
96
95
|
}
|
97
96
|
|
98
|
-
/**
|
99
|
-
* Helper which checks if the provided argument is an unsigned number.
|
100
|
-
*
|
101
|
-
* @param {*} value Value to check.
|
102
|
-
* @returns {boolean}
|
103
|
-
*/
|
104
|
-
function isUnsignedNumber(value) {
|
105
|
-
return Number.isInteger(value) && value >= 0;
|
106
|
-
}
|
107
|
-
|
108
97
|
/**
|
109
98
|
* Function which makes assertion by custom condition. Function throws an error when assertion doesn't meet the spec.
|
110
99
|
*
|
@@ -87,16 +87,6 @@ export function columnFactory(TableMeta) {
|
|
87
87
|
return ColumnMeta;
|
88
88
|
}
|
89
89
|
|
90
|
-
/**
|
91
|
-
* Helper which checks if the provided argument is an unsigned number.
|
92
|
-
*
|
93
|
-
* @param {*} value Value to check.
|
94
|
-
* @returns {boolean}
|
95
|
-
*/
|
96
|
-
export function isUnsignedNumber(value) {
|
97
|
-
return Number.isInteger(value) && value >= 0;
|
98
|
-
}
|
99
|
-
|
100
90
|
/**
|
101
91
|
* Function which makes assertion by custom condition. Function throws an error when assertion doesn't meet the spec.
|
102
92
|
*
|
package/dataMap/replaceData.js
CHANGED
@@ -111,6 +111,7 @@ function replaceData(data, setDataMapFunction, callbackFunction, config) {
|
|
111
111
|
// TODO: rethink the way the `afterChange` hook is being run here in the core `init` method.
|
112
112
|
if (!firstRun) {
|
113
113
|
hotInstance.runHooks('afterChange', null, internalSource);
|
114
|
+
hotInstance.view.adjustElementsSize();
|
114
115
|
hotInstance.render();
|
115
116
|
}
|
116
117
|
if (hotInstance.getSettings().ariaTags) {
|
package/dataMap/replaceData.mjs
CHANGED
@@ -106,6 +106,7 @@ function replaceData(data, setDataMapFunction, callbackFunction, config) {
|
|
106
106
|
// TODO: rethink the way the `afterChange` hook is being run here in the core `init` method.
|
107
107
|
if (!firstRun) {
|
108
108
|
hotInstance.runHooks('afterChange', null, internalSource);
|
109
|
+
hotInstance.view.adjustElementsSize();
|
109
110
|
hotInstance.render();
|
110
111
|
}
|
111
112
|
if (hotInstance.getSettings().ariaTags) {
|