handsontable 11.0.0 → 12.0.0
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/border.js +121 -99
- package/3rdparty/walkontable/src/border.mjs +122 -96
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +1 -1
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +1 -1
- package/3rdparty/walkontable/src/calculator/viewportRows.js +1 -1
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +1 -1
- package/3rdparty/walkontable/src/cell/coords.js +60 -18
- package/3rdparty/walkontable/src/cell/coords.mjs +56 -18
- package/3rdparty/walkontable/src/cell/range.d.ts +10 -2
- package/3rdparty/walkontable/src/cell/range.js +279 -100
- package/3rdparty/walkontable/src/cell/range.mjs +274 -100
- package/3rdparty/walkontable/src/core/_base.js +452 -0
- package/3rdparty/walkontable/src/core/_base.mjs +440 -0
- package/3rdparty/walkontable/src/core/clone.js +97 -0
- package/3rdparty/walkontable/src/core/clone.mjs +80 -0
- package/3rdparty/walkontable/src/core/core.js +183 -0
- package/3rdparty/walkontable/src/core/core.mjs +160 -0
- package/3rdparty/walkontable/src/event.js +100 -67
- package/3rdparty/walkontable/src/event.mjs +100 -64
- package/3rdparty/walkontable/src/facade/core.js +251 -0
- package/3rdparty/walkontable/src/facade/core.mjs +243 -0
- package/3rdparty/walkontable/src/filter/column.js +1 -1
- package/3rdparty/walkontable/src/filter/column.mjs +1 -1
- package/3rdparty/walkontable/src/filter/row.js +1 -1
- package/3rdparty/walkontable/src/filter/row.mjs +1 -1
- package/3rdparty/walkontable/src/index.js +3 -47
- package/3rdparty/walkontable/src/index.mjs +3 -13
- package/3rdparty/walkontable/src/overlay/_base.js +125 -58
- package/3rdparty/walkontable/src/overlay/_base.mjs +126 -59
- package/3rdparty/walkontable/src/overlay/bottom.js +86 -76
- package/3rdparty/walkontable/src/overlay/bottom.mjs +86 -76
- package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.js → bottomInlineStartCorner.js} +35 -58
- package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +34 -57
- package/3rdparty/walkontable/src/overlay/constants.js +25 -9
- package/3rdparty/walkontable/src/overlay/constants.mjs +14 -4
- package/3rdparty/walkontable/src/overlay/index.js +10 -19
- package/3rdparty/walkontable/src/overlay/index.mjs +4 -5
- package/3rdparty/walkontable/src/overlay/{left.js → inlineStart.js} +102 -80
- package/3rdparty/walkontable/src/overlay/{left.mjs → inlineStart.mjs} +101 -79
- package/3rdparty/walkontable/src/overlay/top.js +84 -79
- package/3rdparty/walkontable/src/overlay/top.mjs +84 -79
- package/3rdparty/walkontable/src/overlay/{topLeftCorner.js → topInlineStartCorner.js} +56 -57
- package/3rdparty/walkontable/src/overlay/{topLeftCorner.mjs → topInlineStartCorner.mjs} +51 -52
- package/3rdparty/walkontable/src/overlays.js +226 -157
- package/3rdparty/walkontable/src/overlays.mjs +226 -156
- package/3rdparty/walkontable/src/renderer/_base.js +1 -1
- package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/cells.js +5 -4
- package/3rdparty/walkontable/src/renderer/cells.mjs +5 -4
- package/3rdparty/walkontable/src/renderer/colGroup.js +3 -3
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +3 -3
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +3 -3
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +3 -3
- package/3rdparty/walkontable/src/renderer/index.js +1 -1
- package/3rdparty/walkontable/src/renderer/index.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +3 -3
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +3 -3
- package/3rdparty/walkontable/src/renderer/rows.js +3 -3
- package/3rdparty/walkontable/src/renderer/rows.mjs +3 -3
- package/3rdparty/walkontable/src/renderer/table.js +1 -1
- package/3rdparty/walkontable/src/renderer/table.mjs +1 -1
- package/3rdparty/walkontable/src/scroll.js +61 -88
- package/3rdparty/walkontable/src/scroll.mjs +61 -88
- package/3rdparty/walkontable/src/selection.js +12 -16
- package/3rdparty/walkontable/src/selection.mjs +12 -14
- package/3rdparty/walkontable/src/settings.js +236 -127
- package/3rdparty/walkontable/src/settings.mjs +236 -126
- package/3rdparty/walkontable/src/table/bottom.js +21 -6
- package/3rdparty/walkontable/src/table/bottom.mjs +20 -6
- package/3rdparty/walkontable/src/table/{bottomLeftCorner.js → bottomInlineStartCorner.js} +31 -15
- package/3rdparty/walkontable/src/table/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +30 -15
- package/3rdparty/walkontable/src/table/{left.js → inlineStart.js} +27 -15
- package/3rdparty/walkontable/src/table/{left.mjs → inlineStart.mjs} +26 -15
- package/3rdparty/walkontable/src/table/master.js +23 -13
- package/3rdparty/walkontable/src/table/master.mjs +23 -13
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +12 -6
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +12 -6
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +12 -6
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +12 -6
- package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.js → stickyColumnsStart.js} +13 -7
- package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.mjs → stickyColumnsStart.mjs} +13 -7
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +11 -5
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +11 -5
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -3
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -3
- package/3rdparty/walkontable/src/table/top.js +21 -6
- package/3rdparty/walkontable/src/table/top.mjs +20 -6
- package/3rdparty/walkontable/src/table/{topLeftCorner.js → topInlineStartCorner.js} +31 -15
- package/3rdparty/walkontable/src/table/{topLeftCorner.mjs → topInlineStartCorner.mjs} +30 -15
- package/3rdparty/walkontable/src/table.js +236 -141
- package/3rdparty/walkontable/src/table.mjs +232 -135
- package/3rdparty/walkontable/src/types.js +103 -0
- package/3rdparty/walkontable/src/types.mjs +102 -0
- package/3rdparty/walkontable/src/utils/column.js +23 -34
- package/3rdparty/walkontable/src/utils/column.mjs +23 -31
- package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +3 -3
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +3 -3
- package/3rdparty/walkontable/src/utils/orderView/view.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
- package/3rdparty/walkontable/src/utils/row.js +10 -5
- package/3rdparty/walkontable/src/utils/row.mjs +10 -5
- package/3rdparty/walkontable/src/viewport.js +78 -81
- package/3rdparty/walkontable/src/viewport.mjs +78 -78
- package/CHANGELOG.md +94 -17
- package/README.md +10 -7
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/cellTypes/timeType/timeType.d.ts +6 -6
- package/cellTypes/timeType/timeType.js +4 -5
- package/cellTypes/timeType/timeType.mjs +4 -5
- package/core.d.ts +9 -3
- package/core.js +590 -157
- package/core.mjs +599 -169
- package/dataMap/dataMap.js +2 -2
- package/dataMap/dataMap.mjs +2 -2
- package/dataMap/index.js +8 -0
- package/dataMap/index.mjs +3 -1
- package/dataMap/metaManager/index.js +3 -3
- package/dataMap/metaManager/index.mjs +3 -3
- package/dataMap/metaManager/lazyFactoryMap.js +1 -1
- package/dataMap/metaManager/lazyFactoryMap.mjs +1 -1
- package/dataMap/metaManager/metaLayers/cellMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/columnMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.js +7 -3
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +7 -3
- package/dataMap/metaManager/metaLayers/tableMeta.js +3 -3
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +3 -3
- package/dataMap/metaManager/metaSchema.js +2931 -2676
- package/dataMap/metaManager/metaSchema.mjs +2931 -2676
- package/dataMap/metaManager/mods/dynamicCellMeta.js +1 -1
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.js +126 -0
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +113 -0
- package/dataMap/replaceData.js +140 -0
- package/dataMap/replaceData.mjs +124 -0
- package/dataSource.js +1 -1
- package/dataSource.mjs +1 -1
- package/dist/README.md +2 -2
- package/dist/handsontable.css +424 -166
- package/dist/handsontable.full.css +559 -298
- package/dist/handsontable.full.js +47163 -41289
- package/dist/handsontable.full.min.css +8 -13
- package/dist/handsontable.full.min.js +143 -142
- package/dist/handsontable.js +28270 -24105
- package/dist/handsontable.min.css +8 -11
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +69 -38
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.js +167 -0
- package/dist/languages/ar-AR.min.js +1 -0
- package/dist/languages/de-CH.js +32 -33
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.js +5 -6
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.js +5 -6
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +5 -6
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.js +5 -6
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/it-IT.js +5 -6
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.js +5 -6
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.js +37 -42
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.js +4 -6
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.js +4 -6
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.js +4 -6
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.js +4 -6
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +4 -6
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.js +4 -6
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/zh-CN.js +4 -6
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.js +25 -27
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +121 -268
- package/editorManager.mjs +129 -279
- package/editors/autocompleteEditor/autocompleteEditor.js +19 -17
- package/editors/autocompleteEditor/autocompleteEditor.mjs +19 -17
- package/editors/baseEditor/baseEditor.js +207 -36
- package/editors/baseEditor/baseEditor.mjs +202 -34
- package/editors/checkboxEditor/checkboxEditor.js +3 -3
- package/editors/checkboxEditor/checkboxEditor.mjs +3 -3
- package/editors/dateEditor/dateEditor.js +22 -9
- package/editors/dateEditor/dateEditor.mjs +23 -10
- package/editors/dropdownEditor/dropdownEditor.js +4 -4
- package/editors/dropdownEditor/dropdownEditor.mjs +4 -4
- package/editors/handsontableEditor/handsontableEditor.js +107 -56
- package/editors/handsontableEditor/handsontableEditor.mjs +107 -56
- package/editors/index.d.ts +3 -0
- package/editors/index.js +6 -0
- package/editors/index.mjs +3 -1
- package/editors/numericEditor/numericEditor.js +3 -3
- package/editors/numericEditor/numericEditor.mjs +3 -3
- package/editors/passwordEditor/passwordEditor.js +4 -4
- package/editors/passwordEditor/passwordEditor.mjs +4 -4
- package/editors/selectEditor/selectEditor.js +66 -111
- package/editors/selectEditor/selectEditor.mjs +67 -110
- package/editors/textEditor/caretPositioner.js +49 -0
- package/editors/textEditor/caretPositioner.mjs +42 -0
- package/editors/textEditor/textEditor.js +206 -182
- package/editors/textEditor/textEditor.mjs +200 -180
- package/editors/timeEditor/index.d.ts +1 -0
- package/editors/timeEditor/index.js +9 -0
- package/editors/timeEditor/index.mjs +1 -0
- package/editors/timeEditor/timeEditor.d.ts +7 -0
- package/editors/timeEditor/timeEditor.js +105 -0
- package/editors/timeEditor/timeEditor.mjs +84 -0
- package/eventManager.js +11 -5
- package/eventManager.mjs +11 -5
- package/helpers/data.js +1 -1
- package/helpers/data.mjs +1 -1
- package/helpers/dom/element.js +1 -1
- package/helpers/dom/element.mjs +1 -1
- package/helpers/feature.js +1 -1
- package/helpers/feature.mjs +1 -1
- package/helpers/mixed.js +3 -3
- package/helpers/mixed.mjs +3 -3
- package/helpers/number.js +4 -4
- package/helpers/number.mjs +4 -4
- package/helpers/object.js +1 -1
- package/helpers/object.mjs +1 -1
- package/i18n/languages/ar-AR.js +41 -0
- package/i18n/languages/ar-AR.mjs +17 -0
- package/i18n/languages/de-CH.js +1 -1
- package/i18n/languages/de-DE.js +1 -1
- package/i18n/languages/en-US.js +1 -1
- package/i18n/languages/es-MX.js +1 -1
- package/i18n/languages/fr-FR.js +1 -1
- package/i18n/languages/index.js +4 -0
- package/i18n/languages/index.mjs +2 -1
- package/i18n/languages/it-IT.js +1 -1
- package/i18n/languages/ja-JP.js +1 -1
- package/i18n/languages/ko-KR.js +1 -1
- package/i18n/languages/lv-LV.js +1 -1
- package/i18n/languages/nb-NO.js +1 -1
- package/i18n/languages/nl-NL.js +1 -1
- package/i18n/languages/pl-PL.js +1 -1
- package/i18n/languages/pt-BR.js +1 -1
- package/i18n/languages/ru-RU.js +1 -1
- package/i18n/languages/zh-CN.js +1 -1
- package/i18n/languages/zh-TW.js +1 -1
- package/i18n/registry.js +1 -1
- package/index.d.ts +4 -0
- package/index.js +1 -1
- package/languages/all.js +69 -38
- package/languages/ar-AR.js +167 -0
- package/languages/ar-AR.mjs +19 -0
- package/languages/de-CH.js +32 -33
- package/languages/de-DE.js +5 -6
- package/languages/en-US.js +5 -6
- package/languages/es-MX.js +5 -6
- package/languages/fr-FR.js +5 -6
- package/languages/index.js +69 -38
- package/languages/index.mjs +2 -1
- package/languages/it-IT.js +5 -6
- package/languages/ja-JP.js +5 -6
- package/languages/ko-KR.js +37 -42
- package/languages/lv-LV.js +4 -6
- package/languages/nb-NO.js +4 -6
- package/languages/nl-NL.js +4 -6
- package/languages/pl-PL.js +4 -6
- package/languages/pt-BR.js +4 -6
- package/languages/ru-RU.js +4 -6
- package/languages/zh-CN.js +4 -6
- package/languages/zh-TW.js +25 -27
- package/package.json +26 -8
- package/pluginHooks.d.ts +2 -0
- package/pluginHooks.js +58 -27
- package/pluginHooks.mjs +58 -27
- package/plugins/autoColumnSize/autoColumnSize.js +14 -9
- package/plugins/autoColumnSize/autoColumnSize.mjs +14 -9
- package/plugins/autoRowSize/autoRowSize.js +15 -10
- package/plugins/autoRowSize/autoRowSize.mjs +15 -10
- package/plugins/autofill/autofill.js +50 -34
- package/plugins/autofill/autofill.mjs +50 -33
- package/plugins/autofill/utils.js +10 -11
- package/plugins/autofill/utils.mjs +10 -10
- package/plugins/base/base.d.ts +8 -2
- package/plugins/base/base.js +68 -5
- package/plugins/base/base.mjs +67 -5
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +4 -4
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +4 -4
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +4 -4
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +4 -4
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +4 -4
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +4 -4
- package/plugins/collapsibleColumns/collapsibleColumns.js +49 -30
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +49 -30
- package/plugins/columnSorting/columnSorting.d.ts +1 -1
- package/plugins/columnSorting/columnSorting.js +10 -12
- package/plugins/columnSorting/columnSorting.mjs +10 -11
- package/plugins/columnSorting/columnStatesManager.js +3 -3
- package/plugins/columnSorting/columnStatesManager.mjs +3 -3
- package/plugins/columnSummary/columnSummary.js +4 -4
- package/plugins/columnSummary/columnSummary.mjs +4 -4
- package/plugins/columnSummary/endpoints.js +1 -1
- package/plugins/columnSummary/endpoints.mjs +1 -1
- package/plugins/comments/commentEditor.js +24 -4
- package/plugins/comments/commentEditor.mjs +25 -5
- package/plugins/comments/comments.js +63 -104
- package/plugins/comments/comments.mjs +63 -102
- package/plugins/comments/displaySwitch.js +1 -1
- package/plugins/comments/displaySwitch.mjs +1 -1
- package/plugins/contextMenu/commandExecutor.js +1 -1
- package/plugins/contextMenu/commandExecutor.mjs +1 -1
- package/plugins/contextMenu/contextMenu.js +11 -7
- package/plugins/contextMenu/contextMenu.mjs +11 -7
- package/plugins/contextMenu/cursor.js +1 -1
- package/plugins/contextMenu/cursor.mjs +1 -1
- package/plugins/contextMenu/itemsFactory.js +1 -1
- package/plugins/contextMenu/itemsFactory.mjs +1 -1
- package/plugins/contextMenu/menu.js +223 -111
- package/plugins/contextMenu/menu.mjs +220 -112
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnLeft.js +13 -5
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +11 -4
- package/plugins/contextMenu/predefinedItems/columnRight.js +10 -10
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +9 -9
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
- package/plugins/contextMenu/predefinedItems/redo.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowAbove.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowBelow.js +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -1
- package/plugins/contextMenu/predefinedItems.js +1 -1
- package/plugins/contextMenu/utils.js +2 -2
- package/plugins/contextMenu/utils.mjs +2 -2
- package/plugins/copyPaste/clipboardData.js +1 -1
- package/plugins/copyPaste/clipboardData.mjs +1 -1
- package/plugins/copyPaste/contextMenuItem/copy.js +1 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +1 -1
- package/plugins/copyPaste/copyPaste.js +29 -19
- package/plugins/copyPaste/copyPaste.mjs +28 -19
- package/plugins/copyPaste/focusableElement.js +1 -1
- package/plugins/copyPaste/focusableElement.mjs +1 -1
- package/plugins/copyPaste/pasteEvent.js +6 -2
- package/plugins/copyPaste/pasteEvent.mjs +6 -2
- package/plugins/customBorders/contextMenuItem/bottom.js +1 -1
- package/plugins/customBorders/contextMenuItem/left.js +5 -4
- package/plugins/customBorders/contextMenuItem/left.mjs +4 -3
- package/plugins/customBorders/contextMenuItem/noBorders.js +1 -1
- package/plugins/customBorders/contextMenuItem/right.js +5 -4
- package/plugins/customBorders/contextMenuItem/right.mjs +4 -3
- package/plugins/customBorders/contextMenuItem/top.js +1 -1
- package/plugins/customBorders/customBorders.js +141 -85
- package/plugins/customBorders/customBorders.mjs +139 -82
- package/plugins/customBorders/utils.js +131 -27
- package/plugins/customBorders/utils.mjs +115 -27
- package/plugins/dragToScroll/dragToScroll.js +11 -6
- package/plugins/dragToScroll/dragToScroll.mjs +11 -6
- package/plugins/dropdownMenu/dropdownMenu.js +8 -7
- package/plugins/dropdownMenu/dropdownMenu.mjs +8 -7
- package/plugins/exportFile/dataProvider.js +1 -1
- package/plugins/exportFile/dataProvider.mjs +1 -1
- package/plugins/exportFile/exportFile.js +3 -3
- package/plugins/exportFile/exportFile.mjs +3 -3
- package/plugins/exportFile/types/_base.js +1 -1
- package/plugins/exportFile/types/_base.mjs +1 -1
- package/plugins/exportFile/types/csv.js +3 -3
- package/plugins/exportFile/types/csv.mjs +3 -3
- package/plugins/filters/component/_base.js +1 -1
- package/plugins/filters/component/_base.mjs +1 -1
- package/plugins/filters/component/actionBar.js +3 -3
- package/plugins/filters/component/actionBar.mjs +3 -3
- package/plugins/filters/component/condition.js +4 -4
- package/plugins/filters/component/condition.mjs +4 -4
- package/plugins/filters/component/operators.js +3 -3
- package/plugins/filters/component/operators.mjs +3 -3
- package/plugins/filters/component/value.js +4 -4
- package/plugins/filters/component/value.mjs +4 -4
- package/plugins/filters/condition/beginsWith.js +1 -1
- package/plugins/filters/condition/between.js +1 -1
- package/plugins/filters/condition/contains.js +1 -1
- package/plugins/filters/condition/date/after.js +1 -1
- package/plugins/filters/condition/date/before.js +1 -1
- package/plugins/filters/condition/date/today.js +1 -1
- package/plugins/filters/condition/date/tomorrow.js +1 -1
- package/plugins/filters/condition/date/yesterday.js +1 -1
- package/plugins/filters/condition/empty.js +1 -1
- package/plugins/filters/condition/endsWith.js +1 -1
- package/plugins/filters/condition/equal.js +1 -1
- package/plugins/filters/condition/greaterThan.js +1 -1
- package/plugins/filters/condition/greaterThanOrEqual.js +1 -1
- package/plugins/filters/condition/lessThan.js +1 -1
- package/plugins/filters/condition/lessThanOrEqual.js +1 -1
- package/plugins/filters/condition/none.js +1 -1
- package/plugins/filters/condition/notBetween.js +1 -1
- package/plugins/filters/condition/notContains.js +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -1
- package/plugins/filters/condition/notEqual.js +1 -1
- package/plugins/filters/conditionCollection.js +1 -1
- package/plugins/filters/conditionCollection.mjs +1 -1
- package/plugins/filters/conditionUpdateObserver.js +1 -1
- package/plugins/filters/conditionUpdateObserver.mjs +1 -1
- package/plugins/filters/dataFilter.js +1 -1
- package/plugins/filters/dataFilter.mjs +1 -1
- package/plugins/filters/filters.js +12 -9
- package/plugins/filters/filters.mjs +12 -9
- package/plugins/filters/logicalOperations/conjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +1 -1
- package/plugins/filters/ui/_base.js +2 -2
- package/plugins/filters/ui/_base.mjs +1 -1
- package/plugins/filters/ui/input.js +4 -4
- package/plugins/filters/ui/input.mjs +4 -4
- package/plugins/filters/ui/link.js +4 -4
- package/plugins/filters/ui/link.mjs +4 -4
- package/plugins/filters/ui/multipleSelect.js +19 -32
- package/plugins/filters/ui/multipleSelect.mjs +19 -32
- package/plugins/filters/ui/radioInput.js +4 -4
- package/plugins/filters/ui/radioInput.mjs +4 -4
- package/plugins/filters/ui/select.js +5 -5
- package/plugins/filters/ui/select.mjs +5 -5
- package/plugins/formulas/engine/register.js +1 -1
- package/plugins/formulas/engine/register.mjs +1 -1
- package/plugins/formulas/engine/settings.js +2 -2
- package/plugins/formulas/engine/settings.mjs +2 -2
- package/plugins/formulas/formulas.js +10 -10
- package/plugins/formulas/formulas.mjs +10 -10
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -1
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +3 -3
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -2
- package/plugins/hiddenColumns/hiddenColumns.js +10 -5
- package/plugins/hiddenColumns/hiddenColumns.mjs +10 -5
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -1
- package/plugins/hiddenRows/contextMenuItem/showRow.js +3 -3
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -2
- package/plugins/hiddenRows/hiddenRows.js +10 -5
- package/plugins/hiddenRows/hiddenRows.mjs +10 -5
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +2 -2
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +2 -2
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +26 -13
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +26 -13
- package/plugins/manualColumnMove/manualColumnMove.js +73 -62
- package/plugins/manualColumnMove/manualColumnMove.mjs +74 -63
- package/plugins/manualColumnMove/ui/_base.js +26 -13
- package/plugins/manualColumnMove/ui/_base.mjs +25 -13
- package/plugins/manualColumnMove/ui/backlight.js +4 -4
- package/plugins/manualColumnMove/ui/backlight.mjs +4 -4
- package/plugins/manualColumnMove/ui/guideline.js +4 -4
- package/plugins/manualColumnMove/ui/guideline.mjs +4 -4
- package/plugins/manualColumnResize/manualColumnResize.js +38 -22
- package/plugins/manualColumnResize/manualColumnResize.mjs +38 -22
- package/plugins/manualRowMove/manualRowMove.js +27 -17
- package/plugins/manualRowMove/manualRowMove.mjs +27 -17
- package/plugins/manualRowMove/ui/_base.js +1 -1
- package/plugins/manualRowMove/ui/_base.mjs +1 -1
- package/plugins/manualRowMove/ui/backlight.js +4 -4
- package/plugins/manualRowMove/ui/backlight.mjs +4 -4
- package/plugins/manualRowMove/ui/guideline.js +4 -4
- package/plugins/manualRowMove/ui/guideline.mjs +4 -4
- package/plugins/manualRowResize/manualRowResize.js +35 -20
- package/plugins/manualRowResize/manualRowResize.mjs +35 -20
- package/plugins/mergeCells/calculations/autofill.js +7 -6
- package/plugins/mergeCells/calculations/autofill.mjs +7 -5
- package/plugins/mergeCells/calculations/selection.js +10 -5
- package/plugins/mergeCells/calculations/selection.mjs +10 -5
- package/plugins/mergeCells/cellCoords.js +17 -5
- package/plugins/mergeCells/cellCoords.mjs +17 -4
- package/plugins/mergeCells/cellsCollection.js +28 -21
- package/plugins/mergeCells/cellsCollection.mjs +28 -20
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +1 -1
- package/plugins/mergeCells/mergeCells.js +83 -50
- package/plugins/mergeCells/mergeCells.mjs +83 -48
- package/plugins/multiColumnSorting/multiColumnSorting.js +5 -7
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +5 -6
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +52 -58
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +53 -58
- package/plugins/nestedHeaders/nestedHeaders.js +26 -19
- package/plugins/nestedHeaders/nestedHeaders.mjs +26 -19
- package/plugins/nestedHeaders/stateManager/headersTree.js +3 -3
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +3 -3
- package/plugins/nestedHeaders/stateManager/index.js +3 -3
- package/plugins/nestedHeaders/stateManager/index.mjs +3 -3
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +3 -3
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +3 -3
- package/plugins/nestedHeaders/utils/ghostTable.js +1 -1
- package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -1
- package/plugins/nestedRows/data/dataManager.js +2 -2
- package/plugins/nestedRows/data/dataManager.mjs +2 -2
- package/plugins/nestedRows/nestedRows.js +11 -5
- package/plugins/nestedRows/nestedRows.mjs +11 -5
- package/plugins/nestedRows/ui/_base.js +6 -2
- package/plugins/nestedRows/ui/_base.mjs +6 -2
- package/plugins/nestedRows/ui/collapsing.js +3 -3
- package/plugins/nestedRows/ui/collapsing.mjs +3 -3
- package/plugins/nestedRows/ui/contextMenu.js +3 -3
- package/plugins/nestedRows/ui/contextMenu.mjs +3 -3
- package/plugins/nestedRows/ui/headers.js +3 -3
- package/plugins/nestedRows/ui/headers.mjs +3 -3
- package/plugins/nestedRows/utils/rowMoveController.js +3 -5
- package/plugins/nestedRows/utils/rowMoveController.mjs +3 -4
- package/plugins/persistentState/persistentState.js +10 -5
- package/plugins/persistentState/persistentState.mjs +10 -5
- package/plugins/persistentState/storage.js +1 -1
- package/plugins/persistentState/storage.mjs +1 -1
- package/plugins/search/search.js +10 -5
- package/plugins/search/search.mjs +10 -5
- package/plugins/touchScroll/touchScroll.js +32 -26
- package/plugins/touchScroll/touchScroll.mjs +32 -25
- package/plugins/trimRows/trimRows.js +10 -5
- package/plugins/trimRows/trimRows.mjs +10 -5
- package/plugins/undoRedo/index.js +1 -1
- package/plugins/undoRedo/undoRedo.js +54 -48
- package/plugins/undoRedo/undoRedo.mjs +54 -47
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -3
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +1 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +48 -43
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +48 -41
- package/renderers/index.d.ts +4 -1
- package/renderers/index.js +6 -0
- package/renderers/index.mjs +3 -1
- package/renderers/numericRenderer/numericRenderer.js +1 -0
- package/renderers/numericRenderer/numericRenderer.mjs +1 -0
- package/renderers/timeRenderer/index.d.ts +1 -0
- package/renderers/timeRenderer/index.js +9 -0
- package/renderers/timeRenderer/index.mjs +1 -0
- package/renderers/timeRenderer/timeRenderer.d.ts +5 -0
- package/renderers/timeRenderer/timeRenderer.js +31 -0
- package/renderers/timeRenderer/timeRenderer.mjs +20 -0
- package/selection/highlight/highlight.js +3 -3
- package/selection/highlight/highlight.mjs +3 -3
- package/selection/highlight/types/activeHeader.js +2 -2
- package/selection/highlight/types/activeHeader.mjs +2 -2
- package/selection/highlight/types/area.js +2 -2
- package/selection/highlight/types/area.mjs +2 -2
- package/selection/highlight/types/cell.js +2 -2
- package/selection/highlight/types/cell.mjs +2 -2
- package/selection/highlight/types/customSelection.js +2 -2
- package/selection/highlight/types/customSelection.mjs +2 -2
- package/selection/highlight/types/fill.js +2 -2
- package/selection/highlight/types/fill.mjs +2 -2
- package/selection/highlight/types/header.js +2 -2
- package/selection/highlight/types/header.mjs +2 -2
- package/selection/highlight/types/index.js +2 -2
- package/selection/highlight/types/index.mjs +2 -2
- package/selection/highlight/visualSelection.js +17 -16
- package/selection/highlight/visualSelection.mjs +18 -17
- package/selection/mouseEventHandler.js +15 -10
- package/selection/mouseEventHandler.mjs +15 -9
- package/selection/range.js +5 -6
- package/selection/range.mjs +5 -6
- package/selection/selection.js +27 -20
- package/selection/selection.mjs +27 -18
- package/selection/transformation.js +5 -7
- package/selection/transformation.mjs +5 -6
- package/selection/utils.js +1 -1
- package/selection/utils.mjs +1 -1
- package/settings.d.ts +3 -1
- package/shortcuts/context.d.ts +20 -0
- package/shortcuts/context.js +296 -0
- package/shortcuts/context.mjs +268 -0
- package/shortcuts/index.d.ts +1 -0
- package/shortcuts/index.js +8 -0
- package/shortcuts/index.mjs +1 -0
- package/shortcuts/keyObserver.js +67 -0
- package/shortcuts/keyObserver.mjs +58 -0
- package/shortcuts/manager.d.ts +10 -0
- package/shortcuts/manager.js +183 -0
- package/shortcuts/manager.mjs +174 -0
- package/shortcuts/recorder.js +183 -0
- package/shortcuts/recorder.mjs +171 -0
- package/shortcuts/utils.js +77 -0
- package/shortcuts/utils.mjs +54 -0
- package/tableView.js +138 -80
- package/tableView.mjs +138 -70
- package/translations/changesObservable/observable.js +1 -1
- package/translations/changesObservable/observable.mjs +1 -1
- package/translations/changesObservable/observer.js +1 -2
- package/translations/changesObservable/observer.mjs +1 -2
- package/translations/indexMapper.d.ts +1 -0
- package/translations/indexMapper.js +25 -2
- package/translations/indexMapper.mjs +24 -2
- package/translations/mapCollections/aggregatedCollection.js +3 -3
- package/translations/mapCollections/aggregatedCollection.mjs +3 -3
- package/translations/mapCollections/mapCollection.js +1 -1
- package/translations/mapCollections/mapCollection.mjs +1 -1
- package/translations/maps/hidingMap.js +5 -3
- package/translations/maps/hidingMap.mjs +5 -3
- package/translations/maps/indexMap.js +3 -1
- package/translations/maps/indexMap.mjs +3 -1
- package/translations/maps/indexesSequence.js +6 -4
- package/translations/maps/indexesSequence.mjs +6 -4
- package/translations/maps/linkedPhysicalIndexToValueMap.js +6 -4
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +6 -4
- package/translations/maps/physicalIndexToValueMap.js +6 -4
- package/translations/maps/physicalIndexToValueMap.mjs +6 -4
- package/translations/maps/trimmingMap.js +5 -3
- package/translations/maps/trimmingMap.mjs +5 -3
- package/utils/dataStructures/linkedList.js +3 -3
- package/utils/dataStructures/linkedList.mjs +3 -3
- package/utils/dataStructures/queue.js +1 -1
- package/utils/dataStructures/queue.mjs +1 -1
- package/utils/dataStructures/stack.js +1 -1
- package/utils/dataStructures/stack.mjs +1 -1
- package/utils/dataStructures/tree.js +3 -3
- package/utils/dataStructures/tree.mjs +3 -3
- package/utils/dataStructures/uniqueMap.js +14 -1
- package/utils/dataStructures/uniqueMap.mjs +14 -1
- package/utils/dataStructures/uniqueSet.js +9 -0
- package/utils/dataStructures/uniqueSet.mjs +9 -0
- package/utils/ghostTable.js +14 -3
- package/utils/ghostTable.mjs +15 -4
- package/utils/interval.js +1 -1
- package/utils/interval.mjs +1 -1
- package/utils/samplesGenerator.js +1 -1
- package/utils/samplesGenerator.mjs +1 -1
- package/3rdparty/walkontable/src/core.js +0 -309
- package/3rdparty/walkontable/src/core.mjs +0 -293
- package/3rdparty/walkontable/src/overlay/registerer.js +0 -70
- package/3rdparty/walkontable/src/overlay/registerer.mjs +0 -57
- package/utils/keyStateObserver.js +0 -121
- package/utils/keyStateObserver.mjs +0 -103
@@ -2,11 +2,10 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
2
2
|
|
3
3
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
4
4
|
|
5
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
5
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
6
6
|
|
7
|
-
import { getScrollbarWidth, getStyle, offset, outerHeight, outerWidth } from "
|
8
|
-
import { objectEach } from "
|
9
|
-
import EventManager from "./../../../eventManager.mjs";
|
7
|
+
import { getScrollbarWidth, getStyle, offset, outerHeight, outerWidth } from "../../../helpers/dom/element.mjs";
|
8
|
+
import { objectEach } from "../../../helpers/object.mjs";
|
10
9
|
import { RENDER_TYPE, FULLY_VISIBLE_TYPE, ViewportColumnsCalculator, ViewportRowsCalculator } from "./calculator/index.mjs";
|
11
10
|
/**
|
12
11
|
* @class Viewport
|
@@ -14,16 +13,24 @@ import { RENDER_TYPE, FULLY_VISIBLE_TYPE, ViewportColumnsCalculator, ViewportRow
|
|
14
13
|
|
15
14
|
var Viewport = /*#__PURE__*/function () {
|
16
15
|
/**
|
17
|
-
* @param {
|
16
|
+
* @param {ViewportDao} dataAccessObject The Walkontable instance.
|
17
|
+
* @param {DomBindings} domBindings Bindings into DOM.
|
18
|
+
* @param {Settings} wtSettings The Walkontable settings.
|
19
|
+
* @param {EventManager} eventManager The instance event manager.
|
20
|
+
* @param {Table} wtTable The table.
|
18
21
|
*/
|
19
|
-
function Viewport(
|
22
|
+
function Viewport(dataAccessObject, domBindings, wtSettings, eventManager, wtTable) {
|
20
23
|
var _this = this;
|
21
24
|
|
22
25
|
_classCallCheck(this, Viewport);
|
23
26
|
|
24
|
-
this.
|
27
|
+
this.dataAccessObject = dataAccessObject; // legacy support
|
25
28
|
|
29
|
+
this.wot = dataAccessObject.wot;
|
26
30
|
this.instance = this.wot;
|
31
|
+
this.domBindings = domBindings;
|
32
|
+
this.wtSettings = wtSettings;
|
33
|
+
this.wtTable = wtTable;
|
27
34
|
this.oversizedRows = [];
|
28
35
|
this.oversizedColumnHeaders = [];
|
29
36
|
this.hasOversizedColumnHeadersMarked = {};
|
@@ -32,8 +39,8 @@ var Viewport = /*#__PURE__*/function () {
|
|
32
39
|
this.rowHeaderWidth = NaN;
|
33
40
|
this.rowsVisibleCalculator = null;
|
34
41
|
this.columnsVisibleCalculator = null;
|
35
|
-
this.eventManager =
|
36
|
-
this.eventManager.addEventListener(this.
|
42
|
+
this.eventManager = eventManager;
|
43
|
+
this.eventManager.addEventListener(this.domBindings.rootWindow, 'resize', function () {
|
37
44
|
_this.clientHeight = _this.getWorkspaceHeight();
|
38
45
|
});
|
39
46
|
}
|
@@ -45,11 +52,11 @@ var Viewport = /*#__PURE__*/function () {
|
|
45
52
|
_createClass(Viewport, [{
|
46
53
|
key: "getWorkspaceHeight",
|
47
54
|
value: function getWorkspaceHeight() {
|
48
|
-
var currentDocument = this.
|
49
|
-
var trimmingContainer = this.
|
55
|
+
var currentDocument = this.domBindings.rootDocument;
|
56
|
+
var trimmingContainer = this.dataAccessObject.topOverlayTrimmingContainer;
|
50
57
|
var height = 0;
|
51
58
|
|
52
|
-
if (trimmingContainer === this.
|
59
|
+
if (trimmingContainer === this.domBindings.rootWindow) {
|
53
60
|
height = currentDocument.documentElement.clientHeight;
|
54
61
|
} else {
|
55
62
|
var elemHeight = outerHeight(trimmingContainer); // returns height without DIV scrollbar
|
@@ -62,24 +69,29 @@ var Viewport = /*#__PURE__*/function () {
|
|
62
69
|
}, {
|
63
70
|
key: "getWorkspaceWidth",
|
64
71
|
value: function getWorkspaceWidth() {
|
65
|
-
var
|
66
|
-
var
|
67
|
-
|
68
|
-
|
72
|
+
var wtSettings = this.wtSettings;
|
73
|
+
var _this$domBindings = this.domBindings,
|
74
|
+
rootDocument = _this$domBindings.rootDocument,
|
75
|
+
rootWindow = _this$domBindings.rootWindow;
|
76
|
+
var trimmingContainer = this.dataAccessObject.inlineStartOverlayTrimmingContainer;
|
69
77
|
var docOffsetWidth = rootDocument.documentElement.offsetWidth;
|
70
|
-
var totalColumns =
|
71
|
-
var preventOverflow =
|
78
|
+
var totalColumns = wtSettings.getSetting('totalColumns');
|
79
|
+
var preventOverflow = wtSettings.getSetting('preventOverflow');
|
80
|
+
var isRtl = wtSettings.getSetting('rtlMode');
|
81
|
+
var tableRect = this.wtTable.TABLE.getBoundingClientRect();
|
82
|
+
var inlineStart = isRtl ? tableRect.right - docOffsetWidth : tableRect.left;
|
83
|
+
var tableOffset = docOffsetWidth - inlineStart;
|
72
84
|
var width;
|
73
85
|
var overflow;
|
74
86
|
|
75
87
|
if (preventOverflow) {
|
76
|
-
return outerWidth(this.
|
88
|
+
return outerWidth(this.wtTable.wtRootElement);
|
77
89
|
}
|
78
90
|
|
79
|
-
if (
|
80
|
-
width = Math.min(
|
91
|
+
if (wtSettings.getSetting('freezeOverlays')) {
|
92
|
+
width = Math.min(tableOffset, docOffsetWidth);
|
81
93
|
} else {
|
82
|
-
width = Math.min(this.getContainerFillWidth(),
|
94
|
+
width = Math.min(this.getContainerFillWidth(), tableOffset, docOffsetWidth);
|
83
95
|
}
|
84
96
|
|
85
97
|
if (trimmingContainer === rootWindow && totalColumns > 0 && this.sumColumnWidths(0, totalColumns - 1) > width) {
|
@@ -91,7 +103,7 @@ var Viewport = /*#__PURE__*/function () {
|
|
91
103
|
}
|
92
104
|
|
93
105
|
if (trimmingContainer !== rootWindow) {
|
94
|
-
overflow = getStyle(this.
|
106
|
+
overflow = getStyle(this.dataAccessObject.inlineStartOverlayTrimmingContainer, 'overflow', rootWindow);
|
95
107
|
|
96
108
|
if (overflow === 'scroll' || overflow === 'hidden' || overflow === 'auto') {
|
97
109
|
// this is used in `scroll.html`
|
@@ -100,11 +112,11 @@ var Viewport = /*#__PURE__*/function () {
|
|
100
112
|
}
|
101
113
|
}
|
102
114
|
|
103
|
-
var stretchSetting =
|
115
|
+
var stretchSetting = wtSettings.getSetting('stretchH');
|
104
116
|
|
105
117
|
if (stretchSetting === 'none' || !stretchSetting) {
|
106
118
|
// if no stretching is used, return the maximum used workspace width
|
107
|
-
return Math.max(width, outerWidth(this.
|
119
|
+
return Math.max(width, outerWidth(this.wtTable.TABLE));
|
108
120
|
} // if stretching is used, return the actual container width, so the columns can fit inside it
|
109
121
|
|
110
122
|
|
@@ -141,12 +153,11 @@ var Viewport = /*#__PURE__*/function () {
|
|
141
153
|
}, {
|
142
154
|
key: "sumColumnWidths",
|
143
155
|
value: function sumColumnWidths(from, length) {
|
144
|
-
var wtTable = this.wot.wtTable;
|
145
156
|
var sum = 0;
|
146
157
|
var column = from;
|
147
158
|
|
148
159
|
while (column < length) {
|
149
|
-
sum += wtTable.getColumnWidth(column);
|
160
|
+
sum += this.wtTable.getColumnWidth(column);
|
150
161
|
column += 1;
|
151
162
|
}
|
152
163
|
|
@@ -163,8 +174,8 @@ var Viewport = /*#__PURE__*/function () {
|
|
163
174
|
return this.containerWidth;
|
164
175
|
}
|
165
176
|
|
166
|
-
var mainContainer = this.
|
167
|
-
var dummyElement = this.
|
177
|
+
var mainContainer = this.wtTable.holder;
|
178
|
+
var dummyElement = this.domBindings.rootDocument.createElement('div');
|
168
179
|
dummyElement.style.width = '100%';
|
169
180
|
dummyElement.style.height = '1px';
|
170
181
|
mainContainer.appendChild(dummyElement);
|
@@ -180,7 +191,7 @@ var Viewport = /*#__PURE__*/function () {
|
|
180
191
|
}, {
|
181
192
|
key: "getWorkspaceOffset",
|
182
193
|
value: function getWorkspaceOffset() {
|
183
|
-
return offset(this.
|
194
|
+
return offset(this.wtTable.TABLE);
|
184
195
|
}
|
185
196
|
/**
|
186
197
|
* @returns {number}
|
@@ -189,7 +200,7 @@ var Viewport = /*#__PURE__*/function () {
|
|
189
200
|
}, {
|
190
201
|
key: "getWorkspaceActualHeight",
|
191
202
|
value: function getWorkspaceActualHeight() {
|
192
|
-
return outerHeight(this.
|
203
|
+
return outerHeight(this.wtTable.TABLE);
|
193
204
|
}
|
194
205
|
/**
|
195
206
|
* @returns {number}
|
@@ -198,8 +209,7 @@ var Viewport = /*#__PURE__*/function () {
|
|
198
209
|
}, {
|
199
210
|
key: "getWorkspaceActualWidth",
|
200
211
|
value: function getWorkspaceActualWidth() {
|
201
|
-
|
202
|
-
return outerWidth(wtTable.TABLE) || outerWidth(wtTable.TBODY) || outerWidth(wtTable.THEAD); // IE8 reports 0 as <table> offsetWidth;
|
212
|
+
return outerWidth(this.wtTable.TABLE) || outerWidth(this.wtTable.TBODY) || outerWidth(this.wtTable.THEAD); // IE8 reports 0 as <table> offsetWidth;
|
203
213
|
}
|
204
214
|
/**
|
205
215
|
* @returns {number}
|
@@ -208,12 +218,12 @@ var Viewport = /*#__PURE__*/function () {
|
|
208
218
|
}, {
|
209
219
|
key: "getColumnHeaderHeight",
|
210
220
|
value: function getColumnHeaderHeight() {
|
211
|
-
var columnHeaders = this.
|
221
|
+
var columnHeaders = this.wtSettings.getSetting('columnHeaders');
|
212
222
|
|
213
223
|
if (!columnHeaders.length) {
|
214
224
|
this.columnHeaderHeight = 0;
|
215
225
|
} else if (isNaN(this.columnHeaderHeight)) {
|
216
|
-
this.columnHeaderHeight = outerHeight(this.
|
226
|
+
this.columnHeaderHeight = outerHeight(this.wtTable.THEAD);
|
217
227
|
}
|
218
228
|
|
219
229
|
return this.columnHeaderHeight;
|
@@ -246,8 +256,8 @@ var Viewport = /*#__PURE__*/function () {
|
|
246
256
|
}, {
|
247
257
|
key: "getRowHeaderWidth",
|
248
258
|
value: function getRowHeaderWidth() {
|
249
|
-
var rowHeadersWidthSetting = this.
|
250
|
-
var rowHeaders = this.
|
259
|
+
var rowHeadersWidthSetting = this.wtSettings.getSetting('rowHeaderWidth');
|
260
|
+
var rowHeaders = this.wtSettings.getSetting('rowHeaders');
|
251
261
|
|
252
262
|
if (rowHeadersWidthSetting) {
|
253
263
|
this.rowHeaderWidth = 0;
|
@@ -257,13 +267,9 @@ var Viewport = /*#__PURE__*/function () {
|
|
257
267
|
}
|
258
268
|
}
|
259
269
|
|
260
|
-
if (this.wot.cloneSource) {
|
261
|
-
return this.wot.cloneSource.wtViewport.getRowHeaderWidth();
|
262
|
-
}
|
263
|
-
|
264
270
|
if (isNaN(this.rowHeaderWidth)) {
|
265
271
|
if (rowHeaders.length) {
|
266
|
-
var TH = this.
|
272
|
+
var TH = this.wtTable.TABLE.querySelector('TH');
|
267
273
|
this.rowHeaderWidth = 0;
|
268
274
|
|
269
275
|
for (var _i = 0, _len = rowHeaders.length; _i < _len; _i++) {
|
@@ -281,7 +287,7 @@ var Viewport = /*#__PURE__*/function () {
|
|
281
287
|
}
|
282
288
|
}
|
283
289
|
|
284
|
-
this.rowHeaderWidth = this.
|
290
|
+
this.rowHeaderWidth = this.wtSettings.getSetting('onModifyRowHeaderWidth', this.rowHeaderWidth) || this.rowHeaderWidth;
|
285
291
|
return this.rowHeaderWidth;
|
286
292
|
}
|
287
293
|
/**
|
@@ -319,57 +325,54 @@ var Viewport = /*#__PURE__*/function () {
|
|
319
325
|
key: "createRowsCalculator",
|
320
326
|
value: function createRowsCalculator() {
|
321
327
|
var calculationType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : RENDER_TYPE;
|
322
|
-
var
|
323
|
-
|
324
|
-
wtOverlays = wot.wtOverlays,
|
325
|
-
wtTable = wot.wtTable,
|
326
|
-
rootDocument = wot.rootDocument;
|
328
|
+
var wtSettings = this.wtSettings,
|
329
|
+
wtTable = this.wtTable;
|
327
330
|
var height;
|
328
331
|
var scrollbarHeight;
|
329
332
|
var fixedRowsHeight;
|
330
333
|
this.rowHeaderWidth = NaN;
|
331
334
|
|
332
|
-
if (wtSettings.
|
335
|
+
if (wtSettings.getSetting('renderAllRows') && calculationType === RENDER_TYPE) {
|
333
336
|
height = Infinity;
|
334
337
|
} else {
|
335
338
|
height = this.getViewportHeight();
|
336
339
|
}
|
337
340
|
|
338
|
-
var pos =
|
341
|
+
var pos = this.dataAccessObject.topScrollPosition - this.dataAccessObject.topParentOffset;
|
339
342
|
|
340
343
|
if (pos < 0) {
|
341
344
|
pos = 0;
|
342
345
|
}
|
343
346
|
|
344
|
-
var fixedRowsTop =
|
345
|
-
var fixedRowsBottom =
|
346
|
-
var totalRows =
|
347
|
+
var fixedRowsTop = wtSettings.getSetting('fixedRowsTop');
|
348
|
+
var fixedRowsBottom = wtSettings.getSetting('fixedRowsBottom');
|
349
|
+
var totalRows = wtSettings.getSetting('totalRows');
|
347
350
|
|
348
351
|
if (fixedRowsTop) {
|
349
|
-
fixedRowsHeight =
|
352
|
+
fixedRowsHeight = this.dataAccessObject.topOverlay.sumCellSizes(0, fixedRowsTop);
|
350
353
|
pos += fixedRowsHeight;
|
351
354
|
height -= fixedRowsHeight;
|
352
355
|
}
|
353
356
|
|
354
|
-
if (fixedRowsBottom &&
|
355
|
-
fixedRowsHeight =
|
357
|
+
if (fixedRowsBottom && this.dataAccessObject.bottomOverlay.clone) {
|
358
|
+
fixedRowsHeight = this.dataAccessObject.bottomOverlay.sumCellSizes(totalRows - fixedRowsBottom, totalRows);
|
356
359
|
height -= fixedRowsHeight;
|
357
360
|
}
|
358
361
|
|
359
362
|
if (wtTable.holder.clientHeight === wtTable.holder.offsetHeight) {
|
360
363
|
scrollbarHeight = 0;
|
361
364
|
} else {
|
362
|
-
scrollbarHeight = getScrollbarWidth(rootDocument);
|
365
|
+
scrollbarHeight = getScrollbarWidth(this.domBindings.rootDocument);
|
363
366
|
}
|
364
367
|
|
365
368
|
return new ViewportRowsCalculator({
|
366
369
|
viewportSize: height,
|
367
370
|
scrollOffset: pos,
|
368
|
-
totalItems:
|
371
|
+
totalItems: wtSettings.getSetting('totalRows'),
|
369
372
|
itemSizeFn: function itemSizeFn(sourceRow) {
|
370
373
|
return wtTable.getRowHeight(sourceRow);
|
371
374
|
},
|
372
|
-
overrideFn: wtSettings.
|
375
|
+
overrideFn: wtSettings.getSettingPure('viewportRowCalculatorOverride'),
|
373
376
|
calculationType: calculationType,
|
374
377
|
scrollbarHeight: scrollbarHeight
|
375
378
|
});
|
@@ -381,50 +384,47 @@ var Viewport = /*#__PURE__*/function () {
|
|
381
384
|
*
|
382
385
|
* @param {number} calculationType The render type ID, which determines for what type of
|
383
386
|
* calculation calculator is created.
|
384
|
-
* @returns {
|
387
|
+
* @returns {ViewportColumnsCalculator}
|
385
388
|
*/
|
386
389
|
|
387
390
|
}, {
|
388
391
|
key: "createColumnsCalculator",
|
389
392
|
value: function createColumnsCalculator() {
|
390
393
|
var calculationType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : RENDER_TYPE;
|
391
|
-
var
|
392
|
-
|
393
|
-
wtOverlays = wot.wtOverlays,
|
394
|
-
wtTable = wot.wtTable,
|
395
|
-
rootDocument = wot.rootDocument;
|
394
|
+
var wtSettings = this.wtSettings,
|
395
|
+
wtTable = this.wtTable;
|
396
396
|
var width = this.getViewportWidth();
|
397
|
-
var pos =
|
397
|
+
var pos = Math.abs(this.dataAccessObject.inlineStartScrollPosition) - this.dataAccessObject.inlineStartParentOffset;
|
398
398
|
this.columnHeaderHeight = NaN;
|
399
399
|
|
400
400
|
if (pos < 0) {
|
401
401
|
pos = 0;
|
402
402
|
}
|
403
403
|
|
404
|
-
var
|
404
|
+
var fixedColumnsStart = wtSettings.getSetting('fixedColumnsStart');
|
405
405
|
|
406
|
-
if (
|
407
|
-
var fixedColumnsWidth =
|
406
|
+
if (fixedColumnsStart) {
|
407
|
+
var fixedColumnsWidth = this.dataAccessObject.inlineStartOverlay.sumCellSizes(0, fixedColumnsStart);
|
408
408
|
pos += fixedColumnsWidth;
|
409
409
|
width -= fixedColumnsWidth;
|
410
410
|
}
|
411
411
|
|
412
412
|
if (wtTable.holder.clientWidth !== wtTable.holder.offsetWidth) {
|
413
|
-
width -= getScrollbarWidth(rootDocument);
|
413
|
+
width -= getScrollbarWidth(this.domBindings.rootDocument);
|
414
414
|
}
|
415
415
|
|
416
416
|
return new ViewportColumnsCalculator({
|
417
417
|
viewportSize: width,
|
418
|
-
scrollOffset: pos,
|
419
|
-
totalItems:
|
418
|
+
scrollOffset: Math.abs(pos),
|
419
|
+
totalItems: wtSettings.getSetting('totalColumns'),
|
420
420
|
itemSizeFn: function itemSizeFn(sourceCol) {
|
421
|
-
return
|
421
|
+
return wtTable.getColumnWidth(sourceCol);
|
422
422
|
},
|
423
|
-
overrideFn: wtSettings.
|
423
|
+
overrideFn: wtSettings.getSettingPure('viewportColumnCalculatorOverride'),
|
424
424
|
calculationType: calculationType,
|
425
|
-
stretchMode:
|
425
|
+
stretchMode: wtSettings.getSetting('stretchH'),
|
426
426
|
stretchingItemWidthFn: function stretchingItemWidthFn(stretchedWidth, column) {
|
427
|
-
return
|
427
|
+
return wtSettings.getSetting('onBeforeStretchingColumnWidth', stretchedWidth, column);
|
428
428
|
}
|
429
429
|
});
|
430
430
|
}
|
@@ -497,7 +497,7 @@ var Viewport = /*#__PURE__*/function () {
|
|
497
497
|
|
498
498
|
if (startRow < renderedStartRow || startRow === renderedStartRow && startRow > 0) {
|
499
499
|
return false;
|
500
|
-
} else if (endRow > renderedEndRow || endRow === renderedEndRow && endRow < this.
|
500
|
+
} else if (endRow > renderedEndRow || endRow === renderedEndRow && endRow < this.wtSettings.getSetting('totalRows') - 1) {
|
501
501
|
return false;
|
502
502
|
}
|
503
503
|
|
@@ -527,7 +527,7 @@ var Viewport = /*#__PURE__*/function () {
|
|
527
527
|
|
528
528
|
if (startColumn < renderedStartColumn || startColumn === renderedStartColumn && startColumn > 0) {
|
529
529
|
return false;
|
530
|
-
} else if (endColumn > renderedEndColumn || endColumn === renderedEndColumn && endColumn < this.
|
530
|
+
} else if (endColumn > renderedEndColumn || endColumn === renderedEndColumn && endColumn < this.wtSettings.getSetting('totalColumns') - 1) {
|
531
531
|
return false;
|
532
532
|
}
|
533
533
|
|
package/CHANGELOG.md
CHANGED
@@ -8,26 +8,103 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
8
8
|
|
9
9
|
<!-- UNVERSIONED -->
|
10
10
|
|
11
|
+
## [12.0.0] - 2022-04-28
|
12
|
+
|
13
|
+
For more information on this release, see:
|
14
|
+
- [Release notes](https://handsontable.com/docs/release-notes/#_12-0-0)
|
15
|
+
- [Blog post](https://handsontable.com/blog/articles/2022/4/handsontable-12.0.0-data-grid-rtl-support-and-a-new-keyboard-shortcuts-api)
|
16
|
+
- [Migration guide](https://handsontable.com/docs/migration-from-11.1-to-12.0/)
|
17
|
+
|
18
|
+
### Added
|
19
|
+
- Added `ShortcutManager`, a new API for customizing keyboard shortcuts. [#8942](https://github.com/handsontable/handsontable/issues/8942)
|
20
|
+
- Added support for right-to-left (RTL) languages, introducing a new configuration option: `layoutDirection`. [#8760](https://github.com/handsontable/handsontable/issues/8760)
|
21
|
+
- Added an Arabic translation. [#9208](https://github.com/handsontable/handsontable/issues/9208)
|
22
|
+
- Added a new configuration option: `fixedColumnsStart`. [#8760](https://github.com/handsontable/handsontable/issues/8760)
|
23
|
+
- Added a new keyboard shortcut (<kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>Enter</kbd>) for filling the selected range of cells with the value of the active cell. [#9366](https://github.com/handsontable/handsontable/issues/9366)
|
24
|
+
- Added support for the <kbd>Home</kbd> and <kbd>End</kbd> keys inside cell editors, for moving the cursor to the beginning or end of the text. [#9367](https://github.com/handsontable/handsontable/issues/9367)
|
25
|
+
- Added support for the latest Node LTS version. [#9149](https://github.com/handsontable/handsontable/issues/9149)
|
26
|
+
|
27
|
+
### Changed
|
28
|
+
- **Breaking change**: Changed how `updateSettings()` handles data updates, to improve performance and the consistency of user experience. Now, when provided with a new data object, `updateSettings()` updates the data without resetting any states. [#7263](https://github.com/handsontable/handsontable/issues/7263)
|
29
|
+
- **Breaking change**: Changed how `updatePlugin()` reacts to `updateSettings()` calls, to improve performance and the consistency of user experience. Now, calls to `updateSettings()` update a plugin's state only when the options object contains a configuration option that's relevant to that particular plugin. [#9021](https://github.com/handsontable/handsontable/issues/9021)
|
30
|
+
- **Breaking change**: Changed the order of execution for two hooks: now, `beforeKeyDown` is properly fired before `afterDocumentKeyDown`. [#6236](https://github.com/handsontable/handsontable/issues/6236)
|
31
|
+
- **Breaking change**: Changed how default keyboard shortcuts are defined, to improve keyboard navigation consistency. Most of the shortcuts did not change and are now properly documented in the [keyboard shortcuts](https://handsontable.com/docs/keyboard-shortcuts/#default-keyboard-shortcuts) guide. However, some shortcuts that were not defined explicitly, and were not listed in the documentation, don't work anymore (e.g., <kbd>Enter</kbd> opens a cell's editor, but <kbd>Ctrl</kbd> + <kbd>Enter</kbd> doesn't). This change doesn't affect custom keyboard shortcuts. [#8942](https://github.com/handsontable/handsontable/issues/8942)
|
32
|
+
- **Breaking change**: Split a cross-platform modifier key (<kbd>Ctrl</kbd>/<kbd>Cmd</kbd>) into two separate keys, to improve keyboard navigation consistency. Now, the <kbd>Cmd</kbd> key triggers actions on macOS where the <kbd>Ctrl</kbd> key triggers actions on Windows. For example, on macOS, <kbd>Ctrl</kbd> + <kbd>A</kbd> doesn't work anymore: <kbd>Cmd</kbd> + <kbd>A</kbd> is used instead. [#9369](https://github.com/handsontable/handsontable/issues/9369)
|
33
|
+
- **Breaking change**: Changed the actions of the following [keyboard shortcuts](https://handsontable.com/docs/keyboard-shortcuts/#default-keyboard-shortcuts), to match the usual spreadsheet software behavior, and provide a more intuitive user experience: <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>↑</kbd>, <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>Shift</kbd> + <kbd>↑</kbd>, <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>↓</kbd>, <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>Shift</kbd> + <kbd>↓</kbd>, <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>←</kbd>, <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>Shift</kbd> + <kbd>←</kbd>, <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>→</kbd>, <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>Shift</kbd> + <kbd>→</kbd>, <kbd>Home</kbd>, <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>Home</kbd>, <kbd>End</kbd>, <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>End</kbd>, <kbd>Shift</kbd> + <kbd>Page Up</kbd>, and <kbd>Shift</kbd> + <kbd>Page Down</kbd>. [#9363](https://github.com/handsontable/handsontable/issues/9363) [#9364](https://github.com/handsontable/handsontable/issues/9364) [#9365](https://github.com/handsontable/handsontable/issues/9365)
|
34
|
+
- Changed two scripts of the main Handsontable workspace (`./`), to speed up the build process: now, the `npm run build` and `npm run test` scripts don't build or test the Handsontable examples (`./examples`). [#9412](https://github.com/handsontable/handsontable/issues/9412)
|
35
|
+
- Changed the version of the Moment.js dependency from 2.24.0 to 2.29.3, in reaction to a recently-found Moment.js security vulnerability that did not directly affect Handsontable. [#9381](https://github.com/handsontable/handsontable/issues/9381)
|
36
|
+
- Changed the version of the HyperFormula optional dependency from ^1.2.0 to ^2.0.0. [#9411](https://github.com/handsontable/handsontable/issues/9411)
|
37
|
+
|
38
|
+
### Fixed
|
39
|
+
- *React, Angular, Vue 2, Vue 3:* Fixed an issue where using `updateSettings()` caused problems for state managers. [#8372](https://github.com/handsontable/handsontable/issues/8372)
|
40
|
+
- Fixed an issue where using `updateSettings()` caused hidden columns to reappear. [#7165](https://github.com/handsontable/handsontable/issues/7165)
|
41
|
+
- Fixed an issue where using `updateSettings()` caused merged cells to unmerge. [#3315](https://github.com/handsontable/handsontable/issues/3315)
|
42
|
+
- Fixed an issue where using `updateSettings()` caused the state of nested rows to reset. [#8838](https://github.com/handsontable/handsontable/issues/8838)
|
43
|
+
- Fixed an issue where using `updateSettings()` caused problems with column sorting. [#7688](https://github.com/handsontable/handsontable/issues/7688)
|
44
|
+
- *React:* Fixed an issue where using React's `setState()` within the `afterFilter` hook broke filtering. [#7567](https://github.com/handsontable/handsontable/issues/7567)
|
45
|
+
- *Vue 2:* Fixed an issue where repeatedly changing Handsontable's height through `updateSettings()` caused Handsontable to crash. [#7546](https://github.com/handsontable/handsontable/issues/7546)
|
46
|
+
- *Vue 2:* Fixed an issue where the `failed` validation status got erased when editing a new row. [#7541](https://github.com/handsontable/handsontable/issues/7541)
|
47
|
+
- Fixed an issue where cell filtering did not use formula results. [#5455](https://github.com/handsontable/handsontable/issues/5455)
|
48
|
+
- Fixed a wrong TypeScript definition in the `BasePlugin` class. [#9175](https://github.com/handsontable/handsontable/issues/9175)
|
49
|
+
- Fixed an issue where the <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>Z</kbd> and <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>Shift</kbd> + <kbd>Z</kbd> keyboard shortcuts didn't behave properly inside cell editors. [#9367](https://github.com/handsontable/handsontable/issues/9367)
|
50
|
+
- Fixed an issue where the dropdown menu contained unwanted rectangle elements. [#9240](https://github.com/handsontable/handsontable/issues/9240)
|
51
|
+
- *React, Vue 2, Vue 3:* Fixed an issue with registering modules for the React, Vue 2, and Vue 3 wrappers, by adding an `"exports"` field to their `package.json` files. [#9140](https://github.com/handsontable/handsontable/issues/9140)
|
52
|
+
|
53
|
+
### Removed
|
54
|
+
- **Breaking change**: Removed the <kbd>Cmd</kbd> + <kbd>M</kbd> keyboard shortcut (used for cell merging), as it conflicted with window minimizing on macOS. The <kbd>Ctrl</kbd> + <kbd>M</kbd> keyboard shortcut works the same as before. [#9368](https://github.com/handsontable/handsontable/issues/9368)
|
55
|
+
- **Breaking change**: Removed the <kbd>Shift</kbd> + <kbd>Page Up</kbd>/<kbd>Page Down</kbd> keyboard shortcuts from the cell editing context. [#9401](https://github.com/handsontable/handsontable/issues/9401)
|
56
|
+
- Dropped support for Internet Explorer 11 and Edge Legacy (the non-Chromium version of Edge). Handsontable 11.x becomes the long-term support (LTS) version for Internet Explorer 11 and Edge Legacy, until the end of 2023. [#7026](https://github.com/handsontable/handsontable/issues/7026)
|
57
|
+
- *React:* Removed the `enzyme` dependency from the React wrapper. [#9151](https://github.com/handsontable/handsontable/issues/9151)
|
58
|
+
|
59
|
+
## [11.1.0] - 2022-01-13
|
60
|
+
|
61
|
+
### Added
|
62
|
+
- Added `updateData()`, a new method that allows for replacing Handsontable's `data` without
|
63
|
+
resetting the states of cells, rows and columns. [#7263](https://github.com/handsontable/handsontable/issues/7263)
|
64
|
+
- *Vue:* Added Vue 3 support, by introducing a new wrapper. [#7545](https://github.com/handsontable/handsontable/issues/7545)
|
65
|
+
|
66
|
+
### Changed
|
67
|
+
- Updated the TypeScript definition of the `setDataAtCell()` method. [#8601](https://github.com/handsontable/handsontable/issues/8601)
|
68
|
+
- Extended Handsontable's GitHub Actions workflow, to allow for deploying code examples to GitHub Pages. [#9058](https://github.com/handsontable/handsontable/issues/9058)
|
69
|
+
|
70
|
+
### Fixed
|
71
|
+
- Fixed an issue where the `autocomplete` editor's suggestion list didn't update properly. [#7570](https://github.com/handsontable/handsontable/issues/7570)
|
72
|
+
- Fixed an issue where nested headers didn't render when `data` wasn't defined. [#8589](https://github.com/handsontable/handsontable/issues/8589)
|
73
|
+
- Fixed some end-to-end tests that failed on mobile devices. [#8749](https://github.com/handsontable/handsontable/issues/8749)
|
74
|
+
- Fixed an issue where the rendered selection could get shifted by 1px. [#8756](https://github.com/handsontable/handsontable/issues/8756)
|
75
|
+
- Fixed an issue where the first column's border didn't display properly. [#8767](https://github.com/handsontable/handsontable/issues/8767)
|
76
|
+
- Fixed an issue where the `CollapsibleColumns` plugin's `expandAll()` method didn't expand collapsed columns. [#8900](https://github.com/handsontable/handsontable/issues/8900)
|
77
|
+
- Fixed end-to-end test scripts that occasionally crashed. [#8961](https://github.com/handsontable/handsontable/issues/8961)
|
78
|
+
- Fixed a typo in the `valueAccordingPercent()` helper. [#9006](https://github.com/handsontable/handsontable/issues/9006)
|
79
|
+
- Fixed an issue where the `NestedRows` plugin could throw a type error after calling the `updateSettings()` method. [#9018](https://github.com/handsontable/handsontable/issues/9018)
|
80
|
+
- Fixed an issue where performance was affected by removing events. [#9044](https://github.com/handsontable/handsontable/issues/9044)
|
81
|
+
- Fixed a wrong TypeScript definition of the `MultiColumnSorting` plugin's `sort()` method. [#9067](https://github.com/handsontable/handsontable/issues/9067)
|
82
|
+
- Fixed an issue where the `Comments` plugin's editor disappeared after adding a comment. [#9075](https://github.com/handsontable/handsontable/issues/9075) [#6661](https://github.com/handsontable/handsontable/issues/6661)
|
83
|
+
- *React:* Fixed a wrong return type. [#9000](https://github.com/handsontable/handsontable/issues/9000)
|
84
|
+
|
85
|
+
## [11.0.1] - 2021-11-17
|
86
|
+
|
87
|
+
### Fixed
|
88
|
+
- Fixed the UMD build of `@handsontable/angular`, which was not working properly in `11.0.0`. [#8946](https://github.com/handsontable/handsontable/pull/8946)
|
89
|
+
|
11
90
|
## [11.0.0] - 2021-11-17
|
12
91
|
|
13
92
|
### Added
|
14
|
-
- Added TypeScript definition files for Handsontable's modularized version. [#7489](https://github.com/handsontable/handsontable/issues/7489)
|
15
|
-
-
|
16
|
-
-
|
17
|
-
-
|
93
|
+
- **Breaking change**: Added TypeScript definition files for Handsontable's modularized version. [#7489](https://github.com/handsontable/handsontable/issues/7489)
|
94
|
+
- **Breaking change (Vue)**: Added support for modularization to the Vue wrapper. [#8820](https://github.com/handsontable/handsontable/issues/8820)
|
95
|
+
- **Breaking change (React)**: Added support for modularization to the React wrapper. [#8819](https://github.com/handsontable/handsontable/issues/8819)
|
96
|
+
- **Breaking change (Angular)**: Added support for modularization to the Angular wrapper. [#8818](https://github.com/handsontable/handsontable/issues/8818)
|
18
97
|
- Added a new package entry point that allows importing built-in modules in one function call: `import { registerAllEditors, registerAllRenderers, registerAllValidators, registerAllCellTypes, registerAllPlugins } from 'handsontable/registry'`. [#8816](https://github.com/handsontable/handsontable/issues/8816)
|
19
98
|
- Added a new `locale` option, to properly handle locale-based data. [#8897](https://github.com/handsontable/handsontable/issues/8897)
|
20
99
|
- Added a GitHub Actions workflow that covers testing Handsontable and the wrappers. [#8652](https://github.com/handsontable/handsontable/issues/8652)
|
21
100
|
- Added new direction helpers (internal API) that lay ground for future RTL support. [#8868](https://github.com/handsontable/handsontable/issues/8868)
|
22
101
|
|
23
|
-
|
24
102
|
### Changed
|
25
|
-
- Changed how the `populateFromArray()` method works with its `method` argument set to `shift_down` or `shift_right`. [#888](https://github.com/handsontable/handsontable/issues/888)
|
103
|
+
- **Breaking change**: Changed how the `populateFromArray()` method works with its `method` argument set to `shift_down` or `shift_right`. [#888](https://github.com/handsontable/handsontable/issues/888)
|
26
104
|
- Moved the entire Handsontable package to its own, new subdirectory: `./handsontable`. [#8759](https://github.com/handsontable/handsontable/issues/8759)
|
27
105
|
- Replaced the license files with updated versions. [#8877](https://github.com/handsontable/handsontable/issues/8877)
|
28
106
|
|
29
|
-
### Fixed
|
30
|
-
- Improved the performance of a regular expression used to detect numeric values, and fixed major code smells. [#8752](https://github.com/handsontable/handsontable/issues/8752)
|
107
|
+
### Fixed
|
31
108
|
- Fixed an issue with incorrect filtering of locale-based data while using search input from a drop-down menu. [#6095](https://github.com/handsontable/handsontable/issues/6095)
|
32
109
|
- Fixed an error thrown when using the `populateFromArray()` method with its `method` argument set to `shift_right`. [#6929](https://github.com/handsontable/handsontable/issues/6929)
|
33
110
|
- Fixed an issue with the `beforeOnCellMouseDown` and `afterOnCellMouseDown` hooks using wrong coordinates. [#8498](https://github.com/handsontable/handsontable/issues/8498)
|
@@ -39,12 +116,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
39
116
|
## [10.0.0] - 2021-09-29
|
40
117
|
|
41
118
|
### Changed
|
42
|
-
- Unified the naming and description of the fourth argument, `controller`, for selection manipulation in the `beforeOnCellMouseDown` and `beforeOnCellMouseOver` hooks. [#4996](https://github.com/handsontable/handsontable/issues/4996)
|
43
|
-
- Changed what the `beforeRender` and `afterRender` hooks are, and when they are triggered. Added two new hooks: `beforeViewRender` and `afterViewRender`. [#6303](https://github.com/handsontable/handsontable/issues/6303)
|
44
|
-
- Changed the optional HyperFormula dependency from 0.6.2 to ^1.1.0, which introduces breaking changes for the `Formulas` plugin users. [#8502](https://github.com/handsontable/handsontable/issues/8502)
|
45
|
-
- Changed the default values for the `rowsLimit` and `columnsLimit` options of the `CopyPaste` plugin. [#8660](https://github.com/handsontable/handsontable/issues/8660)
|
46
|
-
- Added a default font family, size, weight and color. [#8661](https://github.com/handsontable/handsontable/issues/8661)
|
47
|
-
- Changed the `autoWrapRow` and `autoWrapCol` options\` default values from `true` to `false`. [#8662](https://github.com/handsontable/handsontable/issues/8662)
|
119
|
+
- **Breaking change**: Unified the naming and description of the fourth argument, `controller`, for selection manipulation in the `beforeOnCellMouseDown` and `beforeOnCellMouseOver` hooks. [#4996](https://github.com/handsontable/handsontable/issues/4996)
|
120
|
+
- **Breaking change**: Changed what the `beforeRender` and `afterRender` hooks are, and when they are triggered. Added two new hooks: `beforeViewRender` and `afterViewRender`. [#6303](https://github.com/handsontable/handsontable/issues/6303)
|
121
|
+
- **Breaking change**: Changed the optional HyperFormula dependency from 0.6.2 to ^1.1.0, which introduces breaking changes for the `Formulas` plugin users. [#8502](https://github.com/handsontable/handsontable/issues/8502)
|
122
|
+
- **Breaking change**: Changed the default values for the `rowsLimit` and `columnsLimit` options of the `CopyPaste` plugin. [#8660](https://github.com/handsontable/handsontable/issues/8660)
|
123
|
+
- **Breaking change**: Added a default font family, size, weight and color. [#8661](https://github.com/handsontable/handsontable/issues/8661)
|
124
|
+
- **Breaking change**: Changed the `autoWrapRow` and `autoWrapCol` options\` default values from `true` to `false`. [#8662](https://github.com/handsontable/handsontable/issues/8662)
|
48
125
|
- Improved the performance of the `getCellMeta()` method. [#6303](https://github.com/handsontable/handsontable/issues/6303)
|
49
126
|
- Improved the documentation and TypeScript definition of the `selectOptions` option. [#8488](https://github.com/handsontable/handsontable/issues/8488)
|
50
127
|
- Improved the arguments forwarding in the hooks [#8668](https://github.com/handsontable/handsontable/issues/8668)
|
@@ -93,8 +170,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
93
170
|
## [9.0.0] - 2021-06-01
|
94
171
|
|
95
172
|
### Changed
|
96
|
-
- **Breaking change
|
97
|
-
- **Breaking change
|
173
|
+
- **Breaking change**: New Formulas plugin, with an entirely different API. See the migration guide for a full list of changes. Removed the required `hot-formula-parser` dependency for the sake of an optional one, `hyperformula`. [#6466](https://github.com/handsontable/handsontable/issues/6466)
|
174
|
+
- **Breaking change**: Changed the `afterAutofill` and `beforeAutofill` hooks' signatures. [#7987](https://github.com/handsontable/handsontable/issues/7987)
|
98
175
|
- Upgraded `eslint` and eslint-related modules. [#7531](https://github.com/handsontable/handsontable/issues/7531)
|
99
176
|
- Added `fit` & `fdescribe` to restricted globals in test files. [#8088](https://github.com/handsontable/handsontable/issues/8088)
|
100
177
|
|
@@ -103,7 +180,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
103
180
|
- Fixed a problem with duplicated `afterCreateCol` hooks being triggered after undoing a removal of a column. [#8076](https://github.com/handsontable/handsontable/issues/8076)
|
104
181
|
|
105
182
|
### Removed
|
106
|
-
- **Breaking change
|
183
|
+
- **Breaking change**: Removed the deprecated plugins - Header Tooltips and Observe Changes. [#8083](https://github.com/handsontable/handsontable/issues/8083)
|
107
184
|
|
108
185
|
### Deprecated
|
109
186
|
- Deprecated the `beforeAutofillInsidePopulate` hook. It will be removed in the next major release. [#8095](https://github.com/handsontable/handsontable/issues/8095)
|
package/README.md
CHANGED
@@ -9,7 +9,6 @@ It provides data binding, data validation, filtering, sorting, and CRUD operatio
|
|
9
9
|
[](https://npmjs.com/package/handsontable)
|
10
10
|
[](https://github.com/handsontable/handsontable/actions/workflows/test.yml?query=branch%3Amaster)
|
11
11
|
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fhandsontable%2Fhandsontable?ref=badge_shield)
|
12
|
-
[](https://snyk.io/test/github/handsontable/handsontable?targetFile=package.json)
|
13
12
|
[](https://sonarcloud.io/dashboard?id=handsontable_handsontable)
|
14
13
|
|
15
14
|
---
|
@@ -29,7 +28,11 @@ It provides data binding, data validation, filtering, sorting, and CRUD operatio
|
|
29
28
|
<img src="https://raw.githubusercontent.com/handsontable/handsontable/develop/resources/icons/vue-icon.svg" width="14" height="14">
|
30
29
|
<a href="https://github.com/handsontable/handsontable/tree/master/wrappers/vue"> <strong>Vue</strong></a>
|
31
30
|
</td>
|
32
|
-
|
31
|
+
<td>
|
32
|
+
<img src="https://raw.githubusercontent.com/handsontable/handsontable/develop/resources/icons/vue-icon.svg" width="14" height="14">
|
33
|
+
<a href="https://github.com/handsontable/handsontable/tree/master/wrappers/vue3"> <strong>Vue 3</strong></a>
|
34
|
+
</td>
|
35
|
+
<td>
|
33
36
|
<img src="https://raw.githubusercontent.com/handsontable/handsontable/develop/resources/icons/javascript-icon.svg" width="14" height="14">
|
34
37
|
<a href="#installation"> <strong>JavaScript</strong></a>
|
35
38
|
</td>
|
@@ -38,7 +41,7 @@ It provides data binding, data validation, filtering, sorting, and CRUD operatio
|
|
38
41
|
|
39
42
|
---
|
40
43
|
|
41
|
-
<a href="https://handsontable.com/
|
44
|
+
<a href="https://handsontable.com/demo"><img src="https://raw.githubusercontent.com/handsontable/handsontable/develop/resources/handsontable-github-preview.png" alt="Handsontable data grid" width="805"/></a>
|
42
45
|
|
43
46
|
</div>
|
44
47
|
|
@@ -63,9 +66,9 @@ The most popular features of Handsontable:
|
|
63
66
|
## Documentation
|
64
67
|
|
65
68
|
- [Developer guides](https://handsontable.com/docs)
|
66
|
-
- [API Reference](https://handsontable.com/docs/
|
67
|
-
- [
|
68
|
-
- [Demo](https://handsontable.com/
|
69
|
+
- [API Reference](https://handsontable.com/docs/api/core/)
|
70
|
+
- [Changelog](https://handsontable.com/docs/release-notes/)
|
71
|
+
- [Demo](https://handsontable.com/demo)
|
69
72
|
|
70
73
|
<div id="installation"></div>
|
71
74
|
|
@@ -129,7 +132,7 @@ Handsontable is a commercial software with two licenses available:
|
|
129
132
|
|
130
133
|
If you use Handsontable in a project that supports your commercial activity, then you must purchase the license key at [handsontable.com](https://handsontable.com/pricing).
|
131
134
|
|
132
|
-
If you use the free for non-commercial license of Handsontable, then pass the phrase `'non-commercial-and-evaluation'`, as described in [this documentation](https://handsontable.com/docs/
|
135
|
+
If you use the free for non-commercial license of Handsontable, then pass the phrase `'non-commercial-and-evaluation'`, as described in [this documentation](https://handsontable.com/docs/license-key/).
|
133
136
|
|
134
137
|
<br>
|
135
138
|
<br>
|
package/base.js
CHANGED
@@ -52,8 +52,8 @@ Handsontable.Core = function (rootElement) {
|
|
52
52
|
Handsontable.DefaultSettings = (0, _dataMap.metaSchemaFactory)();
|
53
53
|
Handsontable.hooks = _pluginHooks.default.getSingleton();
|
54
54
|
Handsontable.packageName = 'handsontable';
|
55
|
-
Handsontable.buildDate = "
|
56
|
-
Handsontable.version = "
|
55
|
+
Handsontable.buildDate = "28/04/2022 12:45:01";
|
56
|
+
Handsontable.version = "12.0.0";
|
57
57
|
Handsontable.languages = {
|
58
58
|
dictionaryKeys: _registry.dictionaryKeys,
|
59
59
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
package/base.mjs
CHANGED
@@ -37,8 +37,8 @@ Handsontable.Core = function (rootElement) {
|
|
37
37
|
Handsontable.DefaultSettings = metaSchemaFactory();
|
38
38
|
Handsontable.hooks = Hooks.getSingleton();
|
39
39
|
Handsontable.packageName = 'handsontable';
|
40
|
-
Handsontable.buildDate = "
|
41
|
-
Handsontable.version = "
|
40
|
+
Handsontable.buildDate = "28/04/2022 12:45:15";
|
41
|
+
Handsontable.version = "12.0.0";
|
42
42
|
Handsontable.languages = {
|
43
43
|
dictionaryKeys: dictionaryKeys,
|
44
44
|
getLanguageDictionary: getLanguageDictionary,
|