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