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
@@ -0,0 +1,42 @@
|
|
1
|
+
import "core-js/modules/es.regexp.exec.js";
|
2
|
+
import "core-js/modules/es.string.split.js";
|
3
|
+
import { getCaretPosition, setCaretPosition } from "../../helpers/dom/element.mjs";
|
4
|
+
/**
|
5
|
+
* Updates the textarea caret position depends on the action executed on that element.
|
6
|
+
*
|
7
|
+
* The following actions are supported:
|
8
|
+
* - 'home': Move the caret to the beginning of the current line;
|
9
|
+
* - 'end': Move the caret to the end of the current line.
|
10
|
+
*
|
11
|
+
* @param {'home'|'end'} actionName The action to perform that modifies the caret behavior.
|
12
|
+
* @param {HTMLTextAreaElement} textareaElement The textarea element where the action is supposed to happen.
|
13
|
+
*/
|
14
|
+
|
15
|
+
export function updateCaretPosition(actionName, textareaElement) {
|
16
|
+
var caretPosition = getCaretPosition(textareaElement);
|
17
|
+
var textLines = textareaElement.value.split('\n');
|
18
|
+
var newCaretPosition = caretPosition;
|
19
|
+
var lineStartIndex = 0;
|
20
|
+
|
21
|
+
for (var i = 0; i < textLines.length; i++) {
|
22
|
+
var textLine = textLines[i];
|
23
|
+
|
24
|
+
if (i !== 0) {
|
25
|
+
lineStartIndex += textLines[i - 1].length + 1;
|
26
|
+
}
|
27
|
+
|
28
|
+
var lineEndIndex = lineStartIndex + textLine.length;
|
29
|
+
|
30
|
+
if (actionName === 'home') {
|
31
|
+
newCaretPosition = lineStartIndex;
|
32
|
+
} else if (actionName === 'end') {
|
33
|
+
newCaretPosition = lineEndIndex;
|
34
|
+
}
|
35
|
+
|
36
|
+
if (caretPosition <= lineEndIndex) {
|
37
|
+
break;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
|
41
|
+
setCaretPosition(textareaElement, newCaretPosition);
|
42
|
+
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
4
4
|
|
5
5
|
require("core-js/modules/es.object.to-string.js");
|
6
6
|
|
@@ -22,14 +22,16 @@ require("core-js/modules/es.string.iterator.js");
|
|
22
22
|
|
23
23
|
require("core-js/modules/web.dom-collections.iterator.js");
|
24
24
|
|
25
|
-
|
26
|
-
exports.TextEditor = exports.EDITOR_TYPE = void 0;
|
25
|
+
require("core-js/modules/es.array.slice.js");
|
27
26
|
|
28
|
-
require("core-js/modules/es.
|
27
|
+
require("core-js/modules/es.function.name.js");
|
29
28
|
|
30
|
-
require("core-js/modules/es.array.
|
29
|
+
require("core-js/modules/es.array.from.js");
|
31
30
|
|
32
|
-
require("core-js/modules/es.
|
31
|
+
require("core-js/modules/es.regexp.exec.js");
|
32
|
+
|
33
|
+
exports.__esModule = true;
|
34
|
+
exports.TextEditor = exports.EDITOR_TYPE = void 0;
|
33
35
|
|
34
36
|
require("core-js/modules/es.array.index-of.js");
|
35
37
|
|
@@ -45,27 +47,45 @@ var _browser = require("../../helpers/browser");
|
|
45
47
|
|
46
48
|
var _element = require("../../helpers/dom/element");
|
47
49
|
|
48
|
-
var _event = require("../../helpers/dom/event");
|
49
|
-
|
50
50
|
var _number = require("../../helpers/number");
|
51
51
|
|
52
52
|
var _unicode = require("../../helpers/unicode");
|
53
53
|
|
54
54
|
var _autoResize = require("../../3rdparty/autoResize");
|
55
55
|
|
56
|
+
var _mixed = require("../../helpers/mixed");
|
57
|
+
|
58
|
+
var _editorManager = require("../../editorManager");
|
59
|
+
|
60
|
+
var _baseEditor2 = require("../baseEditor/baseEditor");
|
61
|
+
|
62
|
+
var _caretPositioner = require("./caretPositioner");
|
63
|
+
|
56
64
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
57
65
|
|
66
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
67
|
+
|
68
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
69
|
+
|
70
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
71
|
+
|
72
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
73
|
+
|
74
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
75
|
+
|
76
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
77
|
+
|
58
78
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
59
79
|
|
60
80
|
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); } }
|
61
81
|
|
62
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
82
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
63
83
|
|
64
|
-
function _get(
|
84
|
+
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
|
65
85
|
|
66
86
|
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
67
87
|
|
68
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
88
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
69
89
|
|
70
90
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
71
91
|
|
@@ -81,6 +101,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
|
|
81
101
|
|
82
102
|
var EDITOR_VISIBLE_CLASS_NAME = 'ht_editor_visible';
|
83
103
|
var EDITOR_HIDDEN_CLASS_NAME = 'ht_editor_hidden';
|
104
|
+
var SHORTCUTS_GROUP = 'textEditor';
|
84
105
|
var EDITOR_TYPE = 'text';
|
85
106
|
/**
|
86
107
|
* @private
|
@@ -205,9 +226,12 @@ var TextEditor = /*#__PURE__*/function (_BaseEditor) {
|
|
205
226
|
this.refreshDimensions(); // need it instantly, to prevent https://github.com/handsontable/handsontable/issues/348
|
206
227
|
|
207
228
|
this.showEditableElement();
|
208
|
-
this.
|
209
|
-
|
229
|
+
var shortcutManager = this.hot.getShortcutManager();
|
230
|
+
shortcutManager.setActiveContextName('editor');
|
231
|
+
this.addHook('afterDocumentKeyDown', function (event) {
|
232
|
+
return _this2.onAfterDocumentKeyDown(event);
|
210
233
|
});
|
234
|
+
this.registerShortcuts();
|
211
235
|
}
|
212
236
|
/**
|
213
237
|
* Closes the editor.
|
@@ -223,7 +247,8 @@ var TextEditor = /*#__PURE__*/function (_BaseEditor) {
|
|
223
247
|
}
|
224
248
|
|
225
249
|
this.hideEditableElement();
|
226
|
-
this.
|
250
|
+
this.unregisterShortcuts();
|
251
|
+
this.removeHooksByKey('afterDocumentKeyDown');
|
227
252
|
}
|
228
253
|
/**
|
229
254
|
* Prepares editor's meta data.
|
@@ -249,7 +274,7 @@ var TextEditor = /*#__PURE__*/function (_BaseEditor) {
|
|
249
274
|
fragmentSelection = cellProperties.fragmentSelection;
|
250
275
|
|
251
276
|
if (allowInvalid) {
|
252
|
-
// Remove an empty space from
|
277
|
+
// Remove an empty space from textarea (added by copyPaste plugin to make copy/paste
|
253
278
|
// functionality work with IME)
|
254
279
|
this.TEXTAREA.value = '';
|
255
280
|
}
|
@@ -281,7 +306,7 @@ var TextEditor = /*#__PURE__*/function (_BaseEditor) {
|
|
281
306
|
return;
|
282
307
|
}
|
283
308
|
|
284
|
-
this.TEXTAREA.value = ''; // Remove an empty space from
|
309
|
+
this.TEXTAREA.value = ''; // Remove an empty space from textarea (added by copyPaste plugin to make copy/paste functionality work with IME).
|
285
310
|
|
286
311
|
_get(_getPrototypeOf(TextEditor.prototype), "beginEditing", this).call(this, newInitialValue, event);
|
287
312
|
}
|
@@ -294,7 +319,7 @@ var TextEditor = /*#__PURE__*/function (_BaseEditor) {
|
|
294
319
|
value: function focus() {
|
295
320
|
// For IME editor textarea element must be focused using ".select" method.
|
296
321
|
// Using ".focus" browser automatically scroll into the focused element which
|
297
|
-
// is
|
322
|
+
// is undesired effect.
|
298
323
|
this.TEXTAREA.select();
|
299
324
|
(0, _element.setCaretPosition)(this.TEXTAREA, this.TEXTAREA.value.length);
|
300
325
|
}
|
@@ -343,11 +368,7 @@ var TextEditor = /*#__PURE__*/function (_BaseEditor) {
|
|
343
368
|
this.textareaStyle.overflowY = 'visible';
|
344
369
|
this.textareaParentStyle.opacity = '0';
|
345
370
|
this.textareaParentStyle.height = '1px';
|
346
|
-
|
347
|
-
if ((0, _element.hasClass)(this.TEXTAREA_PARENT, this.layerClass)) {
|
348
|
-
(0, _element.removeClass)(this.TEXTAREA_PARENT, this.layerClass);
|
349
|
-
}
|
350
|
-
|
371
|
+
(0, _element.removeClass)(this.TEXTAREA_PARENT, this.layerClass);
|
351
372
|
(0, _element.addClass)(this.TEXTAREA_PARENT, EDITOR_HIDDEN_CLASS_NAME);
|
352
373
|
}
|
353
374
|
/**
|
@@ -362,7 +383,7 @@ var TextEditor = /*#__PURE__*/function (_BaseEditor) {
|
|
362
383
|
this.textareaParentStyle.height = '';
|
363
384
|
this.textareaParentStyle.overflow = '';
|
364
385
|
this.textareaParentStyle.position = '';
|
365
|
-
this.textareaParentStyle.right = 'auto';
|
386
|
+
this.textareaParentStyle[this.hot.isRtl() ? 'left' : 'right'] = 'auto';
|
366
387
|
this.textareaParentStyle.opacity = '1';
|
367
388
|
this.textareaStyle.textIndent = '';
|
368
389
|
this.textareaStyle.overflowY = 'hidden';
|
@@ -430,98 +451,34 @@ var TextEditor = /*#__PURE__*/function (_BaseEditor) {
|
|
430
451
|
return;
|
431
452
|
}
|
432
453
|
|
433
|
-
var _this$
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
var containerScrollTop = scrollableContainerTop !== this.hot.rootWindow ? scrollableContainerTop.scrollTop : 0;
|
441
|
-
var containerScrollLeft = scrollableContainerLeft !== this.hot.rootWindow ? scrollableContainerLeft.scrollLeft : 0;
|
442
|
-
var editorSection = this.checkEditorSection();
|
443
|
-
var scrollTop = ['', 'left'].includes(editorSection) ? containerScrollTop : 0;
|
444
|
-
var scrollLeft = ['', 'top', 'bottom'].includes(editorSection) ? containerScrollLeft : 0; // If colHeaders is disabled, cells in the first row have border-top
|
445
|
-
|
446
|
-
var editTopModifier = currentOffset.top === containerOffset.top ? 0 : 1;
|
447
|
-
var backgroundColor = this.TD.style.backgroundColor;
|
448
|
-
var editTop = currentOffset.top - containerOffset.top - editTopModifier - scrollTop;
|
449
|
-
var editLeft = currentOffset.left - containerOffset.left - 1 - scrollLeft;
|
450
|
-
var cssTransformOffset; // TODO: Refactor this to the new instance.getCell method (from #ply-59), after 0.12.1 is released
|
451
|
-
|
452
|
-
switch (editorSection) {
|
453
|
-
case 'top':
|
454
|
-
cssTransformOffset = (0, _element.getCssTransform)(wtOverlays.topOverlay.clone.wtTable.holder.parentNode);
|
455
|
-
break;
|
456
|
-
|
457
|
-
case 'left':
|
458
|
-
cssTransformOffset = (0, _element.getCssTransform)(wtOverlays.leftOverlay.clone.wtTable.holder.parentNode);
|
459
|
-
break;
|
460
|
-
|
461
|
-
case 'top-left-corner':
|
462
|
-
cssTransformOffset = (0, _element.getCssTransform)(wtOverlays.topLeftCornerOverlay.clone.wtTable.holder.parentNode);
|
463
|
-
break;
|
464
|
-
|
465
|
-
case 'bottom-left-corner':
|
466
|
-
cssTransformOffset = (0, _element.getCssTransform)(wtOverlays.bottomLeftCornerOverlay.clone.wtTable.holder.parentNode);
|
467
|
-
break;
|
468
|
-
|
469
|
-
case 'bottom':
|
470
|
-
cssTransformOffset = (0, _element.getCssTransform)(wtOverlays.bottomOverlay.clone.wtTable.holder.parentNode);
|
471
|
-
break;
|
472
|
-
|
473
|
-
default:
|
474
|
-
break;
|
475
|
-
}
|
476
|
-
|
477
|
-
var hasColumnHeaders = this.hot.hasColHeaders();
|
478
|
-
var renderableRow = this.hot.rowIndexMapper.getRenderableFromVisualIndex(this.row);
|
479
|
-
var renderableColumn = this.hot.columnIndexMapper.getRenderableFromVisualIndex(this.col);
|
480
|
-
var nrOfRenderableRowIndexes = this.hot.rowIndexMapper.getRenderableIndexesLength();
|
481
|
-
var firstRowIndexOfTheBottomOverlay = nrOfRenderableRowIndexes - this.hot.view.wt.getSetting('fixedRowsBottom');
|
482
|
-
|
483
|
-
if (hasColumnHeaders && renderableRow <= 0 || renderableRow === firstRowIndexOfTheBottomOverlay) {
|
484
|
-
editTop += 1;
|
485
|
-
}
|
486
|
-
|
487
|
-
if (renderableColumn <= 0) {
|
488
|
-
editLeft += 1;
|
489
|
-
}
|
490
|
-
|
491
|
-
if (cssTransformOffset && cssTransformOffset !== -1) {
|
492
|
-
this.textareaParentStyle[cssTransformOffset[0]] = cssTransformOffset[1];
|
493
|
-
} else {
|
494
|
-
(0, _element.resetCssTransform)(this.TEXTAREA_PARENT);
|
495
|
-
}
|
454
|
+
var _this$getEditedCellRe = this.getEditedCellRect(),
|
455
|
+
top = _this$getEditedCellRe.top,
|
456
|
+
start = _this$getEditedCellRe.start,
|
457
|
+
width = _this$getEditedCellRe.width,
|
458
|
+
maxWidth = _this$getEditedCellRe.maxWidth,
|
459
|
+
height = _this$getEditedCellRe.height,
|
460
|
+
maxHeight = _this$getEditedCellRe.maxHeight;
|
496
461
|
|
497
|
-
this.textareaParentStyle.top = "".concat(
|
498
|
-
this.textareaParentStyle.left = "".concat(
|
462
|
+
this.textareaParentStyle.top = "".concat(top, "px");
|
463
|
+
this.textareaParentStyle[this.hot.isRtl() ? 'right' : 'left'] = "".concat(start, "px");
|
499
464
|
this.showEditableElement();
|
500
|
-
var firstRowOffset = wtViewport.rowsRenderCalculator.startPosition;
|
501
|
-
var firstColumnOffset = wtViewport.columnsRenderCalculator.startPosition;
|
502
|
-
var horizontalScrollPosition = wtOverlays.leftOverlay.getScrollPosition();
|
503
|
-
var verticalScrollPosition = wtOverlays.topOverlay.getScrollPosition();
|
504
|
-
var scrollbarWidth = (0, _element.getScrollbarWidth)(this.hot.rootDocument);
|
505
|
-
var cellTopOffset = this.TD.offsetTop + firstRowOffset - verticalScrollPosition;
|
506
|
-
var cellLeftOffset = this.TD.offsetLeft + firstColumnOffset - horizontalScrollPosition;
|
507
|
-
var width = (0, _element.innerWidth)(this.TD) - 8;
|
508
|
-
var actualVerticalScrollbarWidth = (0, _element.hasVerticalScrollbar)(scrollableContainerTop) ? scrollbarWidth : 0;
|
509
|
-
var actualHorizontalScrollbarWidth = (0, _element.hasHorizontalScrollbar)(scrollableContainerLeft) ? scrollbarWidth : 0;
|
510
|
-
var maxWidth = this.hot.view.maximumVisibleElementWidth(cellLeftOffset) - 9 - actualVerticalScrollbarWidth;
|
511
|
-
var height = this.TD.scrollHeight + 1;
|
512
|
-
var maxHeight = Math.max(this.hot.view.maximumVisibleElementHeight(cellTopOffset) - actualHorizontalScrollbarWidth, 23); // eslint-disable-line max-len
|
513
|
-
|
514
465
|
var cellComputedStyle = (0, _element.getComputedStyle)(this.TD, this.hot.rootWindow);
|
515
466
|
this.TEXTAREA.style.fontSize = cellComputedStyle.fontSize;
|
516
467
|
this.TEXTAREA.style.fontFamily = cellComputedStyle.fontFamily;
|
517
|
-
this.TEXTAREA.style.backgroundColor = backgroundColor;
|
468
|
+
this.TEXTAREA.style.backgroundColor = this.TD.style.backgroundColor;
|
469
|
+
var textareaComputedStyle = (0, _element.getComputedStyle)(this.TEXTAREA);
|
470
|
+
var horizontalPadding = parseInt(textareaComputedStyle.paddingLeft, 10) + parseInt(textareaComputedStyle.paddingRight, 10);
|
471
|
+
var verticalPadding = parseInt(textareaComputedStyle.paddingTop, 10) + parseInt(textareaComputedStyle.paddingBottom, 10);
|
472
|
+
var finalWidth = width - horizontalPadding;
|
473
|
+
var finalHeight = height - verticalPadding;
|
474
|
+
var finalMaxWidth = maxWidth - horizontalPadding;
|
475
|
+
var finalMaxHeight = maxHeight - verticalPadding;
|
518
476
|
this.autoResize.init(this.TEXTAREA, {
|
519
|
-
|
520
|
-
|
521
|
-
// TEXTAREA should never be
|
522
|
-
|
523
|
-
|
524
|
-
|
477
|
+
minWidth: Math.min(finalWidth, finalMaxWidth),
|
478
|
+
minHeight: Math.min(finalHeight, finalMaxHeight),
|
479
|
+
// TEXTAREA should never be wider than visible part of the viewport (should not cover the scrollbar)
|
480
|
+
maxWidth: finalMaxWidth,
|
481
|
+
maxHeight: finalMaxHeight
|
525
482
|
}, true);
|
526
483
|
}
|
527
484
|
/**
|
@@ -588,86 +545,153 @@ var TextEditor = /*#__PURE__*/function (_BaseEditor) {
|
|
588
545
|
this.clearHooks();
|
589
546
|
}
|
590
547
|
/**
|
591
|
-
*
|
548
|
+
* Register shortcuts responsible for handling editor.
|
592
549
|
*
|
593
|
-
* @
|
550
|
+
* @private
|
594
551
|
*/
|
595
552
|
|
596
553
|
}, {
|
597
|
-
key: "
|
598
|
-
value: function
|
599
|
-
|
600
|
-
|
554
|
+
key: "registerShortcuts",
|
555
|
+
value: function registerShortcuts() {
|
556
|
+
var _this4 = this;
|
557
|
+
|
558
|
+
var shortcutManager = this.hot.getShortcutManager();
|
559
|
+
var editorContext = shortcutManager.getContext('editor');
|
560
|
+
var contextConfig = {
|
561
|
+
runOnlyIf: function runOnlyIf() {
|
562
|
+
return (0, _mixed.isDefined)(_this4.hot.getSelected());
|
563
|
+
},
|
564
|
+
group: SHORTCUTS_GROUP
|
565
|
+
};
|
566
|
+
|
567
|
+
var insertNewLine = function insertNewLine() {
|
568
|
+
_this4.hot.rootDocument.execCommand('insertText', false, '\n');
|
569
|
+
};
|
570
|
+
|
571
|
+
editorContext.addShortcuts([{
|
572
|
+
keys: [['Tab']],
|
573
|
+
// TODO: Duplicated part of code (callback to shortcut).
|
574
|
+
callback: function callback(event) {
|
575
|
+
var tableMeta = _this4.hot.getSettings();
|
576
|
+
|
577
|
+
var tabMoves = typeof tableMeta.tabMoves === 'function' ? tableMeta.tabMoves(event) : tableMeta.tabMoves;
|
578
|
+
|
579
|
+
_this4.hot.selection.transformStart(tabMoves.row, tabMoves.col, true);
|
580
|
+
}
|
581
|
+
}, {
|
582
|
+
keys: [['Shift', 'Tab']],
|
583
|
+
// TODO: Duplicated part of code (callback to shortcut).
|
584
|
+
callback: function callback(event) {
|
585
|
+
var tableMeta = _this4.hot.getSettings();
|
601
586
|
|
602
|
-
|
603
|
-
return;
|
604
|
-
}
|
587
|
+
var tabMoves = typeof tableMeta.tabMoves === 'function' ? tableMeta.tabMoves(event) : tableMeta.tabMoves;
|
605
588
|
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
case _unicode.KEY_CODES.BACKSPACE:
|
660
|
-
case _unicode.KEY_CODES.DELETE:
|
661
|
-
case _unicode.KEY_CODES.HOME:
|
662
|
-
case _unicode.KEY_CODES.END:
|
663
|
-
(0, _event.stopImmediatePropagation)(event); // backspace, delete, home, end should only work locally when cell is edited (not in table context)
|
664
|
-
|
665
|
-
break;
|
666
|
-
|
667
|
-
default:
|
668
|
-
break;
|
669
|
-
}
|
589
|
+
_this4.hot.selection.transformStart(-tabMoves.row, -tabMoves.col);
|
590
|
+
}
|
591
|
+
}, {
|
592
|
+
keys: [['Control', 'Enter']],
|
593
|
+
callback: function callback() {
|
594
|
+
insertNewLine();
|
595
|
+
return false; // Will block closing editor.
|
596
|
+
},
|
597
|
+
runOnlyIf: function runOnlyIf(event) {
|
598
|
+
return !_this4.hot.selection.isMultiple() && // We trigger a data population for multiple selection.
|
599
|
+
// catch CTRL but not right ALT (which in some systems triggers ALT+CTRL)
|
600
|
+
!event.altKey;
|
601
|
+
},
|
602
|
+
relativeToGroup: _editorManager.SHORTCUTS_GROUP_EDITOR,
|
603
|
+
position: 'before'
|
604
|
+
}, {
|
605
|
+
keys: [['Meta', 'Enter']],
|
606
|
+
callback: function callback() {
|
607
|
+
insertNewLine();
|
608
|
+
return false; // Will block closing editor.
|
609
|
+
},
|
610
|
+
runOnlyIf: function runOnlyIf() {
|
611
|
+
return !_this4.hot.selection.isMultiple();
|
612
|
+
},
|
613
|
+
// We trigger a data population for multiple selection.
|
614
|
+
relativeToGroup: _editorManager.SHORTCUTS_GROUP_EDITOR,
|
615
|
+
position: 'before'
|
616
|
+
}, {
|
617
|
+
keys: [['Alt', 'Enter']],
|
618
|
+
callback: function callback() {
|
619
|
+
insertNewLine();
|
620
|
+
return false; // Will block closing editor.
|
621
|
+
},
|
622
|
+
relativeToGroup: _editorManager.SHORTCUTS_GROUP_EDITOR,
|
623
|
+
position: 'before'
|
624
|
+
}, {
|
625
|
+
// TODO: Duplicated part of code (callback to shortcut)
|
626
|
+
keys: [['PageUp']],
|
627
|
+
callback: function callback() {
|
628
|
+
_this4.hot.selection.transformStart(-_this4.hot.countVisibleRows(), 0);
|
629
|
+
}
|
630
|
+
}, {
|
631
|
+
// TODO: Duplicated part of code (callback to shortcut)
|
632
|
+
keys: [['PageDown']],
|
633
|
+
callback: function callback() {
|
634
|
+
_this4.hot.selection.transformStart(_this4.hot.countVisibleRows(), 0);
|
635
|
+
}
|
636
|
+
}, {
|
637
|
+
keys: [['Home']],
|
638
|
+
callback: function callback(event, _ref) {
|
639
|
+
var _ref2 = _slicedToArray(_ref, 1),
|
640
|
+
keyName = _ref2[0];
|
670
641
|
|
642
|
+
(0, _caretPositioner.updateCaretPosition)(keyName, _this4.TEXTAREA);
|
643
|
+
}
|
644
|
+
}, {
|
645
|
+
keys: [['End']],
|
646
|
+
callback: function callback(event, _ref3) {
|
647
|
+
var _ref4 = _slicedToArray(_ref3, 1),
|
648
|
+
keyName = _ref4[0];
|
649
|
+
|
650
|
+
(0, _caretPositioner.updateCaretPosition)(keyName, _this4.TEXTAREA);
|
651
|
+
}
|
652
|
+
}, {
|
653
|
+
keys: [['Control/Meta', 'Z']],
|
654
|
+
preventDefault: false,
|
655
|
+
callback: function callback() {
|
656
|
+
_this4.hot._registerTimeout(function () {
|
657
|
+
_this4.autoResize.resize();
|
658
|
+
}, 10);
|
659
|
+
}
|
660
|
+
}, {
|
661
|
+
keys: [['Control/Meta', 'Shift', 'Z']],
|
662
|
+
preventDefault: false,
|
663
|
+
callback: function callback() {
|
664
|
+
_this4.hot._registerTimeout(function () {
|
665
|
+
_this4.autoResize.resize();
|
666
|
+
}, 10);
|
667
|
+
}
|
668
|
+
}], contextConfig);
|
669
|
+
}
|
670
|
+
/**
|
671
|
+
* Unregister shortcuts responsible for handling editor.
|
672
|
+
*
|
673
|
+
* @private
|
674
|
+
*/
|
675
|
+
|
676
|
+
}, {
|
677
|
+
key: "unregisterShortcuts",
|
678
|
+
value: function unregisterShortcuts() {
|
679
|
+
var shortcutManager = this.hot.getShortcutManager();
|
680
|
+
var editorContext = shortcutManager.getContext('editor');
|
681
|
+
editorContext.removeShortcutsByGroup(_editorManager.SHORTCUTS_GROUP_NAVIGATION);
|
682
|
+
editorContext.removeShortcutsByGroup(SHORTCUTS_GROUP);
|
683
|
+
editorContext.removeShortcutsByGroup(_baseEditor2.SHORTCUTS_GROUP_EDITOR);
|
684
|
+
}
|
685
|
+
/**
|
686
|
+
* OnAfterDocumentKeyDown callback.
|
687
|
+
*
|
688
|
+
* @private
|
689
|
+
* @param {KeyboardEvent} event The keyboard event object.
|
690
|
+
*/
|
691
|
+
|
692
|
+
}, {
|
693
|
+
key: "onAfterDocumentKeyDown",
|
694
|
+
value: function onAfterDocumentKeyDown(event) {
|
671
695
|
var arrowKeyCodes = [_unicode.KEY_CODES.ARROW_UP, _unicode.KEY_CODES.ARROW_RIGHT, _unicode.KEY_CODES.ARROW_DOWN, _unicode.KEY_CODES.ARROW_LEFT];
|
672
696
|
|
673
697
|
if (arrowKeyCodes.indexOf(event.keyCode) === -1) {
|