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
@@ -26,13 +26,13 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
26
26
|
|
27
27
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
28
28
|
|
29
|
-
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); }
|
29
|
+
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } 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); }
|
30
30
|
|
31
31
|
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
32
32
|
|
33
33
|
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); }
|
34
34
|
|
35
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf
|
35
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
36
36
|
|
37
37
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
38
38
|
|
@@ -42,7 +42,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
|
|
42
42
|
|
43
43
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
44
44
|
|
45
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
45
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
46
46
|
|
47
47
|
import "core-js/modules/es.array.iterator.js";
|
48
48
|
import "core-js/modules/es.object.to-string.js";
|
@@ -68,8 +68,6 @@ import "core-js/modules/es.function.name.js";
|
|
68
68
|
import "core-js/modules/es.regexp.exec.js";
|
69
69
|
import { BasePlugin } from "../base/index.mjs";
|
70
70
|
import Hooks from "../../pluginHooks.mjs";
|
71
|
-
import { stopImmediatePropagation } from "../../helpers/dom/event.mjs";
|
72
|
-
import { CellCoords, CellRange } from "../../3rdparty/walkontable/src/index.mjs";
|
73
71
|
import MergedCellsCollection from "./cellsCollection.mjs";
|
74
72
|
import MergedCellCoords from "./cellCoords.mjs";
|
75
73
|
import AutofillCalculations from "./calculations/autofill.mjs";
|
@@ -87,6 +85,9 @@ Hooks.getSingleton().register('afterUnmergeCells');
|
|
87
85
|
export var PLUGIN_KEY = 'mergeCells';
|
88
86
|
export var PLUGIN_PRIORITY = 150;
|
89
87
|
var privatePool = new WeakMap();
|
88
|
+
var SHORTCUTS_GROUP = PLUGIN_KEY;
|
89
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
90
|
+
|
90
91
|
/**
|
91
92
|
* @plugin MergeCells
|
92
93
|
* @class MergeCells
|
@@ -179,9 +180,6 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
179
180
|
this.addHook('afterInit', function () {
|
180
181
|
return _this2.onAfterInit.apply(_this2, arguments);
|
181
182
|
});
|
182
|
-
this.addHook('beforeKeyDown', function () {
|
183
|
-
return _this2.onBeforeKeyDown.apply(_this2, arguments);
|
184
|
-
});
|
185
183
|
this.addHook('modifyTransformStart', function () {
|
186
184
|
return _this2.onModifyTransformStart.apply(_this2, arguments);
|
187
185
|
});
|
@@ -253,6 +251,7 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
253
251
|
return false;
|
254
252
|
}
|
255
253
|
});
|
254
|
+
this.registerShortcuts();
|
256
255
|
|
257
256
|
_get(_getPrototypeOf(MergeCells.prototype), "enablePlugin", this).call(this);
|
258
257
|
}
|
@@ -264,12 +263,16 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
264
263
|
key: "disablePlugin",
|
265
264
|
value: function disablePlugin() {
|
266
265
|
this.clearCollections();
|
266
|
+
this.unregisterShortcuts();
|
267
267
|
this.hot.render();
|
268
268
|
|
269
269
|
_get(_getPrototypeOf(MergeCells.prototype), "disablePlugin", this).call(this);
|
270
270
|
}
|
271
271
|
/**
|
272
|
-
* Updates the plugin state.
|
272
|
+
* Updates the plugin's state.
|
273
|
+
*
|
274
|
+
* This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the following configuration options:
|
275
|
+
* - [`mergeCells`](@/api/options.md#mergecells)
|
273
276
|
*/
|
274
277
|
|
275
278
|
}, {
|
@@ -336,9 +339,12 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
336
339
|
return;
|
337
340
|
}
|
338
341
|
|
339
|
-
var highlight =
|
340
|
-
|
341
|
-
var
|
342
|
+
var highlight = _this3.hot._createCellCoords(setting.row, setting.col);
|
343
|
+
|
344
|
+
var rangeEnd = _this3.hot._createCellCoords(setting.row + setting.rowspan - 1, setting.col + setting.colspan - 1);
|
345
|
+
|
346
|
+
var mergeRange = _this3.hot._createCellRange(highlight, highlight, rangeEnd);
|
347
|
+
|
342
348
|
populationArgumentsList.push(_this3.mergeRange(mergeRange, true, true));
|
343
349
|
}); // remove 'empty' setting objects, caused by improper merge range declarations
|
344
350
|
|
@@ -448,7 +454,7 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
448
454
|
return;
|
449
455
|
}
|
450
456
|
|
451
|
-
currentRange.setDirection('NW-SE');
|
457
|
+
currentRange.setDirection(this.hot.isRtl() ? 'NE-SW' : 'NW-SE');
|
452
458
|
var from = currentRange.from,
|
453
459
|
to = currentRange.to;
|
454
460
|
this.toggleMerge(currentRange);
|
@@ -469,7 +475,7 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
469
475
|
return;
|
470
476
|
}
|
471
477
|
|
472
|
-
cellRange.setDirection('NW-SE');
|
478
|
+
cellRange.setDirection(this.hot.isRtl() ? 'NE-SW' : 'NW-SE');
|
473
479
|
var from = cellRange.from,
|
474
480
|
to = cellRange.to;
|
475
481
|
this.unmergeRange(cellRange, true);
|
@@ -515,13 +521,13 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
515
521
|
|
516
522
|
var auto = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
517
523
|
var preventPopulation = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
518
|
-
var
|
519
|
-
var
|
524
|
+
var topStart = cellRange.getTopStartCorner();
|
525
|
+
var bottomEnd = cellRange.getBottomEndCorner();
|
520
526
|
var mergeParent = {
|
521
|
-
row:
|
522
|
-
col:
|
523
|
-
rowspan:
|
524
|
-
colspan:
|
527
|
+
row: topStart.row,
|
528
|
+
col: topStart.col,
|
529
|
+
rowspan: bottomEnd.row - topStart.row + 1,
|
530
|
+
colspan: bottomEnd.col - topStart.col + 1
|
525
531
|
};
|
526
532
|
var clearedData = [];
|
527
533
|
var populationInfo = null;
|
@@ -635,9 +641,11 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
635
641
|
}, {
|
636
642
|
key: "merge",
|
637
643
|
value: function merge(startRow, startColumn, endRow, endColumn) {
|
638
|
-
var start =
|
639
|
-
|
640
|
-
this.
|
644
|
+
var start = this.hot._createCellCoords(startRow, startColumn);
|
645
|
+
|
646
|
+
var end = this.hot._createCellCoords(endRow, endColumn);
|
647
|
+
|
648
|
+
this.mergeRange(this.hot._createCellRange(start, start, end));
|
641
649
|
}
|
642
650
|
/**
|
643
651
|
* Unmerges the merged cell in the provided range.
|
@@ -653,9 +661,11 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
653
661
|
}, {
|
654
662
|
key: "unmerge",
|
655
663
|
value: function unmerge(startRow, startColumn, endRow, endColumn) {
|
656
|
-
var start =
|
657
|
-
|
658
|
-
this.
|
664
|
+
var start = this.hot._createCellCoords(startRow, startColumn);
|
665
|
+
|
666
|
+
var end = this.hot._createCellCoords(endRow, endColumn);
|
667
|
+
|
668
|
+
this.unmergeRange(this.hot._createCellRange(start, start, end));
|
659
669
|
}
|
660
670
|
/**
|
661
671
|
* `afterInit` hook callback.
|
@@ -670,23 +680,44 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
670
680
|
this.hot.render();
|
671
681
|
}
|
672
682
|
/**
|
673
|
-
*
|
683
|
+
* Register shortcuts responsible for toggling a merge.
|
674
684
|
*
|
675
685
|
* @private
|
676
|
-
* @param {KeyboardEvent} event The `keydown` event object.
|
677
686
|
*/
|
678
687
|
|
679
688
|
}, {
|
680
|
-
key: "
|
681
|
-
value: function
|
682
|
-
var
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
689
|
+
key: "registerShortcuts",
|
690
|
+
value: function registerShortcuts() {
|
691
|
+
var _this6 = this;
|
692
|
+
|
693
|
+
var shortcutManager = this.hot.getShortcutManager();
|
694
|
+
var gridContext = shortcutManager.getContext('grid');
|
695
|
+
gridContext.addShortcut({
|
696
|
+
keys: [['Control', 'm']],
|
697
|
+
callback: function callback() {
|
698
|
+
_this6.toggleMerge(_this6.hot.getSelectedRangeLast());
|
699
|
+
|
700
|
+
_this6.hot.render();
|
701
|
+
},
|
702
|
+
runOnlyIf: function runOnlyIf(event) {
|
703
|
+
return !event.altKey;
|
704
|
+
},
|
705
|
+
// right ALT in some systems triggers ALT+CTRL
|
706
|
+
group: SHORTCUTS_GROUP
|
707
|
+
});
|
708
|
+
}
|
709
|
+
/**
|
710
|
+
* Unregister shortcuts responsible for toggling a merge.
|
711
|
+
*
|
712
|
+
* @private
|
713
|
+
*/
|
714
|
+
|
715
|
+
}, {
|
716
|
+
key: "unregisterShortcuts",
|
717
|
+
value: function unregisterShortcuts() {
|
718
|
+
var shortcutManager = this.hot.getShortcutManager();
|
719
|
+
var gridContext = shortcutManager.getContext('grid');
|
720
|
+
gridContext.removeShortcutsByGroup(SHORTCUTS_GROUP);
|
690
721
|
}
|
691
722
|
/**
|
692
723
|
* Modifies the information on whether the current selection contains multiple cells. The `afterIsMultipleSelection` hook callback.
|
@@ -729,21 +760,25 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
729
760
|
col: delta.col
|
730
761
|
};
|
731
762
|
var nextPosition = null;
|
732
|
-
|
763
|
+
|
764
|
+
var currentPosition = this.hot._createCellCoords(currentlySelectedRange.highlight.row, currentlySelectedRange.highlight.col);
|
765
|
+
|
733
766
|
var mergedParent = this.mergedCellsCollection.get(currentPosition.row, currentPosition.col);
|
734
767
|
|
735
768
|
if (!priv.lastDesiredCoords) {
|
736
|
-
priv.lastDesiredCoords =
|
769
|
+
priv.lastDesiredCoords = this.hot._createCellCoords(null, null);
|
737
770
|
}
|
738
771
|
|
739
772
|
if (mergedParent) {
|
740
773
|
// only merge selected
|
741
|
-
var mergeTopLeft =
|
742
|
-
|
743
|
-
var
|
774
|
+
var mergeTopLeft = this.hot._createCellCoords(mergedParent.row, mergedParent.col);
|
775
|
+
|
776
|
+
var mergeBottomRight = this.hot._createCellCoords(mergedParent.row + mergedParent.rowspan - 1, mergedParent.col + mergedParent.colspan - 1);
|
777
|
+
|
778
|
+
var mergeRange = this.hot._createCellRange(mergeTopLeft, mergeTopLeft, mergeBottomRight);
|
744
779
|
|
745
780
|
if (!mergeRange.includes(priv.lastDesiredCoords)) {
|
746
|
-
priv.lastDesiredCoords =
|
781
|
+
priv.lastDesiredCoords = this.hot._createCellCoords(null, null); // reset outdated version of lastDesiredCoords
|
747
782
|
}
|
748
783
|
|
749
784
|
newDelta.row = priv.lastDesiredCoords.row ? priv.lastDesiredCoords.row - currentPosition.row : newDelta.row;
|
@@ -766,7 +801,7 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
766
801
|
}
|
767
802
|
}
|
768
803
|
|
769
|
-
nextPosition =
|
804
|
+
nextPosition = this.hot._createCellCoords(currentlySelectedRange.highlight.row + newDelta.row, currentlySelectedRange.highlight.col + newDelta.col);
|
770
805
|
var nextPositionMergedCell = this.mergedCellsCollection.get(nextPosition.row, nextPosition.col);
|
771
806
|
|
772
807
|
if (nextPositionMergedCell) {
|
@@ -797,7 +832,7 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
797
832
|
}, {
|
798
833
|
key: "onModifyTransformEnd",
|
799
834
|
value: function onModifyTransformEnd(delta) {
|
800
|
-
var
|
835
|
+
var _this7 = this;
|
801
836
|
|
802
837
|
var currentSelectionRange = this.hot.getSelectedRangeLast();
|
803
838
|
var newDelta = clone(delta);
|
@@ -809,7 +844,7 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
809
844
|
tempDelta = clone(newDelta);
|
810
845
|
this.selectionCalculations.getUpdatedSelectionRange(currentSelectionRange, newDelta);
|
811
846
|
arrayEach(mergedCellsWithinRange, function (mergedCell) {
|
812
|
-
|
847
|
+
_this7.selectionCalculations.snapDelta(newDelta, currentSelectionRange, mergedCell);
|
813
848
|
});
|
814
849
|
} while (newDelta.row !== tempDelta.row || newDelta.col !== tempDelta.col);
|
815
850
|
|
@@ -897,9 +932,9 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
897
932
|
var maxColSpan = lastMergedColumnIndex - renderedColumnIndex + 1; // Number of rendered columns.
|
898
933
|
// We just try to determine some values basing on the actual number of rendered indexes (some columns may be hidden).
|
899
934
|
|
900
|
-
mergedCellCopy.row = rowMapper.
|
935
|
+
mergedCellCopy.row = rowMapper.getNearestNotHiddenIndex(mergedCellCopy.row, 1); // We just try to determine some values basing on the actual number of rendered indexes (some columns may be hidden).
|
901
936
|
|
902
|
-
mergedCellCopy.col = columnMapper.
|
937
|
+
mergedCellCopy.col = columnMapper.getNearestNotHiddenIndex(mergedCellCopy.col, 1); // The `rowSpan` property for a `TD` element should be at most equal to number of rendered rows in the merge area.
|
903
938
|
|
904
939
|
mergedCellCopy.rowspan = Math.min(mergedCellCopy.rowspan, maxRowSpan); // The `colSpan` property for a `TD` element should be at most equal to number of rendered columns in the merge area.
|
905
940
|
|
@@ -945,7 +980,7 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
945
980
|
key: "onBeforeSetRangeEnd",
|
946
981
|
value: function onBeforeSetRangeEnd(coords) {
|
947
982
|
var selRange = this.hot.getSelectedRangeLast();
|
948
|
-
selRange.highlight =
|
983
|
+
selRange.highlight = this.hot._createCellCoords(selRange.highlight.row, selRange.highlight.col); // clone in case we will modify its reference
|
949
984
|
|
950
985
|
selRange.to = coords;
|
951
986
|
var rangeExpanded = false;
|
@@ -1024,7 +1059,7 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1024
1059
|
var mergeParentForViewportStart = this.mergedCellsCollection.get(visualStartRow, visualColumnIndex);
|
1025
1060
|
|
1026
1061
|
if (isObject(mergeParentForViewportStart)) {
|
1027
|
-
var renderableIndexAtMergeStart = rowMapper.getRenderableFromVisualIndex(rowMapper.
|
1062
|
+
var renderableIndexAtMergeStart = rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(mergeParentForViewportStart.row, 1)); // Merge start is out of the viewport (i.e. when we scrolled to the bottom and we can see just part of a merge).
|
1028
1063
|
|
1029
1064
|
if (renderableIndexAtMergeStart < calc.startRow) {
|
1030
1065
|
// We extend viewport when some rows have been merged.
|
@@ -1056,7 +1091,7 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1056
1091
|
|
1057
1092
|
if (isObject(mergeParentForViewportEnd)) {
|
1058
1093
|
var mergeEnd = mergeParentForViewportEnd.row + mergeParentForViewportEnd.rowspan - 1;
|
1059
|
-
var renderableIndexAtMergeEnd = rowMapper.getRenderableFromVisualIndex(rowMapper.
|
1094
|
+
var renderableIndexAtMergeEnd = rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(mergeEnd, -1)); // Merge end is out of the viewport.
|
1060
1095
|
|
1061
1096
|
if (renderableIndexAtMergeEnd > calc.endRow) {
|
1062
1097
|
// We extend the viewport when some rows have been merged.
|
@@ -1101,7 +1136,7 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1101
1136
|
var mergeParentForViewportStart = this.mergedCellsCollection.get(visualRowIndex, visualStartCol);
|
1102
1137
|
|
1103
1138
|
if (isObject(mergeParentForViewportStart)) {
|
1104
|
-
var renderableIndexAtMergeStart = columnMapper.getRenderableFromVisualIndex(columnMapper.
|
1139
|
+
var renderableIndexAtMergeStart = columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(mergeParentForViewportStart.col, 1)); // Merge start is out of the viewport (i.e. when we scrolled to the right and we can see just part of a merge).
|
1105
1140
|
|
1106
1141
|
if (renderableIndexAtMergeStart < calc.startColumn) {
|
1107
1142
|
// We extend viewport when some columns have been merged.
|
@@ -1133,7 +1168,7 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1133
1168
|
|
1134
1169
|
if (isObject(mergeParentForViewportEnd)) {
|
1135
1170
|
var mergeEnd = mergeParentForViewportEnd.col + mergeParentForViewportEnd.colspan - 1;
|
1136
|
-
var renderableIndexAtMergeEnd = columnMapper.getRenderableFromVisualIndex(columnMapper.
|
1171
|
+
var renderableIndexAtMergeEnd = columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(mergeEnd, -1)); // Merge end is out of the viewport.
|
1137
1172
|
|
1138
1173
|
if (renderableIndexAtMergeEnd > calc.endColumn) {
|
1139
1174
|
// We extend the viewport when some columns have been merged.
|
@@ -1173,15 +1208,15 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1173
1208
|
var firstNonHiddenColumn;
|
1174
1209
|
|
1175
1210
|
if (rowspan === 0) {
|
1176
|
-
firstNonHiddenRow = rowMapper.
|
1211
|
+
firstNonHiddenRow = rowMapper.getNearestNotHiddenIndex(parentRow, 1);
|
1177
1212
|
} else {
|
1178
|
-
firstNonHiddenRow = rowMapper.
|
1213
|
+
firstNonHiddenRow = rowMapper.getNearestNotHiddenIndex(parentRow + rowspan - 1, -1);
|
1179
1214
|
}
|
1180
1215
|
|
1181
1216
|
if (colspan === 0) {
|
1182
|
-
firstNonHiddenColumn = columnMapper.
|
1217
|
+
firstNonHiddenColumn = columnMapper.getNearestNotHiddenIndex(parentColumn, 1);
|
1183
1218
|
} else {
|
1184
|
-
firstNonHiddenColumn = columnMapper.
|
1219
|
+
firstNonHiddenColumn = columnMapper.getNearestNotHiddenIndex(parentColumn + colspan - 1, -1);
|
1185
1220
|
}
|
1186
1221
|
|
1187
1222
|
var renderableRow = parentRow >= 0 ? rowMapper.getRenderableFromVisualIndex(firstNonHiddenRow) : parentRow;
|
@@ -1316,7 +1351,7 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1316
1351
|
var selectedRange = this.hot.getSelectedRangeLast();
|
1317
1352
|
var mergedCellsWithinRange = this.mergedCellsCollection.getWithinRange(selectedRange);
|
1318
1353
|
arrayEach(mergedCellsWithinRange, function (mergedCell) {
|
1319
|
-
if (selectedRange.
|
1354
|
+
if (selectedRange.getBottomEndCorner().row === mergedCell.getLastRow() && selectedRange.getBottomEndCorner().col === mergedCell.getLastColumn()) {
|
1320
1355
|
corners[2] = mergedCell.row;
|
1321
1356
|
corners[3] = mergedCell.col;
|
1322
1357
|
}
|
@@ -39,8 +39,6 @@ var _sortService = require("../columnSorting/sortService");
|
|
39
39
|
|
40
40
|
var _utils = require("../columnSorting/utils");
|
41
41
|
|
42
|
-
var _keyStateObserver = require("../../utils/keyStateObserver");
|
43
|
-
|
44
42
|
var _element = require("../../helpers/dom/element");
|
45
43
|
|
46
44
|
var _rootComparator = require("./rootComparator");
|
@@ -55,13 +53,13 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
55
53
|
|
56
54
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
57
55
|
|
58
|
-
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); }
|
56
|
+
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } 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); }
|
59
57
|
|
60
58
|
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
61
59
|
|
62
60
|
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); }
|
63
61
|
|
64
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf
|
62
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
65
63
|
|
66
64
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
67
65
|
|
@@ -71,7 +69,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
|
|
71
69
|
|
72
70
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
73
71
|
|
74
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
72
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
75
73
|
|
76
74
|
var PLUGIN_KEY = 'multiColumnSorting';
|
77
75
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
@@ -363,7 +361,7 @@ var MultiColumnSorting = /*#__PURE__*/function (_ColumnSorting) {
|
|
363
361
|
}
|
364
362
|
|
365
363
|
if (this.wasClickableHeaderClicked(event, coords.col)) {
|
366
|
-
if ((
|
364
|
+
if (this.hot.getShortcutManager().isCtrlPressed()) {
|
367
365
|
this.hot.deselectCell();
|
368
366
|
this.hot.selectColumns(coords.col);
|
369
367
|
this.sort(this.getNextSortConfig(coords.col, APPEND_COLUMN_CONFIG_STRATEGY));
|
@@ -21,13 +21,13 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
21
21
|
|
22
22
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
23
23
|
|
24
|
-
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); }
|
24
|
+
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } 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); }
|
25
25
|
|
26
26
|
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
27
27
|
|
28
28
|
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); }
|
29
29
|
|
30
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf
|
30
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
31
31
|
|
32
32
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
33
33
|
|
@@ -37,12 +37,11 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
|
|
37
37
|
|
38
38
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
39
39
|
|
40
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
40
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
41
41
|
|
42
42
|
import { ColumnSorting } from "../columnSorting/index.mjs";
|
43
43
|
import { registerRootComparator } from "../columnSorting/sortService/index.mjs";
|
44
44
|
import { wasHeaderClickedProperly } from "../columnSorting/utils.mjs";
|
45
|
-
import { isPressedCtrlKey } from "../../utils/keyStateObserver.mjs";
|
46
45
|
import { addClass, removeClass } from "../../helpers/dom/element.mjs";
|
47
46
|
import { rootComparator } from "./rootComparator.mjs";
|
48
47
|
import { warnAboutPluginsConflict } from "./utils.mjs";
|
@@ -335,7 +334,7 @@ export var MultiColumnSorting = /*#__PURE__*/function (_ColumnSorting) {
|
|
335
334
|
}
|
336
335
|
|
337
336
|
if (this.wasClickableHeaderClicked(event, coords.col)) {
|
338
|
-
if (
|
337
|
+
if (this.hot.getShortcutManager().isCtrlPressed()) {
|
339
338
|
this.hot.deselectCell();
|
340
339
|
this.hot.selectColumns(coords.col);
|
341
340
|
this.sort(this.getNextSortConfig(coords.col, APPEND_COLUMN_CONFIG_STRATEGY));
|