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
@@ -9,6 +9,16 @@ require("core-js/modules/es.string.includes.js");
|
|
9
9
|
|
10
10
|
require("core-js/modules/es.array.index-of.js");
|
11
11
|
|
12
|
+
require("core-js/modules/es.array.iterator.js");
|
13
|
+
|
14
|
+
require("core-js/modules/es.object.to-string.js");
|
15
|
+
|
16
|
+
require("core-js/modules/es.string.iterator.js");
|
17
|
+
|
18
|
+
require("core-js/modules/es.weak-map.js");
|
19
|
+
|
20
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
21
|
+
|
12
22
|
var _coords = _interopRequireDefault(require("./../cell/coords"));
|
13
23
|
|
14
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
@@ -19,42 +29,78 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
19
29
|
|
20
30
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
21
31
|
|
32
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
33
|
+
|
34
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
35
|
+
|
36
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
37
|
+
|
38
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
39
|
+
|
40
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
41
|
+
|
42
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
43
|
+
|
44
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
45
|
+
|
46
|
+
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
47
|
+
|
48
|
+
var _isRtl = /*#__PURE__*/new WeakMap();
|
49
|
+
|
22
50
|
/**
|
23
51
|
* CellRange holds cell coordinates as {@link CellCoords} instances. This object represent unit of the selection layer which
|
24
|
-
* can contains multiple
|
52
|
+
* can contains multiple contiguous cells or single cell.
|
25
53
|
*
|
26
54
|
* @util
|
27
55
|
*/
|
28
56
|
var CellRange = /*#__PURE__*/function () {
|
57
|
+
/**
|
58
|
+
* Used to draw bold border around a cell where selection was started and to edit the cell
|
59
|
+
* when you press Enter. The highlight cannot point to headers (negative values) so its
|
60
|
+
* coordinates object is normalized while assigning.
|
61
|
+
*
|
62
|
+
* @type {CellCoords}
|
63
|
+
*/
|
64
|
+
|
65
|
+
/**
|
66
|
+
* Usually the same as highlight, but in Excel there is distinction - one can change
|
67
|
+
* highlight within a selection.
|
68
|
+
*
|
69
|
+
* @type {CellCoords}
|
70
|
+
*/
|
71
|
+
|
72
|
+
/**
|
73
|
+
* End selection.
|
74
|
+
*
|
75
|
+
* @type {CellCoords}
|
76
|
+
*/
|
77
|
+
|
78
|
+
/**
|
79
|
+
* @type {boolean}
|
80
|
+
*/
|
29
81
|
function CellRange(highlight) {
|
30
82
|
var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : highlight;
|
31
83
|
var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : highlight;
|
84
|
+
var isRtl = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
32
85
|
|
33
86
|
_classCallCheck(this, CellRange);
|
34
87
|
|
35
|
-
|
36
|
-
* Used to draw bold border around a cell where selection was started and to edit the cell
|
37
|
-
* when you press Enter. The highlight cannot point to headers (negative values) so its
|
38
|
-
* coordinates object is normalized while assigning.
|
39
|
-
*
|
40
|
-
* @type {CellCoords}
|
41
|
-
*/
|
42
|
-
this.highlight = highlight.clone().normalize();
|
43
|
-
/**
|
44
|
-
* Usually the same as highlight, but in Excel there is distinction - one can change
|
45
|
-
* highlight within a selection.
|
46
|
-
*
|
47
|
-
* @type {CellCoords}
|
48
|
-
*/
|
88
|
+
_defineProperty(this, "highlight", null);
|
49
89
|
|
50
|
-
this
|
51
|
-
|
52
|
-
|
53
|
-
*
|
54
|
-
* @type {CellCoords}
|
55
|
-
*/
|
90
|
+
_defineProperty(this, "from", null);
|
91
|
+
|
92
|
+
_defineProperty(this, "to", null);
|
56
93
|
|
94
|
+
_classPrivateFieldInitSpec(this, _isRtl, {
|
95
|
+
writable: true,
|
96
|
+
value: false
|
97
|
+
});
|
98
|
+
|
99
|
+
this.highlight = highlight.clone().normalize();
|
100
|
+
this.from = from.clone();
|
57
101
|
this.to = to.clone();
|
102
|
+
|
103
|
+
_classPrivateFieldSet(this, _isRtl, isRtl);
|
58
104
|
}
|
59
105
|
/**
|
60
106
|
* Set the new coordinates for highlighting selection.
|
@@ -167,6 +213,17 @@ var CellRange = /*#__PURE__*/function () {
|
|
167
213
|
var toCol = Math.max(this.to.col, 0);
|
168
214
|
return Math.max(fromCol, toCol) - Math.min(fromCol, toCol) + 1;
|
169
215
|
}
|
216
|
+
/**
|
217
|
+
* Returns the number of cells within the range (excluding the column and row headers, if selected).
|
218
|
+
*
|
219
|
+
* @returns {number}
|
220
|
+
*/
|
221
|
+
|
222
|
+
}, {
|
223
|
+
key: "getCellsCount",
|
224
|
+
value: function getCellsCount() {
|
225
|
+
return this.getWidth() * this.getHeight();
|
226
|
+
}
|
170
227
|
/**
|
171
228
|
* Checks if given cell coordinates are within `from` and `to` cell coordinates of this range.
|
172
229
|
*
|
@@ -179,9 +236,9 @@ var CellRange = /*#__PURE__*/function () {
|
|
179
236
|
value: function includes(cellCoords) {
|
180
237
|
var row = cellCoords.row,
|
181
238
|
col = cellCoords.col;
|
182
|
-
var
|
183
|
-
var
|
184
|
-
return
|
239
|
+
var topStart = this.getOuterTopStartCorner();
|
240
|
+
var bottomEnd = this.getOuterBottomEndCorner();
|
241
|
+
return topStart.row <= row && bottomEnd.row >= row && topStart.col <= col && bottomEnd.col >= col;
|
185
242
|
}
|
186
243
|
/**
|
187
244
|
* Checks if given range is within of this range.
|
@@ -193,7 +250,7 @@ var CellRange = /*#__PURE__*/function () {
|
|
193
250
|
}, {
|
194
251
|
key: "includesRange",
|
195
252
|
value: function includesRange(cellRange) {
|
196
|
-
return this.includes(cellRange.
|
253
|
+
return this.includes(cellRange.getOuterTopStartCorner()) && this.includes(cellRange.getOuterBottomEndCorner());
|
197
254
|
}
|
198
255
|
/**
|
199
256
|
* Checks if given range is equal to this range.
|
@@ -280,12 +337,12 @@ var CellRange = /*#__PURE__*/function () {
|
|
280
337
|
}, {
|
281
338
|
key: "expand",
|
282
339
|
value: function expand(cellCoords) {
|
283
|
-
var
|
284
|
-
var
|
340
|
+
var topStart = this.getOuterTopStartCorner();
|
341
|
+
var bottomEnd = this.getOuterBottomEndCorner();
|
285
342
|
|
286
|
-
if (cellCoords.row <
|
287
|
-
this.from =
|
288
|
-
this.to =
|
343
|
+
if (cellCoords.row < topStart.row || cellCoords.col < topStart.col || cellCoords.row > bottomEnd.row || cellCoords.col > bottomEnd.col) {
|
344
|
+
this.from = this._createCellCoords(Math.min(topStart.row, cellCoords.row), Math.min(topStart.col, cellCoords.col));
|
345
|
+
this.to = this._createCellCoords(Math.max(bottomEnd.row, cellCoords.row), Math.max(bottomEnd.col, cellCoords.col));
|
289
346
|
return true;
|
290
347
|
}
|
291
348
|
|
@@ -305,17 +362,20 @@ var CellRange = /*#__PURE__*/function () {
|
|
305
362
|
return false;
|
306
363
|
}
|
307
364
|
|
308
|
-
var
|
309
|
-
var
|
365
|
+
var topStart = this.getOuterTopStartCorner();
|
366
|
+
var bottomEnd = this.getOuterBottomEndCorner();
|
310
367
|
var initialDirection = this.getDirection();
|
311
|
-
var
|
312
|
-
var
|
313
|
-
var resultTopRow = Math.min(
|
314
|
-
var resultTopCol = Math.min(
|
315
|
-
var resultBottomRow = Math.max(
|
316
|
-
var resultBottomCol = Math.max(
|
317
|
-
|
318
|
-
var
|
368
|
+
var expandingTopStart = expandingRange.getOuterTopStartCorner();
|
369
|
+
var expandingBottomEnd = expandingRange.getOuterBottomEndCorner();
|
370
|
+
var resultTopRow = Math.min(topStart.row, expandingTopStart.row);
|
371
|
+
var resultTopCol = Math.min(topStart.col, expandingTopStart.col);
|
372
|
+
var resultBottomRow = Math.max(bottomEnd.row, expandingBottomEnd.row);
|
373
|
+
var resultBottomCol = Math.max(bottomEnd.col, expandingBottomEnd.col);
|
374
|
+
|
375
|
+
var finalFrom = this._createCellCoords(resultTopRow, resultTopCol);
|
376
|
+
|
377
|
+
var finalTo = this._createCellCoords(resultBottomRow, resultBottomCol);
|
378
|
+
|
319
379
|
this.from = finalFrom;
|
320
380
|
this.to = finalTo;
|
321
381
|
this.setDirection(initialDirection);
|
@@ -474,8 +534,20 @@ var CellRange = /*#__PURE__*/function () {
|
|
474
534
|
}
|
475
535
|
}
|
476
536
|
/**
|
477
|
-
* Gets the top left corner of this range. If the corner contains
|
478
|
-
* (negative values), the corner coordinates will be normalized to 0.
|
537
|
+
* Gets the top left (in LTR) or top right (in RTL) corner coordinates of this range. If the corner contains
|
538
|
+
* header coordinates (negative values), the corner coordinates will be normalized to 0.
|
539
|
+
*
|
540
|
+
* @returns {CellCoords}
|
541
|
+
*/
|
542
|
+
|
543
|
+
}, {
|
544
|
+
key: "getTopStartCorner",
|
545
|
+
value: function getTopStartCorner() {
|
546
|
+
return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.min(this.from.col, this.to.col)).normalize();
|
547
|
+
}
|
548
|
+
/**
|
549
|
+
* Gets the top left corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
|
550
|
+
* If the corner contains header coordinates (negative values), the corner coordinates will be normalized to 0.
|
479
551
|
*
|
480
552
|
* @returns {CellCoords}
|
481
553
|
*/
|
@@ -483,11 +555,23 @@ var CellRange = /*#__PURE__*/function () {
|
|
483
555
|
}, {
|
484
556
|
key: "getTopLeftCorner",
|
485
557
|
value: function getTopLeftCorner() {
|
486
|
-
return
|
558
|
+
return _classPrivateFieldGet(this, _isRtl) ? this.getTopEndCorner() : this.getTopStartCorner();
|
487
559
|
}
|
488
560
|
/**
|
489
|
-
* Gets the bottom right corner of this range. If the corner contains
|
490
|
-
* (negative values), the corner coordinates will be normalized to 0.
|
561
|
+
* Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of this range. If the corner contains
|
562
|
+
* header coordinates (negative values), the corner coordinates will be normalized to 0.
|
563
|
+
*
|
564
|
+
* @returns {CellCoords}
|
565
|
+
*/
|
566
|
+
|
567
|
+
}, {
|
568
|
+
key: "getBottomEndCorner",
|
569
|
+
value: function getBottomEndCorner() {
|
570
|
+
return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.max(this.from.col, this.to.col)).normalize();
|
571
|
+
}
|
572
|
+
/**
|
573
|
+
* Gets the bottom right corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
|
574
|
+
* If the corner contains header coordinates (negative values), the corner coordinates will be normalized to 0.
|
491
575
|
*
|
492
576
|
* @returns {CellCoords}
|
493
577
|
*/
|
@@ -495,11 +579,23 @@ var CellRange = /*#__PURE__*/function () {
|
|
495
579
|
}, {
|
496
580
|
key: "getBottomRightCorner",
|
497
581
|
value: function getBottomRightCorner() {
|
498
|
-
return
|
582
|
+
return _classPrivateFieldGet(this, _isRtl) ? this.getBottomStartCorner() : this.getBottomEndCorner();
|
583
|
+
}
|
584
|
+
/**
|
585
|
+
* Gets the top right (in LTR) or top left (in RTL) corner coordinates of this range. If the corner contains
|
586
|
+
* header coordinates (negative values), the corner coordinates will be normalized to 0.
|
587
|
+
*
|
588
|
+
* @returns {CellCoords}
|
589
|
+
*/
|
590
|
+
|
591
|
+
}, {
|
592
|
+
key: "getTopEndCorner",
|
593
|
+
value: function getTopEndCorner() {
|
594
|
+
return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.max(this.from.col, this.to.col)).normalize();
|
499
595
|
}
|
500
596
|
/**
|
501
|
-
* Gets the top right corner of this range
|
502
|
-
* (negative values), the corner coordinates will be normalized to 0.
|
597
|
+
* Gets the top right corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
|
598
|
+
* If the corner contains header coordinates (negative values), the corner coordinates will be normalized to 0.
|
503
599
|
*
|
504
600
|
* @returns {CellCoords}
|
505
601
|
*/
|
@@ -507,11 +603,23 @@ var CellRange = /*#__PURE__*/function () {
|
|
507
603
|
}, {
|
508
604
|
key: "getTopRightCorner",
|
509
605
|
value: function getTopRightCorner() {
|
510
|
-
return
|
606
|
+
return _classPrivateFieldGet(this, _isRtl) ? this.getTopStartCorner() : this.getTopEndCorner();
|
607
|
+
}
|
608
|
+
/**
|
609
|
+
* Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of this range. If the corner
|
610
|
+
* contains header coordinates (negative values), the corner coordinates will be normalized to 0.
|
611
|
+
*
|
612
|
+
* @returns {CellCoords}
|
613
|
+
*/
|
614
|
+
|
615
|
+
}, {
|
616
|
+
key: "getBottomStartCorner",
|
617
|
+
value: function getBottomStartCorner() {
|
618
|
+
return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.min(this.from.col, this.to.col)).normalize();
|
511
619
|
}
|
512
620
|
/**
|
513
|
-
* Gets the bottom left corner of this range
|
514
|
-
* (negative values), the corner coordinates will be normalized to 0.
|
621
|
+
* Gets the bottom left corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
|
622
|
+
* If the corner contains header coordinates (negative values), the corner coordinates will be normalized to 0.
|
515
623
|
*
|
516
624
|
* @returns {CellCoords}
|
517
625
|
*/
|
@@ -519,11 +627,24 @@ var CellRange = /*#__PURE__*/function () {
|
|
519
627
|
}, {
|
520
628
|
key: "getBottomLeftCorner",
|
521
629
|
value: function getBottomLeftCorner() {
|
522
|
-
return
|
630
|
+
return _classPrivateFieldGet(this, _isRtl) ? this.getBottomEndCorner() : this.getBottomStartCorner();
|
631
|
+
}
|
632
|
+
/**
|
633
|
+
* Gets the top left (in LTR) or top right (in RTL) corner coordinates of this range. If the corner
|
634
|
+
* contains header coordinates (negative values), then the top and start coordinates will be pointed to that header.
|
635
|
+
*
|
636
|
+
* @returns {CellCoords}
|
637
|
+
*/
|
638
|
+
|
639
|
+
}, {
|
640
|
+
key: "getOuterTopStartCorner",
|
641
|
+
value: function getOuterTopStartCorner() {
|
642
|
+
return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.min(this.from.col, this.to.col));
|
523
643
|
}
|
524
644
|
/**
|
525
|
-
* Gets the top left corner of this range
|
526
|
-
* (negative values), then the top and left coordinates will be
|
645
|
+
* Gets the top left corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
|
646
|
+
* If the corner contains header coordinates (negative values), then the top and left coordinates will be
|
647
|
+
* pointed to that header.
|
527
648
|
*
|
528
649
|
* @returns {CellCoords}
|
529
650
|
*/
|
@@ -531,10 +652,24 @@ var CellRange = /*#__PURE__*/function () {
|
|
531
652
|
}, {
|
532
653
|
key: "getOuterTopLeftCorner",
|
533
654
|
value: function getOuterTopLeftCorner() {
|
534
|
-
return
|
655
|
+
return _classPrivateFieldGet(this, _isRtl) ? this.getOuterTopEndCorner() : this.getOuterTopStartCorner();
|
535
656
|
}
|
536
657
|
/**
|
537
|
-
* Gets the bottom right corner of this range.
|
658
|
+
* Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of this range. If the corner
|
659
|
+
* contains header coordinates (negative values), then the top and start coordinates will be pointed to that header.
|
660
|
+
*
|
661
|
+
* @returns {CellCoords}
|
662
|
+
*/
|
663
|
+
|
664
|
+
}, {
|
665
|
+
key: "getOuterBottomEndCorner",
|
666
|
+
value: function getOuterBottomEndCorner() {
|
667
|
+
return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.max(this.from.col, this.to.col));
|
668
|
+
}
|
669
|
+
/**
|
670
|
+
* Gets the bottom right corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
|
671
|
+
* If the corner contains header coordinates (negative values), then the top and left coordinates will be
|
672
|
+
* pointed to that header.
|
538
673
|
*
|
539
674
|
* @returns {CellCoords}
|
540
675
|
*/
|
@@ -542,11 +677,24 @@ var CellRange = /*#__PURE__*/function () {
|
|
542
677
|
}, {
|
543
678
|
key: "getOuterBottomRightCorner",
|
544
679
|
value: function getOuterBottomRightCorner() {
|
545
|
-
return
|
680
|
+
return _classPrivateFieldGet(this, _isRtl) ? this.getOuterBottomStartCorner() : this.getOuterBottomEndCorner();
|
546
681
|
}
|
547
682
|
/**
|
548
|
-
* Gets the top right corner of this range. If the corner
|
549
|
-
* (negative values), then the top
|
683
|
+
* Gets the top right (in LTR) or top left (in RTL) corner coordinates of this range. If the corner
|
684
|
+
* contains header coordinates (negative values), then the top and start coordinates will be pointed to that header.
|
685
|
+
*
|
686
|
+
* @returns {CellCoords}
|
687
|
+
*/
|
688
|
+
|
689
|
+
}, {
|
690
|
+
key: "getOuterTopEndCorner",
|
691
|
+
value: function getOuterTopEndCorner() {
|
692
|
+
return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.max(this.from.col, this.to.col));
|
693
|
+
}
|
694
|
+
/**
|
695
|
+
* Gets the top right corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
|
696
|
+
* If the corner contains header coordinates (negative values), then the top and left coordinates will be
|
697
|
+
* pointed to that header.
|
550
698
|
*
|
551
699
|
* @returns {CellCoords}
|
552
700
|
*/
|
@@ -554,11 +702,24 @@ var CellRange = /*#__PURE__*/function () {
|
|
554
702
|
}, {
|
555
703
|
key: "getOuterTopRightCorner",
|
556
704
|
value: function getOuterTopRightCorner() {
|
557
|
-
return
|
705
|
+
return _classPrivateFieldGet(this, _isRtl) ? this.getOuterTopStartCorner() : this.getOuterTopEndCorner();
|
558
706
|
}
|
559
707
|
/**
|
560
|
-
* Gets the bottom left corner of this range. If the corner
|
561
|
-
* (negative values), then the
|
708
|
+
* Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of this range. If the corner
|
709
|
+
* contains header coordinates (negative values), then the top and start coordinates will be pointed to that header.
|
710
|
+
*
|
711
|
+
* @returns {CellCoords}
|
712
|
+
*/
|
713
|
+
|
714
|
+
}, {
|
715
|
+
key: "getOuterBottomStartCorner",
|
716
|
+
value: function getOuterBottomStartCorner() {
|
717
|
+
return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.min(this.from.col, this.to.col));
|
718
|
+
}
|
719
|
+
/**
|
720
|
+
* Gets the bottom left corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
|
721
|
+
* If the corner contains header coordinates (negative values), then the top and left coordinates will be
|
722
|
+
* pointed to that header.
|
562
723
|
*
|
563
724
|
* @returns {CellCoords}
|
564
725
|
*/
|
@@ -566,7 +727,7 @@ var CellRange = /*#__PURE__*/function () {
|
|
566
727
|
}, {
|
567
728
|
key: "getOuterBottomLeftCorner",
|
568
729
|
value: function getOuterBottomLeftCorner() {
|
569
|
-
return
|
730
|
+
return _classPrivateFieldGet(this, _isRtl) ? this.getOuterBottomEndCorner() : this.getOuterBottomStartCorner();
|
570
731
|
}
|
571
732
|
/**
|
572
733
|
* Checks if coordinates match to one of the 4th corners of this range.
|
@@ -579,7 +740,7 @@ var CellRange = /*#__PURE__*/function () {
|
|
579
740
|
}, {
|
580
741
|
key: "isCorner",
|
581
742
|
value: function isCorner(coords, expandedRange) {
|
582
|
-
if (expandedRange && expandedRange.includes(coords) && (this.getOuterTopLeftCorner().isEqual(
|
743
|
+
if (expandedRange && expandedRange.includes(coords) && (this.getOuterTopLeftCorner().isEqual(this._createCellCoords(expandedRange.from.row, expandedRange.from.col)) || this.getOuterTopRightCorner().isEqual(this._createCellCoords(expandedRange.from.row, expandedRange.to.col)) || this.getOuterBottomLeftCorner().isEqual(this._createCellCoords(expandedRange.to.row, expandedRange.from.col)) || this.getOuterBottomRightCorner().isEqual(this._createCellCoords(expandedRange.to.row, expandedRange.to.col)))) {
|
583
744
|
return true;
|
584
745
|
}
|
585
746
|
|
@@ -602,33 +763,36 @@ var CellRange = /*#__PURE__*/function () {
|
|
602
763
|
}
|
603
764
|
|
604
765
|
if (expandedRange) {
|
766
|
+
var from = expandedRange.from,
|
767
|
+
to = expandedRange.to;
|
768
|
+
|
605
769
|
if (expandedRange.includes(coords)) {
|
606
|
-
if (this.
|
607
|
-
return this.
|
770
|
+
if (this.getOuterTopStartCorner().isEqual(this._createCellCoords(from.row, from.col))) {
|
771
|
+
return this.getOuterBottomEndCorner();
|
608
772
|
}
|
609
773
|
|
610
|
-
if (this.
|
611
|
-
return this.
|
774
|
+
if (this.getOuterTopEndCorner().isEqual(this._createCellCoords(from.row, to.col))) {
|
775
|
+
return this.getOuterBottomStartCorner();
|
612
776
|
}
|
613
777
|
|
614
|
-
if (this.
|
615
|
-
return this.
|
778
|
+
if (this.getOuterBottomStartCorner().isEqual(this._createCellCoords(to.row, from.col))) {
|
779
|
+
return this.getOuterTopEndCorner();
|
616
780
|
}
|
617
781
|
|
618
|
-
if (this.
|
619
|
-
return this.
|
782
|
+
if (this.getOuterBottomEndCorner().isEqual(this._createCellCoords(to.row, to.col))) {
|
783
|
+
return this.getOuterTopStartCorner();
|
620
784
|
}
|
621
785
|
}
|
622
786
|
}
|
623
787
|
|
624
|
-
if (coords.isEqual(this.
|
625
|
-
return this.
|
626
|
-
} else if (coords.isEqual(this.
|
627
|
-
return this.
|
628
|
-
} else if (coords.isEqual(this.
|
629
|
-
return this.
|
630
|
-
} else if (coords.isEqual(this.
|
631
|
-
return this.
|
788
|
+
if (coords.isEqual(this.getOuterBottomEndCorner())) {
|
789
|
+
return this.getOuterTopStartCorner();
|
790
|
+
} else if (coords.isEqual(this.getOuterTopStartCorner())) {
|
791
|
+
return this.getOuterBottomEndCorner();
|
792
|
+
} else if (coords.isEqual(this.getOuterTopEndCorner())) {
|
793
|
+
return this.getOuterBottomStartCorner();
|
794
|
+
} else if (coords.isEqual(this.getOuterBottomStartCorner())) {
|
795
|
+
return this.getOuterTopEndCorner();
|
632
796
|
}
|
633
797
|
}
|
634
798
|
/**
|
@@ -684,14 +848,14 @@ var CellRange = /*#__PURE__*/function () {
|
|
684
848
|
}, {
|
685
849
|
key: "getInner",
|
686
850
|
value: function getInner() {
|
687
|
-
var
|
688
|
-
var
|
851
|
+
var topStart = this.getOuterTopStartCorner();
|
852
|
+
var bottomEnd = this.getOuterBottomEndCorner();
|
689
853
|
var out = [];
|
690
854
|
|
691
|
-
for (var r =
|
692
|
-
for (var c =
|
855
|
+
for (var r = topStart.row; r <= bottomEnd.row; r++) {
|
856
|
+
for (var c = topStart.col; c <= bottomEnd.col; c++) {
|
693
857
|
if (!(this.from.row === r && this.from.col === c) && !(this.to.row === r && this.to.col === c)) {
|
694
|
-
out.push(
|
858
|
+
out.push(this._createCellCoords(r, c));
|
695
859
|
}
|
696
860
|
}
|
697
861
|
}
|
@@ -707,18 +871,18 @@ var CellRange = /*#__PURE__*/function () {
|
|
707
871
|
}, {
|
708
872
|
key: "getAll",
|
709
873
|
value: function getAll() {
|
710
|
-
var
|
711
|
-
var
|
874
|
+
var topStart = this.getOuterTopStartCorner();
|
875
|
+
var bottomEnd = this.getOuterBottomEndCorner();
|
712
876
|
var out = [];
|
713
877
|
|
714
|
-
for (var r =
|
715
|
-
for (var c =
|
716
|
-
if (
|
717
|
-
out.push(
|
718
|
-
} else if (
|
719
|
-
out.push(
|
878
|
+
for (var r = topStart.row; r <= bottomEnd.row; r++) {
|
879
|
+
for (var c = topStart.col; c <= bottomEnd.col; c++) {
|
880
|
+
if (topStart.row === r && topStart.col === c) {
|
881
|
+
out.push(topStart);
|
882
|
+
} else if (bottomEnd.row === r && bottomEnd.col === c) {
|
883
|
+
out.push(bottomEnd);
|
720
884
|
} else {
|
721
|
-
out.push(
|
885
|
+
out.push(this._createCellCoords(r, c));
|
722
886
|
}
|
723
887
|
}
|
724
888
|
}
|
@@ -735,11 +899,11 @@ var CellRange = /*#__PURE__*/function () {
|
|
735
899
|
}, {
|
736
900
|
key: "forAll",
|
737
901
|
value: function forAll(callback) {
|
738
|
-
var
|
739
|
-
var
|
902
|
+
var topStart = this.getOuterTopStartCorner();
|
903
|
+
var bottomEnd = this.getOuterBottomEndCorner();
|
740
904
|
|
741
|
-
for (var r =
|
742
|
-
for (var c =
|
905
|
+
for (var r = topStart.row; r <= bottomEnd.row; r++) {
|
906
|
+
for (var c = topStart.col; c <= bottomEnd.col; c++) {
|
743
907
|
var breakIteration = callback(r, c);
|
744
908
|
|
745
909
|
if (breakIteration === false) {
|
@@ -757,7 +921,7 @@ var CellRange = /*#__PURE__*/function () {
|
|
757
921
|
}, {
|
758
922
|
key: "clone",
|
759
923
|
value: function clone() {
|
760
|
-
return new CellRange(this.highlight, this.from, this.to);
|
924
|
+
return new CellRange(this.highlight, this.from, this.to, _classPrivateFieldGet(this, _isRtl));
|
761
925
|
}
|
762
926
|
/**
|
763
927
|
* Convert CellRange to literal object.
|
@@ -774,6 +938,21 @@ var CellRange = /*#__PURE__*/function () {
|
|
774
938
|
to: this.to.toObject()
|
775
939
|
};
|
776
940
|
}
|
941
|
+
/**
|
942
|
+
* Creates and returns a new instance of the CellCoords object. The object automatically inherits
|
943
|
+
* the LTR/RTL flag from this CellRange instance.
|
944
|
+
*
|
945
|
+
* @private
|
946
|
+
* @param {number} row The row index.
|
947
|
+
* @param {number} column The column index.
|
948
|
+
* @returns {CellCoords}
|
949
|
+
*/
|
950
|
+
|
951
|
+
}, {
|
952
|
+
key: "_createCellCoords",
|
953
|
+
value: function _createCellCoords(row, column) {
|
954
|
+
return new _coords.default(row, column, _classPrivateFieldGet(this, _isRtl));
|
955
|
+
}
|
777
956
|
}]);
|
778
957
|
|
779
958
|
return CellRange;
|