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,23 +1,13 @@
|
|
1
1
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
2
|
-
|
3
2
|
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."); }
|
4
|
-
|
5
3
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
6
|
-
|
7
4
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
8
|
-
|
9
5
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
10
|
-
|
11
6
|
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."); }
|
12
|
-
|
13
7
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
14
|
-
|
15
8
|
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; }
|
16
|
-
|
17
9
|
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; }
|
18
|
-
|
19
10
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
20
|
-
|
21
11
|
import "core-js/modules/es.function.name.js";
|
22
12
|
import "core-js/modules/es.array.from.js";
|
23
13
|
import "core-js/modules/es.string.iterator.js";
|
@@ -31,15 +21,10 @@ import "core-js/modules/es.array.iterator.js";
|
|
31
21
|
import "core-js/modules/web.dom-collections.iterator.js";
|
32
22
|
import "core-js/modules/es.array.slice.js";
|
33
23
|
import "core-js/modules/es.regexp.exec.js";
|
34
|
-
|
35
24
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
36
|
-
|
37
25
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
38
|
-
|
39
26
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
40
|
-
|
41
27
|
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; }
|
42
|
-
|
43
28
|
import { hasClass, index, offset, removeClass, removeTextNodes, overlayContainsElement, closest, outerHeight, outerWidth, innerHeight, isVisible as _isVisible } from "../../../helpers/dom/element.mjs";
|
44
29
|
import { isFunction } from "../../../helpers/function.mjs";
|
45
30
|
import ColumnFilter from "./filter/column.mjs";
|
@@ -47,19 +32,17 @@ import RowFilter from "./filter/row.mjs";
|
|
47
32
|
import { Renderer } from "./renderer/index.mjs";
|
48
33
|
import ColumnUtils from "./utils/column.mjs";
|
49
34
|
import RowUtils from "./utils/row.mjs";
|
50
|
-
import { CLONE_TOP, CLONE_BOTTOM, CLONE_INLINE_START, CLONE_TOP_INLINE_START_CORNER, CLONE_BOTTOM_INLINE_START_CORNER } from "./overlay/index.mjs";
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
*/
|
62
|
-
|
35
|
+
import { CLONE_TOP, CLONE_BOTTOM, CLONE_INLINE_START, CLONE_TOP_INLINE_START_CORNER, CLONE_BOTTOM_INLINE_START_CORNER } from "./overlay/index.mjs"; /**
|
36
|
+
* @todo These mixes are never added to the class Table, however their members are used here.
|
37
|
+
* @todo Continue: Potentially it works only, because some of these mixes are added to every inherited class.
|
38
|
+
* @todo Refactoring, move code from `if(this.isMaster)` into MasterTable, and others like that.
|
39
|
+
* @mixes stickyColumnsStart
|
40
|
+
* @mixes stickyRowsBottom
|
41
|
+
* @mixes stickyRowsTop
|
42
|
+
* @mixes calculatedRows
|
43
|
+
* @mixes calculatedColumns
|
44
|
+
* @abstract
|
45
|
+
*/
|
63
46
|
var Table = /*#__PURE__*/function () {
|
64
47
|
/**
|
65
48
|
* The walkontable settings.
|
@@ -98,70 +81,55 @@ var Table = /*#__PURE__*/function () {
|
|
98
81
|
*/
|
99
82
|
function Table(dataAccessObject, facadeGetter, domBindings, wtSettings, name) {
|
100
83
|
var _this = this;
|
101
|
-
|
102
84
|
_classCallCheck(this, Table);
|
103
|
-
|
104
85
|
_defineProperty(this, "wtSettings", null);
|
105
|
-
|
106
86
|
_defineProperty(this, "domBindings", void 0);
|
107
|
-
|
108
87
|
_defineProperty(this, "TBODY", null);
|
109
|
-
|
110
88
|
_defineProperty(this, "THEAD", null);
|
111
|
-
|
112
89
|
_defineProperty(this, "COLGROUP", null);
|
113
|
-
|
114
90
|
_defineProperty(this, "hasTableHeight", true);
|
115
|
-
|
116
91
|
_defineProperty(this, "hasTableWidth", true);
|
117
|
-
|
118
92
|
_defineProperty(this, "isTableVisible", false);
|
119
|
-
|
120
93
|
_defineProperty(this, "tableOffset", 0);
|
121
|
-
|
122
94
|
_defineProperty(this, "holderOffset", 0);
|
123
|
-
|
124
95
|
this.domBindings = domBindings;
|
125
96
|
/**
|
126
97
|
* Indicates if this instance is of type `MasterTable` (i.e. It is NOT an overlay).
|
127
98
|
*
|
128
99
|
* @type {boolean}
|
129
100
|
*/
|
130
|
-
|
131
101
|
this.isMaster = name === 'master';
|
132
102
|
this.name = name;
|
133
103
|
this.dataAccessObject = dataAccessObject;
|
134
104
|
this.facadeGetter = facadeGetter;
|
135
|
-
this.wtSettings = wtSettings;
|
105
|
+
this.wtSettings = wtSettings;
|
136
106
|
|
107
|
+
// legacy support
|
137
108
|
this.instance = this.dataAccessObject.wot; // TODO refactoring: it might be removed here, and provides legacy support through facade.
|
138
|
-
|
139
109
|
this.wot = this.dataAccessObject.wot;
|
140
110
|
this.TABLE = domBindings.rootTable;
|
141
|
-
removeTextNodes(this.TABLE);
|
111
|
+
removeTextNodes(this.TABLE);
|
142
112
|
|
113
|
+
// TODO refactoring, to recognize the legitimacy of moving them into domBidings
|
143
114
|
this.spreader = this.createSpreader(this.TABLE);
|
144
115
|
this.hider = this.createHider(this.spreader);
|
145
116
|
this.holder = this.createHolder(this.hider);
|
146
117
|
this.wtRootElement = this.holder.parentNode;
|
147
|
-
|
148
118
|
if (this.isMaster) {
|
149
119
|
this.alignOverlaysWithTrimmingContainer(); // todo wow, It calls method from child class (MasterTable).
|
150
120
|
}
|
151
121
|
|
152
122
|
this.fixTableDomTree();
|
153
123
|
this.rowFilter = null; // TODO refactoring, eliminate all (re)creations of this object, then updates state when needed.
|
154
|
-
|
155
124
|
this.columnFilter = null; // TODO refactoring, eliminate all (re)creations of this object, then updates state when needed.
|
156
|
-
|
157
125
|
this.correctHeaderWidth = false;
|
158
|
-
var origRowHeaderWidth = this.wtSettings.getSettingPure('rowHeaderWidth');
|
126
|
+
var origRowHeaderWidth = this.wtSettings.getSettingPure('rowHeaderWidth');
|
159
127
|
|
128
|
+
// Fix for jumping row headers (https://github.com/handsontable/handsontable/issues/3850)
|
160
129
|
this.wtSettings.update('rowHeaderWidth', function () {
|
161
130
|
return _this._modifyRowHeaderWidth(origRowHeaderWidth);
|
162
131
|
});
|
163
132
|
this.rowUtils = new RowUtils(this.dataAccessObject, this.wtSettings); // TODO refactoring, It can be passed through IOC.
|
164
|
-
|
165
133
|
this.columnUtils = new ColumnUtils(this.dataAccessObject, this.wtSettings); // TODO refactoring, It can be passed through IOC.
|
166
134
|
|
167
135
|
this.tableRenderer = new Renderer({
|
@@ -175,6 +143,7 @@ var Table = /*#__PURE__*/function () {
|
|
175
143
|
cellRenderer: this.wtSettings.getSettingPure('cellRenderer')
|
176
144
|
});
|
177
145
|
}
|
146
|
+
|
178
147
|
/**
|
179
148
|
* Returns a boolean that is true if this Table represents a specific overlay, identified by the overlay name.
|
180
149
|
* For MasterTable, it returns false.
|
@@ -182,126 +151,107 @@ var Table = /*#__PURE__*/function () {
|
|
182
151
|
* @param {string} overlayTypeName The overlay type.
|
183
152
|
* @returns {boolean}
|
184
153
|
*/
|
185
|
-
|
186
|
-
|
187
154
|
_createClass(Table, [{
|
188
155
|
key: "is",
|
189
156
|
value: function is(overlayTypeName) {
|
190
157
|
// todo refactoring: eliminate all protected and private usages
|
191
158
|
return this.name === overlayTypeName;
|
192
159
|
}
|
160
|
+
|
193
161
|
/**
|
194
162
|
*
|
195
163
|
*/
|
196
|
-
|
197
164
|
}, {
|
198
165
|
key: "fixTableDomTree",
|
199
166
|
value: function fixTableDomTree() {
|
200
167
|
var rootDocument = this.domBindings.rootDocument;
|
201
168
|
this.TBODY = this.TABLE.querySelector('tbody');
|
202
|
-
|
203
169
|
if (!this.TBODY) {
|
204
170
|
this.TBODY = rootDocument.createElement('tbody');
|
205
171
|
this.TABLE.appendChild(this.TBODY);
|
206
172
|
}
|
207
|
-
|
208
173
|
this.THEAD = this.TABLE.querySelector('thead');
|
209
|
-
|
210
174
|
if (!this.THEAD) {
|
211
175
|
this.THEAD = rootDocument.createElement('thead');
|
212
176
|
this.TABLE.insertBefore(this.THEAD, this.TBODY);
|
213
177
|
}
|
214
|
-
|
215
178
|
this.COLGROUP = this.TABLE.querySelector('colgroup');
|
216
|
-
|
217
179
|
if (!this.COLGROUP) {
|
218
180
|
this.COLGROUP = rootDocument.createElement('colgroup');
|
219
181
|
this.TABLE.insertBefore(this.COLGROUP, this.THEAD);
|
220
182
|
}
|
221
183
|
}
|
184
|
+
|
222
185
|
/**
|
223
186
|
* @param {HTMLTableElement} table An element to process.
|
224
187
|
* @returns {HTMLElement}
|
225
188
|
*/
|
226
|
-
|
227
189
|
}, {
|
228
190
|
key: "createSpreader",
|
229
191
|
value: function createSpreader(table) {
|
230
192
|
var parent = table.parentNode;
|
231
193
|
var spreader;
|
232
|
-
|
233
194
|
if (!parent || parent.nodeType !== Node.ELEMENT_NODE || !hasClass(parent, 'wtHolder')) {
|
234
195
|
spreader = this.domBindings.rootDocument.createElement('div');
|
235
196
|
spreader.className = 'wtSpreader';
|
236
|
-
|
237
197
|
if (parent) {
|
238
198
|
// if TABLE is detached (e.g. in Jasmine test), it has no parentNode so we cannot attach holder to it
|
239
199
|
parent.insertBefore(spreader, table);
|
240
200
|
}
|
241
|
-
|
242
201
|
spreader.appendChild(table);
|
243
202
|
}
|
244
|
-
|
245
203
|
spreader.style.position = 'relative';
|
246
204
|
return spreader;
|
247
205
|
}
|
206
|
+
|
248
207
|
/**
|
249
208
|
* @param {HTMLElement} spreader An element to the hider element is injected.
|
250
209
|
* @returns {HTMLElement}
|
251
210
|
*/
|
252
|
-
|
253
211
|
}, {
|
254
212
|
key: "createHider",
|
255
213
|
value: function createHider(spreader) {
|
256
214
|
var parent = spreader.parentNode;
|
257
215
|
var hider;
|
258
|
-
|
259
216
|
if (!parent || parent.nodeType !== Node.ELEMENT_NODE || !hasClass(parent, 'wtHolder')) {
|
260
217
|
hider = this.domBindings.rootDocument.createElement('div');
|
261
218
|
hider.className = 'wtHider';
|
262
|
-
|
263
219
|
if (parent) {
|
264
220
|
// if TABLE is detached (e.g. in Jasmine test), it has no parentNode so we cannot attach holder to it
|
265
221
|
parent.insertBefore(hider, spreader);
|
266
222
|
}
|
267
|
-
|
268
223
|
hider.appendChild(spreader);
|
269
224
|
}
|
270
|
-
|
271
225
|
return hider;
|
272
226
|
}
|
227
|
+
|
273
228
|
/**
|
274
229
|
*
|
275
230
|
* @param {HTMLElement} hider An element to the holder element is injected.
|
276
231
|
* @returns {HTMLElement}
|
277
232
|
*/
|
278
|
-
|
279
233
|
}, {
|
280
234
|
key: "createHolder",
|
281
235
|
value: function createHolder(hider) {
|
282
236
|
var parent = hider.parentNode;
|
283
237
|
var holder;
|
284
|
-
|
285
238
|
if (!parent || parent.nodeType !== Node.ELEMENT_NODE || !hasClass(parent, 'wtHolder')) {
|
286
239
|
holder = this.domBindings.rootDocument.createElement('div');
|
287
240
|
holder.style.position = 'relative';
|
288
241
|
holder.className = 'wtHolder';
|
289
|
-
|
290
242
|
if (parent) {
|
291
243
|
// if TABLE is detached (e.g. in Jasmine test), it has no parentNode so we cannot attach holder to it
|
292
244
|
parent.insertBefore(holder, hider);
|
293
245
|
}
|
294
|
-
|
295
246
|
if (this.isMaster) {
|
296
247
|
holder.parentNode.className += 'ht_master handsontable';
|
297
248
|
holder.parentNode.setAttribute('dir', this.wtSettings.getSettingPure('rtlMode') ? 'rtl' : 'ltr');
|
298
249
|
}
|
299
|
-
|
300
250
|
holder.appendChild(hider);
|
301
251
|
}
|
302
|
-
|
303
252
|
return holder;
|
304
253
|
}
|
254
|
+
|
305
255
|
/**
|
306
256
|
* Redraws the table.
|
307
257
|
*
|
@@ -309,15 +259,14 @@ var Table = /*#__PURE__*/function () {
|
|
309
259
|
* If FALSE or UNDEFINED, will perform a full redraw.
|
310
260
|
* @returns {Table}
|
311
261
|
*/
|
312
|
-
|
313
262
|
}, {
|
314
263
|
key: "draw",
|
315
264
|
value: function draw() {
|
316
265
|
var fastDraw = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
317
266
|
var wtSettings = this.wtSettings;
|
318
267
|
var _this$dataAccessObjec = this.dataAccessObject,
|
319
|
-
|
320
|
-
|
268
|
+
wtOverlays = _this$dataAccessObjec.wtOverlays,
|
269
|
+
wtViewport = _this$dataAccessObjec.wtViewport;
|
321
270
|
var totalRows = wtSettings.getSetting('totalRows');
|
322
271
|
var totalColumns = wtSettings.getSetting('totalColumns');
|
323
272
|
var rowHeaders = wtSettings.getSetting('rowHeaders');
|
@@ -326,32 +275,26 @@ var Table = /*#__PURE__*/function () {
|
|
326
275
|
var columnHeadersCount = columnHeaders.length;
|
327
276
|
var syncScroll = false;
|
328
277
|
var runFastDraw = fastDraw;
|
329
|
-
|
330
278
|
if (this.isMaster) {
|
331
279
|
this.holderOffset = offset(this.holder);
|
332
280
|
runFastDraw = wtViewport.createRenderCalculators(runFastDraw);
|
333
|
-
|
334
281
|
if (rowHeadersCount && !wtSettings.getSetting('fixedColumnsStart')) {
|
335
282
|
var leftScrollPos = wtOverlays.inlineStartOverlay.getScrollPosition();
|
336
283
|
var previousState = this.correctHeaderWidth;
|
337
284
|
this.correctHeaderWidth = leftScrollPos !== 0;
|
338
|
-
|
339
285
|
if (previousState !== this.correctHeaderWidth) {
|
340
286
|
runFastDraw = false;
|
341
287
|
}
|
342
288
|
}
|
343
289
|
}
|
344
|
-
|
345
290
|
if (this.isMaster) {
|
346
291
|
syncScroll = wtOverlays.updateStateOfRendering();
|
347
292
|
}
|
348
|
-
|
349
293
|
if (runFastDraw) {
|
350
294
|
if (this.isMaster) {
|
351
295
|
// in case we only scrolled without redraw, update visible rows information in oldRowsCalculator
|
352
296
|
wtViewport.createVisibleCalculators();
|
353
297
|
}
|
354
|
-
|
355
298
|
if (wtOverlays) {
|
356
299
|
wtOverlays.refresh(true);
|
357
300
|
}
|
@@ -361,114 +304,93 @@ var Table = /*#__PURE__*/function () {
|
|
361
304
|
} else {
|
362
305
|
this.tableOffset = this.dataAccessObject.parentTableOffset;
|
363
306
|
}
|
364
|
-
|
365
307
|
var startRow = totalRows > 0 ? this.getFirstRenderedRow() : 0;
|
366
308
|
var startColumn = totalColumns > 0 ? this.getFirstRenderedColumn() : 0;
|
367
309
|
this.rowFilter = new RowFilter(startRow, totalRows, columnHeadersCount);
|
368
310
|
this.columnFilter = new ColumnFilter(startColumn, totalColumns, rowHeadersCount);
|
369
|
-
var performRedraw = true;
|
311
|
+
var performRedraw = true;
|
370
312
|
|
313
|
+
// Only master table rendering can be skipped
|
371
314
|
if (this.isMaster) {
|
372
315
|
this.alignOverlaysWithTrimmingContainer(); // todo It calls method from child class (MasterTable).
|
373
|
-
|
374
316
|
var skipRender = {};
|
375
317
|
this.wtSettings.getSetting('beforeDraw', true, skipRender);
|
376
318
|
performRedraw = skipRender.skipRender !== true;
|
377
319
|
}
|
378
|
-
|
379
320
|
if (performRedraw) {
|
380
321
|
this.tableRenderer.setHeaderContentRenderers(rowHeaders, columnHeaders);
|
381
|
-
|
382
322
|
if (this.is(CLONE_BOTTOM) || this.is(CLONE_BOTTOM_INLINE_START_CORNER)) {
|
383
323
|
// do NOT render headers on the bottom or bottom-left corner overlay
|
384
324
|
this.tableRenderer.setHeaderContentRenderers(rowHeaders, []);
|
385
325
|
}
|
386
|
-
|
387
326
|
this.resetOversizedRows();
|
388
327
|
this.tableRenderer.setViewportSize(this.getRenderedRowsCount(), this.getRenderedColumnsCount()).setFilters(this.rowFilter, this.columnFilter).render();
|
389
328
|
var workspaceWidth;
|
390
|
-
|
391
329
|
if (this.isMaster) {
|
392
330
|
workspaceWidth = this.dataAccessObject.workspaceWidth;
|
393
331
|
this.dataAccessObject.wtViewport.containerWidth = null;
|
394
332
|
this.markOversizedColumnHeaders();
|
395
333
|
}
|
396
|
-
|
397
334
|
this.adjustColumnHeaderHeights();
|
398
|
-
|
399
335
|
if (this.isMaster || this.is(CLONE_BOTTOM)) {
|
400
336
|
this.markOversizedRows();
|
401
337
|
}
|
402
|
-
|
403
338
|
if (this.isMaster) {
|
404
339
|
this.dataAccessObject.wtViewport.createVisibleCalculators();
|
405
340
|
this.dataAccessObject.wtOverlays.refresh(false);
|
406
341
|
this.dataAccessObject.wtOverlays.applyToDOM();
|
407
342
|
var hiderWidth = outerWidth(this.hider);
|
408
343
|
var tableWidth = outerWidth(this.TABLE);
|
409
|
-
|
410
344
|
if (hiderWidth !== 0 && tableWidth !== hiderWidth) {
|
411
345
|
// Recalculate the column widths, if width changes made in the overlays removed the scrollbar, thus changing the viewport width.
|
412
346
|
this.columnUtils.calculateWidths();
|
413
347
|
this.tableRenderer.renderer.colGroup.render();
|
414
348
|
}
|
415
|
-
|
416
349
|
if (workspaceWidth !== this.dataAccessObject.wtViewport.getWorkspaceWidth()) {
|
417
350
|
// workspace width changed though to shown/hidden vertical scrollbar. Let's reapply stretching
|
418
351
|
this.dataAccessObject.wtViewport.containerWidth = null;
|
419
352
|
this.columnUtils.calculateWidths();
|
420
353
|
this.tableRenderer.renderer.colGroup.render();
|
421
354
|
}
|
422
|
-
|
423
355
|
this.wtSettings.getSetting('onDraw', true);
|
424
356
|
} else if (this.is(CLONE_BOTTOM)) {
|
425
357
|
this.dataAccessObject.cloneSource.wtOverlays.adjustElementsSize();
|
426
358
|
}
|
427
359
|
}
|
428
360
|
}
|
429
|
-
|
430
361
|
var positionChanged = false;
|
431
|
-
|
432
362
|
if (this.isMaster) {
|
433
363
|
positionChanged = wtOverlays.topOverlay.resetFixedPosition();
|
434
|
-
|
435
364
|
if (wtOverlays.bottomOverlay.clone) {
|
436
365
|
positionChanged = wtOverlays.bottomOverlay.resetFixedPosition() || positionChanged;
|
437
366
|
}
|
438
|
-
|
439
367
|
positionChanged = wtOverlays.inlineStartOverlay.resetFixedPosition() || positionChanged;
|
440
|
-
|
441
368
|
if (wtOverlays.topInlineStartCornerOverlay) {
|
442
369
|
wtOverlays.topInlineStartCornerOverlay.resetFixedPosition();
|
443
370
|
}
|
444
|
-
|
445
371
|
if (wtOverlays.bottomInlineStartCornerOverlay && wtOverlays.bottomInlineStartCornerOverlay.clone) {
|
446
372
|
wtOverlays.bottomInlineStartCornerOverlay.resetFixedPosition();
|
447
373
|
}
|
448
374
|
}
|
449
|
-
|
450
375
|
if (positionChanged) {
|
451
376
|
// It refreshes the cells borders caused by a 1px shift (introduced by overlays which add or
|
452
377
|
// remove `innerBorderTop` and `innerBorderInlineStart` CSS classes to the DOM element. This happens
|
453
378
|
// when there is a switch between rendering from 0 to N rows/columns and vice versa).
|
454
379
|
wtOverlays.refreshAll(); // `refreshAll()` internally already calls `refreshSelections()` method
|
455
|
-
|
456
380
|
wtOverlays.adjustElementsSize();
|
457
381
|
} else {
|
458
382
|
this.refreshSelections(runFastDraw);
|
459
383
|
}
|
460
|
-
|
461
384
|
if (syncScroll) {
|
462
385
|
wtOverlays.syncScrollWithMaster();
|
463
386
|
}
|
464
|
-
|
465
387
|
this.dataAccessObject.drawn = true;
|
466
388
|
return this;
|
467
389
|
}
|
390
|
+
|
468
391
|
/**
|
469
392
|
* @param {number} col The visual column index.
|
470
393
|
*/
|
471
|
-
|
472
394
|
}, {
|
473
395
|
key: "markIfOversizedColumnHeader",
|
474
396
|
value: function markIfOversizedColumnHeader(col) {
|
@@ -479,23 +401,18 @@ var Table = /*#__PURE__*/function () {
|
|
479
401
|
var currentHeader;
|
480
402
|
var currentHeaderHeight;
|
481
403
|
var columnHeaderHeightSetting = this.wtSettings.getSetting('columnHeaderHeight') || [];
|
482
|
-
|
483
404
|
while (level) {
|
484
405
|
level -= 1;
|
485
406
|
previousColHeaderHeight = this.getColumnHeaderHeight(level);
|
486
407
|
currentHeader = this.getColumnHeader(sourceColIndex, level);
|
487
|
-
|
488
408
|
if (!currentHeader) {
|
489
409
|
/* eslint-disable no-continue */
|
490
410
|
continue;
|
491
411
|
}
|
492
|
-
|
493
412
|
currentHeaderHeight = innerHeight(currentHeader);
|
494
|
-
|
495
413
|
if (!previousColHeaderHeight && defaultRowHeight < currentHeaderHeight || previousColHeaderHeight < currentHeaderHeight) {
|
496
414
|
this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = currentHeaderHeight;
|
497
415
|
}
|
498
|
-
|
499
416
|
if (Array.isArray(columnHeaderHeightSetting)) {
|
500
417
|
if (columnHeaderHeightSetting[level] !== null && columnHeaderHeightSetting[level] !== void 0) {
|
501
418
|
this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting[level];
|
@@ -503,16 +420,15 @@ var Table = /*#__PURE__*/function () {
|
|
503
420
|
} else if (!isNaN(columnHeaderHeightSetting)) {
|
504
421
|
this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting;
|
505
422
|
}
|
506
|
-
|
507
423
|
if (this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] < (columnHeaderHeightSetting[level] || columnHeaderHeightSetting)) {
|
508
424
|
this.dataAccessObject.wtViewport.oversizedColumnHeaders[level] = columnHeaderHeightSetting[level] || columnHeaderHeightSetting; // eslint-disable-line max-len
|
509
425
|
}
|
510
426
|
}
|
511
427
|
}
|
428
|
+
|
512
429
|
/**
|
513
430
|
*
|
514
431
|
*/
|
515
|
-
|
516
432
|
}, {
|
517
433
|
key: "adjustColumnHeaderHeights",
|
518
434
|
value: function adjustColumnHeaderHeights() {
|
@@ -520,126 +436,109 @@ var Table = /*#__PURE__*/function () {
|
|
520
436
|
var children = this.THEAD.childNodes;
|
521
437
|
var oversizedColumnHeaders = this.dataAccessObject.wtViewport.oversizedColumnHeaders;
|
522
438
|
var columnHeaders = wtSettings.getSetting('columnHeaders');
|
523
|
-
|
524
439
|
for (var i = 0, len = columnHeaders.length; i < len; i++) {
|
525
440
|
if (oversizedColumnHeaders[i]) {
|
526
441
|
if (!children[i] || children[i].childNodes.length === 0) {
|
527
442
|
return;
|
528
443
|
}
|
529
|
-
|
530
444
|
children[i].childNodes[0].style.height = "".concat(oversizedColumnHeaders[i], "px");
|
531
445
|
}
|
532
446
|
}
|
533
447
|
}
|
448
|
+
|
534
449
|
/**
|
535
450
|
* Resets cache of row heights. The cache should be cached for each render cycle in a case
|
536
451
|
* when new cell values have content which increases/decreases cell height.
|
537
452
|
*/
|
538
|
-
|
539
453
|
}, {
|
540
454
|
key: "resetOversizedRows",
|
541
455
|
value: function resetOversizedRows() {
|
542
456
|
var wtSettings = this.wtSettings;
|
543
457
|
var wtViewport = this.dataAccessObject.wtViewport;
|
544
|
-
|
545
458
|
if (!this.isMaster && !this.is(CLONE_BOTTOM)) {
|
546
459
|
return;
|
547
460
|
}
|
548
|
-
|
549
461
|
if (!wtSettings.getSetting('externalRowCalculator')) {
|
550
|
-
var rowsToRender = this.getRenderedRowsCount();
|
462
|
+
var rowsToRender = this.getRenderedRowsCount();
|
551
463
|
|
464
|
+
// Reset the oversized row cache for rendered rows
|
552
465
|
for (var visibleRowIndex = 0; visibleRowIndex < rowsToRender; visibleRowIndex++) {
|
553
466
|
var sourceRow = this.rowFilter.renderedToSource(visibleRowIndex);
|
554
|
-
|
555
467
|
if (wtViewport.oversizedRows && wtViewport.oversizedRows[sourceRow]) {
|
556
468
|
wtViewport.oversizedRows[sourceRow] = void 0;
|
557
469
|
}
|
558
470
|
}
|
559
471
|
}
|
560
472
|
}
|
473
|
+
|
561
474
|
/**
|
562
475
|
* @param {string} className The CSS class name to remove from the table cells.
|
563
476
|
*/
|
564
|
-
|
565
477
|
}, {
|
566
478
|
key: "removeClassFromCells",
|
567
479
|
value: function removeClassFromCells(className) {
|
568
480
|
var nodes = this.TABLE.querySelectorAll(".".concat(className));
|
569
|
-
|
570
481
|
for (var i = 0, len = nodes.length; i < len; i++) {
|
571
482
|
removeClass(nodes[i], className);
|
572
483
|
}
|
573
484
|
}
|
485
|
+
|
574
486
|
/**
|
575
487
|
* Refresh the table selection by re-rendering Selection instances connected with that instance.
|
576
488
|
*
|
577
489
|
* @param {boolean} fastDraw If fast drawing is enabled than additionally className clearing is applied.
|
578
490
|
*/
|
579
|
-
|
580
491
|
}, {
|
581
492
|
key: "refreshSelections",
|
582
493
|
value: function refreshSelections(fastDraw) {
|
583
494
|
var wtSettings = this.wtSettings;
|
584
495
|
var selections = this.dataAccessObject.selections;
|
585
|
-
|
586
496
|
if (!selections) {
|
587
497
|
return;
|
588
498
|
}
|
589
|
-
|
590
499
|
var highlights = Array.from(selections);
|
591
500
|
var len = highlights.length;
|
592
|
-
|
593
501
|
if (fastDraw) {
|
594
502
|
var classesToRemove = [];
|
595
|
-
|
596
503
|
for (var i = 0; i < len; i++) {
|
597
504
|
var _highlights$i$setting = highlights[i].settings,
|
598
|
-
|
599
|
-
|
600
|
-
|
505
|
+
highlightHeaderClassName = _highlights$i$setting.highlightHeaderClassName,
|
506
|
+
highlightRowClassName = _highlights$i$setting.highlightRowClassName,
|
507
|
+
highlightColumnClassName = _highlights$i$setting.highlightColumnClassName;
|
601
508
|
var classNames = highlights[i].classNames;
|
602
509
|
var classNamesLength = classNames.length;
|
603
|
-
|
604
510
|
for (var j = 0; j < classNamesLength; j++) {
|
605
511
|
if (!classesToRemove.includes(classNames[j])) {
|
606
512
|
classesToRemove.push(classNames[j]);
|
607
513
|
}
|
608
514
|
}
|
609
|
-
|
610
515
|
if (highlightHeaderClassName && !classesToRemove.includes(highlightHeaderClassName)) {
|
611
516
|
classesToRemove.push(highlightHeaderClassName);
|
612
517
|
}
|
613
|
-
|
614
518
|
if (highlightRowClassName && !classesToRemove.includes(highlightRowClassName)) {
|
615
519
|
classesToRemove.push(highlightRowClassName);
|
616
520
|
}
|
617
|
-
|
618
521
|
if (highlightColumnClassName && !classesToRemove.includes(highlightColumnClassName)) {
|
619
522
|
classesToRemove.push(highlightColumnClassName);
|
620
523
|
}
|
621
524
|
}
|
622
|
-
|
623
525
|
var additionalClassesToRemove = wtSettings.getSetting('onBeforeRemoveCellClassNames');
|
624
|
-
|
625
526
|
if (Array.isArray(additionalClassesToRemove)) {
|
626
527
|
for (var _i = 0; _i < additionalClassesToRemove.length; _i++) {
|
627
528
|
classesToRemove.push(additionalClassesToRemove[_i]);
|
628
529
|
}
|
629
530
|
}
|
630
|
-
|
631
531
|
var classesToRemoveLength = classesToRemove.length;
|
632
|
-
|
633
532
|
for (var _i2 = 0; _i2 < classesToRemoveLength; _i2++) {
|
634
533
|
// there was no rerender, so we need to remove classNames by ourselves
|
635
534
|
this.removeClassFromCells(classesToRemove[_i2]);
|
636
535
|
}
|
637
536
|
}
|
638
|
-
|
639
537
|
for (var _i3 = 0; _i3 < len; _i3++) {
|
640
538
|
highlights[_i3].draw(this.facadeGetter(), fastDraw);
|
641
539
|
}
|
642
540
|
}
|
541
|
+
|
643
542
|
/**
|
644
543
|
* Get cell element at coords.
|
645
544
|
* Negative coords.row or coords.col are used to retrieve header cells. If there are multiple header levels, the
|
@@ -659,21 +558,17 @@ var Table = /*#__PURE__*/function () {
|
|
659
558
|
* -3 column before viewport
|
660
559
|
* -4 column after viewport.
|
661
560
|
*/
|
662
|
-
|
663
561
|
}, {
|
664
562
|
key: "getCell",
|
665
563
|
value: function getCell(coords) {
|
666
564
|
var row = coords.row;
|
667
565
|
var column = coords.col;
|
668
566
|
var hookResult = this.wtSettings.getSetting('onModifyGetCellCoords', row, column);
|
669
|
-
|
670
567
|
if (hookResult && Array.isArray(hookResult)) {
|
671
568
|
var _hookResult = _slicedToArray(hookResult, 2);
|
672
|
-
|
673
569
|
row = _hookResult[0];
|
674
570
|
column = _hookResult[1];
|
675
571
|
}
|
676
|
-
|
677
572
|
if (this.isRowBeforeRenderedRows(row)) {
|
678
573
|
// row before rendered rows
|
679
574
|
return -1;
|
@@ -687,27 +582,22 @@ var Table = /*#__PURE__*/function () {
|
|
687
582
|
// column after rendered columns
|
688
583
|
return -4;
|
689
584
|
}
|
690
|
-
|
691
585
|
var TR;
|
692
|
-
|
693
586
|
if (row < 0) {
|
694
587
|
TR = this.THEAD.childNodes[this.rowFilter.sourceRowToVisibleColHeadedRow(row)];
|
695
588
|
} else {
|
696
589
|
TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
|
697
590
|
}
|
698
|
-
|
699
591
|
if (!TR && row >= 0) {
|
700
592
|
throw new Error('TR was expected to be rendered but is not');
|
701
593
|
}
|
702
|
-
|
703
594
|
var TD = TR.childNodes[this.columnFilter.sourceColumnToVisibleRowHeadedColumn(column)];
|
704
|
-
|
705
595
|
if (!TD && column >= 0) {
|
706
596
|
throw new Error('TD or TH was expected to be rendered but is not');
|
707
597
|
}
|
708
|
-
|
709
598
|
return TD;
|
710
599
|
}
|
600
|
+
|
711
601
|
/**
|
712
602
|
* GetColumnHeader.
|
713
603
|
*
|
@@ -715,7 +605,6 @@ var Table = /*#__PURE__*/function () {
|
|
715
605
|
* @param {number} [level=0] Header level (0 = most distant to the table).
|
716
606
|
* @returns {object} HTMLElement on success or undefined on error.
|
717
607
|
*/
|
718
|
-
|
719
608
|
}, {
|
720
609
|
key: "getColumnHeader",
|
721
610
|
value: function getColumnHeader(col) {
|
@@ -723,13 +612,13 @@ var Table = /*#__PURE__*/function () {
|
|
723
612
|
var TR = this.THEAD.childNodes[level];
|
724
613
|
return TR === null || TR === void 0 ? void 0 : TR.childNodes[this.columnFilter.sourceColumnToVisibleRowHeadedColumn(col)];
|
725
614
|
}
|
615
|
+
|
726
616
|
/**
|
727
617
|
* Gets all columns headers (TH elements) from the table.
|
728
618
|
*
|
729
619
|
* @param {number} column A source column index.
|
730
620
|
* @returns {HTMLTableCellElement[]}
|
731
621
|
*/
|
732
|
-
|
733
622
|
}, {
|
734
623
|
key: "getColumnHeaders",
|
735
624
|
value: function getColumnHeaders(column) {
|
@@ -737,13 +626,13 @@ var Table = /*#__PURE__*/function () {
|
|
737
626
|
var visibleColumn = this.columnFilter.sourceColumnToVisibleRowHeadedColumn(column);
|
738
627
|
this.THEAD.childNodes.forEach(function (TR) {
|
739
628
|
var TH = TR.childNodes[visibleColumn];
|
740
|
-
|
741
629
|
if (TH) {
|
742
630
|
THs.push(TH);
|
743
631
|
}
|
744
632
|
});
|
745
633
|
return THs;
|
746
634
|
}
|
635
|
+
|
747
636
|
/**
|
748
637
|
* GetRowHeader.
|
749
638
|
*
|
@@ -751,78 +640,65 @@ var Table = /*#__PURE__*/function () {
|
|
751
640
|
* @param {number} [level=0] Header level (0 = most distant to the table).
|
752
641
|
* @returns {HTMLElement} HTMLElement on success or Number one of the exit codes on error: `null table doesn't have row headers`.
|
753
642
|
*/
|
754
|
-
|
755
643
|
}, {
|
756
644
|
key: "getRowHeader",
|
757
645
|
value: function getRowHeader(row) {
|
758
646
|
var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
759
|
-
|
760
647
|
if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
|
761
648
|
return;
|
762
649
|
}
|
763
|
-
|
764
650
|
var rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
|
765
|
-
|
766
651
|
if (level >= rowHeadersCount) {
|
767
652
|
return;
|
768
653
|
}
|
769
|
-
|
770
654
|
var TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
|
771
655
|
return TR === null || TR === void 0 ? void 0 : TR.childNodes[level];
|
772
656
|
}
|
657
|
+
|
773
658
|
/**
|
774
659
|
* Gets all rows headers (TH elements) from the table.
|
775
660
|
*
|
776
661
|
* @param {number} row A source row index.
|
777
662
|
* @returns {HTMLTableCellElement[]}
|
778
663
|
*/
|
779
|
-
|
780
664
|
}, {
|
781
665
|
key: "getRowHeaders",
|
782
666
|
value: function getRowHeaders(row) {
|
783
667
|
if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
|
784
668
|
return [];
|
785
669
|
}
|
786
|
-
|
787
670
|
var THs = [];
|
788
671
|
var rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
|
789
|
-
|
790
672
|
for (var renderedRowIndex = 0; renderedRowIndex < rowHeadersCount; renderedRowIndex++) {
|
791
673
|
var TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
|
792
674
|
var TH = TR === null || TR === void 0 ? void 0 : TR.childNodes[renderedRowIndex];
|
793
|
-
|
794
675
|
if (TH) {
|
795
676
|
THs.push(TH);
|
796
677
|
}
|
797
678
|
}
|
798
|
-
|
799
679
|
return THs;
|
800
680
|
}
|
681
|
+
|
801
682
|
/**
|
802
683
|
* Returns cell coords object for a given TD (or a child element of a TD element).
|
803
684
|
*
|
804
685
|
* @param {HTMLTableCellElement} TD A cell DOM element (or a child of one).
|
805
686
|
* @returns {CellCoords|null} The coordinates of the provided TD element (or the closest TD element) or null, if the provided element is not applicable.
|
806
687
|
*/
|
807
|
-
|
808
688
|
}, {
|
809
689
|
key: "getCoords",
|
810
690
|
value: function getCoords(TD) {
|
811
691
|
var cellElement = TD;
|
812
|
-
|
813
692
|
if (cellElement.nodeName !== 'TD' && cellElement.nodeName !== 'TH') {
|
814
693
|
cellElement = closest(cellElement, ['TD', 'TH']);
|
815
694
|
}
|
816
|
-
|
817
695
|
if (cellElement === null) {
|
818
696
|
return null;
|
819
697
|
}
|
820
|
-
|
821
698
|
var TR = cellElement.parentNode;
|
822
699
|
var CONTAINER = TR.parentNode;
|
823
700
|
var row = index(TR);
|
824
701
|
var col = cellElement.cellIndex;
|
825
|
-
|
826
702
|
if (overlayContainsElement(CLONE_TOP_INLINE_START_CORNER, cellElement, this.wtRootElement) || overlayContainsElement(CLONE_TOP, cellElement, this.wtRootElement)) {
|
827
703
|
if (CONTAINER.nodeName === 'THEAD') {
|
828
704
|
row -= CONTAINER.childNodes.length;
|
@@ -835,26 +711,23 @@ var Table = /*#__PURE__*/function () {
|
|
835
711
|
} else {
|
836
712
|
row = this.rowFilter.renderedToSource(row);
|
837
713
|
}
|
838
|
-
|
839
714
|
if (overlayContainsElement(CLONE_TOP_INLINE_START_CORNER, cellElement, this.wtRootElement) || overlayContainsElement(CLONE_INLINE_START, cellElement, this.wtRootElement) || overlayContainsElement(CLONE_BOTTOM_INLINE_START_CORNER, cellElement, this.wtRootElement)) {
|
840
715
|
col = this.columnFilter.offsettedTH(col);
|
841
716
|
} else {
|
842
717
|
col = this.columnFilter.visibleRowHeadedColumnToSourceColumn(col);
|
843
718
|
}
|
844
|
-
|
845
719
|
return this.wot.createCellCoords(row, col);
|
846
720
|
}
|
721
|
+
|
847
722
|
/**
|
848
723
|
* Check if any of the rendered rows is higher than expected, and if so, cache them.
|
849
724
|
*/
|
850
|
-
|
851
725
|
}, {
|
852
726
|
key: "markOversizedRows",
|
853
727
|
value: function markOversizedRows() {
|
854
728
|
if (this.wtSettings.getSetting('externalRowCalculator')) {
|
855
729
|
return;
|
856
730
|
}
|
857
|
-
|
858
731
|
var rowCount = this.TBODY.childNodes.length;
|
859
732
|
var expectedTableHeight = rowCount * this.wtSettings.getSetting('defaultRowHeight');
|
860
733
|
var actualTableHeight = innerHeight(this.TBODY) - 1;
|
@@ -863,79 +736,73 @@ var Table = /*#__PURE__*/function () {
|
|
863
736
|
var sourceRowIndex;
|
864
737
|
var currentTr;
|
865
738
|
var rowHeader;
|
866
|
-
|
867
739
|
if (expectedTableHeight === actualTableHeight && !this.wtSettings.getSetting('fixedRowsBottom')) {
|
868
740
|
// If the actual table height equals rowCount * default single row height, no row is oversized -> no need to iterate over them
|
869
741
|
return;
|
870
742
|
}
|
871
|
-
|
872
743
|
while (rowCount) {
|
873
744
|
rowCount -= 1;
|
874
745
|
sourceRowIndex = this.rowFilter.renderedToSource(rowCount);
|
875
746
|
previousRowHeight = this.getRowHeight(sourceRowIndex);
|
876
747
|
currentTr = this.getTrForRow(sourceRowIndex);
|
877
748
|
rowHeader = currentTr.querySelector('th');
|
878
|
-
|
879
749
|
if (rowHeader) {
|
880
750
|
rowInnerHeight = innerHeight(rowHeader);
|
881
751
|
} else {
|
882
752
|
rowInnerHeight = innerHeight(currentTr) - 1;
|
883
753
|
}
|
884
|
-
|
885
754
|
if (!previousRowHeight && this.wtSettings.getSetting('defaultRowHeight') < rowInnerHeight || previousRowHeight < rowInnerHeight) {
|
886
755
|
rowInnerHeight += 1;
|
887
756
|
this.dataAccessObject.wtViewport.oversizedRows[sourceRowIndex] = rowInnerHeight;
|
888
757
|
}
|
889
758
|
}
|
890
759
|
}
|
760
|
+
|
891
761
|
/**
|
892
762
|
* @param {number} row The visual row index.
|
893
763
|
* @returns {HTMLTableElement}
|
894
764
|
*/
|
895
|
-
|
896
765
|
}, {
|
897
766
|
key: "getTrForRow",
|
898
767
|
value: function getTrForRow(row) {
|
899
768
|
return this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
|
900
769
|
}
|
770
|
+
|
901
771
|
/**
|
902
772
|
* Checks if the column index (negative value from -1 to N) is rendered.
|
903
773
|
*
|
904
774
|
* @param {number} column The column index (negative value from -1 to N).
|
905
775
|
* @returns {boolean}
|
906
776
|
*/
|
907
|
-
|
908
777
|
}, {
|
909
778
|
key: "isColumnHeaderRendered",
|
910
779
|
value: function isColumnHeaderRendered(column) {
|
911
780
|
if (column >= 0) {
|
912
781
|
return false;
|
913
782
|
}
|
914
|
-
|
915
783
|
var rowHeaders = this.wtSettings.getSetting('rowHeaders');
|
916
784
|
var rowHeadersCount = rowHeaders.length;
|
917
785
|
return Math.abs(column) <= rowHeadersCount;
|
918
786
|
}
|
787
|
+
|
919
788
|
/**
|
920
789
|
* Checks if the row index (negative value from -1 to N) is rendered.
|
921
790
|
*
|
922
791
|
* @param {number} row The row index (negative value from -1 to N).
|
923
792
|
* @returns {boolean}
|
924
793
|
*/
|
925
|
-
|
926
794
|
}, {
|
927
795
|
key: "isRowHeaderRendered",
|
928
796
|
value: function isRowHeaderRendered(row) {
|
929
797
|
if (row >= 0) {
|
930
798
|
return false;
|
931
799
|
}
|
932
|
-
|
933
800
|
var columnHeaders = this.wtSettings.getSetting('columnHeaders');
|
934
801
|
var columnHeadersCount = columnHeaders.length;
|
935
802
|
return Math.abs(row) <= columnHeadersCount;
|
936
803
|
}
|
937
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
938
804
|
|
805
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
939
806
|
/**
|
940
807
|
* Check if the given row index is lower than the index of the first row that
|
941
808
|
* is currently rendered and return TRUE in that case, or FALSE otherwise.
|
@@ -964,23 +831,21 @@ var Table = /*#__PURE__*/function () {
|
|
964
831
|
* @function isRowBeforeRenderedRows
|
965
832
|
* @returns {boolean}
|
966
833
|
*/
|
967
|
-
|
968
834
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
969
|
-
|
970
835
|
}, {
|
971
836
|
key: "isRowBeforeRenderedRows",
|
972
837
|
value: function isRowBeforeRenderedRows(row) {
|
973
|
-
var first = this.getFirstRenderedRow();
|
974
|
-
// This is an indication that the overlay is placed on the most top position.
|
838
|
+
var first = this.getFirstRenderedRow();
|
975
839
|
|
840
|
+
// Check the headers only in case when the first rendered row is -1 or 0.
|
841
|
+
// This is an indication that the overlay is placed on the most top position.
|
976
842
|
if (row < 0 && first <= 0) {
|
977
843
|
return !this.isRowHeaderRendered(row);
|
978
844
|
}
|
979
|
-
|
980
845
|
return row < first;
|
981
846
|
}
|
982
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
983
847
|
|
848
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
984
849
|
/**
|
985
850
|
* Check if the given column index is greater than the index of the last column that
|
986
851
|
* is currently rendered and return TRUE in that case, or FALSE otherwise.
|
@@ -1012,16 +877,14 @@ var Table = /*#__PURE__*/function () {
|
|
1012
877
|
* @function isRowAfterRenderedRows
|
1013
878
|
* @returns {boolean}
|
1014
879
|
*/
|
1015
|
-
|
1016
880
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
1017
|
-
|
1018
881
|
}, {
|
1019
882
|
key: "isRowAfterRenderedRows",
|
1020
883
|
value: function isRowAfterRenderedRows(row) {
|
1021
884
|
return row > this.getLastRenderedRow();
|
1022
885
|
}
|
1023
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
1024
886
|
|
887
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
1025
888
|
/**
|
1026
889
|
* Check if the given column index is lower than the index of the first column that
|
1027
890
|
* is currently rendered and return TRUE in that case, or FALSE otherwise.
|
@@ -1049,23 +912,21 @@ var Table = /*#__PURE__*/function () {
|
|
1049
912
|
* @function isColumnBeforeRenderedColumns
|
1050
913
|
* @returns {boolean}
|
1051
914
|
*/
|
1052
|
-
|
1053
915
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
1054
|
-
|
1055
916
|
}, {
|
1056
917
|
key: "isColumnBeforeRenderedColumns",
|
1057
918
|
value: function isColumnBeforeRenderedColumns(column) {
|
1058
|
-
var first = this.getFirstRenderedColumn();
|
1059
|
-
// This is an indication that the overlay is placed on the most left position.
|
919
|
+
var first = this.getFirstRenderedColumn();
|
1060
920
|
|
921
|
+
// Check the headers only in case when the first rendered column is -1 or 0.
|
922
|
+
// This is an indication that the overlay is placed on the most left position.
|
1061
923
|
if (column < 0 && first <= 0) {
|
1062
924
|
return !this.isColumnHeaderRendered(column);
|
1063
925
|
}
|
1064
|
-
|
1065
926
|
return column < first;
|
1066
927
|
}
|
1067
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
1068
928
|
|
929
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
1069
930
|
/**
|
1070
931
|
* Check if the given column index is greater than the index of the last column that
|
1071
932
|
* is currently rendered and return TRUE in that case, or FALSE otherwise.
|
@@ -1096,9 +957,7 @@ var Table = /*#__PURE__*/function () {
|
|
1096
957
|
* @function isColumnAfterRenderedColumns
|
1097
958
|
* @returns {boolean}
|
1098
959
|
*/
|
1099
|
-
|
1100
960
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
1101
|
-
|
1102
961
|
}, {
|
1103
962
|
key: "isColumnAfterRenderedColumns",
|
1104
963
|
value: function isColumnAfterRenderedColumns(column) {
|
@@ -1139,124 +998,127 @@ var Table = /*#__PURE__*/function () {
|
|
1139
998
|
value: function allColumnsInViewport() {
|
1140
999
|
return this.wtSettings.getSetting('totalColumns') === this.getVisibleColumnsCount();
|
1141
1000
|
}
|
1001
|
+
|
1142
1002
|
/**
|
1143
1003
|
* Checks if any of the row's cells content exceeds its initial height, and if so, returns the oversized height.
|
1144
1004
|
*
|
1145
1005
|
* @param {number} sourceRow The physical row index.
|
1146
1006
|
* @returns {number}
|
1147
1007
|
*/
|
1148
|
-
|
1149
1008
|
}, {
|
1150
1009
|
key: "getRowHeight",
|
1151
1010
|
value: function getRowHeight(sourceRow) {
|
1152
1011
|
return this.rowUtils.getHeight(sourceRow);
|
1153
1012
|
}
|
1013
|
+
|
1154
1014
|
/**
|
1155
1015
|
* @param {number} level The column level.
|
1156
1016
|
* @returns {number}
|
1157
1017
|
*/
|
1158
|
-
|
1159
1018
|
}, {
|
1160
1019
|
key: "getColumnHeaderHeight",
|
1161
1020
|
value: function getColumnHeaderHeight(level) {
|
1162
1021
|
return this.columnUtils.getHeaderHeight(level);
|
1163
1022
|
}
|
1023
|
+
|
1164
1024
|
/**
|
1165
1025
|
* @param {number} sourceColumn The physical column index.
|
1166
1026
|
* @returns {number}
|
1167
1027
|
*/
|
1168
|
-
|
1169
1028
|
}, {
|
1170
1029
|
key: "getColumnWidth",
|
1171
1030
|
value: function getColumnWidth(sourceColumn) {
|
1172
1031
|
return this.columnUtils.getWidth(sourceColumn);
|
1173
1032
|
}
|
1033
|
+
|
1174
1034
|
/**
|
1175
1035
|
* @param {number} sourceColumn The physical column index.
|
1176
1036
|
* @returns {number}
|
1177
1037
|
*/
|
1178
|
-
|
1179
1038
|
}, {
|
1180
1039
|
key: "getStretchedColumnWidth",
|
1181
1040
|
value: function getStretchedColumnWidth(sourceColumn) {
|
1182
1041
|
return this.columnUtils.getStretchedColumnWidth(sourceColumn);
|
1183
1042
|
}
|
1043
|
+
|
1184
1044
|
/**
|
1185
1045
|
* Checks if the table has defined size. It returns `true` when the table has width and height
|
1186
1046
|
* set bigger than `0px`.
|
1187
1047
|
*
|
1188
1048
|
* @returns {boolean}
|
1189
1049
|
*/
|
1190
|
-
|
1191
1050
|
}, {
|
1192
1051
|
key: "hasDefinedSize",
|
1193
1052
|
value: function hasDefinedSize() {
|
1194
1053
|
return this.hasTableHeight && this.hasTableWidth;
|
1195
1054
|
}
|
1055
|
+
|
1196
1056
|
/**
|
1197
1057
|
* Gets table's width. The returned width is the width of the rendered cells that fit in the
|
1198
1058
|
* current viewport. The value may change depends on the viewport position (scroll position).
|
1199
1059
|
*
|
1200
1060
|
* @returns {number}
|
1201
1061
|
*/
|
1202
|
-
|
1203
1062
|
}, {
|
1204
1063
|
key: "getWidth",
|
1205
1064
|
value: function getWidth() {
|
1206
1065
|
return outerWidth(this.TABLE);
|
1207
1066
|
}
|
1067
|
+
|
1208
1068
|
/**
|
1209
1069
|
* Gets table's height. The returned height is the height of the rendered cells that fit in the
|
1210
1070
|
* current viewport. The value may change depends on the viewport position (scroll position).
|
1211
1071
|
*
|
1212
1072
|
* @returns {number}
|
1213
1073
|
*/
|
1214
|
-
|
1215
1074
|
}, {
|
1216
1075
|
key: "getHeight",
|
1217
1076
|
value: function getHeight() {
|
1218
1077
|
return outerHeight(this.TABLE);
|
1219
1078
|
}
|
1079
|
+
|
1220
1080
|
/**
|
1221
1081
|
* Gets table's total width. The returned width is the width of all rendered cells (including headers)
|
1222
1082
|
* that can be displayed in the table.
|
1223
1083
|
*
|
1224
1084
|
* @returns {number}
|
1225
1085
|
*/
|
1226
|
-
|
1227
1086
|
}, {
|
1228
1087
|
key: "getTotalWidth",
|
1229
1088
|
value: function getTotalWidth() {
|
1230
|
-
var width = outerWidth(this.hider);
|
1089
|
+
var width = outerWidth(this.hider);
|
1231
1090
|
|
1091
|
+
// when the overlay's table does not have any cells the hider returns 0, get then width from the table element
|
1232
1092
|
return width !== 0 ? width : this.getWidth();
|
1233
1093
|
}
|
1094
|
+
|
1234
1095
|
/**
|
1235
1096
|
* Gets table's total height. The returned height is the height of all rendered cells (including headers)
|
1236
1097
|
* that can be displayed in the table.
|
1237
1098
|
*
|
1238
1099
|
* @returns {number}
|
1239
1100
|
*/
|
1240
|
-
|
1241
1101
|
}, {
|
1242
1102
|
key: "getTotalHeight",
|
1243
1103
|
value: function getTotalHeight() {
|
1244
|
-
var height = outerHeight(this.hider);
|
1104
|
+
var height = outerHeight(this.hider);
|
1245
1105
|
|
1106
|
+
// when the overlay's table does not have any cells the hider returns 0, get then height from the table element
|
1246
1107
|
return height !== 0 ? height : this.getHeight();
|
1247
1108
|
}
|
1109
|
+
|
1248
1110
|
/**
|
1249
1111
|
* Checks if the table is visible. It returns `true` when the holder element (or its parents)
|
1250
1112
|
* has CSS 'display' property different than 'none'.
|
1251
1113
|
*
|
1252
1114
|
* @returns {boolean}
|
1253
1115
|
*/
|
1254
|
-
|
1255
1116
|
}, {
|
1256
1117
|
key: "isVisible",
|
1257
1118
|
value: function isVisible() {
|
1258
1119
|
return _isVisible(this.TABLE);
|
1259
1120
|
}
|
1121
|
+
|
1260
1122
|
/**
|
1261
1123
|
* Modify row header widths provided by user in class contructor.
|
1262
1124
|
*
|
@@ -1264,21 +1126,19 @@ var Table = /*#__PURE__*/function () {
|
|
1264
1126
|
* @param {Function} rowHeaderWidthFactory The function which can provide default width values for rows..
|
1265
1127
|
* @returns {number}
|
1266
1128
|
*/
|
1267
|
-
|
1268
1129
|
}, {
|
1269
1130
|
key: "_modifyRowHeaderWidth",
|
1270
1131
|
value: function _modifyRowHeaderWidth(rowHeaderWidthFactory) {
|
1271
1132
|
var widths = isFunction(rowHeaderWidthFactory) ? rowHeaderWidthFactory() : null;
|
1272
|
-
|
1273
1133
|
if (Array.isArray(widths)) {
|
1274
1134
|
widths = _toConsumableArray(widths);
|
1275
1135
|
widths[widths.length - 1] = this._correctRowHeaderWidth(widths[widths.length - 1]);
|
1276
1136
|
} else {
|
1277
1137
|
widths = this._correctRowHeaderWidth(widths);
|
1278
1138
|
}
|
1279
|
-
|
1280
1139
|
return widths;
|
1281
1140
|
}
|
1141
|
+
|
1282
1142
|
/**
|
1283
1143
|
* Correct row header width if necessary.
|
1284
1144
|
*
|
@@ -1286,25 +1146,19 @@ var Table = /*#__PURE__*/function () {
|
|
1286
1146
|
* @param {number} width The width to process.
|
1287
1147
|
* @returns {number}
|
1288
1148
|
*/
|
1289
|
-
|
1290
1149
|
}, {
|
1291
1150
|
key: "_correctRowHeaderWidth",
|
1292
1151
|
value: function _correctRowHeaderWidth(width) {
|
1293
1152
|
var rowHeaderWidth = width;
|
1294
|
-
|
1295
1153
|
if (typeof width !== 'number') {
|
1296
1154
|
rowHeaderWidth = this.wtSettings.getSetting('defaultColumnWidth');
|
1297
1155
|
}
|
1298
|
-
|
1299
1156
|
if (this.correctHeaderWidth) {
|
1300
1157
|
rowHeaderWidth += 1;
|
1301
1158
|
}
|
1302
|
-
|
1303
1159
|
return rowHeaderWidth;
|
1304
1160
|
}
|
1305
1161
|
}]);
|
1306
|
-
|
1307
1162
|
return Table;
|
1308
1163
|
}();
|
1309
|
-
|
1310
1164
|
export default Table;
|