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
@@ -33,8 +33,6 @@ require("core-js/modules/es.array.splice.js");
|
|
33
33
|
|
34
34
|
var _cellCoords = _interopRequireDefault(require("./cellCoords"));
|
35
35
|
|
36
|
-
var _index = require("../../3rdparty/walkontable/src/index");
|
37
|
-
|
38
36
|
var _number = require("../../helpers/number");
|
39
37
|
|
40
38
|
var _console = require("../../helpers/console");
|
@@ -165,21 +163,27 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
165
163
|
}, {
|
166
164
|
key: "getWithinRange",
|
167
165
|
value: function getWithinRange(range) {
|
166
|
+
var _this = this;
|
167
|
+
|
168
168
|
var countPartials = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
169
169
|
var mergedCells = this.mergedCells;
|
170
170
|
var foundMergedCells = [];
|
171
171
|
var testedRange = range;
|
172
172
|
|
173
173
|
if (!testedRange.includesRange) {
|
174
|
-
var from =
|
175
|
-
|
176
|
-
|
174
|
+
var from = this.hot._createCellCoords(testedRange.from.row, testedRange.from.col);
|
175
|
+
|
176
|
+
var to = this.hot._createCellCoords(testedRange.to.row, testedRange.to.col);
|
177
|
+
|
178
|
+
testedRange = this.hot._createCellRange(from, from, to);
|
177
179
|
}
|
178
180
|
|
179
181
|
(0, _array.arrayEach)(mergedCells, function (mergedCell) {
|
180
|
-
var mergedCellTopLeft =
|
181
|
-
|
182
|
-
var
|
182
|
+
var mergedCellTopLeft = _this.hot._createCellCoords(mergedCell.row, mergedCell.col);
|
183
|
+
|
184
|
+
var mergedCellBottomRight = _this.hot._createCellCoords(mergedCell.row + mergedCell.rowspan - 1, mergedCell.col + mergedCell.colspan - 1);
|
185
|
+
|
186
|
+
var mergedCellRange = _this.hot._createCellRange(mergedCellTopLeft, mergedCellTopLeft, mergedCellBottomRight);
|
183
187
|
|
184
188
|
if (countPartials) {
|
185
189
|
if (testedRange.overlaps(mergedCellRange)) {
|
@@ -206,7 +210,7 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
206
210
|
var column = mergedCellInfo.col;
|
207
211
|
var rowspan = mergedCellInfo.rowspan;
|
208
212
|
var colspan = mergedCellInfo.colspan;
|
209
|
-
var newMergedCell = new _cellCoords.default(row, column, rowspan, colspan);
|
213
|
+
var newMergedCell = new _cellCoords.default(row, column, rowspan, colspan, this.hot._createCellCoords, this.hot._createCellRange);
|
210
214
|
var alreadyExists = this.get(row, column);
|
211
215
|
var isOverlapping = this.isOverlapping(newMergedCell);
|
212
216
|
|
@@ -252,16 +256,16 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
252
256
|
}, {
|
253
257
|
key: "clear",
|
254
258
|
value: function clear() {
|
255
|
-
var
|
259
|
+
var _this2 = this;
|
256
260
|
|
257
261
|
var mergedCells = this.mergedCells;
|
258
262
|
var mergedCellParentsToClear = [];
|
259
263
|
var hiddenCollectionElements = [];
|
260
264
|
(0, _array.arrayEach)(mergedCells, function (mergedCell) {
|
261
|
-
var TD =
|
265
|
+
var TD = _this2.hot.getCell(mergedCell.row, mergedCell.col);
|
262
266
|
|
263
267
|
if (TD) {
|
264
|
-
mergedCellParentsToClear.push([TD,
|
268
|
+
mergedCellParentsToClear.push([TD, _this2.get(mergedCell.row, mergedCell.col), mergedCell.row, mergedCell.col]);
|
265
269
|
}
|
266
270
|
});
|
267
271
|
this.mergedCells.length = 0;
|
@@ -269,7 +273,7 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
269
273
|
(0, _number.rangeEach)(0, mergedCell.rowspan - 1, function (j) {
|
270
274
|
(0, _number.rangeEach)(0, mergedCell.colspan - 1, function (k) {
|
271
275
|
if (k !== 0 || j !== 0) {
|
272
|
-
var TD =
|
276
|
+
var TD = _this2.hot.getCell(mergedCell.row + j, mergedCell.col + k);
|
273
277
|
|
274
278
|
if (TD) {
|
275
279
|
hiddenCollectionElements.push([TD, null, null, null]);
|
@@ -296,10 +300,13 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
296
300
|
}, {
|
297
301
|
key: "isOverlapping",
|
298
302
|
value: function isOverlapping(mergedCell) {
|
299
|
-
var
|
303
|
+
var _this3 = this;
|
304
|
+
|
305
|
+
var mergedCellRange = this.hot._createCellRange(this.hot._createCellCoords(0, 0), this.hot._createCellCoords(mergedCell.row, mergedCell.col), this.hot._createCellCoords(mergedCell.row + mergedCell.rowspan - 1, mergedCell.col + mergedCell.colspan - 1));
|
306
|
+
|
300
307
|
var result = false;
|
301
308
|
(0, _array.arrayEach)(this.mergedCells, function (col) {
|
302
|
-
var currentRange =
|
309
|
+
var currentRange = _this3.hot._createCellRange(_this3.hot._createCellCoords(0, 0), _this3.hot._createCellCoords(col.row, col.col), _this3.hot._createCellCoords(col.row + col.rowspan - 1, col.col + col.colspan - 1));
|
303
310
|
|
304
311
|
if (currentRange.overlaps(mergedCellRange)) {
|
305
312
|
result = true;
|
@@ -323,7 +330,7 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
323
330
|
value: function isFirstRenderableMergedCell(row, column) {
|
324
331
|
var mergeParent = this.get(row, column); // Return if row and column indexes are within merge area and if they are first rendered indexes within the area.
|
325
332
|
|
326
|
-
return mergeParent && this.hot.rowIndexMapper.
|
333
|
+
return mergeParent && this.hot.rowIndexMapper.getNearestNotHiddenIndex(mergeParent.row, 1) === row && this.hot.columnIndexMapper.getNearestNotHiddenIndex(mergeParent.col, 1) === column;
|
327
334
|
}
|
328
335
|
/**
|
329
336
|
* Get the first renderable coords of the merged cell at the provided coordinates.
|
@@ -340,12 +347,12 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
340
347
|
var mergeParent = this.get(row, column);
|
341
348
|
|
342
349
|
if (!mergeParent || this.isFirstRenderableMergedCell(row, column)) {
|
343
|
-
return
|
350
|
+
return this.hot._createCellCoords(row, column);
|
344
351
|
}
|
345
352
|
|
346
|
-
var firstRenderableRow = this.hot.rowIndexMapper.
|
347
|
-
var firstRenderableColumn = this.hot.columnIndexMapper.
|
348
|
-
return
|
353
|
+
var firstRenderableRow = this.hot.rowIndexMapper.getNearestNotHiddenIndex(mergeParent.row, 1);
|
354
|
+
var firstRenderableColumn = this.hot.columnIndexMapper.getNearestNotHiddenIndex(mergeParent.col, 1);
|
355
|
+
return this.hot._createCellCoords(firstRenderableRow, firstRenderableColumn);
|
349
356
|
}
|
350
357
|
/**
|
351
358
|
* Shift the merged cell in the direction and by an offset defined in the arguments.
|
@@ -358,7 +365,7 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
358
365
|
}, {
|
359
366
|
key: "shiftCollections",
|
360
367
|
value: function shiftCollections(direction, index, count) {
|
361
|
-
var
|
368
|
+
var _this4 = this;
|
362
369
|
|
363
370
|
var shiftVector = [0, 0];
|
364
371
|
|
@@ -386,10 +393,10 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
386
393
|
currentMerge.shift(shiftVector, index);
|
387
394
|
});
|
388
395
|
(0, _number.rangeEachReverse)(this.mergedCells.length - 1, 0, function (i) {
|
389
|
-
var currentMerge =
|
396
|
+
var currentMerge = _this4.mergedCells[i];
|
390
397
|
|
391
398
|
if (currentMerge && currentMerge.removed) {
|
392
|
-
|
399
|
+
_this4.mergedCells.splice(_this4.mergedCells.indexOf(currentMerge), 1);
|
393
400
|
}
|
394
401
|
});
|
395
402
|
}
|
@@ -36,7 +36,6 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
36
36
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
37
37
|
|
38
38
|
import MergedCellCoords from "./cellCoords.mjs";
|
39
|
-
import { CellCoords, CellRange } from "../../3rdparty/walkontable/src/index.mjs";
|
40
39
|
import { rangeEach, rangeEachReverse } from "../../helpers/number.mjs";
|
41
40
|
import { warn } from "../../helpers/console.mjs";
|
42
41
|
import { arrayEach } from "../../helpers/array.mjs";
|
@@ -139,21 +138,27 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
139
138
|
}, {
|
140
139
|
key: "getWithinRange",
|
141
140
|
value: function getWithinRange(range) {
|
141
|
+
var _this = this;
|
142
|
+
|
142
143
|
var countPartials = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
143
144
|
var mergedCells = this.mergedCells;
|
144
145
|
var foundMergedCells = [];
|
145
146
|
var testedRange = range;
|
146
147
|
|
147
148
|
if (!testedRange.includesRange) {
|
148
|
-
var from =
|
149
|
-
|
150
|
-
|
149
|
+
var from = this.hot._createCellCoords(testedRange.from.row, testedRange.from.col);
|
150
|
+
|
151
|
+
var to = this.hot._createCellCoords(testedRange.to.row, testedRange.to.col);
|
152
|
+
|
153
|
+
testedRange = this.hot._createCellRange(from, from, to);
|
151
154
|
}
|
152
155
|
|
153
156
|
arrayEach(mergedCells, function (mergedCell) {
|
154
|
-
var mergedCellTopLeft =
|
155
|
-
|
156
|
-
var
|
157
|
+
var mergedCellTopLeft = _this.hot._createCellCoords(mergedCell.row, mergedCell.col);
|
158
|
+
|
159
|
+
var mergedCellBottomRight = _this.hot._createCellCoords(mergedCell.row + mergedCell.rowspan - 1, mergedCell.col + mergedCell.colspan - 1);
|
160
|
+
|
161
|
+
var mergedCellRange = _this.hot._createCellRange(mergedCellTopLeft, mergedCellTopLeft, mergedCellBottomRight);
|
157
162
|
|
158
163
|
if (countPartials) {
|
159
164
|
if (testedRange.overlaps(mergedCellRange)) {
|
@@ -180,7 +185,7 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
180
185
|
var column = mergedCellInfo.col;
|
181
186
|
var rowspan = mergedCellInfo.rowspan;
|
182
187
|
var colspan = mergedCellInfo.colspan;
|
183
|
-
var newMergedCell = new MergedCellCoords(row, column, rowspan, colspan);
|
188
|
+
var newMergedCell = new MergedCellCoords(row, column, rowspan, colspan, this.hot._createCellCoords, this.hot._createCellRange);
|
184
189
|
var alreadyExists = this.get(row, column);
|
185
190
|
var isOverlapping = this.isOverlapping(newMergedCell);
|
186
191
|
|
@@ -226,16 +231,16 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
226
231
|
}, {
|
227
232
|
key: "clear",
|
228
233
|
value: function clear() {
|
229
|
-
var
|
234
|
+
var _this2 = this;
|
230
235
|
|
231
236
|
var mergedCells = this.mergedCells;
|
232
237
|
var mergedCellParentsToClear = [];
|
233
238
|
var hiddenCollectionElements = [];
|
234
239
|
arrayEach(mergedCells, function (mergedCell) {
|
235
|
-
var TD =
|
240
|
+
var TD = _this2.hot.getCell(mergedCell.row, mergedCell.col);
|
236
241
|
|
237
242
|
if (TD) {
|
238
|
-
mergedCellParentsToClear.push([TD,
|
243
|
+
mergedCellParentsToClear.push([TD, _this2.get(mergedCell.row, mergedCell.col), mergedCell.row, mergedCell.col]);
|
239
244
|
}
|
240
245
|
});
|
241
246
|
this.mergedCells.length = 0;
|
@@ -243,7 +248,7 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
243
248
|
rangeEach(0, mergedCell.rowspan - 1, function (j) {
|
244
249
|
rangeEach(0, mergedCell.colspan - 1, function (k) {
|
245
250
|
if (k !== 0 || j !== 0) {
|
246
|
-
var TD =
|
251
|
+
var TD = _this2.hot.getCell(mergedCell.row + j, mergedCell.col + k);
|
247
252
|
|
248
253
|
if (TD) {
|
249
254
|
hiddenCollectionElements.push([TD, null, null, null]);
|
@@ -270,10 +275,13 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
270
275
|
}, {
|
271
276
|
key: "isOverlapping",
|
272
277
|
value: function isOverlapping(mergedCell) {
|
273
|
-
var
|
278
|
+
var _this3 = this;
|
279
|
+
|
280
|
+
var mergedCellRange = this.hot._createCellRange(this.hot._createCellCoords(0, 0), this.hot._createCellCoords(mergedCell.row, mergedCell.col), this.hot._createCellCoords(mergedCell.row + mergedCell.rowspan - 1, mergedCell.col + mergedCell.colspan - 1));
|
281
|
+
|
274
282
|
var result = false;
|
275
283
|
arrayEach(this.mergedCells, function (col) {
|
276
|
-
var currentRange =
|
284
|
+
var currentRange = _this3.hot._createCellRange(_this3.hot._createCellCoords(0, 0), _this3.hot._createCellCoords(col.row, col.col), _this3.hot._createCellCoords(col.row + col.rowspan - 1, col.col + col.colspan - 1));
|
277
285
|
|
278
286
|
if (currentRange.overlaps(mergedCellRange)) {
|
279
287
|
result = true;
|
@@ -297,7 +305,7 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
297
305
|
value: function isFirstRenderableMergedCell(row, column) {
|
298
306
|
var mergeParent = this.get(row, column); // Return if row and column indexes are within merge area and if they are first rendered indexes within the area.
|
299
307
|
|
300
|
-
return mergeParent && this.hot.rowIndexMapper.
|
308
|
+
return mergeParent && this.hot.rowIndexMapper.getNearestNotHiddenIndex(mergeParent.row, 1) === row && this.hot.columnIndexMapper.getNearestNotHiddenIndex(mergeParent.col, 1) === column;
|
301
309
|
}
|
302
310
|
/**
|
303
311
|
* Get the first renderable coords of the merged cell at the provided coordinates.
|
@@ -314,12 +322,12 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
314
322
|
var mergeParent = this.get(row, column);
|
315
323
|
|
316
324
|
if (!mergeParent || this.isFirstRenderableMergedCell(row, column)) {
|
317
|
-
return
|
325
|
+
return this.hot._createCellCoords(row, column);
|
318
326
|
}
|
319
327
|
|
320
|
-
var firstRenderableRow = this.hot.rowIndexMapper.
|
321
|
-
var firstRenderableColumn = this.hot.columnIndexMapper.
|
322
|
-
return
|
328
|
+
var firstRenderableRow = this.hot.rowIndexMapper.getNearestNotHiddenIndex(mergeParent.row, 1);
|
329
|
+
var firstRenderableColumn = this.hot.columnIndexMapper.getNearestNotHiddenIndex(mergeParent.col, 1);
|
330
|
+
return this.hot._createCellCoords(firstRenderableRow, firstRenderableColumn);
|
323
331
|
}
|
324
332
|
/**
|
325
333
|
* Shift the merged cell in the direction and by an offset defined in the arguments.
|
@@ -332,7 +340,7 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
332
340
|
}, {
|
333
341
|
key: "shiftCollections",
|
334
342
|
value: function shiftCollections(direction, index, count) {
|
335
|
-
var
|
343
|
+
var _this4 = this;
|
336
344
|
|
337
345
|
var shiftVector = [0, 0];
|
338
346
|
|
@@ -360,10 +368,10 @@ var MergedCellsCollection = /*#__PURE__*/function () {
|
|
360
368
|
currentMerge.shift(shiftVector, index);
|
361
369
|
});
|
362
370
|
rangeEachReverse(this.mergedCells.length - 1, 0, function (i) {
|
363
|
-
var currentMerge =
|
371
|
+
var currentMerge = _this4.mergedCells[i];
|
364
372
|
|
365
373
|
if (currentMerge && currentMerge.removed) {
|
366
|
-
|
374
|
+
_this4.mergedCells.splice(_this4.mergedCells.indexOf(currentMerge), 1);
|
367
375
|
}
|
368
376
|
});
|
369
377
|
}
|
@@ -53,10 +53,6 @@ var _base = require("../base");
|
|
53
53
|
|
54
54
|
var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
|
55
55
|
|
56
|
-
var _event = require("../../helpers/dom/event");
|
57
|
-
|
58
|
-
var _src = require("../../3rdparty/walkontable/src");
|
59
|
-
|
60
56
|
var _cellsCollection = _interopRequireDefault(require("./cellsCollection"));
|
61
57
|
|
62
58
|
var _cellCoords = _interopRequireDefault(require("./cellCoords"));
|
@@ -105,13 +101,13 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
105
101
|
|
106
102
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
107
103
|
|
108
|
-
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); }
|
104
|
+
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); }
|
109
105
|
|
110
106
|
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
111
107
|
|
112
108
|
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); }
|
113
109
|
|
114
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf
|
110
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
115
111
|
|
116
112
|
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); }; }
|
117
113
|
|
@@ -121,7 +117,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
|
|
121
117
|
|
122
118
|
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; } }
|
123
119
|
|
124
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
120
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
125
121
|
|
126
122
|
_pluginHooks.default.getSingleton().register('beforeMergeCells');
|
127
123
|
|
@@ -136,6 +132,9 @@ exports.PLUGIN_KEY = PLUGIN_KEY;
|
|
136
132
|
var PLUGIN_PRIORITY = 150;
|
137
133
|
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
138
134
|
var privatePool = new WeakMap();
|
135
|
+
var SHORTCUTS_GROUP = PLUGIN_KEY;
|
136
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
137
|
+
|
139
138
|
/**
|
140
139
|
* @plugin MergeCells
|
141
140
|
* @class MergeCells
|
@@ -228,9 +227,6 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
228
227
|
this.addHook('afterInit', function () {
|
229
228
|
return _this2.onAfterInit.apply(_this2, arguments);
|
230
229
|
});
|
231
|
-
this.addHook('beforeKeyDown', function () {
|
232
|
-
return _this2.onBeforeKeyDown.apply(_this2, arguments);
|
233
|
-
});
|
234
230
|
this.addHook('modifyTransformStart', function () {
|
235
231
|
return _this2.onModifyTransformStart.apply(_this2, arguments);
|
236
232
|
});
|
@@ -302,6 +298,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
302
298
|
return false;
|
303
299
|
}
|
304
300
|
});
|
301
|
+
this.registerShortcuts();
|
305
302
|
|
306
303
|
_get(_getPrototypeOf(MergeCells.prototype), "enablePlugin", this).call(this);
|
307
304
|
}
|
@@ -313,12 +310,16 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
313
310
|
key: "disablePlugin",
|
314
311
|
value: function disablePlugin() {
|
315
312
|
this.clearCollections();
|
313
|
+
this.unregisterShortcuts();
|
316
314
|
this.hot.render();
|
317
315
|
|
318
316
|
_get(_getPrototypeOf(MergeCells.prototype), "disablePlugin", this).call(this);
|
319
317
|
}
|
320
318
|
/**
|
321
|
-
* Updates the plugin state.
|
319
|
+
* Updates the plugin's state.
|
320
|
+
*
|
321
|
+
* This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the following configuration options:
|
322
|
+
* - [`mergeCells`](@/api/options.md#mergecells)
|
322
323
|
*/
|
323
324
|
|
324
325
|
}, {
|
@@ -385,9 +386,12 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
385
386
|
return;
|
386
387
|
}
|
387
388
|
|
388
|
-
var highlight =
|
389
|
-
|
390
|
-
var
|
389
|
+
var highlight = _this3.hot._createCellCoords(setting.row, setting.col);
|
390
|
+
|
391
|
+
var rangeEnd = _this3.hot._createCellCoords(setting.row + setting.rowspan - 1, setting.col + setting.colspan - 1);
|
392
|
+
|
393
|
+
var mergeRange = _this3.hot._createCellRange(highlight, highlight, rangeEnd);
|
394
|
+
|
391
395
|
populationArgumentsList.push(_this3.mergeRange(mergeRange, true, true));
|
392
396
|
}); // remove 'empty' setting objects, caused by improper merge range declarations
|
393
397
|
|
@@ -497,7 +501,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
497
501
|
return;
|
498
502
|
}
|
499
503
|
|
500
|
-
currentRange.setDirection('NW-SE');
|
504
|
+
currentRange.setDirection(this.hot.isRtl() ? 'NE-SW' : 'NW-SE');
|
501
505
|
var from = currentRange.from,
|
502
506
|
to = currentRange.to;
|
503
507
|
this.toggleMerge(currentRange);
|
@@ -518,7 +522,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
518
522
|
return;
|
519
523
|
}
|
520
524
|
|
521
|
-
cellRange.setDirection('NW-SE');
|
525
|
+
cellRange.setDirection(this.hot.isRtl() ? 'NE-SW' : 'NW-SE');
|
522
526
|
var from = cellRange.from,
|
523
527
|
to = cellRange.to;
|
524
528
|
this.unmergeRange(cellRange, true);
|
@@ -564,13 +568,13 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
564
568
|
|
565
569
|
var auto = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
566
570
|
var preventPopulation = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
567
|
-
var
|
568
|
-
var
|
571
|
+
var topStart = cellRange.getTopStartCorner();
|
572
|
+
var bottomEnd = cellRange.getBottomEndCorner();
|
569
573
|
var mergeParent = {
|
570
|
-
row:
|
571
|
-
col:
|
572
|
-
rowspan:
|
573
|
-
colspan:
|
574
|
+
row: topStart.row,
|
575
|
+
col: topStart.col,
|
576
|
+
rowspan: bottomEnd.row - topStart.row + 1,
|
577
|
+
colspan: bottomEnd.col - topStart.col + 1
|
574
578
|
};
|
575
579
|
var clearedData = [];
|
576
580
|
var populationInfo = null;
|
@@ -684,9 +688,11 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
684
688
|
}, {
|
685
689
|
key: "merge",
|
686
690
|
value: function merge(startRow, startColumn, endRow, endColumn) {
|
687
|
-
var start =
|
688
|
-
|
689
|
-
this.
|
691
|
+
var start = this.hot._createCellCoords(startRow, startColumn);
|
692
|
+
|
693
|
+
var end = this.hot._createCellCoords(endRow, endColumn);
|
694
|
+
|
695
|
+
this.mergeRange(this.hot._createCellRange(start, start, end));
|
690
696
|
}
|
691
697
|
/**
|
692
698
|
* Unmerges the merged cell in the provided range.
|
@@ -702,9 +708,11 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
702
708
|
}, {
|
703
709
|
key: "unmerge",
|
704
710
|
value: function unmerge(startRow, startColumn, endRow, endColumn) {
|
705
|
-
var start =
|
706
|
-
|
707
|
-
this.
|
711
|
+
var start = this.hot._createCellCoords(startRow, startColumn);
|
712
|
+
|
713
|
+
var end = this.hot._createCellCoords(endRow, endColumn);
|
714
|
+
|
715
|
+
this.unmergeRange(this.hot._createCellRange(start, start, end));
|
708
716
|
}
|
709
717
|
/**
|
710
718
|
* `afterInit` hook callback.
|
@@ -719,23 +727,44 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
719
727
|
this.hot.render();
|
720
728
|
}
|
721
729
|
/**
|
722
|
-
*
|
730
|
+
* Register shortcuts responsible for toggling a merge.
|
723
731
|
*
|
724
732
|
* @private
|
725
|
-
* @param {KeyboardEvent} event The `keydown` event object.
|
726
733
|
*/
|
727
734
|
|
728
735
|
}, {
|
729
|
-
key: "
|
730
|
-
value: function
|
731
|
-
var
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
|
736
|
+
key: "registerShortcuts",
|
737
|
+
value: function registerShortcuts() {
|
738
|
+
var _this6 = this;
|
739
|
+
|
740
|
+
var shortcutManager = this.hot.getShortcutManager();
|
741
|
+
var gridContext = shortcutManager.getContext('grid');
|
742
|
+
gridContext.addShortcut({
|
743
|
+
keys: [['Control', 'm']],
|
744
|
+
callback: function callback() {
|
745
|
+
_this6.toggleMerge(_this6.hot.getSelectedRangeLast());
|
746
|
+
|
747
|
+
_this6.hot.render();
|
748
|
+
},
|
749
|
+
runOnlyIf: function runOnlyIf(event) {
|
750
|
+
return !event.altKey;
|
751
|
+
},
|
752
|
+
// right ALT in some systems triggers ALT+CTRL
|
753
|
+
group: SHORTCUTS_GROUP
|
754
|
+
});
|
755
|
+
}
|
756
|
+
/**
|
757
|
+
* Unregister shortcuts responsible for toggling a merge.
|
758
|
+
*
|
759
|
+
* @private
|
760
|
+
*/
|
761
|
+
|
762
|
+
}, {
|
763
|
+
key: "unregisterShortcuts",
|
764
|
+
value: function unregisterShortcuts() {
|
765
|
+
var shortcutManager = this.hot.getShortcutManager();
|
766
|
+
var gridContext = shortcutManager.getContext('grid');
|
767
|
+
gridContext.removeShortcutsByGroup(SHORTCUTS_GROUP);
|
739
768
|
}
|
740
769
|
/**
|
741
770
|
* Modifies the information on whether the current selection contains multiple cells. The `afterIsMultipleSelection` hook callback.
|
@@ -778,21 +807,25 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
778
807
|
col: delta.col
|
779
808
|
};
|
780
809
|
var nextPosition = null;
|
781
|
-
|
810
|
+
|
811
|
+
var currentPosition = this.hot._createCellCoords(currentlySelectedRange.highlight.row, currentlySelectedRange.highlight.col);
|
812
|
+
|
782
813
|
var mergedParent = this.mergedCellsCollection.get(currentPosition.row, currentPosition.col);
|
783
814
|
|
784
815
|
if (!priv.lastDesiredCoords) {
|
785
|
-
priv.lastDesiredCoords =
|
816
|
+
priv.lastDesiredCoords = this.hot._createCellCoords(null, null);
|
786
817
|
}
|
787
818
|
|
788
819
|
if (mergedParent) {
|
789
820
|
// only merge selected
|
790
|
-
var mergeTopLeft =
|
791
|
-
|
792
|
-
var
|
821
|
+
var mergeTopLeft = this.hot._createCellCoords(mergedParent.row, mergedParent.col);
|
822
|
+
|
823
|
+
var mergeBottomRight = this.hot._createCellCoords(mergedParent.row + mergedParent.rowspan - 1, mergedParent.col + mergedParent.colspan - 1);
|
824
|
+
|
825
|
+
var mergeRange = this.hot._createCellRange(mergeTopLeft, mergeTopLeft, mergeBottomRight);
|
793
826
|
|
794
827
|
if (!mergeRange.includes(priv.lastDesiredCoords)) {
|
795
|
-
priv.lastDesiredCoords =
|
828
|
+
priv.lastDesiredCoords = this.hot._createCellCoords(null, null); // reset outdated version of lastDesiredCoords
|
796
829
|
}
|
797
830
|
|
798
831
|
newDelta.row = priv.lastDesiredCoords.row ? priv.lastDesiredCoords.row - currentPosition.row : newDelta.row;
|
@@ -815,7 +848,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
815
848
|
}
|
816
849
|
}
|
817
850
|
|
818
|
-
nextPosition =
|
851
|
+
nextPosition = this.hot._createCellCoords(currentlySelectedRange.highlight.row + newDelta.row, currentlySelectedRange.highlight.col + newDelta.col);
|
819
852
|
var nextPositionMergedCell = this.mergedCellsCollection.get(nextPosition.row, nextPosition.col);
|
820
853
|
|
821
854
|
if (nextPositionMergedCell) {
|
@@ -846,7 +879,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
846
879
|
}, {
|
847
880
|
key: "onModifyTransformEnd",
|
848
881
|
value: function onModifyTransformEnd(delta) {
|
849
|
-
var
|
882
|
+
var _this7 = this;
|
850
883
|
|
851
884
|
var currentSelectionRange = this.hot.getSelectedRangeLast();
|
852
885
|
var newDelta = (0, _object.clone)(delta);
|
@@ -858,7 +891,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
858
891
|
tempDelta = (0, _object.clone)(newDelta);
|
859
892
|
this.selectionCalculations.getUpdatedSelectionRange(currentSelectionRange, newDelta);
|
860
893
|
(0, _array.arrayEach)(mergedCellsWithinRange, function (mergedCell) {
|
861
|
-
|
894
|
+
_this7.selectionCalculations.snapDelta(newDelta, currentSelectionRange, mergedCell);
|
862
895
|
});
|
863
896
|
} while (newDelta.row !== tempDelta.row || newDelta.col !== tempDelta.col);
|
864
897
|
|
@@ -946,9 +979,9 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
946
979
|
var maxColSpan = lastMergedColumnIndex - renderedColumnIndex + 1; // Number of rendered columns.
|
947
980
|
// We just try to determine some values basing on the actual number of rendered indexes (some columns may be hidden).
|
948
981
|
|
949
|
-
mergedCellCopy.row = rowMapper.
|
982
|
+
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).
|
950
983
|
|
951
|
-
mergedCellCopy.col = columnMapper.
|
984
|
+
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.
|
952
985
|
|
953
986
|
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.
|
954
987
|
|
@@ -994,7 +1027,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
994
1027
|
key: "onBeforeSetRangeEnd",
|
995
1028
|
value: function onBeforeSetRangeEnd(coords) {
|
996
1029
|
var selRange = this.hot.getSelectedRangeLast();
|
997
|
-
selRange.highlight =
|
1030
|
+
selRange.highlight = this.hot._createCellCoords(selRange.highlight.row, selRange.highlight.col); // clone in case we will modify its reference
|
998
1031
|
|
999
1032
|
selRange.to = coords;
|
1000
1033
|
var rangeExpanded = false;
|
@@ -1073,7 +1106,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1073
1106
|
var mergeParentForViewportStart = this.mergedCellsCollection.get(visualStartRow, visualColumnIndex);
|
1074
1107
|
|
1075
1108
|
if ((0, _object.isObject)(mergeParentForViewportStart)) {
|
1076
|
-
var renderableIndexAtMergeStart = rowMapper.getRenderableFromVisualIndex(rowMapper.
|
1109
|
+
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).
|
1077
1110
|
|
1078
1111
|
if (renderableIndexAtMergeStart < calc.startRow) {
|
1079
1112
|
// We extend viewport when some rows have been merged.
|
@@ -1105,7 +1138,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1105
1138
|
|
1106
1139
|
if ((0, _object.isObject)(mergeParentForViewportEnd)) {
|
1107
1140
|
var mergeEnd = mergeParentForViewportEnd.row + mergeParentForViewportEnd.rowspan - 1;
|
1108
|
-
var renderableIndexAtMergeEnd = rowMapper.getRenderableFromVisualIndex(rowMapper.
|
1141
|
+
var renderableIndexAtMergeEnd = rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(mergeEnd, -1)); // Merge end is out of the viewport.
|
1109
1142
|
|
1110
1143
|
if (renderableIndexAtMergeEnd > calc.endRow) {
|
1111
1144
|
// We extend the viewport when some rows have been merged.
|
@@ -1150,7 +1183,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1150
1183
|
var mergeParentForViewportStart = this.mergedCellsCollection.get(visualRowIndex, visualStartCol);
|
1151
1184
|
|
1152
1185
|
if ((0, _object.isObject)(mergeParentForViewportStart)) {
|
1153
|
-
var renderableIndexAtMergeStart = columnMapper.getRenderableFromVisualIndex(columnMapper.
|
1186
|
+
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).
|
1154
1187
|
|
1155
1188
|
if (renderableIndexAtMergeStart < calc.startColumn) {
|
1156
1189
|
// We extend viewport when some columns have been merged.
|
@@ -1182,7 +1215,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1182
1215
|
|
1183
1216
|
if ((0, _object.isObject)(mergeParentForViewportEnd)) {
|
1184
1217
|
var mergeEnd = mergeParentForViewportEnd.col + mergeParentForViewportEnd.colspan - 1;
|
1185
|
-
var renderableIndexAtMergeEnd = columnMapper.getRenderableFromVisualIndex(columnMapper.
|
1218
|
+
var renderableIndexAtMergeEnd = columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(mergeEnd, -1)); // Merge end is out of the viewport.
|
1186
1219
|
|
1187
1220
|
if (renderableIndexAtMergeEnd > calc.endColumn) {
|
1188
1221
|
// We extend the viewport when some columns have been merged.
|
@@ -1222,15 +1255,15 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1222
1255
|
var firstNonHiddenColumn;
|
1223
1256
|
|
1224
1257
|
if (rowspan === 0) {
|
1225
|
-
firstNonHiddenRow = rowMapper.
|
1258
|
+
firstNonHiddenRow = rowMapper.getNearestNotHiddenIndex(parentRow, 1);
|
1226
1259
|
} else {
|
1227
|
-
firstNonHiddenRow = rowMapper.
|
1260
|
+
firstNonHiddenRow = rowMapper.getNearestNotHiddenIndex(parentRow + rowspan - 1, -1);
|
1228
1261
|
}
|
1229
1262
|
|
1230
1263
|
if (colspan === 0) {
|
1231
|
-
firstNonHiddenColumn = columnMapper.
|
1264
|
+
firstNonHiddenColumn = columnMapper.getNearestNotHiddenIndex(parentColumn, 1);
|
1232
1265
|
} else {
|
1233
|
-
firstNonHiddenColumn = columnMapper.
|
1266
|
+
firstNonHiddenColumn = columnMapper.getNearestNotHiddenIndex(parentColumn + colspan - 1, -1);
|
1234
1267
|
}
|
1235
1268
|
|
1236
1269
|
var renderableRow = parentRow >= 0 ? rowMapper.getRenderableFromVisualIndex(firstNonHiddenRow) : parentRow;
|
@@ -1365,7 +1398,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1365
1398
|
var selectedRange = this.hot.getSelectedRangeLast();
|
1366
1399
|
var mergedCellsWithinRange = this.mergedCellsCollection.getWithinRange(selectedRange);
|
1367
1400
|
(0, _array.arrayEach)(mergedCellsWithinRange, function (mergedCell) {
|
1368
|
-
if (selectedRange.
|
1401
|
+
if (selectedRange.getBottomEndCorner().row === mergedCell.getLastRow() && selectedRange.getBottomEndCorner().col === mergedCell.getLastColumn()) {
|
1369
1402
|
corners[2] = mergedCell.row;
|
1370
1403
|
corners[3] = mergedCell.col;
|
1371
1404
|
}
|