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,106 +1,58 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
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); }
|
4
|
-
|
5
4
|
require("core-js/modules/es.symbol.js");
|
6
|
-
|
7
5
|
require("core-js/modules/es.symbol.description.js");
|
8
|
-
|
9
6
|
require("core-js/modules/es.symbol.iterator.js");
|
10
|
-
|
11
7
|
require("core-js/modules/es.array.iterator.js");
|
12
|
-
|
13
8
|
require("core-js/modules/es.string.iterator.js");
|
14
|
-
|
15
9
|
require("core-js/modules/web.dom-collections.iterator.js");
|
16
|
-
|
17
10
|
require("core-js/modules/es.function.name.js");
|
18
|
-
|
19
11
|
require("core-js/modules/es.array.from.js");
|
20
|
-
|
21
12
|
require("core-js/modules/es.regexp.exec.js");
|
22
|
-
|
23
13
|
require("core-js/modules/es.object.set-prototype-of.js");
|
24
|
-
|
25
14
|
require("core-js/modules/es.object.get-prototype-of.js");
|
26
|
-
|
27
15
|
require("core-js/modules/es.reflect.construct.js");
|
28
|
-
|
29
16
|
exports.__esModule = true;
|
30
17
|
exports.default = exports.PLUGIN_KEY = void 0;
|
31
|
-
|
32
18
|
require("core-js/modules/es.array.find.js");
|
33
|
-
|
34
19
|
require("core-js/modules/es.object.to-string.js");
|
35
|
-
|
36
20
|
require("core-js/modules/es.array.reduce.js");
|
37
|
-
|
38
21
|
require("core-js/modules/es.array.slice.js");
|
39
|
-
|
40
22
|
require("core-js/modules/es.array.splice.js");
|
41
|
-
|
42
23
|
require("core-js/modules/es.array.sort.js");
|
43
|
-
|
44
24
|
require("core-js/modules/es.array.index-of.js");
|
45
|
-
|
46
25
|
require("core-js/modules/es.array.filter.js");
|
47
|
-
|
48
26
|
require("core-js/modules/es.array.concat.js");
|
49
|
-
|
50
27
|
var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
|
51
|
-
|
52
28
|
var _array = require("../../helpers/array");
|
53
|
-
|
54
29
|
var _number = require("../../helpers/number");
|
55
|
-
|
56
30
|
var _object = require("../../helpers/object");
|
57
|
-
|
58
31
|
var _utils = require("../contextMenu/utils");
|
59
|
-
|
60
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
61
|
-
|
62
33
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
63
|
-
|
64
34
|
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); } }
|
65
|
-
|
66
35
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
67
|
-
|
68
36
|
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); }
|
69
|
-
|
70
37
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
71
|
-
|
72
38
|
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); }; }
|
73
|
-
|
74
39
|
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); }
|
75
|
-
|
76
40
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
77
|
-
|
78
41
|
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; } }
|
79
|
-
|
80
42
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
81
|
-
|
82
43
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
83
|
-
|
84
44
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
85
|
-
|
86
45
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
87
|
-
|
88
46
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
89
|
-
|
90
47
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
91
|
-
|
92
48
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
93
|
-
|
94
49
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
95
|
-
|
96
50
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
97
|
-
|
98
51
|
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; }
|
99
|
-
|
100
52
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
101
|
-
|
102
53
|
var SHORTCUTS_GROUP = 'undoRedo';
|
103
54
|
var PLUGIN_KEY = 'undoRedo';
|
55
|
+
|
104
56
|
/**
|
105
57
|
* @description
|
106
58
|
* Handsontable UndoRedo plugin allows to undo and redo certain actions done in the table.
|
@@ -114,9 +66,7 @@ var PLUGIN_KEY = 'undoRedo';
|
|
114
66
|
* @plugin UndoRedo
|
115
67
|
* @param {Core} instance The Handsontable instance.
|
116
68
|
*/
|
117
|
-
|
118
69
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
119
|
-
|
120
70
|
function UndoRedo(instance) {
|
121
71
|
var plugin = this;
|
122
72
|
this.instance = instance;
|
@@ -126,25 +76,19 @@ function UndoRedo(instance) {
|
|
126
76
|
this.enabled = false;
|
127
77
|
instance.addHook('afterChange', function (changes, source) {
|
128
78
|
var _this = this;
|
129
|
-
|
130
79
|
var changesLen = changes && changes.length;
|
131
|
-
|
132
80
|
if (!changesLen) {
|
133
81
|
return;
|
134
82
|
}
|
135
|
-
|
136
83
|
var hasDifferences = changes.find(function (change) {
|
137
84
|
var _change = _slicedToArray(change, 4),
|
138
|
-
|
139
|
-
|
140
|
-
|
85
|
+
oldValue = _change[2],
|
86
|
+
newValue = _change[3];
|
141
87
|
return oldValue !== newValue;
|
142
88
|
});
|
143
|
-
|
144
89
|
if (!hasDifferences) {
|
145
90
|
return;
|
146
91
|
}
|
147
|
-
|
148
92
|
var wrappedAction = function wrappedAction() {
|
149
93
|
var clonedChanges = changes.reduce(function (arr, change) {
|
150
94
|
arr.push(_toConsumableArray(change));
|
@@ -156,7 +100,6 @@ function UndoRedo(instance) {
|
|
156
100
|
var selected = changesLen > 1 ? _this.getSelected() : [[clonedChanges[0][0], clonedChanges[0][1]]];
|
157
101
|
return new UndoRedo.ChangeAction(clonedChanges, selected);
|
158
102
|
};
|
159
|
-
|
160
103
|
plugin.done(wrappedAction, source);
|
161
104
|
});
|
162
105
|
instance.addHook('afterCreateRow', function (index, amount, source) {
|
@@ -172,7 +115,6 @@ function UndoRedo(instance) {
|
|
172
115
|
var removedData = (0, _object.deepClone)(originalData.slice(physicalRowIndex, physicalRowIndex + amount));
|
173
116
|
return new UndoRedo.RemoveRowAction(rowIndex, removedData, instance.getSettings().fixedRowsBottom, instance.getSettings().fixedRowsTop);
|
174
117
|
};
|
175
|
-
|
176
118
|
plugin.done(wrappedAction, source);
|
177
119
|
});
|
178
120
|
instance.addHook('afterCreateCol', function (index, amount, source) {
|
@@ -198,18 +140,15 @@ function UndoRedo(instance) {
|
|
198
140
|
(0, _number.rangeEach)(amount - 1, function (i) {
|
199
141
|
indexes.push(instance.toPhysicalColumn(columnIndex + i));
|
200
142
|
});
|
201
|
-
|
202
143
|
if (Array.isArray(instance.getSettings().colHeaders)) {
|
203
144
|
(0, _number.rangeEach)(amount - 1, function (i) {
|
204
145
|
headers.push(instance.getSettings().colHeaders[instance.toPhysicalColumn(columnIndex + i)] || null);
|
205
146
|
});
|
206
147
|
}
|
207
|
-
|
208
148
|
var columnsMap = instance.columnIndexMapper.getIndexesSequence();
|
209
149
|
var rowsMap = instance.rowIndexMapper.getIndexesSequence();
|
210
150
|
return new UndoRedo.RemoveColumnAction(columnIndex, indexes, removedData, headers, columnsMap, rowsMap, instance.getSettings().fixedColumnsStart);
|
211
151
|
};
|
212
|
-
|
213
152
|
plugin.done(wrappedAction, source);
|
214
153
|
});
|
215
154
|
instance.addHook('beforeCellAlignment', function (stateBefore, range, type, alignment) {
|
@@ -226,7 +165,6 @@ function UndoRedo(instance) {
|
|
226
165
|
if (rows === false) {
|
227
166
|
return;
|
228
167
|
}
|
229
|
-
|
230
168
|
plugin.done(function () {
|
231
169
|
return new UndoRedo.RowMoveAction(rows, finalIndex);
|
232
170
|
});
|
@@ -235,7 +173,6 @@ function UndoRedo(instance) {
|
|
235
173
|
if (auto) {
|
236
174
|
return;
|
237
175
|
}
|
238
|
-
|
239
176
|
plugin.done(function () {
|
240
177
|
return new UndoRedo.MergeCellsAction(instance, cellRange);
|
241
178
|
});
|
@@ -244,16 +181,17 @@ function UndoRedo(instance) {
|
|
244
181
|
if (auto) {
|
245
182
|
return;
|
246
183
|
}
|
247
|
-
|
248
184
|
plugin.done(function () {
|
249
185
|
return new UndoRedo.UnmergeCellsAction(instance, cellRange);
|
250
186
|
});
|
251
|
-
});
|
187
|
+
});
|
252
188
|
|
189
|
+
// TODO: Why this callback is needed? One test doesn't pass after calling method right after plugin creation (outside the callback).
|
253
190
|
instance.addHook('afterInit', function () {
|
254
191
|
plugin.init();
|
255
192
|
});
|
256
193
|
}
|
194
|
+
|
257
195
|
/**
|
258
196
|
* Stash information about performed actions.
|
259
197
|
*
|
@@ -266,26 +204,19 @@ function UndoRedo(instance) {
|
|
266
204
|
* @param {Function} wrappedAction The action descriptor wrapped in a closure.
|
267
205
|
* @param {string} [source] Source of the action. It is defined just for more general actions (not related to plugins).
|
268
206
|
*/
|
269
|
-
|
270
|
-
|
271
207
|
UndoRedo.prototype.done = function (wrappedAction, source) {
|
272
208
|
if (this.ignoreNewActions) {
|
273
209
|
return;
|
274
210
|
}
|
275
|
-
|
276
211
|
var isBlockedByDefault = source === 'UndoRedo.undo' || source === 'UndoRedo.redo' || source === 'auto';
|
277
|
-
|
278
212
|
if (isBlockedByDefault) {
|
279
213
|
return;
|
280
214
|
}
|
281
|
-
|
282
215
|
var doneActionsCopy = this.doneActions.slice();
|
283
216
|
var continueAction = this.instance.runHooks('beforeUndoStackChange', doneActionsCopy, source);
|
284
|
-
|
285
217
|
if (continueAction === false) {
|
286
218
|
return;
|
287
219
|
}
|
288
|
-
|
289
220
|
var newAction = wrappedAction();
|
290
221
|
var undoneActionsCopy = this.undoneActions.slice();
|
291
222
|
this.doneActions.push(newAction);
|
@@ -294,6 +225,7 @@ UndoRedo.prototype.done = function (wrappedAction, source) {
|
|
294
225
|
this.undoneActions.length = 0;
|
295
226
|
this.instance.runHooks('afterRedoStackChange', undoneActionsCopy, this.undoneActions.slice());
|
296
227
|
};
|
228
|
+
|
297
229
|
/**
|
298
230
|
* Undo the last action performed to the table.
|
299
231
|
*
|
@@ -306,8 +238,6 @@ UndoRedo.prototype.done = function (wrappedAction, source) {
|
|
306
238
|
* @fires Hooks#beforeUndo
|
307
239
|
* @fires Hooks#afterUndo
|
308
240
|
*/
|
309
|
-
|
310
|
-
|
311
241
|
UndoRedo.prototype.undo = function () {
|
312
242
|
if (this.isUndoAvailable()) {
|
313
243
|
var doneActionsCopy = this.doneActions.slice();
|
@@ -316,11 +246,9 @@ UndoRedo.prototype.undo = function () {
|
|
316
246
|
this.instance.runHooks('afterUndoStackChange', doneActionsCopy, this.doneActions.slice());
|
317
247
|
var actionClone = (0, _object.deepClone)(action);
|
318
248
|
var continueAction = this.instance.runHooks('beforeUndo', actionClone);
|
319
|
-
|
320
249
|
if (continueAction === false) {
|
321
250
|
return;
|
322
251
|
}
|
323
|
-
|
324
252
|
this.ignoreNewActions = true;
|
325
253
|
var that = this;
|
326
254
|
var undoneActionsCopy = this.undoneActions.slice();
|
@@ -333,6 +261,7 @@ UndoRedo.prototype.undo = function () {
|
|
333
261
|
this.instance.runHooks('afterUndo', actionClone);
|
334
262
|
}
|
335
263
|
};
|
264
|
+
|
336
265
|
/**
|
337
266
|
* Redo the previous action performed to the table (used to reverse an undo).
|
338
267
|
*
|
@@ -345,8 +274,6 @@ UndoRedo.prototype.undo = function () {
|
|
345
274
|
* @fires Hooks#beforeRedo
|
346
275
|
* @fires Hooks#afterRedo
|
347
276
|
*/
|
348
|
-
|
349
|
-
|
350
277
|
UndoRedo.prototype.redo = function () {
|
351
278
|
if (this.isRedoAvailable()) {
|
352
279
|
var undoneActionsCopy = this.undoneActions.slice();
|
@@ -355,11 +282,9 @@ UndoRedo.prototype.redo = function () {
|
|
355
282
|
this.instance.runHooks('afterRedoStackChange', undoneActionsCopy, this.undoneActions.slice());
|
356
283
|
var actionClone = (0, _object.deepClone)(action);
|
357
284
|
var continueAction = this.instance.runHooks('beforeRedo', actionClone);
|
358
|
-
|
359
285
|
if (continueAction === false) {
|
360
286
|
return;
|
361
287
|
}
|
362
|
-
|
363
288
|
this.ignoreNewActions = true;
|
364
289
|
var that = this;
|
365
290
|
var doneActionsCopy = this.doneActions.slice();
|
@@ -372,6 +297,7 @@ UndoRedo.prototype.redo = function () {
|
|
372
297
|
this.instance.runHooks('afterRedo', actionClone);
|
373
298
|
}
|
374
299
|
};
|
300
|
+
|
375
301
|
/**
|
376
302
|
* Checks if undo action is available.
|
377
303
|
*
|
@@ -379,11 +305,10 @@ UndoRedo.prototype.redo = function () {
|
|
379
305
|
* @memberof UndoRedo#
|
380
306
|
* @returns {boolean} Return `true` if undo can be performed, `false` otherwise.
|
381
307
|
*/
|
382
|
-
|
383
|
-
|
384
308
|
UndoRedo.prototype.isUndoAvailable = function () {
|
385
309
|
return this.doneActions.length > 0;
|
386
310
|
};
|
311
|
+
|
387
312
|
/**
|
388
313
|
* Checks if redo action is available.
|
389
314
|
*
|
@@ -391,23 +316,21 @@ UndoRedo.prototype.isUndoAvailable = function () {
|
|
391
316
|
* @memberof UndoRedo#
|
392
317
|
* @returns {boolean} Return `true` if redo can be performed, `false` otherwise.
|
393
318
|
*/
|
394
|
-
|
395
|
-
|
396
319
|
UndoRedo.prototype.isRedoAvailable = function () {
|
397
320
|
return this.undoneActions.length > 0;
|
398
321
|
};
|
322
|
+
|
399
323
|
/**
|
400
324
|
* Clears undo history.
|
401
325
|
*
|
402
326
|
* @function clear
|
403
327
|
* @memberof UndoRedo#
|
404
328
|
*/
|
405
|
-
|
406
|
-
|
407
329
|
UndoRedo.prototype.clear = function () {
|
408
330
|
this.doneActions.length = 0;
|
409
331
|
this.undoneActions.length = 0;
|
410
332
|
};
|
333
|
+
|
411
334
|
/**
|
412
335
|
* Checks if the plugin is enabled.
|
413
336
|
*
|
@@ -415,69 +338,60 @@ UndoRedo.prototype.clear = function () {
|
|
415
338
|
* @memberof UndoRedo#
|
416
339
|
* @returns {boolean}
|
417
340
|
*/
|
418
|
-
|
419
|
-
|
420
341
|
UndoRedo.prototype.isEnabled = function () {
|
421
342
|
return this.enabled;
|
422
343
|
};
|
344
|
+
|
423
345
|
/**
|
424
346
|
* Enables the plugin.
|
425
347
|
*
|
426
348
|
* @function enable
|
427
349
|
* @memberof UndoRedo#
|
428
350
|
*/
|
429
|
-
|
430
|
-
|
431
351
|
UndoRedo.prototype.enable = function () {
|
432
352
|
if (this.isEnabled()) {
|
433
353
|
return;
|
434
354
|
}
|
435
|
-
|
436
355
|
var hot = this.instance;
|
437
356
|
this.enabled = true;
|
438
357
|
exposeUndoRedoMethods(hot);
|
439
358
|
this.registerShortcuts();
|
440
359
|
hot.addHook('afterChange', onAfterChange);
|
441
360
|
};
|
361
|
+
|
442
362
|
/**
|
443
363
|
* Disables the plugin.
|
444
364
|
*
|
445
365
|
* @function disable
|
446
366
|
* @memberof UndoRedo#
|
447
367
|
*/
|
448
|
-
|
449
|
-
|
450
368
|
UndoRedo.prototype.disable = function () {
|
451
369
|
if (!this.isEnabled()) {
|
452
370
|
return;
|
453
371
|
}
|
454
|
-
|
455
372
|
var hot = this.instance;
|
456
373
|
this.enabled = false;
|
457
374
|
removeExposedUndoRedoMethods(hot);
|
458
375
|
this.unregisterShortcuts();
|
459
376
|
hot.removeHook('afterChange', onAfterChange);
|
460
377
|
};
|
378
|
+
|
461
379
|
/**
|
462
380
|
* Destroys the instance.
|
463
381
|
*
|
464
382
|
* @function destroy
|
465
383
|
* @memberof UndoRedo#
|
466
384
|
*/
|
467
|
-
|
468
|
-
|
469
385
|
UndoRedo.prototype.destroy = function () {
|
470
386
|
this.clear();
|
471
387
|
this.instance = null;
|
472
388
|
this.doneActions = null;
|
473
389
|
this.undoneActions = null;
|
474
390
|
};
|
475
|
-
|
476
391
|
UndoRedo.Action = function () {};
|
477
|
-
|
478
392
|
UndoRedo.Action.prototype.undo = function () {};
|
479
|
-
|
480
393
|
UndoRedo.Action.prototype.redo = function () {};
|
394
|
+
|
481
395
|
/**
|
482
396
|
* Change action.
|
483
397
|
*
|
@@ -485,61 +399,48 @@ UndoRedo.Action.prototype.redo = function () {};
|
|
485
399
|
* @param {Array} changes 2D array containing information about each of the edited cells.
|
486
400
|
* @param {number[]} selected The cell selection.
|
487
401
|
*/
|
488
|
-
|
489
|
-
|
490
402
|
UndoRedo.ChangeAction = function (changes, selected) {
|
491
403
|
this.changes = changes;
|
492
404
|
this.selected = selected;
|
493
405
|
this.actionType = 'change';
|
494
406
|
};
|
495
|
-
|
496
407
|
(0, _object.inherit)(UndoRedo.ChangeAction, UndoRedo.Action);
|
497
|
-
|
498
408
|
UndoRedo.ChangeAction.prototype.undo = function (instance, undoneCallback) {
|
499
409
|
var data = (0, _object.deepClone)(this.changes);
|
500
410
|
var emptyRowsAtTheEnd = instance.countEmptyRows(true);
|
501
411
|
var emptyColsAtTheEnd = instance.countEmptyCols(true);
|
502
|
-
|
503
412
|
for (var i = 0, len = data.length; i < len; i++) {
|
504
413
|
data[i].splice(3, 1);
|
505
414
|
}
|
506
|
-
|
507
415
|
instance.addHookOnce('afterChange', undoneCallback);
|
508
416
|
instance.setDataAtCell(data, null, null, 'UndoRedo.undo');
|
509
|
-
|
510
417
|
for (var _i2 = 0, _len = data.length; _i2 < _len; _i2++) {
|
511
418
|
var _data$_i = _slicedToArray(data[_i2], 2),
|
512
|
-
|
513
|
-
|
514
|
-
|
419
|
+
row = _data$_i[0],
|
420
|
+
column = _data$_i[1];
|
515
421
|
if (instance.getSettings().minSpareRows && row + 1 + instance.getSettings().minSpareRows === instance.countRows() && emptyRowsAtTheEnd === instance.getSettings().minSpareRows) {
|
516
422
|
instance.alter('remove_row', parseInt(row + 1, 10), instance.getSettings().minSpareRows);
|
517
423
|
instance.undoRedo.doneActions.pop();
|
518
424
|
}
|
519
|
-
|
520
425
|
if (instance.getSettings().minSpareCols && column + 1 + instance.getSettings().minSpareCols === instance.countCols() && emptyColsAtTheEnd === instance.getSettings().minSpareCols) {
|
521
426
|
instance.alter('remove_col', parseInt(column + 1, 10), instance.getSettings().minSpareCols);
|
522
427
|
instance.undoRedo.doneActions.pop();
|
523
428
|
}
|
524
429
|
}
|
525
|
-
|
526
430
|
instance.selectCells(this.selected, false, false);
|
527
431
|
};
|
528
|
-
|
529
432
|
UndoRedo.ChangeAction.prototype.redo = function (instance, onFinishCallback) {
|
530
433
|
var data = (0, _object.deepClone)(this.changes);
|
531
|
-
|
532
434
|
for (var i = 0, len = data.length; i < len; i++) {
|
533
435
|
data[i].splice(2, 1);
|
534
436
|
}
|
535
|
-
|
536
437
|
instance.addHookOnce('afterChange', onFinishCallback);
|
537
438
|
instance.setDataAtCell(data, null, null, 'UndoRedo.redo');
|
538
|
-
|
539
439
|
if (this.selected) {
|
540
440
|
instance.selectCells(this.selected, false, false);
|
541
441
|
}
|
542
442
|
};
|
443
|
+
|
543
444
|
/**
|
544
445
|
* Create row action.
|
545
446
|
*
|
@@ -547,20 +448,15 @@ UndoRedo.ChangeAction.prototype.redo = function (instance, onFinishCallback) {
|
|
547
448
|
* @param {number} index The visual row index.
|
548
449
|
* @param {number} amount The number of created rows.
|
549
450
|
*/
|
550
|
-
|
551
|
-
|
552
451
|
UndoRedo.CreateRowAction = function (index, amount) {
|
553
452
|
this.index = index;
|
554
453
|
this.amount = amount;
|
555
454
|
this.actionType = 'insert_row';
|
556
455
|
};
|
557
|
-
|
558
456
|
(0, _object.inherit)(UndoRedo.CreateRowAction, UndoRedo.Action);
|
559
|
-
|
560
457
|
UndoRedo.CreateRowAction.prototype.undo = function (instance, undoneCallback) {
|
561
458
|
var rowCount = instance.countRows();
|
562
459
|
var minSpareRows = instance.getSettings().minSpareRows;
|
563
|
-
|
564
460
|
if (this.index >= rowCount && this.index - minSpareRows < rowCount) {
|
565
461
|
this.index -= minSpareRows; // work around the situation where the needed row was removed due to an 'undo' of a made change
|
566
462
|
}
|
@@ -568,11 +464,11 @@ UndoRedo.CreateRowAction.prototype.undo = function (instance, undoneCallback) {
|
|
568
464
|
instance.addHookOnce('afterRemoveRow', undoneCallback);
|
569
465
|
instance.alter('remove_row', this.index, this.amount, 'UndoRedo.undo');
|
570
466
|
};
|
571
|
-
|
572
467
|
UndoRedo.CreateRowAction.prototype.redo = function (instance, redoneCallback) {
|
573
468
|
instance.addHookOnce('afterCreateRow', redoneCallback);
|
574
|
-
instance.alter('
|
469
|
+
instance.alter('insert_row_above', this.index, this.amount, 'UndoRedo.redo');
|
575
470
|
};
|
471
|
+
|
576
472
|
/**
|
577
473
|
* Remove row action.
|
578
474
|
*
|
@@ -582,8 +478,6 @@ UndoRedo.CreateRowAction.prototype.redo = function (instance, redoneCallback) {
|
|
582
478
|
* @param {number} fixedRowsBottom Number of fixed rows on the bottom. Remove row action change it sometimes.
|
583
479
|
* @param {number} fixedRowsTop Number of fixed rows on the top. Remove row action change it sometimes.
|
584
480
|
*/
|
585
|
-
|
586
|
-
|
587
481
|
UndoRedo.RemoveRowAction = function (index, data, fixedRowsBottom, fixedRowsTop) {
|
588
482
|
this.index = index;
|
589
483
|
this.data = data;
|
@@ -591,23 +485,22 @@ UndoRedo.RemoveRowAction = function (index, data, fixedRowsBottom, fixedRowsTop)
|
|
591
485
|
this.fixedRowsBottom = fixedRowsBottom;
|
592
486
|
this.fixedRowsTop = fixedRowsTop;
|
593
487
|
};
|
594
|
-
|
595
488
|
(0, _object.inherit)(UndoRedo.RemoveRowAction, UndoRedo.Action);
|
596
|
-
|
597
489
|
UndoRedo.RemoveRowAction.prototype.undo = function (instance, undoneCallback) {
|
598
|
-
var settings = instance.getSettings();
|
490
|
+
var settings = instance.getSettings();
|
599
491
|
|
492
|
+
// Changing by the reference as `updateSettings` doesn't work the best.
|
600
493
|
settings.fixedRowsBottom = this.fixedRowsBottom;
|
601
494
|
settings.fixedRowsTop = this.fixedRowsTop;
|
602
|
-
instance.alter('
|
495
|
+
instance.alter('insert_row_above', this.index, this.data.length, 'UndoRedo.undo');
|
603
496
|
instance.addHookOnce('afterViewRender', undoneCallback);
|
604
497
|
instance.populateFromArray(this.index, 0, this.data, void 0, void 0, 'UndoRedo.undo');
|
605
498
|
};
|
606
|
-
|
607
499
|
UndoRedo.RemoveRowAction.prototype.redo = function (instance, redoneCallback) {
|
608
500
|
instance.addHookOnce('afterRemoveRow', redoneCallback);
|
609
501
|
instance.alter('remove_row', this.index, this.data.length, 'UndoRedo.redo');
|
610
502
|
};
|
503
|
+
|
611
504
|
/**
|
612
505
|
* Create column action.
|
613
506
|
*
|
@@ -615,25 +508,21 @@ UndoRedo.RemoveRowAction.prototype.redo = function (instance, redoneCallback) {
|
|
615
508
|
* @param {number} index The visual column index.
|
616
509
|
* @param {number} amount The number of created columns.
|
617
510
|
*/
|
618
|
-
|
619
|
-
|
620
511
|
UndoRedo.CreateColumnAction = function (index, amount) {
|
621
512
|
this.index = index;
|
622
513
|
this.amount = amount;
|
623
514
|
this.actionType = 'insert_col';
|
624
515
|
};
|
625
|
-
|
626
516
|
(0, _object.inherit)(UndoRedo.CreateColumnAction, UndoRedo.Action);
|
627
|
-
|
628
517
|
UndoRedo.CreateColumnAction.prototype.undo = function (instance, undoneCallback) {
|
629
518
|
instance.addHookOnce('afterRemoveCol', undoneCallback);
|
630
519
|
instance.alter('remove_col', this.index, this.amount, 'UndoRedo.undo');
|
631
520
|
};
|
632
|
-
|
633
521
|
UndoRedo.CreateColumnAction.prototype.redo = function (instance, redoneCallback) {
|
634
522
|
instance.addHookOnce('afterCreateCol', redoneCallback);
|
635
|
-
instance.alter('
|
523
|
+
instance.alter('insert_col_start', this.index, this.amount, 'UndoRedo.redo');
|
636
524
|
};
|
525
|
+
|
637
526
|
/**
|
638
527
|
* Remove column action.
|
639
528
|
*
|
@@ -646,8 +535,6 @@ UndoRedo.CreateColumnAction.prototype.redo = function (instance, redoneCallback)
|
|
646
535
|
* @param {number[]} rowPositions The row position.
|
647
536
|
* @param {number} fixedColumnsStart Number of fixed columns on the left. Remove column action change it sometimes.
|
648
537
|
*/
|
649
|
-
|
650
|
-
|
651
538
|
UndoRedo.RemoveColumnAction = function (index, indexes, data, headers, columnPositions, rowPositions, fixedColumnsStart) {
|
652
539
|
// eslint-disable-line max-len
|
653
540
|
this.index = index;
|
@@ -660,31 +547,25 @@ UndoRedo.RemoveColumnAction = function (index, indexes, data, headers, columnPos
|
|
660
547
|
this.actionType = 'remove_col';
|
661
548
|
this.fixedColumnsStart = fixedColumnsStart;
|
662
549
|
};
|
663
|
-
|
664
550
|
(0, _object.inherit)(UndoRedo.RemoveColumnAction, UndoRedo.Action);
|
665
|
-
|
666
551
|
UndoRedo.RemoveColumnAction.prototype.undo = function (instance, undoneCallback) {
|
667
552
|
var _this2 = this;
|
553
|
+
var settings = instance.getSettings();
|
668
554
|
|
669
|
-
|
670
|
-
|
555
|
+
// Changing by the reference as `updateSettings` doesn't work the best.
|
671
556
|
settings.fixedColumnsStart = this.fixedColumnsStart;
|
672
557
|
var ascendingIndexes = this.indexes.slice(0).sort();
|
673
|
-
|
674
558
|
var sortByIndexes = function sortByIndexes(elem, j, arr) {
|
675
559
|
return arr[_this2.indexes.indexOf(ascendingIndexes[j])];
|
676
560
|
};
|
677
|
-
|
678
561
|
var removedDataLength = this.data.length;
|
679
562
|
var sortedData = [];
|
680
|
-
|
681
563
|
for (var rowIndex = 0; rowIndex < removedDataLength; rowIndex++) {
|
682
564
|
sortedData.push((0, _array.arrayMap)(this.data[rowIndex], sortByIndexes));
|
683
565
|
}
|
684
|
-
|
685
566
|
var sortedHeaders = (0, _array.arrayMap)(this.headers, sortByIndexes);
|
686
567
|
var changes = [];
|
687
|
-
instance.alter('
|
568
|
+
instance.alter('insert_col_start', this.indexes[0], this.indexes.length, 'UndoRedo.undo');
|
688
569
|
(0, _array.arrayEach)(instance.getSourceDataArray(), function (rowData, rowIndex) {
|
689
570
|
(0, _array.arrayEach)(ascendingIndexes, function (changedIndex, contiquesIndex) {
|
690
571
|
rowData[changedIndex] = sortedData[rowIndex][contiquesIndex];
|
@@ -693,13 +574,11 @@ UndoRedo.RemoveColumnAction.prototype.undo = function (instance, undoneCallback)
|
|
693
574
|
});
|
694
575
|
instance.setSourceDataAtCell(changes, void 0, void 0, 'UndoRedo.undo');
|
695
576
|
instance.columnIndexMapper.insertIndexes(ascendingIndexes[0], ascendingIndexes.length);
|
696
|
-
|
697
577
|
if (typeof this.headers !== 'undefined') {
|
698
578
|
(0, _array.arrayEach)(sortedHeaders, function (headerData, columnIndex) {
|
699
579
|
instance.getSettings().colHeaders[ascendingIndexes[columnIndex]] = headerData;
|
700
580
|
});
|
701
581
|
}
|
702
|
-
|
703
582
|
instance.batchExecution(function () {
|
704
583
|
// Restore row sequence in a case when all columns are removed. the original
|
705
584
|
// row sequence is lost in that case.
|
@@ -709,11 +588,11 @@ UndoRedo.RemoveColumnAction.prototype.undo = function (instance, undoneCallback)
|
|
709
588
|
instance.addHookOnce('afterViewRender', undoneCallback);
|
710
589
|
instance.render();
|
711
590
|
};
|
712
|
-
|
713
591
|
UndoRedo.RemoveColumnAction.prototype.redo = function (instance, redoneCallback) {
|
714
592
|
instance.addHookOnce('afterRemoveCol', redoneCallback);
|
715
593
|
instance.alter('remove_col', this.index, this.amount, 'UndoRedo.redo');
|
716
594
|
};
|
595
|
+
|
717
596
|
/**
|
718
597
|
* Cell alignment action.
|
719
598
|
*
|
@@ -723,18 +602,14 @@ UndoRedo.RemoveColumnAction.prototype.redo = function (instance, redoneCallback)
|
|
723
602
|
* @param {string} type The type of the alignment ("top", "left", "bottom" or "right").
|
724
603
|
* @param {string} alignment The alignment CSS class.
|
725
604
|
*/
|
726
|
-
|
727
|
-
|
728
605
|
UndoRedo.CellAlignmentAction = function (stateBefore, range, type, alignment) {
|
729
606
|
this.stateBefore = stateBefore;
|
730
607
|
this.range = range;
|
731
608
|
this.type = type;
|
732
609
|
this.alignment = alignment;
|
733
610
|
};
|
734
|
-
|
735
611
|
UndoRedo.CellAlignmentAction.prototype.undo = function (instance, undoneCallback) {
|
736
612
|
var _this3 = this;
|
737
|
-
|
738
613
|
(0, _array.arrayEach)(this.range, function (range) {
|
739
614
|
range.forAll(function (row, col) {
|
740
615
|
// Alignment classes should only collected within cell ranges. We skip header coordinates.
|
@@ -746,7 +621,6 @@ UndoRedo.CellAlignmentAction.prototype.undo = function (instance, undoneCallback
|
|
746
621
|
instance.addHookOnce('afterViewRender', undoneCallback);
|
747
622
|
instance.render();
|
748
623
|
};
|
749
|
-
|
750
624
|
UndoRedo.CellAlignmentAction.prototype.redo = function (instance, undoneCallback) {
|
751
625
|
(0, _utils.align)(this.range, this.type, this.alignment, function (row, col) {
|
752
626
|
return instance.getCellMeta(row, col);
|
@@ -756,62 +630,49 @@ UndoRedo.CellAlignmentAction.prototype.redo = function (instance, undoneCallback
|
|
756
630
|
instance.addHookOnce('afterViewRender', undoneCallback);
|
757
631
|
instance.render();
|
758
632
|
};
|
633
|
+
|
759
634
|
/**
|
760
635
|
* Filters action.
|
761
636
|
*
|
762
637
|
* @private
|
763
638
|
* @param {Array} conditionsStack An array of the filter condition.
|
764
639
|
*/
|
765
|
-
|
766
|
-
|
767
640
|
UndoRedo.FiltersAction = function (conditionsStack) {
|
768
641
|
this.conditionsStack = conditionsStack;
|
769
642
|
this.actionType = 'filter';
|
770
643
|
};
|
771
|
-
|
772
644
|
(0, _object.inherit)(UndoRedo.FiltersAction, UndoRedo.Action);
|
773
|
-
|
774
645
|
UndoRedo.FiltersAction.prototype.undo = function (instance, undoneCallback) {
|
775
646
|
var filters = instance.getPlugin('filters');
|
776
647
|
instance.addHookOnce('afterViewRender', undoneCallback);
|
777
648
|
filters.conditionCollection.importAllConditions(this.conditionsStack.slice(0, this.conditionsStack.length - 1));
|
778
649
|
filters.filter();
|
779
650
|
};
|
780
|
-
|
781
651
|
UndoRedo.FiltersAction.prototype.redo = function (instance, redoneCallback) {
|
782
652
|
var filters = instance.getPlugin('filters');
|
783
653
|
instance.addHookOnce('afterViewRender', redoneCallback);
|
784
654
|
filters.conditionCollection.importAllConditions(this.conditionsStack);
|
785
655
|
filters.filter();
|
786
656
|
};
|
657
|
+
|
787
658
|
/**
|
788
659
|
* Merge Cells action.
|
789
660
|
*
|
790
661
|
* @util
|
791
662
|
*/
|
792
|
-
|
793
|
-
|
794
663
|
var MergeCellsAction = /*#__PURE__*/function (_UndoRedo$Action) {
|
795
664
|
_inherits(MergeCellsAction, _UndoRedo$Action);
|
796
|
-
|
797
665
|
var _super = _createSuper(MergeCellsAction);
|
798
|
-
|
799
666
|
function MergeCellsAction(instance, cellRange) {
|
800
667
|
var _this4;
|
801
|
-
|
802
668
|
_classCallCheck(this, MergeCellsAction);
|
803
|
-
|
804
669
|
_this4 = _super.call(this);
|
805
670
|
_this4.cellRange = cellRange;
|
806
|
-
|
807
671
|
var topStartCorner = _this4.cellRange.getTopStartCorner();
|
808
|
-
|
809
672
|
var bottomEndCorner = _this4.cellRange.getBottomEndCorner();
|
810
|
-
|
811
673
|
_this4.rangeData = instance.getData(topStartCorner.row, topStartCorner.col, bottomEndCorner.row, bottomEndCorner.col);
|
812
674
|
return _this4;
|
813
675
|
}
|
814
|
-
|
815
676
|
_createClass(MergeCellsAction, [{
|
816
677
|
key: "undo",
|
817
678
|
value: function undo(instance, undoneCallback) {
|
@@ -829,32 +690,25 @@ var MergeCellsAction = /*#__PURE__*/function (_UndoRedo$Action) {
|
|
829
690
|
mergeCellsPlugin.mergeRange(this.cellRange);
|
830
691
|
}
|
831
692
|
}]);
|
832
|
-
|
833
693
|
return MergeCellsAction;
|
834
694
|
}(UndoRedo.Action);
|
835
|
-
|
836
695
|
UndoRedo.MergeCellsAction = MergeCellsAction;
|
696
|
+
|
837
697
|
/**
|
838
698
|
* Unmerge Cells action.
|
839
699
|
*
|
840
700
|
* @util
|
841
701
|
*/
|
842
|
-
|
843
702
|
var UnmergeCellsAction = /*#__PURE__*/function (_UndoRedo$Action2) {
|
844
703
|
_inherits(UnmergeCellsAction, _UndoRedo$Action2);
|
845
|
-
|
846
704
|
var _super2 = _createSuper(UnmergeCellsAction);
|
847
|
-
|
848
705
|
function UnmergeCellsAction(instance, cellRange) {
|
849
706
|
var _this5;
|
850
|
-
|
851
707
|
_classCallCheck(this, UnmergeCellsAction);
|
852
|
-
|
853
708
|
_this5 = _super2.call(this);
|
854
709
|
_this5.cellRange = cellRange;
|
855
710
|
return _this5;
|
856
711
|
}
|
857
|
-
|
858
712
|
_createClass(UnmergeCellsAction, [{
|
859
713
|
key: "undo",
|
860
714
|
value: function undo(instance, undoneCallback) {
|
@@ -871,11 +725,10 @@ var UnmergeCellsAction = /*#__PURE__*/function (_UndoRedo$Action2) {
|
|
871
725
|
instance.render();
|
872
726
|
}
|
873
727
|
}]);
|
874
|
-
|
875
728
|
return UnmergeCellsAction;
|
876
729
|
}(UndoRedo.Action);
|
877
|
-
|
878
730
|
UndoRedo.UnmergeCellsAction = UnmergeCellsAction;
|
731
|
+
|
879
732
|
/**
|
880
733
|
* ManualRowMove action.
|
881
734
|
*
|
@@ -884,18 +737,14 @@ UndoRedo.UnmergeCellsAction = UnmergeCellsAction;
|
|
884
737
|
* @param {number[]} rows An array with moved rows.
|
885
738
|
* @param {number} finalIndex The destination index.
|
886
739
|
*/
|
887
|
-
|
888
740
|
UndoRedo.RowMoveAction = function (rows, finalIndex) {
|
889
741
|
this.rows = rows.slice();
|
890
742
|
this.finalIndex = finalIndex;
|
891
743
|
this.actionType = 'row_move';
|
892
744
|
};
|
893
|
-
|
894
745
|
(0, _object.inherit)(UndoRedo.RowMoveAction, UndoRedo.Action);
|
895
|
-
|
896
746
|
UndoRedo.RowMoveAction.prototype.undo = function (instance, undoneCallback) {
|
897
747
|
var _this6 = this;
|
898
|
-
|
899
748
|
var manualRowMove = instance.getPlugin('manualRowMove');
|
900
749
|
var copyOfRows = [].concat(this.rows);
|
901
750
|
var rowsMovedUp = copyOfRows.filter(function (a) {
|
@@ -909,19 +758,18 @@ UndoRedo.RowMoveAction.prototype.undo = function (instance, undoneCallback) {
|
|
909
758
|
}).concat(rowsMovedDown.sort(function (a, b) {
|
910
759
|
return a - b;
|
911
760
|
}));
|
912
|
-
instance.addHookOnce('afterViewRender', undoneCallback);
|
913
|
-
// Moving rows from those with lower indexes to those with higher indexes when action was performed from top to bottom
|
761
|
+
instance.addHookOnce('afterViewRender', undoneCallback);
|
914
762
|
|
763
|
+
// Moving rows from those with higher indexes to those with lower indexes when action was performed from bottom to top
|
764
|
+
// Moving rows from those with lower indexes to those with higher indexes when action was performed from top to bottom
|
915
765
|
for (var i = 0; i < allMovedRows.length; i += 1) {
|
916
766
|
var newPhysicalRow = instance.toVisualRow(allMovedRows[i]);
|
917
767
|
manualRowMove.moveRow(newPhysicalRow, allMovedRows[i]);
|
918
768
|
}
|
919
|
-
|
920
769
|
instance.render();
|
921
770
|
instance.deselectCell();
|
922
771
|
instance.selectRows(this.rows[0], this.rows[0] + this.rows.length - 1);
|
923
772
|
};
|
924
|
-
|
925
773
|
UndoRedo.RowMoveAction.prototype.redo = function (instance, redoneCallback) {
|
926
774
|
var manualRowMove = instance.getPlugin('manualRowMove');
|
927
775
|
instance.addHookOnce('afterViewRender', redoneCallback);
|
@@ -930,40 +778,34 @@ UndoRedo.RowMoveAction.prototype.redo = function (instance, redoneCallback) {
|
|
930
778
|
instance.deselectCell();
|
931
779
|
instance.selectRows(this.finalIndex, this.finalIndex + this.rows.length - 1);
|
932
780
|
};
|
781
|
+
|
933
782
|
/**
|
934
783
|
* Enabling and disabling plugin and attaching its to an instance.
|
935
784
|
*
|
936
785
|
* @private
|
937
786
|
*/
|
938
|
-
|
939
|
-
|
940
787
|
UndoRedo.prototype.init = function () {
|
941
788
|
var settings = this.instance.getSettings().undo;
|
942
789
|
var pluginEnabled = typeof settings === 'undefined' || settings;
|
943
|
-
|
944
790
|
if (!this.instance.undoRedo) {
|
945
791
|
this.instance.undoRedo = this;
|
946
792
|
}
|
947
|
-
|
948
793
|
if (pluginEnabled) {
|
949
794
|
this.instance.undoRedo.enable();
|
950
795
|
} else {
|
951
796
|
this.instance.undoRedo.disable();
|
952
797
|
}
|
953
798
|
};
|
799
|
+
|
954
800
|
/**
|
955
801
|
* Registers shortcuts responsible for performing undo/redo.
|
956
802
|
*
|
957
803
|
* @private
|
958
804
|
*/
|
959
|
-
|
960
|
-
|
961
805
|
UndoRedo.prototype.registerShortcuts = function () {
|
962
806
|
var _this7 = this;
|
963
|
-
|
964
807
|
var shortcutManager = this.instance.getShortcutManager();
|
965
808
|
var gridContext = shortcutManager.getContext('grid');
|
966
|
-
|
967
809
|
var runOnlyIf = function runOnlyIf(event) {
|
968
810
|
return !event.altKey; // right ALT in some systems triggers ALT+CTR
|
969
811
|
};
|
@@ -984,37 +826,33 @@ UndoRedo.prototype.registerShortcuts = function () {
|
|
984
826
|
}
|
985
827
|
}], config);
|
986
828
|
};
|
829
|
+
|
987
830
|
/**
|
988
831
|
* Unregister shortcuts responsible for performing undo/redo.
|
989
832
|
*
|
990
833
|
* @private
|
991
834
|
*/
|
992
|
-
|
993
|
-
|
994
835
|
UndoRedo.prototype.unregisterShortcuts = function () {
|
995
836
|
var shortcutManager = this.instance.getShortcutManager();
|
996
837
|
var gridContext = shortcutManager.getContext('grid');
|
997
838
|
gridContext.removeShortcutsByGroup(SHORTCUTS_GROUP);
|
998
839
|
};
|
840
|
+
|
999
841
|
/**
|
1000
842
|
* @param {Array} changes 2D array containing information about each of the edited cells.
|
1001
843
|
* @param {string} source String that identifies source of hook call.
|
1002
844
|
* @returns {boolean}
|
1003
845
|
*/
|
1004
|
-
|
1005
|
-
|
1006
846
|
function onAfterChange(changes, source) {
|
1007
847
|
var instance = this;
|
1008
|
-
|
1009
848
|
if (source === 'loadData') {
|
1010
849
|
return instance.undoRedo.clear();
|
1011
850
|
}
|
1012
851
|
}
|
852
|
+
|
1013
853
|
/**
|
1014
854
|
* @param {Core} instance The Handsontable instance.
|
1015
855
|
*/
|
1016
|
-
|
1017
|
-
|
1018
856
|
function exposeUndoRedoMethods(instance) {
|
1019
857
|
/**
|
1020
858
|
* {@link UndoRedo#undo}.
|
@@ -1026,6 +864,7 @@ function exposeUndoRedoMethods(instance) {
|
|
1026
864
|
instance.undo = function () {
|
1027
865
|
return instance.undoRedo.undo();
|
1028
866
|
};
|
867
|
+
|
1029
868
|
/**
|
1030
869
|
* {@link UndoRedo#redo}.
|
1031
870
|
*
|
@@ -1033,11 +872,10 @@ function exposeUndoRedoMethods(instance) {
|
|
1033
872
|
* @memberof! Core#
|
1034
873
|
* @returns {boolean}
|
1035
874
|
*/
|
1036
|
-
|
1037
|
-
|
1038
875
|
instance.redo = function () {
|
1039
876
|
return instance.undoRedo.redo();
|
1040
877
|
};
|
878
|
+
|
1041
879
|
/**
|
1042
880
|
* {@link UndoRedo#isUndoAvailable}.
|
1043
881
|
*
|
@@ -1045,11 +883,10 @@ function exposeUndoRedoMethods(instance) {
|
|
1045
883
|
* @memberof! Core#
|
1046
884
|
* @returns {boolean}
|
1047
885
|
*/
|
1048
|
-
|
1049
|
-
|
1050
886
|
instance.isUndoAvailable = function () {
|
1051
887
|
return instance.undoRedo.isUndoAvailable();
|
1052
888
|
};
|
889
|
+
|
1053
890
|
/**
|
1054
891
|
* {@link UndoRedo#isRedoAvailable}.
|
1055
892
|
*
|
@@ -1057,11 +894,10 @@ function exposeUndoRedoMethods(instance) {
|
|
1057
894
|
* @memberof! Core#
|
1058
895
|
* @returns {boolean}
|
1059
896
|
*/
|
1060
|
-
|
1061
|
-
|
1062
897
|
instance.isRedoAvailable = function () {
|
1063
898
|
return instance.undoRedo.isRedoAvailable();
|
1064
899
|
};
|
900
|
+
|
1065
901
|
/**
|
1066
902
|
* {@link UndoRedo#clear}.
|
1067
903
|
*
|
@@ -1069,17 +905,14 @@ function exposeUndoRedoMethods(instance) {
|
|
1069
905
|
* @memberof! Core#
|
1070
906
|
* @returns {boolean}
|
1071
907
|
*/
|
1072
|
-
|
1073
|
-
|
1074
908
|
instance.clearUndo = function () {
|
1075
909
|
return instance.undoRedo.clear();
|
1076
910
|
};
|
1077
911
|
}
|
912
|
+
|
1078
913
|
/**
|
1079
914
|
* @param {Core} instance The Handsontable instance.
|
1080
915
|
*/
|
1081
|
-
|
1082
|
-
|
1083
916
|
function removeExposedUndoRedoMethods(instance) {
|
1084
917
|
delete instance.undo;
|
1085
918
|
delete instance.redo;
|
@@ -1087,12 +920,9 @@ function removeExposedUndoRedoMethods(instance) {
|
|
1087
920
|
delete instance.isRedoAvailable;
|
1088
921
|
delete instance.clearUndo;
|
1089
922
|
}
|
1090
|
-
|
1091
923
|
var hook = _pluginHooks.default.getSingleton();
|
1092
|
-
|
1093
924
|
hook.add('afterUpdateSettings', function () {
|
1094
925
|
var _this$getPlugin;
|
1095
|
-
|
1096
926
|
(_this$getPlugin = this.getPlugin('undoRedo')) === null || _this$getPlugin === void 0 ? void 0 : _this$getPlugin.init();
|
1097
927
|
});
|
1098
928
|
hook.register('beforeUndo');
|