handsontable 12.1.3 → 12.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/SheetClip/SheetClip.js +3 -32
- package/3rdparty/SheetClip/SheetClip.mjs +3 -23
- package/3rdparty/SheetClip/index.js +0 -2
- package/3rdparty/autoResize/autoResize.js +119 -145
- package/3rdparty/autoResize/autoResize.mjs +119 -143
- package/3rdparty/autoResize/index.js +0 -2
- package/3rdparty/walkontable/src/border.js +34 -151
- package/3rdparty/walkontable/src/border.mjs +36 -138
- package/3rdparty/walkontable/src/calculator/constants.js +0 -3
- package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
- package/3rdparty/walkontable/src/calculator/index.js +0 -10
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +26 -76
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +26 -69
- package/3rdparty/walkontable/src/calculator/viewportRows.js +20 -48
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +20 -41
- package/3rdparty/walkontable/src/cell/coords.js +13 -43
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -38
- package/3rdparty/walkontable/src/cell/range.js +55 -130
- package/3rdparty/walkontable/src/cell/range.mjs +60 -126
- package/3rdparty/walkontable/src/core/_base.js +16 -74
- package/3rdparty/walkontable/src/core/_base.mjs +19 -70
- package/3rdparty/walkontable/src/core/clone.js +1 -40
- package/3rdparty/walkontable/src/core/clone.mjs +3 -30
- package/3rdparty/walkontable/src/core/core.js +3 -57
- package/3rdparty/walkontable/src/core/core.mjs +5 -41
- package/3rdparty/walkontable/src/event.js +31 -78
- package/3rdparty/walkontable/src/event.mjs +31 -65
- package/3rdparty/walkontable/src/facade/core.js +1 -17
- package/3rdparty/walkontable/src/facade/core.mjs +7 -20
- package/3rdparty/walkontable/src/filter/column.js +9 -18
- package/3rdparty/walkontable/src/filter/column.mjs +9 -17
- package/3rdparty/walkontable/src/filter/row.js +9 -18
- package/3rdparty/walkontable/src/filter/row.mjs +9 -17
- package/3rdparty/walkontable/src/index.js +0 -31
- package/3rdparty/walkontable/src/overlay/_base.js +24 -69
- package/3rdparty/walkontable/src/overlay/_base.mjs +31 -68
- package/3rdparty/walkontable/src/overlay/bottom.js +28 -99
- package/3rdparty/walkontable/src/overlay/bottom.mjs +30 -86
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +7 -53
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +9 -40
- package/3rdparty/walkontable/src/overlay/constants.js +0 -6
- package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
- package/3rdparty/walkontable/src/overlay/index.js +0 -17
- package/3rdparty/walkontable/src/overlay/inlineStart.js +21 -91
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +23 -78
- package/3rdparty/walkontable/src/overlay/top.js +27 -100
- package/3rdparty/walkontable/src/overlay/top.mjs +29 -87
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +4 -51
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +6 -38
- package/3rdparty/walkontable/src/overlays.js +58 -129
- package/3rdparty/walkontable/src/overlays.mjs +60 -121
- package/3rdparty/walkontable/src/renderer/_base.js +4 -20
- package/3rdparty/walkontable/src/renderer/_base.mjs +8 -22
- package/3rdparty/walkontable/src/renderer/cells.js +10 -54
- package/3rdparty/walkontable/src/renderer/cells.mjs +22 -52
- package/3rdparty/walkontable/src/renderer/colGroup.js +10 -47
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +21 -46
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +19 -49
- package/3rdparty/walkontable/src/renderer/index.js +13 -36
- package/3rdparty/walkontable/src/renderer/index.mjs +17 -27
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +20 -49
- package/3rdparty/walkontable/src/renderer/rows.js +3 -46
- package/3rdparty/walkontable/src/renderer/rows.mjs +3 -29
- package/3rdparty/walkontable/src/renderer/table.js +22 -49
- package/3rdparty/walkontable/src/renderer/table.mjs +22 -48
- package/3rdparty/walkontable/src/scroll.js +56 -86
- package/3rdparty/walkontable/src/scroll.mjs +58 -86
- package/3rdparty/walkontable/src/selection.js +20 -101
- package/3rdparty/walkontable/src/selection.mjs +22 -85
- package/3rdparty/walkontable/src/settings.js +9 -29
- package/3rdparty/walkontable/src/settings.mjs +9 -27
- package/3rdparty/walkontable/src/table/bottom.js +1 -35
- package/3rdparty/walkontable/src/table/bottom.mjs +6 -25
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table/inlineStart.js +1 -35
- package/3rdparty/walkontable/src/table/inlineStart.mjs +3 -22
- package/3rdparty/walkontable/src/table/master.js +10 -55
- package/3rdparty/walkontable/src/table/master.mjs +15 -44
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +7 -20
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +7 -23
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +7 -21
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +7 -20
- package/3rdparty/walkontable/src/table/top.js +1 -35
- package/3rdparty/walkontable/src/table/top.mjs +6 -25
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table.js +63 -230
- package/3rdparty/walkontable/src/table.mjs +73 -219
- package/3rdparty/walkontable/src/types.js +0 -5
- package/3rdparty/walkontable/src/types.mjs +0 -5
- package/3rdparty/walkontable/src/utils/column.js +9 -31
- package/3rdparty/walkontable/src/utils/column.mjs +13 -30
- package/3rdparty/walkontable/src/utils/nodesPool.js +3 -12
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +3 -11
- package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
- package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
- package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -33
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +6 -26
- package/3rdparty/walkontable/src/utils/orderView/view.js +14 -46
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +21 -50
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +3 -15
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +3 -14
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +8 -22
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +23 -34
- package/3rdparty/walkontable/src/utils/row.js +2 -13
- package/3rdparty/walkontable/src/utils/row.mjs +2 -12
- package/3rdparty/walkontable/src/viewport.js +38 -100
- package/3rdparty/walkontable/src/viewport.mjs +40 -99
- package/CHANGELOG.md +76 -1
- package/base.js +6 -17
- package/base.mjs +6 -12
- package/cellTypes/autocompleteType/autocompleteType.js +0 -4
- package/cellTypes/autocompleteType/index.js +0 -2
- package/cellTypes/checkboxType/checkboxType.js +0 -3
- package/cellTypes/checkboxType/index.js +0 -2
- package/cellTypes/dateType/dateType.js +0 -4
- package/cellTypes/dateType/index.js +0 -2
- package/cellTypes/dropdownType/dropdownType.js +0 -4
- package/cellTypes/dropdownType/index.js +0 -2
- package/cellTypes/handsontableType/handsontableType.js +0 -3
- package/cellTypes/handsontableType/index.js +0 -2
- package/cellTypes/index.js +0 -21
- package/cellTypes/index.mjs +3 -5
- package/cellTypes/numericType/index.js +0 -2
- package/cellTypes/numericType/numericType.js +0 -4
- package/cellTypes/passwordType/index.js +0 -2
- package/cellTypes/passwordType/passwordType.js +0 -3
- package/cellTypes/registry.js +10 -25
- package/cellTypes/registry.mjs +10 -20
- package/cellTypes/textType/index.js +0 -2
- package/cellTypes/textType/textType.js +0 -3
- package/cellTypes/timeType/index.js +0 -2
- package/cellTypes/timeType/timeType.js +0 -4
- package/core.d.ts +5 -1
- package/core.js +505 -973
- package/core.mjs +510 -920
- package/dataMap/dataMap.js +106 -210
- package/dataMap/dataMap.mjs +106 -184
- package/{dataSource.js → dataMap/dataSource.js} +18 -66
- package/{dataSource.mjs → dataMap/dataSource.mjs} +20 -60
- package/dataMap/index.js +0 -13
- package/dataMap/metaManager/index.js +21 -46
- package/dataMap/metaManager/index.mjs +47 -64
- package/dataMap/metaManager/lazyFactoryMap.js +10 -61
- package/dataMap/metaManager/lazyFactoryMap.mjs +10 -45
- package/dataMap/metaManager/metaLayers/cellMeta.js +16 -52
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +16 -37
- package/dataMap/metaManager/metaLayers/columnMeta.js +8 -22
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +14 -25
- package/dataMap/metaManager/metaLayers/globalMeta.js +4 -19
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.js +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +28 -37
- package/dataMap/metaManager/metaSchema.js +86 -179
- package/dataMap/metaManager/metaSchema.mjs +86 -170
- package/dataMap/metaManager/mods/dynamicCellMeta.js +6 -36
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +20 -39
- package/dataMap/metaManager/mods/extendMetaProperties.js +5 -28
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +4 -18
- package/dataMap/metaManager/utils.js +11 -20
- package/dataMap/metaManager/utils.mjs +21 -23
- package/dataMap/replaceData.js +14 -35
- package/dataMap/replaceData.mjs +35 -45
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +8478 -20043
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +55 -55
- package/dist/handsontable.js +7995 -19560
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +0 -175
- package/dist/languages/ar-AR.js +0 -10
- package/dist/languages/cs-CZ.js +0 -10
- package/dist/languages/de-CH.js +0 -10
- package/dist/languages/de-DE.js +0 -10
- package/dist/languages/en-US.js +0 -10
- package/dist/languages/es-MX.js +0 -10
- package/dist/languages/fr-FR.js +0 -10
- package/dist/languages/it-IT.js +0 -10
- package/dist/languages/ja-JP.js +0 -10
- package/dist/languages/ko-KR.js +0 -10
- package/dist/languages/lv-LV.js +0 -10
- package/dist/languages/nb-NO.js +0 -10
- package/dist/languages/nl-NL.js +0 -10
- package/dist/languages/pl-PL.js +0 -10
- package/dist/languages/pt-BR.js +0 -10
- package/dist/languages/ru-RU.js +0 -10
- package/dist/languages/sr-SP.js +0 -10
- package/dist/languages/zh-CN.js +0 -10
- package/dist/languages/zh-TW.js +0 -10
- package/editorManager.js +36 -105
- package/editorManager.mjs +36 -85
- package/editors/autocompleteEditor/autocompleteEditor.js +26 -133
- package/editors/autocompleteEditor/autocompleteEditor.mjs +26 -104
- package/editors/autocompleteEditor/index.js +0 -2
- package/editors/baseEditor/baseEditor.js +44 -154
- package/editors/baseEditor/baseEditor.mjs +44 -128
- package/editors/baseEditor/index.js +0 -2
- package/editors/checkboxEditor/checkboxEditor.js +2 -33
- package/editors/checkboxEditor/checkboxEditor.mjs +2 -19
- package/editors/checkboxEditor/index.js +0 -2
- package/editors/dateEditor/dateEditor.js +20 -96
- package/editors/dateEditor/dateEditor.mjs +20 -75
- package/editors/dateEditor/index.js +0 -2
- package/editors/dropdownEditor/dropdownEditor.js +1 -41
- package/editors/dropdownEditor/dropdownEditor.mjs +1 -22
- package/editors/dropdownEditor/index.js +0 -2
- package/editors/handsontableEditor/handsontableEditor.js +13 -85
- package/editors/handsontableEditor/handsontableEditor.mjs +13 -66
- package/editors/handsontableEditor/index.js +0 -2
- package/editors/index.js +0 -25
- package/editors/index.mjs +3 -5
- package/editors/numericEditor/index.js +0 -2
- package/editors/numericEditor/numericEditor.js +1 -31
- package/editors/numericEditor/numericEditor.mjs +1 -18
- package/editors/passwordEditor/index.js +0 -2
- package/editors/passwordEditor/passwordEditor.js +1 -38
- package/editors/passwordEditor/passwordEditor.mjs +1 -22
- package/editors/registry.js +10 -36
- package/editors/registry.mjs +10 -28
- package/editors/selectEditor/index.js +0 -2
- package/editors/selectEditor/selectEditor.js +21 -73
- package/editors/selectEditor/selectEditor.mjs +21 -56
- package/editors/textEditor/caretPositioner.js +0 -8
- package/editors/textEditor/caretPositioner.mjs +10 -18
- package/editors/textEditor/index.js +0 -2
- package/editors/textEditor/textEditor.js +38 -137
- package/editors/textEditor/textEditor.mjs +38 -106
- package/editors/timeEditor/index.js +0 -2
- package/editors/timeEditor/timeEditor.js +1 -36
- package/editors/timeEditor/timeEditor.mjs +1 -21
- package/eventManager.js +20 -56
- package/eventManager.mjs +23 -56
- package/helpers/array.js +22 -88
- package/helpers/array.mjs +22 -58
- package/helpers/browser.js +25 -51
- package/helpers/browser.mjs +25 -32
- package/helpers/console.js +3 -13
- package/helpers/console.mjs +8 -16
- package/helpers/data.d.ts +0 -1
- package/helpers/data.js +10 -55
- package/helpers/data.mjs +10 -33
- package/helpers/date.js +2 -3
- package/helpers/date.mjs +2 -2
- package/helpers/dom/element.js +66 -256
- package/helpers/dom/element.mjs +73 -192
- package/helpers/dom/event.js +3 -7
- package/helpers/dom/event.mjs +3 -3
- package/helpers/feature.js +13 -47
- package/helpers/feature.mjs +13 -31
- package/helpers/function.js +14 -59
- package/helpers/function.mjs +20 -52
- package/helpers/mixed.js +9 -64
- package/helpers/mixed.mjs +15 -50
- package/helpers/number.js +4 -46
- package/helpers/number.mjs +4 -23
- package/helpers/object.js +15 -68
- package/helpers/object.mjs +21 -50
- package/helpers/string.js +6 -28
- package/helpers/string.mjs +12 -21
- package/helpers/templateLiteralTag.js +0 -6
- package/helpers/templateLiteralTag.mjs +7 -10
- package/helpers/unicode.js +17 -22
- package/helpers/unicode.mjs +17 -13
- package/helpers/wrappers/jquery.js +4 -14
- package/helpers/wrappers/jquery.mjs +4 -13
- package/i18n/constants.js +1 -3
- package/i18n/constants.mjs +1 -1
- package/i18n/index.js +0 -7
- package/i18n/languages/ar-AR.js +0 -16
- package/i18n/languages/ar-AR.mjs +1 -4
- package/i18n/languages/cs-CZ.js +0 -16
- package/i18n/languages/cs-CZ.mjs +1 -4
- package/i18n/languages/de-CH.js +0 -16
- package/i18n/languages/de-CH.mjs +1 -4
- package/i18n/languages/de-DE.js +0 -16
- package/i18n/languages/de-DE.mjs +1 -4
- package/i18n/languages/en-US.js +0 -16
- package/i18n/languages/en-US.mjs +1 -4
- package/i18n/languages/es-MX.js +0 -16
- package/i18n/languages/es-MX.mjs +1 -4
- package/i18n/languages/fr-FR.js +0 -16
- package/i18n/languages/fr-FR.mjs +1 -4
- package/i18n/languages/index.js +0 -39
- package/i18n/languages/it-IT.js +0 -16
- package/i18n/languages/it-IT.mjs +1 -4
- package/i18n/languages/ja-JP.js +0 -16
- package/i18n/languages/ja-JP.mjs +1 -4
- package/i18n/languages/ko-KR.js +0 -16
- package/i18n/languages/ko-KR.mjs +1 -4
- package/i18n/languages/lv-LV.js +0 -16
- package/i18n/languages/lv-LV.mjs +1 -4
- package/i18n/languages/nb-NO.js +0 -16
- package/i18n/languages/nb-NO.mjs +1 -4
- package/i18n/languages/nl-NL.js +0 -16
- package/i18n/languages/nl-NL.mjs +1 -4
- package/i18n/languages/pl-PL.js +0 -16
- package/i18n/languages/pl-PL.mjs +1 -4
- package/i18n/languages/pt-BR.js +0 -16
- package/i18n/languages/pt-BR.mjs +1 -4
- package/i18n/languages/ru-RU.js +0 -16
- package/i18n/languages/ru-RU.mjs +1 -4
- package/i18n/languages/sr-SP.js +0 -16
- package/i18n/languages/sr-SP.mjs +1 -4
- package/i18n/languages/zh-CN.js +0 -16
- package/i18n/languages/zh-CN.mjs +1 -4
- package/i18n/languages/zh-TW.js +0 -16
- package/i18n/languages/zh-TW.mjs +1 -4
- package/i18n/phraseFormatters/index.js +4 -11
- package/i18n/phraseFormatters/index.mjs +4 -6
- package/i18n/phraseFormatters/pluralize.js +0 -5
- package/i18n/phraseFormatters/pluralize.mjs +0 -3
- package/i18n/phraseFormatters/substituteVariables.js +0 -4
- package/i18n/phraseFormatters/substituteVariables.mjs +8 -11
- package/i18n/registry.js +18 -59
- package/i18n/registry.mjs +18 -30
- package/i18n/utils.js +4 -22
- package/i18n/utils.mjs +13 -21
- package/index.js +19 -56
- package/index.mjs +19 -15
- package/languages/all.js +0 -175
- package/languages/ar-AR.js +0 -10
- package/languages/ar-AR.mjs +1 -4
- package/languages/cs-CZ.js +0 -10
- package/languages/cs-CZ.mjs +1 -4
- package/languages/de-CH.js +0 -10
- package/languages/de-CH.mjs +1 -4
- package/languages/de-DE.js +0 -10
- package/languages/de-DE.mjs +1 -4
- package/languages/en-US.js +0 -10
- package/languages/en-US.mjs +1 -4
- package/languages/es-MX.js +0 -10
- package/languages/es-MX.mjs +1 -4
- package/languages/fr-FR.js +0 -10
- package/languages/fr-FR.mjs +1 -4
- package/languages/index.js +0 -175
- package/languages/it-IT.js +0 -10
- package/languages/it-IT.mjs +1 -4
- package/languages/ja-JP.js +0 -10
- package/languages/ja-JP.mjs +1 -4
- package/languages/ko-KR.js +0 -10
- package/languages/ko-KR.mjs +1 -4
- package/languages/lv-LV.js +0 -10
- package/languages/lv-LV.mjs +1 -4
- package/languages/nb-NO.js +0 -10
- package/languages/nb-NO.mjs +1 -4
- package/languages/nl-NL.js +0 -10
- package/languages/nl-NL.mjs +1 -4
- package/languages/pl-PL.js +0 -10
- package/languages/pl-PL.mjs +1 -4
- package/languages/pt-BR.js +0 -10
- package/languages/pt-BR.mjs +1 -4
- package/languages/ru-RU.js +0 -10
- package/languages/ru-RU.mjs +1 -4
- package/languages/sr-SP.js +0 -10
- package/languages/sr-SP.mjs +1 -4
- package/languages/zh-CN.js +0 -10
- package/languages/zh-CN.mjs +1 -4
- package/languages/zh-TW.js +0 -10
- package/languages/zh-TW.mjs +1 -4
- package/mixins/hooksRefRegisterer.js +4 -18
- package/mixins/hooksRefRegisterer.mjs +4 -15
- package/mixins/localHooks.js +7 -17
- package/mixins/localHooks.mjs +7 -14
- package/package.json +1 -1
- package/pluginHooks.d.ts +3 -3
- package/pluginHooks.js +271 -96
- package/pluginHooks.mjs +270 -83
- package/plugins/autoColumnSize/autoColumnSize.js +74 -172
- package/plugins/autoColumnSize/autoColumnSize.mjs +74 -137
- package/plugins/autoColumnSize/index.js +0 -2
- package/plugins/autoRowSize/autoRowSize.js +73 -153
- package/plugins/autoRowSize/autoRowSize.mjs +73 -124
- package/plugins/autoRowSize/index.js +0 -2
- package/plugins/autofill/autofill.js +46 -163
- package/plugins/autofill/autofill.mjs +46 -131
- package/plugins/autofill/index.js +0 -2
- package/plugins/autofill/utils.js +4 -26
- package/plugins/autofill/utils.mjs +4 -18
- package/plugins/base/base.js +20 -89
- package/plugins/base/base.mjs +20 -61
- package/plugins/base/index.js +0 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +19 -52
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +19 -33
- package/plugins/bindRowsWithHeaders/index.js +0 -2
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +5 -41
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +5 -29
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -53
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +6 -37
- package/plugins/collapsibleColumns/collapsibleColumns.js +96 -188
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +97 -158
- package/plugins/collapsibleColumns/index.js +0 -2
- package/plugins/columnSorting/columnSorting.js +50 -188
- package/plugins/columnSorting/columnSorting.mjs +50 -143
- package/plugins/columnSorting/columnStatesManager.js +15 -71
- package/plugins/columnSorting/columnStatesManager.mjs +15 -48
- package/plugins/columnSorting/domHelpers.js +2 -18
- package/plugins/columnSorting/domHelpers.mjs +2 -7
- package/plugins/columnSorting/index.js +0 -2
- package/plugins/columnSorting/rootComparator.js +5 -24
- package/plugins/columnSorting/rootComparator.mjs +12 -21
- package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
- package/plugins/columnSorting/sortFunction/checkbox.mjs +16 -21
- package/plugins/columnSorting/sortFunction/date.js +2 -19
- package/plugins/columnSorting/sortFunction/date.mjs +10 -23
- package/plugins/columnSorting/sortFunction/default.js +2 -17
- package/plugins/columnSorting/sortFunction/default.mjs +10 -23
- package/plugins/columnSorting/sortFunction/numeric.js +2 -11
- package/plugins/columnSorting/sortFunction/numeric.mjs +10 -17
- package/plugins/columnSorting/sortService/engine.js +1 -7
- package/plugins/columnSorting/sortService/engine.mjs +1 -3
- package/plugins/columnSorting/sortService/index.js +0 -5
- package/plugins/columnSorting/sortService/registry.js +6 -18
- package/plugins/columnSorting/sortService/registry.mjs +6 -10
- package/plugins/columnSorting/utils.js +9 -34
- package/plugins/columnSorting/utils.mjs +9 -15
- package/plugins/columnSummary/columnSummary.js +52 -118
- package/plugins/columnSummary/columnSummary.mjs +52 -93
- package/plugins/columnSummary/endpoints.js +21 -98
- package/plugins/columnSummary/endpoints.mjs +26 -99
- package/plugins/columnSummary/index.js +0 -2
- package/plugins/columnSummary/utils.js +0 -1
- package/plugins/comments/commentEditor.js +16 -28
- package/plugins/comments/commentEditor.mjs +21 -32
- package/plugins/comments/comments.js +92 -175
- package/plugins/comments/comments.mjs +92 -149
- package/plugins/comments/displaySwitch.js +6 -23
- package/plugins/comments/displaySwitch.mjs +6 -18
- package/plugins/comments/index.js +0 -2
- package/plugins/contextMenu/commandExecutor.js +9 -36
- package/plugins/contextMenu/commandExecutor.mjs +14 -39
- package/plugins/contextMenu/contextMenu.js +21 -104
- package/plugins/contextMenu/contextMenu.mjs +21 -74
- package/plugins/contextMenu/cursor.js +6 -20
- package/plugins/contextMenu/cursor.mjs +11 -24
- package/plugins/contextMenu/index.js +0 -2
- package/plugins/contextMenu/itemsFactory.js +14 -43
- package/plugins/contextMenu/itemsFactory.mjs +19 -44
- package/plugins/contextMenu/menu.js +57 -177
- package/plugins/contextMenu/menu.mjs +57 -149
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
- package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
- package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
- package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
- package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
- package/plugins/contextMenu/predefinedItems/redo.js +1 -16
- package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +3 -38
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -18
- package/plugins/contextMenu/predefinedItems/removeRow.js +3 -37
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -17
- package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
- package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/separator.js +1 -2
- package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -16
- package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems.js +2 -48
- package/plugins/contextMenu/predefinedItems.mjs +2 -7
- package/plugins/contextMenu/utils.js +17 -57
- package/plugins/contextMenu/utils.mjs +21 -39
- package/plugins/copyPaste/clipboardData.js +1 -10
- package/plugins/copyPaste/clipboardData.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copy.js +2 -17
- package/plugins/copyPaste/contextMenuItem/copy.mjs +6 -9
- package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
- package/plugins/copyPaste/contextMenuItem/cut.mjs +6 -9
- package/plugins/copyPaste/copyPaste.js +51 -185
- package/plugins/copyPaste/copyPaste.mjs +51 -144
- package/plugins/copyPaste/focusableElement.js +12 -56
- package/plugins/copyPaste/focusableElement.mjs +15 -49
- package/plugins/copyPaste/index.js +0 -2
- package/plugins/copyPaste/pasteEvent.js +1 -10
- package/plugins/copyPaste/pasteEvent.mjs +3 -10
- package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
- package/plugins/customBorders/contextMenuItem/bottom.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/index.js +0 -11
- package/plugins/customBorders/contextMenuItem/left.js +0 -17
- package/plugins/customBorders/contextMenuItem/left.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
- package/plugins/customBorders/contextMenuItem/noBorders.mjs +4 -6
- package/plugins/customBorders/contextMenuItem/right.js +0 -17
- package/plugins/customBorders/contextMenuItem/right.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/top.js +0 -17
- package/plugins/customBorders/contextMenuItem/top.mjs +4 -8
- package/plugins/customBorders/customBorders.js +52 -181
- package/plugins/customBorders/customBorders.mjs +52 -147
- package/plugins/customBorders/index.js +0 -2
- package/plugins/customBorders/utils.js +13 -52
- package/plugins/customBorders/utils.mjs +20 -39
- package/plugins/dragToScroll/dragToScroll.js +17 -74
- package/plugins/dragToScroll/dragToScroll.mjs +17 -55
- package/plugins/dragToScroll/index.js +0 -2
- package/plugins/dropdownMenu/dropdownMenu.js +43 -126
- package/plugins/dropdownMenu/dropdownMenu.mjs +43 -95
- package/plugins/dropdownMenu/index.js +0 -2
- package/plugins/exportFile/dataProvider.js +24 -69
- package/plugins/exportFile/dataProvider.mjs +26 -60
- package/plugins/exportFile/exportFile.js +48 -58
- package/plugins/exportFile/exportFile.mjs +48 -36
- package/plugins/exportFile/index.js +0 -2
- package/plugins/exportFile/typeFactory.js +1 -11
- package/plugins/exportFile/typeFactory.mjs +1 -4
- package/plugins/exportFile/types/_base.js +2 -16
- package/plugins/exportFile/types/_base.mjs +4 -16
- package/plugins/exportFile/types/csv.js +2 -50
- package/plugins/exportFile/types/csv.mjs +2 -29
- package/plugins/filters/component/_base.js +12 -32
- package/plugins/filters/component/_base.mjs +15 -30
- package/plugins/filters/component/actionBar.js +6 -55
- package/plugins/filters/component/actionBar.mjs +9 -38
- package/plugins/filters/component/condition.js +15 -94
- package/plugins/filters/component/condition.mjs +18 -67
- package/plugins/filters/component/operators.js +10 -68
- package/plugins/filters/component/operators.mjs +10 -45
- package/plugins/filters/component/value.js +16 -97
- package/plugins/filters/component/value.mjs +19 -70
- package/plugins/filters/condition/beginsWith.js +2 -32
- package/plugins/filters/condition/beginsWith.mjs +2 -10
- package/plugins/filters/condition/between.js +3 -37
- package/plugins/filters/condition/between.mjs +3 -15
- package/plugins/filters/condition/byValue.js +3 -27
- package/plugins/filters/condition/byValue.mjs +3 -12
- package/plugins/filters/condition/contains.js +2 -32
- package/plugins/filters/condition/contains.mjs +2 -10
- package/plugins/filters/condition/date/after.js +2 -34
- package/plugins/filters/condition/date/after.mjs +2 -12
- package/plugins/filters/condition/date/before.js +2 -34
- package/plugins/filters/condition/date/before.mjs +2 -12
- package/plugins/filters/condition/date/today.js +1 -22
- package/plugins/filters/condition/date/today.mjs +1 -3
- package/plugins/filters/condition/date/tomorrow.js +1 -22
- package/plugins/filters/condition/date/tomorrow.mjs +1 -3
- package/plugins/filters/condition/date/yesterday.js +1 -22
- package/plugins/filters/condition/date/yesterday.mjs +1 -3
- package/plugins/filters/condition/empty.js +1 -19
- package/plugins/filters/condition/empty.mjs +1 -1
- package/plugins/filters/condition/endsWith.js +2 -32
- package/plugins/filters/condition/endsWith.mjs +2 -10
- package/plugins/filters/condition/equal.js +2 -31
- package/plugins/filters/condition/equal.mjs +2 -10
- package/plugins/filters/condition/false.js +1 -5
- package/plugins/filters/condition/false.mjs +1 -1
- package/plugins/filters/condition/greaterThan.js +2 -32
- package/plugins/filters/condition/greaterThan.mjs +2 -12
- package/plugins/filters/condition/greaterThanOrEqual.js +2 -32
- package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/lessThan.js +2 -32
- package/plugins/filters/condition/lessThan.mjs +2 -12
- package/plugins/filters/condition/lessThanOrEqual.js +2 -32
- package/plugins/filters/condition/lessThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/none.js +1 -18
- package/plugins/filters/condition/none.mjs +1 -1
- package/plugins/filters/condition/notBetween.js +1 -19
- package/plugins/filters/condition/notBetween.mjs +1 -1
- package/plugins/filters/condition/notContains.js +1 -19
- package/plugins/filters/condition/notContains.mjs +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -19
- package/plugins/filters/condition/notEmpty.mjs +1 -1
- package/plugins/filters/condition/notEqual.js +1 -19
- package/plugins/filters/condition/notEqual.mjs +1 -1
- package/plugins/filters/condition/true.js +1 -5
- package/plugins/filters/condition/true.mjs +1 -1
- package/plugins/filters/conditionCollection.js +21 -80
- package/plugins/filters/conditionCollection.mjs +21 -57
- package/plugins/filters/conditionRegisterer.js +5 -14
- package/plugins/filters/conditionRegisterer.mjs +5 -9
- package/plugins/filters/conditionUpdateObserver.js +17 -57
- package/plugins/filters/conditionUpdateObserver.mjs +25 -53
- package/plugins/filters/constants.js +1 -66
- package/plugins/filters/constants.mjs +1 -8
- package/plugins/filters/dataFilter.js +4 -21
- package/plugins/filters/dataFilter.mjs +7 -23
- package/plugins/filters/filters.js +103 -208
- package/plugins/filters/filters.mjs +103 -163
- package/plugins/filters/index.js +0 -2
- package/plugins/filters/logicalOperationRegisterer.js +3 -9
- package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
- package/plugins/filters/logicalOperations/conjunction.js +2 -19
- package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunction.js +2 -19
- package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
- package/plugins/filters/ui/_base.js +12 -55
- package/plugins/filters/ui/_base.mjs +12 -35
- package/plugins/filters/ui/input.js +7 -52
- package/plugins/filters/ui/input.mjs +7 -34
- package/plugins/filters/ui/link.js +3 -43
- package/plugins/filters/ui/link.mjs +3 -25
- package/plugins/filters/ui/multipleSelect.js +26 -120
- package/plugins/filters/ui/multipleSelect.mjs +20 -76
- package/plugins/filters/ui/radioInput.js +6 -47
- package/plugins/filters/ui/radioInput.mjs +6 -30
- package/plugins/filters/ui/select.js +14 -76
- package/plugins/filters/ui/select.mjs +14 -52
- package/plugins/filters/utils.js +6 -39
- package/plugins/filters/utils.mjs +6 -23
- package/plugins/formulas/engine/register.js +24 -74
- package/plugins/formulas/engine/register.mjs +29 -51
- package/plugins/formulas/engine/settings.js +4 -24
- package/plugins/formulas/engine/settings.mjs +4 -12
- package/plugins/formulas/formulas.js +103 -295
- package/plugins/formulas/formulas.mjs +104 -248
- package/plugins/formulas/index.js +0 -2
- package/plugins/formulas/utils.js +1 -3
- package/plugins/formulas/utils.mjs +1 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +4 -38
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +8 -25
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +21 -29
- package/plugins/hiddenColumns/hiddenColumns.js +72 -149
- package/plugins/hiddenColumns/hiddenColumns.mjs +72 -108
- package/plugins/hiddenColumns/index.js +0 -2
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +4 -38
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +8 -25
- package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +21 -29
- package/plugins/hiddenRows/hiddenRows.js +70 -148
- package/plugins/hiddenRows/hiddenRows.mjs +70 -107
- package/plugins/hiddenRows/index.js +0 -2
- package/plugins/index.js +0 -71
- package/plugins/index.mjs +3 -5
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/index.js +0 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +21 -78
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +21 -54
- package/plugins/manualColumnMove/index.js +0 -2
- package/plugins/manualColumnMove/manualColumnMove.js +45 -134
- package/plugins/manualColumnMove/manualColumnMove.mjs +45 -106
- package/plugins/manualColumnMove/ui/_base.js +12 -30
- package/plugins/manualColumnMove/ui/_base.mjs +12 -27
- package/plugins/manualColumnMove/ui/backlight.js +1 -37
- package/plugins/manualColumnMove/ui/backlight.mjs +1 -22
- package/plugins/manualColumnMove/ui/guideline.js +1 -37
- package/plugins/manualColumnMove/ui/guideline.mjs +1 -22
- package/plugins/manualColumnResize/index.js +0 -2
- package/plugins/manualColumnResize/manualColumnResize.js +44 -143
- package/plugins/manualColumnResize/manualColumnResize.mjs +43 -118
- package/plugins/manualRowMove/index.js +0 -2
- package/plugins/manualRowMove/manualRowMove.js +45 -137
- package/plugins/manualRowMove/manualRowMove.mjs +45 -109
- package/plugins/manualRowMove/ui/_base.js +12 -27
- package/plugins/manualRowMove/ui/_base.mjs +12 -26
- package/plugins/manualRowMove/ui/backlight.js +1 -37
- package/plugins/manualRowMove/ui/backlight.mjs +1 -22
- package/plugins/manualRowMove/ui/guideline.js +1 -37
- package/plugins/manualRowMove/ui/guideline.mjs +1 -22
- package/plugins/manualRowResize/index.js +0 -2
- package/plugins/manualRowResize/manualRowResize.js +42 -138
- package/plugins/manualRowResize/manualRowResize.mjs +41 -112
- package/plugins/mergeCells/calculations/autofill.js +39 -130
- package/plugins/mergeCells/calculations/autofill.mjs +44 -122
- package/plugins/mergeCells/calculations/selection.js +9 -40
- package/plugins/mergeCells/calculations/selection.mjs +9 -37
- package/plugins/mergeCells/cellCoords.js +30 -51
- package/plugins/mergeCells/cellCoords.mjs +35 -54
- package/plugins/mergeCells/cellsCollection.js +13 -84
- package/plugins/mergeCells/cellsCollection.mjs +18 -69
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +4 -11
- package/plugins/mergeCells/index.js +0 -2
- package/plugins/mergeCells/mergeCells.js +130 -333
- package/plugins/mergeCells/mergeCells.mjs +130 -292
- package/plugins/mergeCells/utils.js +0 -3
- package/plugins/mergeCells/utils.mjs +0 -1
- package/plugins/multiColumnSorting/domHelpers.js +2 -12
- package/plugins/multiColumnSorting/domHelpers.mjs +2 -5
- package/plugins/multiColumnSorting/index.js +0 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +14 -66
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +14 -44
- package/plugins/multiColumnSorting/rootComparator.js +2 -26
- package/plugins/multiColumnSorting/rootComparator.mjs +9 -23
- package/plugins/multiColumnSorting/utils.js +0 -7
- package/plugins/multiColumnSorting/utils.mjs +3 -8
- package/plugins/multipleSelectionHandles/index.js +0 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +6 -109
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +6 -87
- package/plugins/nestedHeaders/index.js +0 -2
- package/plugins/nestedHeaders/nestedHeaders.js +79 -200
- package/plugins/nestedHeaders/nestedHeaders.mjs +80 -173
- package/plugins/nestedHeaders/stateManager/headersTree.js +16 -93
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +16 -73
- package/plugins/nestedHeaders/stateManager/index.js +24 -107
- package/plugins/nestedHeaders/stateManager/index.mjs +51 -115
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +38 -51
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +29 -35
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +26 -32
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +9 -20
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -5
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +9 -21
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +44 -61
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +16 -78
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +21 -68
- package/plugins/nestedHeaders/stateManager/utils.js +19 -22
- package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
- package/plugins/nestedHeaders/utils/ghostTable.js +9 -37
- package/plugins/nestedHeaders/utils/ghostTable.mjs +16 -43
- package/plugins/nestedRows/data/dataManager.js +40 -161
- package/plugins/nestedRows/data/dataManager.mjs +44 -148
- package/plugins/nestedRows/index.js +0 -2
- package/plugins/nestedRows/nestedRows.js +40 -118
- package/plugins/nestedRows/nestedRows.mjs +40 -85
- package/plugins/nestedRows/ui/_base.js +1 -9
- package/plugins/nestedRows/ui/_base.mjs +1 -8
- package/plugins/nestedRows/ui/collapsing.js +28 -134
- package/plugins/nestedRows/ui/collapsing.mjs +34 -118
- package/plugins/nestedRows/ui/contextMenu.js +2 -53
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -32
- package/plugins/nestedRows/ui/headers.js +5 -50
- package/plugins/nestedRows/ui/headers.mjs +11 -41
- package/plugins/nestedRows/utils/rowMoveController.js +28 -78
- package/plugins/nestedRows/utils/rowMoveController.mjs +33 -66
- package/plugins/persistentState/index.js +0 -2
- package/plugins/persistentState/persistentState.js +10 -58
- package/plugins/persistentState/persistentState.mjs +10 -37
- package/plugins/persistentState/storage.js +9 -25
- package/plugins/persistentState/storage.mjs +12 -26
- package/plugins/registry.js +7 -51
- package/plugins/registry.mjs +8 -34
- package/plugins/search/index.js +0 -2
- package/plugins/search/search.js +16 -96
- package/plugins/search/search.mjs +16 -67
- package/plugins/touchScroll/index.js +0 -2
- package/plugins/touchScroll/touchScroll.js +15 -76
- package/plugins/touchScroll/touchScroll.mjs +15 -58
- package/plugins/trimRows/index.js +0 -2
- package/plugins/trimRows/trimRows.js +59 -85
- package/plugins/trimRows/trimRows.mjs +59 -62
- package/plugins/undoRedo/index.js +0 -14
- package/plugins/undoRedo/undoRedo.js +48 -218
- package/plugins/undoRedo/undoRedo.mjs +48 -188
- package/registry.js +0 -11
- package/registry.mjs +2 -4
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
- package/renderers/autocompleteRenderer/index.js +0 -2
- package/renderers/baseRenderer/baseRenderer.js +2 -11
- package/renderers/baseRenderer/baseRenderer.mjs +2 -9
- package/renderers/baseRenderer/index.js +0 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
- package/renderers/checkboxRenderer/index.js +0 -2
- package/renderers/htmlRenderer/htmlRenderer.js +1 -7
- package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
- package/renderers/htmlRenderer/index.js +0 -2
- package/renderers/index.js +0 -19
- package/renderers/index.mjs +3 -5
- package/renderers/numericRenderer/index.js +0 -2
- package/renderers/numericRenderer/numericRenderer.js +1 -21
- package/renderers/numericRenderer/numericRenderer.mjs +1 -9
- package/renderers/passwordRenderer/index.js +0 -2
- package/renderers/passwordRenderer/passwordRenderer.js +1 -8
- package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
- package/renderers/registry.js +7 -16
- package/renderers/registry.mjs +7 -14
- package/renderers/textRenderer/index.js +0 -2
- package/renderers/textRenderer/textRenderer.js +1 -13
- package/renderers/textRenderer/textRenderer.mjs +1 -5
- package/renderers/timeRenderer/index.js +0 -2
- package/renderers/timeRenderer/timeRenderer.js +1 -6
- package/renderers/timeRenderer/timeRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +17 -73
- package/selection/highlight/highlight.mjs +31 -64
- package/selection/highlight/types/activeHeader.js +1 -21
- package/selection/highlight/types/activeHeader.mjs +6 -16
- package/selection/highlight/types/area.js +2 -22
- package/selection/highlight/types/area.mjs +10 -20
- package/selection/highlight/types/cell.js +1 -21
- package/selection/highlight/types/cell.mjs +9 -19
- package/selection/highlight/types/customSelection.js +2 -22
- package/selection/highlight/types/customSelection.mjs +11 -21
- package/selection/highlight/types/fill.js +2 -17
- package/selection/highlight/types/fill.mjs +9 -14
- package/selection/highlight/types/header.js +3 -23
- package/selection/highlight/types/header.mjs +13 -23
- package/selection/highlight/types/index.js +3 -24
- package/selection/highlight/types/index.mjs +3 -10
- package/selection/highlight/visualSelection.js +24 -74
- package/selection/highlight/visualSelection.mjs +24 -62
- package/selection/index.js +0 -14
- package/selection/mouseEventHandler.js +19 -30
- package/selection/mouseEventHandler.mjs +32 -36
- package/selection/range.js +11 -31
- package/selection/range.mjs +11 -22
- package/selection/selection.js +62 -157
- package/selection/selection.mjs +65 -132
- package/selection/transformation.js +10 -40
- package/selection/transformation.mjs +18 -45
- package/selection/utils.js +22 -70
- package/selection/utils.mjs +22 -47
- package/shortcuts/context.js +23 -78
- package/shortcuts/context.mjs +23 -55
- package/shortcuts/index.js +0 -2
- package/shortcuts/keyObserver.js +4 -17
- package/shortcuts/keyObserver.mjs +4 -12
- package/shortcuts/manager.js +16 -36
- package/shortcuts/manager.mjs +16 -33
- package/shortcuts/recorder.js +9 -40
- package/shortcuts/recorder.mjs +9 -31
- package/shortcuts/utils.js +5 -20
- package/shortcuts/utils.mjs +5 -6
- package/tableView.js +100 -270
- package/tableView.mjs +100 -248
- package/translations/changesObservable/observable.js +5 -54
- package/translations/changesObservable/observable.mjs +12 -51
- package/translations/changesObservable/observer.js +4 -32
- package/translations/changesObservable/observer.mjs +9 -29
- package/translations/changesObservable/utils.js +1 -5
- package/translations/changesObservable/utils.mjs +1 -4
- package/translations/index.js +0 -11
- package/translations/indexMapper.js +68 -156
- package/translations/indexMapper.mjs +68 -123
- package/translations/mapCollections/aggregatedCollection.js +9 -51
- package/translations/mapCollections/aggregatedCollection.mjs +12 -41
- package/translations/mapCollections/index.js +0 -7
- package/translations/mapCollections/mapCollection.js +10 -33
- package/translations/mapCollections/mapCollection.mjs +10 -22
- package/translations/maps/hidingMap.js +2 -35
- package/translations/maps/hidingMap.mjs +7 -28
- package/translations/maps/index.js +1 -24
- package/translations/maps/index.mjs +1 -3
- package/translations/maps/indexMap.js +12 -34
- package/translations/maps/indexMap.mjs +16 -32
- package/translations/maps/indexesSequence.js +3 -41
- package/translations/maps/indexesSequence.mjs +9 -32
- package/translations/maps/linkedPhysicalIndexToValueMap.js +9 -78
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +16 -59
- package/translations/maps/physicalIndexToValueMap.js +2 -39
- package/translations/maps/physicalIndexToValueMap.mjs +8 -31
- package/translations/maps/trimmingMap.js +2 -35
- package/translations/maps/trimmingMap.mjs +7 -28
- package/translations/maps/utils/actionsOnIndexes.js +1 -7
- package/translations/maps/utils/actionsOnIndexes.mjs +9 -12
- package/translations/maps/utils/index.js +0 -13
- package/translations/maps/utils/index.mjs +0 -3
- package/translations/maps/utils/indexesSequence.js +1 -24
- package/translations/maps/utils/indexesSequence.mjs +10 -19
- package/translations/maps/utils/physicallyIndexed.js +1 -27
- package/translations/maps/utils/physicallyIndexed.mjs +11 -21
- package/utils/dataStructures/linkedList.js +15 -56
- package/utils/dataStructures/linkedList.mjs +15 -54
- package/utils/dataStructures/priorityMap.js +8 -46
- package/utils/dataStructures/priorityMap.mjs +8 -29
- package/utils/dataStructures/queue.js +6 -17
- package/utils/dataStructures/queue.mjs +6 -16
- package/utils/dataStructures/stack.js +6 -17
- package/utils/dataStructures/stack.mjs +6 -16
- package/utils/dataStructures/tree.js +11 -75
- package/utils/dataStructures/tree.mjs +11 -54
- package/utils/dataStructures/uniqueMap.js +17 -56
- package/utils/dataStructures/uniqueMap.mjs +17 -42
- package/utils/dataStructures/uniqueSet.js +5 -32
- package/utils/dataStructures/uniqueSet.mjs +5 -19
- package/utils/ghostTable.js +33 -104
- package/utils/ghostTable.mjs +35 -92
- package/utils/interval.js +10 -37
- package/utils/interval.mjs +7 -29
- package/utils/parseTable.js +11 -92
- package/utils/parseTable.mjs +11 -62
- package/utils/rootInstance.js +3 -14
- package/utils/rootInstance.mjs +3 -3
- package/utils/samplesGenerator.js +15 -51
- package/utils/samplesGenerator.mjs +17 -44
- package/utils/staticRegister.js +6 -33
- package/utils/staticRegister.mjs +6 -19
- package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
- package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
- package/validators/autocompleteValidator/index.js +0 -2
- package/validators/dateValidator/dateValidator.js +2 -21
- package/validators/dateValidator/dateValidator.mjs +2 -11
- package/validators/dateValidator/index.js +0 -2
- package/validators/index.js +0 -11
- package/validators/index.mjs +3 -5
- package/validators/numericValidator/index.js +0 -2
- package/validators/numericValidator/numericValidator.js +1 -7
- package/validators/numericValidator/numericValidator.mjs +1 -3
- package/validators/registry.js +7 -16
- package/validators/registry.mjs +7 -14
- package/validators/timeValidator/index.js +0 -2
- package/validators/timeValidator/timeValidator.js +6 -18
- package/validators/timeValidator/timeValidator.mjs +8 -13
@@ -1,9 +1,6 @@
|
|
1
1
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
2
|
-
|
3
2
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
4
|
-
|
5
3
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
6
|
-
|
7
4
|
import "core-js/modules/es.function.name.js";
|
8
5
|
import "core-js/modules/web.timers.js";
|
9
6
|
import "core-js/modules/es.object.keys.js";
|
@@ -18,13 +15,9 @@ import "core-js/modules/es.array.filter.js";
|
|
18
15
|
import "core-js/modules/es.object.get-own-property-descriptor.js";
|
19
16
|
import "core-js/modules/web.dom-collections.for-each.js";
|
20
17
|
import "core-js/modules/es.object.get-own-property-descriptors.js";
|
21
|
-
|
22
18
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
23
|
-
|
24
19
|
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); } }
|
25
|
-
|
26
20
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
27
|
-
|
28
21
|
import Cursor from "./cursor.mjs";
|
29
22
|
import { SEPARATOR, NO_ITEMS, predefinedItems } from "./predefinedItems.mjs";
|
30
23
|
import { filterSeparators, hasSubMenu, isDisabled, isItemHidden, isSeparator, isSelectionDisabled, normalizeSelection } from "./utils.mjs";
|
@@ -41,6 +34,7 @@ import localHooks from "../../mixins/localHooks.mjs";
|
|
41
34
|
var MIN_WIDTH = 215;
|
42
35
|
var SHORTCUTS_CONTEXT = 'menu';
|
43
36
|
var SHORTCUTS_GROUP = SHORTCUTS_CONTEXT;
|
37
|
+
|
44
38
|
/**
|
45
39
|
* @typedef MenuOptions
|
46
40
|
* @property {Menu} [parent=null] Instance of {@link Menu}.
|
@@ -56,7 +50,6 @@ var SHORTCUTS_GROUP = SHORTCUTS_CONTEXT;
|
|
56
50
|
* @private
|
57
51
|
* @class Menu
|
58
52
|
*/
|
59
|
-
|
60
53
|
var Menu = /*#__PURE__*/function () {
|
61
54
|
/**
|
62
55
|
* @param {Core} hotInstance Handsontable instance.
|
@@ -64,7 +57,6 @@ var Menu = /*#__PURE__*/function () {
|
|
64
57
|
*/
|
65
58
|
function Menu(hotInstance, options) {
|
66
59
|
_classCallCheck(this, Menu);
|
67
|
-
|
68
60
|
this.hot = hotInstance;
|
69
61
|
this.options = options || {
|
70
62
|
parent: null,
|
@@ -92,20 +84,17 @@ var Menu = /*#__PURE__*/function () {
|
|
92
84
|
this._afterScrollCallback = null;
|
93
85
|
this.registerEvents();
|
94
86
|
}
|
87
|
+
|
95
88
|
/**
|
96
89
|
* Register event listeners.
|
97
90
|
*
|
98
91
|
* @private
|
99
92
|
*/
|
100
|
-
|
101
|
-
|
102
93
|
_createClass(Menu, [{
|
103
94
|
key: "registerEvents",
|
104
95
|
value: function registerEvents() {
|
105
96
|
var _this = this;
|
106
|
-
|
107
97
|
var frame = this.hot.rootWindow;
|
108
|
-
|
109
98
|
while (frame) {
|
110
99
|
this.eventManager.addEventListener(frame.document, 'mousedown', function (event) {
|
111
100
|
return _this.onDocumentMouseDown(event);
|
@@ -116,75 +105,74 @@ var Menu = /*#__PURE__*/function () {
|
|
116
105
|
frame = getParentWindow(frame);
|
117
106
|
}
|
118
107
|
}
|
108
|
+
|
119
109
|
/**
|
120
110
|
* Set array of objects which defines menu items.
|
121
111
|
*
|
122
112
|
* @param {Array} menuItems Menu items to display.
|
123
113
|
*/
|
124
|
-
|
125
114
|
}, {
|
126
115
|
key: "setMenuItems",
|
127
116
|
value: function setMenuItems(menuItems) {
|
128
117
|
this.menuItems = menuItems;
|
129
118
|
}
|
119
|
+
|
130
120
|
/**
|
131
121
|
* Returns currently selected menu item. Returns `null` if no item was selected.
|
132
122
|
*
|
133
123
|
* @returns {object|null}
|
134
124
|
*/
|
135
|
-
|
136
125
|
}, {
|
137
126
|
key: "getSelectedItem",
|
138
127
|
value: function getSelectedItem() {
|
139
128
|
return this.hasSelectedItem() ? this.hotMenu.getSourceDataAtRow(this.hotMenu.getSelectedLast()[0]) : null;
|
140
129
|
}
|
130
|
+
|
141
131
|
/**
|
142
132
|
* Checks if the menu has selected (highlighted) any item from the menu list.
|
143
133
|
*
|
144
134
|
* @returns {boolean}
|
145
135
|
*/
|
146
|
-
|
147
136
|
}, {
|
148
137
|
key: "hasSelectedItem",
|
149
138
|
value: function hasSelectedItem() {
|
150
139
|
return Array.isArray(this.hotMenu.getSelectedLast());
|
151
140
|
}
|
141
|
+
|
152
142
|
/**
|
153
143
|
* Set offset menu position for specified area (`above`, `below`, `left` or `right`).
|
154
144
|
*
|
155
145
|
* @param {string} area Specified area name (`above`, `below`, `left` or `right`).
|
156
146
|
* @param {number} offset Offset value.
|
157
147
|
*/
|
158
|
-
|
159
148
|
}, {
|
160
149
|
key: "setOffset",
|
161
150
|
value: function setOffset(area) {
|
162
151
|
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
163
152
|
this.offset[area] = offset;
|
164
153
|
}
|
154
|
+
|
165
155
|
/**
|
166
156
|
* Check if menu is using as sub-menu.
|
167
157
|
*
|
168
158
|
* @returns {boolean}
|
169
159
|
*/
|
170
|
-
|
171
160
|
}, {
|
172
161
|
key: "isSubMenu",
|
173
162
|
value: function isSubMenu() {
|
174
163
|
return this.parentMenu !== null;
|
175
164
|
}
|
165
|
+
|
176
166
|
/**
|
177
167
|
* Open menu.
|
178
168
|
*
|
179
169
|
* @fires Hooks#beforeContextMenuShow
|
180
170
|
* @fires Hooks#afterContextMenuShow
|
181
171
|
*/
|
182
|
-
|
183
172
|
}, {
|
184
173
|
key: "open",
|
185
174
|
value: function open() {
|
186
175
|
var _this2 = this;
|
187
|
-
|
188
176
|
this.runLocalHooks('beforeOpen');
|
189
177
|
this.container.removeAttribute('style');
|
190
178
|
this.container.style.display = 'block';
|
@@ -197,16 +185,13 @@ var Menu = /*#__PURE__*/function () {
|
|
197
185
|
if (item.key === NO_ITEMS) {
|
198
186
|
noItemsDefined = true;
|
199
187
|
}
|
200
|
-
|
201
188
|
return isItemHidden(item, _this2.hot);
|
202
189
|
});
|
203
|
-
|
204
190
|
if (filteredItems.length < 1 && !noItemsDefined) {
|
205
191
|
filteredItems.push(predefinedItems()[NO_ITEMS]);
|
206
192
|
} else if (filteredItems.length === 0) {
|
207
193
|
return;
|
208
194
|
}
|
209
|
-
|
210
195
|
filteredItems = filterSeparators(filteredItems, SEPARATOR);
|
211
196
|
var shouldAutoCloseMenu = false;
|
212
197
|
var settings = {
|
@@ -218,7 +203,6 @@ var Menu = /*#__PURE__*/function () {
|
|
218
203
|
if (isDefined(width) && width < minWidthOfMenu) {
|
219
204
|
return minWidthOfMenu;
|
220
205
|
}
|
221
|
-
|
222
206
|
return width;
|
223
207
|
},
|
224
208
|
autoRowSize: false,
|
@@ -248,9 +232,10 @@ var Menu = /*#__PURE__*/function () {
|
|
248
232
|
return filteredItems[row].name === SEPARATOR ? 1 : 23;
|
249
233
|
},
|
250
234
|
afterOnCellContextMenu: function afterOnCellContextMenu(event) {
|
251
|
-
event.preventDefault();
|
252
|
-
// why the closing menu is here. (#6507#issuecomment-582392301).
|
235
|
+
event.preventDefault();
|
253
236
|
|
237
|
+
// On the Windows platform, the "contextmenu" is triggered after the "mouseup" so that's
|
238
|
+
// why the closing menu is here. (#6507#issuecomment-582392301).
|
254
239
|
if (isWindowsOS() && shouldAutoCloseMenu && _this2.hasSelectedItem()) {
|
255
240
|
_this2.close(true);
|
256
241
|
}
|
@@ -258,7 +243,6 @@ var Menu = /*#__PURE__*/function () {
|
|
258
243
|
beforeOnCellMouseUp: function beforeOnCellMouseUp(event) {
|
259
244
|
if (_this2.hasSelectedItem()) {
|
260
245
|
shouldAutoCloseMenu = !_this2.isCommandPassive(_this2.getSelectedItem());
|
261
|
-
|
262
246
|
_this2.executeCommand(event);
|
263
247
|
}
|
264
248
|
},
|
@@ -305,152 +289,123 @@ var Menu = /*#__PURE__*/function () {
|
|
305
289
|
var config = {
|
306
290
|
group: SHORTCUTS_CONTEXT
|
307
291
|
};
|
308
|
-
|
309
292
|
var menuContextConfig = _objectSpread(_objectSpread({}, config), {}, {
|
310
293
|
runOnlyIf: function runOnlyIf(event) {
|
311
294
|
return isInput(event.target) === false || _this2.container.contains(event.target) === false;
|
312
295
|
}
|
313
|
-
});
|
314
|
-
|
296
|
+
});
|
315
297
|
|
298
|
+
// Default shortcuts for Handsontable should not be handled. Changing context will help with that.
|
316
299
|
shortcutManager.setActiveContextName('menu');
|
317
300
|
menuContext.addShortcuts([{
|
318
301
|
keys: [['Escape']],
|
319
302
|
callback: function callback() {
|
320
303
|
_this2.keyEvent = true;
|
321
|
-
|
322
304
|
_this2.close();
|
323
|
-
|
324
305
|
_this2.keyEvent = false;
|
325
306
|
}
|
326
307
|
}, {
|
327
308
|
keys: [['ArrowDown']],
|
328
309
|
callback: function callback() {
|
329
310
|
var selection = _this2.hotMenu.getSelectedLast();
|
330
|
-
|
331
311
|
_this2.keyEvent = true;
|
332
|
-
|
333
312
|
if (selection) {
|
334
313
|
_this2.selectNextCell(selection[0], selection[1]);
|
335
314
|
} else {
|
336
315
|
_this2.selectFirstCell();
|
337
316
|
}
|
338
|
-
|
339
317
|
_this2.keyEvent = false;
|
340
318
|
}
|
341
319
|
}, {
|
342
320
|
keys: [['ArrowUp']],
|
343
321
|
callback: function callback() {
|
344
322
|
var selection = _this2.hotMenu.getSelectedLast();
|
345
|
-
|
346
323
|
_this2.keyEvent = true;
|
347
|
-
|
348
324
|
if (selection) {
|
349
325
|
_this2.selectPrevCell(selection[0], selection[1]);
|
350
326
|
} else {
|
351
327
|
_this2.selectLastCell();
|
352
328
|
}
|
353
|
-
|
354
329
|
_this2.keyEvent = false;
|
355
330
|
}
|
356
331
|
}, {
|
357
332
|
keys: [['ArrowRight']],
|
358
333
|
callback: function callback() {
|
359
334
|
var selection = _this2.hotMenu.getSelectedLast();
|
360
|
-
|
361
335
|
_this2.keyEvent = true;
|
362
|
-
|
363
336
|
if (selection) {
|
364
337
|
var menu = _this2.openSubMenu(selection[0]);
|
365
|
-
|
366
338
|
if (menu) {
|
367
339
|
menu.selectFirstCell();
|
368
340
|
}
|
369
341
|
}
|
370
|
-
|
371
342
|
_this2.keyEvent = false;
|
372
343
|
}
|
373
344
|
}, {
|
374
345
|
keys: [['ArrowLeft']],
|
375
346
|
callback: function callback() {
|
376
347
|
var selection = _this2.hotMenu.getSelectedLast();
|
377
|
-
|
378
348
|
_this2.keyEvent = true;
|
379
|
-
|
380
349
|
if (selection && _this2.isSubMenu()) {
|
381
350
|
_this2.close();
|
382
|
-
|
383
351
|
if (_this2.parentMenu) {
|
384
352
|
_this2.parentMenu.hotMenu.listen();
|
385
353
|
}
|
386
354
|
}
|
387
|
-
|
388
355
|
_this2.keyEvent = false;
|
389
356
|
}
|
390
357
|
}, {
|
391
358
|
keys: [['Enter']],
|
392
359
|
callback: function callback(event) {
|
393
360
|
var selection = _this2.hotMenu.getSelectedLast();
|
394
|
-
|
395
361
|
_this2.keyEvent = true;
|
396
|
-
|
397
362
|
if (!_this2.hotMenu.getSourceDataAtRow(selection[0]).submenu) {
|
398
363
|
_this2.executeCommand(event);
|
399
|
-
|
400
364
|
_this2.close(true);
|
401
365
|
}
|
402
|
-
|
403
366
|
_this2.keyEvent = false;
|
404
367
|
}
|
405
368
|
}, {
|
406
369
|
keys: [['PageUp']],
|
407
370
|
callback: function callback() {
|
408
371
|
var selection = _this2.hotMenu.getSelectedLast();
|
409
|
-
|
410
372
|
_this2.keyEvent = true;
|
411
|
-
|
412
373
|
if (selection) {
|
413
374
|
_this2.hotMenu.selection.transformStart(-_this2.hotMenu.countVisibleRows(), 0);
|
414
375
|
} else {
|
415
376
|
_this2.selectFirstCell();
|
416
377
|
}
|
417
|
-
|
418
378
|
_this2.keyEvent = false;
|
419
379
|
}
|
420
380
|
}, {
|
421
381
|
keys: [['PageDown']],
|
422
382
|
callback: function callback() {
|
423
383
|
var selection = _this2.hotMenu.getSelectedLast();
|
424
|
-
|
425
384
|
_this2.keyEvent = true;
|
426
|
-
|
427
385
|
if (selection) {
|
428
386
|
_this2.hotMenu.selection.transformStart(_this2.hotMenu.countVisibleRows(), 0);
|
429
387
|
} else {
|
430
388
|
_this2.selectLastCell();
|
431
389
|
}
|
432
|
-
|
433
390
|
_this2.keyEvent = false;
|
434
391
|
}
|
435
392
|
}], menuContextConfig);
|
436
393
|
this.blockMainTableCallbacks();
|
437
394
|
this.runLocalHooks('afterOpen');
|
438
395
|
}
|
396
|
+
|
439
397
|
/**
|
440
398
|
* Close menu.
|
441
399
|
*
|
442
400
|
* @param {boolean} [closeParent=false] If `true` try to close parent menu if exists.
|
443
401
|
*/
|
444
|
-
|
445
402
|
}, {
|
446
403
|
key: "close",
|
447
404
|
value: function close() {
|
448
405
|
var closeParent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
449
|
-
|
450
406
|
if (!this.isOpened()) {
|
451
407
|
return;
|
452
408
|
}
|
453
|
-
|
454
409
|
if (closeParent && this.parentMenu) {
|
455
410
|
this.parentMenu.close();
|
456
411
|
} else {
|
@@ -461,33 +416,29 @@ var Menu = /*#__PURE__*/function () {
|
|
461
416
|
this.hotMenu = null;
|
462
417
|
this.hot.getSettings().outsideClickDeselects = this.origOutsideClickDeselects;
|
463
418
|
this.runLocalHooks('afterClose');
|
464
|
-
|
465
419
|
if (this.parentMenu) {
|
466
420
|
this.parentMenu.hotMenu.listen();
|
467
421
|
}
|
468
422
|
}
|
469
423
|
}
|
424
|
+
|
470
425
|
/**
|
471
426
|
* Open sub menu at the provided row index.
|
472
427
|
*
|
473
428
|
* @param {number} row Row index.
|
474
429
|
* @returns {Menu|boolean} Returns created menu or `false` if no one menu was created.
|
475
430
|
*/
|
476
|
-
|
477
431
|
}, {
|
478
432
|
key: "openSubMenu",
|
479
433
|
value: function openSubMenu(row) {
|
480
434
|
if (!this.hotMenu) {
|
481
435
|
return false;
|
482
436
|
}
|
483
|
-
|
484
437
|
var cell = this.hotMenu.getCell(row, 0);
|
485
438
|
this.closeAllSubMenus();
|
486
|
-
|
487
439
|
if (!cell || !hasSubMenu(cell)) {
|
488
440
|
return false;
|
489
441
|
}
|
490
|
-
|
491
442
|
var dataItem = this.hotMenu.getSourceDataAtRow(row);
|
492
443
|
var subMenu = new Menu(this.hot, {
|
493
444
|
parent: this,
|
@@ -502,51 +453,49 @@ var Menu = /*#__PURE__*/function () {
|
|
502
453
|
this.hotSubMenus[dataItem.key] = subMenu;
|
503
454
|
return subMenu;
|
504
455
|
}
|
456
|
+
|
505
457
|
/**
|
506
458
|
* Close sub menu at row index.
|
507
459
|
*
|
508
460
|
* @param {number} row Row index.
|
509
461
|
*/
|
510
|
-
|
511
462
|
}, {
|
512
463
|
key: "closeSubMenu",
|
513
464
|
value: function closeSubMenu(row) {
|
514
465
|
var dataItem = this.hotMenu.getSourceDataAtRow(row);
|
515
466
|
var menus = this.hotSubMenus[dataItem.key];
|
516
|
-
|
517
467
|
if (menus) {
|
518
468
|
menus.destroy();
|
519
469
|
delete this.hotSubMenus[dataItem.key];
|
520
470
|
}
|
521
471
|
}
|
472
|
+
|
522
473
|
/**
|
523
474
|
* Close all opened sub menus.
|
524
475
|
*/
|
525
|
-
|
526
476
|
}, {
|
527
477
|
key: "closeAllSubMenus",
|
528
478
|
value: function closeAllSubMenus() {
|
529
479
|
var _this3 = this;
|
530
|
-
|
531
480
|
arrayEach(this.hotMenu.getData(), function (value, row) {
|
532
481
|
return _this3.closeSubMenu(row);
|
533
482
|
});
|
534
483
|
}
|
484
|
+
|
535
485
|
/**
|
536
486
|
* Checks if all created and opened sub menus are closed.
|
537
487
|
*
|
538
488
|
* @returns {boolean}
|
539
489
|
*/
|
540
|
-
|
541
490
|
}, {
|
542
491
|
key: "isAllSubMenusClosed",
|
543
492
|
value: function isAllSubMenusClosed() {
|
544
493
|
return Object.keys(this.hotSubMenus).length === 0;
|
545
494
|
}
|
495
|
+
|
546
496
|
/**
|
547
497
|
* Destroy instance.
|
548
498
|
*/
|
549
|
-
|
550
499
|
}, {
|
551
500
|
key: "destroy",
|
552
501
|
value: function destroy() {
|
@@ -555,22 +504,22 @@ var Menu = /*#__PURE__*/function () {
|
|
555
504
|
this.close();
|
556
505
|
this.parentMenu = null;
|
557
506
|
this.eventManager.destroy();
|
558
|
-
|
559
507
|
if (menuContainerParentElement) {
|
560
508
|
menuContainerParentElement.removeChild(this.container);
|
561
509
|
}
|
562
510
|
}
|
511
|
+
|
563
512
|
/**
|
564
513
|
* Checks if menu was opened.
|
565
514
|
*
|
566
515
|
* @returns {boolean} Returns `true` if menu was opened.
|
567
516
|
*/
|
568
|
-
|
569
517
|
}, {
|
570
518
|
key: "isOpened",
|
571
519
|
value: function isOpened() {
|
572
520
|
return this.hotMenu !== null;
|
573
521
|
}
|
522
|
+
|
574
523
|
/**
|
575
524
|
* Execute menu command.
|
576
525
|
*
|
@@ -580,29 +529,25 @@ var Menu = /*#__PURE__*/function () {
|
|
580
529
|
*
|
581
530
|
* @param {Event} [event] The mouse event object.
|
582
531
|
*/
|
583
|
-
|
584
532
|
}, {
|
585
533
|
key: "executeCommand",
|
586
534
|
value: function executeCommand(event) {
|
587
535
|
if (!this.isOpened() || !this.hasSelectedItem()) {
|
588
536
|
return;
|
589
537
|
}
|
590
|
-
|
591
538
|
var selectedItem = this.getSelectedItem();
|
592
539
|
this.runLocalHooks('select', selectedItem, event);
|
593
|
-
|
594
540
|
if (this.isCommandPassive(selectedItem)) {
|
595
541
|
return;
|
596
542
|
}
|
597
|
-
|
598
543
|
var selRanges = this.hot.getSelectedRange();
|
599
544
|
var normalizedSelection = selRanges ? normalizeSelection(selRanges) : [];
|
600
545
|
this.runLocalHooks('executeCommand', selectedItem.key, normalizedSelection, event);
|
601
|
-
|
602
546
|
if (this.isSubMenu()) {
|
603
547
|
this.parentMenu.runLocalHooks('executeCommand', selectedItem.key, normalizedSelection, event);
|
604
548
|
}
|
605
549
|
}
|
550
|
+
|
606
551
|
/**
|
607
552
|
* Checks if the passed command is passive or not. The command is passive when it's marked as
|
608
553
|
* disabled, the descriptor object contains `isCommand` property set to `false`, command
|
@@ -612,28 +557,26 @@ var Menu = /*#__PURE__*/function () {
|
|
612
557
|
* @param {object} commandDescriptor Selected menu item from the menu data source.
|
613
558
|
* @returns {boolean}
|
614
559
|
*/
|
615
|
-
|
616
560
|
}, {
|
617
561
|
key: "isCommandPassive",
|
618
562
|
value: function isCommandPassive(commandDescriptor) {
|
619
563
|
var isCommand = commandDescriptor.isCommand,
|
620
|
-
|
621
|
-
|
622
|
-
|
564
|
+
commandName = commandDescriptor.name,
|
565
|
+
disabled = commandDescriptor.disabled,
|
566
|
+
submenu = commandDescriptor.submenu;
|
623
567
|
var isItemDisabled = disabled === true || typeof disabled === 'function' && disabled.call(this.hot) === true;
|
624
568
|
return isCommand === false || commandName === SEPARATOR || isItemDisabled === true || submenu;
|
625
569
|
}
|
570
|
+
|
626
571
|
/**
|
627
572
|
* Set menu position based on dom event or based on literal object.
|
628
573
|
*
|
629
574
|
* @param {Event|object} coords Event or literal Object with coordinates.
|
630
575
|
*/
|
631
|
-
|
632
576
|
}, {
|
633
577
|
key: "setPosition",
|
634
578
|
value: function setPosition(coords) {
|
635
579
|
var cursor = new Cursor(coords, this.container.ownerDocument.defaultView);
|
636
|
-
|
637
580
|
if (this.options.keepInViewport) {
|
638
581
|
if (cursor.fitsBelow(this.container)) {
|
639
582
|
this.setPositionBelowCursor(cursor);
|
@@ -642,7 +585,6 @@ var Menu = /*#__PURE__*/function () {
|
|
642
585
|
} else {
|
643
586
|
this.setPositionBelowCursor(cursor);
|
644
587
|
}
|
645
|
-
|
646
588
|
if (this.hot.isLtr()) {
|
647
589
|
this.setHorizontalPositionForLtr(cursor);
|
648
590
|
} else {
|
@@ -653,12 +595,12 @@ var Menu = /*#__PURE__*/function () {
|
|
653
595
|
this.setPositionOnRightOfCursor(cursor);
|
654
596
|
}
|
655
597
|
}
|
598
|
+
|
656
599
|
/**
|
657
600
|
* Set menu horizontal position for RTL mode.
|
658
601
|
*
|
659
602
|
* @param {Cursor} cursor `Cursor` object.
|
660
603
|
*/
|
661
|
-
|
662
604
|
}, {
|
663
605
|
key: "setHorizontalPositionForRtl",
|
664
606
|
value: function setHorizontalPositionForRtl(cursor) {
|
@@ -668,12 +610,12 @@ var Menu = /*#__PURE__*/function () {
|
|
668
610
|
this.setPositionOnRightOfCursor(cursor);
|
669
611
|
}
|
670
612
|
}
|
613
|
+
|
671
614
|
/**
|
672
615
|
* Set menu horizontal position for LTR mode.
|
673
616
|
*
|
674
617
|
* @param {Cursor} cursor `Cursor` object.
|
675
618
|
*/
|
676
|
-
|
677
619
|
}, {
|
678
620
|
key: "setHorizontalPositionForLtr",
|
679
621
|
value: function setHorizontalPositionForLtr(cursor) {
|
@@ -683,164 +625,151 @@ var Menu = /*#__PURE__*/function () {
|
|
683
625
|
this.setPositionOnLeftOfCursor(cursor);
|
684
626
|
}
|
685
627
|
}
|
628
|
+
|
686
629
|
/**
|
687
630
|
* Set menu position above cursor object.
|
688
631
|
*
|
689
632
|
* @param {Cursor} cursor `Cursor` object.
|
690
633
|
*/
|
691
|
-
|
692
634
|
}, {
|
693
635
|
key: "setPositionAboveCursor",
|
694
636
|
value: function setPositionAboveCursor(cursor) {
|
695
637
|
var top = this.offset.above + cursor.top - this.container.offsetHeight;
|
696
|
-
|
697
638
|
if (this.isSubMenu()) {
|
698
639
|
top = cursor.top + cursor.cellHeight - this.container.offsetHeight + 3;
|
699
640
|
}
|
700
|
-
|
701
641
|
this.container.style.top = "".concat(top, "px");
|
702
642
|
}
|
643
|
+
|
703
644
|
/**
|
704
645
|
* Set menu position below cursor object.
|
705
646
|
*
|
706
647
|
* @param {Cursor} cursor `Cursor` object.
|
707
648
|
*/
|
708
|
-
|
709
649
|
}, {
|
710
650
|
key: "setPositionBelowCursor",
|
711
651
|
value: function setPositionBelowCursor(cursor) {
|
712
652
|
var top = this.offset.below + cursor.top + 1;
|
713
|
-
|
714
653
|
if (this.isSubMenu()) {
|
715
654
|
top = cursor.top - 1;
|
716
655
|
}
|
717
|
-
|
718
656
|
this.container.style.top = "".concat(top, "px");
|
719
657
|
}
|
658
|
+
|
720
659
|
/**
|
721
660
|
* Set menu position on the right of cursor object.
|
722
661
|
*
|
723
662
|
* @param {Cursor} cursor `Cursor` object.
|
724
663
|
*/
|
725
|
-
|
726
664
|
}, {
|
727
665
|
key: "setPositionOnRightOfCursor",
|
728
666
|
value: function setPositionOnRightOfCursor(cursor) {
|
729
667
|
var left = cursor.left;
|
730
|
-
|
731
668
|
if (this.isSubMenu()) {
|
732
669
|
var _this$parentMenu$cont = this.parentMenu.container.getBoundingClientRect(),
|
733
|
-
|
734
|
-
|
670
|
+
parentMenuRight = _this$parentMenu$cont.right;
|
735
671
|
|
672
|
+
// move the sub menu by the width of the parent's border (usually by 1-2 pixels)
|
736
673
|
left += cursor.cellWidth + parentMenuRight - (cursor.left + cursor.cellWidth);
|
737
674
|
} else {
|
738
675
|
left += this.offset.right;
|
739
676
|
}
|
740
|
-
|
741
677
|
this.container.style.left = "".concat(left, "px");
|
742
678
|
}
|
679
|
+
|
743
680
|
/**
|
744
681
|
* Set menu position on the left of cursor object.
|
745
682
|
*
|
746
683
|
* @param {Cursor} cursor `Cursor` object.
|
747
684
|
*/
|
748
|
-
|
749
685
|
}, {
|
750
686
|
key: "setPositionOnLeftOfCursor",
|
751
687
|
value: function setPositionOnLeftOfCursor(cursor) {
|
752
688
|
var left = this.offset.left + cursor.left - this.container.offsetWidth;
|
753
|
-
|
754
689
|
if (this.isSubMenu()) {
|
755
690
|
var _this$parentMenu$cont2 = this.parentMenu.container.getBoundingClientRect(),
|
756
|
-
|
757
|
-
|
691
|
+
parentMenuLeft = _this$parentMenu$cont2.left;
|
758
692
|
|
693
|
+
// move the sub menu by the width of the parent's border (usually by 1-2 pixels)
|
759
694
|
left -= cursor.left - parentMenuLeft;
|
760
695
|
}
|
761
|
-
|
762
696
|
this.container.style.left = "".concat(left, "px");
|
763
697
|
}
|
698
|
+
|
764
699
|
/**
|
765
700
|
* Select first cell in opened menu.
|
766
701
|
*/
|
767
|
-
|
768
702
|
}, {
|
769
703
|
key: "selectFirstCell",
|
770
704
|
value: function selectFirstCell() {
|
771
705
|
var cell = this.hotMenu.getCell(0, 0);
|
772
|
-
|
773
706
|
if (isSeparator(cell) || isDisabled(cell) || isSelectionDisabled(cell)) {
|
774
707
|
this.selectNextCell(0, 0);
|
775
708
|
} else {
|
776
709
|
this.hotMenu.selectCell(0, 0);
|
777
710
|
}
|
778
711
|
}
|
712
|
+
|
779
713
|
/**
|
780
714
|
* Select last cell in opened menu.
|
781
715
|
*/
|
782
|
-
|
783
716
|
}, {
|
784
717
|
key: "selectLastCell",
|
785
718
|
value: function selectLastCell() {
|
786
719
|
var lastRow = this.hotMenu.countRows() - 1;
|
787
720
|
var cell = this.hotMenu.getCell(lastRow, 0);
|
788
|
-
|
789
721
|
if (isSeparator(cell) || isDisabled(cell) || isSelectionDisabled(cell)) {
|
790
722
|
this.selectPrevCell(lastRow, 0);
|
791
723
|
} else {
|
792
724
|
// disable default "scroll-to-cell" option and instead of that...
|
793
|
-
this.hotMenu.selectCell(lastRow, 0, undefined, undefined, false);
|
794
|
-
|
725
|
+
this.hotMenu.selectCell(lastRow, 0, undefined, undefined, false);
|
726
|
+
// ...scroll to the cell with "snap to the bottom" option
|
795
727
|
this.hotMenu.scrollViewportTo(lastRow, 0, true, false);
|
796
728
|
}
|
797
729
|
}
|
730
|
+
|
798
731
|
/**
|
799
732
|
* Select next cell in opened menu.
|
800
733
|
*
|
801
734
|
* @param {number} row Row index.
|
802
735
|
* @param {number} col Column index.
|
803
736
|
*/
|
804
|
-
|
805
737
|
}, {
|
806
738
|
key: "selectNextCell",
|
807
739
|
value: function selectNextCell(row, col) {
|
808
740
|
var nextRow = row + 1;
|
809
741
|
var cell = nextRow < this.hotMenu.countRows() ? this.hotMenu.getCell(nextRow, col) : null;
|
810
|
-
|
811
742
|
if (!cell) {
|
812
743
|
return;
|
813
744
|
}
|
814
|
-
|
815
745
|
if (isSeparator(cell) || isDisabled(cell) || isSelectionDisabled(cell)) {
|
816
746
|
this.selectNextCell(nextRow, col);
|
817
747
|
} else {
|
818
748
|
this.hotMenu.selectCell(nextRow, col);
|
819
749
|
}
|
820
750
|
}
|
751
|
+
|
821
752
|
/**
|
822
753
|
* Select previous cell in opened menu.
|
823
754
|
*
|
824
755
|
* @param {number} row Row index.
|
825
756
|
* @param {number} col Column index.
|
826
757
|
*/
|
827
|
-
|
828
758
|
}, {
|
829
759
|
key: "selectPrevCell",
|
830
760
|
value: function selectPrevCell(row, col) {
|
831
761
|
var prevRow = row - 1;
|
832
762
|
var cell = prevRow >= 0 ? this.hotMenu.getCell(prevRow, col) : null;
|
833
|
-
|
834
763
|
if (!cell) {
|
835
764
|
return;
|
836
765
|
}
|
837
|
-
|
838
766
|
if (isSeparator(cell) || isDisabled(cell) || isSelectionDisabled(cell)) {
|
839
767
|
this.selectPrevCell(prevRow, col);
|
840
768
|
} else {
|
841
769
|
this.hotMenu.selectCell(prevRow, col);
|
842
770
|
}
|
843
771
|
}
|
772
|
+
|
844
773
|
/**
|
845
774
|
* Menu item renderer.
|
846
775
|
*
|
@@ -852,41 +781,31 @@ var Menu = /*#__PURE__*/function () {
|
|
852
781
|
* @param {string} prop The column property if used.
|
853
782
|
* @param {string} value The cell value.
|
854
783
|
*/
|
855
|
-
|
856
784
|
}, {
|
857
785
|
key: "menuItemRenderer",
|
858
786
|
value: function menuItemRenderer(hot, TD, row, col, prop, value) {
|
859
787
|
var _this4 = this;
|
860
|
-
|
861
788
|
var item = hot.getSourceDataAtRow(row);
|
862
789
|
var wrapper = this.hot.rootDocument.createElement('div');
|
863
|
-
|
864
790
|
var isSubMenu = function isSubMenu(itemToTest) {
|
865
791
|
return hasOwnProperty(itemToTest, 'submenu');
|
866
792
|
};
|
867
|
-
|
868
793
|
var itemIsSeparator = function itemIsSeparator(itemToTest) {
|
869
794
|
return new RegExp(SEPARATOR, 'i').test(itemToTest.name);
|
870
795
|
};
|
871
|
-
|
872
796
|
var itemIsDisabled = function itemIsDisabled(itemToTest) {
|
873
797
|
return itemToTest.disabled === true || typeof itemToTest.disabled === 'function' && itemToTest.disabled.call(_this4.hot) === true;
|
874
798
|
};
|
875
|
-
|
876
799
|
var itemIsSelectionDisabled = function itemIsSelectionDisabled(itemToTest) {
|
877
800
|
return itemToTest.disableSelection;
|
878
801
|
};
|
879
|
-
|
880
802
|
var itemValue = value;
|
881
|
-
|
882
803
|
if (typeof itemValue === 'function') {
|
883
804
|
itemValue = itemValue.call(this.hot);
|
884
805
|
}
|
885
|
-
|
886
806
|
empty(TD);
|
887
807
|
addClass(wrapper, 'htItemWrapper');
|
888
808
|
TD.appendChild(wrapper);
|
889
|
-
|
890
809
|
if (itemIsSeparator(item)) {
|
891
810
|
addClass(TD, 'htSeparator');
|
892
811
|
} else if (typeof item.renderer === 'function') {
|
@@ -895,7 +814,6 @@ var Menu = /*#__PURE__*/function () {
|
|
895
814
|
} else {
|
896
815
|
fastInnerHTML(wrapper, itemValue);
|
897
816
|
}
|
898
|
-
|
899
817
|
if (itemIsDisabled(item)) {
|
900
818
|
addClass(TD, 'htDisabled');
|
901
819
|
this.eventManager.addEventListener(TD, 'mouseenter', function () {
|
@@ -908,7 +826,6 @@ var Menu = /*#__PURE__*/function () {
|
|
908
826
|
});
|
909
827
|
} else if (isSubMenu(item)) {
|
910
828
|
addClass(TD, 'htSubmenu');
|
911
|
-
|
912
829
|
if (itemIsSelectionDisabled(item)) {
|
913
830
|
this.eventManager.addEventListener(TD, 'mouseenter', function () {
|
914
831
|
return hot.deselectCell();
|
@@ -920,7 +837,6 @@ var Menu = /*#__PURE__*/function () {
|
|
920
837
|
}
|
921
838
|
} else {
|
922
839
|
removeClass(TD, ['htSubmenu', 'htDisabled']);
|
923
|
-
|
924
840
|
if (itemIsSelectionDisabled(item)) {
|
925
841
|
this.eventManager.addEventListener(TD, 'mouseenter', function () {
|
926
842
|
return hot.deselectCell();
|
@@ -932,6 +848,7 @@ var Menu = /*#__PURE__*/function () {
|
|
932
848
|
}
|
933
849
|
}
|
934
850
|
}
|
851
|
+
|
935
852
|
/**
|
936
853
|
* Create container/wrapper for handsontable.
|
937
854
|
*
|
@@ -939,7 +856,6 @@ var Menu = /*#__PURE__*/function () {
|
|
939
856
|
* @param {string} [name] Class name.
|
940
857
|
* @returns {HTMLElement}
|
941
858
|
*/
|
942
|
-
|
943
859
|
}, {
|
944
860
|
key: "createContainer",
|
945
861
|
value: function createContainer() {
|
@@ -947,52 +863,44 @@ var Menu = /*#__PURE__*/function () {
|
|
947
863
|
var doc = this.options.container.ownerDocument;
|
948
864
|
var className = name;
|
949
865
|
var container;
|
950
|
-
|
951
866
|
if (className) {
|
952
867
|
if (isFunction(className)) {
|
953
868
|
className = className.call(this.hot);
|
954
|
-
|
955
869
|
if (className === null || isUndefined(className)) {
|
956
870
|
className = '';
|
957
871
|
} else {
|
958
872
|
className = className.toString();
|
959
873
|
}
|
960
874
|
}
|
961
|
-
|
962
875
|
className = className.replace(/[^A-z0-9]/g, '_');
|
963
876
|
className = "".concat(this.options.className, "Sub_").concat(className);
|
964
877
|
container = doc.querySelector(".".concat(this.options.className, ".").concat(className));
|
965
878
|
}
|
966
|
-
|
967
879
|
if (!container) {
|
968
880
|
container = doc.createElement('div');
|
969
881
|
addClass(container, "htMenu ".concat(this.options.className));
|
970
|
-
|
971
882
|
if (className) {
|
972
883
|
addClass(container, className);
|
973
884
|
}
|
974
|
-
|
975
885
|
this.options.container.appendChild(container);
|
976
886
|
}
|
977
|
-
|
978
887
|
return container;
|
979
888
|
}
|
889
|
+
|
980
890
|
/**
|
981
891
|
* @private
|
982
892
|
*/
|
983
|
-
|
984
893
|
}, {
|
985
894
|
key: "blockMainTableCallbacks",
|
986
895
|
value: function blockMainTableCallbacks() {
|
987
896
|
this._afterScrollCallback = function () {};
|
988
|
-
|
989
897
|
this.hot.addHook('afterScrollVertically', this._afterScrollCallback);
|
990
898
|
this.hot.addHook('afterScrollHorizontally', this._afterScrollCallback);
|
991
899
|
}
|
900
|
+
|
992
901
|
/**
|
993
902
|
* @private
|
994
903
|
*/
|
995
|
-
|
996
904
|
}, {
|
997
905
|
key: "releaseMainTableCallbacks",
|
998
906
|
value: function releaseMainTableCallbacks() {
|
@@ -1002,12 +910,12 @@ var Menu = /*#__PURE__*/function () {
|
|
1002
910
|
this._afterScrollCallback = null;
|
1003
911
|
}
|
1004
912
|
}
|
913
|
+
|
1005
914
|
/**
|
1006
915
|
* On after init listener.
|
1007
916
|
*
|
1008
917
|
* @private
|
1009
918
|
*/
|
1010
|
-
|
1011
919
|
}, {
|
1012
920
|
key: "onAfterInit",
|
1013
921
|
value: function onAfterInit() {
|
@@ -1018,12 +926,14 @@ var Menu = /*#__PURE__*/function () {
|
|
1018
926
|
var currentHiderWidth = parseInt(hiderStyle.width, 10);
|
1019
927
|
var realHeight = arrayReduce(data, function (accumulator, value) {
|
1020
928
|
return accumulator + (value.name === SEPARATOR ? 1 : 26);
|
1021
|
-
}, 0);
|
929
|
+
}, 0);
|
1022
930
|
|
931
|
+
// Additional 3px to menu's size because of additional border around its `table.htCore`.
|
1023
932
|
holderStyle.width = "".concat(currentHiderWidth + 3, "px");
|
1024
933
|
holderStyle.height = "".concat(realHeight + 3, "px");
|
1025
934
|
hiderStyle.height = holderStyle.height;
|
1026
935
|
}
|
936
|
+
|
1027
937
|
/**
|
1028
938
|
* On after selection listener.
|
1029
939
|
*
|
@@ -1033,7 +943,6 @@ var Menu = /*#__PURE__*/function () {
|
|
1033
943
|
* @param {number} c2 Selection end column index.
|
1034
944
|
* @param {object} preventScrolling Object with `value` property where its value change will be observed.
|
1035
945
|
*/
|
1036
|
-
|
1037
946
|
}, {
|
1038
947
|
key: "onAfterSelection",
|
1039
948
|
value: function onAfterSelection(r, c, r2, c2, preventScrolling) {
|
@@ -1041,49 +950,48 @@ var Menu = /*#__PURE__*/function () {
|
|
1041
950
|
preventScrolling.value = true;
|
1042
951
|
}
|
1043
952
|
}
|
953
|
+
|
1044
954
|
/**
|
1045
955
|
* Document mouse down listener.
|
1046
956
|
*
|
1047
957
|
* @private
|
1048
958
|
* @param {Event} event The mouse event object.
|
1049
959
|
*/
|
1050
|
-
|
1051
960
|
}, {
|
1052
961
|
key: "onDocumentMouseDown",
|
1053
962
|
value: function onDocumentMouseDown(event) {
|
1054
963
|
if (!this.isOpened()) {
|
1055
964
|
return;
|
1056
|
-
}
|
1057
|
-
|
965
|
+
}
|
1058
966
|
|
967
|
+
// Close menu when clicked element is not belongs to menu itself
|
1059
968
|
if (this.options.standalone && this.hotMenu && !isChildOf(event.target, this.hotMenu.rootElement)) {
|
1060
|
-
this.close(true);
|
969
|
+
this.close(true);
|
970
|
+
|
971
|
+
// Automatically close menu when clicked element is not belongs to menu or submenu (not necessarily to itself)
|
1061
972
|
} else if ((this.isAllSubMenusClosed() || this.isSubMenu()) && !isChildOf(event.target, '.htMenu')) {
|
1062
973
|
this.close(true);
|
1063
974
|
}
|
1064
975
|
}
|
976
|
+
|
1065
977
|
/**
|
1066
978
|
* Document's contextmenu listener.
|
1067
979
|
*
|
1068
980
|
* @private
|
1069
981
|
* @param {MouseEvent} event The mouse event object.
|
1070
982
|
*/
|
1071
|
-
|
1072
983
|
}, {
|
1073
984
|
key: "onDocumentContextMenu",
|
1074
985
|
value: function onDocumentContextMenu(event) {
|
1075
986
|
if (!this.isOpened()) {
|
1076
987
|
return;
|
1077
988
|
}
|
1078
|
-
|
1079
989
|
if (hasClass(event.target, 'htCore') && isChildOf(event.target, this.hotMenu.rootElement)) {
|
1080
990
|
event.preventDefault();
|
1081
991
|
}
|
1082
992
|
}
|
1083
993
|
}]);
|
1084
|
-
|
1085
994
|
return Menu;
|
1086
995
|
}();
|
1087
|
-
|
1088
996
|
mixin(Menu, localHooks);
|
1089
997
|
export default Menu;
|