handsontable 12.1.3 → 12.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/SheetClip/SheetClip.js +3 -32
- package/3rdparty/SheetClip/SheetClip.mjs +3 -23
- package/3rdparty/SheetClip/index.js +0 -2
- package/3rdparty/autoResize/autoResize.js +119 -145
- package/3rdparty/autoResize/autoResize.mjs +119 -143
- package/3rdparty/autoResize/index.js +0 -2
- package/3rdparty/walkontable/src/border.js +34 -151
- package/3rdparty/walkontable/src/border.mjs +36 -138
- package/3rdparty/walkontable/src/calculator/constants.js +0 -3
- package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
- package/3rdparty/walkontable/src/calculator/index.js +0 -10
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +26 -76
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +26 -69
- package/3rdparty/walkontable/src/calculator/viewportRows.js +20 -48
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +20 -41
- package/3rdparty/walkontable/src/cell/coords.js +13 -43
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -38
- package/3rdparty/walkontable/src/cell/range.js +55 -130
- package/3rdparty/walkontable/src/cell/range.mjs +60 -126
- package/3rdparty/walkontable/src/core/_base.js +16 -74
- package/3rdparty/walkontable/src/core/_base.mjs +19 -70
- package/3rdparty/walkontable/src/core/clone.js +1 -40
- package/3rdparty/walkontable/src/core/clone.mjs +3 -30
- package/3rdparty/walkontable/src/core/core.js +3 -57
- package/3rdparty/walkontable/src/core/core.mjs +5 -41
- package/3rdparty/walkontable/src/event.js +31 -78
- package/3rdparty/walkontable/src/event.mjs +31 -65
- package/3rdparty/walkontable/src/facade/core.js +1 -17
- package/3rdparty/walkontable/src/facade/core.mjs +7 -20
- package/3rdparty/walkontable/src/filter/column.js +9 -18
- package/3rdparty/walkontable/src/filter/column.mjs +9 -17
- package/3rdparty/walkontable/src/filter/row.js +9 -18
- package/3rdparty/walkontable/src/filter/row.mjs +9 -17
- package/3rdparty/walkontable/src/index.js +0 -31
- package/3rdparty/walkontable/src/overlay/_base.js +24 -69
- package/3rdparty/walkontable/src/overlay/_base.mjs +31 -68
- package/3rdparty/walkontable/src/overlay/bottom.js +28 -99
- package/3rdparty/walkontable/src/overlay/bottom.mjs +30 -86
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +7 -53
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +9 -40
- package/3rdparty/walkontable/src/overlay/constants.js +0 -6
- package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
- package/3rdparty/walkontable/src/overlay/index.js +0 -17
- package/3rdparty/walkontable/src/overlay/inlineStart.js +21 -91
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +23 -78
- package/3rdparty/walkontable/src/overlay/top.js +27 -100
- package/3rdparty/walkontable/src/overlay/top.mjs +29 -87
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +4 -51
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +6 -38
- package/3rdparty/walkontable/src/overlays.js +58 -129
- package/3rdparty/walkontable/src/overlays.mjs +60 -121
- package/3rdparty/walkontable/src/renderer/_base.js +4 -20
- package/3rdparty/walkontable/src/renderer/_base.mjs +8 -22
- package/3rdparty/walkontable/src/renderer/cells.js +10 -54
- package/3rdparty/walkontable/src/renderer/cells.mjs +22 -52
- package/3rdparty/walkontable/src/renderer/colGroup.js +10 -47
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +21 -46
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +19 -49
- package/3rdparty/walkontable/src/renderer/index.js +13 -36
- package/3rdparty/walkontable/src/renderer/index.mjs +17 -27
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +20 -49
- package/3rdparty/walkontable/src/renderer/rows.js +3 -46
- package/3rdparty/walkontable/src/renderer/rows.mjs +3 -29
- package/3rdparty/walkontable/src/renderer/table.js +22 -49
- package/3rdparty/walkontable/src/renderer/table.mjs +22 -48
- package/3rdparty/walkontable/src/scroll.js +56 -86
- package/3rdparty/walkontable/src/scroll.mjs +58 -86
- package/3rdparty/walkontable/src/selection.js +20 -101
- package/3rdparty/walkontable/src/selection.mjs +22 -85
- package/3rdparty/walkontable/src/settings.js +9 -29
- package/3rdparty/walkontable/src/settings.mjs +9 -27
- package/3rdparty/walkontable/src/table/bottom.js +1 -35
- package/3rdparty/walkontable/src/table/bottom.mjs +6 -25
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table/inlineStart.js +1 -35
- package/3rdparty/walkontable/src/table/inlineStart.mjs +3 -22
- package/3rdparty/walkontable/src/table/master.js +10 -55
- package/3rdparty/walkontable/src/table/master.mjs +15 -44
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +7 -20
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +7 -23
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +7 -21
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +7 -20
- package/3rdparty/walkontable/src/table/top.js +1 -35
- package/3rdparty/walkontable/src/table/top.mjs +6 -25
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table.js +63 -230
- package/3rdparty/walkontable/src/table.mjs +73 -219
- package/3rdparty/walkontable/src/types.js +0 -5
- package/3rdparty/walkontable/src/types.mjs +0 -5
- package/3rdparty/walkontable/src/utils/column.js +9 -31
- package/3rdparty/walkontable/src/utils/column.mjs +13 -30
- package/3rdparty/walkontable/src/utils/nodesPool.js +3 -12
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +3 -11
- package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
- package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
- package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -33
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +6 -26
- package/3rdparty/walkontable/src/utils/orderView/view.js +14 -46
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +21 -50
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +3 -15
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +3 -14
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +8 -22
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +23 -34
- package/3rdparty/walkontable/src/utils/row.js +2 -13
- package/3rdparty/walkontable/src/utils/row.mjs +2 -12
- package/3rdparty/walkontable/src/viewport.js +38 -100
- package/3rdparty/walkontable/src/viewport.mjs +40 -99
- package/CHANGELOG.md +76 -1
- package/base.js +6 -17
- package/base.mjs +6 -12
- package/cellTypes/autocompleteType/autocompleteType.js +0 -4
- package/cellTypes/autocompleteType/index.js +0 -2
- package/cellTypes/checkboxType/checkboxType.js +0 -3
- package/cellTypes/checkboxType/index.js +0 -2
- package/cellTypes/dateType/dateType.js +0 -4
- package/cellTypes/dateType/index.js +0 -2
- package/cellTypes/dropdownType/dropdownType.js +0 -4
- package/cellTypes/dropdownType/index.js +0 -2
- package/cellTypes/handsontableType/handsontableType.js +0 -3
- package/cellTypes/handsontableType/index.js +0 -2
- package/cellTypes/index.js +0 -21
- package/cellTypes/index.mjs +3 -5
- package/cellTypes/numericType/index.js +0 -2
- package/cellTypes/numericType/numericType.js +0 -4
- package/cellTypes/passwordType/index.js +0 -2
- package/cellTypes/passwordType/passwordType.js +0 -3
- package/cellTypes/registry.js +10 -25
- package/cellTypes/registry.mjs +10 -20
- package/cellTypes/textType/index.js +0 -2
- package/cellTypes/textType/textType.js +0 -3
- package/cellTypes/timeType/index.js +0 -2
- package/cellTypes/timeType/timeType.js +0 -4
- package/core.d.ts +5 -1
- package/core.js +505 -973
- package/core.mjs +510 -920
- package/dataMap/dataMap.js +106 -210
- package/dataMap/dataMap.mjs +106 -184
- package/{dataSource.js → dataMap/dataSource.js} +18 -66
- package/{dataSource.mjs → dataMap/dataSource.mjs} +20 -60
- package/dataMap/index.js +0 -13
- package/dataMap/metaManager/index.js +21 -46
- package/dataMap/metaManager/index.mjs +47 -64
- package/dataMap/metaManager/lazyFactoryMap.js +10 -61
- package/dataMap/metaManager/lazyFactoryMap.mjs +10 -45
- package/dataMap/metaManager/metaLayers/cellMeta.js +16 -52
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +16 -37
- package/dataMap/metaManager/metaLayers/columnMeta.js +8 -22
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +14 -25
- package/dataMap/metaManager/metaLayers/globalMeta.js +4 -19
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.js +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +28 -37
- package/dataMap/metaManager/metaSchema.js +86 -179
- package/dataMap/metaManager/metaSchema.mjs +86 -170
- package/dataMap/metaManager/mods/dynamicCellMeta.js +6 -36
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +20 -39
- package/dataMap/metaManager/mods/extendMetaProperties.js +5 -28
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +4 -18
- package/dataMap/metaManager/utils.js +11 -20
- package/dataMap/metaManager/utils.mjs +21 -23
- package/dataMap/replaceData.js +14 -35
- package/dataMap/replaceData.mjs +35 -45
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +8478 -20043
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +55 -55
- package/dist/handsontable.js +7995 -19560
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +0 -175
- package/dist/languages/ar-AR.js +0 -10
- package/dist/languages/cs-CZ.js +0 -10
- package/dist/languages/de-CH.js +0 -10
- package/dist/languages/de-DE.js +0 -10
- package/dist/languages/en-US.js +0 -10
- package/dist/languages/es-MX.js +0 -10
- package/dist/languages/fr-FR.js +0 -10
- package/dist/languages/it-IT.js +0 -10
- package/dist/languages/ja-JP.js +0 -10
- package/dist/languages/ko-KR.js +0 -10
- package/dist/languages/lv-LV.js +0 -10
- package/dist/languages/nb-NO.js +0 -10
- package/dist/languages/nl-NL.js +0 -10
- package/dist/languages/pl-PL.js +0 -10
- package/dist/languages/pt-BR.js +0 -10
- package/dist/languages/ru-RU.js +0 -10
- package/dist/languages/sr-SP.js +0 -10
- package/dist/languages/zh-CN.js +0 -10
- package/dist/languages/zh-TW.js +0 -10
- package/editorManager.js +36 -105
- package/editorManager.mjs +36 -85
- package/editors/autocompleteEditor/autocompleteEditor.js +26 -133
- package/editors/autocompleteEditor/autocompleteEditor.mjs +26 -104
- package/editors/autocompleteEditor/index.js +0 -2
- package/editors/baseEditor/baseEditor.js +44 -154
- package/editors/baseEditor/baseEditor.mjs +44 -128
- package/editors/baseEditor/index.js +0 -2
- package/editors/checkboxEditor/checkboxEditor.js +2 -33
- package/editors/checkboxEditor/checkboxEditor.mjs +2 -19
- package/editors/checkboxEditor/index.js +0 -2
- package/editors/dateEditor/dateEditor.js +20 -96
- package/editors/dateEditor/dateEditor.mjs +20 -75
- package/editors/dateEditor/index.js +0 -2
- package/editors/dropdownEditor/dropdownEditor.js +1 -41
- package/editors/dropdownEditor/dropdownEditor.mjs +1 -22
- package/editors/dropdownEditor/index.js +0 -2
- package/editors/handsontableEditor/handsontableEditor.js +13 -85
- package/editors/handsontableEditor/handsontableEditor.mjs +13 -66
- package/editors/handsontableEditor/index.js +0 -2
- package/editors/index.js +0 -25
- package/editors/index.mjs +3 -5
- package/editors/numericEditor/index.js +0 -2
- package/editors/numericEditor/numericEditor.js +1 -31
- package/editors/numericEditor/numericEditor.mjs +1 -18
- package/editors/passwordEditor/index.js +0 -2
- package/editors/passwordEditor/passwordEditor.js +1 -38
- package/editors/passwordEditor/passwordEditor.mjs +1 -22
- package/editors/registry.js +10 -36
- package/editors/registry.mjs +10 -28
- package/editors/selectEditor/index.js +0 -2
- package/editors/selectEditor/selectEditor.js +21 -73
- package/editors/selectEditor/selectEditor.mjs +21 -56
- package/editors/textEditor/caretPositioner.js +0 -8
- package/editors/textEditor/caretPositioner.mjs +10 -18
- package/editors/textEditor/index.js +0 -2
- package/editors/textEditor/textEditor.js +38 -137
- package/editors/textEditor/textEditor.mjs +38 -106
- package/editors/timeEditor/index.js +0 -2
- package/editors/timeEditor/timeEditor.js +1 -36
- package/editors/timeEditor/timeEditor.mjs +1 -21
- package/eventManager.js +20 -56
- package/eventManager.mjs +23 -56
- package/helpers/array.js +22 -88
- package/helpers/array.mjs +22 -58
- package/helpers/browser.js +25 -51
- package/helpers/browser.mjs +25 -32
- package/helpers/console.js +3 -13
- package/helpers/console.mjs +8 -16
- package/helpers/data.d.ts +0 -1
- package/helpers/data.js +10 -55
- package/helpers/data.mjs +10 -33
- package/helpers/date.js +2 -3
- package/helpers/date.mjs +2 -2
- package/helpers/dom/element.js +66 -256
- package/helpers/dom/element.mjs +73 -192
- package/helpers/dom/event.js +3 -7
- package/helpers/dom/event.mjs +3 -3
- package/helpers/feature.js +13 -47
- package/helpers/feature.mjs +13 -31
- package/helpers/function.js +14 -59
- package/helpers/function.mjs +20 -52
- package/helpers/mixed.js +9 -64
- package/helpers/mixed.mjs +15 -50
- package/helpers/number.js +4 -46
- package/helpers/number.mjs +4 -23
- package/helpers/object.js +15 -68
- package/helpers/object.mjs +21 -50
- package/helpers/string.js +6 -28
- package/helpers/string.mjs +12 -21
- package/helpers/templateLiteralTag.js +0 -6
- package/helpers/templateLiteralTag.mjs +7 -10
- package/helpers/unicode.js +17 -22
- package/helpers/unicode.mjs +17 -13
- package/helpers/wrappers/jquery.js +4 -14
- package/helpers/wrappers/jquery.mjs +4 -13
- package/i18n/constants.js +1 -3
- package/i18n/constants.mjs +1 -1
- package/i18n/index.js +0 -7
- package/i18n/languages/ar-AR.js +0 -16
- package/i18n/languages/ar-AR.mjs +1 -4
- package/i18n/languages/cs-CZ.js +0 -16
- package/i18n/languages/cs-CZ.mjs +1 -4
- package/i18n/languages/de-CH.js +0 -16
- package/i18n/languages/de-CH.mjs +1 -4
- package/i18n/languages/de-DE.js +0 -16
- package/i18n/languages/de-DE.mjs +1 -4
- package/i18n/languages/en-US.js +0 -16
- package/i18n/languages/en-US.mjs +1 -4
- package/i18n/languages/es-MX.js +0 -16
- package/i18n/languages/es-MX.mjs +1 -4
- package/i18n/languages/fr-FR.js +0 -16
- package/i18n/languages/fr-FR.mjs +1 -4
- package/i18n/languages/index.js +0 -39
- package/i18n/languages/it-IT.js +0 -16
- package/i18n/languages/it-IT.mjs +1 -4
- package/i18n/languages/ja-JP.js +0 -16
- package/i18n/languages/ja-JP.mjs +1 -4
- package/i18n/languages/ko-KR.js +0 -16
- package/i18n/languages/ko-KR.mjs +1 -4
- package/i18n/languages/lv-LV.js +0 -16
- package/i18n/languages/lv-LV.mjs +1 -4
- package/i18n/languages/nb-NO.js +0 -16
- package/i18n/languages/nb-NO.mjs +1 -4
- package/i18n/languages/nl-NL.js +0 -16
- package/i18n/languages/nl-NL.mjs +1 -4
- package/i18n/languages/pl-PL.js +0 -16
- package/i18n/languages/pl-PL.mjs +1 -4
- package/i18n/languages/pt-BR.js +0 -16
- package/i18n/languages/pt-BR.mjs +1 -4
- package/i18n/languages/ru-RU.js +0 -16
- package/i18n/languages/ru-RU.mjs +1 -4
- package/i18n/languages/sr-SP.js +0 -16
- package/i18n/languages/sr-SP.mjs +1 -4
- package/i18n/languages/zh-CN.js +0 -16
- package/i18n/languages/zh-CN.mjs +1 -4
- package/i18n/languages/zh-TW.js +0 -16
- package/i18n/languages/zh-TW.mjs +1 -4
- package/i18n/phraseFormatters/index.js +4 -11
- package/i18n/phraseFormatters/index.mjs +4 -6
- package/i18n/phraseFormatters/pluralize.js +0 -5
- package/i18n/phraseFormatters/pluralize.mjs +0 -3
- package/i18n/phraseFormatters/substituteVariables.js +0 -4
- package/i18n/phraseFormatters/substituteVariables.mjs +8 -11
- package/i18n/registry.js +18 -59
- package/i18n/registry.mjs +18 -30
- package/i18n/utils.js +4 -22
- package/i18n/utils.mjs +13 -21
- package/index.js +19 -56
- package/index.mjs +19 -15
- package/languages/all.js +0 -175
- package/languages/ar-AR.js +0 -10
- package/languages/ar-AR.mjs +1 -4
- package/languages/cs-CZ.js +0 -10
- package/languages/cs-CZ.mjs +1 -4
- package/languages/de-CH.js +0 -10
- package/languages/de-CH.mjs +1 -4
- package/languages/de-DE.js +0 -10
- package/languages/de-DE.mjs +1 -4
- package/languages/en-US.js +0 -10
- package/languages/en-US.mjs +1 -4
- package/languages/es-MX.js +0 -10
- package/languages/es-MX.mjs +1 -4
- package/languages/fr-FR.js +0 -10
- package/languages/fr-FR.mjs +1 -4
- package/languages/index.js +0 -175
- package/languages/it-IT.js +0 -10
- package/languages/it-IT.mjs +1 -4
- package/languages/ja-JP.js +0 -10
- package/languages/ja-JP.mjs +1 -4
- package/languages/ko-KR.js +0 -10
- package/languages/ko-KR.mjs +1 -4
- package/languages/lv-LV.js +0 -10
- package/languages/lv-LV.mjs +1 -4
- package/languages/nb-NO.js +0 -10
- package/languages/nb-NO.mjs +1 -4
- package/languages/nl-NL.js +0 -10
- package/languages/nl-NL.mjs +1 -4
- package/languages/pl-PL.js +0 -10
- package/languages/pl-PL.mjs +1 -4
- package/languages/pt-BR.js +0 -10
- package/languages/pt-BR.mjs +1 -4
- package/languages/ru-RU.js +0 -10
- package/languages/ru-RU.mjs +1 -4
- package/languages/sr-SP.js +0 -10
- package/languages/sr-SP.mjs +1 -4
- package/languages/zh-CN.js +0 -10
- package/languages/zh-CN.mjs +1 -4
- package/languages/zh-TW.js +0 -10
- package/languages/zh-TW.mjs +1 -4
- package/mixins/hooksRefRegisterer.js +4 -18
- package/mixins/hooksRefRegisterer.mjs +4 -15
- package/mixins/localHooks.js +7 -17
- package/mixins/localHooks.mjs +7 -14
- package/package.json +1 -1
- package/pluginHooks.d.ts +3 -3
- package/pluginHooks.js +271 -96
- package/pluginHooks.mjs +270 -83
- package/plugins/autoColumnSize/autoColumnSize.js +74 -172
- package/plugins/autoColumnSize/autoColumnSize.mjs +74 -137
- package/plugins/autoColumnSize/index.js +0 -2
- package/plugins/autoRowSize/autoRowSize.js +73 -153
- package/plugins/autoRowSize/autoRowSize.mjs +73 -124
- package/plugins/autoRowSize/index.js +0 -2
- package/plugins/autofill/autofill.js +46 -163
- package/plugins/autofill/autofill.mjs +46 -131
- package/plugins/autofill/index.js +0 -2
- package/plugins/autofill/utils.js +4 -26
- package/plugins/autofill/utils.mjs +4 -18
- package/plugins/base/base.js +20 -89
- package/plugins/base/base.mjs +20 -61
- package/plugins/base/index.js +0 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +19 -52
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +19 -33
- package/plugins/bindRowsWithHeaders/index.js +0 -2
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +5 -41
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +5 -29
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -53
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +6 -37
- package/plugins/collapsibleColumns/collapsibleColumns.js +96 -188
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +97 -158
- package/plugins/collapsibleColumns/index.js +0 -2
- package/plugins/columnSorting/columnSorting.js +50 -188
- package/plugins/columnSorting/columnSorting.mjs +50 -143
- package/plugins/columnSorting/columnStatesManager.js +15 -71
- package/plugins/columnSorting/columnStatesManager.mjs +15 -48
- package/plugins/columnSorting/domHelpers.js +2 -18
- package/plugins/columnSorting/domHelpers.mjs +2 -7
- package/plugins/columnSorting/index.js +0 -2
- package/plugins/columnSorting/rootComparator.js +5 -24
- package/plugins/columnSorting/rootComparator.mjs +12 -21
- package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
- package/plugins/columnSorting/sortFunction/checkbox.mjs +16 -21
- package/plugins/columnSorting/sortFunction/date.js +2 -19
- package/plugins/columnSorting/sortFunction/date.mjs +10 -23
- package/plugins/columnSorting/sortFunction/default.js +2 -17
- package/plugins/columnSorting/sortFunction/default.mjs +10 -23
- package/plugins/columnSorting/sortFunction/numeric.js +2 -11
- package/plugins/columnSorting/sortFunction/numeric.mjs +10 -17
- package/plugins/columnSorting/sortService/engine.js +1 -7
- package/plugins/columnSorting/sortService/engine.mjs +1 -3
- package/plugins/columnSorting/sortService/index.js +0 -5
- package/plugins/columnSorting/sortService/registry.js +6 -18
- package/plugins/columnSorting/sortService/registry.mjs +6 -10
- package/plugins/columnSorting/utils.js +9 -34
- package/plugins/columnSorting/utils.mjs +9 -15
- package/plugins/columnSummary/columnSummary.js +52 -118
- package/plugins/columnSummary/columnSummary.mjs +52 -93
- package/plugins/columnSummary/endpoints.js +21 -98
- package/plugins/columnSummary/endpoints.mjs +26 -99
- package/plugins/columnSummary/index.js +0 -2
- package/plugins/columnSummary/utils.js +0 -1
- package/plugins/comments/commentEditor.js +16 -28
- package/plugins/comments/commentEditor.mjs +21 -32
- package/plugins/comments/comments.js +92 -175
- package/plugins/comments/comments.mjs +92 -149
- package/plugins/comments/displaySwitch.js +6 -23
- package/plugins/comments/displaySwitch.mjs +6 -18
- package/plugins/comments/index.js +0 -2
- package/plugins/contextMenu/commandExecutor.js +9 -36
- package/plugins/contextMenu/commandExecutor.mjs +14 -39
- package/plugins/contextMenu/contextMenu.js +21 -104
- package/plugins/contextMenu/contextMenu.mjs +21 -74
- package/plugins/contextMenu/cursor.js +6 -20
- package/plugins/contextMenu/cursor.mjs +11 -24
- package/plugins/contextMenu/index.js +0 -2
- package/plugins/contextMenu/itemsFactory.js +14 -43
- package/plugins/contextMenu/itemsFactory.mjs +19 -44
- package/plugins/contextMenu/menu.js +57 -177
- package/plugins/contextMenu/menu.mjs +57 -149
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
- package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
- package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
- package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
- package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
- package/plugins/contextMenu/predefinedItems/redo.js +1 -16
- package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +3 -38
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -18
- package/plugins/contextMenu/predefinedItems/removeRow.js +3 -37
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -17
- package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
- package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/separator.js +1 -2
- package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -16
- package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems.js +2 -48
- package/plugins/contextMenu/predefinedItems.mjs +2 -7
- package/plugins/contextMenu/utils.js +17 -57
- package/plugins/contextMenu/utils.mjs +21 -39
- package/plugins/copyPaste/clipboardData.js +1 -10
- package/plugins/copyPaste/clipboardData.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copy.js +2 -17
- package/plugins/copyPaste/contextMenuItem/copy.mjs +6 -9
- package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
- package/plugins/copyPaste/contextMenuItem/cut.mjs +6 -9
- package/plugins/copyPaste/copyPaste.js +51 -185
- package/plugins/copyPaste/copyPaste.mjs +51 -144
- package/plugins/copyPaste/focusableElement.js +12 -56
- package/plugins/copyPaste/focusableElement.mjs +15 -49
- package/plugins/copyPaste/index.js +0 -2
- package/plugins/copyPaste/pasteEvent.js +1 -10
- package/plugins/copyPaste/pasteEvent.mjs +3 -10
- package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
- package/plugins/customBorders/contextMenuItem/bottom.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/index.js +0 -11
- package/plugins/customBorders/contextMenuItem/left.js +0 -17
- package/plugins/customBorders/contextMenuItem/left.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
- package/plugins/customBorders/contextMenuItem/noBorders.mjs +4 -6
- package/plugins/customBorders/contextMenuItem/right.js +0 -17
- package/plugins/customBorders/contextMenuItem/right.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/top.js +0 -17
- package/plugins/customBorders/contextMenuItem/top.mjs +4 -8
- package/plugins/customBorders/customBorders.js +52 -181
- package/plugins/customBorders/customBorders.mjs +52 -147
- package/plugins/customBorders/index.js +0 -2
- package/plugins/customBorders/utils.js +13 -52
- package/plugins/customBorders/utils.mjs +20 -39
- package/plugins/dragToScroll/dragToScroll.js +17 -74
- package/plugins/dragToScroll/dragToScroll.mjs +17 -55
- package/plugins/dragToScroll/index.js +0 -2
- package/plugins/dropdownMenu/dropdownMenu.js +43 -126
- package/plugins/dropdownMenu/dropdownMenu.mjs +43 -95
- package/plugins/dropdownMenu/index.js +0 -2
- package/plugins/exportFile/dataProvider.js +24 -69
- package/plugins/exportFile/dataProvider.mjs +26 -60
- package/plugins/exportFile/exportFile.js +48 -58
- package/plugins/exportFile/exportFile.mjs +48 -36
- package/plugins/exportFile/index.js +0 -2
- package/plugins/exportFile/typeFactory.js +1 -11
- package/plugins/exportFile/typeFactory.mjs +1 -4
- package/plugins/exportFile/types/_base.js +2 -16
- package/plugins/exportFile/types/_base.mjs +4 -16
- package/plugins/exportFile/types/csv.js +2 -50
- package/plugins/exportFile/types/csv.mjs +2 -29
- package/plugins/filters/component/_base.js +12 -32
- package/plugins/filters/component/_base.mjs +15 -30
- package/plugins/filters/component/actionBar.js +6 -55
- package/plugins/filters/component/actionBar.mjs +9 -38
- package/plugins/filters/component/condition.js +15 -94
- package/plugins/filters/component/condition.mjs +18 -67
- package/plugins/filters/component/operators.js +10 -68
- package/plugins/filters/component/operators.mjs +10 -45
- package/plugins/filters/component/value.js +16 -97
- package/plugins/filters/component/value.mjs +19 -70
- package/plugins/filters/condition/beginsWith.js +2 -32
- package/plugins/filters/condition/beginsWith.mjs +2 -10
- package/plugins/filters/condition/between.js +3 -37
- package/plugins/filters/condition/between.mjs +3 -15
- package/plugins/filters/condition/byValue.js +3 -27
- package/plugins/filters/condition/byValue.mjs +3 -12
- package/plugins/filters/condition/contains.js +2 -32
- package/plugins/filters/condition/contains.mjs +2 -10
- package/plugins/filters/condition/date/after.js +2 -34
- package/plugins/filters/condition/date/after.mjs +2 -12
- package/plugins/filters/condition/date/before.js +2 -34
- package/plugins/filters/condition/date/before.mjs +2 -12
- package/plugins/filters/condition/date/today.js +1 -22
- package/plugins/filters/condition/date/today.mjs +1 -3
- package/plugins/filters/condition/date/tomorrow.js +1 -22
- package/plugins/filters/condition/date/tomorrow.mjs +1 -3
- package/plugins/filters/condition/date/yesterday.js +1 -22
- package/plugins/filters/condition/date/yesterday.mjs +1 -3
- package/plugins/filters/condition/empty.js +1 -19
- package/plugins/filters/condition/empty.mjs +1 -1
- package/plugins/filters/condition/endsWith.js +2 -32
- package/plugins/filters/condition/endsWith.mjs +2 -10
- package/plugins/filters/condition/equal.js +2 -31
- package/plugins/filters/condition/equal.mjs +2 -10
- package/plugins/filters/condition/false.js +1 -5
- package/plugins/filters/condition/false.mjs +1 -1
- package/plugins/filters/condition/greaterThan.js +2 -32
- package/plugins/filters/condition/greaterThan.mjs +2 -12
- package/plugins/filters/condition/greaterThanOrEqual.js +2 -32
- package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/lessThan.js +2 -32
- package/plugins/filters/condition/lessThan.mjs +2 -12
- package/plugins/filters/condition/lessThanOrEqual.js +2 -32
- package/plugins/filters/condition/lessThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/none.js +1 -18
- package/plugins/filters/condition/none.mjs +1 -1
- package/plugins/filters/condition/notBetween.js +1 -19
- package/plugins/filters/condition/notBetween.mjs +1 -1
- package/plugins/filters/condition/notContains.js +1 -19
- package/plugins/filters/condition/notContains.mjs +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -19
- package/plugins/filters/condition/notEmpty.mjs +1 -1
- package/plugins/filters/condition/notEqual.js +1 -19
- package/plugins/filters/condition/notEqual.mjs +1 -1
- package/plugins/filters/condition/true.js +1 -5
- package/plugins/filters/condition/true.mjs +1 -1
- package/plugins/filters/conditionCollection.js +21 -80
- package/plugins/filters/conditionCollection.mjs +21 -57
- package/plugins/filters/conditionRegisterer.js +5 -14
- package/plugins/filters/conditionRegisterer.mjs +5 -9
- package/plugins/filters/conditionUpdateObserver.js +17 -57
- package/plugins/filters/conditionUpdateObserver.mjs +25 -53
- package/plugins/filters/constants.js +1 -66
- package/plugins/filters/constants.mjs +1 -8
- package/plugins/filters/dataFilter.js +4 -21
- package/plugins/filters/dataFilter.mjs +7 -23
- package/plugins/filters/filters.js +103 -208
- package/plugins/filters/filters.mjs +103 -163
- package/plugins/filters/index.js +0 -2
- package/plugins/filters/logicalOperationRegisterer.js +3 -9
- package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
- package/plugins/filters/logicalOperations/conjunction.js +2 -19
- package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunction.js +2 -19
- package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
- package/plugins/filters/ui/_base.js +12 -55
- package/plugins/filters/ui/_base.mjs +12 -35
- package/plugins/filters/ui/input.js +7 -52
- package/plugins/filters/ui/input.mjs +7 -34
- package/plugins/filters/ui/link.js +3 -43
- package/plugins/filters/ui/link.mjs +3 -25
- package/plugins/filters/ui/multipleSelect.js +26 -120
- package/plugins/filters/ui/multipleSelect.mjs +20 -76
- package/plugins/filters/ui/radioInput.js +6 -47
- package/plugins/filters/ui/radioInput.mjs +6 -30
- package/plugins/filters/ui/select.js +14 -76
- package/plugins/filters/ui/select.mjs +14 -52
- package/plugins/filters/utils.js +6 -39
- package/plugins/filters/utils.mjs +6 -23
- package/plugins/formulas/engine/register.js +24 -74
- package/plugins/formulas/engine/register.mjs +29 -51
- package/plugins/formulas/engine/settings.js +4 -24
- package/plugins/formulas/engine/settings.mjs +4 -12
- package/plugins/formulas/formulas.js +103 -295
- package/plugins/formulas/formulas.mjs +104 -248
- package/plugins/formulas/index.js +0 -2
- package/plugins/formulas/utils.js +1 -3
- package/plugins/formulas/utils.mjs +1 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +4 -38
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +8 -25
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +21 -29
- package/plugins/hiddenColumns/hiddenColumns.js +72 -149
- package/plugins/hiddenColumns/hiddenColumns.mjs +72 -108
- package/plugins/hiddenColumns/index.js +0 -2
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +4 -38
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +8 -25
- package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +21 -29
- package/plugins/hiddenRows/hiddenRows.js +70 -148
- package/plugins/hiddenRows/hiddenRows.mjs +70 -107
- package/plugins/hiddenRows/index.js +0 -2
- package/plugins/index.js +0 -71
- package/plugins/index.mjs +3 -5
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/index.js +0 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +21 -78
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +21 -54
- package/plugins/manualColumnMove/index.js +0 -2
- package/plugins/manualColumnMove/manualColumnMove.js +45 -134
- package/plugins/manualColumnMove/manualColumnMove.mjs +45 -106
- package/plugins/manualColumnMove/ui/_base.js +12 -30
- package/plugins/manualColumnMove/ui/_base.mjs +12 -27
- package/plugins/manualColumnMove/ui/backlight.js +1 -37
- package/plugins/manualColumnMove/ui/backlight.mjs +1 -22
- package/plugins/manualColumnMove/ui/guideline.js +1 -37
- package/plugins/manualColumnMove/ui/guideline.mjs +1 -22
- package/plugins/manualColumnResize/index.js +0 -2
- package/plugins/manualColumnResize/manualColumnResize.js +44 -143
- package/plugins/manualColumnResize/manualColumnResize.mjs +43 -118
- package/plugins/manualRowMove/index.js +0 -2
- package/plugins/manualRowMove/manualRowMove.js +45 -137
- package/plugins/manualRowMove/manualRowMove.mjs +45 -109
- package/plugins/manualRowMove/ui/_base.js +12 -27
- package/plugins/manualRowMove/ui/_base.mjs +12 -26
- package/plugins/manualRowMove/ui/backlight.js +1 -37
- package/plugins/manualRowMove/ui/backlight.mjs +1 -22
- package/plugins/manualRowMove/ui/guideline.js +1 -37
- package/plugins/manualRowMove/ui/guideline.mjs +1 -22
- package/plugins/manualRowResize/index.js +0 -2
- package/plugins/manualRowResize/manualRowResize.js +42 -138
- package/plugins/manualRowResize/manualRowResize.mjs +41 -112
- package/plugins/mergeCells/calculations/autofill.js +39 -130
- package/plugins/mergeCells/calculations/autofill.mjs +44 -122
- package/plugins/mergeCells/calculations/selection.js +9 -40
- package/plugins/mergeCells/calculations/selection.mjs +9 -37
- package/plugins/mergeCells/cellCoords.js +30 -51
- package/plugins/mergeCells/cellCoords.mjs +35 -54
- package/plugins/mergeCells/cellsCollection.js +13 -84
- package/plugins/mergeCells/cellsCollection.mjs +18 -69
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +4 -11
- package/plugins/mergeCells/index.js +0 -2
- package/plugins/mergeCells/mergeCells.js +130 -333
- package/plugins/mergeCells/mergeCells.mjs +130 -292
- package/plugins/mergeCells/utils.js +0 -3
- package/plugins/mergeCells/utils.mjs +0 -1
- package/plugins/multiColumnSorting/domHelpers.js +2 -12
- package/plugins/multiColumnSorting/domHelpers.mjs +2 -5
- package/plugins/multiColumnSorting/index.js +0 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +14 -66
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +14 -44
- package/plugins/multiColumnSorting/rootComparator.js +2 -26
- package/plugins/multiColumnSorting/rootComparator.mjs +9 -23
- package/plugins/multiColumnSorting/utils.js +0 -7
- package/plugins/multiColumnSorting/utils.mjs +3 -8
- package/plugins/multipleSelectionHandles/index.js +0 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +6 -109
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +6 -87
- package/plugins/nestedHeaders/index.js +0 -2
- package/plugins/nestedHeaders/nestedHeaders.js +79 -200
- package/plugins/nestedHeaders/nestedHeaders.mjs +80 -173
- package/plugins/nestedHeaders/stateManager/headersTree.js +16 -93
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +16 -73
- package/plugins/nestedHeaders/stateManager/index.js +24 -107
- package/plugins/nestedHeaders/stateManager/index.mjs +51 -115
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +38 -51
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +29 -35
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +26 -32
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +9 -20
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -5
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +9 -21
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +44 -61
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +16 -78
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +21 -68
- package/plugins/nestedHeaders/stateManager/utils.js +19 -22
- package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
- package/plugins/nestedHeaders/utils/ghostTable.js +9 -37
- package/plugins/nestedHeaders/utils/ghostTable.mjs +16 -43
- package/plugins/nestedRows/data/dataManager.js +40 -161
- package/plugins/nestedRows/data/dataManager.mjs +44 -148
- package/plugins/nestedRows/index.js +0 -2
- package/plugins/nestedRows/nestedRows.js +40 -118
- package/plugins/nestedRows/nestedRows.mjs +40 -85
- package/plugins/nestedRows/ui/_base.js +1 -9
- package/plugins/nestedRows/ui/_base.mjs +1 -8
- package/plugins/nestedRows/ui/collapsing.js +28 -134
- package/plugins/nestedRows/ui/collapsing.mjs +34 -118
- package/plugins/nestedRows/ui/contextMenu.js +2 -53
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -32
- package/plugins/nestedRows/ui/headers.js +5 -50
- package/plugins/nestedRows/ui/headers.mjs +11 -41
- package/plugins/nestedRows/utils/rowMoveController.js +28 -78
- package/plugins/nestedRows/utils/rowMoveController.mjs +33 -66
- package/plugins/persistentState/index.js +0 -2
- package/plugins/persistentState/persistentState.js +10 -58
- package/plugins/persistentState/persistentState.mjs +10 -37
- package/plugins/persistentState/storage.js +9 -25
- package/plugins/persistentState/storage.mjs +12 -26
- package/plugins/registry.js +7 -51
- package/plugins/registry.mjs +8 -34
- package/plugins/search/index.js +0 -2
- package/plugins/search/search.js +16 -96
- package/plugins/search/search.mjs +16 -67
- package/plugins/touchScroll/index.js +0 -2
- package/plugins/touchScroll/touchScroll.js +15 -76
- package/plugins/touchScroll/touchScroll.mjs +15 -58
- package/plugins/trimRows/index.js +0 -2
- package/plugins/trimRows/trimRows.js +59 -85
- package/plugins/trimRows/trimRows.mjs +59 -62
- package/plugins/undoRedo/index.js +0 -14
- package/plugins/undoRedo/undoRedo.js +48 -218
- package/plugins/undoRedo/undoRedo.mjs +48 -188
- package/registry.js +0 -11
- package/registry.mjs +2 -4
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
- package/renderers/autocompleteRenderer/index.js +0 -2
- package/renderers/baseRenderer/baseRenderer.js +2 -11
- package/renderers/baseRenderer/baseRenderer.mjs +2 -9
- package/renderers/baseRenderer/index.js +0 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
- package/renderers/checkboxRenderer/index.js +0 -2
- package/renderers/htmlRenderer/htmlRenderer.js +1 -7
- package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
- package/renderers/htmlRenderer/index.js +0 -2
- package/renderers/index.js +0 -19
- package/renderers/index.mjs +3 -5
- package/renderers/numericRenderer/index.js +0 -2
- package/renderers/numericRenderer/numericRenderer.js +1 -21
- package/renderers/numericRenderer/numericRenderer.mjs +1 -9
- package/renderers/passwordRenderer/index.js +0 -2
- package/renderers/passwordRenderer/passwordRenderer.js +1 -8
- package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
- package/renderers/registry.js +7 -16
- package/renderers/registry.mjs +7 -14
- package/renderers/textRenderer/index.js +0 -2
- package/renderers/textRenderer/textRenderer.js +1 -13
- package/renderers/textRenderer/textRenderer.mjs +1 -5
- package/renderers/timeRenderer/index.js +0 -2
- package/renderers/timeRenderer/timeRenderer.js +1 -6
- package/renderers/timeRenderer/timeRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +17 -73
- package/selection/highlight/highlight.mjs +31 -64
- package/selection/highlight/types/activeHeader.js +1 -21
- package/selection/highlight/types/activeHeader.mjs +6 -16
- package/selection/highlight/types/area.js +2 -22
- package/selection/highlight/types/area.mjs +10 -20
- package/selection/highlight/types/cell.js +1 -21
- package/selection/highlight/types/cell.mjs +9 -19
- package/selection/highlight/types/customSelection.js +2 -22
- package/selection/highlight/types/customSelection.mjs +11 -21
- package/selection/highlight/types/fill.js +2 -17
- package/selection/highlight/types/fill.mjs +9 -14
- package/selection/highlight/types/header.js +3 -23
- package/selection/highlight/types/header.mjs +13 -23
- package/selection/highlight/types/index.js +3 -24
- package/selection/highlight/types/index.mjs +3 -10
- package/selection/highlight/visualSelection.js +24 -74
- package/selection/highlight/visualSelection.mjs +24 -62
- package/selection/index.js +0 -14
- package/selection/mouseEventHandler.js +19 -30
- package/selection/mouseEventHandler.mjs +32 -36
- package/selection/range.js +11 -31
- package/selection/range.mjs +11 -22
- package/selection/selection.js +62 -157
- package/selection/selection.mjs +65 -132
- package/selection/transformation.js +10 -40
- package/selection/transformation.mjs +18 -45
- package/selection/utils.js +22 -70
- package/selection/utils.mjs +22 -47
- package/shortcuts/context.js +23 -78
- package/shortcuts/context.mjs +23 -55
- package/shortcuts/index.js +0 -2
- package/shortcuts/keyObserver.js +4 -17
- package/shortcuts/keyObserver.mjs +4 -12
- package/shortcuts/manager.js +16 -36
- package/shortcuts/manager.mjs +16 -33
- package/shortcuts/recorder.js +9 -40
- package/shortcuts/recorder.mjs +9 -31
- package/shortcuts/utils.js +5 -20
- package/shortcuts/utils.mjs +5 -6
- package/tableView.js +100 -270
- package/tableView.mjs +100 -248
- package/translations/changesObservable/observable.js +5 -54
- package/translations/changesObservable/observable.mjs +12 -51
- package/translations/changesObservable/observer.js +4 -32
- package/translations/changesObservable/observer.mjs +9 -29
- package/translations/changesObservable/utils.js +1 -5
- package/translations/changesObservable/utils.mjs +1 -4
- package/translations/index.js +0 -11
- package/translations/indexMapper.js +68 -156
- package/translations/indexMapper.mjs +68 -123
- package/translations/mapCollections/aggregatedCollection.js +9 -51
- package/translations/mapCollections/aggregatedCollection.mjs +12 -41
- package/translations/mapCollections/index.js +0 -7
- package/translations/mapCollections/mapCollection.js +10 -33
- package/translations/mapCollections/mapCollection.mjs +10 -22
- package/translations/maps/hidingMap.js +2 -35
- package/translations/maps/hidingMap.mjs +7 -28
- package/translations/maps/index.js +1 -24
- package/translations/maps/index.mjs +1 -3
- package/translations/maps/indexMap.js +12 -34
- package/translations/maps/indexMap.mjs +16 -32
- package/translations/maps/indexesSequence.js +3 -41
- package/translations/maps/indexesSequence.mjs +9 -32
- package/translations/maps/linkedPhysicalIndexToValueMap.js +9 -78
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +16 -59
- package/translations/maps/physicalIndexToValueMap.js +2 -39
- package/translations/maps/physicalIndexToValueMap.mjs +8 -31
- package/translations/maps/trimmingMap.js +2 -35
- package/translations/maps/trimmingMap.mjs +7 -28
- package/translations/maps/utils/actionsOnIndexes.js +1 -7
- package/translations/maps/utils/actionsOnIndexes.mjs +9 -12
- package/translations/maps/utils/index.js +0 -13
- package/translations/maps/utils/index.mjs +0 -3
- package/translations/maps/utils/indexesSequence.js +1 -24
- package/translations/maps/utils/indexesSequence.mjs +10 -19
- package/translations/maps/utils/physicallyIndexed.js +1 -27
- package/translations/maps/utils/physicallyIndexed.mjs +11 -21
- package/utils/dataStructures/linkedList.js +15 -56
- package/utils/dataStructures/linkedList.mjs +15 -54
- package/utils/dataStructures/priorityMap.js +8 -46
- package/utils/dataStructures/priorityMap.mjs +8 -29
- package/utils/dataStructures/queue.js +6 -17
- package/utils/dataStructures/queue.mjs +6 -16
- package/utils/dataStructures/stack.js +6 -17
- package/utils/dataStructures/stack.mjs +6 -16
- package/utils/dataStructures/tree.js +11 -75
- package/utils/dataStructures/tree.mjs +11 -54
- package/utils/dataStructures/uniqueMap.js +17 -56
- package/utils/dataStructures/uniqueMap.mjs +17 -42
- package/utils/dataStructures/uniqueSet.js +5 -32
- package/utils/dataStructures/uniqueSet.mjs +5 -19
- package/utils/ghostTable.js +33 -104
- package/utils/ghostTable.mjs +35 -92
- package/utils/interval.js +10 -37
- package/utils/interval.mjs +7 -29
- package/utils/parseTable.js +11 -92
- package/utils/parseTable.mjs +11 -62
- package/utils/rootInstance.js +3 -14
- package/utils/rootInstance.mjs +3 -3
- package/utils/samplesGenerator.js +15 -51
- package/utils/samplesGenerator.mjs +17 -44
- package/utils/staticRegister.js +6 -33
- package/utils/staticRegister.mjs +6 -19
- package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
- package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
- package/validators/autocompleteValidator/index.js +0 -2
- package/validators/dateValidator/dateValidator.js +2 -21
- package/validators/dateValidator/dateValidator.mjs +2 -11
- package/validators/dateValidator/index.js +0 -2
- package/validators/index.js +0 -11
- package/validators/index.mjs +3 -5
- package/validators/numericValidator/index.js +0 -2
- package/validators/numericValidator/numericValidator.js +1 -7
- package/validators/numericValidator/numericValidator.mjs +1 -3
- package/validators/registry.js +7 -16
- package/validators/registry.mjs +7 -14
- package/validators/timeValidator/index.js +0 -2
- package/validators/timeValidator/timeValidator.js +6 -18
- package/validators/timeValidator/timeValidator.mjs +8 -13
@@ -1,80 +1,43 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
require("core-js/modules/es.symbol.js");
|
4
|
-
|
5
4
|
require("core-js/modules/es.symbol.description.js");
|
6
|
-
|
7
5
|
require("core-js/modules/es.symbol.iterator.js");
|
8
|
-
|
9
6
|
require("core-js/modules/es.array.iterator.js");
|
10
|
-
|
11
7
|
require("core-js/modules/web.dom-collections.iterator.js");
|
12
|
-
|
13
8
|
require("core-js/modules/es.array.slice.js");
|
14
|
-
|
15
9
|
require("core-js/modules/es.regexp.exec.js");
|
16
|
-
|
17
10
|
exports.__esModule = true;
|
18
11
|
exports.default = void 0;
|
19
|
-
|
20
12
|
require("core-js/modules/es.function.name.js");
|
21
|
-
|
22
13
|
require("core-js/modules/es.array.from.js");
|
23
|
-
|
24
14
|
require("core-js/modules/es.string.iterator.js");
|
25
|
-
|
26
15
|
require("core-js/modules/es.array.includes.js");
|
27
|
-
|
28
16
|
require("core-js/modules/es.object.to-string.js");
|
29
|
-
|
30
17
|
require("core-js/modules/web.dom-collections.for-each.js");
|
31
|
-
|
32
18
|
var _element = require("../../../helpers/dom/element");
|
33
|
-
|
34
19
|
var _function = require("../../../helpers/function");
|
35
|
-
|
36
20
|
var _column = _interopRequireDefault(require("./filter/column"));
|
37
|
-
|
38
21
|
var _row = _interopRequireDefault(require("./filter/row"));
|
39
|
-
|
40
22
|
var _renderer = require("./renderer");
|
41
|
-
|
42
23
|
var _column2 = _interopRequireDefault(require("./utils/column"));
|
43
|
-
|
44
24
|
var _row2 = _interopRequireDefault(require("./utils/row"));
|
45
|
-
|
46
25
|
var _overlay = require("./overlay");
|
47
|
-
|
48
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
49
|
-
|
50
27
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
51
|
-
|
52
28
|
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."); }
|
53
|
-
|
54
29
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
55
|
-
|
56
30
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
57
|
-
|
58
31
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
59
|
-
|
60
32
|
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."); }
|
61
|
-
|
62
33
|
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); }
|
63
|
-
|
64
34
|
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; }
|
65
|
-
|
66
35
|
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; }
|
67
|
-
|
68
36
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
69
|
-
|
70
37
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
71
|
-
|
72
38
|
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); } }
|
73
|
-
|
74
39
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
75
|
-
|
76
40
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
77
|
-
|
78
41
|
/**
|
79
42
|
* @todo These mixes are never added to the class Table, however their members are used here.
|
80
43
|
* @todo Continue: Potentially it works only, because some of these mixes are added to every inherited class.
|
@@ -85,8 +48,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
85
48
|
* @mixes calculatedRows
|
86
49
|
* @mixes calculatedColumns
|
87
50
|
* @abstract
|
88
|
-
*/
|
89
|
-
var Table = /*#__PURE__*/function () {
|
51
|
+
*/var Table = /*#__PURE__*/function () {
|
90
52
|
/**
|
91
53
|
* The walkontable settings.
|
92
54
|
*
|
@@ -124,70 +86,55 @@ var Table = /*#__PURE__*/function () {
|
|
124
86
|
*/
|
125
87
|
function Table(dataAccessObject, facadeGetter, domBindings, wtSettings, name) {
|
126
88
|
var _this = this;
|
127
|
-
|
128
89
|
_classCallCheck(this, Table);
|
129
|
-
|
130
90
|
_defineProperty(this, "wtSettings", null);
|
131
|
-
|
132
91
|
_defineProperty(this, "domBindings", void 0);
|
133
|
-
|
134
92
|
_defineProperty(this, "TBODY", null);
|
135
|
-
|
136
93
|
_defineProperty(this, "THEAD", null);
|
137
|
-
|
138
94
|
_defineProperty(this, "COLGROUP", null);
|
139
|
-
|
140
95
|
_defineProperty(this, "hasTableHeight", true);
|
141
|
-
|
142
96
|
_defineProperty(this, "hasTableWidth", true);
|
143
|
-
|
144
97
|
_defineProperty(this, "isTableVisible", false);
|
145
|
-
|
146
98
|
_defineProperty(this, "tableOffset", 0);
|
147
|
-
|
148
99
|
_defineProperty(this, "holderOffset", 0);
|
149
|
-
|
150
100
|
this.domBindings = domBindings;
|
151
101
|
/**
|
152
102
|
* Indicates if this instance is of type `MasterTable` (i.e. It is NOT an overlay).
|
153
103
|
*
|
154
104
|
* @type {boolean}
|
155
105
|
*/
|
156
|
-
|
157
106
|
this.isMaster = name === 'master';
|
158
107
|
this.name = name;
|
159
108
|
this.dataAccessObject = dataAccessObject;
|
160
109
|
this.facadeGetter = facadeGetter;
|
161
|
-
this.wtSettings = wtSettings;
|
110
|
+
this.wtSettings = wtSettings;
|
162
111
|
|
112
|
+
// legacy support
|
163
113
|
this.instance = this.dataAccessObject.wot; // TODO refactoring: it might be removed here, and provides legacy support through facade.
|
164
|
-
|
165
114
|
this.wot = this.dataAccessObject.wot;
|
166
115
|
this.TABLE = domBindings.rootTable;
|
167
|
-
(0, _element.removeTextNodes)(this.TABLE);
|
116
|
+
(0, _element.removeTextNodes)(this.TABLE);
|
168
117
|
|
118
|
+
// TODO refactoring, to recognize the legitimacy of moving them into domBidings
|
169
119
|
this.spreader = this.createSpreader(this.TABLE);
|
170
120
|
this.hider = this.createHider(this.spreader);
|
171
121
|
this.holder = this.createHolder(this.hider);
|
172
122
|
this.wtRootElement = this.holder.parentNode;
|
173
|
-
|
174
123
|
if (this.isMaster) {
|
175
124
|
this.alignOverlaysWithTrimmingContainer(); // todo wow, It calls method from child class (MasterTable).
|
176
125
|
}
|
177
126
|
|
178
127
|
this.fixTableDomTree();
|
179
128
|
this.rowFilter = null; // TODO refactoring, eliminate all (re)creations of this object, then updates state when needed.
|
180
|
-
|
181
129
|
this.columnFilter = null; // TODO refactoring, eliminate all (re)creations of this object, then updates state when needed.
|
182
|
-
|
183
130
|
this.correctHeaderWidth = false;
|
184
|
-
var origRowHeaderWidth = this.wtSettings.getSettingPure('rowHeaderWidth');
|
131
|
+
var origRowHeaderWidth = this.wtSettings.getSettingPure('rowHeaderWidth');
|
185
132
|
|
133
|
+
// Fix for jumping row headers (https://github.com/handsontable/handsontable/issues/3850)
|
186
134
|
this.wtSettings.update('rowHeaderWidth', function () {
|
187
135
|
return _this._modifyRowHeaderWidth(origRowHeaderWidth);
|
188
136
|
});
|
189
137
|
this.rowUtils = new _row2.default(this.dataAccessObject, this.wtSettings); // TODO refactoring, It can be passed through IOC.
|
190
|
-
|
191
138
|
this.columnUtils = new _column2.default(this.dataAccessObject, this.wtSettings); // TODO refactoring, It can be passed through IOC.
|
192
139
|
|
193
140
|
this.tableRenderer = new _renderer.Renderer({
|
@@ -201,6 +148,7 @@ var Table = /*#__PURE__*/function () {
|
|
201
148
|
cellRenderer: this.wtSettings.getSettingPure('cellRenderer')
|
202
149
|
});
|
203
150
|
}
|
151
|
+
|
204
152
|
/**
|
205
153
|
* Returns a boolean that is true if this Table represents a specific overlay, identified by the overlay name.
|
206
154
|
* For MasterTable, it returns false.
|
@@ -208,126 +156,107 @@ var Table = /*#__PURE__*/function () {
|
|
208
156
|
* @param {string} overlayTypeName The overlay type.
|
209
157
|
* @returns {boolean}
|
210
158
|
*/
|
211
|
-
|
212
|
-
|
213
159
|
_createClass(Table, [{
|
214
160
|
key: "is",
|
215
161
|
value: function is(overlayTypeName) {
|
216
162
|
// todo refactoring: eliminate all protected and private usages
|
217
163
|
return this.name === overlayTypeName;
|
218
164
|
}
|
165
|
+
|
219
166
|
/**
|
220
167
|
*
|
221
168
|
*/
|
222
|
-
|
223
169
|
}, {
|
224
170
|
key: "fixTableDomTree",
|
225
171
|
value: function fixTableDomTree() {
|
226
172
|
var rootDocument = this.domBindings.rootDocument;
|
227
173
|
this.TBODY = this.TABLE.querySelector('tbody');
|
228
|
-
|
229
174
|
if (!this.TBODY) {
|
230
175
|
this.TBODY = rootDocument.createElement('tbody');
|
231
176
|
this.TABLE.appendChild(this.TBODY);
|
232
177
|
}
|
233
|
-
|
234
178
|
this.THEAD = this.TABLE.querySelector('thead');
|
235
|
-
|
236
179
|
if (!this.THEAD) {
|
237
180
|
this.THEAD = rootDocument.createElement('thead');
|
238
181
|
this.TABLE.insertBefore(this.THEAD, this.TBODY);
|
239
182
|
}
|
240
|
-
|
241
183
|
this.COLGROUP = this.TABLE.querySelector('colgroup');
|
242
|
-
|
243
184
|
if (!this.COLGROUP) {
|
244
185
|
this.COLGROUP = rootDocument.createElement('colgroup');
|
245
186
|
this.TABLE.insertBefore(this.COLGROUP, this.THEAD);
|
246
187
|
}
|
247
188
|
}
|
189
|
+
|
248
190
|
/**
|
249
191
|
* @param {HTMLTableElement} table An element to process.
|
250
192
|
* @returns {HTMLElement}
|
251
193
|
*/
|
252
|
-
|
253
194
|
}, {
|
254
195
|
key: "createSpreader",
|
255
196
|
value: function createSpreader(table) {
|
256
197
|
var parent = table.parentNode;
|
257
198
|
var spreader;
|
258
|
-
|
259
199
|
if (!parent || parent.nodeType !== Node.ELEMENT_NODE || !(0, _element.hasClass)(parent, 'wtHolder')) {
|
260
200
|
spreader = this.domBindings.rootDocument.createElement('div');
|
261
201
|
spreader.className = 'wtSpreader';
|
262
|
-
|
263
202
|
if (parent) {
|
264
203
|
// if TABLE is detached (e.g. in Jasmine test), it has no parentNode so we cannot attach holder to it
|
265
204
|
parent.insertBefore(spreader, table);
|
266
205
|
}
|
267
|
-
|
268
206
|
spreader.appendChild(table);
|
269
207
|
}
|
270
|
-
|
271
208
|
spreader.style.position = 'relative';
|
272
209
|
return spreader;
|
273
210
|
}
|
211
|
+
|
274
212
|
/**
|
275
213
|
* @param {HTMLElement} spreader An element to the hider element is injected.
|
276
214
|
* @returns {HTMLElement}
|
277
215
|
*/
|
278
|
-
|
279
216
|
}, {
|
280
217
|
key: "createHider",
|
281
218
|
value: function createHider(spreader) {
|
282
219
|
var parent = spreader.parentNode;
|
283
220
|
var hider;
|
284
|
-
|
285
221
|
if (!parent || parent.nodeType !== Node.ELEMENT_NODE || !(0, _element.hasClass)(parent, 'wtHolder')) {
|
286
222
|
hider = this.domBindings.rootDocument.createElement('div');
|
287
223
|
hider.className = 'wtHider';
|
288
|
-
|
289
224
|
if (parent) {
|
290
225
|
// if TABLE is detached (e.g. in Jasmine test), it has no parentNode so we cannot attach holder to it
|
291
226
|
parent.insertBefore(hider, spreader);
|
292
227
|
}
|
293
|
-
|
294
228
|
hider.appendChild(spreader);
|
295
229
|
}
|
296
|
-
|
297
230
|
return hider;
|
298
231
|
}
|
232
|
+
|
299
233
|
/**
|
300
234
|
*
|
301
235
|
* @param {HTMLElement} hider An element to the holder element is injected.
|
302
236
|
* @returns {HTMLElement}
|
303
237
|
*/
|
304
|
-
|
305
238
|
}, {
|
306
239
|
key: "createHolder",
|
307
240
|
value: function createHolder(hider) {
|
308
241
|
var parent = hider.parentNode;
|
309
242
|
var holder;
|
310
|
-
|
311
243
|
if (!parent || parent.nodeType !== Node.ELEMENT_NODE || !(0, _element.hasClass)(parent, 'wtHolder')) {
|
312
244
|
holder = this.domBindings.rootDocument.createElement('div');
|
313
245
|
holder.style.position = 'relative';
|
314
246
|
holder.className = 'wtHolder';
|
315
|
-
|
316
247
|
if (parent) {
|
317
248
|
// if TABLE is detached (e.g. in Jasmine test), it has no parentNode so we cannot attach holder to it
|
318
249
|
parent.insertBefore(holder, hider);
|
319
250
|
}
|
320
|
-
|
321
251
|
if (this.isMaster) {
|
322
252
|
holder.parentNode.className += 'ht_master handsontable';
|
323
253
|
holder.parentNode.setAttribute('dir', this.wtSettings.getSettingPure('rtlMode') ? 'rtl' : 'ltr');
|
324
254
|
}
|
325
|
-
|
326
255
|
holder.appendChild(hider);
|
327
256
|
}
|
328
|
-
|
329
257
|
return holder;
|
330
258
|
}
|
259
|
+
|
331
260
|
/**
|
332
261
|
* Redraws the table.
|
333
262
|
*
|
@@ -335,15 +264,14 @@ var Table = /*#__PURE__*/function () {
|
|
335
264
|
* If FALSE or UNDEFINED, will perform a full redraw.
|
336
265
|
* @returns {Table}
|
337
266
|
*/
|
338
|
-
|
339
267
|
}, {
|
340
268
|
key: "draw",
|
341
269
|
value: function draw() {
|
342
270
|
var fastDraw = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
343
271
|
var wtSettings = this.wtSettings;
|
344
272
|
var _this$dataAccessObjec = this.dataAccessObject,
|
345
|
-
|
346
|
-
|
273
|
+
wtOverlays = _this$dataAccessObjec.wtOverlays,
|
274
|
+
wtViewport = _this$dataAccessObjec.wtViewport;
|
347
275
|
var totalRows = wtSettings.getSetting('totalRows');
|
348
276
|
var totalColumns = wtSettings.getSetting('totalColumns');
|
349
277
|
var rowHeaders = wtSettings.getSetting('rowHeaders');
|
@@ -352,32 +280,26 @@ var Table = /*#__PURE__*/function () {
|
|
352
280
|
var columnHeadersCount = columnHeaders.length;
|
353
281
|
var syncScroll = false;
|
354
282
|
var runFastDraw = fastDraw;
|
355
|
-
|
356
283
|
if (this.isMaster) {
|
357
284
|
this.holderOffset = (0, _element.offset)(this.holder);
|
358
285
|
runFastDraw = wtViewport.createRenderCalculators(runFastDraw);
|
359
|
-
|
360
286
|
if (rowHeadersCount && !wtSettings.getSetting('fixedColumnsStart')) {
|
361
287
|
var leftScrollPos = wtOverlays.inlineStartOverlay.getScrollPosition();
|
362
288
|
var previousState = this.correctHeaderWidth;
|
363
289
|
this.correctHeaderWidth = leftScrollPos !== 0;
|
364
|
-
|
365
290
|
if (previousState !== this.correctHeaderWidth) {
|
366
291
|
runFastDraw = false;
|
367
292
|
}
|
368
293
|
}
|
369
294
|
}
|
370
|
-
|
371
295
|
if (this.isMaster) {
|
372
296
|
syncScroll = wtOverlays.updateStateOfRendering();
|
373
297
|
}
|
374
|
-
|
375
298
|
if (runFastDraw) {
|
376
299
|
if (this.isMaster) {
|
377
300
|
// in case we only scrolled without redraw, update visible rows information in oldRowsCalculator
|
378
301
|
wtViewport.createVisibleCalculators();
|
379
302
|
}
|
380
|
-
|
381
303
|
if (wtOverlays) {
|
382
304
|
wtOverlays.refresh(true);
|
383
305
|
}
|
@@ -387,114 +309,93 @@ var Table = /*#__PURE__*/function () {
|
|
387
309
|
} else {
|
388
310
|
this.tableOffset = this.dataAccessObject.parentTableOffset;
|
389
311
|
}
|
390
|
-
|
391
312
|
var startRow = totalRows > 0 ? this.getFirstRenderedRow() : 0;
|
392
313
|
var startColumn = totalColumns > 0 ? this.getFirstRenderedColumn() : 0;
|
393
314
|
this.rowFilter = new _row.default(startRow, totalRows, columnHeadersCount);
|
394
315
|
this.columnFilter = new _column.default(startColumn, totalColumns, rowHeadersCount);
|
395
|
-
var performRedraw = true;
|
316
|
+
var performRedraw = true;
|
396
317
|
|
318
|
+
// Only master table rendering can be skipped
|
397
319
|
if (this.isMaster) {
|
398
320
|
this.alignOverlaysWithTrimmingContainer(); // todo It calls method from child class (MasterTable).
|
399
|
-
|
400
321
|
var skipRender = {};
|
401
322
|
this.wtSettings.getSetting('beforeDraw', true, skipRender);
|
402
323
|
performRedraw = skipRender.skipRender !== true;
|
403
324
|
}
|
404
|
-
|
405
325
|
if (performRedraw) {
|
406
326
|
this.tableRenderer.setHeaderContentRenderers(rowHeaders, columnHeaders);
|
407
|
-
|
408
327
|
if (this.is(_overlay.CLONE_BOTTOM) || this.is(_overlay.CLONE_BOTTOM_INLINE_START_CORNER)) {
|
409
328
|
// do NOT render headers on the bottom or bottom-left corner overlay
|
410
329
|
this.tableRenderer.setHeaderContentRenderers(rowHeaders, []);
|
411
330
|
}
|
412
|
-
|
413
331
|
this.resetOversizedRows();
|
414
332
|
this.tableRenderer.setViewportSize(this.getRenderedRowsCount(), this.getRenderedColumnsCount()).setFilters(this.rowFilter, this.columnFilter).render();
|
415
333
|
var workspaceWidth;
|
416
|
-
|
417
334
|
if (this.isMaster) {
|
418
335
|
workspaceWidth = this.dataAccessObject.workspaceWidth;
|
419
336
|
this.dataAccessObject.wtViewport.containerWidth = null;
|
420
337
|
this.markOversizedColumnHeaders();
|
421
338
|
}
|
422
|
-
|
423
339
|
this.adjustColumnHeaderHeights();
|
424
|
-
|
425
340
|
if (this.isMaster || this.is(_overlay.CLONE_BOTTOM)) {
|
426
341
|
this.markOversizedRows();
|
427
342
|
}
|
428
|
-
|
429
343
|
if (this.isMaster) {
|
430
344
|
this.dataAccessObject.wtViewport.createVisibleCalculators();
|
431
345
|
this.dataAccessObject.wtOverlays.refresh(false);
|
432
346
|
this.dataAccessObject.wtOverlays.applyToDOM();
|
433
347
|
var hiderWidth = (0, _element.outerWidth)(this.hider);
|
434
348
|
var tableWidth = (0, _element.outerWidth)(this.TABLE);
|
435
|
-
|
436
349
|
if (hiderWidth !== 0 && tableWidth !== hiderWidth) {
|
437
350
|
// Recalculate the column widths, if width changes made in the overlays removed the scrollbar, thus changing the viewport width.
|
438
351
|
this.columnUtils.calculateWidths();
|
439
352
|
this.tableRenderer.renderer.colGroup.render();
|
440
353
|
}
|
441
|
-
|
442
354
|
if (workspaceWidth !== this.dataAccessObject.wtViewport.getWorkspaceWidth()) {
|
443
355
|
// workspace width changed though to shown/hidden vertical scrollbar. Let's reapply stretching
|
444
356
|
this.dataAccessObject.wtViewport.containerWidth = null;
|
445
357
|
this.columnUtils.calculateWidths();
|
446
358
|
this.tableRenderer.renderer.colGroup.render();
|
447
359
|
}
|
448
|
-
|
449
360
|
this.wtSettings.getSetting('onDraw', true);
|
450
361
|
} else if (this.is(_overlay.CLONE_BOTTOM)) {
|
451
362
|
this.dataAccessObject.cloneSource.wtOverlays.adjustElementsSize();
|
452
363
|
}
|
453
364
|
}
|
454
365
|
}
|
455
|
-
|
456
366
|
var positionChanged = false;
|
457
|
-
|
458
367
|
if (this.isMaster) {
|
459
368
|
positionChanged = wtOverlays.topOverlay.resetFixedPosition();
|
460
|
-
|
461
369
|
if (wtOverlays.bottomOverlay.clone) {
|
462
370
|
positionChanged = wtOverlays.bottomOverlay.resetFixedPosition() || positionChanged;
|
463
371
|
}
|
464
|
-
|
465
372
|
positionChanged = wtOverlays.inlineStartOverlay.resetFixedPosition() || positionChanged;
|
466
|
-
|
467
373
|
if (wtOverlays.topInlineStartCornerOverlay) {
|
468
374
|
wtOverlays.topInlineStartCornerOverlay.resetFixedPosition();
|
469
375
|
}
|
470
|
-
|
471
376
|
if (wtOverlays.bottomInlineStartCornerOverlay && wtOverlays.bottomInlineStartCornerOverlay.clone) {
|
472
377
|
wtOverlays.bottomInlineStartCornerOverlay.resetFixedPosition();
|
473
378
|
}
|
474
379
|
}
|
475
|
-
|
476
380
|
if (positionChanged) {
|
477
381
|
// It refreshes the cells borders caused by a 1px shift (introduced by overlays which add or
|
478
382
|
// remove `innerBorderTop` and `innerBorderInlineStart` CSS classes to the DOM element. This happens
|
479
383
|
// when there is a switch between rendering from 0 to N rows/columns and vice versa).
|
480
384
|
wtOverlays.refreshAll(); // `refreshAll()` internally already calls `refreshSelections()` method
|
481
|
-
|
482
385
|
wtOverlays.adjustElementsSize();
|
483
386
|
} else {
|
484
387
|
this.refreshSelections(runFastDraw);
|
485
388
|
}
|
486
|
-
|
487
389
|
if (syncScroll) {
|
488
390
|
wtOverlays.syncScrollWithMaster();
|
489
391
|
}
|
490
|
-
|
491
392
|
this.dataAccessObject.drawn = true;
|
492
393
|
return this;
|
493
394
|
}
|
395
|
+
|
494
396
|
/**
|
495
397
|
* @param {number} col The visual column index.
|
496
398
|
*/
|
497
|
-
|
498
399
|
}, {
|
499
400
|
key: "markIfOversizedColumnHeader",
|
500
401
|
value: function markIfOversizedColumnHeader(col) {
|
@@ -505,23 +406,18 @@ var Table = /*#__PURE__*/function () {
|
|
505
406
|
var currentHeader;
|
506
407
|
var currentHeaderHeight;
|
507
408
|
var columnHeaderHeightSetting = this.wtSettings.getSetting('columnHeaderHeight') || [];
|
508
|
-
|
509
409
|
while (level) {
|
510
410
|
level -= 1;
|
511
411
|
previousColHeaderHeight = this.getColumnHeaderHeight(level);
|
512
412
|
currentHeader = this.getColumnHeader(sourceColIndex, level);
|
513
|
-
|
514
413
|
if (!currentHeader) {
|
515
414
|
/* eslint-disable no-continue */
|
516
415
|
continue;
|
517
416
|
}
|
518
|
-
|
519
417
|
currentHeaderHeight = (0, _element.innerHeight)(currentHeader);
|
520
|
-
|
521
418
|
if (!previousColHeaderHeight && defaultRowHeight < currentHeaderHeight || previousColHeaderHeight < currentHeaderHeight) {
|
522
419
|
this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = currentHeaderHeight;
|
523
420
|
}
|
524
|
-
|
525
421
|
if (Array.isArray(columnHeaderHeightSetting)) {
|
526
422
|
if (columnHeaderHeightSetting[level] !== null && columnHeaderHeightSetting[level] !== void 0) {
|
527
423
|
this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting[level];
|
@@ -529,16 +425,15 @@ var Table = /*#__PURE__*/function () {
|
|
529
425
|
} else if (!isNaN(columnHeaderHeightSetting)) {
|
530
426
|
this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting;
|
531
427
|
}
|
532
|
-
|
533
428
|
if (this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] < (columnHeaderHeightSetting[level] || columnHeaderHeightSetting)) {
|
534
429
|
this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting[level] || columnHeaderHeightSetting; // eslint-disable-line max-len
|
535
430
|
}
|
536
431
|
}
|
537
432
|
}
|
433
|
+
|
538
434
|
/**
|
539
435
|
*
|
540
436
|
*/
|
541
|
-
|
542
437
|
}, {
|
543
438
|
key: "adjustColumnHeaderHeights",
|
544
439
|
value: function adjustColumnHeaderHeights() {
|
@@ -546,126 +441,109 @@ var Table = /*#__PURE__*/function () {
|
|
546
441
|
var children = this.THEAD.childNodes;
|
547
442
|
var oversizedColumnHeaders = this.dataAccessObject.wtViewport.oversizedColumnHeaders;
|
548
443
|
var columnHeaders = wtSettings.getSetting('columnHeaders');
|
549
|
-
|
550
444
|
for (var i = 0, len = columnHeaders.length; i < len; i++) {
|
551
445
|
if (oversizedColumnHeaders[i]) {
|
552
446
|
if (!children[i] || children[i].childNodes.length === 0) {
|
553
447
|
return;
|
554
448
|
}
|
555
|
-
|
556
449
|
children[i].childNodes[0].style.height = "".concat(oversizedColumnHeaders[i], "px");
|
557
450
|
}
|
558
451
|
}
|
559
452
|
}
|
453
|
+
|
560
454
|
/**
|
561
455
|
* Resets cache of row heights. The cache should be cached for each render cycle in a case
|
562
456
|
* when new cell values have content which increases/decreases cell height.
|
563
457
|
*/
|
564
|
-
|
565
458
|
}, {
|
566
459
|
key: "resetOversizedRows",
|
567
460
|
value: function resetOversizedRows() {
|
568
461
|
var wtSettings = this.wtSettings;
|
569
462
|
var wtViewport = this.dataAccessObject.wtViewport;
|
570
|
-
|
571
463
|
if (!this.isMaster && !this.is(_overlay.CLONE_BOTTOM)) {
|
572
464
|
return;
|
573
465
|
}
|
574
|
-
|
575
466
|
if (!wtSettings.getSetting('externalRowCalculator')) {
|
576
|
-
var rowsToRender = this.getRenderedRowsCount();
|
467
|
+
var rowsToRender = this.getRenderedRowsCount();
|
577
468
|
|
469
|
+
// Reset the oversized row cache for rendered rows
|
578
470
|
for (var visibleRowIndex = 0; visibleRowIndex < rowsToRender; visibleRowIndex++) {
|
579
471
|
var sourceRow = this.rowFilter.renderedToSource(visibleRowIndex);
|
580
|
-
|
581
472
|
if (wtViewport.oversizedRows && wtViewport.oversizedRows[sourceRow]) {
|
582
473
|
wtViewport.oversizedRows[sourceRow] = void 0;
|
583
474
|
}
|
584
475
|
}
|
585
476
|
}
|
586
477
|
}
|
478
|
+
|
587
479
|
/**
|
588
480
|
* @param {string} className The CSS class name to remove from the table cells.
|
589
481
|
*/
|
590
|
-
|
591
482
|
}, {
|
592
483
|
key: "removeClassFromCells",
|
593
484
|
value: function removeClassFromCells(className) {
|
594
485
|
var nodes = this.TABLE.querySelectorAll(".".concat(className));
|
595
|
-
|
596
486
|
for (var i = 0, len = nodes.length; i < len; i++) {
|
597
487
|
(0, _element.removeClass)(nodes[i], className);
|
598
488
|
}
|
599
489
|
}
|
490
|
+
|
600
491
|
/**
|
601
492
|
* Refresh the table selection by re-rendering Selection instances connected with that instance.
|
602
493
|
*
|
603
494
|
* @param {boolean} fastDraw If fast drawing is enabled than additionally className clearing is applied.
|
604
495
|
*/
|
605
|
-
|
606
496
|
}, {
|
607
497
|
key: "refreshSelections",
|
608
498
|
value: function refreshSelections(fastDraw) {
|
609
499
|
var wtSettings = this.wtSettings;
|
610
500
|
var selections = this.dataAccessObject.selections;
|
611
|
-
|
612
501
|
if (!selections) {
|
613
502
|
return;
|
614
503
|
}
|
615
|
-
|
616
504
|
var highlights = Array.from(selections);
|
617
505
|
var len = highlights.length;
|
618
|
-
|
619
506
|
if (fastDraw) {
|
620
507
|
var classesToRemove = [];
|
621
|
-
|
622
508
|
for (var i = 0; i < len; i++) {
|
623
509
|
var _highlights$i$setting = highlights[i].settings,
|
624
|
-
|
625
|
-
|
626
|
-
|
510
|
+
highlightHeaderClassName = _highlights$i$setting.highlightHeaderClassName,
|
511
|
+
highlightRowClassName = _highlights$i$setting.highlightRowClassName,
|
512
|
+
highlightColumnClassName = _highlights$i$setting.highlightColumnClassName;
|
627
513
|
var classNames = highlights[i].classNames;
|
628
514
|
var classNamesLength = classNames.length;
|
629
|
-
|
630
515
|
for (var j = 0; j < classNamesLength; j++) {
|
631
516
|
if (!classesToRemove.includes(classNames[j])) {
|
632
517
|
classesToRemove.push(classNames[j]);
|
633
518
|
}
|
634
519
|
}
|
635
|
-
|
636
520
|
if (highlightHeaderClassName && !classesToRemove.includes(highlightHeaderClassName)) {
|
637
521
|
classesToRemove.push(highlightHeaderClassName);
|
638
522
|
}
|
639
|
-
|
640
523
|
if (highlightRowClassName && !classesToRemove.includes(highlightRowClassName)) {
|
641
524
|
classesToRemove.push(highlightRowClassName);
|
642
525
|
}
|
643
|
-
|
644
526
|
if (highlightColumnClassName && !classesToRemove.includes(highlightColumnClassName)) {
|
645
527
|
classesToRemove.push(highlightColumnClassName);
|
646
528
|
}
|
647
529
|
}
|
648
|
-
|
649
530
|
var additionalClassesToRemove = wtSettings.getSetting('onBeforeRemoveCellClassNames');
|
650
|
-
|
651
531
|
if (Array.isArray(additionalClassesToRemove)) {
|
652
532
|
for (var _i = 0; _i < additionalClassesToRemove.length; _i++) {
|
653
533
|
classesToRemove.push(additionalClassesToRemove[_i]);
|
654
534
|
}
|
655
535
|
}
|
656
|
-
|
657
536
|
var classesToRemoveLength = classesToRemove.length;
|
658
|
-
|
659
537
|
for (var _i2 = 0; _i2 < classesToRemoveLength; _i2++) {
|
660
538
|
// there was no rerender, so we need to remove classNames by ourselves
|
661
539
|
this.removeClassFromCells(classesToRemove[_i2]);
|
662
540
|
}
|
663
541
|
}
|
664
|
-
|
665
542
|
for (var _i3 = 0; _i3 < len; _i3++) {
|
666
543
|
highlights[_i3].draw(this.facadeGetter(), fastDraw);
|
667
544
|
}
|
668
545
|
}
|
546
|
+
|
669
547
|
/**
|
670
548
|
* Get cell element at coords.
|
671
549
|
* Negative coords.row or coords.col are used to retrieve header cells. If there are multiple header levels, the
|
@@ -685,21 +563,17 @@ var Table = /*#__PURE__*/function () {
|
|
685
563
|
* -3 column before viewport
|
686
564
|
* -4 column after viewport.
|
687
565
|
*/
|
688
|
-
|
689
566
|
}, {
|
690
567
|
key: "getCell",
|
691
568
|
value: function getCell(coords) {
|
692
569
|
var row = coords.row;
|
693
570
|
var column = coords.col;
|
694
571
|
var hookResult = this.wtSettings.getSetting('onModifyGetCellCoords', row, column);
|
695
|
-
|
696
572
|
if (hookResult && Array.isArray(hookResult)) {
|
697
573
|
var _hookResult = _slicedToArray(hookResult, 2);
|
698
|
-
|
699
574
|
row = _hookResult[0];
|
700
575
|
column = _hookResult[1];
|
701
576
|
}
|
702
|
-
|
703
577
|
if (this.isRowBeforeRenderedRows(row)) {
|
704
578
|
// row before rendered rows
|
705
579
|
return -1;
|
@@ -713,27 +587,22 @@ var Table = /*#__PURE__*/function () {
|
|
713
587
|
// column after rendered columns
|
714
588
|
return -4;
|
715
589
|
}
|
716
|
-
|
717
590
|
var TR;
|
718
|
-
|
719
591
|
if (row < 0) {
|
720
592
|
TR = this.THEAD.childNodes[this.rowFilter.sourceRowToVisibleColHeadedRow(row)];
|
721
593
|
} else {
|
722
594
|
TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
|
723
595
|
}
|
724
|
-
|
725
596
|
if (!TR && row >= 0) {
|
726
597
|
throw new Error('TR was expected to be rendered but is not');
|
727
598
|
}
|
728
|
-
|
729
599
|
var TD = TR.childNodes[this.columnFilter.sourceColumnToVisibleRowHeadedColumn(column)];
|
730
|
-
|
731
600
|
if (!TD && column >= 0) {
|
732
601
|
throw new Error('TD or TH was expected to be rendered but is not');
|
733
602
|
}
|
734
|
-
|
735
603
|
return TD;
|
736
604
|
}
|
605
|
+
|
737
606
|
/**
|
738
607
|
* GetColumnHeader.
|
739
608
|
*
|
@@ -741,7 +610,6 @@ var Table = /*#__PURE__*/function () {
|
|
741
610
|
* @param {number} [level=0] Header level (0 = most distant to the table).
|
742
611
|
* @returns {object} HTMLElement on success or undefined on error.
|
743
612
|
*/
|
744
|
-
|
745
613
|
}, {
|
746
614
|
key: "getColumnHeader",
|
747
615
|
value: function getColumnHeader(col) {
|
@@ -749,13 +617,13 @@ var Table = /*#__PURE__*/function () {
|
|
749
617
|
var TR = this.THEAD.childNodes[level];
|
750
618
|
return TR === null || TR === void 0 ? void 0 : TR.childNodes[this.columnFilter.sourceColumnToVisibleRowHeadedColumn(col)];
|
751
619
|
}
|
620
|
+
|
752
621
|
/**
|
753
622
|
* Gets all columns headers (TH elements) from the table.
|
754
623
|
*
|
755
624
|
* @param {number} column A source column index.
|
756
625
|
* @returns {HTMLTableCellElement[]}
|
757
626
|
*/
|
758
|
-
|
759
627
|
}, {
|
760
628
|
key: "getColumnHeaders",
|
761
629
|
value: function getColumnHeaders(column) {
|
@@ -763,13 +631,13 @@ var Table = /*#__PURE__*/function () {
|
|
763
631
|
var visibleColumn = this.columnFilter.sourceColumnToVisibleRowHeadedColumn(column);
|
764
632
|
this.THEAD.childNodes.forEach(function (TR) {
|
765
633
|
var TH = TR.childNodes[visibleColumn];
|
766
|
-
|
767
634
|
if (TH) {
|
768
635
|
THs.push(TH);
|
769
636
|
}
|
770
637
|
});
|
771
638
|
return THs;
|
772
639
|
}
|
640
|
+
|
773
641
|
/**
|
774
642
|
* GetRowHeader.
|
775
643
|
*
|
@@ -777,78 +645,65 @@ var Table = /*#__PURE__*/function () {
|
|
777
645
|
* @param {number} [level=0] Header level (0 = most distant to the table).
|
778
646
|
* @returns {HTMLElement} HTMLElement on success or Number one of the exit codes on error: `null table doesn't have row headers`.
|
779
647
|
*/
|
780
|
-
|
781
648
|
}, {
|
782
649
|
key: "getRowHeader",
|
783
650
|
value: function getRowHeader(row) {
|
784
651
|
var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
785
|
-
|
786
652
|
if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
|
787
653
|
return;
|
788
654
|
}
|
789
|
-
|
790
655
|
var rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
|
791
|
-
|
792
656
|
if (level >= rowHeadersCount) {
|
793
657
|
return;
|
794
658
|
}
|
795
|
-
|
796
659
|
var TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
|
797
660
|
return TR === null || TR === void 0 ? void 0 : TR.childNodes[level];
|
798
661
|
}
|
662
|
+
|
799
663
|
/**
|
800
664
|
* Gets all rows headers (TH elements) from the table.
|
801
665
|
*
|
802
666
|
* @param {number} row A source row index.
|
803
667
|
* @returns {HTMLTableCellElement[]}
|
804
668
|
*/
|
805
|
-
|
806
669
|
}, {
|
807
670
|
key: "getRowHeaders",
|
808
671
|
value: function getRowHeaders(row) {
|
809
672
|
if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
|
810
673
|
return [];
|
811
674
|
}
|
812
|
-
|
813
675
|
var THs = [];
|
814
676
|
var rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
|
815
|
-
|
816
677
|
for (var renderedRowIndex = 0; renderedRowIndex < rowHeadersCount; renderedRowIndex++) {
|
817
678
|
var TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
|
818
679
|
var TH = TR === null || TR === void 0 ? void 0 : TR.childNodes[renderedRowIndex];
|
819
|
-
|
820
680
|
if (TH) {
|
821
681
|
THs.push(TH);
|
822
682
|
}
|
823
683
|
}
|
824
|
-
|
825
684
|
return THs;
|
826
685
|
}
|
686
|
+
|
827
687
|
/**
|
828
688
|
* Returns cell coords object for a given TD (or a child element of a TD element).
|
829
689
|
*
|
830
690
|
* @param {HTMLTableCellElement} TD A cell DOM element (or a child of one).
|
831
691
|
* @returns {CellCoords|null} The coordinates of the provided TD element (or the closest TD element) or null, if the provided element is not applicable.
|
832
692
|
*/
|
833
|
-
|
834
693
|
}, {
|
835
694
|
key: "getCoords",
|
836
695
|
value: function getCoords(TD) {
|
837
696
|
var cellElement = TD;
|
838
|
-
|
839
697
|
if (cellElement.nodeName !== 'TD' && cellElement.nodeName !== 'TH') {
|
840
698
|
cellElement = (0, _element.closest)(cellElement, ['TD', 'TH']);
|
841
699
|
}
|
842
|
-
|
843
700
|
if (cellElement === null) {
|
844
701
|
return null;
|
845
702
|
}
|
846
|
-
|
847
703
|
var TR = cellElement.parentNode;
|
848
704
|
var CONTAINER = TR.parentNode;
|
849
705
|
var row = (0, _element.index)(TR);
|
850
706
|
var col = cellElement.cellIndex;
|
851
|
-
|
852
707
|
if ((0, _element.overlayContainsElement)(_overlay.CLONE_TOP_INLINE_START_CORNER, cellElement, this.wtRootElement) || (0, _element.overlayContainsElement)(_overlay.CLONE_TOP, cellElement, this.wtRootElement)) {
|
853
708
|
if (CONTAINER.nodeName === 'THEAD') {
|
854
709
|
row -= CONTAINER.childNodes.length;
|
@@ -861,26 +716,23 @@ var Table = /*#__PURE__*/function () {
|
|
861
716
|
} else {
|
862
717
|
row = this.rowFilter.renderedToSource(row);
|
863
718
|
}
|
864
|
-
|
865
719
|
if ((0, _element.overlayContainsElement)(_overlay.CLONE_TOP_INLINE_START_CORNER, cellElement, this.wtRootElement) || (0, _element.overlayContainsElement)(_overlay.CLONE_INLINE_START, cellElement, this.wtRootElement) || (0, _element.overlayContainsElement)(_overlay.CLONE_BOTTOM_INLINE_START_CORNER, cellElement, this.wtRootElement)) {
|
866
720
|
col = this.columnFilter.offsettedTH(col);
|
867
721
|
} else {
|
868
722
|
col = this.columnFilter.visibleRowHeadedColumnToSourceColumn(col);
|
869
723
|
}
|
870
|
-
|
871
724
|
return this.wot.createCellCoords(row, col);
|
872
725
|
}
|
726
|
+
|
873
727
|
/**
|
874
728
|
* Check if any of the rendered rows is higher than expected, and if so, cache them.
|
875
729
|
*/
|
876
|
-
|
877
730
|
}, {
|
878
731
|
key: "markOversizedRows",
|
879
732
|
value: function markOversizedRows() {
|
880
733
|
if (this.wtSettings.getSetting('externalRowCalculator')) {
|
881
734
|
return;
|
882
735
|
}
|
883
|
-
|
884
736
|
var rowCount = this.TBODY.childNodes.length;
|
885
737
|
var expectedTableHeight = rowCount * this.wtSettings.getSetting('defaultRowHeight');
|
886
738
|
var actualTableHeight = (0, _element.innerHeight)(this.TBODY) - 1;
|
@@ -889,79 +741,73 @@ var Table = /*#__PURE__*/function () {
|
|
889
741
|
var sourceRowIndex;
|
890
742
|
var currentTr;
|
891
743
|
var rowHeader;
|
892
|
-
|
893
744
|
if (expectedTableHeight === actualTableHeight && !this.wtSettings.getSetting('fixedRowsBottom')) {
|
894
745
|
// If the actual table height equals rowCount * default single row height, no row is oversized -> no need to iterate over them
|
895
746
|
return;
|
896
747
|
}
|
897
|
-
|
898
748
|
while (rowCount) {
|
899
749
|
rowCount -= 1;
|
900
750
|
sourceRowIndex = this.rowFilter.renderedToSource(rowCount);
|
901
751
|
previousRowHeight = this.getRowHeight(sourceRowIndex);
|
902
752
|
currentTr = this.getTrForRow(sourceRowIndex);
|
903
753
|
rowHeader = currentTr.querySelector('th');
|
904
|
-
|
905
754
|
if (rowHeader) {
|
906
755
|
rowInnerHeight = (0, _element.innerHeight)(rowHeader);
|
907
756
|
} else {
|
908
757
|
rowInnerHeight = (0, _element.innerHeight)(currentTr) - 1;
|
909
758
|
}
|
910
|
-
|
911
759
|
if (!previousRowHeight && this.wtSettings.getSetting('defaultRowHeight') < rowInnerHeight || previousRowHeight < rowInnerHeight) {
|
912
760
|
rowInnerHeight += 1;
|
913
761
|
this.dataAccessObject.wtViewport.oversizedRows[sourceRowIndex] = rowInnerHeight;
|
914
762
|
}
|
915
763
|
}
|
916
764
|
}
|
765
|
+
|
917
766
|
/**
|
918
767
|
* @param {number} row The visual row index.
|
919
768
|
* @returns {HTMLTableElement}
|
920
769
|
*/
|
921
|
-
|
922
770
|
}, {
|
923
771
|
key: "getTrForRow",
|
924
772
|
value: function getTrForRow(row) {
|
925
773
|
return this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
|
926
774
|
}
|
775
|
+
|
927
776
|
/**
|
928
777
|
* Checks if the column index (negative value from -1 to N) is rendered.
|
929
778
|
*
|
930
779
|
* @param {number} column The column index (negative value from -1 to N).
|
931
780
|
* @returns {boolean}
|
932
781
|
*/
|
933
|
-
|
934
782
|
}, {
|
935
783
|
key: "isColumnHeaderRendered",
|
936
784
|
value: function isColumnHeaderRendered(column) {
|
937
785
|
if (column >= 0) {
|
938
786
|
return false;
|
939
787
|
}
|
940
|
-
|
941
788
|
var rowHeaders = this.wtSettings.getSetting('rowHeaders');
|
942
789
|
var rowHeadersCount = rowHeaders.length;
|
943
790
|
return Math.abs(column) <= rowHeadersCount;
|
944
791
|
}
|
792
|
+
|
945
793
|
/**
|
946
794
|
* Checks if the row index (negative value from -1 to N) is rendered.
|
947
795
|
*
|
948
796
|
* @param {number} row The row index (negative value from -1 to N).
|
949
797
|
* @returns {boolean}
|
950
798
|
*/
|
951
|
-
|
952
799
|
}, {
|
953
800
|
key: "isRowHeaderRendered",
|
954
801
|
value: function isRowHeaderRendered(row) {
|
955
802
|
if (row >= 0) {
|
956
803
|
return false;
|
957
804
|
}
|
958
|
-
|
959
805
|
var columnHeaders = this.wtSettings.getSetting('columnHeaders');
|
960
806
|
var columnHeadersCount = columnHeaders.length;
|
961
807
|
return Math.abs(row) <= columnHeadersCount;
|
962
808
|
}
|
963
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
964
809
|
|
810
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
965
811
|
/**
|
966
812
|
* Check if the given row index is lower than the index of the first row that
|
967
813
|
* is currently rendered and return TRUE in that case, or FALSE otherwise.
|
@@ -990,23 +836,21 @@ var Table = /*#__PURE__*/function () {
|
|
990
836
|
* @function isRowBeforeRenderedRows
|
991
837
|
* @returns {boolean}
|
992
838
|
*/
|
993
|
-
|
994
839
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
995
|
-
|
996
840
|
}, {
|
997
841
|
key: "isRowBeforeRenderedRows",
|
998
842
|
value: function isRowBeforeRenderedRows(row) {
|
999
|
-
var first = this.getFirstRenderedRow();
|
1000
|
-
// This is an indication that the overlay is placed on the most top position.
|
843
|
+
var first = this.getFirstRenderedRow();
|
1001
844
|
|
845
|
+
// Check the headers only in case when the first rendered row is -1 or 0.
|
846
|
+
// This is an indication that the overlay is placed on the most top position.
|
1002
847
|
if (row < 0 && first <= 0) {
|
1003
848
|
return !this.isRowHeaderRendered(row);
|
1004
849
|
}
|
1005
|
-
|
1006
850
|
return row < first;
|
1007
851
|
}
|
1008
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
1009
852
|
|
853
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
1010
854
|
/**
|
1011
855
|
* Check if the given column index is greater than the index of the last column that
|
1012
856
|
* is currently rendered and return TRUE in that case, or FALSE otherwise.
|
@@ -1038,16 +882,14 @@ var Table = /*#__PURE__*/function () {
|
|
1038
882
|
* @function isRowAfterRenderedRows
|
1039
883
|
* @returns {boolean}
|
1040
884
|
*/
|
1041
|
-
|
1042
885
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
1043
|
-
|
1044
886
|
}, {
|
1045
887
|
key: "isRowAfterRenderedRows",
|
1046
888
|
value: function isRowAfterRenderedRows(row) {
|
1047
889
|
return row > this.getLastRenderedRow();
|
1048
890
|
}
|
1049
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
1050
891
|
|
892
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
1051
893
|
/**
|
1052
894
|
* Check if the given column index is lower than the index of the first column that
|
1053
895
|
* is currently rendered and return TRUE in that case, or FALSE otherwise.
|
@@ -1075,23 +917,21 @@ var Table = /*#__PURE__*/function () {
|
|
1075
917
|
* @function isColumnBeforeRenderedColumns
|
1076
918
|
* @returns {boolean}
|
1077
919
|
*/
|
1078
|
-
|
1079
920
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
1080
|
-
|
1081
921
|
}, {
|
1082
922
|
key: "isColumnBeforeRenderedColumns",
|
1083
923
|
value: function isColumnBeforeRenderedColumns(column) {
|
1084
|
-
var first = this.getFirstRenderedColumn();
|
1085
|
-
// This is an indication that the overlay is placed on the most left position.
|
924
|
+
var first = this.getFirstRenderedColumn();
|
1086
925
|
|
926
|
+
// Check the headers only in case when the first rendered column is -1 or 0.
|
927
|
+
// This is an indication that the overlay is placed on the most left position.
|
1087
928
|
if (column < 0 && first <= 0) {
|
1088
929
|
return !this.isColumnHeaderRendered(column);
|
1089
930
|
}
|
1090
|
-
|
1091
931
|
return column < first;
|
1092
932
|
}
|
1093
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
1094
933
|
|
934
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
1095
935
|
/**
|
1096
936
|
* Check if the given column index is greater than the index of the last column that
|
1097
937
|
* is currently rendered and return TRUE in that case, or FALSE otherwise.
|
@@ -1122,9 +962,7 @@ var Table = /*#__PURE__*/function () {
|
|
1122
962
|
* @function isColumnAfterRenderedColumns
|
1123
963
|
* @returns {boolean}
|
1124
964
|
*/
|
1125
|
-
|
1126
965
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
1127
|
-
|
1128
966
|
}, {
|
1129
967
|
key: "isColumnAfterRenderedColumns",
|
1130
968
|
value: function isColumnAfterRenderedColumns(column) {
|
@@ -1165,124 +1003,127 @@ var Table = /*#__PURE__*/function () {
|
|
1165
1003
|
value: function allColumnsInViewport() {
|
1166
1004
|
return this.wtSettings.getSetting('totalColumns') === this.getVisibleColumnsCount();
|
1167
1005
|
}
|
1006
|
+
|
1168
1007
|
/**
|
1169
1008
|
* Checks if any of the row's cells content exceeds its initial height, and if so, returns the oversized height.
|
1170
1009
|
*
|
1171
1010
|
* @param {number} sourceRow The physical row index.
|
1172
1011
|
* @returns {number}
|
1173
1012
|
*/
|
1174
|
-
|
1175
1013
|
}, {
|
1176
1014
|
key: "getRowHeight",
|
1177
1015
|
value: function getRowHeight(sourceRow) {
|
1178
1016
|
return this.rowUtils.getHeight(sourceRow);
|
1179
1017
|
}
|
1018
|
+
|
1180
1019
|
/**
|
1181
1020
|
* @param {number} level The column level.
|
1182
1021
|
* @returns {number}
|
1183
1022
|
*/
|
1184
|
-
|
1185
1023
|
}, {
|
1186
1024
|
key: "getColumnHeaderHeight",
|
1187
1025
|
value: function getColumnHeaderHeight(level) {
|
1188
1026
|
return this.columnUtils.getHeaderHeight(level);
|
1189
1027
|
}
|
1028
|
+
|
1190
1029
|
/**
|
1191
1030
|
* @param {number} sourceColumn The physical column index.
|
1192
1031
|
* @returns {number}
|
1193
1032
|
*/
|
1194
|
-
|
1195
1033
|
}, {
|
1196
1034
|
key: "getColumnWidth",
|
1197
1035
|
value: function getColumnWidth(sourceColumn) {
|
1198
1036
|
return this.columnUtils.getWidth(sourceColumn);
|
1199
1037
|
}
|
1038
|
+
|
1200
1039
|
/**
|
1201
1040
|
* @param {number} sourceColumn The physical column index.
|
1202
1041
|
* @returns {number}
|
1203
1042
|
*/
|
1204
|
-
|
1205
1043
|
}, {
|
1206
1044
|
key: "getStretchedColumnWidth",
|
1207
1045
|
value: function getStretchedColumnWidth(sourceColumn) {
|
1208
1046
|
return this.columnUtils.getStretchedColumnWidth(sourceColumn);
|
1209
1047
|
}
|
1048
|
+
|
1210
1049
|
/**
|
1211
1050
|
* Checks if the table has defined size. It returns `true` when the table has width and height
|
1212
1051
|
* set bigger than `0px`.
|
1213
1052
|
*
|
1214
1053
|
* @returns {boolean}
|
1215
1054
|
*/
|
1216
|
-
|
1217
1055
|
}, {
|
1218
1056
|
key: "hasDefinedSize",
|
1219
1057
|
value: function hasDefinedSize() {
|
1220
1058
|
return this.hasTableHeight && this.hasTableWidth;
|
1221
1059
|
}
|
1060
|
+
|
1222
1061
|
/**
|
1223
1062
|
* Gets table's width. The returned width is the width of the rendered cells that fit in the
|
1224
1063
|
* current viewport. The value may change depends on the viewport position (scroll position).
|
1225
1064
|
*
|
1226
1065
|
* @returns {number}
|
1227
1066
|
*/
|
1228
|
-
|
1229
1067
|
}, {
|
1230
1068
|
key: "getWidth",
|
1231
1069
|
value: function getWidth() {
|
1232
1070
|
return (0, _element.outerWidth)(this.TABLE);
|
1233
1071
|
}
|
1072
|
+
|
1234
1073
|
/**
|
1235
1074
|
* Gets table's height. The returned height is the height of the rendered cells that fit in the
|
1236
1075
|
* current viewport. The value may change depends on the viewport position (scroll position).
|
1237
1076
|
*
|
1238
1077
|
* @returns {number}
|
1239
1078
|
*/
|
1240
|
-
|
1241
1079
|
}, {
|
1242
1080
|
key: "getHeight",
|
1243
1081
|
value: function getHeight() {
|
1244
1082
|
return (0, _element.outerHeight)(this.TABLE);
|
1245
1083
|
}
|
1084
|
+
|
1246
1085
|
/**
|
1247
1086
|
* Gets table's total width. The returned width is the width of all rendered cells (including headers)
|
1248
1087
|
* that can be displayed in the table.
|
1249
1088
|
*
|
1250
1089
|
* @returns {number}
|
1251
1090
|
*/
|
1252
|
-
|
1253
1091
|
}, {
|
1254
1092
|
key: "getTotalWidth",
|
1255
1093
|
value: function getTotalWidth() {
|
1256
|
-
var width = (0, _element.outerWidth)(this.hider);
|
1094
|
+
var width = (0, _element.outerWidth)(this.hider);
|
1257
1095
|
|
1096
|
+
// when the overlay's table does not have any cells the hider returns 0, get then width from the table element
|
1258
1097
|
return width !== 0 ? width : this.getWidth();
|
1259
1098
|
}
|
1099
|
+
|
1260
1100
|
/**
|
1261
1101
|
* Gets table's total height. The returned height is the height of all rendered cells (including headers)
|
1262
1102
|
* that can be displayed in the table.
|
1263
1103
|
*
|
1264
1104
|
* @returns {number}
|
1265
1105
|
*/
|
1266
|
-
|
1267
1106
|
}, {
|
1268
1107
|
key: "getTotalHeight",
|
1269
1108
|
value: function getTotalHeight() {
|
1270
|
-
var height = (0, _element.outerHeight)(this.hider);
|
1109
|
+
var height = (0, _element.outerHeight)(this.hider);
|
1271
1110
|
|
1111
|
+
// when the overlay's table does not have any cells the hider returns 0, get then height from the table element
|
1272
1112
|
return height !== 0 ? height : this.getHeight();
|
1273
1113
|
}
|
1114
|
+
|
1274
1115
|
/**
|
1275
1116
|
* Checks if the table is visible. It returns `true` when the holder element (or its parents)
|
1276
1117
|
* has CSS 'display' property different than 'none'.
|
1277
1118
|
*
|
1278
1119
|
* @returns {boolean}
|
1279
1120
|
*/
|
1280
|
-
|
1281
1121
|
}, {
|
1282
1122
|
key: "isVisible",
|
1283
1123
|
value: function isVisible() {
|
1284
1124
|
return (0, _element.isVisible)(this.TABLE);
|
1285
1125
|
}
|
1126
|
+
|
1286
1127
|
/**
|
1287
1128
|
* Modify row header widths provided by user in class contructor.
|
1288
1129
|
*
|
@@ -1290,21 +1131,19 @@ var Table = /*#__PURE__*/function () {
|
|
1290
1131
|
* @param {Function} rowHeaderWidthFactory The function which can provide default width values for rows..
|
1291
1132
|
* @returns {number}
|
1292
1133
|
*/
|
1293
|
-
|
1294
1134
|
}, {
|
1295
1135
|
key: "_modifyRowHeaderWidth",
|
1296
1136
|
value: function _modifyRowHeaderWidth(rowHeaderWidthFactory) {
|
1297
1137
|
var widths = (0, _function.isFunction)(rowHeaderWidthFactory) ? rowHeaderWidthFactory() : null;
|
1298
|
-
|
1299
1138
|
if (Array.isArray(widths)) {
|
1300
1139
|
widths = _toConsumableArray(widths);
|
1301
1140
|
widths[widths.length - 1] = this._correctRowHeaderWidth(widths[widths.length - 1]);
|
1302
1141
|
} else {
|
1303
1142
|
widths = this._correctRowHeaderWidth(widths);
|
1304
1143
|
}
|
1305
|
-
|
1306
1144
|
return widths;
|
1307
1145
|
}
|
1146
|
+
|
1308
1147
|
/**
|
1309
1148
|
* Correct row header width if necessary.
|
1310
1149
|
*
|
@@ -1312,26 +1151,20 @@ var Table = /*#__PURE__*/function () {
|
|
1312
1151
|
* @param {number} width The width to process.
|
1313
1152
|
* @returns {number}
|
1314
1153
|
*/
|
1315
|
-
|
1316
1154
|
}, {
|
1317
1155
|
key: "_correctRowHeaderWidth",
|
1318
1156
|
value: function _correctRowHeaderWidth(width) {
|
1319
1157
|
var rowHeaderWidth = width;
|
1320
|
-
|
1321
1158
|
if (typeof width !== 'number') {
|
1322
1159
|
rowHeaderWidth = this.wtSettings.getSetting('defaultColumnWidth');
|
1323
1160
|
}
|
1324
|
-
|
1325
1161
|
if (this.correctHeaderWidth) {
|
1326
1162
|
rowHeaderWidth += 1;
|
1327
1163
|
}
|
1328
|
-
|
1329
1164
|
return rowHeaderWidth;
|
1330
1165
|
}
|
1331
1166
|
}]);
|
1332
|
-
|
1333
1167
|
return Table;
|
1334
1168
|
}();
|
1335
|
-
|
1336
1169
|
var _default = Table;
|
1337
1170
|
exports.default = _default;
|