handsontable 12.1.3 → 12.3.0-next-bb1a7c2-20221208
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/SheetClip/SheetClip.js +3 -32
- package/3rdparty/SheetClip/SheetClip.mjs +3 -23
- package/3rdparty/SheetClip/index.js +0 -2
- package/3rdparty/autoResize/autoResize.js +119 -145
- package/3rdparty/autoResize/autoResize.mjs +119 -143
- package/3rdparty/autoResize/index.js +0 -2
- package/3rdparty/walkontable/src/border.js +44 -154
- package/3rdparty/walkontable/src/border.mjs +41 -136
- package/3rdparty/walkontable/src/calculator/constants.js +0 -3
- package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
- package/3rdparty/walkontable/src/calculator/index.js +0 -10
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +36 -77
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +36 -70
- package/3rdparty/walkontable/src/calculator/viewportRows.js +30 -49
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +30 -42
- package/3rdparty/walkontable/src/cell/coords.d.ts +1 -1
- package/3rdparty/walkontable/src/cell/coords.js +73 -65
- package/3rdparty/walkontable/src/cell/coords.mjs +73 -60
- package/3rdparty/walkontable/src/cell/range.d.ts +19 -16
- package/3rdparty/walkontable/src/cell/range.js +251 -231
- package/3rdparty/walkontable/src/cell/range.mjs +251 -222
- package/3rdparty/walkontable/src/core/_base.js +30 -74
- package/3rdparty/walkontable/src/core/_base.mjs +30 -67
- package/3rdparty/walkontable/src/core/clone.js +11 -44
- package/3rdparty/walkontable/src/core/clone.mjs +11 -32
- package/3rdparty/walkontable/src/core/core.js +8 -56
- package/3rdparty/walkontable/src/core/core.mjs +8 -38
- package/3rdparty/walkontable/src/event.js +41 -79
- package/3rdparty/walkontable/src/event.mjs +41 -66
- package/3rdparty/walkontable/src/facade/core.js +14 -16
- package/3rdparty/walkontable/src/facade/core.mjs +14 -13
- package/3rdparty/walkontable/src/filter/column.js +22 -17
- package/3rdparty/walkontable/src/filter/column.mjs +22 -16
- package/3rdparty/walkontable/src/filter/row.js +22 -17
- package/3rdparty/walkontable/src/filter/row.mjs +22 -16
- package/3rdparty/walkontable/src/index.js +0 -31
- package/3rdparty/walkontable/src/overlay/_base.js +38 -69
- package/3rdparty/walkontable/src/overlay/_base.mjs +38 -61
- package/3rdparty/walkontable/src/overlay/bottom.js +38 -103
- package/3rdparty/walkontable/src/overlay/bottom.mjs +38 -88
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +12 -52
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +12 -37
- package/3rdparty/walkontable/src/overlay/constants.js +0 -6
- package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
- package/3rdparty/walkontable/src/overlay/index.js +0 -17
- package/3rdparty/walkontable/src/overlay/inlineStart.js +26 -90
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +26 -75
- package/3rdparty/walkontable/src/overlay/top.js +37 -104
- package/3rdparty/walkontable/src/overlay/top.mjs +37 -89
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +14 -55
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +14 -40
- package/3rdparty/walkontable/src/overlays.js +124 -145
- package/3rdparty/walkontable/src/overlays.mjs +124 -135
- package/3rdparty/walkontable/src/renderer/_base.js +17 -19
- package/3rdparty/walkontable/src/renderer/_base.mjs +17 -17
- package/3rdparty/walkontable/src/renderer/cells.js +15 -53
- package/3rdparty/walkontable/src/renderer/cells.mjs +15 -39
- package/3rdparty/walkontable/src/renderer/colGroup.js +15 -46
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +15 -34
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +13 -49
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +13 -37
- package/3rdparty/walkontable/src/renderer/index.js +26 -35
- package/3rdparty/walkontable/src/renderer/index.mjs +26 -22
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +13 -49
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +13 -36
- package/3rdparty/walkontable/src/renderer/rows.js +11 -49
- package/3rdparty/walkontable/src/renderer/rows.mjs +11 -32
- package/3rdparty/walkontable/src/renderer/table.js +35 -48
- package/3rdparty/walkontable/src/renderer/table.mjs +35 -47
- package/3rdparty/walkontable/src/scroll.js +69 -86
- package/3rdparty/walkontable/src/scroll.mjs +69 -84
- package/3rdparty/walkontable/src/selection.js +28 -103
- package/3rdparty/walkontable/src/selection.mjs +26 -83
- package/3rdparty/walkontable/src/settings.js +25 -31
- package/3rdparty/walkontable/src/settings.mjs +25 -29
- package/3rdparty/walkontable/src/table/bottom.js +6 -34
- package/3rdparty/walkontable/src/table/bottom.mjs +6 -19
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +6 -34
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +6 -19
- package/3rdparty/walkontable/src/table/inlineStart.js +6 -34
- package/3rdparty/walkontable/src/table/inlineStart.mjs +6 -19
- package/3rdparty/walkontable/src/table/master.js +15 -54
- package/3rdparty/walkontable/src/table/master.mjs +15 -38
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +1 -16
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +1 -14
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +1 -16
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +1 -14
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +1 -10
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +1 -8
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +1 -11
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +1 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +1 -10
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +1 -8
- package/3rdparty/walkontable/src/table/top.js +6 -34
- package/3rdparty/walkontable/src/table/top.mjs +6 -19
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +6 -34
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +6 -19
- package/3rdparty/walkontable/src/table.js +73 -233
- package/3rdparty/walkontable/src/table.mjs +71 -210
- package/3rdparty/walkontable/src/types.js +0 -5
- package/3rdparty/walkontable/src/types.mjs +0 -5
- package/3rdparty/walkontable/src/utils/column.js +18 -30
- package/3rdparty/walkontable/src/utils/column.mjs +18 -25
- package/3rdparty/walkontable/src/utils/nodesPool.js +16 -11
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +16 -10
- package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
- package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
- package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +7 -32
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +7 -21
- package/3rdparty/walkontable/src/utils/orderView/view.js +27 -45
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +27 -42
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +16 -14
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +16 -13
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +21 -21
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +21 -18
- package/3rdparty/walkontable/src/utils/row.js +15 -12
- package/3rdparty/walkontable/src/utils/row.mjs +15 -11
- package/3rdparty/walkontable/src/viewport.js +51 -99
- package/3rdparty/walkontable/src/viewport.mjs +51 -96
- package/CHANGELOG.md +99 -1
- package/base.d.ts +1 -0
- package/base.js +11 -17
- package/base.mjs +10 -11
- package/cellTypes/autocompleteType/autocompleteType.js +0 -4
- package/cellTypes/autocompleteType/index.js +0 -2
- package/cellTypes/checkboxType/checkboxType.js +0 -3
- package/cellTypes/checkboxType/index.js +0 -2
- package/cellTypes/dateType/dateType.js +0 -4
- package/cellTypes/dateType/index.js +0 -2
- package/cellTypes/dropdownType/dropdownType.js +0 -4
- package/cellTypes/dropdownType/index.js +0 -2
- package/cellTypes/handsontableType/handsontableType.js +0 -3
- package/cellTypes/handsontableType/index.js +0 -2
- package/cellTypes/index.js +0 -21
- package/cellTypes/index.mjs +0 -1
- package/cellTypes/numericType/index.js +0 -2
- package/cellTypes/numericType/numericType.js +0 -4
- package/cellTypes/passwordType/index.js +0 -2
- package/cellTypes/passwordType/passwordType.js +0 -3
- package/cellTypes/registry.js +10 -25
- package/cellTypes/registry.mjs +10 -20
- package/cellTypes/textType/index.js +0 -2
- package/cellTypes/textType/textType.js +0 -3
- package/cellTypes/timeType/index.js +0 -2
- package/cellTypes/timeType/timeType.js +0 -4
- package/core.d.ts +6 -2
- package/core.js +714 -1070
- package/core.mjs +717 -1015
- package/dataMap/dataMap.js +202 -236
- package/dataMap/dataMap.mjs +201 -209
- package/{dataSource.js → dataMap/dataSource.js} +29 -65
- package/{dataSource.mjs → dataMap/dataSource.mjs} +29 -57
- package/dataMap/index.js +0 -13
- package/dataMap/metaManager/index.js +33 -45
- package/dataMap/metaManager/index.mjs +33 -37
- package/dataMap/metaManager/lazyFactoryMap.js +17 -62
- package/dataMap/metaManager/lazyFactoryMap.mjs +17 -46
- package/dataMap/metaManager/metaLayers/cellMeta.js +26 -57
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +25 -41
- package/dataMap/metaManager/metaLayers/columnMeta.js +23 -24
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +24 -21
- package/dataMap/metaManager/metaLayers/globalMeta.js +30 -21
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +31 -18
- package/dataMap/metaManager/metaLayers/tableMeta.js +18 -15
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +19 -14
- package/dataMap/metaManager/metaSchema.js +173 -213
- package/dataMap/metaManager/metaSchema.mjs +173 -204
- package/dataMap/metaManager/mods/dynamicCellMeta.js +15 -35
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +15 -24
- package/dataMap/metaManager/mods/extendMetaProperties.js +14 -27
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +14 -19
- package/dataMap/metaManager/utils.js +49 -28
- package/dataMap/metaManager/utils.mjs +50 -21
- package/dataMap/replaceData.js +15 -35
- package/dataMap/replaceData.mjs +15 -23
- package/dist/handsontable.css +9 -9
- package/dist/handsontable.full.css +9 -9
- package/dist/handsontable.full.js +13065 -28165
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +108 -114
- package/dist/handsontable.js +11528 -21792
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +111 -240
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.js +50 -14
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.js +52 -16
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.js +52 -16
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.js +53 -17
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.js +56 -20
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +56 -20
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.js +55 -19
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/it-IT.js +55 -19
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.js +83 -43
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.js +84 -43
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.js +85 -43
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.js +86 -43
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.js +87 -43
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.js +88 -43
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +67 -28
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.js +67 -28
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.js +55 -16
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.js +55 -16
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.js +55 -16
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +53 -113
- package/editorManager.mjs +50 -90
- package/editors/autocompleteEditor/autocompleteEditor.js +36 -138
- package/editors/autocompleteEditor/autocompleteEditor.mjs +35 -108
- package/editors/autocompleteEditor/index.js +0 -2
- package/editors/baseEditor/baseEditor.js +55 -160
- package/editors/baseEditor/baseEditor.mjs +54 -133
- package/editors/baseEditor/index.js +0 -2
- package/editors/checkboxEditor/checkboxEditor.js +8 -34
- package/editors/checkboxEditor/checkboxEditor.mjs +8 -20
- package/editors/checkboxEditor/index.js +0 -2
- package/editors/dateEditor/dateEditor.js +26 -97
- package/editors/dateEditor/dateEditor.mjs +26 -76
- package/editors/dateEditor/index.js +0 -2
- package/editors/dropdownEditor/dropdownEditor.js +7 -42
- package/editors/dropdownEditor/dropdownEditor.mjs +7 -23
- package/editors/dropdownEditor/index.js +0 -2
- package/editors/handsontableEditor/handsontableEditor.js +19 -86
- package/editors/handsontableEditor/handsontableEditor.mjs +19 -67
- package/editors/handsontableEditor/index.js +0 -2
- package/editors/index.js +0 -25
- package/editors/index.mjs +0 -1
- package/editors/numericEditor/index.js +0 -2
- package/editors/numericEditor/numericEditor.js +7 -32
- package/editors/numericEditor/numericEditor.mjs +7 -19
- package/editors/passwordEditor/index.js +0 -2
- package/editors/passwordEditor/passwordEditor.js +7 -39
- package/editors/passwordEditor/passwordEditor.mjs +7 -23
- package/editors/registry.js +13 -36
- package/editors/registry.mjs +12 -26
- package/editors/selectEditor/index.js +0 -2
- package/editors/selectEditor/selectEditor.js +27 -74
- package/editors/selectEditor/selectEditor.mjs +27 -57
- package/editors/textEditor/caretPositioner.js +0 -8
- package/editors/textEditor/caretPositioner.mjs +0 -7
- package/editors/textEditor/index.js +0 -2
- package/editors/textEditor/textEditor.js +45 -139
- package/editors/textEditor/textEditor.mjs +45 -108
- package/editors/timeEditor/index.js +0 -2
- package/editors/timeEditor/timeEditor.js +7 -37
- package/editors/timeEditor/timeEditor.mjs +7 -22
- package/eventManager.js +26 -47
- package/eventManager.mjs +27 -45
- package/helpers/array.js +22 -88
- package/helpers/array.mjs +22 -58
- package/helpers/browser.js +25 -51
- package/helpers/browser.mjs +25 -32
- package/helpers/console.js +3 -13
- package/helpers/console.mjs +3 -10
- package/helpers/data.d.ts +0 -2
- package/helpers/data.js +8 -102
- package/helpers/data.mjs +9 -80
- package/helpers/date.js +2 -3
- package/helpers/date.mjs +2 -2
- package/helpers/dom/element.js +89 -256
- package/helpers/dom/element.mjs +88 -184
- package/helpers/dom/event.js +3 -7
- package/helpers/dom/event.mjs +3 -3
- package/helpers/feature.js +21 -82
- package/helpers/feature.mjs +15 -60
- package/helpers/function.js +14 -59
- package/helpers/function.mjs +14 -45
- package/helpers/mixed.js +9 -64
- package/helpers/mixed.mjs +9 -43
- package/helpers/number.js +4 -46
- package/helpers/number.mjs +4 -23
- package/helpers/object.js +30 -77
- package/helpers/object.mjs +25 -47
- package/helpers/string.js +6 -28
- package/helpers/string.mjs +6 -14
- package/helpers/templateLiteralTag.js +0 -6
- package/helpers/templateLiteralTag.mjs +0 -2
- package/helpers/unicode.js +17 -22
- package/helpers/unicode.mjs +17 -13
- package/helpers/wrappers/jquery.js +4 -14
- package/helpers/wrappers/jquery.mjs +4 -13
- package/i18n/constants.js +50 -45
- package/i18n/constants.mjs +46 -42
- package/i18n/index.js +0 -7
- package/i18n/languages/ar-AR.js +12 -23
- package/i18n/languages/ar-AR.mjs +14 -3
- package/i18n/languages/cs-CZ.js +12 -23
- package/i18n/languages/cs-CZ.mjs +14 -3
- package/i18n/languages/de-CH.js +12 -23
- package/i18n/languages/de-CH.mjs +14 -3
- package/i18n/languages/de-DE.js +12 -23
- package/i18n/languages/de-DE.mjs +14 -3
- package/i18n/languages/en-US.js +13 -24
- package/i18n/languages/en-US.mjs +15 -4
- package/i18n/languages/es-MX.js +13 -24
- package/i18n/languages/es-MX.mjs +17 -5
- package/i18n/languages/fr-FR.js +12 -23
- package/i18n/languages/fr-FR.mjs +14 -3
- package/i18n/languages/index.js +0 -39
- package/i18n/languages/it-IT.js +12 -23
- package/i18n/languages/it-IT.mjs +14 -3
- package/i18n/languages/ja-JP.js +12 -23
- package/i18n/languages/ja-JP.mjs +14 -3
- package/i18n/languages/ko-KR.js +12 -23
- package/i18n/languages/ko-KR.mjs +14 -3
- package/i18n/languages/lv-LV.js +13 -24
- package/i18n/languages/lv-LV.mjs +17 -6
- package/i18n/languages/nb-NO.js +12 -23
- package/i18n/languages/nb-NO.mjs +14 -3
- package/i18n/languages/nl-NL.js +13 -24
- package/i18n/languages/nl-NL.mjs +17 -6
- package/i18n/languages/pl-PL.js +13 -24
- package/i18n/languages/pl-PL.mjs +16 -5
- package/i18n/languages/pt-BR.js +12 -23
- package/i18n/languages/pt-BR.mjs +14 -3
- package/i18n/languages/ru-RU.js +12 -23
- package/i18n/languages/ru-RU.mjs +14 -3
- package/i18n/languages/sr-SP.js +12 -23
- package/i18n/languages/sr-SP.mjs +14 -3
- package/i18n/languages/zh-CN.js +12 -23
- package/i18n/languages/zh-CN.mjs +14 -3
- package/i18n/languages/zh-TW.js +12 -23
- package/i18n/languages/zh-TW.mjs +14 -3
- package/i18n/phraseFormatters/index.js +4 -11
- package/i18n/phraseFormatters/index.mjs +4 -6
- package/i18n/phraseFormatters/pluralize.js +0 -5
- package/i18n/phraseFormatters/pluralize.mjs +0 -3
- package/i18n/phraseFormatters/substituteVariables.js +0 -4
- package/i18n/phraseFormatters/substituteVariables.mjs +0 -2
- package/i18n/registry.js +18 -59
- package/i18n/registry.mjs +18 -30
- package/i18n/utils.js +4 -22
- package/i18n/utils.mjs +4 -11
- package/index.d.ts +9 -0
- package/index.js +23 -58
- package/index.mjs +21 -16
- package/languages/all.js +111 -240
- package/languages/ar-AR.js +50 -14
- package/languages/ar-AR.mjs +14 -3
- package/languages/cs-CZ.js +52 -16
- package/languages/cs-CZ.mjs +14 -3
- package/languages/de-CH.js +52 -16
- package/languages/de-CH.mjs +14 -3
- package/languages/de-DE.js +53 -17
- package/languages/de-DE.mjs +14 -3
- package/languages/en-US.js +56 -20
- package/languages/en-US.mjs +15 -4
- package/languages/es-MX.js +56 -20
- package/languages/es-MX.mjs +17 -5
- package/languages/fr-FR.js +55 -19
- package/languages/fr-FR.mjs +14 -3
- package/languages/index.js +111 -240
- package/languages/it-IT.js +55 -19
- package/languages/it-IT.mjs +14 -3
- package/languages/ja-JP.js +83 -43
- package/languages/ja-JP.mjs +14 -3
- package/languages/ko-KR.js +84 -43
- package/languages/ko-KR.mjs +14 -3
- package/languages/lv-LV.js +85 -43
- package/languages/lv-LV.mjs +17 -6
- package/languages/nb-NO.js +86 -43
- package/languages/nb-NO.mjs +14 -3
- package/languages/nl-NL.js +87 -43
- package/languages/nl-NL.mjs +17 -6
- package/languages/pl-PL.js +88 -43
- package/languages/pl-PL.mjs +16 -5
- package/languages/pt-BR.js +67 -28
- package/languages/pt-BR.mjs +14 -3
- package/languages/ru-RU.js +67 -28
- package/languages/ru-RU.mjs +14 -3
- package/languages/sr-SP.js +55 -16
- package/languages/sr-SP.mjs +14 -3
- package/languages/zh-CN.js +55 -16
- package/languages/zh-CN.mjs +14 -3
- package/languages/zh-TW.js +55 -16
- package/languages/zh-TW.mjs +14 -3
- package/mixins/hooksRefRegisterer.js +1 -12
- package/mixins/hooksRefRegisterer.mjs +1 -9
- package/mixins/localHooks.js +4 -11
- package/mixins/localHooks.mjs +4 -8
- package/package.json +2 -2
- package/pluginHooks.d.ts +10 -5
- package/pluginHooks.js +376 -116
- package/pluginHooks.mjs +375 -103
- package/plugins/autoColumnSize/autoColumnSize.js +81 -174
- package/plugins/autoColumnSize/autoColumnSize.mjs +81 -139
- package/plugins/autoColumnSize/index.js +0 -2
- package/plugins/autoRowSize/autoRowSize.js +89 -160
- package/plugins/autoRowSize/autoRowSize.mjs +89 -131
- package/plugins/autoRowSize/index.js +0 -2
- package/plugins/autofill/autofill.js +53 -165
- package/plugins/autofill/autofill.mjs +53 -133
- package/plugins/autofill/index.js +0 -2
- package/plugins/autofill/utils.js +4 -26
- package/plugins/autofill/utils.mjs +4 -18
- package/plugins/base/base.js +28 -91
- package/plugins/base/base.mjs +28 -63
- package/plugins/base/index.js +0 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +25 -53
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +25 -34
- package/plugins/bindRowsWithHeaders/index.js +0 -2
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +11 -42
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +11 -30
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +12 -54
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +12 -38
- package/plugins/collapsibleColumns/collapsibleColumns.js +106 -193
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +106 -162
- package/plugins/collapsibleColumns/index.js +0 -2
- package/plugins/columnSorting/columnSorting.js +58 -192
- package/plugins/columnSorting/columnSorting.mjs +58 -147
- package/plugins/columnSorting/columnStatesManager.js +27 -77
- package/plugins/columnSorting/columnStatesManager.mjs +24 -51
- package/plugins/columnSorting/domHelpers.js +2 -18
- package/plugins/columnSorting/domHelpers.mjs +2 -7
- package/plugins/columnSorting/index.js +0 -2
- package/plugins/columnSorting/rootComparator.js +5 -24
- package/plugins/columnSorting/rootComparator.mjs +5 -13
- package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
- package/plugins/columnSorting/sortFunction/checkbox.mjs +8 -12
- package/plugins/columnSorting/sortFunction/date.js +2 -19
- package/plugins/columnSorting/sortFunction/date.mjs +2 -14
- package/plugins/columnSorting/sortFunction/default.js +2 -17
- package/plugins/columnSorting/sortFunction/default.mjs +2 -14
- package/plugins/columnSorting/sortFunction/numeric.js +2 -11
- package/plugins/columnSorting/sortFunction/numeric.mjs +2 -8
- package/plugins/columnSorting/sortService/engine.js +1 -7
- package/plugins/columnSorting/sortService/engine.mjs +1 -3
- package/plugins/columnSorting/sortService/index.js +0 -5
- package/plugins/columnSorting/sortService/registry.js +6 -18
- package/plugins/columnSorting/sortService/registry.mjs +6 -10
- package/plugins/columnSorting/utils.js +9 -34
- package/plugins/columnSorting/utils.mjs +9 -15
- package/plugins/columnSummary/columnSummary.js +65 -126
- package/plugins/columnSummary/columnSummary.mjs +65 -101
- package/plugins/columnSummary/endpoints.js +33 -109
- package/plugins/columnSummary/endpoints.mjs +33 -105
- package/plugins/columnSummary/index.js +0 -2
- package/plugins/columnSummary/utils.js +0 -1
- package/plugins/comments/commentEditor.js +29 -27
- package/plugins/comments/commentEditor.mjs +29 -26
- package/plugins/comments/comments.js +106 -178
- package/plugins/comments/comments.mjs +106 -152
- package/plugins/comments/displaySwitch.js +20 -24
- package/plugins/comments/displaySwitch.mjs +20 -19
- package/plugins/comments/index.js +0 -2
- package/plugins/contextMenu/commandExecutor.js +17 -29
- package/plugins/contextMenu/commandExecutor.mjs +17 -27
- package/plugins/contextMenu/contextMenu.d.ts +4 -3
- package/plugins/contextMenu/contextMenu.js +28 -121
- package/plugins/contextMenu/contextMenu.mjs +28 -91
- package/plugins/contextMenu/cursor.js +19 -19
- package/plugins/contextMenu/cursor.mjs +19 -18
- package/plugins/contextMenu/index.js +0 -2
- package/plugins/contextMenu/itemsFactory.js +21 -35
- package/plugins/contextMenu/itemsFactory.mjs +21 -31
- package/plugins/contextMenu/menu.js +71 -180
- package/plugins/contextMenu/menu.mjs +70 -151
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
- package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
- package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
- package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
- package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
- package/plugins/contextMenu/predefinedItems/redo.js +1 -16
- package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +4 -39
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +4 -19
- package/plugins/contextMenu/predefinedItems/removeRow.js +4 -38
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +4 -18
- package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
- package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/separator.js +1 -2
- package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -16
- package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems.js +14 -55
- package/plugins/contextMenu/predefinedItems.mjs +16 -8
- package/plugins/contextMenu/utils.js +17 -57
- package/plugins/contextMenu/utils.mjs +17 -34
- package/plugins/copyPaste/clipboardData.js +14 -9
- package/plugins/copyPaste/clipboardData.mjs +14 -8
- package/plugins/copyPaste/contextMenuItem/copy.js +5 -32
- package/plugins/copyPaste/contextMenuItem/copy.mjs +5 -7
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +35 -0
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +31 -0
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +35 -0
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +31 -0
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +35 -0
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +31 -0
- package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
- package/plugins/copyPaste/contextMenuItem/cut.mjs +2 -4
- package/plugins/copyPaste/copyPaste.d.ts +10 -2
- package/plugins/copyPaste/copyPaste.js +339 -372
- package/plugins/copyPaste/copyPaste.mjs +339 -331
- package/plugins/copyPaste/copyableRanges.js +269 -0
- package/plugins/copyPaste/copyableRanges.mjs +264 -0
- package/plugins/copyPaste/focusableElement.js +21 -55
- package/plugins/copyPaste/focusableElement.mjs +21 -45
- package/plugins/copyPaste/index.js +0 -2
- package/plugins/copyPaste/pasteEvent.js +14 -9
- package/plugins/copyPaste/pasteEvent.mjs +14 -7
- package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
- package/plugins/customBorders/contextMenuItem/bottom.mjs +0 -3
- package/plugins/customBorders/contextMenuItem/index.js +0 -11
- package/plugins/customBorders/contextMenuItem/left.js +0 -17
- package/plugins/customBorders/contextMenuItem/left.mjs +0 -3
- package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
- package/plugins/customBorders/contextMenuItem/noBorders.mjs +0 -1
- package/plugins/customBorders/contextMenuItem/right.js +0 -17
- package/plugins/customBorders/contextMenuItem/right.mjs +0 -3
- package/plugins/customBorders/contextMenuItem/top.js +0 -17
- package/plugins/customBorders/contextMenuItem/top.mjs +0 -3
- package/plugins/customBorders/customBorders.js +64 -188
- package/plugins/customBorders/customBorders.mjs +63 -153
- package/plugins/customBorders/index.js +0 -2
- package/plugins/customBorders/utils.js +13 -52
- package/plugins/customBorders/utils.mjs +13 -31
- package/plugins/dragToScroll/dragToScroll.js +23 -75
- package/plugins/dragToScroll/dragToScroll.mjs +23 -56
- package/plugins/dragToScroll/index.js +0 -2
- package/plugins/dropdownMenu/dropdownMenu.js +49 -127
- package/plugins/dropdownMenu/dropdownMenu.mjs +49 -96
- package/plugins/dropdownMenu/index.js +0 -2
- package/plugins/exportFile/dataProvider.js +34 -72
- package/plugins/exportFile/dataProvider.mjs +31 -58
- package/plugins/exportFile/exportFile.js +56 -61
- package/plugins/exportFile/exportFile.mjs +54 -37
- package/plugins/exportFile/index.js +0 -2
- package/plugins/exportFile/typeFactory.js +15 -12
- package/plugins/exportFile/typeFactory.mjs +15 -5
- package/plugins/exportFile/types/_base.js +15 -15
- package/plugins/exportFile/types/_base.mjs +15 -13
- package/plugins/exportFile/types/csv.js +8 -51
- package/plugins/exportFile/types/csv.mjs +8 -30
- package/plugins/filters/component/_base.js +25 -31
- package/plugins/filters/component/_base.mjs +25 -26
- package/plugins/filters/component/actionBar.js +13 -56
- package/plugins/filters/component/actionBar.mjs +11 -34
- package/plugins/filters/component/condition.js +22 -95
- package/plugins/filters/component/condition.mjs +20 -63
- package/plugins/filters/component/operators.js +18 -71
- package/plugins/filters/component/operators.mjs +18 -48
- package/plugins/filters/component/value.js +22 -97
- package/plugins/filters/component/value.mjs +22 -67
- package/plugins/filters/condition/beginsWith.js +3 -33
- package/plugins/filters/condition/beginsWith.mjs +3 -11
- package/plugins/filters/condition/between.js +4 -38
- package/plugins/filters/condition/between.mjs +4 -16
- package/plugins/filters/condition/byValue.js +4 -28
- package/plugins/filters/condition/byValue.mjs +4 -13
- package/plugins/filters/condition/contains.js +3 -33
- package/plugins/filters/condition/contains.mjs +3 -11
- package/plugins/filters/condition/date/after.js +3 -35
- package/plugins/filters/condition/date/after.mjs +3 -13
- package/plugins/filters/condition/date/before.js +3 -35
- package/plugins/filters/condition/date/before.mjs +3 -13
- package/plugins/filters/condition/date/today.js +1 -22
- package/plugins/filters/condition/date/today.mjs +1 -3
- package/plugins/filters/condition/date/tomorrow.js +1 -22
- package/plugins/filters/condition/date/tomorrow.mjs +1 -3
- package/plugins/filters/condition/date/yesterday.js +1 -22
- package/plugins/filters/condition/date/yesterday.mjs +1 -3
- package/plugins/filters/condition/empty.js +1 -19
- package/plugins/filters/condition/empty.mjs +1 -1
- package/plugins/filters/condition/endsWith.js +3 -33
- package/plugins/filters/condition/endsWith.mjs +3 -11
- package/plugins/filters/condition/equal.js +3 -32
- package/plugins/filters/condition/equal.mjs +3 -11
- package/plugins/filters/condition/false.js +1 -5
- package/plugins/filters/condition/false.mjs +1 -1
- package/plugins/filters/condition/greaterThan.js +3 -33
- package/plugins/filters/condition/greaterThan.mjs +3 -13
- package/plugins/filters/condition/greaterThanOrEqual.js +3 -33
- package/plugins/filters/condition/greaterThanOrEqual.mjs +3 -13
- package/plugins/filters/condition/lessThan.js +3 -33
- package/plugins/filters/condition/lessThan.mjs +3 -13
- package/plugins/filters/condition/lessThanOrEqual.js +3 -33
- package/plugins/filters/condition/lessThanOrEqual.mjs +3 -13
- package/plugins/filters/condition/none.js +1 -18
- package/plugins/filters/condition/none.mjs +1 -1
- package/plugins/filters/condition/notBetween.js +1 -19
- package/plugins/filters/condition/notBetween.mjs +1 -1
- package/plugins/filters/condition/notContains.js +1 -19
- package/plugins/filters/condition/notContains.mjs +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -19
- package/plugins/filters/condition/notEmpty.mjs +1 -1
- package/plugins/filters/condition/notEqual.js +1 -19
- package/plugins/filters/condition/notEqual.mjs +1 -1
- package/plugins/filters/condition/true.js +1 -5
- package/plugins/filters/condition/true.mjs +1 -1
- package/plugins/filters/conditionCollection.js +31 -84
- package/plugins/filters/conditionCollection.mjs +39 -69
- package/plugins/filters/conditionRegisterer.js +5 -14
- package/plugins/filters/conditionRegisterer.mjs +5 -9
- package/plugins/filters/conditionUpdateObserver.js +29 -56
- package/plugins/filters/conditionUpdateObserver.mjs +29 -44
- package/plugins/filters/constants.js +15 -67
- package/plugins/filters/constants.mjs +15 -9
- package/plugins/filters/dataFilter.js +17 -20
- package/plugins/filters/dataFilter.mjs +17 -19
- package/plugins/filters/filters.js +110 -210
- package/plugins/filters/filters.mjs +110 -165
- package/plugins/filters/index.js +0 -2
- package/plugins/filters/logicalOperationRegisterer.js +3 -9
- package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
- package/plugins/filters/logicalOperations/conjunction.js +2 -19
- package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunction.js +2 -19
- package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
- package/plugins/filters/ui/_base.js +24 -62
- package/plugins/filters/ui/_base.mjs +26 -36
- package/plugins/filters/ui/input.js +13 -53
- package/plugins/filters/ui/input.mjs +13 -35
- package/plugins/filters/ui/link.js +9 -44
- package/plugins/filters/ui/link.mjs +9 -26
- package/plugins/filters/ui/multipleSelect.js +25 -113
- package/plugins/filters/ui/multipleSelect.mjs +26 -77
- package/plugins/filters/ui/radioInput.js +12 -48
- package/plugins/filters/ui/radioInput.mjs +12 -31
- package/plugins/filters/ui/select.js +20 -77
- package/plugins/filters/ui/select.mjs +20 -53
- package/plugins/filters/utils.js +6 -39
- package/plugins/filters/utils.mjs +6 -23
- package/plugins/formulas/engine/register.js +24 -74
- package/plugins/formulas/engine/register.mjs +24 -45
- package/plugins/formulas/engine/settings.js +16 -25
- package/plugins/formulas/engine/settings.mjs +16 -13
- package/plugins/formulas/formulas.js +127 -306
- package/plugins/formulas/formulas.mjs +128 -259
- package/plugins/formulas/index.js +0 -2
- package/plugins/formulas/utils.js +1 -3
- package/plugins/formulas/utils.mjs +1 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +5 -39
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +5 -21
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +17 -24
- package/plugins/hiddenColumns/hiddenColumns.js +77 -150
- package/plugins/hiddenColumns/hiddenColumns.mjs +77 -109
- package/plugins/hiddenColumns/index.js +0 -2
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +5 -39
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +5 -21
- package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +17 -24
- package/plugins/hiddenRows/hiddenRows.js +75 -149
- package/plugins/hiddenRows/hiddenRows.mjs +75 -108
- package/plugins/hiddenRows/index.js +0 -2
- package/plugins/index.js +0 -71
- package/plugins/index.mjs +0 -1
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +2 -29
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +2 -13
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +2 -29
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +2 -13
- package/plugins/manualColumnFreeze/index.js +0 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +27 -79
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +27 -55
- package/plugins/manualColumnMove/index.js +0 -2
- package/plugins/manualColumnMove/manualColumnMove.js +51 -135
- package/plugins/manualColumnMove/manualColumnMove.mjs +51 -107
- package/plugins/manualColumnMove/ui/_base.js +26 -31
- package/plugins/manualColumnMove/ui/_base.mjs +26 -28
- package/plugins/manualColumnMove/ui/backlight.js +7 -38
- package/plugins/manualColumnMove/ui/backlight.mjs +7 -23
- package/plugins/manualColumnMove/ui/guideline.js +7 -38
- package/plugins/manualColumnMove/ui/guideline.mjs +7 -23
- package/plugins/manualColumnResize/index.js +0 -2
- package/plugins/manualColumnResize/manualColumnResize.js +50 -144
- package/plugins/manualColumnResize/manualColumnResize.mjs +49 -119
- package/plugins/manualRowMove/index.js +0 -2
- package/plugins/manualRowMove/manualRowMove.js +51 -138
- package/plugins/manualRowMove/manualRowMove.mjs +51 -110
- package/plugins/manualRowMove/ui/_base.js +26 -28
- package/plugins/manualRowMove/ui/_base.mjs +26 -27
- package/plugins/manualRowMove/ui/backlight.js +7 -38
- package/plugins/manualRowMove/ui/backlight.mjs +7 -23
- package/plugins/manualRowMove/ui/guideline.js +7 -38
- package/plugins/manualRowMove/ui/guideline.mjs +7 -23
- package/plugins/manualRowResize/index.js +0 -2
- package/plugins/manualRowResize/manualRowResize.js +48 -139
- package/plugins/manualRowResize/manualRowResize.mjs +47 -113
- package/plugins/mergeCells/calculations/autofill.js +49 -133
- package/plugins/mergeCells/calculations/autofill.mjs +46 -117
- package/plugins/mergeCells/calculations/selection.js +22 -39
- package/plugins/mergeCells/calculations/selection.mjs +22 -36
- package/plugins/mergeCells/cellCoords.js +43 -50
- package/plugins/mergeCells/cellCoords.mjs +43 -48
- package/plugins/mergeCells/cellsCollection.js +22 -86
- package/plugins/mergeCells/cellsCollection.mjs +19 -63
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +0 -6
- package/plugins/mergeCells/index.js +0 -2
- package/plugins/mergeCells/mergeCells.js +136 -334
- package/plugins/mergeCells/mergeCells.mjs +136 -293
- package/plugins/mergeCells/utils.js +0 -3
- package/plugins/mergeCells/utils.mjs +0 -1
- package/plugins/multiColumnSorting/domHelpers.js +2 -12
- package/plugins/multiColumnSorting/domHelpers.mjs +2 -5
- package/plugins/multiColumnSorting/index.js +0 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +20 -67
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +20 -45
- package/plugins/multiColumnSorting/rootComparator.js +2 -26
- package/plugins/multiColumnSorting/rootComparator.mjs +2 -15
- package/plugins/multiColumnSorting/utils.js +0 -7
- package/plugins/multiColumnSorting/utils.mjs +0 -4
- package/plugins/multipleSelectionHandles/index.js +0 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +12 -110
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +12 -88
- package/plugins/nestedHeaders/index.js +0 -2
- package/plugins/nestedHeaders/nestedHeaders.js +198 -211
- package/plugins/nestedHeaders/nestedHeaders.mjs +206 -191
- package/plugins/nestedHeaders/stateManager/headersTree.js +26 -96
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +26 -76
- package/plugins/nestedHeaders/stateManager/index.js +55 -118
- package/plugins/nestedHeaders/stateManager/index.mjs +61 -105
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +7 -18
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +12 -17
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +10 -15
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +3 -13
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +1 -3
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +3 -14
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +5 -20
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +27 -81
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +33 -71
- package/plugins/nestedHeaders/stateManager/utils.js +19 -22
- package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
- package/plugins/nestedHeaders/utils/ghostTable.js +23 -37
- package/plugins/nestedHeaders/utils/ghostTable.mjs +23 -36
- package/plugins/nestedRows/data/dataManager.js +47 -162
- package/plugins/nestedRows/data/dataManager.mjs +45 -143
- package/plugins/nestedRows/index.js +0 -2
- package/plugins/nestedRows/nestedRows.js +46 -119
- package/plugins/nestedRows/nestedRows.mjs +46 -86
- package/plugins/nestedRows/ui/_base.js +14 -8
- package/plugins/nestedRows/ui/_base.mjs +14 -7
- package/plugins/nestedRows/ui/collapsing.js +33 -133
- package/plugins/nestedRows/ui/collapsing.mjs +33 -111
- package/plugins/nestedRows/ui/contextMenu.js +9 -55
- package/plugins/nestedRows/ui/contextMenu.mjs +8 -33
- package/plugins/nestedRows/ui/headers.js +10 -49
- package/plugins/nestedRows/ui/headers.mjs +10 -34
- package/plugins/nestedRows/utils/rowMoveController.js +36 -79
- package/plugins/nestedRows/utils/rowMoveController.mjs +45 -71
- package/plugins/persistentState/index.js +0 -2
- package/plugins/persistentState/persistentState.js +16 -59
- package/plugins/persistentState/persistentState.mjs +16 -38
- package/plugins/persistentState/storage.js +22 -24
- package/plugins/persistentState/storage.mjs +22 -22
- package/plugins/registry.js +8 -52
- package/plugins/registry.mjs +8 -33
- package/plugins/search/index.js +0 -2
- package/plugins/search/search.js +22 -97
- package/plugins/search/search.mjs +22 -68
- package/plugins/touchScroll/index.js +0 -2
- package/plugins/touchScroll/touchScroll.js +21 -77
- package/plugins/touchScroll/touchScroll.mjs +21 -59
- package/plugins/trimRows/index.js +0 -2
- package/plugins/trimRows/trimRows.js +64 -86
- package/plugins/trimRows/trimRows.mjs +64 -63
- package/plugins/undoRedo/index.js +0 -14
- package/plugins/undoRedo/undoRedo.js +98 -250
- package/plugins/undoRedo/undoRedo.mjs +98 -220
- package/registry.js +0 -11
- package/registry.mjs +1 -2
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
- package/renderers/autocompleteRenderer/index.js +0 -2
- package/renderers/baseRenderer/baseRenderer.js +2 -11
- package/renderers/baseRenderer/baseRenderer.mjs +1 -7
- package/renderers/baseRenderer/index.js +0 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
- package/renderers/checkboxRenderer/index.js +0 -2
- package/renderers/htmlRenderer/htmlRenderer.js +1 -7
- package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
- package/renderers/htmlRenderer/index.js +0 -2
- package/renderers/index.js +0 -19
- package/renderers/index.mjs +0 -1
- package/renderers/numericRenderer/index.js +0 -2
- package/renderers/numericRenderer/numericRenderer.js +1 -21
- package/renderers/numericRenderer/numericRenderer.mjs +1 -9
- package/renderers/passwordRenderer/index.js +0 -2
- package/renderers/passwordRenderer/passwordRenderer.js +1 -8
- package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
- package/renderers/registry.js +7 -16
- package/renderers/registry.mjs +7 -14
- package/renderers/textRenderer/index.js +0 -2
- package/renderers/textRenderer/textRenderer.js +1 -13
- package/renderers/textRenderer/textRenderer.mjs +1 -5
- package/renderers/timeRenderer/index.js +0 -2
- package/renderers/timeRenderer/timeRenderer.js +1 -6
- package/renderers/timeRenderer/timeRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +24 -73
- package/selection/highlight/highlight.mjs +24 -50
- package/selection/highlight/types/activeHeader.js +14 -23
- package/selection/highlight/types/activeHeader.mjs +14 -12
- package/selection/highlight/types/area.js +15 -24
- package/selection/highlight/types/area.mjs +15 -13
- package/selection/highlight/types/cell.js +14 -23
- package/selection/highlight/types/cell.mjs +14 -12
- package/selection/highlight/types/customSelection.js +15 -24
- package/selection/highlight/types/customSelection.mjs +15 -13
- package/selection/highlight/types/fill.js +16 -20
- package/selection/highlight/types/fill.mjs +16 -9
- package/selection/highlight/types/header.js +16 -25
- package/selection/highlight/types/header.mjs +16 -14
- package/selection/highlight/types/index.js +17 -27
- package/selection/highlight/types/index.mjs +17 -13
- package/selection/highlight/visualSelection.js +35 -80
- package/selection/highlight/visualSelection.mjs +35 -68
- package/selection/index.js +0 -14
- package/selection/mouseEventHandler.js +19 -30
- package/selection/mouseEventHandler.mjs +19 -22
- package/selection/range.js +17 -30
- package/selection/range.mjs +17 -21
- package/selection/selection.js +72 -160
- package/selection/selection.mjs +77 -137
- package/selection/transformation.js +23 -39
- package/selection/transformation.mjs +23 -36
- package/selection/utils.js +23 -71
- package/selection/utils.mjs +23 -48
- package/shortcuts/context.js +24 -79
- package/shortcuts/context.mjs +24 -56
- package/shortcuts/index.js +0 -2
- package/shortcuts/keyObserver.js +0 -9
- package/shortcuts/keyObserver.mjs +0 -4
- package/shortcuts/manager.js +17 -37
- package/shortcuts/manager.mjs +17 -34
- package/shortcuts/recorder.js +9 -40
- package/shortcuts/recorder.mjs +9 -31
- package/shortcuts/utils.js +5 -20
- package/shortcuts/utils.mjs +5 -6
- package/tableView.js +239 -330
- package/tableView.mjs +239 -308
- package/translations/changesObservable/observable.js +14 -53
- package/translations/changesObservable/observable.mjs +14 -43
- package/translations/changesObservable/observer.js +13 -31
- package/translations/changesObservable/observer.mjs +13 -23
- package/translations/changesObservable/utils.js +1 -5
- package/translations/changesObservable/utils.mjs +1 -4
- package/translations/index.js +0 -11
- package/translations/indexMapper.js +80 -162
- package/translations/indexMapper.mjs +85 -134
- package/translations/mapCollections/aggregatedCollection.js +14 -50
- package/translations/mapCollections/aggregatedCollection.mjs +14 -37
- package/translations/mapCollections/index.js +0 -7
- package/translations/mapCollections/mapCollection.js +20 -34
- package/translations/mapCollections/mapCollection.mjs +20 -23
- package/translations/maps/hidingMap.js +7 -34
- package/translations/maps/hidingMap.mjs +7 -22
- package/translations/maps/index.js +1 -24
- package/translations/maps/index.mjs +1 -3
- package/translations/maps/indexMap.js +25 -33
- package/translations/maps/indexMap.mjs +25 -27
- package/translations/maps/indexesSequence.js +8 -40
- package/translations/maps/indexesSequence.mjs +8 -25
- package/translations/maps/linkedPhysicalIndexToValueMap.js +18 -81
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +17 -54
- package/translations/maps/physicalIndexToValueMap.js +7 -38
- package/translations/maps/physicalIndexToValueMap.mjs +7 -24
- package/translations/maps/trimmingMap.js +7 -34
- package/translations/maps/trimmingMap.mjs +7 -22
- package/translations/maps/utils/actionsOnIndexes.js +1 -7
- package/translations/maps/utils/actionsOnIndexes.mjs +1 -3
- package/translations/maps/utils/index.js +0 -13
- package/translations/maps/utils/index.mjs +0 -3
- package/translations/maps/utils/indexesSequence.js +1 -24
- package/translations/maps/utils/indexesSequence.mjs +1 -9
- package/translations/maps/utils/physicallyIndexed.js +1 -27
- package/translations/maps/utils/physicallyIndexed.mjs +1 -10
- package/utils/dataStructures/linkedList.js +23 -50
- package/utils/dataStructures/linkedList.mjs +23 -48
- package/utils/dataStructures/priorityMap.js +9 -47
- package/utils/dataStructures/priorityMap.mjs +9 -30
- package/utils/dataStructures/queue.js +19 -16
- package/utils/dataStructures/queue.mjs +19 -15
- package/utils/dataStructures/stack.js +19 -16
- package/utils/dataStructures/stack.mjs +19 -15
- package/utils/dataStructures/tree.js +19 -77
- package/utils/dataStructures/tree.mjs +19 -56
- package/utils/dataStructures/uniqueMap.js +18 -57
- package/utils/dataStructures/uniqueMap.mjs +18 -43
- package/utils/dataStructures/uniqueSet.js +5 -32
- package/utils/dataStructures/uniqueSet.mjs +5 -19
- package/utils/ghostTable.js +42 -106
- package/utils/ghostTable.mjs +40 -90
- package/utils/interval.js +17 -29
- package/utils/interval.mjs +18 -26
- package/utils/parseTable.js +11 -92
- package/utils/parseTable.mjs +11 -62
- package/utils/rootInstance.js +3 -14
- package/utils/rootInstance.mjs +3 -3
- package/utils/samplesGenerator.js +25 -51
- package/utils/samplesGenerator.mjs +25 -42
- package/utils/staticRegister.js +6 -33
- package/utils/staticRegister.mjs +6 -19
- package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
- package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
- package/validators/autocompleteValidator/index.js +0 -2
- package/validators/dateValidator/dateValidator.js +2 -21
- package/validators/dateValidator/dateValidator.mjs +2 -11
- package/validators/dateValidator/index.js +0 -2
- package/validators/index.js +0 -11
- package/validators/index.mjs +0 -1
- package/validators/numericValidator/index.js +0 -2
- package/validators/numericValidator/numericValidator.js +1 -7
- package/validators/numericValidator/numericValidator.mjs +1 -3
- package/validators/registry.js +7 -16
- package/validators/registry.mjs +7 -14
- package/validators/timeValidator/index.js +0 -2
- package/validators/timeValidator/timeValidator.js +6 -18
- package/validators/timeValidator/timeValidator.mjs +8 -13
@@ -1,280 +1,238 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
+
require("core-js/modules/es.symbol.to-primitive.js");
|
4
|
+
require("core-js/modules/es.date.to-primitive.js");
|
5
|
+
require("core-js/modules/es.symbol.js");
|
6
|
+
require("core-js/modules/es.symbol.description.js");
|
7
|
+
require("core-js/modules/es.number.constructor.js");
|
3
8
|
require("core-js/modules/es.object.set-prototype-of.js");
|
4
|
-
|
5
9
|
require("core-js/modules/es.object.get-prototype-of.js");
|
6
|
-
|
7
10
|
require("core-js/modules/es.reflect.construct.js");
|
8
|
-
|
9
11
|
require("core-js/modules/es.reflect.get.js");
|
10
|
-
|
11
12
|
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
12
|
-
|
13
|
-
require("core-js/modules/es.symbol.js");
|
14
|
-
|
15
|
-
require("core-js/modules/es.symbol.description.js");
|
16
|
-
|
17
13
|
require("core-js/modules/es.symbol.iterator.js");
|
18
|
-
|
19
14
|
require("core-js/modules/es.array.slice.js");
|
20
|
-
|
21
15
|
require("core-js/modules/es.function.name.js");
|
22
|
-
|
23
|
-
require("core-js/modules/es.array.from.js");
|
24
|
-
|
25
16
|
exports.__esModule = true;
|
26
17
|
exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.CopyPaste = void 0;
|
27
|
-
|
18
|
+
require("core-js/modules/es.array.join.js");
|
19
|
+
require("core-js/modules/es.array.concat.js");
|
28
20
|
require("core-js/modules/es.array.iterator.js");
|
29
|
-
|
21
|
+
require("core-js/modules/es.map.js");
|
30
22
|
require("core-js/modules/es.object.to-string.js");
|
31
|
-
|
32
23
|
require("core-js/modules/es.string.iterator.js");
|
33
|
-
|
34
|
-
require("core-js/modules/es.weak-map.js");
|
35
|
-
|
36
24
|
require("core-js/modules/web.dom-collections.iterator.js");
|
37
|
-
|
38
|
-
require("core-js/modules/es.array.
|
39
|
-
|
40
|
-
require("core-js/modules/es.array.index-of.js");
|
41
|
-
|
25
|
+
require("core-js/modules/es.array.map.js");
|
26
|
+
require("core-js/modules/es.array.filter.js");
|
27
|
+
require("core-js/modules/es.array.from.js");
|
42
28
|
require("core-js/modules/es.regexp.exec.js");
|
43
|
-
|
44
|
-
require("core-js/modules/es.
|
45
|
-
|
29
|
+
require("core-js/modules/es.weak-map.js");
|
30
|
+
require("core-js/modules/es.weak-set.js");
|
46
31
|
var _base = require("../base");
|
47
|
-
|
48
32
|
var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
|
49
|
-
|
50
33
|
var _SheetClip = require("../../3rdparty/SheetClip");
|
51
|
-
|
52
34
|
var _array = require("../../helpers/array");
|
53
|
-
|
54
|
-
var _number = require("../../helpers/number");
|
55
|
-
|
56
35
|
var _string = require("../../helpers/string");
|
57
|
-
|
58
36
|
var _element = require("../../helpers/dom/element");
|
59
|
-
|
60
37
|
var _copy = _interopRequireDefault(require("./contextMenuItem/copy"));
|
61
|
-
|
38
|
+
var _copyColumnHeadersOnly = _interopRequireDefault(require("./contextMenuItem/copyColumnHeadersOnly"));
|
39
|
+
var _copyWithColumnGroupHeaders = _interopRequireDefault(require("./contextMenuItem/copyWithColumnGroupHeaders"));
|
40
|
+
var _copyWithColumnHeaders = _interopRequireDefault(require("./contextMenuItem/copyWithColumnHeaders"));
|
62
41
|
var _cut = _interopRequireDefault(require("./contextMenuItem/cut"));
|
63
|
-
|
64
42
|
var _pasteEvent = _interopRequireDefault(require("./pasteEvent"));
|
65
|
-
|
66
43
|
var _focusableElement = require("./focusableElement");
|
67
|
-
|
44
|
+
var _copyableRanges = require("./copyableRanges");
|
68
45
|
var _parseTable = require("../../utils/parseTable");
|
69
|
-
|
70
46
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
71
|
-
|
72
47
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
73
|
-
|
74
48
|
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."); }
|
75
|
-
|
76
49
|
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); }
|
77
|
-
|
78
50
|
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; }
|
79
|
-
|
80
|
-
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; }
|
81
|
-
|
51
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
82
52
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
83
|
-
|
84
53
|
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); }
|
85
|
-
|
86
54
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
87
|
-
|
88
|
-
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); } }
|
89
|
-
|
55
|
+
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); } }
|
90
56
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
91
|
-
|
92
57
|
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
|
93
|
-
|
94
58
|
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
95
|
-
|
96
59
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
97
|
-
|
98
60
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
99
|
-
|
100
61
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
101
|
-
|
102
62
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
103
|
-
|
104
63
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
105
|
-
|
106
64
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
107
|
-
|
108
65
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
109
|
-
|
66
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
67
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
68
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
69
|
+
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; }
|
70
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
71
|
+
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); }
|
72
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
73
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
74
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
75
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
76
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
77
|
+
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; } }
|
110
78
|
_pluginHooks.default.getSingleton().register('afterCopyLimit');
|
111
|
-
|
112
79
|
_pluginHooks.default.getSingleton().register('modifyCopyableRange');
|
113
|
-
|
114
80
|
_pluginHooks.default.getSingleton().register('beforeCut');
|
115
|
-
|
116
81
|
_pluginHooks.default.getSingleton().register('afterCut');
|
117
|
-
|
118
82
|
_pluginHooks.default.getSingleton().register('beforePaste');
|
119
|
-
|
120
83
|
_pluginHooks.default.getSingleton().register('afterPaste');
|
121
|
-
|
122
84
|
_pluginHooks.default.getSingleton().register('beforeCopy');
|
123
|
-
|
124
85
|
_pluginHooks.default.getSingleton().register('afterCopy');
|
125
|
-
|
126
86
|
var PLUGIN_KEY = 'copyPaste';
|
127
87
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
128
88
|
var PLUGIN_PRIORITY = 80;
|
129
89
|
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
130
90
|
var SETTING_KEYS = ['fragmentSelection'];
|
131
|
-
var ROWS_LIMIT = Infinity;
|
132
|
-
var COLUMNS_LIMIT = Infinity;
|
133
|
-
var privatePool = new WeakMap();
|
134
91
|
var META_HEAD = ['<meta name="generator" content="Handsontable"/>', '<style type="text/css">td{white-space:normal}br{mso-data-placement:same-cell}</style>'].join('');
|
135
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
136
92
|
|
93
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
137
94
|
/**
|
138
95
|
* @description
|
139
|
-
*
|
140
|
-
*
|
141
|
-
*
|
142
|
-
* * `true` (to enable default options),
|
143
|
-
* * `false` (to disable completely).
|
96
|
+
* Copy, cut, and paste data by using the `CopyPaste` plugin.
|
97
|
+
*
|
98
|
+
* Control the `CopyPaste` plugin programmatically through its [API methods](#methods).
|
144
99
|
*
|
145
|
-
*
|
146
|
-
*
|
147
|
-
*
|
148
|
-
*
|
149
|
-
* * `'uiContainer'` (see {@link CopyPaste#uiContainer}).
|
100
|
+
* The user can access the copy-paste features through:
|
101
|
+
* - The [context menu](@/guides/cell-features/clipboard.md#context-menu).
|
102
|
+
* - The [keyboard shortcuts](@/guides/cell-features/clipboard.md#related-keyboard-shortcuts).
|
103
|
+
* - The browser's menu bar.
|
150
104
|
*
|
151
|
-
*
|
105
|
+
* Read more:
|
106
|
+
* - [Guides: Clipboard](@/guides/cell-features/clipboard.md)
|
107
|
+
* - [Configuration options: `copyPaste`](@/api/options.md#copypaste)
|
152
108
|
*
|
153
109
|
* @example
|
154
110
|
* ```js
|
155
|
-
* //
|
111
|
+
* // enable the plugin with the default configuration
|
156
112
|
* copyPaste: true,
|
157
|
-
*
|
113
|
+
*
|
114
|
+
* // or, enable the plugin with a custom configuration
|
158
115
|
* copyPaste: {
|
159
116
|
* columnsLimit: 25,
|
160
117
|
* rowsLimit: 50,
|
161
118
|
* pasteMode: 'shift_down',
|
119
|
+
* copyColumnHeaders: true,
|
120
|
+
* copyColumnGroupHeaders: true,
|
121
|
+
* copyColumnHeadersOnly: true,
|
162
122
|
* uiContainer: document.body,
|
163
123
|
* },
|
164
124
|
* ```
|
165
125
|
* @class CopyPaste
|
166
126
|
* @plugin CopyPaste
|
167
127
|
*/
|
168
|
-
|
128
|
+
var _enableCopyColumnHeaders = /*#__PURE__*/new WeakMap();
|
129
|
+
var _enableCopyColumnGroupHeaders = /*#__PURE__*/new WeakMap();
|
130
|
+
var _enableCopyColumnHeadersOnly = /*#__PURE__*/new WeakMap();
|
131
|
+
var _copyMode = /*#__PURE__*/new WeakMap();
|
132
|
+
var _isTriggeredByCopy = /*#__PURE__*/new WeakMap();
|
133
|
+
var _isTriggeredByCut = /*#__PURE__*/new WeakMap();
|
134
|
+
var _copyableRangesFactory = /*#__PURE__*/new WeakMap();
|
135
|
+
var _countCopiedHeaders = /*#__PURE__*/new WeakSet();
|
169
136
|
var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
170
137
|
_inherits(CopyPaste, _BasePlugin);
|
171
|
-
|
172
138
|
var _super = _createSuper(CopyPaste);
|
173
|
-
|
174
|
-
function CopyPaste(hotInstance) {
|
139
|
+
function CopyPaste() {
|
175
140
|
var _this;
|
176
|
-
|
177
141
|
_classCallCheck(this, CopyPaste);
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
_this
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
_this
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
_this
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
privatePool.set(_assertThisInitialized(_this), {
|
231
|
-
isTriggeredByCopy: false,
|
232
|
-
isTriggeredByCut: false,
|
233
|
-
isBeginEditing: false,
|
234
|
-
isFragmentSelectionEnabled: false
|
142
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
143
|
+
args[_key] = arguments[_key];
|
144
|
+
}
|
145
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
146
|
+
_classPrivateMethodInitSpec(_assertThisInitialized(_this), _countCopiedHeaders);
|
147
|
+
_defineProperty(_assertThisInitialized(_this), "columnsLimit", Infinity);
|
148
|
+
_defineProperty(_assertThisInitialized(_this), "rowsLimit", Infinity);
|
149
|
+
_defineProperty(_assertThisInitialized(_this), "pasteMode", 'overwrite');
|
150
|
+
_defineProperty(_assertThisInitialized(_this), "uiContainer", _this.hot.rootDocument.body);
|
151
|
+
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _enableCopyColumnHeaders, {
|
152
|
+
writable: true,
|
153
|
+
value: false
|
154
|
+
});
|
155
|
+
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _enableCopyColumnGroupHeaders, {
|
156
|
+
writable: true,
|
157
|
+
value: false
|
158
|
+
});
|
159
|
+
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _enableCopyColumnHeadersOnly, {
|
160
|
+
writable: true,
|
161
|
+
value: false
|
162
|
+
});
|
163
|
+
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _copyMode, {
|
164
|
+
writable: true,
|
165
|
+
value: 'cells-only'
|
166
|
+
});
|
167
|
+
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _isTriggeredByCopy, {
|
168
|
+
writable: true,
|
169
|
+
value: false
|
170
|
+
});
|
171
|
+
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _isTriggeredByCut, {
|
172
|
+
writable: true,
|
173
|
+
value: false
|
174
|
+
});
|
175
|
+
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _copyableRangesFactory, {
|
176
|
+
writable: true,
|
177
|
+
value: new _copyableRanges.CopyableRangesFactory({
|
178
|
+
countRows: function countRows() {
|
179
|
+
return _this.hot.countRows();
|
180
|
+
},
|
181
|
+
countColumns: function countColumns() {
|
182
|
+
return _this.hot.countCols();
|
183
|
+
},
|
184
|
+
rowsLimit: function rowsLimit() {
|
185
|
+
return _this.rowsLimit;
|
186
|
+
},
|
187
|
+
columnsLimit: function columnsLimit() {
|
188
|
+
return _this.columnsLimit;
|
189
|
+
},
|
190
|
+
countColumnHeaders: function countColumnHeaders() {
|
191
|
+
return _this.hot.view.getColumnHeadersCount();
|
192
|
+
}
|
193
|
+
})
|
235
194
|
});
|
195
|
+
_defineProperty(_assertThisInitialized(_this), "copyableRanges", []);
|
196
|
+
_defineProperty(_assertThisInitialized(_this), "focusableElement", void 0);
|
236
197
|
return _this;
|
237
198
|
}
|
238
|
-
/**
|
239
|
-
* Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
|
240
|
-
* hook and if it returns `true` than the {@link CopyPaste#enablePlugin} method is called.
|
241
|
-
*
|
242
|
-
* @returns {boolean}
|
243
|
-
*/
|
244
|
-
|
245
|
-
|
246
199
|
_createClass(CopyPaste, [{
|
247
200
|
key: "isEnabled",
|
248
|
-
value:
|
201
|
+
value:
|
202
|
+
/**
|
203
|
+
* Checks if the [`CopyPaste`](#copypaste) plugin is enabled.
|
204
|
+
*
|
205
|
+
* This method gets called by Handsontable's [`beforeInit`](@/api/hooks.md#beforeinit) hook.
|
206
|
+
* If it returns `true`, the [`enablePlugin()`](#enableplugin) method gets called.
|
207
|
+
*
|
208
|
+
* @returns {boolean}
|
209
|
+
*/
|
210
|
+
function isEnabled() {
|
249
211
|
return !!this.hot.getSettings()[PLUGIN_KEY];
|
250
212
|
}
|
213
|
+
|
251
214
|
/**
|
252
|
-
* Enables the plugin
|
215
|
+
* Enables the [`CopyPaste`](#copypaste) plugin for your Handsontable instance.
|
253
216
|
*/
|
254
|
-
|
255
217
|
}, {
|
256
218
|
key: "enablePlugin",
|
257
219
|
value: function enablePlugin() {
|
258
220
|
var _this2 = this;
|
259
|
-
|
260
221
|
if (this.enabled) {
|
261
222
|
return;
|
262
223
|
}
|
263
|
-
|
264
224
|
var _this$hot$getSettings = this.hot.getSettings(),
|
265
|
-
|
266
|
-
fragmentSelection = _this$hot$getSettings.fragmentSelection;
|
267
|
-
|
268
|
-
var priv = privatePool.get(this);
|
269
|
-
priv.isFragmentSelectionEnabled = !!fragmentSelection;
|
270
|
-
|
225
|
+
settings = _this$hot$getSettings[PLUGIN_KEY];
|
271
226
|
if (_typeof(settings) === 'object') {
|
272
|
-
|
227
|
+
var _settings$pasteMode, _settings$uiContainer;
|
228
|
+
this.pasteMode = (_settings$pasteMode = settings.pasteMode) !== null && _settings$pasteMode !== void 0 ? _settings$pasteMode : this.pasteMode;
|
273
229
|
this.rowsLimit = isNaN(settings.rowsLimit) ? this.rowsLimit : settings.rowsLimit;
|
274
230
|
this.columnsLimit = isNaN(settings.columnsLimit) ? this.columnsLimit : settings.columnsLimit;
|
275
|
-
this
|
231
|
+
_classPrivateFieldSet(this, _enableCopyColumnHeaders, !!settings.copyColumnHeaders);
|
232
|
+
_classPrivateFieldSet(this, _enableCopyColumnGroupHeaders, !!settings.copyColumnGroupHeaders);
|
233
|
+
_classPrivateFieldSet(this, _enableCopyColumnHeadersOnly, !!settings.copyColumnHeadersOnly);
|
234
|
+
this.uiContainer = (_settings$uiContainer = settings.uiContainer) !== null && _settings$uiContainer !== void 0 ? _settings$uiContainer : this.uiContainer;
|
276
235
|
}
|
277
|
-
|
278
236
|
this.addHook('afterContextMenuDefaultOptions', function (options) {
|
279
237
|
return _this2.onAfterContextMenuDefaultOptions(options);
|
280
238
|
});
|
@@ -295,238 +253,266 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
295
253
|
}).addLocalHook('paste', function (event) {
|
296
254
|
return _this2.onPaste(event);
|
297
255
|
});
|
298
|
-
|
299
256
|
_get(_getPrototypeOf(CopyPaste.prototype), "enablePlugin", this).call(this);
|
300
257
|
}
|
258
|
+
|
301
259
|
/**
|
302
|
-
* Updates the plugin
|
260
|
+
* Updates the state of the [`CopyPaste`](#copypaste) plugin.
|
303
261
|
*
|
304
|
-
*
|
262
|
+
* Gets called when [`updateSettings()`](@/api/core.md#updatesettings)
|
263
|
+
* is invoked with any of the following configuration options:
|
305
264
|
* - [`copyPaste`](@/api/options.md#copypaste)
|
306
265
|
* - [`fragmentSelection`](@/api/options.md#fragmentselection)
|
307
266
|
*/
|
308
|
-
|
309
267
|
}, {
|
310
268
|
key: "updatePlugin",
|
311
269
|
value: function updatePlugin() {
|
312
270
|
this.disablePlugin();
|
313
271
|
this.enablePlugin();
|
314
272
|
this.getOrCreateFocusableElement();
|
315
|
-
|
316
273
|
_get(_getPrototypeOf(CopyPaste.prototype), "updatePlugin", this).call(this);
|
317
274
|
}
|
275
|
+
|
318
276
|
/**
|
319
|
-
* Disables the plugin
|
277
|
+
* Disables the [`CopyPaste`](#copypaste) plugin for your Handsontable instance.
|
320
278
|
*/
|
321
|
-
|
322
279
|
}, {
|
323
280
|
key: "disablePlugin",
|
324
281
|
value: function disablePlugin() {
|
325
282
|
if (this.focusableElement) {
|
326
283
|
(0, _focusableElement.destroyElement)(this.focusableElement);
|
327
284
|
}
|
328
|
-
|
329
285
|
_get(_getPrototypeOf(CopyPaste.prototype), "disablePlugin", this).call(this);
|
330
286
|
}
|
287
|
+
|
331
288
|
/**
|
332
|
-
* Copies the selected
|
289
|
+
* Copies the contents of the selected cells (and/or their related column headers) to the system clipboard.
|
290
|
+
*
|
291
|
+
* Takes an optional parameter (`copyMode`) that defines the scope of copying:
|
292
|
+
*
|
293
|
+
* | `copyMode` value | Description |
|
294
|
+
* | --------------------------- | --------------------------------------------------------------- |
|
295
|
+
* | `'cells-only'` (default) | Copy the selected cells |
|
296
|
+
* | `'with-column-headers'` | - Copy the selected cells<br>- Copy the nearest column headers |
|
297
|
+
* | `'with-all-column-headers'` | - Copy the selected cells<br>- Copy all related columns headers |
|
298
|
+
* | `'column-headers-only'` | Copy the nearest column headers (without copying cells) |
|
299
|
+
*
|
300
|
+
* @param {string} [copyMode='cells-only'] Copy mode.
|
333
301
|
*/
|
334
|
-
|
335
302
|
}, {
|
336
303
|
key: "copy",
|
337
304
|
value: function copy() {
|
338
|
-
var
|
339
|
-
|
305
|
+
var copyMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'cells-only';
|
306
|
+
_classPrivateFieldSet(this, _copyMode, copyMode);
|
307
|
+
_classPrivateFieldSet(this, _isTriggeredByCopy, true);
|
340
308
|
this.getOrCreateFocusableElement();
|
341
309
|
this.focusableElement.focus();
|
342
310
|
this.hot.rootDocument.execCommand('copy');
|
343
311
|
}
|
312
|
+
|
313
|
+
/**
|
314
|
+
* Copies the contents of the selected cells.
|
315
|
+
*/
|
316
|
+
}, {
|
317
|
+
key: "copyCellsOnly",
|
318
|
+
value: function copyCellsOnly() {
|
319
|
+
this.copy('cells-only');
|
320
|
+
}
|
321
|
+
/**
|
322
|
+
* Copies the contents of column headers that are nearest to the selected cells.
|
323
|
+
*/
|
324
|
+
}, {
|
325
|
+
key: "copyColumnHeadersOnly",
|
326
|
+
value: function copyColumnHeadersOnly() {
|
327
|
+
this.copy('column-headers-only');
|
328
|
+
}
|
344
329
|
/**
|
345
|
-
*
|
330
|
+
* Copies the contents of the selected cells and all their related column headers.
|
346
331
|
*/
|
332
|
+
}, {
|
333
|
+
key: "copyWithAllColumnHeaders",
|
334
|
+
value: function copyWithAllColumnHeaders() {
|
335
|
+
this.copy('with-column-group-headers');
|
336
|
+
}
|
337
|
+
/**
|
338
|
+
* Copies the contents of the selected cells and their nearest column headers.
|
339
|
+
*/
|
340
|
+
}, {
|
341
|
+
key: "copyWithColumnHeaders",
|
342
|
+
value: function copyWithColumnHeaders() {
|
343
|
+
this.copy('with-column-headers');
|
344
|
+
}
|
347
345
|
|
346
|
+
/**
|
347
|
+
* Cuts the contents of the selected cells to the system clipboard.
|
348
|
+
*/
|
348
349
|
}, {
|
349
350
|
key: "cut",
|
350
351
|
value: function cut() {
|
351
|
-
|
352
|
-
priv.isTriggeredByCut = true;
|
352
|
+
_classPrivateFieldSet(this, _isTriggeredByCut, true);
|
353
353
|
this.getOrCreateFocusableElement();
|
354
354
|
this.focusableElement.focus();
|
355
355
|
this.hot.rootDocument.execCommand('cut');
|
356
356
|
}
|
357
|
+
|
357
358
|
/**
|
358
|
-
*
|
359
|
+
* Converts the contents of multiple ranges (`ranges`) into a single string.
|
359
360
|
*
|
360
|
-
* @param {
|
361
|
-
* @returns {string}
|
361
|
+
* @param {Array<{startRow: number, startCol: number, endRow: number, endCol: number}>} ranges Array of objects with properties `startRow`, `endRow`, `startCol` and `endCol`.
|
362
|
+
* @returns {string} A string that will be copied to the clipboard.
|
362
363
|
*/
|
363
|
-
|
364
364
|
}, {
|
365
365
|
key: "getRangedCopyableData",
|
366
366
|
value: function getRangedCopyableData(ranges) {
|
367
|
-
|
368
|
-
|
369
|
-
var dataSet = [];
|
370
|
-
var copyableRows = [];
|
371
|
-
var copyableColumns = []; // Count all copyable rows and columns
|
372
|
-
|
373
|
-
(0, _array.arrayEach)(ranges, function (range) {
|
374
|
-
(0, _number.rangeEach)(range.startRow, range.endRow, function (row) {
|
375
|
-
if (copyableRows.indexOf(row) === -1) {
|
376
|
-
copyableRows.push(row);
|
377
|
-
}
|
378
|
-
});
|
379
|
-
(0, _number.rangeEach)(range.startCol, range.endCol, function (column) {
|
380
|
-
if (copyableColumns.indexOf(column) === -1) {
|
381
|
-
copyableColumns.push(column);
|
382
|
-
}
|
383
|
-
});
|
384
|
-
}); // Concat all rows and columns data defined in ranges into one copyable string
|
385
|
-
|
386
|
-
(0, _array.arrayEach)(copyableRows, function (row) {
|
387
|
-
var rowSet = [];
|
388
|
-
(0, _array.arrayEach)(copyableColumns, function (column) {
|
389
|
-
rowSet.push(_this3.hot.getCopyableData(row, column));
|
390
|
-
});
|
391
|
-
dataSet.push(rowSet);
|
392
|
-
});
|
393
|
-
return (0, _SheetClip.stringify)(dataSet);
|
367
|
+
return (0, _SheetClip.stringify)(this.getRangedData(ranges));
|
394
368
|
}
|
369
|
+
|
395
370
|
/**
|
396
|
-
*
|
371
|
+
* Converts the contents of multiple ranges (`ranges`) into an array of arrays.
|
397
372
|
*
|
398
|
-
* @param {
|
399
|
-
* @returns {Array[]}
|
373
|
+
* @param {Array<{startRow: number, startCol: number, endRow: number, endCol: number}>} ranges Array of objects with properties `startRow`, `startCol`, `endRow` and `endCol`.
|
374
|
+
* @returns {Array[]} An array of arrays that will be copied to the clipboard.
|
400
375
|
*/
|
401
|
-
|
402
376
|
}, {
|
403
377
|
key: "getRangedData",
|
404
378
|
value: function getRangedData(ranges) {
|
405
|
-
var
|
406
|
-
|
407
|
-
var
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
(0, _array.arrayEach)(ranges, function (range) {
|
412
|
-
(0, _number.rangeEach)(range.startRow, range.endRow, function (row) {
|
413
|
-
if (copyableRows.indexOf(row) === -1) {
|
414
|
-
copyableRows.push(row);
|
415
|
-
}
|
416
|
-
});
|
417
|
-
(0, _number.rangeEach)(range.startCol, range.endCol, function (column) {
|
418
|
-
if (copyableColumns.indexOf(column) === -1) {
|
419
|
-
copyableColumns.push(column);
|
420
|
-
}
|
421
|
-
});
|
422
|
-
}); // Concat all rows and columns data defined in ranges into one copyable string
|
379
|
+
var _this3 = this;
|
380
|
+
var data = [];
|
381
|
+
var _normalizeRanges = (0, _copyableRanges.normalizeRanges)(ranges),
|
382
|
+
rows = _normalizeRanges.rows,
|
383
|
+
columns = _normalizeRanges.columns;
|
423
384
|
|
424
|
-
|
385
|
+
// concatenate all rows and columns data defined in ranges into one copyable string
|
386
|
+
(0, _array.arrayEach)(rows, function (row) {
|
425
387
|
var rowSet = [];
|
426
|
-
(0, _array.arrayEach)(
|
427
|
-
|
388
|
+
(0, _array.arrayEach)(columns, function (column) {
|
389
|
+
if (row < 0) {
|
390
|
+
// `row` as the second argument acts here as the `headerLevel` argument
|
391
|
+
rowSet.push(_this3.hot.getColHeader(column, row));
|
392
|
+
} else {
|
393
|
+
rowSet.push(_this3.hot.getCopyableData(row, column));
|
394
|
+
}
|
428
395
|
});
|
429
|
-
|
396
|
+
data.push(rowSet);
|
430
397
|
});
|
431
|
-
return
|
398
|
+
return data;
|
432
399
|
}
|
400
|
+
|
433
401
|
/**
|
434
402
|
* Simulates the paste action.
|
435
403
|
*
|
436
|
-
*
|
404
|
+
* For security reasons, modern browsers don't allow reading from the system clipboard.
|
437
405
|
*
|
438
|
-
* @param {string} pastableText
|
439
|
-
* @param {string} [pastableHtml='']
|
406
|
+
* @param {string} pastableText The value to paste, as a raw string.
|
407
|
+
* @param {string} [pastableHtml=''] The value to paste, as HTML.
|
440
408
|
*/
|
441
|
-
|
442
409
|
}, {
|
443
410
|
key: "paste",
|
444
411
|
value: function paste() {
|
445
412
|
var pastableText = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
446
413
|
var pastableHtml = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : pastableText;
|
447
|
-
|
448
414
|
if (!pastableText && !pastableHtml) {
|
449
415
|
return;
|
450
416
|
}
|
451
|
-
|
452
417
|
var pasteData = new _pasteEvent.default();
|
453
|
-
|
454
418
|
if (pastableText) {
|
455
419
|
pasteData.clipboardData.setData('text/plain', pastableText);
|
456
420
|
}
|
457
|
-
|
458
421
|
if (pastableHtml) {
|
459
422
|
pasteData.clipboardData.setData('text/html', pastableHtml);
|
460
423
|
}
|
461
|
-
|
462
424
|
this.getOrCreateFocusableElement();
|
463
425
|
this.onPaste(pasteData);
|
464
426
|
}
|
427
|
+
|
465
428
|
/**
|
466
429
|
* Prepares copyable text from the cells selection in the invisible textarea.
|
467
430
|
*/
|
468
|
-
|
469
431
|
}, {
|
470
432
|
key: "setCopyableText",
|
471
433
|
value: function setCopyableText() {
|
472
|
-
var
|
473
|
-
|
474
|
-
if (!selRange) {
|
434
|
+
var selectionRange = this.hot.getSelectedRangeLast();
|
435
|
+
if (!selectionRange) {
|
475
436
|
return;
|
476
437
|
}
|
477
|
-
|
478
|
-
var
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
438
|
+
_classPrivateFieldGet(this, _copyableRangesFactory).setSelectedRange(selectionRange);
|
439
|
+
var groupedRanges = new Map([['headers', null], ['cells', null]]);
|
440
|
+
if (_classPrivateFieldGet(this, _copyMode) === 'column-headers-only') {
|
441
|
+
groupedRanges.set('headers', _classPrivateFieldGet(this, _copyableRangesFactory).getMostBottomColumnHeadersRange());
|
442
|
+
} else {
|
443
|
+
if (_classPrivateFieldGet(this, _copyMode) === 'with-column-headers') {
|
444
|
+
groupedRanges.set('headers', _classPrivateFieldGet(this, _copyableRangesFactory).getMostBottomColumnHeadersRange());
|
445
|
+
} else if (_classPrivateFieldGet(this, _copyMode) === 'with-column-group-headers') {
|
446
|
+
groupedRanges.set('headers', _classPrivateFieldGet(this, _copyableRangesFactory).getAllColumnHeadersRange());
|
447
|
+
}
|
448
|
+
groupedRanges.set('cells', _classPrivateFieldGet(this, _copyableRangesFactory).getCellsRange());
|
449
|
+
}
|
450
|
+
this.copyableRanges = Array.from(groupedRanges.values()).filter(function (range) {
|
451
|
+
return range !== null;
|
452
|
+
}).map(function (_ref) {
|
453
|
+
var startRow = _ref.startRow,
|
454
|
+
startCol = _ref.startCol,
|
455
|
+
endRow = _ref.endRow,
|
456
|
+
endCol = _ref.endCol;
|
457
|
+
return {
|
458
|
+
startRow: startRow,
|
459
|
+
startCol: startCol,
|
460
|
+
endRow: endRow,
|
461
|
+
endCol: endCol
|
462
|
+
};
|
492
463
|
});
|
493
464
|
this.copyableRanges = this.hot.runHooks('modifyCopyableRange', this.copyableRanges);
|
494
|
-
|
495
|
-
if (
|
465
|
+
var cellsRange = groupedRanges.get('cells');
|
466
|
+
if (cellsRange !== null && cellsRange.isRangeTrimmed) {
|
467
|
+
var startRow = cellsRange.startRow,
|
468
|
+
startCol = cellsRange.startCol,
|
469
|
+
endRow = cellsRange.endRow,
|
470
|
+
endCol = cellsRange.endCol;
|
496
471
|
this.hot.runHooks('afterCopyLimit', endRow - startRow + 1, endCol - startCol + 1, this.rowsLimit, this.columnsLimit);
|
497
472
|
}
|
498
473
|
}
|
474
|
+
|
499
475
|
/**
|
500
476
|
* Force focus on editable element.
|
501
477
|
*
|
502
478
|
* @private
|
503
479
|
*/
|
504
|
-
|
505
480
|
}, {
|
506
481
|
key: "getOrCreateFocusableElement",
|
507
482
|
value: function getOrCreateFocusableElement() {
|
508
|
-
var
|
509
|
-
var editableElement =
|
510
|
-
|
483
|
+
var _this$hot$getActiveEd;
|
484
|
+
var editableElement = (_this$hot$getActiveEd = this.hot.getActiveEditor()) === null || _this$hot$getActiveEd === void 0 ? void 0 : _this$hot$getActiveEd.TEXTAREA;
|
511
485
|
if (editableElement) {
|
512
486
|
this.focusableElement.setFocusableElement(editableElement);
|
513
487
|
} else {
|
514
488
|
this.focusableElement.useSecondaryElement();
|
515
489
|
}
|
516
490
|
}
|
491
|
+
|
517
492
|
/**
|
518
493
|
* Verifies if editor exists and is open.
|
519
494
|
*
|
520
495
|
* @private
|
521
496
|
* @returns {boolean}
|
522
497
|
*/
|
523
|
-
|
524
498
|
}, {
|
525
499
|
key: "isEditorOpened",
|
526
500
|
value: function isEditorOpened() {
|
527
|
-
var
|
528
|
-
return
|
501
|
+
var _this$hot$getActiveEd2;
|
502
|
+
return (_this$hot$getActiveEd2 = this.hot.getActiveEditor()) === null || _this$hot$getActiveEd2 === void 0 ? void 0 : _this$hot$getActiveEd2.isOpened();
|
529
503
|
}
|
504
|
+
|
505
|
+
/**
|
506
|
+
* Counts how many column headers will be copied based on the passed range.
|
507
|
+
*
|
508
|
+
* @private
|
509
|
+
* @param {Array<{startRow: number, startCol: number, endRow: number, endCol: number}>} ranges Array of objects with properties `startRow`, `startCol`, `endRow` and `endCol`.
|
510
|
+
* @returns {{ columnHeadersCount: number }} Returns an object with keys that holds
|
511
|
+
* information with the number of copied headers.
|
512
|
+
*/
|
513
|
+
}, {
|
514
|
+
key: "populateValues",
|
515
|
+
value:
|
530
516
|
/**
|
531
517
|
* Prepares new values to populate them into datasource.
|
532
518
|
*
|
@@ -535,136 +521,110 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
535
521
|
* @param {Array} [selection] The selection which indicates from what position the data will be populated.
|
536
522
|
* @returns {Array} Range coordinates after populate data.
|
537
523
|
*/
|
538
|
-
|
539
|
-
}, {
|
540
|
-
key: "populateValues",
|
541
|
-
value: function populateValues(inputArray) {
|
524
|
+
function populateValues(inputArray) {
|
542
525
|
var selection = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.hot.getSelectedRangeLast();
|
543
|
-
|
544
526
|
if (!inputArray.length) {
|
545
527
|
return;
|
546
528
|
}
|
547
|
-
|
548
529
|
var populatedRowsLength = inputArray.length;
|
549
530
|
var populatedColumnsLength = inputArray[0].length;
|
550
531
|
var newRows = [];
|
551
|
-
|
552
532
|
var _selection$getTopStar = selection.getTopStartCorner(),
|
553
|
-
|
554
|
-
|
555
|
-
|
533
|
+
startRow = _selection$getTopStar.row,
|
534
|
+
startColumn = _selection$getTopStar.col;
|
556
535
|
var _selection$getBottomE = selection.getBottomEndCorner(),
|
557
|
-
|
558
|
-
|
559
|
-
|
536
|
+
endRowFromSelection = _selection$getBottomE.row,
|
537
|
+
endColumnFromSelection = _selection$getBottomE.col;
|
560
538
|
var visualRowForPopulatedData = startRow;
|
561
539
|
var visualColumnForPopulatedData = startColumn;
|
562
540
|
var lastVisualRow = startRow;
|
563
|
-
var lastVisualColumn = startColumn;
|
541
|
+
var lastVisualColumn = startColumn;
|
542
|
+
|
543
|
+
// We try to populate just all copied data or repeat copied data within a selection. Please keep in mind that we
|
564
544
|
// don't know whether populated data is bigger than selection on start as there are some cells for which values
|
565
545
|
// should be not inserted (it's known right after getting cell meta).
|
566
|
-
|
567
546
|
while (newRows.length < populatedRowsLength || visualRowForPopulatedData <= endRowFromSelection) {
|
568
547
|
var _this$hot$getCellMeta = this.hot.getCellMeta(visualRowForPopulatedData, startColumn),
|
569
|
-
|
570
|
-
|
571
|
-
|
548
|
+
skipRowOnPaste = _this$hot$getCellMeta.skipRowOnPaste,
|
549
|
+
visualRow = _this$hot$getCellMeta.visualRow;
|
572
550
|
visualRowForPopulatedData = visualRow + 1;
|
573
|
-
|
574
551
|
if (skipRowOnPaste === true) {
|
575
552
|
/* eslint-disable no-continue */
|
576
553
|
continue;
|
577
554
|
}
|
578
|
-
|
579
555
|
lastVisualRow = visualRow;
|
580
556
|
visualColumnForPopulatedData = startColumn;
|
581
557
|
var newRow = [];
|
582
558
|
var insertedRow = newRows.length % populatedRowsLength;
|
583
|
-
|
584
559
|
while (newRow.length < populatedColumnsLength || visualColumnForPopulatedData <= endColumnFromSelection) {
|
585
560
|
var _this$hot$getCellMeta2 = this.hot.getCellMeta(startRow, visualColumnForPopulatedData),
|
586
|
-
|
587
|
-
|
588
|
-
|
561
|
+
skipColumnOnPaste = _this$hot$getCellMeta2.skipColumnOnPaste,
|
562
|
+
visualCol = _this$hot$getCellMeta2.visualCol;
|
589
563
|
visualColumnForPopulatedData = visualCol + 1;
|
590
|
-
|
591
564
|
if (skipColumnOnPaste === true) {
|
592
565
|
/* eslint-disable no-continue */
|
593
566
|
continue;
|
594
567
|
}
|
595
|
-
|
596
568
|
lastVisualColumn = visualCol;
|
597
569
|
var insertedColumn = newRow.length % populatedColumnsLength;
|
598
570
|
newRow.push(inputArray[insertedRow][insertedColumn]);
|
599
571
|
}
|
600
|
-
|
601
572
|
newRows.push(newRow);
|
602
573
|
}
|
603
|
-
|
604
574
|
this.hot.populateFromArray(startRow, startColumn, newRows, void 0, void 0, 'CopyPaste.paste', this.pasteMode);
|
605
575
|
return [startRow, startColumn, lastVisualRow, lastVisualColumn];
|
606
576
|
}
|
577
|
+
|
607
578
|
/**
|
608
579
|
* `copy` event callback on textarea element.
|
609
580
|
*
|
610
581
|
* @param {Event} event ClipboardEvent.
|
611
582
|
* @private
|
612
583
|
*/
|
613
|
-
|
614
584
|
}, {
|
615
585
|
key: "onCopy",
|
616
586
|
value: function onCopy(event) {
|
617
|
-
|
618
|
-
|
619
|
-
if (!this.hot.isListening() && !priv.isTriggeredByCopy || this.isEditorOpened()) {
|
587
|
+
if (!this.hot.isListening() && !_classPrivateFieldGet(this, _isTriggeredByCopy) || this.isEditorOpened()) {
|
620
588
|
return;
|
621
589
|
}
|
622
|
-
|
623
590
|
this.setCopyableText();
|
624
|
-
|
625
|
-
var
|
626
|
-
var
|
627
|
-
|
591
|
+
_classPrivateFieldSet(this, _isTriggeredByCopy, false);
|
592
|
+
var data = this.getRangedData(this.copyableRanges);
|
593
|
+
var copiedHeadersCount = _classPrivateMethodGet(this, _countCopiedHeaders, _countCopiedHeaders2).call(this, this.copyableRanges);
|
594
|
+
var allowCopying = !!this.hot.runHooks('beforeCopy', data, this.copyableRanges, copiedHeadersCount);
|
628
595
|
if (allowCopying) {
|
629
|
-
var textPlain = (0, _SheetClip.stringify)(
|
630
|
-
|
596
|
+
var textPlain = (0, _SheetClip.stringify)(data);
|
631
597
|
if (event && event.clipboardData) {
|
632
|
-
var textHTML = (0, _parseTable._dataToHTML)(
|
598
|
+
var textHTML = (0, _parseTable._dataToHTML)(data, this.hot.rootDocument);
|
633
599
|
event.clipboardData.setData('text/plain', textPlain);
|
634
600
|
event.clipboardData.setData('text/html', [META_HEAD, textHTML].join(''));
|
635
601
|
} else if (typeof ClipboardEvent === 'undefined') {
|
636
602
|
this.hot.rootWindow.clipboardData.setData('Text', textPlain);
|
637
603
|
}
|
638
|
-
|
639
|
-
this.hot.runHooks('afterCopy', rangedData, this.copyableRanges);
|
604
|
+
this.hot.runHooks('afterCopy', data, this.copyableRanges, copiedHeadersCount);
|
640
605
|
}
|
641
|
-
|
606
|
+
_classPrivateFieldSet(this, _copyMode, 'cells-only');
|
642
607
|
event.preventDefault();
|
643
608
|
}
|
609
|
+
|
644
610
|
/**
|
645
611
|
* `cut` event callback on textarea element.
|
646
612
|
*
|
647
613
|
* @param {Event} event ClipboardEvent.
|
648
614
|
* @private
|
649
615
|
*/
|
650
|
-
|
651
616
|
}, {
|
652
617
|
key: "onCut",
|
653
618
|
value: function onCut(event) {
|
654
|
-
|
655
|
-
|
656
|
-
if (!this.hot.isListening() && !priv.isTriggeredByCut || this.isEditorOpened()) {
|
619
|
+
if (!this.hot.isListening() && !_classPrivateFieldGet(this, _isTriggeredByCut) || this.isEditorOpened()) {
|
657
620
|
return;
|
658
621
|
}
|
659
|
-
|
660
622
|
this.setCopyableText();
|
661
|
-
|
623
|
+
_classPrivateFieldSet(this, _isTriggeredByCut, false);
|
662
624
|
var rangedData = this.getRangedData(this.copyableRanges);
|
663
625
|
var allowCuttingOut = !!this.hot.runHooks('beforeCut', rangedData, this.copyableRanges);
|
664
|
-
|
665
626
|
if (allowCuttingOut) {
|
666
627
|
var textPlain = (0, _SheetClip.stringify)(rangedData);
|
667
|
-
|
668
628
|
if (event && event.clipboardData) {
|
669
629
|
var textHTML = (0, _parseTable._dataToHTML)(rangedData, this.hot.rootDocument);
|
670
630
|
event.clipboardData.setData('text/plain', textPlain);
|
@@ -672,40 +632,34 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
672
632
|
} else if (typeof ClipboardEvent === 'undefined') {
|
673
633
|
this.hot.rootWindow.clipboardData.setData('Text', textPlain);
|
674
634
|
}
|
675
|
-
|
676
635
|
this.hot.emptySelectedCells('CopyPaste.cut');
|
677
636
|
this.hot.runHooks('afterCut', rangedData, this.copyableRanges);
|
678
637
|
}
|
679
|
-
|
680
638
|
event.preventDefault();
|
681
639
|
}
|
640
|
+
|
682
641
|
/**
|
683
642
|
* `paste` event callback on textarea element.
|
684
643
|
*
|
685
644
|
* @param {Event} event ClipboardEvent or pseudo ClipboardEvent, if paste was called manually.
|
686
645
|
* @private
|
687
646
|
*/
|
688
|
-
|
689
647
|
}, {
|
690
648
|
key: "onPaste",
|
691
649
|
value: function onPaste(event) {
|
692
650
|
if (!this.hot.isListening() || this.isEditorOpened()) {
|
693
651
|
return;
|
694
652
|
}
|
695
|
-
|
696
653
|
if (event && event.preventDefault) {
|
697
654
|
event.preventDefault();
|
698
655
|
}
|
699
|
-
|
700
656
|
var pastedData;
|
701
|
-
|
702
657
|
if (event && typeof event.clipboardData !== 'undefined') {
|
703
658
|
var textHTML = (0, _string.sanitize)(event.clipboardData.getData('text/html'), {
|
704
659
|
ADD_TAGS: ['meta'],
|
705
660
|
ADD_ATTR: ['content'],
|
706
661
|
FORCE_BODY: true
|
707
662
|
});
|
708
|
-
|
709
663
|
if (textHTML && /(<table)|(<TABLE)/g.test(textHTML)) {
|
710
664
|
var parsedConfig = (0, _parseTable.htmlToGridSettings)(textHTML, this.hot.rootDocument);
|
711
665
|
pastedData = parsedConfig.data;
|
@@ -715,49 +669,54 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
715
669
|
} else if (typeof ClipboardEvent === 'undefined' && typeof this.hot.rootWindow.clipboardData !== 'undefined') {
|
716
670
|
pastedData = this.hot.rootWindow.clipboardData.getData('Text');
|
717
671
|
}
|
718
|
-
|
719
672
|
if (typeof pastedData === 'string') {
|
720
673
|
pastedData = (0, _SheetClip.parse)(pastedData);
|
721
674
|
}
|
722
|
-
|
723
675
|
if (pastedData && pastedData.length === 0) {
|
724
676
|
return;
|
725
677
|
}
|
726
|
-
|
727
678
|
if (this.hot.runHooks('beforePaste', pastedData, this.copyableRanges) === false) {
|
728
679
|
return;
|
729
680
|
}
|
730
|
-
|
731
681
|
var _this$populateValues = this.populateValues(pastedData),
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
682
|
+
_this$populateValues2 = _slicedToArray(_this$populateValues, 4),
|
683
|
+
startRow = _this$populateValues2[0],
|
684
|
+
startColumn = _this$populateValues2[1],
|
685
|
+
endRow = _this$populateValues2[2],
|
686
|
+
endColumn = _this$populateValues2[3];
|
738
687
|
this.hot.selectCell(startRow, startColumn, Math.min(this.hot.countRows() - 1, endRow), Math.min(this.hot.countCols() - 1, endColumn));
|
739
688
|
this.hot.runHooks('afterPaste', pastedData, this.copyableRanges);
|
740
689
|
}
|
690
|
+
|
741
691
|
/**
|
742
692
|
* Add copy and cut options to the Context Menu.
|
743
693
|
*
|
744
694
|
* @private
|
745
695
|
* @param {object} options Contains default added options of the Context Menu.
|
746
696
|
*/
|
747
|
-
|
748
697
|
}, {
|
749
698
|
key: "onAfterContextMenuDefaultOptions",
|
750
699
|
value: function onAfterContextMenuDefaultOptions(options) {
|
751
700
|
options.items.push({
|
752
701
|
name: '---------'
|
753
|
-
}, (0, _copy.default)(this)
|
702
|
+
}, (0, _copy.default)(this));
|
703
|
+
if (_classPrivateFieldGet(this, _enableCopyColumnHeaders)) {
|
704
|
+
options.items.push((0, _copyWithColumnHeaders.default)(this));
|
705
|
+
}
|
706
|
+
if (_classPrivateFieldGet(this, _enableCopyColumnGroupHeaders)) {
|
707
|
+
options.items.push((0, _copyWithColumnGroupHeaders.default)(this));
|
708
|
+
}
|
709
|
+
if (_classPrivateFieldGet(this, _enableCopyColumnHeadersOnly)) {
|
710
|
+
options.items.push((0, _copyColumnHeadersOnly.default)(this));
|
711
|
+
}
|
712
|
+
options.items.push((0, _cut.default)(this));
|
754
713
|
}
|
714
|
+
|
755
715
|
/**
|
756
716
|
* Force focus on focusableElement.
|
757
717
|
*
|
758
718
|
* @private
|
759
719
|
*/
|
760
|
-
|
761
720
|
}, {
|
762
721
|
key: "onAfterOnCellMouseUp",
|
763
722
|
value: function onAfterOnCellMouseUp() {
|
@@ -766,62 +725,52 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
766
725
|
if (!this.hot.isListening() || this.isEditorOpened() || this.hot.getSettings().fragmentSelection) {
|
767
726
|
return;
|
768
727
|
}
|
769
|
-
|
770
728
|
this.getOrCreateFocusableElement();
|
771
729
|
this.focusableElement.focus();
|
772
730
|
}
|
731
|
+
|
773
732
|
/**
|
774
733
|
* Force focus on focusableElement after end of the selection.
|
775
734
|
*
|
776
735
|
* @private
|
777
736
|
*/
|
778
|
-
|
779
737
|
}, {
|
780
738
|
key: "onAfterSelectionEnd",
|
781
739
|
value: function onAfterSelectionEnd() {
|
782
|
-
var _privatePool$get = privatePool.get(this),
|
783
|
-
isFragmentSelectionEnabled = _privatePool$get.isFragmentSelectionEnabled;
|
784
|
-
|
785
740
|
if (this.isEditorOpened()) {
|
786
741
|
return;
|
787
742
|
}
|
788
|
-
|
789
743
|
this.getOrCreateFocusableElement();
|
790
|
-
|
791
|
-
if (isFragmentSelectionEnabled && this.focusableElement.getFocusableElement() !== this.hot.rootDocument.activeElement && (0, _element.getSelectionText)()) {
|
744
|
+
if (this.hot.getSettings().fragmentSelection && this.focusableElement.getFocusableElement() !== this.hot.rootDocument.activeElement && (0, _element.getSelectionText)()) {
|
792
745
|
return;
|
793
746
|
}
|
794
|
-
|
795
747
|
this.setCopyableText();
|
796
748
|
this.focusableElement.focus();
|
797
749
|
}
|
750
|
+
|
798
751
|
/**
|
799
752
|
* `beforeKeyDown` listener to force focus of focusableElement.
|
800
753
|
*
|
801
754
|
* @private
|
802
755
|
*/
|
803
|
-
|
804
756
|
}, {
|
805
757
|
key: "onBeforeKeyDown",
|
806
758
|
value: function onBeforeKeyDown() {
|
807
759
|
if (!this.hot.isListening() || this.isEditorOpened()) {
|
808
760
|
return;
|
809
761
|
}
|
810
|
-
|
811
762
|
var activeElement = this.hot.rootDocument.activeElement;
|
812
763
|
var activeEditor = this.hot.getActiveEditor();
|
813
|
-
|
814
764
|
if (!activeEditor || activeElement !== this.focusableElement.getFocusableElement() && activeElement !== activeEditor.select) {
|
815
765
|
return;
|
816
766
|
}
|
817
|
-
|
818
767
|
this.getOrCreateFocusableElement();
|
819
768
|
this.focusableElement.focus();
|
820
769
|
}
|
770
|
+
|
821
771
|
/**
|
822
|
-
* Destroys the plugin instance.
|
772
|
+
* Destroys the `CopyPaste` plugin instance.
|
823
773
|
*/
|
824
|
-
|
825
774
|
}, {
|
826
775
|
key: "destroy",
|
827
776
|
value: function destroy() {
|
@@ -829,7 +778,6 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
829
778
|
(0, _focusableElement.destroyElement)(this.focusableElement);
|
830
779
|
this.focusableElement = null;
|
831
780
|
}
|
832
|
-
|
833
781
|
_get(_getPrototypeOf(CopyPaste.prototype), "destroy", this).call(this);
|
834
782
|
}
|
835
783
|
}], [{
|
@@ -847,9 +795,28 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
847
795
|
get: function get() {
|
848
796
|
return PLUGIN_PRIORITY;
|
849
797
|
}
|
850
|
-
}]);
|
851
798
|
|
799
|
+
/**
|
800
|
+
* The maximum number of columns than can be copied to the clipboard.
|
801
|
+
*
|
802
|
+
* @type {number}
|
803
|
+
* @default Infinity
|
804
|
+
*/
|
805
|
+
}]);
|
852
806
|
return CopyPaste;
|
853
807
|
}(_base.BasePlugin);
|
854
|
-
|
855
|
-
|
808
|
+
exports.CopyPaste = CopyPaste;
|
809
|
+
function _countCopiedHeaders2(ranges) {
|
810
|
+
var _normalizeRanges2 = (0, _copyableRanges.normalizeRanges)(ranges),
|
811
|
+
rows = _normalizeRanges2.rows;
|
812
|
+
var columnHeadersCount = 0;
|
813
|
+
for (var row = 0; row < rows.length; row++) {
|
814
|
+
if (rows[row] >= 0) {
|
815
|
+
break;
|
816
|
+
}
|
817
|
+
columnHeadersCount += 1;
|
818
|
+
}
|
819
|
+
return {
|
820
|
+
columnHeadersCount: columnHeadersCount
|
821
|
+
};
|
822
|
+
}
|