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,20 +1,6 @@
|
|
1
1
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
2
|
-
|
3
|
-
import "core-js/modules/es.object.set-prototype-of.js";
|
4
|
-
import "core-js/modules/es.object.get-prototype-of.js";
|
5
|
-
import "core-js/modules/es.reflect.construct.js";
|
6
|
-
import "core-js/modules/es.reflect.get.js";
|
7
|
-
import "core-js/modules/es.object.get-own-property-descriptor.js";
|
8
|
-
import "core-js/modules/es.array.slice.js";
|
9
|
-
import "core-js/modules/es.object.freeze.js";
|
10
|
-
import "core-js/modules/es.symbol.js";
|
11
|
-
import "core-js/modules/es.symbol.description.js";
|
12
|
-
import "core-js/modules/es.symbol.iterator.js";
|
13
|
-
|
14
2
|
var _templateObject, _templateObject2;
|
15
|
-
|
16
3
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
17
|
-
|
18
4
|
import "core-js/modules/es.array.concat.js";
|
19
5
|
import "core-js/modules/es.object.to-string.js";
|
20
6
|
import "core-js/modules/web.dom-collections.for-each.js";
|
@@ -22,48 +8,42 @@ import "core-js/modules/es.array.iterator.js";
|
|
22
8
|
import "core-js/modules/es.string.iterator.js";
|
23
9
|
import "core-js/modules/es.weak-map.js";
|
24
10
|
import "core-js/modules/web.dom-collections.iterator.js";
|
25
|
-
|
11
|
+
import "core-js/modules/es.symbol.to-primitive.js";
|
12
|
+
import "core-js/modules/es.date.to-primitive.js";
|
13
|
+
import "core-js/modules/es.symbol.js";
|
14
|
+
import "core-js/modules/es.symbol.description.js";
|
15
|
+
import "core-js/modules/es.number.constructor.js";
|
16
|
+
import "core-js/modules/es.object.set-prototype-of.js";
|
17
|
+
import "core-js/modules/es.object.get-prototype-of.js";
|
18
|
+
import "core-js/modules/es.reflect.construct.js";
|
19
|
+
import "core-js/modules/es.reflect.get.js";
|
20
|
+
import "core-js/modules/es.object.get-own-property-descriptor.js";
|
21
|
+
import "core-js/modules/es.array.slice.js";
|
22
|
+
import "core-js/modules/es.object.freeze.js";
|
23
|
+
import "core-js/modules/es.symbol.iterator.js";
|
26
24
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
27
|
-
|
28
|
-
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); } }
|
29
|
-
|
25
|
+
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); } }
|
30
26
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
31
|
-
|
32
27
|
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); }
|
33
|
-
|
34
28
|
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
35
|
-
|
36
29
|
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); }
|
37
|
-
|
38
30
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
39
|
-
|
40
31
|
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); }; }
|
41
|
-
|
42
32
|
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); }
|
43
|
-
|
44
33
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
45
|
-
|
46
34
|
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; } }
|
47
|
-
|
48
35
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
49
|
-
|
50
|
-
function
|
51
|
-
|
36
|
+
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; }
|
37
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
38
|
+
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); }
|
52
39
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
53
|
-
|
54
40
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
55
|
-
|
56
41
|
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
57
|
-
|
58
42
|
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; } }
|
59
|
-
|
60
43
|
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
61
|
-
|
62
44
|
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
63
|
-
|
64
45
|
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
65
|
-
|
66
|
-
import { addClass, removeClass, fastInnerHTML, empty } from "../../helpers/dom/element.mjs";
|
46
|
+
import { addClass, removeClass } from "../../helpers/dom/element.mjs";
|
67
47
|
import { isNumeric } from "../../helpers/number.mjs";
|
68
48
|
import { isLeftClick, isRightClick } from "../../helpers/dom/event.mjs";
|
69
49
|
import { toSingleLine } from "../../helpers/templateLiteralTag.mjs";
|
@@ -74,6 +54,7 @@ import StateManager from "./stateManager/index.mjs";
|
|
74
54
|
import GhostTable from "./utils/ghostTable.mjs";
|
75
55
|
export var PLUGIN_KEY = 'nestedHeaders';
|
76
56
|
export var PLUGIN_PRIORITY = 280;
|
57
|
+
|
77
58
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
78
59
|
|
79
60
|
/**
|
@@ -91,6 +72,7 @@ export var PLUGIN_PRIORITY = 280;
|
|
91
72
|
* other words, headers cannot overlap each other.
|
92
73
|
* @example
|
93
74
|
*
|
75
|
+
* ::: only-for javascript
|
94
76
|
* ```js
|
95
77
|
* const container = document.getElementById('example');
|
96
78
|
* const hot = new Handsontable(container, {
|
@@ -102,47 +84,48 @@ export var PLUGIN_PRIORITY = 280;
|
|
102
84
|
* ['N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W']
|
103
85
|
* ],
|
104
86
|
* ```
|
87
|
+
* :::
|
88
|
+
*
|
89
|
+
* ::: only-for react
|
90
|
+
* ```jsx
|
91
|
+
* <HotTable
|
92
|
+
* data={getData()}
|
93
|
+
* nestedHeaders={[
|
94
|
+
* ['A', {label: 'B', colspan: 8}, 'C'],
|
95
|
+
* ['D', {label: 'E', colspan: 4}, {label: 'F', colspan: 4}, 'G'],
|
96
|
+
* ['H', {label: 'I', colspan: 2}, {label: 'J', colspan: 2}, {label: 'K', colspan: 2}, {label: 'L', colspan: 2}, 'M'],
|
97
|
+
* ['N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W']
|
98
|
+
* ]}
|
99
|
+
* />
|
100
|
+
* ```
|
101
|
+
* :::
|
105
102
|
*/
|
106
|
-
|
107
103
|
var _stateManager = /*#__PURE__*/new WeakMap();
|
108
|
-
|
109
104
|
var _hidingIndexMapObserver = /*#__PURE__*/new WeakMap();
|
110
|
-
|
111
105
|
export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
112
106
|
_inherits(NestedHeaders, _BasePlugin);
|
113
|
-
|
114
107
|
var _super = _createSuper(NestedHeaders);
|
115
|
-
|
116
108
|
function NestedHeaders() {
|
117
109
|
var _this;
|
118
|
-
|
119
110
|
_classCallCheck(this, NestedHeaders);
|
120
|
-
|
121
111
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
122
112
|
args[_key] = arguments[_key];
|
123
113
|
}
|
124
|
-
|
125
114
|
_this = _super.call.apply(_super, [this].concat(args));
|
126
|
-
|
127
115
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _stateManager, {
|
128
116
|
writable: true,
|
129
117
|
value: new StateManager()
|
130
118
|
});
|
131
|
-
|
132
119
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _hidingIndexMapObserver, {
|
133
120
|
writable: true,
|
134
121
|
value: null
|
135
122
|
});
|
136
|
-
|
137
123
|
_defineProperty(_assertThisInitialized(_this), "ghostTable", new GhostTable(_this.hot, function (row, column) {
|
138
124
|
return _this.getHeaderSettings(row, column);
|
139
125
|
}));
|
140
|
-
|
141
126
|
_defineProperty(_assertThisInitialized(_this), "detectedOverlappedHeaders", false);
|
142
|
-
|
143
127
|
return _this;
|
144
128
|
}
|
145
|
-
|
146
129
|
_createClass(NestedHeaders, [{
|
147
130
|
key: "isEnabled",
|
148
131
|
value:
|
@@ -154,26 +137,22 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
154
137
|
function isEnabled() {
|
155
138
|
return !!this.hot.getSettings()[PLUGIN_KEY];
|
156
139
|
}
|
140
|
+
|
157
141
|
/**
|
158
142
|
* Enables the plugin functionality for this Handsontable instance.
|
159
143
|
*/
|
160
|
-
|
161
144
|
}, {
|
162
145
|
key: "enablePlugin",
|
163
146
|
value: function enablePlugin() {
|
164
147
|
var _this2 = this;
|
165
|
-
|
166
148
|
if (this.enabled) {
|
167
149
|
return;
|
168
150
|
}
|
169
|
-
|
170
151
|
var _this$hot$getSettings = this.hot.getSettings(),
|
171
|
-
|
172
|
-
|
152
|
+
nestedHeaders = _this$hot$getSettings.nestedHeaders;
|
173
153
|
if (!Array.isArray(nestedHeaders) || !Array.isArray(nestedHeaders[0])) {
|
174
154
|
warn(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 }]]"]))));
|
175
155
|
}
|
176
|
-
|
177
156
|
this.addHook('init', function () {
|
178
157
|
return _this2.onInit();
|
179
158
|
});
|
@@ -195,123 +174,110 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
195
174
|
this.addHook('modifyColWidth', function () {
|
196
175
|
return _this2.onModifyColWidth.apply(_this2, arguments);
|
197
176
|
});
|
177
|
+
this.addHook('modifyColumnHeaderValue', function () {
|
178
|
+
return _this2.onModifyColumnHeaderValue.apply(_this2, arguments);
|
179
|
+
});
|
198
180
|
this.addHook('beforeHighlightingColumnHeader', function () {
|
199
181
|
return _this2.onBeforeHighlightingColumnHeader.apply(_this2, arguments);
|
200
182
|
});
|
183
|
+
this.addHook('beforeCopy', function () {
|
184
|
+
return _this2.onBeforeCopy.apply(_this2, arguments);
|
185
|
+
});
|
201
186
|
this.addHook('afterViewportColumnCalculatorOverride', function () {
|
202
187
|
return _this2.onAfterViewportColumnCalculatorOverride.apply(_this2, arguments);
|
203
188
|
});
|
204
|
-
|
205
189
|
_get(_getPrototypeOf(NestedHeaders.prototype), "enablePlugin", this).call(this);
|
206
|
-
|
207
190
|
this.updatePlugin(); // @TODO: Workaround for broken plugin initialization abstraction.
|
208
191
|
}
|
192
|
+
|
209
193
|
/**
|
210
194
|
* Updates the plugin's state.
|
211
195
|
*
|
212
196
|
* This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the following configuration options:
|
213
197
|
* - [`nestedHeaders`](@/api/options.md#nestedheaders)
|
214
198
|
*/
|
215
|
-
|
216
199
|
}, {
|
217
200
|
key: "updatePlugin",
|
218
201
|
value: function updatePlugin() {
|
219
202
|
var _this3 = this;
|
220
|
-
|
221
203
|
if (!this.hot.view) {
|
222
204
|
// @TODO: Workaround for broken plugin initialization abstraction.
|
223
205
|
return;
|
224
206
|
}
|
225
|
-
|
226
207
|
var _this$hot$getSettings2 = this.hot.getSettings(),
|
227
|
-
|
228
|
-
|
208
|
+
nestedHeaders = _this$hot$getSettings2.nestedHeaders;
|
229
209
|
_classPrivateFieldGet(this, _stateManager).setColumnsLimit(this.hot.countCols());
|
230
|
-
|
231
210
|
if (Array.isArray(nestedHeaders)) {
|
232
211
|
this.detectedOverlappedHeaders = _classPrivateFieldGet(this, _stateManager).setState(nestedHeaders);
|
233
212
|
}
|
234
|
-
|
235
213
|
if (this.detectedOverlappedHeaders) {
|
236
214
|
warn(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."]))));
|
237
215
|
}
|
238
|
-
|
239
216
|
if (this.enabled) {
|
240
217
|
// This line covers the case when a developer uses the external hiding maps to manipulate
|
241
218
|
// the columns' visibility. The tree state built from the settings - which is always built
|
242
219
|
// as if all the columns are visible, needs to be modified to be in sync with a dataset.
|
243
220
|
this.hot.columnIndexMapper.hidingMapsCollection.getMergedValues().forEach(function (isColumnHidden, physicalColumnIndex) {
|
244
221
|
var actionName = isColumnHidden === true ? 'hide-column' : 'show-column';
|
245
|
-
|
246
222
|
_classPrivateFieldGet(_this3, _stateManager).triggerColumnModification(actionName, physicalColumnIndex);
|
247
223
|
});
|
248
224
|
}
|
249
|
-
|
250
225
|
if (!_classPrivateFieldGet(this, _hidingIndexMapObserver) && this.enabled) {
|
251
226
|
_classPrivateFieldSet(this, _hidingIndexMapObserver, this.hot.columnIndexMapper.createChangesObserver('hiding').subscribe(function (changes) {
|
252
227
|
changes.forEach(function (_ref) {
|
253
228
|
var op = _ref.op,
|
254
|
-
|
255
|
-
|
256
|
-
|
229
|
+
columnIndex = _ref.index,
|
230
|
+
newValue = _ref.newValue;
|
257
231
|
if (op === 'replace') {
|
258
232
|
var actionName = newValue === true ? 'hide-column' : 'show-column';
|
259
|
-
|
260
233
|
_classPrivateFieldGet(_this3, _stateManager).triggerColumnModification(actionName, columnIndex);
|
261
234
|
}
|
262
235
|
});
|
263
|
-
|
264
236
|
_this3.ghostTable.buildWidthsMap();
|
265
237
|
}));
|
266
238
|
}
|
267
|
-
|
268
239
|
this.ghostTable.setLayersCount(this.getLayersCount()).buildWidthsMap();
|
269
|
-
|
270
240
|
_get(_getPrototypeOf(NestedHeaders.prototype), "updatePlugin", this).call(this);
|
271
241
|
}
|
242
|
+
|
272
243
|
/**
|
273
244
|
* Disables the plugin functionality for this Handsontable instance.
|
274
245
|
*/
|
275
|
-
|
276
246
|
}, {
|
277
247
|
key: "disablePlugin",
|
278
248
|
value: function disablePlugin() {
|
279
249
|
this.clearColspans();
|
280
|
-
|
281
250
|
_classPrivateFieldGet(this, _stateManager).clear();
|
282
|
-
|
283
251
|
_classPrivateFieldGet(this, _hidingIndexMapObserver).unsubscribe();
|
284
|
-
|
285
252
|
_classPrivateFieldSet(this, _hidingIndexMapObserver, null);
|
286
|
-
|
287
253
|
this.ghostTable.clear();
|
288
|
-
|
289
254
|
_get(_getPrototypeOf(NestedHeaders.prototype), "disablePlugin", this).call(this);
|
290
255
|
}
|
256
|
+
|
291
257
|
/**
|
292
258
|
* Returns an instance of the internal state manager of the plugin.
|
293
259
|
*
|
294
260
|
* @private
|
295
261
|
* @returns {StateManager}
|
296
262
|
*/
|
297
|
-
|
298
263
|
}, {
|
299
264
|
key: "getStateManager",
|
300
265
|
value: function getStateManager() {
|
301
266
|
return _classPrivateFieldGet(this, _stateManager);
|
302
267
|
}
|
268
|
+
|
303
269
|
/**
|
304
270
|
* Gets a total number of headers levels.
|
305
271
|
*
|
306
272
|
* @private
|
307
273
|
* @returns {number}
|
308
274
|
*/
|
309
|
-
|
310
275
|
}, {
|
311
276
|
key: "getLayersCount",
|
312
277
|
value: function getLayersCount() {
|
313
278
|
return _classPrivateFieldGet(this, _stateManager).getLayersCount();
|
314
279
|
}
|
280
|
+
|
315
281
|
/**
|
316
282
|
* Gets column settings for a specified header. The returned object contains
|
317
283
|
* information about the header label, its colspan length, or if it is hidden
|
@@ -322,50 +288,42 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
322
288
|
* @param {number} columnIndex A visual column index.
|
323
289
|
* @returns {object}
|
324
290
|
*/
|
325
|
-
|
326
291
|
}, {
|
327
292
|
key: "getHeaderSettings",
|
328
293
|
value: function getHeaderSettings(headerLevel, columnIndex) {
|
329
294
|
return _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, columnIndex);
|
330
295
|
}
|
296
|
+
|
331
297
|
/**
|
332
298
|
* Clear the colspans remaining after plugin usage.
|
333
299
|
*
|
334
300
|
* @private
|
335
301
|
*/
|
336
|
-
|
337
302
|
}, {
|
338
303
|
key: "clearColspans",
|
339
304
|
value: function clearColspans() {
|
340
305
|
if (!this.hot.view) {
|
341
306
|
return;
|
342
307
|
}
|
343
|
-
|
344
308
|
var wt = this.hot.view._wt;
|
345
309
|
var headerLevels = wt.getSetting('columnHeaders').length;
|
346
310
|
var mainHeaders = wt.wtTable.THEAD;
|
347
311
|
var topHeaders = wt.wtOverlays.topOverlay.clone.wtTable.THEAD;
|
348
312
|
var topLeftCornerHeaders = wt.wtOverlays.topInlineStartCornerOverlay ? wt.wtOverlays.topInlineStartCornerOverlay.clone.wtTable.THEAD : null;
|
349
|
-
|
350
313
|
for (var i = 0; i < headerLevels; i++) {
|
351
314
|
var masterLevel = mainHeaders.childNodes[i];
|
352
|
-
|
353
315
|
if (!masterLevel) {
|
354
316
|
break;
|
355
317
|
}
|
356
|
-
|
357
318
|
var topLevel = topHeaders.childNodes[i];
|
358
319
|
var topLeftCornerLevel = topLeftCornerHeaders ? topLeftCornerHeaders.childNodes[i] : null;
|
359
|
-
|
360
320
|
for (var j = 0, masterNodes = masterLevel.childNodes.length; j < masterNodes; j++) {
|
361
321
|
masterLevel.childNodes[j].removeAttribute('colspan');
|
362
322
|
removeClass(masterLevel.childNodes[j], 'hiddenHeader');
|
363
|
-
|
364
323
|
if (topLevel && topLevel.childNodes[j]) {
|
365
324
|
topLevel.childNodes[j].removeAttribute('colspan');
|
366
325
|
removeClass(topLevel.childNodes[j], 'hiddenHeader');
|
367
326
|
}
|
368
|
-
|
369
327
|
if (topLeftCornerHeaders && topLeftCornerLevel && topLeftCornerLevel.childNodes[j]) {
|
370
328
|
topLeftCornerLevel.childNodes[j].removeAttribute('colspan');
|
371
329
|
removeClass(topLeftCornerLevel.childNodes[j], 'hiddenHeader');
|
@@ -373,6 +331,7 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
373
331
|
}
|
374
332
|
}
|
375
333
|
}
|
334
|
+
|
376
335
|
/**
|
377
336
|
* Generates the appropriate header renderer for a header row.
|
378
337
|
*
|
@@ -382,66 +341,72 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
382
341
|
* @returns {Function}
|
383
342
|
* @fires Hooks#afterGetColHeader
|
384
343
|
*/
|
385
|
-
|
386
344
|
}, {
|
387
345
|
key: "headerRendererFactory",
|
388
346
|
value: function headerRendererFactory(headerLevel) {
|
389
347
|
var _this4 = this;
|
390
|
-
|
391
348
|
var fixedColumnsStart = this.hot.view._wt.getSetting('fixedColumnsStart');
|
392
|
-
|
393
349
|
return function (renderedColumnIndex, TH) {
|
394
350
|
var _classPrivateFieldGet2;
|
395
|
-
|
396
351
|
var _this4$hot = _this4.hot,
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
if (visualColumnsIndex === null) {
|
403
|
-
visualColumnsIndex = renderedColumnIndex;
|
352
|
+
columnIndexMapper = _this4$hot.columnIndexMapper,
|
353
|
+
view = _this4$hot.view;
|
354
|
+
var visualColumnIndex = columnIndexMapper.getVisualFromRenderableIndex(renderedColumnIndex);
|
355
|
+
if (visualColumnIndex === null) {
|
356
|
+
visualColumnIndex = renderedColumnIndex;
|
404
357
|
}
|
405
|
-
|
406
358
|
TH.removeAttribute('colspan');
|
407
359
|
removeClass(TH, 'hiddenHeader');
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
isHidden = _ref2.isHidden,
|
415
|
-
isPlaceholder = _ref2.isPlaceholder;
|
416
|
-
|
360
|
+
var _ref2 = (_classPrivateFieldGet2 = _classPrivateFieldGet(_this4, _stateManager).getHeaderSettings(headerLevel, visualColumnIndex)) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : {
|
361
|
+
label: ''
|
362
|
+
},
|
363
|
+
colspan = _ref2.colspan,
|
364
|
+
isHidden = _ref2.isHidden,
|
365
|
+
isPlaceholder = _ref2.isPlaceholder;
|
417
366
|
if (isPlaceholder || isHidden) {
|
418
367
|
addClass(TH, 'hiddenHeader');
|
419
368
|
} else if (colspan > 1) {
|
420
369
|
var _wtOverlays$topInline, _wtOverlays$inlineSta;
|
421
|
-
|
422
370
|
var wtOverlays = view._wt.wtOverlays;
|
423
371
|
var isTopInlineStartOverlay = (_wtOverlays$topInline = wtOverlays.topInlineStartCornerOverlay) === null || _wtOverlays$topInline === void 0 ? void 0 : _wtOverlays$topInline.clone.wtTable.THEAD.contains(TH);
|
424
|
-
var isInlineStartOverlay = (_wtOverlays$inlineSta = wtOverlays.inlineStartOverlay) === null || _wtOverlays$inlineSta === void 0 ? void 0 : _wtOverlays$inlineSta.clone.wtTable.THEAD.contains(TH);
|
372
|
+
var isInlineStartOverlay = (_wtOverlays$inlineSta = wtOverlays.inlineStartOverlay) === null || _wtOverlays$inlineSta === void 0 ? void 0 : _wtOverlays$inlineSta.clone.wtTable.THEAD.contains(TH);
|
425
373
|
|
374
|
+
// Check if there is a fixed column enabled, if so then reduce colspan to fixed column width.
|
426
375
|
var correctedColspan = isTopInlineStartOverlay || isInlineStartOverlay ? Math.min(colspan, fixedColumnsStart - renderedColumnIndex) : colspan;
|
427
|
-
|
428
376
|
if (correctedColspan > 1) {
|
429
377
|
TH.setAttribute('colspan', correctedColspan);
|
430
378
|
}
|
431
379
|
}
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
addClass(divEl, 'relative');
|
436
|
-
addClass(spanEl, 'colHeader');
|
437
|
-
fastInnerHTML(spanEl, label);
|
438
|
-
divEl.appendChild(spanEl);
|
439
|
-
empty(TH);
|
440
|
-
TH.appendChild(divEl);
|
441
|
-
|
442
|
-
_this4.hot.runHooks('afterGetColHeader', visualColumnsIndex, TH);
|
380
|
+
_this4.hot.view.appendColHeader(visualColumnIndex, TH, function () {
|
381
|
+
return _this4.getColumnHeaderValue.apply(_this4, arguments);
|
382
|
+
}, headerLevel);
|
443
383
|
};
|
444
384
|
}
|
385
|
+
|
386
|
+
/**
|
387
|
+
* Returns the column header value for specified column and header level index.
|
388
|
+
*
|
389
|
+
* @private
|
390
|
+
* @param {number} visualColumnIndex Visual column index.
|
391
|
+
* @param {number} headerLevel The index of header level. The header level accepts positive (0 to N)
|
392
|
+
* and negative (-1 to -N) values. For positive values, 0 points to the
|
393
|
+
* top most header, and for negative direction, -1 points to the most bottom
|
394
|
+
* header (the header closest to the cells).
|
395
|
+
* @returns {string} Returns the column header value to update.
|
396
|
+
*/
|
397
|
+
}, {
|
398
|
+
key: "getColumnHeaderValue",
|
399
|
+
value: function getColumnHeaderValue(visualColumnIndex, headerLevel) {
|
400
|
+
var _classPrivateFieldGet3;
|
401
|
+
var _ref3 = (_classPrivateFieldGet3 = _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, visualColumnIndex)) !== null && _classPrivateFieldGet3 !== void 0 ? _classPrivateFieldGet3 : {},
|
402
|
+
isHidden = _ref3.isHidden,
|
403
|
+
isPlaceholder = _ref3.isPlaceholder;
|
404
|
+
if (isPlaceholder || isHidden) {
|
405
|
+
return '';
|
406
|
+
}
|
407
|
+
return this.hot.getColHeader(visualColumnIndex, headerLevel);
|
408
|
+
}
|
409
|
+
|
445
410
|
/**
|
446
411
|
* Allows to control which header DOM element will be used to highlight.
|
447
412
|
*
|
@@ -451,25 +416,20 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
451
416
|
* @param {object} highlightMeta An object with meta data that describes the highlight state.
|
452
417
|
* @returns {number}
|
453
418
|
*/
|
454
|
-
|
455
419
|
}, {
|
456
420
|
key: "onBeforeHighlightingColumnHeader",
|
457
421
|
value: function onBeforeHighlightingColumnHeader(visualColumn, headerLevel, highlightMeta) {
|
458
422
|
var headerNodeData = _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(headerLevel, visualColumn);
|
459
|
-
|
460
423
|
if (!headerNodeData) {
|
461
424
|
return visualColumn;
|
462
425
|
}
|
463
|
-
|
464
426
|
var classNames = highlightMeta.classNames,
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
colspan = _classPrivateFieldGet3.colspan;
|
472
|
-
|
427
|
+
columnCursor = highlightMeta.columnCursor,
|
428
|
+
selectionType = highlightMeta.selectionType,
|
429
|
+
selectionWidth = highlightMeta.selectionWidth;
|
430
|
+
var _classPrivateFieldGet4 = _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, visualColumn),
|
431
|
+
isRoot = _classPrivateFieldGet4.isRoot,
|
432
|
+
colspan = _classPrivateFieldGet4.colspan;
|
473
433
|
if (selectionType === HEADER_TYPE) {
|
474
434
|
if (!isRoot) {
|
475
435
|
return headerNodeData.columnIndex;
|
@@ -480,11 +440,61 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
480
440
|
classNames.length = 0;
|
481
441
|
}
|
482
442
|
}
|
483
|
-
|
484
443
|
return visualColumn;
|
485
444
|
}
|
445
|
+
|
446
|
+
/**
|
447
|
+
* Listens the `beforeCopy` hook that allows processing the copied column headers so that the
|
448
|
+
* merged column headers do not propagate the value for each column but only once at the beginning
|
449
|
+
* of the column.
|
450
|
+
*
|
451
|
+
* @private
|
452
|
+
* @param {Array[]} data An array of arrays which contains data to copied.
|
453
|
+
* @param {object[]} copyableRanges An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
|
454
|
+
* which will copied.
|
455
|
+
* @param {{ columnHeadersCount: number }} copiedHeadersCount An object with keys that holds information with
|
456
|
+
* the number of copied headers.
|
457
|
+
*/
|
458
|
+
}, {
|
459
|
+
key: "onBeforeCopy",
|
460
|
+
value: function onBeforeCopy(data, copyableRanges, _ref4) {
|
461
|
+
var columnHeadersCount = _ref4.columnHeadersCount;
|
462
|
+
if (columnHeadersCount === 0) {
|
463
|
+
return;
|
464
|
+
}
|
465
|
+
for (var rangeIndex = 0; rangeIndex < copyableRanges.length; rangeIndex++) {
|
466
|
+
var _copyableRanges$range = copyableRanges[rangeIndex],
|
467
|
+
startRow = _copyableRanges$range.startRow,
|
468
|
+
startCol = _copyableRanges$range.startCol,
|
469
|
+
endRow = _copyableRanges$range.endRow,
|
470
|
+
endCol = _copyableRanges$range.endCol;
|
471
|
+
var rowsCount = endRow - startRow + 1;
|
472
|
+
var columnsCount = startCol - endCol + 1;
|
473
|
+
|
474
|
+
// do not process dataset ranges and column headers where only one column is copied
|
475
|
+
if (startRow >= 0 || columnsCount === 1) {
|
476
|
+
break;
|
477
|
+
}
|
478
|
+
for (var column = startCol; column <= endCol; column++) {
|
479
|
+
for (var row = startRow; row <= endRow; row++) {
|
480
|
+
var _classPrivateFieldGet5;
|
481
|
+
var zeroBasedColumnHeaderLevel = rowsCount + row;
|
482
|
+
var zeroBasedColumnIndex = column - startCol;
|
483
|
+
if (zeroBasedColumnIndex === 0) {
|
484
|
+
continue; // eslint-disable-line no-continue
|
485
|
+
}
|
486
|
+
|
487
|
+
var isRoot = (_classPrivateFieldGet5 = _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(row, column)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.isRoot;
|
488
|
+
if (isRoot === false) {
|
489
|
+
data[zeroBasedColumnHeaderLevel][zeroBasedColumnIndex] = '';
|
490
|
+
}
|
491
|
+
}
|
492
|
+
}
|
493
|
+
}
|
494
|
+
}
|
495
|
+
|
486
496
|
/**
|
487
|
-
* Allows
|
497
|
+
* Allows blocking the column selection that is controlled by the core Selection module.
|
488
498
|
*
|
489
499
|
* @private
|
490
500
|
* @param {MouseEvent} event Mouse event.
|
@@ -493,18 +503,17 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
493
503
|
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
494
504
|
* a boolean value that allows or disallows changing the selection for that particular area.
|
495
505
|
*/
|
496
|
-
|
497
506
|
}, {
|
498
507
|
key: "onBeforeOnCellMouseDown",
|
499
508
|
value: function onBeforeOnCellMouseDown(event, coords, TD, controller) {
|
500
509
|
var headerNodeData = this._getHeaderTreeNodeDataByCoords(coords);
|
501
|
-
|
502
510
|
if (headerNodeData) {
|
503
511
|
// Block the Selection module in controlling how the columns are selected. Pass the
|
504
512
|
// responsibility of the column selection to this plugin (see "onAfterOnCellMouseDown" hook).
|
505
513
|
controller.column = true;
|
506
514
|
}
|
507
515
|
}
|
516
|
+
|
508
517
|
/**
|
509
518
|
* Allows to control how the column selection based on the coordinates and the nested headers is made.
|
510
519
|
*
|
@@ -512,27 +521,24 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
512
521
|
* @param {MouseEvent} event Mouse event.
|
513
522
|
* @param {CellCoords} coords Cell coords object containing the visual coordinates of the clicked cell.
|
514
523
|
*/
|
515
|
-
|
516
524
|
}, {
|
517
525
|
key: "onAfterOnCellMouseDown",
|
518
526
|
value: function onAfterOnCellMouseDown(event, coords) {
|
519
527
|
var headerNodeData = this._getHeaderTreeNodeDataByCoords(coords);
|
520
|
-
|
521
528
|
if (!headerNodeData) {
|
522
529
|
return;
|
523
530
|
}
|
524
|
-
|
525
531
|
var selection = this.hot.selection;
|
526
532
|
var currentSelection = selection.isSelected() ? selection.getSelectedRange().current() : null;
|
527
533
|
var columnsToSelect = [];
|
528
534
|
var columnIndex = headerNodeData.columnIndex,
|
529
|
-
|
535
|
+
origColspan = headerNodeData.origColspan;
|
536
|
+
|
537
|
+
// The Selection module doesn't allow it to extend its behavior easily. That's why here we need
|
530
538
|
// to re-implement the "click" and "shift" behavior. As a workaround, the logic for the nested
|
531
539
|
// headers must implement a similar logic as in the original Selection handler
|
532
540
|
// (see src/selection/mouseEventHandler.js).
|
533
|
-
|
534
541
|
var allowRightClickSelection = !selection.inInSelection(coords);
|
535
|
-
|
536
542
|
if (event.shiftKey && currentSelection) {
|
537
543
|
if (coords.col < currentSelection.from.col) {
|
538
544
|
columnsToSelect.push(currentSelection.getTopEndCorner().col, columnIndex, coords.row);
|
@@ -543,11 +549,12 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
543
549
|
}
|
544
550
|
} else if (isLeftClick(event) || isRightClick(event) && allowRightClickSelection) {
|
545
551
|
columnsToSelect.push(columnIndex, columnIndex + origColspan - 1, coords.row);
|
546
|
-
}
|
547
|
-
|
552
|
+
}
|
548
553
|
|
554
|
+
// The plugin takes control of how the columns are selected.
|
549
555
|
selection.selectColumns.apply(selection, columnsToSelect);
|
550
556
|
}
|
557
|
+
|
551
558
|
/**
|
552
559
|
* Makes the header-selection properly select the nested headers.
|
553
560
|
*
|
@@ -558,34 +565,29 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
558
565
|
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
559
566
|
* a boolean value that allows or disallows changing the selection for that particular area.
|
560
567
|
*/
|
561
|
-
|
562
568
|
}, {
|
563
569
|
key: "onBeforeOnCellMouseOver",
|
564
570
|
value: function onBeforeOnCellMouseOver(event, coords, TD, controller) {
|
565
571
|
var _this$hot;
|
566
|
-
|
567
572
|
if (!this.hot.view.isMouseDown()) {
|
568
573
|
return;
|
569
574
|
}
|
570
|
-
|
571
575
|
var headerNodeData = this._getHeaderTreeNodeDataByCoords(coords);
|
572
|
-
|
573
576
|
if (!headerNodeData) {
|
574
577
|
return;
|
575
578
|
}
|
576
|
-
|
577
579
|
var columnIndex = headerNodeData.columnIndex,
|
578
|
-
|
580
|
+
origColspan = headerNodeData.origColspan;
|
579
581
|
var selectedRange = this.hot.getSelectedRangeLast();
|
580
582
|
var topStartCoords = selectedRange.getTopStartCorner();
|
581
583
|
var bottomEndCoords = selectedRange.getBottomEndCorner();
|
582
|
-
var from = selectedRange.from;
|
583
|
-
// From now on, the plugin is responsible for the selection.
|
584
|
+
var from = selectedRange.from;
|
584
585
|
|
586
|
+
// Block the Selection module in controlling how the columns and cells are selected.
|
587
|
+
// From now on, the plugin is responsible for the selection.
|
585
588
|
controller.column = true;
|
586
589
|
controller.cell = true;
|
587
590
|
var columnsToSelect = [];
|
588
|
-
|
589
591
|
if (coords.col < from.col) {
|
590
592
|
columnsToSelect.push(bottomEndCoords.col, columnIndex);
|
591
593
|
} else if (coords.col > from.col) {
|
@@ -593,64 +595,59 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
593
595
|
} else {
|
594
596
|
columnsToSelect.push(columnIndex, columnIndex + origColspan - 1);
|
595
597
|
}
|
596
|
-
|
597
598
|
(_this$hot = this.hot).selectColumns.apply(_this$hot, columnsToSelect);
|
598
599
|
}
|
600
|
+
|
599
601
|
/**
|
600
602
|
* `afterGetColumnHeader` hook callback - prepares the header structure.
|
601
603
|
*
|
602
604
|
* @private
|
603
605
|
* @param {Array} renderersArray Array of renderers.
|
604
606
|
*/
|
605
|
-
|
606
607
|
}, {
|
607
608
|
key: "onAfterGetColumnHeaderRenderers",
|
608
609
|
value: function onAfterGetColumnHeaderRenderers(renderersArray) {
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
for (var headerLayer = 0; headerLayer < _classPrivateFieldGet(this, _stateManager).getLayersCount(); headerLayer++) {
|
613
|
-
renderersArray.push(this.headerRendererFactory(headerLayer));
|
614
|
-
}
|
610
|
+
renderersArray.length = 0;
|
611
|
+
for (var headerLayer = 0; headerLayer < _classPrivateFieldGet(this, _stateManager).getLayersCount(); headerLayer++) {
|
612
|
+
renderersArray.push(this.headerRendererFactory(headerLayer));
|
615
613
|
}
|
616
614
|
}
|
615
|
+
|
617
616
|
/**
|
618
617
|
* Make the renderer render the first nested column in its entirety.
|
619
618
|
*
|
620
619
|
* @private
|
621
620
|
* @param {object} calc Viewport column calculator.
|
622
621
|
*/
|
623
|
-
|
624
622
|
}, {
|
625
623
|
key: "onAfterViewportColumnCalculatorOverride",
|
626
624
|
value: function onAfterViewportColumnCalculatorOverride(calc) {
|
627
625
|
var headerLayersCount = _classPrivateFieldGet(this, _stateManager).getLayersCount();
|
628
|
-
|
629
626
|
var newStartColumn = calc.startColumn;
|
630
627
|
var nonRenderable = !!headerLayersCount;
|
631
|
-
|
632
628
|
for (var headerLayer = 0; headerLayer < headerLayersCount; headerLayer++) {
|
633
629
|
var startColumn = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(headerLayer, calc.startColumn);
|
630
|
+
var renderedStartColumn = this.hot.columnIndexMapper.getRenderableFromVisualIndex(startColumn);
|
634
631
|
|
635
|
-
|
632
|
+
// If any of the headers for that column index is rendered, all of them should be rendered properly, see
|
636
633
|
// comment below.
|
637
|
-
|
638
634
|
if (startColumn >= 0) {
|
639
635
|
nonRenderable = false;
|
640
|
-
}
|
641
|
-
// level, as it should be handled by the "parent" header
|
642
|
-
|
636
|
+
}
|
643
637
|
|
638
|
+
// `renderedStartColumn` can be `null` if the leftmost columns are hidden. In that case -> ignore that header
|
639
|
+
// level, as it should be handled by the "parent" header
|
644
640
|
if (isNumeric(renderedStartColumn) && renderedStartColumn < calc.startColumn) {
|
645
641
|
newStartColumn = renderedStartColumn;
|
646
642
|
break;
|
647
643
|
}
|
648
|
-
}
|
649
|
-
// header for that position.
|
650
|
-
|
644
|
+
}
|
651
645
|
|
646
|
+
// If no headers for the provided column index are renderable, start rendering from the beginning of the upmost
|
647
|
+
// header for that position.
|
652
648
|
calc.startColumn = nonRenderable ? _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(0, newStartColumn).columnIndex : newStartColumn;
|
653
649
|
}
|
650
|
+
|
654
651
|
/**
|
655
652
|
* `modifyColWidth` hook callback - returns width from cache, when is greater than incoming from hook.
|
656
653
|
*
|
@@ -659,25 +656,49 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
659
656
|
* @param {number} column Visual index of an column.
|
660
657
|
* @returns {number}
|
661
658
|
*/
|
662
|
-
|
663
659
|
}, {
|
664
660
|
key: "onModifyColWidth",
|
665
661
|
value: function onModifyColWidth(width, column) {
|
666
662
|
var cachedWidth = this.ghostTable.getWidth(column);
|
667
663
|
return width > cachedWidth ? width : cachedWidth;
|
668
664
|
}
|
665
|
+
|
669
666
|
/**
|
670
|
-
*
|
667
|
+
* Listens the `modifyColumnHeaderValue` hook that overwrites the column headers values based on
|
668
|
+
* the internal state and settings of the plugin.
|
671
669
|
*
|
672
670
|
* @private
|
671
|
+
* @param {string} value The column header value.
|
672
|
+
* @param {number} visualColumnIndex The visual column index.
|
673
|
+
* @param {number} headerLevel The index of header level. The header level accepts positive (0 to N)
|
674
|
+
* and negative (-1 to -N) values. For positive values, 0 points to the
|
675
|
+
* top most header, and for negative direction, -1 points to the most bottom
|
676
|
+
* header (the header closest to the cells).
|
677
|
+
* @returns {string} Returns the column header value to update.
|
673
678
|
*/
|
679
|
+
}, {
|
680
|
+
key: "onModifyColumnHeaderValue",
|
681
|
+
value: function onModifyColumnHeaderValue(value, visualColumnIndex, headerLevel) {
|
682
|
+
var _classPrivateFieldGet6;
|
683
|
+
var _ref5 = (_classPrivateFieldGet6 = _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(headerLevel, visualColumnIndex)) !== null && _classPrivateFieldGet6 !== void 0 ? _classPrivateFieldGet6 : {
|
684
|
+
label: ''
|
685
|
+
},
|
686
|
+
label = _ref5.label;
|
687
|
+
return label;
|
688
|
+
}
|
674
689
|
|
690
|
+
/**
|
691
|
+
* Updates the plugin state after HoT initialization.
|
692
|
+
*
|
693
|
+
* @private
|
694
|
+
*/
|
675
695
|
}, {
|
676
696
|
key: "onInit",
|
677
697
|
value: function onInit() {
|
678
698
|
// @TODO: Workaround for broken plugin initialization abstraction.
|
679
699
|
this.updatePlugin();
|
680
700
|
}
|
701
|
+
|
681
702
|
/**
|
682
703
|
* Updates the plugin state after new dataset load.
|
683
704
|
*
|
@@ -686,7 +707,6 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
686
707
|
* @param {boolean} initialLoad Flag that determines whether the data has been loaded
|
687
708
|
* during the initialization.
|
688
709
|
*/
|
689
|
-
|
690
710
|
}, {
|
691
711
|
key: "onAfterLoadData",
|
692
712
|
value: function onAfterLoadData(sourceData, initialLoad) {
|
@@ -694,23 +714,21 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
694
714
|
this.updatePlugin();
|
695
715
|
}
|
696
716
|
}
|
717
|
+
|
697
718
|
/**
|
698
719
|
* Destroys the plugin instance.
|
699
720
|
*/
|
700
|
-
|
701
721
|
}, {
|
702
722
|
key: "destroy",
|
703
723
|
value: function destroy() {
|
704
724
|
_classPrivateFieldSet(this, _stateManager, null);
|
705
|
-
|
706
725
|
if (_classPrivateFieldGet(this, _hidingIndexMapObserver) !== null) {
|
707
726
|
_classPrivateFieldGet(this, _hidingIndexMapObserver).unsubscribe();
|
708
|
-
|
709
727
|
_classPrivateFieldSet(this, _hidingIndexMapObserver, null);
|
710
728
|
}
|
711
|
-
|
712
729
|
_get(_getPrototypeOf(NestedHeaders.prototype), "destroy", this).call(this);
|
713
730
|
}
|
731
|
+
|
714
732
|
/**
|
715
733
|
* Gets the tree data that belongs to the column headers pointed by the passed coordinates.
|
716
734
|
*
|
@@ -718,14 +736,12 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
718
736
|
* @param {CellCoords} coords The CellCoords instance.
|
719
737
|
* @returns {object|undefined}
|
720
738
|
*/
|
721
|
-
|
722
739
|
}, {
|
723
740
|
key: "_getHeaderTreeNodeDataByCoords",
|
724
741
|
value: function _getHeaderTreeNodeDataByCoords(coords) {
|
725
742
|
if (coords.row >= 0 || coords.col < 0) {
|
726
743
|
return;
|
727
744
|
}
|
728
|
-
|
729
745
|
return _classPrivateFieldGet(this, _stateManager).getHeaderTreeNodeData(coords.row, coords.col);
|
730
746
|
}
|
731
747
|
}], [{
|
@@ -738,14 +754,13 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
738
754
|
get: function get() {
|
739
755
|
return PLUGIN_PRIORITY;
|
740
756
|
}
|
757
|
+
|
741
758
|
/**
|
742
759
|
* The state manager for the nested headers.
|
743
760
|
*
|
744
761
|
* @private
|
745
762
|
* @type {StateManager}
|
746
763
|
*/
|
747
|
-
|
748
764
|
}]);
|
749
|
-
|
750
765
|
return NestedHeaders;
|
751
766
|
}(BasePlugin);
|