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,79 +1,45 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
require("core-js/modules/es.symbol.js");
|
4
|
-
|
5
4
|
require("core-js/modules/es.array.filter.js");
|
6
|
-
|
7
5
|
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
8
|
-
|
9
6
|
require("core-js/modules/web.dom-collections.for-each.js");
|
10
|
-
|
11
7
|
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
12
|
-
|
13
8
|
exports.__esModule = true;
|
14
9
|
exports.default = void 0;
|
15
|
-
|
16
10
|
require("core-js/modules/es.function.name.js");
|
17
|
-
|
18
11
|
require("core-js/modules/web.timers.js");
|
19
|
-
|
20
12
|
require("core-js/modules/es.object.keys.js");
|
21
|
-
|
22
13
|
require("core-js/modules/es.regexp.exec.js");
|
23
|
-
|
24
14
|
require("core-js/modules/es.regexp.constructor.js");
|
25
|
-
|
26
15
|
require("core-js/modules/es.regexp.to-string.js");
|
27
|
-
|
28
16
|
require("core-js/modules/es.object.to-string.js");
|
29
|
-
|
30
17
|
require("core-js/modules/es.string.replace.js");
|
31
|
-
|
32
18
|
require("core-js/modules/es.array.concat.js");
|
33
|
-
|
34
19
|
var _cursor = _interopRequireDefault(require("./cursor"));
|
35
|
-
|
36
20
|
var _predefinedItems = require("./predefinedItems");
|
37
|
-
|
38
21
|
var _utils = require("./utils");
|
39
|
-
|
40
22
|
var _core = _interopRequireDefault(require("../../core"));
|
41
|
-
|
42
23
|
var _eventManager = _interopRequireDefault(require("../../eventManager"));
|
43
|
-
|
44
24
|
var _array = require("../../helpers/array");
|
45
|
-
|
46
25
|
var _browser = require("../../helpers/browser");
|
47
|
-
|
48
26
|
var _element = require("../../helpers/dom/element");
|
49
|
-
|
50
27
|
var _event = require("../../helpers/dom/event");
|
51
|
-
|
52
28
|
var _function = require("../../helpers/function");
|
53
|
-
|
54
29
|
var _mixed = require("../../helpers/mixed");
|
55
|
-
|
56
30
|
var _object = require("../../helpers/object");
|
57
|
-
|
58
31
|
var _localHooks = _interopRequireDefault(require("../../mixins/localHooks"));
|
59
|
-
|
60
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
61
|
-
|
62
33
|
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; }
|
63
|
-
|
64
34
|
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; }
|
65
|
-
|
66
35
|
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; }
|
67
|
-
|
68
36
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
69
|
-
|
70
37
|
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); } }
|
71
|
-
|
72
38
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
73
|
-
|
74
39
|
var MIN_WIDTH = 215;
|
75
40
|
var SHORTCUTS_CONTEXT = 'menu';
|
76
41
|
var SHORTCUTS_GROUP = SHORTCUTS_CONTEXT;
|
42
|
+
|
77
43
|
/**
|
78
44
|
* @typedef MenuOptions
|
79
45
|
* @property {Menu} [parent=null] Instance of {@link Menu}.
|
@@ -89,7 +55,6 @@ var SHORTCUTS_GROUP = SHORTCUTS_CONTEXT;
|
|
89
55
|
* @private
|
90
56
|
* @class Menu
|
91
57
|
*/
|
92
|
-
|
93
58
|
var Menu = /*#__PURE__*/function () {
|
94
59
|
/**
|
95
60
|
* @param {Core} hotInstance Handsontable instance.
|
@@ -97,7 +62,6 @@ var Menu = /*#__PURE__*/function () {
|
|
97
62
|
*/
|
98
63
|
function Menu(hotInstance, options) {
|
99
64
|
_classCallCheck(this, Menu);
|
100
|
-
|
101
65
|
this.hot = hotInstance;
|
102
66
|
this.options = options || {
|
103
67
|
parent: null,
|
@@ -125,20 +89,17 @@ var Menu = /*#__PURE__*/function () {
|
|
125
89
|
this._afterScrollCallback = null;
|
126
90
|
this.registerEvents();
|
127
91
|
}
|
92
|
+
|
128
93
|
/**
|
129
94
|
* Register event listeners.
|
130
95
|
*
|
131
96
|
* @private
|
132
97
|
*/
|
133
|
-
|
134
|
-
|
135
98
|
_createClass(Menu, [{
|
136
99
|
key: "registerEvents",
|
137
100
|
value: function registerEvents() {
|
138
101
|
var _this = this;
|
139
|
-
|
140
102
|
var frame = this.hot.rootWindow;
|
141
|
-
|
142
103
|
while (frame) {
|
143
104
|
this.eventManager.addEventListener(frame.document, 'mousedown', function (event) {
|
144
105
|
return _this.onDocumentMouseDown(event);
|
@@ -149,75 +110,74 @@ var Menu = /*#__PURE__*/function () {
|
|
149
110
|
frame = (0, _element.getParentWindow)(frame);
|
150
111
|
}
|
151
112
|
}
|
113
|
+
|
152
114
|
/**
|
153
115
|
* Set array of objects which defines menu items.
|
154
116
|
*
|
155
117
|
* @param {Array} menuItems Menu items to display.
|
156
118
|
*/
|
157
|
-
|
158
119
|
}, {
|
159
120
|
key: "setMenuItems",
|
160
121
|
value: function setMenuItems(menuItems) {
|
161
122
|
this.menuItems = menuItems;
|
162
123
|
}
|
124
|
+
|
163
125
|
/**
|
164
126
|
* Returns currently selected menu item. Returns `null` if no item was selected.
|
165
127
|
*
|
166
128
|
* @returns {object|null}
|
167
129
|
*/
|
168
|
-
|
169
130
|
}, {
|
170
131
|
key: "getSelectedItem",
|
171
132
|
value: function getSelectedItem() {
|
172
133
|
return this.hasSelectedItem() ? this.hotMenu.getSourceDataAtRow(this.hotMenu.getSelectedLast()[0]) : null;
|
173
134
|
}
|
135
|
+
|
174
136
|
/**
|
175
137
|
* Checks if the menu has selected (highlighted) any item from the menu list.
|
176
138
|
*
|
177
139
|
* @returns {boolean}
|
178
140
|
*/
|
179
|
-
|
180
141
|
}, {
|
181
142
|
key: "hasSelectedItem",
|
182
143
|
value: function hasSelectedItem() {
|
183
144
|
return Array.isArray(this.hotMenu.getSelectedLast());
|
184
145
|
}
|
146
|
+
|
185
147
|
/**
|
186
148
|
* Set offset menu position for specified area (`above`, `below`, `left` or `right`).
|
187
149
|
*
|
188
150
|
* @param {string} area Specified area name (`above`, `below`, `left` or `right`).
|
189
151
|
* @param {number} offset Offset value.
|
190
152
|
*/
|
191
|
-
|
192
153
|
}, {
|
193
154
|
key: "setOffset",
|
194
155
|
value: function setOffset(area) {
|
195
156
|
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
196
157
|
this.offset[area] = offset;
|
197
158
|
}
|
159
|
+
|
198
160
|
/**
|
199
161
|
* Check if menu is using as sub-menu.
|
200
162
|
*
|
201
163
|
* @returns {boolean}
|
202
164
|
*/
|
203
|
-
|
204
165
|
}, {
|
205
166
|
key: "isSubMenu",
|
206
167
|
value: function isSubMenu() {
|
207
168
|
return this.parentMenu !== null;
|
208
169
|
}
|
170
|
+
|
209
171
|
/**
|
210
172
|
* Open menu.
|
211
173
|
*
|
212
174
|
* @fires Hooks#beforeContextMenuShow
|
213
175
|
* @fires Hooks#afterContextMenuShow
|
214
176
|
*/
|
215
|
-
|
216
177
|
}, {
|
217
178
|
key: "open",
|
218
179
|
value: function open() {
|
219
180
|
var _this2 = this;
|
220
|
-
|
221
181
|
this.runLocalHooks('beforeOpen');
|
222
182
|
this.container.removeAttribute('style');
|
223
183
|
this.container.style.display = 'block';
|
@@ -230,16 +190,13 @@ var Menu = /*#__PURE__*/function () {
|
|
230
190
|
if (item.key === _predefinedItems.NO_ITEMS) {
|
231
191
|
noItemsDefined = true;
|
232
192
|
}
|
233
|
-
|
234
193
|
return (0, _utils.isItemHidden)(item, _this2.hot);
|
235
194
|
});
|
236
|
-
|
237
195
|
if (filteredItems.length < 1 && !noItemsDefined) {
|
238
196
|
filteredItems.push((0, _predefinedItems.predefinedItems)()[_predefinedItems.NO_ITEMS]);
|
239
197
|
} else if (filteredItems.length === 0) {
|
240
198
|
return;
|
241
199
|
}
|
242
|
-
|
243
200
|
filteredItems = (0, _utils.filterSeparators)(filteredItems, _predefinedItems.SEPARATOR);
|
244
201
|
var shouldAutoCloseMenu = false;
|
245
202
|
var settings = {
|
@@ -251,7 +208,6 @@ var Menu = /*#__PURE__*/function () {
|
|
251
208
|
if ((0, _mixed.isDefined)(width) && width < minWidthOfMenu) {
|
252
209
|
return minWidthOfMenu;
|
253
210
|
}
|
254
|
-
|
255
211
|
return width;
|
256
212
|
},
|
257
213
|
autoRowSize: false,
|
@@ -281,9 +237,10 @@ var Menu = /*#__PURE__*/function () {
|
|
281
237
|
return filteredItems[row].name === _predefinedItems.SEPARATOR ? 1 : 23;
|
282
238
|
},
|
283
239
|
afterOnCellContextMenu: function afterOnCellContextMenu(event) {
|
284
|
-
event.preventDefault();
|
285
|
-
// why the closing menu is here. (#6507#issuecomment-582392301).
|
240
|
+
event.preventDefault();
|
286
241
|
|
242
|
+
// On the Windows platform, the "contextmenu" is triggered after the "mouseup" so that's
|
243
|
+
// why the closing menu is here. (#6507#issuecomment-582392301).
|
287
244
|
if ((0, _browser.isWindowsOS)() && shouldAutoCloseMenu && _this2.hasSelectedItem()) {
|
288
245
|
_this2.close(true);
|
289
246
|
}
|
@@ -291,7 +248,6 @@ var Menu = /*#__PURE__*/function () {
|
|
291
248
|
beforeOnCellMouseUp: function beforeOnCellMouseUp(event) {
|
292
249
|
if (_this2.hasSelectedItem()) {
|
293
250
|
shouldAutoCloseMenu = !_this2.isCommandPassive(_this2.getSelectedItem());
|
294
|
-
|
295
251
|
_this2.executeCommand(event);
|
296
252
|
}
|
297
253
|
},
|
@@ -338,152 +294,123 @@ var Menu = /*#__PURE__*/function () {
|
|
338
294
|
var config = {
|
339
295
|
group: SHORTCUTS_CONTEXT
|
340
296
|
};
|
341
|
-
|
342
297
|
var menuContextConfig = _objectSpread(_objectSpread({}, config), {}, {
|
343
298
|
runOnlyIf: function runOnlyIf(event) {
|
344
299
|
return (0, _element.isInput)(event.target) === false || _this2.container.contains(event.target) === false;
|
345
300
|
}
|
346
|
-
});
|
347
|
-
|
301
|
+
});
|
348
302
|
|
303
|
+
// Default shortcuts for Handsontable should not be handled. Changing context will help with that.
|
349
304
|
shortcutManager.setActiveContextName('menu');
|
350
305
|
menuContext.addShortcuts([{
|
351
306
|
keys: [['Escape']],
|
352
307
|
callback: function callback() {
|
353
308
|
_this2.keyEvent = true;
|
354
|
-
|
355
309
|
_this2.close();
|
356
|
-
|
357
310
|
_this2.keyEvent = false;
|
358
311
|
}
|
359
312
|
}, {
|
360
313
|
keys: [['ArrowDown']],
|
361
314
|
callback: function callback() {
|
362
315
|
var selection = _this2.hotMenu.getSelectedLast();
|
363
|
-
|
364
316
|
_this2.keyEvent = true;
|
365
|
-
|
366
317
|
if (selection) {
|
367
318
|
_this2.selectNextCell(selection[0], selection[1]);
|
368
319
|
} else {
|
369
320
|
_this2.selectFirstCell();
|
370
321
|
}
|
371
|
-
|
372
322
|
_this2.keyEvent = false;
|
373
323
|
}
|
374
324
|
}, {
|
375
325
|
keys: [['ArrowUp']],
|
376
326
|
callback: function callback() {
|
377
327
|
var selection = _this2.hotMenu.getSelectedLast();
|
378
|
-
|
379
328
|
_this2.keyEvent = true;
|
380
|
-
|
381
329
|
if (selection) {
|
382
330
|
_this2.selectPrevCell(selection[0], selection[1]);
|
383
331
|
} else {
|
384
332
|
_this2.selectLastCell();
|
385
333
|
}
|
386
|
-
|
387
334
|
_this2.keyEvent = false;
|
388
335
|
}
|
389
336
|
}, {
|
390
337
|
keys: [['ArrowRight']],
|
391
338
|
callback: function callback() {
|
392
339
|
var selection = _this2.hotMenu.getSelectedLast();
|
393
|
-
|
394
340
|
_this2.keyEvent = true;
|
395
|
-
|
396
341
|
if (selection) {
|
397
342
|
var menu = _this2.openSubMenu(selection[0]);
|
398
|
-
|
399
343
|
if (menu) {
|
400
344
|
menu.selectFirstCell();
|
401
345
|
}
|
402
346
|
}
|
403
|
-
|
404
347
|
_this2.keyEvent = false;
|
405
348
|
}
|
406
349
|
}, {
|
407
350
|
keys: [['ArrowLeft']],
|
408
351
|
callback: function callback() {
|
409
352
|
var selection = _this2.hotMenu.getSelectedLast();
|
410
|
-
|
411
353
|
_this2.keyEvent = true;
|
412
|
-
|
413
354
|
if (selection && _this2.isSubMenu()) {
|
414
355
|
_this2.close();
|
415
|
-
|
416
356
|
if (_this2.parentMenu) {
|
417
357
|
_this2.parentMenu.hotMenu.listen();
|
418
358
|
}
|
419
359
|
}
|
420
|
-
|
421
360
|
_this2.keyEvent = false;
|
422
361
|
}
|
423
362
|
}, {
|
424
363
|
keys: [['Enter']],
|
425
364
|
callback: function callback(event) {
|
426
365
|
var selection = _this2.hotMenu.getSelectedLast();
|
427
|
-
|
428
366
|
_this2.keyEvent = true;
|
429
|
-
|
430
367
|
if (!_this2.hotMenu.getSourceDataAtRow(selection[0]).submenu) {
|
431
368
|
_this2.executeCommand(event);
|
432
|
-
|
433
369
|
_this2.close(true);
|
434
370
|
}
|
435
|
-
|
436
371
|
_this2.keyEvent = false;
|
437
372
|
}
|
438
373
|
}, {
|
439
374
|
keys: [['PageUp']],
|
440
375
|
callback: function callback() {
|
441
376
|
var selection = _this2.hotMenu.getSelectedLast();
|
442
|
-
|
443
377
|
_this2.keyEvent = true;
|
444
|
-
|
445
378
|
if (selection) {
|
446
379
|
_this2.hotMenu.selection.transformStart(-_this2.hotMenu.countVisibleRows(), 0);
|
447
380
|
} else {
|
448
381
|
_this2.selectFirstCell();
|
449
382
|
}
|
450
|
-
|
451
383
|
_this2.keyEvent = false;
|
452
384
|
}
|
453
385
|
}, {
|
454
386
|
keys: [['PageDown']],
|
455
387
|
callback: function callback() {
|
456
388
|
var selection = _this2.hotMenu.getSelectedLast();
|
457
|
-
|
458
389
|
_this2.keyEvent = true;
|
459
|
-
|
460
390
|
if (selection) {
|
461
391
|
_this2.hotMenu.selection.transformStart(_this2.hotMenu.countVisibleRows(), 0);
|
462
392
|
} else {
|
463
393
|
_this2.selectLastCell();
|
464
394
|
}
|
465
|
-
|
466
395
|
_this2.keyEvent = false;
|
467
396
|
}
|
468
397
|
}], menuContextConfig);
|
469
398
|
this.blockMainTableCallbacks();
|
470
399
|
this.runLocalHooks('afterOpen');
|
471
400
|
}
|
401
|
+
|
472
402
|
/**
|
473
403
|
* Close menu.
|
474
404
|
*
|
475
405
|
* @param {boolean} [closeParent=false] If `true` try to close parent menu if exists.
|
476
406
|
*/
|
477
|
-
|
478
407
|
}, {
|
479
408
|
key: "close",
|
480
409
|
value: function close() {
|
481
410
|
var closeParent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
482
|
-
|
483
411
|
if (!this.isOpened()) {
|
484
412
|
return;
|
485
413
|
}
|
486
|
-
|
487
414
|
if (closeParent && this.parentMenu) {
|
488
415
|
this.parentMenu.close();
|
489
416
|
} else {
|
@@ -494,33 +421,29 @@ var Menu = /*#__PURE__*/function () {
|
|
494
421
|
this.hotMenu = null;
|
495
422
|
this.hot.getSettings().outsideClickDeselects = this.origOutsideClickDeselects;
|
496
423
|
this.runLocalHooks('afterClose');
|
497
|
-
|
498
424
|
if (this.parentMenu) {
|
499
425
|
this.parentMenu.hotMenu.listen();
|
500
426
|
}
|
501
427
|
}
|
502
428
|
}
|
429
|
+
|
503
430
|
/**
|
504
431
|
* Open sub menu at the provided row index.
|
505
432
|
*
|
506
433
|
* @param {number} row Row index.
|
507
434
|
* @returns {Menu|boolean} Returns created menu or `false` if no one menu was created.
|
508
435
|
*/
|
509
|
-
|
510
436
|
}, {
|
511
437
|
key: "openSubMenu",
|
512
438
|
value: function openSubMenu(row) {
|
513
439
|
if (!this.hotMenu) {
|
514
440
|
return false;
|
515
441
|
}
|
516
|
-
|
517
442
|
var cell = this.hotMenu.getCell(row, 0);
|
518
443
|
this.closeAllSubMenus();
|
519
|
-
|
520
444
|
if (!cell || !(0, _utils.hasSubMenu)(cell)) {
|
521
445
|
return false;
|
522
446
|
}
|
523
|
-
|
524
447
|
var dataItem = this.hotMenu.getSourceDataAtRow(row);
|
525
448
|
var subMenu = new Menu(this.hot, {
|
526
449
|
parent: this,
|
@@ -535,51 +458,49 @@ var Menu = /*#__PURE__*/function () {
|
|
535
458
|
this.hotSubMenus[dataItem.key] = subMenu;
|
536
459
|
return subMenu;
|
537
460
|
}
|
461
|
+
|
538
462
|
/**
|
539
463
|
* Close sub menu at row index.
|
540
464
|
*
|
541
465
|
* @param {number} row Row index.
|
542
466
|
*/
|
543
|
-
|
544
467
|
}, {
|
545
468
|
key: "closeSubMenu",
|
546
469
|
value: function closeSubMenu(row) {
|
547
470
|
var dataItem = this.hotMenu.getSourceDataAtRow(row);
|
548
471
|
var menus = this.hotSubMenus[dataItem.key];
|
549
|
-
|
550
472
|
if (menus) {
|
551
473
|
menus.destroy();
|
552
474
|
delete this.hotSubMenus[dataItem.key];
|
553
475
|
}
|
554
476
|
}
|
477
|
+
|
555
478
|
/**
|
556
479
|
* Close all opened sub menus.
|
557
480
|
*/
|
558
|
-
|
559
481
|
}, {
|
560
482
|
key: "closeAllSubMenus",
|
561
483
|
value: function closeAllSubMenus() {
|
562
484
|
var _this3 = this;
|
563
|
-
|
564
485
|
(0, _array.arrayEach)(this.hotMenu.getData(), function (value, row) {
|
565
486
|
return _this3.closeSubMenu(row);
|
566
487
|
});
|
567
488
|
}
|
489
|
+
|
568
490
|
/**
|
569
491
|
* Checks if all created and opened sub menus are closed.
|
570
492
|
*
|
571
493
|
* @returns {boolean}
|
572
494
|
*/
|
573
|
-
|
574
495
|
}, {
|
575
496
|
key: "isAllSubMenusClosed",
|
576
497
|
value: function isAllSubMenusClosed() {
|
577
498
|
return Object.keys(this.hotSubMenus).length === 0;
|
578
499
|
}
|
500
|
+
|
579
501
|
/**
|
580
502
|
* Destroy instance.
|
581
503
|
*/
|
582
|
-
|
583
504
|
}, {
|
584
505
|
key: "destroy",
|
585
506
|
value: function destroy() {
|
@@ -588,22 +509,22 @@ var Menu = /*#__PURE__*/function () {
|
|
588
509
|
this.close();
|
589
510
|
this.parentMenu = null;
|
590
511
|
this.eventManager.destroy();
|
591
|
-
|
592
512
|
if (menuContainerParentElement) {
|
593
513
|
menuContainerParentElement.removeChild(this.container);
|
594
514
|
}
|
595
515
|
}
|
516
|
+
|
596
517
|
/**
|
597
518
|
* Checks if menu was opened.
|
598
519
|
*
|
599
520
|
* @returns {boolean} Returns `true` if menu was opened.
|
600
521
|
*/
|
601
|
-
|
602
522
|
}, {
|
603
523
|
key: "isOpened",
|
604
524
|
value: function isOpened() {
|
605
525
|
return this.hotMenu !== null;
|
606
526
|
}
|
527
|
+
|
607
528
|
/**
|
608
529
|
* Execute menu command.
|
609
530
|
*
|
@@ -613,29 +534,25 @@ var Menu = /*#__PURE__*/function () {
|
|
613
534
|
*
|
614
535
|
* @param {Event} [event] The mouse event object.
|
615
536
|
*/
|
616
|
-
|
617
537
|
}, {
|
618
538
|
key: "executeCommand",
|
619
539
|
value: function executeCommand(event) {
|
620
540
|
if (!this.isOpened() || !this.hasSelectedItem()) {
|
621
541
|
return;
|
622
542
|
}
|
623
|
-
|
624
543
|
var selectedItem = this.getSelectedItem();
|
625
544
|
this.runLocalHooks('select', selectedItem, event);
|
626
|
-
|
627
545
|
if (this.isCommandPassive(selectedItem)) {
|
628
546
|
return;
|
629
547
|
}
|
630
|
-
|
631
548
|
var selRanges = this.hot.getSelectedRange();
|
632
549
|
var normalizedSelection = selRanges ? (0, _utils.normalizeSelection)(selRanges) : [];
|
633
550
|
this.runLocalHooks('executeCommand', selectedItem.key, normalizedSelection, event);
|
634
|
-
|
635
551
|
if (this.isSubMenu()) {
|
636
552
|
this.parentMenu.runLocalHooks('executeCommand', selectedItem.key, normalizedSelection, event);
|
637
553
|
}
|
638
554
|
}
|
555
|
+
|
639
556
|
/**
|
640
557
|
* Checks if the passed command is passive or not. The command is passive when it's marked as
|
641
558
|
* disabled, the descriptor object contains `isCommand` property set to `false`, command
|
@@ -645,28 +562,26 @@ var Menu = /*#__PURE__*/function () {
|
|
645
562
|
* @param {object} commandDescriptor Selected menu item from the menu data source.
|
646
563
|
* @returns {boolean}
|
647
564
|
*/
|
648
|
-
|
649
565
|
}, {
|
650
566
|
key: "isCommandPassive",
|
651
567
|
value: function isCommandPassive(commandDescriptor) {
|
652
568
|
var isCommand = commandDescriptor.isCommand,
|
653
|
-
|
654
|
-
|
655
|
-
|
569
|
+
commandName = commandDescriptor.name,
|
570
|
+
disabled = commandDescriptor.disabled,
|
571
|
+
submenu = commandDescriptor.submenu;
|
656
572
|
var isItemDisabled = disabled === true || typeof disabled === 'function' && disabled.call(this.hot) === true;
|
657
573
|
return isCommand === false || commandName === _predefinedItems.SEPARATOR || isItemDisabled === true || submenu;
|
658
574
|
}
|
575
|
+
|
659
576
|
/**
|
660
577
|
* Set menu position based on dom event or based on literal object.
|
661
578
|
*
|
662
579
|
* @param {Event|object} coords Event or literal Object with coordinates.
|
663
580
|
*/
|
664
|
-
|
665
581
|
}, {
|
666
582
|
key: "setPosition",
|
667
583
|
value: function setPosition(coords) {
|
668
584
|
var cursor = new _cursor.default(coords, this.container.ownerDocument.defaultView);
|
669
|
-
|
670
585
|
if (this.options.keepInViewport) {
|
671
586
|
if (cursor.fitsBelow(this.container)) {
|
672
587
|
this.setPositionBelowCursor(cursor);
|
@@ -675,7 +590,6 @@ var Menu = /*#__PURE__*/function () {
|
|
675
590
|
} else {
|
676
591
|
this.setPositionBelowCursor(cursor);
|
677
592
|
}
|
678
|
-
|
679
593
|
if (this.hot.isLtr()) {
|
680
594
|
this.setHorizontalPositionForLtr(cursor);
|
681
595
|
} else {
|
@@ -686,12 +600,12 @@ var Menu = /*#__PURE__*/function () {
|
|
686
600
|
this.setPositionOnRightOfCursor(cursor);
|
687
601
|
}
|
688
602
|
}
|
603
|
+
|
689
604
|
/**
|
690
605
|
* Set menu horizontal position for RTL mode.
|
691
606
|
*
|
692
607
|
* @param {Cursor} cursor `Cursor` object.
|
693
608
|
*/
|
694
|
-
|
695
609
|
}, {
|
696
610
|
key: "setHorizontalPositionForRtl",
|
697
611
|
value: function setHorizontalPositionForRtl(cursor) {
|
@@ -701,12 +615,12 @@ var Menu = /*#__PURE__*/function () {
|
|
701
615
|
this.setPositionOnRightOfCursor(cursor);
|
702
616
|
}
|
703
617
|
}
|
618
|
+
|
704
619
|
/**
|
705
620
|
* Set menu horizontal position for LTR mode.
|
706
621
|
*
|
707
622
|
* @param {Cursor} cursor `Cursor` object.
|
708
623
|
*/
|
709
|
-
|
710
624
|
}, {
|
711
625
|
key: "setHorizontalPositionForLtr",
|
712
626
|
value: function setHorizontalPositionForLtr(cursor) {
|
@@ -716,164 +630,151 @@ var Menu = /*#__PURE__*/function () {
|
|
716
630
|
this.setPositionOnLeftOfCursor(cursor);
|
717
631
|
}
|
718
632
|
}
|
633
|
+
|
719
634
|
/**
|
720
635
|
* Set menu position above cursor object.
|
721
636
|
*
|
722
637
|
* @param {Cursor} cursor `Cursor` object.
|
723
638
|
*/
|
724
|
-
|
725
639
|
}, {
|
726
640
|
key: "setPositionAboveCursor",
|
727
641
|
value: function setPositionAboveCursor(cursor) {
|
728
642
|
var top = this.offset.above + cursor.top - this.container.offsetHeight;
|
729
|
-
|
730
643
|
if (this.isSubMenu()) {
|
731
644
|
top = cursor.top + cursor.cellHeight - this.container.offsetHeight + 3;
|
732
645
|
}
|
733
|
-
|
734
646
|
this.container.style.top = "".concat(top, "px");
|
735
647
|
}
|
648
|
+
|
736
649
|
/**
|
737
650
|
* Set menu position below cursor object.
|
738
651
|
*
|
739
652
|
* @param {Cursor} cursor `Cursor` object.
|
740
653
|
*/
|
741
|
-
|
742
654
|
}, {
|
743
655
|
key: "setPositionBelowCursor",
|
744
656
|
value: function setPositionBelowCursor(cursor) {
|
745
657
|
var top = this.offset.below + cursor.top + 1;
|
746
|
-
|
747
658
|
if (this.isSubMenu()) {
|
748
659
|
top = cursor.top - 1;
|
749
660
|
}
|
750
|
-
|
751
661
|
this.container.style.top = "".concat(top, "px");
|
752
662
|
}
|
663
|
+
|
753
664
|
/**
|
754
665
|
* Set menu position on the right of cursor object.
|
755
666
|
*
|
756
667
|
* @param {Cursor} cursor `Cursor` object.
|
757
668
|
*/
|
758
|
-
|
759
669
|
}, {
|
760
670
|
key: "setPositionOnRightOfCursor",
|
761
671
|
value: function setPositionOnRightOfCursor(cursor) {
|
762
672
|
var left = cursor.left;
|
763
|
-
|
764
673
|
if (this.isSubMenu()) {
|
765
674
|
var _this$parentMenu$cont = this.parentMenu.container.getBoundingClientRect(),
|
766
|
-
|
767
|
-
|
675
|
+
parentMenuRight = _this$parentMenu$cont.right;
|
768
676
|
|
677
|
+
// move the sub menu by the width of the parent's border (usually by 1-2 pixels)
|
769
678
|
left += cursor.cellWidth + parentMenuRight - (cursor.left + cursor.cellWidth);
|
770
679
|
} else {
|
771
680
|
left += this.offset.right;
|
772
681
|
}
|
773
|
-
|
774
682
|
this.container.style.left = "".concat(left, "px");
|
775
683
|
}
|
684
|
+
|
776
685
|
/**
|
777
686
|
* Set menu position on the left of cursor object.
|
778
687
|
*
|
779
688
|
* @param {Cursor} cursor `Cursor` object.
|
780
689
|
*/
|
781
|
-
|
782
690
|
}, {
|
783
691
|
key: "setPositionOnLeftOfCursor",
|
784
692
|
value: function setPositionOnLeftOfCursor(cursor) {
|
785
693
|
var left = this.offset.left + cursor.left - this.container.offsetWidth;
|
786
|
-
|
787
694
|
if (this.isSubMenu()) {
|
788
695
|
var _this$parentMenu$cont2 = this.parentMenu.container.getBoundingClientRect(),
|
789
|
-
|
790
|
-
|
696
|
+
parentMenuLeft = _this$parentMenu$cont2.left;
|
791
697
|
|
698
|
+
// move the sub menu by the width of the parent's border (usually by 1-2 pixels)
|
792
699
|
left -= cursor.left - parentMenuLeft;
|
793
700
|
}
|
794
|
-
|
795
701
|
this.container.style.left = "".concat(left, "px");
|
796
702
|
}
|
703
|
+
|
797
704
|
/**
|
798
705
|
* Select first cell in opened menu.
|
799
706
|
*/
|
800
|
-
|
801
707
|
}, {
|
802
708
|
key: "selectFirstCell",
|
803
709
|
value: function selectFirstCell() {
|
804
710
|
var cell = this.hotMenu.getCell(0, 0);
|
805
|
-
|
806
711
|
if ((0, _utils.isSeparator)(cell) || (0, _utils.isDisabled)(cell) || (0, _utils.isSelectionDisabled)(cell)) {
|
807
712
|
this.selectNextCell(0, 0);
|
808
713
|
} else {
|
809
714
|
this.hotMenu.selectCell(0, 0);
|
810
715
|
}
|
811
716
|
}
|
717
|
+
|
812
718
|
/**
|
813
719
|
* Select last cell in opened menu.
|
814
720
|
*/
|
815
|
-
|
816
721
|
}, {
|
817
722
|
key: "selectLastCell",
|
818
723
|
value: function selectLastCell() {
|
819
724
|
var lastRow = this.hotMenu.countRows() - 1;
|
820
725
|
var cell = this.hotMenu.getCell(lastRow, 0);
|
821
|
-
|
822
726
|
if ((0, _utils.isSeparator)(cell) || (0, _utils.isDisabled)(cell) || (0, _utils.isSelectionDisabled)(cell)) {
|
823
727
|
this.selectPrevCell(lastRow, 0);
|
824
728
|
} else {
|
825
729
|
// disable default "scroll-to-cell" option and instead of that...
|
826
|
-
this.hotMenu.selectCell(lastRow, 0, undefined, undefined, false);
|
827
|
-
|
730
|
+
this.hotMenu.selectCell(lastRow, 0, undefined, undefined, false);
|
731
|
+
// ...scroll to the cell with "snap to the bottom" option
|
828
732
|
this.hotMenu.scrollViewportTo(lastRow, 0, true, false);
|
829
733
|
}
|
830
734
|
}
|
735
|
+
|
831
736
|
/**
|
832
737
|
* Select next cell in opened menu.
|
833
738
|
*
|
834
739
|
* @param {number} row Row index.
|
835
740
|
* @param {number} col Column index.
|
836
741
|
*/
|
837
|
-
|
838
742
|
}, {
|
839
743
|
key: "selectNextCell",
|
840
744
|
value: function selectNextCell(row, col) {
|
841
745
|
var nextRow = row + 1;
|
842
746
|
var cell = nextRow < this.hotMenu.countRows() ? this.hotMenu.getCell(nextRow, col) : null;
|
843
|
-
|
844
747
|
if (!cell) {
|
845
748
|
return;
|
846
749
|
}
|
847
|
-
|
848
750
|
if ((0, _utils.isSeparator)(cell) || (0, _utils.isDisabled)(cell) || (0, _utils.isSelectionDisabled)(cell)) {
|
849
751
|
this.selectNextCell(nextRow, col);
|
850
752
|
} else {
|
851
753
|
this.hotMenu.selectCell(nextRow, col);
|
852
754
|
}
|
853
755
|
}
|
756
|
+
|
854
757
|
/**
|
855
758
|
* Select previous cell in opened menu.
|
856
759
|
*
|
857
760
|
* @param {number} row Row index.
|
858
761
|
* @param {number} col Column index.
|
859
762
|
*/
|
860
|
-
|
861
763
|
}, {
|
862
764
|
key: "selectPrevCell",
|
863
765
|
value: function selectPrevCell(row, col) {
|
864
766
|
var prevRow = row - 1;
|
865
767
|
var cell = prevRow >= 0 ? this.hotMenu.getCell(prevRow, col) : null;
|
866
|
-
|
867
768
|
if (!cell) {
|
868
769
|
return;
|
869
770
|
}
|
870
|
-
|
871
771
|
if ((0, _utils.isSeparator)(cell) || (0, _utils.isDisabled)(cell) || (0, _utils.isSelectionDisabled)(cell)) {
|
872
772
|
this.selectPrevCell(prevRow, col);
|
873
773
|
} else {
|
874
774
|
this.hotMenu.selectCell(prevRow, col);
|
875
775
|
}
|
876
776
|
}
|
777
|
+
|
877
778
|
/**
|
878
779
|
* Menu item renderer.
|
879
780
|
*
|
@@ -885,41 +786,31 @@ var Menu = /*#__PURE__*/function () {
|
|
885
786
|
* @param {string} prop The column property if used.
|
886
787
|
* @param {string} value The cell value.
|
887
788
|
*/
|
888
|
-
|
889
789
|
}, {
|
890
790
|
key: "menuItemRenderer",
|
891
791
|
value: function menuItemRenderer(hot, TD, row, col, prop, value) {
|
892
792
|
var _this4 = this;
|
893
|
-
|
894
793
|
var item = hot.getSourceDataAtRow(row);
|
895
794
|
var wrapper = this.hot.rootDocument.createElement('div');
|
896
|
-
|
897
795
|
var isSubMenu = function isSubMenu(itemToTest) {
|
898
796
|
return (0, _object.hasOwnProperty)(itemToTest, 'submenu');
|
899
797
|
};
|
900
|
-
|
901
798
|
var itemIsSeparator = function itemIsSeparator(itemToTest) {
|
902
799
|
return new RegExp(_predefinedItems.SEPARATOR, 'i').test(itemToTest.name);
|
903
800
|
};
|
904
|
-
|
905
801
|
var itemIsDisabled = function itemIsDisabled(itemToTest) {
|
906
802
|
return itemToTest.disabled === true || typeof itemToTest.disabled === 'function' && itemToTest.disabled.call(_this4.hot) === true;
|
907
803
|
};
|
908
|
-
|
909
804
|
var itemIsSelectionDisabled = function itemIsSelectionDisabled(itemToTest) {
|
910
805
|
return itemToTest.disableSelection;
|
911
806
|
};
|
912
|
-
|
913
807
|
var itemValue = value;
|
914
|
-
|
915
808
|
if (typeof itemValue === 'function') {
|
916
809
|
itemValue = itemValue.call(this.hot);
|
917
810
|
}
|
918
|
-
|
919
811
|
(0, _element.empty)(TD);
|
920
812
|
(0, _element.addClass)(wrapper, 'htItemWrapper');
|
921
813
|
TD.appendChild(wrapper);
|
922
|
-
|
923
814
|
if (itemIsSeparator(item)) {
|
924
815
|
(0, _element.addClass)(TD, 'htSeparator');
|
925
816
|
} else if (typeof item.renderer === 'function') {
|
@@ -928,7 +819,6 @@ var Menu = /*#__PURE__*/function () {
|
|
928
819
|
} else {
|
929
820
|
(0, _element.fastInnerHTML)(wrapper, itemValue);
|
930
821
|
}
|
931
|
-
|
932
822
|
if (itemIsDisabled(item)) {
|
933
823
|
(0, _element.addClass)(TD, 'htDisabled');
|
934
824
|
this.eventManager.addEventListener(TD, 'mouseenter', function () {
|
@@ -941,7 +831,6 @@ var Menu = /*#__PURE__*/function () {
|
|
941
831
|
});
|
942
832
|
} else if (isSubMenu(item)) {
|
943
833
|
(0, _element.addClass)(TD, 'htSubmenu');
|
944
|
-
|
945
834
|
if (itemIsSelectionDisabled(item)) {
|
946
835
|
this.eventManager.addEventListener(TD, 'mouseenter', function () {
|
947
836
|
return hot.deselectCell();
|
@@ -953,7 +842,6 @@ var Menu = /*#__PURE__*/function () {
|
|
953
842
|
}
|
954
843
|
} else {
|
955
844
|
(0, _element.removeClass)(TD, ['htSubmenu', 'htDisabled']);
|
956
|
-
|
957
845
|
if (itemIsSelectionDisabled(item)) {
|
958
846
|
this.eventManager.addEventListener(TD, 'mouseenter', function () {
|
959
847
|
return hot.deselectCell();
|
@@ -965,6 +853,7 @@ var Menu = /*#__PURE__*/function () {
|
|
965
853
|
}
|
966
854
|
}
|
967
855
|
}
|
856
|
+
|
968
857
|
/**
|
969
858
|
* Create container/wrapper for handsontable.
|
970
859
|
*
|
@@ -972,7 +861,6 @@ var Menu = /*#__PURE__*/function () {
|
|
972
861
|
* @param {string} [name] Class name.
|
973
862
|
* @returns {HTMLElement}
|
974
863
|
*/
|
975
|
-
|
976
864
|
}, {
|
977
865
|
key: "createContainer",
|
978
866
|
value: function createContainer() {
|
@@ -980,52 +868,44 @@ var Menu = /*#__PURE__*/function () {
|
|
980
868
|
var doc = this.options.container.ownerDocument;
|
981
869
|
var className = name;
|
982
870
|
var container;
|
983
|
-
|
984
871
|
if (className) {
|
985
872
|
if ((0, _function.isFunction)(className)) {
|
986
873
|
className = className.call(this.hot);
|
987
|
-
|
988
874
|
if (className === null || (0, _mixed.isUndefined)(className)) {
|
989
875
|
className = '';
|
990
876
|
} else {
|
991
877
|
className = className.toString();
|
992
878
|
}
|
993
879
|
}
|
994
|
-
|
995
880
|
className = className.replace(/[^A-z0-9]/g, '_');
|
996
881
|
className = "".concat(this.options.className, "Sub_").concat(className);
|
997
882
|
container = doc.querySelector(".".concat(this.options.className, ".").concat(className));
|
998
883
|
}
|
999
|
-
|
1000
884
|
if (!container) {
|
1001
885
|
container = doc.createElement('div');
|
1002
886
|
(0, _element.addClass)(container, "htMenu ".concat(this.options.className));
|
1003
|
-
|
1004
887
|
if (className) {
|
1005
888
|
(0, _element.addClass)(container, className);
|
1006
889
|
}
|
1007
|
-
|
1008
890
|
this.options.container.appendChild(container);
|
1009
891
|
}
|
1010
|
-
|
1011
892
|
return container;
|
1012
893
|
}
|
894
|
+
|
1013
895
|
/**
|
1014
896
|
* @private
|
1015
897
|
*/
|
1016
|
-
|
1017
898
|
}, {
|
1018
899
|
key: "blockMainTableCallbacks",
|
1019
900
|
value: function blockMainTableCallbacks() {
|
1020
901
|
this._afterScrollCallback = function () {};
|
1021
|
-
|
1022
902
|
this.hot.addHook('afterScrollVertically', this._afterScrollCallback);
|
1023
903
|
this.hot.addHook('afterScrollHorizontally', this._afterScrollCallback);
|
1024
904
|
}
|
905
|
+
|
1025
906
|
/**
|
1026
907
|
* @private
|
1027
908
|
*/
|
1028
|
-
|
1029
909
|
}, {
|
1030
910
|
key: "releaseMainTableCallbacks",
|
1031
911
|
value: function releaseMainTableCallbacks() {
|
@@ -1035,12 +915,12 @@ var Menu = /*#__PURE__*/function () {
|
|
1035
915
|
this._afterScrollCallback = null;
|
1036
916
|
}
|
1037
917
|
}
|
918
|
+
|
1038
919
|
/**
|
1039
920
|
* On after init listener.
|
1040
921
|
*
|
1041
922
|
* @private
|
1042
923
|
*/
|
1043
|
-
|
1044
924
|
}, {
|
1045
925
|
key: "onAfterInit",
|
1046
926
|
value: function onAfterInit() {
|
@@ -1051,12 +931,14 @@ var Menu = /*#__PURE__*/function () {
|
|
1051
931
|
var currentHiderWidth = parseInt(hiderStyle.width, 10);
|
1052
932
|
var realHeight = (0, _array.arrayReduce)(data, function (accumulator, value) {
|
1053
933
|
return accumulator + (value.name === _predefinedItems.SEPARATOR ? 1 : 26);
|
1054
|
-
}, 0);
|
934
|
+
}, 0);
|
1055
935
|
|
936
|
+
// Additional 3px to menu's size because of additional border around its `table.htCore`.
|
1056
937
|
holderStyle.width = "".concat(currentHiderWidth + 3, "px");
|
1057
938
|
holderStyle.height = "".concat(realHeight + 3, "px");
|
1058
939
|
hiderStyle.height = holderStyle.height;
|
1059
940
|
}
|
941
|
+
|
1060
942
|
/**
|
1061
943
|
* On after selection listener.
|
1062
944
|
*
|
@@ -1066,7 +948,6 @@ var Menu = /*#__PURE__*/function () {
|
|
1066
948
|
* @param {number} c2 Selection end column index.
|
1067
949
|
* @param {object} preventScrolling Object with `value` property where its value change will be observed.
|
1068
950
|
*/
|
1069
|
-
|
1070
951
|
}, {
|
1071
952
|
key: "onAfterSelection",
|
1072
953
|
value: function onAfterSelection(r, c, r2, c2, preventScrolling) {
|
@@ -1074,50 +955,49 @@ var Menu = /*#__PURE__*/function () {
|
|
1074
955
|
preventScrolling.value = true;
|
1075
956
|
}
|
1076
957
|
}
|
958
|
+
|
1077
959
|
/**
|
1078
960
|
* Document mouse down listener.
|
1079
961
|
*
|
1080
962
|
* @private
|
1081
963
|
* @param {Event} event The mouse event object.
|
1082
964
|
*/
|
1083
|
-
|
1084
965
|
}, {
|
1085
966
|
key: "onDocumentMouseDown",
|
1086
967
|
value: function onDocumentMouseDown(event) {
|
1087
968
|
if (!this.isOpened()) {
|
1088
969
|
return;
|
1089
|
-
}
|
1090
|
-
|
970
|
+
}
|
1091
971
|
|
972
|
+
// Close menu when clicked element is not belongs to menu itself
|
1092
973
|
if (this.options.standalone && this.hotMenu && !(0, _element.isChildOf)(event.target, this.hotMenu.rootElement)) {
|
1093
|
-
this.close(true);
|
974
|
+
this.close(true);
|
975
|
+
|
976
|
+
// Automatically close menu when clicked element is not belongs to menu or submenu (not necessarily to itself)
|
1094
977
|
} else if ((this.isAllSubMenusClosed() || this.isSubMenu()) && !(0, _element.isChildOf)(event.target, '.htMenu')) {
|
1095
978
|
this.close(true);
|
1096
979
|
}
|
1097
980
|
}
|
981
|
+
|
1098
982
|
/**
|
1099
983
|
* Document's contextmenu listener.
|
1100
984
|
*
|
1101
985
|
* @private
|
1102
986
|
* @param {MouseEvent} event The mouse event object.
|
1103
987
|
*/
|
1104
|
-
|
1105
988
|
}, {
|
1106
989
|
key: "onDocumentContextMenu",
|
1107
990
|
value: function onDocumentContextMenu(event) {
|
1108
991
|
if (!this.isOpened()) {
|
1109
992
|
return;
|
1110
993
|
}
|
1111
|
-
|
1112
994
|
if ((0, _element.hasClass)(event.target, 'htCore') && (0, _element.isChildOf)(event.target, this.hotMenu.rootElement)) {
|
1113
995
|
event.preventDefault();
|
1114
996
|
}
|
1115
997
|
}
|
1116
998
|
}]);
|
1117
|
-
|
1118
999
|
return Menu;
|
1119
1000
|
}();
|
1120
|
-
|
1121
1001
|
(0, _object.mixin)(Menu, _localHooks.default);
|
1122
1002
|
var _default = Menu;
|
1123
1003
|
exports.default = _default;
|