handsontable 11.1.0 → 12.1.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 +120 -98
- package/3rdparty/walkontable/src/border.mjs +120 -94
- package/3rdparty/walkontable/src/cell/coords.js +59 -17
- package/3rdparty/walkontable/src/cell/coords.mjs +55 -17
- package/3rdparty/walkontable/src/cell/range.d.ts +10 -2
- package/3rdparty/walkontable/src/cell/range.js +278 -99
- package/3rdparty/walkontable/src/cell/range.mjs +273 -99
- 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 +99 -66
- package/3rdparty/walkontable/src/event.mjs +99 -63
- package/3rdparty/walkontable/src/facade/core.js +251 -0
- package/3rdparty/walkontable/src/facade/core.mjs +243 -0
- package/3rdparty/walkontable/src/index.js +2 -46
- package/3rdparty/walkontable/src/index.mjs +3 -13
- package/3rdparty/walkontable/src/overlay/_base.js +124 -57
- package/3rdparty/walkontable/src/overlay/_base.mjs +124 -57
- package/3rdparty/walkontable/src/overlay/bottom.js +96 -80
- package/3rdparty/walkontable/src/overlay/bottom.mjs +96 -80
- package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.js → bottomInlineStartCorner.js} +45 -62
- package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +44 -61
- 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} +113 -82
- package/3rdparty/walkontable/src/overlay/{left.mjs → inlineStart.mjs} +112 -81
- package/3rdparty/walkontable/src/overlay/top.js +93 -68
- package/3rdparty/walkontable/src/overlay/top.mjs +93 -68
- 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 +225 -156
- package/3rdparty/walkontable/src/overlays.mjs +224 -154
- package/3rdparty/walkontable/src/renderer/cells.js +4 -3
- package/3rdparty/walkontable/src/renderer/cells.mjs +4 -3
- package/3rdparty/walkontable/src/renderer/colGroup.js +2 -2
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +2 -2
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +2 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/rows.js +2 -2
- package/3rdparty/walkontable/src/renderer/rows.mjs +2 -2
- package/3rdparty/walkontable/src/scroll.js +125 -104
- package/3rdparty/walkontable/src/scroll.mjs +124 -104
- package/3rdparty/walkontable/src/selection.js +10 -14
- package/3rdparty/walkontable/src/selection.mjs +10 -12
- package/3rdparty/walkontable/src/settings.js +235 -126
- package/3rdparty/walkontable/src/settings.mjs +235 -125
- package/3rdparty/walkontable/src/table/bottom.js +16 -5
- package/3rdparty/walkontable/src/table/bottom.mjs +15 -5
- package/3rdparty/walkontable/src/table/{bottomLeftCorner.js → bottomInlineStartCorner.js} +27 -15
- package/3rdparty/walkontable/src/table/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +26 -15
- package/3rdparty/walkontable/src/table/{left.js → inlineStart.js} +23 -15
- package/3rdparty/walkontable/src/table/{left.mjs → inlineStart.mjs} +22 -15
- package/3rdparty/walkontable/src/table/master.js +22 -12
- package/3rdparty/walkontable/src/table/master.mjs +22 -12
- 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 +16 -5
- package/3rdparty/walkontable/src/table/top.mjs +15 -5
- package/3rdparty/walkontable/src/table/{topLeftCorner.js → topInlineStartCorner.js} +27 -15
- package/3rdparty/walkontable/src/table/{topLeftCorner.mjs → topInlineStartCorner.mjs} +26 -15
- package/3rdparty/walkontable/src/table.js +235 -140
- package/3rdparty/walkontable/src/table.mjs +231 -134
- package/3rdparty/walkontable/src/types.js +103 -0
- package/3rdparty/walkontable/src/types.mjs +102 -0
- package/3rdparty/walkontable/src/utils/column.js +22 -33
- package/3rdparty/walkontable/src/utils/column.mjs +22 -30
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -2
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +2 -2
- package/3rdparty/walkontable/src/utils/row.js +9 -4
- package/3rdparty/walkontable/src/utils/row.mjs +9 -4
- package/3rdparty/walkontable/src/viewport.js +89 -100
- package/3rdparty/walkontable/src/viewport.mjs +89 -97
- package/CHANGELOG.md +92 -0
- package/LICENSE.txt +1 -1
- package/README.md +0 -1
- 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 +6 -1
- package/core.js +508 -80
- package/core.mjs +517 -92
- package/dataMap/index.js +4 -0
- package/dataMap/index.mjs +2 -1
- package/dataMap/metaManager/index.js +2 -2
- package/dataMap/metaManager/index.mjs +2 -2
- package/dataMap/metaManager/metaLayers/globalMeta.js +4 -0
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -0
- package/dataMap/metaManager/metaLayers/tableMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +2 -2
- package/dataMap/metaManager/metaSchema.js +282 -187
- package/dataMap/metaManager/metaSchema.mjs +282 -187
- package/dataMap/metaManager/mods/extendMetaProperties.js +126 -0
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +113 -0
- package/dataMap/replaceData.js +3 -17
- package/dataMap/replaceData.mjs +3 -17
- package/dist/handsontable.css +268 -92
- package/dist/handsontable.full.css +269 -103
- package/dist/handsontable.full.js +41990 -35658
- package/dist/handsontable.full.min.css +9 -9
- package/dist/handsontable.full.min.js +144 -144
- package/dist/handsontable.js +29561 -25597
- package/dist/handsontable.min.css +8 -8
- package/dist/handsontable.min.js +4 -4
- package/dist/languages/all.js +131 -34
- 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/cs-CZ.js +167 -0
- package/dist/languages/cs-CZ.min.js +1 -0
- package/dist/languages/de-CH.js +31 -29
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.js +4 -2
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.js +4 -2
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +4 -2
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.js +4 -2
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/it-IT.js +4 -2
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.js +36 -38
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.js +36 -39
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.js +2 -2
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.js +2 -2
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.js +2 -2
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.js +2 -2
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +2 -2
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.js +2 -2
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.js +171 -0
- package/dist/languages/sr-SP.min.js +1 -0
- package/dist/languages/zh-CN.js +24 -24
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.js +24 -24
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +120 -267
- package/editorManager.mjs +128 -278
- package/editors/autocompleteEditor/autocompleteEditor.js +22 -25
- package/editors/autocompleteEditor/autocompleteEditor.mjs +22 -25
- package/editors/baseEditor/baseEditor.js +205 -34
- package/editors/baseEditor/baseEditor.mjs +200 -32
- package/editors/checkboxEditor/checkboxEditor.js +2 -2
- package/editors/checkboxEditor/checkboxEditor.mjs +2 -2
- package/editors/dateEditor/dateEditor.js +21 -8
- package/editors/dateEditor/dateEditor.mjs +22 -9
- package/editors/dropdownEditor/dropdownEditor.js +3 -3
- package/editors/dropdownEditor/dropdownEditor.mjs +3 -3
- package/editors/handsontableEditor/handsontableEditor.js +106 -55
- package/editors/handsontableEditor/handsontableEditor.mjs +106 -55
- package/editors/index.d.ts +3 -0
- package/editors/index.js +6 -0
- package/editors/index.mjs +3 -1
- package/editors/numericEditor/numericEditor.js +2 -2
- package/editors/numericEditor/numericEditor.mjs +2 -2
- package/editors/passwordEditor/passwordEditor.js +3 -3
- package/editors/passwordEditor/passwordEditor.mjs +3 -3
- package/editors/selectEditor/selectEditor.js +65 -110
- package/editors/selectEditor/selectEditor.mjs +66 -109
- package/editors/textEditor/caretPositioner.js +49 -0
- package/editors/textEditor/caretPositioner.mjs +42 -0
- package/editors/textEditor/textEditor.js +205 -181
- package/editors/textEditor/textEditor.mjs +199 -179
- 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 +4 -2
- package/eventManager.mjs +4 -2
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/i18n/languages/ar-AR.js +41 -0
- package/i18n/languages/ar-AR.mjs +17 -0
- package/i18n/languages/cs-CZ.js +40 -0
- package/i18n/languages/cs-CZ.mjs +16 -0
- package/i18n/languages/index.js +12 -0
- package/i18n/languages/index.mjs +4 -1
- package/i18n/languages/sr-SP.js +40 -0
- package/i18n/languages/sr-SP.mjs +16 -0
- package/index.d.ts +4 -0
- package/languages/all.js +131 -34
- package/languages/ar-AR.js +167 -0
- package/languages/ar-AR.mjs +19 -0
- package/languages/cs-CZ.js +167 -0
- package/languages/cs-CZ.mjs +18 -0
- package/languages/de-CH.js +31 -29
- package/languages/de-DE.js +4 -2
- package/languages/en-US.js +4 -2
- package/languages/es-MX.js +4 -2
- package/languages/fr-FR.js +4 -2
- package/languages/index.js +131 -34
- package/languages/index.mjs +4 -1
- package/languages/it-IT.js +4 -2
- package/languages/ja-JP.js +36 -38
- package/languages/ko-KR.js +36 -39
- package/languages/lv-LV.js +2 -2
- package/languages/nb-NO.js +2 -2
- package/languages/nl-NL.js +2 -2
- package/languages/pl-PL.js +2 -2
- package/languages/pt-BR.js +2 -2
- package/languages/ru-RU.js +2 -2
- package/languages/sr-SP.js +171 -0
- package/languages/sr-SP.mjs +18 -0
- package/languages/zh-CN.js +24 -24
- package/languages/zh-TW.js +24 -24
- package/package.json +44 -4
- package/pluginHooks.js +49 -13
- package/pluginHooks.mjs +49 -13
- package/plugins/autoColumnSize/autoColumnSize.js +15 -10
- package/plugins/autoColumnSize/autoColumnSize.mjs +15 -10
- package/plugins/autoRowSize/autoRowSize.js +14 -9
- package/plugins/autoRowSize/autoRowSize.mjs +14 -9
- package/plugins/autofill/autofill.js +49 -33
- package/plugins/autofill/autofill.mjs +49 -32
- 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 +67 -4
- package/plugins/base/base.mjs +66 -4
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +3 -3
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +3 -3
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +3 -3
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +3 -3
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +3 -3
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +3 -3
- package/plugins/collapsibleColumns/collapsibleColumns.js +27 -9
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +27 -9
- package/plugins/columnSorting/columnSorting.js +5 -7
- package/plugins/columnSorting/columnSorting.mjs +5 -6
- package/plugins/columnSummary/columnSummary.js +3 -3
- package/plugins/columnSummary/columnSummary.mjs +3 -3
- package/plugins/comments/commentEditor.js +18 -2
- package/plugins/comments/commentEditor.mjs +19 -3
- package/plugins/comments/comments.js +57 -46
- package/plugins/comments/comments.mjs +58 -46
- package/plugins/contextMenu/contextMenu.js +10 -6
- package/plugins/contextMenu/contextMenu.mjs +10 -6
- package/plugins/contextMenu/menu.js +222 -110
- package/plugins/contextMenu/menu.mjs +219 -111
- package/plugins/contextMenu/predefinedItems/columnLeft.js +12 -4
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +11 -4
- package/plugins/contextMenu/predefinedItems/columnRight.js +9 -9
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +9 -9
- package/plugins/contextMenu/utils.js +2 -2
- package/plugins/contextMenu/utils.mjs +2 -2
- package/plugins/copyPaste/copyPaste.js +31 -21
- package/plugins/copyPaste/copyPaste.mjs +30 -21
- package/plugins/customBorders/contextMenuItem/left.js +4 -3
- package/plugins/customBorders/contextMenuItem/left.mjs +4 -3
- package/plugins/customBorders/contextMenuItem/right.js +4 -3
- package/plugins/customBorders/contextMenuItem/right.mjs +4 -3
- package/plugins/customBorders/customBorders.js +144 -87
- package/plugins/customBorders/customBorders.mjs +143 -85
- package/plugins/customBorders/utils.js +131 -27
- package/plugins/customBorders/utils.mjs +115 -27
- package/plugins/dragToScroll/dragToScroll.js +10 -5
- package/plugins/dragToScroll/dragToScroll.mjs +10 -5
- package/plugins/dropdownMenu/dropdownMenu.js +9 -7
- package/plugins/dropdownMenu/dropdownMenu.mjs +9 -7
- package/plugins/exportFile/exportFile.js +2 -2
- package/plugins/exportFile/exportFile.mjs +2 -2
- package/plugins/exportFile/types/csv.js +2 -2
- package/plugins/exportFile/types/csv.mjs +2 -2
- package/plugins/filters/component/actionBar.js +2 -2
- package/plugins/filters/component/actionBar.mjs +2 -2
- package/plugins/filters/component/condition.js +3 -3
- package/plugins/filters/component/condition.mjs +3 -3
- package/plugins/filters/component/operators.js +2 -2
- package/plugins/filters/component/operators.mjs +2 -2
- package/plugins/filters/component/value.js +3 -3
- package/plugins/filters/component/value.mjs +3 -3
- package/plugins/filters/filters.js +11 -8
- package/plugins/filters/filters.mjs +11 -8
- package/plugins/filters/ui/input.js +3 -3
- package/plugins/filters/ui/input.mjs +3 -3
- package/plugins/filters/ui/link.js +3 -3
- package/plugins/filters/ui/link.mjs +3 -3
- package/plugins/filters/ui/multipleSelect.js +18 -31
- package/plugins/filters/ui/multipleSelect.mjs +18 -31
- package/plugins/filters/ui/radioInput.js +3 -3
- package/plugins/filters/ui/radioInput.mjs +3 -3
- package/plugins/filters/ui/select.js +4 -4
- package/plugins/filters/ui/select.mjs +4 -4
- package/plugins/formulas/formulas.js +14 -9
- package/plugins/formulas/formulas.mjs +14 -9
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +2 -4
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +2 -4
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +5 -5
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +5 -5
- package/plugins/hiddenColumns/hiddenColumns.js +9 -4
- package/plugins/hiddenColumns/hiddenColumns.mjs +9 -4
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +2 -4
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +2 -4
- package/plugins/hiddenRows/contextMenuItem/showRow.js +5 -5
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +5 -5
- package/plugins/hiddenRows/hiddenRows.js +9 -4
- package/plugins/hiddenRows/hiddenRows.mjs +9 -4
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +54 -15
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +49 -15
- package/plugins/manualColumnMove/manualColumnMove.js +70 -70
- package/plugins/manualColumnMove/manualColumnMove.mjs +71 -71
- package/plugins/manualColumnMove/ui/_base.js +25 -12
- package/plugins/manualColumnMove/ui/_base.mjs +24 -12
- package/plugins/manualColumnMove/ui/backlight.js +3 -3
- package/plugins/manualColumnMove/ui/backlight.mjs +3 -3
- package/plugins/manualColumnMove/ui/guideline.js +3 -3
- package/plugins/manualColumnMove/ui/guideline.mjs +3 -3
- package/plugins/manualColumnResize/manualColumnResize.js +37 -21
- package/plugins/manualColumnResize/manualColumnResize.mjs +37 -21
- package/plugins/manualRowMove/manualRowMove.js +26 -34
- package/plugins/manualRowMove/manualRowMove.mjs +26 -34
- package/plugins/manualRowMove/ui/backlight.js +3 -3
- package/plugins/manualRowMove/ui/backlight.mjs +3 -3
- package/plugins/manualRowMove/ui/guideline.js +3 -3
- package/plugins/manualRowMove/ui/guideline.mjs +3 -3
- package/plugins/manualRowResize/manualRowResize.js +34 -19
- package/plugins/manualRowResize/manualRowResize.mjs +34 -19
- package/plugins/mergeCells/calculations/autofill.js +6 -5
- package/plugins/mergeCells/calculations/autofill.mjs +6 -4
- package/plugins/mergeCells/calculations/selection.js +9 -4
- package/plugins/mergeCells/calculations/selection.mjs +9 -4
- package/plugins/mergeCells/cellCoords.js +16 -4
- package/plugins/mergeCells/cellCoords.mjs +16 -3
- package/plugins/mergeCells/cellsCollection.js +30 -23
- package/plugins/mergeCells/cellsCollection.mjs +30 -22
- package/plugins/mergeCells/mergeCells.js +94 -61
- package/plugins/mergeCells/mergeCells.mjs +94 -59
- package/plugins/multiColumnSorting/multiColumnSorting.js +4 -6
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +4 -5
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +51 -57
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +52 -57
- package/plugins/nestedHeaders/nestedHeaders.js +31 -20
- package/plugins/nestedHeaders/nestedHeaders.mjs +31 -20
- package/plugins/nestedHeaders/stateManager/utils.js +3 -4
- package/plugins/nestedHeaders/stateManager/utils.mjs +3 -4
- package/plugins/nestedHeaders/utils/ghostTable.js +114 -75
- package/plugins/nestedHeaders/utils/ghostTable.mjs +114 -74
- package/plugins/nestedRows/nestedRows.js +9 -4
- package/plugins/nestedRows/nestedRows.mjs +9 -4
- package/plugins/nestedRows/ui/collapsing.js +2 -2
- package/plugins/nestedRows/ui/collapsing.mjs +2 -2
- package/plugins/nestedRows/ui/contextMenu.js +2 -2
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -2
- package/plugins/nestedRows/ui/headers.js +2 -2
- package/plugins/nestedRows/ui/headers.mjs +2 -2
- package/plugins/nestedRows/utils/rowMoveController.js +2 -4
- package/plugins/nestedRows/utils/rowMoveController.mjs +2 -3
- package/plugins/persistentState/persistentState.js +9 -4
- package/plugins/persistentState/persistentState.mjs +9 -4
- package/plugins/search/search.js +9 -4
- package/plugins/search/search.mjs +9 -4
- package/plugins/touchScroll/touchScroll.js +27 -21
- package/plugins/touchScroll/touchScroll.mjs +27 -21
- package/plugins/trimRows/trimRows.js +9 -4
- package/plugins/trimRows/trimRows.mjs +9 -4
- package/plugins/undoRedo/undoRedo.js +53 -47
- package/plugins/undoRedo/undoRedo.mjs +53 -46
- 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/visualSelection.js +94 -220
- package/selection/highlight/visualSelection.mjs +91 -213
- package/selection/mouseEventHandler.js +15 -10
- package/selection/mouseEventHandler.mjs +15 -9
- package/selection/range.js +4 -5
- package/selection/range.mjs +4 -5
- package/selection/selection.js +35 -22
- package/selection/selection.mjs +35 -20
- package/selection/transformation.js +4 -6
- package/selection/transformation.mjs +4 -5
- 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 +185 -0
- package/shortcuts/manager.mjs +176 -0
- package/shortcuts/recorder.js +192 -0
- package/shortcuts/recorder.mjs +180 -0
- package/shortcuts/utils.js +77 -0
- package/shortcuts/utils.mjs +54 -0
- package/tableView.js +164 -84
- package/tableView.mjs +164 -74
- package/translations/changesObservable/observer.js +0 -1
- package/translations/changesObservable/observer.mjs +0 -1
- package/translations/indexMapper.d.ts +3 -1
- package/translations/indexMapper.js +89 -11
- package/translations/indexMapper.mjs +91 -20
- package/translations/mapCollections/aggregatedCollection.js +2 -2
- package/translations/mapCollections/aggregatedCollection.mjs +2 -2
- package/translations/maps/hidingMap.js +4 -2
- package/translations/maps/hidingMap.mjs +4 -2
- package/translations/maps/indexMap.js +2 -0
- package/translations/maps/indexMap.mjs +2 -0
- package/translations/maps/indexesSequence.js +5 -3
- package/translations/maps/indexesSequence.mjs +5 -3
- package/translations/maps/linkedPhysicalIndexToValueMap.js +5 -3
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +5 -3
- package/translations/maps/physicalIndexToValueMap.js +5 -3
- package/translations/maps/physicalIndexToValueMap.mjs +5 -3
- package/translations/maps/trimmingMap.js +4 -2
- package/translations/maps/trimmingMap.mjs +4 -2
- 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 +1 -1
- package/utils/ghostTable.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
@@ -6,38 +6,59 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
6
6
|
|
7
7
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
import {
|
12
|
-
import {
|
13
|
-
import
|
14
|
-
import {
|
9
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
10
|
+
|
11
|
+
import { getScrollableElement, getTrimmingContainer, getScrollbarWidth } from "../../../../helpers/dom/element.mjs";
|
12
|
+
import { defineGetter } from "../../../../helpers/object.mjs";
|
13
|
+
import { arrayEach } from "../../../../helpers/array.mjs";
|
14
|
+
import { warn } from "../../../../helpers/console.mjs";
|
15
|
+
import { CLONE_TYPES, CLONE_CLASS_NAMES, CLONE_TOP, CLONE_INLINE_START } from "./constants.mjs";
|
16
|
+
import Clone from "../core/clone.mjs";
|
15
17
|
/**
|
16
18
|
* Creates an overlay over the original Walkontable instance. The overlay renders the clone of the original Walkontable
|
17
19
|
* and (optionally) implements behavior needed for native horizontal and vertical scrolling.
|
18
20
|
*
|
21
|
+
* @abstract
|
19
22
|
* @class Overlay
|
23
|
+
* @property {Walkontable} wot The Walkontable instance.
|
20
24
|
*/
|
21
25
|
|
22
26
|
export var Overlay = /*#__PURE__*/function () {
|
23
27
|
/**
|
24
|
-
*
|
28
|
+
* The Walkontable settings.
|
29
|
+
*
|
30
|
+
* @private
|
31
|
+
* @type {Settings}
|
32
|
+
*/
|
33
|
+
|
34
|
+
/**
|
35
|
+
* @param {Walkontable} wotInstance The Walkontable instance. @TODO refactoring: check if can be deleted.
|
36
|
+
* @param {FacadeGetter} facadeGetter Function which return proper facade.
|
37
|
+
* @param {CLONE_TYPES_ENUM} type The overlay type name (clone name).
|
38
|
+
* @param {Settings} wtSettings The Walkontable settings.
|
39
|
+
* @param {DomBindings} domBindings Dom elements bound to the current instance.
|
25
40
|
*/
|
26
|
-
function Overlay(wotInstance) {
|
41
|
+
function Overlay(wotInstance, facadeGetter, type, wtSettings, domBindings) {
|
27
42
|
_classCallCheck(this, Overlay);
|
28
43
|
|
44
|
+
_defineProperty(this, "wtSettings", null);
|
45
|
+
|
29
46
|
defineGetter(this, 'wot', wotInstance, {
|
30
47
|
writable: false
|
31
48
|
});
|
49
|
+
this.domBindings = domBindings;
|
50
|
+
this.facadeGetter = facadeGetter;
|
51
|
+
this.wtSettings = wtSettings;
|
32
52
|
var _this$wot$wtTable = this.wot.wtTable,
|
33
53
|
TABLE = _this$wot$wtTable.TABLE,
|
34
54
|
hider = _this$wot$wtTable.hider,
|
35
55
|
spreader = _this$wot$wtTable.spreader,
|
36
56
|
holder = _this$wot$wtTable.holder,
|
37
|
-
wtRootElement = _this$wot$wtTable.wtRootElement; //
|
57
|
+
wtRootElement = _this$wot$wtTable.wtRootElement; // todo ioc
|
58
|
+
// legacy support, deprecated in the future
|
38
59
|
|
39
60
|
this.instance = this.wot;
|
40
|
-
this.type =
|
61
|
+
this.type = type;
|
41
62
|
this.mainTableScrollableElement = null;
|
42
63
|
this.TABLE = TABLE;
|
43
64
|
this.hider = hider;
|
@@ -46,6 +67,7 @@ export var Overlay = /*#__PURE__*/function () {
|
|
46
67
|
this.wtRootElement = wtRootElement;
|
47
68
|
this.trimmingContainer = getTrimmingContainer(this.hider.parentNode.parentNode);
|
48
69
|
this.updateStateOfRendering();
|
70
|
+
this.clone = this.makeClone();
|
49
71
|
}
|
50
72
|
/**
|
51
73
|
* Update internal state of object with an information about the need of full rendering of the overlay.
|
@@ -57,6 +79,7 @@ export var Overlay = /*#__PURE__*/function () {
|
|
57
79
|
_createClass(Overlay, [{
|
58
80
|
key: "updateStateOfRendering",
|
59
81
|
value: function updateStateOfRendering() {
|
82
|
+
// todo refactoring: conceive introducing final state machine, normal -> changed (once) -> needs-full-render -> ...? -> normal
|
60
83
|
var previousState = this.needFullRender;
|
61
84
|
this.needFullRender = this.shouldBeRendered();
|
62
85
|
var changed = previousState !== this.needFullRender;
|
@@ -94,9 +117,8 @@ export var Overlay = /*#__PURE__*/function () {
|
|
94
117
|
}, {
|
95
118
|
key: "updateMainScrollableElement",
|
96
119
|
value: function updateMainScrollableElement() {
|
97
|
-
var
|
98
|
-
|
99
|
-
rootWindow = _this$wot.rootWindow;
|
120
|
+
var wtTable = this.wot.wtTable;
|
121
|
+
var rootWindow = this.domBindings.rootWindow;
|
100
122
|
|
101
123
|
if (rootWindow.getComputedStyle(wtTable.wtRootElement.parentNode).getPropertyValue('overflow') === 'hidden') {
|
102
124
|
this.mainTableScrollableElement = this.wot.wtTable.holder;
|
@@ -111,7 +133,7 @@ export var Overlay = /*#__PURE__*/function () {
|
|
111
133
|
* @param {HTMLElement} element The cell element to calculate the position for.
|
112
134
|
* @param {number} rowIndex Visual row index.
|
113
135
|
* @param {number} columnIndex Visual column index.
|
114
|
-
* @returns {{top: number,
|
136
|
+
* @returns {{top: number, start: number}|undefined}
|
115
137
|
*/
|
116
138
|
|
117
139
|
}, {
|
@@ -122,28 +144,41 @@ export var Overlay = /*#__PURE__*/function () {
|
|
122
144
|
return;
|
123
145
|
}
|
124
146
|
|
125
|
-
var windowScroll = this.mainTableScrollableElement === this.
|
126
|
-
var
|
127
|
-
var fixedRowTop = rowIndex < this.
|
128
|
-
var fixedRowBottom = rowIndex >= this.
|
147
|
+
var windowScroll = this.mainTableScrollableElement === this.domBindings.rootWindow;
|
148
|
+
var fixedColumnStart = columnIndex < this.wtSettings.getSetting('fixedColumnsStart');
|
149
|
+
var fixedRowTop = rowIndex < this.wtSettings.getSetting('fixedRowsTop');
|
150
|
+
var fixedRowBottom = rowIndex >= this.wtSettings.getSetting('totalRows') - this.wtSettings.getSetting('fixedRowsBottom');
|
151
|
+
var spreader = this.clone.wtTable.spreader;
|
129
152
|
var spreaderOffset = {
|
130
|
-
|
131
|
-
top:
|
153
|
+
start: this.getRelativeStartPosition(spreader),
|
154
|
+
top: spreader.offsetTop
|
132
155
|
};
|
133
156
|
var elementOffset = {
|
134
|
-
|
157
|
+
start: this.getRelativeStartPosition(element),
|
135
158
|
top: element.offsetTop
|
136
159
|
};
|
137
160
|
var offsetObject = null;
|
138
161
|
|
139
162
|
if (windowScroll) {
|
140
|
-
offsetObject = this.getRelativeCellPositionWithinWindow(fixedRowTop,
|
163
|
+
offsetObject = this.getRelativeCellPositionWithinWindow(fixedRowTop, fixedColumnStart, elementOffset, spreaderOffset);
|
141
164
|
} else {
|
142
|
-
offsetObject = this.getRelativeCellPositionWithinHolder(fixedRowTop, fixedRowBottom,
|
165
|
+
offsetObject = this.getRelativeCellPositionWithinHolder(fixedRowTop, fixedRowBottom, fixedColumnStart, elementOffset, spreaderOffset);
|
143
166
|
}
|
144
167
|
|
145
168
|
return offsetObject;
|
146
169
|
}
|
170
|
+
/**
|
171
|
+
* Get inline start value depending of direction.
|
172
|
+
*
|
173
|
+
* @param {HTMLElement} el Element.
|
174
|
+
* @returns {number}
|
175
|
+
*/
|
176
|
+
|
177
|
+
}, {
|
178
|
+
key: "getRelativeStartPosition",
|
179
|
+
value: function getRelativeStartPosition(el) {
|
180
|
+
return this.isRtl() ? el.offsetParent.offsetWidth - el.offsetLeft - el.offsetWidth : el.offsetLeft;
|
181
|
+
}
|
147
182
|
/**
|
148
183
|
* Calculates coordinates of the provided element, relative to the root Handsontable element within a table with window
|
149
184
|
* as a scrollable element.
|
@@ -159,14 +194,21 @@ export var Overlay = /*#__PURE__*/function () {
|
|
159
194
|
}, {
|
160
195
|
key: "getRelativeCellPositionWithinWindow",
|
161
196
|
value: function getRelativeCellPositionWithinWindow(onFixedRowTop, onFixedColumn, elementOffset, spreaderOffset) {
|
162
|
-
var absoluteRootElementPosition = this.wot.wtTable.wtRootElement.getBoundingClientRect();
|
197
|
+
var absoluteRootElementPosition = this.wot.wtTable.wtRootElement.getBoundingClientRect(); // todo refactoring: DEMETER
|
198
|
+
|
163
199
|
var horizontalOffset = 0;
|
164
200
|
var verticalOffset = 0;
|
165
201
|
|
166
202
|
if (!onFixedColumn) {
|
167
|
-
horizontalOffset = spreaderOffset.
|
203
|
+
horizontalOffset = spreaderOffset.start;
|
168
204
|
} else {
|
169
|
-
|
205
|
+
var absoluteRootElementStartPosition = absoluteRootElementPosition.left;
|
206
|
+
|
207
|
+
if (this.isRtl()) {
|
208
|
+
absoluteRootElementStartPosition = this.domBindings.rootWindow.innerWidth - (absoluteRootElementPosition.left + absoluteRootElementPosition.width + getScrollbarWidth());
|
209
|
+
}
|
210
|
+
|
211
|
+
horizontalOffset = absoluteRootElementStartPosition <= 0 ? -1 * absoluteRootElementStartPosition : 0;
|
170
212
|
}
|
171
213
|
|
172
214
|
if (onFixedRowTop) {
|
@@ -177,7 +219,7 @@ export var Overlay = /*#__PURE__*/function () {
|
|
177
219
|
}
|
178
220
|
|
179
221
|
return {
|
180
|
-
|
222
|
+
start: elementOffset.start + horizontalOffset,
|
181
223
|
top: elementOffset.top + verticalOffset
|
182
224
|
};
|
183
225
|
}
|
@@ -198,63 +240,69 @@ export var Overlay = /*#__PURE__*/function () {
|
|
198
240
|
key: "getRelativeCellPositionWithinHolder",
|
199
241
|
value: function getRelativeCellPositionWithinHolder(onFixedRowTop, onFixedRowBottom, onFixedColumn, elementOffset, spreaderOffset) {
|
200
242
|
var tableScrollPosition = {
|
201
|
-
horizontal: this.
|
202
|
-
vertical: this.
|
243
|
+
horizontal: this.wot.wtOverlays.inlineStartOverlay.getScrollPosition(),
|
244
|
+
vertical: this.wot.wtOverlays.topOverlay.getScrollPosition()
|
203
245
|
};
|
204
246
|
var horizontalOffset = 0;
|
205
247
|
var verticalOffset = 0;
|
206
248
|
|
207
249
|
if (!onFixedColumn) {
|
208
|
-
horizontalOffset = tableScrollPosition.horizontal - spreaderOffset.
|
250
|
+
horizontalOffset = tableScrollPosition.horizontal - spreaderOffset.start;
|
209
251
|
}
|
210
252
|
|
211
253
|
if (onFixedRowBottom) {
|
212
|
-
var absoluteRootElementPosition = this.wot.wtTable.wtRootElement.getBoundingClientRect();
|
213
|
-
|
254
|
+
var absoluteRootElementPosition = this.wot.wtTable.wtRootElement.getBoundingClientRect(); // todo refactoring: DEMETER
|
255
|
+
|
256
|
+
var absoluteOverlayPosition = this.clone.wtTable.TABLE.getBoundingClientRect(); // todo refactoring: DEMETER
|
257
|
+
|
214
258
|
verticalOffset = absoluteOverlayPosition.top * -1 + absoluteRootElementPosition.top;
|
215
259
|
} else if (!onFixedRowTop) {
|
216
260
|
verticalOffset = tableScrollPosition.vertical - spreaderOffset.top;
|
217
261
|
}
|
218
262
|
|
219
263
|
return {
|
220
|
-
|
264
|
+
start: elementOffset.start - horizontalOffset,
|
221
265
|
top: elementOffset.top - verticalOffset
|
222
266
|
};
|
223
267
|
}
|
224
268
|
/**
|
225
269
|
* Make a clone of table for overlay.
|
226
270
|
*
|
227
|
-
* @
|
228
|
-
* `Overlay.CLONE_TOP_LEFT_CORNER`.
|
229
|
-
* @returns {Walkontable}
|
271
|
+
* @returns {Clone}
|
230
272
|
*/
|
231
273
|
|
232
274
|
}, {
|
233
275
|
key: "makeClone",
|
234
|
-
value: function makeClone(
|
235
|
-
if (CLONE_TYPES.indexOf(
|
236
|
-
throw new Error("Clone type \"".concat(
|
276
|
+
value: function makeClone() {
|
277
|
+
if (CLONE_TYPES.indexOf(this.type) === -1) {
|
278
|
+
throw new Error("Clone type \"".concat(this.type, "\" is not supported."));
|
237
279
|
}
|
238
280
|
|
239
|
-
var
|
240
|
-
|
241
|
-
rootDocument = _this$
|
242
|
-
rootWindow = _this$
|
281
|
+
var wtTable = this.wot.wtTable;
|
282
|
+
var _this$domBindings = this.domBindings,
|
283
|
+
rootDocument = _this$domBindings.rootDocument,
|
284
|
+
rootWindow = _this$domBindings.rootWindow;
|
243
285
|
var clone = rootDocument.createElement('DIV');
|
244
286
|
var clonedTable = rootDocument.createElement('TABLE');
|
245
287
|
var tableParent = wtTable.wtRootElement.parentNode;
|
246
|
-
clone.className = "
|
288
|
+
clone.className = "".concat(CLONE_CLASS_NAMES.get(this.type), " handsontable");
|
289
|
+
clone.setAttribute('dir', this.isRtl() ? 'rtl' : 'ltr');
|
247
290
|
clone.style.position = 'absolute';
|
248
291
|
clone.style.top = 0;
|
249
|
-
clone.style.left = 0;
|
250
292
|
clone.style.overflow = 'visible';
|
293
|
+
|
294
|
+
if (this.isRtl()) {
|
295
|
+
clone.style.right = 0;
|
296
|
+
} else {
|
297
|
+
clone.style.left = 0;
|
298
|
+
}
|
299
|
+
|
251
300
|
clonedTable.className = wtTable.TABLE.className;
|
252
301
|
clone.appendChild(clonedTable);
|
253
|
-
this.type = direction;
|
254
302
|
tableParent.appendChild(clone);
|
255
|
-
var preventOverflow = this.
|
303
|
+
var preventOverflow = this.wtSettings.getSetting('preventOverflow');
|
256
304
|
|
257
|
-
if (preventOverflow === true || preventOverflow === 'horizontal' && this.type === CLONE_TOP || preventOverflow === 'vertical' && this.type ===
|
305
|
+
if (preventOverflow === true || preventOverflow === 'horizontal' && this.type === CLONE_TOP || preventOverflow === 'vertical' && this.type === CLONE_INLINE_START) {
|
258
306
|
this.mainTableScrollableElement = rootWindow;
|
259
307
|
} else if (rootWindow.getComputedStyle(tableParent).getPropertyValue('overflow') === 'hidden') {
|
260
308
|
this.mainTableScrollableElement = wtTable.holder;
|
@@ -263,10 +311,16 @@ export var Overlay = /*#__PURE__*/function () {
|
|
263
311
|
} // Create a new instance of the Walkontable class
|
264
312
|
|
265
313
|
|
266
|
-
return new this.
|
267
|
-
|
268
|
-
|
269
|
-
|
314
|
+
return new Clone(clonedTable, this.wtSettings, {
|
315
|
+
// todo ioc factory
|
316
|
+
source: this.wot,
|
317
|
+
overlay: this,
|
318
|
+
viewport: this.wot.wtViewport,
|
319
|
+
// todo ioc , or factor func if used only here
|
320
|
+
event: this.wot.wtEvent,
|
321
|
+
// todo ioc , or factory func if used only here
|
322
|
+
selections: this.wot.selections // todo ioc , or factory func if used only here
|
323
|
+
|
270
324
|
});
|
271
325
|
}
|
272
326
|
/**
|
@@ -301,16 +355,29 @@ export var Overlay = /*#__PURE__*/function () {
|
|
301
355
|
return;
|
302
356
|
}
|
303
357
|
|
304
|
-
var holder = this.clone.wtTable.holder;
|
305
|
-
|
358
|
+
var holder = this.clone.wtTable.holder; // todo refactoring: DEMETER
|
359
|
+
|
360
|
+
var hider = this.clone.wtTable.hider; // todo refactoring: DEMETER
|
361
|
+
|
306
362
|
var holderStyle = holder.style;
|
307
|
-
var
|
363
|
+
var hiderStyle = hider.style;
|
308
364
|
var rootStyle = holder.parentNode.style;
|
309
|
-
arrayEach([holderStyle,
|
365
|
+
arrayEach([holderStyle, hiderStyle, rootStyle], function (style) {
|
310
366
|
style.width = '';
|
311
367
|
style.height = '';
|
312
368
|
});
|
313
369
|
}
|
370
|
+
/**
|
371
|
+
* Determine if Walkontable is running in RTL mode.
|
372
|
+
*
|
373
|
+
* @returns {boolean}
|
374
|
+
*/
|
375
|
+
|
376
|
+
}, {
|
377
|
+
key: "isRtl",
|
378
|
+
value: function isRtl() {
|
379
|
+
return this.wtSettings.getSetting('rtlMode');
|
380
|
+
}
|
314
381
|
/**
|
315
382
|
* Destroy overlay instance.
|
316
383
|
*/
|
@@ -318,7 +385,7 @@ export var Overlay = /*#__PURE__*/function () {
|
|
318
385
|
}, {
|
319
386
|
key: "destroy",
|
320
387
|
value: function destroy() {
|
321
|
-
|
388
|
+
this.clone.eventManager.destroy(); // todo check if it is good place for that operation
|
322
389
|
}
|
323
390
|
}]);
|
324
391
|
|