handsontable 12.1.2 → 12.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/SheetClip/SheetClip.js +3 -32
- package/3rdparty/SheetClip/SheetClip.mjs +3 -23
- package/3rdparty/SheetClip/index.js +0 -2
- package/3rdparty/autoResize/autoResize.js +119 -145
- package/3rdparty/autoResize/autoResize.mjs +119 -143
- package/3rdparty/autoResize/index.js +0 -2
- package/3rdparty/walkontable/src/border.js +72 -174
- package/3rdparty/walkontable/src/border.mjs +74 -161
- package/3rdparty/walkontable/src/calculator/constants.js +0 -3
- package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
- package/3rdparty/walkontable/src/calculator/index.js +0 -10
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +26 -76
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +26 -69
- package/3rdparty/walkontable/src/calculator/viewportRows.js +20 -48
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +20 -41
- package/3rdparty/walkontable/src/cell/coords.js +13 -43
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -38
- package/3rdparty/walkontable/src/cell/range.js +55 -130
- package/3rdparty/walkontable/src/cell/range.mjs +60 -126
- package/3rdparty/walkontable/src/core/_base.js +16 -74
- package/3rdparty/walkontable/src/core/_base.mjs +19 -70
- package/3rdparty/walkontable/src/core/clone.js +1 -40
- package/3rdparty/walkontable/src/core/clone.mjs +3 -30
- package/3rdparty/walkontable/src/core/core.js +3 -57
- package/3rdparty/walkontable/src/core/core.mjs +5 -41
- package/3rdparty/walkontable/src/event.js +31 -78
- package/3rdparty/walkontable/src/event.mjs +31 -65
- package/3rdparty/walkontable/src/facade/core.js +1 -17
- package/3rdparty/walkontable/src/facade/core.mjs +7 -20
- package/3rdparty/walkontable/src/filter/column.js +9 -18
- package/3rdparty/walkontable/src/filter/column.mjs +9 -17
- package/3rdparty/walkontable/src/filter/row.js +9 -18
- package/3rdparty/walkontable/src/filter/row.mjs +9 -17
- package/3rdparty/walkontable/src/index.js +0 -31
- package/3rdparty/walkontable/src/overlay/_base.js +24 -69
- package/3rdparty/walkontable/src/overlay/_base.mjs +31 -68
- package/3rdparty/walkontable/src/overlay/bottom.js +28 -99
- package/3rdparty/walkontable/src/overlay/bottom.mjs +30 -86
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +7 -53
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +9 -40
- package/3rdparty/walkontable/src/overlay/constants.js +0 -6
- package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
- package/3rdparty/walkontable/src/overlay/index.js +0 -17
- package/3rdparty/walkontable/src/overlay/inlineStart.js +21 -91
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +23 -78
- package/3rdparty/walkontable/src/overlay/top.js +27 -100
- package/3rdparty/walkontable/src/overlay/top.mjs +29 -87
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +4 -51
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +6 -38
- package/3rdparty/walkontable/src/overlays.js +58 -129
- package/3rdparty/walkontable/src/overlays.mjs +60 -121
- package/3rdparty/walkontable/src/renderer/_base.js +4 -20
- package/3rdparty/walkontable/src/renderer/_base.mjs +8 -22
- package/3rdparty/walkontable/src/renderer/cells.js +10 -54
- package/3rdparty/walkontable/src/renderer/cells.mjs +22 -52
- package/3rdparty/walkontable/src/renderer/colGroup.js +10 -47
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +21 -46
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +19 -49
- package/3rdparty/walkontable/src/renderer/index.js +13 -36
- package/3rdparty/walkontable/src/renderer/index.mjs +17 -27
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +20 -49
- package/3rdparty/walkontable/src/renderer/rows.js +3 -46
- package/3rdparty/walkontable/src/renderer/rows.mjs +3 -29
- package/3rdparty/walkontable/src/renderer/table.js +22 -49
- package/3rdparty/walkontable/src/renderer/table.mjs +22 -48
- package/3rdparty/walkontable/src/scroll.js +56 -86
- package/3rdparty/walkontable/src/scroll.mjs +58 -86
- package/3rdparty/walkontable/src/selection.js +20 -101
- package/3rdparty/walkontable/src/selection.mjs +22 -85
- package/3rdparty/walkontable/src/settings.js +9 -29
- package/3rdparty/walkontable/src/settings.mjs +9 -27
- package/3rdparty/walkontable/src/table/bottom.js +1 -35
- package/3rdparty/walkontable/src/table/bottom.mjs +6 -25
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table/inlineStart.js +1 -35
- package/3rdparty/walkontable/src/table/inlineStart.mjs +3 -22
- package/3rdparty/walkontable/src/table/master.js +10 -55
- package/3rdparty/walkontable/src/table/master.mjs +15 -44
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +7 -20
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +7 -23
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +7 -21
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +7 -20
- package/3rdparty/walkontable/src/table/top.js +1 -35
- package/3rdparty/walkontable/src/table/top.mjs +6 -25
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table.js +74 -238
- package/3rdparty/walkontable/src/table.mjs +84 -227
- package/3rdparty/walkontable/src/types.js +0 -5
- package/3rdparty/walkontable/src/types.mjs +0 -5
- package/3rdparty/walkontable/src/utils/column.js +9 -31
- package/3rdparty/walkontable/src/utils/column.mjs +13 -30
- package/3rdparty/walkontable/src/utils/nodesPool.js +3 -12
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +3 -11
- package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
- package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
- package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -33
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +6 -26
- package/3rdparty/walkontable/src/utils/orderView/view.js +14 -46
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +21 -50
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +3 -15
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +3 -14
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +8 -22
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +23 -34
- package/3rdparty/walkontable/src/utils/row.js +2 -13
- package/3rdparty/walkontable/src/utils/row.mjs +2 -12
- package/3rdparty/walkontable/src/viewport.js +38 -100
- package/3rdparty/walkontable/src/viewport.mjs +40 -99
- package/CHANGELOG.md +103 -5
- package/base.js +6 -17
- package/base.mjs +6 -12
- package/cellTypes/autocompleteType/autocompleteType.js +0 -4
- package/cellTypes/autocompleteType/index.js +0 -2
- package/cellTypes/checkboxType/checkboxType.js +0 -3
- package/cellTypes/checkboxType/index.js +0 -2
- package/cellTypes/dateType/dateType.js +0 -4
- package/cellTypes/dateType/index.js +0 -2
- package/cellTypes/dropdownType/dropdownType.js +0 -4
- package/cellTypes/dropdownType/index.js +0 -2
- package/cellTypes/handsontableType/handsontableType.js +0 -3
- package/cellTypes/handsontableType/index.js +0 -2
- package/cellTypes/index.js +0 -21
- package/cellTypes/index.mjs +3 -5
- package/cellTypes/numericType/index.js +0 -2
- package/cellTypes/numericType/numericType.js +0 -4
- package/cellTypes/passwordType/index.js +0 -2
- package/cellTypes/passwordType/passwordType.js +0 -3
- package/cellTypes/registry.js +10 -25
- package/cellTypes/registry.mjs +10 -20
- package/cellTypes/textType/index.js +0 -2
- package/cellTypes/textType/textType.js +0 -3
- package/cellTypes/timeType/index.js +0 -2
- package/cellTypes/timeType/timeType.js +0 -4
- package/core.d.ts +6 -4
- package/core.js +514 -974
- package/core.mjs +519 -921
- package/dataMap/dataMap.js +127 -212
- package/dataMap/dataMap.mjs +127 -188
- package/{dataSource.js → dataMap/dataSource.js} +18 -66
- package/{dataSource.mjs → dataMap/dataSource.mjs} +20 -60
- package/dataMap/index.js +0 -13
- package/dataMap/metaManager/index.js +21 -46
- package/dataMap/metaManager/index.mjs +47 -64
- package/dataMap/metaManager/lazyFactoryMap.js +23 -55
- package/dataMap/metaManager/lazyFactoryMap.mjs +23 -43
- package/dataMap/metaManager/metaLayers/cellMeta.js +16 -52
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +16 -37
- package/dataMap/metaManager/metaLayers/columnMeta.js +8 -22
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +14 -25
- package/dataMap/metaManager/metaLayers/globalMeta.js +4 -19
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.js +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +28 -37
- package/dataMap/metaManager/metaSchema.js +196 -257
- package/dataMap/metaManager/metaSchema.mjs +196 -248
- package/dataMap/metaManager/mods/dynamicCellMeta.js +6 -36
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +20 -39
- package/dataMap/metaManager/mods/extendMetaProperties.js +5 -28
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +4 -18
- package/dataMap/metaManager/utils.js +11 -20
- package/dataMap/metaManager/utils.mjs +21 -23
- package/dataMap/replaceData.js +14 -35
- package/dataMap/replaceData.mjs +35 -45
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +64469 -93042
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +527 -284
- package/dist/handsontable.js +9616 -21414
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +0 -175
- package/dist/languages/ar-AR.js +0 -10
- package/dist/languages/cs-CZ.js +0 -10
- package/dist/languages/de-CH.js +0 -10
- package/dist/languages/de-DE.js +0 -10
- package/dist/languages/en-US.js +0 -10
- package/dist/languages/es-MX.js +0 -10
- package/dist/languages/fr-FR.js +0 -10
- package/dist/languages/it-IT.js +0 -10
- package/dist/languages/ja-JP.js +0 -10
- package/dist/languages/ko-KR.js +0 -10
- package/dist/languages/lv-LV.js +0 -10
- package/dist/languages/nb-NO.js +0 -10
- package/dist/languages/nl-NL.js +0 -10
- package/dist/languages/pl-PL.js +0 -10
- package/dist/languages/pt-BR.js +0 -10
- package/dist/languages/ru-RU.js +0 -10
- package/dist/languages/sr-SP.js +0 -10
- package/dist/languages/zh-CN.js +0 -10
- package/dist/languages/zh-TW.js +0 -10
- package/editorManager.js +89 -124
- package/editorManager.mjs +89 -104
- package/editors/autocompleteEditor/autocompleteEditor.js +26 -133
- package/editors/autocompleteEditor/autocompleteEditor.mjs +26 -104
- package/editors/autocompleteEditor/index.js +0 -2
- package/editors/baseEditor/baseEditor.js +45 -155
- package/editors/baseEditor/baseEditor.mjs +45 -129
- package/editors/baseEditor/index.js +0 -2
- package/editors/checkboxEditor/checkboxEditor.js +2 -33
- package/editors/checkboxEditor/checkboxEditor.mjs +2 -19
- package/editors/checkboxEditor/index.js +0 -2
- package/editors/dateEditor/dateEditor.js +36 -97
- package/editors/dateEditor/dateEditor.mjs +35 -74
- package/editors/dateEditor/index.js +0 -2
- package/editors/dropdownEditor/dropdownEditor.js +1 -41
- package/editors/dropdownEditor/dropdownEditor.mjs +1 -22
- package/editors/dropdownEditor/index.js +0 -2
- package/editors/handsontableEditor/handsontableEditor.js +13 -85
- package/editors/handsontableEditor/handsontableEditor.mjs +13 -66
- package/editors/handsontableEditor/index.js +0 -2
- package/editors/index.js +0 -25
- package/editors/index.mjs +3 -5
- package/editors/numericEditor/index.js +0 -2
- package/editors/numericEditor/numericEditor.js +1 -31
- package/editors/numericEditor/numericEditor.mjs +1 -18
- package/editors/passwordEditor/index.js +0 -2
- package/editors/passwordEditor/passwordEditor.js +1 -38
- package/editors/passwordEditor/passwordEditor.mjs +1 -22
- package/editors/registry.js +10 -36
- package/editors/registry.mjs +10 -28
- package/editors/selectEditor/index.js +0 -2
- package/editors/selectEditor/selectEditor.js +21 -73
- package/editors/selectEditor/selectEditor.mjs +21 -56
- package/editors/textEditor/caretPositioner.js +0 -12
- package/editors/textEditor/caretPositioner.mjs +10 -20
- package/editors/textEditor/index.js +0 -2
- package/editors/textEditor/textEditor.js +38 -137
- package/editors/textEditor/textEditor.mjs +38 -106
- package/editors/timeEditor/index.js +0 -2
- package/editors/timeEditor/timeEditor.js +1 -36
- package/editors/timeEditor/timeEditor.mjs +1 -21
- package/eventManager.js +20 -56
- package/eventManager.mjs +23 -56
- package/helpers/array.js +22 -88
- package/helpers/array.mjs +22 -58
- package/helpers/browser.js +25 -51
- package/helpers/browser.mjs +25 -32
- package/helpers/console.js +3 -13
- package/helpers/console.mjs +8 -16
- package/helpers/data.d.ts +0 -1
- package/helpers/data.js +10 -55
- package/helpers/data.mjs +10 -33
- package/helpers/date.js +2 -3
- package/helpers/date.mjs +2 -2
- package/helpers/dom/element.js +67 -259
- package/helpers/dom/element.mjs +74 -194
- package/helpers/dom/event.js +3 -7
- package/helpers/dom/event.mjs +3 -3
- package/helpers/feature.js +13 -47
- package/helpers/feature.mjs +13 -31
- package/helpers/function.js +14 -59
- package/helpers/function.mjs +20 -52
- package/helpers/mixed.js +9 -66
- package/helpers/mixed.mjs +15 -51
- package/helpers/number.js +4 -46
- package/helpers/number.mjs +4 -23
- package/helpers/object.js +15 -72
- package/helpers/object.mjs +21 -52
- package/helpers/string.js +6 -28
- package/helpers/string.mjs +12 -21
- package/helpers/templateLiteralTag.js +0 -6
- package/helpers/templateLiteralTag.mjs +7 -10
- package/helpers/unicode.js +17 -26
- package/helpers/unicode.mjs +17 -15
- package/helpers/wrappers/jquery.js +4 -14
- package/helpers/wrappers/jquery.mjs +4 -13
- package/i18n/constants.js +1 -3
- package/i18n/constants.mjs +1 -1
- package/i18n/index.js +0 -7
- package/i18n/languages/ar-AR.js +0 -16
- package/i18n/languages/ar-AR.mjs +1 -4
- package/i18n/languages/cs-CZ.js +0 -16
- package/i18n/languages/cs-CZ.mjs +1 -4
- package/i18n/languages/de-CH.js +0 -16
- package/i18n/languages/de-CH.mjs +1 -4
- package/i18n/languages/de-DE.js +0 -16
- package/i18n/languages/de-DE.mjs +1 -4
- package/i18n/languages/en-US.js +0 -16
- package/i18n/languages/en-US.mjs +1 -4
- package/i18n/languages/es-MX.js +0 -16
- package/i18n/languages/es-MX.mjs +1 -4
- package/i18n/languages/fr-FR.js +0 -16
- package/i18n/languages/fr-FR.mjs +1 -4
- package/i18n/languages/index.js +0 -39
- package/i18n/languages/it-IT.js +0 -16
- package/i18n/languages/it-IT.mjs +1 -4
- package/i18n/languages/ja-JP.js +0 -16
- package/i18n/languages/ja-JP.mjs +1 -4
- package/i18n/languages/ko-KR.js +0 -16
- package/i18n/languages/ko-KR.mjs +1 -4
- package/i18n/languages/lv-LV.js +0 -16
- package/i18n/languages/lv-LV.mjs +1 -4
- package/i18n/languages/nb-NO.js +0 -16
- package/i18n/languages/nb-NO.mjs +1 -4
- package/i18n/languages/nl-NL.js +0 -16
- package/i18n/languages/nl-NL.mjs +1 -4
- package/i18n/languages/pl-PL.js +0 -16
- package/i18n/languages/pl-PL.mjs +1 -4
- package/i18n/languages/pt-BR.js +0 -16
- package/i18n/languages/pt-BR.mjs +1 -4
- package/i18n/languages/ru-RU.js +0 -16
- package/i18n/languages/ru-RU.mjs +1 -4
- package/i18n/languages/sr-SP.js +0 -16
- package/i18n/languages/sr-SP.mjs +1 -4
- package/i18n/languages/zh-CN.js +0 -16
- package/i18n/languages/zh-CN.mjs +1 -4
- package/i18n/languages/zh-TW.js +0 -16
- package/i18n/languages/zh-TW.mjs +1 -4
- package/i18n/phraseFormatters/index.js +4 -11
- package/i18n/phraseFormatters/index.mjs +4 -6
- package/i18n/phraseFormatters/pluralize.js +0 -5
- package/i18n/phraseFormatters/pluralize.mjs +0 -3
- package/i18n/phraseFormatters/substituteVariables.js +0 -4
- package/i18n/phraseFormatters/substituteVariables.mjs +8 -11
- package/i18n/registry.js +18 -59
- package/i18n/registry.mjs +18 -30
- package/i18n/utils.js +4 -22
- package/i18n/utils.mjs +13 -21
- package/index.js +19 -56
- package/index.mjs +19 -15
- package/languages/all.js +0 -175
- package/languages/ar-AR.js +0 -10
- package/languages/ar-AR.mjs +1 -4
- package/languages/cs-CZ.js +0 -10
- package/languages/cs-CZ.mjs +1 -4
- package/languages/de-CH.js +0 -10
- package/languages/de-CH.mjs +1 -4
- package/languages/de-DE.js +0 -10
- package/languages/de-DE.mjs +1 -4
- package/languages/en-US.js +0 -10
- package/languages/en-US.mjs +1 -4
- package/languages/es-MX.js +0 -10
- package/languages/es-MX.mjs +1 -4
- package/languages/fr-FR.js +0 -10
- package/languages/fr-FR.mjs +1 -4
- package/languages/index.js +0 -175
- package/languages/it-IT.js +0 -10
- package/languages/it-IT.mjs +1 -4
- package/languages/ja-JP.js +0 -10
- package/languages/ja-JP.mjs +1 -4
- package/languages/ko-KR.js +0 -10
- package/languages/ko-KR.mjs +1 -4
- package/languages/lv-LV.js +0 -10
- package/languages/lv-LV.mjs +1 -4
- package/languages/nb-NO.js +0 -10
- package/languages/nb-NO.mjs +1 -4
- package/languages/nl-NL.js +0 -10
- package/languages/nl-NL.mjs +1 -4
- package/languages/pl-PL.js +0 -10
- package/languages/pl-PL.mjs +1 -4
- package/languages/pt-BR.js +0 -10
- package/languages/pt-BR.mjs +1 -4
- package/languages/ru-RU.js +0 -10
- package/languages/ru-RU.mjs +1 -4
- package/languages/sr-SP.js +0 -10
- package/languages/sr-SP.mjs +1 -4
- package/languages/zh-CN.js +0 -10
- package/languages/zh-CN.mjs +1 -4
- package/languages/zh-TW.js +0 -10
- package/languages/zh-TW.mjs +1 -4
- package/mixins/hooksRefRegisterer.js +4 -18
- package/mixins/hooksRefRegisterer.mjs +4 -15
- package/mixins/localHooks.js +7 -17
- package/mixins/localHooks.mjs +7 -14
- package/package.json +1 -1
- package/pluginHooks.d.ts +3 -4
- package/pluginHooks.js +288 -110
- package/pluginHooks.mjs +287 -97
- package/plugins/autoColumnSize/autoColumnSize.js +74 -172
- package/plugins/autoColumnSize/autoColumnSize.mjs +74 -137
- package/plugins/autoColumnSize/index.js +0 -2
- package/plugins/autoRowSize/autoRowSize.js +73 -153
- package/plugins/autoRowSize/autoRowSize.mjs +73 -124
- package/plugins/autoRowSize/index.js +0 -2
- package/plugins/autofill/autofill.js +46 -163
- package/plugins/autofill/autofill.mjs +46 -131
- package/plugins/autofill/index.js +0 -2
- package/plugins/autofill/utils.js +4 -26
- package/plugins/autofill/utils.mjs +4 -18
- package/plugins/base/base.js +21 -92
- package/plugins/base/base.mjs +21 -63
- package/plugins/base/index.js +0 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +19 -52
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +19 -33
- package/plugins/bindRowsWithHeaders/index.js +0 -2
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +5 -41
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +5 -29
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -53
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +6 -37
- package/plugins/collapsibleColumns/collapsibleColumns.js +96 -188
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +97 -158
- package/plugins/collapsibleColumns/index.js +0 -2
- package/plugins/columnSorting/columnSorting.js +50 -188
- package/plugins/columnSorting/columnSorting.mjs +50 -143
- package/plugins/columnSorting/columnStatesManager.js +15 -71
- package/plugins/columnSorting/columnStatesManager.mjs +15 -48
- package/plugins/columnSorting/domHelpers.js +2 -18
- package/plugins/columnSorting/domHelpers.mjs +2 -7
- package/plugins/columnSorting/index.js +0 -2
- package/plugins/columnSorting/rootComparator.js +5 -24
- package/plugins/columnSorting/rootComparator.mjs +12 -21
- package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
- package/plugins/columnSorting/sortFunction/checkbox.mjs +16 -21
- package/plugins/columnSorting/sortFunction/date.js +2 -19
- package/plugins/columnSorting/sortFunction/date.mjs +10 -23
- package/plugins/columnSorting/sortFunction/default.js +2 -17
- package/plugins/columnSorting/sortFunction/default.mjs +10 -23
- package/plugins/columnSorting/sortFunction/numeric.js +2 -11
- package/plugins/columnSorting/sortFunction/numeric.mjs +10 -17
- package/plugins/columnSorting/sortService/engine.js +3 -13
- package/plugins/columnSorting/sortService/engine.mjs +3 -5
- package/plugins/columnSorting/sortService/index.js +0 -5
- package/plugins/columnSorting/sortService/registry.js +6 -18
- package/plugins/columnSorting/sortService/registry.mjs +6 -10
- package/plugins/columnSorting/utils.js +9 -34
- package/plugins/columnSorting/utils.mjs +9 -15
- package/plugins/columnSummary/columnSummary.js +66 -126
- package/plugins/columnSummary/columnSummary.mjs +66 -101
- package/plugins/columnSummary/endpoints.js +21 -98
- package/plugins/columnSummary/endpoints.mjs +26 -99
- package/plugins/columnSummary/index.js +0 -2
- package/plugins/columnSummary/utils.js +13 -0
- package/plugins/columnSummary/utils.mjs +9 -0
- package/plugins/comments/commentEditor.js +16 -28
- package/plugins/comments/commentEditor.mjs +21 -32
- package/plugins/comments/comments.js +92 -175
- package/plugins/comments/comments.mjs +92 -149
- package/plugins/comments/displaySwitch.js +6 -23
- package/plugins/comments/displaySwitch.mjs +6 -18
- package/plugins/comments/index.js +0 -2
- package/plugins/contextMenu/commandExecutor.js +9 -40
- package/plugins/contextMenu/commandExecutor.mjs +14 -41
- package/plugins/contextMenu/contextMenu.js +26 -105
- package/plugins/contextMenu/contextMenu.mjs +26 -75
- package/plugins/contextMenu/cursor.js +6 -20
- package/plugins/contextMenu/cursor.mjs +11 -24
- package/plugins/contextMenu/index.js +0 -2
- package/plugins/contextMenu/itemsFactory.js +14 -43
- package/plugins/contextMenu/itemsFactory.mjs +19 -44
- package/plugins/contextMenu/menu.js +61 -177
- package/plugins/contextMenu/menu.mjs +61 -149
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
- package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
- package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
- package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
- package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
- package/plugins/contextMenu/predefinedItems/redo.js +1 -16
- package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +3 -38
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -18
- package/plugins/contextMenu/predefinedItems/removeRow.js +3 -37
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -17
- package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
- package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/separator.js +1 -2
- package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -16
- package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems.js +2 -48
- package/plugins/contextMenu/predefinedItems.mjs +2 -7
- package/plugins/contextMenu/utils.js +17 -57
- package/plugins/contextMenu/utils.mjs +21 -39
- package/plugins/copyPaste/clipboardData.js +1 -10
- package/plugins/copyPaste/clipboardData.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copy.js +2 -17
- package/plugins/copyPaste/contextMenuItem/copy.mjs +6 -9
- package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
- package/plugins/copyPaste/contextMenuItem/cut.mjs +6 -9
- package/plugins/copyPaste/copyPaste.js +53 -185
- package/plugins/copyPaste/copyPaste.mjs +53 -144
- package/plugins/copyPaste/focusableElement.js +12 -56
- package/plugins/copyPaste/focusableElement.mjs +15 -49
- package/plugins/copyPaste/index.js +0 -2
- package/plugins/copyPaste/pasteEvent.js +1 -10
- package/plugins/copyPaste/pasteEvent.mjs +3 -10
- package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
- package/plugins/customBorders/contextMenuItem/bottom.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/index.js +0 -11
- package/plugins/customBorders/contextMenuItem/left.js +0 -17
- package/plugins/customBorders/contextMenuItem/left.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
- package/plugins/customBorders/contextMenuItem/noBorders.mjs +4 -6
- package/plugins/customBorders/contextMenuItem/right.js +0 -17
- package/plugins/customBorders/contextMenuItem/right.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/top.js +0 -17
- package/plugins/customBorders/contextMenuItem/top.mjs +4 -8
- package/plugins/customBorders/customBorders.js +52 -181
- package/plugins/customBorders/customBorders.mjs +52 -147
- package/plugins/customBorders/index.js +0 -2
- package/plugins/customBorders/utils.js +13 -52
- package/plugins/customBorders/utils.mjs +20 -39
- package/plugins/dragToScroll/dragToScroll.js +17 -74
- package/plugins/dragToScroll/dragToScroll.mjs +17 -55
- package/plugins/dragToScroll/index.js +0 -2
- package/plugins/dropdownMenu/dropdownMenu.js +47 -126
- package/plugins/dropdownMenu/dropdownMenu.mjs +47 -95
- package/plugins/dropdownMenu/index.js +0 -2
- package/plugins/exportFile/dataProvider.js +24 -69
- package/plugins/exportFile/dataProvider.mjs +26 -60
- package/plugins/exportFile/exportFile.js +48 -58
- package/plugins/exportFile/exportFile.mjs +48 -36
- package/plugins/exportFile/index.js +0 -2
- package/plugins/exportFile/typeFactory.js +1 -11
- package/plugins/exportFile/typeFactory.mjs +1 -4
- package/plugins/exportFile/types/_base.js +2 -16
- package/plugins/exportFile/types/_base.mjs +4 -16
- package/plugins/exportFile/types/csv.js +2 -50
- package/plugins/exportFile/types/csv.mjs +2 -29
- package/plugins/filters/component/_base.js +12 -32
- package/plugins/filters/component/_base.mjs +15 -30
- package/plugins/filters/component/actionBar.js +6 -55
- package/plugins/filters/component/actionBar.mjs +9 -38
- package/plugins/filters/component/condition.js +25 -122
- package/plugins/filters/component/condition.mjs +24 -88
- package/plugins/filters/component/operators.js +10 -68
- package/plugins/filters/component/operators.mjs +10 -45
- package/plugins/filters/component/value.js +25 -99
- package/plugins/filters/component/value.mjs +28 -72
- package/plugins/filters/condition/beginsWith.js +2 -32
- package/plugins/filters/condition/beginsWith.mjs +2 -10
- package/plugins/filters/condition/between.js +3 -37
- package/plugins/filters/condition/between.mjs +3 -15
- package/plugins/filters/condition/byValue.js +3 -27
- package/plugins/filters/condition/byValue.mjs +3 -12
- package/plugins/filters/condition/contains.js +2 -32
- package/plugins/filters/condition/contains.mjs +2 -10
- package/plugins/filters/condition/date/after.js +2 -34
- package/plugins/filters/condition/date/after.mjs +2 -12
- package/plugins/filters/condition/date/before.js +2 -34
- package/plugins/filters/condition/date/before.mjs +2 -12
- package/plugins/filters/condition/date/today.js +1 -22
- package/plugins/filters/condition/date/today.mjs +1 -3
- package/plugins/filters/condition/date/tomorrow.js +1 -22
- package/plugins/filters/condition/date/tomorrow.mjs +1 -3
- package/plugins/filters/condition/date/yesterday.js +1 -22
- package/plugins/filters/condition/date/yesterday.mjs +1 -3
- package/plugins/filters/condition/empty.js +1 -19
- package/plugins/filters/condition/empty.mjs +1 -1
- package/plugins/filters/condition/endsWith.js +2 -32
- package/plugins/filters/condition/endsWith.mjs +2 -10
- package/plugins/filters/condition/equal.js +2 -31
- package/plugins/filters/condition/equal.mjs +2 -10
- package/plugins/filters/condition/false.js +1 -5
- package/plugins/filters/condition/false.mjs +1 -1
- package/plugins/filters/condition/greaterThan.js +2 -32
- package/plugins/filters/condition/greaterThan.mjs +2 -12
- package/plugins/filters/condition/greaterThanOrEqual.js +2 -32
- package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/lessThan.js +2 -32
- package/plugins/filters/condition/lessThan.mjs +2 -12
- package/plugins/filters/condition/lessThanOrEqual.js +2 -32
- package/plugins/filters/condition/lessThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/none.js +1 -18
- package/plugins/filters/condition/none.mjs +1 -1
- package/plugins/filters/condition/notBetween.js +1 -19
- package/plugins/filters/condition/notBetween.mjs +1 -1
- package/plugins/filters/condition/notContains.js +1 -19
- package/plugins/filters/condition/notContains.mjs +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -19
- package/plugins/filters/condition/notEmpty.mjs +1 -1
- package/plugins/filters/condition/notEqual.js +1 -19
- package/plugins/filters/condition/notEqual.mjs +1 -1
- package/plugins/filters/condition/true.js +1 -5
- package/plugins/filters/condition/true.mjs +1 -1
- package/plugins/filters/conditionCollection.js +21 -80
- package/plugins/filters/conditionCollection.mjs +21 -57
- package/plugins/filters/conditionRegisterer.js +5 -14
- package/plugins/filters/conditionRegisterer.mjs +5 -9
- package/plugins/filters/conditionUpdateObserver.js +17 -57
- package/plugins/filters/conditionUpdateObserver.mjs +25 -53
- package/plugins/filters/constants.js +1 -66
- package/plugins/filters/constants.mjs +1 -8
- package/plugins/filters/dataFilter.js +4 -21
- package/plugins/filters/dataFilter.mjs +7 -23
- package/plugins/filters/filters.d.ts +1 -1
- package/plugins/filters/filters.js +147 -272
- package/plugins/filters/filters.mjs +148 -228
- package/plugins/filters/index.js +0 -2
- package/plugins/filters/logicalOperationRegisterer.js +3 -9
- package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
- package/plugins/filters/logicalOperations/conjunction.js +2 -19
- package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunction.js +2 -19
- package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
- package/plugins/filters/ui/_base.js +12 -55
- package/plugins/filters/ui/_base.mjs +12 -35
- package/plugins/filters/ui/input.js +7 -52
- package/plugins/filters/ui/input.mjs +7 -34
- package/plugins/filters/ui/link.js +3 -43
- package/plugins/filters/ui/link.mjs +3 -25
- package/plugins/filters/ui/multipleSelect.js +26 -120
- package/plugins/filters/ui/multipleSelect.mjs +20 -76
- package/plugins/filters/ui/radioInput.js +6 -47
- package/plugins/filters/ui/radioInput.mjs +6 -30
- package/plugins/filters/ui/select.js +14 -76
- package/plugins/filters/ui/select.mjs +14 -52
- package/plugins/filters/utils.js +6 -39
- package/plugins/filters/utils.mjs +6 -23
- package/plugins/formulas/engine/register.js +24 -74
- package/plugins/formulas/engine/register.mjs +29 -51
- package/plugins/formulas/engine/settings.js +4 -24
- package/plugins/formulas/engine/settings.mjs +4 -12
- package/plugins/formulas/formulas.js +103 -295
- package/plugins/formulas/formulas.mjs +104 -248
- package/plugins/formulas/index.js +0 -2
- package/plugins/formulas/utils.js +1 -3
- package/plugins/formulas/utils.mjs +1 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +4 -38
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +8 -25
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +21 -29
- package/plugins/hiddenColumns/hiddenColumns.js +72 -153
- package/plugins/hiddenColumns/hiddenColumns.mjs +72 -110
- package/plugins/hiddenColumns/index.js +0 -2
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +4 -38
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +8 -25
- package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +21 -29
- package/plugins/hiddenRows/hiddenRows.js +70 -152
- package/plugins/hiddenRows/hiddenRows.mjs +70 -109
- package/plugins/hiddenRows/index.js +0 -2
- package/plugins/index.js +0 -71
- package/plugins/index.mjs +3 -5
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/index.js +0 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +21 -78
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +21 -54
- package/plugins/manualColumnMove/index.js +0 -2
- package/plugins/manualColumnMove/manualColumnMove.js +45 -134
- package/plugins/manualColumnMove/manualColumnMove.mjs +45 -106
- package/plugins/manualColumnMove/ui/_base.js +12 -30
- package/plugins/manualColumnMove/ui/_base.mjs +12 -27
- package/plugins/manualColumnMove/ui/backlight.js +1 -37
- package/plugins/manualColumnMove/ui/backlight.mjs +1 -22
- package/plugins/manualColumnMove/ui/guideline.js +1 -37
- package/plugins/manualColumnMove/ui/guideline.mjs +1 -22
- package/plugins/manualColumnResize/index.js +0 -2
- package/plugins/manualColumnResize/manualColumnResize.js +44 -143
- package/plugins/manualColumnResize/manualColumnResize.mjs +43 -118
- package/plugins/manualRowMove/index.js +0 -2
- package/plugins/manualRowMove/manualRowMove.js +45 -137
- package/plugins/manualRowMove/manualRowMove.mjs +45 -109
- package/plugins/manualRowMove/ui/_base.js +12 -27
- package/plugins/manualRowMove/ui/_base.mjs +12 -26
- package/plugins/manualRowMove/ui/backlight.js +1 -37
- package/plugins/manualRowMove/ui/backlight.mjs +1 -22
- package/plugins/manualRowMove/ui/guideline.js +1 -37
- package/plugins/manualRowMove/ui/guideline.mjs +1 -22
- package/plugins/manualRowResize/index.js +0 -2
- package/plugins/manualRowResize/manualRowResize.js +42 -138
- package/plugins/manualRowResize/manualRowResize.mjs +41 -112
- package/plugins/mergeCells/calculations/autofill.js +39 -130
- package/plugins/mergeCells/calculations/autofill.mjs +44 -122
- package/plugins/mergeCells/calculations/selection.js +9 -40
- package/plugins/mergeCells/calculations/selection.mjs +9 -37
- package/plugins/mergeCells/cellCoords.js +30 -51
- package/plugins/mergeCells/cellCoords.mjs +35 -54
- package/plugins/mergeCells/cellsCollection.js +13 -84
- package/plugins/mergeCells/cellsCollection.mjs +18 -69
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +4 -11
- package/plugins/mergeCells/index.js +0 -2
- package/plugins/mergeCells/mergeCells.js +130 -333
- package/plugins/mergeCells/mergeCells.mjs +130 -292
- package/plugins/mergeCells/utils.js +0 -3
- package/plugins/mergeCells/utils.mjs +0 -1
- package/plugins/multiColumnSorting/domHelpers.js +3 -15
- package/plugins/multiColumnSorting/domHelpers.mjs +3 -7
- package/plugins/multiColumnSorting/index.js +0 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +14 -66
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +14 -44
- package/plugins/multiColumnSorting/rootComparator.js +2 -26
- package/plugins/multiColumnSorting/rootComparator.mjs +9 -23
- package/plugins/multiColumnSorting/utils.js +0 -7
- package/plugins/multiColumnSorting/utils.mjs +3 -8
- package/plugins/multipleSelectionHandles/index.js +0 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +6 -109
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +6 -87
- package/plugins/nestedHeaders/index.js +0 -2
- package/plugins/nestedHeaders/nestedHeaders.js +79 -200
- package/plugins/nestedHeaders/nestedHeaders.mjs +80 -173
- package/plugins/nestedHeaders/stateManager/headersTree.js +16 -93
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +16 -73
- package/plugins/nestedHeaders/stateManager/index.js +24 -107
- package/plugins/nestedHeaders/stateManager/index.mjs +51 -115
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +38 -51
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +29 -35
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +26 -32
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +9 -20
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -5
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +9 -21
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +44 -61
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +16 -78
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +21 -68
- package/plugins/nestedHeaders/stateManager/utils.js +19 -22
- package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
- package/plugins/nestedHeaders/utils/ghostTable.js +9 -37
- package/plugins/nestedHeaders/utils/ghostTable.mjs +16 -43
- package/plugins/nestedRows/data/dataManager.js +40 -161
- package/plugins/nestedRows/data/dataManager.mjs +44 -148
- package/plugins/nestedRows/index.js +0 -2
- package/plugins/nestedRows/nestedRows.js +41 -119
- package/plugins/nestedRows/nestedRows.mjs +41 -86
- package/plugins/nestedRows/ui/_base.js +1 -9
- package/plugins/nestedRows/ui/_base.mjs +1 -8
- package/plugins/nestedRows/ui/collapsing.js +28 -134
- package/plugins/nestedRows/ui/collapsing.mjs +34 -118
- package/plugins/nestedRows/ui/contextMenu.js +2 -53
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -32
- package/plugins/nestedRows/ui/headers.js +5 -50
- package/plugins/nestedRows/ui/headers.mjs +11 -41
- package/plugins/nestedRows/utils/rowMoveController.js +28 -78
- package/plugins/nestedRows/utils/rowMoveController.mjs +33 -66
- package/plugins/persistentState/index.js +0 -2
- package/plugins/persistentState/persistentState.js +10 -58
- package/plugins/persistentState/persistentState.mjs +10 -37
- package/plugins/persistentState/storage.js +9 -25
- package/plugins/persistentState/storage.mjs +12 -26
- package/plugins/registry.js +7 -51
- package/plugins/registry.mjs +8 -34
- package/plugins/search/index.js +0 -2
- package/plugins/search/search.js +16 -98
- package/plugins/search/search.mjs +16 -68
- package/plugins/touchScroll/index.js +0 -2
- package/plugins/touchScroll/touchScroll.js +15 -76
- package/plugins/touchScroll/touchScroll.mjs +15 -58
- package/plugins/trimRows/index.js +0 -2
- package/plugins/trimRows/trimRows.js +62 -88
- package/plugins/trimRows/trimRows.mjs +62 -65
- package/plugins/undoRedo/index.js +0 -14
- package/plugins/undoRedo/undoRedo.js +48 -218
- package/plugins/undoRedo/undoRedo.mjs +48 -188
- package/registry.js +0 -11
- package/registry.mjs +2 -4
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
- package/renderers/autocompleteRenderer/index.js +0 -2
- package/renderers/baseRenderer/baseRenderer.js +2 -11
- package/renderers/baseRenderer/baseRenderer.mjs +2 -9
- package/renderers/baseRenderer/index.js +0 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
- package/renderers/checkboxRenderer/index.js +0 -2
- package/renderers/htmlRenderer/htmlRenderer.js +1 -7
- package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
- package/renderers/htmlRenderer/index.js +0 -2
- package/renderers/index.js +0 -19
- package/renderers/index.mjs +3 -5
- package/renderers/numericRenderer/index.js +0 -2
- package/renderers/numericRenderer/numericRenderer.js +1 -23
- package/renderers/numericRenderer/numericRenderer.mjs +1 -10
- package/renderers/passwordRenderer/index.js +0 -2
- package/renderers/passwordRenderer/passwordRenderer.js +1 -8
- package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
- package/renderers/registry.js +7 -16
- package/renderers/registry.mjs +7 -14
- package/renderers/textRenderer/index.js +0 -2
- package/renderers/textRenderer/textRenderer.js +2 -14
- package/renderers/textRenderer/textRenderer.mjs +2 -6
- package/renderers/timeRenderer/index.js +0 -2
- package/renderers/timeRenderer/timeRenderer.js +1 -6
- package/renderers/timeRenderer/timeRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +17 -73
- package/selection/highlight/highlight.mjs +31 -64
- package/selection/highlight/types/activeHeader.js +1 -21
- package/selection/highlight/types/activeHeader.mjs +6 -16
- package/selection/highlight/types/area.js +2 -22
- package/selection/highlight/types/area.mjs +10 -20
- package/selection/highlight/types/cell.js +1 -21
- package/selection/highlight/types/cell.mjs +9 -19
- package/selection/highlight/types/customSelection.js +2 -22
- package/selection/highlight/types/customSelection.mjs +11 -21
- package/selection/highlight/types/fill.js +2 -17
- package/selection/highlight/types/fill.mjs +9 -14
- package/selection/highlight/types/header.js +3 -23
- package/selection/highlight/types/header.mjs +13 -23
- package/selection/highlight/types/index.js +3 -24
- package/selection/highlight/types/index.mjs +3 -10
- package/selection/highlight/visualSelection.js +24 -74
- package/selection/highlight/visualSelection.mjs +24 -62
- package/selection/index.js +0 -14
- package/selection/mouseEventHandler.js +19 -30
- package/selection/mouseEventHandler.mjs +32 -36
- package/selection/range.js +11 -31
- package/selection/range.mjs +11 -22
- package/selection/selection.js +62 -157
- package/selection/selection.mjs +65 -132
- package/selection/transformation.js +10 -40
- package/selection/transformation.mjs +18 -45
- package/selection/utils.js +22 -70
- package/selection/utils.mjs +22 -47
- package/shortcuts/context.js +23 -78
- package/shortcuts/context.mjs +23 -55
- package/shortcuts/index.js +0 -2
- package/shortcuts/keyObserver.js +4 -17
- package/shortcuts/keyObserver.mjs +4 -12
- package/shortcuts/manager.js +16 -36
- package/shortcuts/manager.mjs +16 -33
- package/shortcuts/recorder.js +20 -47
- package/shortcuts/recorder.mjs +20 -39
- package/shortcuts/utils.js +5 -24
- package/shortcuts/utils.mjs +5 -8
- package/tableView.js +100 -270
- package/tableView.mjs +100 -248
- package/translations/changesObservable/observable.js +5 -54
- package/translations/changesObservable/observable.mjs +12 -51
- package/translations/changesObservable/observer.js +4 -32
- package/translations/changesObservable/observer.mjs +9 -29
- package/translations/changesObservable/utils.js +1 -5
- package/translations/changesObservable/utils.mjs +1 -4
- package/translations/index.js +0 -11
- package/translations/indexMapper.js +70 -158
- package/translations/indexMapper.mjs +70 -125
- package/translations/mapCollections/aggregatedCollection.js +9 -51
- package/translations/mapCollections/aggregatedCollection.mjs +12 -41
- package/translations/mapCollections/index.js +0 -7
- package/translations/mapCollections/mapCollection.js +10 -33
- package/translations/mapCollections/mapCollection.mjs +10 -22
- package/translations/maps/hidingMap.js +2 -35
- package/translations/maps/hidingMap.mjs +7 -28
- package/translations/maps/index.js +1 -24
- package/translations/maps/index.mjs +1 -3
- package/translations/maps/indexMap.js +12 -34
- package/translations/maps/indexMap.mjs +16 -32
- package/translations/maps/indexesSequence.js +3 -41
- package/translations/maps/indexesSequence.mjs +9 -32
- package/translations/maps/linkedPhysicalIndexToValueMap.js +9 -78
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +16 -59
- package/translations/maps/physicalIndexToValueMap.js +2 -39
- package/translations/maps/physicalIndexToValueMap.mjs +8 -31
- package/translations/maps/trimmingMap.js +2 -35
- package/translations/maps/trimmingMap.mjs +7 -28
- package/translations/maps/utils/actionsOnIndexes.js +1 -7
- package/translations/maps/utils/actionsOnIndexes.mjs +9 -12
- package/translations/maps/utils/index.js +0 -13
- package/translations/maps/utils/index.mjs +0 -3
- package/translations/maps/utils/indexesSequence.js +1 -24
- package/translations/maps/utils/indexesSequence.mjs +10 -19
- package/translations/maps/utils/physicallyIndexed.js +1 -27
- package/translations/maps/utils/physicallyIndexed.mjs +11 -21
- package/utils/dataStructures/linkedList.js +15 -56
- package/utils/dataStructures/linkedList.mjs +15 -54
- package/utils/dataStructures/priorityMap.js +8 -46
- package/utils/dataStructures/priorityMap.mjs +8 -29
- package/utils/dataStructures/queue.js +6 -17
- package/utils/dataStructures/queue.mjs +6 -16
- package/utils/dataStructures/stack.js +6 -17
- package/utils/dataStructures/stack.mjs +6 -16
- package/utils/dataStructures/tree.js +11 -75
- package/utils/dataStructures/tree.mjs +11 -54
- package/utils/dataStructures/uniqueMap.js +17 -56
- package/utils/dataStructures/uniqueMap.mjs +17 -42
- package/utils/dataStructures/uniqueSet.js +5 -32
- package/utils/dataStructures/uniqueSet.mjs +5 -19
- package/utils/ghostTable.js +33 -104
- package/utils/ghostTable.mjs +35 -92
- package/utils/interval.js +10 -37
- package/utils/interval.mjs +7 -29
- package/utils/parseTable.js +11 -92
- package/utils/parseTable.mjs +11 -62
- package/utils/rootInstance.js +3 -14
- package/utils/rootInstance.mjs +3 -3
- package/utils/samplesGenerator.js +15 -51
- package/utils/samplesGenerator.mjs +17 -44
- package/utils/staticRegister.js +6 -33
- package/utils/staticRegister.mjs +6 -19
- package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
- package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
- package/validators/autocompleteValidator/index.js +0 -2
- package/validators/dateValidator/dateValidator.js +2 -21
- package/validators/dateValidator/dateValidator.mjs +2 -11
- package/validators/dateValidator/index.js +0 -2
- package/validators/index.js +0 -11
- package/validators/index.mjs +3 -5
- package/validators/numericValidator/index.js +0 -2
- package/validators/numericValidator/numericValidator.js +1 -7
- package/validators/numericValidator/numericValidator.mjs +1 -3
- package/validators/registry.js +7 -16
- package/validators/registry.mjs +7 -14
- package/validators/timeValidator/index.js +0 -2
- package/validators/timeValidator/timeValidator.js +6 -18
- package/validators/timeValidator/timeValidator.mjs +8 -13
- package/utils/sortingAlgorithms/mergeSort.js +0 -120
- package/utils/sortingAlgorithms/mergeSort.mjs +0 -110
@@ -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,49 +343,44 @@ 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
|
*
|
350
|
+
* Due to security reasons, modern browsers disallow reading from the system clipboard.
|
351
|
+
*
|
387
352
|
* @param {string} pastableText Value as raw string to paste.
|
388
353
|
* @param {string} [pastableHtml=''] Value as HTML to paste.
|
389
354
|
*/
|
390
|
-
|
391
355
|
}, {
|
392
356
|
key: "paste",
|
393
357
|
value: function paste() {
|
394
358
|
var pastableText = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
395
359
|
var pastableHtml = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : pastableText;
|
396
|
-
|
397
360
|
if (!pastableText && !pastableHtml) {
|
398
361
|
return;
|
399
362
|
}
|
400
|
-
|
401
363
|
var pasteData = new PasteEvent();
|
402
|
-
|
403
364
|
if (pastableText) {
|
404
365
|
pasteData.clipboardData.setData('text/plain', pastableText);
|
405
366
|
}
|
406
|
-
|
407
367
|
if (pastableHtml) {
|
408
368
|
pasteData.clipboardData.setData('text/html', pastableHtml);
|
409
369
|
}
|
410
|
-
|
411
370
|
this.getOrCreateFocusableElement();
|
412
371
|
this.onPaste(pasteData);
|
413
372
|
}
|
373
|
+
|
414
374
|
/**
|
415
375
|
* Prepares copyable text from the cells selection in the invisible textarea.
|
416
376
|
*/
|
417
|
-
|
418
377
|
}, {
|
419
378
|
key: "setCopyableText",
|
420
379
|
value: function setCopyableText() {
|
421
380
|
var selRange = this.hot.getSelectedRangeLast();
|
422
|
-
|
423
381
|
if (!selRange) {
|
424
382
|
return;
|
425
383
|
}
|
426
|
-
|
427
384
|
var topStart = selRange.getTopStartCorner();
|
428
385
|
var bottomEnd = selRange.getBottomEndCorner();
|
429
386
|
var startRow = topStart.row;
|
@@ -440,42 +397,41 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
440
397
|
endCol: finalEndCol
|
441
398
|
});
|
442
399
|
this.copyableRanges = this.hot.runHooks('modifyCopyableRange', this.copyableRanges);
|
443
|
-
|
444
400
|
if (endRow !== finalEndRow || endCol !== finalEndCol) {
|
445
401
|
this.hot.runHooks('afterCopyLimit', endRow - startRow + 1, endCol - startCol + 1, this.rowsLimit, this.columnsLimit);
|
446
402
|
}
|
447
403
|
}
|
404
|
+
|
448
405
|
/**
|
449
406
|
* Force focus on editable element.
|
450
407
|
*
|
451
408
|
* @private
|
452
409
|
*/
|
453
|
-
|
454
410
|
}, {
|
455
411
|
key: "getOrCreateFocusableElement",
|
456
412
|
value: function getOrCreateFocusableElement() {
|
457
413
|
var editor = this.hot.getActiveEditor();
|
458
414
|
var editableElement = editor ? editor.TEXTAREA : void 0;
|
459
|
-
|
460
415
|
if (editableElement) {
|
461
416
|
this.focusableElement.setFocusableElement(editableElement);
|
462
417
|
} else {
|
463
418
|
this.focusableElement.useSecondaryElement();
|
464
419
|
}
|
465
420
|
}
|
421
|
+
|
466
422
|
/**
|
467
423
|
* Verifies if editor exists and is open.
|
468
424
|
*
|
469
425
|
* @private
|
470
426
|
* @returns {boolean}
|
471
427
|
*/
|
472
|
-
|
473
428
|
}, {
|
474
429
|
key: "isEditorOpened",
|
475
430
|
value: function isEditorOpened() {
|
476
431
|
var editor = this.hot.getActiveEditor();
|
477
432
|
return editor && editor.isOpened();
|
478
433
|
}
|
434
|
+
|
479
435
|
/**
|
480
436
|
* Prepares new values to populate them into datasource.
|
481
437
|
*
|
@@ -484,179 +440,147 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
484
440
|
* @param {Array} [selection] The selection which indicates from what position the data will be populated.
|
485
441
|
* @returns {Array} Range coordinates after populate data.
|
486
442
|
*/
|
487
|
-
|
488
443
|
}, {
|
489
444
|
key: "populateValues",
|
490
445
|
value: function populateValues(inputArray) {
|
491
446
|
var selection = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.hot.getSelectedRangeLast();
|
492
|
-
|
493
447
|
if (!inputArray.length) {
|
494
448
|
return;
|
495
449
|
}
|
496
|
-
|
497
450
|
var populatedRowsLength = inputArray.length;
|
498
451
|
var populatedColumnsLength = inputArray[0].length;
|
499
452
|
var newRows = [];
|
500
|
-
|
501
453
|
var _selection$getTopStar = selection.getTopStartCorner(),
|
502
|
-
|
503
|
-
|
504
|
-
|
454
|
+
startRow = _selection$getTopStar.row,
|
455
|
+
startColumn = _selection$getTopStar.col;
|
505
456
|
var _selection$getBottomE = selection.getBottomEndCorner(),
|
506
|
-
|
507
|
-
|
508
|
-
|
457
|
+
endRowFromSelection = _selection$getBottomE.row,
|
458
|
+
endColumnFromSelection = _selection$getBottomE.col;
|
509
459
|
var visualRowForPopulatedData = startRow;
|
510
460
|
var visualColumnForPopulatedData = startColumn;
|
511
461
|
var lastVisualRow = startRow;
|
512
|
-
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
|
513
465
|
// don't know whether populated data is bigger than selection on start as there are some cells for which values
|
514
466
|
// should be not inserted (it's known right after getting cell meta).
|
515
|
-
|
516
467
|
while (newRows.length < populatedRowsLength || visualRowForPopulatedData <= endRowFromSelection) {
|
517
468
|
var _this$hot$getCellMeta = this.hot.getCellMeta(visualRowForPopulatedData, startColumn),
|
518
|
-
|
519
|
-
|
520
|
-
|
469
|
+
skipRowOnPaste = _this$hot$getCellMeta.skipRowOnPaste,
|
470
|
+
visualRow = _this$hot$getCellMeta.visualRow;
|
521
471
|
visualRowForPopulatedData = visualRow + 1;
|
522
|
-
|
523
472
|
if (skipRowOnPaste === true) {
|
524
473
|
/* eslint-disable no-continue */
|
525
474
|
continue;
|
526
475
|
}
|
527
|
-
|
528
476
|
lastVisualRow = visualRow;
|
529
477
|
visualColumnForPopulatedData = startColumn;
|
530
478
|
var newRow = [];
|
531
479
|
var insertedRow = newRows.length % populatedRowsLength;
|
532
|
-
|
533
480
|
while (newRow.length < populatedColumnsLength || visualColumnForPopulatedData <= endColumnFromSelection) {
|
534
481
|
var _this$hot$getCellMeta2 = this.hot.getCellMeta(startRow, visualColumnForPopulatedData),
|
535
|
-
|
536
|
-
|
537
|
-
|
482
|
+
skipColumnOnPaste = _this$hot$getCellMeta2.skipColumnOnPaste,
|
483
|
+
visualCol = _this$hot$getCellMeta2.visualCol;
|
538
484
|
visualColumnForPopulatedData = visualCol + 1;
|
539
|
-
|
540
485
|
if (skipColumnOnPaste === true) {
|
541
486
|
/* eslint-disable no-continue */
|
542
487
|
continue;
|
543
488
|
}
|
544
|
-
|
545
489
|
lastVisualColumn = visualCol;
|
546
490
|
var insertedColumn = newRow.length % populatedColumnsLength;
|
547
491
|
newRow.push(inputArray[insertedRow][insertedColumn]);
|
548
492
|
}
|
549
|
-
|
550
493
|
newRows.push(newRow);
|
551
494
|
}
|
552
|
-
|
553
495
|
this.hot.populateFromArray(startRow, startColumn, newRows, void 0, void 0, 'CopyPaste.paste', this.pasteMode);
|
554
496
|
return [startRow, startColumn, lastVisualRow, lastVisualColumn];
|
555
497
|
}
|
498
|
+
|
556
499
|
/**
|
557
500
|
* `copy` event callback on textarea element.
|
558
501
|
*
|
559
502
|
* @param {Event} event ClipboardEvent.
|
560
503
|
* @private
|
561
504
|
*/
|
562
|
-
|
563
505
|
}, {
|
564
506
|
key: "onCopy",
|
565
507
|
value: function onCopy(event) {
|
566
508
|
var priv = privatePool.get(this);
|
567
|
-
|
568
509
|
if (!this.hot.isListening() && !priv.isTriggeredByCopy || this.isEditorOpened()) {
|
569
510
|
return;
|
570
511
|
}
|
571
|
-
|
572
512
|
this.setCopyableText();
|
573
513
|
priv.isTriggeredByCopy = false;
|
574
514
|
var rangedData = this.getRangedData(this.copyableRanges);
|
575
515
|
var allowCopying = !!this.hot.runHooks('beforeCopy', rangedData, this.copyableRanges);
|
576
|
-
|
577
516
|
if (allowCopying) {
|
578
517
|
var textPlain = stringify(rangedData);
|
579
|
-
|
580
518
|
if (event && event.clipboardData) {
|
581
519
|
var textHTML = _dataToHTML(rangedData, this.hot.rootDocument);
|
582
|
-
|
583
520
|
event.clipboardData.setData('text/plain', textPlain);
|
584
521
|
event.clipboardData.setData('text/html', [META_HEAD, textHTML].join(''));
|
585
522
|
} else if (typeof ClipboardEvent === 'undefined') {
|
586
523
|
this.hot.rootWindow.clipboardData.setData('Text', textPlain);
|
587
524
|
}
|
588
|
-
|
589
525
|
this.hot.runHooks('afterCopy', rangedData, this.copyableRanges);
|
590
526
|
}
|
591
|
-
|
592
527
|
event.preventDefault();
|
593
528
|
}
|
529
|
+
|
594
530
|
/**
|
595
531
|
* `cut` event callback on textarea element.
|
596
532
|
*
|
597
533
|
* @param {Event} event ClipboardEvent.
|
598
534
|
* @private
|
599
535
|
*/
|
600
|
-
|
601
536
|
}, {
|
602
537
|
key: "onCut",
|
603
538
|
value: function onCut(event) {
|
604
539
|
var priv = privatePool.get(this);
|
605
|
-
|
606
540
|
if (!this.hot.isListening() && !priv.isTriggeredByCut || this.isEditorOpened()) {
|
607
541
|
return;
|
608
542
|
}
|
609
|
-
|
610
543
|
this.setCopyableText();
|
611
544
|
priv.isTriggeredByCut = false;
|
612
545
|
var rangedData = this.getRangedData(this.copyableRanges);
|
613
546
|
var allowCuttingOut = !!this.hot.runHooks('beforeCut', rangedData, this.copyableRanges);
|
614
|
-
|
615
547
|
if (allowCuttingOut) {
|
616
548
|
var textPlain = stringify(rangedData);
|
617
|
-
|
618
549
|
if (event && event.clipboardData) {
|
619
550
|
var textHTML = _dataToHTML(rangedData, this.hot.rootDocument);
|
620
|
-
|
621
551
|
event.clipboardData.setData('text/plain', textPlain);
|
622
552
|
event.clipboardData.setData('text/html', [META_HEAD, textHTML].join(''));
|
623
553
|
} else if (typeof ClipboardEvent === 'undefined') {
|
624
554
|
this.hot.rootWindow.clipboardData.setData('Text', textPlain);
|
625
555
|
}
|
626
|
-
|
627
556
|
this.hot.emptySelectedCells('CopyPaste.cut');
|
628
557
|
this.hot.runHooks('afterCut', rangedData, this.copyableRanges);
|
629
558
|
}
|
630
|
-
|
631
559
|
event.preventDefault();
|
632
560
|
}
|
561
|
+
|
633
562
|
/**
|
634
563
|
* `paste` event callback on textarea element.
|
635
564
|
*
|
636
565
|
* @param {Event} event ClipboardEvent or pseudo ClipboardEvent, if paste was called manually.
|
637
566
|
* @private
|
638
567
|
*/
|
639
|
-
|
640
568
|
}, {
|
641
569
|
key: "onPaste",
|
642
570
|
value: function onPaste(event) {
|
643
571
|
if (!this.hot.isListening() || this.isEditorOpened()) {
|
644
572
|
return;
|
645
573
|
}
|
646
|
-
|
647
574
|
if (event && event.preventDefault) {
|
648
575
|
event.preventDefault();
|
649
576
|
}
|
650
|
-
|
651
577
|
var pastedData;
|
652
|
-
|
653
578
|
if (event && typeof event.clipboardData !== 'undefined') {
|
654
579
|
var textHTML = sanitize(event.clipboardData.getData('text/html'), {
|
655
580
|
ADD_TAGS: ['meta'],
|
656
581
|
ADD_ATTR: ['content'],
|
657
582
|
FORCE_BODY: true
|
658
583
|
});
|
659
|
-
|
660
584
|
if (textHTML && /(<table)|(<TABLE)/g.test(textHTML)) {
|
661
585
|
var parsedConfig = htmlToGridSettings(textHTML, this.hot.rootDocument);
|
662
586
|
pastedData = parsedConfig.data;
|
@@ -666,36 +590,31 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
666
590
|
} else if (typeof ClipboardEvent === 'undefined' && typeof this.hot.rootWindow.clipboardData !== 'undefined') {
|
667
591
|
pastedData = this.hot.rootWindow.clipboardData.getData('Text');
|
668
592
|
}
|
669
|
-
|
670
593
|
if (typeof pastedData === 'string') {
|
671
594
|
pastedData = parse(pastedData);
|
672
595
|
}
|
673
|
-
|
674
596
|
if (pastedData && pastedData.length === 0) {
|
675
597
|
return;
|
676
598
|
}
|
677
|
-
|
678
599
|
if (this.hot.runHooks('beforePaste', pastedData, this.copyableRanges) === false) {
|
679
600
|
return;
|
680
601
|
}
|
681
|
-
|
682
602
|
var _this$populateValues = this.populateValues(pastedData),
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
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];
|
689
608
|
this.hot.selectCell(startRow, startColumn, Math.min(this.hot.countRows() - 1, endRow), Math.min(this.hot.countCols() - 1, endColumn));
|
690
609
|
this.hot.runHooks('afterPaste', pastedData, this.copyableRanges);
|
691
610
|
}
|
611
|
+
|
692
612
|
/**
|
693
613
|
* Add copy and cut options to the Context Menu.
|
694
614
|
*
|
695
615
|
* @private
|
696
616
|
* @param {object} options Contains default added options of the Context Menu.
|
697
617
|
*/
|
698
|
-
|
699
618
|
}, {
|
700
619
|
key: "onAfterContextMenuDefaultOptions",
|
701
620
|
value: function onAfterContextMenuDefaultOptions(options) {
|
@@ -703,12 +622,12 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
703
622
|
name: '---------'
|
704
623
|
}, copyItem(this), cutItem(this));
|
705
624
|
}
|
625
|
+
|
706
626
|
/**
|
707
627
|
* Force focus on focusableElement.
|
708
628
|
*
|
709
629
|
* @private
|
710
630
|
*/
|
711
|
-
|
712
631
|
}, {
|
713
632
|
key: "onAfterOnCellMouseUp",
|
714
633
|
value: function onAfterOnCellMouseUp() {
|
@@ -717,62 +636,54 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
717
636
|
if (!this.hot.isListening() || this.isEditorOpened() || this.hot.getSettings().fragmentSelection) {
|
718
637
|
return;
|
719
638
|
}
|
720
|
-
|
721
639
|
this.getOrCreateFocusableElement();
|
722
640
|
this.focusableElement.focus();
|
723
641
|
}
|
642
|
+
|
724
643
|
/**
|
725
644
|
* Force focus on focusableElement after end of the selection.
|
726
645
|
*
|
727
646
|
* @private
|
728
647
|
*/
|
729
|
-
|
730
648
|
}, {
|
731
649
|
key: "onAfterSelectionEnd",
|
732
650
|
value: function onAfterSelectionEnd() {
|
733
651
|
var _privatePool$get = privatePool.get(this),
|
734
|
-
|
735
|
-
|
652
|
+
isFragmentSelectionEnabled = _privatePool$get.isFragmentSelectionEnabled;
|
736
653
|
if (this.isEditorOpened()) {
|
737
654
|
return;
|
738
655
|
}
|
739
|
-
|
740
656
|
this.getOrCreateFocusableElement();
|
741
|
-
|
742
657
|
if (isFragmentSelectionEnabled && this.focusableElement.getFocusableElement() !== this.hot.rootDocument.activeElement && getSelectionText()) {
|
743
658
|
return;
|
744
659
|
}
|
745
|
-
|
746
660
|
this.setCopyableText();
|
747
661
|
this.focusableElement.focus();
|
748
662
|
}
|
663
|
+
|
749
664
|
/**
|
750
665
|
* `beforeKeyDown` listener to force focus of focusableElement.
|
751
666
|
*
|
752
667
|
* @private
|
753
668
|
*/
|
754
|
-
|
755
669
|
}, {
|
756
670
|
key: "onBeforeKeyDown",
|
757
671
|
value: function onBeforeKeyDown() {
|
758
672
|
if (!this.hot.isListening() || this.isEditorOpened()) {
|
759
673
|
return;
|
760
674
|
}
|
761
|
-
|
762
675
|
var activeElement = this.hot.rootDocument.activeElement;
|
763
676
|
var activeEditor = this.hot.getActiveEditor();
|
764
|
-
|
765
677
|
if (!activeEditor || activeElement !== this.focusableElement.getFocusableElement() && activeElement !== activeEditor.select) {
|
766
678
|
return;
|
767
679
|
}
|
768
|
-
|
769
680
|
this.getOrCreateFocusableElement();
|
770
681
|
this.focusableElement.focus();
|
771
682
|
}
|
683
|
+
|
772
684
|
/**
|
773
685
|
* Destroys the plugin instance.
|
774
686
|
*/
|
775
|
-
|
776
687
|
}, {
|
777
688
|
key: "destroy",
|
778
689
|
value: function destroy() {
|
@@ -780,7 +691,6 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
780
691
|
destroyElement(this.focusableElement);
|
781
692
|
this.focusableElement = null;
|
782
693
|
}
|
783
|
-
|
784
694
|
_get(_getPrototypeOf(CopyPaste.prototype), "destroy", this).call(this);
|
785
695
|
}
|
786
696
|
}], [{
|
@@ -799,6 +709,5 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
799
709
|
return PLUGIN_PRIORITY;
|
800
710
|
}
|
801
711
|
}]);
|
802
|
-
|
803
712
|
return CopyPaste;
|
804
713
|
}(BasePlugin);
|