handsontable 12.1.3 → 12.3.0-next-bb1a7c2-20221208
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/SheetClip/SheetClip.js +3 -32
- package/3rdparty/SheetClip/SheetClip.mjs +3 -23
- package/3rdparty/SheetClip/index.js +0 -2
- package/3rdparty/autoResize/autoResize.js +119 -145
- package/3rdparty/autoResize/autoResize.mjs +119 -143
- package/3rdparty/autoResize/index.js +0 -2
- package/3rdparty/walkontable/src/border.js +44 -154
- package/3rdparty/walkontable/src/border.mjs +41 -136
- package/3rdparty/walkontable/src/calculator/constants.js +0 -3
- package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
- package/3rdparty/walkontable/src/calculator/index.js +0 -10
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +36 -77
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +36 -70
- package/3rdparty/walkontable/src/calculator/viewportRows.js +30 -49
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +30 -42
- package/3rdparty/walkontable/src/cell/coords.d.ts +1 -1
- package/3rdparty/walkontable/src/cell/coords.js +73 -65
- package/3rdparty/walkontable/src/cell/coords.mjs +73 -60
- package/3rdparty/walkontable/src/cell/range.d.ts +19 -16
- package/3rdparty/walkontable/src/cell/range.js +251 -231
- package/3rdparty/walkontable/src/cell/range.mjs +251 -222
- package/3rdparty/walkontable/src/core/_base.js +30 -74
- package/3rdparty/walkontable/src/core/_base.mjs +30 -67
- package/3rdparty/walkontable/src/core/clone.js +11 -44
- package/3rdparty/walkontable/src/core/clone.mjs +11 -32
- package/3rdparty/walkontable/src/core/core.js +8 -56
- package/3rdparty/walkontable/src/core/core.mjs +8 -38
- package/3rdparty/walkontable/src/event.js +41 -79
- package/3rdparty/walkontable/src/event.mjs +41 -66
- package/3rdparty/walkontable/src/facade/core.js +14 -16
- package/3rdparty/walkontable/src/facade/core.mjs +14 -13
- package/3rdparty/walkontable/src/filter/column.js +22 -17
- package/3rdparty/walkontable/src/filter/column.mjs +22 -16
- package/3rdparty/walkontable/src/filter/row.js +22 -17
- package/3rdparty/walkontable/src/filter/row.mjs +22 -16
- package/3rdparty/walkontable/src/index.js +0 -31
- package/3rdparty/walkontable/src/overlay/_base.js +38 -69
- package/3rdparty/walkontable/src/overlay/_base.mjs +38 -61
- package/3rdparty/walkontable/src/overlay/bottom.js +38 -103
- package/3rdparty/walkontable/src/overlay/bottom.mjs +38 -88
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +12 -52
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +12 -37
- package/3rdparty/walkontable/src/overlay/constants.js +0 -6
- package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
- package/3rdparty/walkontable/src/overlay/index.js +0 -17
- package/3rdparty/walkontable/src/overlay/inlineStart.js +26 -90
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +26 -75
- package/3rdparty/walkontable/src/overlay/top.js +37 -104
- package/3rdparty/walkontable/src/overlay/top.mjs +37 -89
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +14 -55
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +14 -40
- package/3rdparty/walkontable/src/overlays.js +124 -145
- package/3rdparty/walkontable/src/overlays.mjs +124 -135
- package/3rdparty/walkontable/src/renderer/_base.js +17 -19
- package/3rdparty/walkontable/src/renderer/_base.mjs +17 -17
- package/3rdparty/walkontable/src/renderer/cells.js +15 -53
- package/3rdparty/walkontable/src/renderer/cells.mjs +15 -39
- package/3rdparty/walkontable/src/renderer/colGroup.js +15 -46
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +15 -34
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +13 -49
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +13 -37
- package/3rdparty/walkontable/src/renderer/index.js +26 -35
- package/3rdparty/walkontable/src/renderer/index.mjs +26 -22
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +13 -49
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +13 -36
- package/3rdparty/walkontable/src/renderer/rows.js +11 -49
- package/3rdparty/walkontable/src/renderer/rows.mjs +11 -32
- package/3rdparty/walkontable/src/renderer/table.js +35 -48
- package/3rdparty/walkontable/src/renderer/table.mjs +35 -47
- package/3rdparty/walkontable/src/scroll.js +69 -86
- package/3rdparty/walkontable/src/scroll.mjs +69 -84
- package/3rdparty/walkontable/src/selection.js +28 -103
- package/3rdparty/walkontable/src/selection.mjs +26 -83
- package/3rdparty/walkontable/src/settings.js +25 -31
- package/3rdparty/walkontable/src/settings.mjs +25 -29
- package/3rdparty/walkontable/src/table/bottom.js +6 -34
- package/3rdparty/walkontable/src/table/bottom.mjs +6 -19
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +6 -34
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +6 -19
- package/3rdparty/walkontable/src/table/inlineStart.js +6 -34
- package/3rdparty/walkontable/src/table/inlineStart.mjs +6 -19
- package/3rdparty/walkontable/src/table/master.js +15 -54
- package/3rdparty/walkontable/src/table/master.mjs +15 -38
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +1 -16
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +1 -14
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +1 -16
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +1 -14
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +1 -10
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +1 -8
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +1 -11
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +1 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +1 -10
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +1 -8
- package/3rdparty/walkontable/src/table/top.js +6 -34
- package/3rdparty/walkontable/src/table/top.mjs +6 -19
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +6 -34
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +6 -19
- package/3rdparty/walkontable/src/table.js +73 -233
- package/3rdparty/walkontable/src/table.mjs +71 -210
- package/3rdparty/walkontable/src/types.js +0 -5
- package/3rdparty/walkontable/src/types.mjs +0 -5
- package/3rdparty/walkontable/src/utils/column.js +18 -30
- package/3rdparty/walkontable/src/utils/column.mjs +18 -25
- package/3rdparty/walkontable/src/utils/nodesPool.js +16 -11
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +16 -10
- package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
- package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
- package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +7 -32
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +7 -21
- package/3rdparty/walkontable/src/utils/orderView/view.js +27 -45
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +27 -42
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +16 -14
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +16 -13
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +21 -21
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +21 -18
- package/3rdparty/walkontable/src/utils/row.js +15 -12
- package/3rdparty/walkontable/src/utils/row.mjs +15 -11
- package/3rdparty/walkontable/src/viewport.js +51 -99
- package/3rdparty/walkontable/src/viewport.mjs +51 -96
- package/CHANGELOG.md +99 -1
- package/base.d.ts +1 -0
- package/base.js +11 -17
- package/base.mjs +10 -11
- package/cellTypes/autocompleteType/autocompleteType.js +0 -4
- package/cellTypes/autocompleteType/index.js +0 -2
- package/cellTypes/checkboxType/checkboxType.js +0 -3
- package/cellTypes/checkboxType/index.js +0 -2
- package/cellTypes/dateType/dateType.js +0 -4
- package/cellTypes/dateType/index.js +0 -2
- package/cellTypes/dropdownType/dropdownType.js +0 -4
- package/cellTypes/dropdownType/index.js +0 -2
- package/cellTypes/handsontableType/handsontableType.js +0 -3
- package/cellTypes/handsontableType/index.js +0 -2
- package/cellTypes/index.js +0 -21
- package/cellTypes/index.mjs +0 -1
- package/cellTypes/numericType/index.js +0 -2
- package/cellTypes/numericType/numericType.js +0 -4
- package/cellTypes/passwordType/index.js +0 -2
- package/cellTypes/passwordType/passwordType.js +0 -3
- package/cellTypes/registry.js +10 -25
- package/cellTypes/registry.mjs +10 -20
- package/cellTypes/textType/index.js +0 -2
- package/cellTypes/textType/textType.js +0 -3
- package/cellTypes/timeType/index.js +0 -2
- package/cellTypes/timeType/timeType.js +0 -4
- package/core.d.ts +6 -2
- package/core.js +714 -1070
- package/core.mjs +717 -1015
- package/dataMap/dataMap.js +202 -236
- package/dataMap/dataMap.mjs +201 -209
- package/{dataSource.js → dataMap/dataSource.js} +29 -65
- package/{dataSource.mjs → dataMap/dataSource.mjs} +29 -57
- package/dataMap/index.js +0 -13
- package/dataMap/metaManager/index.js +33 -45
- package/dataMap/metaManager/index.mjs +33 -37
- package/dataMap/metaManager/lazyFactoryMap.js +17 -62
- package/dataMap/metaManager/lazyFactoryMap.mjs +17 -46
- package/dataMap/metaManager/metaLayers/cellMeta.js +26 -57
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +25 -41
- package/dataMap/metaManager/metaLayers/columnMeta.js +23 -24
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +24 -21
- package/dataMap/metaManager/metaLayers/globalMeta.js +30 -21
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +31 -18
- package/dataMap/metaManager/metaLayers/tableMeta.js +18 -15
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +19 -14
- package/dataMap/metaManager/metaSchema.js +173 -213
- package/dataMap/metaManager/metaSchema.mjs +173 -204
- package/dataMap/metaManager/mods/dynamicCellMeta.js +15 -35
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +15 -24
- package/dataMap/metaManager/mods/extendMetaProperties.js +14 -27
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +14 -19
- package/dataMap/metaManager/utils.js +49 -28
- package/dataMap/metaManager/utils.mjs +50 -21
- package/dataMap/replaceData.js +15 -35
- package/dataMap/replaceData.mjs +15 -23
- package/dist/handsontable.css +9 -9
- package/dist/handsontable.full.css +9 -9
- package/dist/handsontable.full.js +13065 -28165
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +108 -114
- package/dist/handsontable.js +11528 -21792
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +111 -240
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.js +50 -14
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.js +52 -16
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.js +52 -16
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.js +53 -17
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.js +56 -20
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +56 -20
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.js +55 -19
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/it-IT.js +55 -19
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.js +83 -43
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.js +84 -43
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.js +85 -43
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.js +86 -43
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.js +87 -43
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.js +88 -43
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +67 -28
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.js +67 -28
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.js +55 -16
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.js +55 -16
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.js +55 -16
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +53 -113
- package/editorManager.mjs +50 -90
- package/editors/autocompleteEditor/autocompleteEditor.js +36 -138
- package/editors/autocompleteEditor/autocompleteEditor.mjs +35 -108
- package/editors/autocompleteEditor/index.js +0 -2
- package/editors/baseEditor/baseEditor.js +55 -160
- package/editors/baseEditor/baseEditor.mjs +54 -133
- package/editors/baseEditor/index.js +0 -2
- package/editors/checkboxEditor/checkboxEditor.js +8 -34
- package/editors/checkboxEditor/checkboxEditor.mjs +8 -20
- package/editors/checkboxEditor/index.js +0 -2
- package/editors/dateEditor/dateEditor.js +26 -97
- package/editors/dateEditor/dateEditor.mjs +26 -76
- package/editors/dateEditor/index.js +0 -2
- package/editors/dropdownEditor/dropdownEditor.js +7 -42
- package/editors/dropdownEditor/dropdownEditor.mjs +7 -23
- package/editors/dropdownEditor/index.js +0 -2
- package/editors/handsontableEditor/handsontableEditor.js +19 -86
- package/editors/handsontableEditor/handsontableEditor.mjs +19 -67
- package/editors/handsontableEditor/index.js +0 -2
- package/editors/index.js +0 -25
- package/editors/index.mjs +0 -1
- package/editors/numericEditor/index.js +0 -2
- package/editors/numericEditor/numericEditor.js +7 -32
- package/editors/numericEditor/numericEditor.mjs +7 -19
- package/editors/passwordEditor/index.js +0 -2
- package/editors/passwordEditor/passwordEditor.js +7 -39
- package/editors/passwordEditor/passwordEditor.mjs +7 -23
- package/editors/registry.js +13 -36
- package/editors/registry.mjs +12 -26
- package/editors/selectEditor/index.js +0 -2
- package/editors/selectEditor/selectEditor.js +27 -74
- package/editors/selectEditor/selectEditor.mjs +27 -57
- package/editors/textEditor/caretPositioner.js +0 -8
- package/editors/textEditor/caretPositioner.mjs +0 -7
- package/editors/textEditor/index.js +0 -2
- package/editors/textEditor/textEditor.js +45 -139
- package/editors/textEditor/textEditor.mjs +45 -108
- package/editors/timeEditor/index.js +0 -2
- package/editors/timeEditor/timeEditor.js +7 -37
- package/editors/timeEditor/timeEditor.mjs +7 -22
- package/eventManager.js +26 -47
- package/eventManager.mjs +27 -45
- package/helpers/array.js +22 -88
- package/helpers/array.mjs +22 -58
- package/helpers/browser.js +25 -51
- package/helpers/browser.mjs +25 -32
- package/helpers/console.js +3 -13
- package/helpers/console.mjs +3 -10
- package/helpers/data.d.ts +0 -2
- package/helpers/data.js +8 -102
- package/helpers/data.mjs +9 -80
- package/helpers/date.js +2 -3
- package/helpers/date.mjs +2 -2
- package/helpers/dom/element.js +89 -256
- package/helpers/dom/element.mjs +88 -184
- package/helpers/dom/event.js +3 -7
- package/helpers/dom/event.mjs +3 -3
- package/helpers/feature.js +21 -82
- package/helpers/feature.mjs +15 -60
- package/helpers/function.js +14 -59
- package/helpers/function.mjs +14 -45
- package/helpers/mixed.js +9 -64
- package/helpers/mixed.mjs +9 -43
- package/helpers/number.js +4 -46
- package/helpers/number.mjs +4 -23
- package/helpers/object.js +30 -77
- package/helpers/object.mjs +25 -47
- package/helpers/string.js +6 -28
- package/helpers/string.mjs +6 -14
- package/helpers/templateLiteralTag.js +0 -6
- package/helpers/templateLiteralTag.mjs +0 -2
- package/helpers/unicode.js +17 -22
- package/helpers/unicode.mjs +17 -13
- package/helpers/wrappers/jquery.js +4 -14
- package/helpers/wrappers/jquery.mjs +4 -13
- package/i18n/constants.js +50 -45
- package/i18n/constants.mjs +46 -42
- package/i18n/index.js +0 -7
- package/i18n/languages/ar-AR.js +12 -23
- package/i18n/languages/ar-AR.mjs +14 -3
- package/i18n/languages/cs-CZ.js +12 -23
- package/i18n/languages/cs-CZ.mjs +14 -3
- package/i18n/languages/de-CH.js +12 -23
- package/i18n/languages/de-CH.mjs +14 -3
- package/i18n/languages/de-DE.js +12 -23
- package/i18n/languages/de-DE.mjs +14 -3
- package/i18n/languages/en-US.js +13 -24
- package/i18n/languages/en-US.mjs +15 -4
- package/i18n/languages/es-MX.js +13 -24
- package/i18n/languages/es-MX.mjs +17 -5
- package/i18n/languages/fr-FR.js +12 -23
- package/i18n/languages/fr-FR.mjs +14 -3
- package/i18n/languages/index.js +0 -39
- package/i18n/languages/it-IT.js +12 -23
- package/i18n/languages/it-IT.mjs +14 -3
- package/i18n/languages/ja-JP.js +12 -23
- package/i18n/languages/ja-JP.mjs +14 -3
- package/i18n/languages/ko-KR.js +12 -23
- package/i18n/languages/ko-KR.mjs +14 -3
- package/i18n/languages/lv-LV.js +13 -24
- package/i18n/languages/lv-LV.mjs +17 -6
- package/i18n/languages/nb-NO.js +12 -23
- package/i18n/languages/nb-NO.mjs +14 -3
- package/i18n/languages/nl-NL.js +13 -24
- package/i18n/languages/nl-NL.mjs +17 -6
- package/i18n/languages/pl-PL.js +13 -24
- package/i18n/languages/pl-PL.mjs +16 -5
- package/i18n/languages/pt-BR.js +12 -23
- package/i18n/languages/pt-BR.mjs +14 -3
- package/i18n/languages/ru-RU.js +12 -23
- package/i18n/languages/ru-RU.mjs +14 -3
- package/i18n/languages/sr-SP.js +12 -23
- package/i18n/languages/sr-SP.mjs +14 -3
- package/i18n/languages/zh-CN.js +12 -23
- package/i18n/languages/zh-CN.mjs +14 -3
- package/i18n/languages/zh-TW.js +12 -23
- package/i18n/languages/zh-TW.mjs +14 -3
- package/i18n/phraseFormatters/index.js +4 -11
- package/i18n/phraseFormatters/index.mjs +4 -6
- package/i18n/phraseFormatters/pluralize.js +0 -5
- package/i18n/phraseFormatters/pluralize.mjs +0 -3
- package/i18n/phraseFormatters/substituteVariables.js +0 -4
- package/i18n/phraseFormatters/substituteVariables.mjs +0 -2
- package/i18n/registry.js +18 -59
- package/i18n/registry.mjs +18 -30
- package/i18n/utils.js +4 -22
- package/i18n/utils.mjs +4 -11
- package/index.d.ts +9 -0
- package/index.js +23 -58
- package/index.mjs +21 -16
- package/languages/all.js +111 -240
- package/languages/ar-AR.js +50 -14
- package/languages/ar-AR.mjs +14 -3
- package/languages/cs-CZ.js +52 -16
- package/languages/cs-CZ.mjs +14 -3
- package/languages/de-CH.js +52 -16
- package/languages/de-CH.mjs +14 -3
- package/languages/de-DE.js +53 -17
- package/languages/de-DE.mjs +14 -3
- package/languages/en-US.js +56 -20
- package/languages/en-US.mjs +15 -4
- package/languages/es-MX.js +56 -20
- package/languages/es-MX.mjs +17 -5
- package/languages/fr-FR.js +55 -19
- package/languages/fr-FR.mjs +14 -3
- package/languages/index.js +111 -240
- package/languages/it-IT.js +55 -19
- package/languages/it-IT.mjs +14 -3
- package/languages/ja-JP.js +83 -43
- package/languages/ja-JP.mjs +14 -3
- package/languages/ko-KR.js +84 -43
- package/languages/ko-KR.mjs +14 -3
- package/languages/lv-LV.js +85 -43
- package/languages/lv-LV.mjs +17 -6
- package/languages/nb-NO.js +86 -43
- package/languages/nb-NO.mjs +14 -3
- package/languages/nl-NL.js +87 -43
- package/languages/nl-NL.mjs +17 -6
- package/languages/pl-PL.js +88 -43
- package/languages/pl-PL.mjs +16 -5
- package/languages/pt-BR.js +67 -28
- package/languages/pt-BR.mjs +14 -3
- package/languages/ru-RU.js +67 -28
- package/languages/ru-RU.mjs +14 -3
- package/languages/sr-SP.js +55 -16
- package/languages/sr-SP.mjs +14 -3
- package/languages/zh-CN.js +55 -16
- package/languages/zh-CN.mjs +14 -3
- package/languages/zh-TW.js +55 -16
- package/languages/zh-TW.mjs +14 -3
- package/mixins/hooksRefRegisterer.js +1 -12
- package/mixins/hooksRefRegisterer.mjs +1 -9
- package/mixins/localHooks.js +4 -11
- package/mixins/localHooks.mjs +4 -8
- package/package.json +2 -2
- package/pluginHooks.d.ts +10 -5
- package/pluginHooks.js +376 -116
- package/pluginHooks.mjs +375 -103
- package/plugins/autoColumnSize/autoColumnSize.js +81 -174
- package/plugins/autoColumnSize/autoColumnSize.mjs +81 -139
- package/plugins/autoColumnSize/index.js +0 -2
- package/plugins/autoRowSize/autoRowSize.js +89 -160
- package/plugins/autoRowSize/autoRowSize.mjs +89 -131
- package/plugins/autoRowSize/index.js +0 -2
- package/plugins/autofill/autofill.js +53 -165
- package/plugins/autofill/autofill.mjs +53 -133
- package/plugins/autofill/index.js +0 -2
- package/plugins/autofill/utils.js +4 -26
- package/plugins/autofill/utils.mjs +4 -18
- package/plugins/base/base.js +28 -91
- package/plugins/base/base.mjs +28 -63
- package/plugins/base/index.js +0 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +25 -53
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +25 -34
- package/plugins/bindRowsWithHeaders/index.js +0 -2
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +11 -42
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +11 -30
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +12 -54
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +12 -38
- package/plugins/collapsibleColumns/collapsibleColumns.js +106 -193
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +106 -162
- package/plugins/collapsibleColumns/index.js +0 -2
- package/plugins/columnSorting/columnSorting.js +58 -192
- package/plugins/columnSorting/columnSorting.mjs +58 -147
- package/plugins/columnSorting/columnStatesManager.js +27 -77
- package/plugins/columnSorting/columnStatesManager.mjs +24 -51
- package/plugins/columnSorting/domHelpers.js +2 -18
- package/plugins/columnSorting/domHelpers.mjs +2 -7
- package/plugins/columnSorting/index.js +0 -2
- package/plugins/columnSorting/rootComparator.js +5 -24
- package/plugins/columnSorting/rootComparator.mjs +5 -13
- package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
- package/plugins/columnSorting/sortFunction/checkbox.mjs +8 -12
- package/plugins/columnSorting/sortFunction/date.js +2 -19
- package/plugins/columnSorting/sortFunction/date.mjs +2 -14
- package/plugins/columnSorting/sortFunction/default.js +2 -17
- package/plugins/columnSorting/sortFunction/default.mjs +2 -14
- package/plugins/columnSorting/sortFunction/numeric.js +2 -11
- package/plugins/columnSorting/sortFunction/numeric.mjs +2 -8
- package/plugins/columnSorting/sortService/engine.js +1 -7
- package/plugins/columnSorting/sortService/engine.mjs +1 -3
- package/plugins/columnSorting/sortService/index.js +0 -5
- package/plugins/columnSorting/sortService/registry.js +6 -18
- package/plugins/columnSorting/sortService/registry.mjs +6 -10
- package/plugins/columnSorting/utils.js +9 -34
- package/plugins/columnSorting/utils.mjs +9 -15
- package/plugins/columnSummary/columnSummary.js +65 -126
- package/plugins/columnSummary/columnSummary.mjs +65 -101
- package/plugins/columnSummary/endpoints.js +33 -109
- package/plugins/columnSummary/endpoints.mjs +33 -105
- package/plugins/columnSummary/index.js +0 -2
- package/plugins/columnSummary/utils.js +0 -1
- package/plugins/comments/commentEditor.js +29 -27
- package/plugins/comments/commentEditor.mjs +29 -26
- package/plugins/comments/comments.js +106 -178
- package/plugins/comments/comments.mjs +106 -152
- package/plugins/comments/displaySwitch.js +20 -24
- package/plugins/comments/displaySwitch.mjs +20 -19
- package/plugins/comments/index.js +0 -2
- package/plugins/contextMenu/commandExecutor.js +17 -29
- package/plugins/contextMenu/commandExecutor.mjs +17 -27
- package/plugins/contextMenu/contextMenu.d.ts +4 -3
- package/plugins/contextMenu/contextMenu.js +28 -121
- package/plugins/contextMenu/contextMenu.mjs +28 -91
- package/plugins/contextMenu/cursor.js +19 -19
- package/plugins/contextMenu/cursor.mjs +19 -18
- package/plugins/contextMenu/index.js +0 -2
- package/plugins/contextMenu/itemsFactory.js +21 -35
- package/plugins/contextMenu/itemsFactory.mjs +21 -31
- package/plugins/contextMenu/menu.js +71 -180
- package/plugins/contextMenu/menu.mjs +70 -151
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
- package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
- package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
- package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
- package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
- package/plugins/contextMenu/predefinedItems/redo.js +1 -16
- package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +4 -39
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +4 -19
- package/plugins/contextMenu/predefinedItems/removeRow.js +4 -38
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +4 -18
- package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
- package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/separator.js +1 -2
- package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -16
- package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems.js +14 -55
- package/plugins/contextMenu/predefinedItems.mjs +16 -8
- package/plugins/contextMenu/utils.js +17 -57
- package/plugins/contextMenu/utils.mjs +17 -34
- package/plugins/copyPaste/clipboardData.js +14 -9
- package/plugins/copyPaste/clipboardData.mjs +14 -8
- package/plugins/copyPaste/contextMenuItem/copy.js +5 -32
- package/plugins/copyPaste/contextMenuItem/copy.mjs +5 -7
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +35 -0
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +31 -0
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +35 -0
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +31 -0
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +35 -0
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +31 -0
- package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
- package/plugins/copyPaste/contextMenuItem/cut.mjs +2 -4
- package/plugins/copyPaste/copyPaste.d.ts +10 -2
- package/plugins/copyPaste/copyPaste.js +339 -372
- package/plugins/copyPaste/copyPaste.mjs +339 -331
- package/plugins/copyPaste/copyableRanges.js +269 -0
- package/plugins/copyPaste/copyableRanges.mjs +264 -0
- package/plugins/copyPaste/focusableElement.js +21 -55
- package/plugins/copyPaste/focusableElement.mjs +21 -45
- package/plugins/copyPaste/index.js +0 -2
- package/plugins/copyPaste/pasteEvent.js +14 -9
- package/plugins/copyPaste/pasteEvent.mjs +14 -7
- package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
- package/plugins/customBorders/contextMenuItem/bottom.mjs +0 -3
- package/plugins/customBorders/contextMenuItem/index.js +0 -11
- package/plugins/customBorders/contextMenuItem/left.js +0 -17
- package/plugins/customBorders/contextMenuItem/left.mjs +0 -3
- package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
- package/plugins/customBorders/contextMenuItem/noBorders.mjs +0 -1
- package/plugins/customBorders/contextMenuItem/right.js +0 -17
- package/plugins/customBorders/contextMenuItem/right.mjs +0 -3
- package/plugins/customBorders/contextMenuItem/top.js +0 -17
- package/plugins/customBorders/contextMenuItem/top.mjs +0 -3
- package/plugins/customBorders/customBorders.js +64 -188
- package/plugins/customBorders/customBorders.mjs +63 -153
- package/plugins/customBorders/index.js +0 -2
- package/plugins/customBorders/utils.js +13 -52
- package/plugins/customBorders/utils.mjs +13 -31
- package/plugins/dragToScroll/dragToScroll.js +23 -75
- package/plugins/dragToScroll/dragToScroll.mjs +23 -56
- package/plugins/dragToScroll/index.js +0 -2
- package/plugins/dropdownMenu/dropdownMenu.js +49 -127
- package/plugins/dropdownMenu/dropdownMenu.mjs +49 -96
- package/plugins/dropdownMenu/index.js +0 -2
- package/plugins/exportFile/dataProvider.js +34 -72
- package/plugins/exportFile/dataProvider.mjs +31 -58
- package/plugins/exportFile/exportFile.js +56 -61
- package/plugins/exportFile/exportFile.mjs +54 -37
- package/plugins/exportFile/index.js +0 -2
- package/plugins/exportFile/typeFactory.js +15 -12
- package/plugins/exportFile/typeFactory.mjs +15 -5
- package/plugins/exportFile/types/_base.js +15 -15
- package/plugins/exportFile/types/_base.mjs +15 -13
- package/plugins/exportFile/types/csv.js +8 -51
- package/plugins/exportFile/types/csv.mjs +8 -30
- package/plugins/filters/component/_base.js +25 -31
- package/plugins/filters/component/_base.mjs +25 -26
- package/plugins/filters/component/actionBar.js +13 -56
- package/plugins/filters/component/actionBar.mjs +11 -34
- package/plugins/filters/component/condition.js +22 -95
- package/plugins/filters/component/condition.mjs +20 -63
- package/plugins/filters/component/operators.js +18 -71
- package/plugins/filters/component/operators.mjs +18 -48
- package/plugins/filters/component/value.js +22 -97
- package/plugins/filters/component/value.mjs +22 -67
- package/plugins/filters/condition/beginsWith.js +3 -33
- package/plugins/filters/condition/beginsWith.mjs +3 -11
- package/plugins/filters/condition/between.js +4 -38
- package/plugins/filters/condition/between.mjs +4 -16
- package/plugins/filters/condition/byValue.js +4 -28
- package/plugins/filters/condition/byValue.mjs +4 -13
- package/plugins/filters/condition/contains.js +3 -33
- package/plugins/filters/condition/contains.mjs +3 -11
- package/plugins/filters/condition/date/after.js +3 -35
- package/plugins/filters/condition/date/after.mjs +3 -13
- package/plugins/filters/condition/date/before.js +3 -35
- package/plugins/filters/condition/date/before.mjs +3 -13
- package/plugins/filters/condition/date/today.js +1 -22
- package/plugins/filters/condition/date/today.mjs +1 -3
- package/plugins/filters/condition/date/tomorrow.js +1 -22
- package/plugins/filters/condition/date/tomorrow.mjs +1 -3
- package/plugins/filters/condition/date/yesterday.js +1 -22
- package/plugins/filters/condition/date/yesterday.mjs +1 -3
- package/plugins/filters/condition/empty.js +1 -19
- package/plugins/filters/condition/empty.mjs +1 -1
- package/plugins/filters/condition/endsWith.js +3 -33
- package/plugins/filters/condition/endsWith.mjs +3 -11
- package/plugins/filters/condition/equal.js +3 -32
- package/plugins/filters/condition/equal.mjs +3 -11
- package/plugins/filters/condition/false.js +1 -5
- package/plugins/filters/condition/false.mjs +1 -1
- package/plugins/filters/condition/greaterThan.js +3 -33
- package/plugins/filters/condition/greaterThan.mjs +3 -13
- package/plugins/filters/condition/greaterThanOrEqual.js +3 -33
- package/plugins/filters/condition/greaterThanOrEqual.mjs +3 -13
- package/plugins/filters/condition/lessThan.js +3 -33
- package/plugins/filters/condition/lessThan.mjs +3 -13
- package/plugins/filters/condition/lessThanOrEqual.js +3 -33
- package/plugins/filters/condition/lessThanOrEqual.mjs +3 -13
- package/plugins/filters/condition/none.js +1 -18
- package/plugins/filters/condition/none.mjs +1 -1
- package/plugins/filters/condition/notBetween.js +1 -19
- package/plugins/filters/condition/notBetween.mjs +1 -1
- package/plugins/filters/condition/notContains.js +1 -19
- package/plugins/filters/condition/notContains.mjs +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -19
- package/plugins/filters/condition/notEmpty.mjs +1 -1
- package/plugins/filters/condition/notEqual.js +1 -19
- package/plugins/filters/condition/notEqual.mjs +1 -1
- package/plugins/filters/condition/true.js +1 -5
- package/plugins/filters/condition/true.mjs +1 -1
- package/plugins/filters/conditionCollection.js +31 -84
- package/plugins/filters/conditionCollection.mjs +39 -69
- package/plugins/filters/conditionRegisterer.js +5 -14
- package/plugins/filters/conditionRegisterer.mjs +5 -9
- package/plugins/filters/conditionUpdateObserver.js +29 -56
- package/plugins/filters/conditionUpdateObserver.mjs +29 -44
- package/plugins/filters/constants.js +15 -67
- package/plugins/filters/constants.mjs +15 -9
- package/plugins/filters/dataFilter.js +17 -20
- package/plugins/filters/dataFilter.mjs +17 -19
- package/plugins/filters/filters.js +110 -210
- package/plugins/filters/filters.mjs +110 -165
- package/plugins/filters/index.js +0 -2
- package/plugins/filters/logicalOperationRegisterer.js +3 -9
- package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
- package/plugins/filters/logicalOperations/conjunction.js +2 -19
- package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunction.js +2 -19
- package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
- package/plugins/filters/ui/_base.js +24 -62
- package/plugins/filters/ui/_base.mjs +26 -36
- package/plugins/filters/ui/input.js +13 -53
- package/plugins/filters/ui/input.mjs +13 -35
- package/plugins/filters/ui/link.js +9 -44
- package/plugins/filters/ui/link.mjs +9 -26
- package/plugins/filters/ui/multipleSelect.js +25 -113
- package/plugins/filters/ui/multipleSelect.mjs +26 -77
- package/plugins/filters/ui/radioInput.js +12 -48
- package/plugins/filters/ui/radioInput.mjs +12 -31
- package/plugins/filters/ui/select.js +20 -77
- package/plugins/filters/ui/select.mjs +20 -53
- package/plugins/filters/utils.js +6 -39
- package/plugins/filters/utils.mjs +6 -23
- package/plugins/formulas/engine/register.js +24 -74
- package/plugins/formulas/engine/register.mjs +24 -45
- package/plugins/formulas/engine/settings.js +16 -25
- package/plugins/formulas/engine/settings.mjs +16 -13
- package/plugins/formulas/formulas.js +127 -306
- package/plugins/formulas/formulas.mjs +128 -259
- package/plugins/formulas/index.js +0 -2
- package/plugins/formulas/utils.js +1 -3
- package/plugins/formulas/utils.mjs +1 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +5 -39
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +5 -21
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +17 -24
- package/plugins/hiddenColumns/hiddenColumns.js +77 -150
- package/plugins/hiddenColumns/hiddenColumns.mjs +77 -109
- package/plugins/hiddenColumns/index.js +0 -2
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +5 -39
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +5 -21
- package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +17 -24
- package/plugins/hiddenRows/hiddenRows.js +75 -149
- package/plugins/hiddenRows/hiddenRows.mjs +75 -108
- package/plugins/hiddenRows/index.js +0 -2
- package/plugins/index.js +0 -71
- package/plugins/index.mjs +0 -1
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +2 -29
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +2 -13
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +2 -29
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +2 -13
- package/plugins/manualColumnFreeze/index.js +0 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +27 -79
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +27 -55
- package/plugins/manualColumnMove/index.js +0 -2
- package/plugins/manualColumnMove/manualColumnMove.js +51 -135
- package/plugins/manualColumnMove/manualColumnMove.mjs +51 -107
- package/plugins/manualColumnMove/ui/_base.js +26 -31
- package/plugins/manualColumnMove/ui/_base.mjs +26 -28
- package/plugins/manualColumnMove/ui/backlight.js +7 -38
- package/plugins/manualColumnMove/ui/backlight.mjs +7 -23
- package/plugins/manualColumnMove/ui/guideline.js +7 -38
- package/plugins/manualColumnMove/ui/guideline.mjs +7 -23
- package/plugins/manualColumnResize/index.js +0 -2
- package/plugins/manualColumnResize/manualColumnResize.js +50 -144
- package/plugins/manualColumnResize/manualColumnResize.mjs +49 -119
- package/plugins/manualRowMove/index.js +0 -2
- package/plugins/manualRowMove/manualRowMove.js +51 -138
- package/plugins/manualRowMove/manualRowMove.mjs +51 -110
- package/plugins/manualRowMove/ui/_base.js +26 -28
- package/plugins/manualRowMove/ui/_base.mjs +26 -27
- package/plugins/manualRowMove/ui/backlight.js +7 -38
- package/plugins/manualRowMove/ui/backlight.mjs +7 -23
- package/plugins/manualRowMove/ui/guideline.js +7 -38
- package/plugins/manualRowMove/ui/guideline.mjs +7 -23
- package/plugins/manualRowResize/index.js +0 -2
- package/plugins/manualRowResize/manualRowResize.js +48 -139
- package/plugins/manualRowResize/manualRowResize.mjs +47 -113
- package/plugins/mergeCells/calculations/autofill.js +49 -133
- package/plugins/mergeCells/calculations/autofill.mjs +46 -117
- package/plugins/mergeCells/calculations/selection.js +22 -39
- package/plugins/mergeCells/calculations/selection.mjs +22 -36
- package/plugins/mergeCells/cellCoords.js +43 -50
- package/plugins/mergeCells/cellCoords.mjs +43 -48
- package/plugins/mergeCells/cellsCollection.js +22 -86
- package/plugins/mergeCells/cellsCollection.mjs +19 -63
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +0 -6
- package/plugins/mergeCells/index.js +0 -2
- package/plugins/mergeCells/mergeCells.js +136 -334
- package/plugins/mergeCells/mergeCells.mjs +136 -293
- package/plugins/mergeCells/utils.js +0 -3
- package/plugins/mergeCells/utils.mjs +0 -1
- package/plugins/multiColumnSorting/domHelpers.js +2 -12
- package/plugins/multiColumnSorting/domHelpers.mjs +2 -5
- package/plugins/multiColumnSorting/index.js +0 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +20 -67
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +20 -45
- package/plugins/multiColumnSorting/rootComparator.js +2 -26
- package/plugins/multiColumnSorting/rootComparator.mjs +2 -15
- package/plugins/multiColumnSorting/utils.js +0 -7
- package/plugins/multiColumnSorting/utils.mjs +0 -4
- package/plugins/multipleSelectionHandles/index.js +0 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +12 -110
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +12 -88
- package/plugins/nestedHeaders/index.js +0 -2
- package/plugins/nestedHeaders/nestedHeaders.js +198 -211
- package/plugins/nestedHeaders/nestedHeaders.mjs +206 -191
- package/plugins/nestedHeaders/stateManager/headersTree.js +26 -96
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +26 -76
- package/plugins/nestedHeaders/stateManager/index.js +55 -118
- package/plugins/nestedHeaders/stateManager/index.mjs +61 -105
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +7 -18
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +12 -17
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +10 -15
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +3 -13
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +1 -3
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +3 -14
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +5 -20
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +27 -81
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +33 -71
- package/plugins/nestedHeaders/stateManager/utils.js +19 -22
- package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
- package/plugins/nestedHeaders/utils/ghostTable.js +23 -37
- package/plugins/nestedHeaders/utils/ghostTable.mjs +23 -36
- package/plugins/nestedRows/data/dataManager.js +47 -162
- package/plugins/nestedRows/data/dataManager.mjs +45 -143
- package/plugins/nestedRows/index.js +0 -2
- package/plugins/nestedRows/nestedRows.js +46 -119
- package/plugins/nestedRows/nestedRows.mjs +46 -86
- package/plugins/nestedRows/ui/_base.js +14 -8
- package/plugins/nestedRows/ui/_base.mjs +14 -7
- package/plugins/nestedRows/ui/collapsing.js +33 -133
- package/plugins/nestedRows/ui/collapsing.mjs +33 -111
- package/plugins/nestedRows/ui/contextMenu.js +9 -55
- package/plugins/nestedRows/ui/contextMenu.mjs +8 -33
- package/plugins/nestedRows/ui/headers.js +10 -49
- package/plugins/nestedRows/ui/headers.mjs +10 -34
- package/plugins/nestedRows/utils/rowMoveController.js +36 -79
- package/plugins/nestedRows/utils/rowMoveController.mjs +45 -71
- package/plugins/persistentState/index.js +0 -2
- package/plugins/persistentState/persistentState.js +16 -59
- package/plugins/persistentState/persistentState.mjs +16 -38
- package/plugins/persistentState/storage.js +22 -24
- package/plugins/persistentState/storage.mjs +22 -22
- package/plugins/registry.js +8 -52
- package/plugins/registry.mjs +8 -33
- package/plugins/search/index.js +0 -2
- package/plugins/search/search.js +22 -97
- package/plugins/search/search.mjs +22 -68
- package/plugins/touchScroll/index.js +0 -2
- package/plugins/touchScroll/touchScroll.js +21 -77
- package/plugins/touchScroll/touchScroll.mjs +21 -59
- package/plugins/trimRows/index.js +0 -2
- package/plugins/trimRows/trimRows.js +64 -86
- package/plugins/trimRows/trimRows.mjs +64 -63
- package/plugins/undoRedo/index.js +0 -14
- package/plugins/undoRedo/undoRedo.js +98 -250
- package/plugins/undoRedo/undoRedo.mjs +98 -220
- package/registry.js +0 -11
- package/registry.mjs +1 -2
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
- package/renderers/autocompleteRenderer/index.js +0 -2
- package/renderers/baseRenderer/baseRenderer.js +2 -11
- package/renderers/baseRenderer/baseRenderer.mjs +1 -7
- package/renderers/baseRenderer/index.js +0 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
- package/renderers/checkboxRenderer/index.js +0 -2
- package/renderers/htmlRenderer/htmlRenderer.js +1 -7
- package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
- package/renderers/htmlRenderer/index.js +0 -2
- package/renderers/index.js +0 -19
- package/renderers/index.mjs +0 -1
- package/renderers/numericRenderer/index.js +0 -2
- package/renderers/numericRenderer/numericRenderer.js +1 -21
- package/renderers/numericRenderer/numericRenderer.mjs +1 -9
- package/renderers/passwordRenderer/index.js +0 -2
- package/renderers/passwordRenderer/passwordRenderer.js +1 -8
- package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
- package/renderers/registry.js +7 -16
- package/renderers/registry.mjs +7 -14
- package/renderers/textRenderer/index.js +0 -2
- package/renderers/textRenderer/textRenderer.js +1 -13
- package/renderers/textRenderer/textRenderer.mjs +1 -5
- package/renderers/timeRenderer/index.js +0 -2
- package/renderers/timeRenderer/timeRenderer.js +1 -6
- package/renderers/timeRenderer/timeRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +24 -73
- package/selection/highlight/highlight.mjs +24 -50
- package/selection/highlight/types/activeHeader.js +14 -23
- package/selection/highlight/types/activeHeader.mjs +14 -12
- package/selection/highlight/types/area.js +15 -24
- package/selection/highlight/types/area.mjs +15 -13
- package/selection/highlight/types/cell.js +14 -23
- package/selection/highlight/types/cell.mjs +14 -12
- package/selection/highlight/types/customSelection.js +15 -24
- package/selection/highlight/types/customSelection.mjs +15 -13
- package/selection/highlight/types/fill.js +16 -20
- package/selection/highlight/types/fill.mjs +16 -9
- package/selection/highlight/types/header.js +16 -25
- package/selection/highlight/types/header.mjs +16 -14
- package/selection/highlight/types/index.js +17 -27
- package/selection/highlight/types/index.mjs +17 -13
- package/selection/highlight/visualSelection.js +35 -80
- package/selection/highlight/visualSelection.mjs +35 -68
- package/selection/index.js +0 -14
- package/selection/mouseEventHandler.js +19 -30
- package/selection/mouseEventHandler.mjs +19 -22
- package/selection/range.js +17 -30
- package/selection/range.mjs +17 -21
- package/selection/selection.js +72 -160
- package/selection/selection.mjs +77 -137
- package/selection/transformation.js +23 -39
- package/selection/transformation.mjs +23 -36
- package/selection/utils.js +23 -71
- package/selection/utils.mjs +23 -48
- package/shortcuts/context.js +24 -79
- package/shortcuts/context.mjs +24 -56
- package/shortcuts/index.js +0 -2
- package/shortcuts/keyObserver.js +0 -9
- package/shortcuts/keyObserver.mjs +0 -4
- package/shortcuts/manager.js +17 -37
- package/shortcuts/manager.mjs +17 -34
- package/shortcuts/recorder.js +9 -40
- package/shortcuts/recorder.mjs +9 -31
- package/shortcuts/utils.js +5 -20
- package/shortcuts/utils.mjs +5 -6
- package/tableView.js +239 -330
- package/tableView.mjs +239 -308
- package/translations/changesObservable/observable.js +14 -53
- package/translations/changesObservable/observable.mjs +14 -43
- package/translations/changesObservable/observer.js +13 -31
- package/translations/changesObservable/observer.mjs +13 -23
- package/translations/changesObservable/utils.js +1 -5
- package/translations/changesObservable/utils.mjs +1 -4
- package/translations/index.js +0 -11
- package/translations/indexMapper.js +80 -162
- package/translations/indexMapper.mjs +85 -134
- package/translations/mapCollections/aggregatedCollection.js +14 -50
- package/translations/mapCollections/aggregatedCollection.mjs +14 -37
- package/translations/mapCollections/index.js +0 -7
- package/translations/mapCollections/mapCollection.js +20 -34
- package/translations/mapCollections/mapCollection.mjs +20 -23
- package/translations/maps/hidingMap.js +7 -34
- package/translations/maps/hidingMap.mjs +7 -22
- package/translations/maps/index.js +1 -24
- package/translations/maps/index.mjs +1 -3
- package/translations/maps/indexMap.js +25 -33
- package/translations/maps/indexMap.mjs +25 -27
- package/translations/maps/indexesSequence.js +8 -40
- package/translations/maps/indexesSequence.mjs +8 -25
- package/translations/maps/linkedPhysicalIndexToValueMap.js +18 -81
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +17 -54
- package/translations/maps/physicalIndexToValueMap.js +7 -38
- package/translations/maps/physicalIndexToValueMap.mjs +7 -24
- package/translations/maps/trimmingMap.js +7 -34
- package/translations/maps/trimmingMap.mjs +7 -22
- package/translations/maps/utils/actionsOnIndexes.js +1 -7
- package/translations/maps/utils/actionsOnIndexes.mjs +1 -3
- package/translations/maps/utils/index.js +0 -13
- package/translations/maps/utils/index.mjs +0 -3
- package/translations/maps/utils/indexesSequence.js +1 -24
- package/translations/maps/utils/indexesSequence.mjs +1 -9
- package/translations/maps/utils/physicallyIndexed.js +1 -27
- package/translations/maps/utils/physicallyIndexed.mjs +1 -10
- package/utils/dataStructures/linkedList.js +23 -50
- package/utils/dataStructures/linkedList.mjs +23 -48
- package/utils/dataStructures/priorityMap.js +9 -47
- package/utils/dataStructures/priorityMap.mjs +9 -30
- package/utils/dataStructures/queue.js +19 -16
- package/utils/dataStructures/queue.mjs +19 -15
- package/utils/dataStructures/stack.js +19 -16
- package/utils/dataStructures/stack.mjs +19 -15
- package/utils/dataStructures/tree.js +19 -77
- package/utils/dataStructures/tree.mjs +19 -56
- package/utils/dataStructures/uniqueMap.js +18 -57
- package/utils/dataStructures/uniqueMap.mjs +18 -43
- package/utils/dataStructures/uniqueSet.js +5 -32
- package/utils/dataStructures/uniqueSet.mjs +5 -19
- package/utils/ghostTable.js +42 -106
- package/utils/ghostTable.mjs +40 -90
- package/utils/interval.js +17 -29
- package/utils/interval.mjs +18 -26
- package/utils/parseTable.js +11 -92
- package/utils/parseTable.mjs +11 -62
- package/utils/rootInstance.js +3 -14
- package/utils/rootInstance.mjs +3 -3
- package/utils/samplesGenerator.js +25 -51
- package/utils/samplesGenerator.mjs +25 -42
- package/utils/staticRegister.js +6 -33
- package/utils/staticRegister.mjs +6 -19
- package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
- package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
- package/validators/autocompleteValidator/index.js +0 -2
- package/validators/dateValidator/dateValidator.js +2 -21
- package/validators/dateValidator/dateValidator.mjs +2 -11
- package/validators/dateValidator/index.js +0 -2
- package/validators/index.js +0 -11
- package/validators/index.mjs +0 -1
- package/validators/numericValidator/index.js +0 -2
- package/validators/numericValidator/numericValidator.js +1 -7
- package/validators/numericValidator/numericValidator.mjs +1 -3
- package/validators/registry.js +7 -16
- package/validators/registry.mjs +7 -14
- package/validators/timeValidator/index.js +0 -2
- package/validators/timeValidator/timeValidator.js +6 -18
- package/validators/timeValidator/timeValidator.mjs +8 -13
@@ -1,111 +1,66 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
require("core-js/modules/es.symbol.to-primitive.js");
|
4
|
+
require("core-js/modules/es.date.to-primitive.js");
|
5
|
+
require("core-js/modules/es.symbol.js");
|
6
|
+
require("core-js/modules/es.symbol.description.js");
|
7
|
+
require("core-js/modules/es.number.constructor.js");
|
5
8
|
require("core-js/modules/es.object.set-prototype-of.js");
|
6
|
-
|
7
9
|
require("core-js/modules/es.object.get-prototype-of.js");
|
8
|
-
|
9
10
|
require("core-js/modules/es.reflect.construct.js");
|
10
|
-
|
11
11
|
require("core-js/modules/es.reflect.get.js");
|
12
|
-
|
13
12
|
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
14
|
-
|
15
13
|
require("core-js/modules/es.array.slice.js");
|
16
|
-
|
17
14
|
require("core-js/modules/es.object.freeze.js");
|
18
|
-
|
19
|
-
require("core-js/modules/es.symbol.js");
|
20
|
-
|
21
|
-
require("core-js/modules/es.symbol.description.js");
|
22
|
-
|
23
15
|
require("core-js/modules/es.symbol.iterator.js");
|
24
|
-
|
16
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
25
17
|
exports.__esModule = true;
|
26
18
|
exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.NestedHeaders = void 0;
|
27
|
-
|
28
19
|
require("core-js/modules/es.array.concat.js");
|
29
|
-
|
30
20
|
require("core-js/modules/es.object.to-string.js");
|
31
|
-
|
32
21
|
require("core-js/modules/web.dom-collections.for-each.js");
|
33
|
-
|
34
22
|
require("core-js/modules/es.array.iterator.js");
|
35
|
-
|
36
23
|
require("core-js/modules/es.string.iterator.js");
|
37
|
-
|
38
24
|
require("core-js/modules/es.weak-map.js");
|
39
|
-
|
40
25
|
require("core-js/modules/web.dom-collections.iterator.js");
|
41
|
-
|
42
26
|
var _element = require("../../helpers/dom/element");
|
43
|
-
|
44
27
|
var _number = require("../../helpers/number");
|
45
|
-
|
46
28
|
var _event = require("../../helpers/dom/event");
|
47
|
-
|
48
29
|
var _templateLiteralTag = require("../../helpers/templateLiteralTag");
|
49
|
-
|
50
30
|
var _console = require("../../helpers/console");
|
51
|
-
|
52
31
|
var _selection = require("../../selection");
|
53
|
-
|
54
32
|
var _base = require("../base");
|
55
|
-
|
56
33
|
var _stateManager2 = _interopRequireDefault(require("./stateManager"));
|
57
|
-
|
58
34
|
var _ghostTable = _interopRequireDefault(require("./utils/ghostTable"));
|
59
|
-
|
60
35
|
var _templateObject, _templateObject2;
|
61
|
-
|
62
36
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
63
|
-
|
64
37
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
65
|
-
|
66
38
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
67
|
-
|
68
|
-
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); } }
|
69
|
-
|
39
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
70
40
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
71
|
-
|
72
41
|
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
|
73
|
-
|
74
42
|
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
75
|
-
|
76
43
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
77
|
-
|
78
44
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
79
|
-
|
80
45
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
81
|
-
|
82
46
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
83
|
-
|
84
47
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
85
|
-
|
86
48
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
87
|
-
|
88
49
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
89
|
-
|
90
|
-
function
|
91
|
-
|
50
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
51
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
52
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
92
53
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
93
|
-
|
94
54
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
95
|
-
|
96
55
|
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
97
|
-
|
98
56
|
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
99
|
-
|
100
57
|
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
101
|
-
|
102
58
|
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
103
|
-
|
104
59
|
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
105
|
-
|
106
60
|
var PLUGIN_KEY = 'nestedHeaders';
|
107
61
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
108
62
|
var PLUGIN_PRIORITY = 280;
|
63
|
+
|
109
64
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
110
65
|
|
111
66
|
/**
|
@@ -123,6 +78,7 @@ var PLUGIN_PRIORITY = 280;
|
|
123
78
|
* other words, headers cannot overlap each other.
|
124
79
|
* @example
|
125
80
|
*
|
81
|
+
* ::: only-for javascript
|
126
82
|
* ```js
|
127
83
|
* const container = document.getElementById('example');
|
128
84
|
* const hot = new Handsontable(container, {
|
@@ -134,49 +90,49 @@ var PLUGIN_PRIORITY = 280;
|
|
134
90
|
* ['N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W']
|
135
91
|
* ],
|
136
92
|
* ```
|
93
|
+
* :::
|
94
|
+
*
|
95
|
+
* ::: only-for react
|
96
|
+
* ```jsx
|
97
|
+
* <HotTable
|
98
|
+
* data={getData()}
|
99
|
+
* nestedHeaders={[
|
100
|
+
* ['A', {label: 'B', colspan: 8}, 'C'],
|
101
|
+
* ['D', {label: 'E', colspan: 4}, {label: 'F', colspan: 4}, 'G'],
|
102
|
+
* ['H', {label: 'I', colspan: 2}, {label: 'J', colspan: 2}, {label: 'K', colspan: 2}, {label: 'L', colspan: 2}, 'M'],
|
103
|
+
* ['N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W']
|
104
|
+
* ]}
|
105
|
+
* />
|
106
|
+
* ```
|
107
|
+
* :::
|
137
108
|
*/
|
138
|
-
|
139
109
|
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
140
|
-
|
141
110
|
var _stateManager = /*#__PURE__*/new WeakMap();
|
142
|
-
|
143
111
|
var _hidingIndexMapObserver = /*#__PURE__*/new WeakMap();
|
144
|
-
|
145
112
|
var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
146
113
|
_inherits(NestedHeaders, _BasePlugin);
|
147
|
-
|
148
114
|
var _super = _createSuper(NestedHeaders);
|
149
|
-
|
150
115
|
function NestedHeaders() {
|
151
116
|
var _this;
|
152
|
-
|
153
117
|
_classCallCheck(this, NestedHeaders);
|
154
|
-
|
155
118
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
156
119
|
args[_key] = arguments[_key];
|
157
120
|
}
|
158
|
-
|
159
121
|
_this = _super.call.apply(_super, [this].concat(args));
|
160
|
-
|
161
122
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _stateManager, {
|
162
123
|
writable: true,
|
163
124
|
value: new _stateManager2.default()
|
164
125
|
});
|
165
|
-
|
166
126
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _hidingIndexMapObserver, {
|
167
127
|
writable: true,
|
168
128
|
value: null
|
169
129
|
});
|
170
|
-
|
171
130
|
_defineProperty(_assertThisInitialized(_this), "ghostTable", new _ghostTable.default(_this.hot, function (row, column) {
|
172
131
|
return _this.getHeaderSettings(row, column);
|
173
132
|
}));
|
174
|
-
|
175
133
|
_defineProperty(_assertThisInitialized(_this), "detectedOverlappedHeaders", false);
|
176
|
-
|
177
134
|
return _this;
|
178
135
|
}
|
179
|
-
|
180
136
|
_createClass(NestedHeaders, [{
|
181
137
|
key: "isEnabled",
|
182
138
|
value:
|
@@ -188,26 +144,22 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
188
144
|
function isEnabled() {
|
189
145
|
return !!this.hot.getSettings()[PLUGIN_KEY];
|
190
146
|
}
|
147
|
+
|
191
148
|
/**
|
192
149
|
* Enables the plugin functionality for this Handsontable instance.
|
193
150
|
*/
|
194
|
-
|
195
151
|
}, {
|
196
152
|
key: "enablePlugin",
|
197
153
|
value: function enablePlugin() {
|
198
154
|
var _this2 = this;
|
199
|
-
|
200
155
|
if (this.enabled) {
|
201
156
|
return;
|
202
157
|
}
|
203
|
-
|
204
158
|
var _this$hot$getSettings = this.hot.getSettings(),
|
205
|
-
|
206
|
-
|
159
|
+
nestedHeaders = _this$hot$getSettings.nestedHeaders;
|
207
160
|
if (!Array.isArray(nestedHeaders) || !Array.isArray(nestedHeaders[0])) {
|
208
161
|
(0, _console.warn)((0, _templateLiteralTag.toSingleLine)(_templateObject || (_templateObject = _taggedTemplateLiteral(["Your Nested Headers plugin configuration is invalid. The settings has to be \n passed as an array of arrays e.q. [['A1', { label: 'A2', colspan: 2 }]]"], ["Your Nested Headers plugin configuration is invalid. The settings has to be\\x20\n passed as an array of arrays e.q. [['A1', { label: 'A2', colspan: 2 }]]"]))));
|
209
162
|
}
|
210
|
-
|
211
163
|
this.addHook('init', function () {
|
212
164
|
return _this2.onInit();
|
213
165
|
});
|
@@ -229,123 +181,110 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
229
181
|
this.addHook('modifyColWidth', function () {
|
230
182
|
return _this2.onModifyColWidth.apply(_this2, arguments);
|
231
183
|
});
|
184
|
+
this.addHook('modifyColumnHeaderValue', function () {
|
185
|
+
return _this2.onModifyColumnHeaderValue.apply(_this2, arguments);
|
186
|
+
});
|
232
187
|
this.addHook('beforeHighlightingColumnHeader', function () {
|
233
188
|
return _this2.onBeforeHighlightingColumnHeader.apply(_this2, arguments);
|
234
189
|
});
|
190
|
+
this.addHook('beforeCopy', function () {
|
191
|
+
return _this2.onBeforeCopy.apply(_this2, arguments);
|
192
|
+
});
|
235
193
|
this.addHook('afterViewportColumnCalculatorOverride', function () {
|
236
194
|
return _this2.onAfterViewportColumnCalculatorOverride.apply(_this2, arguments);
|
237
195
|
});
|
238
|
-
|
239
196
|
_get(_getPrototypeOf(NestedHeaders.prototype), "enablePlugin", this).call(this);
|
240
|
-
|
241
197
|
this.updatePlugin(); // @TODO: Workaround for broken plugin initialization abstraction.
|
242
198
|
}
|
199
|
+
|
243
200
|
/**
|
244
201
|
* Updates the plugin's state.
|
245
202
|
*
|
246
203
|
* This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the following configuration options:
|
247
204
|
* - [`nestedHeaders`](@/api/options.md#nestedheaders)
|
248
205
|
*/
|
249
|
-
|
250
206
|
}, {
|
251
207
|
key: "updatePlugin",
|
252
208
|
value: function updatePlugin() {
|
253
209
|
var _this3 = this;
|
254
|
-
|
255
210
|
if (!this.hot.view) {
|
256
211
|
// @TODO: Workaround for broken plugin initialization abstraction.
|
257
212
|
return;
|
258
213
|
}
|
259
|
-
|
260
214
|
var _this$hot$getSettings2 = this.hot.getSettings(),
|
261
|
-
|
262
|
-
|
215
|
+
nestedHeaders = _this$hot$getSettings2.nestedHeaders;
|
263
216
|
_classPrivateFieldGet(this, _stateManager).setColumnsLimit(this.hot.countCols());
|
264
|
-
|
265
217
|
if (Array.isArray(nestedHeaders)) {
|
266
218
|
this.detectedOverlappedHeaders = _classPrivateFieldGet(this, _stateManager).setState(nestedHeaders);
|
267
219
|
}
|
268
|
-
|
269
220
|
if (this.detectedOverlappedHeaders) {
|
270
221
|
(0, _console.warn)((0, _templateLiteralTag.toSingleLine)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Your Nested Headers plugin setup contains overlapping headers. This kind of configuration \n is currently not supported."], ["Your Nested Headers plugin setup contains overlapping headers. This kind of configuration\\x20\n is currently not supported."]))));
|
271
222
|
}
|
272
|
-
|
273
223
|
if (this.enabled) {
|
274
224
|
// This line covers the case when a developer uses the external hiding maps to manipulate
|
275
225
|
// the columns' visibility. The tree state built from the settings - which is always built
|
276
226
|
// as if all the columns are visible, needs to be modified to be in sync with a dataset.
|
277
227
|
this.hot.columnIndexMapper.hidingMapsCollection.getMergedValues().forEach(function (isColumnHidden, physicalColumnIndex) {
|
278
228
|
var actionName = isColumnHidden === true ? 'hide-column' : 'show-column';
|
279
|
-
|
280
229
|
_classPrivateFieldGet(_this3, _stateManager).triggerColumnModification(actionName, physicalColumnIndex);
|
281
230
|
});
|
282
231
|
}
|
283
|
-
|
284
232
|
if (!_classPrivateFieldGet(this, _hidingIndexMapObserver) && this.enabled) {
|
285
233
|
_classPrivateFieldSet(this, _hidingIndexMapObserver, this.hot.columnIndexMapper.createChangesObserver('hiding').subscribe(function (changes) {
|
286
234
|
changes.forEach(function (_ref) {
|
287
235
|
var op = _ref.op,
|
288
|
-
|
289
|
-
|
290
|
-
|
236
|
+
columnIndex = _ref.index,
|
237
|
+
newValue = _ref.newValue;
|
291
238
|
if (op === 'replace') {
|
292
239
|
var actionName = newValue === true ? 'hide-column' : 'show-column';
|
293
|
-
|
294
240
|
_classPrivateFieldGet(_this3, _stateManager).triggerColumnModification(actionName, columnIndex);
|
295
241
|
}
|
296
242
|
});
|
297
|
-
|
298
243
|
_this3.ghostTable.buildWidthsMap();
|
299
244
|
}));
|
300
245
|
}
|
301
|
-
|
302
246
|
this.ghostTable.setLayersCount(this.getLayersCount()).buildWidthsMap();
|
303
|
-
|
304
247
|
_get(_getPrototypeOf(NestedHeaders.prototype), "updatePlugin", this).call(this);
|
305
248
|
}
|
249
|
+
|
306
250
|
/**
|
307
251
|
* Disables the plugin functionality for this Handsontable instance.
|
308
252
|
*/
|
309
|
-
|
310
253
|
}, {
|
311
254
|
key: "disablePlugin",
|
312
255
|
value: function disablePlugin() {
|
313
256
|
this.clearColspans();
|
314
|
-
|
315
257
|
_classPrivateFieldGet(this, _stateManager).clear();
|
316
|
-
|
317
258
|
_classPrivateFieldGet(this, _hidingIndexMapObserver).unsubscribe();
|
318
|
-
|
319
259
|
_classPrivateFieldSet(this, _hidingIndexMapObserver, null);
|
320
|
-
|
321
260
|
this.ghostTable.clear();
|
322
|
-
|
323
261
|
_get(_getPrototypeOf(NestedHeaders.prototype), "disablePlugin", this).call(this);
|
324
262
|
}
|
263
|
+
|
325
264
|
/**
|
326
265
|
* Returns an instance of the internal state manager of the plugin.
|
327
266
|
*
|
328
267
|
* @private
|
329
268
|
* @returns {StateManager}
|
330
269
|
*/
|
331
|
-
|
332
270
|
}, {
|
333
271
|
key: "getStateManager",
|
334
272
|
value: function getStateManager() {
|
335
273
|
return _classPrivateFieldGet(this, _stateManager);
|
336
274
|
}
|
275
|
+
|
337
276
|
/**
|
338
277
|
* Gets a total number of headers levels.
|
339
278
|
*
|
340
279
|
* @private
|
341
280
|
* @returns {number}
|
342
281
|
*/
|
343
|
-
|
344
282
|
}, {
|
345
283
|
key: "getLayersCount",
|
346
284
|
value: function getLayersCount() {
|
347
285
|
return _classPrivateFieldGet(this, _stateManager).getLayersCount();
|
348
286
|
}
|
287
|
+
|
349
288
|
/**
|
350
289
|
* Gets column settings for a specified header. The returned object contains
|
351
290
|
* information about the header label, its colspan length, or if it is hidden
|
@@ -356,50 +295,42 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
356
295
|
* @param {number} columnIndex A visual column index.
|
357
296
|
* @returns {object}
|
358
297
|
*/
|
359
|
-
|
360
298
|
}, {
|
361
299
|
key: "getHeaderSettings",
|
362
300
|
value: function getHeaderSettings(headerLevel, columnIndex) {
|
363
301
|
return _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, columnIndex);
|
364
302
|
}
|
303
|
+
|
365
304
|
/**
|
366
305
|
* Clear the colspans remaining after plugin usage.
|
367
306
|
*
|
368
307
|
* @private
|
369
308
|
*/
|
370
|
-
|
371
309
|
}, {
|
372
310
|
key: "clearColspans",
|
373
311
|
value: function clearColspans() {
|
374
312
|
if (!this.hot.view) {
|
375
313
|
return;
|
376
314
|
}
|
377
|
-
|
378
315
|
var wt = this.hot.view._wt;
|
379
316
|
var headerLevels = wt.getSetting('columnHeaders').length;
|
380
317
|
var mainHeaders = wt.wtTable.THEAD;
|
381
318
|
var topHeaders = wt.wtOverlays.topOverlay.clone.wtTable.THEAD;
|
382
319
|
var topLeftCornerHeaders = wt.wtOverlays.topInlineStartCornerOverlay ? wt.wtOverlays.topInlineStartCornerOverlay.clone.wtTable.THEAD : null;
|
383
|
-
|
384
320
|
for (var i = 0; i < headerLevels; i++) {
|
385
321
|
var masterLevel = mainHeaders.childNodes[i];
|
386
|
-
|
387
322
|
if (!masterLevel) {
|
388
323
|
break;
|
389
324
|
}
|
390
|
-
|
391
325
|
var topLevel = topHeaders.childNodes[i];
|
392
326
|
var topLeftCornerLevel = topLeftCornerHeaders ? topLeftCornerHeaders.childNodes[i] : null;
|
393
|
-
|
394
327
|
for (var j = 0, masterNodes = masterLevel.childNodes.length; j < masterNodes; j++) {
|
395
328
|
masterLevel.childNodes[j].removeAttribute('colspan');
|
396
329
|
(0, _element.removeClass)(masterLevel.childNodes[j], 'hiddenHeader');
|
397
|
-
|
398
330
|
if (topLevel && topLevel.childNodes[j]) {
|
399
331
|
topLevel.childNodes[j].removeAttribute('colspan');
|
400
332
|
(0, _element.removeClass)(topLevel.childNodes[j], 'hiddenHeader');
|
401
333
|
}
|
402
|
-
|
403
334
|
if (topLeftCornerHeaders && topLeftCornerLevel && topLeftCornerLevel.childNodes[j]) {
|
404
335
|
topLeftCornerLevel.childNodes[j].removeAttribute('colspan');
|
405
336
|
(0, _element.removeClass)(topLeftCornerLevel.childNodes[j], 'hiddenHeader');
|
@@ -407,6 +338,7 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
407
338
|
}
|
408
339
|
}
|
409
340
|
}
|
341
|
+
|
410
342
|
/**
|
411
343
|
* Generates the appropriate header renderer for a header row.
|
412
344
|
*
|
@@ -416,66 +348,72 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
416
348
|
* @returns {Function}
|
417
349
|
* @fires Hooks#afterGetColHeader
|
418
350
|
*/
|
419
|
-
|
420
351
|
}, {
|
421
352
|
key: "headerRendererFactory",
|
422
353
|
value: function headerRendererFactory(headerLevel) {
|
423
354
|
var _this4 = this;
|
424
|
-
|
425
355
|
var fixedColumnsStart = this.hot.view._wt.getSetting('fixedColumnsStart');
|
426
|
-
|
427
356
|
return function (renderedColumnIndex, TH) {
|
428
357
|
var _classPrivateFieldGet2;
|
429
|
-
|
430
358
|
var _this4$hot = _this4.hot,
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
if (visualColumnsIndex === null) {
|
437
|
-
visualColumnsIndex = renderedColumnIndex;
|
359
|
+
columnIndexMapper = _this4$hot.columnIndexMapper,
|
360
|
+
view = _this4$hot.view;
|
361
|
+
var visualColumnIndex = columnIndexMapper.getVisualFromRenderableIndex(renderedColumnIndex);
|
362
|
+
if (visualColumnIndex === null) {
|
363
|
+
visualColumnIndex = renderedColumnIndex;
|
438
364
|
}
|
439
|
-
|
440
365
|
TH.removeAttribute('colspan');
|
441
366
|
(0, _element.removeClass)(TH, 'hiddenHeader');
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
isHidden = _ref2.isHidden,
|
449
|
-
isPlaceholder = _ref2.isPlaceholder;
|
450
|
-
|
367
|
+
var _ref2 = (_classPrivateFieldGet2 = _classPrivateFieldGet(_this4, _stateManager).getHeaderSettings(headerLevel, visualColumnIndex)) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : {
|
368
|
+
label: ''
|
369
|
+
},
|
370
|
+
colspan = _ref2.colspan,
|
371
|
+
isHidden = _ref2.isHidden,
|
372
|
+
isPlaceholder = _ref2.isPlaceholder;
|
451
373
|
if (isPlaceholder || isHidden) {
|
452
374
|
(0, _element.addClass)(TH, 'hiddenHeader');
|
453
375
|
} else if (colspan > 1) {
|
454
376
|
var _wtOverlays$topInline, _wtOverlays$inlineSta;
|
455
|
-
|
456
377
|
var wtOverlays = view._wt.wtOverlays;
|
457
378
|
var isTopInlineStartOverlay = (_wtOverlays$topInline = wtOverlays.topInlineStartCornerOverlay) === null || _wtOverlays$topInline === void 0 ? void 0 : _wtOverlays$topInline.clone.wtTable.THEAD.contains(TH);
|
458
|
-
var isInlineStartOverlay = (_wtOverlays$inlineSta = wtOverlays.inlineStartOverlay) === null || _wtOverlays$inlineSta === void 0 ? void 0 : _wtOverlays$inlineSta.clone.wtTable.THEAD.contains(TH);
|
379
|
+
var isInlineStartOverlay = (_wtOverlays$inlineSta = wtOverlays.inlineStartOverlay) === null || _wtOverlays$inlineSta === void 0 ? void 0 : _wtOverlays$inlineSta.clone.wtTable.THEAD.contains(TH);
|
459
380
|
|
381
|
+
// Check if there is a fixed column enabled, if so then reduce colspan to fixed column width.
|
460
382
|
var correctedColspan = isTopInlineStartOverlay || isInlineStartOverlay ? Math.min(colspan, fixedColumnsStart - renderedColumnIndex) : colspan;
|
461
|
-
|
462
383
|
if (correctedColspan > 1) {
|
463
384
|
TH.setAttribute('colspan', correctedColspan);
|
464
385
|
}
|
465
386
|
}
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
(0, _element.addClass)(divEl, 'relative');
|
470
|
-
(0, _element.addClass)(spanEl, 'colHeader');
|
471
|
-
(0, _element.fastInnerHTML)(spanEl, label);
|
472
|
-
divEl.appendChild(spanEl);
|
473
|
-
(0, _element.empty)(TH);
|
474
|
-
TH.appendChild(divEl);
|
475
|
-
|
476
|
-
_this4.hot.runHooks('afterGetColHeader', visualColumnsIndex, TH);
|
387
|
+
_this4.hot.view.appendColHeader(visualColumnIndex, TH, function () {
|
388
|
+
return _this4.getColumnHeaderValue.apply(_this4, arguments);
|
389
|
+
}, headerLevel);
|
477
390
|
};
|
478
391
|
}
|
392
|
+
|
393
|
+
/**
|
394
|
+
* Returns the column header value for specified column and header level index.
|
395
|
+
*
|
396
|
+
* @private
|
397
|
+
* @param {number} visualColumnIndex Visual column index.
|
398
|
+
* @param {number} headerLevel The index of header level. The header level accepts positive (0 to N)
|
399
|
+
* and negative (-1 to -N) values. For positive values, 0 points to the
|
400
|
+
* top most header, and for negative direction, -1 points to the most bottom
|
401
|
+
* header (the header closest to the cells).
|
402
|
+
* @returns {string} Returns the column header value to update.
|
403
|
+
*/
|
404
|
+
}, {
|
405
|
+
key: "getColumnHeaderValue",
|
406
|
+
value: function getColumnHeaderValue(visualColumnIndex, headerLevel) {
|
407
|
+
var _classPrivateFieldGet3;
|
408
|
+
var _ref3 = (_classPrivateFieldGet3 = _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, visualColumnIndex)) !== null && _classPrivateFieldGet3 !== void 0 ? _classPrivateFieldGet3 : {},
|
409
|
+
isHidden = _ref3.isHidden,
|
410
|
+
isPlaceholder = _ref3.isPlaceholder;
|
411
|
+
if (isPlaceholder || isHidden) {
|
412
|
+
return '';
|
413
|
+
}
|
414
|
+
return this.hot.getColHeader(visualColumnIndex, headerLevel);
|
415
|
+
}
|
416
|
+
|
479
417
|
/**
|
480
418
|
* Allows to control which header DOM element will be used to highlight.
|
481
419
|
*
|
@@ -485,25 +423,20 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
485
423
|
* @param {object} highlightMeta An object with meta data that describes the highlight state.
|
486
424
|
* @returns {number}
|
487
425
|
*/
|
488
|
-
|
489
426
|
}, {
|
490
427
|
key: "onBeforeHighlightingColumnHeader",
|
491
428
|
value: function onBeforeHighlightingColumnHeader(visualColumn, headerLevel, highlightMeta) {
|
492
429
|
var headerNodeData = _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(headerLevel, visualColumn);
|
493
|
-
|
494
430
|
if (!headerNodeData) {
|
495
431
|
return visualColumn;
|
496
432
|
}
|
497
|
-
|
498
433
|
var classNames = highlightMeta.classNames,
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
colspan = _classPrivateFieldGet3.colspan;
|
506
|
-
|
434
|
+
columnCursor = highlightMeta.columnCursor,
|
435
|
+
selectionType = highlightMeta.selectionType,
|
436
|
+
selectionWidth = highlightMeta.selectionWidth;
|
437
|
+
var _classPrivateFieldGet4 = _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, visualColumn),
|
438
|
+
isRoot = _classPrivateFieldGet4.isRoot,
|
439
|
+
colspan = _classPrivateFieldGet4.colspan;
|
507
440
|
if (selectionType === _selection.HEADER_TYPE) {
|
508
441
|
if (!isRoot) {
|
509
442
|
return headerNodeData.columnIndex;
|
@@ -514,11 +447,61 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
514
447
|
classNames.length = 0;
|
515
448
|
}
|
516
449
|
}
|
517
|
-
|
518
450
|
return visualColumn;
|
519
451
|
}
|
452
|
+
|
453
|
+
/**
|
454
|
+
* Listens the `beforeCopy` hook that allows processing the copied column headers so that the
|
455
|
+
* merged column headers do not propagate the value for each column but only once at the beginning
|
456
|
+
* of the column.
|
457
|
+
*
|
458
|
+
* @private
|
459
|
+
* @param {Array[]} data An array of arrays which contains data to copied.
|
460
|
+
* @param {object[]} copyableRanges An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
|
461
|
+
* which will copied.
|
462
|
+
* @param {{ columnHeadersCount: number }} copiedHeadersCount An object with keys that holds information with
|
463
|
+
* the number of copied headers.
|
464
|
+
*/
|
465
|
+
}, {
|
466
|
+
key: "onBeforeCopy",
|
467
|
+
value: function onBeforeCopy(data, copyableRanges, _ref4) {
|
468
|
+
var columnHeadersCount = _ref4.columnHeadersCount;
|
469
|
+
if (columnHeadersCount === 0) {
|
470
|
+
return;
|
471
|
+
}
|
472
|
+
for (var rangeIndex = 0; rangeIndex < copyableRanges.length; rangeIndex++) {
|
473
|
+
var _copyableRanges$range = copyableRanges[rangeIndex],
|
474
|
+
startRow = _copyableRanges$range.startRow,
|
475
|
+
startCol = _copyableRanges$range.startCol,
|
476
|
+
endRow = _copyableRanges$range.endRow,
|
477
|
+
endCol = _copyableRanges$range.endCol;
|
478
|
+
var rowsCount = endRow - startRow + 1;
|
479
|
+
var columnsCount = startCol - endCol + 1;
|
480
|
+
|
481
|
+
// do not process dataset ranges and column headers where only one column is copied
|
482
|
+
if (startRow >= 0 || columnsCount === 1) {
|
483
|
+
break;
|
484
|
+
}
|
485
|
+
for (var column = startCol; column <= endCol; column++) {
|
486
|
+
for (var row = startRow; row <= endRow; row++) {
|
487
|
+
var _classPrivateFieldGet5;
|
488
|
+
var zeroBasedColumnHeaderLevel = rowsCount + row;
|
489
|
+
var zeroBasedColumnIndex = column - startCol;
|
490
|
+
if (zeroBasedColumnIndex === 0) {
|
491
|
+
continue; // eslint-disable-line no-continue
|
492
|
+
}
|
493
|
+
|
494
|
+
var isRoot = (_classPrivateFieldGet5 = _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(row, column)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.isRoot;
|
495
|
+
if (isRoot === false) {
|
496
|
+
data[zeroBasedColumnHeaderLevel][zeroBasedColumnIndex] = '';
|
497
|
+
}
|
498
|
+
}
|
499
|
+
}
|
500
|
+
}
|
501
|
+
}
|
502
|
+
|
520
503
|
/**
|
521
|
-
* Allows
|
504
|
+
* Allows blocking the column selection that is controlled by the core Selection module.
|
522
505
|
*
|
523
506
|
* @private
|
524
507
|
* @param {MouseEvent} event Mouse event.
|
@@ -527,18 +510,17 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
527
510
|
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
528
511
|
* a boolean value that allows or disallows changing the selection for that particular area.
|
529
512
|
*/
|
530
|
-
|
531
513
|
}, {
|
532
514
|
key: "onBeforeOnCellMouseDown",
|
533
515
|
value: function onBeforeOnCellMouseDown(event, coords, TD, controller) {
|
534
516
|
var headerNodeData = this._getHeaderTreeNodeDataByCoords(coords);
|
535
|
-
|
536
517
|
if (headerNodeData) {
|
537
518
|
// Block the Selection module in controlling how the columns are selected. Pass the
|
538
519
|
// responsibility of the column selection to this plugin (see "onAfterOnCellMouseDown" hook).
|
539
520
|
controller.column = true;
|
540
521
|
}
|
541
522
|
}
|
523
|
+
|
542
524
|
/**
|
543
525
|
* Allows to control how the column selection based on the coordinates and the nested headers is made.
|
544
526
|
*
|
@@ -546,27 +528,24 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
546
528
|
* @param {MouseEvent} event Mouse event.
|
547
529
|
* @param {CellCoords} coords Cell coords object containing the visual coordinates of the clicked cell.
|
548
530
|
*/
|
549
|
-
|
550
531
|
}, {
|
551
532
|
key: "onAfterOnCellMouseDown",
|
552
533
|
value: function onAfterOnCellMouseDown(event, coords) {
|
553
534
|
var headerNodeData = this._getHeaderTreeNodeDataByCoords(coords);
|
554
|
-
|
555
535
|
if (!headerNodeData) {
|
556
536
|
return;
|
557
537
|
}
|
558
|
-
|
559
538
|
var selection = this.hot.selection;
|
560
539
|
var currentSelection = selection.isSelected() ? selection.getSelectedRange().current() : null;
|
561
540
|
var columnsToSelect = [];
|
562
541
|
var columnIndex = headerNodeData.columnIndex,
|
563
|
-
|
542
|
+
origColspan = headerNodeData.origColspan;
|
543
|
+
|
544
|
+
// The Selection module doesn't allow it to extend its behavior easily. That's why here we need
|
564
545
|
// to re-implement the "click" and "shift" behavior. As a workaround, the logic for the nested
|
565
546
|
// headers must implement a similar logic as in the original Selection handler
|
566
547
|
// (see src/selection/mouseEventHandler.js).
|
567
|
-
|
568
548
|
var allowRightClickSelection = !selection.inInSelection(coords);
|
569
|
-
|
570
549
|
if (event.shiftKey && currentSelection) {
|
571
550
|
if (coords.col < currentSelection.from.col) {
|
572
551
|
columnsToSelect.push(currentSelection.getTopEndCorner().col, columnIndex, coords.row);
|
@@ -577,11 +556,12 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
577
556
|
}
|
578
557
|
} else if ((0, _event.isLeftClick)(event) || (0, _event.isRightClick)(event) && allowRightClickSelection) {
|
579
558
|
columnsToSelect.push(columnIndex, columnIndex + origColspan - 1, coords.row);
|
580
|
-
}
|
581
|
-
|
559
|
+
}
|
582
560
|
|
561
|
+
// The plugin takes control of how the columns are selected.
|
583
562
|
selection.selectColumns.apply(selection, columnsToSelect);
|
584
563
|
}
|
564
|
+
|
585
565
|
/**
|
586
566
|
* Makes the header-selection properly select the nested headers.
|
587
567
|
*
|
@@ -592,34 +572,29 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
592
572
|
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
593
573
|
* a boolean value that allows or disallows changing the selection for that particular area.
|
594
574
|
*/
|
595
|
-
|
596
575
|
}, {
|
597
576
|
key: "onBeforeOnCellMouseOver",
|
598
577
|
value: function onBeforeOnCellMouseOver(event, coords, TD, controller) {
|
599
578
|
var _this$hot;
|
600
|
-
|
601
579
|
if (!this.hot.view.isMouseDown()) {
|
602
580
|
return;
|
603
581
|
}
|
604
|
-
|
605
582
|
var headerNodeData = this._getHeaderTreeNodeDataByCoords(coords);
|
606
|
-
|
607
583
|
if (!headerNodeData) {
|
608
584
|
return;
|
609
585
|
}
|
610
|
-
|
611
586
|
var columnIndex = headerNodeData.columnIndex,
|
612
|
-
|
587
|
+
origColspan = headerNodeData.origColspan;
|
613
588
|
var selectedRange = this.hot.getSelectedRangeLast();
|
614
589
|
var topStartCoords = selectedRange.getTopStartCorner();
|
615
590
|
var bottomEndCoords = selectedRange.getBottomEndCorner();
|
616
|
-
var from = selectedRange.from;
|
617
|
-
// From now on, the plugin is responsible for the selection.
|
591
|
+
var from = selectedRange.from;
|
618
592
|
|
593
|
+
// Block the Selection module in controlling how the columns and cells are selected.
|
594
|
+
// From now on, the plugin is responsible for the selection.
|
619
595
|
controller.column = true;
|
620
596
|
controller.cell = true;
|
621
597
|
var columnsToSelect = [];
|
622
|
-
|
623
598
|
if (coords.col < from.col) {
|
624
599
|
columnsToSelect.push(bottomEndCoords.col, columnIndex);
|
625
600
|
} else if (coords.col > from.col) {
|
@@ -627,64 +602,59 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
627
602
|
} else {
|
628
603
|
columnsToSelect.push(columnIndex, columnIndex + origColspan - 1);
|
629
604
|
}
|
630
|
-
|
631
605
|
(_this$hot = this.hot).selectColumns.apply(_this$hot, columnsToSelect);
|
632
606
|
}
|
607
|
+
|
633
608
|
/**
|
634
609
|
* `afterGetColumnHeader` hook callback - prepares the header structure.
|
635
610
|
*
|
636
611
|
* @private
|
637
612
|
* @param {Array} renderersArray Array of renderers.
|
638
613
|
*/
|
639
|
-
|
640
614
|
}, {
|
641
615
|
key: "onAfterGetColumnHeaderRenderers",
|
642
616
|
value: function onAfterGetColumnHeaderRenderers(renderersArray) {
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
for (var headerLayer = 0; headerLayer < _classPrivateFieldGet(this, _stateManager).getLayersCount(); headerLayer++) {
|
647
|
-
renderersArray.push(this.headerRendererFactory(headerLayer));
|
648
|
-
}
|
617
|
+
renderersArray.length = 0;
|
618
|
+
for (var headerLayer = 0; headerLayer < _classPrivateFieldGet(this, _stateManager).getLayersCount(); headerLayer++) {
|
619
|
+
renderersArray.push(this.headerRendererFactory(headerLayer));
|
649
620
|
}
|
650
621
|
}
|
622
|
+
|
651
623
|
/**
|
652
624
|
* Make the renderer render the first nested column in its entirety.
|
653
625
|
*
|
654
626
|
* @private
|
655
627
|
* @param {object} calc Viewport column calculator.
|
656
628
|
*/
|
657
|
-
|
658
629
|
}, {
|
659
630
|
key: "onAfterViewportColumnCalculatorOverride",
|
660
631
|
value: function onAfterViewportColumnCalculatorOverride(calc) {
|
661
632
|
var headerLayersCount = _classPrivateFieldGet(this, _stateManager).getLayersCount();
|
662
|
-
|
663
633
|
var newStartColumn = calc.startColumn;
|
664
634
|
var nonRenderable = !!headerLayersCount;
|
665
|
-
|
666
635
|
for (var headerLayer = 0; headerLayer < headerLayersCount; headerLayer++) {
|
667
636
|
var startColumn = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(headerLayer, calc.startColumn);
|
637
|
+
var renderedStartColumn = this.hot.columnIndexMapper.getRenderableFromVisualIndex(startColumn);
|
668
638
|
|
669
|
-
|
639
|
+
// If any of the headers for that column index is rendered, all of them should be rendered properly, see
|
670
640
|
// comment below.
|
671
|
-
|
672
641
|
if (startColumn >= 0) {
|
673
642
|
nonRenderable = false;
|
674
|
-
}
|
675
|
-
// level, as it should be handled by the "parent" header
|
676
|
-
|
643
|
+
}
|
677
644
|
|
645
|
+
// `renderedStartColumn` can be `null` if the leftmost columns are hidden. In that case -> ignore that header
|
646
|
+
// level, as it should be handled by the "parent" header
|
678
647
|
if ((0, _number.isNumeric)(renderedStartColumn) && renderedStartColumn < calc.startColumn) {
|
679
648
|
newStartColumn = renderedStartColumn;
|
680
649
|
break;
|
681
650
|
}
|
682
|
-
}
|
683
|
-
// header for that position.
|
684
|
-
|
651
|
+
}
|
685
652
|
|
653
|
+
// If no headers for the provided column index are renderable, start rendering from the beginning of the upmost
|
654
|
+
// header for that position.
|
686
655
|
calc.startColumn = nonRenderable ? _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(0, newStartColumn).columnIndex : newStartColumn;
|
687
656
|
}
|
657
|
+
|
688
658
|
/**
|
689
659
|
* `modifyColWidth` hook callback - returns width from cache, when is greater than incoming from hook.
|
690
660
|
*
|
@@ -693,25 +663,49 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
693
663
|
* @param {number} column Visual index of an column.
|
694
664
|
* @returns {number}
|
695
665
|
*/
|
696
|
-
|
697
666
|
}, {
|
698
667
|
key: "onModifyColWidth",
|
699
668
|
value: function onModifyColWidth(width, column) {
|
700
669
|
var cachedWidth = this.ghostTable.getWidth(column);
|
701
670
|
return width > cachedWidth ? width : cachedWidth;
|
702
671
|
}
|
672
|
+
|
703
673
|
/**
|
704
|
-
*
|
674
|
+
* Listens the `modifyColumnHeaderValue` hook that overwrites the column headers values based on
|
675
|
+
* the internal state and settings of the plugin.
|
705
676
|
*
|
706
677
|
* @private
|
678
|
+
* @param {string} value The column header value.
|
679
|
+
* @param {number} visualColumnIndex The visual column index.
|
680
|
+
* @param {number} headerLevel The index of header level. The header level accepts positive (0 to N)
|
681
|
+
* and negative (-1 to -N) values. For positive values, 0 points to the
|
682
|
+
* top most header, and for negative direction, -1 points to the most bottom
|
683
|
+
* header (the header closest to the cells).
|
684
|
+
* @returns {string} Returns the column header value to update.
|
707
685
|
*/
|
686
|
+
}, {
|
687
|
+
key: "onModifyColumnHeaderValue",
|
688
|
+
value: function onModifyColumnHeaderValue(value, visualColumnIndex, headerLevel) {
|
689
|
+
var _classPrivateFieldGet6;
|
690
|
+
var _ref5 = (_classPrivateFieldGet6 = _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(headerLevel, visualColumnIndex)) !== null && _classPrivateFieldGet6 !== void 0 ? _classPrivateFieldGet6 : {
|
691
|
+
label: ''
|
692
|
+
},
|
693
|
+
label = _ref5.label;
|
694
|
+
return label;
|
695
|
+
}
|
708
696
|
|
697
|
+
/**
|
698
|
+
* Updates the plugin state after HoT initialization.
|
699
|
+
*
|
700
|
+
* @private
|
701
|
+
*/
|
709
702
|
}, {
|
710
703
|
key: "onInit",
|
711
704
|
value: function onInit() {
|
712
705
|
// @TODO: Workaround for broken plugin initialization abstraction.
|
713
706
|
this.updatePlugin();
|
714
707
|
}
|
708
|
+
|
715
709
|
/**
|
716
710
|
* Updates the plugin state after new dataset load.
|
717
711
|
*
|
@@ -720,7 +714,6 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
720
714
|
* @param {boolean} initialLoad Flag that determines whether the data has been loaded
|
721
715
|
* during the initialization.
|
722
716
|
*/
|
723
|
-
|
724
717
|
}, {
|
725
718
|
key: "onAfterLoadData",
|
726
719
|
value: function onAfterLoadData(sourceData, initialLoad) {
|
@@ -728,23 +721,21 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
728
721
|
this.updatePlugin();
|
729
722
|
}
|
730
723
|
}
|
724
|
+
|
731
725
|
/**
|
732
726
|
* Destroys the plugin instance.
|
733
727
|
*/
|
734
|
-
|
735
728
|
}, {
|
736
729
|
key: "destroy",
|
737
730
|
value: function destroy() {
|
738
731
|
_classPrivateFieldSet(this, _stateManager, null);
|
739
|
-
|
740
732
|
if (_classPrivateFieldGet(this, _hidingIndexMapObserver) !== null) {
|
741
733
|
_classPrivateFieldGet(this, _hidingIndexMapObserver).unsubscribe();
|
742
|
-
|
743
734
|
_classPrivateFieldSet(this, _hidingIndexMapObserver, null);
|
744
735
|
}
|
745
|
-
|
746
736
|
_get(_getPrototypeOf(NestedHeaders.prototype), "destroy", this).call(this);
|
747
737
|
}
|
738
|
+
|
748
739
|
/**
|
749
740
|
* Gets the tree data that belongs to the column headers pointed by the passed coordinates.
|
750
741
|
*
|
@@ -752,14 +743,12 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
752
743
|
* @param {CellCoords} coords The CellCoords instance.
|
753
744
|
* @returns {object|undefined}
|
754
745
|
*/
|
755
|
-
|
756
746
|
}, {
|
757
747
|
key: "_getHeaderTreeNodeDataByCoords",
|
758
748
|
value: function _getHeaderTreeNodeDataByCoords(coords) {
|
759
749
|
if (coords.row >= 0 || coords.col < 0) {
|
760
750
|
return;
|
761
751
|
}
|
762
|
-
|
763
752
|
return _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(coords.row, coords.col);
|
764
753
|
}
|
765
754
|
}], [{
|
@@ -772,16 +761,14 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
772
761
|
get: function get() {
|
773
762
|
return PLUGIN_PRIORITY;
|
774
763
|
}
|
764
|
+
|
775
765
|
/**
|
776
766
|
* The state manager for the nested headers.
|
777
767
|
*
|
778
768
|
* @private
|
779
769
|
* @type {StateManager}
|
780
770
|
*/
|
781
|
-
|
782
771
|
}]);
|
783
|
-
|
784
772
|
return NestedHeaders;
|
785
773
|
}(_base.BasePlugin);
|
786
|
-
|
787
774
|
exports.NestedHeaders = NestedHeaders;
|