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
package/tableView.mjs
CHANGED
@@ -1,29 +1,27 @@
|
|
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); }
|
1
2
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
2
|
-
|
3
3
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
4
|
-
|
5
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
6
|
-
|
4
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
7
5
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
8
|
-
|
9
6
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
10
|
-
|
11
7
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
12
|
-
|
13
8
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
14
|
-
|
15
9
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
16
|
-
|
17
10
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
18
|
-
|
19
11
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
20
|
-
|
21
12
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
22
|
-
|
23
|
-
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); } }
|
24
|
-
|
13
|
+
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); } }
|
25
14
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
26
|
-
|
15
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
16
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
17
|
+
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; }
|
18
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
19
|
+
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); }
|
20
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
21
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
22
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
23
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
24
|
+
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; } }
|
27
25
|
import "core-js/modules/es.array.iterator.js";
|
28
26
|
import "core-js/modules/es.object.to-string.js";
|
29
27
|
import "core-js/modules/es.string.iterator.js";
|
@@ -31,6 +29,8 @@ import "core-js/modules/es.weak-map.js";
|
|
31
29
|
import "core-js/modules/web.dom-collections.iterator.js";
|
32
30
|
import "core-js/modules/es.number.is-integer.js";
|
33
31
|
import "core-js/modules/es.number.constructor.js";
|
32
|
+
import "core-js/modules/es.symbol.to-primitive.js";
|
33
|
+
import "core-js/modules/es.date.to-primitive.js";
|
34
34
|
import "core-js/modules/es.symbol.js";
|
35
35
|
import "core-js/modules/es.symbol.description.js";
|
36
36
|
import "core-js/modules/es.symbol.iterator.js";
|
@@ -45,83 +45,110 @@ import Walkontable from "./3rdparty/walkontable/src/index.mjs";
|
|
45
45
|
import { handleMouseEvent } from "./selection/mouseEventHandler.mjs";
|
46
46
|
import { isRootInstance } from "./utils/rootInstance.mjs";
|
47
47
|
var privatePool = new WeakMap();
|
48
|
+
|
48
49
|
/**
|
49
50
|
* @class TableView
|
50
51
|
* @private
|
51
52
|
*/
|
52
|
-
|
53
|
+
var _columnHeadersCount = /*#__PURE__*/new WeakMap();
|
54
|
+
var _rowHeadersCount = /*#__PURE__*/new WeakMap();
|
53
55
|
var TableView = /*#__PURE__*/function () {
|
54
56
|
/**
|
55
|
-
*
|
57
|
+
* Instance of {@link Handsontable}.
|
58
|
+
*
|
59
|
+
* @private
|
60
|
+
* @type {Handsontable}
|
56
61
|
*/
|
57
|
-
function TableView(instance) {
|
58
|
-
_classCallCheck(this, TableView);
|
59
62
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
this.instance = instance;
|
67
|
-
/**
|
68
|
-
* Instance of {@link EventManager}.
|
69
|
-
*
|
70
|
-
* @private
|
71
|
-
* @type {EventManager}
|
72
|
-
*/
|
63
|
+
/**
|
64
|
+
* Instance of {@link EventManager}.
|
65
|
+
*
|
66
|
+
* @private
|
67
|
+
* @type {EventManager}
|
68
|
+
*/
|
73
69
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
*/
|
70
|
+
/**
|
71
|
+
* Current Handsontable's GridSettings object.
|
72
|
+
*
|
73
|
+
* @private
|
74
|
+
* @type {GridSettings}
|
75
|
+
*/
|
81
76
|
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
*/
|
77
|
+
/**
|
78
|
+
* Main <THEAD> element.
|
79
|
+
*
|
80
|
+
* @private
|
81
|
+
* @type {HTMLTableSectionElement}
|
82
|
+
*/
|
89
83
|
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
*/
|
84
|
+
/**
|
85
|
+
* Main <TBODY> element.
|
86
|
+
*
|
87
|
+
* @private
|
88
|
+
* @type {HTMLTableSectionElement}
|
89
|
+
*/
|
97
90
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
*/
|
91
|
+
/**
|
92
|
+
* Main Walkontable instance.
|
93
|
+
*
|
94
|
+
* @private
|
95
|
+
* @type {Walkontable}
|
96
|
+
*/
|
105
97
|
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
*/
|
98
|
+
/**
|
99
|
+
* Main Walkontable instance.
|
100
|
+
*
|
101
|
+
* @private
|
102
|
+
* @type {Walkontable}
|
103
|
+
*/
|
113
104
|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
105
|
+
/**
|
106
|
+
* The total number of the column header renderers applied to the table through the
|
107
|
+
* `afterGetColumnHeaderRenderers` hook.
|
108
|
+
*
|
109
|
+
* @type {number}
|
110
|
+
*/
|
111
|
+
|
112
|
+
/**
|
113
|
+
* The total number of the row header renderers applied to the table through the
|
114
|
+
* `afterGetRowHeaderRenderers` hook.
|
115
|
+
*
|
116
|
+
* @type {number}
|
117
|
+
*/
|
123
118
|
|
124
|
-
|
119
|
+
/**
|
120
|
+
* The flag determines if the `adjustElementsSize` method call was made during
|
121
|
+
* the render suspending. If true, the method has to be triggered once after render
|
122
|
+
* resuming.
|
123
|
+
*
|
124
|
+
* @private
|
125
|
+
* @type {boolean}
|
126
|
+
*/
|
127
|
+
|
128
|
+
/**
|
129
|
+
* @param {Hanstontable} instance Instance of {@link Handsontable}.
|
130
|
+
*/
|
131
|
+
function TableView(instance) {
|
132
|
+
_classCallCheck(this, TableView);
|
133
|
+
_defineProperty(this, "instance", void 0);
|
134
|
+
_defineProperty(this, "eventManager", void 0);
|
135
|
+
_defineProperty(this, "settings", void 0);
|
136
|
+
_defineProperty(this, "THEAD", void 0);
|
137
|
+
_defineProperty(this, "TBODY", void 0);
|
138
|
+
_defineProperty(this, "_wt", void 0);
|
139
|
+
_defineProperty(this, "activeWt", void 0);
|
140
|
+
_classPrivateFieldInitSpec(this, _columnHeadersCount, {
|
141
|
+
writable: true,
|
142
|
+
value: 0
|
143
|
+
});
|
144
|
+
_classPrivateFieldInitSpec(this, _rowHeadersCount, {
|
145
|
+
writable: true,
|
146
|
+
value: 0
|
147
|
+
});
|
148
|
+
_defineProperty(this, "postponedAdjustElementsSize", false);
|
149
|
+
this.instance = instance;
|
150
|
+
this.eventManager = new EventManager(this.instance);
|
151
|
+
this.settings = this.instance.getSettings();
|
125
152
|
privatePool.set(this, {
|
126
153
|
/**
|
127
154
|
* Defines if the text should be selected during mousemove.
|
@@ -130,13 +157,11 @@ var TableView = /*#__PURE__*/function () {
|
|
130
157
|
* @type {boolean}
|
131
158
|
*/
|
132
159
|
selectionMouseDown: false,
|
133
|
-
|
134
160
|
/**
|
135
161
|
* @private
|
136
162
|
* @type {boolean}
|
137
163
|
*/
|
138
164
|
mouseDown: void 0,
|
139
|
-
|
140
165
|
/**
|
141
166
|
* Main <TABLE> element.
|
142
167
|
*
|
@@ -144,14 +169,12 @@ var TableView = /*#__PURE__*/function () {
|
|
144
169
|
* @type {HTMLTableElement}
|
145
170
|
*/
|
146
171
|
table: void 0,
|
147
|
-
|
148
172
|
/**
|
149
173
|
* Cached width of the rootElement.
|
150
174
|
*
|
151
175
|
* @type {number}
|
152
176
|
*/
|
153
177
|
lastWidth: 0,
|
154
|
-
|
155
178
|
/**
|
156
179
|
* Cached height of the rootElement.
|
157
180
|
*
|
@@ -163,46 +186,42 @@ var TableView = /*#__PURE__*/function () {
|
|
163
186
|
this.registerEvents();
|
164
187
|
this.initializeWalkontable();
|
165
188
|
}
|
189
|
+
|
166
190
|
/**
|
167
191
|
* Renders WalkontableUI.
|
168
192
|
*/
|
169
|
-
|
170
|
-
|
171
193
|
_createClass(TableView, [{
|
172
194
|
key: "render",
|
173
195
|
value: function render() {
|
174
196
|
if (!this.instance.isRenderSuspended()) {
|
175
197
|
this.instance.runHooks('beforeRender', this.instance.forceFullRender);
|
176
|
-
|
177
198
|
if (this.postponedAdjustElementsSize) {
|
178
199
|
this.postponedAdjustElementsSize = false;
|
179
200
|
this.adjustElementsSize(true);
|
180
201
|
}
|
181
|
-
|
182
202
|
this._wt.draw(!this.instance.forceFullRender);
|
183
|
-
|
184
203
|
this.instance.runHooks('afterRender', this.instance.forceFullRender);
|
185
204
|
this.instance.forceFullRender = false;
|
186
205
|
this.instance.renderCall = false;
|
187
206
|
}
|
188
207
|
}
|
208
|
+
|
189
209
|
/**
|
190
210
|
* Adjust overlays elements size and master table size.
|
191
211
|
*
|
192
212
|
* @param {boolean} [force=false] When `true`, it adjust the DOM nodes sizes for all overlays.
|
193
213
|
*/
|
194
|
-
|
195
214
|
}, {
|
196
215
|
key: "adjustElementsSize",
|
197
216
|
value: function adjustElementsSize() {
|
198
217
|
var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
199
|
-
|
200
218
|
if (this.instance.isRenderSuspended()) {
|
201
219
|
this.postponedAdjustElementsSize = true;
|
202
220
|
} else {
|
203
221
|
this._wt.wtOverlays.adjustElementsSize(force);
|
204
222
|
}
|
205
223
|
}
|
224
|
+
|
206
225
|
/**
|
207
226
|
* Returns td object given coordinates.
|
208
227
|
*
|
@@ -210,19 +229,17 @@ var TableView = /*#__PURE__*/function () {
|
|
210
229
|
* @param {boolean} topmost Indicates whether the cell should be calculated from the topmost.
|
211
230
|
* @returns {HTMLTableCellElement|null}
|
212
231
|
*/
|
213
|
-
|
214
232
|
}, {
|
215
233
|
key: "getCellAtCoords",
|
216
234
|
value: function getCellAtCoords(coords, topmost) {
|
217
235
|
var td = this._wt.getCell(coords, topmost);
|
218
|
-
|
219
236
|
if (td < 0) {
|
220
237
|
// there was an exit code (cell is out of bounds)
|
221
238
|
return null;
|
222
239
|
}
|
223
|
-
|
224
240
|
return td;
|
225
241
|
}
|
242
|
+
|
226
243
|
/**
|
227
244
|
* Scroll viewport to a cell.
|
228
245
|
*
|
@@ -233,12 +250,12 @@ var TableView = /*#__PURE__*/function () {
|
|
233
250
|
* @param {boolean} [snapToLeft] If `true`, viewport is scrolled to show the cell on the left side of the table.
|
234
251
|
* @returns {boolean}
|
235
252
|
*/
|
236
|
-
|
237
253
|
}, {
|
238
254
|
key: "scrollViewport",
|
239
255
|
value: function scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft) {
|
240
256
|
return this._wt.scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft);
|
241
257
|
}
|
258
|
+
|
242
259
|
/**
|
243
260
|
* Scroll viewport to a column.
|
244
261
|
*
|
@@ -247,12 +264,12 @@ var TableView = /*#__PURE__*/function () {
|
|
247
264
|
* @param {boolean} [snapToLeft] If `true`, viewport is scrolled to show the cell on the left side of the table.
|
248
265
|
* @returns {boolean}
|
249
266
|
*/
|
250
|
-
|
251
267
|
}, {
|
252
268
|
key: "scrollViewportHorizontally",
|
253
269
|
value: function scrollViewportHorizontally(column, snapToRight, snapToLeft) {
|
254
270
|
return this._wt.scrollViewportHorizontally(column, snapToRight, snapToLeft);
|
255
271
|
}
|
272
|
+
|
256
273
|
/**
|
257
274
|
* Scroll viewport to a row.
|
258
275
|
*
|
@@ -261,27 +278,25 @@ var TableView = /*#__PURE__*/function () {
|
|
261
278
|
* @param {boolean} [snapToBottom] If `true`, viewport is scrolled to show the cell on the bottom side of the table.
|
262
279
|
* @returns {boolean}
|
263
280
|
*/
|
264
|
-
|
265
281
|
}, {
|
266
282
|
key: "scrollViewportVertically",
|
267
283
|
value: function scrollViewportVertically(row, snapToTop, snapToBottom) {
|
268
284
|
return this._wt.scrollViewportVertically(row, snapToTop, snapToBottom);
|
269
285
|
}
|
286
|
+
|
270
287
|
/**
|
271
288
|
* Prepares DOMElements and adds correct className to the root element.
|
272
289
|
*
|
273
290
|
* @private
|
274
291
|
*/
|
275
|
-
|
276
292
|
}, {
|
277
293
|
key: "createElements",
|
278
294
|
value: function createElements() {
|
279
295
|
var priv = privatePool.get(this);
|
280
296
|
var _this$instance = this.instance,
|
281
|
-
|
282
|
-
|
297
|
+
rootElement = _this$instance.rootElement,
|
298
|
+
rootDocument = _this$instance.rootDocument;
|
283
299
|
var originalStyle = rootElement.getAttribute('style');
|
284
|
-
|
285
300
|
if (originalStyle) {
|
286
301
|
rootElement.setAttribute('data-originalstyle', originalStyle); // needed to retrieve original style in jsFiddle link generator in HT examples. may be removed in future versions
|
287
302
|
}
|
@@ -289,11 +304,9 @@ var TableView = /*#__PURE__*/function () {
|
|
289
304
|
addClass(rootElement, 'handsontable');
|
290
305
|
priv.table = rootDocument.createElement('TABLE');
|
291
306
|
addClass(priv.table, 'htCore');
|
292
|
-
|
293
307
|
if (this.instance.getSettings().tableClassName) {
|
294
308
|
addClass(priv.table, this.instance.getSettings().tableClassName);
|
295
309
|
}
|
296
|
-
|
297
310
|
this.THEAD = rootDocument.createElement('THEAD');
|
298
311
|
priv.table.appendChild(this.THEAD);
|
299
312
|
this.TBODY = rootDocument.createElement('TBODY');
|
@@ -301,26 +314,24 @@ var TableView = /*#__PURE__*/function () {
|
|
301
314
|
this.instance.table = priv.table;
|
302
315
|
this.instance.container.insertBefore(priv.table, this.instance.container.firstChild);
|
303
316
|
}
|
317
|
+
|
304
318
|
/**
|
305
319
|
* Attaches necessary listeners.
|
306
320
|
*
|
307
321
|
* @private
|
308
322
|
*/
|
309
|
-
|
310
323
|
}, {
|
311
324
|
key: "registerEvents",
|
312
325
|
value: function registerEvents() {
|
313
326
|
var _this = this;
|
314
|
-
|
315
327
|
var priv = privatePool.get(this);
|
316
328
|
var _this$instance2 = this.instance,
|
317
|
-
|
318
|
-
|
319
|
-
|
329
|
+
rootElement = _this$instance2.rootElement,
|
330
|
+
rootDocument = _this$instance2.rootDocument,
|
331
|
+
selection = _this$instance2.selection;
|
320
332
|
var documentElement = rootDocument.documentElement;
|
321
333
|
this.eventManager.addEventListener(rootElement, 'mousedown', function (event) {
|
322
334
|
priv.selectionMouseDown = true;
|
323
|
-
|
324
335
|
if (!_this.isTextSelectionAllowed(event.target)) {
|
325
336
|
var rootWindow = _this.instance.rootWindow;
|
326
337
|
clearTextSelection(rootWindow);
|
@@ -328,6 +339,7 @@ var TableView = /*#__PURE__*/function () {
|
|
328
339
|
rootWindow.focus(); // make sure that window that contains HOT is active. Important when HOT is in iframe.
|
329
340
|
}
|
330
341
|
});
|
342
|
+
|
331
343
|
this.eventManager.addEventListener(rootElement, 'mouseup', function () {
|
332
344
|
priv.selectionMouseDown = false;
|
333
345
|
});
|
@@ -337,7 +349,6 @@ var TableView = /*#__PURE__*/function () {
|
|
337
349
|
if (_this.settings.fragmentSelection) {
|
338
350
|
clearTextSelection(_this.instance.rootWindow);
|
339
351
|
}
|
340
|
-
|
341
352
|
event.preventDefault();
|
342
353
|
}
|
343
354
|
});
|
@@ -352,9 +363,7 @@ var TableView = /*#__PURE__*/function () {
|
|
352
363
|
// is left mouse button
|
353
364
|
selection.finish();
|
354
365
|
}
|
355
|
-
|
356
366
|
priv.mouseDown = false;
|
357
|
-
|
358
367
|
if (isOutsideInput(rootDocument.activeElement) || !selection.isSelected() && !selection.isSelectedByAnyHeader() && !rootElement.contains(event.target) && !isRightClick(event)) {
|
359
368
|
_this.instance.unlisten();
|
360
369
|
}
|
@@ -369,7 +378,6 @@ var TableView = /*#__PURE__*/function () {
|
|
369
378
|
if (selection.isInProgress()) {
|
370
379
|
selection.finish();
|
371
380
|
}
|
372
|
-
|
373
381
|
priv.mouseDown = false;
|
374
382
|
});
|
375
383
|
this.eventManager.addEventListener(documentElement, 'mousedown', function (event) {
|
@@ -377,17 +385,14 @@ var TableView = /*#__PURE__*/function () {
|
|
377
385
|
var eventX = event.x || event.clientX;
|
378
386
|
var eventY = event.y || event.clientY;
|
379
387
|
var next = event.target;
|
380
|
-
|
381
388
|
if (priv.mouseDown || !rootElement || !_this.instance.view) {
|
382
389
|
return; // it must have been started in a cell
|
383
|
-
}
|
384
|
-
|
390
|
+
}
|
385
391
|
|
392
|
+
// immediate click on "holder" means click on the right side of vertical scrollbar
|
386
393
|
var holder = _this.instance.view._wt.wtTable.holder;
|
387
|
-
|
388
394
|
if (next === holder) {
|
389
395
|
var scrollbarWidth = getScrollbarWidth(rootDocument);
|
390
|
-
|
391
396
|
if (rootDocument.elementFromPoint(eventX + scrollbarWidth, eventY) !== holder || rootDocument.elementFromPoint(eventX, eventY + scrollbarWidth) !== holder) {
|
392
397
|
return;
|
393
398
|
}
|
@@ -396,24 +401,21 @@ var TableView = /*#__PURE__*/function () {
|
|
396
401
|
if (next === null) {
|
397
402
|
if (event.isTargetWebComponent) {
|
398
403
|
break;
|
399
|
-
}
|
400
|
-
|
404
|
+
}
|
401
405
|
|
406
|
+
// click on something that was a row but now is detached (possibly because your click triggered a rerender)
|
402
407
|
return;
|
403
408
|
}
|
404
|
-
|
405
409
|
if (next === rootElement) {
|
406
410
|
// click inside container
|
407
411
|
return;
|
408
412
|
}
|
409
|
-
|
410
413
|
next = next.parentNode;
|
411
414
|
}
|
412
|
-
}
|
413
|
-
|
415
|
+
}
|
414
416
|
|
417
|
+
// function did not return until here, we have an outside click!
|
415
418
|
var outsideClickDeselects = typeof _this.settings.outsideClickDeselects === 'function' ? _this.settings.outsideClickDeselects(originalTarget) : _this.settings.outsideClickDeselects;
|
416
|
-
|
417
419
|
if (outsideClickDeselects) {
|
418
420
|
_this.instance.deselectCell();
|
419
421
|
} else {
|
@@ -423,30 +425,29 @@ var TableView = /*#__PURE__*/function () {
|
|
423
425
|
this.eventManager.addEventListener(priv.table, 'selectstart', function (event) {
|
424
426
|
if (_this.settings.fragmentSelection || isInput(event.target)) {
|
425
427
|
return;
|
426
|
-
}
|
428
|
+
}
|
429
|
+
// https://github.com/handsontable/handsontable/issues/160
|
427
430
|
// Prevent text from being selected when performing drag down.
|
428
|
-
|
429
|
-
|
430
431
|
event.preventDefault();
|
431
432
|
});
|
432
433
|
}
|
434
|
+
|
433
435
|
/**
|
434
436
|
* Translate renderable cell coordinates to visual coordinates.
|
435
437
|
*
|
436
438
|
* @param {CellCoords} coords The cell coordinates.
|
437
439
|
* @returns {CellCoords}
|
438
440
|
*/
|
439
|
-
|
440
441
|
}, {
|
441
442
|
key: "translateFromRenderableToVisualCoords",
|
442
443
|
value: function translateFromRenderableToVisualCoords(_ref) {
|
443
444
|
var _this$instance3;
|
444
|
-
|
445
445
|
var row = _ref.row,
|
446
|
-
|
446
|
+
col = _ref.col;
|
447
447
|
// TODO: To consider an idea to reusing the CellCoords instance instead creating new one.
|
448
448
|
return (_this$instance3 = this.instance)._createCellCoords.apply(_this$instance3, _toConsumableArray(this.translateFromRenderableToVisualIndex(row, col)));
|
449
449
|
}
|
450
|
+
|
450
451
|
/**
|
451
452
|
* Translate renderable row and column indexes to visual row and column indexes.
|
452
453
|
*
|
@@ -454,7 +455,6 @@ var TableView = /*#__PURE__*/function () {
|
|
454
455
|
* @param {number} renderableColumn Renderable columnIndex.
|
455
456
|
* @returns {number[]}
|
456
457
|
*/
|
457
|
-
|
458
458
|
}, {
|
459
459
|
key: "translateFromRenderableToVisualIndex",
|
460
460
|
value: function translateFromRenderableToVisualIndex(renderableRow, renderableColumn) {
|
@@ -462,17 +462,15 @@ var TableView = /*#__PURE__*/function () {
|
|
462
462
|
// We perform translation for indexes (without headers).
|
463
463
|
var visualRow = renderableRow >= 0 ? this.instance.rowIndexMapper.getVisualFromRenderableIndex(renderableRow) : renderableRow;
|
464
464
|
var visualColumn = renderableColumn >= 0 ? this.instance.columnIndexMapper.getVisualFromRenderableIndex(renderableColumn) : renderableColumn;
|
465
|
-
|
466
465
|
if (visualRow === null) {
|
467
466
|
visualRow = renderableRow;
|
468
467
|
}
|
469
|
-
|
470
468
|
if (visualColumn === null) {
|
471
469
|
visualColumn = renderableColumn;
|
472
470
|
}
|
473
|
-
|
474
471
|
return [visualRow, visualColumn];
|
475
472
|
}
|
473
|
+
|
476
474
|
/**
|
477
475
|
* Returns the number of renderable indexes.
|
478
476
|
*
|
@@ -482,42 +480,42 @@ var TableView = /*#__PURE__*/function () {
|
|
482
480
|
*
|
483
481
|
* @returns {number|*}
|
484
482
|
*/
|
485
|
-
|
486
483
|
}, {
|
487
484
|
key: "countRenderableIndexes",
|
488
485
|
value: function countRenderableIndexes(indexMapper, maxElements) {
|
489
|
-
var consideredElements = Math.min(indexMapper.getNotTrimmedIndexesLength(), maxElements);
|
490
|
-
|
491
|
-
var firstNotHiddenIndex = indexMapper.getNearestNotHiddenIndex(consideredElements - 1, -1);
|
486
|
+
var consideredElements = Math.min(indexMapper.getNotTrimmedIndexesLength(), maxElements);
|
487
|
+
// Don't take hidden indexes into account. We are looking just for renderable indexes.
|
488
|
+
var firstNotHiddenIndex = indexMapper.getNearestNotHiddenIndex(consideredElements - 1, -1);
|
492
489
|
|
490
|
+
// There are no renderable indexes.
|
493
491
|
if (firstNotHiddenIndex === null) {
|
494
492
|
return 0;
|
495
493
|
}
|
496
|
-
|
497
494
|
return indexMapper.getRenderableFromVisualIndex(firstNotHiddenIndex) + 1;
|
498
495
|
}
|
496
|
+
|
499
497
|
/**
|
500
498
|
* Returns the number of renderable columns.
|
501
499
|
*
|
502
500
|
* @returns {number}
|
503
501
|
*/
|
504
|
-
|
505
502
|
}, {
|
506
503
|
key: "countRenderableColumns",
|
507
504
|
value: function countRenderableColumns() {
|
508
505
|
return this.countRenderableIndexes(this.instance.columnIndexMapper, this.settings.maxCols);
|
509
506
|
}
|
507
|
+
|
510
508
|
/**
|
511
509
|
* Returns the number of renderable rows.
|
512
510
|
*
|
513
511
|
* @returns {number}
|
514
512
|
*/
|
515
|
-
|
516
513
|
}, {
|
517
514
|
key: "countRenderableRows",
|
518
515
|
value: function countRenderableRows() {
|
519
516
|
return this.countRenderableIndexes(this.instance.rowIndexMapper, this.settings.maxRows);
|
520
517
|
}
|
518
|
+
|
521
519
|
/**
|
522
520
|
* Returns number of not hidden row indexes counting from the passed starting index.
|
523
521
|
* The counting direction can be controlled by `incrementBy` argument.
|
@@ -526,12 +524,12 @@ var TableView = /*#__PURE__*/function () {
|
|
526
524
|
* @param {number} incrementBy If `-1` then counting is backwards or forward when `1`.
|
527
525
|
* @returns {number}
|
528
526
|
*/
|
529
|
-
|
530
527
|
}, {
|
531
528
|
key: "countNotHiddenRowIndexes",
|
532
529
|
value: function countNotHiddenRowIndexes(visualIndex, incrementBy) {
|
533
530
|
return this.countNotHiddenIndexes(visualIndex, incrementBy, this.instance.rowIndexMapper, this.countRenderableRows());
|
534
531
|
}
|
532
|
+
|
535
533
|
/**
|
536
534
|
* Returns number of not hidden column indexes counting from the passed starting index.
|
537
535
|
* The counting direction can be controlled by `incrementBy` argument.
|
@@ -540,12 +538,12 @@ var TableView = /*#__PURE__*/function () {
|
|
540
538
|
* @param {number} incrementBy If `-1` then counting is backwards or forward when `1`.
|
541
539
|
* @returns {number}
|
542
540
|
*/
|
543
|
-
|
544
541
|
}, {
|
545
542
|
key: "countNotHiddenColumnIndexes",
|
546
543
|
value: function countNotHiddenColumnIndexes(visualIndex, incrementBy) {
|
547
544
|
return this.countNotHiddenIndexes(visualIndex, incrementBy, this.instance.columnIndexMapper, this.countRenderableColumns());
|
548
545
|
}
|
546
|
+
|
549
547
|
/**
|
550
548
|
* Returns number of not hidden indexes counting from the passed starting index.
|
551
549
|
* The counting direction can be controlled by `incrementBy` argument.
|
@@ -556,39 +554,33 @@ var TableView = /*#__PURE__*/function () {
|
|
556
554
|
* @param {number} renderableIndexesCount Total count of renderable indexes for specific axis.
|
557
555
|
* @returns {number}
|
558
556
|
*/
|
559
|
-
|
560
557
|
}, {
|
561
558
|
key: "countNotHiddenIndexes",
|
562
559
|
value: function countNotHiddenIndexes(visualIndex, incrementBy, indexMapper, renderableIndexesCount) {
|
563
560
|
if (isNaN(visualIndex) || visualIndex < 0) {
|
564
561
|
return 0;
|
565
562
|
}
|
566
|
-
|
567
563
|
var firstVisibleIndex = indexMapper.getNearestNotHiddenIndex(visualIndex, incrementBy);
|
568
564
|
var renderableIndex = indexMapper.getRenderableFromVisualIndex(firstVisibleIndex);
|
569
|
-
|
570
565
|
if (!Number.isInteger(renderableIndex)) {
|
571
566
|
return 0;
|
572
567
|
}
|
573
|
-
|
574
568
|
var notHiddenIndexes = 0;
|
575
|
-
|
576
569
|
if (incrementBy < 0) {
|
577
570
|
// Zero-based numbering for renderable indexes corresponds to a number of not hidden indexes.
|
578
571
|
notHiddenIndexes = renderableIndex + 1;
|
579
572
|
} else if (incrementBy > 0) {
|
580
573
|
notHiddenIndexes = renderableIndexesCount - renderableIndex;
|
581
574
|
}
|
582
|
-
|
583
575
|
return notHiddenIndexes;
|
584
576
|
}
|
577
|
+
|
585
578
|
/**
|
586
579
|
* The function returns the number of not hidden column indexes that fit between the first and
|
587
580
|
* last fixed column in the left (or right in RTL mode) overlay.
|
588
581
|
*
|
589
582
|
* @returns {number}
|
590
583
|
*/
|
591
|
-
|
592
584
|
}, {
|
593
585
|
key: "countNotHiddenFixedColumnsStart",
|
594
586
|
value: function countNotHiddenFixedColumnsStart() {
|
@@ -596,13 +588,13 @@ var TableView = /*#__PURE__*/function () {
|
|
596
588
|
var visualFixedColumnsStart = Math.min(parseInt(this.settings.fixedColumnsStart, 10), countCols) - 1;
|
597
589
|
return this.countNotHiddenColumnIndexes(visualFixedColumnsStart, -1);
|
598
590
|
}
|
591
|
+
|
599
592
|
/**
|
600
593
|
* The function returns the number of not hidden row indexes that fit between the first and
|
601
594
|
* last fixed row in the top overlay.
|
602
595
|
*
|
603
596
|
* @returns {number}
|
604
597
|
*/
|
605
|
-
|
606
598
|
}, {
|
607
599
|
key: "countNotHiddenFixedRowsTop",
|
608
600
|
value: function countNotHiddenFixedRowsTop() {
|
@@ -610,13 +602,13 @@ var TableView = /*#__PURE__*/function () {
|
|
610
602
|
var visualFixedRowsTop = Math.min(parseInt(this.settings.fixedRowsTop, 10), countRows) - 1;
|
611
603
|
return this.countNotHiddenRowIndexes(visualFixedRowsTop, -1);
|
612
604
|
}
|
605
|
+
|
613
606
|
/**
|
614
607
|
* The function returns the number of not hidden row indexes that fit between the first and
|
615
608
|
* last fixed row in the bottom overlay.
|
616
609
|
*
|
617
610
|
* @returns {number}
|
618
611
|
*/
|
619
|
-
|
620
612
|
}, {
|
621
613
|
key: "countNotHiddenFixedRowsBottom",
|
622
614
|
value: function countNotHiddenFixedRowsBottom() {
|
@@ -624,13 +616,13 @@ var TableView = /*#__PURE__*/function () {
|
|
624
616
|
var visualFixedRowsBottom = Math.max(countRows - parseInt(this.settings.fixedRowsBottom, 10), 0);
|
625
617
|
return this.countNotHiddenRowIndexes(visualFixedRowsBottom, 1);
|
626
618
|
}
|
619
|
+
|
627
620
|
/**
|
628
621
|
* Checks if at least one cell than belongs to the main table is not covered by the top, left or
|
629
622
|
* bottom overlay.
|
630
623
|
*
|
631
624
|
* @returns {boolean}
|
632
625
|
*/
|
633
|
-
|
634
626
|
}, {
|
635
627
|
key: "isMainTableNotFullyCoveredByOverlays",
|
636
628
|
value: function isMainTableNotFullyCoveredByOverlays() {
|
@@ -638,17 +630,16 @@ var TableView = /*#__PURE__*/function () {
|
|
638
630
|
var fixedAllColumns = this.countNotHiddenFixedColumnsStart();
|
639
631
|
return this.instance.countRenderedRows() > fixedAllRows && this.instance.countRenderedCols() > fixedAllColumns;
|
640
632
|
}
|
633
|
+
|
641
634
|
/**
|
642
635
|
* Defines default configuration and initializes WalkOnTable instance.
|
643
636
|
*
|
644
637
|
* @private
|
645
638
|
*/
|
646
|
-
|
647
639
|
}, {
|
648
640
|
key: "initializeWalkontable",
|
649
641
|
value: function initializeWalkontable() {
|
650
642
|
var _this2 = this;
|
651
|
-
|
652
643
|
var priv = privatePool.get(this);
|
653
644
|
var walkontableConfig = {
|
654
645
|
rtlMode: this.instance.isRtl(),
|
@@ -668,7 +659,6 @@ var TableView = /*#__PURE__*/function () {
|
|
668
659
|
},
|
669
660
|
data: function data(renderableRow, renderableColumn) {
|
670
661
|
var _this2$instance;
|
671
|
-
|
672
662
|
return (_this2$instance = _this2.instance).getDataAtCell.apply(_this2$instance, _toConsumableArray(_this2.translateFromRenderableToVisualIndex(renderableRow, renderableColumn)));
|
673
663
|
},
|
674
664
|
totalRows: function totalRows() {
|
@@ -707,84 +697,67 @@ var TableView = /*#__PURE__*/function () {
|
|
707
697
|
renderAllRows: this.settings.renderAllRows,
|
708
698
|
rowHeaders: function rowHeaders() {
|
709
699
|
var headerRenderers = [];
|
710
|
-
|
711
700
|
if (_this2.instance.hasRowHeaders()) {
|
712
701
|
headerRenderers.push(function (renderableRowIndex, TH) {
|
713
702
|
// TODO: Some helper may be needed.
|
714
703
|
// We perform translation for row indexes (without row headers).
|
715
704
|
var visualRowIndex = renderableRowIndex >= 0 ? _this2.instance.rowIndexMapper.getVisualFromRenderableIndex(renderableRowIndex) : renderableRowIndex;
|
716
|
-
|
717
705
|
_this2.appendRowHeader(visualRowIndex, TH);
|
718
706
|
});
|
719
707
|
}
|
720
|
-
|
721
708
|
_this2.instance.runHooks('afterGetRowHeaderRenderers', headerRenderers);
|
722
|
-
|
709
|
+
_classPrivateFieldSet(_this2, _rowHeadersCount, headerRenderers.length);
|
723
710
|
return headerRenderers;
|
724
711
|
},
|
725
712
|
columnHeaders: function columnHeaders() {
|
726
713
|
var headerRenderers = [];
|
727
|
-
|
728
714
|
if (_this2.instance.hasColHeaders()) {
|
729
715
|
headerRenderers.push(function (renderedColumnIndex, TH) {
|
730
716
|
// TODO: Some helper may be needed.
|
731
717
|
// We perform translation for columns indexes (without column headers).
|
732
718
|
var visualColumnsIndex = renderedColumnIndex >= 0 ? _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(renderedColumnIndex) : renderedColumnIndex;
|
733
|
-
|
734
719
|
_this2.appendColHeader(visualColumnsIndex, TH);
|
735
720
|
});
|
736
721
|
}
|
737
|
-
|
738
722
|
_this2.instance.runHooks('afterGetColumnHeaderRenderers', headerRenderers);
|
739
|
-
|
723
|
+
_classPrivateFieldSet(_this2, _columnHeadersCount, headerRenderers.length);
|
740
724
|
return headerRenderers;
|
741
725
|
},
|
742
726
|
columnWidth: function columnWidth(renderedColumnIndex) {
|
743
|
-
var visualIndex = _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(renderedColumnIndex);
|
727
|
+
var visualIndex = _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(renderedColumnIndex);
|
728
|
+
|
729
|
+
// It's not a bug that we can't find visual index for some handled by method indexes. The function is called also
|
744
730
|
// for indexes that are not displayed (indexes that are beyond the grid's boundaries), i.e. when `fixedColumnsStart` > `startCols` (wrong config?) or
|
745
731
|
// scrolling and dataset is empty (scroll should handle that?).
|
746
|
-
|
747
|
-
|
748
732
|
return _this2.instance.getColWidth(visualIndex === null ? renderedColumnIndex : visualIndex);
|
749
733
|
},
|
750
734
|
rowHeight: function rowHeight(renderedRowIndex) {
|
751
735
|
var visualIndex = _this2.instance.rowIndexMapper.getVisualFromRenderableIndex(renderedRowIndex);
|
752
|
-
|
753
736
|
return _this2.instance.getRowHeight(visualIndex === null ? renderedRowIndex : visualIndex);
|
754
737
|
},
|
755
738
|
cellRenderer: function cellRenderer(renderedRowIndex, renderedColumnIndex, TD) {
|
756
739
|
var _this2$translateFromR = _this2.translateFromRenderableToVisualIndex(renderedRowIndex, renderedColumnIndex),
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
|
740
|
+
_this2$translateFromR2 = _slicedToArray(_this2$translateFromR, 2),
|
741
|
+
visualRowIndex = _this2$translateFromR2[0],
|
742
|
+
visualColumnIndex = _this2$translateFromR2[1];
|
761
743
|
|
744
|
+
// Coords may be modified. For example, by the `MergeCells` plugin. It should affect cell value and cell meta.
|
762
745
|
var modifiedCellCoords = _this2.instance.runHooks('modifyGetCellCoords', visualRowIndex, visualColumnIndex);
|
763
|
-
|
764
746
|
var visualRowToCheck = visualRowIndex;
|
765
747
|
var visualColumnToCheck = visualColumnIndex;
|
766
|
-
|
767
748
|
if (Array.isArray(modifiedCellCoords)) {
|
768
749
|
var _modifiedCellCoords = _slicedToArray(modifiedCellCoords, 2);
|
769
|
-
|
770
750
|
visualRowToCheck = _modifiedCellCoords[0];
|
771
751
|
visualColumnToCheck = _modifiedCellCoords[1];
|
772
752
|
}
|
773
|
-
|
774
753
|
var cellProperties = _this2.instance.getCellMeta(visualRowToCheck, visualColumnToCheck);
|
775
|
-
|
776
754
|
var prop = _this2.instance.colToProp(visualColumnToCheck);
|
777
|
-
|
778
755
|
var value = _this2.instance.getDataAtRowProp(visualRowToCheck, prop);
|
779
|
-
|
780
756
|
if (_this2.instance.hasHook('beforeValueRender')) {
|
781
757
|
value = _this2.instance.runHooks('beforeValueRender', value, cellProperties);
|
782
758
|
}
|
783
|
-
|
784
759
|
_this2.instance.runHooks('beforeRenderer', TD, visualRowIndex, visualColumnIndex, prop, value, cellProperties);
|
785
|
-
|
786
760
|
_this2.instance.getCellRenderer(cellProperties)(_this2.instance, TD, visualRowIndex, visualColumnIndex, prop, value, cellProperties);
|
787
|
-
|
788
761
|
_this2.instance.runHooks('afterRenderer', TD, visualRowIndex, visualColumnIndex, prop, value, cellProperties);
|
789
762
|
},
|
790
763
|
selections: this.instance.selection.highlight,
|
@@ -792,32 +765,29 @@ var TableView = /*#__PURE__*/function () {
|
|
792
765
|
return _this2.settings.fragmentSelection;
|
793
766
|
},
|
794
767
|
onWindowResize: function onWindowResize() {
|
795
|
-
if (
|
796
|
-
|
768
|
+
if (_this2.instance && !_this2.instance.isDestroyed) {
|
769
|
+
_this2.instance.refreshDimensions();
|
770
|
+
}
|
771
|
+
},
|
772
|
+
onContainerElementResize: function onContainerElementResize() {
|
773
|
+
if (_this2.instance && !_this2.instance.isDestroyed) {
|
774
|
+
_this2.instance.refreshDimensions();
|
797
775
|
}
|
798
|
-
|
799
|
-
_this2.instance.refreshDimensions();
|
800
776
|
},
|
801
777
|
onCellMouseDown: function onCellMouseDown(event, coords, TD, wt) {
|
802
778
|
var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
|
803
|
-
|
804
779
|
var controller = {
|
805
780
|
row: false,
|
806
781
|
column: false,
|
807
782
|
cell: false
|
808
783
|
};
|
809
|
-
|
810
784
|
_this2.instance.listen();
|
811
|
-
|
812
785
|
_this2.activeWt = wt;
|
813
786
|
priv.mouseDown = true;
|
814
|
-
|
815
787
|
_this2.instance.runHooks('beforeOnCellMouseDown', event, visualCoords, TD, controller);
|
816
|
-
|
817
788
|
if (isImmediatePropagationStopped(event)) {
|
818
789
|
return;
|
819
790
|
}
|
820
|
-
|
821
791
|
handleMouseEvent(event, {
|
822
792
|
coords: visualCoords,
|
823
793
|
selection: _this2.instance.selection,
|
@@ -826,62 +796,45 @@ var TableView = /*#__PURE__*/function () {
|
|
826
796
|
return _this2.instance._createCellCoords(row, column);
|
827
797
|
}
|
828
798
|
});
|
829
|
-
|
830
799
|
_this2.instance.runHooks('afterOnCellMouseDown', event, visualCoords, TD);
|
831
|
-
|
832
800
|
_this2.activeWt = _this2._wt;
|
833
801
|
},
|
834
802
|
onCellContextMenu: function onCellContextMenu(event, coords, TD, wt) {
|
835
803
|
var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
|
836
|
-
|
837
804
|
_this2.activeWt = wt;
|
838
805
|
priv.mouseDown = false;
|
839
|
-
|
840
806
|
if (_this2.instance.selection.isInProgress()) {
|
841
807
|
_this2.instance.selection.finish();
|
842
808
|
}
|
843
|
-
|
844
809
|
_this2.instance.runHooks('beforeOnCellContextMenu', event, visualCoords, TD);
|
845
|
-
|
846
810
|
if (isImmediatePropagationStopped(event)) {
|
847
811
|
return;
|
848
812
|
}
|
849
|
-
|
850
813
|
_this2.instance.runHooks('afterOnCellContextMenu', event, visualCoords, TD);
|
851
|
-
|
852
814
|
_this2.activeWt = _this2._wt;
|
853
815
|
},
|
854
816
|
onCellMouseOut: function onCellMouseOut(event, coords, TD, wt) {
|
855
817
|
var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
|
856
|
-
|
857
818
|
_this2.activeWt = wt;
|
858
|
-
|
859
819
|
_this2.instance.runHooks('beforeOnCellMouseOut', event, visualCoords, TD);
|
860
|
-
|
861
820
|
if (isImmediatePropagationStopped(event)) {
|
862
821
|
return;
|
863
822
|
}
|
864
|
-
|
865
823
|
_this2.instance.runHooks('afterOnCellMouseOut', event, visualCoords, TD);
|
866
|
-
|
867
824
|
_this2.activeWt = _this2._wt;
|
868
825
|
},
|
869
826
|
onCellMouseOver: function onCellMouseOver(event, coords, TD, wt) {
|
870
827
|
var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
|
871
|
-
|
872
828
|
var controller = {
|
873
829
|
row: false,
|
874
830
|
column: false,
|
875
831
|
cell: false
|
876
832
|
};
|
877
833
|
_this2.activeWt = wt;
|
878
|
-
|
879
834
|
_this2.instance.runHooks('beforeOnCellMouseOver', event, visualCoords, TD, controller);
|
880
|
-
|
881
835
|
if (isImmediatePropagationStopped(event)) {
|
882
836
|
return;
|
883
837
|
}
|
884
|
-
|
885
838
|
if (priv.mouseDown) {
|
886
839
|
handleMouseEvent(event, {
|
887
840
|
coords: visualCoords,
|
@@ -892,38 +845,30 @@ var TableView = /*#__PURE__*/function () {
|
|
892
845
|
}
|
893
846
|
});
|
894
847
|
}
|
895
|
-
|
896
848
|
_this2.instance.runHooks('afterOnCellMouseOver', event, visualCoords, TD);
|
897
|
-
|
898
849
|
_this2.activeWt = _this2._wt;
|
899
850
|
},
|
900
851
|
onCellMouseUp: function onCellMouseUp(event, coords, TD, wt) {
|
901
852
|
var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
|
902
|
-
|
903
853
|
_this2.activeWt = wt;
|
854
|
+
_this2.instance.runHooks('beforeOnCellMouseUp', event, visualCoords, TD);
|
904
855
|
|
905
|
-
|
856
|
+
// TODO: The second condition check is a workaround. Callback corresponding the method `updateSettings`
|
906
857
|
// disable plugin and enable it again. Disabling plugin closes the menu. Thus, calling the
|
907
858
|
// `updateSettings` in a body of any callback executed right after some context-menu action
|
908
859
|
// breaks the table (#7231).
|
909
|
-
|
910
|
-
|
911
860
|
if (isImmediatePropagationStopped(event) || _this2.instance.isDestroyed) {
|
912
861
|
return;
|
913
862
|
}
|
914
|
-
|
915
863
|
_this2.instance.runHooks('afterOnCellMouseUp', event, visualCoords, TD);
|
916
|
-
|
917
864
|
_this2.activeWt = _this2._wt;
|
918
865
|
},
|
919
866
|
onCellCornerMouseDown: function onCellCornerMouseDown(event) {
|
920
867
|
event.preventDefault();
|
921
|
-
|
922
868
|
_this2.instance.runHooks('afterOnCellCornerMouseDown', event);
|
923
869
|
},
|
924
870
|
onCellCornerDblClick: function onCellCornerDblClick(event) {
|
925
871
|
event.preventDefault();
|
926
|
-
|
927
872
|
_this2.instance.runHooks('afterOnCellCornerDblClick', event);
|
928
873
|
},
|
929
874
|
beforeDraw: function beforeDraw(force, skipRender) {
|
@@ -944,31 +889,23 @@ var TableView = /*#__PURE__*/function () {
|
|
944
889
|
onBeforeHighlightingRowHeader: function onBeforeHighlightingRowHeader(renderableRow, headerLevel, highlightMeta) {
|
945
890
|
var rowMapper = _this2.instance.rowIndexMapper;
|
946
891
|
var visualRow = rowMapper.getVisualFromRenderableIndex(renderableRow);
|
947
|
-
|
948
892
|
var newVisualRow = _this2.instance.runHooks('beforeHighlightingRowHeader', visualRow, headerLevel, highlightMeta);
|
949
|
-
|
950
893
|
return rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(newVisualRow, 1));
|
951
894
|
},
|
952
895
|
onBeforeHighlightingColumnHeader: function onBeforeHighlightingColumnHeader(renderableColumn, headerLevel, highlightMeta) {
|
953
896
|
var columnMapper = _this2.instance.columnIndexMapper;
|
954
897
|
var visualColumn = columnMapper.getVisualFromRenderableIndex(renderableColumn);
|
955
|
-
|
956
898
|
var newVisualColumn = _this2.instance.runHooks('beforeHighlightingColumnHeader', visualColumn, headerLevel, highlightMeta);
|
957
|
-
|
958
899
|
return columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(newVisualColumn, 1));
|
959
900
|
},
|
960
901
|
onAfterDrawSelection: function onAfterDrawSelection(currentRow, currentColumn, layerLevel) {
|
961
902
|
var cornersOfSelection;
|
962
|
-
|
963
903
|
var _this2$translateFromR3 = _this2.translateFromRenderableToVisualIndex(currentRow, currentColumn),
|
964
|
-
|
965
|
-
|
966
|
-
|
967
|
-
|
904
|
+
_this2$translateFromR4 = _slicedToArray(_this2$translateFromR3, 2),
|
905
|
+
visualRowIndex = _this2$translateFromR4[0],
|
906
|
+
visualColumnIndex = _this2$translateFromR4[1];
|
968
907
|
var selectedRange = _this2.instance.selection.getSelectedRange();
|
969
|
-
|
970
908
|
var selectionRangeSize = selectedRange.size();
|
971
|
-
|
972
909
|
if (selectionRangeSize > 0) {
|
973
910
|
// Selection layers are stored from the "oldest" to the "newest". We should calculate the offset.
|
974
911
|
// Please look at the `SelectedRange` class and it's method for getting selection's layer for more information.
|
@@ -976,16 +913,14 @@ var TableView = /*#__PURE__*/function () {
|
|
976
913
|
var selectionForLayer = selectedRange.peekByIndex(selectionOffset);
|
977
914
|
cornersOfSelection = [selectionForLayer.from.row, selectionForLayer.from.col, selectionForLayer.to.row, selectionForLayer.to.col];
|
978
915
|
}
|
979
|
-
|
980
916
|
return _this2.instance.runHooks('afterDrawSelection', visualRowIndex, visualColumnIndex, cornersOfSelection, layerLevel);
|
981
917
|
},
|
982
918
|
onBeforeDrawBorders: function onBeforeDrawBorders(corners, borderClassName) {
|
983
919
|
var _corners = _slicedToArray(corners, 4),
|
984
|
-
|
985
|
-
|
986
|
-
|
987
|
-
|
988
|
-
|
920
|
+
startRenderableRow = _corners[0],
|
921
|
+
startRenderableColumn = _corners[1],
|
922
|
+
endRenderableRow = _corners[2],
|
923
|
+
endRenderableColumn = _corners[3];
|
989
924
|
var visualCorners = [_this2.instance.rowIndexMapper.getVisualFromRenderableIndex(startRenderableRow), _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(startRenderableColumn), _this2.instance.rowIndexMapper.getVisualFromRenderableIndex(endRenderableRow), _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(endRenderableColumn)];
|
990
925
|
return _this2.instance.runHooks('beforeDrawBorders', visualCorners, borderClassName);
|
991
926
|
},
|
@@ -997,7 +932,6 @@ var TableView = /*#__PURE__*/function () {
|
|
997
932
|
},
|
998
933
|
onBeforeStretchingColumnWidth: function onBeforeStretchingColumnWidth(stretchedWidth, renderedColumnIndex) {
|
999
934
|
var visualColumnIndex = _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(renderedColumnIndex);
|
1000
|
-
|
1001
935
|
return _this2.instance.runHooks('beforeStretchingColumnWidth', stretchedWidth, visualColumnIndex);
|
1002
936
|
},
|
1003
937
|
onModifyRowHeaderWidth: function onModifyRowHeaderWidth(rowHeaderWidth) {
|
@@ -1005,37 +939,32 @@ var TableView = /*#__PURE__*/function () {
|
|
1005
939
|
},
|
1006
940
|
onModifyGetCellCoords: function onModifyGetCellCoords(renderableRowIndex, renderableColumnIndex, topmost) {
|
1007
941
|
var rowMapper = _this2.instance.rowIndexMapper;
|
1008
|
-
var columnMapper = _this2.instance.columnIndexMapper;
|
942
|
+
var columnMapper = _this2.instance.columnIndexMapper;
|
1009
943
|
|
944
|
+
// Callback handle also headers. We shouldn't translate them.
|
1010
945
|
var visualColumnIndex = renderableColumnIndex >= 0 ? columnMapper.getVisualFromRenderableIndex(renderableColumnIndex) : renderableColumnIndex;
|
1011
946
|
var visualRowIndex = renderableRowIndex >= 0 ? rowMapper.getVisualFromRenderableIndex(renderableRowIndex) : renderableRowIndex;
|
1012
|
-
|
1013
947
|
var visualIndexes = _this2.instance.runHooks('modifyGetCellCoords', visualRowIndex, visualColumnIndex, topmost);
|
1014
|
-
|
1015
948
|
if (Array.isArray(visualIndexes)) {
|
1016
949
|
var _visualIndexes = _slicedToArray(visualIndexes, 4),
|
1017
|
-
|
1018
|
-
|
1019
|
-
|
1020
|
-
|
1021
|
-
|
950
|
+
visualRowFrom = _visualIndexes[0],
|
951
|
+
visualColumnFrom = _visualIndexes[1],
|
952
|
+
visualRowTo = _visualIndexes[2],
|
953
|
+
visualColumnTo = _visualIndexes[3];
|
1022
954
|
|
955
|
+
// Result of the hook is handled by the Walkontable (renderable indexes).
|
1023
956
|
return [visualRowFrom >= 0 ? rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(visualRowFrom, 1)) : visualRowFrom, visualColumnFrom >= 0 ? columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(visualColumnFrom, 1)) : visualColumnFrom, visualRowTo >= 0 ? rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(visualRowTo, -1)) : visualRowTo, visualColumnTo >= 0 ? columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(visualColumnTo, -1)) : visualColumnTo];
|
1024
957
|
}
|
1025
958
|
},
|
1026
959
|
viewportRowCalculatorOverride: function viewportRowCalculatorOverride(calc) {
|
1027
960
|
var viewportOffset = _this2.settings.viewportRowRenderingOffset;
|
1028
|
-
|
1029
961
|
if (viewportOffset === 'auto' && _this2.settings.fixedRowsTop) {
|
1030
962
|
viewportOffset = 10;
|
1031
963
|
}
|
1032
|
-
|
1033
964
|
if (viewportOffset > 0 || viewportOffset === 'auto') {
|
1034
965
|
var renderableRows = _this2.countRenderableRows();
|
1035
|
-
|
1036
966
|
var firstRenderedRow = calc.startRow;
|
1037
967
|
var lastRenderedRow = calc.endRow;
|
1038
|
-
|
1039
968
|
if (typeof viewportOffset === 'number') {
|
1040
969
|
calc.startRow = Math.max(firstRenderedRow - viewportOffset, 0);
|
1041
970
|
calc.endRow = Math.min(lastRenderedRow + viewportOffset, renderableRows - 1);
|
@@ -1045,34 +974,27 @@ var TableView = /*#__PURE__*/function () {
|
|
1045
974
|
calc.endRow = Math.min(lastRenderedRow + offset, renderableRows - 1);
|
1046
975
|
}
|
1047
976
|
}
|
1048
|
-
|
1049
977
|
_this2.instance.runHooks('afterViewportRowCalculatorOverride', calc);
|
1050
978
|
},
|
1051
979
|
viewportColumnCalculatorOverride: function viewportColumnCalculatorOverride(calc) {
|
1052
980
|
var viewportOffset = _this2.settings.viewportColumnRenderingOffset;
|
1053
|
-
|
1054
981
|
if (viewportOffset === 'auto' && _this2.settings.fixedColumnsStart) {
|
1055
982
|
viewportOffset = 10;
|
1056
983
|
}
|
1057
|
-
|
1058
984
|
if (viewportOffset > 0 || viewportOffset === 'auto') {
|
1059
985
|
var renderableColumns = _this2.countRenderableColumns();
|
1060
|
-
|
1061
986
|
var firstRenderedColumn = calc.startColumn;
|
1062
987
|
var lastRenderedColumn = calc.endColumn;
|
1063
|
-
|
1064
988
|
if (typeof viewportOffset === 'number') {
|
1065
989
|
calc.startColumn = Math.max(firstRenderedColumn - viewportOffset, 0);
|
1066
990
|
calc.endColumn = Math.min(lastRenderedColumn + viewportOffset, renderableColumns - 1);
|
1067
991
|
}
|
1068
|
-
|
1069
992
|
if (viewportOffset === 'auto') {
|
1070
993
|
var offset = Math.ceil(lastRenderedColumn / renderableColumns * 6);
|
1071
994
|
calc.startColumn = Math.max(firstRenderedColumn - offset, 0);
|
1072
995
|
calc.endColumn = Math.min(lastRenderedColumn + offset, renderableColumns - 1);
|
1073
996
|
}
|
1074
997
|
}
|
1075
|
-
|
1076
998
|
_this2.instance.runHooks('afterViewportColumnCalculatorOverride', calc);
|
1077
999
|
},
|
1078
1000
|
rowHeaderWidth: function rowHeaderWidth() {
|
@@ -1080,19 +1002,17 @@ var TableView = /*#__PURE__*/function () {
|
|
1080
1002
|
},
|
1081
1003
|
columnHeaderHeight: function columnHeaderHeight() {
|
1082
1004
|
var columnHeaderHeight = _this2.instance.runHooks('modifyColumnHeaderHeight');
|
1083
|
-
|
1084
1005
|
return _this2.settings.columnHeaderHeight || columnHeaderHeight;
|
1085
1006
|
}
|
1086
1007
|
};
|
1087
1008
|
this.instance.runHooks('beforeInitWalkontable', walkontableConfig);
|
1088
1009
|
this._wt = new Walkontable(walkontableConfig);
|
1089
1010
|
this.activeWt = this._wt;
|
1090
|
-
var spreader = this._wt.wtTable.spreader;
|
1091
|
-
|
1011
|
+
var spreader = this._wt.wtTable.spreader;
|
1012
|
+
// We have to cache width and height after Walkontable initialization.
|
1092
1013
|
var _this$instance$rootEl = this.instance.rootElement.getBoundingClientRect(),
|
1093
|
-
|
1094
|
-
|
1095
|
-
|
1014
|
+
width = _this$instance$rootEl.width,
|
1015
|
+
height = _this$instance$rootEl.height;
|
1096
1016
|
this.setLastSize(width, height);
|
1097
1017
|
this.eventManager.addEventListener(spreader, 'mousedown', function (event) {
|
1098
1018
|
// right mouse button exactly on spreader means right click on the right hand side of vertical scrollbar
|
@@ -1110,12 +1030,12 @@ var TableView = /*#__PURE__*/function () {
|
|
1110
1030
|
if (_this2.settings.observeDOMVisibility) {
|
1111
1031
|
if (_this2._wt.drawInterrupted) {
|
1112
1032
|
_this2.instance.forceFullRender = true;
|
1113
|
-
|
1114
1033
|
_this2.render();
|
1115
1034
|
}
|
1116
1035
|
}
|
1117
1036
|
});
|
1118
1037
|
}
|
1038
|
+
|
1119
1039
|
/**
|
1120
1040
|
* Checks if it's possible to create text selection in element.
|
1121
1041
|
*
|
@@ -1123,69 +1043,63 @@ var TableView = /*#__PURE__*/function () {
|
|
1123
1043
|
* @param {HTMLElement} el The element to check.
|
1124
1044
|
* @returns {boolean}
|
1125
1045
|
*/
|
1126
|
-
|
1127
1046
|
}, {
|
1128
1047
|
key: "isTextSelectionAllowed",
|
1129
1048
|
value: function isTextSelectionAllowed(el) {
|
1130
1049
|
if (isInput(el)) {
|
1131
1050
|
return true;
|
1132
1051
|
}
|
1133
|
-
|
1134
1052
|
var isChildOfTableBody = isChildOf(el, this.instance.view._wt.wtTable.spreader);
|
1135
|
-
|
1136
1053
|
if (this.settings.fragmentSelection === true && isChildOfTableBody) {
|
1137
1054
|
return true;
|
1138
1055
|
}
|
1139
|
-
|
1140
1056
|
if (this.settings.fragmentSelection === 'cell' && this.isSelectedOnlyCell() && isChildOfTableBody) {
|
1141
1057
|
return true;
|
1142
1058
|
}
|
1143
|
-
|
1144
1059
|
if (!this.settings.fragmentSelection && this.isCellEdited() && this.isSelectedOnlyCell()) {
|
1145
1060
|
return true;
|
1146
1061
|
}
|
1147
|
-
|
1148
1062
|
return false;
|
1149
1063
|
}
|
1064
|
+
|
1150
1065
|
/**
|
1151
1066
|
* Checks if user's been called mousedown.
|
1152
1067
|
*
|
1153
1068
|
* @private
|
1154
1069
|
* @returns {boolean}
|
1155
1070
|
*/
|
1156
|
-
|
1157
1071
|
}, {
|
1158
1072
|
key: "isMouseDown",
|
1159
1073
|
value: function isMouseDown() {
|
1160
1074
|
return privatePool.get(this).mouseDown;
|
1161
1075
|
}
|
1076
|
+
|
1162
1077
|
/**
|
1163
1078
|
* Check if selected only one cell.
|
1164
1079
|
*
|
1165
1080
|
* @private
|
1166
1081
|
* @returns {boolean}
|
1167
1082
|
*/
|
1168
|
-
|
1169
1083
|
}, {
|
1170
1084
|
key: "isSelectedOnlyCell",
|
1171
1085
|
value: function isSelectedOnlyCell() {
|
1172
1086
|
var _this$instance$getSel, _this$instance$getSel2;
|
1173
|
-
|
1174
1087
|
return (_this$instance$getSel = (_this$instance$getSel2 = this.instance.getSelectedRangeLast()) === null || _this$instance$getSel2 === void 0 ? void 0 : _this$instance$getSel2.isSingle()) !== null && _this$instance$getSel !== void 0 ? _this$instance$getSel : false;
|
1175
1088
|
}
|
1089
|
+
|
1176
1090
|
/**
|
1177
1091
|
* Checks if active cell is editing.
|
1178
1092
|
*
|
1179
1093
|
* @private
|
1180
1094
|
* @returns {boolean}
|
1181
1095
|
*/
|
1182
|
-
|
1183
1096
|
}, {
|
1184
1097
|
key: "isCellEdited",
|
1185
1098
|
value: function isCellEdited() {
|
1186
1099
|
var activeEditor = this.instance.getActiveEditor();
|
1187
1100
|
return activeEditor && activeEditor.isOpened();
|
1188
1101
|
}
|
1102
|
+
|
1189
1103
|
/**
|
1190
1104
|
* `beforeDraw` callback.
|
1191
1105
|
*
|
@@ -1195,7 +1109,6 @@ var TableView = /*#__PURE__*/function () {
|
|
1195
1109
|
* @param {object} skipRender Object with `skipRender` property, if it is set to `true ` the next rendering
|
1196
1110
|
* cycle will be skipped.
|
1197
1111
|
*/
|
1198
|
-
|
1199
1112
|
}, {
|
1200
1113
|
key: "beforeRender",
|
1201
1114
|
value: function beforeRender(force, skipRender) {
|
@@ -1204,6 +1117,7 @@ var TableView = /*#__PURE__*/function () {
|
|
1204
1117
|
this.instance.runHooks('beforeViewRender', this.instance.forceFullRender, skipRender);
|
1205
1118
|
}
|
1206
1119
|
}
|
1120
|
+
|
1207
1121
|
/**
|
1208
1122
|
* `afterRender` callback.
|
1209
1123
|
*
|
@@ -1211,7 +1125,6 @@ var TableView = /*#__PURE__*/function () {
|
|
1211
1125
|
* @param {boolean} force If `true` rendering was triggered by a change of settings or data or `false` if
|
1212
1126
|
* rendering was triggered by scrolling or moving selection.
|
1213
1127
|
*/
|
1214
|
-
|
1215
1128
|
}, {
|
1216
1129
|
key: "afterRender",
|
1217
1130
|
value: function afterRender(force) {
|
@@ -1220,6 +1133,7 @@ var TableView = /*#__PURE__*/function () {
|
|
1220
1133
|
this.instance.runHooks('afterViewRender', this.instance.forceFullRender);
|
1221
1134
|
}
|
1222
1135
|
}
|
1136
|
+
|
1223
1137
|
/**
|
1224
1138
|
* Append row header to a TH element.
|
1225
1139
|
*
|
@@ -1227,24 +1141,21 @@ var TableView = /*#__PURE__*/function () {
|
|
1227
1141
|
* @param {number} visualRowIndex The visual row index.
|
1228
1142
|
* @param {HTMLTableHeaderCellElement} TH The table header element.
|
1229
1143
|
*/
|
1230
|
-
|
1231
1144
|
}, {
|
1232
1145
|
key: "appendRowHeader",
|
1233
1146
|
value: function appendRowHeader(visualRowIndex, TH) {
|
1234
1147
|
if (TH.firstChild) {
|
1235
1148
|
var container = TH.firstChild;
|
1236
|
-
|
1237
1149
|
if (!hasClass(container, 'relative')) {
|
1238
1150
|
empty(TH);
|
1239
1151
|
this.appendRowHeader(visualRowIndex, TH);
|
1240
1152
|
return;
|
1241
1153
|
}
|
1242
|
-
|
1243
1154
|
this.updateCellHeader(container.querySelector('.rowHeader'), visualRowIndex, this.instance.getRowHeader);
|
1244
1155
|
} else {
|
1245
1156
|
var _this$instance4 = this.instance,
|
1246
|
-
|
1247
|
-
|
1157
|
+
rootDocument = _this$instance4.rootDocument,
|
1158
|
+
getRowHeader = _this$instance4.getRowHeader;
|
1248
1159
|
var div = rootDocument.createElement('div');
|
1249
1160
|
var span = rootDocument.createElement('span');
|
1250
1161
|
div.className = 'relative';
|
@@ -1253,28 +1164,31 @@ var TableView = /*#__PURE__*/function () {
|
|
1253
1164
|
div.appendChild(span);
|
1254
1165
|
TH.appendChild(div);
|
1255
1166
|
}
|
1256
|
-
|
1257
1167
|
this.instance.runHooks('afterGetRowHeader', visualRowIndex, TH);
|
1258
1168
|
}
|
1169
|
+
|
1259
1170
|
/**
|
1260
1171
|
* Append column header to a TH element.
|
1261
1172
|
*
|
1262
1173
|
* @private
|
1263
1174
|
* @param {number} visualColumnIndex Visual column index.
|
1264
|
-
* @param {
|
1175
|
+
* @param {HTMLTableCellElement} TH The table header element.
|
1176
|
+
* @param {Function} [label] The function that returns the header label.
|
1177
|
+
* @param {number} [headerLevel=0] The index of header level counting from the top (positive
|
1178
|
+
* values counting from 0 to N).
|
1265
1179
|
*/
|
1266
|
-
|
1267
1180
|
}, {
|
1268
1181
|
key: "appendColHeader",
|
1269
1182
|
value: function appendColHeader(visualColumnIndex, TH) {
|
1183
|
+
var label = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.instance.getColHeader;
|
1184
|
+
var headerLevel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
|
1270
1185
|
if (TH.firstChild) {
|
1271
1186
|
var container = TH.firstChild;
|
1272
|
-
|
1273
1187
|
if (hasClass(container, 'relative')) {
|
1274
|
-
this.updateCellHeader(container.querySelector('.colHeader'), visualColumnIndex,
|
1188
|
+
this.updateCellHeader(container.querySelector('.colHeader'), visualColumnIndex, label, headerLevel);
|
1275
1189
|
} else {
|
1276
1190
|
empty(TH);
|
1277
|
-
this.appendColHeader(visualColumnIndex, TH);
|
1191
|
+
this.appendColHeader(visualColumnIndex, TH, label, headerLevel);
|
1278
1192
|
}
|
1279
1193
|
} else {
|
1280
1194
|
var rootDocument = this.instance.rootDocument;
|
@@ -1282,30 +1196,31 @@ var TableView = /*#__PURE__*/function () {
|
|
1282
1196
|
var span = rootDocument.createElement('span');
|
1283
1197
|
div.className = 'relative';
|
1284
1198
|
span.className = 'colHeader';
|
1285
|
-
this.updateCellHeader(span, visualColumnIndex,
|
1199
|
+
this.updateCellHeader(span, visualColumnIndex, label, headerLevel);
|
1286
1200
|
div.appendChild(span);
|
1287
1201
|
TH.appendChild(div);
|
1288
1202
|
}
|
1289
|
-
|
1290
|
-
this.instance.runHooks('afterGetColHeader', visualColumnIndex, TH);
|
1203
|
+
this.instance.runHooks('afterGetColHeader', visualColumnIndex, TH, headerLevel);
|
1291
1204
|
}
|
1205
|
+
|
1292
1206
|
/**
|
1293
1207
|
* Updates header cell content.
|
1294
1208
|
*
|
1295
|
-
* @
|
1209
|
+
* @private
|
1296
1210
|
* @param {HTMLElement} element Element to update.
|
1297
1211
|
* @param {number} index Row index or column index.
|
1298
1212
|
* @param {Function} content Function which should be returns content for this cell.
|
1213
|
+
* @param {number} [headerLevel=0] The index of header level counting from the top (positive
|
1214
|
+
* values counting from 0 to N).
|
1299
1215
|
*/
|
1300
|
-
|
1301
1216
|
}, {
|
1302
1217
|
key: "updateCellHeader",
|
1303
1218
|
value: function updateCellHeader(element, index, content) {
|
1219
|
+
var headerLevel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
|
1304
1220
|
var renderedIndex = index;
|
1221
|
+
var parentOverlay = this._wt.wtOverlays.getParentOverlay(element) || this._wt;
|
1305
1222
|
|
1306
|
-
|
1307
|
-
|
1308
|
-
|
1223
|
+
// prevent wrong calculations from SampleGenerator
|
1309
1224
|
if (element.parentNode) {
|
1310
1225
|
if (hasClass(element, 'colHeader')) {
|
1311
1226
|
renderedIndex = parentOverlay.wtTable.columnFilter.sourceToRendered(index);
|
@@ -1313,15 +1228,15 @@ var TableView = /*#__PURE__*/function () {
|
|
1313
1228
|
renderedIndex = parentOverlay.wtTable.rowFilter.sourceToRendered(index);
|
1314
1229
|
}
|
1315
1230
|
}
|
1316
|
-
|
1317
1231
|
if (renderedIndex > -1) {
|
1318
|
-
fastInnerHTML(element, content(index));
|
1232
|
+
fastInnerHTML(element, content(index, headerLevel));
|
1319
1233
|
} else {
|
1320
1234
|
// workaround for https://github.com/handsontable/handsontable/issues/1946
|
1321
1235
|
fastInnerText(element, String.fromCharCode(160));
|
1322
1236
|
addClass(element, 'cornerHeader');
|
1323
1237
|
}
|
1324
1238
|
}
|
1239
|
+
|
1325
1240
|
/**
|
1326
1241
|
* Given a element's left (or right in RTL mode) position relative to the viewport, returns maximum
|
1327
1242
|
* element width until the right (or left) edge of the viewport (before scrollbar).
|
@@ -1330,15 +1245,14 @@ var TableView = /*#__PURE__*/function () {
|
|
1330
1245
|
* @param {number} inlineOffset The left (or right in RTL mode) offset.
|
1331
1246
|
* @returns {number}
|
1332
1247
|
*/
|
1333
|
-
|
1334
1248
|
}, {
|
1335
1249
|
key: "maximumVisibleElementWidth",
|
1336
1250
|
value: function maximumVisibleElementWidth(inlineOffset) {
|
1337
1251
|
var workspaceWidth = this._wt.wtViewport.getWorkspaceWidth();
|
1338
|
-
|
1339
1252
|
var maxWidth = workspaceWidth - inlineOffset;
|
1340
1253
|
return maxWidth > 0 ? maxWidth : 0;
|
1341
1254
|
}
|
1255
|
+
|
1342
1256
|
/**
|
1343
1257
|
* Given a element's top position relative to the viewport, returns maximum element height until the bottom
|
1344
1258
|
* edge of the viewport (before scrollbar).
|
@@ -1347,22 +1261,20 @@ var TableView = /*#__PURE__*/function () {
|
|
1347
1261
|
* @param {number} topOffset The top offset.
|
1348
1262
|
* @returns {number}
|
1349
1263
|
*/
|
1350
|
-
|
1351
1264
|
}, {
|
1352
1265
|
key: "maximumVisibleElementHeight",
|
1353
1266
|
value: function maximumVisibleElementHeight(topOffset) {
|
1354
1267
|
var workspaceHeight = this._wt.wtViewport.getWorkspaceHeight();
|
1355
|
-
|
1356
1268
|
var maxHeight = workspaceHeight - topOffset;
|
1357
1269
|
return maxHeight > 0 ? maxHeight : 0;
|
1358
1270
|
}
|
1271
|
+
|
1359
1272
|
/**
|
1360
1273
|
* Sets new dimensions of the container.
|
1361
1274
|
*
|
1362
1275
|
* @param {number} width The table width.
|
1363
1276
|
* @param {number} height The table height.
|
1364
1277
|
*/
|
1365
|
-
|
1366
1278
|
}, {
|
1367
1279
|
key: "setLastSize",
|
1368
1280
|
value: function setLastSize(width, height) {
|
@@ -1371,12 +1283,12 @@ var TableView = /*#__PURE__*/function () {
|
|
1371
1283
|
priv.lastWidth = _ref2[0];
|
1372
1284
|
priv.lastHeight = _ref2[1];
|
1373
1285
|
}
|
1286
|
+
|
1374
1287
|
/**
|
1375
1288
|
* Returns cached dimensions.
|
1376
1289
|
*
|
1377
1290
|
* @returns {object}
|
1378
1291
|
*/
|
1379
|
-
|
1380
1292
|
}, {
|
1381
1293
|
key: "getLastSize",
|
1382
1294
|
value: function getLastSize() {
|
@@ -1386,66 +1298,85 @@ var TableView = /*#__PURE__*/function () {
|
|
1386
1298
|
height: priv.lastHeight
|
1387
1299
|
};
|
1388
1300
|
}
|
1301
|
+
|
1389
1302
|
/**
|
1390
1303
|
* Returns the first fully visible row in the table viewport.
|
1391
1304
|
*
|
1392
1305
|
* @returns {number}
|
1393
1306
|
*/
|
1394
|
-
|
1395
1307
|
}, {
|
1396
1308
|
key: "getFirstFullyVisibleRow",
|
1397
1309
|
value: function getFirstFullyVisibleRow() {
|
1398
1310
|
return this.instance.rowIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getFirstVisibleRow());
|
1399
1311
|
}
|
1312
|
+
|
1400
1313
|
/**
|
1401
1314
|
* Returns the last fully visible row in the table viewport.
|
1402
1315
|
*
|
1403
1316
|
* @returns {number}
|
1404
1317
|
*/
|
1405
|
-
|
1406
1318
|
}, {
|
1407
1319
|
key: "getLastFullyVisibleRow",
|
1408
1320
|
value: function getLastFullyVisibleRow() {
|
1409
1321
|
return this.instance.rowIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getLastVisibleRow());
|
1410
1322
|
}
|
1323
|
+
|
1411
1324
|
/**
|
1412
1325
|
* Returns the first fully visible column in the table viewport.
|
1413
1326
|
*
|
1414
1327
|
* @returns {number}
|
1415
1328
|
*/
|
1416
|
-
|
1417
1329
|
}, {
|
1418
1330
|
key: "getFirstFullyVisibleColumn",
|
1419
1331
|
value: function getFirstFullyVisibleColumn() {
|
1420
1332
|
return this.instance.columnIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getFirstVisibleColumn());
|
1421
1333
|
}
|
1334
|
+
|
1422
1335
|
/**
|
1423
1336
|
* Returns the last fully visible column in the table viewport.
|
1424
1337
|
*
|
1425
1338
|
* @returns {number}
|
1426
1339
|
*/
|
1427
|
-
|
1428
1340
|
}, {
|
1429
1341
|
key: "getLastFullyVisibleColumn",
|
1430
1342
|
value: function getLastFullyVisibleColumn() {
|
1431
1343
|
return this.instance.columnIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getLastVisibleColumn());
|
1432
1344
|
}
|
1345
|
+
|
1346
|
+
/**
|
1347
|
+
* Returns the total count of the rendered column headers.
|
1348
|
+
*
|
1349
|
+
* @returns {number}
|
1350
|
+
*/
|
1351
|
+
}, {
|
1352
|
+
key: "getColumnHeadersCount",
|
1353
|
+
value: function getColumnHeadersCount() {
|
1354
|
+
return _classPrivateFieldGet(this, _columnHeadersCount);
|
1355
|
+
}
|
1356
|
+
|
1357
|
+
/**
|
1358
|
+
* Returns the total count of the rendered row headers.
|
1359
|
+
*
|
1360
|
+
* @returns {number}
|
1361
|
+
*/
|
1362
|
+
}, {
|
1363
|
+
key: "getRowHeadersCount",
|
1364
|
+
value: function getRowHeadersCount() {
|
1365
|
+
return _classPrivateFieldGet(this, _rowHeadersCount);
|
1366
|
+
}
|
1367
|
+
|
1433
1368
|
/**
|
1434
1369
|
* Destroys internal WalkOnTable's instance. Detaches all of the bonded listeners.
|
1435
1370
|
*
|
1436
1371
|
* @private
|
1437
1372
|
*/
|
1438
|
-
|
1439
1373
|
}, {
|
1440
1374
|
key: "destroy",
|
1441
1375
|
value: function destroy() {
|
1442
1376
|
this._wt.destroy();
|
1443
|
-
|
1444
1377
|
this.eventManager.destroy();
|
1445
1378
|
}
|
1446
1379
|
}]);
|
1447
|
-
|
1448
1380
|
return TableView;
|
1449
1381
|
}();
|
1450
|
-
|
1451
1382
|
export default TableView;
|