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
package/selection/range.js
CHANGED
@@ -21,8 +21,6 @@ require("core-js/modules/es.symbol.js");
|
|
21
21
|
|
22
22
|
require("core-js/modules/es.symbol.description.js");
|
23
23
|
|
24
|
-
var _src = require("./../3rdparty/walkontable/src");
|
25
|
-
|
26
24
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
27
25
|
|
28
26
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
@@ -37,7 +35,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
37
35
|
* @util
|
38
36
|
*/
|
39
37
|
var SelectionRange = /*#__PURE__*/function (_Symbol$iterator) {
|
40
|
-
function SelectionRange() {
|
38
|
+
function SelectionRange(createCellRange) {
|
41
39
|
_classCallCheck(this, SelectionRange);
|
42
40
|
|
43
41
|
/**
|
@@ -46,6 +44,7 @@ var SelectionRange = /*#__PURE__*/function (_Symbol$iterator) {
|
|
46
44
|
* @type {CellRange[]}
|
47
45
|
*/
|
48
46
|
this.ranges = [];
|
47
|
+
this.createCellRange = createCellRange;
|
49
48
|
}
|
50
49
|
/**
|
51
50
|
* Check if selected range is empty.
|
@@ -71,7 +70,7 @@ var SelectionRange = /*#__PURE__*/function (_Symbol$iterator) {
|
|
71
70
|
key: "set",
|
72
71
|
value: function set(coords) {
|
73
72
|
this.clear();
|
74
|
-
this.ranges.push(
|
73
|
+
this.ranges.push(this.createCellRange(coords));
|
75
74
|
return this;
|
76
75
|
}
|
77
76
|
/**
|
@@ -84,7 +83,7 @@ var SelectionRange = /*#__PURE__*/function (_Symbol$iterator) {
|
|
84
83
|
}, {
|
85
84
|
key: "add",
|
86
85
|
value: function add(coords) {
|
87
|
-
this.ranges.push(
|
86
|
+
this.ranges.push(this.createCellRange(coords));
|
88
87
|
return this;
|
89
88
|
}
|
90
89
|
/**
|
package/selection/range.mjs
CHANGED
@@ -14,7 +14,6 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
14
14
|
|
15
15
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
16
16
|
|
17
|
-
import { CellRange } from "./../3rdparty/walkontable/src/index.mjs";
|
18
17
|
/**
|
19
18
|
* The SelectionRange class is a simple CellRanges collection designed for easy manipulation of the multiple
|
20
19
|
* consecutive and non-consecutive selections.
|
@@ -22,9 +21,8 @@ import { CellRange } from "./../3rdparty/walkontable/src/index.mjs";
|
|
22
21
|
* @class SelectionRange
|
23
22
|
* @util
|
24
23
|
*/
|
25
|
-
|
26
24
|
var SelectionRange = /*#__PURE__*/function (_Symbol$iterator) {
|
27
|
-
function SelectionRange() {
|
25
|
+
function SelectionRange(createCellRange) {
|
28
26
|
_classCallCheck(this, SelectionRange);
|
29
27
|
|
30
28
|
/**
|
@@ -33,6 +31,7 @@ var SelectionRange = /*#__PURE__*/function (_Symbol$iterator) {
|
|
33
31
|
* @type {CellRange[]}
|
34
32
|
*/
|
35
33
|
this.ranges = [];
|
34
|
+
this.createCellRange = createCellRange;
|
36
35
|
}
|
37
36
|
/**
|
38
37
|
* Check if selected range is empty.
|
@@ -58,7 +57,7 @@ var SelectionRange = /*#__PURE__*/function (_Symbol$iterator) {
|
|
58
57
|
key: "set",
|
59
58
|
value: function set(coords) {
|
60
59
|
this.clear();
|
61
|
-
this.ranges.push(
|
60
|
+
this.ranges.push(this.createCellRange(coords));
|
62
61
|
return this;
|
63
62
|
}
|
64
63
|
/**
|
@@ -71,7 +70,7 @@ var SelectionRange = /*#__PURE__*/function (_Symbol$iterator) {
|
|
71
70
|
}, {
|
72
71
|
key: "add",
|
73
72
|
value: function add(coords) {
|
74
|
-
this.ranges.push(
|
73
|
+
this.ranges.push(this.createCellRange(coords));
|
75
74
|
return this;
|
76
75
|
}
|
77
76
|
/**
|
package/selection/selection.js
CHANGED
@@ -47,10 +47,6 @@ var _constants = require("./highlight/constants");
|
|
47
47
|
|
48
48
|
var _range = _interopRequireDefault(require("./range"));
|
49
49
|
|
50
|
-
var _src = require("./../3rdparty/walkontable/src");
|
51
|
-
|
52
|
-
var _keyStateObserver = require("./../utils/keyStateObserver");
|
53
|
-
|
54
50
|
var _object = require("./../helpers/object");
|
55
51
|
|
56
52
|
var _mixed = require("./../helpers/mixed");
|
@@ -148,7 +144,9 @@ var Selection = /*#__PURE__*/function () {
|
|
148
144
|
* @type {SelectionRange}
|
149
145
|
*/
|
150
146
|
|
151
|
-
this.selectedRange = new _range.default()
|
147
|
+
this.selectedRange = new _range.default(function (highlight, from, to) {
|
148
|
+
return _this.tableProps.createCellRange(highlight, from, to);
|
149
|
+
});
|
152
150
|
/**
|
153
151
|
* Visualization layer.
|
154
152
|
*
|
@@ -174,6 +172,18 @@ var Selection = /*#__PURE__*/function () {
|
|
174
172
|
},
|
175
173
|
renderableToVisualCoords: function renderableToVisualCoords(coords) {
|
176
174
|
return _this.tableProps.renderableToVisualCoords(coords);
|
175
|
+
},
|
176
|
+
createCellCoords: function createCellCoords(row, column) {
|
177
|
+
return _this.tableProps.createCellCoords(row, column);
|
178
|
+
},
|
179
|
+
createCellRange: function createCellRange(highlight, from, to) {
|
180
|
+
return _this.tableProps.createCellRange(highlight, from, to);
|
181
|
+
},
|
182
|
+
rowIndexMapper: function rowIndexMapper() {
|
183
|
+
return _this.tableProps.rowIndexMapper();
|
184
|
+
},
|
185
|
+
columnIndexMapper: function columnIndexMapper() {
|
186
|
+
return _this.tableProps.columnIndexMapper();
|
177
187
|
}
|
178
188
|
});
|
179
189
|
/**
|
@@ -195,6 +205,9 @@ var Selection = /*#__PURE__*/function () {
|
|
195
205
|
renderableToVisualCoords: function renderableToVisualCoords(coords) {
|
196
206
|
return _this.tableProps.renderableToVisualCoords(coords);
|
197
207
|
},
|
208
|
+
createCellCoords: function createCellCoords(row, column) {
|
209
|
+
return _this.tableProps.createCellCoords(row, column);
|
210
|
+
},
|
198
211
|
fixedRowsBottom: function fixedRowsBottom() {
|
199
212
|
return settings.fixedRowsBottom;
|
200
213
|
},
|
@@ -302,7 +315,7 @@ var Selection = /*#__PURE__*/function () {
|
|
302
315
|
* @param {CellCoords} coords Visual coords.
|
303
316
|
* @param {boolean} [multipleSelection] If `true`, selection will be worked in 'multiple' mode. This option works
|
304
317
|
* only when 'selectionMode' is set as 'multiple'. If the argument is not defined
|
305
|
-
* the default trigger will be used
|
318
|
+
* the default trigger will be used.
|
306
319
|
* @param {boolean} [fragment=false] If `true`, the selection will be treated as a partial selection where the
|
307
320
|
* `setRangeEnd` method won't be called on every `setRangeStart` call.
|
308
321
|
*/
|
@@ -312,7 +325,7 @@ var Selection = /*#__PURE__*/function () {
|
|
312
325
|
value: function setRangeStart(coords, multipleSelection) {
|
313
326
|
var fragment = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
314
327
|
var isMultipleMode = this.settings.selectionMode === 'multiple';
|
315
|
-
var isMultipleSelection = (0, _mixed.isUndefined)(multipleSelection) ? (
|
328
|
+
var isMultipleSelection = (0, _mixed.isUndefined)(multipleSelection) ? this.tableProps.getShortcutManager().isCtrlPressed() : multipleSelection;
|
316
329
|
var isRowNegative = coords.row < 0;
|
317
330
|
var isColumnNegative = coords.col < 0;
|
318
331
|
var selectedByCorner = isRowNegative && isColumnNegative; // We are creating copy. We would like to modify just the start of the selection by below hook. Then original coords
|
@@ -351,7 +364,7 @@ var Selection = /*#__PURE__*/function () {
|
|
351
364
|
* @param {CellCoords} coords Visual coords.
|
352
365
|
* @param {boolean} [multipleSelection] If `true`, selection will be worked in 'multiple' mode. This option works
|
353
366
|
* only when 'selectionMode' is set as 'multiple'. If the argument is not defined
|
354
|
-
* the default trigger will be used
|
367
|
+
* the default trigger will be used.
|
355
368
|
*/
|
356
369
|
|
357
370
|
}, {
|
@@ -380,14 +393,14 @@ var Selection = /*#__PURE__*/function () {
|
|
380
393
|
var cellRange = this.selectedRange.current();
|
381
394
|
|
382
395
|
if (this.settings.selectionMode !== 'single') {
|
383
|
-
cellRange.setTo(
|
396
|
+
cellRange.setTo(this.tableProps.createCellCoords(coordsClone.row, coordsClone.col));
|
384
397
|
} // Set up current selection.
|
385
398
|
|
386
399
|
|
387
400
|
this.highlight.getCell().clear();
|
388
401
|
|
389
402
|
if (this.highlight.isEnabledFor(_constants.CELL_TYPE, cellRange.highlight)) {
|
390
|
-
this.highlight.getCell().add(this.selectedRange.current().highlight).commit().
|
403
|
+
this.highlight.getCell().add(this.selectedRange.current().highlight).commit().syncWith(cellRange);
|
391
404
|
}
|
392
405
|
|
393
406
|
var layerLevel = this.getLayerLevel(); // If the next layer level is lower than previous then clear all area and header highlights. This is the
|
@@ -422,7 +435,7 @@ var Selection = /*#__PURE__*/function () {
|
|
422
435
|
// based on previous coordinates. It only occurs when the previous selection wasn't select multiple cells.
|
423
436
|
var previousRange = this.selectedRange.previous();
|
424
437
|
this.highlight.useLayerLevel(layerLevel - 1).createOrGetArea().add(previousRange.from).commit() // Range may start with hidden indexes. Commit would not found start point (as we add just the `from` coords).
|
425
|
-
.
|
438
|
+
.syncWith(previousRange);
|
426
439
|
this.highlight.useLayerLevel(layerLevel);
|
427
440
|
}
|
428
441
|
}
|
@@ -462,7 +475,7 @@ var Selection = /*#__PURE__*/function () {
|
|
462
475
|
var isRowSelected = this.tableProps.countCols() === cellRange.getWidth(); // Make sure that the whole row is selected (in case where selectionMode is set to 'single')
|
463
476
|
|
464
477
|
if (isRowSelected) {
|
465
|
-
activeHeaderHighlight.add(
|
478
|
+
activeHeaderHighlight.add(this.tableProps.createCellCoords(cellRange.from.row, -1)).add(this.tableProps.createCellCoords(cellRange.to.row, -1)).commit();
|
466
479
|
}
|
467
480
|
}
|
468
481
|
|
@@ -470,7 +483,7 @@ var Selection = /*#__PURE__*/function () {
|
|
470
483
|
var isColumnSelected = this.tableProps.countRows() === cellRange.getHeight(); // Make sure that the whole column is selected (in case where selectionMode is set to 'single')
|
471
484
|
|
472
485
|
if (isColumnSelected) {
|
473
|
-
activeHeaderHighlight.add(
|
486
|
+
activeHeaderHighlight.add(this.tableProps.createCellCoords(-1, cellRange.from.col)).add(this.tableProps.createCellCoords(-1, cellRange.to.col)).commit();
|
474
487
|
}
|
475
488
|
}
|
476
489
|
}
|
@@ -708,12 +721,12 @@ var Selection = /*#__PURE__*/function () {
|
|
708
721
|
return;
|
709
722
|
}
|
710
723
|
|
711
|
-
var startCoords =
|
724
|
+
var startCoords = this.tableProps.createCellCoords(includeColumnHeaders ? -1 : 0, includeRowHeaders ? -1 : 0);
|
712
725
|
this.clear();
|
713
726
|
this.setRangeStartOnly(startCoords);
|
714
727
|
this.selectedByRowHeader.add(this.getLayerLevel());
|
715
728
|
this.selectedByColumnHeader.add(this.getLayerLevel());
|
716
|
-
this.setRangeEnd(
|
729
|
+
this.setRangeEnd(this.tableProps.createCellCoords(nrOfRows - 1, nrOfColumns - 1));
|
717
730
|
this.finish();
|
718
731
|
}
|
719
732
|
/**
|
@@ -771,9 +784,9 @@ var Selection = /*#__PURE__*/function () {
|
|
771
784
|
rowEnd = _selectionSchemaNorma4[2],
|
772
785
|
columnEnd = _selectionSchemaNorma4[3];
|
773
786
|
|
774
|
-
_this2.setRangeStartOnly(
|
787
|
+
_this2.setRangeStartOnly(_this2.tableProps.createCellCoords(rowStart, columnStart), false);
|
775
788
|
|
776
|
-
_this2.setRangeEnd(
|
789
|
+
_this2.setRangeEnd(_this2.tableProps.createCellCoords(rowEnd, columnEnd));
|
777
790
|
|
778
791
|
_this2.finish();
|
779
792
|
});
|
@@ -805,8 +818,8 @@ var Selection = /*#__PURE__*/function () {
|
|
805
818
|
var isValid = (0, _utils.isValidCoord)(start, nrOfColumns) && (0, _utils.isValidCoord)(end, nrOfColumns);
|
806
819
|
|
807
820
|
if (isValid) {
|
808
|
-
this.setRangeStartOnly(
|
809
|
-
this.setRangeEnd(
|
821
|
+
this.setRangeStartOnly(this.tableProps.createCellCoords(headerLevel, start));
|
822
|
+
this.setRangeEnd(this.tableProps.createCellCoords(nrOfRows - 1, end));
|
810
823
|
this.finish();
|
811
824
|
}
|
812
825
|
|
@@ -833,8 +846,8 @@ var Selection = /*#__PURE__*/function () {
|
|
833
846
|
var isValid = (0, _utils.isValidCoord)(startRow, nrOfRows) && (0, _utils.isValidCoord)(endRow, nrOfRows);
|
834
847
|
|
835
848
|
if (isValid) {
|
836
|
-
this.setRangeStartOnly(
|
837
|
-
this.setRangeEnd(
|
849
|
+
this.setRangeStartOnly(this.tableProps.createCellCoords(startRow, headerLevel));
|
850
|
+
this.setRangeEnd(this.tableProps.createCellCoords(endRow, nrOfColumns - 1));
|
838
851
|
this.finish();
|
839
852
|
}
|
840
853
|
|
@@ -858,7 +871,7 @@ var Selection = /*#__PURE__*/function () {
|
|
858
871
|
|
859
872
|
var cellHighlight = this.highlight.getCell();
|
860
873
|
var currentLayer = this.getLayerLevel();
|
861
|
-
cellHighlight.commit().
|
874
|
+
cellHighlight.commit().syncWith(this.selectedRange.current()); // Rewriting rendered ranges going through all layers.
|
862
875
|
|
863
876
|
for (var layerLevel = 0; layerLevel < this.selectedRange.size(); layerLevel += 1) {
|
864
877
|
this.highlight.useLayerLevel(layerLevel);
|
package/selection/selection.mjs
CHANGED
@@ -44,8 +44,6 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
44
44
|
import Highlight from "./highlight/highlight.mjs";
|
45
45
|
import { AREA_TYPE, HEADER_TYPE, CELL_TYPE } from "./highlight/constants.mjs";
|
46
46
|
import SelectionRange from "./range.mjs";
|
47
|
-
import { CellCoords } from "./../3rdparty/walkontable/src/index.mjs";
|
48
|
-
import { isPressedCtrlKey } from "./../utils/keyStateObserver.mjs";
|
49
47
|
import { createObjectPropListener, mixin } from "./../helpers/object.mjs";
|
50
48
|
import { isUndefined } from "./../helpers/mixed.mjs";
|
51
49
|
import { arrayEach } from "./../helpers/array.mjs";
|
@@ -113,7 +111,9 @@ var Selection = /*#__PURE__*/function () {
|
|
113
111
|
* @type {SelectionRange}
|
114
112
|
*/
|
115
113
|
|
116
|
-
this.selectedRange = new SelectionRange()
|
114
|
+
this.selectedRange = new SelectionRange(function (highlight, from, to) {
|
115
|
+
return _this.tableProps.createCellRange(highlight, from, to);
|
116
|
+
});
|
117
117
|
/**
|
118
118
|
* Visualization layer.
|
119
119
|
*
|
@@ -139,6 +139,18 @@ var Selection = /*#__PURE__*/function () {
|
|
139
139
|
},
|
140
140
|
renderableToVisualCoords: function renderableToVisualCoords(coords) {
|
141
141
|
return _this.tableProps.renderableToVisualCoords(coords);
|
142
|
+
},
|
143
|
+
createCellCoords: function createCellCoords(row, column) {
|
144
|
+
return _this.tableProps.createCellCoords(row, column);
|
145
|
+
},
|
146
|
+
createCellRange: function createCellRange(highlight, from, to) {
|
147
|
+
return _this.tableProps.createCellRange(highlight, from, to);
|
148
|
+
},
|
149
|
+
rowIndexMapper: function rowIndexMapper() {
|
150
|
+
return _this.tableProps.rowIndexMapper();
|
151
|
+
},
|
152
|
+
columnIndexMapper: function columnIndexMapper() {
|
153
|
+
return _this.tableProps.columnIndexMapper();
|
142
154
|
}
|
143
155
|
});
|
144
156
|
/**
|
@@ -160,6 +172,9 @@ var Selection = /*#__PURE__*/function () {
|
|
160
172
|
renderableToVisualCoords: function renderableToVisualCoords(coords) {
|
161
173
|
return _this.tableProps.renderableToVisualCoords(coords);
|
162
174
|
},
|
175
|
+
createCellCoords: function createCellCoords(row, column) {
|
176
|
+
return _this.tableProps.createCellCoords(row, column);
|
177
|
+
},
|
163
178
|
fixedRowsBottom: function fixedRowsBottom() {
|
164
179
|
return settings.fixedRowsBottom;
|
165
180
|
},
|
@@ -267,7 +282,7 @@ var Selection = /*#__PURE__*/function () {
|
|
267
282
|
* @param {CellCoords} coords Visual coords.
|
268
283
|
* @param {boolean} [multipleSelection] If `true`, selection will be worked in 'multiple' mode. This option works
|
269
284
|
* only when 'selectionMode' is set as 'multiple'. If the argument is not defined
|
270
|
-
* the default trigger will be used
|
285
|
+
* the default trigger will be used.
|
271
286
|
* @param {boolean} [fragment=false] If `true`, the selection will be treated as a partial selection where the
|
272
287
|
* `setRangeEnd` method won't be called on every `setRangeStart` call.
|
273
288
|
*/
|
@@ -277,7 +292,7 @@ var Selection = /*#__PURE__*/function () {
|
|
277
292
|
value: function setRangeStart(coords, multipleSelection) {
|
278
293
|
var fragment = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
279
294
|
var isMultipleMode = this.settings.selectionMode === 'multiple';
|
280
|
-
var isMultipleSelection = isUndefined(multipleSelection) ?
|
295
|
+
var isMultipleSelection = isUndefined(multipleSelection) ? this.tableProps.getShortcutManager().isCtrlPressed() : multipleSelection;
|
281
296
|
var isRowNegative = coords.row < 0;
|
282
297
|
var isColumnNegative = coords.col < 0;
|
283
298
|
var selectedByCorner = isRowNegative && isColumnNegative; // We are creating copy. We would like to modify just the start of the selection by below hook. Then original coords
|
@@ -316,7 +331,7 @@ var Selection = /*#__PURE__*/function () {
|
|
316
331
|
* @param {CellCoords} coords Visual coords.
|
317
332
|
* @param {boolean} [multipleSelection] If `true`, selection will be worked in 'multiple' mode. This option works
|
318
333
|
* only when 'selectionMode' is set as 'multiple'. If the argument is not defined
|
319
|
-
* the default trigger will be used
|
334
|
+
* the default trigger will be used.
|
320
335
|
*/
|
321
336
|
|
322
337
|
}, {
|
@@ -345,14 +360,14 @@ var Selection = /*#__PURE__*/function () {
|
|
345
360
|
var cellRange = this.selectedRange.current();
|
346
361
|
|
347
362
|
if (this.settings.selectionMode !== 'single') {
|
348
|
-
cellRange.setTo(
|
363
|
+
cellRange.setTo(this.tableProps.createCellCoords(coordsClone.row, coordsClone.col));
|
349
364
|
} // Set up current selection.
|
350
365
|
|
351
366
|
|
352
367
|
this.highlight.getCell().clear();
|
353
368
|
|
354
369
|
if (this.highlight.isEnabledFor(CELL_TYPE, cellRange.highlight)) {
|
355
|
-
this.highlight.getCell().add(this.selectedRange.current().highlight).commit().
|
370
|
+
this.highlight.getCell().add(this.selectedRange.current().highlight).commit().syncWith(cellRange);
|
356
371
|
}
|
357
372
|
|
358
373
|
var layerLevel = this.getLayerLevel(); // If the next layer level is lower than previous then clear all area and header highlights. This is the
|
@@ -387,7 +402,7 @@ var Selection = /*#__PURE__*/function () {
|
|
387
402
|
// based on previous coordinates. It only occurs when the previous selection wasn't select multiple cells.
|
388
403
|
var previousRange = this.selectedRange.previous();
|
389
404
|
this.highlight.useLayerLevel(layerLevel - 1).createOrGetArea().add(previousRange.from).commit() // Range may start with hidden indexes. Commit would not found start point (as we add just the `from` coords).
|
390
|
-
.
|
405
|
+
.syncWith(previousRange);
|
391
406
|
this.highlight.useLayerLevel(layerLevel);
|
392
407
|
}
|
393
408
|
}
|
@@ -427,7 +442,7 @@ var Selection = /*#__PURE__*/function () {
|
|
427
442
|
var isRowSelected = this.tableProps.countCols() === cellRange.getWidth(); // Make sure that the whole row is selected (in case where selectionMode is set to 'single')
|
428
443
|
|
429
444
|
if (isRowSelected) {
|
430
|
-
activeHeaderHighlight.add(
|
445
|
+
activeHeaderHighlight.add(this.tableProps.createCellCoords(cellRange.from.row, -1)).add(this.tableProps.createCellCoords(cellRange.to.row, -1)).commit();
|
431
446
|
}
|
432
447
|
}
|
433
448
|
|
@@ -435,7 +450,7 @@ var Selection = /*#__PURE__*/function () {
|
|
435
450
|
var isColumnSelected = this.tableProps.countRows() === cellRange.getHeight(); // Make sure that the whole column is selected (in case where selectionMode is set to 'single')
|
436
451
|
|
437
452
|
if (isColumnSelected) {
|
438
|
-
activeHeaderHighlight.add(
|
453
|
+
activeHeaderHighlight.add(this.tableProps.createCellCoords(-1, cellRange.from.col)).add(this.tableProps.createCellCoords(-1, cellRange.to.col)).commit();
|
439
454
|
}
|
440
455
|
}
|
441
456
|
}
|
@@ -673,12 +688,12 @@ var Selection = /*#__PURE__*/function () {
|
|
673
688
|
return;
|
674
689
|
}
|
675
690
|
|
676
|
-
var startCoords =
|
691
|
+
var startCoords = this.tableProps.createCellCoords(includeColumnHeaders ? -1 : 0, includeRowHeaders ? -1 : 0);
|
677
692
|
this.clear();
|
678
693
|
this.setRangeStartOnly(startCoords);
|
679
694
|
this.selectedByRowHeader.add(this.getLayerLevel());
|
680
695
|
this.selectedByColumnHeader.add(this.getLayerLevel());
|
681
|
-
this.setRangeEnd(
|
696
|
+
this.setRangeEnd(this.tableProps.createCellCoords(nrOfRows - 1, nrOfColumns - 1));
|
682
697
|
this.finish();
|
683
698
|
}
|
684
699
|
/**
|
@@ -736,9 +751,9 @@ var Selection = /*#__PURE__*/function () {
|
|
736
751
|
rowEnd = _selectionSchemaNorma4[2],
|
737
752
|
columnEnd = _selectionSchemaNorma4[3];
|
738
753
|
|
739
|
-
_this2.setRangeStartOnly(
|
754
|
+
_this2.setRangeStartOnly(_this2.tableProps.createCellCoords(rowStart, columnStart), false);
|
740
755
|
|
741
|
-
_this2.setRangeEnd(
|
756
|
+
_this2.setRangeEnd(_this2.tableProps.createCellCoords(rowEnd, columnEnd));
|
742
757
|
|
743
758
|
_this2.finish();
|
744
759
|
});
|
@@ -770,8 +785,8 @@ var Selection = /*#__PURE__*/function () {
|
|
770
785
|
var isValid = isValidCoord(start, nrOfColumns) && isValidCoord(end, nrOfColumns);
|
771
786
|
|
772
787
|
if (isValid) {
|
773
|
-
this.setRangeStartOnly(
|
774
|
-
this.setRangeEnd(
|
788
|
+
this.setRangeStartOnly(this.tableProps.createCellCoords(headerLevel, start));
|
789
|
+
this.setRangeEnd(this.tableProps.createCellCoords(nrOfRows - 1, end));
|
775
790
|
this.finish();
|
776
791
|
}
|
777
792
|
|
@@ -798,8 +813,8 @@ var Selection = /*#__PURE__*/function () {
|
|
798
813
|
var isValid = isValidCoord(startRow, nrOfRows) && isValidCoord(endRow, nrOfRows);
|
799
814
|
|
800
815
|
if (isValid) {
|
801
|
-
this.setRangeStartOnly(
|
802
|
-
this.setRangeEnd(
|
816
|
+
this.setRangeStartOnly(this.tableProps.createCellCoords(startRow, headerLevel));
|
817
|
+
this.setRangeEnd(this.tableProps.createCellCoords(endRow, nrOfColumns - 1));
|
803
818
|
this.finish();
|
804
819
|
}
|
805
820
|
|
@@ -823,7 +838,7 @@ var Selection = /*#__PURE__*/function () {
|
|
823
838
|
|
824
839
|
var cellHighlight = this.highlight.getCell();
|
825
840
|
var currentLayer = this.getLayerLevel();
|
826
|
-
cellHighlight.commit().
|
841
|
+
cellHighlight.commit().syncWith(this.selectedRange.current()); // Rewriting rendered ranges going through all layers.
|
827
842
|
|
828
843
|
for (var layerLevel = 0; layerLevel < this.selectedRange.size(); layerLevel += 1) {
|
829
844
|
this.highlight.useLayerLevel(layerLevel);
|
@@ -3,8 +3,6 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.default = void 0;
|
5
5
|
|
6
|
-
var _src = require("./../3rdparty/walkontable/src");
|
7
|
-
|
8
6
|
var _object = require("../helpers/object");
|
9
7
|
|
10
8
|
var _localHooks = _interopRequireDefault(require("./../mixins/localHooks"));
|
@@ -60,7 +58,7 @@ var Transformation = /*#__PURE__*/function () {
|
|
60
58
|
key: "transformStart",
|
61
59
|
value: function transformStart(rowDelta, colDelta) {
|
62
60
|
var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
63
|
-
var delta =
|
61
|
+
var delta = this.options.createCellCoords(rowDelta, colDelta);
|
64
62
|
var highlightCoords = this.range.current().highlight;
|
65
63
|
|
66
64
|
var _this$options$visualT = this.options.visualToRenderableCoords(highlightCoords),
|
@@ -107,7 +105,7 @@ var Transformation = /*#__PURE__*/function () {
|
|
107
105
|
delta.col = totalCols - 1;
|
108
106
|
}
|
109
107
|
|
110
|
-
var coords =
|
108
|
+
var coords = this.options.createCellCoords(renderableRow + delta.row, renderableColumn + delta.col);
|
111
109
|
rowTransformDir = 0;
|
112
110
|
colTransformDir = 0;
|
113
111
|
|
@@ -144,7 +142,7 @@ var Transformation = /*#__PURE__*/function () {
|
|
144
142
|
}, {
|
145
143
|
key: "transformEnd",
|
146
144
|
value: function transformEnd(rowDelta, colDelta) {
|
147
|
-
var delta =
|
145
|
+
var delta = this.options.createCellCoords(rowDelta, colDelta);
|
148
146
|
var cellRange = this.range.current();
|
149
147
|
var visualCoords = cellRange.to;
|
150
148
|
var rowTransformDir = 0;
|
@@ -164,7 +162,7 @@ var Transformation = /*#__PURE__*/function () {
|
|
164
162
|
rowTo = _this$options$visualT3.row,
|
165
163
|
colTo = _this$options$visualT3.col;
|
166
164
|
|
167
|
-
var coords =
|
165
|
+
var coords = this.options.createCellCoords(rowTo + delta.row, colTo + delta.col);
|
168
166
|
rowTransformDir = 0;
|
169
167
|
colTransformDir = 0;
|
170
168
|
|
@@ -4,7 +4,6 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
4
4
|
|
5
5
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
6
6
|
|
7
|
-
import { CellCoords } from "./../3rdparty/walkontable/src/index.mjs";
|
8
7
|
import { mixin } from "../helpers/object.mjs";
|
9
8
|
import localHooks from "./../mixins/localHooks.mjs";
|
10
9
|
/**
|
@@ -51,7 +50,7 @@ var Transformation = /*#__PURE__*/function () {
|
|
51
50
|
key: "transformStart",
|
52
51
|
value: function transformStart(rowDelta, colDelta) {
|
53
52
|
var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
54
|
-
var delta =
|
53
|
+
var delta = this.options.createCellCoords(rowDelta, colDelta);
|
55
54
|
var highlightCoords = this.range.current().highlight;
|
56
55
|
|
57
56
|
var _this$options$visualT = this.options.visualToRenderableCoords(highlightCoords),
|
@@ -98,7 +97,7 @@ var Transformation = /*#__PURE__*/function () {
|
|
98
97
|
delta.col = totalCols - 1;
|
99
98
|
}
|
100
99
|
|
101
|
-
var coords =
|
100
|
+
var coords = this.options.createCellCoords(renderableRow + delta.row, renderableColumn + delta.col);
|
102
101
|
rowTransformDir = 0;
|
103
102
|
colTransformDir = 0;
|
104
103
|
|
@@ -135,7 +134,7 @@ var Transformation = /*#__PURE__*/function () {
|
|
135
134
|
}, {
|
136
135
|
key: "transformEnd",
|
137
136
|
value: function transformEnd(rowDelta, colDelta) {
|
138
|
-
var delta =
|
137
|
+
var delta = this.options.createCellCoords(rowDelta, colDelta);
|
139
138
|
var cellRange = this.range.current();
|
140
139
|
var visualCoords = cellRange.to;
|
141
140
|
var rowTransformDir = 0;
|
@@ -155,7 +154,7 @@ var Transformation = /*#__PURE__*/function () {
|
|
155
154
|
rowTo = _this$options$visualT3.row,
|
156
155
|
colTo = _this$options$visualT3.col;
|
157
156
|
|
158
|
-
var coords =
|
157
|
+
var coords = this.options.createCellCoords(rowTo + delta.row, colTo + delta.col);
|
159
158
|
rowTransformDir = 0;
|
160
159
|
colTransformDir = 0;
|
161
160
|
|
package/settings.d.ts
CHANGED
@@ -60,7 +60,7 @@ export interface CellProperties extends CellMeta {
|
|
60
60
|
}
|
61
61
|
|
62
62
|
/**
|
63
|
-
* @
|
63
|
+
* @package
|
64
64
|
* Omit properties K from T
|
65
65
|
*/
|
66
66
|
export type Omit<T, K extends keyof T> = Pick<T, ({ [P in keyof T]: P } & { [P in K]: never } & { [x: string]: never, [x: number]: never })[keyof T]>;
|
@@ -135,6 +135,7 @@ export interface GridSettings extends Events {
|
|
135
135
|
filteringCaseSensitive?: boolean;
|
136
136
|
filters?: boolean;
|
137
137
|
fixedColumnsLeft?: number;
|
138
|
+
fixedColumnsStart?: number;
|
138
139
|
fixedRowsBottom?: number;
|
139
140
|
fixedRowsTop?: number;
|
140
141
|
formulas?: FormulasSettings;
|
@@ -147,6 +148,7 @@ export interface GridSettings extends Events {
|
|
147
148
|
isEmptyRow?: (this: Core, row: number) => boolean;
|
148
149
|
label?: LabelOptions;
|
149
150
|
language?: string;
|
151
|
+
layoutDirection?: 'ltr' | 'rtl' | 'inherit';
|
150
152
|
licenseKey?: string | 'non-commercial-and-evaluation';
|
151
153
|
manualColumnFreeze?: boolean;
|
152
154
|
manualColumnMove?: boolean | number[];
|
@@ -0,0 +1,20 @@
|
|
1
|
+
interface Shortcut {
|
2
|
+
keys: string[][];
|
3
|
+
callback: (event: Event) => boolean | void;
|
4
|
+
group: string;
|
5
|
+
runOnlyIf?: () => boolean;
|
6
|
+
captureCtrl?: boolean;
|
7
|
+
preventDefault?: boolean;
|
8
|
+
stopPropagation?: boolean;
|
9
|
+
relativeToGroup?: string;
|
10
|
+
position?: 'before' | 'after';
|
11
|
+
}
|
12
|
+
|
13
|
+
export interface Context {
|
14
|
+
addShortcut(shortcut: Shortcut): void;
|
15
|
+
addShortcuts(shortcuts: Shortcut[]): void;
|
16
|
+
getShortcuts(): Shortcut[];
|
17
|
+
hasShortcut(keys: string[]): boolean;
|
18
|
+
removeShortcutsByKeys(keys: string[]): void;
|
19
|
+
removeShortcutsByGroup(group: string): void;
|
20
|
+
}
|