handsontable 12.1.2 → 12.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/SheetClip/SheetClip.js +3 -32
- package/3rdparty/SheetClip/SheetClip.mjs +3 -23
- package/3rdparty/SheetClip/index.js +0 -2
- package/3rdparty/autoResize/autoResize.js +119 -145
- package/3rdparty/autoResize/autoResize.mjs +119 -143
- package/3rdparty/autoResize/index.js +0 -2
- package/3rdparty/walkontable/src/border.js +72 -174
- package/3rdparty/walkontable/src/border.mjs +74 -161
- package/3rdparty/walkontable/src/calculator/constants.js +0 -3
- package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
- package/3rdparty/walkontable/src/calculator/index.js +0 -10
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +26 -76
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +26 -69
- package/3rdparty/walkontable/src/calculator/viewportRows.js +20 -48
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +20 -41
- package/3rdparty/walkontable/src/cell/coords.js +13 -43
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -38
- package/3rdparty/walkontable/src/cell/range.js +55 -130
- package/3rdparty/walkontable/src/cell/range.mjs +60 -126
- package/3rdparty/walkontable/src/core/_base.js +16 -74
- package/3rdparty/walkontable/src/core/_base.mjs +19 -70
- package/3rdparty/walkontable/src/core/clone.js +1 -40
- package/3rdparty/walkontable/src/core/clone.mjs +3 -30
- package/3rdparty/walkontable/src/core/core.js +3 -57
- package/3rdparty/walkontable/src/core/core.mjs +5 -41
- package/3rdparty/walkontable/src/event.js +31 -78
- package/3rdparty/walkontable/src/event.mjs +31 -65
- package/3rdparty/walkontable/src/facade/core.js +1 -17
- package/3rdparty/walkontable/src/facade/core.mjs +7 -20
- package/3rdparty/walkontable/src/filter/column.js +9 -18
- package/3rdparty/walkontable/src/filter/column.mjs +9 -17
- package/3rdparty/walkontable/src/filter/row.js +9 -18
- package/3rdparty/walkontable/src/filter/row.mjs +9 -17
- package/3rdparty/walkontable/src/index.js +0 -31
- package/3rdparty/walkontable/src/overlay/_base.js +24 -69
- package/3rdparty/walkontable/src/overlay/_base.mjs +31 -68
- package/3rdparty/walkontable/src/overlay/bottom.js +28 -99
- package/3rdparty/walkontable/src/overlay/bottom.mjs +30 -86
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +7 -53
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +9 -40
- package/3rdparty/walkontable/src/overlay/constants.js +0 -6
- package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
- package/3rdparty/walkontable/src/overlay/index.js +0 -17
- package/3rdparty/walkontable/src/overlay/inlineStart.js +21 -91
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +23 -78
- package/3rdparty/walkontable/src/overlay/top.js +27 -100
- package/3rdparty/walkontable/src/overlay/top.mjs +29 -87
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +4 -51
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +6 -38
- package/3rdparty/walkontable/src/overlays.js +58 -129
- package/3rdparty/walkontable/src/overlays.mjs +60 -121
- package/3rdparty/walkontable/src/renderer/_base.js +4 -20
- package/3rdparty/walkontable/src/renderer/_base.mjs +8 -22
- package/3rdparty/walkontable/src/renderer/cells.js +10 -54
- package/3rdparty/walkontable/src/renderer/cells.mjs +22 -52
- package/3rdparty/walkontable/src/renderer/colGroup.js +10 -47
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +21 -46
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +19 -49
- package/3rdparty/walkontable/src/renderer/index.js +13 -36
- package/3rdparty/walkontable/src/renderer/index.mjs +17 -27
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +20 -49
- package/3rdparty/walkontable/src/renderer/rows.js +3 -46
- package/3rdparty/walkontable/src/renderer/rows.mjs +3 -29
- package/3rdparty/walkontable/src/renderer/table.js +22 -49
- package/3rdparty/walkontable/src/renderer/table.mjs +22 -48
- package/3rdparty/walkontable/src/scroll.js +56 -86
- package/3rdparty/walkontable/src/scroll.mjs +58 -86
- package/3rdparty/walkontable/src/selection.js +20 -101
- package/3rdparty/walkontable/src/selection.mjs +22 -85
- package/3rdparty/walkontable/src/settings.js +9 -29
- package/3rdparty/walkontable/src/settings.mjs +9 -27
- package/3rdparty/walkontable/src/table/bottom.js +1 -35
- package/3rdparty/walkontable/src/table/bottom.mjs +6 -25
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table/inlineStart.js +1 -35
- package/3rdparty/walkontable/src/table/inlineStart.mjs +3 -22
- package/3rdparty/walkontable/src/table/master.js +10 -55
- package/3rdparty/walkontable/src/table/master.mjs +15 -44
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +7 -20
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +7 -23
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +7 -21
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +7 -20
- package/3rdparty/walkontable/src/table/top.js +1 -35
- package/3rdparty/walkontable/src/table/top.mjs +6 -25
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table.js +74 -238
- package/3rdparty/walkontable/src/table.mjs +84 -227
- package/3rdparty/walkontable/src/types.js +0 -5
- package/3rdparty/walkontable/src/types.mjs +0 -5
- package/3rdparty/walkontable/src/utils/column.js +9 -31
- package/3rdparty/walkontable/src/utils/column.mjs +13 -30
- package/3rdparty/walkontable/src/utils/nodesPool.js +3 -12
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +3 -11
- package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
- package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
- package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -33
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +6 -26
- package/3rdparty/walkontable/src/utils/orderView/view.js +14 -46
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +21 -50
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +3 -15
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +3 -14
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +8 -22
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +23 -34
- package/3rdparty/walkontable/src/utils/row.js +2 -13
- package/3rdparty/walkontable/src/utils/row.mjs +2 -12
- package/3rdparty/walkontable/src/viewport.js +38 -100
- package/3rdparty/walkontable/src/viewport.mjs +40 -99
- package/CHANGELOG.md +103 -5
- package/base.js +6 -17
- package/base.mjs +6 -12
- package/cellTypes/autocompleteType/autocompleteType.js +0 -4
- package/cellTypes/autocompleteType/index.js +0 -2
- package/cellTypes/checkboxType/checkboxType.js +0 -3
- package/cellTypes/checkboxType/index.js +0 -2
- package/cellTypes/dateType/dateType.js +0 -4
- package/cellTypes/dateType/index.js +0 -2
- package/cellTypes/dropdownType/dropdownType.js +0 -4
- package/cellTypes/dropdownType/index.js +0 -2
- package/cellTypes/handsontableType/handsontableType.js +0 -3
- package/cellTypes/handsontableType/index.js +0 -2
- package/cellTypes/index.js +0 -21
- package/cellTypes/index.mjs +3 -5
- package/cellTypes/numericType/index.js +0 -2
- package/cellTypes/numericType/numericType.js +0 -4
- package/cellTypes/passwordType/index.js +0 -2
- package/cellTypes/passwordType/passwordType.js +0 -3
- package/cellTypes/registry.js +10 -25
- package/cellTypes/registry.mjs +10 -20
- package/cellTypes/textType/index.js +0 -2
- package/cellTypes/textType/textType.js +0 -3
- package/cellTypes/timeType/index.js +0 -2
- package/cellTypes/timeType/timeType.js +0 -4
- package/core.d.ts +6 -4
- package/core.js +514 -974
- package/core.mjs +519 -921
- package/dataMap/dataMap.js +127 -212
- package/dataMap/dataMap.mjs +127 -188
- package/{dataSource.js → dataMap/dataSource.js} +18 -66
- package/{dataSource.mjs → dataMap/dataSource.mjs} +20 -60
- package/dataMap/index.js +0 -13
- package/dataMap/metaManager/index.js +21 -46
- package/dataMap/metaManager/index.mjs +47 -64
- package/dataMap/metaManager/lazyFactoryMap.js +23 -55
- package/dataMap/metaManager/lazyFactoryMap.mjs +23 -43
- package/dataMap/metaManager/metaLayers/cellMeta.js +16 -52
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +16 -37
- package/dataMap/metaManager/metaLayers/columnMeta.js +8 -22
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +14 -25
- package/dataMap/metaManager/metaLayers/globalMeta.js +4 -19
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.js +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +28 -37
- package/dataMap/metaManager/metaSchema.js +196 -257
- package/dataMap/metaManager/metaSchema.mjs +196 -248
- package/dataMap/metaManager/mods/dynamicCellMeta.js +6 -36
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +20 -39
- package/dataMap/metaManager/mods/extendMetaProperties.js +5 -28
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +4 -18
- package/dataMap/metaManager/utils.js +11 -20
- package/dataMap/metaManager/utils.mjs +21 -23
- package/dataMap/replaceData.js +14 -35
- package/dataMap/replaceData.mjs +35 -45
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +64469 -93042
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +527 -284
- package/dist/handsontable.js +9616 -21414
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +0 -175
- package/dist/languages/ar-AR.js +0 -10
- package/dist/languages/cs-CZ.js +0 -10
- package/dist/languages/de-CH.js +0 -10
- package/dist/languages/de-DE.js +0 -10
- package/dist/languages/en-US.js +0 -10
- package/dist/languages/es-MX.js +0 -10
- package/dist/languages/fr-FR.js +0 -10
- package/dist/languages/it-IT.js +0 -10
- package/dist/languages/ja-JP.js +0 -10
- package/dist/languages/ko-KR.js +0 -10
- package/dist/languages/lv-LV.js +0 -10
- package/dist/languages/nb-NO.js +0 -10
- package/dist/languages/nl-NL.js +0 -10
- package/dist/languages/pl-PL.js +0 -10
- package/dist/languages/pt-BR.js +0 -10
- package/dist/languages/ru-RU.js +0 -10
- package/dist/languages/sr-SP.js +0 -10
- package/dist/languages/zh-CN.js +0 -10
- package/dist/languages/zh-TW.js +0 -10
- package/editorManager.js +89 -124
- package/editorManager.mjs +89 -104
- package/editors/autocompleteEditor/autocompleteEditor.js +26 -133
- package/editors/autocompleteEditor/autocompleteEditor.mjs +26 -104
- package/editors/autocompleteEditor/index.js +0 -2
- package/editors/baseEditor/baseEditor.js +45 -155
- package/editors/baseEditor/baseEditor.mjs +45 -129
- package/editors/baseEditor/index.js +0 -2
- package/editors/checkboxEditor/checkboxEditor.js +2 -33
- package/editors/checkboxEditor/checkboxEditor.mjs +2 -19
- package/editors/checkboxEditor/index.js +0 -2
- package/editors/dateEditor/dateEditor.js +36 -97
- package/editors/dateEditor/dateEditor.mjs +35 -74
- package/editors/dateEditor/index.js +0 -2
- package/editors/dropdownEditor/dropdownEditor.js +1 -41
- package/editors/dropdownEditor/dropdownEditor.mjs +1 -22
- package/editors/dropdownEditor/index.js +0 -2
- package/editors/handsontableEditor/handsontableEditor.js +13 -85
- package/editors/handsontableEditor/handsontableEditor.mjs +13 -66
- package/editors/handsontableEditor/index.js +0 -2
- package/editors/index.js +0 -25
- package/editors/index.mjs +3 -5
- package/editors/numericEditor/index.js +0 -2
- package/editors/numericEditor/numericEditor.js +1 -31
- package/editors/numericEditor/numericEditor.mjs +1 -18
- package/editors/passwordEditor/index.js +0 -2
- package/editors/passwordEditor/passwordEditor.js +1 -38
- package/editors/passwordEditor/passwordEditor.mjs +1 -22
- package/editors/registry.js +10 -36
- package/editors/registry.mjs +10 -28
- package/editors/selectEditor/index.js +0 -2
- package/editors/selectEditor/selectEditor.js +21 -73
- package/editors/selectEditor/selectEditor.mjs +21 -56
- package/editors/textEditor/caretPositioner.js +0 -12
- package/editors/textEditor/caretPositioner.mjs +10 -20
- package/editors/textEditor/index.js +0 -2
- package/editors/textEditor/textEditor.js +38 -137
- package/editors/textEditor/textEditor.mjs +38 -106
- package/editors/timeEditor/index.js +0 -2
- package/editors/timeEditor/timeEditor.js +1 -36
- package/editors/timeEditor/timeEditor.mjs +1 -21
- package/eventManager.js +20 -56
- package/eventManager.mjs +23 -56
- package/helpers/array.js +22 -88
- package/helpers/array.mjs +22 -58
- package/helpers/browser.js +25 -51
- package/helpers/browser.mjs +25 -32
- package/helpers/console.js +3 -13
- package/helpers/console.mjs +8 -16
- package/helpers/data.d.ts +0 -1
- package/helpers/data.js +10 -55
- package/helpers/data.mjs +10 -33
- package/helpers/date.js +2 -3
- package/helpers/date.mjs +2 -2
- package/helpers/dom/element.js +67 -259
- package/helpers/dom/element.mjs +74 -194
- package/helpers/dom/event.js +3 -7
- package/helpers/dom/event.mjs +3 -3
- package/helpers/feature.js +13 -47
- package/helpers/feature.mjs +13 -31
- package/helpers/function.js +14 -59
- package/helpers/function.mjs +20 -52
- package/helpers/mixed.js +9 -66
- package/helpers/mixed.mjs +15 -51
- package/helpers/number.js +4 -46
- package/helpers/number.mjs +4 -23
- package/helpers/object.js +15 -72
- package/helpers/object.mjs +21 -52
- package/helpers/string.js +6 -28
- package/helpers/string.mjs +12 -21
- package/helpers/templateLiteralTag.js +0 -6
- package/helpers/templateLiteralTag.mjs +7 -10
- package/helpers/unicode.js +17 -26
- package/helpers/unicode.mjs +17 -15
- package/helpers/wrappers/jquery.js +4 -14
- package/helpers/wrappers/jquery.mjs +4 -13
- package/i18n/constants.js +1 -3
- package/i18n/constants.mjs +1 -1
- package/i18n/index.js +0 -7
- package/i18n/languages/ar-AR.js +0 -16
- package/i18n/languages/ar-AR.mjs +1 -4
- package/i18n/languages/cs-CZ.js +0 -16
- package/i18n/languages/cs-CZ.mjs +1 -4
- package/i18n/languages/de-CH.js +0 -16
- package/i18n/languages/de-CH.mjs +1 -4
- package/i18n/languages/de-DE.js +0 -16
- package/i18n/languages/de-DE.mjs +1 -4
- package/i18n/languages/en-US.js +0 -16
- package/i18n/languages/en-US.mjs +1 -4
- package/i18n/languages/es-MX.js +0 -16
- package/i18n/languages/es-MX.mjs +1 -4
- package/i18n/languages/fr-FR.js +0 -16
- package/i18n/languages/fr-FR.mjs +1 -4
- package/i18n/languages/index.js +0 -39
- package/i18n/languages/it-IT.js +0 -16
- package/i18n/languages/it-IT.mjs +1 -4
- package/i18n/languages/ja-JP.js +0 -16
- package/i18n/languages/ja-JP.mjs +1 -4
- package/i18n/languages/ko-KR.js +0 -16
- package/i18n/languages/ko-KR.mjs +1 -4
- package/i18n/languages/lv-LV.js +0 -16
- package/i18n/languages/lv-LV.mjs +1 -4
- package/i18n/languages/nb-NO.js +0 -16
- package/i18n/languages/nb-NO.mjs +1 -4
- package/i18n/languages/nl-NL.js +0 -16
- package/i18n/languages/nl-NL.mjs +1 -4
- package/i18n/languages/pl-PL.js +0 -16
- package/i18n/languages/pl-PL.mjs +1 -4
- package/i18n/languages/pt-BR.js +0 -16
- package/i18n/languages/pt-BR.mjs +1 -4
- package/i18n/languages/ru-RU.js +0 -16
- package/i18n/languages/ru-RU.mjs +1 -4
- package/i18n/languages/sr-SP.js +0 -16
- package/i18n/languages/sr-SP.mjs +1 -4
- package/i18n/languages/zh-CN.js +0 -16
- package/i18n/languages/zh-CN.mjs +1 -4
- package/i18n/languages/zh-TW.js +0 -16
- package/i18n/languages/zh-TW.mjs +1 -4
- package/i18n/phraseFormatters/index.js +4 -11
- package/i18n/phraseFormatters/index.mjs +4 -6
- package/i18n/phraseFormatters/pluralize.js +0 -5
- package/i18n/phraseFormatters/pluralize.mjs +0 -3
- package/i18n/phraseFormatters/substituteVariables.js +0 -4
- package/i18n/phraseFormatters/substituteVariables.mjs +8 -11
- package/i18n/registry.js +18 -59
- package/i18n/registry.mjs +18 -30
- package/i18n/utils.js +4 -22
- package/i18n/utils.mjs +13 -21
- package/index.js +19 -56
- package/index.mjs +19 -15
- package/languages/all.js +0 -175
- package/languages/ar-AR.js +0 -10
- package/languages/ar-AR.mjs +1 -4
- package/languages/cs-CZ.js +0 -10
- package/languages/cs-CZ.mjs +1 -4
- package/languages/de-CH.js +0 -10
- package/languages/de-CH.mjs +1 -4
- package/languages/de-DE.js +0 -10
- package/languages/de-DE.mjs +1 -4
- package/languages/en-US.js +0 -10
- package/languages/en-US.mjs +1 -4
- package/languages/es-MX.js +0 -10
- package/languages/es-MX.mjs +1 -4
- package/languages/fr-FR.js +0 -10
- package/languages/fr-FR.mjs +1 -4
- package/languages/index.js +0 -175
- package/languages/it-IT.js +0 -10
- package/languages/it-IT.mjs +1 -4
- package/languages/ja-JP.js +0 -10
- package/languages/ja-JP.mjs +1 -4
- package/languages/ko-KR.js +0 -10
- package/languages/ko-KR.mjs +1 -4
- package/languages/lv-LV.js +0 -10
- package/languages/lv-LV.mjs +1 -4
- package/languages/nb-NO.js +0 -10
- package/languages/nb-NO.mjs +1 -4
- package/languages/nl-NL.js +0 -10
- package/languages/nl-NL.mjs +1 -4
- package/languages/pl-PL.js +0 -10
- package/languages/pl-PL.mjs +1 -4
- package/languages/pt-BR.js +0 -10
- package/languages/pt-BR.mjs +1 -4
- package/languages/ru-RU.js +0 -10
- package/languages/ru-RU.mjs +1 -4
- package/languages/sr-SP.js +0 -10
- package/languages/sr-SP.mjs +1 -4
- package/languages/zh-CN.js +0 -10
- package/languages/zh-CN.mjs +1 -4
- package/languages/zh-TW.js +0 -10
- package/languages/zh-TW.mjs +1 -4
- package/mixins/hooksRefRegisterer.js +4 -18
- package/mixins/hooksRefRegisterer.mjs +4 -15
- package/mixins/localHooks.js +7 -17
- package/mixins/localHooks.mjs +7 -14
- package/package.json +1 -1
- package/pluginHooks.d.ts +3 -4
- package/pluginHooks.js +288 -110
- package/pluginHooks.mjs +287 -97
- package/plugins/autoColumnSize/autoColumnSize.js +74 -172
- package/plugins/autoColumnSize/autoColumnSize.mjs +74 -137
- package/plugins/autoColumnSize/index.js +0 -2
- package/plugins/autoRowSize/autoRowSize.js +73 -153
- package/plugins/autoRowSize/autoRowSize.mjs +73 -124
- package/plugins/autoRowSize/index.js +0 -2
- package/plugins/autofill/autofill.js +46 -163
- package/plugins/autofill/autofill.mjs +46 -131
- package/plugins/autofill/index.js +0 -2
- package/plugins/autofill/utils.js +4 -26
- package/plugins/autofill/utils.mjs +4 -18
- package/plugins/base/base.js +21 -92
- package/plugins/base/base.mjs +21 -63
- package/plugins/base/index.js +0 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +19 -52
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +19 -33
- package/plugins/bindRowsWithHeaders/index.js +0 -2
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +5 -41
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +5 -29
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -53
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +6 -37
- package/plugins/collapsibleColumns/collapsibleColumns.js +96 -188
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +97 -158
- package/plugins/collapsibleColumns/index.js +0 -2
- package/plugins/columnSorting/columnSorting.js +50 -188
- package/plugins/columnSorting/columnSorting.mjs +50 -143
- package/plugins/columnSorting/columnStatesManager.js +15 -71
- package/plugins/columnSorting/columnStatesManager.mjs +15 -48
- package/plugins/columnSorting/domHelpers.js +2 -18
- package/plugins/columnSorting/domHelpers.mjs +2 -7
- package/plugins/columnSorting/index.js +0 -2
- package/plugins/columnSorting/rootComparator.js +5 -24
- package/plugins/columnSorting/rootComparator.mjs +12 -21
- package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
- package/plugins/columnSorting/sortFunction/checkbox.mjs +16 -21
- package/plugins/columnSorting/sortFunction/date.js +2 -19
- package/plugins/columnSorting/sortFunction/date.mjs +10 -23
- package/plugins/columnSorting/sortFunction/default.js +2 -17
- package/plugins/columnSorting/sortFunction/default.mjs +10 -23
- package/plugins/columnSorting/sortFunction/numeric.js +2 -11
- package/plugins/columnSorting/sortFunction/numeric.mjs +10 -17
- package/plugins/columnSorting/sortService/engine.js +3 -13
- package/plugins/columnSorting/sortService/engine.mjs +3 -5
- package/plugins/columnSorting/sortService/index.js +0 -5
- package/plugins/columnSorting/sortService/registry.js +6 -18
- package/plugins/columnSorting/sortService/registry.mjs +6 -10
- package/plugins/columnSorting/utils.js +9 -34
- package/plugins/columnSorting/utils.mjs +9 -15
- package/plugins/columnSummary/columnSummary.js +66 -126
- package/plugins/columnSummary/columnSummary.mjs +66 -101
- package/plugins/columnSummary/endpoints.js +21 -98
- package/plugins/columnSummary/endpoints.mjs +26 -99
- package/plugins/columnSummary/index.js +0 -2
- package/plugins/columnSummary/utils.js +13 -0
- package/plugins/columnSummary/utils.mjs +9 -0
- package/plugins/comments/commentEditor.js +16 -28
- package/plugins/comments/commentEditor.mjs +21 -32
- package/plugins/comments/comments.js +92 -175
- package/plugins/comments/comments.mjs +92 -149
- package/plugins/comments/displaySwitch.js +6 -23
- package/plugins/comments/displaySwitch.mjs +6 -18
- package/plugins/comments/index.js +0 -2
- package/plugins/contextMenu/commandExecutor.js +9 -40
- package/plugins/contextMenu/commandExecutor.mjs +14 -41
- package/plugins/contextMenu/contextMenu.js +26 -105
- package/plugins/contextMenu/contextMenu.mjs +26 -75
- package/plugins/contextMenu/cursor.js +6 -20
- package/plugins/contextMenu/cursor.mjs +11 -24
- package/plugins/contextMenu/index.js +0 -2
- package/plugins/contextMenu/itemsFactory.js +14 -43
- package/plugins/contextMenu/itemsFactory.mjs +19 -44
- package/plugins/contextMenu/menu.js +61 -177
- package/plugins/contextMenu/menu.mjs +61 -149
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
- package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
- package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
- package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
- package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
- package/plugins/contextMenu/predefinedItems/redo.js +1 -16
- package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +3 -38
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -18
- package/plugins/contextMenu/predefinedItems/removeRow.js +3 -37
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -17
- package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
- package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/separator.js +1 -2
- package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -16
- package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems.js +2 -48
- package/plugins/contextMenu/predefinedItems.mjs +2 -7
- package/plugins/contextMenu/utils.js +17 -57
- package/plugins/contextMenu/utils.mjs +21 -39
- package/plugins/copyPaste/clipboardData.js +1 -10
- package/plugins/copyPaste/clipboardData.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copy.js +2 -17
- package/plugins/copyPaste/contextMenuItem/copy.mjs +6 -9
- package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
- package/plugins/copyPaste/contextMenuItem/cut.mjs +6 -9
- package/plugins/copyPaste/copyPaste.js +53 -185
- package/plugins/copyPaste/copyPaste.mjs +53 -144
- package/plugins/copyPaste/focusableElement.js +12 -56
- package/plugins/copyPaste/focusableElement.mjs +15 -49
- package/plugins/copyPaste/index.js +0 -2
- package/plugins/copyPaste/pasteEvent.js +1 -10
- package/plugins/copyPaste/pasteEvent.mjs +3 -10
- package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
- package/plugins/customBorders/contextMenuItem/bottom.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/index.js +0 -11
- package/plugins/customBorders/contextMenuItem/left.js +0 -17
- package/plugins/customBorders/contextMenuItem/left.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
- package/plugins/customBorders/contextMenuItem/noBorders.mjs +4 -6
- package/plugins/customBorders/contextMenuItem/right.js +0 -17
- package/plugins/customBorders/contextMenuItem/right.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/top.js +0 -17
- package/plugins/customBorders/contextMenuItem/top.mjs +4 -8
- package/plugins/customBorders/customBorders.js +52 -181
- package/plugins/customBorders/customBorders.mjs +52 -147
- package/plugins/customBorders/index.js +0 -2
- package/plugins/customBorders/utils.js +13 -52
- package/plugins/customBorders/utils.mjs +20 -39
- package/plugins/dragToScroll/dragToScroll.js +17 -74
- package/plugins/dragToScroll/dragToScroll.mjs +17 -55
- package/plugins/dragToScroll/index.js +0 -2
- package/plugins/dropdownMenu/dropdownMenu.js +47 -126
- package/plugins/dropdownMenu/dropdownMenu.mjs +47 -95
- package/plugins/dropdownMenu/index.js +0 -2
- package/plugins/exportFile/dataProvider.js +24 -69
- package/plugins/exportFile/dataProvider.mjs +26 -60
- package/plugins/exportFile/exportFile.js +48 -58
- package/plugins/exportFile/exportFile.mjs +48 -36
- package/plugins/exportFile/index.js +0 -2
- package/plugins/exportFile/typeFactory.js +1 -11
- package/plugins/exportFile/typeFactory.mjs +1 -4
- package/plugins/exportFile/types/_base.js +2 -16
- package/plugins/exportFile/types/_base.mjs +4 -16
- package/plugins/exportFile/types/csv.js +2 -50
- package/plugins/exportFile/types/csv.mjs +2 -29
- package/plugins/filters/component/_base.js +12 -32
- package/plugins/filters/component/_base.mjs +15 -30
- package/plugins/filters/component/actionBar.js +6 -55
- package/plugins/filters/component/actionBar.mjs +9 -38
- package/plugins/filters/component/condition.js +25 -122
- package/plugins/filters/component/condition.mjs +24 -88
- package/plugins/filters/component/operators.js +10 -68
- package/plugins/filters/component/operators.mjs +10 -45
- package/plugins/filters/component/value.js +25 -99
- package/plugins/filters/component/value.mjs +28 -72
- package/plugins/filters/condition/beginsWith.js +2 -32
- package/plugins/filters/condition/beginsWith.mjs +2 -10
- package/plugins/filters/condition/between.js +3 -37
- package/plugins/filters/condition/between.mjs +3 -15
- package/plugins/filters/condition/byValue.js +3 -27
- package/plugins/filters/condition/byValue.mjs +3 -12
- package/plugins/filters/condition/contains.js +2 -32
- package/plugins/filters/condition/contains.mjs +2 -10
- package/plugins/filters/condition/date/after.js +2 -34
- package/plugins/filters/condition/date/after.mjs +2 -12
- package/plugins/filters/condition/date/before.js +2 -34
- package/plugins/filters/condition/date/before.mjs +2 -12
- package/plugins/filters/condition/date/today.js +1 -22
- package/plugins/filters/condition/date/today.mjs +1 -3
- package/plugins/filters/condition/date/tomorrow.js +1 -22
- package/plugins/filters/condition/date/tomorrow.mjs +1 -3
- package/plugins/filters/condition/date/yesterday.js +1 -22
- package/plugins/filters/condition/date/yesterday.mjs +1 -3
- package/plugins/filters/condition/empty.js +1 -19
- package/plugins/filters/condition/empty.mjs +1 -1
- package/plugins/filters/condition/endsWith.js +2 -32
- package/plugins/filters/condition/endsWith.mjs +2 -10
- package/plugins/filters/condition/equal.js +2 -31
- package/plugins/filters/condition/equal.mjs +2 -10
- package/plugins/filters/condition/false.js +1 -5
- package/plugins/filters/condition/false.mjs +1 -1
- package/plugins/filters/condition/greaterThan.js +2 -32
- package/plugins/filters/condition/greaterThan.mjs +2 -12
- package/plugins/filters/condition/greaterThanOrEqual.js +2 -32
- package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/lessThan.js +2 -32
- package/plugins/filters/condition/lessThan.mjs +2 -12
- package/plugins/filters/condition/lessThanOrEqual.js +2 -32
- package/plugins/filters/condition/lessThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/none.js +1 -18
- package/plugins/filters/condition/none.mjs +1 -1
- package/plugins/filters/condition/notBetween.js +1 -19
- package/plugins/filters/condition/notBetween.mjs +1 -1
- package/plugins/filters/condition/notContains.js +1 -19
- package/plugins/filters/condition/notContains.mjs +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -19
- package/plugins/filters/condition/notEmpty.mjs +1 -1
- package/plugins/filters/condition/notEqual.js +1 -19
- package/plugins/filters/condition/notEqual.mjs +1 -1
- package/plugins/filters/condition/true.js +1 -5
- package/plugins/filters/condition/true.mjs +1 -1
- package/plugins/filters/conditionCollection.js +21 -80
- package/plugins/filters/conditionCollection.mjs +21 -57
- package/plugins/filters/conditionRegisterer.js +5 -14
- package/plugins/filters/conditionRegisterer.mjs +5 -9
- package/plugins/filters/conditionUpdateObserver.js +17 -57
- package/plugins/filters/conditionUpdateObserver.mjs +25 -53
- package/plugins/filters/constants.js +1 -66
- package/plugins/filters/constants.mjs +1 -8
- package/plugins/filters/dataFilter.js +4 -21
- package/plugins/filters/dataFilter.mjs +7 -23
- package/plugins/filters/filters.d.ts +1 -1
- package/plugins/filters/filters.js +147 -272
- package/plugins/filters/filters.mjs +148 -228
- package/plugins/filters/index.js +0 -2
- package/plugins/filters/logicalOperationRegisterer.js +3 -9
- package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
- package/plugins/filters/logicalOperations/conjunction.js +2 -19
- package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunction.js +2 -19
- package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
- package/plugins/filters/ui/_base.js +12 -55
- package/plugins/filters/ui/_base.mjs +12 -35
- package/plugins/filters/ui/input.js +7 -52
- package/plugins/filters/ui/input.mjs +7 -34
- package/plugins/filters/ui/link.js +3 -43
- package/plugins/filters/ui/link.mjs +3 -25
- package/plugins/filters/ui/multipleSelect.js +26 -120
- package/plugins/filters/ui/multipleSelect.mjs +20 -76
- package/plugins/filters/ui/radioInput.js +6 -47
- package/plugins/filters/ui/radioInput.mjs +6 -30
- package/plugins/filters/ui/select.js +14 -76
- package/plugins/filters/ui/select.mjs +14 -52
- package/plugins/filters/utils.js +6 -39
- package/plugins/filters/utils.mjs +6 -23
- package/plugins/formulas/engine/register.js +24 -74
- package/plugins/formulas/engine/register.mjs +29 -51
- package/plugins/formulas/engine/settings.js +4 -24
- package/plugins/formulas/engine/settings.mjs +4 -12
- package/plugins/formulas/formulas.js +103 -295
- package/plugins/formulas/formulas.mjs +104 -248
- package/plugins/formulas/index.js +0 -2
- package/plugins/formulas/utils.js +1 -3
- package/plugins/formulas/utils.mjs +1 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +4 -38
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +8 -25
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +21 -29
- package/plugins/hiddenColumns/hiddenColumns.js +72 -153
- package/plugins/hiddenColumns/hiddenColumns.mjs +72 -110
- package/plugins/hiddenColumns/index.js +0 -2
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +4 -38
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +8 -25
- package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +21 -29
- package/plugins/hiddenRows/hiddenRows.js +70 -152
- package/plugins/hiddenRows/hiddenRows.mjs +70 -109
- package/plugins/hiddenRows/index.js +0 -2
- package/plugins/index.js +0 -71
- package/plugins/index.mjs +3 -5
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/index.js +0 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +21 -78
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +21 -54
- package/plugins/manualColumnMove/index.js +0 -2
- package/plugins/manualColumnMove/manualColumnMove.js +45 -134
- package/plugins/manualColumnMove/manualColumnMove.mjs +45 -106
- package/plugins/manualColumnMove/ui/_base.js +12 -30
- package/plugins/manualColumnMove/ui/_base.mjs +12 -27
- package/plugins/manualColumnMove/ui/backlight.js +1 -37
- package/plugins/manualColumnMove/ui/backlight.mjs +1 -22
- package/plugins/manualColumnMove/ui/guideline.js +1 -37
- package/plugins/manualColumnMove/ui/guideline.mjs +1 -22
- package/plugins/manualColumnResize/index.js +0 -2
- package/plugins/manualColumnResize/manualColumnResize.js +44 -143
- package/plugins/manualColumnResize/manualColumnResize.mjs +43 -118
- package/plugins/manualRowMove/index.js +0 -2
- package/plugins/manualRowMove/manualRowMove.js +45 -137
- package/plugins/manualRowMove/manualRowMove.mjs +45 -109
- package/plugins/manualRowMove/ui/_base.js +12 -27
- package/plugins/manualRowMove/ui/_base.mjs +12 -26
- package/plugins/manualRowMove/ui/backlight.js +1 -37
- package/plugins/manualRowMove/ui/backlight.mjs +1 -22
- package/plugins/manualRowMove/ui/guideline.js +1 -37
- package/plugins/manualRowMove/ui/guideline.mjs +1 -22
- package/plugins/manualRowResize/index.js +0 -2
- package/plugins/manualRowResize/manualRowResize.js +42 -138
- package/plugins/manualRowResize/manualRowResize.mjs +41 -112
- package/plugins/mergeCells/calculations/autofill.js +39 -130
- package/plugins/mergeCells/calculations/autofill.mjs +44 -122
- package/plugins/mergeCells/calculations/selection.js +9 -40
- package/plugins/mergeCells/calculations/selection.mjs +9 -37
- package/plugins/mergeCells/cellCoords.js +30 -51
- package/plugins/mergeCells/cellCoords.mjs +35 -54
- package/plugins/mergeCells/cellsCollection.js +13 -84
- package/plugins/mergeCells/cellsCollection.mjs +18 -69
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +4 -11
- package/plugins/mergeCells/index.js +0 -2
- package/plugins/mergeCells/mergeCells.js +130 -333
- package/plugins/mergeCells/mergeCells.mjs +130 -292
- package/plugins/mergeCells/utils.js +0 -3
- package/plugins/mergeCells/utils.mjs +0 -1
- package/plugins/multiColumnSorting/domHelpers.js +3 -15
- package/plugins/multiColumnSorting/domHelpers.mjs +3 -7
- package/plugins/multiColumnSorting/index.js +0 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +14 -66
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +14 -44
- package/plugins/multiColumnSorting/rootComparator.js +2 -26
- package/plugins/multiColumnSorting/rootComparator.mjs +9 -23
- package/plugins/multiColumnSorting/utils.js +0 -7
- package/plugins/multiColumnSorting/utils.mjs +3 -8
- package/plugins/multipleSelectionHandles/index.js +0 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +6 -109
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +6 -87
- package/plugins/nestedHeaders/index.js +0 -2
- package/plugins/nestedHeaders/nestedHeaders.js +79 -200
- package/plugins/nestedHeaders/nestedHeaders.mjs +80 -173
- package/plugins/nestedHeaders/stateManager/headersTree.js +16 -93
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +16 -73
- package/plugins/nestedHeaders/stateManager/index.js +24 -107
- package/plugins/nestedHeaders/stateManager/index.mjs +51 -115
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +38 -51
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +29 -35
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +26 -32
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +9 -20
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -5
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +9 -21
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +44 -61
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +16 -78
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +21 -68
- package/plugins/nestedHeaders/stateManager/utils.js +19 -22
- package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
- package/plugins/nestedHeaders/utils/ghostTable.js +9 -37
- package/plugins/nestedHeaders/utils/ghostTable.mjs +16 -43
- package/plugins/nestedRows/data/dataManager.js +40 -161
- package/plugins/nestedRows/data/dataManager.mjs +44 -148
- package/plugins/nestedRows/index.js +0 -2
- package/plugins/nestedRows/nestedRows.js +41 -119
- package/plugins/nestedRows/nestedRows.mjs +41 -86
- package/plugins/nestedRows/ui/_base.js +1 -9
- package/plugins/nestedRows/ui/_base.mjs +1 -8
- package/plugins/nestedRows/ui/collapsing.js +28 -134
- package/plugins/nestedRows/ui/collapsing.mjs +34 -118
- package/plugins/nestedRows/ui/contextMenu.js +2 -53
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -32
- package/plugins/nestedRows/ui/headers.js +5 -50
- package/plugins/nestedRows/ui/headers.mjs +11 -41
- package/plugins/nestedRows/utils/rowMoveController.js +28 -78
- package/plugins/nestedRows/utils/rowMoveController.mjs +33 -66
- package/plugins/persistentState/index.js +0 -2
- package/plugins/persistentState/persistentState.js +10 -58
- package/plugins/persistentState/persistentState.mjs +10 -37
- package/plugins/persistentState/storage.js +9 -25
- package/plugins/persistentState/storage.mjs +12 -26
- package/plugins/registry.js +7 -51
- package/plugins/registry.mjs +8 -34
- package/plugins/search/index.js +0 -2
- package/plugins/search/search.js +16 -98
- package/plugins/search/search.mjs +16 -68
- package/plugins/touchScroll/index.js +0 -2
- package/plugins/touchScroll/touchScroll.js +15 -76
- package/plugins/touchScroll/touchScroll.mjs +15 -58
- package/plugins/trimRows/index.js +0 -2
- package/plugins/trimRows/trimRows.js +62 -88
- package/plugins/trimRows/trimRows.mjs +62 -65
- package/plugins/undoRedo/index.js +0 -14
- package/plugins/undoRedo/undoRedo.js +48 -218
- package/plugins/undoRedo/undoRedo.mjs +48 -188
- package/registry.js +0 -11
- package/registry.mjs +2 -4
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
- package/renderers/autocompleteRenderer/index.js +0 -2
- package/renderers/baseRenderer/baseRenderer.js +2 -11
- package/renderers/baseRenderer/baseRenderer.mjs +2 -9
- package/renderers/baseRenderer/index.js +0 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
- package/renderers/checkboxRenderer/index.js +0 -2
- package/renderers/htmlRenderer/htmlRenderer.js +1 -7
- package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
- package/renderers/htmlRenderer/index.js +0 -2
- package/renderers/index.js +0 -19
- package/renderers/index.mjs +3 -5
- package/renderers/numericRenderer/index.js +0 -2
- package/renderers/numericRenderer/numericRenderer.js +1 -23
- package/renderers/numericRenderer/numericRenderer.mjs +1 -10
- package/renderers/passwordRenderer/index.js +0 -2
- package/renderers/passwordRenderer/passwordRenderer.js +1 -8
- package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
- package/renderers/registry.js +7 -16
- package/renderers/registry.mjs +7 -14
- package/renderers/textRenderer/index.js +0 -2
- package/renderers/textRenderer/textRenderer.js +2 -14
- package/renderers/textRenderer/textRenderer.mjs +2 -6
- package/renderers/timeRenderer/index.js +0 -2
- package/renderers/timeRenderer/timeRenderer.js +1 -6
- package/renderers/timeRenderer/timeRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +17 -73
- package/selection/highlight/highlight.mjs +31 -64
- package/selection/highlight/types/activeHeader.js +1 -21
- package/selection/highlight/types/activeHeader.mjs +6 -16
- package/selection/highlight/types/area.js +2 -22
- package/selection/highlight/types/area.mjs +10 -20
- package/selection/highlight/types/cell.js +1 -21
- package/selection/highlight/types/cell.mjs +9 -19
- package/selection/highlight/types/customSelection.js +2 -22
- package/selection/highlight/types/customSelection.mjs +11 -21
- package/selection/highlight/types/fill.js +2 -17
- package/selection/highlight/types/fill.mjs +9 -14
- package/selection/highlight/types/header.js +3 -23
- package/selection/highlight/types/header.mjs +13 -23
- package/selection/highlight/types/index.js +3 -24
- package/selection/highlight/types/index.mjs +3 -10
- package/selection/highlight/visualSelection.js +24 -74
- package/selection/highlight/visualSelection.mjs +24 -62
- package/selection/index.js +0 -14
- package/selection/mouseEventHandler.js +19 -30
- package/selection/mouseEventHandler.mjs +32 -36
- package/selection/range.js +11 -31
- package/selection/range.mjs +11 -22
- package/selection/selection.js +62 -157
- package/selection/selection.mjs +65 -132
- package/selection/transformation.js +10 -40
- package/selection/transformation.mjs +18 -45
- package/selection/utils.js +22 -70
- package/selection/utils.mjs +22 -47
- package/shortcuts/context.js +23 -78
- package/shortcuts/context.mjs +23 -55
- package/shortcuts/index.js +0 -2
- package/shortcuts/keyObserver.js +4 -17
- package/shortcuts/keyObserver.mjs +4 -12
- package/shortcuts/manager.js +16 -36
- package/shortcuts/manager.mjs +16 -33
- package/shortcuts/recorder.js +20 -47
- package/shortcuts/recorder.mjs +20 -39
- package/shortcuts/utils.js +5 -24
- package/shortcuts/utils.mjs +5 -8
- package/tableView.js +100 -270
- package/tableView.mjs +100 -248
- package/translations/changesObservable/observable.js +5 -54
- package/translations/changesObservable/observable.mjs +12 -51
- package/translations/changesObservable/observer.js +4 -32
- package/translations/changesObservable/observer.mjs +9 -29
- package/translations/changesObservable/utils.js +1 -5
- package/translations/changesObservable/utils.mjs +1 -4
- package/translations/index.js +0 -11
- package/translations/indexMapper.js +70 -158
- package/translations/indexMapper.mjs +70 -125
- package/translations/mapCollections/aggregatedCollection.js +9 -51
- package/translations/mapCollections/aggregatedCollection.mjs +12 -41
- package/translations/mapCollections/index.js +0 -7
- package/translations/mapCollections/mapCollection.js +10 -33
- package/translations/mapCollections/mapCollection.mjs +10 -22
- package/translations/maps/hidingMap.js +2 -35
- package/translations/maps/hidingMap.mjs +7 -28
- package/translations/maps/index.js +1 -24
- package/translations/maps/index.mjs +1 -3
- package/translations/maps/indexMap.js +12 -34
- package/translations/maps/indexMap.mjs +16 -32
- package/translations/maps/indexesSequence.js +3 -41
- package/translations/maps/indexesSequence.mjs +9 -32
- package/translations/maps/linkedPhysicalIndexToValueMap.js +9 -78
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +16 -59
- package/translations/maps/physicalIndexToValueMap.js +2 -39
- package/translations/maps/physicalIndexToValueMap.mjs +8 -31
- package/translations/maps/trimmingMap.js +2 -35
- package/translations/maps/trimmingMap.mjs +7 -28
- package/translations/maps/utils/actionsOnIndexes.js +1 -7
- package/translations/maps/utils/actionsOnIndexes.mjs +9 -12
- package/translations/maps/utils/index.js +0 -13
- package/translations/maps/utils/index.mjs +0 -3
- package/translations/maps/utils/indexesSequence.js +1 -24
- package/translations/maps/utils/indexesSequence.mjs +10 -19
- package/translations/maps/utils/physicallyIndexed.js +1 -27
- package/translations/maps/utils/physicallyIndexed.mjs +11 -21
- package/utils/dataStructures/linkedList.js +15 -56
- package/utils/dataStructures/linkedList.mjs +15 -54
- package/utils/dataStructures/priorityMap.js +8 -46
- package/utils/dataStructures/priorityMap.mjs +8 -29
- package/utils/dataStructures/queue.js +6 -17
- package/utils/dataStructures/queue.mjs +6 -16
- package/utils/dataStructures/stack.js +6 -17
- package/utils/dataStructures/stack.mjs +6 -16
- package/utils/dataStructures/tree.js +11 -75
- package/utils/dataStructures/tree.mjs +11 -54
- package/utils/dataStructures/uniqueMap.js +17 -56
- package/utils/dataStructures/uniqueMap.mjs +17 -42
- package/utils/dataStructures/uniqueSet.js +5 -32
- package/utils/dataStructures/uniqueSet.mjs +5 -19
- package/utils/ghostTable.js +33 -104
- package/utils/ghostTable.mjs +35 -92
- package/utils/interval.js +10 -37
- package/utils/interval.mjs +7 -29
- package/utils/parseTable.js +11 -92
- package/utils/parseTable.mjs +11 -62
- package/utils/rootInstance.js +3 -14
- package/utils/rootInstance.mjs +3 -3
- package/utils/samplesGenerator.js +15 -51
- package/utils/samplesGenerator.mjs +17 -44
- package/utils/staticRegister.js +6 -33
- package/utils/staticRegister.mjs +6 -19
- package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
- package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
- package/validators/autocompleteValidator/index.js +0 -2
- package/validators/dateValidator/dateValidator.js +2 -21
- package/validators/dateValidator/dateValidator.mjs +2 -11
- package/validators/dateValidator/index.js +0 -2
- package/validators/index.js +0 -11
- package/validators/index.mjs +3 -5
- package/validators/numericValidator/index.js +0 -2
- package/validators/numericValidator/numericValidator.js +1 -7
- package/validators/numericValidator/numericValidator.mjs +1 -3
- package/validators/registry.js +7 -16
- package/validators/registry.mjs +7 -14
- package/validators/timeValidator/index.js +0 -2
- package/validators/timeValidator/timeValidator.js +6 -18
- package/validators/timeValidator/timeValidator.mjs +8 -13
- package/utils/sortingAlgorithms/mergeSort.js +0 -120
- package/utils/sortingAlgorithms/mergeSort.mjs +0 -110
@@ -1,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,50 +504,50 @@ 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
|
*
|
526
|
+
* The `executeCommand()` method works only for selected cells.
|
527
|
+
*
|
528
|
+
* When no cells are selected, `executeCommand()` doesn't do anything.
|
529
|
+
*
|
577
530
|
* @param {Event} [event] The mouse event object.
|
578
531
|
*/
|
579
|
-
|
580
532
|
}, {
|
581
533
|
key: "executeCommand",
|
582
534
|
value: function executeCommand(event) {
|
583
535
|
if (!this.isOpened() || !this.hasSelectedItem()) {
|
584
536
|
return;
|
585
537
|
}
|
586
|
-
|
587
538
|
var selectedItem = this.getSelectedItem();
|
588
539
|
this.runLocalHooks('select', selectedItem, event);
|
589
|
-
|
590
540
|
if (this.isCommandPassive(selectedItem)) {
|
591
541
|
return;
|
592
542
|
}
|
593
|
-
|
594
543
|
var selRanges = this.hot.getSelectedRange();
|
595
544
|
var normalizedSelection = selRanges ? normalizeSelection(selRanges) : [];
|
596
545
|
this.runLocalHooks('executeCommand', selectedItem.key, normalizedSelection, event);
|
597
|
-
|
598
546
|
if (this.isSubMenu()) {
|
599
547
|
this.parentMenu.runLocalHooks('executeCommand', selectedItem.key, normalizedSelection, event);
|
600
548
|
}
|
601
549
|
}
|
550
|
+
|
602
551
|
/**
|
603
552
|
* Checks if the passed command is passive or not. The command is passive when it's marked as
|
604
553
|
* disabled, the descriptor object contains `isCommand` property set to `false`, command
|
@@ -608,28 +557,26 @@ var Menu = /*#__PURE__*/function () {
|
|
608
557
|
* @param {object} commandDescriptor Selected menu item from the menu data source.
|
609
558
|
* @returns {boolean}
|
610
559
|
*/
|
611
|
-
|
612
560
|
}, {
|
613
561
|
key: "isCommandPassive",
|
614
562
|
value: function isCommandPassive(commandDescriptor) {
|
615
563
|
var isCommand = commandDescriptor.isCommand,
|
616
|
-
|
617
|
-
|
618
|
-
|
564
|
+
commandName = commandDescriptor.name,
|
565
|
+
disabled = commandDescriptor.disabled,
|
566
|
+
submenu = commandDescriptor.submenu;
|
619
567
|
var isItemDisabled = disabled === true || typeof disabled === 'function' && disabled.call(this.hot) === true;
|
620
568
|
return isCommand === false || commandName === SEPARATOR || isItemDisabled === true || submenu;
|
621
569
|
}
|
570
|
+
|
622
571
|
/**
|
623
572
|
* Set menu position based on dom event or based on literal object.
|
624
573
|
*
|
625
574
|
* @param {Event|object} coords Event or literal Object with coordinates.
|
626
575
|
*/
|
627
|
-
|
628
576
|
}, {
|
629
577
|
key: "setPosition",
|
630
578
|
value: function setPosition(coords) {
|
631
579
|
var cursor = new Cursor(coords, this.container.ownerDocument.defaultView);
|
632
|
-
|
633
580
|
if (this.options.keepInViewport) {
|
634
581
|
if (cursor.fitsBelow(this.container)) {
|
635
582
|
this.setPositionBelowCursor(cursor);
|
@@ -638,7 +585,6 @@ var Menu = /*#__PURE__*/function () {
|
|
638
585
|
} else {
|
639
586
|
this.setPositionBelowCursor(cursor);
|
640
587
|
}
|
641
|
-
|
642
588
|
if (this.hot.isLtr()) {
|
643
589
|
this.setHorizontalPositionForLtr(cursor);
|
644
590
|
} else {
|
@@ -649,12 +595,12 @@ var Menu = /*#__PURE__*/function () {
|
|
649
595
|
this.setPositionOnRightOfCursor(cursor);
|
650
596
|
}
|
651
597
|
}
|
598
|
+
|
652
599
|
/**
|
653
600
|
* Set menu horizontal position for RTL mode.
|
654
601
|
*
|
655
602
|
* @param {Cursor} cursor `Cursor` object.
|
656
603
|
*/
|
657
|
-
|
658
604
|
}, {
|
659
605
|
key: "setHorizontalPositionForRtl",
|
660
606
|
value: function setHorizontalPositionForRtl(cursor) {
|
@@ -664,12 +610,12 @@ var Menu = /*#__PURE__*/function () {
|
|
664
610
|
this.setPositionOnRightOfCursor(cursor);
|
665
611
|
}
|
666
612
|
}
|
613
|
+
|
667
614
|
/**
|
668
615
|
* Set menu horizontal position for LTR mode.
|
669
616
|
*
|
670
617
|
* @param {Cursor} cursor `Cursor` object.
|
671
618
|
*/
|
672
|
-
|
673
619
|
}, {
|
674
620
|
key: "setHorizontalPositionForLtr",
|
675
621
|
value: function setHorizontalPositionForLtr(cursor) {
|
@@ -679,164 +625,151 @@ var Menu = /*#__PURE__*/function () {
|
|
679
625
|
this.setPositionOnLeftOfCursor(cursor);
|
680
626
|
}
|
681
627
|
}
|
628
|
+
|
682
629
|
/**
|
683
630
|
* Set menu position above cursor object.
|
684
631
|
*
|
685
632
|
* @param {Cursor} cursor `Cursor` object.
|
686
633
|
*/
|
687
|
-
|
688
634
|
}, {
|
689
635
|
key: "setPositionAboveCursor",
|
690
636
|
value: function setPositionAboveCursor(cursor) {
|
691
637
|
var top = this.offset.above + cursor.top - this.container.offsetHeight;
|
692
|
-
|
693
638
|
if (this.isSubMenu()) {
|
694
639
|
top = cursor.top + cursor.cellHeight - this.container.offsetHeight + 3;
|
695
640
|
}
|
696
|
-
|
697
641
|
this.container.style.top = "".concat(top, "px");
|
698
642
|
}
|
643
|
+
|
699
644
|
/**
|
700
645
|
* Set menu position below cursor object.
|
701
646
|
*
|
702
647
|
* @param {Cursor} cursor `Cursor` object.
|
703
648
|
*/
|
704
|
-
|
705
649
|
}, {
|
706
650
|
key: "setPositionBelowCursor",
|
707
651
|
value: function setPositionBelowCursor(cursor) {
|
708
652
|
var top = this.offset.below + cursor.top + 1;
|
709
|
-
|
710
653
|
if (this.isSubMenu()) {
|
711
654
|
top = cursor.top - 1;
|
712
655
|
}
|
713
|
-
|
714
656
|
this.container.style.top = "".concat(top, "px");
|
715
657
|
}
|
658
|
+
|
716
659
|
/**
|
717
660
|
* Set menu position on the right of cursor object.
|
718
661
|
*
|
719
662
|
* @param {Cursor} cursor `Cursor` object.
|
720
663
|
*/
|
721
|
-
|
722
664
|
}, {
|
723
665
|
key: "setPositionOnRightOfCursor",
|
724
666
|
value: function setPositionOnRightOfCursor(cursor) {
|
725
667
|
var left = cursor.left;
|
726
|
-
|
727
668
|
if (this.isSubMenu()) {
|
728
669
|
var _this$parentMenu$cont = this.parentMenu.container.getBoundingClientRect(),
|
729
|
-
|
730
|
-
|
670
|
+
parentMenuRight = _this$parentMenu$cont.right;
|
731
671
|
|
672
|
+
// move the sub menu by the width of the parent's border (usually by 1-2 pixels)
|
732
673
|
left += cursor.cellWidth + parentMenuRight - (cursor.left + cursor.cellWidth);
|
733
674
|
} else {
|
734
675
|
left += this.offset.right;
|
735
676
|
}
|
736
|
-
|
737
677
|
this.container.style.left = "".concat(left, "px");
|
738
678
|
}
|
679
|
+
|
739
680
|
/**
|
740
681
|
* Set menu position on the left of cursor object.
|
741
682
|
*
|
742
683
|
* @param {Cursor} cursor `Cursor` object.
|
743
684
|
*/
|
744
|
-
|
745
685
|
}, {
|
746
686
|
key: "setPositionOnLeftOfCursor",
|
747
687
|
value: function setPositionOnLeftOfCursor(cursor) {
|
748
688
|
var left = this.offset.left + cursor.left - this.container.offsetWidth;
|
749
|
-
|
750
689
|
if (this.isSubMenu()) {
|
751
690
|
var _this$parentMenu$cont2 = this.parentMenu.container.getBoundingClientRect(),
|
752
|
-
|
753
|
-
|
691
|
+
parentMenuLeft = _this$parentMenu$cont2.left;
|
754
692
|
|
693
|
+
// move the sub menu by the width of the parent's border (usually by 1-2 pixels)
|
755
694
|
left -= cursor.left - parentMenuLeft;
|
756
695
|
}
|
757
|
-
|
758
696
|
this.container.style.left = "".concat(left, "px");
|
759
697
|
}
|
698
|
+
|
760
699
|
/**
|
761
700
|
* Select first cell in opened menu.
|
762
701
|
*/
|
763
|
-
|
764
702
|
}, {
|
765
703
|
key: "selectFirstCell",
|
766
704
|
value: function selectFirstCell() {
|
767
705
|
var cell = this.hotMenu.getCell(0, 0);
|
768
|
-
|
769
706
|
if (isSeparator(cell) || isDisabled(cell) || isSelectionDisabled(cell)) {
|
770
707
|
this.selectNextCell(0, 0);
|
771
708
|
} else {
|
772
709
|
this.hotMenu.selectCell(0, 0);
|
773
710
|
}
|
774
711
|
}
|
712
|
+
|
775
713
|
/**
|
776
714
|
* Select last cell in opened menu.
|
777
715
|
*/
|
778
|
-
|
779
716
|
}, {
|
780
717
|
key: "selectLastCell",
|
781
718
|
value: function selectLastCell() {
|
782
719
|
var lastRow = this.hotMenu.countRows() - 1;
|
783
720
|
var cell = this.hotMenu.getCell(lastRow, 0);
|
784
|
-
|
785
721
|
if (isSeparator(cell) || isDisabled(cell) || isSelectionDisabled(cell)) {
|
786
722
|
this.selectPrevCell(lastRow, 0);
|
787
723
|
} else {
|
788
724
|
// disable default "scroll-to-cell" option and instead of that...
|
789
|
-
this.hotMenu.selectCell(lastRow, 0, undefined, undefined, false);
|
790
|
-
|
725
|
+
this.hotMenu.selectCell(lastRow, 0, undefined, undefined, false);
|
726
|
+
// ...scroll to the cell with "snap to the bottom" option
|
791
727
|
this.hotMenu.scrollViewportTo(lastRow, 0, true, false);
|
792
728
|
}
|
793
729
|
}
|
730
|
+
|
794
731
|
/**
|
795
732
|
* Select next cell in opened menu.
|
796
733
|
*
|
797
734
|
* @param {number} row Row index.
|
798
735
|
* @param {number} col Column index.
|
799
736
|
*/
|
800
|
-
|
801
737
|
}, {
|
802
738
|
key: "selectNextCell",
|
803
739
|
value: function selectNextCell(row, col) {
|
804
740
|
var nextRow = row + 1;
|
805
741
|
var cell = nextRow < this.hotMenu.countRows() ? this.hotMenu.getCell(nextRow, col) : null;
|
806
|
-
|
807
742
|
if (!cell) {
|
808
743
|
return;
|
809
744
|
}
|
810
|
-
|
811
745
|
if (isSeparator(cell) || isDisabled(cell) || isSelectionDisabled(cell)) {
|
812
746
|
this.selectNextCell(nextRow, col);
|
813
747
|
} else {
|
814
748
|
this.hotMenu.selectCell(nextRow, col);
|
815
749
|
}
|
816
750
|
}
|
751
|
+
|
817
752
|
/**
|
818
753
|
* Select previous cell in opened menu.
|
819
754
|
*
|
820
755
|
* @param {number} row Row index.
|
821
756
|
* @param {number} col Column index.
|
822
757
|
*/
|
823
|
-
|
824
758
|
}, {
|
825
759
|
key: "selectPrevCell",
|
826
760
|
value: function selectPrevCell(row, col) {
|
827
761
|
var prevRow = row - 1;
|
828
762
|
var cell = prevRow >= 0 ? this.hotMenu.getCell(prevRow, col) : null;
|
829
|
-
|
830
763
|
if (!cell) {
|
831
764
|
return;
|
832
765
|
}
|
833
|
-
|
834
766
|
if (isSeparator(cell) || isDisabled(cell) || isSelectionDisabled(cell)) {
|
835
767
|
this.selectPrevCell(prevRow, col);
|
836
768
|
} else {
|
837
769
|
this.hotMenu.selectCell(prevRow, col);
|
838
770
|
}
|
839
771
|
}
|
772
|
+
|
840
773
|
/**
|
841
774
|
* Menu item renderer.
|
842
775
|
*
|
@@ -848,41 +781,31 @@ var Menu = /*#__PURE__*/function () {
|
|
848
781
|
* @param {string} prop The column property if used.
|
849
782
|
* @param {string} value The cell value.
|
850
783
|
*/
|
851
|
-
|
852
784
|
}, {
|
853
785
|
key: "menuItemRenderer",
|
854
786
|
value: function menuItemRenderer(hot, TD, row, col, prop, value) {
|
855
787
|
var _this4 = this;
|
856
|
-
|
857
788
|
var item = hot.getSourceDataAtRow(row);
|
858
789
|
var wrapper = this.hot.rootDocument.createElement('div');
|
859
|
-
|
860
790
|
var isSubMenu = function isSubMenu(itemToTest) {
|
861
791
|
return hasOwnProperty(itemToTest, 'submenu');
|
862
792
|
};
|
863
|
-
|
864
793
|
var itemIsSeparator = function itemIsSeparator(itemToTest) {
|
865
794
|
return new RegExp(SEPARATOR, 'i').test(itemToTest.name);
|
866
795
|
};
|
867
|
-
|
868
796
|
var itemIsDisabled = function itemIsDisabled(itemToTest) {
|
869
797
|
return itemToTest.disabled === true || typeof itemToTest.disabled === 'function' && itemToTest.disabled.call(_this4.hot) === true;
|
870
798
|
};
|
871
|
-
|
872
799
|
var itemIsSelectionDisabled = function itemIsSelectionDisabled(itemToTest) {
|
873
800
|
return itemToTest.disableSelection;
|
874
801
|
};
|
875
|
-
|
876
802
|
var itemValue = value;
|
877
|
-
|
878
803
|
if (typeof itemValue === 'function') {
|
879
804
|
itemValue = itemValue.call(this.hot);
|
880
805
|
}
|
881
|
-
|
882
806
|
empty(TD);
|
883
807
|
addClass(wrapper, 'htItemWrapper');
|
884
808
|
TD.appendChild(wrapper);
|
885
|
-
|
886
809
|
if (itemIsSeparator(item)) {
|
887
810
|
addClass(TD, 'htSeparator');
|
888
811
|
} else if (typeof item.renderer === 'function') {
|
@@ -891,7 +814,6 @@ var Menu = /*#__PURE__*/function () {
|
|
891
814
|
} else {
|
892
815
|
fastInnerHTML(wrapper, itemValue);
|
893
816
|
}
|
894
|
-
|
895
817
|
if (itemIsDisabled(item)) {
|
896
818
|
addClass(TD, 'htDisabled');
|
897
819
|
this.eventManager.addEventListener(TD, 'mouseenter', function () {
|
@@ -904,7 +826,6 @@ var Menu = /*#__PURE__*/function () {
|
|
904
826
|
});
|
905
827
|
} else if (isSubMenu(item)) {
|
906
828
|
addClass(TD, 'htSubmenu');
|
907
|
-
|
908
829
|
if (itemIsSelectionDisabled(item)) {
|
909
830
|
this.eventManager.addEventListener(TD, 'mouseenter', function () {
|
910
831
|
return hot.deselectCell();
|
@@ -916,7 +837,6 @@ var Menu = /*#__PURE__*/function () {
|
|
916
837
|
}
|
917
838
|
} else {
|
918
839
|
removeClass(TD, ['htSubmenu', 'htDisabled']);
|
919
|
-
|
920
840
|
if (itemIsSelectionDisabled(item)) {
|
921
841
|
this.eventManager.addEventListener(TD, 'mouseenter', function () {
|
922
842
|
return hot.deselectCell();
|
@@ -928,6 +848,7 @@ var Menu = /*#__PURE__*/function () {
|
|
928
848
|
}
|
929
849
|
}
|
930
850
|
}
|
851
|
+
|
931
852
|
/**
|
932
853
|
* Create container/wrapper for handsontable.
|
933
854
|
*
|
@@ -935,7 +856,6 @@ var Menu = /*#__PURE__*/function () {
|
|
935
856
|
* @param {string} [name] Class name.
|
936
857
|
* @returns {HTMLElement}
|
937
858
|
*/
|
938
|
-
|
939
859
|
}, {
|
940
860
|
key: "createContainer",
|
941
861
|
value: function createContainer() {
|
@@ -943,52 +863,44 @@ var Menu = /*#__PURE__*/function () {
|
|
943
863
|
var doc = this.options.container.ownerDocument;
|
944
864
|
var className = name;
|
945
865
|
var container;
|
946
|
-
|
947
866
|
if (className) {
|
948
867
|
if (isFunction(className)) {
|
949
868
|
className = className.call(this.hot);
|
950
|
-
|
951
869
|
if (className === null || isUndefined(className)) {
|
952
870
|
className = '';
|
953
871
|
} else {
|
954
872
|
className = className.toString();
|
955
873
|
}
|
956
874
|
}
|
957
|
-
|
958
875
|
className = className.replace(/[^A-z0-9]/g, '_');
|
959
876
|
className = "".concat(this.options.className, "Sub_").concat(className);
|
960
877
|
container = doc.querySelector(".".concat(this.options.className, ".").concat(className));
|
961
878
|
}
|
962
|
-
|
963
879
|
if (!container) {
|
964
880
|
container = doc.createElement('div');
|
965
881
|
addClass(container, "htMenu ".concat(this.options.className));
|
966
|
-
|
967
882
|
if (className) {
|
968
883
|
addClass(container, className);
|
969
884
|
}
|
970
|
-
|
971
885
|
this.options.container.appendChild(container);
|
972
886
|
}
|
973
|
-
|
974
887
|
return container;
|
975
888
|
}
|
889
|
+
|
976
890
|
/**
|
977
891
|
* @private
|
978
892
|
*/
|
979
|
-
|
980
893
|
}, {
|
981
894
|
key: "blockMainTableCallbacks",
|
982
895
|
value: function blockMainTableCallbacks() {
|
983
896
|
this._afterScrollCallback = function () {};
|
984
|
-
|
985
897
|
this.hot.addHook('afterScrollVertically', this._afterScrollCallback);
|
986
898
|
this.hot.addHook('afterScrollHorizontally', this._afterScrollCallback);
|
987
899
|
}
|
900
|
+
|
988
901
|
/**
|
989
902
|
* @private
|
990
903
|
*/
|
991
|
-
|
992
904
|
}, {
|
993
905
|
key: "releaseMainTableCallbacks",
|
994
906
|
value: function releaseMainTableCallbacks() {
|
@@ -998,12 +910,12 @@ var Menu = /*#__PURE__*/function () {
|
|
998
910
|
this._afterScrollCallback = null;
|
999
911
|
}
|
1000
912
|
}
|
913
|
+
|
1001
914
|
/**
|
1002
915
|
* On after init listener.
|
1003
916
|
*
|
1004
917
|
* @private
|
1005
918
|
*/
|
1006
|
-
|
1007
919
|
}, {
|
1008
920
|
key: "onAfterInit",
|
1009
921
|
value: function onAfterInit() {
|
@@ -1014,12 +926,14 @@ var Menu = /*#__PURE__*/function () {
|
|
1014
926
|
var currentHiderWidth = parseInt(hiderStyle.width, 10);
|
1015
927
|
var realHeight = arrayReduce(data, function (accumulator, value) {
|
1016
928
|
return accumulator + (value.name === SEPARATOR ? 1 : 26);
|
1017
|
-
}, 0);
|
929
|
+
}, 0);
|
1018
930
|
|
931
|
+
// Additional 3px to menu's size because of additional border around its `table.htCore`.
|
1019
932
|
holderStyle.width = "".concat(currentHiderWidth + 3, "px");
|
1020
933
|
holderStyle.height = "".concat(realHeight + 3, "px");
|
1021
934
|
hiderStyle.height = holderStyle.height;
|
1022
935
|
}
|
936
|
+
|
1023
937
|
/**
|
1024
938
|
* On after selection listener.
|
1025
939
|
*
|
@@ -1029,7 +943,6 @@ var Menu = /*#__PURE__*/function () {
|
|
1029
943
|
* @param {number} c2 Selection end column index.
|
1030
944
|
* @param {object} preventScrolling Object with `value` property where its value change will be observed.
|
1031
945
|
*/
|
1032
|
-
|
1033
946
|
}, {
|
1034
947
|
key: "onAfterSelection",
|
1035
948
|
value: function onAfterSelection(r, c, r2, c2, preventScrolling) {
|
@@ -1037,49 +950,48 @@ var Menu = /*#__PURE__*/function () {
|
|
1037
950
|
preventScrolling.value = true;
|
1038
951
|
}
|
1039
952
|
}
|
953
|
+
|
1040
954
|
/**
|
1041
955
|
* Document mouse down listener.
|
1042
956
|
*
|
1043
957
|
* @private
|
1044
958
|
* @param {Event} event The mouse event object.
|
1045
959
|
*/
|
1046
|
-
|
1047
960
|
}, {
|
1048
961
|
key: "onDocumentMouseDown",
|
1049
962
|
value: function onDocumentMouseDown(event) {
|
1050
963
|
if (!this.isOpened()) {
|
1051
964
|
return;
|
1052
|
-
}
|
1053
|
-
|
965
|
+
}
|
1054
966
|
|
967
|
+
// Close menu when clicked element is not belongs to menu itself
|
1055
968
|
if (this.options.standalone && this.hotMenu && !isChildOf(event.target, this.hotMenu.rootElement)) {
|
1056
|
-
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)
|
1057
972
|
} else if ((this.isAllSubMenusClosed() || this.isSubMenu()) && !isChildOf(event.target, '.htMenu')) {
|
1058
973
|
this.close(true);
|
1059
974
|
}
|
1060
975
|
}
|
976
|
+
|
1061
977
|
/**
|
1062
978
|
* Document's contextmenu listener.
|
1063
979
|
*
|
1064
980
|
* @private
|
1065
981
|
* @param {MouseEvent} event The mouse event object.
|
1066
982
|
*/
|
1067
|
-
|
1068
983
|
}, {
|
1069
984
|
key: "onDocumentContextMenu",
|
1070
985
|
value: function onDocumentContextMenu(event) {
|
1071
986
|
if (!this.isOpened()) {
|
1072
987
|
return;
|
1073
988
|
}
|
1074
|
-
|
1075
989
|
if (hasClass(event.target, 'htCore') && isChildOf(event.target, this.hotMenu.rootElement)) {
|
1076
990
|
event.preventDefault();
|
1077
991
|
}
|
1078
992
|
}
|
1079
993
|
}]);
|
1080
|
-
|
1081
994
|
return Menu;
|
1082
995
|
}();
|
1083
|
-
|
1084
996
|
mixin(Menu, localHooks);
|
1085
997
|
export default Menu;
|