handsontable 12.1.3 → 12.3.0-next-bb1a7c2-20221208
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/SheetClip/SheetClip.js +3 -32
- package/3rdparty/SheetClip/SheetClip.mjs +3 -23
- package/3rdparty/SheetClip/index.js +0 -2
- package/3rdparty/autoResize/autoResize.js +119 -145
- package/3rdparty/autoResize/autoResize.mjs +119 -143
- package/3rdparty/autoResize/index.js +0 -2
- package/3rdparty/walkontable/src/border.js +44 -154
- package/3rdparty/walkontable/src/border.mjs +41 -136
- package/3rdparty/walkontable/src/calculator/constants.js +0 -3
- package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
- package/3rdparty/walkontable/src/calculator/index.js +0 -10
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +36 -77
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +36 -70
- package/3rdparty/walkontable/src/calculator/viewportRows.js +30 -49
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +30 -42
- package/3rdparty/walkontable/src/cell/coords.d.ts +1 -1
- package/3rdparty/walkontable/src/cell/coords.js +73 -65
- package/3rdparty/walkontable/src/cell/coords.mjs +73 -60
- package/3rdparty/walkontable/src/cell/range.d.ts +19 -16
- package/3rdparty/walkontable/src/cell/range.js +251 -231
- package/3rdparty/walkontable/src/cell/range.mjs +251 -222
- package/3rdparty/walkontable/src/core/_base.js +30 -74
- package/3rdparty/walkontable/src/core/_base.mjs +30 -67
- package/3rdparty/walkontable/src/core/clone.js +11 -44
- package/3rdparty/walkontable/src/core/clone.mjs +11 -32
- package/3rdparty/walkontable/src/core/core.js +8 -56
- package/3rdparty/walkontable/src/core/core.mjs +8 -38
- package/3rdparty/walkontable/src/event.js +41 -79
- package/3rdparty/walkontable/src/event.mjs +41 -66
- package/3rdparty/walkontable/src/facade/core.js +14 -16
- package/3rdparty/walkontable/src/facade/core.mjs +14 -13
- package/3rdparty/walkontable/src/filter/column.js +22 -17
- package/3rdparty/walkontable/src/filter/column.mjs +22 -16
- package/3rdparty/walkontable/src/filter/row.js +22 -17
- package/3rdparty/walkontable/src/filter/row.mjs +22 -16
- package/3rdparty/walkontable/src/index.js +0 -31
- package/3rdparty/walkontable/src/overlay/_base.js +38 -69
- package/3rdparty/walkontable/src/overlay/_base.mjs +38 -61
- package/3rdparty/walkontable/src/overlay/bottom.js +38 -103
- package/3rdparty/walkontable/src/overlay/bottom.mjs +38 -88
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +12 -52
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +12 -37
- package/3rdparty/walkontable/src/overlay/constants.js +0 -6
- package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
- package/3rdparty/walkontable/src/overlay/index.js +0 -17
- package/3rdparty/walkontable/src/overlay/inlineStart.js +26 -90
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +26 -75
- package/3rdparty/walkontable/src/overlay/top.js +37 -104
- package/3rdparty/walkontable/src/overlay/top.mjs +37 -89
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +14 -55
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +14 -40
- package/3rdparty/walkontable/src/overlays.js +124 -145
- package/3rdparty/walkontable/src/overlays.mjs +124 -135
- package/3rdparty/walkontable/src/renderer/_base.js +17 -19
- package/3rdparty/walkontable/src/renderer/_base.mjs +17 -17
- package/3rdparty/walkontable/src/renderer/cells.js +15 -53
- package/3rdparty/walkontable/src/renderer/cells.mjs +15 -39
- package/3rdparty/walkontable/src/renderer/colGroup.js +15 -46
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +15 -34
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +13 -49
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +13 -37
- package/3rdparty/walkontable/src/renderer/index.js +26 -35
- package/3rdparty/walkontable/src/renderer/index.mjs +26 -22
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +13 -49
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +13 -36
- package/3rdparty/walkontable/src/renderer/rows.js +11 -49
- package/3rdparty/walkontable/src/renderer/rows.mjs +11 -32
- package/3rdparty/walkontable/src/renderer/table.js +35 -48
- package/3rdparty/walkontable/src/renderer/table.mjs +35 -47
- package/3rdparty/walkontable/src/scroll.js +69 -86
- package/3rdparty/walkontable/src/scroll.mjs +69 -84
- package/3rdparty/walkontable/src/selection.js +28 -103
- package/3rdparty/walkontable/src/selection.mjs +26 -83
- package/3rdparty/walkontable/src/settings.js +25 -31
- package/3rdparty/walkontable/src/settings.mjs +25 -29
- package/3rdparty/walkontable/src/table/bottom.js +6 -34
- package/3rdparty/walkontable/src/table/bottom.mjs +6 -19
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +6 -34
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +6 -19
- package/3rdparty/walkontable/src/table/inlineStart.js +6 -34
- package/3rdparty/walkontable/src/table/inlineStart.mjs +6 -19
- package/3rdparty/walkontable/src/table/master.js +15 -54
- package/3rdparty/walkontable/src/table/master.mjs +15 -38
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +1 -16
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +1 -14
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +1 -16
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +1 -14
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +1 -10
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +1 -8
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +1 -11
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +1 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +1 -10
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +1 -8
- package/3rdparty/walkontable/src/table/top.js +6 -34
- package/3rdparty/walkontable/src/table/top.mjs +6 -19
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +6 -34
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +6 -19
- package/3rdparty/walkontable/src/table.js +73 -233
- package/3rdparty/walkontable/src/table.mjs +71 -210
- package/3rdparty/walkontable/src/types.js +0 -5
- package/3rdparty/walkontable/src/types.mjs +0 -5
- package/3rdparty/walkontable/src/utils/column.js +18 -30
- package/3rdparty/walkontable/src/utils/column.mjs +18 -25
- package/3rdparty/walkontable/src/utils/nodesPool.js +16 -11
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +16 -10
- package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
- package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
- package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +7 -32
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +7 -21
- package/3rdparty/walkontable/src/utils/orderView/view.js +27 -45
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +27 -42
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +16 -14
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +16 -13
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +21 -21
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +21 -18
- package/3rdparty/walkontable/src/utils/row.js +15 -12
- package/3rdparty/walkontable/src/utils/row.mjs +15 -11
- package/3rdparty/walkontable/src/viewport.js +51 -99
- package/3rdparty/walkontable/src/viewport.mjs +51 -96
- package/CHANGELOG.md +99 -1
- package/base.d.ts +1 -0
- package/base.js +11 -17
- package/base.mjs +10 -11
- package/cellTypes/autocompleteType/autocompleteType.js +0 -4
- package/cellTypes/autocompleteType/index.js +0 -2
- package/cellTypes/checkboxType/checkboxType.js +0 -3
- package/cellTypes/checkboxType/index.js +0 -2
- package/cellTypes/dateType/dateType.js +0 -4
- package/cellTypes/dateType/index.js +0 -2
- package/cellTypes/dropdownType/dropdownType.js +0 -4
- package/cellTypes/dropdownType/index.js +0 -2
- package/cellTypes/handsontableType/handsontableType.js +0 -3
- package/cellTypes/handsontableType/index.js +0 -2
- package/cellTypes/index.js +0 -21
- package/cellTypes/index.mjs +0 -1
- package/cellTypes/numericType/index.js +0 -2
- package/cellTypes/numericType/numericType.js +0 -4
- package/cellTypes/passwordType/index.js +0 -2
- package/cellTypes/passwordType/passwordType.js +0 -3
- package/cellTypes/registry.js +10 -25
- package/cellTypes/registry.mjs +10 -20
- package/cellTypes/textType/index.js +0 -2
- package/cellTypes/textType/textType.js +0 -3
- package/cellTypes/timeType/index.js +0 -2
- package/cellTypes/timeType/timeType.js +0 -4
- package/core.d.ts +6 -2
- package/core.js +714 -1070
- package/core.mjs +717 -1015
- package/dataMap/dataMap.js +202 -236
- package/dataMap/dataMap.mjs +201 -209
- package/{dataSource.js → dataMap/dataSource.js} +29 -65
- package/{dataSource.mjs → dataMap/dataSource.mjs} +29 -57
- package/dataMap/index.js +0 -13
- package/dataMap/metaManager/index.js +33 -45
- package/dataMap/metaManager/index.mjs +33 -37
- package/dataMap/metaManager/lazyFactoryMap.js +17 -62
- package/dataMap/metaManager/lazyFactoryMap.mjs +17 -46
- package/dataMap/metaManager/metaLayers/cellMeta.js +26 -57
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +25 -41
- package/dataMap/metaManager/metaLayers/columnMeta.js +23 -24
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +24 -21
- package/dataMap/metaManager/metaLayers/globalMeta.js +30 -21
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +31 -18
- package/dataMap/metaManager/metaLayers/tableMeta.js +18 -15
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +19 -14
- package/dataMap/metaManager/metaSchema.js +173 -213
- package/dataMap/metaManager/metaSchema.mjs +173 -204
- package/dataMap/metaManager/mods/dynamicCellMeta.js +15 -35
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +15 -24
- package/dataMap/metaManager/mods/extendMetaProperties.js +14 -27
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +14 -19
- package/dataMap/metaManager/utils.js +49 -28
- package/dataMap/metaManager/utils.mjs +50 -21
- package/dataMap/replaceData.js +15 -35
- package/dataMap/replaceData.mjs +15 -23
- package/dist/handsontable.css +9 -9
- package/dist/handsontable.full.css +9 -9
- package/dist/handsontable.full.js +13065 -28165
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +108 -114
- package/dist/handsontable.js +11528 -21792
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +111 -240
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.js +50 -14
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.js +52 -16
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.js +52 -16
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.js +53 -17
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.js +56 -20
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +56 -20
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.js +55 -19
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/it-IT.js +55 -19
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.js +83 -43
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.js +84 -43
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.js +85 -43
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.js +86 -43
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.js +87 -43
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.js +88 -43
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +67 -28
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.js +67 -28
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.js +55 -16
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.js +55 -16
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.js +55 -16
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +53 -113
- package/editorManager.mjs +50 -90
- package/editors/autocompleteEditor/autocompleteEditor.js +36 -138
- package/editors/autocompleteEditor/autocompleteEditor.mjs +35 -108
- package/editors/autocompleteEditor/index.js +0 -2
- package/editors/baseEditor/baseEditor.js +55 -160
- package/editors/baseEditor/baseEditor.mjs +54 -133
- package/editors/baseEditor/index.js +0 -2
- package/editors/checkboxEditor/checkboxEditor.js +8 -34
- package/editors/checkboxEditor/checkboxEditor.mjs +8 -20
- package/editors/checkboxEditor/index.js +0 -2
- package/editors/dateEditor/dateEditor.js +26 -97
- package/editors/dateEditor/dateEditor.mjs +26 -76
- package/editors/dateEditor/index.js +0 -2
- package/editors/dropdownEditor/dropdownEditor.js +7 -42
- package/editors/dropdownEditor/dropdownEditor.mjs +7 -23
- package/editors/dropdownEditor/index.js +0 -2
- package/editors/handsontableEditor/handsontableEditor.js +19 -86
- package/editors/handsontableEditor/handsontableEditor.mjs +19 -67
- package/editors/handsontableEditor/index.js +0 -2
- package/editors/index.js +0 -25
- package/editors/index.mjs +0 -1
- package/editors/numericEditor/index.js +0 -2
- package/editors/numericEditor/numericEditor.js +7 -32
- package/editors/numericEditor/numericEditor.mjs +7 -19
- package/editors/passwordEditor/index.js +0 -2
- package/editors/passwordEditor/passwordEditor.js +7 -39
- package/editors/passwordEditor/passwordEditor.mjs +7 -23
- package/editors/registry.js +13 -36
- package/editors/registry.mjs +12 -26
- package/editors/selectEditor/index.js +0 -2
- package/editors/selectEditor/selectEditor.js +27 -74
- package/editors/selectEditor/selectEditor.mjs +27 -57
- package/editors/textEditor/caretPositioner.js +0 -8
- package/editors/textEditor/caretPositioner.mjs +0 -7
- package/editors/textEditor/index.js +0 -2
- package/editors/textEditor/textEditor.js +45 -139
- package/editors/textEditor/textEditor.mjs +45 -108
- package/editors/timeEditor/index.js +0 -2
- package/editors/timeEditor/timeEditor.js +7 -37
- package/editors/timeEditor/timeEditor.mjs +7 -22
- package/eventManager.js +26 -47
- package/eventManager.mjs +27 -45
- package/helpers/array.js +22 -88
- package/helpers/array.mjs +22 -58
- package/helpers/browser.js +25 -51
- package/helpers/browser.mjs +25 -32
- package/helpers/console.js +3 -13
- package/helpers/console.mjs +3 -10
- package/helpers/data.d.ts +0 -2
- package/helpers/data.js +8 -102
- package/helpers/data.mjs +9 -80
- package/helpers/date.js +2 -3
- package/helpers/date.mjs +2 -2
- package/helpers/dom/element.js +89 -256
- package/helpers/dom/element.mjs +88 -184
- package/helpers/dom/event.js +3 -7
- package/helpers/dom/event.mjs +3 -3
- package/helpers/feature.js +21 -82
- package/helpers/feature.mjs +15 -60
- package/helpers/function.js +14 -59
- package/helpers/function.mjs +14 -45
- package/helpers/mixed.js +9 -64
- package/helpers/mixed.mjs +9 -43
- package/helpers/number.js +4 -46
- package/helpers/number.mjs +4 -23
- package/helpers/object.js +30 -77
- package/helpers/object.mjs +25 -47
- package/helpers/string.js +6 -28
- package/helpers/string.mjs +6 -14
- package/helpers/templateLiteralTag.js +0 -6
- package/helpers/templateLiteralTag.mjs +0 -2
- package/helpers/unicode.js +17 -22
- package/helpers/unicode.mjs +17 -13
- package/helpers/wrappers/jquery.js +4 -14
- package/helpers/wrappers/jquery.mjs +4 -13
- package/i18n/constants.js +50 -45
- package/i18n/constants.mjs +46 -42
- package/i18n/index.js +0 -7
- package/i18n/languages/ar-AR.js +12 -23
- package/i18n/languages/ar-AR.mjs +14 -3
- package/i18n/languages/cs-CZ.js +12 -23
- package/i18n/languages/cs-CZ.mjs +14 -3
- package/i18n/languages/de-CH.js +12 -23
- package/i18n/languages/de-CH.mjs +14 -3
- package/i18n/languages/de-DE.js +12 -23
- package/i18n/languages/de-DE.mjs +14 -3
- package/i18n/languages/en-US.js +13 -24
- package/i18n/languages/en-US.mjs +15 -4
- package/i18n/languages/es-MX.js +13 -24
- package/i18n/languages/es-MX.mjs +17 -5
- package/i18n/languages/fr-FR.js +12 -23
- package/i18n/languages/fr-FR.mjs +14 -3
- package/i18n/languages/index.js +0 -39
- package/i18n/languages/it-IT.js +12 -23
- package/i18n/languages/it-IT.mjs +14 -3
- package/i18n/languages/ja-JP.js +12 -23
- package/i18n/languages/ja-JP.mjs +14 -3
- package/i18n/languages/ko-KR.js +12 -23
- package/i18n/languages/ko-KR.mjs +14 -3
- package/i18n/languages/lv-LV.js +13 -24
- package/i18n/languages/lv-LV.mjs +17 -6
- package/i18n/languages/nb-NO.js +12 -23
- package/i18n/languages/nb-NO.mjs +14 -3
- package/i18n/languages/nl-NL.js +13 -24
- package/i18n/languages/nl-NL.mjs +17 -6
- package/i18n/languages/pl-PL.js +13 -24
- package/i18n/languages/pl-PL.mjs +16 -5
- package/i18n/languages/pt-BR.js +12 -23
- package/i18n/languages/pt-BR.mjs +14 -3
- package/i18n/languages/ru-RU.js +12 -23
- package/i18n/languages/ru-RU.mjs +14 -3
- package/i18n/languages/sr-SP.js +12 -23
- package/i18n/languages/sr-SP.mjs +14 -3
- package/i18n/languages/zh-CN.js +12 -23
- package/i18n/languages/zh-CN.mjs +14 -3
- package/i18n/languages/zh-TW.js +12 -23
- package/i18n/languages/zh-TW.mjs +14 -3
- package/i18n/phraseFormatters/index.js +4 -11
- package/i18n/phraseFormatters/index.mjs +4 -6
- package/i18n/phraseFormatters/pluralize.js +0 -5
- package/i18n/phraseFormatters/pluralize.mjs +0 -3
- package/i18n/phraseFormatters/substituteVariables.js +0 -4
- package/i18n/phraseFormatters/substituteVariables.mjs +0 -2
- package/i18n/registry.js +18 -59
- package/i18n/registry.mjs +18 -30
- package/i18n/utils.js +4 -22
- package/i18n/utils.mjs +4 -11
- package/index.d.ts +9 -0
- package/index.js +23 -58
- package/index.mjs +21 -16
- package/languages/all.js +111 -240
- package/languages/ar-AR.js +50 -14
- package/languages/ar-AR.mjs +14 -3
- package/languages/cs-CZ.js +52 -16
- package/languages/cs-CZ.mjs +14 -3
- package/languages/de-CH.js +52 -16
- package/languages/de-CH.mjs +14 -3
- package/languages/de-DE.js +53 -17
- package/languages/de-DE.mjs +14 -3
- package/languages/en-US.js +56 -20
- package/languages/en-US.mjs +15 -4
- package/languages/es-MX.js +56 -20
- package/languages/es-MX.mjs +17 -5
- package/languages/fr-FR.js +55 -19
- package/languages/fr-FR.mjs +14 -3
- package/languages/index.js +111 -240
- package/languages/it-IT.js +55 -19
- package/languages/it-IT.mjs +14 -3
- package/languages/ja-JP.js +83 -43
- package/languages/ja-JP.mjs +14 -3
- package/languages/ko-KR.js +84 -43
- package/languages/ko-KR.mjs +14 -3
- package/languages/lv-LV.js +85 -43
- package/languages/lv-LV.mjs +17 -6
- package/languages/nb-NO.js +86 -43
- package/languages/nb-NO.mjs +14 -3
- package/languages/nl-NL.js +87 -43
- package/languages/nl-NL.mjs +17 -6
- package/languages/pl-PL.js +88 -43
- package/languages/pl-PL.mjs +16 -5
- package/languages/pt-BR.js +67 -28
- package/languages/pt-BR.mjs +14 -3
- package/languages/ru-RU.js +67 -28
- package/languages/ru-RU.mjs +14 -3
- package/languages/sr-SP.js +55 -16
- package/languages/sr-SP.mjs +14 -3
- package/languages/zh-CN.js +55 -16
- package/languages/zh-CN.mjs +14 -3
- package/languages/zh-TW.js +55 -16
- package/languages/zh-TW.mjs +14 -3
- package/mixins/hooksRefRegisterer.js +1 -12
- package/mixins/hooksRefRegisterer.mjs +1 -9
- package/mixins/localHooks.js +4 -11
- package/mixins/localHooks.mjs +4 -8
- package/package.json +2 -2
- package/pluginHooks.d.ts +10 -5
- package/pluginHooks.js +376 -116
- package/pluginHooks.mjs +375 -103
- package/plugins/autoColumnSize/autoColumnSize.js +81 -174
- package/plugins/autoColumnSize/autoColumnSize.mjs +81 -139
- package/plugins/autoColumnSize/index.js +0 -2
- package/plugins/autoRowSize/autoRowSize.js +89 -160
- package/plugins/autoRowSize/autoRowSize.mjs +89 -131
- package/plugins/autoRowSize/index.js +0 -2
- package/plugins/autofill/autofill.js +53 -165
- package/plugins/autofill/autofill.mjs +53 -133
- package/plugins/autofill/index.js +0 -2
- package/plugins/autofill/utils.js +4 -26
- package/plugins/autofill/utils.mjs +4 -18
- package/plugins/base/base.js +28 -91
- package/plugins/base/base.mjs +28 -63
- package/plugins/base/index.js +0 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +25 -53
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +25 -34
- package/plugins/bindRowsWithHeaders/index.js +0 -2
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +11 -42
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +11 -30
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +12 -54
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +12 -38
- package/plugins/collapsibleColumns/collapsibleColumns.js +106 -193
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +106 -162
- package/plugins/collapsibleColumns/index.js +0 -2
- package/plugins/columnSorting/columnSorting.js +58 -192
- package/plugins/columnSorting/columnSorting.mjs +58 -147
- package/plugins/columnSorting/columnStatesManager.js +27 -77
- package/plugins/columnSorting/columnStatesManager.mjs +24 -51
- package/plugins/columnSorting/domHelpers.js +2 -18
- package/plugins/columnSorting/domHelpers.mjs +2 -7
- package/plugins/columnSorting/index.js +0 -2
- package/plugins/columnSorting/rootComparator.js +5 -24
- package/plugins/columnSorting/rootComparator.mjs +5 -13
- package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
- package/plugins/columnSorting/sortFunction/checkbox.mjs +8 -12
- package/plugins/columnSorting/sortFunction/date.js +2 -19
- package/plugins/columnSorting/sortFunction/date.mjs +2 -14
- package/plugins/columnSorting/sortFunction/default.js +2 -17
- package/plugins/columnSorting/sortFunction/default.mjs +2 -14
- package/plugins/columnSorting/sortFunction/numeric.js +2 -11
- package/plugins/columnSorting/sortFunction/numeric.mjs +2 -8
- package/plugins/columnSorting/sortService/engine.js +1 -7
- package/plugins/columnSorting/sortService/engine.mjs +1 -3
- package/plugins/columnSorting/sortService/index.js +0 -5
- package/plugins/columnSorting/sortService/registry.js +6 -18
- package/plugins/columnSorting/sortService/registry.mjs +6 -10
- package/plugins/columnSorting/utils.js +9 -34
- package/plugins/columnSorting/utils.mjs +9 -15
- package/plugins/columnSummary/columnSummary.js +65 -126
- package/plugins/columnSummary/columnSummary.mjs +65 -101
- package/plugins/columnSummary/endpoints.js +33 -109
- package/plugins/columnSummary/endpoints.mjs +33 -105
- package/plugins/columnSummary/index.js +0 -2
- package/plugins/columnSummary/utils.js +0 -1
- package/plugins/comments/commentEditor.js +29 -27
- package/plugins/comments/commentEditor.mjs +29 -26
- package/plugins/comments/comments.js +106 -178
- package/plugins/comments/comments.mjs +106 -152
- package/plugins/comments/displaySwitch.js +20 -24
- package/plugins/comments/displaySwitch.mjs +20 -19
- package/plugins/comments/index.js +0 -2
- package/plugins/contextMenu/commandExecutor.js +17 -29
- package/plugins/contextMenu/commandExecutor.mjs +17 -27
- package/plugins/contextMenu/contextMenu.d.ts +4 -3
- package/plugins/contextMenu/contextMenu.js +28 -121
- package/plugins/contextMenu/contextMenu.mjs +28 -91
- package/plugins/contextMenu/cursor.js +19 -19
- package/plugins/contextMenu/cursor.mjs +19 -18
- package/plugins/contextMenu/index.js +0 -2
- package/plugins/contextMenu/itemsFactory.js +21 -35
- package/plugins/contextMenu/itemsFactory.mjs +21 -31
- package/plugins/contextMenu/menu.js +71 -180
- package/plugins/contextMenu/menu.mjs +70 -151
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
- package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
- package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
- package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
- package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
- package/plugins/contextMenu/predefinedItems/redo.js +1 -16
- package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +4 -39
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +4 -19
- package/plugins/contextMenu/predefinedItems/removeRow.js +4 -38
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +4 -18
- package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
- package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/separator.js +1 -2
- package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -16
- package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems.js +14 -55
- package/plugins/contextMenu/predefinedItems.mjs +16 -8
- package/plugins/contextMenu/utils.js +17 -57
- package/plugins/contextMenu/utils.mjs +17 -34
- package/plugins/copyPaste/clipboardData.js +14 -9
- package/plugins/copyPaste/clipboardData.mjs +14 -8
- package/plugins/copyPaste/contextMenuItem/copy.js +5 -32
- package/plugins/copyPaste/contextMenuItem/copy.mjs +5 -7
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +35 -0
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +31 -0
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +35 -0
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +31 -0
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +35 -0
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +31 -0
- package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
- package/plugins/copyPaste/contextMenuItem/cut.mjs +2 -4
- package/plugins/copyPaste/copyPaste.d.ts +10 -2
- package/plugins/copyPaste/copyPaste.js +339 -372
- package/plugins/copyPaste/copyPaste.mjs +339 -331
- package/plugins/copyPaste/copyableRanges.js +269 -0
- package/plugins/copyPaste/copyableRanges.mjs +264 -0
- package/plugins/copyPaste/focusableElement.js +21 -55
- package/plugins/copyPaste/focusableElement.mjs +21 -45
- package/plugins/copyPaste/index.js +0 -2
- package/plugins/copyPaste/pasteEvent.js +14 -9
- package/plugins/copyPaste/pasteEvent.mjs +14 -7
- package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
- package/plugins/customBorders/contextMenuItem/bottom.mjs +0 -3
- package/plugins/customBorders/contextMenuItem/index.js +0 -11
- package/plugins/customBorders/contextMenuItem/left.js +0 -17
- package/plugins/customBorders/contextMenuItem/left.mjs +0 -3
- package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
- package/plugins/customBorders/contextMenuItem/noBorders.mjs +0 -1
- package/plugins/customBorders/contextMenuItem/right.js +0 -17
- package/plugins/customBorders/contextMenuItem/right.mjs +0 -3
- package/plugins/customBorders/contextMenuItem/top.js +0 -17
- package/plugins/customBorders/contextMenuItem/top.mjs +0 -3
- package/plugins/customBorders/customBorders.js +64 -188
- package/plugins/customBorders/customBorders.mjs +63 -153
- package/plugins/customBorders/index.js +0 -2
- package/plugins/customBorders/utils.js +13 -52
- package/plugins/customBorders/utils.mjs +13 -31
- package/plugins/dragToScroll/dragToScroll.js +23 -75
- package/plugins/dragToScroll/dragToScroll.mjs +23 -56
- package/plugins/dragToScroll/index.js +0 -2
- package/plugins/dropdownMenu/dropdownMenu.js +49 -127
- package/plugins/dropdownMenu/dropdownMenu.mjs +49 -96
- package/plugins/dropdownMenu/index.js +0 -2
- package/plugins/exportFile/dataProvider.js +34 -72
- package/plugins/exportFile/dataProvider.mjs +31 -58
- package/plugins/exportFile/exportFile.js +56 -61
- package/plugins/exportFile/exportFile.mjs +54 -37
- package/plugins/exportFile/index.js +0 -2
- package/plugins/exportFile/typeFactory.js +15 -12
- package/plugins/exportFile/typeFactory.mjs +15 -5
- package/plugins/exportFile/types/_base.js +15 -15
- package/plugins/exportFile/types/_base.mjs +15 -13
- package/plugins/exportFile/types/csv.js +8 -51
- package/plugins/exportFile/types/csv.mjs +8 -30
- package/plugins/filters/component/_base.js +25 -31
- package/plugins/filters/component/_base.mjs +25 -26
- package/plugins/filters/component/actionBar.js +13 -56
- package/plugins/filters/component/actionBar.mjs +11 -34
- package/plugins/filters/component/condition.js +22 -95
- package/plugins/filters/component/condition.mjs +20 -63
- package/plugins/filters/component/operators.js +18 -71
- package/plugins/filters/component/operators.mjs +18 -48
- package/plugins/filters/component/value.js +22 -97
- package/plugins/filters/component/value.mjs +22 -67
- package/plugins/filters/condition/beginsWith.js +3 -33
- package/plugins/filters/condition/beginsWith.mjs +3 -11
- package/plugins/filters/condition/between.js +4 -38
- package/plugins/filters/condition/between.mjs +4 -16
- package/plugins/filters/condition/byValue.js +4 -28
- package/plugins/filters/condition/byValue.mjs +4 -13
- package/plugins/filters/condition/contains.js +3 -33
- package/plugins/filters/condition/contains.mjs +3 -11
- package/plugins/filters/condition/date/after.js +3 -35
- package/plugins/filters/condition/date/after.mjs +3 -13
- package/plugins/filters/condition/date/before.js +3 -35
- package/plugins/filters/condition/date/before.mjs +3 -13
- package/plugins/filters/condition/date/today.js +1 -22
- package/plugins/filters/condition/date/today.mjs +1 -3
- package/plugins/filters/condition/date/tomorrow.js +1 -22
- package/plugins/filters/condition/date/tomorrow.mjs +1 -3
- package/plugins/filters/condition/date/yesterday.js +1 -22
- package/plugins/filters/condition/date/yesterday.mjs +1 -3
- package/plugins/filters/condition/empty.js +1 -19
- package/plugins/filters/condition/empty.mjs +1 -1
- package/plugins/filters/condition/endsWith.js +3 -33
- package/plugins/filters/condition/endsWith.mjs +3 -11
- package/plugins/filters/condition/equal.js +3 -32
- package/plugins/filters/condition/equal.mjs +3 -11
- package/plugins/filters/condition/false.js +1 -5
- package/plugins/filters/condition/false.mjs +1 -1
- package/plugins/filters/condition/greaterThan.js +3 -33
- package/plugins/filters/condition/greaterThan.mjs +3 -13
- package/plugins/filters/condition/greaterThanOrEqual.js +3 -33
- package/plugins/filters/condition/greaterThanOrEqual.mjs +3 -13
- package/plugins/filters/condition/lessThan.js +3 -33
- package/plugins/filters/condition/lessThan.mjs +3 -13
- package/plugins/filters/condition/lessThanOrEqual.js +3 -33
- package/plugins/filters/condition/lessThanOrEqual.mjs +3 -13
- package/plugins/filters/condition/none.js +1 -18
- package/plugins/filters/condition/none.mjs +1 -1
- package/plugins/filters/condition/notBetween.js +1 -19
- package/plugins/filters/condition/notBetween.mjs +1 -1
- package/plugins/filters/condition/notContains.js +1 -19
- package/plugins/filters/condition/notContains.mjs +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -19
- package/plugins/filters/condition/notEmpty.mjs +1 -1
- package/plugins/filters/condition/notEqual.js +1 -19
- package/plugins/filters/condition/notEqual.mjs +1 -1
- package/plugins/filters/condition/true.js +1 -5
- package/plugins/filters/condition/true.mjs +1 -1
- package/plugins/filters/conditionCollection.js +31 -84
- package/plugins/filters/conditionCollection.mjs +39 -69
- package/plugins/filters/conditionRegisterer.js +5 -14
- package/plugins/filters/conditionRegisterer.mjs +5 -9
- package/plugins/filters/conditionUpdateObserver.js +29 -56
- package/plugins/filters/conditionUpdateObserver.mjs +29 -44
- package/plugins/filters/constants.js +15 -67
- package/plugins/filters/constants.mjs +15 -9
- package/plugins/filters/dataFilter.js +17 -20
- package/plugins/filters/dataFilter.mjs +17 -19
- package/plugins/filters/filters.js +110 -210
- package/plugins/filters/filters.mjs +110 -165
- package/plugins/filters/index.js +0 -2
- package/plugins/filters/logicalOperationRegisterer.js +3 -9
- package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
- package/plugins/filters/logicalOperations/conjunction.js +2 -19
- package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunction.js +2 -19
- package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
- package/plugins/filters/ui/_base.js +24 -62
- package/plugins/filters/ui/_base.mjs +26 -36
- package/plugins/filters/ui/input.js +13 -53
- package/plugins/filters/ui/input.mjs +13 -35
- package/plugins/filters/ui/link.js +9 -44
- package/plugins/filters/ui/link.mjs +9 -26
- package/plugins/filters/ui/multipleSelect.js +25 -113
- package/plugins/filters/ui/multipleSelect.mjs +26 -77
- package/plugins/filters/ui/radioInput.js +12 -48
- package/plugins/filters/ui/radioInput.mjs +12 -31
- package/plugins/filters/ui/select.js +20 -77
- package/plugins/filters/ui/select.mjs +20 -53
- package/plugins/filters/utils.js +6 -39
- package/plugins/filters/utils.mjs +6 -23
- package/plugins/formulas/engine/register.js +24 -74
- package/plugins/formulas/engine/register.mjs +24 -45
- package/plugins/formulas/engine/settings.js +16 -25
- package/plugins/formulas/engine/settings.mjs +16 -13
- package/plugins/formulas/formulas.js +127 -306
- package/plugins/formulas/formulas.mjs +128 -259
- package/plugins/formulas/index.js +0 -2
- package/plugins/formulas/utils.js +1 -3
- package/plugins/formulas/utils.mjs +1 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +5 -39
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +5 -21
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +17 -24
- package/plugins/hiddenColumns/hiddenColumns.js +77 -150
- package/plugins/hiddenColumns/hiddenColumns.mjs +77 -109
- package/plugins/hiddenColumns/index.js +0 -2
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +5 -39
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +5 -21
- package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +17 -24
- package/plugins/hiddenRows/hiddenRows.js +75 -149
- package/plugins/hiddenRows/hiddenRows.mjs +75 -108
- package/plugins/hiddenRows/index.js +0 -2
- package/plugins/index.js +0 -71
- package/plugins/index.mjs +0 -1
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +2 -29
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +2 -13
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +2 -29
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +2 -13
- package/plugins/manualColumnFreeze/index.js +0 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +27 -79
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +27 -55
- package/plugins/manualColumnMove/index.js +0 -2
- package/plugins/manualColumnMove/manualColumnMove.js +51 -135
- package/plugins/manualColumnMove/manualColumnMove.mjs +51 -107
- package/plugins/manualColumnMove/ui/_base.js +26 -31
- package/plugins/manualColumnMove/ui/_base.mjs +26 -28
- package/plugins/manualColumnMove/ui/backlight.js +7 -38
- package/plugins/manualColumnMove/ui/backlight.mjs +7 -23
- package/plugins/manualColumnMove/ui/guideline.js +7 -38
- package/plugins/manualColumnMove/ui/guideline.mjs +7 -23
- package/plugins/manualColumnResize/index.js +0 -2
- package/plugins/manualColumnResize/manualColumnResize.js +50 -144
- package/plugins/manualColumnResize/manualColumnResize.mjs +49 -119
- package/plugins/manualRowMove/index.js +0 -2
- package/plugins/manualRowMove/manualRowMove.js +51 -138
- package/plugins/manualRowMove/manualRowMove.mjs +51 -110
- package/plugins/manualRowMove/ui/_base.js +26 -28
- package/plugins/manualRowMove/ui/_base.mjs +26 -27
- package/plugins/manualRowMove/ui/backlight.js +7 -38
- package/plugins/manualRowMove/ui/backlight.mjs +7 -23
- package/plugins/manualRowMove/ui/guideline.js +7 -38
- package/plugins/manualRowMove/ui/guideline.mjs +7 -23
- package/plugins/manualRowResize/index.js +0 -2
- package/plugins/manualRowResize/manualRowResize.js +48 -139
- package/plugins/manualRowResize/manualRowResize.mjs +47 -113
- package/plugins/mergeCells/calculations/autofill.js +49 -133
- package/plugins/mergeCells/calculations/autofill.mjs +46 -117
- package/plugins/mergeCells/calculations/selection.js +22 -39
- package/plugins/mergeCells/calculations/selection.mjs +22 -36
- package/plugins/mergeCells/cellCoords.js +43 -50
- package/plugins/mergeCells/cellCoords.mjs +43 -48
- package/plugins/mergeCells/cellsCollection.js +22 -86
- package/plugins/mergeCells/cellsCollection.mjs +19 -63
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +0 -6
- package/plugins/mergeCells/index.js +0 -2
- package/plugins/mergeCells/mergeCells.js +136 -334
- package/plugins/mergeCells/mergeCells.mjs +136 -293
- package/plugins/mergeCells/utils.js +0 -3
- package/plugins/mergeCells/utils.mjs +0 -1
- package/plugins/multiColumnSorting/domHelpers.js +2 -12
- package/plugins/multiColumnSorting/domHelpers.mjs +2 -5
- package/plugins/multiColumnSorting/index.js +0 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +20 -67
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +20 -45
- package/plugins/multiColumnSorting/rootComparator.js +2 -26
- package/plugins/multiColumnSorting/rootComparator.mjs +2 -15
- package/plugins/multiColumnSorting/utils.js +0 -7
- package/plugins/multiColumnSorting/utils.mjs +0 -4
- package/plugins/multipleSelectionHandles/index.js +0 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +12 -110
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +12 -88
- package/plugins/nestedHeaders/index.js +0 -2
- package/plugins/nestedHeaders/nestedHeaders.js +198 -211
- package/plugins/nestedHeaders/nestedHeaders.mjs +206 -191
- package/plugins/nestedHeaders/stateManager/headersTree.js +26 -96
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +26 -76
- package/plugins/nestedHeaders/stateManager/index.js +55 -118
- package/plugins/nestedHeaders/stateManager/index.mjs +61 -105
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +7 -18
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +12 -17
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +10 -15
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +3 -13
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +1 -3
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +3 -14
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +5 -20
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +27 -81
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +33 -71
- package/plugins/nestedHeaders/stateManager/utils.js +19 -22
- package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
- package/plugins/nestedHeaders/utils/ghostTable.js +23 -37
- package/plugins/nestedHeaders/utils/ghostTable.mjs +23 -36
- package/plugins/nestedRows/data/dataManager.js +47 -162
- package/plugins/nestedRows/data/dataManager.mjs +45 -143
- package/plugins/nestedRows/index.js +0 -2
- package/plugins/nestedRows/nestedRows.js +46 -119
- package/plugins/nestedRows/nestedRows.mjs +46 -86
- package/plugins/nestedRows/ui/_base.js +14 -8
- package/plugins/nestedRows/ui/_base.mjs +14 -7
- package/plugins/nestedRows/ui/collapsing.js +33 -133
- package/plugins/nestedRows/ui/collapsing.mjs +33 -111
- package/plugins/nestedRows/ui/contextMenu.js +9 -55
- package/plugins/nestedRows/ui/contextMenu.mjs +8 -33
- package/plugins/nestedRows/ui/headers.js +10 -49
- package/plugins/nestedRows/ui/headers.mjs +10 -34
- package/plugins/nestedRows/utils/rowMoveController.js +36 -79
- package/plugins/nestedRows/utils/rowMoveController.mjs +45 -71
- package/plugins/persistentState/index.js +0 -2
- package/plugins/persistentState/persistentState.js +16 -59
- package/plugins/persistentState/persistentState.mjs +16 -38
- package/plugins/persistentState/storage.js +22 -24
- package/plugins/persistentState/storage.mjs +22 -22
- package/plugins/registry.js +8 -52
- package/plugins/registry.mjs +8 -33
- package/plugins/search/index.js +0 -2
- package/plugins/search/search.js +22 -97
- package/plugins/search/search.mjs +22 -68
- package/plugins/touchScroll/index.js +0 -2
- package/plugins/touchScroll/touchScroll.js +21 -77
- package/plugins/touchScroll/touchScroll.mjs +21 -59
- package/plugins/trimRows/index.js +0 -2
- package/plugins/trimRows/trimRows.js +64 -86
- package/plugins/trimRows/trimRows.mjs +64 -63
- package/plugins/undoRedo/index.js +0 -14
- package/plugins/undoRedo/undoRedo.js +98 -250
- package/plugins/undoRedo/undoRedo.mjs +98 -220
- package/registry.js +0 -11
- package/registry.mjs +1 -2
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
- package/renderers/autocompleteRenderer/index.js +0 -2
- package/renderers/baseRenderer/baseRenderer.js +2 -11
- package/renderers/baseRenderer/baseRenderer.mjs +1 -7
- package/renderers/baseRenderer/index.js +0 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
- package/renderers/checkboxRenderer/index.js +0 -2
- package/renderers/htmlRenderer/htmlRenderer.js +1 -7
- package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
- package/renderers/htmlRenderer/index.js +0 -2
- package/renderers/index.js +0 -19
- package/renderers/index.mjs +0 -1
- package/renderers/numericRenderer/index.js +0 -2
- package/renderers/numericRenderer/numericRenderer.js +1 -21
- package/renderers/numericRenderer/numericRenderer.mjs +1 -9
- package/renderers/passwordRenderer/index.js +0 -2
- package/renderers/passwordRenderer/passwordRenderer.js +1 -8
- package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
- package/renderers/registry.js +7 -16
- package/renderers/registry.mjs +7 -14
- package/renderers/textRenderer/index.js +0 -2
- package/renderers/textRenderer/textRenderer.js +1 -13
- package/renderers/textRenderer/textRenderer.mjs +1 -5
- package/renderers/timeRenderer/index.js +0 -2
- package/renderers/timeRenderer/timeRenderer.js +1 -6
- package/renderers/timeRenderer/timeRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +24 -73
- package/selection/highlight/highlight.mjs +24 -50
- package/selection/highlight/types/activeHeader.js +14 -23
- package/selection/highlight/types/activeHeader.mjs +14 -12
- package/selection/highlight/types/area.js +15 -24
- package/selection/highlight/types/area.mjs +15 -13
- package/selection/highlight/types/cell.js +14 -23
- package/selection/highlight/types/cell.mjs +14 -12
- package/selection/highlight/types/customSelection.js +15 -24
- package/selection/highlight/types/customSelection.mjs +15 -13
- package/selection/highlight/types/fill.js +16 -20
- package/selection/highlight/types/fill.mjs +16 -9
- package/selection/highlight/types/header.js +16 -25
- package/selection/highlight/types/header.mjs +16 -14
- package/selection/highlight/types/index.js +17 -27
- package/selection/highlight/types/index.mjs +17 -13
- package/selection/highlight/visualSelection.js +35 -80
- package/selection/highlight/visualSelection.mjs +35 -68
- package/selection/index.js +0 -14
- package/selection/mouseEventHandler.js +19 -30
- package/selection/mouseEventHandler.mjs +19 -22
- package/selection/range.js +17 -30
- package/selection/range.mjs +17 -21
- package/selection/selection.js +72 -160
- package/selection/selection.mjs +77 -137
- package/selection/transformation.js +23 -39
- package/selection/transformation.mjs +23 -36
- package/selection/utils.js +23 -71
- package/selection/utils.mjs +23 -48
- package/shortcuts/context.js +24 -79
- package/shortcuts/context.mjs +24 -56
- package/shortcuts/index.js +0 -2
- package/shortcuts/keyObserver.js +0 -9
- package/shortcuts/keyObserver.mjs +0 -4
- package/shortcuts/manager.js +17 -37
- package/shortcuts/manager.mjs +17 -34
- package/shortcuts/recorder.js +9 -40
- package/shortcuts/recorder.mjs +9 -31
- package/shortcuts/utils.js +5 -20
- package/shortcuts/utils.mjs +5 -6
- package/tableView.js +239 -330
- package/tableView.mjs +239 -308
- package/translations/changesObservable/observable.js +14 -53
- package/translations/changesObservable/observable.mjs +14 -43
- package/translations/changesObservable/observer.js +13 -31
- package/translations/changesObservable/observer.mjs +13 -23
- package/translations/changesObservable/utils.js +1 -5
- package/translations/changesObservable/utils.mjs +1 -4
- package/translations/index.js +0 -11
- package/translations/indexMapper.js +80 -162
- package/translations/indexMapper.mjs +85 -134
- package/translations/mapCollections/aggregatedCollection.js +14 -50
- package/translations/mapCollections/aggregatedCollection.mjs +14 -37
- package/translations/mapCollections/index.js +0 -7
- package/translations/mapCollections/mapCollection.js +20 -34
- package/translations/mapCollections/mapCollection.mjs +20 -23
- package/translations/maps/hidingMap.js +7 -34
- package/translations/maps/hidingMap.mjs +7 -22
- package/translations/maps/index.js +1 -24
- package/translations/maps/index.mjs +1 -3
- package/translations/maps/indexMap.js +25 -33
- package/translations/maps/indexMap.mjs +25 -27
- package/translations/maps/indexesSequence.js +8 -40
- package/translations/maps/indexesSequence.mjs +8 -25
- package/translations/maps/linkedPhysicalIndexToValueMap.js +18 -81
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +17 -54
- package/translations/maps/physicalIndexToValueMap.js +7 -38
- package/translations/maps/physicalIndexToValueMap.mjs +7 -24
- package/translations/maps/trimmingMap.js +7 -34
- package/translations/maps/trimmingMap.mjs +7 -22
- package/translations/maps/utils/actionsOnIndexes.js +1 -7
- package/translations/maps/utils/actionsOnIndexes.mjs +1 -3
- package/translations/maps/utils/index.js +0 -13
- package/translations/maps/utils/index.mjs +0 -3
- package/translations/maps/utils/indexesSequence.js +1 -24
- package/translations/maps/utils/indexesSequence.mjs +1 -9
- package/translations/maps/utils/physicallyIndexed.js +1 -27
- package/translations/maps/utils/physicallyIndexed.mjs +1 -10
- package/utils/dataStructures/linkedList.js +23 -50
- package/utils/dataStructures/linkedList.mjs +23 -48
- package/utils/dataStructures/priorityMap.js +9 -47
- package/utils/dataStructures/priorityMap.mjs +9 -30
- package/utils/dataStructures/queue.js +19 -16
- package/utils/dataStructures/queue.mjs +19 -15
- package/utils/dataStructures/stack.js +19 -16
- package/utils/dataStructures/stack.mjs +19 -15
- package/utils/dataStructures/tree.js +19 -77
- package/utils/dataStructures/tree.mjs +19 -56
- package/utils/dataStructures/uniqueMap.js +18 -57
- package/utils/dataStructures/uniqueMap.mjs +18 -43
- package/utils/dataStructures/uniqueSet.js +5 -32
- package/utils/dataStructures/uniqueSet.mjs +5 -19
- package/utils/ghostTable.js +42 -106
- package/utils/ghostTable.mjs +40 -90
- package/utils/interval.js +17 -29
- package/utils/interval.mjs +18 -26
- package/utils/parseTable.js +11 -92
- package/utils/parseTable.mjs +11 -62
- package/utils/rootInstance.js +3 -14
- package/utils/rootInstance.mjs +3 -3
- package/utils/samplesGenerator.js +25 -51
- package/utils/samplesGenerator.mjs +25 -42
- package/utils/staticRegister.js +6 -33
- package/utils/staticRegister.mjs +6 -19
- package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
- package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
- package/validators/autocompleteValidator/index.js +0 -2
- package/validators/dateValidator/dateValidator.js +2 -21
- package/validators/dateValidator/dateValidator.mjs +2 -11
- package/validators/dateValidator/index.js +0 -2
- package/validators/index.js +0 -11
- package/validators/index.mjs +0 -1
- package/validators/numericValidator/index.js +0 -2
- package/validators/numericValidator/numericValidator.js +1 -7
- package/validators/numericValidator/numericValidator.mjs +1 -3
- package/validators/registry.js +7 -16
- package/validators/registry.mjs +7 -14
- package/validators/timeValidator/index.js +0 -2
- package/validators/timeValidator/timeValidator.js +6 -18
- package/validators/timeValidator/timeValidator.mjs +8 -13
@@ -1,3 +1,4 @@
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
1
2
|
import "core-js/modules/es.array.includes.js";
|
2
3
|
import "core-js/modules/es.string.includes.js";
|
3
4
|
import "core-js/modules/es.array.index-of.js";
|
@@ -6,45 +7,53 @@ import "core-js/modules/es.object.to-string.js";
|
|
6
7
|
import "core-js/modules/es.string.iterator.js";
|
7
8
|
import "core-js/modules/es.weak-map.js";
|
8
9
|
import "core-js/modules/web.dom-collections.iterator.js";
|
9
|
-
|
10
|
+
import "core-js/modules/es.symbol.to-primitive.js";
|
11
|
+
import "core-js/modules/es.date.to-primitive.js";
|
12
|
+
import "core-js/modules/es.symbol.js";
|
13
|
+
import "core-js/modules/es.symbol.description.js";
|
14
|
+
import "core-js/modules/es.number.constructor.js";
|
15
|
+
import "core-js/modules/es.symbol.iterator.js";
|
10
16
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
11
|
-
|
12
|
-
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); } }
|
13
|
-
|
17
|
+
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, _toPropertyKey(descriptor.key), descriptor); } }
|
14
18
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
15
|
-
|
16
19
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
17
|
-
|
18
20
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
19
|
-
|
20
|
-
function
|
21
|
-
|
21
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
22
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
23
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
22
24
|
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
23
|
-
|
24
25
|
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
25
|
-
|
26
26
|
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
27
|
-
|
28
27
|
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
29
|
-
|
30
28
|
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; } }
|
31
|
-
|
32
29
|
import CellCoords from "./../cell/coords.mjs";
|
30
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
33
31
|
/**
|
34
|
-
*
|
35
|
-
*
|
32
|
+
* @description
|
33
|
+
*
|
34
|
+
* The `CellRange` class holds a set of cell coordinates ([`CellCoords`](@/api/cellCoords.md) instances)
|
35
|
+
* that form a [selection range](@/guides/cell-features/selection.md#select-ranges).
|
36
36
|
*
|
37
|
-
*
|
37
|
+
* A single `CellRange` instance represents a single unit of selection
|
38
|
+
* that contains either a single cell or multiple adjacent cells.
|
39
|
+
*
|
40
|
+
* To import the `CellRange` class:
|
41
|
+
*
|
42
|
+
* ```js
|
43
|
+
* import Handsontable, { CellRange } from '/handsontable';
|
44
|
+
*
|
45
|
+
* // or, using modules
|
46
|
+
* import Handsontable, { CellRange } from '/handsontable/base';
|
47
|
+
* ```
|
38
48
|
*/
|
39
|
-
|
40
49
|
var _isRtl = /*#__PURE__*/new WeakMap();
|
41
|
-
|
42
50
|
var CellRange = /*#__PURE__*/function () {
|
43
51
|
/**
|
44
52
|
* Used to draw bold border around a cell where selection was started and to edit the cell
|
45
53
|
* when you press Enter. The highlight cannot point to headers (negative values) so its
|
46
54
|
* coordinates object is normalized while assigning.
|
47
55
|
*
|
56
|
+
* @private
|
48
57
|
* @type {CellCoords}
|
49
58
|
*/
|
50
59
|
|
@@ -52,302 +61,313 @@ var CellRange = /*#__PURE__*/function () {
|
|
52
61
|
* Usually the same as highlight, but in Excel there is distinction - one can change
|
53
62
|
* highlight within a selection.
|
54
63
|
*
|
64
|
+
* @private
|
55
65
|
* @type {CellCoords}
|
56
66
|
*/
|
57
67
|
|
58
68
|
/**
|
59
69
|
* End selection.
|
60
70
|
*
|
71
|
+
* @private
|
61
72
|
* @type {CellCoords}
|
62
73
|
*/
|
63
74
|
|
64
75
|
/**
|
65
76
|
* @type {boolean}
|
66
77
|
*/
|
78
|
+
|
67
79
|
function CellRange(highlight) {
|
68
80
|
var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : highlight;
|
69
81
|
var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : highlight;
|
70
82
|
var isRtl = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
71
|
-
|
72
83
|
_classCallCheck(this, CellRange);
|
73
|
-
|
74
84
|
_defineProperty(this, "highlight", null);
|
75
|
-
|
76
85
|
_defineProperty(this, "from", null);
|
77
|
-
|
78
86
|
_defineProperty(this, "to", null);
|
79
|
-
|
80
87
|
_classPrivateFieldInitSpec(this, _isRtl, {
|
81
88
|
writable: true,
|
82
89
|
value: false
|
83
90
|
});
|
84
|
-
|
85
91
|
this.highlight = highlight.clone().normalize();
|
86
92
|
this.from = from.clone();
|
87
93
|
this.to = to.clone();
|
88
|
-
|
89
94
|
_classPrivateFieldSet(this, _isRtl, isRtl);
|
90
95
|
}
|
96
|
+
|
91
97
|
/**
|
92
|
-
*
|
98
|
+
* Highlights cell selection at the `coords` coordinates.
|
93
99
|
*
|
94
100
|
* @param {CellCoords} coords Coordinates to use.
|
95
101
|
* @returns {CellRange}
|
96
102
|
*/
|
97
|
-
|
98
|
-
|
99
103
|
_createClass(CellRange, [{
|
100
104
|
key: "setHighlight",
|
101
105
|
value: function setHighlight(coords) {
|
102
106
|
this.highlight = coords.clone().normalize();
|
103
107
|
return this;
|
104
108
|
}
|
109
|
+
|
105
110
|
/**
|
106
|
-
*
|
111
|
+
* Sets the `coords` coordinates as the start of your range.
|
107
112
|
*
|
108
113
|
* @param {CellCoords} coords Coordinates to use.
|
109
114
|
* @returns {CellRange}
|
110
115
|
*/
|
111
|
-
|
112
116
|
}, {
|
113
117
|
key: "setFrom",
|
114
118
|
value: function setFrom(coords) {
|
115
119
|
this.from = coords.clone();
|
116
120
|
return this;
|
117
121
|
}
|
122
|
+
|
118
123
|
/**
|
119
|
-
*
|
124
|
+
* Sets the `coords` coordinates as the end of your range.
|
120
125
|
*
|
121
126
|
* @param {CellCoords} coords Coordinates to use.
|
122
127
|
* @returns {CellRange}
|
123
128
|
*/
|
124
|
-
|
125
129
|
}, {
|
126
130
|
key: "setTo",
|
127
131
|
value: function setTo(coords) {
|
128
132
|
this.to = coords.clone();
|
129
133
|
return this;
|
130
134
|
}
|
135
|
+
|
131
136
|
/**
|
132
|
-
* Checks if
|
137
|
+
* Checks if the coordinates in your `CellRange` instance are valid
|
138
|
+
* in the context of a given Walkontable instance.
|
139
|
+
*
|
140
|
+
* See the [`isValid()`](@/api/cellCoords.md#isvalid) method of the [`CellCoords`](@/api/cellCoords.md) class.
|
133
141
|
*
|
134
|
-
* @param {Walkontable} wot
|
142
|
+
* @param {Walkontable} wot A Walkontable instance.
|
135
143
|
* @returns {boolean}
|
136
144
|
*/
|
137
|
-
|
138
145
|
}, {
|
139
146
|
key: "isValid",
|
140
147
|
value: function isValid(wot) {
|
141
148
|
return this.from.isValid(wot) && this.to.isValid(wot);
|
142
149
|
}
|
150
|
+
|
143
151
|
/**
|
144
|
-
* Checks if
|
152
|
+
* Checks if your range is just a single cell.
|
145
153
|
*
|
146
154
|
* @returns {boolean}
|
147
155
|
*/
|
148
|
-
|
149
156
|
}, {
|
150
157
|
key: "isSingle",
|
151
158
|
value: function isSingle() {
|
152
159
|
return this.from.row >= 0 && this.from.row === this.to.row && this.from.col >= 0 && this.from.col === this.to.col;
|
153
160
|
}
|
161
|
+
|
154
162
|
/**
|
155
|
-
* Returns
|
163
|
+
* Returns the height of your range (as a number of rows, including row headers).
|
156
164
|
*
|
157
165
|
* @returns {number}
|
158
166
|
*/
|
159
|
-
|
160
167
|
}, {
|
161
168
|
key: "getOuterHeight",
|
162
169
|
value: function getOuterHeight() {
|
163
170
|
return Math.max(this.from.row, this.to.row) - Math.min(this.from.row, this.to.row) + 1;
|
164
171
|
}
|
172
|
+
|
165
173
|
/**
|
166
|
-
* Returns
|
174
|
+
* Returns the width of your range (as a number of columns, including column headers).
|
167
175
|
*
|
168
176
|
* @returns {number}
|
169
177
|
*/
|
170
|
-
|
171
178
|
}, {
|
172
179
|
key: "getOuterWidth",
|
173
180
|
value: function getOuterWidth() {
|
174
181
|
return Math.max(this.from.col, this.to.col) - Math.min(this.from.col, this.to.col) + 1;
|
175
182
|
}
|
183
|
+
|
176
184
|
/**
|
177
|
-
* Returns
|
185
|
+
* Returns the height of your range (as a number of rows, excluding row headers).
|
178
186
|
*
|
179
187
|
* @returns {number}
|
180
188
|
*/
|
181
|
-
|
182
189
|
}, {
|
183
190
|
key: "getHeight",
|
184
191
|
value: function getHeight() {
|
192
|
+
// if the selection contains only row headers, return 0
|
193
|
+
if (this.from.row < 0 && this.to.row < 0) {
|
194
|
+
return 0;
|
195
|
+
}
|
185
196
|
var fromRow = Math.max(this.from.row, 0);
|
186
197
|
var toRow = Math.max(this.to.row, 0);
|
187
198
|
return Math.max(fromRow, toRow) - Math.min(fromRow, toRow) + 1;
|
188
199
|
}
|
200
|
+
|
189
201
|
/**
|
190
|
-
* Returns
|
202
|
+
* Returns the width of your range (as a number of columns, excluding column headers).
|
191
203
|
*
|
192
204
|
* @returns {number}
|
193
205
|
*/
|
194
|
-
|
195
206
|
}, {
|
196
207
|
key: "getWidth",
|
197
208
|
value: function getWidth() {
|
209
|
+
// if the selection contains only column headers, return 0
|
210
|
+
if (this.from.col < 0 && this.to.col < 0) {
|
211
|
+
return 0;
|
212
|
+
}
|
198
213
|
var fromCol = Math.max(this.from.col, 0);
|
199
214
|
var toCol = Math.max(this.to.col, 0);
|
200
215
|
return Math.max(fromCol, toCol) - Math.min(fromCol, toCol) + 1;
|
201
216
|
}
|
217
|
+
|
202
218
|
/**
|
203
|
-
* Returns the number of cells within
|
219
|
+
* Returns the number of cells within your range (excluding column and row headers).
|
204
220
|
*
|
205
221
|
* @returns {number}
|
206
222
|
*/
|
207
|
-
|
208
223
|
}, {
|
209
224
|
key: "getCellsCount",
|
210
225
|
value: function getCellsCount() {
|
211
226
|
return this.getWidth() * this.getHeight();
|
212
227
|
}
|
228
|
+
|
213
229
|
/**
|
214
|
-
* Checks if
|
230
|
+
* Checks if another set of coordinates (`cellCoords`)
|
231
|
+
* is within the `from` and `to` coordinates of your range.
|
215
232
|
*
|
216
|
-
* @param {CellCoords} cellCoords
|
233
|
+
* @param {CellCoords} cellCoords Coordinates to check.
|
217
234
|
* @returns {boolean}
|
218
235
|
*/
|
219
|
-
|
220
236
|
}, {
|
221
237
|
key: "includes",
|
222
238
|
value: function includes(cellCoords) {
|
223
239
|
var row = cellCoords.row,
|
224
|
-
|
240
|
+
col = cellCoords.col;
|
225
241
|
var topStart = this.getOuterTopStartCorner();
|
226
242
|
var bottomEnd = this.getOuterBottomEndCorner();
|
227
243
|
return topStart.row <= row && bottomEnd.row >= row && topStart.col <= col && bottomEnd.col >= col;
|
228
244
|
}
|
245
|
+
|
229
246
|
/**
|
230
|
-
* Checks if
|
247
|
+
* Checks if another range (`cellRange`) is within your range.
|
231
248
|
*
|
232
|
-
* @param {CellRange} cellRange
|
249
|
+
* @param {CellRange} cellRange A range to check.
|
233
250
|
* @returns {boolean}
|
234
251
|
*/
|
235
|
-
|
236
252
|
}, {
|
237
253
|
key: "includesRange",
|
238
254
|
value: function includesRange(cellRange) {
|
239
255
|
return this.includes(cellRange.getOuterTopStartCorner()) && this.includes(cellRange.getOuterBottomEndCorner());
|
240
256
|
}
|
257
|
+
|
241
258
|
/**
|
242
|
-
* Checks if
|
259
|
+
* Checks if another range (`cellRange`) is equal to your range.
|
243
260
|
*
|
244
|
-
* @param {CellRange} cellRange
|
261
|
+
* @param {CellRange} cellRange A range to check.
|
245
262
|
* @returns {boolean}
|
246
263
|
*/
|
247
|
-
|
248
264
|
}, {
|
249
265
|
key: "isEqual",
|
250
266
|
value: function isEqual(cellRange) {
|
251
267
|
return Math.min(this.from.row, this.to.row) === Math.min(cellRange.from.row, cellRange.to.row) && Math.max(this.from.row, this.to.row) === Math.max(cellRange.from.row, cellRange.to.row) && Math.min(this.from.col, this.to.col) === Math.min(cellRange.from.col, cellRange.to.col) && Math.max(this.from.col, this.to.col) === Math.max(cellRange.from.col, cellRange.to.col);
|
252
268
|
}
|
269
|
+
|
253
270
|
/**
|
254
|
-
* Checks if
|
255
|
-
*
|
271
|
+
* Checks if another range (`cellRange`) overlaps your range.
|
272
|
+
*
|
273
|
+
* Range A overlaps range B if the intersection of A and B (or B and A) is not empty.
|
256
274
|
*
|
257
|
-
* @param {CellRange} cellRange
|
275
|
+
* @param {CellRange} cellRange A range to check.
|
258
276
|
* @returns {boolean}
|
259
277
|
*/
|
260
|
-
|
261
278
|
}, {
|
262
279
|
key: "overlaps",
|
263
280
|
value: function overlaps(cellRange) {
|
264
281
|
return cellRange.isSouthEastOf(this.getOuterTopLeftCorner()) && cellRange.isNorthWestOf(this.getOuterBottomRightCorner());
|
265
282
|
}
|
283
|
+
|
266
284
|
/**
|
267
|
-
* Checks if
|
285
|
+
* Checks if another range (`cellRange`) is south-east of your range.
|
268
286
|
*
|
269
|
-
* @param {CellRange} cellRange
|
287
|
+
* @param {CellRange} cellRange A range to check.
|
270
288
|
* @returns {boolean}
|
271
289
|
*/
|
272
|
-
|
273
290
|
}, {
|
274
291
|
key: "isSouthEastOf",
|
275
292
|
value: function isSouthEastOf(cellRange) {
|
276
293
|
return this.getOuterTopLeftCorner().isSouthEastOf(cellRange) || this.getOuterBottomRightCorner().isSouthEastOf(cellRange);
|
277
294
|
}
|
295
|
+
|
278
296
|
/**
|
279
|
-
* Checks if
|
297
|
+
* Checks if another range (`cellRange`) is north-west of your range.
|
280
298
|
*
|
281
|
-
* @param {CellRange} cellRange
|
299
|
+
* @param {CellRange} cellRange A range to check.
|
282
300
|
* @returns {boolean}
|
283
301
|
*/
|
284
|
-
|
285
302
|
}, {
|
286
303
|
key: "isNorthWestOf",
|
287
304
|
value: function isNorthWestOf(cellRange) {
|
288
305
|
return this.getOuterTopLeftCorner().isNorthWestOf(cellRange) || this.getOuterBottomRightCorner().isNorthWestOf(cellRange);
|
289
306
|
}
|
307
|
+
|
290
308
|
/**
|
291
|
-
*
|
292
|
-
* column is 5 and the provided range's first column is 3).
|
309
|
+
* Checks if another range (`cellRange`) overlaps your range horizontally.
|
293
310
|
*
|
294
|
-
*
|
311
|
+
* For example: returns `true` if the last column of your range is `5`
|
312
|
+
* and the first column of the `cellRange` range is `3`.
|
313
|
+
*
|
314
|
+
* @param {CellRange} cellRange A range to check.
|
295
315
|
* @returns {boolean}
|
296
316
|
*/
|
297
|
-
|
298
317
|
}, {
|
299
318
|
key: "isOverlappingHorizontally",
|
300
319
|
value: function isOverlappingHorizontally(cellRange) {
|
301
320
|
return this.getOuterTopRightCorner().col >= cellRange.getOuterTopLeftCorner().col && this.getOuterTopRightCorner().col <= cellRange.getOuterTopRightCorner().col || this.getOuterTopLeftCorner().col <= cellRange.getOuterTopRightCorner().col && this.getOuterTopLeftCorner().col >= cellRange.getOuterTopLeftCorner().col;
|
302
321
|
}
|
322
|
+
|
303
323
|
/**
|
304
|
-
*
|
305
|
-
* row is 5 and the provided range's first row is 3).
|
324
|
+
* Checks if another range (`cellRange`) overlaps your range vertically.
|
306
325
|
*
|
307
|
-
*
|
326
|
+
* For example: returns `true` if the last row of your range is `5`
|
327
|
+
* and the first row of the `cellRange` range is `3`.
|
328
|
+
*
|
329
|
+
* @param {CellRange} cellRange A range to check.
|
308
330
|
* @returns {boolean}
|
309
331
|
*/
|
310
|
-
|
311
332
|
}, {
|
312
333
|
key: "isOverlappingVertically",
|
313
334
|
value: function isOverlappingVertically(cellRange) {
|
314
335
|
return this.getOuterBottomRightCorner().row >= cellRange.getOuterTopRightCorner().row && this.getOuterBottomRightCorner().row <= cellRange.getOuterBottomRightCorner().row || this.getOuterTopRightCorner().row <= cellRange.getOuterBottomRightCorner().row && this.getOuterTopRightCorner().row >= cellRange.getOuterTopRightCorner().row;
|
315
336
|
}
|
337
|
+
|
316
338
|
/**
|
317
|
-
* Adds a cell to
|
339
|
+
* Adds a cell to your range, at `cellCoords` coordinates.
|
318
340
|
*
|
319
|
-
*
|
341
|
+
* The `cellCoords` coordinates must exceed a corner of your range.
|
342
|
+
*
|
343
|
+
* @param {CellCoords} cellCoords A new cell's coordinates.
|
320
344
|
* @returns {boolean}
|
321
345
|
*/
|
322
|
-
|
323
346
|
}, {
|
324
347
|
key: "expand",
|
325
348
|
value: function expand(cellCoords) {
|
326
349
|
var topStart = this.getOuterTopStartCorner();
|
327
350
|
var bottomEnd = this.getOuterBottomEndCorner();
|
328
|
-
|
329
351
|
if (cellCoords.row < topStart.row || cellCoords.col < topStart.col || cellCoords.row > bottomEnd.row || cellCoords.col > bottomEnd.col) {
|
330
352
|
this.from = this._createCellCoords(Math.min(topStart.row, cellCoords.row), Math.min(topStart.col, cellCoords.col));
|
331
353
|
this.to = this._createCellCoords(Math.max(bottomEnd.row, cellCoords.row), Math.max(bottomEnd.col, cellCoords.col));
|
332
354
|
return true;
|
333
355
|
}
|
334
|
-
|
335
356
|
return false;
|
336
357
|
}
|
358
|
+
|
337
359
|
/**
|
338
|
-
* Expand
|
360
|
+
* Expand your range with another range (`expandingRange`).
|
339
361
|
*
|
340
|
-
* @param {CellRange} expandingRange
|
362
|
+
* @param {CellRange} expandingRange A new range.
|
341
363
|
* @returns {boolean}
|
342
364
|
*/
|
343
|
-
|
344
365
|
}, {
|
345
366
|
key: "expandByRange",
|
346
367
|
value: function expandByRange(expandingRange) {
|
347
368
|
if (this.includesRange(expandingRange) || !this.overlaps(expandingRange)) {
|
348
369
|
return false;
|
349
370
|
}
|
350
|
-
|
351
371
|
var topStart = this.getOuterTopStartCorner();
|
352
372
|
var bottomEnd = this.getOuterBottomEndCorner();
|
353
373
|
var initialDirection = this.getDirection();
|
@@ -357,31 +377,25 @@ var CellRange = /*#__PURE__*/function () {
|
|
357
377
|
var resultTopCol = Math.min(topStart.col, expandingTopStart.col);
|
358
378
|
var resultBottomRow = Math.max(bottomEnd.row, expandingBottomEnd.row);
|
359
379
|
var resultBottomCol = Math.max(bottomEnd.col, expandingBottomEnd.col);
|
360
|
-
|
361
380
|
var finalFrom = this._createCellCoords(resultTopRow, resultTopCol);
|
362
|
-
|
363
381
|
var finalTo = this._createCellCoords(resultBottomRow, resultBottomCol);
|
364
|
-
|
365
382
|
this.from = finalFrom;
|
366
383
|
this.to = finalTo;
|
367
384
|
this.setDirection(initialDirection);
|
368
|
-
|
369
385
|
if (this.highlight.row === this.getOuterBottomRightCorner().row && this.getVerticalDirection() === 'N-S') {
|
370
386
|
this.flipDirectionVertically();
|
371
387
|
}
|
372
|
-
|
373
388
|
if (this.highlight.col === this.getOuterTopRightCorner().col && this.getHorizontalDirection() === 'W-E') {
|
374
389
|
this.flipDirectionHorizontally();
|
375
390
|
}
|
376
|
-
|
377
391
|
return true;
|
378
392
|
}
|
393
|
+
|
379
394
|
/**
|
380
395
|
* Gets the direction of the selection.
|
381
396
|
*
|
382
397
|
* @returns {string} Returns one of the values: `'NW-SE'`, `'NE-SW'`, `'SE-NW'`, `'SW-NE'`.
|
383
398
|
*/
|
384
|
-
|
385
399
|
}, {
|
386
400
|
key: "getDirection",
|
387
401
|
value: function getDirection() {
|
@@ -399,12 +413,12 @@ var CellRange = /*#__PURE__*/function () {
|
|
399
413
|
return 'SW-NE';
|
400
414
|
}
|
401
415
|
}
|
416
|
+
|
402
417
|
/**
|
403
418
|
* Sets the direction of the selection.
|
404
419
|
*
|
405
420
|
* @param {string} direction One of the values: `'NW-SE'`, `'NE-SW'`, `'SE-NW'`, `'SW-NE'`.
|
406
421
|
*/
|
407
|
-
|
408
422
|
}, {
|
409
423
|
key: "setDirection",
|
410
424
|
value: function setDirection(direction) {
|
@@ -414,363 +428,380 @@ var CellRange = /*#__PURE__*/function () {
|
|
414
428
|
this.from = _ref[0];
|
415
429
|
this.to = _ref[1];
|
416
430
|
break;
|
417
|
-
|
418
431
|
case 'NE-SW':
|
419
432
|
var _ref2 = [this.getOuterTopRightCorner(), this.getOuterBottomLeftCorner()];
|
420
433
|
this.from = _ref2[0];
|
421
434
|
this.to = _ref2[1];
|
422
435
|
break;
|
423
|
-
|
424
436
|
case 'SE-NW':
|
425
437
|
var _ref3 = [this.getOuterBottomRightCorner(), this.getOuterTopLeftCorner()];
|
426
438
|
this.from = _ref3[0];
|
427
439
|
this.to = _ref3[1];
|
428
440
|
break;
|
429
|
-
|
430
441
|
case 'SW-NE':
|
431
442
|
var _ref4 = [this.getOuterBottomLeftCorner(), this.getOuterTopRightCorner()];
|
432
443
|
this.from = _ref4[0];
|
433
444
|
this.to = _ref4[1];
|
434
445
|
break;
|
435
|
-
|
436
446
|
default:
|
437
447
|
break;
|
438
448
|
}
|
439
449
|
}
|
450
|
+
|
440
451
|
/**
|
441
|
-
* Gets the vertical direction of the
|
452
|
+
* Gets the vertical direction of the selection.
|
442
453
|
*
|
443
454
|
* @returns {string} Returns one of the values: `N-S` (north->south), `S-N` (south->north).
|
444
455
|
*/
|
445
|
-
|
446
456
|
}, {
|
447
457
|
key: "getVerticalDirection",
|
448
458
|
value: function getVerticalDirection() {
|
449
459
|
return ['NE-SW', 'NW-SE'].indexOf(this.getDirection()) > -1 ? 'N-S' : 'S-N';
|
450
460
|
}
|
461
|
+
|
451
462
|
/**
|
452
|
-
* Gets the horizontal direction of the
|
463
|
+
* Gets the horizontal direction of the selection.
|
453
464
|
*
|
454
465
|
* @returns {string} Returns one of the values: `W-E` (west->east), `E-W` (east->west).
|
455
466
|
*/
|
456
|
-
|
457
467
|
}, {
|
458
468
|
key: "getHorizontalDirection",
|
459
469
|
value: function getHorizontalDirection() {
|
460
470
|
return ['NW-SE', 'SW-NE'].indexOf(this.getDirection()) > -1 ? 'W-E' : 'E-W';
|
461
471
|
}
|
472
|
+
|
462
473
|
/**
|
463
|
-
*
|
474
|
+
* Flips the direction of your range vertically (e.g., `NW-SE` changes to `SW-NE`).
|
464
475
|
*/
|
465
|
-
|
466
476
|
}, {
|
467
477
|
key: "flipDirectionVertically",
|
468
478
|
value: function flipDirectionVertically() {
|
469
479
|
var direction = this.getDirection();
|
470
|
-
|
471
480
|
switch (direction) {
|
472
481
|
case 'NW-SE':
|
473
482
|
this.setDirection('SW-NE');
|
474
483
|
break;
|
475
|
-
|
476
484
|
case 'NE-SW':
|
477
485
|
this.setDirection('SE-NW');
|
478
486
|
break;
|
479
|
-
|
480
487
|
case 'SE-NW':
|
481
488
|
this.setDirection('NE-SW');
|
482
489
|
break;
|
483
|
-
|
484
490
|
case 'SW-NE':
|
485
491
|
this.setDirection('NW-SE');
|
486
492
|
break;
|
487
|
-
|
488
493
|
default:
|
489
494
|
break;
|
490
495
|
}
|
491
496
|
}
|
497
|
+
|
492
498
|
/**
|
493
|
-
*
|
499
|
+
* Flips the direction of your range horizontally (e.g., `NW-SE` changes to `NE-SW`).
|
494
500
|
*/
|
495
|
-
|
496
501
|
}, {
|
497
502
|
key: "flipDirectionHorizontally",
|
498
503
|
value: function flipDirectionHorizontally() {
|
499
504
|
var direction = this.getDirection();
|
500
|
-
|
501
505
|
switch (direction) {
|
502
506
|
case 'NW-SE':
|
503
507
|
this.setDirection('NE-SW');
|
504
508
|
break;
|
505
|
-
|
506
509
|
case 'NE-SW':
|
507
510
|
this.setDirection('NW-SE');
|
508
511
|
break;
|
509
|
-
|
510
512
|
case 'SE-NW':
|
511
513
|
this.setDirection('SW-NE');
|
512
514
|
break;
|
513
|
-
|
514
515
|
case 'SW-NE':
|
515
516
|
this.setDirection('SE-NW');
|
516
517
|
break;
|
517
|
-
|
518
518
|
default:
|
519
519
|
break;
|
520
520
|
}
|
521
521
|
}
|
522
|
+
|
522
523
|
/**
|
523
|
-
* Gets the top
|
524
|
-
*
|
524
|
+
* Gets the top-left (in LTR) or top-right (in RTL) corner coordinates of your range.
|
525
|
+
*
|
526
|
+
* If the corner contains header coordinates (negative values),
|
527
|
+
* the corner coordinates are normalized to `0`.
|
525
528
|
*
|
526
529
|
* @returns {CellCoords}
|
527
530
|
*/
|
528
|
-
|
529
531
|
}, {
|
530
532
|
key: "getTopStartCorner",
|
531
533
|
value: function getTopStartCorner() {
|
532
534
|
return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.min(this.from.col, this.to.col)).normalize();
|
533
535
|
}
|
536
|
+
|
534
537
|
/**
|
535
|
-
* Gets the top
|
536
|
-
*
|
538
|
+
* Gets the top-left corner coordinates of your range,
|
539
|
+
* both in the LTR and RTL layout direction.
|
540
|
+
*
|
541
|
+
* If the corner contains header coordinates (negative values),
|
542
|
+
* the corner coordinates are normalized to `0`.
|
537
543
|
*
|
538
544
|
* @returns {CellCoords}
|
539
545
|
*/
|
540
|
-
|
541
546
|
}, {
|
542
547
|
key: "getTopLeftCorner",
|
543
548
|
value: function getTopLeftCorner() {
|
544
549
|
return _classPrivateFieldGet(this, _isRtl) ? this.getTopEndCorner() : this.getTopStartCorner();
|
545
550
|
}
|
551
|
+
|
546
552
|
/**
|
547
|
-
* Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of
|
548
|
-
*
|
553
|
+
* Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of your range.
|
554
|
+
*
|
555
|
+
* If the corner contains header coordinates (negative values),
|
556
|
+
* the corner coordinates are normalized to `0`.
|
549
557
|
*
|
550
558
|
* @returns {CellCoords}
|
551
559
|
*/
|
552
|
-
|
553
560
|
}, {
|
554
561
|
key: "getBottomEndCorner",
|
555
562
|
value: function getBottomEndCorner() {
|
556
563
|
return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.max(this.from.col, this.to.col)).normalize();
|
557
564
|
}
|
565
|
+
|
558
566
|
/**
|
559
|
-
* Gets the bottom right corner coordinates of
|
560
|
-
*
|
567
|
+
* Gets the bottom right corner coordinates of your range,
|
568
|
+
* both in the LTR and RTL layout direction.
|
569
|
+
*
|
570
|
+
* If the corner contains header coordinates (negative values),
|
571
|
+
* the corner coordinates are normalized to `0`.
|
561
572
|
*
|
562
573
|
* @returns {CellCoords}
|
563
574
|
*/
|
564
|
-
|
565
575
|
}, {
|
566
576
|
key: "getBottomRightCorner",
|
567
577
|
value: function getBottomRightCorner() {
|
568
578
|
return _classPrivateFieldGet(this, _isRtl) ? this.getBottomStartCorner() : this.getBottomEndCorner();
|
569
579
|
}
|
580
|
+
|
570
581
|
/**
|
571
|
-
* Gets the top right (in LTR) or top left (in RTL) corner coordinates of
|
572
|
-
*
|
582
|
+
* Gets the top right (in LTR) or top left (in RTL) corner coordinates of your range.
|
583
|
+
*
|
584
|
+
* If the corner contains header coordinates (negative values),
|
585
|
+
* the corner coordinates are normalized to `0`.
|
573
586
|
*
|
574
587
|
* @returns {CellCoords}
|
575
588
|
*/
|
576
|
-
|
577
589
|
}, {
|
578
590
|
key: "getTopEndCorner",
|
579
591
|
value: function getTopEndCorner() {
|
580
592
|
return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.max(this.from.col, this.to.col)).normalize();
|
581
593
|
}
|
594
|
+
|
582
595
|
/**
|
583
|
-
* Gets the top right corner coordinates of
|
584
|
-
*
|
596
|
+
* Gets the top right corner coordinates of your range,
|
597
|
+
* both in the LTR and RTL layout direction.
|
598
|
+
*
|
599
|
+
* If the corner contains header coordinates (negative values),
|
600
|
+
* the corner coordinates are normalized to `0`.
|
585
601
|
*
|
586
602
|
* @returns {CellCoords}
|
587
603
|
*/
|
588
|
-
|
589
604
|
}, {
|
590
605
|
key: "getTopRightCorner",
|
591
606
|
value: function getTopRightCorner() {
|
592
607
|
return _classPrivateFieldGet(this, _isRtl) ? this.getTopStartCorner() : this.getTopEndCorner();
|
593
608
|
}
|
609
|
+
|
594
610
|
/**
|
595
|
-
* Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of
|
596
|
-
*
|
611
|
+
* Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of your range.
|
612
|
+
*
|
613
|
+
* If the corner contains header coordinates (negative values),
|
614
|
+
* the corner coordinates are normalized to `0`.
|
597
615
|
*
|
598
616
|
* @returns {CellCoords}
|
599
617
|
*/
|
600
|
-
|
601
618
|
}, {
|
602
619
|
key: "getBottomStartCorner",
|
603
620
|
value: function getBottomStartCorner() {
|
604
621
|
return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.min(this.from.col, this.to.col)).normalize();
|
605
622
|
}
|
623
|
+
|
606
624
|
/**
|
607
|
-
* Gets the bottom left corner coordinates of
|
608
|
-
*
|
625
|
+
* Gets the bottom left corner coordinates of your range,
|
626
|
+
* both in the LTR and RTL layout direction.
|
627
|
+
*
|
628
|
+
* If the corner contains header coordinates (negative values),
|
629
|
+
* the corner coordinates are normalized to `0`.
|
609
630
|
*
|
610
631
|
* @returns {CellCoords}
|
611
632
|
*/
|
612
|
-
|
613
633
|
}, {
|
614
634
|
key: "getBottomLeftCorner",
|
615
635
|
value: function getBottomLeftCorner() {
|
616
636
|
return _classPrivateFieldGet(this, _isRtl) ? this.getBottomEndCorner() : this.getBottomStartCorner();
|
617
637
|
}
|
638
|
+
|
618
639
|
/**
|
619
|
-
* Gets the top left (in LTR) or top right (in RTL) corner coordinates of
|
620
|
-
*
|
640
|
+
* Gets the top left (in LTR) or top right (in RTL) corner coordinates of your range.
|
641
|
+
*
|
642
|
+
* If the corner contains header coordinates (negative values),
|
643
|
+
* the top and start coordinates are pointed to that header.
|
621
644
|
*
|
622
645
|
* @returns {CellCoords}
|
623
646
|
*/
|
624
|
-
|
625
647
|
}, {
|
626
648
|
key: "getOuterTopStartCorner",
|
627
649
|
value: function getOuterTopStartCorner() {
|
628
650
|
return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.min(this.from.col, this.to.col));
|
629
651
|
}
|
652
|
+
|
630
653
|
/**
|
631
|
-
* Gets the top left corner coordinates of
|
632
|
-
*
|
633
|
-
*
|
654
|
+
* Gets the top left corner coordinates of your range,
|
655
|
+
* both in the LTR and RTL layout direction.
|
656
|
+
*
|
657
|
+
* If the corner contains header coordinates (negative values),
|
658
|
+
* the top and left coordinates are pointed to that header.
|
634
659
|
*
|
635
660
|
* @returns {CellCoords}
|
636
661
|
*/
|
637
|
-
|
638
662
|
}, {
|
639
663
|
key: "getOuterTopLeftCorner",
|
640
664
|
value: function getOuterTopLeftCorner() {
|
641
665
|
return _classPrivateFieldGet(this, _isRtl) ? this.getOuterTopEndCorner() : this.getOuterTopStartCorner();
|
642
666
|
}
|
667
|
+
|
643
668
|
/**
|
644
|
-
* Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of
|
645
|
-
*
|
669
|
+
* Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of your range.
|
670
|
+
*
|
671
|
+
* If the corner contains header coordinates (negative values),
|
672
|
+
* the top and start coordinates are pointed to that header.
|
646
673
|
*
|
647
674
|
* @returns {CellCoords}
|
648
675
|
*/
|
649
|
-
|
650
676
|
}, {
|
651
677
|
key: "getOuterBottomEndCorner",
|
652
678
|
value: function getOuterBottomEndCorner() {
|
653
679
|
return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.max(this.from.col, this.to.col));
|
654
680
|
}
|
681
|
+
|
655
682
|
/**
|
656
|
-
* Gets the bottom right corner coordinates of
|
657
|
-
*
|
658
|
-
*
|
683
|
+
* Gets the bottom right corner coordinates of your range,
|
684
|
+
* both in the LTR and RTL layout direction.
|
685
|
+
*
|
686
|
+
* If the corner contains header coordinates (negative values),
|
687
|
+
* the top and left coordinates are pointed to that header.
|
659
688
|
*
|
660
689
|
* @returns {CellCoords}
|
661
690
|
*/
|
662
|
-
|
663
691
|
}, {
|
664
692
|
key: "getOuterBottomRightCorner",
|
665
693
|
value: function getOuterBottomRightCorner() {
|
666
694
|
return _classPrivateFieldGet(this, _isRtl) ? this.getOuterBottomStartCorner() : this.getOuterBottomEndCorner();
|
667
695
|
}
|
696
|
+
|
668
697
|
/**
|
669
|
-
* Gets the top right (in LTR) or top left (in RTL) corner coordinates of
|
670
|
-
*
|
698
|
+
* Gets the top right (in LTR) or top left (in RTL) corner coordinates of your range.
|
699
|
+
*
|
700
|
+
* If the corner contains header coordinates (negative values),
|
701
|
+
* the top and start coordinates are pointed to that header.
|
671
702
|
*
|
672
703
|
* @returns {CellCoords}
|
673
704
|
*/
|
674
|
-
|
675
705
|
}, {
|
676
706
|
key: "getOuterTopEndCorner",
|
677
707
|
value: function getOuterTopEndCorner() {
|
678
708
|
return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.max(this.from.col, this.to.col));
|
679
709
|
}
|
710
|
+
|
680
711
|
/**
|
681
|
-
* Gets the top right corner coordinates of
|
682
|
-
*
|
683
|
-
*
|
712
|
+
* Gets the top right corner coordinates of your range,
|
713
|
+
* both in the LTR and RTL layout direction.
|
714
|
+
*
|
715
|
+
* If the corner contains header coordinates (negative values),
|
716
|
+
* the top and left coordinates are pointed to that header.
|
684
717
|
*
|
685
718
|
* @returns {CellCoords}
|
686
719
|
*/
|
687
|
-
|
688
720
|
}, {
|
689
721
|
key: "getOuterTopRightCorner",
|
690
722
|
value: function getOuterTopRightCorner() {
|
691
723
|
return _classPrivateFieldGet(this, _isRtl) ? this.getOuterTopStartCorner() : this.getOuterTopEndCorner();
|
692
724
|
}
|
725
|
+
|
693
726
|
/**
|
694
|
-
* Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of
|
695
|
-
*
|
727
|
+
* Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of your range.
|
728
|
+
*
|
729
|
+
* If the corner contains header coordinates (negative values),
|
730
|
+
* the top and start coordinates are pointed to that header.
|
696
731
|
*
|
697
732
|
* @returns {CellCoords}
|
698
733
|
*/
|
699
|
-
|
700
734
|
}, {
|
701
735
|
key: "getOuterBottomStartCorner",
|
702
736
|
value: function getOuterBottomStartCorner() {
|
703
737
|
return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.min(this.from.col, this.to.col));
|
704
738
|
}
|
739
|
+
|
705
740
|
/**
|
706
|
-
* Gets the bottom left corner coordinates of
|
707
|
-
*
|
708
|
-
*
|
741
|
+
* Gets the bottom left corner coordinates of your range,
|
742
|
+
* both in the LTR and RTL layout direction.
|
743
|
+
*
|
744
|
+
* If the corner contains header coordinates (negative values),
|
745
|
+
* the top and left coordinates are pointed to that header.
|
709
746
|
*
|
710
747
|
* @returns {CellCoords}
|
711
748
|
*/
|
712
|
-
|
713
749
|
}, {
|
714
750
|
key: "getOuterBottomLeftCorner",
|
715
751
|
value: function getOuterBottomLeftCorner() {
|
716
752
|
return _classPrivateFieldGet(this, _isRtl) ? this.getOuterBottomEndCorner() : this.getOuterBottomStartCorner();
|
717
753
|
}
|
754
|
+
|
718
755
|
/**
|
719
|
-
* Checks if coordinates
|
756
|
+
* Checks if a set of coordinates (`coords`) matches one of the 4 corners of your range.
|
720
757
|
*
|
721
|
-
* @param {CellCoords} coords
|
722
|
-
* @param {CellRange} [expandedRange]
|
758
|
+
* @param {CellCoords} coords Coordinates to check.
|
759
|
+
* @param {CellRange} [expandedRange] A range to compare with.
|
723
760
|
* @returns {boolean}
|
724
761
|
*/
|
725
|
-
|
726
762
|
}, {
|
727
763
|
key: "isCorner",
|
728
764
|
value: function isCorner(coords, expandedRange) {
|
729
765
|
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)))) {
|
730
766
|
return true;
|
731
767
|
}
|
732
|
-
|
733
768
|
return coords.isEqual(this.getOuterTopLeftCorner()) || coords.isEqual(this.getOuterTopRightCorner()) || coords.isEqual(this.getOuterBottomLeftCorner()) || coords.isEqual(this.getOuterBottomRightCorner());
|
734
769
|
}
|
770
|
+
|
735
771
|
/**
|
736
|
-
* Gets coordinates of
|
737
|
-
* bottom-right corner of this range then the coordinates for top-left will be returned.
|
772
|
+
* Gets the coordinates of a range corner opposite to the provided `coords`.
|
738
773
|
*
|
739
|
-
*
|
740
|
-
*
|
774
|
+
* For example: if the `coords` coordinates match the bottom-right corner of your range,
|
775
|
+
* the coordinates of the top-left corner of your range are returned.
|
776
|
+
*
|
777
|
+
* @param {CellCoords} coords Coordinates to check.
|
778
|
+
* @param {CellRange} [expandedRange] A range to compare with.
|
741
779
|
* @returns {CellCoords}
|
742
780
|
*/
|
743
|
-
|
744
781
|
}, {
|
745
782
|
key: "getOppositeCorner",
|
746
783
|
value: function getOppositeCorner(coords, expandedRange) {
|
747
784
|
if (!(coords instanceof CellCoords)) {
|
748
785
|
return false;
|
749
786
|
}
|
750
|
-
|
751
787
|
if (expandedRange) {
|
752
788
|
var from = expandedRange.from,
|
753
|
-
|
754
|
-
|
789
|
+
to = expandedRange.to;
|
755
790
|
if (expandedRange.includes(coords)) {
|
756
791
|
if (this.getOuterTopStartCorner().isEqual(this._createCellCoords(from.row, from.col))) {
|
757
792
|
return this.getOuterBottomEndCorner();
|
758
793
|
}
|
759
|
-
|
760
794
|
if (this.getOuterTopEndCorner().isEqual(this._createCellCoords(from.row, to.col))) {
|
761
795
|
return this.getOuterBottomStartCorner();
|
762
796
|
}
|
763
|
-
|
764
797
|
if (this.getOuterBottomStartCorner().isEqual(this._createCellCoords(to.row, from.col))) {
|
765
798
|
return this.getOuterTopEndCorner();
|
766
799
|
}
|
767
|
-
|
768
800
|
if (this.getOuterBottomEndCorner().isEqual(this._createCellCoords(to.row, to.col))) {
|
769
801
|
return this.getOuterTopStartCorner();
|
770
802
|
}
|
771
803
|
}
|
772
804
|
}
|
773
|
-
|
774
805
|
if (coords.isEqual(this.getOuterBottomEndCorner())) {
|
775
806
|
return this.getOuterTopStartCorner();
|
776
807
|
} else if (coords.isEqual(this.getOuterTopStartCorner())) {
|
@@ -781,18 +812,20 @@ var CellRange = /*#__PURE__*/function () {
|
|
781
812
|
return this.getOuterTopEndCorner();
|
782
813
|
}
|
783
814
|
}
|
815
|
+
|
784
816
|
/**
|
785
|
-
*
|
786
|
-
*
|
817
|
+
* Indicates which borders (top, right, bottom, left) are shared between
|
818
|
+
* your `CellRange`instance and another `range` that's within your range.
|
819
|
+
*
|
820
|
+
* @param {CellRange} range A range to compare with.
|
821
|
+
* @returns {Array<'top' | 'right' | 'bottom' | 'left'>}
|
787
822
|
*/
|
788
|
-
|
789
823
|
}, {
|
790
824
|
key: "getBordersSharedWith",
|
791
825
|
value: function getBordersSharedWith(range) {
|
792
826
|
if (!this.includesRange(range)) {
|
793
827
|
return [];
|
794
828
|
}
|
795
|
-
|
796
829
|
var thisBorders = {
|
797
830
|
top: Math.min(this.from.row, this.to.row),
|
798
831
|
bottom: Math.max(this.from.row, this.to.row),
|
@@ -806,38 +839,32 @@ var CellRange = /*#__PURE__*/function () {
|
|
806
839
|
right: Math.max(range.from.col, range.to.col)
|
807
840
|
};
|
808
841
|
var result = [];
|
809
|
-
|
810
842
|
if (thisBorders.top === rangeBorders.top) {
|
811
843
|
result.push('top');
|
812
844
|
}
|
813
|
-
|
814
845
|
if (thisBorders.right === rangeBorders.right) {
|
815
846
|
result.push('right');
|
816
847
|
}
|
817
|
-
|
818
848
|
if (thisBorders.bottom === rangeBorders.bottom) {
|
819
849
|
result.push('bottom');
|
820
850
|
}
|
821
|
-
|
822
851
|
if (thisBorders.left === rangeBorders.left) {
|
823
852
|
result.push('left');
|
824
853
|
}
|
825
|
-
|
826
854
|
return result;
|
827
855
|
}
|
856
|
+
|
828
857
|
/**
|
829
|
-
*
|
858
|
+
* Gets the coordinates of the inner cells of your range.
|
830
859
|
*
|
831
|
-
* @returns {
|
860
|
+
* @returns {CellCoords[]}
|
832
861
|
*/
|
833
|
-
|
834
862
|
}, {
|
835
863
|
key: "getInner",
|
836
864
|
value: function getInner() {
|
837
865
|
var topStart = this.getOuterTopStartCorner();
|
838
866
|
var bottomEnd = this.getOuterBottomEndCorner();
|
839
867
|
var out = [];
|
840
|
-
|
841
868
|
for (var r = topStart.row; r <= bottomEnd.row; r++) {
|
842
869
|
for (var c = topStart.col; c <= bottomEnd.col; c++) {
|
843
870
|
if (!(this.from.row === r && this.from.col === c) && !(this.to.row === r && this.to.col === c)) {
|
@@ -845,22 +872,20 @@ var CellRange = /*#__PURE__*/function () {
|
|
845
872
|
}
|
846
873
|
}
|
847
874
|
}
|
848
|
-
|
849
875
|
return out;
|
850
876
|
}
|
877
|
+
|
851
878
|
/**
|
852
|
-
*
|
879
|
+
* Gets the coordinates of all cells of your range.
|
853
880
|
*
|
854
|
-
* @returns {
|
881
|
+
* @returns {CellCoords[]}
|
855
882
|
*/
|
856
|
-
|
857
883
|
}, {
|
858
884
|
key: "getAll",
|
859
885
|
value: function getAll() {
|
860
886
|
var topStart = this.getOuterTopStartCorner();
|
861
887
|
var bottomEnd = this.getOuterBottomEndCorner();
|
862
888
|
var out = [];
|
863
|
-
|
864
889
|
for (var r = topStart.row; r <= bottomEnd.row; r++) {
|
865
890
|
for (var c = topStart.col; c <= bottomEnd.col; c++) {
|
866
891
|
if (topStart.row === r && topStart.col === c) {
|
@@ -872,50 +897,54 @@ var CellRange = /*#__PURE__*/function () {
|
|
872
897
|
}
|
873
898
|
}
|
874
899
|
}
|
875
|
-
|
876
900
|
return out;
|
877
901
|
}
|
902
|
+
|
878
903
|
/**
|
879
|
-
* Runs a callback function
|
880
|
-
*
|
904
|
+
* Runs a callback function on all cells within your range.
|
905
|
+
*
|
906
|
+
* You can break the iteration by returning `false` in the callback function.
|
881
907
|
*
|
882
|
-
* @param {
|
908
|
+
* @param {function(number, number): boolean} callback A callback function.
|
883
909
|
*/
|
884
|
-
|
885
910
|
}, {
|
886
911
|
key: "forAll",
|
887
912
|
value: function forAll(callback) {
|
888
913
|
var topStart = this.getOuterTopStartCorner();
|
889
914
|
var bottomEnd = this.getOuterBottomEndCorner();
|
890
|
-
|
891
915
|
for (var r = topStart.row; r <= bottomEnd.row; r++) {
|
892
916
|
for (var c = topStart.col; c <= bottomEnd.col; c++) {
|
893
917
|
var breakIteration = callback(r, c);
|
894
|
-
|
895
918
|
if (breakIteration === false) {
|
896
919
|
return;
|
897
920
|
}
|
898
921
|
}
|
899
922
|
}
|
900
923
|
}
|
924
|
+
|
901
925
|
/**
|
902
|
-
* Clones
|
926
|
+
* Clones your `CellRange` instance.
|
903
927
|
*
|
904
928
|
* @returns {CellRange}
|
905
929
|
*/
|
906
|
-
|
907
930
|
}, {
|
908
931
|
key: "clone",
|
909
932
|
value: function clone() {
|
910
933
|
return new CellRange(this.highlight, this.from, this.to, _classPrivateFieldGet(this, _isRtl));
|
911
934
|
}
|
935
|
+
|
912
936
|
/**
|
913
|
-
*
|
937
|
+
* Converts your `CellRange` instance into an object literal with the following properties:
|
938
|
+
*
|
939
|
+
* - `from`
|
940
|
+
* - `row`
|
941
|
+
* - `col`
|
942
|
+
* - `to`
|
943
|
+
* - `row`
|
944
|
+
* - `col`
|
914
945
|
*
|
915
|
-
* @returns {
|
916
|
-
* contains `row` and `col` keys.
|
946
|
+
* @returns {{from: {row: number, col: number}, to: {row: number, col: number}}} An object literal with `from` and `to` properties.
|
917
947
|
*/
|
918
|
-
|
919
948
|
}, {
|
920
949
|
key: "toObject",
|
921
950
|
value: function toObject() {
|
@@ -924,24 +953,24 @@ var CellRange = /*#__PURE__*/function () {
|
|
924
953
|
to: this.to.toObject()
|
925
954
|
};
|
926
955
|
}
|
956
|
+
|
927
957
|
/**
|
928
|
-
* Creates and returns a new instance of the CellCoords
|
929
|
-
*
|
958
|
+
* Creates and returns a new instance of the `CellCoords` class.
|
959
|
+
*
|
960
|
+
* The new `CellCoords` instance automatically inherits the LTR/RTL flag
|
961
|
+
* from your `CellRange` instance.
|
930
962
|
*
|
931
963
|
* @private
|
932
|
-
* @param {number} row
|
933
|
-
* @param {number} column
|
964
|
+
* @param {number} row A row index.
|
965
|
+
* @param {number} column A column index.
|
934
966
|
* @returns {CellCoords}
|
935
967
|
*/
|
936
|
-
|
937
968
|
}, {
|
938
969
|
key: "_createCellCoords",
|
939
970
|
value: function _createCellCoords(row, column) {
|
940
971
|
return new CellCoords(row, column, _classPrivateFieldGet(this, _isRtl));
|
941
972
|
}
|
942
973
|
}]);
|
943
|
-
|
944
974
|
return CellRange;
|
945
975
|
}();
|
946
|
-
|
947
976
|
export default CellRange;
|