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