handsontable 12.1.3 → 12.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/SheetClip/SheetClip.js +3 -32
- package/3rdparty/SheetClip/SheetClip.mjs +3 -23
- package/3rdparty/SheetClip/index.js +0 -2
- package/3rdparty/autoResize/autoResize.js +119 -145
- package/3rdparty/autoResize/autoResize.mjs +119 -143
- package/3rdparty/autoResize/index.js +0 -2
- package/3rdparty/walkontable/src/border.js +34 -151
- package/3rdparty/walkontable/src/border.mjs +36 -138
- package/3rdparty/walkontable/src/calculator/constants.js +0 -3
- package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
- package/3rdparty/walkontable/src/calculator/index.js +0 -10
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +26 -76
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +26 -69
- package/3rdparty/walkontable/src/calculator/viewportRows.js +20 -48
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +20 -41
- package/3rdparty/walkontable/src/cell/coords.js +13 -43
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -38
- package/3rdparty/walkontable/src/cell/range.js +55 -130
- package/3rdparty/walkontable/src/cell/range.mjs +60 -126
- package/3rdparty/walkontable/src/core/_base.js +16 -74
- package/3rdparty/walkontable/src/core/_base.mjs +19 -70
- package/3rdparty/walkontable/src/core/clone.js +1 -40
- package/3rdparty/walkontable/src/core/clone.mjs +3 -30
- package/3rdparty/walkontable/src/core/core.js +3 -57
- package/3rdparty/walkontable/src/core/core.mjs +5 -41
- package/3rdparty/walkontable/src/event.js +31 -78
- package/3rdparty/walkontable/src/event.mjs +31 -65
- package/3rdparty/walkontable/src/facade/core.js +1 -17
- package/3rdparty/walkontable/src/facade/core.mjs +7 -20
- package/3rdparty/walkontable/src/filter/column.js +9 -18
- package/3rdparty/walkontable/src/filter/column.mjs +9 -17
- package/3rdparty/walkontable/src/filter/row.js +9 -18
- package/3rdparty/walkontable/src/filter/row.mjs +9 -17
- package/3rdparty/walkontable/src/index.js +0 -31
- package/3rdparty/walkontable/src/overlay/_base.js +24 -69
- package/3rdparty/walkontable/src/overlay/_base.mjs +31 -68
- package/3rdparty/walkontable/src/overlay/bottom.js +28 -99
- package/3rdparty/walkontable/src/overlay/bottom.mjs +30 -86
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +7 -53
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +9 -40
- package/3rdparty/walkontable/src/overlay/constants.js +0 -6
- package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
- package/3rdparty/walkontable/src/overlay/index.js +0 -17
- package/3rdparty/walkontable/src/overlay/inlineStart.js +21 -91
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +23 -78
- package/3rdparty/walkontable/src/overlay/top.js +27 -100
- package/3rdparty/walkontable/src/overlay/top.mjs +29 -87
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +4 -51
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +6 -38
- package/3rdparty/walkontable/src/overlays.js +58 -129
- package/3rdparty/walkontable/src/overlays.mjs +60 -121
- package/3rdparty/walkontable/src/renderer/_base.js +4 -20
- package/3rdparty/walkontable/src/renderer/_base.mjs +8 -22
- package/3rdparty/walkontable/src/renderer/cells.js +10 -54
- package/3rdparty/walkontable/src/renderer/cells.mjs +22 -52
- package/3rdparty/walkontable/src/renderer/colGroup.js +10 -47
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +21 -46
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +19 -49
- package/3rdparty/walkontable/src/renderer/index.js +13 -36
- package/3rdparty/walkontable/src/renderer/index.mjs +17 -27
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +20 -49
- package/3rdparty/walkontable/src/renderer/rows.js +3 -46
- package/3rdparty/walkontable/src/renderer/rows.mjs +3 -29
- package/3rdparty/walkontable/src/renderer/table.js +22 -49
- package/3rdparty/walkontable/src/renderer/table.mjs +22 -48
- package/3rdparty/walkontable/src/scroll.js +56 -86
- package/3rdparty/walkontable/src/scroll.mjs +58 -86
- package/3rdparty/walkontable/src/selection.js +20 -101
- package/3rdparty/walkontable/src/selection.mjs +22 -85
- package/3rdparty/walkontable/src/settings.js +9 -29
- package/3rdparty/walkontable/src/settings.mjs +9 -27
- package/3rdparty/walkontable/src/table/bottom.js +1 -35
- package/3rdparty/walkontable/src/table/bottom.mjs +6 -25
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table/inlineStart.js +1 -35
- package/3rdparty/walkontable/src/table/inlineStart.mjs +3 -22
- package/3rdparty/walkontable/src/table/master.js +10 -55
- package/3rdparty/walkontable/src/table/master.mjs +15 -44
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +7 -20
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +7 -23
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +7 -21
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +7 -20
- package/3rdparty/walkontable/src/table/top.js +1 -35
- package/3rdparty/walkontable/src/table/top.mjs +6 -25
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table.js +63 -230
- package/3rdparty/walkontable/src/table.mjs +73 -219
- package/3rdparty/walkontable/src/types.js +0 -5
- package/3rdparty/walkontable/src/types.mjs +0 -5
- package/3rdparty/walkontable/src/utils/column.js +9 -31
- package/3rdparty/walkontable/src/utils/column.mjs +13 -30
- package/3rdparty/walkontable/src/utils/nodesPool.js +3 -12
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +3 -11
- package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
- package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
- package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -33
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +6 -26
- package/3rdparty/walkontable/src/utils/orderView/view.js +14 -46
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +21 -50
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +3 -15
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +3 -14
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +8 -22
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +23 -34
- package/3rdparty/walkontable/src/utils/row.js +2 -13
- package/3rdparty/walkontable/src/utils/row.mjs +2 -12
- package/3rdparty/walkontable/src/viewport.js +38 -100
- package/3rdparty/walkontable/src/viewport.mjs +40 -99
- package/CHANGELOG.md +76 -1
- package/base.js +6 -17
- package/base.mjs +6 -12
- package/cellTypes/autocompleteType/autocompleteType.js +0 -4
- package/cellTypes/autocompleteType/index.js +0 -2
- package/cellTypes/checkboxType/checkboxType.js +0 -3
- package/cellTypes/checkboxType/index.js +0 -2
- package/cellTypes/dateType/dateType.js +0 -4
- package/cellTypes/dateType/index.js +0 -2
- package/cellTypes/dropdownType/dropdownType.js +0 -4
- package/cellTypes/dropdownType/index.js +0 -2
- package/cellTypes/handsontableType/handsontableType.js +0 -3
- package/cellTypes/handsontableType/index.js +0 -2
- package/cellTypes/index.js +0 -21
- package/cellTypes/index.mjs +3 -5
- package/cellTypes/numericType/index.js +0 -2
- package/cellTypes/numericType/numericType.js +0 -4
- package/cellTypes/passwordType/index.js +0 -2
- package/cellTypes/passwordType/passwordType.js +0 -3
- package/cellTypes/registry.js +10 -25
- package/cellTypes/registry.mjs +10 -20
- package/cellTypes/textType/index.js +0 -2
- package/cellTypes/textType/textType.js +0 -3
- package/cellTypes/timeType/index.js +0 -2
- package/cellTypes/timeType/timeType.js +0 -4
- package/core.d.ts +5 -1
- package/core.js +505 -973
- package/core.mjs +510 -920
- package/dataMap/dataMap.js +106 -210
- package/dataMap/dataMap.mjs +106 -184
- package/{dataSource.js → dataMap/dataSource.js} +18 -66
- package/{dataSource.mjs → dataMap/dataSource.mjs} +20 -60
- package/dataMap/index.js +0 -13
- package/dataMap/metaManager/index.js +21 -46
- package/dataMap/metaManager/index.mjs +47 -64
- package/dataMap/metaManager/lazyFactoryMap.js +10 -61
- package/dataMap/metaManager/lazyFactoryMap.mjs +10 -45
- package/dataMap/metaManager/metaLayers/cellMeta.js +16 -52
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +16 -37
- package/dataMap/metaManager/metaLayers/columnMeta.js +8 -22
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +14 -25
- package/dataMap/metaManager/metaLayers/globalMeta.js +4 -19
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.js +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +28 -37
- package/dataMap/metaManager/metaSchema.js +86 -179
- package/dataMap/metaManager/metaSchema.mjs +86 -170
- package/dataMap/metaManager/mods/dynamicCellMeta.js +6 -36
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +20 -39
- package/dataMap/metaManager/mods/extendMetaProperties.js +5 -28
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +4 -18
- package/dataMap/metaManager/utils.js +11 -20
- package/dataMap/metaManager/utils.mjs +21 -23
- package/dataMap/replaceData.js +14 -35
- package/dataMap/replaceData.mjs +35 -45
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +8478 -20043
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +55 -55
- package/dist/handsontable.js +7995 -19560
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +0 -175
- package/dist/languages/ar-AR.js +0 -10
- package/dist/languages/cs-CZ.js +0 -10
- package/dist/languages/de-CH.js +0 -10
- package/dist/languages/de-DE.js +0 -10
- package/dist/languages/en-US.js +0 -10
- package/dist/languages/es-MX.js +0 -10
- package/dist/languages/fr-FR.js +0 -10
- package/dist/languages/it-IT.js +0 -10
- package/dist/languages/ja-JP.js +0 -10
- package/dist/languages/ko-KR.js +0 -10
- package/dist/languages/lv-LV.js +0 -10
- package/dist/languages/nb-NO.js +0 -10
- package/dist/languages/nl-NL.js +0 -10
- package/dist/languages/pl-PL.js +0 -10
- package/dist/languages/pt-BR.js +0 -10
- package/dist/languages/ru-RU.js +0 -10
- package/dist/languages/sr-SP.js +0 -10
- package/dist/languages/zh-CN.js +0 -10
- package/dist/languages/zh-TW.js +0 -10
- package/editorManager.js +36 -105
- package/editorManager.mjs +36 -85
- package/editors/autocompleteEditor/autocompleteEditor.js +26 -133
- package/editors/autocompleteEditor/autocompleteEditor.mjs +26 -104
- package/editors/autocompleteEditor/index.js +0 -2
- package/editors/baseEditor/baseEditor.js +44 -154
- package/editors/baseEditor/baseEditor.mjs +44 -128
- package/editors/baseEditor/index.js +0 -2
- package/editors/checkboxEditor/checkboxEditor.js +2 -33
- package/editors/checkboxEditor/checkboxEditor.mjs +2 -19
- package/editors/checkboxEditor/index.js +0 -2
- package/editors/dateEditor/dateEditor.js +20 -96
- package/editors/dateEditor/dateEditor.mjs +20 -75
- package/editors/dateEditor/index.js +0 -2
- package/editors/dropdownEditor/dropdownEditor.js +1 -41
- package/editors/dropdownEditor/dropdownEditor.mjs +1 -22
- package/editors/dropdownEditor/index.js +0 -2
- package/editors/handsontableEditor/handsontableEditor.js +13 -85
- package/editors/handsontableEditor/handsontableEditor.mjs +13 -66
- package/editors/handsontableEditor/index.js +0 -2
- package/editors/index.js +0 -25
- package/editors/index.mjs +3 -5
- package/editors/numericEditor/index.js +0 -2
- package/editors/numericEditor/numericEditor.js +1 -31
- package/editors/numericEditor/numericEditor.mjs +1 -18
- package/editors/passwordEditor/index.js +0 -2
- package/editors/passwordEditor/passwordEditor.js +1 -38
- package/editors/passwordEditor/passwordEditor.mjs +1 -22
- package/editors/registry.js +10 -36
- package/editors/registry.mjs +10 -28
- package/editors/selectEditor/index.js +0 -2
- package/editors/selectEditor/selectEditor.js +21 -73
- package/editors/selectEditor/selectEditor.mjs +21 -56
- package/editors/textEditor/caretPositioner.js +0 -8
- package/editors/textEditor/caretPositioner.mjs +10 -18
- package/editors/textEditor/index.js +0 -2
- package/editors/textEditor/textEditor.js +38 -137
- package/editors/textEditor/textEditor.mjs +38 -106
- package/editors/timeEditor/index.js +0 -2
- package/editors/timeEditor/timeEditor.js +1 -36
- package/editors/timeEditor/timeEditor.mjs +1 -21
- package/eventManager.js +20 -56
- package/eventManager.mjs +23 -56
- package/helpers/array.js +22 -88
- package/helpers/array.mjs +22 -58
- package/helpers/browser.js +25 -51
- package/helpers/browser.mjs +25 -32
- package/helpers/console.js +3 -13
- package/helpers/console.mjs +8 -16
- package/helpers/data.d.ts +0 -1
- package/helpers/data.js +10 -55
- package/helpers/data.mjs +10 -33
- package/helpers/date.js +2 -3
- package/helpers/date.mjs +2 -2
- package/helpers/dom/element.js +66 -256
- package/helpers/dom/element.mjs +73 -192
- package/helpers/dom/event.js +3 -7
- package/helpers/dom/event.mjs +3 -3
- package/helpers/feature.js +13 -47
- package/helpers/feature.mjs +13 -31
- package/helpers/function.js +14 -59
- package/helpers/function.mjs +20 -52
- package/helpers/mixed.js +9 -64
- package/helpers/mixed.mjs +15 -50
- package/helpers/number.js +4 -46
- package/helpers/number.mjs +4 -23
- package/helpers/object.js +15 -68
- package/helpers/object.mjs +21 -50
- package/helpers/string.js +6 -28
- package/helpers/string.mjs +12 -21
- package/helpers/templateLiteralTag.js +0 -6
- package/helpers/templateLiteralTag.mjs +7 -10
- package/helpers/unicode.js +17 -22
- package/helpers/unicode.mjs +17 -13
- package/helpers/wrappers/jquery.js +4 -14
- package/helpers/wrappers/jquery.mjs +4 -13
- package/i18n/constants.js +1 -3
- package/i18n/constants.mjs +1 -1
- package/i18n/index.js +0 -7
- package/i18n/languages/ar-AR.js +0 -16
- package/i18n/languages/ar-AR.mjs +1 -4
- package/i18n/languages/cs-CZ.js +0 -16
- package/i18n/languages/cs-CZ.mjs +1 -4
- package/i18n/languages/de-CH.js +0 -16
- package/i18n/languages/de-CH.mjs +1 -4
- package/i18n/languages/de-DE.js +0 -16
- package/i18n/languages/de-DE.mjs +1 -4
- package/i18n/languages/en-US.js +0 -16
- package/i18n/languages/en-US.mjs +1 -4
- package/i18n/languages/es-MX.js +0 -16
- package/i18n/languages/es-MX.mjs +1 -4
- package/i18n/languages/fr-FR.js +0 -16
- package/i18n/languages/fr-FR.mjs +1 -4
- package/i18n/languages/index.js +0 -39
- package/i18n/languages/it-IT.js +0 -16
- package/i18n/languages/it-IT.mjs +1 -4
- package/i18n/languages/ja-JP.js +0 -16
- package/i18n/languages/ja-JP.mjs +1 -4
- package/i18n/languages/ko-KR.js +0 -16
- package/i18n/languages/ko-KR.mjs +1 -4
- package/i18n/languages/lv-LV.js +0 -16
- package/i18n/languages/lv-LV.mjs +1 -4
- package/i18n/languages/nb-NO.js +0 -16
- package/i18n/languages/nb-NO.mjs +1 -4
- package/i18n/languages/nl-NL.js +0 -16
- package/i18n/languages/nl-NL.mjs +1 -4
- package/i18n/languages/pl-PL.js +0 -16
- package/i18n/languages/pl-PL.mjs +1 -4
- package/i18n/languages/pt-BR.js +0 -16
- package/i18n/languages/pt-BR.mjs +1 -4
- package/i18n/languages/ru-RU.js +0 -16
- package/i18n/languages/ru-RU.mjs +1 -4
- package/i18n/languages/sr-SP.js +0 -16
- package/i18n/languages/sr-SP.mjs +1 -4
- package/i18n/languages/zh-CN.js +0 -16
- package/i18n/languages/zh-CN.mjs +1 -4
- package/i18n/languages/zh-TW.js +0 -16
- package/i18n/languages/zh-TW.mjs +1 -4
- package/i18n/phraseFormatters/index.js +4 -11
- package/i18n/phraseFormatters/index.mjs +4 -6
- package/i18n/phraseFormatters/pluralize.js +0 -5
- package/i18n/phraseFormatters/pluralize.mjs +0 -3
- package/i18n/phraseFormatters/substituteVariables.js +0 -4
- package/i18n/phraseFormatters/substituteVariables.mjs +8 -11
- package/i18n/registry.js +18 -59
- package/i18n/registry.mjs +18 -30
- package/i18n/utils.js +4 -22
- package/i18n/utils.mjs +13 -21
- package/index.js +19 -56
- package/index.mjs +19 -15
- package/languages/all.js +0 -175
- package/languages/ar-AR.js +0 -10
- package/languages/ar-AR.mjs +1 -4
- package/languages/cs-CZ.js +0 -10
- package/languages/cs-CZ.mjs +1 -4
- package/languages/de-CH.js +0 -10
- package/languages/de-CH.mjs +1 -4
- package/languages/de-DE.js +0 -10
- package/languages/de-DE.mjs +1 -4
- package/languages/en-US.js +0 -10
- package/languages/en-US.mjs +1 -4
- package/languages/es-MX.js +0 -10
- package/languages/es-MX.mjs +1 -4
- package/languages/fr-FR.js +0 -10
- package/languages/fr-FR.mjs +1 -4
- package/languages/index.js +0 -175
- package/languages/it-IT.js +0 -10
- package/languages/it-IT.mjs +1 -4
- package/languages/ja-JP.js +0 -10
- package/languages/ja-JP.mjs +1 -4
- package/languages/ko-KR.js +0 -10
- package/languages/ko-KR.mjs +1 -4
- package/languages/lv-LV.js +0 -10
- package/languages/lv-LV.mjs +1 -4
- package/languages/nb-NO.js +0 -10
- package/languages/nb-NO.mjs +1 -4
- package/languages/nl-NL.js +0 -10
- package/languages/nl-NL.mjs +1 -4
- package/languages/pl-PL.js +0 -10
- package/languages/pl-PL.mjs +1 -4
- package/languages/pt-BR.js +0 -10
- package/languages/pt-BR.mjs +1 -4
- package/languages/ru-RU.js +0 -10
- package/languages/ru-RU.mjs +1 -4
- package/languages/sr-SP.js +0 -10
- package/languages/sr-SP.mjs +1 -4
- package/languages/zh-CN.js +0 -10
- package/languages/zh-CN.mjs +1 -4
- package/languages/zh-TW.js +0 -10
- package/languages/zh-TW.mjs +1 -4
- package/mixins/hooksRefRegisterer.js +4 -18
- package/mixins/hooksRefRegisterer.mjs +4 -15
- package/mixins/localHooks.js +7 -17
- package/mixins/localHooks.mjs +7 -14
- package/package.json +1 -1
- package/pluginHooks.d.ts +3 -3
- package/pluginHooks.js +271 -96
- package/pluginHooks.mjs +270 -83
- package/plugins/autoColumnSize/autoColumnSize.js +74 -172
- package/plugins/autoColumnSize/autoColumnSize.mjs +74 -137
- package/plugins/autoColumnSize/index.js +0 -2
- package/plugins/autoRowSize/autoRowSize.js +73 -153
- package/plugins/autoRowSize/autoRowSize.mjs +73 -124
- package/plugins/autoRowSize/index.js +0 -2
- package/plugins/autofill/autofill.js +46 -163
- package/plugins/autofill/autofill.mjs +46 -131
- package/plugins/autofill/index.js +0 -2
- package/plugins/autofill/utils.js +4 -26
- package/plugins/autofill/utils.mjs +4 -18
- package/plugins/base/base.js +20 -89
- package/plugins/base/base.mjs +20 -61
- package/plugins/base/index.js +0 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +19 -52
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +19 -33
- package/plugins/bindRowsWithHeaders/index.js +0 -2
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +5 -41
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +5 -29
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -53
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +6 -37
- package/plugins/collapsibleColumns/collapsibleColumns.js +96 -188
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +97 -158
- package/plugins/collapsibleColumns/index.js +0 -2
- package/plugins/columnSorting/columnSorting.js +50 -188
- package/plugins/columnSorting/columnSorting.mjs +50 -143
- package/plugins/columnSorting/columnStatesManager.js +15 -71
- package/plugins/columnSorting/columnStatesManager.mjs +15 -48
- package/plugins/columnSorting/domHelpers.js +2 -18
- package/plugins/columnSorting/domHelpers.mjs +2 -7
- package/plugins/columnSorting/index.js +0 -2
- package/plugins/columnSorting/rootComparator.js +5 -24
- package/plugins/columnSorting/rootComparator.mjs +12 -21
- package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
- package/plugins/columnSorting/sortFunction/checkbox.mjs +16 -21
- package/plugins/columnSorting/sortFunction/date.js +2 -19
- package/plugins/columnSorting/sortFunction/date.mjs +10 -23
- package/plugins/columnSorting/sortFunction/default.js +2 -17
- package/plugins/columnSorting/sortFunction/default.mjs +10 -23
- package/plugins/columnSorting/sortFunction/numeric.js +2 -11
- package/plugins/columnSorting/sortFunction/numeric.mjs +10 -17
- package/plugins/columnSorting/sortService/engine.js +1 -7
- package/plugins/columnSorting/sortService/engine.mjs +1 -3
- package/plugins/columnSorting/sortService/index.js +0 -5
- package/plugins/columnSorting/sortService/registry.js +6 -18
- package/plugins/columnSorting/sortService/registry.mjs +6 -10
- package/plugins/columnSorting/utils.js +9 -34
- package/plugins/columnSorting/utils.mjs +9 -15
- package/plugins/columnSummary/columnSummary.js +52 -118
- package/plugins/columnSummary/columnSummary.mjs +52 -93
- package/plugins/columnSummary/endpoints.js +21 -98
- package/plugins/columnSummary/endpoints.mjs +26 -99
- package/plugins/columnSummary/index.js +0 -2
- package/plugins/columnSummary/utils.js +0 -1
- package/plugins/comments/commentEditor.js +16 -28
- package/plugins/comments/commentEditor.mjs +21 -32
- package/plugins/comments/comments.js +92 -175
- package/plugins/comments/comments.mjs +92 -149
- package/plugins/comments/displaySwitch.js +6 -23
- package/plugins/comments/displaySwitch.mjs +6 -18
- package/plugins/comments/index.js +0 -2
- package/plugins/contextMenu/commandExecutor.js +9 -36
- package/plugins/contextMenu/commandExecutor.mjs +14 -39
- package/plugins/contextMenu/contextMenu.js +21 -104
- package/plugins/contextMenu/contextMenu.mjs +21 -74
- package/plugins/contextMenu/cursor.js +6 -20
- package/plugins/contextMenu/cursor.mjs +11 -24
- package/plugins/contextMenu/index.js +0 -2
- package/plugins/contextMenu/itemsFactory.js +14 -43
- package/plugins/contextMenu/itemsFactory.mjs +19 -44
- package/plugins/contextMenu/menu.js +57 -177
- package/plugins/contextMenu/menu.mjs +57 -149
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
- package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
- package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
- package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
- package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
- package/plugins/contextMenu/predefinedItems/redo.js +1 -16
- package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +3 -38
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -18
- package/plugins/contextMenu/predefinedItems/removeRow.js +3 -37
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -17
- package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
- package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/separator.js +1 -2
- package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -16
- package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems.js +2 -48
- package/plugins/contextMenu/predefinedItems.mjs +2 -7
- package/plugins/contextMenu/utils.js +17 -57
- package/plugins/contextMenu/utils.mjs +21 -39
- package/plugins/copyPaste/clipboardData.js +1 -10
- package/plugins/copyPaste/clipboardData.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copy.js +2 -17
- package/plugins/copyPaste/contextMenuItem/copy.mjs +6 -9
- package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
- package/plugins/copyPaste/contextMenuItem/cut.mjs +6 -9
- package/plugins/copyPaste/copyPaste.js +51 -185
- package/plugins/copyPaste/copyPaste.mjs +51 -144
- package/plugins/copyPaste/focusableElement.js +12 -56
- package/plugins/copyPaste/focusableElement.mjs +15 -49
- package/plugins/copyPaste/index.js +0 -2
- package/plugins/copyPaste/pasteEvent.js +1 -10
- package/plugins/copyPaste/pasteEvent.mjs +3 -10
- package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
- package/plugins/customBorders/contextMenuItem/bottom.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/index.js +0 -11
- package/plugins/customBorders/contextMenuItem/left.js +0 -17
- package/plugins/customBorders/contextMenuItem/left.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
- package/plugins/customBorders/contextMenuItem/noBorders.mjs +4 -6
- package/plugins/customBorders/contextMenuItem/right.js +0 -17
- package/plugins/customBorders/contextMenuItem/right.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/top.js +0 -17
- package/plugins/customBorders/contextMenuItem/top.mjs +4 -8
- package/plugins/customBorders/customBorders.js +52 -181
- package/plugins/customBorders/customBorders.mjs +52 -147
- package/plugins/customBorders/index.js +0 -2
- package/plugins/customBorders/utils.js +13 -52
- package/plugins/customBorders/utils.mjs +20 -39
- package/plugins/dragToScroll/dragToScroll.js +17 -74
- package/plugins/dragToScroll/dragToScroll.mjs +17 -55
- package/plugins/dragToScroll/index.js +0 -2
- package/plugins/dropdownMenu/dropdownMenu.js +43 -126
- package/plugins/dropdownMenu/dropdownMenu.mjs +43 -95
- package/plugins/dropdownMenu/index.js +0 -2
- package/plugins/exportFile/dataProvider.js +24 -69
- package/plugins/exportFile/dataProvider.mjs +26 -60
- package/plugins/exportFile/exportFile.js +48 -58
- package/plugins/exportFile/exportFile.mjs +48 -36
- package/plugins/exportFile/index.js +0 -2
- package/plugins/exportFile/typeFactory.js +1 -11
- package/plugins/exportFile/typeFactory.mjs +1 -4
- package/plugins/exportFile/types/_base.js +2 -16
- package/plugins/exportFile/types/_base.mjs +4 -16
- package/plugins/exportFile/types/csv.js +2 -50
- package/plugins/exportFile/types/csv.mjs +2 -29
- package/plugins/filters/component/_base.js +12 -32
- package/plugins/filters/component/_base.mjs +15 -30
- package/plugins/filters/component/actionBar.js +6 -55
- package/plugins/filters/component/actionBar.mjs +9 -38
- package/plugins/filters/component/condition.js +15 -94
- package/plugins/filters/component/condition.mjs +18 -67
- package/plugins/filters/component/operators.js +10 -68
- package/plugins/filters/component/operators.mjs +10 -45
- package/plugins/filters/component/value.js +16 -97
- package/plugins/filters/component/value.mjs +19 -70
- package/plugins/filters/condition/beginsWith.js +2 -32
- package/plugins/filters/condition/beginsWith.mjs +2 -10
- package/plugins/filters/condition/between.js +3 -37
- package/plugins/filters/condition/between.mjs +3 -15
- package/plugins/filters/condition/byValue.js +3 -27
- package/plugins/filters/condition/byValue.mjs +3 -12
- package/plugins/filters/condition/contains.js +2 -32
- package/plugins/filters/condition/contains.mjs +2 -10
- package/plugins/filters/condition/date/after.js +2 -34
- package/plugins/filters/condition/date/after.mjs +2 -12
- package/plugins/filters/condition/date/before.js +2 -34
- package/plugins/filters/condition/date/before.mjs +2 -12
- package/plugins/filters/condition/date/today.js +1 -22
- package/plugins/filters/condition/date/today.mjs +1 -3
- package/plugins/filters/condition/date/tomorrow.js +1 -22
- package/plugins/filters/condition/date/tomorrow.mjs +1 -3
- package/plugins/filters/condition/date/yesterday.js +1 -22
- package/plugins/filters/condition/date/yesterday.mjs +1 -3
- package/plugins/filters/condition/empty.js +1 -19
- package/plugins/filters/condition/empty.mjs +1 -1
- package/plugins/filters/condition/endsWith.js +2 -32
- package/plugins/filters/condition/endsWith.mjs +2 -10
- package/plugins/filters/condition/equal.js +2 -31
- package/plugins/filters/condition/equal.mjs +2 -10
- package/plugins/filters/condition/false.js +1 -5
- package/plugins/filters/condition/false.mjs +1 -1
- package/plugins/filters/condition/greaterThan.js +2 -32
- package/plugins/filters/condition/greaterThan.mjs +2 -12
- package/plugins/filters/condition/greaterThanOrEqual.js +2 -32
- package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/lessThan.js +2 -32
- package/plugins/filters/condition/lessThan.mjs +2 -12
- package/plugins/filters/condition/lessThanOrEqual.js +2 -32
- package/plugins/filters/condition/lessThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/none.js +1 -18
- package/plugins/filters/condition/none.mjs +1 -1
- package/plugins/filters/condition/notBetween.js +1 -19
- package/plugins/filters/condition/notBetween.mjs +1 -1
- package/plugins/filters/condition/notContains.js +1 -19
- package/plugins/filters/condition/notContains.mjs +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -19
- package/plugins/filters/condition/notEmpty.mjs +1 -1
- package/plugins/filters/condition/notEqual.js +1 -19
- package/plugins/filters/condition/notEqual.mjs +1 -1
- package/plugins/filters/condition/true.js +1 -5
- package/plugins/filters/condition/true.mjs +1 -1
- package/plugins/filters/conditionCollection.js +21 -80
- package/plugins/filters/conditionCollection.mjs +21 -57
- package/plugins/filters/conditionRegisterer.js +5 -14
- package/plugins/filters/conditionRegisterer.mjs +5 -9
- package/plugins/filters/conditionUpdateObserver.js +17 -57
- package/plugins/filters/conditionUpdateObserver.mjs +25 -53
- package/plugins/filters/constants.js +1 -66
- package/plugins/filters/constants.mjs +1 -8
- package/plugins/filters/dataFilter.js +4 -21
- package/plugins/filters/dataFilter.mjs +7 -23
- package/plugins/filters/filters.js +103 -208
- package/plugins/filters/filters.mjs +103 -163
- package/plugins/filters/index.js +0 -2
- package/plugins/filters/logicalOperationRegisterer.js +3 -9
- package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
- package/plugins/filters/logicalOperations/conjunction.js +2 -19
- package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunction.js +2 -19
- package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
- package/plugins/filters/ui/_base.js +12 -55
- package/plugins/filters/ui/_base.mjs +12 -35
- package/plugins/filters/ui/input.js +7 -52
- package/plugins/filters/ui/input.mjs +7 -34
- package/plugins/filters/ui/link.js +3 -43
- package/plugins/filters/ui/link.mjs +3 -25
- package/plugins/filters/ui/multipleSelect.js +26 -120
- package/plugins/filters/ui/multipleSelect.mjs +20 -76
- package/plugins/filters/ui/radioInput.js +6 -47
- package/plugins/filters/ui/radioInput.mjs +6 -30
- package/plugins/filters/ui/select.js +14 -76
- package/plugins/filters/ui/select.mjs +14 -52
- package/plugins/filters/utils.js +6 -39
- package/plugins/filters/utils.mjs +6 -23
- package/plugins/formulas/engine/register.js +24 -74
- package/plugins/formulas/engine/register.mjs +29 -51
- package/plugins/formulas/engine/settings.js +4 -24
- package/plugins/formulas/engine/settings.mjs +4 -12
- package/plugins/formulas/formulas.js +103 -295
- package/plugins/formulas/formulas.mjs +104 -248
- package/plugins/formulas/index.js +0 -2
- package/plugins/formulas/utils.js +1 -3
- package/plugins/formulas/utils.mjs +1 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +4 -38
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +8 -25
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +21 -29
- package/plugins/hiddenColumns/hiddenColumns.js +72 -149
- package/plugins/hiddenColumns/hiddenColumns.mjs +72 -108
- package/plugins/hiddenColumns/index.js +0 -2
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +4 -38
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +8 -25
- package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +21 -29
- package/plugins/hiddenRows/hiddenRows.js +70 -148
- package/plugins/hiddenRows/hiddenRows.mjs +70 -107
- package/plugins/hiddenRows/index.js +0 -2
- package/plugins/index.js +0 -71
- package/plugins/index.mjs +3 -5
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/index.js +0 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +21 -78
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +21 -54
- package/plugins/manualColumnMove/index.js +0 -2
- package/plugins/manualColumnMove/manualColumnMove.js +45 -134
- package/plugins/manualColumnMove/manualColumnMove.mjs +45 -106
- package/plugins/manualColumnMove/ui/_base.js +12 -30
- package/plugins/manualColumnMove/ui/_base.mjs +12 -27
- package/plugins/manualColumnMove/ui/backlight.js +1 -37
- package/plugins/manualColumnMove/ui/backlight.mjs +1 -22
- package/plugins/manualColumnMove/ui/guideline.js +1 -37
- package/plugins/manualColumnMove/ui/guideline.mjs +1 -22
- package/plugins/manualColumnResize/index.js +0 -2
- package/plugins/manualColumnResize/manualColumnResize.js +44 -143
- package/plugins/manualColumnResize/manualColumnResize.mjs +43 -118
- package/plugins/manualRowMove/index.js +0 -2
- package/plugins/manualRowMove/manualRowMove.js +45 -137
- package/plugins/manualRowMove/manualRowMove.mjs +45 -109
- package/plugins/manualRowMove/ui/_base.js +12 -27
- package/plugins/manualRowMove/ui/_base.mjs +12 -26
- package/plugins/manualRowMove/ui/backlight.js +1 -37
- package/plugins/manualRowMove/ui/backlight.mjs +1 -22
- package/plugins/manualRowMove/ui/guideline.js +1 -37
- package/plugins/manualRowMove/ui/guideline.mjs +1 -22
- package/plugins/manualRowResize/index.js +0 -2
- package/plugins/manualRowResize/manualRowResize.js +42 -138
- package/plugins/manualRowResize/manualRowResize.mjs +41 -112
- package/plugins/mergeCells/calculations/autofill.js +39 -130
- package/plugins/mergeCells/calculations/autofill.mjs +44 -122
- package/plugins/mergeCells/calculations/selection.js +9 -40
- package/plugins/mergeCells/calculations/selection.mjs +9 -37
- package/plugins/mergeCells/cellCoords.js +30 -51
- package/plugins/mergeCells/cellCoords.mjs +35 -54
- package/plugins/mergeCells/cellsCollection.js +13 -84
- package/plugins/mergeCells/cellsCollection.mjs +18 -69
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +4 -11
- package/plugins/mergeCells/index.js +0 -2
- package/plugins/mergeCells/mergeCells.js +130 -333
- package/plugins/mergeCells/mergeCells.mjs +130 -292
- package/plugins/mergeCells/utils.js +0 -3
- package/plugins/mergeCells/utils.mjs +0 -1
- package/plugins/multiColumnSorting/domHelpers.js +2 -12
- package/plugins/multiColumnSorting/domHelpers.mjs +2 -5
- package/plugins/multiColumnSorting/index.js +0 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +14 -66
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +14 -44
- package/plugins/multiColumnSorting/rootComparator.js +2 -26
- package/plugins/multiColumnSorting/rootComparator.mjs +9 -23
- package/plugins/multiColumnSorting/utils.js +0 -7
- package/plugins/multiColumnSorting/utils.mjs +3 -8
- package/plugins/multipleSelectionHandles/index.js +0 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +6 -109
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +6 -87
- package/plugins/nestedHeaders/index.js +0 -2
- package/plugins/nestedHeaders/nestedHeaders.js +79 -200
- package/plugins/nestedHeaders/nestedHeaders.mjs +80 -173
- package/plugins/nestedHeaders/stateManager/headersTree.js +16 -93
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +16 -73
- package/plugins/nestedHeaders/stateManager/index.js +24 -107
- package/plugins/nestedHeaders/stateManager/index.mjs +51 -115
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +38 -51
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +29 -35
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +26 -32
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +9 -20
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -5
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +9 -21
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +44 -61
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +16 -78
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +21 -68
- package/plugins/nestedHeaders/stateManager/utils.js +19 -22
- package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
- package/plugins/nestedHeaders/utils/ghostTable.js +9 -37
- package/plugins/nestedHeaders/utils/ghostTable.mjs +16 -43
- package/plugins/nestedRows/data/dataManager.js +40 -161
- package/plugins/nestedRows/data/dataManager.mjs +44 -148
- package/plugins/nestedRows/index.js +0 -2
- package/plugins/nestedRows/nestedRows.js +40 -118
- package/plugins/nestedRows/nestedRows.mjs +40 -85
- package/plugins/nestedRows/ui/_base.js +1 -9
- package/plugins/nestedRows/ui/_base.mjs +1 -8
- package/plugins/nestedRows/ui/collapsing.js +28 -134
- package/plugins/nestedRows/ui/collapsing.mjs +34 -118
- package/plugins/nestedRows/ui/contextMenu.js +2 -53
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -32
- package/plugins/nestedRows/ui/headers.js +5 -50
- package/plugins/nestedRows/ui/headers.mjs +11 -41
- package/plugins/nestedRows/utils/rowMoveController.js +28 -78
- package/plugins/nestedRows/utils/rowMoveController.mjs +33 -66
- package/plugins/persistentState/index.js +0 -2
- package/plugins/persistentState/persistentState.js +10 -58
- package/plugins/persistentState/persistentState.mjs +10 -37
- package/plugins/persistentState/storage.js +9 -25
- package/plugins/persistentState/storage.mjs +12 -26
- package/plugins/registry.js +7 -51
- package/plugins/registry.mjs +8 -34
- package/plugins/search/index.js +0 -2
- package/plugins/search/search.js +16 -96
- package/plugins/search/search.mjs +16 -67
- package/plugins/touchScroll/index.js +0 -2
- package/plugins/touchScroll/touchScroll.js +15 -76
- package/plugins/touchScroll/touchScroll.mjs +15 -58
- package/plugins/trimRows/index.js +0 -2
- package/plugins/trimRows/trimRows.js +59 -85
- package/plugins/trimRows/trimRows.mjs +59 -62
- package/plugins/undoRedo/index.js +0 -14
- package/plugins/undoRedo/undoRedo.js +48 -218
- package/plugins/undoRedo/undoRedo.mjs +48 -188
- package/registry.js +0 -11
- package/registry.mjs +2 -4
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
- package/renderers/autocompleteRenderer/index.js +0 -2
- package/renderers/baseRenderer/baseRenderer.js +2 -11
- package/renderers/baseRenderer/baseRenderer.mjs +2 -9
- package/renderers/baseRenderer/index.js +0 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
- package/renderers/checkboxRenderer/index.js +0 -2
- package/renderers/htmlRenderer/htmlRenderer.js +1 -7
- package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
- package/renderers/htmlRenderer/index.js +0 -2
- package/renderers/index.js +0 -19
- package/renderers/index.mjs +3 -5
- package/renderers/numericRenderer/index.js +0 -2
- package/renderers/numericRenderer/numericRenderer.js +1 -21
- package/renderers/numericRenderer/numericRenderer.mjs +1 -9
- package/renderers/passwordRenderer/index.js +0 -2
- package/renderers/passwordRenderer/passwordRenderer.js +1 -8
- package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
- package/renderers/registry.js +7 -16
- package/renderers/registry.mjs +7 -14
- package/renderers/textRenderer/index.js +0 -2
- package/renderers/textRenderer/textRenderer.js +1 -13
- package/renderers/textRenderer/textRenderer.mjs +1 -5
- package/renderers/timeRenderer/index.js +0 -2
- package/renderers/timeRenderer/timeRenderer.js +1 -6
- package/renderers/timeRenderer/timeRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +17 -73
- package/selection/highlight/highlight.mjs +31 -64
- package/selection/highlight/types/activeHeader.js +1 -21
- package/selection/highlight/types/activeHeader.mjs +6 -16
- package/selection/highlight/types/area.js +2 -22
- package/selection/highlight/types/area.mjs +10 -20
- package/selection/highlight/types/cell.js +1 -21
- package/selection/highlight/types/cell.mjs +9 -19
- package/selection/highlight/types/customSelection.js +2 -22
- package/selection/highlight/types/customSelection.mjs +11 -21
- package/selection/highlight/types/fill.js +2 -17
- package/selection/highlight/types/fill.mjs +9 -14
- package/selection/highlight/types/header.js +3 -23
- package/selection/highlight/types/header.mjs +13 -23
- package/selection/highlight/types/index.js +3 -24
- package/selection/highlight/types/index.mjs +3 -10
- package/selection/highlight/visualSelection.js +24 -74
- package/selection/highlight/visualSelection.mjs +24 -62
- package/selection/index.js +0 -14
- package/selection/mouseEventHandler.js +19 -30
- package/selection/mouseEventHandler.mjs +32 -36
- package/selection/range.js +11 -31
- package/selection/range.mjs +11 -22
- package/selection/selection.js +62 -157
- package/selection/selection.mjs +65 -132
- package/selection/transformation.js +10 -40
- package/selection/transformation.mjs +18 -45
- package/selection/utils.js +22 -70
- package/selection/utils.mjs +22 -47
- package/shortcuts/context.js +23 -78
- package/shortcuts/context.mjs +23 -55
- package/shortcuts/index.js +0 -2
- package/shortcuts/keyObserver.js +4 -17
- package/shortcuts/keyObserver.mjs +4 -12
- package/shortcuts/manager.js +16 -36
- package/shortcuts/manager.mjs +16 -33
- package/shortcuts/recorder.js +9 -40
- package/shortcuts/recorder.mjs +9 -31
- package/shortcuts/utils.js +5 -20
- package/shortcuts/utils.mjs +5 -6
- package/tableView.js +100 -270
- package/tableView.mjs +100 -248
- package/translations/changesObservable/observable.js +5 -54
- package/translations/changesObservable/observable.mjs +12 -51
- package/translations/changesObservable/observer.js +4 -32
- package/translations/changesObservable/observer.mjs +9 -29
- package/translations/changesObservable/utils.js +1 -5
- package/translations/changesObservable/utils.mjs +1 -4
- package/translations/index.js +0 -11
- package/translations/indexMapper.js +68 -156
- package/translations/indexMapper.mjs +68 -123
- package/translations/mapCollections/aggregatedCollection.js +9 -51
- package/translations/mapCollections/aggregatedCollection.mjs +12 -41
- package/translations/mapCollections/index.js +0 -7
- package/translations/mapCollections/mapCollection.js +10 -33
- package/translations/mapCollections/mapCollection.mjs +10 -22
- package/translations/maps/hidingMap.js +2 -35
- package/translations/maps/hidingMap.mjs +7 -28
- package/translations/maps/index.js +1 -24
- package/translations/maps/index.mjs +1 -3
- package/translations/maps/indexMap.js +12 -34
- package/translations/maps/indexMap.mjs +16 -32
- package/translations/maps/indexesSequence.js +3 -41
- package/translations/maps/indexesSequence.mjs +9 -32
- package/translations/maps/linkedPhysicalIndexToValueMap.js +9 -78
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +16 -59
- package/translations/maps/physicalIndexToValueMap.js +2 -39
- package/translations/maps/physicalIndexToValueMap.mjs +8 -31
- package/translations/maps/trimmingMap.js +2 -35
- package/translations/maps/trimmingMap.mjs +7 -28
- package/translations/maps/utils/actionsOnIndexes.js +1 -7
- package/translations/maps/utils/actionsOnIndexes.mjs +9 -12
- package/translations/maps/utils/index.js +0 -13
- package/translations/maps/utils/index.mjs +0 -3
- package/translations/maps/utils/indexesSequence.js +1 -24
- package/translations/maps/utils/indexesSequence.mjs +10 -19
- package/translations/maps/utils/physicallyIndexed.js +1 -27
- package/translations/maps/utils/physicallyIndexed.mjs +11 -21
- package/utils/dataStructures/linkedList.js +15 -56
- package/utils/dataStructures/linkedList.mjs +15 -54
- package/utils/dataStructures/priorityMap.js +8 -46
- package/utils/dataStructures/priorityMap.mjs +8 -29
- package/utils/dataStructures/queue.js +6 -17
- package/utils/dataStructures/queue.mjs +6 -16
- package/utils/dataStructures/stack.js +6 -17
- package/utils/dataStructures/stack.mjs +6 -16
- package/utils/dataStructures/tree.js +11 -75
- package/utils/dataStructures/tree.mjs +11 -54
- package/utils/dataStructures/uniqueMap.js +17 -56
- package/utils/dataStructures/uniqueMap.mjs +17 -42
- package/utils/dataStructures/uniqueSet.js +5 -32
- package/utils/dataStructures/uniqueSet.mjs +5 -19
- package/utils/ghostTable.js +33 -104
- package/utils/ghostTable.mjs +35 -92
- package/utils/interval.js +10 -37
- package/utils/interval.mjs +7 -29
- package/utils/parseTable.js +11 -92
- package/utils/parseTable.mjs +11 -62
- package/utils/rootInstance.js +3 -14
- package/utils/rootInstance.mjs +3 -3
- package/utils/samplesGenerator.js +15 -51
- package/utils/samplesGenerator.mjs +17 -44
- package/utils/staticRegister.js +6 -33
- package/utils/staticRegister.mjs +6 -19
- package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
- package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
- package/validators/autocompleteValidator/index.js +0 -2
- package/validators/dateValidator/dateValidator.js +2 -21
- package/validators/dateValidator/dateValidator.mjs +2 -11
- package/validators/dateValidator/index.js +0 -2
- package/validators/index.js +0 -11
- package/validators/index.mjs +3 -5
- package/validators/numericValidator/index.js +0 -2
- package/validators/numericValidator/numericValidator.js +1 -7
- package/validators/numericValidator/numericValidator.mjs +1 -3
- package/validators/registry.js +7 -16
- package/validators/registry.mjs +7 -14
- package/validators/timeValidator/index.js +0 -2
- package/validators/timeValidator/timeValidator.js +6 -18
- package/validators/timeValidator/timeValidator.mjs +8 -13
@@ -1,45 +1,24 @@
|
|
1
1
|
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); }
|
2
|
-
|
3
2
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
4
|
-
|
5
3
|
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); } }
|
6
|
-
|
7
4
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
8
|
-
|
9
5
|
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); }
|
10
|
-
|
11
6
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
12
|
-
|
13
7
|
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); }; }
|
14
|
-
|
15
8
|
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); }
|
16
|
-
|
17
9
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
18
|
-
|
19
10
|
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; } }
|
20
|
-
|
21
11
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
22
|
-
|
23
12
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
24
|
-
|
25
13
|
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."); }
|
26
|
-
|
27
14
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
28
|
-
|
29
15
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
30
|
-
|
31
16
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
32
|
-
|
33
17
|
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."); }
|
34
|
-
|
35
18
|
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); }
|
36
|
-
|
37
19
|
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; }
|
38
|
-
|
39
20
|
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; }
|
40
|
-
|
41
21
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
42
|
-
|
43
22
|
import "core-js/modules/es.array.find.js";
|
44
23
|
import "core-js/modules/es.object.to-string.js";
|
45
24
|
import "core-js/modules/es.array.reduce.js";
|
@@ -68,6 +47,7 @@ import { inherit, deepClone } from "../../helpers/object.mjs";
|
|
68
47
|
import { align } from "../contextMenu/utils.mjs";
|
69
48
|
var SHORTCUTS_GROUP = 'undoRedo';
|
70
49
|
export var PLUGIN_KEY = 'undoRedo';
|
50
|
+
|
71
51
|
/**
|
72
52
|
* @description
|
73
53
|
* Handsontable UndoRedo plugin allows to undo and redo certain actions done in the table.
|
@@ -81,7 +61,6 @@ export var PLUGIN_KEY = 'undoRedo';
|
|
81
61
|
* @plugin UndoRedo
|
82
62
|
* @param {Core} instance The Handsontable instance.
|
83
63
|
*/
|
84
|
-
|
85
64
|
function UndoRedo(instance) {
|
86
65
|
var plugin = this;
|
87
66
|
this.instance = instance;
|
@@ -91,25 +70,19 @@ function UndoRedo(instance) {
|
|
91
70
|
this.enabled = false;
|
92
71
|
instance.addHook('afterChange', function (changes, source) {
|
93
72
|
var _this = this;
|
94
|
-
|
95
73
|
var changesLen = changes && changes.length;
|
96
|
-
|
97
74
|
if (!changesLen) {
|
98
75
|
return;
|
99
76
|
}
|
100
|
-
|
101
77
|
var hasDifferences = changes.find(function (change) {
|
102
78
|
var _change = _slicedToArray(change, 4),
|
103
|
-
|
104
|
-
|
105
|
-
|
79
|
+
oldValue = _change[2],
|
80
|
+
newValue = _change[3];
|
106
81
|
return oldValue !== newValue;
|
107
82
|
});
|
108
|
-
|
109
83
|
if (!hasDifferences) {
|
110
84
|
return;
|
111
85
|
}
|
112
|
-
|
113
86
|
var wrappedAction = function wrappedAction() {
|
114
87
|
var clonedChanges = changes.reduce(function (arr, change) {
|
115
88
|
arr.push(_toConsumableArray(change));
|
@@ -121,7 +94,6 @@ function UndoRedo(instance) {
|
|
121
94
|
var selected = changesLen > 1 ? _this.getSelected() : [[clonedChanges[0][0], clonedChanges[0][1]]];
|
122
95
|
return new UndoRedo.ChangeAction(clonedChanges, selected);
|
123
96
|
};
|
124
|
-
|
125
97
|
plugin.done(wrappedAction, source);
|
126
98
|
});
|
127
99
|
instance.addHook('afterCreateRow', function (index, amount, source) {
|
@@ -137,7 +109,6 @@ function UndoRedo(instance) {
|
|
137
109
|
var removedData = deepClone(originalData.slice(physicalRowIndex, physicalRowIndex + amount));
|
138
110
|
return new UndoRedo.RemoveRowAction(rowIndex, removedData, instance.getSettings().fixedRowsBottom, instance.getSettings().fixedRowsTop);
|
139
111
|
};
|
140
|
-
|
141
112
|
plugin.done(wrappedAction, source);
|
142
113
|
});
|
143
114
|
instance.addHook('afterCreateCol', function (index, amount, source) {
|
@@ -163,18 +134,15 @@ function UndoRedo(instance) {
|
|
163
134
|
rangeEach(amount - 1, function (i) {
|
164
135
|
indexes.push(instance.toPhysicalColumn(columnIndex + i));
|
165
136
|
});
|
166
|
-
|
167
137
|
if (Array.isArray(instance.getSettings().colHeaders)) {
|
168
138
|
rangeEach(amount - 1, function (i) {
|
169
139
|
headers.push(instance.getSettings().colHeaders[instance.toPhysicalColumn(columnIndex + i)] || null);
|
170
140
|
});
|
171
141
|
}
|
172
|
-
|
173
142
|
var columnsMap = instance.columnIndexMapper.getIndexesSequence();
|
174
143
|
var rowsMap = instance.rowIndexMapper.getIndexesSequence();
|
175
144
|
return new UndoRedo.RemoveColumnAction(columnIndex, indexes, removedData, headers, columnsMap, rowsMap, instance.getSettings().fixedColumnsStart);
|
176
145
|
};
|
177
|
-
|
178
146
|
plugin.done(wrappedAction, source);
|
179
147
|
});
|
180
148
|
instance.addHook('beforeCellAlignment', function (stateBefore, range, type, alignment) {
|
@@ -191,7 +159,6 @@ function UndoRedo(instance) {
|
|
191
159
|
if (rows === false) {
|
192
160
|
return;
|
193
161
|
}
|
194
|
-
|
195
162
|
plugin.done(function () {
|
196
163
|
return new UndoRedo.RowMoveAction(rows, finalIndex);
|
197
164
|
});
|
@@ -200,7 +167,6 @@ function UndoRedo(instance) {
|
|
200
167
|
if (auto) {
|
201
168
|
return;
|
202
169
|
}
|
203
|
-
|
204
170
|
plugin.done(function () {
|
205
171
|
return new UndoRedo.MergeCellsAction(instance, cellRange);
|
206
172
|
});
|
@@ -209,16 +175,17 @@ function UndoRedo(instance) {
|
|
209
175
|
if (auto) {
|
210
176
|
return;
|
211
177
|
}
|
212
|
-
|
213
178
|
plugin.done(function () {
|
214
179
|
return new UndoRedo.UnmergeCellsAction(instance, cellRange);
|
215
180
|
});
|
216
|
-
});
|
181
|
+
});
|
217
182
|
|
183
|
+
// TODO: Why this callback is needed? One test doesn't pass after calling method right after plugin creation (outside the callback).
|
218
184
|
instance.addHook('afterInit', function () {
|
219
185
|
plugin.init();
|
220
186
|
});
|
221
187
|
}
|
188
|
+
|
222
189
|
/**
|
223
190
|
* Stash information about performed actions.
|
224
191
|
*
|
@@ -231,26 +198,19 @@ function UndoRedo(instance) {
|
|
231
198
|
* @param {Function} wrappedAction The action descriptor wrapped in a closure.
|
232
199
|
* @param {string} [source] Source of the action. It is defined just for more general actions (not related to plugins).
|
233
200
|
*/
|
234
|
-
|
235
|
-
|
236
201
|
UndoRedo.prototype.done = function (wrappedAction, source) {
|
237
202
|
if (this.ignoreNewActions) {
|
238
203
|
return;
|
239
204
|
}
|
240
|
-
|
241
205
|
var isBlockedByDefault = source === 'UndoRedo.undo' || source === 'UndoRedo.redo' || source === 'auto';
|
242
|
-
|
243
206
|
if (isBlockedByDefault) {
|
244
207
|
return;
|
245
208
|
}
|
246
|
-
|
247
209
|
var doneActionsCopy = this.doneActions.slice();
|
248
210
|
var continueAction = this.instance.runHooks('beforeUndoStackChange', doneActionsCopy, source);
|
249
|
-
|
250
211
|
if (continueAction === false) {
|
251
212
|
return;
|
252
213
|
}
|
253
|
-
|
254
214
|
var newAction = wrappedAction();
|
255
215
|
var undoneActionsCopy = this.undoneActions.slice();
|
256
216
|
this.doneActions.push(newAction);
|
@@ -259,6 +219,7 @@ UndoRedo.prototype.done = function (wrappedAction, source) {
|
|
259
219
|
this.undoneActions.length = 0;
|
260
220
|
this.instance.runHooks('afterRedoStackChange', undoneActionsCopy, this.undoneActions.slice());
|
261
221
|
};
|
222
|
+
|
262
223
|
/**
|
263
224
|
* Undo the last action performed to the table.
|
264
225
|
*
|
@@ -271,8 +232,6 @@ UndoRedo.prototype.done = function (wrappedAction, source) {
|
|
271
232
|
* @fires Hooks#beforeUndo
|
272
233
|
* @fires Hooks#afterUndo
|
273
234
|
*/
|
274
|
-
|
275
|
-
|
276
235
|
UndoRedo.prototype.undo = function () {
|
277
236
|
if (this.isUndoAvailable()) {
|
278
237
|
var doneActionsCopy = this.doneActions.slice();
|
@@ -281,11 +240,9 @@ UndoRedo.prototype.undo = function () {
|
|
281
240
|
this.instance.runHooks('afterUndoStackChange', doneActionsCopy, this.doneActions.slice());
|
282
241
|
var actionClone = deepClone(action);
|
283
242
|
var continueAction = this.instance.runHooks('beforeUndo', actionClone);
|
284
|
-
|
285
243
|
if (continueAction === false) {
|
286
244
|
return;
|
287
245
|
}
|
288
|
-
|
289
246
|
this.ignoreNewActions = true;
|
290
247
|
var that = this;
|
291
248
|
var undoneActionsCopy = this.undoneActions.slice();
|
@@ -298,6 +255,7 @@ UndoRedo.prototype.undo = function () {
|
|
298
255
|
this.instance.runHooks('afterUndo', actionClone);
|
299
256
|
}
|
300
257
|
};
|
258
|
+
|
301
259
|
/**
|
302
260
|
* Redo the previous action performed to the table (used to reverse an undo).
|
303
261
|
*
|
@@ -310,8 +268,6 @@ UndoRedo.prototype.undo = function () {
|
|
310
268
|
* @fires Hooks#beforeRedo
|
311
269
|
* @fires Hooks#afterRedo
|
312
270
|
*/
|
313
|
-
|
314
|
-
|
315
271
|
UndoRedo.prototype.redo = function () {
|
316
272
|
if (this.isRedoAvailable()) {
|
317
273
|
var undoneActionsCopy = this.undoneActions.slice();
|
@@ -320,11 +276,9 @@ UndoRedo.prototype.redo = function () {
|
|
320
276
|
this.instance.runHooks('afterRedoStackChange', undoneActionsCopy, this.undoneActions.slice());
|
321
277
|
var actionClone = deepClone(action);
|
322
278
|
var continueAction = this.instance.runHooks('beforeRedo', actionClone);
|
323
|
-
|
324
279
|
if (continueAction === false) {
|
325
280
|
return;
|
326
281
|
}
|
327
|
-
|
328
282
|
this.ignoreNewActions = true;
|
329
283
|
var that = this;
|
330
284
|
var doneActionsCopy = this.doneActions.slice();
|
@@ -337,6 +291,7 @@ UndoRedo.prototype.redo = function () {
|
|
337
291
|
this.instance.runHooks('afterRedo', actionClone);
|
338
292
|
}
|
339
293
|
};
|
294
|
+
|
340
295
|
/**
|
341
296
|
* Checks if undo action is available.
|
342
297
|
*
|
@@ -344,11 +299,10 @@ UndoRedo.prototype.redo = function () {
|
|
344
299
|
* @memberof UndoRedo#
|
345
300
|
* @returns {boolean} Return `true` if undo can be performed, `false` otherwise.
|
346
301
|
*/
|
347
|
-
|
348
|
-
|
349
302
|
UndoRedo.prototype.isUndoAvailable = function () {
|
350
303
|
return this.doneActions.length > 0;
|
351
304
|
};
|
305
|
+
|
352
306
|
/**
|
353
307
|
* Checks if redo action is available.
|
354
308
|
*
|
@@ -356,23 +310,21 @@ UndoRedo.prototype.isUndoAvailable = function () {
|
|
356
310
|
* @memberof UndoRedo#
|
357
311
|
* @returns {boolean} Return `true` if redo can be performed, `false` otherwise.
|
358
312
|
*/
|
359
|
-
|
360
|
-
|
361
313
|
UndoRedo.prototype.isRedoAvailable = function () {
|
362
314
|
return this.undoneActions.length > 0;
|
363
315
|
};
|
316
|
+
|
364
317
|
/**
|
365
318
|
* Clears undo history.
|
366
319
|
*
|
367
320
|
* @function clear
|
368
321
|
* @memberof UndoRedo#
|
369
322
|
*/
|
370
|
-
|
371
|
-
|
372
323
|
UndoRedo.prototype.clear = function () {
|
373
324
|
this.doneActions.length = 0;
|
374
325
|
this.undoneActions.length = 0;
|
375
326
|
};
|
327
|
+
|
376
328
|
/**
|
377
329
|
* Checks if the plugin is enabled.
|
378
330
|
*
|
@@ -380,69 +332,60 @@ UndoRedo.prototype.clear = function () {
|
|
380
332
|
* @memberof UndoRedo#
|
381
333
|
* @returns {boolean}
|
382
334
|
*/
|
383
|
-
|
384
|
-
|
385
335
|
UndoRedo.prototype.isEnabled = function () {
|
386
336
|
return this.enabled;
|
387
337
|
};
|
338
|
+
|
388
339
|
/**
|
389
340
|
* Enables the plugin.
|
390
341
|
*
|
391
342
|
* @function enable
|
392
343
|
* @memberof UndoRedo#
|
393
344
|
*/
|
394
|
-
|
395
|
-
|
396
345
|
UndoRedo.prototype.enable = function () {
|
397
346
|
if (this.isEnabled()) {
|
398
347
|
return;
|
399
348
|
}
|
400
|
-
|
401
349
|
var hot = this.instance;
|
402
350
|
this.enabled = true;
|
403
351
|
exposeUndoRedoMethods(hot);
|
404
352
|
this.registerShortcuts();
|
405
353
|
hot.addHook('afterChange', onAfterChange);
|
406
354
|
};
|
355
|
+
|
407
356
|
/**
|
408
357
|
* Disables the plugin.
|
409
358
|
*
|
410
359
|
* @function disable
|
411
360
|
* @memberof UndoRedo#
|
412
361
|
*/
|
413
|
-
|
414
|
-
|
415
362
|
UndoRedo.prototype.disable = function () {
|
416
363
|
if (!this.isEnabled()) {
|
417
364
|
return;
|
418
365
|
}
|
419
|
-
|
420
366
|
var hot = this.instance;
|
421
367
|
this.enabled = false;
|
422
368
|
removeExposedUndoRedoMethods(hot);
|
423
369
|
this.unregisterShortcuts();
|
424
370
|
hot.removeHook('afterChange', onAfterChange);
|
425
371
|
};
|
372
|
+
|
426
373
|
/**
|
427
374
|
* Destroys the instance.
|
428
375
|
*
|
429
376
|
* @function destroy
|
430
377
|
* @memberof UndoRedo#
|
431
378
|
*/
|
432
|
-
|
433
|
-
|
434
379
|
UndoRedo.prototype.destroy = function () {
|
435
380
|
this.clear();
|
436
381
|
this.instance = null;
|
437
382
|
this.doneActions = null;
|
438
383
|
this.undoneActions = null;
|
439
384
|
};
|
440
|
-
|
441
385
|
UndoRedo.Action = function () {};
|
442
|
-
|
443
386
|
UndoRedo.Action.prototype.undo = function () {};
|
444
|
-
|
445
387
|
UndoRedo.Action.prototype.redo = function () {};
|
388
|
+
|
446
389
|
/**
|
447
390
|
* Change action.
|
448
391
|
*
|
@@ -450,61 +393,48 @@ UndoRedo.Action.prototype.redo = function () {};
|
|
450
393
|
* @param {Array} changes 2D array containing information about each of the edited cells.
|
451
394
|
* @param {number[]} selected The cell selection.
|
452
395
|
*/
|
453
|
-
|
454
|
-
|
455
396
|
UndoRedo.ChangeAction = function (changes, selected) {
|
456
397
|
this.changes = changes;
|
457
398
|
this.selected = selected;
|
458
399
|
this.actionType = 'change';
|
459
400
|
};
|
460
|
-
|
461
401
|
inherit(UndoRedo.ChangeAction, UndoRedo.Action);
|
462
|
-
|
463
402
|
UndoRedo.ChangeAction.prototype.undo = function (instance, undoneCallback) {
|
464
403
|
var data = deepClone(this.changes);
|
465
404
|
var emptyRowsAtTheEnd = instance.countEmptyRows(true);
|
466
405
|
var emptyColsAtTheEnd = instance.countEmptyCols(true);
|
467
|
-
|
468
406
|
for (var i = 0, len = data.length; i < len; i++) {
|
469
407
|
data[i].splice(3, 1);
|
470
408
|
}
|
471
|
-
|
472
409
|
instance.addHookOnce('afterChange', undoneCallback);
|
473
410
|
instance.setDataAtCell(data, null, null, 'UndoRedo.undo');
|
474
|
-
|
475
411
|
for (var _i2 = 0, _len = data.length; _i2 < _len; _i2++) {
|
476
412
|
var _data$_i = _slicedToArray(data[_i2], 2),
|
477
|
-
|
478
|
-
|
479
|
-
|
413
|
+
row = _data$_i[0],
|
414
|
+
column = _data$_i[1];
|
480
415
|
if (instance.getSettings().minSpareRows && row + 1 + instance.getSettings().minSpareRows === instance.countRows() && emptyRowsAtTheEnd === instance.getSettings().minSpareRows) {
|
481
416
|
instance.alter('remove_row', parseInt(row + 1, 10), instance.getSettings().minSpareRows);
|
482
417
|
instance.undoRedo.doneActions.pop();
|
483
418
|
}
|
484
|
-
|
485
419
|
if (instance.getSettings().minSpareCols && column + 1 + instance.getSettings().minSpareCols === instance.countCols() && emptyColsAtTheEnd === instance.getSettings().minSpareCols) {
|
486
420
|
instance.alter('remove_col', parseInt(column + 1, 10), instance.getSettings().minSpareCols);
|
487
421
|
instance.undoRedo.doneActions.pop();
|
488
422
|
}
|
489
423
|
}
|
490
|
-
|
491
424
|
instance.selectCells(this.selected, false, false);
|
492
425
|
};
|
493
|
-
|
494
426
|
UndoRedo.ChangeAction.prototype.redo = function (instance, onFinishCallback) {
|
495
427
|
var data = deepClone(this.changes);
|
496
|
-
|
497
428
|
for (var i = 0, len = data.length; i < len; i++) {
|
498
429
|
data[i].splice(2, 1);
|
499
430
|
}
|
500
|
-
|
501
431
|
instance.addHookOnce('afterChange', onFinishCallback);
|
502
432
|
instance.setDataAtCell(data, null, null, 'UndoRedo.redo');
|
503
|
-
|
504
433
|
if (this.selected) {
|
505
434
|
instance.selectCells(this.selected, false, false);
|
506
435
|
}
|
507
436
|
};
|
437
|
+
|
508
438
|
/**
|
509
439
|
* Create row action.
|
510
440
|
*
|
@@ -512,20 +442,15 @@ UndoRedo.ChangeAction.prototype.redo = function (instance, onFinishCallback) {
|
|
512
442
|
* @param {number} index The visual row index.
|
513
443
|
* @param {number} amount The number of created rows.
|
514
444
|
*/
|
515
|
-
|
516
|
-
|
517
445
|
UndoRedo.CreateRowAction = function (index, amount) {
|
518
446
|
this.index = index;
|
519
447
|
this.amount = amount;
|
520
448
|
this.actionType = 'insert_row';
|
521
449
|
};
|
522
|
-
|
523
450
|
inherit(UndoRedo.CreateRowAction, UndoRedo.Action);
|
524
|
-
|
525
451
|
UndoRedo.CreateRowAction.prototype.undo = function (instance, undoneCallback) {
|
526
452
|
var rowCount = instance.countRows();
|
527
453
|
var minSpareRows = instance.getSettings().minSpareRows;
|
528
|
-
|
529
454
|
if (this.index >= rowCount && this.index - minSpareRows < rowCount) {
|
530
455
|
this.index -= minSpareRows; // work around the situation where the needed row was removed due to an 'undo' of a made change
|
531
456
|
}
|
@@ -533,11 +458,11 @@ UndoRedo.CreateRowAction.prototype.undo = function (instance, undoneCallback) {
|
|
533
458
|
instance.addHookOnce('afterRemoveRow', undoneCallback);
|
534
459
|
instance.alter('remove_row', this.index, this.amount, 'UndoRedo.undo');
|
535
460
|
};
|
536
|
-
|
537
461
|
UndoRedo.CreateRowAction.prototype.redo = function (instance, redoneCallback) {
|
538
462
|
instance.addHookOnce('afterCreateRow', redoneCallback);
|
539
|
-
instance.alter('
|
463
|
+
instance.alter('insert_row_above', this.index, this.amount, 'UndoRedo.redo');
|
540
464
|
};
|
465
|
+
|
541
466
|
/**
|
542
467
|
* Remove row action.
|
543
468
|
*
|
@@ -547,8 +472,6 @@ UndoRedo.CreateRowAction.prototype.redo = function (instance, redoneCallback) {
|
|
547
472
|
* @param {number} fixedRowsBottom Number of fixed rows on the bottom. Remove row action change it sometimes.
|
548
473
|
* @param {number} fixedRowsTop Number of fixed rows on the top. Remove row action change it sometimes.
|
549
474
|
*/
|
550
|
-
|
551
|
-
|
552
475
|
UndoRedo.RemoveRowAction = function (index, data, fixedRowsBottom, fixedRowsTop) {
|
553
476
|
this.index = index;
|
554
477
|
this.data = data;
|
@@ -556,23 +479,22 @@ UndoRedo.RemoveRowAction = function (index, data, fixedRowsBottom, fixedRowsTop)
|
|
556
479
|
this.fixedRowsBottom = fixedRowsBottom;
|
557
480
|
this.fixedRowsTop = fixedRowsTop;
|
558
481
|
};
|
559
|
-
|
560
482
|
inherit(UndoRedo.RemoveRowAction, UndoRedo.Action);
|
561
|
-
|
562
483
|
UndoRedo.RemoveRowAction.prototype.undo = function (instance, undoneCallback) {
|
563
|
-
var settings = instance.getSettings();
|
484
|
+
var settings = instance.getSettings();
|
564
485
|
|
486
|
+
// Changing by the reference as `updateSettings` doesn't work the best.
|
565
487
|
settings.fixedRowsBottom = this.fixedRowsBottom;
|
566
488
|
settings.fixedRowsTop = this.fixedRowsTop;
|
567
|
-
instance.alter('
|
489
|
+
instance.alter('insert_row_above', this.index, this.data.length, 'UndoRedo.undo');
|
568
490
|
instance.addHookOnce('afterViewRender', undoneCallback);
|
569
491
|
instance.populateFromArray(this.index, 0, this.data, void 0, void 0, 'UndoRedo.undo');
|
570
492
|
};
|
571
|
-
|
572
493
|
UndoRedo.RemoveRowAction.prototype.redo = function (instance, redoneCallback) {
|
573
494
|
instance.addHookOnce('afterRemoveRow', redoneCallback);
|
574
495
|
instance.alter('remove_row', this.index, this.data.length, 'UndoRedo.redo');
|
575
496
|
};
|
497
|
+
|
576
498
|
/**
|
577
499
|
* Create column action.
|
578
500
|
*
|
@@ -580,25 +502,21 @@ UndoRedo.RemoveRowAction.prototype.redo = function (instance, redoneCallback) {
|
|
580
502
|
* @param {number} index The visual column index.
|
581
503
|
* @param {number} amount The number of created columns.
|
582
504
|
*/
|
583
|
-
|
584
|
-
|
585
505
|
UndoRedo.CreateColumnAction = function (index, amount) {
|
586
506
|
this.index = index;
|
587
507
|
this.amount = amount;
|
588
508
|
this.actionType = 'insert_col';
|
589
509
|
};
|
590
|
-
|
591
510
|
inherit(UndoRedo.CreateColumnAction, UndoRedo.Action);
|
592
|
-
|
593
511
|
UndoRedo.CreateColumnAction.prototype.undo = function (instance, undoneCallback) {
|
594
512
|
instance.addHookOnce('afterRemoveCol', undoneCallback);
|
595
513
|
instance.alter('remove_col', this.index, this.amount, 'UndoRedo.undo');
|
596
514
|
};
|
597
|
-
|
598
515
|
UndoRedo.CreateColumnAction.prototype.redo = function (instance, redoneCallback) {
|
599
516
|
instance.addHookOnce('afterCreateCol', redoneCallback);
|
600
|
-
instance.alter('
|
517
|
+
instance.alter('insert_col_start', this.index, this.amount, 'UndoRedo.redo');
|
601
518
|
};
|
519
|
+
|
602
520
|
/**
|
603
521
|
* Remove column action.
|
604
522
|
*
|
@@ -611,8 +529,6 @@ UndoRedo.CreateColumnAction.prototype.redo = function (instance, redoneCallback)
|
|
611
529
|
* @param {number[]} rowPositions The row position.
|
612
530
|
* @param {number} fixedColumnsStart Number of fixed columns on the left. Remove column action change it sometimes.
|
613
531
|
*/
|
614
|
-
|
615
|
-
|
616
532
|
UndoRedo.RemoveColumnAction = function (index, indexes, data, headers, columnPositions, rowPositions, fixedColumnsStart) {
|
617
533
|
// eslint-disable-line max-len
|
618
534
|
this.index = index;
|
@@ -625,31 +541,25 @@ UndoRedo.RemoveColumnAction = function (index, indexes, data, headers, columnPos
|
|
625
541
|
this.actionType = 'remove_col';
|
626
542
|
this.fixedColumnsStart = fixedColumnsStart;
|
627
543
|
};
|
628
|
-
|
629
544
|
inherit(UndoRedo.RemoveColumnAction, UndoRedo.Action);
|
630
|
-
|
631
545
|
UndoRedo.RemoveColumnAction.prototype.undo = function (instance, undoneCallback) {
|
632
546
|
var _this2 = this;
|
547
|
+
var settings = instance.getSettings();
|
633
548
|
|
634
|
-
|
635
|
-
|
549
|
+
// Changing by the reference as `updateSettings` doesn't work the best.
|
636
550
|
settings.fixedColumnsStart = this.fixedColumnsStart;
|
637
551
|
var ascendingIndexes = this.indexes.slice(0).sort();
|
638
|
-
|
639
552
|
var sortByIndexes = function sortByIndexes(elem, j, arr) {
|
640
553
|
return arr[_this2.indexes.indexOf(ascendingIndexes[j])];
|
641
554
|
};
|
642
|
-
|
643
555
|
var removedDataLength = this.data.length;
|
644
556
|
var sortedData = [];
|
645
|
-
|
646
557
|
for (var rowIndex = 0; rowIndex < removedDataLength; rowIndex++) {
|
647
558
|
sortedData.push(arrayMap(this.data[rowIndex], sortByIndexes));
|
648
559
|
}
|
649
|
-
|
650
560
|
var sortedHeaders = arrayMap(this.headers, sortByIndexes);
|
651
561
|
var changes = [];
|
652
|
-
instance.alter('
|
562
|
+
instance.alter('insert_col_start', this.indexes[0], this.indexes.length, 'UndoRedo.undo');
|
653
563
|
arrayEach(instance.getSourceDataArray(), function (rowData, rowIndex) {
|
654
564
|
arrayEach(ascendingIndexes, function (changedIndex, contiquesIndex) {
|
655
565
|
rowData[changedIndex] = sortedData[rowIndex][contiquesIndex];
|
@@ -658,13 +568,11 @@ UndoRedo.RemoveColumnAction.prototype.undo = function (instance, undoneCallback)
|
|
658
568
|
});
|
659
569
|
instance.setSourceDataAtCell(changes, void 0, void 0, 'UndoRedo.undo');
|
660
570
|
instance.columnIndexMapper.insertIndexes(ascendingIndexes[0], ascendingIndexes.length);
|
661
|
-
|
662
571
|
if (typeof this.headers !== 'undefined') {
|
663
572
|
arrayEach(sortedHeaders, function (headerData, columnIndex) {
|
664
573
|
instance.getSettings().colHeaders[ascendingIndexes[columnIndex]] = headerData;
|
665
574
|
});
|
666
575
|
}
|
667
|
-
|
668
576
|
instance.batchExecution(function () {
|
669
577
|
// Restore row sequence in a case when all columns are removed. the original
|
670
578
|
// row sequence is lost in that case.
|
@@ -674,11 +582,11 @@ UndoRedo.RemoveColumnAction.prototype.undo = function (instance, undoneCallback)
|
|
674
582
|
instance.addHookOnce('afterViewRender', undoneCallback);
|
675
583
|
instance.render();
|
676
584
|
};
|
677
|
-
|
678
585
|
UndoRedo.RemoveColumnAction.prototype.redo = function (instance, redoneCallback) {
|
679
586
|
instance.addHookOnce('afterRemoveCol', redoneCallback);
|
680
587
|
instance.alter('remove_col', this.index, this.amount, 'UndoRedo.redo');
|
681
588
|
};
|
589
|
+
|
682
590
|
/**
|
683
591
|
* Cell alignment action.
|
684
592
|
*
|
@@ -688,18 +596,14 @@ UndoRedo.RemoveColumnAction.prototype.redo = function (instance, redoneCallback)
|
|
688
596
|
* @param {string} type The type of the alignment ("top", "left", "bottom" or "right").
|
689
597
|
* @param {string} alignment The alignment CSS class.
|
690
598
|
*/
|
691
|
-
|
692
|
-
|
693
599
|
UndoRedo.CellAlignmentAction = function (stateBefore, range, type, alignment) {
|
694
600
|
this.stateBefore = stateBefore;
|
695
601
|
this.range = range;
|
696
602
|
this.type = type;
|
697
603
|
this.alignment = alignment;
|
698
604
|
};
|
699
|
-
|
700
605
|
UndoRedo.CellAlignmentAction.prototype.undo = function (instance, undoneCallback) {
|
701
606
|
var _this3 = this;
|
702
|
-
|
703
607
|
arrayEach(this.range, function (range) {
|
704
608
|
range.forAll(function (row, col) {
|
705
609
|
// Alignment classes should only collected within cell ranges. We skip header coordinates.
|
@@ -711,7 +615,6 @@ UndoRedo.CellAlignmentAction.prototype.undo = function (instance, undoneCallback
|
|
711
615
|
instance.addHookOnce('afterViewRender', undoneCallback);
|
712
616
|
instance.render();
|
713
617
|
};
|
714
|
-
|
715
618
|
UndoRedo.CellAlignmentAction.prototype.redo = function (instance, undoneCallback) {
|
716
619
|
align(this.range, this.type, this.alignment, function (row, col) {
|
717
620
|
return instance.getCellMeta(row, col);
|
@@ -721,62 +624,49 @@ UndoRedo.CellAlignmentAction.prototype.redo = function (instance, undoneCallback
|
|
721
624
|
instance.addHookOnce('afterViewRender', undoneCallback);
|
722
625
|
instance.render();
|
723
626
|
};
|
627
|
+
|
724
628
|
/**
|
725
629
|
* Filters action.
|
726
630
|
*
|
727
631
|
* @private
|
728
632
|
* @param {Array} conditionsStack An array of the filter condition.
|
729
633
|
*/
|
730
|
-
|
731
|
-
|
732
634
|
UndoRedo.FiltersAction = function (conditionsStack) {
|
733
635
|
this.conditionsStack = conditionsStack;
|
734
636
|
this.actionType = 'filter';
|
735
637
|
};
|
736
|
-
|
737
638
|
inherit(UndoRedo.FiltersAction, UndoRedo.Action);
|
738
|
-
|
739
639
|
UndoRedo.FiltersAction.prototype.undo = function (instance, undoneCallback) {
|
740
640
|
var filters = instance.getPlugin('filters');
|
741
641
|
instance.addHookOnce('afterViewRender', undoneCallback);
|
742
642
|
filters.conditionCollection.importAllConditions(this.conditionsStack.slice(0, this.conditionsStack.length - 1));
|
743
643
|
filters.filter();
|
744
644
|
};
|
745
|
-
|
746
645
|
UndoRedo.FiltersAction.prototype.redo = function (instance, redoneCallback) {
|
747
646
|
var filters = instance.getPlugin('filters');
|
748
647
|
instance.addHookOnce('afterViewRender', redoneCallback);
|
749
648
|
filters.conditionCollection.importAllConditions(this.conditionsStack);
|
750
649
|
filters.filter();
|
751
650
|
};
|
651
|
+
|
752
652
|
/**
|
753
653
|
* Merge Cells action.
|
754
654
|
*
|
755
655
|
* @util
|
756
656
|
*/
|
757
|
-
|
758
|
-
|
759
657
|
var MergeCellsAction = /*#__PURE__*/function (_UndoRedo$Action) {
|
760
658
|
_inherits(MergeCellsAction, _UndoRedo$Action);
|
761
|
-
|
762
659
|
var _super = _createSuper(MergeCellsAction);
|
763
|
-
|
764
660
|
function MergeCellsAction(instance, cellRange) {
|
765
661
|
var _this4;
|
766
|
-
|
767
662
|
_classCallCheck(this, MergeCellsAction);
|
768
|
-
|
769
663
|
_this4 = _super.call(this);
|
770
664
|
_this4.cellRange = cellRange;
|
771
|
-
|
772
665
|
var topStartCorner = _this4.cellRange.getTopStartCorner();
|
773
|
-
|
774
666
|
var bottomEndCorner = _this4.cellRange.getBottomEndCorner();
|
775
|
-
|
776
667
|
_this4.rangeData = instance.getData(topStartCorner.row, topStartCorner.col, bottomEndCorner.row, bottomEndCorner.col);
|
777
668
|
return _this4;
|
778
669
|
}
|
779
|
-
|
780
670
|
_createClass(MergeCellsAction, [{
|
781
671
|
key: "undo",
|
782
672
|
value: function undo(instance, undoneCallback) {
|
@@ -794,32 +684,25 @@ var MergeCellsAction = /*#__PURE__*/function (_UndoRedo$Action) {
|
|
794
684
|
mergeCellsPlugin.mergeRange(this.cellRange);
|
795
685
|
}
|
796
686
|
}]);
|
797
|
-
|
798
687
|
return MergeCellsAction;
|
799
688
|
}(UndoRedo.Action);
|
800
|
-
|
801
689
|
UndoRedo.MergeCellsAction = MergeCellsAction;
|
690
|
+
|
802
691
|
/**
|
803
692
|
* Unmerge Cells action.
|
804
693
|
*
|
805
694
|
* @util
|
806
695
|
*/
|
807
|
-
|
808
696
|
var UnmergeCellsAction = /*#__PURE__*/function (_UndoRedo$Action2) {
|
809
697
|
_inherits(UnmergeCellsAction, _UndoRedo$Action2);
|
810
|
-
|
811
698
|
var _super2 = _createSuper(UnmergeCellsAction);
|
812
|
-
|
813
699
|
function UnmergeCellsAction(instance, cellRange) {
|
814
700
|
var _this5;
|
815
|
-
|
816
701
|
_classCallCheck(this, UnmergeCellsAction);
|
817
|
-
|
818
702
|
_this5 = _super2.call(this);
|
819
703
|
_this5.cellRange = cellRange;
|
820
704
|
return _this5;
|
821
705
|
}
|
822
|
-
|
823
706
|
_createClass(UnmergeCellsAction, [{
|
824
707
|
key: "undo",
|
825
708
|
value: function undo(instance, undoneCallback) {
|
@@ -836,11 +719,10 @@ var UnmergeCellsAction = /*#__PURE__*/function (_UndoRedo$Action2) {
|
|
836
719
|
instance.render();
|
837
720
|
}
|
838
721
|
}]);
|
839
|
-
|
840
722
|
return UnmergeCellsAction;
|
841
723
|
}(UndoRedo.Action);
|
842
|
-
|
843
724
|
UndoRedo.UnmergeCellsAction = UnmergeCellsAction;
|
725
|
+
|
844
726
|
/**
|
845
727
|
* ManualRowMove action.
|
846
728
|
*
|
@@ -849,18 +731,14 @@ UndoRedo.UnmergeCellsAction = UnmergeCellsAction;
|
|
849
731
|
* @param {number[]} rows An array with moved rows.
|
850
732
|
* @param {number} finalIndex The destination index.
|
851
733
|
*/
|
852
|
-
|
853
734
|
UndoRedo.RowMoveAction = function (rows, finalIndex) {
|
854
735
|
this.rows = rows.slice();
|
855
736
|
this.finalIndex = finalIndex;
|
856
737
|
this.actionType = 'row_move';
|
857
738
|
};
|
858
|
-
|
859
739
|
inherit(UndoRedo.RowMoveAction, UndoRedo.Action);
|
860
|
-
|
861
740
|
UndoRedo.RowMoveAction.prototype.undo = function (instance, undoneCallback) {
|
862
741
|
var _this6 = this;
|
863
|
-
|
864
742
|
var manualRowMove = instance.getPlugin('manualRowMove');
|
865
743
|
var copyOfRows = [].concat(this.rows);
|
866
744
|
var rowsMovedUp = copyOfRows.filter(function (a) {
|
@@ -874,19 +752,18 @@ UndoRedo.RowMoveAction.prototype.undo = function (instance, undoneCallback) {
|
|
874
752
|
}).concat(rowsMovedDown.sort(function (a, b) {
|
875
753
|
return a - b;
|
876
754
|
}));
|
877
|
-
instance.addHookOnce('afterViewRender', undoneCallback);
|
878
|
-
// Moving rows from those with lower indexes to those with higher indexes when action was performed from top to bottom
|
755
|
+
instance.addHookOnce('afterViewRender', undoneCallback);
|
879
756
|
|
757
|
+
// Moving rows from those with higher indexes to those with lower indexes when action was performed from bottom to top
|
758
|
+
// Moving rows from those with lower indexes to those with higher indexes when action was performed from top to bottom
|
880
759
|
for (var i = 0; i < allMovedRows.length; i += 1) {
|
881
760
|
var newPhysicalRow = instance.toVisualRow(allMovedRows[i]);
|
882
761
|
manualRowMove.moveRow(newPhysicalRow, allMovedRows[i]);
|
883
762
|
}
|
884
|
-
|
885
763
|
instance.render();
|
886
764
|
instance.deselectCell();
|
887
765
|
instance.selectRows(this.rows[0], this.rows[0] + this.rows.length - 1);
|
888
766
|
};
|
889
|
-
|
890
767
|
UndoRedo.RowMoveAction.prototype.redo = function (instance, redoneCallback) {
|
891
768
|
var manualRowMove = instance.getPlugin('manualRowMove');
|
892
769
|
instance.addHookOnce('afterViewRender', redoneCallback);
|
@@ -895,40 +772,34 @@ UndoRedo.RowMoveAction.prototype.redo = function (instance, redoneCallback) {
|
|
895
772
|
instance.deselectCell();
|
896
773
|
instance.selectRows(this.finalIndex, this.finalIndex + this.rows.length - 1);
|
897
774
|
};
|
775
|
+
|
898
776
|
/**
|
899
777
|
* Enabling and disabling plugin and attaching its to an instance.
|
900
778
|
*
|
901
779
|
* @private
|
902
780
|
*/
|
903
|
-
|
904
|
-
|
905
781
|
UndoRedo.prototype.init = function () {
|
906
782
|
var settings = this.instance.getSettings().undo;
|
907
783
|
var pluginEnabled = typeof settings === 'undefined' || settings;
|
908
|
-
|
909
784
|
if (!this.instance.undoRedo) {
|
910
785
|
this.instance.undoRedo = this;
|
911
786
|
}
|
912
|
-
|
913
787
|
if (pluginEnabled) {
|
914
788
|
this.instance.undoRedo.enable();
|
915
789
|
} else {
|
916
790
|
this.instance.undoRedo.disable();
|
917
791
|
}
|
918
792
|
};
|
793
|
+
|
919
794
|
/**
|
920
795
|
* Registers shortcuts responsible for performing undo/redo.
|
921
796
|
*
|
922
797
|
* @private
|
923
798
|
*/
|
924
|
-
|
925
|
-
|
926
799
|
UndoRedo.prototype.registerShortcuts = function () {
|
927
800
|
var _this7 = this;
|
928
|
-
|
929
801
|
var shortcutManager = this.instance.getShortcutManager();
|
930
802
|
var gridContext = shortcutManager.getContext('grid');
|
931
|
-
|
932
803
|
var runOnlyIf = function runOnlyIf(event) {
|
933
804
|
return !event.altKey; // right ALT in some systems triggers ALT+CTR
|
934
805
|
};
|
@@ -949,37 +820,33 @@ UndoRedo.prototype.registerShortcuts = function () {
|
|
949
820
|
}
|
950
821
|
}], config);
|
951
822
|
};
|
823
|
+
|
952
824
|
/**
|
953
825
|
* Unregister shortcuts responsible for performing undo/redo.
|
954
826
|
*
|
955
827
|
* @private
|
956
828
|
*/
|
957
|
-
|
958
|
-
|
959
829
|
UndoRedo.prototype.unregisterShortcuts = function () {
|
960
830
|
var shortcutManager = this.instance.getShortcutManager();
|
961
831
|
var gridContext = shortcutManager.getContext('grid');
|
962
832
|
gridContext.removeShortcutsByGroup(SHORTCUTS_GROUP);
|
963
833
|
};
|
834
|
+
|
964
835
|
/**
|
965
836
|
* @param {Array} changes 2D array containing information about each of the edited cells.
|
966
837
|
* @param {string} source String that identifies source of hook call.
|
967
838
|
* @returns {boolean}
|
968
839
|
*/
|
969
|
-
|
970
|
-
|
971
840
|
function onAfterChange(changes, source) {
|
972
841
|
var instance = this;
|
973
|
-
|
974
842
|
if (source === 'loadData') {
|
975
843
|
return instance.undoRedo.clear();
|
976
844
|
}
|
977
845
|
}
|
846
|
+
|
978
847
|
/**
|
979
848
|
* @param {Core} instance The Handsontable instance.
|
980
849
|
*/
|
981
|
-
|
982
|
-
|
983
850
|
function exposeUndoRedoMethods(instance) {
|
984
851
|
/**
|
985
852
|
* {@link UndoRedo#undo}.
|
@@ -991,6 +858,7 @@ function exposeUndoRedoMethods(instance) {
|
|
991
858
|
instance.undo = function () {
|
992
859
|
return instance.undoRedo.undo();
|
993
860
|
};
|
861
|
+
|
994
862
|
/**
|
995
863
|
* {@link UndoRedo#redo}.
|
996
864
|
*
|
@@ -998,11 +866,10 @@ function exposeUndoRedoMethods(instance) {
|
|
998
866
|
* @memberof! Core#
|
999
867
|
* @returns {boolean}
|
1000
868
|
*/
|
1001
|
-
|
1002
|
-
|
1003
869
|
instance.redo = function () {
|
1004
870
|
return instance.undoRedo.redo();
|
1005
871
|
};
|
872
|
+
|
1006
873
|
/**
|
1007
874
|
* {@link UndoRedo#isUndoAvailable}.
|
1008
875
|
*
|
@@ -1010,11 +877,10 @@ function exposeUndoRedoMethods(instance) {
|
|
1010
877
|
* @memberof! Core#
|
1011
878
|
* @returns {boolean}
|
1012
879
|
*/
|
1013
|
-
|
1014
|
-
|
1015
880
|
instance.isUndoAvailable = function () {
|
1016
881
|
return instance.undoRedo.isUndoAvailable();
|
1017
882
|
};
|
883
|
+
|
1018
884
|
/**
|
1019
885
|
* {@link UndoRedo#isRedoAvailable}.
|
1020
886
|
*
|
@@ -1022,11 +888,10 @@ function exposeUndoRedoMethods(instance) {
|
|
1022
888
|
* @memberof! Core#
|
1023
889
|
* @returns {boolean}
|
1024
890
|
*/
|
1025
|
-
|
1026
|
-
|
1027
891
|
instance.isRedoAvailable = function () {
|
1028
892
|
return instance.undoRedo.isRedoAvailable();
|
1029
893
|
};
|
894
|
+
|
1030
895
|
/**
|
1031
896
|
* {@link UndoRedo#clear}.
|
1032
897
|
*
|
@@ -1034,17 +899,14 @@ function exposeUndoRedoMethods(instance) {
|
|
1034
899
|
* @memberof! Core#
|
1035
900
|
* @returns {boolean}
|
1036
901
|
*/
|
1037
|
-
|
1038
|
-
|
1039
902
|
instance.clearUndo = function () {
|
1040
903
|
return instance.undoRedo.clear();
|
1041
904
|
};
|
1042
905
|
}
|
906
|
+
|
1043
907
|
/**
|
1044
908
|
* @param {Core} instance The Handsontable instance.
|
1045
909
|
*/
|
1046
|
-
|
1047
|
-
|
1048
910
|
function removeExposedUndoRedoMethods(instance) {
|
1049
911
|
delete instance.undo;
|
1050
912
|
delete instance.redo;
|
@@ -1052,11 +914,9 @@ function removeExposedUndoRedoMethods(instance) {
|
|
1052
914
|
delete instance.isRedoAvailable;
|
1053
915
|
delete instance.clearUndo;
|
1054
916
|
}
|
1055
|
-
|
1056
917
|
var hook = Hooks.getSingleton();
|
1057
918
|
hook.add('afterUpdateSettings', function () {
|
1058
919
|
var _this$getPlugin;
|
1059
|
-
|
1060
920
|
(_this$getPlugin = this.getPlugin('undoRedo')) === null || _this$getPlugin === void 0 ? void 0 : _this$getPlugin.init();
|
1061
921
|
});
|
1062
922
|
hook.register('beforeUndo');
|