handsontable 12.1.2 → 12.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/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 +72 -174
- package/3rdparty/walkontable/src/border.mjs +74 -161
- 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 +26 -76
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +26 -69
- package/3rdparty/walkontable/src/calculator/viewportRows.js +20 -48
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +20 -41
- package/3rdparty/walkontable/src/cell/coords.js +13 -43
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -38
- package/3rdparty/walkontable/src/cell/range.js +55 -130
- package/3rdparty/walkontable/src/cell/range.mjs +60 -126
- package/3rdparty/walkontable/src/core/_base.js +16 -74
- package/3rdparty/walkontable/src/core/_base.mjs +19 -70
- package/3rdparty/walkontable/src/core/clone.js +1 -40
- package/3rdparty/walkontable/src/core/clone.mjs +3 -30
- package/3rdparty/walkontable/src/core/core.js +3 -57
- package/3rdparty/walkontable/src/core/core.mjs +5 -41
- package/3rdparty/walkontable/src/event.js +31 -78
- package/3rdparty/walkontable/src/event.mjs +31 -65
- package/3rdparty/walkontable/src/facade/core.js +1 -17
- package/3rdparty/walkontable/src/facade/core.mjs +7 -20
- package/3rdparty/walkontable/src/filter/column.js +9 -18
- package/3rdparty/walkontable/src/filter/column.mjs +9 -17
- package/3rdparty/walkontable/src/filter/row.js +9 -18
- package/3rdparty/walkontable/src/filter/row.mjs +9 -17
- package/3rdparty/walkontable/src/index.js +0 -31
- package/3rdparty/walkontable/src/overlay/_base.js +24 -69
- package/3rdparty/walkontable/src/overlay/_base.mjs +31 -68
- package/3rdparty/walkontable/src/overlay/bottom.js +28 -99
- package/3rdparty/walkontable/src/overlay/bottom.mjs +30 -86
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +7 -53
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +9 -40
- 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 +21 -91
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +23 -78
- package/3rdparty/walkontable/src/overlay/top.js +27 -100
- package/3rdparty/walkontable/src/overlay/top.mjs +29 -87
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +4 -51
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +6 -38
- package/3rdparty/walkontable/src/overlays.js +58 -129
- package/3rdparty/walkontable/src/overlays.mjs +60 -121
- package/3rdparty/walkontable/src/renderer/_base.js +4 -20
- package/3rdparty/walkontable/src/renderer/_base.mjs +8 -22
- package/3rdparty/walkontable/src/renderer/cells.js +10 -54
- package/3rdparty/walkontable/src/renderer/cells.mjs +22 -52
- package/3rdparty/walkontable/src/renderer/colGroup.js +10 -47
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +21 -46
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +19 -49
- package/3rdparty/walkontable/src/renderer/index.js +13 -36
- package/3rdparty/walkontable/src/renderer/index.mjs +17 -27
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +20 -49
- package/3rdparty/walkontable/src/renderer/rows.js +3 -46
- package/3rdparty/walkontable/src/renderer/rows.mjs +3 -29
- package/3rdparty/walkontable/src/renderer/table.js +22 -49
- package/3rdparty/walkontable/src/renderer/table.mjs +22 -48
- package/3rdparty/walkontable/src/scroll.js +56 -86
- package/3rdparty/walkontable/src/scroll.mjs +58 -86
- package/3rdparty/walkontable/src/selection.js +20 -101
- package/3rdparty/walkontable/src/selection.mjs +22 -85
- package/3rdparty/walkontable/src/settings.js +9 -29
- package/3rdparty/walkontable/src/settings.mjs +9 -27
- package/3rdparty/walkontable/src/table/bottom.js +1 -35
- package/3rdparty/walkontable/src/table/bottom.mjs +6 -25
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table/inlineStart.js +1 -35
- package/3rdparty/walkontable/src/table/inlineStart.mjs +3 -22
- package/3rdparty/walkontable/src/table/master.js +10 -55
- package/3rdparty/walkontable/src/table/master.mjs +15 -44
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +7 -20
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +7 -23
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +7 -21
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +7 -20
- package/3rdparty/walkontable/src/table/top.js +1 -35
- package/3rdparty/walkontable/src/table/top.mjs +6 -25
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table.js +74 -238
- package/3rdparty/walkontable/src/table.mjs +84 -227
- package/3rdparty/walkontable/src/types.js +0 -5
- package/3rdparty/walkontable/src/types.mjs +0 -5
- package/3rdparty/walkontable/src/utils/column.js +9 -31
- package/3rdparty/walkontable/src/utils/column.mjs +13 -30
- package/3rdparty/walkontable/src/utils/nodesPool.js +3 -12
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +3 -11
- 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 +2 -33
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +6 -26
- package/3rdparty/walkontable/src/utils/orderView/view.js +14 -46
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +21 -50
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +3 -15
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +3 -14
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +8 -22
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +23 -34
- package/3rdparty/walkontable/src/utils/row.js +2 -13
- package/3rdparty/walkontable/src/utils/row.mjs +2 -12
- package/3rdparty/walkontable/src/viewport.js +38 -100
- package/3rdparty/walkontable/src/viewport.mjs +40 -99
- package/CHANGELOG.md +103 -5
- package/base.js +6 -17
- package/base.mjs +6 -12
- 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 +3 -5
- 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 -4
- package/core.js +514 -974
- package/core.mjs +519 -921
- package/dataMap/dataMap.js +127 -212
- package/dataMap/dataMap.mjs +127 -188
- package/{dataSource.js → dataMap/dataSource.js} +18 -66
- package/{dataSource.mjs → dataMap/dataSource.mjs} +20 -60
- package/dataMap/index.js +0 -13
- package/dataMap/metaManager/index.js +21 -46
- package/dataMap/metaManager/index.mjs +47 -64
- package/dataMap/metaManager/lazyFactoryMap.js +23 -55
- package/dataMap/metaManager/lazyFactoryMap.mjs +23 -43
- package/dataMap/metaManager/metaLayers/cellMeta.js +16 -52
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +16 -37
- package/dataMap/metaManager/metaLayers/columnMeta.js +8 -22
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +14 -25
- package/dataMap/metaManager/metaLayers/globalMeta.js +4 -19
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.js +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +28 -37
- package/dataMap/metaManager/metaSchema.js +196 -257
- package/dataMap/metaManager/metaSchema.mjs +196 -248
- package/dataMap/metaManager/mods/dynamicCellMeta.js +6 -36
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +20 -39
- package/dataMap/metaManager/mods/extendMetaProperties.js +5 -28
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +4 -18
- package/dataMap/metaManager/utils.js +11 -20
- package/dataMap/metaManager/utils.mjs +21 -23
- package/dataMap/replaceData.js +14 -35
- package/dataMap/replaceData.mjs +35 -45
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +64469 -93042
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +527 -284
- package/dist/handsontable.js +9616 -21414
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +0 -175
- package/dist/languages/ar-AR.js +0 -10
- package/dist/languages/cs-CZ.js +0 -10
- package/dist/languages/de-CH.js +0 -10
- package/dist/languages/de-DE.js +0 -10
- package/dist/languages/en-US.js +0 -10
- package/dist/languages/es-MX.js +0 -10
- package/dist/languages/fr-FR.js +0 -10
- package/dist/languages/it-IT.js +0 -10
- package/dist/languages/ja-JP.js +0 -10
- package/dist/languages/ko-KR.js +0 -10
- package/dist/languages/lv-LV.js +0 -10
- package/dist/languages/nb-NO.js +0 -10
- package/dist/languages/nl-NL.js +0 -10
- package/dist/languages/pl-PL.js +0 -10
- package/dist/languages/pt-BR.js +0 -10
- package/dist/languages/ru-RU.js +0 -10
- package/dist/languages/sr-SP.js +0 -10
- package/dist/languages/zh-CN.js +0 -10
- package/dist/languages/zh-TW.js +0 -10
- package/editorManager.js +89 -124
- package/editorManager.mjs +89 -104
- package/editors/autocompleteEditor/autocompleteEditor.js +26 -133
- package/editors/autocompleteEditor/autocompleteEditor.mjs +26 -104
- package/editors/autocompleteEditor/index.js +0 -2
- package/editors/baseEditor/baseEditor.js +45 -155
- package/editors/baseEditor/baseEditor.mjs +45 -129
- package/editors/baseEditor/index.js +0 -2
- package/editors/checkboxEditor/checkboxEditor.js +2 -33
- package/editors/checkboxEditor/checkboxEditor.mjs +2 -19
- package/editors/checkboxEditor/index.js +0 -2
- package/editors/dateEditor/dateEditor.js +36 -97
- package/editors/dateEditor/dateEditor.mjs +35 -74
- package/editors/dateEditor/index.js +0 -2
- package/editors/dropdownEditor/dropdownEditor.js +1 -41
- package/editors/dropdownEditor/dropdownEditor.mjs +1 -22
- package/editors/dropdownEditor/index.js +0 -2
- package/editors/handsontableEditor/handsontableEditor.js +13 -85
- package/editors/handsontableEditor/handsontableEditor.mjs +13 -66
- package/editors/handsontableEditor/index.js +0 -2
- package/editors/index.js +0 -25
- package/editors/index.mjs +3 -5
- package/editors/numericEditor/index.js +0 -2
- package/editors/numericEditor/numericEditor.js +1 -31
- package/editors/numericEditor/numericEditor.mjs +1 -18
- package/editors/passwordEditor/index.js +0 -2
- package/editors/passwordEditor/passwordEditor.js +1 -38
- package/editors/passwordEditor/passwordEditor.mjs +1 -22
- package/editors/registry.js +10 -36
- package/editors/registry.mjs +10 -28
- package/editors/selectEditor/index.js +0 -2
- package/editors/selectEditor/selectEditor.js +21 -73
- package/editors/selectEditor/selectEditor.mjs +21 -56
- package/editors/textEditor/caretPositioner.js +0 -12
- package/editors/textEditor/caretPositioner.mjs +10 -20
- package/editors/textEditor/index.js +0 -2
- package/editors/textEditor/textEditor.js +38 -137
- package/editors/textEditor/textEditor.mjs +38 -106
- package/editors/timeEditor/index.js +0 -2
- package/editors/timeEditor/timeEditor.js +1 -36
- package/editors/timeEditor/timeEditor.mjs +1 -21
- package/eventManager.js +20 -56
- package/eventManager.mjs +23 -56
- 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 +8 -16
- package/helpers/data.d.ts +0 -1
- package/helpers/data.js +10 -55
- package/helpers/data.mjs +10 -33
- package/helpers/date.js +2 -3
- package/helpers/date.mjs +2 -2
- package/helpers/dom/element.js +67 -259
- package/helpers/dom/element.mjs +74 -194
- package/helpers/dom/event.js +3 -7
- package/helpers/dom/event.mjs +3 -3
- package/helpers/feature.js +13 -47
- package/helpers/feature.mjs +13 -31
- package/helpers/function.js +14 -59
- package/helpers/function.mjs +20 -52
- package/helpers/mixed.js +9 -66
- package/helpers/mixed.mjs +15 -51
- package/helpers/number.js +4 -46
- package/helpers/number.mjs +4 -23
- package/helpers/object.js +15 -72
- package/helpers/object.mjs +21 -52
- package/helpers/string.js +6 -28
- package/helpers/string.mjs +12 -21
- package/helpers/templateLiteralTag.js +0 -6
- package/helpers/templateLiteralTag.mjs +7 -10
- package/helpers/unicode.js +17 -26
- package/helpers/unicode.mjs +17 -15
- package/helpers/wrappers/jquery.js +4 -14
- package/helpers/wrappers/jquery.mjs +4 -13
- package/i18n/constants.js +1 -3
- package/i18n/constants.mjs +1 -1
- package/i18n/index.js +0 -7
- package/i18n/languages/ar-AR.js +0 -16
- package/i18n/languages/ar-AR.mjs +1 -4
- package/i18n/languages/cs-CZ.js +0 -16
- package/i18n/languages/cs-CZ.mjs +1 -4
- package/i18n/languages/de-CH.js +0 -16
- package/i18n/languages/de-CH.mjs +1 -4
- package/i18n/languages/de-DE.js +0 -16
- package/i18n/languages/de-DE.mjs +1 -4
- package/i18n/languages/en-US.js +0 -16
- package/i18n/languages/en-US.mjs +1 -4
- package/i18n/languages/es-MX.js +0 -16
- package/i18n/languages/es-MX.mjs +1 -4
- package/i18n/languages/fr-FR.js +0 -16
- package/i18n/languages/fr-FR.mjs +1 -4
- package/i18n/languages/index.js +0 -39
- package/i18n/languages/it-IT.js +0 -16
- package/i18n/languages/it-IT.mjs +1 -4
- package/i18n/languages/ja-JP.js +0 -16
- package/i18n/languages/ja-JP.mjs +1 -4
- package/i18n/languages/ko-KR.js +0 -16
- package/i18n/languages/ko-KR.mjs +1 -4
- package/i18n/languages/lv-LV.js +0 -16
- package/i18n/languages/lv-LV.mjs +1 -4
- package/i18n/languages/nb-NO.js +0 -16
- package/i18n/languages/nb-NO.mjs +1 -4
- package/i18n/languages/nl-NL.js +0 -16
- package/i18n/languages/nl-NL.mjs +1 -4
- package/i18n/languages/pl-PL.js +0 -16
- package/i18n/languages/pl-PL.mjs +1 -4
- package/i18n/languages/pt-BR.js +0 -16
- package/i18n/languages/pt-BR.mjs +1 -4
- package/i18n/languages/ru-RU.js +0 -16
- package/i18n/languages/ru-RU.mjs +1 -4
- package/i18n/languages/sr-SP.js +0 -16
- package/i18n/languages/sr-SP.mjs +1 -4
- package/i18n/languages/zh-CN.js +0 -16
- package/i18n/languages/zh-CN.mjs +1 -4
- package/i18n/languages/zh-TW.js +0 -16
- package/i18n/languages/zh-TW.mjs +1 -4
- 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 +8 -11
- package/i18n/registry.js +18 -59
- package/i18n/registry.mjs +18 -30
- package/i18n/utils.js +4 -22
- package/i18n/utils.mjs +13 -21
- package/index.js +19 -56
- package/index.mjs +19 -15
- package/languages/all.js +0 -175
- package/languages/ar-AR.js +0 -10
- package/languages/ar-AR.mjs +1 -4
- package/languages/cs-CZ.js +0 -10
- package/languages/cs-CZ.mjs +1 -4
- package/languages/de-CH.js +0 -10
- package/languages/de-CH.mjs +1 -4
- package/languages/de-DE.js +0 -10
- package/languages/de-DE.mjs +1 -4
- package/languages/en-US.js +0 -10
- package/languages/en-US.mjs +1 -4
- package/languages/es-MX.js +0 -10
- package/languages/es-MX.mjs +1 -4
- package/languages/fr-FR.js +0 -10
- package/languages/fr-FR.mjs +1 -4
- package/languages/index.js +0 -175
- package/languages/it-IT.js +0 -10
- package/languages/it-IT.mjs +1 -4
- package/languages/ja-JP.js +0 -10
- package/languages/ja-JP.mjs +1 -4
- package/languages/ko-KR.js +0 -10
- package/languages/ko-KR.mjs +1 -4
- package/languages/lv-LV.js +0 -10
- package/languages/lv-LV.mjs +1 -4
- package/languages/nb-NO.js +0 -10
- package/languages/nb-NO.mjs +1 -4
- package/languages/nl-NL.js +0 -10
- package/languages/nl-NL.mjs +1 -4
- package/languages/pl-PL.js +0 -10
- package/languages/pl-PL.mjs +1 -4
- package/languages/pt-BR.js +0 -10
- package/languages/pt-BR.mjs +1 -4
- package/languages/ru-RU.js +0 -10
- package/languages/ru-RU.mjs +1 -4
- package/languages/sr-SP.js +0 -10
- package/languages/sr-SP.mjs +1 -4
- package/languages/zh-CN.js +0 -10
- package/languages/zh-CN.mjs +1 -4
- package/languages/zh-TW.js +0 -10
- package/languages/zh-TW.mjs +1 -4
- package/mixins/hooksRefRegisterer.js +4 -18
- package/mixins/hooksRefRegisterer.mjs +4 -15
- package/mixins/localHooks.js +7 -17
- package/mixins/localHooks.mjs +7 -14
- package/package.json +1 -1
- package/pluginHooks.d.ts +3 -4
- package/pluginHooks.js +288 -110
- package/pluginHooks.mjs +287 -97
- package/plugins/autoColumnSize/autoColumnSize.js +74 -172
- package/plugins/autoColumnSize/autoColumnSize.mjs +74 -137
- package/plugins/autoColumnSize/index.js +0 -2
- package/plugins/autoRowSize/autoRowSize.js +73 -153
- package/plugins/autoRowSize/autoRowSize.mjs +73 -124
- package/plugins/autoRowSize/index.js +0 -2
- package/plugins/autofill/autofill.js +46 -163
- package/plugins/autofill/autofill.mjs +46 -131
- 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 +21 -92
- package/plugins/base/base.mjs +21 -63
- package/plugins/base/index.js +0 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +19 -52
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +19 -33
- package/plugins/bindRowsWithHeaders/index.js +0 -2
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +5 -41
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +5 -29
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -53
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +6 -37
- package/plugins/collapsibleColumns/collapsibleColumns.js +96 -188
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +97 -158
- package/plugins/collapsibleColumns/index.js +0 -2
- package/plugins/columnSorting/columnSorting.js +50 -188
- package/plugins/columnSorting/columnSorting.mjs +50 -143
- package/plugins/columnSorting/columnStatesManager.js +15 -71
- package/plugins/columnSorting/columnStatesManager.mjs +15 -48
- 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 +12 -21
- package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
- package/plugins/columnSorting/sortFunction/checkbox.mjs +16 -21
- package/plugins/columnSorting/sortFunction/date.js +2 -19
- package/plugins/columnSorting/sortFunction/date.mjs +10 -23
- package/plugins/columnSorting/sortFunction/default.js +2 -17
- package/plugins/columnSorting/sortFunction/default.mjs +10 -23
- package/plugins/columnSorting/sortFunction/numeric.js +2 -11
- package/plugins/columnSorting/sortFunction/numeric.mjs +10 -17
- package/plugins/columnSorting/sortService/engine.js +3 -13
- package/plugins/columnSorting/sortService/engine.mjs +3 -5
- 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 +66 -126
- package/plugins/columnSummary/columnSummary.mjs +66 -101
- package/plugins/columnSummary/endpoints.js +21 -98
- package/plugins/columnSummary/endpoints.mjs +26 -99
- package/plugins/columnSummary/index.js +0 -2
- package/plugins/columnSummary/utils.js +13 -0
- package/plugins/columnSummary/utils.mjs +9 -0
- package/plugins/comments/commentEditor.js +16 -28
- package/plugins/comments/commentEditor.mjs +21 -32
- package/plugins/comments/comments.js +92 -175
- package/plugins/comments/comments.mjs +92 -149
- package/plugins/comments/displaySwitch.js +6 -23
- package/plugins/comments/displaySwitch.mjs +6 -18
- package/plugins/comments/index.js +0 -2
- package/plugins/contextMenu/commandExecutor.js +9 -40
- package/plugins/contextMenu/commandExecutor.mjs +14 -41
- package/plugins/contextMenu/contextMenu.js +26 -105
- package/plugins/contextMenu/contextMenu.mjs +26 -75
- package/plugins/contextMenu/cursor.js +6 -20
- package/plugins/contextMenu/cursor.mjs +11 -24
- package/plugins/contextMenu/index.js +0 -2
- package/plugins/contextMenu/itemsFactory.js +14 -43
- package/plugins/contextMenu/itemsFactory.mjs +19 -44
- package/plugins/contextMenu/menu.js +61 -177
- package/plugins/contextMenu/menu.mjs +61 -149
- 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 +3 -38
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -18
- package/plugins/contextMenu/predefinedItems/removeRow.js +3 -37
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -17
- 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 +2 -48
- package/plugins/contextMenu/predefinedItems.mjs +2 -7
- package/plugins/contextMenu/utils.js +17 -57
- package/plugins/contextMenu/utils.mjs +21 -39
- package/plugins/copyPaste/clipboardData.js +1 -10
- package/plugins/copyPaste/clipboardData.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copy.js +2 -17
- package/plugins/copyPaste/contextMenuItem/copy.mjs +6 -9
- package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
- package/plugins/copyPaste/contextMenuItem/cut.mjs +6 -9
- package/plugins/copyPaste/copyPaste.js +53 -185
- package/plugins/copyPaste/copyPaste.mjs +53 -144
- package/plugins/copyPaste/focusableElement.js +12 -56
- package/plugins/copyPaste/focusableElement.mjs +15 -49
- package/plugins/copyPaste/index.js +0 -2
- package/plugins/copyPaste/pasteEvent.js +1 -10
- package/plugins/copyPaste/pasteEvent.mjs +3 -10
- package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
- package/plugins/customBorders/contextMenuItem/bottom.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/index.js +0 -11
- package/plugins/customBorders/contextMenuItem/left.js +0 -17
- package/plugins/customBorders/contextMenuItem/left.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
- package/plugins/customBorders/contextMenuItem/noBorders.mjs +4 -6
- package/plugins/customBorders/contextMenuItem/right.js +0 -17
- package/plugins/customBorders/contextMenuItem/right.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/top.js +0 -17
- package/plugins/customBorders/contextMenuItem/top.mjs +4 -8
- package/plugins/customBorders/customBorders.js +52 -181
- package/plugins/customBorders/customBorders.mjs +52 -147
- package/plugins/customBorders/index.js +0 -2
- package/plugins/customBorders/utils.js +13 -52
- package/plugins/customBorders/utils.mjs +20 -39
- package/plugins/dragToScroll/dragToScroll.js +17 -74
- package/plugins/dragToScroll/dragToScroll.mjs +17 -55
- package/plugins/dragToScroll/index.js +0 -2
- package/plugins/dropdownMenu/dropdownMenu.js +47 -126
- package/plugins/dropdownMenu/dropdownMenu.mjs +47 -95
- package/plugins/dropdownMenu/index.js +0 -2
- package/plugins/exportFile/dataProvider.js +24 -69
- package/plugins/exportFile/dataProvider.mjs +26 -60
- package/plugins/exportFile/exportFile.js +48 -58
- package/plugins/exportFile/exportFile.mjs +48 -36
- package/plugins/exportFile/index.js +0 -2
- package/plugins/exportFile/typeFactory.js +1 -11
- package/plugins/exportFile/typeFactory.mjs +1 -4
- package/plugins/exportFile/types/_base.js +2 -16
- package/plugins/exportFile/types/_base.mjs +4 -16
- package/plugins/exportFile/types/csv.js +2 -50
- package/plugins/exportFile/types/csv.mjs +2 -29
- package/plugins/filters/component/_base.js +12 -32
- package/plugins/filters/component/_base.mjs +15 -30
- package/plugins/filters/component/actionBar.js +6 -55
- package/plugins/filters/component/actionBar.mjs +9 -38
- package/plugins/filters/component/condition.js +25 -122
- package/plugins/filters/component/condition.mjs +24 -88
- package/plugins/filters/component/operators.js +10 -68
- package/plugins/filters/component/operators.mjs +10 -45
- package/plugins/filters/component/value.js +25 -99
- package/plugins/filters/component/value.mjs +28 -72
- package/plugins/filters/condition/beginsWith.js +2 -32
- package/plugins/filters/condition/beginsWith.mjs +2 -10
- package/plugins/filters/condition/between.js +3 -37
- package/plugins/filters/condition/between.mjs +3 -15
- package/plugins/filters/condition/byValue.js +3 -27
- package/plugins/filters/condition/byValue.mjs +3 -12
- package/plugins/filters/condition/contains.js +2 -32
- package/plugins/filters/condition/contains.mjs +2 -10
- package/plugins/filters/condition/date/after.js +2 -34
- package/plugins/filters/condition/date/after.mjs +2 -12
- package/plugins/filters/condition/date/before.js +2 -34
- package/plugins/filters/condition/date/before.mjs +2 -12
- 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 +2 -32
- package/plugins/filters/condition/endsWith.mjs +2 -10
- package/plugins/filters/condition/equal.js +2 -31
- package/plugins/filters/condition/equal.mjs +2 -10
- package/plugins/filters/condition/false.js +1 -5
- package/plugins/filters/condition/false.mjs +1 -1
- package/plugins/filters/condition/greaterThan.js +2 -32
- package/plugins/filters/condition/greaterThan.mjs +2 -12
- package/plugins/filters/condition/greaterThanOrEqual.js +2 -32
- package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/lessThan.js +2 -32
- package/plugins/filters/condition/lessThan.mjs +2 -12
- package/plugins/filters/condition/lessThanOrEqual.js +2 -32
- package/plugins/filters/condition/lessThanOrEqual.mjs +2 -12
- 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 +21 -80
- package/plugins/filters/conditionCollection.mjs +21 -57
- package/plugins/filters/conditionRegisterer.js +5 -14
- package/plugins/filters/conditionRegisterer.mjs +5 -9
- package/plugins/filters/conditionUpdateObserver.js +17 -57
- package/plugins/filters/conditionUpdateObserver.mjs +25 -53
- package/plugins/filters/constants.js +1 -66
- package/plugins/filters/constants.mjs +1 -8
- package/plugins/filters/dataFilter.js +4 -21
- package/plugins/filters/dataFilter.mjs +7 -23
- package/plugins/filters/filters.d.ts +1 -1
- package/plugins/filters/filters.js +147 -272
- package/plugins/filters/filters.mjs +148 -228
- 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 +12 -55
- package/plugins/filters/ui/_base.mjs +12 -35
- package/plugins/filters/ui/input.js +7 -52
- package/plugins/filters/ui/input.mjs +7 -34
- package/plugins/filters/ui/link.js +3 -43
- package/plugins/filters/ui/link.mjs +3 -25
- package/plugins/filters/ui/multipleSelect.js +26 -120
- package/plugins/filters/ui/multipleSelect.mjs +20 -76
- package/plugins/filters/ui/radioInput.js +6 -47
- package/plugins/filters/ui/radioInput.mjs +6 -30
- package/plugins/filters/ui/select.js +14 -76
- package/plugins/filters/ui/select.mjs +14 -52
- 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 +29 -51
- package/plugins/formulas/engine/settings.js +4 -24
- package/plugins/formulas/engine/settings.mjs +4 -12
- package/plugins/formulas/formulas.js +103 -295
- package/plugins/formulas/formulas.mjs +104 -248
- 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 +4 -38
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +8 -25
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +21 -29
- package/plugins/hiddenColumns/hiddenColumns.js +72 -153
- package/plugins/hiddenColumns/hiddenColumns.mjs +72 -110
- package/plugins/hiddenColumns/index.js +0 -2
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +4 -38
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +8 -25
- package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +21 -29
- package/plugins/hiddenRows/hiddenRows.js +70 -152
- package/plugins/hiddenRows/hiddenRows.mjs +70 -109
- package/plugins/hiddenRows/index.js +0 -2
- package/plugins/index.js +0 -71
- package/plugins/index.mjs +3 -5
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/index.js +0 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +21 -78
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +21 -54
- package/plugins/manualColumnMove/index.js +0 -2
- package/plugins/manualColumnMove/manualColumnMove.js +45 -134
- package/plugins/manualColumnMove/manualColumnMove.mjs +45 -106
- package/plugins/manualColumnMove/ui/_base.js +12 -30
- package/plugins/manualColumnMove/ui/_base.mjs +12 -27
- package/plugins/manualColumnMove/ui/backlight.js +1 -37
- package/plugins/manualColumnMove/ui/backlight.mjs +1 -22
- package/plugins/manualColumnMove/ui/guideline.js +1 -37
- package/plugins/manualColumnMove/ui/guideline.mjs +1 -22
- package/plugins/manualColumnResize/index.js +0 -2
- package/plugins/manualColumnResize/manualColumnResize.js +44 -143
- package/plugins/manualColumnResize/manualColumnResize.mjs +43 -118
- package/plugins/manualRowMove/index.js +0 -2
- package/plugins/manualRowMove/manualRowMove.js +45 -137
- package/plugins/manualRowMove/manualRowMove.mjs +45 -109
- package/plugins/manualRowMove/ui/_base.js +12 -27
- package/plugins/manualRowMove/ui/_base.mjs +12 -26
- package/plugins/manualRowMove/ui/backlight.js +1 -37
- package/plugins/manualRowMove/ui/backlight.mjs +1 -22
- package/plugins/manualRowMove/ui/guideline.js +1 -37
- package/plugins/manualRowMove/ui/guideline.mjs +1 -22
- package/plugins/manualRowResize/index.js +0 -2
- package/plugins/manualRowResize/manualRowResize.js +42 -138
- package/plugins/manualRowResize/manualRowResize.mjs +41 -112
- package/plugins/mergeCells/calculations/autofill.js +39 -130
- package/plugins/mergeCells/calculations/autofill.mjs +44 -122
- package/plugins/mergeCells/calculations/selection.js +9 -40
- package/plugins/mergeCells/calculations/selection.mjs +9 -37
- package/plugins/mergeCells/cellCoords.js +30 -51
- package/plugins/mergeCells/cellCoords.mjs +35 -54
- package/plugins/mergeCells/cellsCollection.js +13 -84
- package/plugins/mergeCells/cellsCollection.mjs +18 -69
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +4 -11
- package/plugins/mergeCells/index.js +0 -2
- package/plugins/mergeCells/mergeCells.js +130 -333
- package/plugins/mergeCells/mergeCells.mjs +130 -292
- package/plugins/mergeCells/utils.js +0 -3
- package/plugins/mergeCells/utils.mjs +0 -1
- package/plugins/multiColumnSorting/domHelpers.js +3 -15
- package/plugins/multiColumnSorting/domHelpers.mjs +3 -7
- package/plugins/multiColumnSorting/index.js +0 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +14 -66
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +14 -44
- package/plugins/multiColumnSorting/rootComparator.js +2 -26
- package/plugins/multiColumnSorting/rootComparator.mjs +9 -23
- package/plugins/multiColumnSorting/utils.js +0 -7
- package/plugins/multiColumnSorting/utils.mjs +3 -8
- package/plugins/multipleSelectionHandles/index.js +0 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +6 -109
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +6 -87
- package/plugins/nestedHeaders/index.js +0 -2
- package/plugins/nestedHeaders/nestedHeaders.js +79 -200
- package/plugins/nestedHeaders/nestedHeaders.mjs +80 -173
- package/plugins/nestedHeaders/stateManager/headersTree.js +16 -93
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +16 -73
- package/plugins/nestedHeaders/stateManager/index.js +24 -107
- package/plugins/nestedHeaders/stateManager/index.mjs +51 -115
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +38 -51
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +29 -35
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +26 -32
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +9 -20
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -5
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +9 -21
- 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 +44 -61
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +16 -78
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +21 -68
- package/plugins/nestedHeaders/stateManager/utils.js +19 -22
- package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
- package/plugins/nestedHeaders/utils/ghostTable.js +9 -37
- package/plugins/nestedHeaders/utils/ghostTable.mjs +16 -43
- package/plugins/nestedRows/data/dataManager.js +40 -161
- package/plugins/nestedRows/data/dataManager.mjs +44 -148
- package/plugins/nestedRows/index.js +0 -2
- package/plugins/nestedRows/nestedRows.js +41 -119
- package/plugins/nestedRows/nestedRows.mjs +41 -86
- package/plugins/nestedRows/ui/_base.js +1 -9
- package/plugins/nestedRows/ui/_base.mjs +1 -8
- package/plugins/nestedRows/ui/collapsing.js +28 -134
- package/plugins/nestedRows/ui/collapsing.mjs +34 -118
- package/plugins/nestedRows/ui/contextMenu.js +2 -53
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -32
- package/plugins/nestedRows/ui/headers.js +5 -50
- package/plugins/nestedRows/ui/headers.mjs +11 -41
- package/plugins/nestedRows/utils/rowMoveController.js +28 -78
- package/plugins/nestedRows/utils/rowMoveController.mjs +33 -66
- package/plugins/persistentState/index.js +0 -2
- package/plugins/persistentState/persistentState.js +10 -58
- package/plugins/persistentState/persistentState.mjs +10 -37
- package/plugins/persistentState/storage.js +9 -25
- package/plugins/persistentState/storage.mjs +12 -26
- package/plugins/registry.js +7 -51
- package/plugins/registry.mjs +8 -34
- package/plugins/search/index.js +0 -2
- package/plugins/search/search.js +16 -98
- package/plugins/search/search.mjs +16 -68
- package/plugins/touchScroll/index.js +0 -2
- package/plugins/touchScroll/touchScroll.js +15 -76
- package/plugins/touchScroll/touchScroll.mjs +15 -58
- package/plugins/trimRows/index.js +0 -2
- package/plugins/trimRows/trimRows.js +62 -88
- package/plugins/trimRows/trimRows.mjs +62 -65
- package/plugins/undoRedo/index.js +0 -14
- package/plugins/undoRedo/undoRedo.js +48 -218
- package/plugins/undoRedo/undoRedo.mjs +48 -188
- package/registry.js +0 -11
- package/registry.mjs +2 -4
- 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 +2 -9
- 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 +3 -5
- package/renderers/numericRenderer/index.js +0 -2
- package/renderers/numericRenderer/numericRenderer.js +1 -23
- package/renderers/numericRenderer/numericRenderer.mjs +1 -10
- 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 +2 -14
- package/renderers/textRenderer/textRenderer.mjs +2 -6
- 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 +17 -73
- package/selection/highlight/highlight.mjs +31 -64
- package/selection/highlight/types/activeHeader.js +1 -21
- package/selection/highlight/types/activeHeader.mjs +6 -16
- package/selection/highlight/types/area.js +2 -22
- package/selection/highlight/types/area.mjs +10 -20
- package/selection/highlight/types/cell.js +1 -21
- package/selection/highlight/types/cell.mjs +9 -19
- package/selection/highlight/types/customSelection.js +2 -22
- package/selection/highlight/types/customSelection.mjs +11 -21
- package/selection/highlight/types/fill.js +2 -17
- package/selection/highlight/types/fill.mjs +9 -14
- package/selection/highlight/types/header.js +3 -23
- package/selection/highlight/types/header.mjs +13 -23
- package/selection/highlight/types/index.js +3 -24
- package/selection/highlight/types/index.mjs +3 -10
- package/selection/highlight/visualSelection.js +24 -74
- package/selection/highlight/visualSelection.mjs +24 -62
- package/selection/index.js +0 -14
- package/selection/mouseEventHandler.js +19 -30
- package/selection/mouseEventHandler.mjs +32 -36
- package/selection/range.js +11 -31
- package/selection/range.mjs +11 -22
- package/selection/selection.js +62 -157
- package/selection/selection.mjs +65 -132
- package/selection/transformation.js +10 -40
- package/selection/transformation.mjs +18 -45
- package/selection/utils.js +22 -70
- package/selection/utils.mjs +22 -47
- package/shortcuts/context.js +23 -78
- package/shortcuts/context.mjs +23 -55
- package/shortcuts/index.js +0 -2
- package/shortcuts/keyObserver.js +4 -17
- package/shortcuts/keyObserver.mjs +4 -12
- package/shortcuts/manager.js +16 -36
- package/shortcuts/manager.mjs +16 -33
- package/shortcuts/recorder.js +20 -47
- package/shortcuts/recorder.mjs +20 -39
- package/shortcuts/utils.js +5 -24
- package/shortcuts/utils.mjs +5 -8
- package/tableView.js +100 -270
- package/tableView.mjs +100 -248
- package/translations/changesObservable/observable.js +5 -54
- package/translations/changesObservable/observable.mjs +12 -51
- package/translations/changesObservable/observer.js +4 -32
- package/translations/changesObservable/observer.mjs +9 -29
- package/translations/changesObservable/utils.js +1 -5
- package/translations/changesObservable/utils.mjs +1 -4
- package/translations/index.js +0 -11
- package/translations/indexMapper.js +70 -158
- package/translations/indexMapper.mjs +70 -125
- package/translations/mapCollections/aggregatedCollection.js +9 -51
- package/translations/mapCollections/aggregatedCollection.mjs +12 -41
- package/translations/mapCollections/index.js +0 -7
- package/translations/mapCollections/mapCollection.js +10 -33
- package/translations/mapCollections/mapCollection.mjs +10 -22
- package/translations/maps/hidingMap.js +2 -35
- package/translations/maps/hidingMap.mjs +7 -28
- package/translations/maps/index.js +1 -24
- package/translations/maps/index.mjs +1 -3
- package/translations/maps/indexMap.js +12 -34
- package/translations/maps/indexMap.mjs +16 -32
- package/translations/maps/indexesSequence.js +3 -41
- package/translations/maps/indexesSequence.mjs +9 -32
- package/translations/maps/linkedPhysicalIndexToValueMap.js +9 -78
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +16 -59
- package/translations/maps/physicalIndexToValueMap.js +2 -39
- package/translations/maps/physicalIndexToValueMap.mjs +8 -31
- package/translations/maps/trimmingMap.js +2 -35
- package/translations/maps/trimmingMap.mjs +7 -28
- package/translations/maps/utils/actionsOnIndexes.js +1 -7
- package/translations/maps/utils/actionsOnIndexes.mjs +9 -12
- 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 +10 -19
- package/translations/maps/utils/physicallyIndexed.js +1 -27
- package/translations/maps/utils/physicallyIndexed.mjs +11 -21
- package/utils/dataStructures/linkedList.js +15 -56
- package/utils/dataStructures/linkedList.mjs +15 -54
- package/utils/dataStructures/priorityMap.js +8 -46
- package/utils/dataStructures/priorityMap.mjs +8 -29
- package/utils/dataStructures/queue.js +6 -17
- package/utils/dataStructures/queue.mjs +6 -16
- package/utils/dataStructures/stack.js +6 -17
- package/utils/dataStructures/stack.mjs +6 -16
- package/utils/dataStructures/tree.js +11 -75
- package/utils/dataStructures/tree.mjs +11 -54
- package/utils/dataStructures/uniqueMap.js +17 -56
- package/utils/dataStructures/uniqueMap.mjs +17 -42
- package/utils/dataStructures/uniqueSet.js +5 -32
- package/utils/dataStructures/uniqueSet.mjs +5 -19
- package/utils/ghostTable.js +33 -104
- package/utils/ghostTable.mjs +35 -92
- package/utils/interval.js +10 -37
- package/utils/interval.mjs +7 -29
- 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 +15 -51
- package/utils/samplesGenerator.mjs +17 -44
- 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 +3 -5
- 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
- package/utils/sortingAlgorithms/mergeSort.js +0 -120
- package/utils/sortingAlgorithms/mergeSort.mjs +0 -110
package/selection/selection.mjs
CHANGED
@@ -5,23 +5,14 @@ import "core-js/modules/es.symbol.description.js";
|
|
5
5
|
import "core-js/modules/es.symbol.iterator.js";
|
6
6
|
import "core-js/modules/es.function.name.js";
|
7
7
|
import "core-js/modules/es.regexp.exec.js";
|
8
|
-
|
9
8
|
var _templateObject;
|
10
|
-
|
11
9
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
12
|
-
|
13
10
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
14
|
-
|
15
11
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
16
|
-
|
17
12
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
18
|
-
|
19
13
|
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
20
|
-
|
21
14
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
22
|
-
|
23
15
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
24
|
-
|
25
16
|
import "core-js/modules/es.array.iterator.js";
|
26
17
|
import "core-js/modules/es.object.to-string.js";
|
27
18
|
import "core-js/modules/es.set.js";
|
@@ -34,13 +25,9 @@ import "core-js/modules/es.string.includes.js";
|
|
34
25
|
import "core-js/modules/es.number.is-integer.js";
|
35
26
|
import "core-js/modules/es.number.constructor.js";
|
36
27
|
import "core-js/modules/web.dom-collections.for-each.js";
|
37
|
-
|
38
28
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
39
|
-
|
40
29
|
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); } }
|
41
|
-
|
42
30
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
43
|
-
|
44
31
|
import Highlight from "./highlight/highlight.mjs";
|
45
32
|
import { AREA_TYPE, HEADER_TYPE, CELL_TYPE } from "./highlight/constants.mjs";
|
46
33
|
import SelectionRange from "./range.mjs";
|
@@ -50,18 +37,14 @@ import { arrayEach } from "./../helpers/array.mjs";
|
|
50
37
|
import localHooks from "./../mixins/localHooks.mjs";
|
51
38
|
import Transformation from "./transformation.mjs";
|
52
39
|
import { detectSelectionType, isValidCoord, normalizeSelectionFactory, SELECTION_TYPE_EMPTY, SELECTION_TYPE_UNRECOGNIZED } from "./utils.mjs";
|
53
|
-
import { toSingleLine } from "./../helpers/templateLiteralTag.mjs";
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
*/
|
58
|
-
|
40
|
+
import { toSingleLine } from "./../helpers/templateLiteralTag.mjs"; /**
|
41
|
+
* @class Selection
|
42
|
+
* @util
|
43
|
+
*/
|
59
44
|
var Selection = /*#__PURE__*/function () {
|
60
45
|
function Selection(settings, tableProps) {
|
61
46
|
var _this = this;
|
62
|
-
|
63
47
|
_classCallCheck(this, Selection);
|
64
|
-
|
65
48
|
/**
|
66
49
|
* Handsontable settings instance.
|
67
50
|
*
|
@@ -73,21 +56,18 @@ var Selection = /*#__PURE__*/function () {
|
|
73
56
|
*
|
74
57
|
* @type {object}
|
75
58
|
*/
|
76
|
-
|
77
59
|
this.tableProps = tableProps;
|
78
60
|
/**
|
79
61
|
* The flag which determines if the selection is in progress.
|
80
62
|
*
|
81
63
|
* @type {boolean}
|
82
64
|
*/
|
83
|
-
|
84
65
|
this.inProgress = false;
|
85
66
|
/**
|
86
67
|
* The flag indicates that selection was performed by clicking the corner overlay.
|
87
68
|
*
|
88
69
|
* @type {boolean}
|
89
70
|
*/
|
90
|
-
|
91
71
|
this.selectedByCorner = false;
|
92
72
|
/**
|
93
73
|
* The collection of the selection layer levels where the whole row was selected using the row header or
|
@@ -95,7 +75,6 @@ var Selection = /*#__PURE__*/function () {
|
|
95
75
|
*
|
96
76
|
* @type {Set.<number>}
|
97
77
|
*/
|
98
|
-
|
99
78
|
this.selectedByRowHeader = new Set();
|
100
79
|
/**
|
101
80
|
* The collection of the selection layer levels where the whole column was selected using the column header or
|
@@ -103,14 +82,12 @@ var Selection = /*#__PURE__*/function () {
|
|
103
82
|
*
|
104
83
|
* @type {Set.<number>}
|
105
84
|
*/
|
106
|
-
|
107
85
|
this.selectedByColumnHeader = new Set();
|
108
86
|
/**
|
109
87
|
* Selection data layer (handle visual coordinates).
|
110
88
|
*
|
111
89
|
* @type {SelectionRange}
|
112
90
|
*/
|
113
|
-
|
114
91
|
this.selectedRange = new SelectionRange(function (highlight, from, to) {
|
115
92
|
return _this.tableProps.createCellRange(highlight, from, to);
|
116
93
|
});
|
@@ -119,7 +96,6 @@ var Selection = /*#__PURE__*/function () {
|
|
119
96
|
*
|
120
97
|
* @type {Highlight}
|
121
98
|
*/
|
122
|
-
|
123
99
|
this.highlight = new Highlight({
|
124
100
|
headerClassName: settings.currentHeaderClassName,
|
125
101
|
activeHeaderClassName: settings.activeHeaderClassName,
|
@@ -158,7 +134,6 @@ var Selection = /*#__PURE__*/function () {
|
|
158
134
|
*
|
159
135
|
* @type {Transformation}
|
160
136
|
*/
|
161
|
-
|
162
137
|
this.transformation = new Transformation(this.selectedRange, {
|
163
138
|
countRows: function countRows() {
|
164
139
|
return _this.tableProps.countRowsTranslated();
|
@@ -195,87 +170,81 @@ var Selection = /*#__PURE__*/function () {
|
|
195
170
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
196
171
|
args[_key] = arguments[_key];
|
197
172
|
}
|
198
|
-
|
199
173
|
return _this.runLocalHooks.apply(_this, ['beforeModifyTransformStart'].concat(args));
|
200
174
|
});
|
201
175
|
this.transformation.addLocalHook('afterTransformStart', function () {
|
202
176
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
203
177
|
args[_key2] = arguments[_key2];
|
204
178
|
}
|
205
|
-
|
206
179
|
return _this.runLocalHooks.apply(_this, ['afterModifyTransformStart'].concat(args));
|
207
180
|
});
|
208
181
|
this.transformation.addLocalHook('beforeTransformEnd', function () {
|
209
182
|
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
210
183
|
args[_key3] = arguments[_key3];
|
211
184
|
}
|
212
|
-
|
213
185
|
return _this.runLocalHooks.apply(_this, ['beforeModifyTransformEnd'].concat(args));
|
214
186
|
});
|
215
187
|
this.transformation.addLocalHook('afterTransformEnd', function () {
|
216
188
|
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
217
189
|
args[_key4] = arguments[_key4];
|
218
190
|
}
|
219
|
-
|
220
191
|
return _this.runLocalHooks.apply(_this, ['afterModifyTransformEnd'].concat(args));
|
221
192
|
});
|
222
193
|
this.transformation.addLocalHook('insertRowRequire', function () {
|
223
194
|
for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
224
195
|
args[_key5] = arguments[_key5];
|
225
196
|
}
|
226
|
-
|
227
197
|
return _this.runLocalHooks.apply(_this, ['insertRowRequire'].concat(args));
|
228
198
|
});
|
229
199
|
this.transformation.addLocalHook('insertColRequire', function () {
|
230
200
|
for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
|
231
201
|
args[_key6] = arguments[_key6];
|
232
202
|
}
|
233
|
-
|
234
203
|
return _this.runLocalHooks.apply(_this, ['insertColRequire'].concat(args));
|
235
204
|
});
|
236
205
|
}
|
206
|
+
|
237
207
|
/**
|
238
208
|
* Get data layer for current selection.
|
239
209
|
*
|
240
210
|
* @returns {SelectionRange}
|
241
211
|
*/
|
242
|
-
|
243
|
-
|
244
212
|
_createClass(Selection, [{
|
245
213
|
key: "getSelectedRange",
|
246
214
|
value: function getSelectedRange() {
|
247
215
|
return this.selectedRange;
|
248
216
|
}
|
217
|
+
|
249
218
|
/**
|
250
219
|
* Indicate that selection process began. It sets internaly `.inProgress` property to `true`.
|
251
220
|
*/
|
252
|
-
|
253
221
|
}, {
|
254
222
|
key: "begin",
|
255
223
|
value: function begin() {
|
256
224
|
this.inProgress = true;
|
257
225
|
}
|
226
|
+
|
258
227
|
/**
|
259
228
|
* Indicate that selection process finished. It sets internaly `.inProgress` property to `false`.
|
260
229
|
*/
|
261
|
-
|
262
230
|
}, {
|
263
231
|
key: "finish",
|
264
232
|
value: function finish() {
|
265
233
|
this.runLocalHooks('afterSelectionFinished', Array.from(this.selectedRange));
|
266
234
|
this.inProgress = false;
|
267
235
|
}
|
236
|
+
|
268
237
|
/**
|
269
238
|
* Check if the process of selecting the cell/cells is in progress.
|
270
239
|
*
|
271
240
|
* @returns {boolean}
|
272
241
|
*/
|
273
|
-
|
274
242
|
}, {
|
275
243
|
key: "isInProgress",
|
276
244
|
value: function isInProgress() {
|
277
245
|
return this.inProgress;
|
278
246
|
}
|
247
|
+
|
279
248
|
/**
|
280
249
|
* Starts selection range on given coordinate object.
|
281
250
|
*
|
@@ -286,7 +255,6 @@ var Selection = /*#__PURE__*/function () {
|
|
286
255
|
* @param {boolean} [fragment=false] If `true`, the selection will be treated as a partial selection where the
|
287
256
|
* `setRangeEnd` method won't be called on every `setRangeStart` call.
|
288
257
|
*/
|
289
|
-
|
290
258
|
}, {
|
291
259
|
key: "setRangeStart",
|
292
260
|
value: function setRangeStart(coords, multipleSelection) {
|
@@ -295,36 +263,31 @@ var Selection = /*#__PURE__*/function () {
|
|
295
263
|
var isMultipleSelection = isUndefined(multipleSelection) ? this.tableProps.getShortcutManager().isCtrlPressed() : multipleSelection;
|
296
264
|
var isRowNegative = coords.row < 0;
|
297
265
|
var isColumnNegative = coords.col < 0;
|
298
|
-
var selectedByCorner = isRowNegative && isColumnNegative;
|
266
|
+
var selectedByCorner = isRowNegative && isColumnNegative;
|
267
|
+
// We are creating copy. We would like to modify just the start of the selection by below hook. Then original coords
|
299
268
|
// should be handled by next methods.
|
300
|
-
|
301
269
|
var coordsClone = coords.clone();
|
302
270
|
this.selectedByCorner = selectedByCorner;
|
303
271
|
this.runLocalHooks("beforeSetRangeStart".concat(fragment ? 'Only' : ''), coordsClone);
|
304
|
-
|
305
272
|
if (!isMultipleMode || isMultipleMode && !isMultipleSelection && isUndefined(multipleSelection)) {
|
306
273
|
this.selectedRange.clear();
|
307
274
|
}
|
308
|
-
|
309
275
|
this.selectedRange.add(coordsClone);
|
310
|
-
|
311
276
|
if (this.getLayerLevel() === 0) {
|
312
277
|
this.selectedByRowHeader.clear();
|
313
278
|
this.selectedByColumnHeader.clear();
|
314
279
|
}
|
315
|
-
|
316
280
|
if (!selectedByCorner && isColumnNegative) {
|
317
281
|
this.selectedByRowHeader.add(this.getLayerLevel());
|
318
282
|
}
|
319
|
-
|
320
283
|
if (!selectedByCorner && isRowNegative) {
|
321
284
|
this.selectedByColumnHeader.add(this.getLayerLevel());
|
322
285
|
}
|
323
|
-
|
324
286
|
if (!fragment) {
|
325
287
|
this.setRangeEnd(coords);
|
326
288
|
}
|
327
289
|
}
|
290
|
+
|
328
291
|
/**
|
329
292
|
* Starts selection range on given coordinate object.
|
330
293
|
*
|
@@ -333,46 +296,43 @@ var Selection = /*#__PURE__*/function () {
|
|
333
296
|
* only when 'selectionMode' is set as 'multiple'. If the argument is not defined
|
334
297
|
* the default trigger will be used.
|
335
298
|
*/
|
336
|
-
|
337
299
|
}, {
|
338
300
|
key: "setRangeStartOnly",
|
339
301
|
value: function setRangeStartOnly(coords, multipleSelection) {
|
340
302
|
this.setRangeStart(coords, multipleSelection, true);
|
341
303
|
}
|
304
|
+
|
342
305
|
/**
|
343
306
|
* Ends selection range on given coordinate object.
|
344
307
|
*
|
345
308
|
* @param {CellCoords} coords Visual coords.
|
346
309
|
*/
|
347
|
-
|
348
310
|
}, {
|
349
311
|
key: "setRangeEnd",
|
350
312
|
value: function setRangeEnd(coords) {
|
351
313
|
if (this.selectedRange.isEmpty()) {
|
352
314
|
return;
|
353
|
-
}
|
354
|
-
// should be handled by next methods.
|
355
|
-
|
315
|
+
}
|
356
316
|
|
317
|
+
// We are creating copy. We would like to modify just the end of the selection by below hook. Then original coords
|
318
|
+
// should be handled by next methods.
|
357
319
|
var coordsClone = coords.clone();
|
358
320
|
this.runLocalHooks('beforeSetRangeEnd', coordsClone);
|
359
321
|
this.begin();
|
360
322
|
var cellRange = this.selectedRange.current();
|
361
|
-
|
362
323
|
if (this.settings.selectionMode !== 'single') {
|
363
324
|
cellRange.setTo(this.tableProps.createCellCoords(coordsClone.row, coordsClone.col));
|
364
|
-
}
|
365
|
-
|
325
|
+
}
|
366
326
|
|
327
|
+
// Set up current selection.
|
367
328
|
this.highlight.getCell().clear();
|
368
|
-
|
369
329
|
if (this.highlight.isEnabledFor(CELL_TYPE, cellRange.highlight)) {
|
370
330
|
this.highlight.getCell().add(this.selectedRange.current().highlight).commit().syncWith(cellRange);
|
371
331
|
}
|
332
|
+
var layerLevel = this.getLayerLevel();
|
372
333
|
|
373
|
-
|
334
|
+
// If the next layer level is lower than previous then clear all area and header highlights. This is the
|
374
335
|
// indication that the new selection is performing.
|
375
|
-
|
376
336
|
if (layerLevel < this.highlight.layerLevel) {
|
377
337
|
arrayEach(this.highlight.getAreas(), function (highlight) {
|
378
338
|
return void highlight.clear();
|
@@ -384,7 +344,6 @@ var Selection = /*#__PURE__*/function () {
|
|
384
344
|
return void highlight.clear();
|
385
345
|
});
|
386
346
|
}
|
387
|
-
|
388
347
|
this.highlight.useLayerLevel(layerLevel);
|
389
348
|
var areaHighlight = this.highlight.createOrGetArea();
|
390
349
|
var headerHighlight = this.highlight.createOrGetHeader();
|
@@ -392,21 +351,19 @@ var Selection = /*#__PURE__*/function () {
|
|
392
351
|
areaHighlight.clear();
|
393
352
|
headerHighlight.clear();
|
394
353
|
activeHeaderHighlight.clear();
|
395
|
-
|
396
354
|
if (this.highlight.isEnabledFor(AREA_TYPE, cellRange.highlight) && (this.isMultiple() || layerLevel >= 1)) {
|
397
355
|
areaHighlight.add(cellRange.from).add(cellRange.to).commit();
|
398
|
-
|
399
356
|
if (layerLevel === 1) {
|
400
357
|
// For single cell selection in the same layer, we do not create area selection to prevent blue background.
|
401
358
|
// When non-consecutive selection is performed we have to add that missing area selection to the previous layer
|
402
359
|
// based on previous coordinates. It only occurs when the previous selection wasn't select multiple cells.
|
403
360
|
var previousRange = this.selectedRange.previous();
|
404
|
-
this.highlight.useLayerLevel(layerLevel - 1).createOrGetArea().add(previousRange.from).commit()
|
361
|
+
this.highlight.useLayerLevel(layerLevel - 1).createOrGetArea().add(previousRange.from).commit()
|
362
|
+
// Range may start with hidden indexes. Commit would not found start point (as we add just the `from` coords).
|
405
363
|
.syncWith(previousRange);
|
406
364
|
this.highlight.useLayerLevel(layerLevel);
|
407
365
|
}
|
408
366
|
}
|
409
|
-
|
410
367
|
if (this.highlight.isEnabledFor(HEADER_TYPE, cellRange.highlight)) {
|
411
368
|
// The header selection generally contains cell selection. In a case when all rows (or columns)
|
412
369
|
// are hidden that visual coordinates are translated to renderable coordinates that do not exist.
|
@@ -415,55 +372,49 @@ var Selection = /*#__PURE__*/function () {
|
|
415
372
|
var areAnyRowsRendered = this.tableProps.countRowsTranslated() === 0;
|
416
373
|
var areAnyColumnsRendered = this.tableProps.countColsTranslated() === 0;
|
417
374
|
var headerCellRange = cellRange;
|
418
|
-
|
419
375
|
if (areAnyRowsRendered || areAnyColumnsRendered) {
|
420
376
|
headerCellRange = cellRange.clone();
|
421
377
|
}
|
422
|
-
|
423
378
|
if (areAnyRowsRendered) {
|
424
379
|
headerCellRange.from.row = -1;
|
425
380
|
}
|
426
|
-
|
427
381
|
if (areAnyColumnsRendered) {
|
428
382
|
headerCellRange.from.col = -1;
|
429
383
|
}
|
430
|
-
|
431
384
|
if (this.settings.selectionMode === 'single') {
|
432
385
|
if (this.isSelectedByAnyHeader()) {
|
433
386
|
headerCellRange.from.normalize();
|
434
387
|
}
|
435
|
-
|
436
388
|
headerHighlight.add(headerCellRange.from).commit();
|
437
389
|
} else {
|
438
390
|
headerHighlight.add(headerCellRange.from).add(headerCellRange.to).commit();
|
439
391
|
}
|
440
|
-
|
441
392
|
if (this.isEntireRowSelected()) {
|
442
|
-
var isRowSelected = this.tableProps.countCols() === cellRange.getWidth();
|
393
|
+
var isRowSelected = this.tableProps.countCols() === cellRange.getWidth();
|
443
394
|
|
395
|
+
// Make sure that the whole row is selected (in case where selectionMode is set to 'single')
|
444
396
|
if (isRowSelected) {
|
445
397
|
activeHeaderHighlight.add(this.tableProps.createCellCoords(cellRange.from.row, -1)).add(this.tableProps.createCellCoords(cellRange.to.row, -1)).commit();
|
446
398
|
}
|
447
399
|
}
|
448
|
-
|
449
400
|
if (this.isEntireColumnSelected()) {
|
450
|
-
var isColumnSelected = this.tableProps.countRows() === cellRange.getHeight();
|
401
|
+
var isColumnSelected = this.tableProps.countRows() === cellRange.getHeight();
|
451
402
|
|
403
|
+
// Make sure that the whole column is selected (in case where selectionMode is set to 'single')
|
452
404
|
if (isColumnSelected) {
|
453
405
|
activeHeaderHighlight.add(this.tableProps.createCellCoords(-1, cellRange.from.col)).add(this.tableProps.createCellCoords(-1, cellRange.to.col)).commit();
|
454
406
|
}
|
455
407
|
}
|
456
408
|
}
|
457
|
-
|
458
409
|
this.runLocalHooks('afterSetRangeEnd', coords);
|
459
410
|
}
|
411
|
+
|
460
412
|
/**
|
461
413
|
* Returns information if we have a multiselection. This method check multiselection only on the latest layer of
|
462
414
|
* the selection.
|
463
415
|
*
|
464
416
|
* @returns {boolean}
|
465
417
|
*/
|
466
|
-
|
467
418
|
}, {
|
468
419
|
key: "isMultiple",
|
469
420
|
value: function isMultiple() {
|
@@ -471,6 +422,7 @@ var Selection = /*#__PURE__*/function () {
|
|
471
422
|
this.runLocalHooks('afterIsMultipleSelection', isMultipleListener);
|
472
423
|
return isMultipleListener.value;
|
473
424
|
}
|
425
|
+
|
474
426
|
/**
|
475
427
|
* Selects cell relative to the current cell (if possible).
|
476
428
|
*
|
@@ -479,47 +431,47 @@ var Selection = /*#__PURE__*/function () {
|
|
479
431
|
* @param {boolean} [force=false] If `true` the new rows/columns will be created if necessary. Otherwise, row/column will
|
480
432
|
* be created according to `minSpareRows/minSpareCols` settings of Handsontable.
|
481
433
|
*/
|
482
|
-
|
483
434
|
}, {
|
484
435
|
key: "transformStart",
|
485
436
|
value: function transformStart(rowDelta, colDelta) {
|
486
437
|
var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
487
438
|
this.setRangeStart(this.transformation.transformStart(rowDelta, colDelta, force));
|
488
439
|
}
|
440
|
+
|
489
441
|
/**
|
490
442
|
* Sets selection end cell relative to the current selection end cell (if possible).
|
491
443
|
*
|
492
444
|
* @param {number} rowDelta Rows number to move, value can be passed as negative number.
|
493
445
|
* @param {number} colDelta Columns number to move, value can be passed as negative number.
|
494
446
|
*/
|
495
|
-
|
496
447
|
}, {
|
497
448
|
key: "transformEnd",
|
498
449
|
value: function transformEnd(rowDelta, colDelta) {
|
499
450
|
this.setRangeEnd(this.transformation.transformEnd(rowDelta, colDelta));
|
500
451
|
}
|
452
|
+
|
501
453
|
/**
|
502
454
|
* Returns currently used layer level.
|
503
455
|
*
|
504
456
|
* @returns {number} Returns layer level starting from 0. If no selection was added to the table -1 is returned.
|
505
457
|
*/
|
506
|
-
|
507
458
|
}, {
|
508
459
|
key: "getLayerLevel",
|
509
460
|
value: function getLayerLevel() {
|
510
461
|
return this.selectedRange.size() - 1;
|
511
462
|
}
|
463
|
+
|
512
464
|
/**
|
513
465
|
* Returns `true` if currently there is a selection on the screen, `false` otherwise.
|
514
466
|
*
|
515
467
|
* @returns {boolean}
|
516
468
|
*/
|
517
|
-
|
518
469
|
}, {
|
519
470
|
key: "isSelected",
|
520
471
|
value: function isSelected() {
|
521
472
|
return !this.selectedRange.isEmpty();
|
522
473
|
}
|
474
|
+
|
523
475
|
/**
|
524
476
|
* Returns `true` if the selection was applied by clicking to the row header. If the `layerLevel`
|
525
477
|
* argument is passed then only that layer will be checked. Otherwise, it checks if any row header
|
@@ -528,13 +480,13 @@ var Selection = /*#__PURE__*/function () {
|
|
528
480
|
* @param {number} [layerLevel=this.getLayerLevel()] Selection layer level to check.
|
529
481
|
* @returns {boolean}
|
530
482
|
*/
|
531
|
-
|
532
483
|
}, {
|
533
484
|
key: "isSelectedByRowHeader",
|
534
485
|
value: function isSelectedByRowHeader() {
|
535
486
|
var layerLevel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getLayerLevel();
|
536
487
|
return !this.isSelectedByCorner(layerLevel) && this.isEntireRowSelected(layerLevel);
|
537
488
|
}
|
489
|
+
|
538
490
|
/**
|
539
491
|
* Returns `true` if the selection consists of entire rows (including their headers). If the `layerLevel`
|
540
492
|
* argument is passed then only that layer will be checked. Otherwise, it checks the selection for all layers.
|
@@ -542,13 +494,13 @@ var Selection = /*#__PURE__*/function () {
|
|
542
494
|
* @param {number} [layerLevel=this.getLayerLevel()] Selection layer level to check.
|
543
495
|
* @returns {boolean}
|
544
496
|
*/
|
545
|
-
|
546
497
|
}, {
|
547
498
|
key: "isEntireRowSelected",
|
548
499
|
value: function isEntireRowSelected() {
|
549
500
|
var layerLevel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getLayerLevel();
|
550
501
|
return layerLevel === -1 ? this.selectedByRowHeader.size > 0 : this.selectedByRowHeader.has(layerLevel);
|
551
502
|
}
|
503
|
+
|
552
504
|
/**
|
553
505
|
* Returns `true` if the selection was applied by clicking to the column header. If the `layerLevel`
|
554
506
|
* argument is passed then only that layer will be checked. Otherwise, it checks if any column header
|
@@ -557,13 +509,13 @@ var Selection = /*#__PURE__*/function () {
|
|
557
509
|
* @param {number} [layerLevel=this.getLayerLevel()] Selection layer level to check.
|
558
510
|
* @returns {boolean}
|
559
511
|
*/
|
560
|
-
|
561
512
|
}, {
|
562
513
|
key: "isSelectedByColumnHeader",
|
563
514
|
value: function isSelectedByColumnHeader() {
|
564
515
|
var layerLevel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getLayerLevel();
|
565
516
|
return !this.isSelectedByCorner() && this.isEntireColumnSelected(layerLevel);
|
566
517
|
}
|
518
|
+
|
567
519
|
/**
|
568
520
|
* Returns `true` if the selection consists of entire columns (including their headers). If the `layerLevel`
|
569
521
|
* argument is passed then only that layer will be checked. Otherwise, it checks the selection for all layers.
|
@@ -571,35 +523,35 @@ var Selection = /*#__PURE__*/function () {
|
|
571
523
|
* @param {number} [layerLevel=this.getLayerLevel()] Selection layer level to check.
|
572
524
|
* @returns {boolean}
|
573
525
|
*/
|
574
|
-
|
575
526
|
}, {
|
576
527
|
key: "isEntireColumnSelected",
|
577
528
|
value: function isEntireColumnSelected() {
|
578
529
|
var layerLevel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getLayerLevel();
|
579
530
|
return layerLevel === -1 ? this.selectedByColumnHeader.size > 0 : this.selectedByColumnHeader.has(layerLevel);
|
580
531
|
}
|
532
|
+
|
581
533
|
/**
|
582
534
|
* Returns `true` if the selection was applied by clicking on the row or column header on any layer level.
|
583
535
|
*
|
584
536
|
* @returns {boolean}
|
585
537
|
*/
|
586
|
-
|
587
538
|
}, {
|
588
539
|
key: "isSelectedByAnyHeader",
|
589
540
|
value: function isSelectedByAnyHeader() {
|
590
541
|
return this.isSelectedByRowHeader(-1) || this.isSelectedByColumnHeader(-1) || this.isSelectedByCorner();
|
591
542
|
}
|
543
|
+
|
592
544
|
/**
|
593
545
|
* Returns `true` if the selection was applied by clicking on the left-top corner overlay.
|
594
546
|
*
|
595
547
|
* @returns {boolean}
|
596
548
|
*/
|
597
|
-
|
598
549
|
}, {
|
599
550
|
key: "isSelectedByCorner",
|
600
551
|
value: function isSelectedByCorner() {
|
601
552
|
return this.selectedByCorner;
|
602
553
|
}
|
554
|
+
|
603
555
|
/**
|
604
556
|
* Returns `true` if coords is within selection coords. This method iterates through all selection layers to check if
|
605
557
|
* the coords object is within selection range.
|
@@ -607,44 +559,42 @@ var Selection = /*#__PURE__*/function () {
|
|
607
559
|
* @param {CellCoords} coords The CellCoords instance with defined visual coordinates.
|
608
560
|
* @returns {boolean}
|
609
561
|
*/
|
610
|
-
|
611
562
|
}, {
|
612
563
|
key: "inInSelection",
|
613
564
|
value: function inInSelection(coords) {
|
614
565
|
return this.selectedRange.includes(coords);
|
615
566
|
}
|
567
|
+
|
616
568
|
/**
|
617
569
|
* Returns `true` if the cell corner should be visible.
|
618
570
|
*
|
619
571
|
* @private
|
620
572
|
* @returns {boolean} `true` if the corner element has to be visible, `false` otherwise.
|
621
573
|
*/
|
622
|
-
|
623
574
|
}, {
|
624
575
|
key: "isCellCornerVisible",
|
625
576
|
value: function isCellCornerVisible() {
|
626
577
|
return this.settings.fillHandle && !this.tableProps.isEditorOpened() && !this.isMultiple();
|
627
578
|
}
|
579
|
+
|
628
580
|
/**
|
629
581
|
* Returns `true` if the area corner should be visible.
|
630
582
|
*
|
631
583
|
* @param {number} layerLevel The layer level.
|
632
584
|
* @returns {boolean} `true` if the corner element has to be visible, `false` otherwise.
|
633
585
|
*/
|
634
|
-
|
635
586
|
}, {
|
636
587
|
key: "isAreaCornerVisible",
|
637
588
|
value: function isAreaCornerVisible(layerLevel) {
|
638
589
|
if (Number.isInteger(layerLevel) && layerLevel !== this.getLayerLevel()) {
|
639
590
|
return false;
|
640
591
|
}
|
641
|
-
|
642
592
|
return this.settings.fillHandle && !this.tableProps.isEditorOpened() && this.isMultiple();
|
643
593
|
}
|
594
|
+
|
644
595
|
/**
|
645
596
|
* Clear the selection by resetting the collected ranges and highlights.
|
646
597
|
*/
|
647
|
-
|
648
598
|
}, {
|
649
599
|
key: "clear",
|
650
600
|
value: function clear() {
|
@@ -652,21 +602,21 @@ var Selection = /*#__PURE__*/function () {
|
|
652
602
|
this.selectedRange.clear();
|
653
603
|
this.highlight.clear();
|
654
604
|
}
|
605
|
+
|
655
606
|
/**
|
656
607
|
* Deselects all selected cells.
|
657
608
|
*/
|
658
|
-
|
659
609
|
}, {
|
660
610
|
key: "deselect",
|
661
611
|
value: function deselect() {
|
662
612
|
if (!this.isSelected()) {
|
663
613
|
return;
|
664
614
|
}
|
665
|
-
|
666
615
|
this.inProgress = false;
|
667
616
|
this.clear();
|
668
617
|
this.runLocalHooks('afterDeselect');
|
669
618
|
}
|
619
|
+
|
670
620
|
/**
|
671
621
|
* Select all cells.
|
672
622
|
*
|
@@ -675,19 +625,18 @@ var Selection = /*#__PURE__*/function () {
|
|
675
625
|
* @param {boolean} [includeColumnHeaders=false] `true` If the selection should include the column headers, `false`
|
676
626
|
* otherwise.
|
677
627
|
*/
|
678
|
-
|
679
628
|
}, {
|
680
629
|
key: "selectAll",
|
681
630
|
value: function selectAll() {
|
682
631
|
var includeRowHeaders = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
683
632
|
var includeColumnHeaders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
684
633
|
var nrOfRows = this.tableProps.countRows();
|
685
|
-
var nrOfColumns = this.tableProps.countCols();
|
634
|
+
var nrOfColumns = this.tableProps.countCols();
|
686
635
|
|
636
|
+
// We can't select cells when there is no data.
|
687
637
|
if (!includeRowHeaders && !includeColumnHeaders && (nrOfRows === 0 || nrOfColumns === 0)) {
|
688
638
|
return;
|
689
639
|
}
|
690
|
-
|
691
640
|
var startCoords = this.tableProps.createCellCoords(includeColumnHeaders ? -1 : 0, includeRowHeaders ? -1 : 0);
|
692
641
|
this.clear();
|
693
642
|
this.setRangeStartOnly(startCoords);
|
@@ -696,6 +645,7 @@ var Selection = /*#__PURE__*/function () {
|
|
696
645
|
this.setRangeEnd(this.tableProps.createCellCoords(nrOfRows - 1, nrOfColumns - 1));
|
697
646
|
this.finish();
|
698
647
|
}
|
648
|
+
|
699
649
|
/**
|
700
650
|
* Make multiple, non-contiguous selection specified by `row` and `column` values or a range of cells
|
701
651
|
* finishing at `endRow`, `endColumn`. The method supports two input formats, first as an array of arrays such
|
@@ -705,20 +655,16 @@ var Selection = /*#__PURE__*/function () {
|
|
705
655
|
* @param {Array[]|CellRange[]} selectionRanges The coordinates which define what the cells should be selected.
|
706
656
|
* @returns {boolean} Returns `true` if selection was successful, `false` otherwise.
|
707
657
|
*/
|
708
|
-
|
709
658
|
}, {
|
710
659
|
key: "selectCells",
|
711
660
|
value: function selectCells(selectionRanges) {
|
712
661
|
var _this2 = this;
|
713
|
-
|
714
662
|
var selectionType = detectSelectionType(selectionRanges);
|
715
|
-
|
716
663
|
if (selectionType === SELECTION_TYPE_EMPTY) {
|
717
664
|
return false;
|
718
665
|
} else if (selectionType === SELECTION_TYPE_UNRECOGNIZED) {
|
719
666
|
throw new Error(toSingleLine(_templateObject || (_templateObject = _taggedTemplateLiteral(["Unsupported format of the selection ranges was passed. To select cells pass \n the coordinates as an array of arrays ([[rowStart, columnStart/columnPropStart, rowEnd, \n columnEnd/columnPropEnd]]) or as an array of CellRange objects."], ["Unsupported format of the selection ranges was passed. To select cells pass\\x20\n the coordinates as an array of arrays ([[rowStart, columnStart/columnPropStart, rowEnd,\\x20\n columnEnd/columnPropEnd]]) or as an array of CellRange objects."]))));
|
720
667
|
}
|
721
|
-
|
722
668
|
var selectionSchemaNormalizer = normalizeSelectionFactory(selectionType, {
|
723
669
|
propToCol: function propToCol(prop) {
|
724
670
|
return _this2.tableProps.propToCol(prop);
|
@@ -726,41 +672,36 @@ var Selection = /*#__PURE__*/function () {
|
|
726
672
|
keepDirection: true
|
727
673
|
});
|
728
674
|
var nrOfRows = this.tableProps.countRows();
|
729
|
-
var nrOfColumns = this.tableProps.countCols();
|
675
|
+
var nrOfColumns = this.tableProps.countCols();
|
730
676
|
|
677
|
+
// Check if every layer of the coordinates are valid.
|
731
678
|
var isValid = !selectionRanges.some(function (selection) {
|
732
679
|
var _selectionSchemaNorma = selectionSchemaNormalizer(selection),
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
|
680
|
+
_selectionSchemaNorma2 = _slicedToArray(_selectionSchemaNorma, 4),
|
681
|
+
rowStart = _selectionSchemaNorma2[0],
|
682
|
+
columnStart = _selectionSchemaNorma2[1],
|
683
|
+
rowEnd = _selectionSchemaNorma2[2],
|
684
|
+
columnEnd = _selectionSchemaNorma2[3];
|
739
685
|
var _isValid = isValidCoord(rowStart, nrOfRows) && isValidCoord(columnStart, nrOfColumns) && isValidCoord(rowEnd, nrOfRows) && isValidCoord(columnEnd, nrOfColumns);
|
740
|
-
|
741
686
|
return !_isValid;
|
742
687
|
});
|
743
|
-
|
744
688
|
if (isValid) {
|
745
689
|
this.clear();
|
746
690
|
arrayEach(selectionRanges, function (selection) {
|
747
691
|
var _selectionSchemaNorma3 = selectionSchemaNormalizer(selection),
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
692
|
+
_selectionSchemaNorma4 = _slicedToArray(_selectionSchemaNorma3, 4),
|
693
|
+
rowStart = _selectionSchemaNorma4[0],
|
694
|
+
columnStart = _selectionSchemaNorma4[1],
|
695
|
+
rowEnd = _selectionSchemaNorma4[2],
|
696
|
+
columnEnd = _selectionSchemaNorma4[3];
|
754
697
|
_this2.setRangeStartOnly(_this2.tableProps.createCellCoords(rowStart, columnStart), false);
|
755
|
-
|
756
698
|
_this2.setRangeEnd(_this2.tableProps.createCellCoords(rowEnd, columnEnd));
|
757
|
-
|
758
699
|
_this2.finish();
|
759
700
|
});
|
760
701
|
}
|
761
|
-
|
762
702
|
return isValid;
|
763
703
|
}
|
704
|
+
|
764
705
|
/**
|
765
706
|
* Select column specified by `startColumn` visual index or column property or a range of columns finishing at
|
766
707
|
* `endColumn`.
|
@@ -772,7 +713,6 @@ var Selection = /*#__PURE__*/function () {
|
|
772
713
|
*
|
773
714
|
* @returns {boolean} Returns `true` if selection was successful, `false` otherwise.
|
774
715
|
*/
|
775
|
-
|
776
716
|
}, {
|
777
717
|
key: "selectColumns",
|
778
718
|
value: function selectColumns(startColumn) {
|
@@ -783,15 +723,14 @@ var Selection = /*#__PURE__*/function () {
|
|
783
723
|
var nrOfColumns = this.tableProps.countCols();
|
784
724
|
var nrOfRows = this.tableProps.countRows();
|
785
725
|
var isValid = isValidCoord(start, nrOfColumns) && isValidCoord(end, nrOfColumns);
|
786
|
-
|
787
726
|
if (isValid) {
|
788
727
|
this.setRangeStartOnly(this.tableProps.createCellCoords(headerLevel, start));
|
789
728
|
this.setRangeEnd(this.tableProps.createCellCoords(nrOfRows - 1, end));
|
790
729
|
this.finish();
|
791
730
|
}
|
792
|
-
|
793
731
|
return isValid;
|
794
732
|
}
|
733
|
+
|
795
734
|
/**
|
796
735
|
* Select row specified by `startRow` visual index or a range of rows finishing at `endRow`.
|
797
736
|
*
|
@@ -802,7 +741,6 @@ var Selection = /*#__PURE__*/function () {
|
|
802
741
|
* closest to the cells.
|
803
742
|
* @returns {boolean} Returns `true` if selection was successful, `false` otherwise.
|
804
743
|
*/
|
805
|
-
|
806
744
|
}, {
|
807
745
|
key: "selectRows",
|
808
746
|
value: function selectRows(startRow) {
|
@@ -811,19 +749,17 @@ var Selection = /*#__PURE__*/function () {
|
|
811
749
|
var nrOfRows = this.tableProps.countRows();
|
812
750
|
var nrOfColumns = this.tableProps.countCols();
|
813
751
|
var isValid = isValidCoord(startRow, nrOfRows) && isValidCoord(endRow, nrOfRows);
|
814
|
-
|
815
752
|
if (isValid) {
|
816
753
|
this.setRangeStartOnly(this.tableProps.createCellCoords(startRow, headerLevel));
|
817
754
|
this.setRangeEnd(this.tableProps.createCellCoords(endRow, nrOfColumns - 1));
|
818
755
|
this.finish();
|
819
756
|
}
|
820
|
-
|
821
757
|
return isValid;
|
822
758
|
}
|
759
|
+
|
823
760
|
/**
|
824
761
|
* Rewrite the rendered state of the selection as visual selection may have a new representation in the DOM.
|
825
762
|
*/
|
826
|
-
|
827
763
|
}, {
|
828
764
|
key: "refresh",
|
829
765
|
value: function refresh() {
|
@@ -831,15 +767,14 @@ var Selection = /*#__PURE__*/function () {
|
|
831
767
|
customSelections.forEach(function (customSelection) {
|
832
768
|
customSelection.commit();
|
833
769
|
});
|
834
|
-
|
835
770
|
if (!this.isSelected()) {
|
836
771
|
return;
|
837
772
|
}
|
838
|
-
|
839
773
|
var cellHighlight = this.highlight.getCell();
|
840
774
|
var currentLayer = this.getLayerLevel();
|
841
|
-
cellHighlight.commit().syncWith(this.selectedRange.current());
|
775
|
+
cellHighlight.commit().syncWith(this.selectedRange.current());
|
842
776
|
|
777
|
+
// Rewriting rendered ranges going through all layers.
|
843
778
|
for (var layerLevel = 0; layerLevel < this.selectedRange.size(); layerLevel += 1) {
|
844
779
|
this.highlight.useLayerLevel(layerLevel);
|
845
780
|
var areaHighlight = this.highlight.createOrGetArea();
|
@@ -848,15 +783,13 @@ var Selection = /*#__PURE__*/function () {
|
|
848
783
|
areaHighlight.commit();
|
849
784
|
headerHighlight.commit();
|
850
785
|
activeHeaderHighlight.commit();
|
851
|
-
}
|
852
|
-
|
786
|
+
}
|
853
787
|
|
788
|
+
// Reverting starting layer for the Highlight.
|
854
789
|
this.highlight.useLayerLevel(currentLayer);
|
855
790
|
}
|
856
791
|
}]);
|
857
|
-
|
858
792
|
return Selection;
|
859
793
|
}();
|
860
|
-
|
861
794
|
mixin(Selection, localHooks);
|
862
795
|
export default Selection;
|