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