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,57 +1,56 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
+
require("core-js/modules/es.symbol.to-primitive.js");
|
4
|
+
require("core-js/modules/es.date.to-primitive.js");
|
5
|
+
require("core-js/modules/es.symbol.js");
|
6
|
+
require("core-js/modules/es.symbol.description.js");
|
7
|
+
require("core-js/modules/es.number.constructor.js");
|
8
|
+
require("core-js/modules/es.symbol.iterator.js");
|
9
|
+
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); }
|
3
10
|
exports.__esModule = true;
|
4
11
|
exports.default = void 0;
|
5
|
-
|
6
12
|
require("core-js/modules/es.array.includes.js");
|
7
|
-
|
8
13
|
require("core-js/modules/es.string.includes.js");
|
9
|
-
|
10
14
|
require("core-js/modules/es.array.index-of.js");
|
11
|
-
|
12
15
|
require("core-js/modules/es.array.iterator.js");
|
13
|
-
|
14
16
|
require("core-js/modules/es.object.to-string.js");
|
15
|
-
|
16
17
|
require("core-js/modules/es.string.iterator.js");
|
17
|
-
|
18
18
|
require("core-js/modules/es.weak-map.js");
|
19
|
-
|
20
19
|
require("core-js/modules/web.dom-collections.iterator.js");
|
21
|
-
|
22
20
|
var _coords = _interopRequireDefault(require("./../cell/coords"));
|
23
|
-
|
24
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
25
|
-
|
26
22
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
27
|
-
|
28
|
-
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); } }
|
29
|
-
|
23
|
+
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); } }
|
30
24
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
31
|
-
|
32
25
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
33
|
-
|
34
26
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
35
|
-
|
36
|
-
function
|
37
|
-
|
27
|
+
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; }
|
28
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
29
|
+
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); }
|
38
30
|
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
39
|
-
|
40
31
|
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
41
|
-
|
42
32
|
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
43
|
-
|
44
33
|
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
45
|
-
|
46
34
|
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
47
|
-
|
48
35
|
var _isRtl = /*#__PURE__*/new WeakMap();
|
49
|
-
|
36
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
50
37
|
/**
|
51
|
-
*
|
52
|
-
*
|
38
|
+
* @description
|
39
|
+
*
|
40
|
+
* The `CellRange` class holds a set of cell coordinates ([`CellCoords`](@/api/cellCoords.md) instances)
|
41
|
+
* that form a [selection range](@/guides/cell-features/selection.md#select-ranges).
|
42
|
+
*
|
43
|
+
* A single `CellRange` instance represents a single unit of selection
|
44
|
+
* that contains either a single cell or multiple adjacent cells.
|
45
|
+
*
|
46
|
+
* To import the `CellRange` class:
|
47
|
+
*
|
48
|
+
* ```js
|
49
|
+
* import Handsontable, { CellRange } from '/handsontable';
|
53
50
|
*
|
54
|
-
*
|
51
|
+
* // or, using modules
|
52
|
+
* import Handsontable, { CellRange } from '/handsontable/base';
|
53
|
+
* ```
|
55
54
|
*/
|
56
55
|
var CellRange = /*#__PURE__*/function () {
|
57
56
|
/**
|
@@ -59,6 +58,7 @@ var CellRange = /*#__PURE__*/function () {
|
|
59
58
|
* when you press Enter. The highlight cannot point to headers (negative values) so its
|
60
59
|
* coordinates object is normalized while assigning.
|
61
60
|
*
|
61
|
+
* @private
|
62
62
|
* @type {CellCoords}
|
63
63
|
*/
|
64
64
|
|
@@ -66,302 +66,313 @@ var CellRange = /*#__PURE__*/function () {
|
|
66
66
|
* Usually the same as highlight, but in Excel there is distinction - one can change
|
67
67
|
* highlight within a selection.
|
68
68
|
*
|
69
|
+
* @private
|
69
70
|
* @type {CellCoords}
|
70
71
|
*/
|
71
72
|
|
72
73
|
/**
|
73
74
|
* End selection.
|
74
75
|
*
|
76
|
+
* @private
|
75
77
|
* @type {CellCoords}
|
76
78
|
*/
|
77
79
|
|
78
80
|
/**
|
79
81
|
* @type {boolean}
|
80
82
|
*/
|
83
|
+
|
81
84
|
function CellRange(highlight) {
|
82
85
|
var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : highlight;
|
83
86
|
var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : highlight;
|
84
87
|
var isRtl = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
85
|
-
|
86
88
|
_classCallCheck(this, CellRange);
|
87
|
-
|
88
89
|
_defineProperty(this, "highlight", null);
|
89
|
-
|
90
90
|
_defineProperty(this, "from", null);
|
91
|
-
|
92
91
|
_defineProperty(this, "to", null);
|
93
|
-
|
94
92
|
_classPrivateFieldInitSpec(this, _isRtl, {
|
95
93
|
writable: true,
|
96
94
|
value: false
|
97
95
|
});
|
98
|
-
|
99
96
|
this.highlight = highlight.clone().normalize();
|
100
97
|
this.from = from.clone();
|
101
98
|
this.to = to.clone();
|
102
|
-
|
103
99
|
_classPrivateFieldSet(this, _isRtl, isRtl);
|
104
100
|
}
|
101
|
+
|
105
102
|
/**
|
106
|
-
*
|
103
|
+
* Highlights cell selection at the `coords` coordinates.
|
107
104
|
*
|
108
105
|
* @param {CellCoords} coords Coordinates to use.
|
109
106
|
* @returns {CellRange}
|
110
107
|
*/
|
111
|
-
|
112
|
-
|
113
108
|
_createClass(CellRange, [{
|
114
109
|
key: "setHighlight",
|
115
110
|
value: function setHighlight(coords) {
|
116
111
|
this.highlight = coords.clone().normalize();
|
117
112
|
return this;
|
118
113
|
}
|
114
|
+
|
119
115
|
/**
|
120
|
-
*
|
116
|
+
* Sets the `coords` coordinates as the start of your range.
|
121
117
|
*
|
122
118
|
* @param {CellCoords} coords Coordinates to use.
|
123
119
|
* @returns {CellRange}
|
124
120
|
*/
|
125
|
-
|
126
121
|
}, {
|
127
122
|
key: "setFrom",
|
128
123
|
value: function setFrom(coords) {
|
129
124
|
this.from = coords.clone();
|
130
125
|
return this;
|
131
126
|
}
|
127
|
+
|
132
128
|
/**
|
133
|
-
*
|
129
|
+
* Sets the `coords` coordinates as the end of your range.
|
134
130
|
*
|
135
131
|
* @param {CellCoords} coords Coordinates to use.
|
136
132
|
* @returns {CellRange}
|
137
133
|
*/
|
138
|
-
|
139
134
|
}, {
|
140
135
|
key: "setTo",
|
141
136
|
value: function setTo(coords) {
|
142
137
|
this.to = coords.clone();
|
143
138
|
return this;
|
144
139
|
}
|
140
|
+
|
145
141
|
/**
|
146
|
-
* Checks if
|
142
|
+
* Checks if the coordinates in your `CellRange` instance are valid
|
143
|
+
* in the context of a given Walkontable instance.
|
144
|
+
*
|
145
|
+
* See the [`isValid()`](@/api/cellCoords.md#isvalid) method of the [`CellCoords`](@/api/cellCoords.md) class.
|
147
146
|
*
|
148
|
-
* @param {Walkontable} wot
|
147
|
+
* @param {Walkontable} wot A Walkontable instance.
|
149
148
|
* @returns {boolean}
|
150
149
|
*/
|
151
|
-
|
152
150
|
}, {
|
153
151
|
key: "isValid",
|
154
152
|
value: function isValid(wot) {
|
155
153
|
return this.from.isValid(wot) && this.to.isValid(wot);
|
156
154
|
}
|
155
|
+
|
157
156
|
/**
|
158
|
-
* Checks if
|
157
|
+
* Checks if your range is just a single cell.
|
159
158
|
*
|
160
159
|
* @returns {boolean}
|
161
160
|
*/
|
162
|
-
|
163
161
|
}, {
|
164
162
|
key: "isSingle",
|
165
163
|
value: function isSingle() {
|
166
164
|
return this.from.row >= 0 && this.from.row === this.to.row && this.from.col >= 0 && this.from.col === this.to.col;
|
167
165
|
}
|
166
|
+
|
168
167
|
/**
|
169
|
-
* Returns
|
168
|
+
* Returns the height of your range (as a number of rows, including row headers).
|
170
169
|
*
|
171
170
|
* @returns {number}
|
172
171
|
*/
|
173
|
-
|
174
172
|
}, {
|
175
173
|
key: "getOuterHeight",
|
176
174
|
value: function getOuterHeight() {
|
177
175
|
return Math.max(this.from.row, this.to.row) - Math.min(this.from.row, this.to.row) + 1;
|
178
176
|
}
|
177
|
+
|
179
178
|
/**
|
180
|
-
* Returns
|
179
|
+
* Returns the width of your range (as a number of columns, including column headers).
|
181
180
|
*
|
182
181
|
* @returns {number}
|
183
182
|
*/
|
184
|
-
|
185
183
|
}, {
|
186
184
|
key: "getOuterWidth",
|
187
185
|
value: function getOuterWidth() {
|
188
186
|
return Math.max(this.from.col, this.to.col) - Math.min(this.from.col, this.to.col) + 1;
|
189
187
|
}
|
188
|
+
|
190
189
|
/**
|
191
|
-
* Returns
|
190
|
+
* Returns the height of your range (as a number of rows, excluding row headers).
|
192
191
|
*
|
193
192
|
* @returns {number}
|
194
193
|
*/
|
195
|
-
|
196
194
|
}, {
|
197
195
|
key: "getHeight",
|
198
196
|
value: function getHeight() {
|
197
|
+
// if the selection contains only row headers, return 0
|
198
|
+
if (this.from.row < 0 && this.to.row < 0) {
|
199
|
+
return 0;
|
200
|
+
}
|
199
201
|
var fromRow = Math.max(this.from.row, 0);
|
200
202
|
var toRow = Math.max(this.to.row, 0);
|
201
203
|
return Math.max(fromRow, toRow) - Math.min(fromRow, toRow) + 1;
|
202
204
|
}
|
205
|
+
|
203
206
|
/**
|
204
|
-
* Returns
|
207
|
+
* Returns the width of your range (as a number of columns, excluding column headers).
|
205
208
|
*
|
206
209
|
* @returns {number}
|
207
210
|
*/
|
208
|
-
|
209
211
|
}, {
|
210
212
|
key: "getWidth",
|
211
213
|
value: function getWidth() {
|
214
|
+
// if the selection contains only column headers, return 0
|
215
|
+
if (this.from.col < 0 && this.to.col < 0) {
|
216
|
+
return 0;
|
217
|
+
}
|
212
218
|
var fromCol = Math.max(this.from.col, 0);
|
213
219
|
var toCol = Math.max(this.to.col, 0);
|
214
220
|
return Math.max(fromCol, toCol) - Math.min(fromCol, toCol) + 1;
|
215
221
|
}
|
222
|
+
|
216
223
|
/**
|
217
|
-
* Returns the number of cells within
|
224
|
+
* Returns the number of cells within your range (excluding column and row headers).
|
218
225
|
*
|
219
226
|
* @returns {number}
|
220
227
|
*/
|
221
|
-
|
222
228
|
}, {
|
223
229
|
key: "getCellsCount",
|
224
230
|
value: function getCellsCount() {
|
225
231
|
return this.getWidth() * this.getHeight();
|
226
232
|
}
|
233
|
+
|
227
234
|
/**
|
228
|
-
* Checks if
|
235
|
+
* Checks if another set of coordinates (`cellCoords`)
|
236
|
+
* is within the `from` and `to` coordinates of your range.
|
229
237
|
*
|
230
|
-
* @param {CellCoords} cellCoords
|
238
|
+
* @param {CellCoords} cellCoords Coordinates to check.
|
231
239
|
* @returns {boolean}
|
232
240
|
*/
|
233
|
-
|
234
241
|
}, {
|
235
242
|
key: "includes",
|
236
243
|
value: function includes(cellCoords) {
|
237
244
|
var row = cellCoords.row,
|
238
|
-
|
245
|
+
col = cellCoords.col;
|
239
246
|
var topStart = this.getOuterTopStartCorner();
|
240
247
|
var bottomEnd = this.getOuterBottomEndCorner();
|
241
248
|
return topStart.row <= row && bottomEnd.row >= row && topStart.col <= col && bottomEnd.col >= col;
|
242
249
|
}
|
250
|
+
|
243
251
|
/**
|
244
|
-
* Checks if
|
252
|
+
* Checks if another range (`cellRange`) is within your range.
|
245
253
|
*
|
246
|
-
* @param {CellRange} cellRange
|
254
|
+
* @param {CellRange} cellRange A range to check.
|
247
255
|
* @returns {boolean}
|
248
256
|
*/
|
249
|
-
|
250
257
|
}, {
|
251
258
|
key: "includesRange",
|
252
259
|
value: function includesRange(cellRange) {
|
253
260
|
return this.includes(cellRange.getOuterTopStartCorner()) && this.includes(cellRange.getOuterBottomEndCorner());
|
254
261
|
}
|
262
|
+
|
255
263
|
/**
|
256
|
-
* Checks if
|
264
|
+
* Checks if another range (`cellRange`) is equal to your range.
|
257
265
|
*
|
258
|
-
* @param {CellRange} cellRange
|
266
|
+
* @param {CellRange} cellRange A range to check.
|
259
267
|
* @returns {boolean}
|
260
268
|
*/
|
261
|
-
|
262
269
|
}, {
|
263
270
|
key: "isEqual",
|
264
271
|
value: function isEqual(cellRange) {
|
265
272
|
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);
|
266
273
|
}
|
274
|
+
|
267
275
|
/**
|
268
|
-
* Checks if
|
269
|
-
* if intersection of A and B or B and A is not empty.
|
276
|
+
* Checks if another range (`cellRange`) overlaps your range.
|
270
277
|
*
|
271
|
-
*
|
278
|
+
* Range A overlaps range B if the intersection of A and B (or B and A) is not empty.
|
279
|
+
*
|
280
|
+
* @param {CellRange} cellRange A range to check.
|
272
281
|
* @returns {boolean}
|
273
282
|
*/
|
274
|
-
|
275
283
|
}, {
|
276
284
|
key: "overlaps",
|
277
285
|
value: function overlaps(cellRange) {
|
278
286
|
return cellRange.isSouthEastOf(this.getOuterTopLeftCorner()) && cellRange.isNorthWestOf(this.getOuterBottomRightCorner());
|
279
287
|
}
|
288
|
+
|
280
289
|
/**
|
281
|
-
* Checks if
|
290
|
+
* Checks if another range (`cellRange`) is south-east of your range.
|
282
291
|
*
|
283
|
-
* @param {CellRange} cellRange
|
292
|
+
* @param {CellRange} cellRange A range to check.
|
284
293
|
* @returns {boolean}
|
285
294
|
*/
|
286
|
-
|
287
295
|
}, {
|
288
296
|
key: "isSouthEastOf",
|
289
297
|
value: function isSouthEastOf(cellRange) {
|
290
298
|
return this.getOuterTopLeftCorner().isSouthEastOf(cellRange) || this.getOuterBottomRightCorner().isSouthEastOf(cellRange);
|
291
299
|
}
|
300
|
+
|
292
301
|
/**
|
293
|
-
* Checks if
|
302
|
+
* Checks if another range (`cellRange`) is north-west of your range.
|
294
303
|
*
|
295
|
-
* @param {CellRange} cellRange
|
304
|
+
* @param {CellRange} cellRange A range to check.
|
296
305
|
* @returns {boolean}
|
297
306
|
*/
|
298
|
-
|
299
307
|
}, {
|
300
308
|
key: "isNorthWestOf",
|
301
309
|
value: function isNorthWestOf(cellRange) {
|
302
310
|
return this.getOuterTopLeftCorner().isNorthWestOf(cellRange) || this.getOuterBottomRightCorner().isNorthWestOf(cellRange);
|
303
311
|
}
|
312
|
+
|
304
313
|
/**
|
305
|
-
*
|
306
|
-
* column is 5 and the provided range's first column is 3).
|
314
|
+
* Checks if another range (`cellRange`) overlaps your range horizontally.
|
307
315
|
*
|
308
|
-
*
|
316
|
+
* For example: returns `true` if the last column of your range is `5`
|
317
|
+
* and the first column of the `cellRange` range is `3`.
|
318
|
+
*
|
319
|
+
* @param {CellRange} cellRange A range to check.
|
309
320
|
* @returns {boolean}
|
310
321
|
*/
|
311
|
-
|
312
322
|
}, {
|
313
323
|
key: "isOverlappingHorizontally",
|
314
324
|
value: function isOverlappingHorizontally(cellRange) {
|
315
325
|
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;
|
316
326
|
}
|
327
|
+
|
317
328
|
/**
|
318
|
-
*
|
319
|
-
* row is 5 and the provided range's first row is 3).
|
329
|
+
* Checks if another range (`cellRange`) overlaps your range vertically.
|
320
330
|
*
|
321
|
-
*
|
331
|
+
* For example: returns `true` if the last row of your range is `5`
|
332
|
+
* and the first row of the `cellRange` range is `3`.
|
333
|
+
*
|
334
|
+
* @param {CellRange} cellRange A range to check.
|
322
335
|
* @returns {boolean}
|
323
336
|
*/
|
324
|
-
|
325
337
|
}, {
|
326
338
|
key: "isOverlappingVertically",
|
327
339
|
value: function isOverlappingVertically(cellRange) {
|
328
340
|
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;
|
329
341
|
}
|
342
|
+
|
330
343
|
/**
|
331
|
-
* Adds a cell to
|
344
|
+
* Adds a cell to your range, at `cellCoords` coordinates.
|
332
345
|
*
|
333
|
-
*
|
346
|
+
* The `cellCoords` coordinates must exceed a corner of your range.
|
347
|
+
*
|
348
|
+
* @param {CellCoords} cellCoords A new cell's coordinates.
|
334
349
|
* @returns {boolean}
|
335
350
|
*/
|
336
|
-
|
337
351
|
}, {
|
338
352
|
key: "expand",
|
339
353
|
value: function expand(cellCoords) {
|
340
354
|
var topStart = this.getOuterTopStartCorner();
|
341
355
|
var bottomEnd = this.getOuterBottomEndCorner();
|
342
|
-
|
343
356
|
if (cellCoords.row < topStart.row || cellCoords.col < topStart.col || cellCoords.row > bottomEnd.row || cellCoords.col > bottomEnd.col) {
|
344
357
|
this.from = this._createCellCoords(Math.min(topStart.row, cellCoords.row), Math.min(topStart.col, cellCoords.col));
|
345
358
|
this.to = this._createCellCoords(Math.max(bottomEnd.row, cellCoords.row), Math.max(bottomEnd.col, cellCoords.col));
|
346
359
|
return true;
|
347
360
|
}
|
348
|
-
|
349
361
|
return false;
|
350
362
|
}
|
363
|
+
|
351
364
|
/**
|
352
|
-
* Expand
|
365
|
+
* Expand your range with another range (`expandingRange`).
|
353
366
|
*
|
354
|
-
* @param {CellRange} expandingRange
|
367
|
+
* @param {CellRange} expandingRange A new range.
|
355
368
|
* @returns {boolean}
|
356
369
|
*/
|
357
|
-
|
358
370
|
}, {
|
359
371
|
key: "expandByRange",
|
360
372
|
value: function expandByRange(expandingRange) {
|
361
373
|
if (this.includesRange(expandingRange) || !this.overlaps(expandingRange)) {
|
362
374
|
return false;
|
363
375
|
}
|
364
|
-
|
365
376
|
var topStart = this.getOuterTopStartCorner();
|
366
377
|
var bottomEnd = this.getOuterBottomEndCorner();
|
367
378
|
var initialDirection = this.getDirection();
|
@@ -371,31 +382,25 @@ var CellRange = /*#__PURE__*/function () {
|
|
371
382
|
var resultTopCol = Math.min(topStart.col, expandingTopStart.col);
|
372
383
|
var resultBottomRow = Math.max(bottomEnd.row, expandingBottomEnd.row);
|
373
384
|
var resultBottomCol = Math.max(bottomEnd.col, expandingBottomEnd.col);
|
374
|
-
|
375
385
|
var finalFrom = this._createCellCoords(resultTopRow, resultTopCol);
|
376
|
-
|
377
386
|
var finalTo = this._createCellCoords(resultBottomRow, resultBottomCol);
|
378
|
-
|
379
387
|
this.from = finalFrom;
|
380
388
|
this.to = finalTo;
|
381
389
|
this.setDirection(initialDirection);
|
382
|
-
|
383
390
|
if (this.highlight.row === this.getOuterBottomRightCorner().row && this.getVerticalDirection() === 'N-S') {
|
384
391
|
this.flipDirectionVertically();
|
385
392
|
}
|
386
|
-
|
387
393
|
if (this.highlight.col === this.getOuterTopRightCorner().col && this.getHorizontalDirection() === 'W-E') {
|
388
394
|
this.flipDirectionHorizontally();
|
389
395
|
}
|
390
|
-
|
391
396
|
return true;
|
392
397
|
}
|
398
|
+
|
393
399
|
/**
|
394
400
|
* Gets the direction of the selection.
|
395
401
|
*
|
396
402
|
* @returns {string} Returns one of the values: `'NW-SE'`, `'NE-SW'`, `'SE-NW'`, `'SW-NE'`.
|
397
403
|
*/
|
398
|
-
|
399
404
|
}, {
|
400
405
|
key: "getDirection",
|
401
406
|
value: function getDirection() {
|
@@ -413,12 +418,12 @@ var CellRange = /*#__PURE__*/function () {
|
|
413
418
|
return 'SW-NE';
|
414
419
|
}
|
415
420
|
}
|
421
|
+
|
416
422
|
/**
|
417
423
|
* Sets the direction of the selection.
|
418
424
|
*
|
419
425
|
* @param {string} direction One of the values: `'NW-SE'`, `'NE-SW'`, `'SE-NW'`, `'SW-NE'`.
|
420
426
|
*/
|
421
|
-
|
422
427
|
}, {
|
423
428
|
key: "setDirection",
|
424
429
|
value: function setDirection(direction) {
|
@@ -428,363 +433,380 @@ var CellRange = /*#__PURE__*/function () {
|
|
428
433
|
this.from = _ref[0];
|
429
434
|
this.to = _ref[1];
|
430
435
|
break;
|
431
|
-
|
432
436
|
case 'NE-SW':
|
433
437
|
var _ref2 = [this.getOuterTopRightCorner(), this.getOuterBottomLeftCorner()];
|
434
438
|
this.from = _ref2[0];
|
435
439
|
this.to = _ref2[1];
|
436
440
|
break;
|
437
|
-
|
438
441
|
case 'SE-NW':
|
439
442
|
var _ref3 = [this.getOuterBottomRightCorner(), this.getOuterTopLeftCorner()];
|
440
443
|
this.from = _ref3[0];
|
441
444
|
this.to = _ref3[1];
|
442
445
|
break;
|
443
|
-
|
444
446
|
case 'SW-NE':
|
445
447
|
var _ref4 = [this.getOuterBottomLeftCorner(), this.getOuterTopRightCorner()];
|
446
448
|
this.from = _ref4[0];
|
447
449
|
this.to = _ref4[1];
|
448
450
|
break;
|
449
|
-
|
450
451
|
default:
|
451
452
|
break;
|
452
453
|
}
|
453
454
|
}
|
455
|
+
|
454
456
|
/**
|
455
|
-
* Gets the vertical direction of the
|
457
|
+
* Gets the vertical direction of the selection.
|
456
458
|
*
|
457
459
|
* @returns {string} Returns one of the values: `N-S` (north->south), `S-N` (south->north).
|
458
460
|
*/
|
459
|
-
|
460
461
|
}, {
|
461
462
|
key: "getVerticalDirection",
|
462
463
|
value: function getVerticalDirection() {
|
463
464
|
return ['NE-SW', 'NW-SE'].indexOf(this.getDirection()) > -1 ? 'N-S' : 'S-N';
|
464
465
|
}
|
466
|
+
|
465
467
|
/**
|
466
|
-
* Gets the horizontal direction of the
|
468
|
+
* Gets the horizontal direction of the selection.
|
467
469
|
*
|
468
470
|
* @returns {string} Returns one of the values: `W-E` (west->east), `E-W` (east->west).
|
469
471
|
*/
|
470
|
-
|
471
472
|
}, {
|
472
473
|
key: "getHorizontalDirection",
|
473
474
|
value: function getHorizontalDirection() {
|
474
475
|
return ['NW-SE', 'SW-NE'].indexOf(this.getDirection()) > -1 ? 'W-E' : 'E-W';
|
475
476
|
}
|
477
|
+
|
476
478
|
/**
|
477
|
-
*
|
479
|
+
* Flips the direction of your range vertically (e.g., `NW-SE` changes to `SW-NE`).
|
478
480
|
*/
|
479
|
-
|
480
481
|
}, {
|
481
482
|
key: "flipDirectionVertically",
|
482
483
|
value: function flipDirectionVertically() {
|
483
484
|
var direction = this.getDirection();
|
484
|
-
|
485
485
|
switch (direction) {
|
486
486
|
case 'NW-SE':
|
487
487
|
this.setDirection('SW-NE');
|
488
488
|
break;
|
489
|
-
|
490
489
|
case 'NE-SW':
|
491
490
|
this.setDirection('SE-NW');
|
492
491
|
break;
|
493
|
-
|
494
492
|
case 'SE-NW':
|
495
493
|
this.setDirection('NE-SW');
|
496
494
|
break;
|
497
|
-
|
498
495
|
case 'SW-NE':
|
499
496
|
this.setDirection('NW-SE');
|
500
497
|
break;
|
501
|
-
|
502
498
|
default:
|
503
499
|
break;
|
504
500
|
}
|
505
501
|
}
|
502
|
+
|
506
503
|
/**
|
507
|
-
*
|
504
|
+
* Flips the direction of your range horizontally (e.g., `NW-SE` changes to `NE-SW`).
|
508
505
|
*/
|
509
|
-
|
510
506
|
}, {
|
511
507
|
key: "flipDirectionHorizontally",
|
512
508
|
value: function flipDirectionHorizontally() {
|
513
509
|
var direction = this.getDirection();
|
514
|
-
|
515
510
|
switch (direction) {
|
516
511
|
case 'NW-SE':
|
517
512
|
this.setDirection('NE-SW');
|
518
513
|
break;
|
519
|
-
|
520
514
|
case 'NE-SW':
|
521
515
|
this.setDirection('NW-SE');
|
522
516
|
break;
|
523
|
-
|
524
517
|
case 'SE-NW':
|
525
518
|
this.setDirection('SW-NE');
|
526
519
|
break;
|
527
|
-
|
528
520
|
case 'SW-NE':
|
529
521
|
this.setDirection('SE-NW');
|
530
522
|
break;
|
531
|
-
|
532
523
|
default:
|
533
524
|
break;
|
534
525
|
}
|
535
526
|
}
|
527
|
+
|
536
528
|
/**
|
537
|
-
* Gets the top
|
538
|
-
*
|
529
|
+
* Gets the top-left (in LTR) or top-right (in RTL) corner coordinates of your range.
|
530
|
+
*
|
531
|
+
* If the corner contains header coordinates (negative values),
|
532
|
+
* the corner coordinates are normalized to `0`.
|
539
533
|
*
|
540
534
|
* @returns {CellCoords}
|
541
535
|
*/
|
542
|
-
|
543
536
|
}, {
|
544
537
|
key: "getTopStartCorner",
|
545
538
|
value: function getTopStartCorner() {
|
546
539
|
return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.min(this.from.col, this.to.col)).normalize();
|
547
540
|
}
|
541
|
+
|
548
542
|
/**
|
549
|
-
* Gets the top
|
550
|
-
*
|
543
|
+
* Gets the top-left corner coordinates of your range,
|
544
|
+
* both in the LTR and RTL layout direction.
|
545
|
+
*
|
546
|
+
* If the corner contains header coordinates (negative values),
|
547
|
+
* the corner coordinates are normalized to `0`.
|
551
548
|
*
|
552
549
|
* @returns {CellCoords}
|
553
550
|
*/
|
554
|
-
|
555
551
|
}, {
|
556
552
|
key: "getTopLeftCorner",
|
557
553
|
value: function getTopLeftCorner() {
|
558
554
|
return _classPrivateFieldGet(this, _isRtl) ? this.getTopEndCorner() : this.getTopStartCorner();
|
559
555
|
}
|
556
|
+
|
560
557
|
/**
|
561
|
-
* Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of
|
562
|
-
*
|
558
|
+
* Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of your range.
|
559
|
+
*
|
560
|
+
* If the corner contains header coordinates (negative values),
|
561
|
+
* the corner coordinates are normalized to `0`.
|
563
562
|
*
|
564
563
|
* @returns {CellCoords}
|
565
564
|
*/
|
566
|
-
|
567
565
|
}, {
|
568
566
|
key: "getBottomEndCorner",
|
569
567
|
value: function getBottomEndCorner() {
|
570
568
|
return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.max(this.from.col, this.to.col)).normalize();
|
571
569
|
}
|
570
|
+
|
572
571
|
/**
|
573
|
-
* Gets the bottom right corner coordinates of
|
574
|
-
*
|
572
|
+
* Gets the bottom right corner coordinates of your range,
|
573
|
+
* both in the LTR and RTL layout direction.
|
574
|
+
*
|
575
|
+
* If the corner contains header coordinates (negative values),
|
576
|
+
* the corner coordinates are normalized to `0`.
|
575
577
|
*
|
576
578
|
* @returns {CellCoords}
|
577
579
|
*/
|
578
|
-
|
579
580
|
}, {
|
580
581
|
key: "getBottomRightCorner",
|
581
582
|
value: function getBottomRightCorner() {
|
582
583
|
return _classPrivateFieldGet(this, _isRtl) ? this.getBottomStartCorner() : this.getBottomEndCorner();
|
583
584
|
}
|
585
|
+
|
584
586
|
/**
|
585
|
-
* Gets the top right (in LTR) or top left (in RTL) corner coordinates of
|
586
|
-
*
|
587
|
+
* Gets the top right (in LTR) or top left (in RTL) corner coordinates of your range.
|
588
|
+
*
|
589
|
+
* If the corner contains header coordinates (negative values),
|
590
|
+
* the corner coordinates are normalized to `0`.
|
587
591
|
*
|
588
592
|
* @returns {CellCoords}
|
589
593
|
*/
|
590
|
-
|
591
594
|
}, {
|
592
595
|
key: "getTopEndCorner",
|
593
596
|
value: function getTopEndCorner() {
|
594
597
|
return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.max(this.from.col, this.to.col)).normalize();
|
595
598
|
}
|
599
|
+
|
596
600
|
/**
|
597
|
-
* Gets the top right corner coordinates of
|
598
|
-
*
|
601
|
+
* Gets the top right corner coordinates of your range,
|
602
|
+
* both in the LTR and RTL layout direction.
|
603
|
+
*
|
604
|
+
* If the corner contains header coordinates (negative values),
|
605
|
+
* the corner coordinates are normalized to `0`.
|
599
606
|
*
|
600
607
|
* @returns {CellCoords}
|
601
608
|
*/
|
602
|
-
|
603
609
|
}, {
|
604
610
|
key: "getTopRightCorner",
|
605
611
|
value: function getTopRightCorner() {
|
606
612
|
return _classPrivateFieldGet(this, _isRtl) ? this.getTopStartCorner() : this.getTopEndCorner();
|
607
613
|
}
|
614
|
+
|
608
615
|
/**
|
609
|
-
* Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of
|
610
|
-
*
|
616
|
+
* Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of your range.
|
617
|
+
*
|
618
|
+
* If the corner contains header coordinates (negative values),
|
619
|
+
* the corner coordinates are normalized to `0`.
|
611
620
|
*
|
612
621
|
* @returns {CellCoords}
|
613
622
|
*/
|
614
|
-
|
615
623
|
}, {
|
616
624
|
key: "getBottomStartCorner",
|
617
625
|
value: function getBottomStartCorner() {
|
618
626
|
return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.min(this.from.col, this.to.col)).normalize();
|
619
627
|
}
|
628
|
+
|
620
629
|
/**
|
621
|
-
* Gets the bottom left corner coordinates of
|
622
|
-
*
|
630
|
+
* Gets the bottom left corner coordinates of your range,
|
631
|
+
* both in the LTR and RTL layout direction.
|
632
|
+
*
|
633
|
+
* If the corner contains header coordinates (negative values),
|
634
|
+
* the corner coordinates are normalized to `0`.
|
623
635
|
*
|
624
636
|
* @returns {CellCoords}
|
625
637
|
*/
|
626
|
-
|
627
638
|
}, {
|
628
639
|
key: "getBottomLeftCorner",
|
629
640
|
value: function getBottomLeftCorner() {
|
630
641
|
return _classPrivateFieldGet(this, _isRtl) ? this.getBottomEndCorner() : this.getBottomStartCorner();
|
631
642
|
}
|
643
|
+
|
632
644
|
/**
|
633
|
-
* Gets the top left (in LTR) or top right (in RTL) corner coordinates of
|
634
|
-
*
|
645
|
+
* Gets the top left (in LTR) or top right (in RTL) corner coordinates of your range.
|
646
|
+
*
|
647
|
+
* If the corner contains header coordinates (negative values),
|
648
|
+
* the top and start coordinates are pointed to that header.
|
635
649
|
*
|
636
650
|
* @returns {CellCoords}
|
637
651
|
*/
|
638
|
-
|
639
652
|
}, {
|
640
653
|
key: "getOuterTopStartCorner",
|
641
654
|
value: function getOuterTopStartCorner() {
|
642
655
|
return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.min(this.from.col, this.to.col));
|
643
656
|
}
|
657
|
+
|
644
658
|
/**
|
645
|
-
* Gets the top left corner coordinates of
|
646
|
-
*
|
647
|
-
*
|
659
|
+
* Gets the top left corner coordinates of your range,
|
660
|
+
* both in the LTR and RTL layout direction.
|
661
|
+
*
|
662
|
+
* If the corner contains header coordinates (negative values),
|
663
|
+
* the top and left coordinates are pointed to that header.
|
648
664
|
*
|
649
665
|
* @returns {CellCoords}
|
650
666
|
*/
|
651
|
-
|
652
667
|
}, {
|
653
668
|
key: "getOuterTopLeftCorner",
|
654
669
|
value: function getOuterTopLeftCorner() {
|
655
670
|
return _classPrivateFieldGet(this, _isRtl) ? this.getOuterTopEndCorner() : this.getOuterTopStartCorner();
|
656
671
|
}
|
672
|
+
|
657
673
|
/**
|
658
|
-
* Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of
|
659
|
-
*
|
674
|
+
* Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of your range.
|
675
|
+
*
|
676
|
+
* If the corner contains header coordinates (negative values),
|
677
|
+
* the top and start coordinates are pointed to that header.
|
660
678
|
*
|
661
679
|
* @returns {CellCoords}
|
662
680
|
*/
|
663
|
-
|
664
681
|
}, {
|
665
682
|
key: "getOuterBottomEndCorner",
|
666
683
|
value: function getOuterBottomEndCorner() {
|
667
684
|
return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.max(this.from.col, this.to.col));
|
668
685
|
}
|
686
|
+
|
669
687
|
/**
|
670
|
-
* Gets the bottom right corner coordinates of
|
671
|
-
*
|
672
|
-
*
|
688
|
+
* Gets the bottom right corner coordinates of your range,
|
689
|
+
* both in the LTR and RTL layout direction.
|
690
|
+
*
|
691
|
+
* If the corner contains header coordinates (negative values),
|
692
|
+
* the top and left coordinates are pointed to that header.
|
673
693
|
*
|
674
694
|
* @returns {CellCoords}
|
675
695
|
*/
|
676
|
-
|
677
696
|
}, {
|
678
697
|
key: "getOuterBottomRightCorner",
|
679
698
|
value: function getOuterBottomRightCorner() {
|
680
699
|
return _classPrivateFieldGet(this, _isRtl) ? this.getOuterBottomStartCorner() : this.getOuterBottomEndCorner();
|
681
700
|
}
|
701
|
+
|
682
702
|
/**
|
683
|
-
* Gets the top right (in LTR) or top left (in RTL) corner coordinates of
|
684
|
-
*
|
703
|
+
* Gets the top right (in LTR) or top left (in RTL) corner coordinates of your range.
|
704
|
+
*
|
705
|
+
* If the corner contains header coordinates (negative values),
|
706
|
+
* the top and start coordinates are pointed to that header.
|
685
707
|
*
|
686
708
|
* @returns {CellCoords}
|
687
709
|
*/
|
688
|
-
|
689
710
|
}, {
|
690
711
|
key: "getOuterTopEndCorner",
|
691
712
|
value: function getOuterTopEndCorner() {
|
692
713
|
return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.max(this.from.col, this.to.col));
|
693
714
|
}
|
715
|
+
|
694
716
|
/**
|
695
|
-
* Gets the top right corner coordinates of
|
696
|
-
*
|
697
|
-
*
|
717
|
+
* Gets the top right corner coordinates of your range,
|
718
|
+
* both in the LTR and RTL layout direction.
|
719
|
+
*
|
720
|
+
* If the corner contains header coordinates (negative values),
|
721
|
+
* the top and left coordinates are pointed to that header.
|
698
722
|
*
|
699
723
|
* @returns {CellCoords}
|
700
724
|
*/
|
701
|
-
|
702
725
|
}, {
|
703
726
|
key: "getOuterTopRightCorner",
|
704
727
|
value: function getOuterTopRightCorner() {
|
705
728
|
return _classPrivateFieldGet(this, _isRtl) ? this.getOuterTopStartCorner() : this.getOuterTopEndCorner();
|
706
729
|
}
|
730
|
+
|
707
731
|
/**
|
708
|
-
* Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of
|
709
|
-
*
|
732
|
+
* Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of your range.
|
733
|
+
*
|
734
|
+
* If the corner contains header coordinates (negative values),
|
735
|
+
* the top and start coordinates are pointed to that header.
|
710
736
|
*
|
711
737
|
* @returns {CellCoords}
|
712
738
|
*/
|
713
|
-
|
714
739
|
}, {
|
715
740
|
key: "getOuterBottomStartCorner",
|
716
741
|
value: function getOuterBottomStartCorner() {
|
717
742
|
return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.min(this.from.col, this.to.col));
|
718
743
|
}
|
744
|
+
|
719
745
|
/**
|
720
|
-
* Gets the bottom left corner coordinates of
|
721
|
-
*
|
722
|
-
*
|
746
|
+
* Gets the bottom left corner coordinates of your range,
|
747
|
+
* both in the LTR and RTL layout direction.
|
748
|
+
*
|
749
|
+
* If the corner contains header coordinates (negative values),
|
750
|
+
* the top and left coordinates are pointed to that header.
|
723
751
|
*
|
724
752
|
* @returns {CellCoords}
|
725
753
|
*/
|
726
|
-
|
727
754
|
}, {
|
728
755
|
key: "getOuterBottomLeftCorner",
|
729
756
|
value: function getOuterBottomLeftCorner() {
|
730
757
|
return _classPrivateFieldGet(this, _isRtl) ? this.getOuterBottomEndCorner() : this.getOuterBottomStartCorner();
|
731
758
|
}
|
759
|
+
|
732
760
|
/**
|
733
|
-
* Checks if coordinates
|
761
|
+
* Checks if a set of coordinates (`coords`) matches one of the 4 corners of your range.
|
734
762
|
*
|
735
|
-
* @param {CellCoords} coords
|
736
|
-
* @param {CellRange} [expandedRange]
|
763
|
+
* @param {CellCoords} coords Coordinates to check.
|
764
|
+
* @param {CellRange} [expandedRange] A range to compare with.
|
737
765
|
* @returns {boolean}
|
738
766
|
*/
|
739
|
-
|
740
767
|
}, {
|
741
768
|
key: "isCorner",
|
742
769
|
value: function isCorner(coords, expandedRange) {
|
743
770
|
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)))) {
|
744
771
|
return true;
|
745
772
|
}
|
746
|
-
|
747
773
|
return coords.isEqual(this.getOuterTopLeftCorner()) || coords.isEqual(this.getOuterTopRightCorner()) || coords.isEqual(this.getOuterBottomLeftCorner()) || coords.isEqual(this.getOuterBottomRightCorner());
|
748
774
|
}
|
775
|
+
|
749
776
|
/**
|
750
|
-
* Gets coordinates of
|
751
|
-
*
|
777
|
+
* Gets the coordinates of a range corner opposite to the provided `coords`.
|
778
|
+
*
|
779
|
+
* For example: if the `coords` coordinates match the bottom-right corner of your range,
|
780
|
+
* the coordinates of the top-left corner of your range are returned.
|
752
781
|
*
|
753
|
-
* @param {CellCoords} coords
|
754
|
-
* @param {CellRange} [expandedRange]
|
782
|
+
* @param {CellCoords} coords Coordinates to check.
|
783
|
+
* @param {CellRange} [expandedRange] A range to compare with.
|
755
784
|
* @returns {CellCoords}
|
756
785
|
*/
|
757
|
-
|
758
786
|
}, {
|
759
787
|
key: "getOppositeCorner",
|
760
788
|
value: function getOppositeCorner(coords, expandedRange) {
|
761
789
|
if (!(coords instanceof _coords.default)) {
|
762
790
|
return false;
|
763
791
|
}
|
764
|
-
|
765
792
|
if (expandedRange) {
|
766
793
|
var from = expandedRange.from,
|
767
|
-
|
768
|
-
|
794
|
+
to = expandedRange.to;
|
769
795
|
if (expandedRange.includes(coords)) {
|
770
796
|
if (this.getOuterTopStartCorner().isEqual(this._createCellCoords(from.row, from.col))) {
|
771
797
|
return this.getOuterBottomEndCorner();
|
772
798
|
}
|
773
|
-
|
774
799
|
if (this.getOuterTopEndCorner().isEqual(this._createCellCoords(from.row, to.col))) {
|
775
800
|
return this.getOuterBottomStartCorner();
|
776
801
|
}
|
777
|
-
|
778
802
|
if (this.getOuterBottomStartCorner().isEqual(this._createCellCoords(to.row, from.col))) {
|
779
803
|
return this.getOuterTopEndCorner();
|
780
804
|
}
|
781
|
-
|
782
805
|
if (this.getOuterBottomEndCorner().isEqual(this._createCellCoords(to.row, to.col))) {
|
783
806
|
return this.getOuterTopStartCorner();
|
784
807
|
}
|
785
808
|
}
|
786
809
|
}
|
787
|
-
|
788
810
|
if (coords.isEqual(this.getOuterBottomEndCorner())) {
|
789
811
|
return this.getOuterTopStartCorner();
|
790
812
|
} else if (coords.isEqual(this.getOuterTopStartCorner())) {
|
@@ -795,18 +817,20 @@ var CellRange = /*#__PURE__*/function () {
|
|
795
817
|
return this.getOuterTopEndCorner();
|
796
818
|
}
|
797
819
|
}
|
820
|
+
|
798
821
|
/**
|
799
|
-
*
|
800
|
-
*
|
822
|
+
* Indicates which borders (top, right, bottom, left) are shared between
|
823
|
+
* your `CellRange`instance and another `range` that's within your range.
|
824
|
+
*
|
825
|
+
* @param {CellRange} range A range to compare with.
|
826
|
+
* @returns {Array<'top' | 'right' | 'bottom' | 'left'>}
|
801
827
|
*/
|
802
|
-
|
803
828
|
}, {
|
804
829
|
key: "getBordersSharedWith",
|
805
830
|
value: function getBordersSharedWith(range) {
|
806
831
|
if (!this.includesRange(range)) {
|
807
832
|
return [];
|
808
833
|
}
|
809
|
-
|
810
834
|
var thisBorders = {
|
811
835
|
top: Math.min(this.from.row, this.to.row),
|
812
836
|
bottom: Math.max(this.from.row, this.to.row),
|
@@ -820,38 +844,32 @@ var CellRange = /*#__PURE__*/function () {
|
|
820
844
|
right: Math.max(range.from.col, range.to.col)
|
821
845
|
};
|
822
846
|
var result = [];
|
823
|
-
|
824
847
|
if (thisBorders.top === rangeBorders.top) {
|
825
848
|
result.push('top');
|
826
849
|
}
|
827
|
-
|
828
850
|
if (thisBorders.right === rangeBorders.right) {
|
829
851
|
result.push('right');
|
830
852
|
}
|
831
|
-
|
832
853
|
if (thisBorders.bottom === rangeBorders.bottom) {
|
833
854
|
result.push('bottom');
|
834
855
|
}
|
835
|
-
|
836
856
|
if (thisBorders.left === rangeBorders.left) {
|
837
857
|
result.push('left');
|
838
858
|
}
|
839
|
-
|
840
859
|
return result;
|
841
860
|
}
|
861
|
+
|
842
862
|
/**
|
843
|
-
*
|
863
|
+
* Gets the coordinates of the inner cells of your range.
|
844
864
|
*
|
845
|
-
* @returns {
|
865
|
+
* @returns {CellCoords[]}
|
846
866
|
*/
|
847
|
-
|
848
867
|
}, {
|
849
868
|
key: "getInner",
|
850
869
|
value: function getInner() {
|
851
870
|
var topStart = this.getOuterTopStartCorner();
|
852
871
|
var bottomEnd = this.getOuterBottomEndCorner();
|
853
872
|
var out = [];
|
854
|
-
|
855
873
|
for (var r = topStart.row; r <= bottomEnd.row; r++) {
|
856
874
|
for (var c = topStart.col; c <= bottomEnd.col; c++) {
|
857
875
|
if (!(this.from.row === r && this.from.col === c) && !(this.to.row === r && this.to.col === c)) {
|
@@ -859,22 +877,20 @@ var CellRange = /*#__PURE__*/function () {
|
|
859
877
|
}
|
860
878
|
}
|
861
879
|
}
|
862
|
-
|
863
880
|
return out;
|
864
881
|
}
|
882
|
+
|
865
883
|
/**
|
866
|
-
*
|
884
|
+
* Gets the coordinates of all cells of your range.
|
867
885
|
*
|
868
|
-
* @returns {
|
886
|
+
* @returns {CellCoords[]}
|
869
887
|
*/
|
870
|
-
|
871
888
|
}, {
|
872
889
|
key: "getAll",
|
873
890
|
value: function getAll() {
|
874
891
|
var topStart = this.getOuterTopStartCorner();
|
875
892
|
var bottomEnd = this.getOuterBottomEndCorner();
|
876
893
|
var out = [];
|
877
|
-
|
878
894
|
for (var r = topStart.row; r <= bottomEnd.row; r++) {
|
879
895
|
for (var c = topStart.col; c <= bottomEnd.col; c++) {
|
880
896
|
if (topStart.row === r && topStart.col === c) {
|
@@ -886,50 +902,54 @@ var CellRange = /*#__PURE__*/function () {
|
|
886
902
|
}
|
887
903
|
}
|
888
904
|
}
|
889
|
-
|
890
905
|
return out;
|
891
906
|
}
|
907
|
+
|
892
908
|
/**
|
893
|
-
* Runs a callback function
|
894
|
-
*
|
909
|
+
* Runs a callback function on all cells within your range.
|
910
|
+
*
|
911
|
+
* You can break the iteration by returning `false` in the callback function.
|
895
912
|
*
|
896
|
-
* @param {
|
913
|
+
* @param {function(number, number): boolean} callback A callback function.
|
897
914
|
*/
|
898
|
-
|
899
915
|
}, {
|
900
916
|
key: "forAll",
|
901
917
|
value: function forAll(callback) {
|
902
918
|
var topStart = this.getOuterTopStartCorner();
|
903
919
|
var bottomEnd = this.getOuterBottomEndCorner();
|
904
|
-
|
905
920
|
for (var r = topStart.row; r <= bottomEnd.row; r++) {
|
906
921
|
for (var c = topStart.col; c <= bottomEnd.col; c++) {
|
907
922
|
var breakIteration = callback(r, c);
|
908
|
-
|
909
923
|
if (breakIteration === false) {
|
910
924
|
return;
|
911
925
|
}
|
912
926
|
}
|
913
927
|
}
|
914
928
|
}
|
929
|
+
|
915
930
|
/**
|
916
|
-
* Clones
|
931
|
+
* Clones your `CellRange` instance.
|
917
932
|
*
|
918
933
|
* @returns {CellRange}
|
919
934
|
*/
|
920
|
-
|
921
935
|
}, {
|
922
936
|
key: "clone",
|
923
937
|
value: function clone() {
|
924
938
|
return new CellRange(this.highlight, this.from, this.to, _classPrivateFieldGet(this, _isRtl));
|
925
939
|
}
|
940
|
+
|
926
941
|
/**
|
927
|
-
*
|
942
|
+
* Converts your `CellRange` instance into an object literal with the following properties:
|
943
|
+
*
|
944
|
+
* - `from`
|
945
|
+
* - `row`
|
946
|
+
* - `col`
|
947
|
+
* - `to`
|
948
|
+
* - `row`
|
949
|
+
* - `col`
|
928
950
|
*
|
929
|
-
* @returns {
|
930
|
-
* contains `row` and `col` keys.
|
951
|
+
* @returns {{from: {row: number, col: number}, to: {row: number, col: number}}} An object literal with `from` and `to` properties.
|
931
952
|
*/
|
932
|
-
|
933
953
|
}, {
|
934
954
|
key: "toObject",
|
935
955
|
value: function toObject() {
|
@@ -938,25 +958,25 @@ var CellRange = /*#__PURE__*/function () {
|
|
938
958
|
to: this.to.toObject()
|
939
959
|
};
|
940
960
|
}
|
961
|
+
|
941
962
|
/**
|
942
|
-
* Creates and returns a new instance of the CellCoords
|
943
|
-
*
|
963
|
+
* Creates and returns a new instance of the `CellCoords` class.
|
964
|
+
*
|
965
|
+
* The new `CellCoords` instance automatically inherits the LTR/RTL flag
|
966
|
+
* from your `CellRange` instance.
|
944
967
|
*
|
945
968
|
* @private
|
946
|
-
* @param {number} row
|
947
|
-
* @param {number} column
|
969
|
+
* @param {number} row A row index.
|
970
|
+
* @param {number} column A column index.
|
948
971
|
* @returns {CellCoords}
|
949
972
|
*/
|
950
|
-
|
951
973
|
}, {
|
952
974
|
key: "_createCellCoords",
|
953
975
|
value: function _createCellCoords(row, column) {
|
954
976
|
return new _coords.default(row, column, _classPrivateFieldGet(this, _isRtl));
|
955
977
|
}
|
956
978
|
}]);
|
957
|
-
|
958
979
|
return CellRange;
|
959
980
|
}();
|
960
|
-
|
961
981
|
var _default = CellRange;
|
962
982
|
exports.default = _default;
|